diff --git a/SolarPower/Controllers/OperationController.cs b/SolarPower/Controllers/OperationController.cs
index 688381f..0650218 100644
--- a/SolarPower/Controllers/OperationController.cs
+++ b/SolarPower/Controllers/OperationController.cs
@@ -255,7 +255,7 @@ namespace SolarPower.Controllers
return apiResult;
}
- await operationRepository.DeleteOneOtherTable(Id, "operation_plan_create");
+ //await operationRepository.DeleteOneOtherTable(Id, "operation_plan_create");
apiResult.Code = "0000";
apiResult.Msg = "刪除成功";
diff --git a/SolarPower/Controllers/PowerStationController.cs b/SolarPower/Controllers/PowerStationController.cs
index d7d3ef8..16f33b7 100644
--- a/SolarPower/Controllers/PowerStationController.cs
+++ b/SolarPower/Controllers/PowerStationController.cs
@@ -1864,5 +1864,28 @@ namespace SolarPower.Controllers
return apiResult;
}
+
+ ///
+ /// 取得該使用者可看的所有電站分佈縣市以及各縣市電站數量
+ ///
+ ///
+ public async Task>> GetSolarByCity(List cityid)
+ {
+ ApiResult> apiResult = new ApiResult>();
+ List solaramount = new List();
+ try
+ {
+ apiResult.Code = "0000";
+ solaramount = await powerStationRepository.GetSolarByCity(myUser, cityid);
+ apiResult.Data = solaramount;
+ }
+ catch (Exception exception)
+ {
+ apiResult.Code = "9999";
+ apiResult.Msg = exception.ToString();
+ }
+
+ return apiResult;
+ }
}
}
diff --git a/SolarPower/Repository/Implement/PowerStationRepository.cs b/SolarPower/Repository/Implement/PowerStationRepository.cs
index 635dee1..2eae156 100644
--- a/SolarPower/Repository/Implement/PowerStationRepository.cs
+++ b/SolarPower/Repository/Implement/PowerStationRepository.cs
@@ -621,7 +621,7 @@ namespace SolarPower.Repository.Implement
try
{
string sql = @$"SELECT * FROM variable WHERE name = @name";
- var json = await conn.QueryFirstOrDefaultAsync(sql, new { name = "Type" });
+ var json = await conn.QueryFirstOrDefaultAsync(sql, new { name = "Type" });
Root jsonfor = JsonSerializer.Deserialize(json.value);
foreach (Models.PowerStation.Type a in jsonfor.Type)
{
@@ -1286,19 +1286,19 @@ namespace SolarPower.Repository.Implement
{
if (User.Role.Layer == 0 || User.Role.Layer == 1)
{
- var sql = "SELECT city.Id AS CityId city.Name AS City,COUNT(*) AS Amount FROM power_station LEFT JOIN city ON power_station.CityId = city.Id GROUP BY power_station.CityId";
+ var sql = "SELECT city.Id AS CityId, city.Name AS City,COUNT(*) AS Amount FROM power_station LEFT JOIN city ON power_station.CityId = city.Id GROUP BY power_station.CityId";
solaramount = (await conn.QueryAsync(sql)).ToList();
trans.Commit();
}
else if (User.Role.Layer == 2)
{
- var sql = "SELECT city.Id AS CityId city.Name AS City,COUNT(*) AS Amount FROM power_station LEFT JOIN city ON power_station.CityId = city.Id WHERE CompanyId = @CompanyId GROUP BY power_station.CityId ORDER BY power_station.CityId ";
+ var sql = "SELECT city.Id AS CityId, city.Name AS City,COUNT(*) AS Amount FROM power_station LEFT JOIN city ON power_station.CityId = city.Id WHERE CompanyId = @CompanyId GROUP BY power_station.CityId ORDER BY power_station.CityId ";
solaramount = (await conn.QueryAsync(sql, new { CompanyId = User.CompanyId })).ToList();
trans.Commit();
}
else
{
- var sql = "SELECT city.Id AS CityId city.Name AS City,COUNT(*) AS Amount FROM power_station LEFT JOIN city ON power_station.CityId = city.Id LEFT JOIN power_station_operation_personnel ON power_station.Id = power_station_operation_personnel.PowerStationId WHERE UserId = @UserId GROUP BY power_station.CityId ORDER BY power_station.CityId";
+ var sql = "SELECT city.Id AS CityId, city.Name AS City,COUNT(*) AS Amount FROM power_station LEFT JOIN city ON power_station.CityId = city.Id LEFT JOIN power_station_operation_personnel ON power_station.Id = power_station_operation_personnel.PowerStationId WHERE UserId = @UserId GROUP BY power_station.CityId ORDER BY power_station.CityId";
solaramount = (await conn.QueryAsync(sql, new { UserId = User.Id })).ToList();
trans.Commit();
}
@@ -1314,5 +1314,52 @@ namespace SolarPower.Repository.Implement
}
return solaramount;
}
+ public async Task> GetSolarByCity(MyUser User, List CityId)
+ {
+ using IDbConnection conn = _databaseHelper.GetConnection();
+ List powerstation = new List();
+ conn.Open();
+ var trans = conn.BeginTransaction();
+ try
+ {
+ var ids = "";
+ foreach(var id in CityId)
+ {
+ ids = ids + id + ",";
+ }
+ if (ids.Length != 0)
+ {
+ ids = ids.Substring(0, ids.Length - 1);
+ }
+ if (User.Role.Layer == 0 || User.Role.Layer == 1)
+ {
+ var sql = "SELECT * FROM power_station WHERE CityId IN(@Ids)";
+ powerstation = (await conn.QueryAsync(sql, new { Ids = ids })).ToList();
+ trans.Commit();
+ }
+ else if (User.Role.Layer == 2)
+ {
+ var sql = "SELECT * FROM power_station WHERE CityId IN(@Ids) AND CompanyId=@CompanyId";
+ powerstation = (await conn.QueryAsync(sql, new { Ids = ids ,CompanyId = User.CompanyId })).ToList();
+ trans.Commit();
+ }
+ else
+ {
+ var sql = "SELECT power_station.* FROM power_station LEFT JOIN power_station_operation_personnel ON power_station.Id = power_station_operation_personnel.PowerStationId WHERE CityId IN(@Ids) AND Userid = @UserId";
+ powerstation = (await conn.QueryAsync(sql, new { UserId = User.Id })).ToList();
+ trans.Commit();
+ }
+ }
+ catch (Exception exception)
+ {
+ trans.Rollback();
+ throw exception;
+ }
+ finally
+ {
+ conn.Close();
+ }
+ return powerstation;
+ }
}
}
diff --git a/SolarPower/Repository/Interface/IPowerStationRepository.cs b/SolarPower/Repository/Interface/IPowerStationRepository.cs
index 1020046..d9ab904 100644
--- a/SolarPower/Repository/Interface/IPowerStationRepository.cs
+++ b/SolarPower/Repository/Interface/IPowerStationRepository.cs
@@ -326,5 +326,20 @@ namespace SolarPower.Repository.Interface
///
///
Task DeleteOnePowerStationSingleLine(int id, string db_name);
+
+ ///
+ /// 取得電站分佈縣市以及數量
+ ///
+ ///
+ ///
+ Task> GetSolarCitySummary(MyUser User);
+
+ ///
+ /// 透過縣市取得電站卡片資訊
+ ///
+ ///
+ ///
+ ///
+ Task> GetSolarByCity(MyUser User, List CityId);
}
}
diff --git a/SolarPower/Views/PowerStation/Index.cshtml b/SolarPower/Views/PowerStation/Index.cshtml
index a905838..a3f8fe4 100644
--- a/SolarPower/Views/PowerStation/Index.cshtml
+++ b/SolarPower/Views/PowerStation/Index.cshtml
@@ -414,15 +414,35 @@
//#region 電站區域Tab
- var url = "/PowerStation/GetSolarCitySummary";
- $.post(url, function (rel) {
+ //var url = "/PowerStation/GetSolarCitySummary";
+ //$.post(url, function (rel) {
+ // if (rel.code != "0000") {
+ // toast_error(rel.msg);
+ // return;
+ // }
+ // else {
+ // $.each(rel.data, function (index, val) {
+ // alert(val.city + val.amount);
+ // });
+ // return;
+ // }
+
+
+ //}, 'json');
+
+ var url = "/PowerStation/GetSolarByCity";
+ var ids = [1, 3];
+ var send_data = {
+ cityid: ids
+ }
+ $.post(url, send_data, function (rel) {
if (rel.code != "0000") {
toast_error(rel.msg);
return;
}
else {
$.each(rel.data, function (index, val) {
- //alert(val.city + val.amount);
+ alert(val.name);
});
return;
}
@@ -430,7 +450,6 @@
}, 'json');
-
//#endregion
//電站區域