[WebApi]修正水電報表匯出CSV欄位錯誤問題
This commit is contained in:
parent
bfe4c01caa
commit
9311e36c81
@ -751,7 +751,6 @@ namespace FrontendWebApi.ApiControllers
|
|||||||
var fileDateName = DateTime.Now.ToString("yyyy-MM-ddTHH-mm-ss");
|
var fileDateName = DateTime.Now.ToString("yyyy-MM-ddTHH-mm-ss");
|
||||||
var waterMeterFileName = $"水電報表_水錶_{fileDateName}.csv";
|
var waterMeterFileName = $"水電報表_水錶_{fileDateName}.csv";
|
||||||
var electricMeterFileName = $"水電報表_電錶_{fileDateName}.csv";
|
var electricMeterFileName = $"水電報表_電錶_{fileDateName}.csv";
|
||||||
var zipFileName = $"水電報表_{fileDateName}.zip";
|
|
||||||
|
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
@ -790,7 +789,7 @@ namespace FrontendWebApi.ApiControllers
|
|||||||
// 判斷是否有資料
|
// 判斷是否有資料
|
||||||
if (existMonth.Count == 0)
|
if (existMonth.Count == 0)
|
||||||
{
|
{
|
||||||
var msg = new { Code = "0001", Msg = "還沒有選擇用戶,無法匯出檔案。" };
|
var msg = new { Code = "0001", Msg = "時間段無資料或無設置用戶。" };
|
||||||
return StatusCode(400, msg);
|
return StatusCode(400, msg);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
@ -862,12 +861,6 @@ namespace FrontendWebApi.ApiControllers
|
|||||||
var waterMeterData = outputBillExcel.Where(x => x.device_name_tag == "W1" && x.building_tag == tb.building_tag).ToList();
|
var waterMeterData = outputBillExcel.Where(x => x.device_name_tag == "W1" && x.building_tag == tb.building_tag).ToList();
|
||||||
var electricMeterData = outputBillExcel.Where(x => x.device_name_tag == "E4" && x.building_tag == tb.building_tag).ToList();
|
var electricMeterData = outputBillExcel.Where(x => x.device_name_tag == "E4" && x.building_tag == tb.building_tag).ToList();
|
||||||
|
|
||||||
// 檢查是否有水錶或電錶數據
|
|
||||||
//if (waterMeterData.Count == 0 && electricMeterData.Count == 0)
|
|
||||||
//{
|
|
||||||
// var msg = new { Code = "0002", Msg = "該棟沒有可匯出的水錶或電錶數據。" };
|
|
||||||
// return StatusCode(400, msg);
|
|
||||||
//}
|
|
||||||
|
|
||||||
if (tb.tableType == "elec" && electricMeterData.Count == 0)
|
if (tb.tableType == "elec" && electricMeterData.Count == 0)
|
||||||
{
|
{
|
||||||
@ -885,11 +878,11 @@ namespace FrontendWebApi.ApiControllers
|
|||||||
string electricMeterCsv = null;
|
string electricMeterCsv = null;
|
||||||
if (waterMeterData.Count > 0)
|
if (waterMeterData.Count > 0)
|
||||||
{
|
{
|
||||||
waterMeterCsv = GenerateCsv(waterMeterData);
|
waterMeterCsv = GenerateCsv(waterMeterData, "water");
|
||||||
}
|
}
|
||||||
if (electricMeterData.Count > 0)
|
if (electricMeterData.Count > 0)
|
||||||
{
|
{
|
||||||
electricMeterCsv = GenerateCsv(electricMeterData);
|
electricMeterCsv = GenerateCsv(electricMeterData, "elec");
|
||||||
}
|
}
|
||||||
|
|
||||||
// 返回CSV文件
|
// 返回CSV文件
|
||||||
@ -921,37 +914,6 @@ namespace FrontendWebApi.ApiControllers
|
|||||||
return StatusCode(400, msg);
|
return StatusCode(400, msg);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
//// 創建ZIP檔案
|
|
||||||
//using (var zipMemoryStream = new MemoryStream())
|
|
||||||
//{
|
|
||||||
// using (var archive = new ZipArchive(zipMemoryStream, ZipArchiveMode.Create, true))
|
|
||||||
// {
|
|
||||||
// if (waterMeterData.Count > 0)
|
|
||||||
// {
|
|
||||||
// var waterEntry = archive.CreateEntry(waterMeterFileName);
|
|
||||||
// using (var entryStream = waterEntry.Open())
|
|
||||||
// using (var streamWriter = new StreamWriter(entryStream, Encoding.UTF8))
|
|
||||||
// {
|
|
||||||
// streamWriter.Write(waterMeterCsv);
|
|
||||||
// }
|
|
||||||
// }
|
|
||||||
|
|
||||||
// if (electricMeterData.Count > 0)
|
|
||||||
// {
|
|
||||||
// var electricEntry = archive.CreateEntry(electricMeterFileName);
|
|
||||||
// using (var entryStream = electricEntry.Open())
|
|
||||||
// using (var streamWriter = new StreamWriter(entryStream, Encoding.UTF8))
|
|
||||||
// {
|
|
||||||
// streamWriter.Write(electricMeterCsv);
|
|
||||||
// }
|
|
||||||
// }
|
|
||||||
// }
|
|
||||||
|
|
||||||
// zipMemoryStream.Seek(0, SeekOrigin.Begin);
|
|
||||||
// return File(zipMemoryStream.ToArray(), "application/zip", zipFileName);
|
|
||||||
//}
|
|
||||||
}
|
}
|
||||||
catch (Exception exception)
|
catch (Exception exception)
|
||||||
{
|
{
|
||||||
@ -963,12 +925,19 @@ namespace FrontendWebApi.ApiControllers
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
private string GenerateCsv(List<OutputBillExcel> data)
|
private string GenerateCsv(List<OutputBillExcel> data, string type)
|
||||||
{
|
{
|
||||||
StringBuilder csv = new StringBuilder();
|
StringBuilder csv = new StringBuilder();
|
||||||
|
|
||||||
// 添加CSV標題行
|
// 添加CSV標題行
|
||||||
csv.AppendLine("用戶,設備代碼,設備名稱,日期,用電單價(元/度),當日用電(kWh),電費(元),起訖時間");
|
if (type == "elec")
|
||||||
|
{
|
||||||
|
csv.AppendLine("用戶,設備代碼,設備名稱,日期,用電單價(元/度),當日用電(kWh),電費(元),起訖時間");
|
||||||
|
}
|
||||||
|
else if (type == "water")
|
||||||
|
{
|
||||||
|
csv.AppendLine("用戶,設備代碼,設備名稱,日期,用水單價(元/度),當日用水(m³),水費(元),起訖時間");
|
||||||
|
}
|
||||||
|
|
||||||
// 添加數據行
|
// 添加數據行
|
||||||
foreach (var item in data)
|
foreach (var item in data)
|
||||||
|
Loading…
Reference in New Issue
Block a user