Merge branch 'master' into Willy

This commit is contained in:
b110212000 2021-07-15 10:44:15 +08:00
commit 2b40a22615
10 changed files with 169 additions and 10 deletions

View File

@ -97,7 +97,53 @@ namespace SolarPower.Controllers
//取得當前使用者可以查看的電站
ViewBag.myPowerStationSummaries = powerStationRepository.GetMyPowerStationSummary(myUser);
var myPowerStationSummaries = powerStationRepository.GetMyPowerStationSummary(myUser);
ViewBag.myPowerStationSummaries = myPowerStationSummaries;
if (controllerName == "PowerStation" && actionName == "Edit")
{
//電站資訊的各電站
string stationId_param = filterContext.HttpContext.Request.Query["stationId"];
int stationId = stationId_param == "new" ? 0 : int.Parse(stationId_param);
if (stationId > 0)
{
var hasSubTagNum = false;
int i = 0;
foreach(var myPowerStationSummary in myPowerStationSummaries)
{
if (hasSubTagNum)
{
break;
}
int j = 0;
foreach(var myPowerStation in myPowerStationSummary.MyPowerStations)
{
if(myPowerStation.PowerStationId == stationId)
{
ViewData["SubNum"] = i;
ViewData["TagNum"] = j;
hasSubTagNum = true;
break;
}
j++;
}
i++;
}
}
else
{
//電站管理的新增電站
ViewData["SubNum"] = myPowerStationSummaries.Count();
ViewData["TagNum"] = 0;
}
}else if(controllerName == "PowerStation" && actionName == "Index")
{
ViewData["SubNum"] = myPowerStationSummaries.Count();
ViewData["TagNum"] = 0;
}
ViewBag.auths = auth_arr;

View File

@ -663,6 +663,37 @@ namespace SolarPower.Controllers
return apiResult;
}
public async Task<ApiResult<string>> DeleteOneOperationRecode(int id)
{
ApiResult<string> apiResult = new ApiResult<string>();
try
{
var operationRecode = await operationRepository.GetOneOperationRecodeAsync(id);
if (operationRecode == null)
{
apiResult.Code = "9989";
apiResult.Msg = errorCode.GetString(apiResult.Code);
return apiResult;
}
await operationRepository.DeleteOneOperationRecodeAsync(id);
apiResult.Code = "0000";
apiResult.Msg = "刪除成功";
}
catch (Exception exception)
{
apiResult.Code = "9999";
apiResult.Msg = errorCode.GetString(apiResult.Code);
Logger.LogError("【" + controllerName + "/" + actionName + "】" + "Id=" + id);
Logger.LogError("【" + controllerName + "/" + actionName + "】" + exception.Message);
}
return apiResult;
}
/// <summary>
/// 儲存運維作業記錄檔案
/// </summary>

View File

@ -399,6 +399,34 @@ namespace SolarPower.Repository.Implement
}
}
public async Task DeleteOneOperationRecodeAsync(int id)
{
using (IDbConnection conn = this._databaseHelper.GetConnection())
{
conn.Open();
using (var trans = conn.BeginTransaction())
{
try
{
var sql = $"UPDATE operation_record SET deleted = 1 WHERE Id = @Id";
await conn.ExecuteAsync(sql, new { Id = id }, trans);
trans.Commit();
}
catch (Exception exception)
{
trans.Rollback();
throw exception;
}
finally
{
conn.Close();
}
}
}
}
/// <summary>
/// 新增運維作業記錄的檔案
/// </summary>

View File

@ -41,7 +41,7 @@ namespace SolarPower.Repository.Implement
}
else if (myUser.Role.Layer == 3)
{
sql += @" LEFT JOIN power_station_operation_personnel ps.Id = op.PowerStationId
sql += @" LEFT JOIN power_station_operation_personnel op ON ps.Id = op.PowerStationId
WHERE ps.Deleted = 0 AND op.Deleted = 0 AND op.UserId = @UserId ";
}
else

View File

@ -54,6 +54,8 @@ namespace SolarPower.Repository.Interface
/// <returns></returns>
Task<int> AddOperationRecodeFilesAsync(List<OperationRecodeFile> entity, List<string> properties);
Task DeleteOneOperationRecodeAsync(int id);
/// <summary>
/// 透過Id取得單一運維作業記錄檔案
/// </summary>

View File

