//---------------------------------------------------------------------------------------- private void replaceSelectedElements(int gostToolNumber) { int count = listEspStandardParameters.SelectedItems.Count; for (int j = 0; j < count; j++) { // Надо записать имя выбранного паремтра ToolParameter newParameter = new ToolParameter(); string[] arrParams = new string[4]; arrParams[0] = listEspStandardParameters.SelectedItems[0].SubItems[0].Text; arrParams[1] = listEspStandardParameters.SelectedItems[0].SubItems[1].Text; arrParams[2] = StringResource.xmlParamStandartType; arrParams[3] = listEspStandardParameters.SelectedItems[0].SubItems[2].Text; if (!String.Equals(arrParams[0], "")) { // Добавить в список на форме для карты наладки ListViewItem newItem = new ListViewItem(arrParams); listEspGostParams.Items.Add(newItem); // Удалить из списка стандартный парметров listEspStandardParameters.SelectedItems[0].Remove(); newParameter.Capture = arrParams[0]; newParameter.Name = arrParams[1]; newParameter.Type = arrParams[2]; newParameter.CLCode = int.Parse(arrParams[3]); AdditionalToolParameters.gostToolsArray[gostToolNumber].addParameter(newParameter); } } }
public ToolParametersList(ToolParametersList priveousParameters) { for (int i = 0; i < priveousParameters.parameters.Count; i++) { ToolParameter newToolParameter = new ToolParameter(priveousParameters.parameters[i]); parameters.Add(newToolParameter); } }
public ToolParameter(ToolParameter toolParameter) { Name = toolParameter.Name; Capture = toolParameter.Capture; Value = toolParameter.Value; CLCode = toolParameter.CLCode; Type = toolParameter.Type; ID = toolParameter.ID; }
// создание файла параметров static void createPatternParameterFile(GostTool[] toolsArray, string path) { //создание документа XmlDocument XmlDoc = new XmlDocument(); /*<?xml version="1.0" encoding="utf-8" ?> */ //создание объявления (декларации) документа XmlDeclaration XmlDec = XmlDoc.CreateXmlDeclaration("1.0", "utf-8", null); //добавляем в документ XmlDoc.AppendChild(XmlDec); XmlComment Comment0 = XmlDoc.CreateComment("Параметры для карты наладки"); //комментарий уровня root XmlDoc.AppendChild(Comment0); //добавляем в документ /*<ToolType name="abc"></ToolType>*/ XmlElement root = XmlDoc.CreateElement("EspritReportParameters"); //создание корневого элемента XmlDoc.AppendChild(root); //добавляем в документ // Запись инструмента и параметров в файл for (int i = 0; i < toolsArray.Length; i++) { // Создание инструмента XmlElement ElementTools = XmlDoc.CreateElement(StringResource.xmlElementName); //создание корневого элемента ElementTools.SetAttribute(StringResource.xmlToolName, toolsArray[i].toolName); //создание атрибута ElementTools.SetAttribute(StringResource.xmlToolID, toolsArray[i].toolID.ToString()); root.AppendChild(ElementTools); // Запись параметров for (int j = 0; j < toolsArray[i].parameters.Count(); j++) { ToolParameter toolParam = toolsArray[i].parameters.getParameter(j); XmlElement elementParameter = XmlDoc.CreateElement(StringResource.xmlParameterXMLName); elementParameter.SetAttribute(StringResource.xmlParameterName, toolParam.Name); elementParameter.SetAttribute(StringResource.xmlParameterClCode, toolParam.CLCode.ToString()); elementParameter.SetAttribute(StringResource.xmlParameterType, toolParam.Type); elementParameter.SetAttribute(StringResource.xmlParameterCapture, toolParam.Capture); ElementTools.AppendChild(elementParameter); } } Connect.logger.Info("Создание файла параметров в папку " + path + StringResource.xmlPathPattrenFileName); XmlDoc.Save(path + StringResource.xmlPathPattrenFileName); //сохраняем в документ }
private void fillToolParameter(ToolParameter gostToolParam) { incNumber(); if (!mainSheet) { // форма 4а excelWSheet.Range["A" + currentRow.ToString(), "B" + currentRow.ToString()].Value2 = getFormatedNumber(); excelWSheet.Range["C" + currentRow.ToString(), "F" + currentRow.ToString()].Value2 = "-"; excelWSheet.Range["I" + currentRow.ToString(), "S" + currentRow.ToString()].Value2 = gostToolParam.Capture; excelWSheet.Range["T" + currentRow.ToString(), "AA" + currentRow.ToString()].Value2 = gostToolParam.Value; } else { // форма 4 excelWSheet.Range["A" + currentRow.ToString(), "A" + currentRow.ToString()].Value2 = getFormatedNumber(); excelWSheet.Range["B" + currentRow.ToString(), "D" + currentRow.ToString()].Value2 = "-"; excelWSheet.Range["G" + currentRow.ToString(), "Q" + currentRow.ToString()].Value2 = gostToolParam.Capture; excelWSheet.Range["R" + currentRow.ToString(), "AA" + currentRow.ToString()].Value2 = gostToolParam.Value; } }
// Записываем значение параметра из документа в структуру public bool addParametersValue(Tool newRepotTool, bool loadUserParams) { bool result = true; DatabaseInterface knowledgeBase = new DatabaseInterface(); if (dataBaseToolID == "" && loadUserParams) { Connect.logger.Info("Получение ID инструмента в БД"); string cuttingToolID = knowledgeBase.getCuttingToolID(toolDocumentID); dataBaseToolID = cuttingToolID; if (dataBaseToolID == null) { result = false; } } for (int i = 0; i < parameters.Count(); i++) { ToolParameter currentToolParameter = parameters.getParameter(i); // Загрузить значения стандартных параметров if (String.Equals(parameters.getParameter(i).Type, StringResource.xmlParamStandartType)) { Technology reportTechTool = (Technology)newRepotTool; Parameter curParam = reportTechTool[parameters.getParameter(i).Name]; currentToolParameter.Value = Convert.ToString(curParam.Value); } // Загрузить значение пользовательских параметров из базы данных if (String.Equals(currentToolParameter.Type, StringResource.xmlParamUserType)) { // TODO: Чтение парметров из БД, заполнение значения if (dataBaseToolID != null && loadUserParams) { currentToolParameter.Value = knowledgeBase.getUsersParamValue(dataBaseToolID, currentToolParameter.CLCode); } } } return(result); }
//---------------------------------------------------------------------------------------- public void addNewUserParameter(string sUserParamName) { // Получили название инструмента string sToolTypeName = lstTools.GetItemText(lstTools.SelectedItem); // Ищем нужный инструмент for (int i = 0; i < AdditionalToolParameters.gostToolsArray.Count(); i++) { if (String.Equals(AdditionalToolParameters.gostToolsArray[i].toolLabel, sToolTypeName)) { int newUserClCode = AdditionalToolParameters.gostToolsArray[i].getMaxClCodeValue(); if (newUserClCode < int.Parse(StringResource.startUserCLCodeNumber)) { newUserClCode = int.Parse(StringResource.startUserCLCodeNumber); } else { newUserClCode++; } // Надо записать имя выбранного паремтра ToolParameter newParameter = new ToolParameter(); newParameter.Capture = sUserParamName; newParameter.Type = StringResource.xmlParamUserType; newParameter.CLCode = newUserClCode; string[] arrParams = new string[4]; arrParams[0] = newParameter.Capture; arrParams[1] = "---"; arrParams[2] = StringResource.xmlParamUserType; arrParams[3] = newUserClCode.ToString(); // Добавить в список для карты наладки ListViewItem newItem = new ListViewItem(arrParams); listEspGostParams.Items.Add(newItem); AdditionalToolParameters.gostToolsArray[i].addParameter(newParameter); break; } } }
// Заполнение значений ВСЕХ пользовательских параметров только для одного инструмента public bool fillUsersParamsGostTool(GostTool GostTool) { bool result = true; // Получаем ID из БД по ID инструмента из документа if (GostTool.dataBaseToolID == "") { string cuttingToolID = getCuttingToolID(GostTool.toolDocumentID); if (cuttingToolID != null) { GostTool.dataBaseToolID = cuttingToolID; } } // Получаем список пользовательских параметров из БД DataTable dbUsersParams = getUsersParamsByID(GostTool.dataBaseToolID); if (dbUsersParams != null && dbUsersParams.Rows.Count == 0) { return(false); } // проходим по всем пользовательским параметрам и заполняем значениями for (int j = 0; j < GostTool.parameters.Count(); j++) { DataRow[] userParameterRows; ToolParameter curToolParameter = GostTool.parameters.getParameter(j); if (String.Equals(curToolParameter.Type, StringResource.xmlParamUserType)) { // поиска параметра userParameterRows = dbUsersParams.Select("fldCLFileCode_tblCuttingToolParameter = " + curToolParameter.CLCode.ToString()); // Сохраняем значение в структуре curToolParameter.Value = userParameterRows[0][0].ToString(); } } return(result); }
//---------------------------------------------------------------------------------------- private void loadPatternParameterFile(GostTool[] toolsArray) { if (!File.Exists(Connect.assemblyFolder + StringResource.xmlPathPattrenFileName)) { AdditionalToolParameters.creatPatternFile(Connect.assemblyFolder + StringResource.xmlPathPattrenFileName); return; } XmlDocument XmlDoc = new XmlDocument(); XmlDoc.Load(Connect.assemblyFolder + StringResource.xmlPathPattrenFileName); // get root element XmlElement xmlRoot = XmlDoc.DocumentElement; // select all tools XmlNodeList allToolsList = xmlRoot.SelectNodes(StringResource.xmlElementName); int index = 0; foreach (XmlNode nodeTool in allToolsList) { XmlNode singleNodeName = nodeTool.SelectSingleNode("@" + StringResource.xmlToolName); string sToolName = singleNodeName.Value; if (String.Equals(sToolName, toolsArray[index].toolName)) { XmlNodeList parametersList = nodeTool.ChildNodes; for (int i = 0; i < parametersList.Count; i++) { ToolParameter newParam = new ToolParameter(); newParam.Name = parametersList[i].SelectSingleNode("@" + StringResource.xmlParameterName).Value; newParam.Capture = parametersList[i].SelectSingleNode("@" + StringResource.xmlParameterCapture).Value; newParam.Type = parametersList[i].SelectSingleNode("@" + StringResource.xmlParameterType).Value; newParam.CLCode = int.Parse(parametersList[i].SelectSingleNode("@" + StringResource.xmlParameterClCode).Value); AdditionalToolParameters.gostToolsArray[index].addParameter(newParam); } } index++; } }
//TODO - мотод заполнение значения пользовательских параметров для всех инструментов public bool fillUserParamsGostToolArray(GostTool[] GostToolArray) { bool result = false; // перед этим все стандартные параметры уже загружены в структуру // цикл по все инструментам получаем их ID и по ниму загружаем список параметров for (var i = 0; i < GostToolArray.Length; i++) { // Получаем ID из БД по ID инструмента из документа GostTool curGostTool = GostToolArray[i]; if (curGostTool.dataBaseToolID == "") { string cuttingToolID = getCuttingToolID(curGostTool.toolDocumentID); curGostTool.dataBaseToolID = cuttingToolID; } // Получаем список пользовательских параметров из БД DataTable dbUsersParams = getUsersParamsByID(curGostTool.dataBaseToolID); if (dbUsersParams == null) { return(false); } // проходим по всем пользовательским параметрам и заполняем значениями for (int j = 0; j < curGostTool.parameters.Count(); j++) { DataRow[] userParameterRows; ToolParameter curToolParameter = curGostTool.parameters.getParameter(j); // Сохраняем значение в структуре userParameterRows = dbUsersParams.Select("fldUserCLCode Like " + curToolParameter.CLCode.ToString()); // поиска параметра curToolParameter.Value = userParameterRows[0][0].ToString(); } } result = true; return(result); }
//---------------------------------------------------------------------------------------- private void fillFrmReportList(String toolName) { // находим инструмент из списка for (int i = 0; i < AdditionalToolParameters.gostToolsArray.Count(); i++) { if (String.Equals(AdditionalToolParameters.gostToolsArray[i].toolName, toolName)) { for (int j = 0; j < AdditionalToolParameters.gostToolsArray[i].parameters.Count(); j++) { ToolParameter reportParameter = AdditionalToolParameters.gostToolsArray[i].parameters.getParameter(j); string[] arrParams = new string[4]; arrParams[0] = reportParameter.Capture; arrParams[1] = reportParameter.Name; arrParams[2] = reportParameter.Type; arrParams[3] = reportParameter.CLCode.ToString(); // Добавить в список на форме для карты наладки ListViewItem newItem = new ListViewItem(arrParams); listEspGostParams.Items.Add(newItem); } break; } } }
public ToolParameter getParameter(int index) { ToolParameter result = parameters[index]; return(result); }
//TODO - сохранение параметров инструмента из структуры в БД public bool saveUserToolParams(GostTool GostTool) { // Цикл по всем параметрам - выбираем с типом пользовательский for (int j = 0; j < GostTool.parameters.Count(); j++) { ToolParameter curToolParameter = GostTool.parameters.getParameter(j); if (curToolParameter.Type == StringResource.xmlParamUserType) { string newSQLQuery = " IF EXISTS (SELECT * FROM tblCuttingToolParameter WHERE fldCLFileCode_tblCuttingToolParameter = @CLCode" + " AND fldfkCuttingToolId_tblCuttingToolParameter = @ToolID)" + " BEGIN" + " UPDATE tblCuttingToolParameter" + " SET fldValue_tblCuttingToolParameter = @Value" + " WHERE fldCLFileCode_tblCuttingToolParameter = @CLCode" + " AND fldfkCuttingToolId_tblCuttingToolParameter = @ToolID" + " END" + " ELSE" + " BEGIN" + " INSERT INTO tblCuttingToolParameter" + " (fldCLFileCode_tblCuttingToolParameter, " + " fldfkCuttingToolId_tblCuttingToolParameter," + " fldValue_tblCuttingToolParameter) " + " VALUES (@CLCode, @ToolID, @Value)" + " END;"; //string sql = "INSERT INTO tblCuttingToolParameter" + // " (fldCLFileCode_tblCuttingToolParameter, " + // " fldfkCuttingToolId_tblCuttingToolParameter," + // " fldValue_tblCuttingToolParameter) " + // " VALUES (@CLCode, @ToolID, @Value)"; // Обязательно должен быть ID и CL код параметра инструмента if (curToolParameter.CLCode == 0 || GostTool.dataBaseToolID == "") { return(false); } if (connectionString == "") { loadConnectionString(); } using (SqlConnection conn = new SqlConnection(connectionString)) { try { conn.Open(); } catch (Exception E) { Connect.logger.Error("Не удалось подключиться к БД! Error " + E.Message); return(false); } SqlCommand cmd = conn.CreateCommand(); cmd.CommandText = newSQLQuery; cmd.Parameters.AddWithValue("@CLCode", curToolParameter.CLCode); cmd.Parameters.AddWithValue("@ToolID", GostTool.dataBaseToolID); cmd.Parameters.AddWithValue("@Value", curToolParameter.Value); cmd.ExecuteNonQuery(); conn.Close(); } } } return(true); }
private bool isToolParamExist(ToolParameter toolParam) { bool result = false; return(result); }
public void FillFileReport(string distFileName) { Connect.logger.Info("Формирование карты наладки"); setInnerParams(); try { excelApp = new Excel.Application(); } catch (Exception E) { Connect.logger.Error("Не удалось создать Excel приложение. Error :" + E.Message); return; } try { excelWBook = excelApp.Workbooks.Open(distFileName, null, false, 5, "", "", true, Excel.XlPlatform.xlWindows, "\t", true, false, null, true, 1, 0); } catch (Exception E) { Connect.logger.Error("Не удалось открыть файл " + E.Message); return; } excelWBook = excelApp.Workbooks.Open(distFileName, null, false, 5, "", "", true, Excel.XlPlatform.xlWindows, "\t", true, false, null, true, 1, 0); //Снять защиту с книги после копирования excelWBook.Unprotect("rogachev"); // Заполняем главный лист excelWSheet = (Excel.Worksheet)excelWBook.Worksheets.Item[1]; //Снять защиту с листа excelWSheet.Unprotect("rogachev"); //excelWSheet.Name = "Лист " + currentSheetNumber; // Заполняем "шапку" fillCompanyName(); fillDetailName(); fillDetailDesignation(); fillFIODev(); fillFIOChecker(); fillFIOAccepter(); fillFIONormChecker(); // Посчитать кол-во листов calcTotalPageNumber(); // Заполнить номара страниц fillTotalPageNumber(); fillPageNumber(); // Заполнение таблицы fillCNCProgName(); fillCNCMachineName(); // Цикл по всему инструменту для отчета for (int i = 0; i < AdditionalToolParameters.gostReportToolsArray.Count; i++) { GostTool reportTool = AdditionalToolParameters.gostReportToolsArray[i]; fillTool(reportTool); // Цикл по параметрам инструента for (int j = 0; j < reportTool.parameters.Count(); j++) { ToolParameter repotToolParameter = reportTool.parameters.getParameter(j); fillToolParameter(repotToolParameter); } } // Удаляем последний чистый лист excelApp.DisplayAlerts = false; Excel.Worksheet deletedSheet = excelWBook.Worksheets.Item[excelWBook.Worksheets.Count]; deletedSheet.Delete(); excelApp.DisplayAlerts = true; excelWBook.Close(true, misValue, misValue); excelApp.Quit(); releaseOdject(excelWSheet); releaseOdject(excelWBook); releaseOdject(excelApp); }
public void removeParameter(string DeleteParameterName) { ToolParameter deletedParam = parameters.getParameter(DeleteParameterName); removeParameter(deletedParam); }
public void removeParameter(ToolParameter oldParameter) { parameters.RemoveParameter(oldParameter); }
public void addParameter(ToolParameter newParameter) { parameters.AddParameter(newParameter); }
public static void LoadToolsParameters() { Connect.logger.Info("Загрузка инструмента - LoadToolsParameters"); // Загружаем из файл-шаблона названия инструмента, заполняя форму. XmlDocument xDoc = new XmlDocument(); try { xDoc.Load(Connect.assemblyFolder + StringResource.xmlPathToolsParams); } catch (Exception E) { Connect.logger.Error("Ошибка при загрузке файла-шаблона параметров инструмента \n" + E.Message); } XmlElement xRoot = xDoc.DocumentElement; // выбор всех инструментов XmlNodeList childnodes = xRoot.SelectNodes(StringResource.xmlElementName); // Очистить массив, при повторной загрузке парметров if (gostToolsArray != null) { Array.Clear(gostToolsArray, 0, gostToolsArray.Length); } Connect.logger.Info("childnodes.Count " + childnodes.Count.ToString()); if (childnodes.Count <= 0) { Connect.logger.Error("Файл параметров инструментов пуст."); return; } // Создание массива инструментов // Пропускаем 0-й элемент чтобы не учитывать неизвестный инструмент gostToolsArray = new GostTool[childnodes.Count]; int i = 0; foreach (XmlNode node in childnodes) { int iToolId = int.Parse(node.SelectSingleNode("@" + StringResource.xmlToolID).Value); XmlNode singleNodeLable = node.SelectSingleNode("@" + StringResource.xmlToolLabel); string sToolLabel = singleNodeLable.Value; XmlNode singleNodeName = node.SelectSingleNode("@" + StringResource.xmlToolName); string sToolName = singleNodeName.Value; if (i > gostToolsArray.Length) { break; } gostToolsArray[i] = new GostTool(); gostToolsArray[i].toolID = iToolId; gostToolsArray[i].toolLabel = sToolLabel; gostToolsArray[i].toolName = sToolName; i++; //Connect.logger.Info(String.Format("Index = {0}, childnodes.Count {1}", i, childnodes.Count)); } try { if (!File.Exists(Connect.assemblyFolder + StringResource.xmlPathPattrenFileName)) { creatPatternFile(Connect.assemblyFolder + StringResource.xmlPathPattrenFileName); return; } } catch (Exception E) { Connect.logger.Error("Файл-шаблон инструментов отсутствует. Ошибка при создании файла\n" + E.Message); } Connect.logger.Info("Заполнение параметров для отчета"); // Чтение параметров для отчета XmlDocument XmlDoc = new XmlDocument(); XmlDoc.Load(Connect.assemblyFolder + StringResource.xmlPathPattrenFileName); // get root element XmlElement xmlRoot = XmlDoc.DocumentElement; // select all tools XmlNodeList allToolsList = xmlRoot.SelectNodes(StringResource.xmlElementName); for (int node = 0; node < allToolsList.Count; node++) { XmlNode nodeTool = allToolsList[node]; //Connect.logger.Info(String.Format("Текущее значение {0}", node)); XmlNode singleNodeName = nodeTool.SelectSingleNode("@" + StringResource.xmlToolName); string sToolName = singleNodeName.Value; if (string.Equals(sToolName, gostToolsArray[node].toolName)) { XmlNodeList parametersList = nodeTool.ChildNodes; for (int j = 0; j < parametersList.Count; j++) { ToolParameter newParam = new ToolParameter(); newParam.Name = parametersList[j].SelectSingleNode("@" + StringResource.xmlParameterName).Value; newParam.Capture = parametersList[j].SelectSingleNode("@" + StringResource.xmlParameterCapture).Value; newParam.Type = parametersList[j].SelectSingleNode("@" + StringResource.xmlParameterType).Value; newParam.CLCode = int.Parse(parametersList[j].SelectSingleNode("@" + StringResource.xmlParameterClCode).Value); gostToolsArray[node].addParameter(newParam); } } //Connect.logger.Info(String.Format("Index = {0}, allToolsList.Count {1}, gostToolsArray.length {2}", index, allToolsList.Count, gostToolsArray.Length)); } Connect.logger.Info("Заполнение параметров для отчета закончено"); }