public List <CMeasure> GetMeasure() { string line; string[] lineelemets; List <CMeasure> outlist = new List <CMeasure>(); using (StreamReader sr = new StreamReader(path)) { int Count = 0; while ((line = sr.ReadLine()) != null) { lineelemets = line.Split(' '); if (lineelemets.Count() != 3) { MessageBox.Show("Ошибка чтения из файла"); return(null); } CMeasure Measure = new CMeasure(); double.TryParse(lineelemets[1], out Measure.Current); double.TryParse(lineelemets[2], out Measure.Voltage); Count++; outlist.Add(Measure); } MessageBox.Show("Чтение успешно завершено"); } return(outlist); }
private void tItemを交換する_譜面上のチップ(int nItem番号1, int nItem番号2) { foreach (KeyValuePair <int, CMeasure> pair in this._Form.mgr譜面管理者.dic小節) { CMeasure c小節 = pair.Value; for (int i = 0; i < c小節.listチップ.Count; i++) { CChip cチップ = c小節.listチップ[i]; switch (this._Form.mgr譜面管理者.listレーン[cチップ.nレーン番号0to].eレーン種別) { case CLane.E種別.WAV: case CLane.E種別.GtV: case CLane.E種別.BsV: if (cチップ.n値_整数1to1295 == (nItem番号1 + 1)) { cチップ.n値_整数1to1295 = nItem番号2 + 1; } else if (cチップ.n値_整数1to1295 == (nItem番号2 + 1)) { cチップ.n値_整数1to1295 = nItem番号1 + 1; } break; } } } }
/// <summary> /// Возвращает приложение к расчету /// </summary> /// <param name="objProfile">профайл</param> /// <param name="cmdSQL">SQL-команда</param> /// <returns>список расчетов</returns> public static List<CCalcOrderItem> GetCalcOrderItemList(UniXP.Common.CProfile objProfile, System.Data.SqlClient.SqlCommand cmdSQL, System.Guid CalcOrderID) { List<CCalcOrderItem> objList = new List<CCalcOrderItem>(); System.Data.SqlClient.SqlConnection DBConnection = null; System.Data.SqlClient.SqlCommand cmd = null; try { if (cmdSQL == null) { DBConnection = objProfile.GetDBSource(); if (DBConnection == null) { DevExpress.XtraEditors.XtraMessageBox.Show( "Не удалось получить соединение с базой данных.", "Внимание", System.Windows.Forms.MessageBoxButtons.OK, System.Windows.Forms.MessageBoxIcon.Error); return objList; } cmd = new System.Data.SqlClient.SqlCommand(); cmd.Connection = DBConnection; cmd.CommandType = System.Data.CommandType.StoredProcedure; } else { cmd = cmdSQL; cmd.Parameters.Clear(); } cmd.CommandText = System.String.Format("[{0}].[dbo].[usp_GetCalcOrderListItemsFromERP_Report]", objProfile.GetOptionsDllDBName()); cmd.Parameters.Add(new System.Data.SqlClient.SqlParameter("@RETURN_VALUE", System.Data.SqlDbType.Int, 4, System.Data.ParameterDirection.ReturnValue, false, ((System.Byte)(0)), ((System.Byte)(0)), "", System.Data.DataRowVersion.Current, null)); cmd.Parameters.Add(new System.Data.SqlClient.SqlParameter("@CALCORDER_GUID", System.Data.SqlDbType.UniqueIdentifier)); cmd.Parameters.Add(new System.Data.SqlClient.SqlParameter("@ERROR_NUM", System.Data.SqlDbType.Int, 8, System.Data.ParameterDirection.Output, false, ((System.Byte)(0)), ((System.Byte)(0)), "", System.Data.DataRowVersion.Current, null)); cmd.Parameters.Add(new System.Data.SqlClient.SqlParameter("@ERROR_MES", System.Data.SqlDbType.NVarChar, 4000)); cmd.Parameters["@ERROR_MES"].Direction = System.Data.ParameterDirection.Output; cmd.Parameters["@CALCORDER_GUID"].Value = CalcOrderID; System.Data.SqlClient.SqlDataReader rs = cmd.ExecuteReader(); if (rs.HasRows) { CProduct objProduct = null; CCurrency objCurrency = null; CCountry objCountry = null; CProductTradeMark objProductTradeMark = null; CProductType objProductType = null; CProductSubType objProductSubType = null; CMeasure objMeasure = null; CCalcOrderItem objCalcOrderItem = null; while (rs.Read()) { objCurrency = null; objCountry = null; objProductTradeMark = null; objProductType = null; objProductSubType = null; // товарная марка objProductTradeMark = new CProductTradeMark(); objProductTradeMark.Name = (System.String)rs["OWNER_NAME"]; objProductTradeMark.ID_Ib = System.Convert.ToInt32(rs["OWNER_ID"]); objProductTradeMark.ProductVtm = new CProductVtm(); objProductTradeMark.ProductVtm.ID_Ib = System.Convert.ToInt32(rs["VTM_ID"]); objProductTradeMark.ProductVtm.Name = (System.String)rs["VTM_NAME"]; objProductTradeMark.ProcessDayCount = System.Convert.ToInt32(rs["OWNER_PROCESSDAYSCOUNT"]); // товарная группа objProductType = new CProductType(); objProductType.ID_Ib = System.Convert.ToInt32(rs["PARTTYPE_ID"]); objProductType.Name = (System.String)rs["PARTTYPE_NAME"]; // товарная подгруппа objProductSubType = new CProductSubType(); objProductSubType.ID_Ib = System.Convert.ToInt32(rs["PARTSUBTYPE_ID"]); objProductSubType.Name = (System.String)rs["PARTSUBTYPE_NAME"]; objProductSubType.ProductLine = new CProductLine(); objProductSubType.ProductLine.ID_Ib = System.Convert.ToInt32(rs["PARTSECSUBTYPE_ID"]); objProductSubType.ProductLine.Name = (System.String)rs["PARTSECSUBTYPE_NAME"]; // страна производства objCountry = new CCountry(); if (rs["COUNTRY_PROD_ID"] != System.DBNull.Value) { objCountry.Name = (System.String)rs["COUNTRY_NAME"]; } // валюта objCurrency = new CCurrency( System.Guid.Empty, "", ( (rs["CURRENCY_CODE"] == System.DBNull.Value) ? "" : (System.String)rs["CURRENCY_CODE"]), "" ); // единица измерения objMeasure = new CMeasure(); objMeasure.Name = (System.String)rs["MEASURE_NAME"]; // товар objProduct = new CProduct(System.Guid.Empty, System.Convert.ToInt32(rs["PARTS_ID"]), (System.String)rs["PARTS_NAME"], (System.String)rs["PARTS_ORIGNAME"], (System.String)rs["PARTS_NAME"], (System.String)rs["PARTS_ARTICLE"], objProductTradeMark, objProductType, objProductSubType, objCountry, objCurrency, ((rs["PARTS_VENDORPRICE"] == System.DBNull.Value) ? 0 : System.Convert.ToDecimal(rs["PARTS_VENDORPRICE"])), ((rs["PARTS_BOXQTY"] == System.DBNull.Value) ? 0 : System.Convert.ToInt32(rs["PARTS_BOXQTY"])), ((rs["PARTS_PACKQTY"] == System.DBNull.Value) ? 0 : System.Convert.ToInt32(rs["PARTS_PACKQTY"])), ((rs["PARTS_PACKQTYFORCALC"] == System.DBNull.Value) ? 0 : System.Convert.ToInt32(rs["PARTS_PACKQTYFORCALC"])), ((rs["PARTS_WEIGHT"] == System.DBNull.Value) ? 0 : System.Convert.ToDecimal(rs["PARTS_WEIGHT"])), ((rs["PARTS_PAPERCONTAINERWEIGHT"] == System.DBNull.Value) ? 0 : System.Convert.ToDecimal(rs["PARTS_PAPERCONTAINERWEIGHT"])), ((rs["PARTS_PLASTICCONTAINERWEIGHT"] == System.DBNull.Value) ? 0 : System.Convert.ToDecimal(rs["PARTS_PLASTICCONTAINERWEIGHT"])), ((rs["PARTS_ALCOHOLICCONTENTPERCENT"] == System.DBNull.Value) ? 0 : System.Convert.ToDecimal(rs["PARTS_ALCOHOLICCONTENTPERCENT"])), true, // ((rs["Parts_IsActive"] == System.DBNull.Value) ? false : System.Convert.ToBoolean(rs["Parts_IsActive"])), ((rs["PARTS_NOTVALID"] == System.DBNull.Value) ? false : System.Convert.ToBoolean(rs["PARTS_NOTVALID"])), ((rs["PARTS_ACTUALNOTVALID"] == System.DBNull.Value) ? false : System.Convert.ToBoolean(rs["PARTS_ACTUALNOTVALID"])), "", //((rs["Parts_Certificate"] == System.DBNull.Value) ? "" : (System.String)rs["Parts_Certificate"]), ((rs["PARTS_CODETNVD"] == System.DBNull.Value) ? "" : (System.String)rs["PARTS_CODETNVD"]), ((rs["PARTS_REFERENCE"] == System.DBNull.Value) ? "" : (System.String)rs["PARTS_REFERENCE"]), objMeasure, null, 0 ); if (rs["PARTS_BARCODE"] != System.DBNull.Value) { objProduct.BarcodeList = new List<string>(); objProduct.BarcodeList.Add((System.String)rs["PARTS_BARCODE"]); } objCalcOrderItem = new CCalcOrderItem(); objCalcOrderItem.objProduct = objProduct; objCalcOrderItem.PartsIsNew = System.Convert.ToBoolean(rs["PARTS_IS_NEW"]); objCalcOrderItem.PLAN_FOR_3MONTH = ((rs["PLAN_FOR_3MONTH"] == System.DBNull.Value) ? 0 : System.Convert.ToDecimal(rs["PLAN_FOR_3MONTH"])); objCalcOrderItem.PLAN_FOR_3MONTH_IN_WEEK_AVG = ((rs["PLAN_FOR_3MONTH_IN_WEEK_AVG"] == System.DBNull.Value) ? 0 : System.Convert.ToDecimal(rs["PLAN_FOR_3MONTH_IN_WEEK_AVG"])); objCalcOrderItem.PREDICTION_FOR_3MONTH = ((rs["PREDICTION_FOR_3MONTH"] == System.DBNull.Value) ? 0 : System.Convert.ToDecimal(rs["PREDICTION_FOR_3MONTH"])); objCalcOrderItem.PREDICTION_FOR_3MONTH_IN_WEEK_AVG = ((rs["PREDICTION_FOR_3MONTH_IN_WEEK_AVG"] == System.DBNull.Value) ? 0 : System.Convert.ToDecimal(rs["PREDICTION_FOR_3MONTH_IN_WEEK_AVG"])); objCalcOrderItem.SALE_FOR_3MONTH = ((rs["SALE_FOR_3MONTH"] == System.DBNull.Value) ? 0 : System.Convert.ToDecimal(rs["SALE_FOR_3MONTH"])); objCalcOrderItem.SALE_FOR_3MONTH_IN_WEEK_AVG = ((rs["SALE_FOR_3MONTH_IN_WEEK_AVG"] == System.DBNull.Value) ? 0 : System.Convert.ToDecimal(rs["SALE_FOR_3MONTH_IN_WEEK_AVG"])); objCalcOrderItem.QUANTITY_IN_ORDER = ((rs["QUANTITY_IN_ORDER"] == System.DBNull.Value) ? 0 : System.Convert.ToInt32(rs["QUANTITY_IN_ORDER"])); objCalcOrderItem.QUANTITY_IN_STOCK = ((rs["QUANTITY_IN_STOCK"] == System.DBNull.Value) ? 0 : System.Convert.ToInt32(rs["QUANTITY_IN_STOCK"])); objCalcOrderItem.QUANTITY_IN_WAY = ((rs["QUANTITY_IN_WAY"] == System.DBNull.Value) ? 0 : System.Convert.ToInt32(rs["QUANTITY_IN_WAY"])); objCalcOrderItem.QUANTITY_MIN_STOCK_IN_WEEK = ((rs["QUANTITY_MIN_STOCK_IN_WEEK"] == System.DBNull.Value) ? 0 : System.Convert.ToDecimal(rs["QUANTITY_MIN_STOCK_IN_WEEK"])); objCalcOrderItem.KOEFF_SEASON_AVG = ((rs["KOEFF_SEASON_AVG"] == System.DBNull.Value) ? 0 : System.Convert.ToDecimal(rs["KOEFF_SEASON_AVG"])); objCalcOrderItem.KOEFF_DIV = ((rs["KOEFF_DIV"] == System.DBNull.Value) ? 0 : System.Convert.ToDecimal(rs["KOEFF_DIV"])); objCalcOrderItem.ABC = ((rs["ABC"] == System.DBNull.Value) ? "" : System.Convert.ToString(rs["ABC"])); objList.Add(objCalcOrderItem); } } rs.Dispose(); if (cmdSQL == null) { cmd.Dispose(); DBConnection.Close(); } } catch (System.Exception f) { DevExpress.XtraEditors.XtraMessageBox.Show( "Не удалось получить приложение к расчету.\n\nТекст ошибки : " + f.Message, "Внимание", System.Windows.Forms.MessageBoxButtons.OK, System.Windows.Forms.MessageBoxIcon.Error); } return objList; }
private void FilterMeasure() { List <CMeasure> measure2 = new List <CMeasure>(); List <CMeasure> measure3 = new List <CMeasure>(); double Voltage, Current; int c = 260; /*****************Начало фильтров*****************/ measure2.Add(new CMeasure()); measure2.Add(new CMeasure()); for (int i = 0; i < measure.MeasureList.Count; i++) { measure2.Add(measure.MeasureList[i]); } measure3.Clear(); measure3.Add(new CMeasure()); measure3.Add(new CMeasure()); for (int i = 2; i < measure2.Count; i++) { /***************************первый фильтр*******************************/ CMeasure measureHelp = new CMeasure(); Voltage = (1 * measure2[i - 2].Voltage - 1.9735364316538304 * measure2[i - 1].Voltage + 1 * measure2[i].Voltage); Voltage = (Voltage - (0.97522899205898828 * measure3[i - 2].Voltage - -1.9599511990359928 * measure3[i - 1].Voltage)) / 1; measureHelp.Voltage = Voltage; Current = (1 * measure2[i - 2].Current - 1.9735364316538304 * measure2[i - 1].Current + 1 * measure2[i].Current); Current = (Current - (0.97522899205898828 * measure3[i - 2].Current - -1.9599511990359928 * measure3[i - 1].Current)) / 1; measureHelp.Current = Current; measure3.Add(measureHelp); } for (int i = 0; i < c; i++) {/////////////////////////////////////////// measure3[i].Current = 0; measure3[i].Voltage = 0; }/////////////////////////////////////////// measure2.Clear(); measure2.Add(new CMeasure()); measure2.Add(new CMeasure()); for (int i = 2; i < measure3.Count; i++) { /***************************второй фильтр*******************************/ CMeasure measureHelp = new CMeasure(); Voltage = (1 * measure3[i - 2].Voltage - 1.9675309476158529 * measure3[i - 1].Voltage + 1 * measure3[i].Voltage); Voltage = (Voltage - (0.92158600088844911 * measure2[i - 2].Voltage - 1.9049213498646491 * measure2[i - 1].Voltage)) / 1; measureHelp.Voltage = Voltage; Current = (1 * measure3[i - 2].Current - 1.9675309476158529 * measure3[i - 1].Current + 1 * measure3[i].Current); Current = (Current - (0.92158600088844911 * measure2[i - 2].Current - 1.9049213498646491 * measure2[i - 1].Current)) / 1; measureHelp.Current = Current; measure2.Add(measureHelp); } for (int i = 0; i < c; i++) {/////////////////////////////////////////// measure2[i].Current = 0; measure2[i].Voltage = 0; }/////////////////////////////////////////// measure3.Clear(); measure3.Add(new CMeasure()); measure3.Add(new CMeasure()); for (int i = 2; i < measure2.Count; i++) { /***************************Третий фильтр*******************************/ CMeasure measureHelp = new CMeasure(); Voltage = (1 * measure2[i - 2].Voltage - 1.9486909237199943 * measure2[i - 1].Voltage + 1 * measure2[i].Voltage); Voltage = (Voltage - (0.85345281255781213 * measure3[i - 2].Voltage - 1.833456870457691 * measure3[i - 1].Voltage)) / 1; measureHelp.Voltage = Voltage; Current = (1 * measure2[i - 2].Current - 1.9486909237199943 * measure2[i - 1].Current + 1 * measure2[i].Current); Current = (Current - (0.85345281255781213 * measure3[i - 2].Current - 1.833456870457691 * measure3[i - 1].Current)) / 1; measureHelp.Current = Current; measure3.Add(measureHelp); } for (int i = 0; i < c; i++) {/////////////////////////////////////////// measure3[i].Current = 0; measure3[i].Voltage = 0; }/////////////////////////////////////////// measure2.Clear(); measure2.Add(new CMeasure()); measure2.Add(new CMeasure()); for (int i = 2; i < measure3.Count; i++) { /*************************** Четвёртый фильтр*******************************/ CMeasure measureHelp = new CMeasure(); Voltage = (1 * measure3[i - 2].Voltage - 1.8777640616901443 * measure3[i - 1].Voltage + 1 * measure3[i].Voltage); Voltage = (Voltage - (0.7671153819972949 * measure2[i - 2].Voltage - 1.7418974595250869 * measure2[i - 1].Voltage)) / 1; measureHelp.Voltage = Voltage; Current = (1 * measure3[i - 2].Current - 1.8777640616901443 * measure3[i - 1].Current + 1 * measure3[i].Current); Current = (Current - (0.7671153819972949 * measure2[i - 2].Current - 1.7418974595250869 * measure2[i - 1].Current)) / 1; measureHelp.Current = Current; measure2.Add(measureHelp); } for (int i = 0; i < c; i++) {/////////////////////////////////////////// measure2[i].Current = 0; measure2[i].Voltage = 0; }/////////////////////////////////////////// measure3.Clear(); measure3.Add(new CMeasure()); measure3.Add(new CMeasure()); for (int i = 2; i < measure2.Count; i++) { /***************************Пятый фильтр*******************************/ CMeasure measureHelp = new CMeasure(); Voltage = (1 * measure2[i - 2].Voltage - 1.1608340229048444 * measure2[i - 1].Voltage + 1 * measure2[i].Voltage); Voltage = (Voltage - (0.69134326008778102 * measure3[i - 2].Voltage - 1.6611920169645864 * measure3[i - 1].Voltage)) / 1; measureHelp.Voltage = Voltage; Current = (1 * measure2[i - 2].Current - 1.1608340229048444 * measure2[i - 1].Current + 1 * measure2[i].Current); Current = (Current - (0.69134326008778102 * measure3[i - 2].Current - 1.6611920169645864 * measure3[i - 1].Current)) / 1; measureHelp.Current = Current; measure3.Add(measureHelp); } for (int i = 0; i < c; i++) {/////////////////////////////////////////// measure3[i].Current = 0; measure3[i].Voltage = 0; }/////////////////////////////////////////// /*****************Фильры кончились*****************/ measure.MeasureList.Clear(); for (int i = 0; i < measure3.Count; i++) { measure.MeasureList.Add(measure3[i]); } double MaxVoltage = 1, MaxCurrent = 1; foreach (CMeasure _measure in measure.MeasureList) { if (Math.Abs(_measure.Voltage) > MaxVoltage) { MaxVoltage = Math.Abs(_measure.Voltage); } if (Math.Abs(_measure.Current) > MaxCurrent) { MaxCurrent = Math.Abs(_measure.Current); } } foreach (CMeasure _measure in measure.MeasureList) { _measure.Voltage /= MaxVoltage; _measure.Current /= MaxCurrent; _measure.Voltage *= 150; _measure.Current *= 150; _measure.Voltage += 170; _measure.Current += 170; } }