[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 waterMeterFileName = $"水電報表_水錶_{fileDateName}.csv";
|
||||
var electricMeterFileName = $"水電報表_電錶_{fileDateName}.csv";
|
||||
var zipFileName = $"水電報表_{fileDateName}.zip";
|
||||
|
||||
try
|
||||
{
|
||||
@ -790,7 +789,7 @@ namespace FrontendWebApi.ApiControllers
|
||||
// 判斷是否有資料
|
||||
if (existMonth.Count == 0)
|
||||
{
|
||||
var msg = new { Code = "0001", Msg = "還沒有選擇用戶,無法匯出檔案。" };
|
||||
var msg = new { Code = "0001", Msg = "時間段無資料或無設置用戶。" };
|
||||
return StatusCode(400, msg);
|
||||
}
|
||||
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 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)
|
||||
{
|
||||
@ -885,11 +878,11 @@ namespace FrontendWebApi.ApiControllers
|
||||
string electricMeterCsv = null;
|
||||
if (waterMeterData.Count > 0)
|
||||
{
|
||||
waterMeterCsv = GenerateCsv(waterMeterData);
|
||||
waterMeterCsv = GenerateCsv(waterMeterData, "water");
|
||||
}
|
||||
if (electricMeterData.Count > 0)
|
||||
{
|
||||
electricMeterCsv = GenerateCsv(electricMeterData);
|
||||
electricMeterCsv = GenerateCsv(electricMeterData, "elec");
|
||||
}
|
||||
|
||||
// 返回CSV文件
|
||||
@ -921,37 +914,6 @@ namespace FrontendWebApi.ApiControllers
|
||||
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)
|
||||
{
|
||||
@ -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();
|
||||
|
||||
// 添加CSV標題行
|
||||
csv.AppendLine("用戶,設備代碼,設備名稱,日期,用電單價(元/度),當日用電(kWh),電費(元),起訖時間");
|
||||
if (type == "elec")
|
||||
{
|
||||
csv.AppendLine("用戶,設備代碼,設備名稱,日期,用電單價(元/度),當日用電(kWh),電費(元),起訖時間");
|
||||
}
|
||||
else if (type == "water")
|
||||
{
|
||||
csv.AppendLine("用戶,設備代碼,設備名稱,日期,用水單價(元/度),當日用水(m³),水費(元),起訖時間");
|
||||
}
|
||||
|
||||
// 添加數據行
|
||||
foreach (var item in data)
|
||||
|
Loading…
Reference in New Issue
Block a user