@ -3,6 +3,8 @@
ViewData["SubNum"] = "2";
ViewData["Title"] = "運維作業記錄";
}
@using SolarPower.Models.Role
@model RoleLayerEnum
<ol class="breadcrumb page-breadcrumb">
<li class="breadcrumb-item"><a href="javascript:void(0);">運維管理</a></li>
@ -81,7 +83,10 @@
<th>本次作業預計</th>
<th>檔案</th>
<th>完成時間</th>
@*<th>功能</th>*@
@if (ViewBag.myUser.Role.Layer != (int)RoleLayerEnum.CompanyUser)
{
<th>功能</th>
}
</tr>
</thead>
<tbody>
@ -384,6 +389,9 @@
"data": "recodeFiles"
}, {
"data": "finishTime"
}, {
"data": null,
"defaultContent": '<button class="btn btn-danger del-btn">刪除</button>'
}],
"columnDefs": [{
'targets': 7,
@ -400,6 +408,9 @@
});
}
}
}, {
'targets': 9,
'visible': @(ViewBag.myUser.Role.Layer == (int)RoleLayerEnum.CompanyUser ? "false" : "true")
}],
"language": {
"emptyTable": "無資料...",
@ -752,6 +763,44 @@
}
//#endregion
//#region 刪除公司
$('#operation_recode_table').on("click", "button.del-btn", function () {
selected_id = $(this).parents('tr').attr('data-id');
Swal.fire(
{
title: "刪除",
text: "你確定是否刪除此筆資料?",
type: "warning",
icon: 'warning',
showCancelButton: true,
confirmButtonText: "是",
cancelButtonText: "否"
}).then(function (result) {
if (result.value) {
//刪除單一運維紀錄
var url = "/Operation/DeleteOneOperationRecode/";
var send_data = {
Id: selected_id
}
$.post(url, send_data, function (rel) {
if (rel.code == "9999") {
toast_error(rel.msg);
return;
}
else if (rel.code == "9998") {
toast_error(rel.msg);
return;
}
toast_ok(rel.msg);
operationRecodeTable.ajax.reload();
}, 'json');
}
});
});
//#endregion
//#region 取得電站選單資料 (未使用)
function GetPowerStation() {
var url_power_station_select_option = "/Operation/GetPowerStationSelectOption";

View File

@ -1,6 +1,5 @@
@{
ViewData["MainNum"] = "2";
ViewData["SubNum"] = "1";
ViewData["Title"] = "電站管理";
}

View File

@ -1,6 +1,5 @@
@{
ViewData["MainNum"] = "2";
ViewData["SubNum"] = "1";
ViewData["Title"] = "電站管理";
}

View File

@ -131,26 +131,31 @@
<ul>
@foreach (var myPowerStationSummary in ViewBag.myPowerStationSummaries)
{
<li>
<li class="@(ViewData["MainNum"].ToString() == "2" &&
ViewData["SubNum"].ToString() == ViewBag.myPowerStationSummaries.IndexOf(myPowerStationSummary).ToString() ? "active open" : "")">
<a href="javascript:void(0);" title="Category" data-filter-tags="utilities menu child sublevel item">
<span class="nav-link-text" data-i18n="nav.category">@myPowerStationSummary.CityName</span>
<span class="dl-ref bg-primary-500 hidden-nav-function-minify hidden-nav-function-top">@myPowerStationSummary.Amount</span>
</a>
<ul>
@foreach (var myPowerStation in myPowerStationSummary.MyPowerStations)
{
<li>
<li class="@(ViewData["MainNum"].ToString() == "2" &&
ViewData["SubNum"].ToString() == ViewBag.myPowerStationSummaries.IndexOf(myPowerStationSummary).ToString() &&
ViewData["TagNum"].ToString() == myPowerStationSummary.MyPowerStations.IndexOf(myPowerStation).ToString() ? "active" : "")">
<a asp-controller="PowerStation" asp-action="Edit" asp-route-stationId="@myPowerStation.PowerStationId" title="Sublevel Item" data-filter-tags="utilities menu child sublevel item">
<span class="nav-link-text" data-i18n="nav.utilities_menu_child_sublevel_item">@myPowerStation.PowerStationName</span>
</a>
</li>
}
</ul>
</li>
}
<li class="@(ViewData["MainNum"] == "2" && ViewData["SubNum"] == "1" ? "active" : "")">
<li class="@(ViewData["MainNum"] == "2" && ViewData["SubNum"].ToString() == ViewBag.myPowerStationSummaries.Count.ToString() ? "active" : "")">
<a asp-controller="PowerStation" asp-action="Index" title="電站管理" data-filter-tags="utilities disabled item">
<span class="nav-link-text" data-i18n="nav.utilities_disabled_item">電站管理</span>
<span class="nav-link-text" data-i18n="nav.utilities_disabled_item">電站管理 + @ViewData["SubNum"]</span>
</a>
</li>
</ul>

View File

@ -1,6 +1,6 @@
@{
ViewData["MainNum"] = "7";
ViewData["SubNum"] = "3";
ViewData["SubNum"] = "2";
ViewData["Title"] = "帳號管理";
}