debug
This commit is contained in:
parent
a9caa7d01c
commit
5572e0ae59
@ -26,6 +26,19 @@ namespace solarApp.Model
|
|||||||
public double sensorAvg06 { get; set; }
|
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 class sensor_raw_V2
|
||||||
{
|
{
|
||||||
public string SiteID { get; set; }
|
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>
|
/// <summary>
|
||||||
/// Sensor 欄位需要平均時 欄位串接 (s1 + s2) / 2
|
/// Sensor 欄位需要平均時 欄位串接 (s1 + s2) / 2
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
|||||||
@ -185,5 +185,26 @@ namespace solarApp.Service
|
|||||||
return ds;
|
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
|
select concat(DATE_FORMAT(`TIMESTAMP`, '%Y-%m-%d %H'), ':00:00') AS reportDate, Irradiance
|
||||||
from sensor_history_hour
|
from sensor_history_hour
|
||||||
where powerstationID = " + _powerStationID + @" and DATE_FORMAT(`TIMESTAMP`, '%Y-%m-%d') = @date1
|
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 });
|
//int ct = conn.Execute(sql, new { date1 = _date1 });
|
||||||
MySqlCommand cmd = new MySqlCommand();
|
MySqlCommand cmd = new MySqlCommand();
|
||||||
cmd.Connection = conn;
|
cmd.Connection = conn;
|
||||||
@ -518,7 +519,8 @@ namespace solarApp.Service
|
|||||||
select DATE_FORMAT(a.TIMESTAMP, '%Y-%m') AS reportDate, Irradiance
|
select DATE_FORMAT(a.TIMESTAMP, '%Y-%m') AS reportDate, Irradiance
|
||||||
from sensor_history_month a
|
from sensor_history_month a
|
||||||
where powerstationID = @powerstationID and DATE_FORMAT(a.TIMESTAMP, '%Y-%m') = @date1 and Irradiance <> 0
|
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 });
|
//conn.Execute(sql, new { date1 = _date1.Substring(0, 7), PowerStationID = _powerStationID });
|
||||||
MySqlCommand cmd = new MySqlCommand();
|
MySqlCommand cmd = new MySqlCommand();
|
||||||
cmd.Connection = conn;
|
cmd.Connection = conn;
|
||||||
|
|||||||
60
solarApp/fmArchive.Designer.cs
generated
60
solarApp/fmArchive.Designer.cs
generated
@ -29,11 +29,13 @@ namespace solarApp
|
|||||||
/// </summary>
|
/// </summary>
|
||||||
private void InitializeComponent()
|
private void InitializeComponent()
|
||||||
{
|
{
|
||||||
System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle1 = new System.Windows.Forms.DataGridViewCellStyle();
|
System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle5 = new System.Windows.Forms.DataGridViewCellStyle();
|
||||||
System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle2 = new System.Windows.Forms.DataGridViewCellStyle();
|
System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle6 = new System.Windows.Forms.DataGridViewCellStyle();
|
||||||
this.tabControl1 = new System.Windows.Forms.TabControl();
|
this.tabControl1 = new System.Windows.Forms.TabControl();
|
||||||
this.tabPage1 = new System.Windows.Forms.TabPage();
|
this.tabPage1 = new System.Windows.Forms.TabPage();
|
||||||
this.splitContainer1 = new System.Windows.Forms.SplitContainer();
|
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_rpt_invDay = new System.Windows.Forms.Button();
|
||||||
this.bt_meter = new System.Windows.Forms.Button();
|
this.bt_meter = new System.Windows.Forms.Button();
|
||||||
this.lbmsg = new System.Windows.Forms.Label();
|
this.lbmsg = new System.Windows.Forms.Label();
|
||||||
@ -69,7 +71,7 @@ namespace solarApp
|
|||||||
this.label2 = new System.Windows.Forms.Label();
|
this.label2 = new System.Windows.Forms.Label();
|
||||||
this.label3 = new System.Windows.Forms.Label();
|
this.label3 = new System.Windows.Forms.Label();
|
||||||
this.label4 = 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.tabControl1.SuspendLayout();
|
||||||
this.tabPage1.SuspendLayout();
|
this.tabPage1.SuspendLayout();
|
||||||
((System.ComponentModel.ISupportInitialize)(this.splitContainer1)).BeginInit();
|
((System.ComponentModel.ISupportInitialize)(this.splitContainer1)).BeginInit();
|
||||||
@ -120,6 +122,8 @@ namespace solarApp
|
|||||||
// splitContainer1.Panel1
|
// splitContainer1.Panel1
|
||||||
//
|
//
|
||||||
this.splitContainer1.Panel1.BackColor = System.Drawing.SystemColors.ActiveCaption;
|
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.btInvDay_oldData);
|
||||||
this.splitContainer1.Panel1.Controls.Add(this.bt_rpt_invDay);
|
this.splitContainer1.Panel1.Controls.Add(this.bt_rpt_invDay);
|
||||||
this.splitContainer1.Panel1.Controls.Add(this.bt_meter);
|
this.splitContainer1.Panel1.Controls.Add(this.bt_meter);
|
||||||
@ -145,6 +149,28 @@ namespace solarApp
|
|||||||
this.splitContainer1.SplitterWidth = 10;
|
this.splitContainer1.SplitterWidth = 10;
|
||||||
this.splitContainer1.TabIndex = 0;
|
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
|
// bt_rpt_invDay
|
||||||
//
|
//
|
||||||
this.bt_rpt_invDay.Font = new System.Drawing.Font("Microsoft JhengHei UI", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point);
|
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.AllowUserToAddRows = false;
|
||||||
this.gv_inv_detail.AllowUserToDeleteRows = false;
|
this.gv_inv_detail.AllowUserToDeleteRows = false;
|
||||||
dataGridViewCellStyle1.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(192)))), ((int)(((byte)(255)))), ((int)(((byte)(255)))));
|
dataGridViewCellStyle5.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(192)))), ((int)(((byte)(255)))), ((int)(((byte)(255)))));
|
||||||
this.gv_inv_detail.AlternatingRowsDefaultCellStyle = dataGridViewCellStyle1;
|
this.gv_inv_detail.AlternatingRowsDefaultCellStyle = dataGridViewCellStyle5;
|
||||||
this.gv_inv_detail.ColumnHeadersHeightSizeMode = System.Windows.Forms.DataGridViewColumnHeadersHeightSizeMode.AutoSize;
|
this.gv_inv_detail.ColumnHeadersHeightSizeMode = System.Windows.Forms.DataGridViewColumnHeadersHeightSizeMode.AutoSize;
|
||||||
this.gv_inv_detail.Dock = System.Windows.Forms.DockStyle.Fill;
|
this.gv_inv_detail.Dock = System.Windows.Forms.DockStyle.Fill;
|
||||||
this.gv_inv_detail.Location = new System.Drawing.Point(768, 75);
|
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.AllowUserToAddRows = false;
|
||||||
this.gv_rpt_invDay.AllowUserToDeleteRows = false;
|
this.gv_rpt_invDay.AllowUserToDeleteRows = false;
|
||||||
dataGridViewCellStyle2.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(192)))), ((int)(((byte)(255)))), ((int)(((byte)(255)))));
|
dataGridViewCellStyle6.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(192)))), ((int)(((byte)(255)))), ((int)(((byte)(255)))));
|
||||||
this.gv_rpt_invDay.AlternatingRowsDefaultCellStyle = dataGridViewCellStyle2;
|
this.gv_rpt_invDay.AlternatingRowsDefaultCellStyle = dataGridViewCellStyle6;
|
||||||
this.gv_rpt_invDay.ColumnHeadersHeightSizeMode = System.Windows.Forms.DataGridViewColumnHeadersHeightSizeMode.AutoSize;
|
this.gv_rpt_invDay.ColumnHeadersHeightSizeMode = System.Windows.Forms.DataGridViewColumnHeadersHeightSizeMode.AutoSize;
|
||||||
this.gv_rpt_invDay.Dock = System.Windows.Forms.DockStyle.Left;
|
this.gv_rpt_invDay.Dock = System.Windows.Forms.DockStyle.Left;
|
||||||
this.gv_rpt_invDay.Location = new System.Drawing.Point(0, 75);
|
this.gv_rpt_invDay.Location = new System.Drawing.Point(0, 75);
|
||||||
@ -538,16 +564,16 @@ namespace solarApp
|
|||||||
this.label4.TabIndex = 9;
|
this.label4.TabIndex = 9;
|
||||||
this.label4.Text = "Site_Name";
|
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.bt_lackStation.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.bt_lackStation.Location = new System.Drawing.Point(300, 735);
|
||||||
this.btInvDay_oldData.Name = "btInvDay_oldData";
|
this.bt_lackStation.Name = "bt_lackStation";
|
||||||
this.btInvDay_oldData.Size = new System.Drawing.Size(100, 44);
|
this.bt_lackStation.Size = new System.Drawing.Size(107, 44);
|
||||||
this.btInvDay_oldData.TabIndex = 13;
|
this.bt_lackStation.TabIndex = 15;
|
||||||
this.btInvDay_oldData.Text = "日報-舊";
|
this.bt_lackStation.Text = "LackData";
|
||||||
this.btInvDay_oldData.UseVisualStyleBackColor = true;
|
this.bt_lackStation.UseVisualStyleBackColor = true;
|
||||||
this.btInvDay_oldData.Click += new System.EventHandler(this.btInvDay_oldData_Click);
|
this.bt_lackStation.Click += new System.EventHandler(this.bt_lackStation_Click);
|
||||||
//
|
//
|
||||||
// fmArchive
|
// fmArchive
|
||||||
//
|
//
|
||||||
@ -624,5 +650,7 @@ namespace solarApp
|
|||||||
private System.Windows.Forms.Button bt_invDay;
|
private System.Windows.Forms.Button bt_invDay;
|
||||||
private System.Windows.Forms.DataGridView gv_inv_detail;
|
private System.Windows.Forms.DataGridView gv_inv_detail;
|
||||||
private System.Windows.Forms.Button btInvDay_oldData;
|
private System.Windows.Forms.Button btInvDay_oldData;
|
||||||
|
private System.Windows.Forms.Button bt_sensor_lackData;
|
||||||
|
private System.Windows.Forms.Button bt_lackStation;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -344,6 +344,37 @@ namespace solarApp
|
|||||||
//{
|
//{
|
||||||
// invSvc.report_invDay(lbSiteID_sensor.Text.Substring(0, 9), day.ToString("yyyy-MM-dd"));
|
// 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