debug
This commit is contained in:
parent
a9caa7d01c
commit
5572e0ae59
@ -26,6 +26,19 @@ namespace solarApp.Model
|
||||
public double sensorAvg06 { get; set; }
|
||||
}
|
||||
|
||||
public class lackData
|
||||
{
|
||||
public int powerstationid { get; set; }
|
||||
public string SITEID { get; set; }
|
||||
public DateTime TIMESTAMP { get; set; }
|
||||
public double TODAYKWH { get; set; }
|
||||
public double TOTALKWH { get; set; }
|
||||
public double Irradiance { get; set; }
|
||||
public double EnvTemperature { get; set; }
|
||||
public double irrDay { get; set; }
|
||||
}
|
||||
|
||||
|
||||
public class sensor_raw_V2
|
||||
{
|
||||
public string SiteID { get; set; }
|
||||
|
||||
@ -33,6 +33,32 @@ namespace solarApp.Service
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 取得需要補償的 Sensor 資料
|
||||
/// </summary>
|
||||
/// <param name="reportDate"></param>
|
||||
/// <returns></returns>
|
||||
public List<lackData> get_lack_sensorData(string reportDate)
|
||||
{
|
||||
using (MySqlConnection conn = new MySqlConnection(Connection1))
|
||||
{
|
||||
conn.Open();
|
||||
string sql = @" select a.powerstationid, p.`code` SITEID, a.`TIMESTAMP` , TODAYKWH, TOTALKWH , b.Irradiance, b.EnvTemperature, b.irrDay #累計日照量
|
||||
from power_station_history_hour a
|
||||
left join (
|
||||
select PowerStationID, `TIMESTAMP` , Irradiance, Temperature, EnvTemperature, Humidity, Vane, Dust, WingDirection, irrDay
|
||||
from sensor_history_hour
|
||||
where left(`TIMESTAMP`, 7) = @reportDate and hour(`TIMESTAMP`) = 12
|
||||
) b on a.powerstationid = b.powerstationid and a.`TIMESTAMP` = b.`TIMESTAMP`
|
||||
join power_station p on a.powerstationid = p.id
|
||||
where left(a.`TIMESTAMP`, 7) = @reportDate and hour(a.`TIMESTAMP`) = 12 and b.Irradiance is null
|
||||
order by 1, 2";
|
||||
List<lackData> ds = conn.Query<lackData>(sql, new { reportDate = reportDate.Substring(0, 7) }).AsList<lackData>();
|
||||
conn.Close();
|
||||
return ds;
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Sensor 欄位需要平均時 欄位串接 (s1 + s2) / 2
|
||||
/// </summary>
|
||||
|
||||
@ -185,5 +185,26 @@ namespace solarApp.Service
|
||||
return ds;
|
||||
}
|
||||
}
|
||||
|
||||
public List<lackData> get_lack_stationData(string reportDate)
|
||||
{
|
||||
using (MySqlConnection conn = new MySqlConnection(Connection1))
|
||||
{
|
||||
conn.Open(); // a.powerstationid, p.`code` SITEID, a.`TIMESTAMP` , TODAYKWH, TOTALKWH , b.Irradiance, b.EnvTemperature, b.irrDay
|
||||
string sql = @"select a.powerstationid, p.`code` SITEID, left(a.`TIMESTAMP`, 10) `TIMESTAMP`, b.TODAYKWH, b.TOTALKWH
|
||||
from sensor_history_hour a
|
||||
left join (
|
||||
select powerstationid, left(`TIMESTAMP`, 10) `TIMESTAMP` , TODAYKWH, TOTALKWH from power_station_history_hour
|
||||
where left(`TIMESTAMP`, 7) = @reportDate and hour(`TIMESTAMP`) = 12
|
||||
) b on a.powerstationid = b.powerstationid and left(a.`TIMESTAMP`, 10) = b.`TIMESTAMP`
|
||||
join power_station p on a.powerstationid = p.id
|
||||
where left(a.`TIMESTAMP`, 7) = @reportDate and hour(a.`TIMESTAMP`) = 12 and b.TODAYKWH is null
|
||||
order by 1, 2 ";
|
||||
List<lackData> ds = conn.Query<lackData>(sql, new { reportDate = reportDate.Substring(0, 7) }, commandTimeout: 300).AsList<lackData>();
|
||||
|
||||
conn.Close();
|
||||
return ds;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@ -369,7 +369,8 @@ namespace solarApp.Service
|
||||
select concat(DATE_FORMAT(`TIMESTAMP`, '%Y-%m-%d %H'), ':00:00') AS reportDate, Irradiance
|
||||
from sensor_history_hour
|
||||
where powerstationID = " + _powerStationID + @" and DATE_FORMAT(`TIMESTAMP`, '%Y-%m-%d') = @date1
|
||||
)irr on a.reportDate = irr.reportDate; ";
|
||||
)irr on a.reportDate = irr.reportDate
|
||||
where i.enabled = 1;";
|
||||
//int ct = conn.Execute(sql, new { date1 = _date1 });
|
||||
MySqlCommand cmd = new MySqlCommand();
|
||||
cmd.Connection = conn;
|
||||
@ -518,7 +519,8 @@ namespace solarApp.Service
|
||||
select DATE_FORMAT(a.TIMESTAMP, '%Y-%m') AS reportDate, Irradiance
|
||||
from sensor_history_month a
|
||||
where powerstationID = @powerstationID and DATE_FORMAT(a.TIMESTAMP, '%Y-%m') = @date1 and Irradiance <> 0
|
||||
)irr on a.reportDate = irr.reportDate ;";
|
||||
)irr on a.reportDate = irr.reportDate
|
||||
where i.enabled = 1;";
|
||||
//conn.Execute(sql, new { date1 = _date1.Substring(0, 7), PowerStationID = _powerStationID });
|
||||
MySqlCommand cmd = new MySqlCommand();
|
||||
cmd.Connection = conn;
|
||||
|
||||
60
solarApp/fmArchive.Designer.cs
generated
60
solarApp/fmArchive.Designer.cs
generated
@ -29,11 +29,13 @@ namespace solarApp
|
||||
/// </summary>
|
||||
private void InitializeComponent()
|
||||
{
|
||||
System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle1 = new System.Windows.Forms.DataGridViewCellStyle();
|
||||
System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle2 = new System.Windows.Forms.DataGridViewCellStyle();
|
||||
System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle5 = new System.Windows.Forms.DataGridViewCellStyle();
|
||||
System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle6 = new System.Windows.Forms.DataGridViewCellStyle();
|
||||
this.tabControl1 = new System.Windows.Forms.TabControl();
|
||||
this.tabPage1 = new System.Windows.Forms.TabPage();
|
||||
this.splitContainer1 = new System.Windows.Forms.SplitContainer();
|
||||
this.bt_sensor_lackData = new System.Windows.Forms.Button();
|
||||
this.btInvDay_oldData = new System.Windows.Forms.Button();
|
||||
this.bt_rpt_invDay = new System.Windows.Forms.Button();
|
||||
this.bt_meter = new System.Windows.Forms.Button();
|
||||
this.lbmsg = new System.Windows.Forms.Label();
|
||||
@ -69,7 +71,7 @@ namespace solarApp
|
||||
this.label2 = new System.Windows.Forms.Label();
|
||||
this.label3 = new System.Windows.Forms.Label();
|
||||
this.label4 = new System.Windows.Forms.Label();
|
||||
this.btInvDay_oldData = new System.Windows.Forms.Button();
|
||||
this.bt_lackStation = new System.Windows.Forms.Button();
|
||||
this.tabControl1.SuspendLayout();
|
||||
this.tabPage1.SuspendLayout();
|
||||
((System.ComponentModel.ISupportInitialize)(this.splitContainer1)).BeginInit();
|
||||
@ -120,6 +122,8 @@ namespace solarApp
|
||||
// splitContainer1.Panel1
|
||||
//
|
||||
this.splitContainer1.Panel1.BackColor = System.Drawing.SystemColors.ActiveCaption;
|
||||
this.splitContainer1.Panel1.Controls.Add(this.bt_lackStation);
|
||||
this.splitContainer1.Panel1.Controls.Add(this.bt_sensor_lackData);
|
||||
this.splitContainer1.Panel1.Controls.Add(this.btInvDay_oldData);
|
||||
this.splitContainer1.Panel1.Controls.Add(this.bt_rpt_invDay);
|
||||
this.splitContainer1.Panel1.Controls.Add(this.bt_meter);
|
||||
@ -145,6 +149,28 @@ namespace solarApp
|
||||
this.splitContainer1.SplitterWidth = 10;
|
||||
this.splitContainer1.TabIndex = 0;
|
||||
//
|
||||
// bt_sensor_lackData
|
||||
//
|
||||
this.bt_sensor_lackData.Font = new System.Drawing.Font("Microsoft JhengHei UI", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point);
|
||||
this.bt_sensor_lackData.Location = new System.Drawing.Point(297, 635);
|
||||
this.bt_sensor_lackData.Name = "bt_sensor_lackData";
|
||||
this.bt_sensor_lackData.Size = new System.Drawing.Size(107, 44);
|
||||
this.bt_sensor_lackData.TabIndex = 14;
|
||||
this.bt_sensor_lackData.Text = "LackData";
|
||||
this.bt_sensor_lackData.UseVisualStyleBackColor = true;
|
||||
this.bt_sensor_lackData.Click += new System.EventHandler(this.bt_sensor_lackData_Click);
|
||||
//
|
||||
// btInvDay_oldData
|
||||
//
|
||||
this.btInvDay_oldData.Font = new System.Drawing.Font("Microsoft JhengHei UI", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point);
|
||||
this.btInvDay_oldData.Location = new System.Drawing.Point(156, 790);
|
||||
this.btInvDay_oldData.Name = "btInvDay_oldData";
|
||||
this.btInvDay_oldData.Size = new System.Drawing.Size(100, 44);
|
||||
this.btInvDay_oldData.TabIndex = 13;
|
||||
this.btInvDay_oldData.Text = "日報-舊";
|
||||
this.btInvDay_oldData.UseVisualStyleBackColor = true;
|
||||
this.btInvDay_oldData.Click += new System.EventHandler(this.btInvDay_oldData_Click);
|
||||
//
|
||||
// bt_rpt_invDay
|
||||
//
|
||||
this.bt_rpt_invDay.Font = new System.Drawing.Font("Microsoft JhengHei UI", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point);
|
||||
@ -283,8 +309,8 @@ namespace solarApp
|
||||
//
|
||||
this.gv_inv_detail.AllowUserToAddRows = false;
|
||||
this.gv_inv_detail.AllowUserToDeleteRows = false;
|
||||
dataGridViewCellStyle1.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(192)))), ((int)(((byte)(255)))), ((int)(((byte)(255)))));
|
||||
this.gv_inv_detail.AlternatingRowsDefaultCellStyle = dataGridViewCellStyle1;
|
||||
dataGridViewCellStyle5.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(192)))), ((int)(((byte)(255)))), ((int)(((byte)(255)))));
|
||||
this.gv_inv_detail.AlternatingRowsDefaultCellStyle = dataGridViewCellStyle5;
|
||||
this.gv_inv_detail.ColumnHeadersHeightSizeMode = System.Windows.Forms.DataGridViewColumnHeadersHeightSizeMode.AutoSize;
|
||||
this.gv_inv_detail.Dock = System.Windows.Forms.DockStyle.Fill;
|
||||
this.gv_inv_detail.Location = new System.Drawing.Point(768, 75);
|
||||
@ -300,8 +326,8 @@ namespace solarApp
|
||||
//
|
||||
this.gv_rpt_invDay.AllowUserToAddRows = false;
|
||||
this.gv_rpt_invDay.AllowUserToDeleteRows = false;
|
||||
dataGridViewCellStyle2.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(192)))), ((int)(((byte)(255)))), ((int)(((byte)(255)))));
|
||||
this.gv_rpt_invDay.AlternatingRowsDefaultCellStyle = dataGridViewCellStyle2;
|
||||
dataGridViewCellStyle6.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(192)))), ((int)(((byte)(255)))), ((int)(((byte)(255)))));
|
||||
this.gv_rpt_invDay.AlternatingRowsDefaultCellStyle = dataGridViewCellStyle6;
|
||||
this.gv_rpt_invDay.ColumnHeadersHeightSizeMode = System.Windows.Forms.DataGridViewColumnHeadersHeightSizeMode.AutoSize;
|
||||
this.gv_rpt_invDay.Dock = System.Windows.Forms.DockStyle.Left;
|
||||
this.gv_rpt_invDay.Location = new System.Drawing.Point(0, 75);
|
||||
@ -538,16 +564,16 @@ namespace solarApp
|
||||
this.label4.TabIndex = 9;
|
||||
this.label4.Text = "Site_Name";
|
||||
//
|
||||
// btInvDay_oldData
|
||||
// bt_lackStation
|
||||
//
|
||||
this.btInvDay_oldData.Font = new System.Drawing.Font("Microsoft JhengHei UI", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point);
|
||||
this.btInvDay_oldData.Location = new System.Drawing.Point(156, 790);
|
||||
this.btInvDay_oldData.Name = "btInvDay_oldData";
|
||||
this.btInvDay_oldData.Size = new System.Drawing.Size(100, 44);
|
||||
this.btInvDay_oldData.TabIndex = 13;
|
||||
this.btInvDay_oldData.Text = "日報-舊";
|
||||
this.btInvDay_oldData.UseVisualStyleBackColor = true;
|
||||
this.btInvDay_oldData.Click += new System.EventHandler(this.btInvDay_oldData_Click);
|
||||
this.bt_lackStation.Font = new System.Drawing.Font("Microsoft JhengHei UI", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point);
|
||||
this.bt_lackStation.Location = new System.Drawing.Point(300, 735);
|
||||
this.bt_lackStation.Name = "bt_lackStation";
|
||||
this.bt_lackStation.Size = new System.Drawing.Size(107, 44);
|
||||
this.bt_lackStation.TabIndex = 15;
|
||||
this.bt_lackStation.Text = "LackData";
|
||||
this.bt_lackStation.UseVisualStyleBackColor = true;
|
||||
this.bt_lackStation.Click += new System.EventHandler(this.bt_lackStation_Click);
|
||||
//
|
||||
// fmArchive
|
||||
//
|
||||
@ -624,5 +650,7 @@ namespace solarApp
|
||||
private System.Windows.Forms.Button bt_invDay;
|
||||
private System.Windows.Forms.DataGridView gv_inv_detail;
|
||||
private System.Windows.Forms.Button btInvDay_oldData;
|
||||
private System.Windows.Forms.Button bt_sensor_lackData;
|
||||
private System.Windows.Forms.Button bt_lackStation;
|
||||
}
|
||||
}
|
||||
@ -345,5 +345,36 @@ namespace solarApp
|
||||
// invSvc.report_invDay(lbSiteID_sensor.Text.Substring(0, 9), day.ToString("yyyy-MM-dd"));
|
||||
//}
|
||||
}
|
||||
|
||||
private void bt_sensor_lackData_Click(object sender, EventArgs e)
|
||||
{
|
||||
procSensorSvc sensorSvc = new procSensorSvc();
|
||||
getSensorSvc GetSensor = new getSensorSvc();
|
||||
var ds = GetSensor.get_lack_sensorData(dtSelect1.Value.ToString("yyyy-MM-dd"));
|
||||
//foreach (DateTime day in EachDay(DateTime.Parse(date1), DateTime.Parse(date2)))
|
||||
foreach (var item in ds)
|
||||
{
|
||||
sensorSvc.archiveData(item.SITEID, item.TIMESTAMP.ToString("yyyy-MM-dd"));
|
||||
}
|
||||
|
||||
MessageBox.Show("OK");
|
||||
}
|
||||
|
||||
private void bt_lackStation_Click(object sender, EventArgs e)
|
||||
{
|
||||
procStationSvc stationSvc = new procStationSvc();
|
||||
getStationSvc GetStation = new getStationSvc();
|
||||
var ds = GetStation.get_lack_stationData(dtSelect1.Value.ToString("yyyy-MM-dd"));
|
||||
|
||||
procInvSvc invSvc = new procInvSvc();
|
||||
//foreach (DateTime day in EachDay(DateTime.Parse(date1), DateTime.Parse(date2)))
|
||||
foreach (var item in ds)
|
||||
{
|
||||
stationSvc.archiveData(item.SITEID, item.TIMESTAMP.ToString("yyyy-MM-dd")); // 補 station
|
||||
invSvc.report_invDay(item.SITEID, item.TIMESTAMP.ToString("yyyy-MM-dd")); // 補日報表
|
||||
}
|
||||
|
||||
MessageBox.Show("OK");
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Loading…
Reference in New Issue
Block a user