/// <summary> /// 根据KeyId和日期保存数据 /// </summary> /// <param name="organizationId">[分厂]组织机构ID</param> /// <param name="keyId">引领表KeyId</param> /// <param name="saveDate">保存日期</param> public static void SaveMonthBalanceDetailData(string myFactoryOrganizationId, DateTime saveDate) { string connectionString = ConnectionStringFactory.NXJCConnectionString; ISqlServerDataFactory dataFactory = new SqlServerDataFactory(connectionString); SingleBasicData singleBasicData = SingleBasicData.Creat(); singleBasicData.Init(myFactoryOrganizationId, saveDate.ToString("yyyy-MM-dd")); singleBasicData.InitMonthlyData(saveDate); SingleTimeService singleTimeService = SingleTimeService.Creat(); singleTimeService.Init(dataFactory); DataTable tzBalance = TzBalanceService.GetMonthyTzBalance(); //电量(包括分摊电量,产线级别的电量带B的字段为加上分摊电量后的值)产量表 DataTable electricityMaterialWeight = MonthlyService.GetElectricityQuantityMaterialWeight(); string sql = @"SELECT A.VariableId,B.OrganizationID,(B.Name+A.VariableName) AS Name,A.ValueType,A.ValueFormula FROM balance_Energy_Template AS A,system_Organization AS B WHERE A.ProductionLineType=B.Type AND (A.ValueType='ElectricityConsumption' OR A.ValueType='CoalConsumption') AND A.Enabled='True' AND B.LevelCode like(select LevelCode from system_Organization where OrganizationID='{0}')+'%'"; DataTable template = dataFactory.Query(string.Format(sql, singleBasicData.OrganizationId)); string[] columns ={"TotalPeakValleyFlat", "MorePeak", "Peak", "Valley", "MoreValley", "Flat", "First", "Second", "Third", "TotalPeakValleyFlatB", "MorePeakB", "PeakB", "ValleyB", "MoreValleyB", "FlatB", "FirstB", "SecondB", "ThirdB"}; DataTable consumptionTemp = EnergyConsumption.EnergyConsumptionCalculate.CalculateByOrganizationId(electricityMaterialWeight, template, "ValueFormula", columns); DataTable consumption = singleBasicData.BalanceTable.Clone(); foreach (DataRow dr in consumptionTemp.Rows) { DataRow row = consumption.NewRow(); row["VariableItemId"] = Guid.NewGuid().ToString(); foreach (DataColumn item in consumptionTemp.Columns) { string name = item.ColumnName; if (name == "ValueFormula") continue; if (name == "Name") row["VariableName"] = dr[name]; else row[name] = dr[name]; row["PublicVariableId"] = row["KeyId"] = singleBasicData.MonthlyKeyId; } consumption.Rows.Add(row); } electricityMaterialWeight.Merge(consumption); int w = dataFactory.Save("tz_Balance", tzBalance); int n = dataFactory.Save("balance_Energy", electricityMaterialWeight); }
/// <summary> /// 保存停机原因 /// </summary> public static void SaveMachineHaltReasons(DataTable data) { string connectionString = ConnectionStringFactory.NXJCConnectionString; ISqlServerDataFactory factory = new SqlServerDataFactory(connectionString); Delete delete = new Delete("system_MachineHaltReason"); factory.Remove(delete); Query query = new Query("system_MachineHaltReason"); DataTable m_ReasonTable = factory.Query(query); if (query != null) { data.Columns.Add("OrganizationID", typeof(string)); foreach (DataColumn Column in m_ReasonTable.Columns) { int m_ColumnIndex = Column.Ordinal; data.Columns[Column.ColumnName].SetOrdinal(m_ColumnIndex); } } factory.Save("system_MachineHaltReason", data); }