Merge branch 'master' of https://github.com/shanghohui-Company/SolarPower
This commit is contained in:
commit
7dcca6b66d
@ -280,9 +280,9 @@ namespace SolarPower.Controllers
|
|||||||
|
|
||||||
var id = await companyRepository.AddOneAsync(company, properties);
|
var id = await companyRepository.AddOneAsync(company, properties);
|
||||||
|
|
||||||
|
|
||||||
UpdateCompany updateCompany;
|
UpdateCompany updateCompany;
|
||||||
//處裡公司Logo圖片
|
|
||||||
|
#region 處理公司Logo圖片
|
||||||
if (post.LogoFile != null)
|
if (post.LogoFile != null)
|
||||||
{
|
{
|
||||||
var split = post.LogoFile.FileName.Split(".");
|
var split = post.LogoFile.FileName.Split(".");
|
||||||
@ -309,6 +309,7 @@ namespace SolarPower.Controllers
|
|||||||
|
|
||||||
await companyRepository.UpdateCompany(updateCompany, properties);
|
await companyRepository.UpdateCompany(updateCompany, properties);
|
||||||
}
|
}
|
||||||
|
#endregion
|
||||||
|
|
||||||
#region 幫別間公司新增"公司管理員"之角色
|
#region 幫別間公司新增"公司管理員"之角色
|
||||||
Role role = new Role()
|
Role role = new Role()
|
||||||
@ -332,23 +333,24 @@ namespace SolarPower.Controllers
|
|||||||
|
|
||||||
#region 新增公司DB及Table,公司DB編號規則 solar_com_(公司編號共四碼),ex:solar_com_0001
|
#region 新增公司DB及Table,公司DB編號規則 solar_com_(公司編號共四碼),ex:solar_com_0001
|
||||||
|
|
||||||
var relationalDB = "solar_com_" + id.ToString().Trim().PadLeft(4, '0');
|
//var siteDB = "solar_com" + id.ToString().Trim().PadLeft(4, '0');
|
||||||
|
var siteDB = "solar_com" + id.ToString().Trim().PadLeft(4, '0') + "_test";
|
||||||
//修改
|
//修改
|
||||||
updateCompany = new UpdateCompany()
|
updateCompany = new UpdateCompany()
|
||||||
{
|
{
|
||||||
Id = id,
|
Id = id,
|
||||||
RelationalDB = relationalDB
|
SiteDB = siteDB
|
||||||
};
|
};
|
||||||
|
|
||||||
properties = new List<string>()
|
properties = new List<string>()
|
||||||
{
|
{
|
||||||
"Id",
|
"Id",
|
||||||
"RelationalDB"
|
"SiteDB"
|
||||||
};
|
};
|
||||||
|
|
||||||
await companyRepository.UpdateCompany(updateCompany, properties);
|
await companyRepository.UpdateCompany(updateCompany, properties);
|
||||||
|
|
||||||
await companyRepository.CreatCompanyDB(relationalDB);
|
await companyRepository.CreatCompanyDB(siteDB);
|
||||||
#endregion
|
#endregion
|
||||||
|
|
||||||
apiResult.Code = "0000";
|
apiResult.Code = "0000";
|
||||||
@ -357,7 +359,7 @@ namespace SolarPower.Controllers
|
|||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
#region 修改使用者
|
#region 修改公司
|
||||||
|
|
||||||
//先檢查統編是否已被使用
|
//先檢查統編是否已被使用
|
||||||
var exist = await companyRepository.GetOneNormalSimpleCompanyByTaxIDNumber(post.TaxIDNumber);
|
var exist = await companyRepository.GetOneNormalSimpleCompanyByTaxIDNumber(post.TaxIDNumber);
|
||||||
|
|||||||
@ -30,7 +30,6 @@ namespace SolarPower.Controllers
|
|||||||
|
|
||||||
protected ILogger<T> Logger => _logger ?? (_logger = HttpContext?.RequestServices.GetService<ILogger<T>>());
|
protected ILogger<T> Logger => _logger ?? (_logger = HttpContext?.RequestServices.GetService<ILogger<T>>());
|
||||||
private IUserRepository userRepository => HttpContext?.RequestServices.GetService<IUserRepository>();
|
private IUserRepository userRepository => HttpContext?.RequestServices.GetService<IUserRepository>();
|
||||||
private IOperationRepository operationRepository => HttpContext?.RequestServices.GetService<IOperationRepository>();
|
|
||||||
private ICompanyRepository companyRepository => HttpContext?.RequestServices.GetService<ICompanyRepository>();
|
private ICompanyRepository companyRepository => HttpContext?.RequestServices.GetService<ICompanyRepository>();
|
||||||
private IRoleRepository roleRepository => HttpContext?.RequestServices.GetService<IRoleRepository>();
|
private IRoleRepository roleRepository => HttpContext?.RequestServices.GetService<IRoleRepository>();
|
||||||
private IOperatorLogRepository operatorLogRepository => HttpContext?.RequestServices.GetService<IOperatorLogRepository>();
|
private IOperatorLogRepository operatorLogRepository => HttpContext?.RequestServices.GetService<IOperatorLogRepository>();
|
||||||
@ -131,7 +130,7 @@ namespace SolarPower.Controllers
|
|||||||
/// </summary>
|
/// </summary>
|
||||||
/// <param name="current">當前的</param>
|
/// <param name="current">當前的</param>
|
||||||
/// <param name="pad"></param>
|
/// <param name="pad"></param>
|
||||||
/// <param name="direction">0: PadLeft;0: PadRight</param>
|
/// <param name="direction">0: PadLeft;1: PadRight</param>
|
||||||
/// <returns></returns>
|
/// <returns></returns>
|
||||||
public string GetLastSerialNumber(string current = "", int pad = 4, byte direction = 0)
|
public string GetLastSerialNumber(string current = "", int pad = 4, byte direction = 0)
|
||||||
{
|
{
|
||||||
|
|||||||
@ -18,6 +18,7 @@ namespace SolarPower.Controllers
|
|||||||
public class PowerStationController : MyBaseController<PowerStationController>
|
public class PowerStationController : MyBaseController<PowerStationController>
|
||||||
{
|
{
|
||||||
private readonly IUserRepository userRepository;
|
private readonly IUserRepository userRepository;
|
||||||
|
private readonly ICompanyRepository companyRepository;
|
||||||
private readonly IPowerStationRepository powerStationRepository;
|
private readonly IPowerStationRepository powerStationRepository;
|
||||||
private string boeFilePath = "/upload/power_station/boe_file/";
|
private string boeFilePath = "/upload/power_station/boe_file/";
|
||||||
private string stationImageFilePath = "/upload/power_station/";
|
private string stationImageFilePath = "/upload/power_station/";
|
||||||
@ -25,9 +26,11 @@ namespace SolarPower.Controllers
|
|||||||
|
|
||||||
public PowerStationController(
|
public PowerStationController(
|
||||||
IUserRepository userRepository,
|
IUserRepository userRepository,
|
||||||
|
ICompanyRepository companyRepository,
|
||||||
IPowerStationRepository powerStationRepository) : base()
|
IPowerStationRepository powerStationRepository) : base()
|
||||||
{
|
{
|
||||||
this.userRepository = userRepository;
|
this.userRepository = userRepository;
|
||||||
|
this.companyRepository = companyRepository;
|
||||||
this.powerStationRepository = powerStationRepository;
|
this.powerStationRepository = powerStationRepository;
|
||||||
|
|
||||||
powerSationSaveAsPath = Path.Combine(Directory.GetCurrentDirectory(), "wwwroot", "upload", "power_station");
|
powerSationSaveAsPath = Path.Combine(Directory.GetCurrentDirectory(), "wwwroot", "upload", "power_station");
|
||||||
@ -37,11 +40,6 @@ namespace SolarPower.Controllers
|
|||||||
return View();
|
return View();
|
||||||
}
|
}
|
||||||
|
|
||||||
public IActionResult Add()
|
|
||||||
{
|
|
||||||
return View("~/Views/PowerStation/PowerStationAdd.cshtml");
|
|
||||||
}
|
|
||||||
|
|
||||||
public IActionResult Edit()
|
public IActionResult Edit()
|
||||||
{
|
{
|
||||||
return View("~/Views/PowerStation/PowerStationEdit.cshtml");
|
return View("~/Views/PowerStation/PowerStationEdit.cshtml");
|
||||||
@ -73,6 +71,7 @@ namespace SolarPower.Controllers
|
|||||||
apiResult.Msg = errorCode.GetString(apiResult.Code);
|
apiResult.Msg = errorCode.GetString(apiResult.Code);
|
||||||
return apiResult;
|
return apiResult;
|
||||||
}
|
}
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 取裝置類型下拉選單
|
/// 取裝置類型下拉選單
|
||||||
/// </summary>
|
/// </summary>
|
||||||
@ -209,6 +208,9 @@ namespace SolarPower.Controllers
|
|||||||
{
|
{
|
||||||
powerStation = await powerStationRepository.GetOneAsync(post.Id);
|
powerStation = await powerStationRepository.GetOneAsync(post.Id);
|
||||||
|
|
||||||
|
//取得該公司DB Name
|
||||||
|
var company = await companyRepository.GetOneAsync(myUser.CompanyId);
|
||||||
|
|
||||||
if (powerStation == null)
|
if (powerStation == null)
|
||||||
{
|
{
|
||||||
if (post.Id != 0)
|
if (post.Id != 0)
|
||||||
@ -219,20 +221,13 @@ namespace SolarPower.Controllers
|
|||||||
}
|
}
|
||||||
|
|
||||||
#region 新增電站資訊
|
#region 新增電站資訊
|
||||||
|
|
||||||
//取得電站該縣市的Zipcode
|
//取得電站該縣市的Zipcode
|
||||||
var zipcode = await powerStationRepository.GetCityAreaZipcodeAsync(post.AreaId);
|
var zipcode = await powerStationRepository.GetCityAreaZipcodeAsync(post.AreaId);
|
||||||
|
|
||||||
//取得電站該縣市地區最後流水號
|
//取得電站該縣市地區最後流水號
|
||||||
var lastSerialNumber = await powerStationRepository.GetLastSerialNumberByCityAreaIdAsync(post.CityId, post.AreaId);
|
var currentSerialNumber = await powerStationRepository.GetLastSerialNumberByCityAreaIdAsync(post.CityId, post.AreaId);
|
||||||
var tempSerialNumber = 0;
|
|
||||||
if (!string.IsNullOrEmpty(lastSerialNumber))
|
var tempSerialNumber = GetLastSerialNumber(currentSerialNumber);
|
||||||
{
|
|
||||||
tempSerialNumber = Convert.ToInt32(lastSerialNumber) + 1;
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
tempSerialNumber = 1;
|
|
||||||
}
|
|
||||||
|
|
||||||
var codeFormat = "{0}-{1}-{2}";
|
var codeFormat = "{0}-{1}-{2}";
|
||||||
|
|
||||||
@ -243,8 +238,8 @@ namespace SolarPower.Controllers
|
|||||||
AreaId = post.AreaId,
|
AreaId = post.AreaId,
|
||||||
Address = post.Address,
|
Address = post.Address,
|
||||||
Name = post.Name,
|
Name = post.Name,
|
||||||
Code = String.Format(codeFormat, zipcode.City, zipcode.Area, tempSerialNumber.ToString().PadLeft(4, '0')),
|
Code = String.Format(codeFormat, zipcode.City, zipcode.Area, tempSerialNumber),
|
||||||
SerialNumber = tempSerialNumber.ToString().PadLeft(4, '0'),
|
SerialNumber = tempSerialNumber,
|
||||||
IsEscrow = post.IsEscrow,
|
IsEscrow = post.IsEscrow,
|
||||||
EscrowName = post.EscrowName,
|
EscrowName = post.EscrowName,
|
||||||
ElectricityMeterAt = post.ElectricityMeterAt,
|
ElectricityMeterAt = post.ElectricityMeterAt,
|
||||||
@ -259,6 +254,7 @@ namespace SolarPower.Controllers
|
|||||||
PhotovoltaicPanelProductModel = post.PhotovoltaicPanelProductModel,
|
PhotovoltaicPanelProductModel = post.PhotovoltaicPanelProductModel,
|
||||||
PhotovoltaicPanelSpecification = post.PhotovoltaicPanelSpecification,
|
PhotovoltaicPanelSpecification = post.PhotovoltaicPanelSpecification,
|
||||||
PhotovoltaicPanelAmount = post.PhotovoltaicPanelAmount,
|
PhotovoltaicPanelAmount = post.PhotovoltaicPanelAmount,
|
||||||
|
SiteDB = company.SiteDB,
|
||||||
CreatedBy = myUser.Id
|
CreatedBy = myUser.Id
|
||||||
};
|
};
|
||||||
|
|
||||||
@ -285,10 +281,11 @@ namespace SolarPower.Controllers
|
|||||||
"PhotovoltaicPanelProductModel",
|
"PhotovoltaicPanelProductModel",
|
||||||
"PhotovoltaicPanelSpecification",
|
"PhotovoltaicPanelSpecification",
|
||||||
"PhotovoltaicPanelAmount",
|
"PhotovoltaicPanelAmount",
|
||||||
|
"SiteDB",
|
||||||
"CreatedBy"
|
"CreatedBy"
|
||||||
};
|
};
|
||||||
|
|
||||||
var id = await powerStationRepository.AddOneAsync(powerStation, properties);
|
var id = await powerStationRepository.AddOnePowerStationAsync(powerStation, properties, company.SiteDB);
|
||||||
|
|
||||||
#region 新增土地與房屋資訊
|
#region 新增土地與房屋資訊
|
||||||
var city = await powerStationRepository.GetOneCityByIdAsync(post.CityId);
|
var city = await powerStationRepository.GetOneCityByIdAsync(post.CityId);
|
||||||
@ -307,7 +304,7 @@ namespace SolarPower.Controllers
|
|||||||
"PowerStationId",
|
"PowerStationId",
|
||||||
"CreatedBy"
|
"CreatedBy"
|
||||||
};
|
};
|
||||||
await powerStationRepository.AddOneLandBuildingInfo(landBuilding, landBuildingProperties);
|
await powerStationRepository.AddOneLandBuildingInfo(landBuilding, landBuildingProperties, company.SiteDB);
|
||||||
#endregion
|
#endregion
|
||||||
|
|
||||||
#region 新增運維人員
|
#region 新增運維人員
|
||||||
@ -333,7 +330,7 @@ namespace SolarPower.Controllers
|
|||||||
"CreatedBy",
|
"CreatedBy",
|
||||||
};
|
};
|
||||||
|
|
||||||
await powerStationRepository.AddOperationPersonnelAsync(insertOperationPersonnels, properties);
|
await powerStationRepository.AddOperationPersonnelAsync(insertOperationPersonnels, operationPersonnelProperties, company.SiteDB);
|
||||||
}
|
}
|
||||||
#endregion
|
#endregion
|
||||||
|
|
||||||
@ -401,11 +398,11 @@ namespace SolarPower.Controllers
|
|||||||
"UpdatedBy",
|
"UpdatedBy",
|
||||||
};
|
};
|
||||||
|
|
||||||
await powerStationRepository.UpdatePowerStationInfo(update, properties);
|
await powerStationRepository.UpdatePowerStationInfo(update, properties, powerStation.SiteDB);
|
||||||
|
|
||||||
List<int> origOperationPersonnels = null; //原先的運維人員
|
List<int> origOperationPersonnels = null; //原先的運維人員
|
||||||
|
|
||||||
origOperationPersonnels = await powerStationRepository.GetOperationPersonnelIdsByPowerStatioinId(powerStation.Id);
|
origOperationPersonnels = await powerStationRepository.GetOperationPersonnelIdsByPowerStatioinId(powerStation.Id, powerStation.SiteDB);
|
||||||
|
|
||||||
//判斷新進來的資料是否要歸類到新增 or 刪除
|
//判斷新進來的資料是否要歸類到新增 or 刪除
|
||||||
#region 刪除電站運維人員編號
|
#region 刪除電站運維人員編號
|
||||||
@ -424,7 +421,7 @@ namespace SolarPower.Controllers
|
|||||||
}
|
}
|
||||||
|
|
||||||
//刪除運維人員
|
//刪除運維人員
|
||||||
await powerStationRepository.DeleteOperationPersonnel(deleteOperationPersonnels);
|
await powerStationRepository.DeleteOperationPersonnel(deleteOperationPersonnels, powerStation.SiteDB);
|
||||||
#endregion
|
#endregion
|
||||||
|
|
||||||
#region 新增電站運維人員
|
#region 新增電站運維人員
|
||||||
@ -452,7 +449,7 @@ namespace SolarPower.Controllers
|
|||||||
"CreatedBy",
|
"CreatedBy",
|
||||||
};
|
};
|
||||||
|
|
||||||
await powerStationRepository.AddOperationPersonnelAsync(insertOperationPersonnels, operationPersonnelProperties);
|
await powerStationRepository.AddOperationPersonnelAsync(insertOperationPersonnels, operationPersonnelProperties, powerStation.SiteDB);
|
||||||
}
|
}
|
||||||
#endregion
|
#endregion
|
||||||
|
|
||||||
@ -559,11 +556,13 @@ namespace SolarPower.Controllers
|
|||||||
"UpdatedBy",
|
"UpdatedBy",
|
||||||
};
|
};
|
||||||
|
|
||||||
await powerStationRepository.UpdateBoETPCInfo(update, properties);
|
await powerStationRepository.UpdateBoETPCInfo(update, properties, powerStation.SiteDB);
|
||||||
#endregion
|
#endregion
|
||||||
}
|
}
|
||||||
|
|
||||||
|
//重新取得資料
|
||||||
powerStation = await powerStationRepository.GetOneAsync(powerStation.Id);
|
powerStation = await powerStationRepository.GetOneAsync(powerStation.Id);
|
||||||
|
|
||||||
//替能源局換檔案路徑
|
//替能源局換檔案路徑
|
||||||
if (!string.IsNullOrEmpty(powerStation.BoEFile))
|
if (!string.IsNullOrEmpty(powerStation.BoEFile))
|
||||||
{
|
{
|
||||||
@ -619,7 +618,7 @@ namespace SolarPower.Controllers
|
|||||||
return apiResult;
|
return apiResult;
|
||||||
}
|
}
|
||||||
|
|
||||||
landBuilding = await powerStationRepository.GetOneLandBuildingInfo(post.Id);
|
landBuilding = await powerStationRepository.GetOneLandBuildingInfo(post.Id, powerStation.SiteDB);
|
||||||
|
|
||||||
if (landBuilding == null)
|
if (landBuilding == null)
|
||||||
{
|
{
|
||||||
@ -659,7 +658,7 @@ namespace SolarPower.Controllers
|
|||||||
"CreatedBy"
|
"CreatedBy"
|
||||||
};
|
};
|
||||||
|
|
||||||
var id = await powerStationRepository.AddOneLandBuildingInfo(landBuilding, properties);
|
var id = await powerStationRepository.AddOneLandBuildingInfo(landBuilding, properties, powerStation.SiteDB);
|
||||||
|
|
||||||
apiResult.Code = "0000";
|
apiResult.Code = "0000";
|
||||||
apiResult.Msg = "儲存成功";
|
apiResult.Msg = "儲存成功";
|
||||||
@ -695,7 +694,7 @@ namespace SolarPower.Controllers
|
|||||||
"UpdatedBy",
|
"UpdatedBy",
|
||||||
};
|
};
|
||||||
|
|
||||||
await powerStationRepository.UpdateLandBuildingInfo(update, properties);
|
await powerStationRepository.UpdateLandBuildingInfo(update, properties, powerStation.SiteDB);
|
||||||
|
|
||||||
apiResult.Code = "0000";
|
apiResult.Code = "0000";
|
||||||
apiResult.Msg = "修改成功";
|
apiResult.Msg = "修改成功";
|
||||||
@ -715,6 +714,7 @@ namespace SolarPower.Controllers
|
|||||||
|
|
||||||
return apiResult;
|
return apiResult;
|
||||||
}
|
}
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 新增/修改 運維資料
|
/// 新增/修改 運維資料
|
||||||
/// </summary>
|
/// </summary>
|
||||||
@ -723,8 +723,13 @@ namespace SolarPower.Controllers
|
|||||||
public async Task<ApiResult<string>> SaveOperation(OperationInfo post)
|
public async Task<ApiResult<string>> SaveOperation(OperationInfo post)
|
||||||
{
|
{
|
||||||
ApiResult<string> apiResult = new ApiResult<string>();
|
ApiResult<string> apiResult = new ApiResult<string>();
|
||||||
|
|
||||||
|
PowerStation powerStation = null;
|
||||||
|
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
|
powerStation = await powerStationRepository.GetOneAsync(post.PowerStationId);
|
||||||
|
|
||||||
if (post.Id == 0)
|
if (post.Id == 0)
|
||||||
{
|
{
|
||||||
OperationInfo operation = new OperationInfo()
|
OperationInfo operation = new OperationInfo()
|
||||||
@ -749,7 +754,7 @@ namespace SolarPower.Controllers
|
|||||||
"PowerStationId",
|
"PowerStationId",
|
||||||
"Type"
|
"Type"
|
||||||
};
|
};
|
||||||
await powerStationRepository.AddOperation(operation, properties);
|
await powerStationRepository.AddOperation(operation, properties, powerStation.SiteDB);
|
||||||
|
|
||||||
apiResult.Code = "0000";
|
apiResult.Code = "0000";
|
||||||
apiResult.Msg = "新增成功";
|
apiResult.Msg = "新增成功";
|
||||||
@ -778,7 +783,7 @@ namespace SolarPower.Controllers
|
|||||||
"PowerStationId",
|
"PowerStationId",
|
||||||
"Type"
|
"Type"
|
||||||
};
|
};
|
||||||
await powerStationRepository.UpdateOperation(operation, properties);
|
await powerStationRepository.UpdateOperation(operation, properties, powerStation.SiteDB);
|
||||||
apiResult.Code = "0000";
|
apiResult.Code = "0000";
|
||||||
apiResult.Msg = "儲存成功";
|
apiResult.Msg = "儲存成功";
|
||||||
}
|
}
|
||||||
@ -787,11 +792,15 @@ namespace SolarPower.Controllers
|
|||||||
catch (Exception exception)
|
catch (Exception exception)
|
||||||
{
|
{
|
||||||
apiResult.Code = "9999";
|
apiResult.Code = "9999";
|
||||||
apiResult.Msg = exception.ToString();
|
apiResult.Msg = errorCode.GetString(apiResult.Code);
|
||||||
|
string json = System.Text.Json.JsonSerializer.Serialize(post);
|
||||||
|
Logger.LogError("【" + controllerName + "/" + actionName + "】" + json);
|
||||||
|
Logger.LogError("【" + controllerName + "/" + actionName + "】" + exception.Message);
|
||||||
}
|
}
|
||||||
|
|
||||||
return apiResult;
|
return apiResult;
|
||||||
}
|
}
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 運維資料DataTable
|
/// 運維資料DataTable
|
||||||
/// </summary>
|
/// </summary>
|
||||||
@ -802,10 +811,15 @@ namespace SolarPower.Controllers
|
|||||||
|
|
||||||
List<OperationTable> operationTable = new List<OperationTable>();
|
List<OperationTable> operationTable = new List<OperationTable>();
|
||||||
ApiResult<List<OperationTable>> apiResult = new ApiResult<List<OperationTable>>();
|
ApiResult<List<OperationTable>> apiResult = new ApiResult<List<OperationTable>>();
|
||||||
|
|
||||||
|
PowerStation powerStation = null;
|
||||||
|
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
apiResult.Code = "0000";
|
|
||||||
operationTable = await powerStationRepository.OperationTable(stationId);
|
powerStation = await powerStationRepository.GetOneAsync(stationId);
|
||||||
|
|
||||||
|
operationTable = await powerStationRepository.OperationTable(stationId, powerStation.SiteDB);
|
||||||
foreach (OperationTable a in operationTable)
|
foreach (OperationTable a in operationTable)
|
||||||
{
|
{
|
||||||
a.Function = @"
|
a.Function = @"
|
||||||
@ -825,13 +839,15 @@ namespace SolarPower.Controllers
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
apiResult.Code = "0000";
|
||||||
apiResult.Data = operationTable;
|
apiResult.Data = operationTable;
|
||||||
|
|
||||||
}
|
}
|
||||||
catch (Exception exception)
|
catch (Exception exception)
|
||||||
{
|
{
|
||||||
apiResult.Code = "9999";
|
apiResult.Code = "9999";
|
||||||
apiResult.Msg = exception.ToString();
|
apiResult.Msg = errorCode.GetString(apiResult.Code);
|
||||||
|
Logger.LogError("【" + controllerName + "/" + actionName + "】" + "stationId = " + stationId);
|
||||||
|
Logger.LogError("【" + controllerName + "/" + actionName + "】" + exception.Message);
|
||||||
}
|
}
|
||||||
var result = Json(new
|
var result = Json(new
|
||||||
{
|
{
|
||||||
@ -840,41 +856,52 @@ namespace SolarPower.Controllers
|
|||||||
|
|
||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 取得一筆 運維 資料
|
/// 取得一筆 運維 資料
|
||||||
/// </summary>
|
/// </summary>
|
||||||
/// <param name="id"></param>
|
/// <param name="post"></param>
|
||||||
/// <returns></returns>
|
/// <returns></returns>
|
||||||
public async Task<ApiResult<OperationInfo>> GetOneOperation(int id)
|
public async Task<ApiResult<OperationInfo>> GetOneOperation(PostPowerStationIdAndSelectedId post)
|
||||||
{
|
{
|
||||||
OperationInfo operation = new OperationInfo();
|
|
||||||
ApiResult<OperationInfo> apiResult = new ApiResult<OperationInfo>();
|
ApiResult<OperationInfo> apiResult = new ApiResult<OperationInfo>();
|
||||||
|
|
||||||
|
PowerStation powerStation = null;
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
|
powerStation = await powerStationRepository.GetOneAsync(post.PowerStationId);
|
||||||
|
|
||||||
apiResult.Code = "0000";
|
apiResult.Code = "0000";
|
||||||
operation = await powerStationRepository.OneOperationInfo(id);
|
var operation = await powerStationRepository.OneOperationInfo(post.SelectedId, powerStation.SiteDB);
|
||||||
apiResult.Data = operation;
|
apiResult.Data = operation;
|
||||||
}
|
}
|
||||||
catch (Exception exception)
|
catch (Exception exception)
|
||||||
{
|
{
|
||||||
apiResult.Code = "9999";
|
apiResult.Code = "9999";
|
||||||
apiResult.Msg = exception.ToString();
|
apiResult.Msg = errorCode.GetString(apiResult.Code);
|
||||||
|
string json = System.Text.Json.JsonSerializer.Serialize(post);
|
||||||
|
Logger.LogError("【" + controllerName + "/" + actionName + "】" + json);
|
||||||
|
Logger.LogError("【" + controllerName + "/" + actionName + "】" + exception.Message);
|
||||||
}
|
}
|
||||||
|
|
||||||
return apiResult;
|
return apiResult;
|
||||||
}
|
}
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 刪除 運維 資料
|
/// 刪除 運維 資料
|
||||||
/// </summary>
|
/// </summary>
|
||||||
/// <param name="id"></param>
|
/// <param name="id"></param>
|
||||||
/// <returns></returns>
|
/// <returns></returns>
|
||||||
public async Task<ApiResult<string>> DeleteOneOperation(int id)
|
public async Task<ApiResult<string>> DeleteOneOperation(PostPowerStationIdAndSelectedId post)
|
||||||
{
|
{
|
||||||
ApiResult<string> apiResult = new ApiResult<string>();
|
ApiResult<string> apiResult = new ApiResult<string>();
|
||||||
OperationInfo operation = new OperationInfo();
|
|
||||||
|
PowerStation powerStation = null;
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
operation = await powerStationRepository.OneOperationInfo(id);
|
powerStation = await powerStationRepository.GetOneAsync(post.PowerStationId);
|
||||||
|
|
||||||
|
var operation = await powerStationRepository.OneOperationInfo(post.SelectedId, powerStation.SiteDB);
|
||||||
|
|
||||||
if (operation == null)
|
if (operation == null)
|
||||||
{
|
{
|
||||||
@ -883,7 +910,7 @@ namespace SolarPower.Controllers
|
|||||||
return apiResult;
|
return apiResult;
|
||||||
}
|
}
|
||||||
|
|
||||||
await powerStationRepository.DeleteOneOtherTable(operation.Id, "operation_firm");
|
await powerStationRepository.DeleteOneByIdWithCustomDBNameAndTable(operation.Id, powerStation.SiteDB, "operation_firm");
|
||||||
|
|
||||||
apiResult.Code = "0000";
|
apiResult.Code = "0000";
|
||||||
apiResult.Msg = "刪除成功";
|
apiResult.Msg = "刪除成功";
|
||||||
@ -892,12 +919,14 @@ namespace SolarPower.Controllers
|
|||||||
{
|
{
|
||||||
apiResult.Code = "9999";
|
apiResult.Code = "9999";
|
||||||
apiResult.Msg = errorCode.GetString(apiResult.Code);
|
apiResult.Msg = errorCode.GetString(apiResult.Code);
|
||||||
Logger.LogError("【" + controllerName + "/" + actionName + "】" + "Id=" + id);
|
string json = System.Text.Json.JsonSerializer.Serialize(post);
|
||||||
|
Logger.LogError("【" + controllerName + "/" + actionName + "】" + json);
|
||||||
Logger.LogError("【" + controllerName + "/" + actionName + "】" + exception.Message);
|
Logger.LogError("【" + controllerName + "/" + actionName + "】" + exception.Message);
|
||||||
}
|
}
|
||||||
|
|
||||||
return apiResult;
|
return apiResult;
|
||||||
}
|
}
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 新增 / 修改 裝置資料
|
/// 新增 / 修改 裝置資料
|
||||||
/// </summary>
|
/// </summary>
|
||||||
@ -1034,21 +1063,24 @@ namespace SolarPower.Controllers
|
|||||||
});
|
});
|
||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 軟刪除單一土地房屋資訊
|
/// 軟刪除單一土地房屋資訊
|
||||||
/// </summary>
|
/// </summary>
|
||||||
/// <param name="id"></param>
|
/// <param name="id"></param>
|
||||||
/// <returns></returns>
|
/// <returns></returns>
|
||||||
[HttpPost]
|
[HttpPost]
|
||||||
public async Task<ApiResult<PowerStation>> DeleteLandBuildingInfo(int id)
|
public async Task<ApiResult<PowerStation>> DeleteLandBuildingInfo(PostPowerStationIdAndSelectedId post)
|
||||||
{
|
{
|
||||||
ApiResult<PowerStation> apiResult = new ApiResult<PowerStation>();
|
ApiResult<PowerStation> apiResult = new ApiResult<PowerStation>();
|
||||||
|
|
||||||
|
PowerStation powerStation = null;
|
||||||
LandBuilding landBuilding;
|
LandBuilding landBuilding;
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
landBuilding = await powerStationRepository.GetOneLandBuildingInfo(id);
|
powerStation = await powerStationRepository.GetOneAsync(post.PowerStationId);
|
||||||
|
|
||||||
|
landBuilding = await powerStationRepository.GetOneLandBuildingInfo(post.SelectedId, powerStation.SiteDB);
|
||||||
|
|
||||||
if (landBuilding == null)
|
if (landBuilding == null)
|
||||||
{
|
{
|
||||||
@ -1057,7 +1089,7 @@ namespace SolarPower.Controllers
|
|||||||
return apiResult;
|
return apiResult;
|
||||||
}
|
}
|
||||||
|
|
||||||
await powerStationRepository.DeleteOneLandBuildingInfo(landBuilding.Id);
|
await powerStationRepository.DeleteOneLandBuildingInfo(landBuilding.Id, powerStation.SiteDB);
|
||||||
|
|
||||||
apiResult.Code = "0000";
|
apiResult.Code = "0000";
|
||||||
apiResult.Msg = "刪除成功";
|
apiResult.Msg = "刪除成功";
|
||||||
@ -1067,12 +1099,14 @@ namespace SolarPower.Controllers
|
|||||||
{
|
{
|
||||||
apiResult.Code = "9999";
|
apiResult.Code = "9999";
|
||||||
apiResult.Msg = errorCode.GetString(apiResult.Code);
|
apiResult.Msg = errorCode.GetString(apiResult.Code);
|
||||||
Logger.LogError("【" + controllerName + "/" + actionName + "】" + "Id=" + id);
|
string json = System.Text.Json.JsonSerializer.Serialize(post);
|
||||||
|
Logger.LogError("【" + controllerName + "/" + actionName + "】" + json);
|
||||||
Logger.LogError("【" + controllerName + "/" + actionName + "】" + exception.Message);
|
Logger.LogError("【" + controllerName + "/" + actionName + "】" + exception.Message);
|
||||||
}
|
}
|
||||||
|
|
||||||
return apiResult;
|
return apiResult;
|
||||||
}
|
}
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 取單一設備資料
|
/// 取單一設備資料
|
||||||
/// </summary>
|
/// </summary>
|
||||||
@ -1096,6 +1130,7 @@ namespace SolarPower.Controllers
|
|||||||
|
|
||||||
return apiResult;
|
return apiResult;
|
||||||
}
|
}
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 刪除設備
|
/// 刪除設備
|
||||||
/// </summary>
|
/// </summary>
|
||||||
@ -1116,7 +1151,8 @@ namespace SolarPower.Controllers
|
|||||||
return apiResult;
|
return apiResult;
|
||||||
}
|
}
|
||||||
|
|
||||||
await powerStationRepository.DeleteOneOtherTable(Device.Id, "device");
|
//TODO
|
||||||
|
//await powerStationRepository.DeleteOneByIdWithCustomDBNameAndTable(Device.Id, "device");
|
||||||
|
|
||||||
apiResult.Code = "0000";
|
apiResult.Code = "0000";
|
||||||
apiResult.Msg = "刪除成功";
|
apiResult.Msg = "刪除成功";
|
||||||
@ -1131,6 +1167,7 @@ namespace SolarPower.Controllers
|
|||||||
|
|
||||||
return apiResult;
|
return apiResult;
|
||||||
}
|
}
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 新增/修改異常
|
/// 新增/修改異常
|
||||||
/// </summary>
|
/// </summary>
|
||||||
@ -1287,7 +1324,8 @@ namespace SolarPower.Controllers
|
|||||||
return apiResult;
|
return apiResult;
|
||||||
}
|
}
|
||||||
|
|
||||||
await powerStationRepository.DeleteOneOtherTable(Exception.Id, "power_station_exception");
|
//TODO
|
||||||
|
//await powerStationRepository.DeleteOneOtherTable(Exception.Id, "power_station_exception");
|
||||||
|
|
||||||
apiResult.Code = "0000";
|
apiResult.Code = "0000";
|
||||||
apiResult.Msg = "刪除成功";
|
apiResult.Msg = "刪除成功";
|
||||||
@ -1303,7 +1341,6 @@ namespace SolarPower.Controllers
|
|||||||
return apiResult;
|
return apiResult;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 取得所有電站圖片
|
/// 取得所有電站圖片
|
||||||
/// </summary>
|
/// </summary>
|
||||||
@ -1328,7 +1365,15 @@ namespace SolarPower.Controllers
|
|||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
powerStationImages = await powerStationRepository.GetAllPowerStationImageAsync(powerStationId);
|
|
||||||
|
if(powerStation.CompanyId != myUser.CompanyId)
|
||||||
|
{
|
||||||
|
apiResult.Code = "9993";
|
||||||
|
apiResult.Msg = errorCode.GetString(apiResult.Code);
|
||||||
|
return apiResult;
|
||||||
|
}
|
||||||
|
|
||||||
|
powerStationImages = await powerStationRepository.GetAllPowerStationImageAsync(powerStationId, powerStation.SiteDB);
|
||||||
|
|
||||||
foreach (var stationImage in powerStationImages)
|
foreach (var stationImage in powerStationImages)
|
||||||
{
|
{
|
||||||
@ -1424,13 +1469,13 @@ namespace SolarPower.Controllers
|
|||||||
"CreatedBy"
|
"CreatedBy"
|
||||||
};
|
};
|
||||||
|
|
||||||
await powerStationRepository.AddPowerStationImageAsync(powerStationImages, properties);
|
await powerStationRepository.AddPowerStationImageAsync(powerStationImages, properties, powerStation.SiteDB);
|
||||||
}
|
}
|
||||||
#endregion
|
#endregion
|
||||||
|
|
||||||
#region 重新取得圖片資訊
|
#region 重新取得圖片資訊
|
||||||
powerStationImages = null;
|
powerStationImages = null;
|
||||||
powerStationImages = await powerStationRepository.GetAllPowerStationImageAsync(powerStation.Id);
|
powerStationImages = await powerStationRepository.GetAllPowerStationImageAsync(powerStation.Id, powerStation.SiteDB);
|
||||||
|
|
||||||
foreach (var stationImage in powerStationImages)
|
foreach (var stationImage in powerStationImages)
|
||||||
{
|
{
|
||||||
@ -1460,15 +1505,17 @@ namespace SolarPower.Controllers
|
|||||||
/// </summary>
|
/// </summary>
|
||||||
/// <param name="id"></param>
|
/// <param name="id"></param>
|
||||||
/// <returns></returns>
|
/// <returns></returns>
|
||||||
public async Task<ApiResult<string>> DeletePowerStationImage(int id)
|
public async Task<ApiResult<string>> DeletePowerStationImage(PostPowerStationIdAndSelectedId post)
|
||||||
{
|
{
|
||||||
ApiResult<string> apiResult = new ApiResult<string>();
|
ApiResult<string> apiResult = new ApiResult<string>();
|
||||||
|
|
||||||
|
PowerStation powerStation;
|
||||||
PowerStationImage powerStationImage;
|
PowerStationImage powerStationImage;
|
||||||
|
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
powerStationImage = await powerStationRepository.GetOnePowerStationImageAsync(id);
|
powerStation = await powerStationRepository.GetOneAsync(post.PowerStationId);
|
||||||
|
|
||||||
|
powerStationImage = await powerStationRepository.GetOnePowerStationImageAsync(post.SelectedId, powerStation.SiteDB);
|
||||||
|
|
||||||
if (powerStationImage == null)
|
if (powerStationImage == null)
|
||||||
{
|
{
|
||||||
@ -1477,7 +1524,14 @@ namespace SolarPower.Controllers
|
|||||||
return apiResult;
|
return apiResult;
|
||||||
}
|
}
|
||||||
|
|
||||||
await powerStationRepository.DeleteOnePowerStationImage(id);
|
if (powerStation.CompanyId != myUser.CompanyId)
|
||||||
|
{
|
||||||
|
apiResult.Code = "9993";
|
||||||
|
apiResult.Msg = errorCode.GetString(apiResult.Code);
|
||||||
|
return apiResult;
|
||||||
|
}
|
||||||
|
|
||||||
|
await powerStationRepository.DeleteOnePowerStationImage(powerStationImage.Id, powerStation.SiteDB);
|
||||||
|
|
||||||
apiResult.Code = "0000";
|
apiResult.Code = "0000";
|
||||||
apiResult.Msg = "刪除成功";
|
apiResult.Msg = "刪除成功";
|
||||||
@ -1486,7 +1540,8 @@ namespace SolarPower.Controllers
|
|||||||
{
|
{
|
||||||
apiResult.Code = "9999";
|
apiResult.Code = "9999";
|
||||||
apiResult.Msg = errorCode.GetString(apiResult.Code);
|
apiResult.Msg = errorCode.GetString(apiResult.Code);
|
||||||
Logger.LogError("【" + controllerName + "/" + actionName + "】" + "Id=" + id);
|
string json = System.Text.Json.JsonSerializer.Serialize(post);
|
||||||
|
Logger.LogError("【" + controllerName + "/" + actionName + "】" + json);
|
||||||
Logger.LogError("【" + controllerName + "/" + actionName + "】" + exception.Message);
|
Logger.LogError("【" + controllerName + "/" + actionName + "】" + exception.Message);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -1502,11 +1557,13 @@ namespace SolarPower.Controllers
|
|||||||
{
|
{
|
||||||
ApiResult<string> apiResult = new ApiResult<string>();
|
ApiResult<string> apiResult = new ApiResult<string>();
|
||||||
|
|
||||||
|
PowerStation powerStation;
|
||||||
PowerStationImage powerStationImage;
|
PowerStationImage powerStationImage;
|
||||||
|
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
powerStationImage = await powerStationRepository.GetOnePowerStationImageAsync(post.TargetImageId);
|
powerStation = await powerStationRepository.GetOneAsync(post.PowerStationId);
|
||||||
|
|
||||||
|
powerStationImage = await powerStationRepository.GetOnePowerStationImageAsync(post.TargetImageId, powerStation.SiteDB);
|
||||||
|
|
||||||
if (powerStationImage == null)
|
if (powerStationImage == null)
|
||||||
{
|
{
|
||||||
@ -1515,11 +1572,18 @@ namespace SolarPower.Controllers
|
|||||||
return apiResult;
|
return apiResult;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (powerStation.CompanyId != myUser.CompanyId)
|
||||||
|
{
|
||||||
|
apiResult.Code = "9993";
|
||||||
|
apiResult.Msg = errorCode.GetString(apiResult.Code);
|
||||||
|
return apiResult;
|
||||||
|
}
|
||||||
|
|
||||||
UpdataPowerStationImage updata = new UpdataPowerStationImage();
|
UpdataPowerStationImage updata = new UpdataPowerStationImage();
|
||||||
List<string> properties = new List<string>();
|
List<string> properties = new List<string>();
|
||||||
|
|
||||||
//找出原本的圖片
|
//找出原本的圖片
|
||||||
var origMainDisplay = await powerStationRepository.GetMainDisplayAsync(post.PowerStationId);
|
var origMainDisplay = await powerStationRepository.GetMainDisplayAsync(post.PowerStationId, powerStation.SiteDB);
|
||||||
if (origMainDisplay != null)
|
if (origMainDisplay != null)
|
||||||
{
|
{
|
||||||
updata = new UpdataPowerStationImage()
|
updata = new UpdataPowerStationImage()
|
||||||
@ -1536,7 +1600,7 @@ namespace SolarPower.Controllers
|
|||||||
"UpdatedBy"
|
"UpdatedBy"
|
||||||
};
|
};
|
||||||
|
|
||||||
await powerStationRepository.UpdatePowerStationImage(updata, properties);
|
await powerStationRepository.UpdatePowerStationImage(updata, properties, powerStation.SiteDB);
|
||||||
}
|
}
|
||||||
|
|
||||||
// 更新被選擇的圖維卡片顯示圖
|
// 更新被選擇的圖維卡片顯示圖
|
||||||
@ -1554,7 +1618,7 @@ namespace SolarPower.Controllers
|
|||||||
"UpdatedBy"
|
"UpdatedBy"
|
||||||
};
|
};
|
||||||
|
|
||||||
await powerStationRepository.UpdatePowerStationImage(updata, properties);
|
await powerStationRepository.UpdatePowerStationImage(updata, properties, powerStation.SiteDB);
|
||||||
|
|
||||||
apiResult.Code = "0000";
|
apiResult.Code = "0000";
|
||||||
apiResult.Msg = "修改卡片顯示圖成功";
|
apiResult.Msg = "修改卡片顯示圖成功";
|
||||||
@ -1596,7 +1660,14 @@ namespace SolarPower.Controllers
|
|||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
powerStationSingleLines = await powerStationRepository.GetAllPowerStationSingleLineAsync(powerStationId);
|
if (powerStation.CompanyId != myUser.CompanyId)
|
||||||
|
{
|
||||||
|
apiResult.Code = "9993";
|
||||||
|
apiResult.Msg = errorCode.GetString(apiResult.Code);
|
||||||
|
return apiResult;
|
||||||
|
}
|
||||||
|
|
||||||
|
powerStationSingleLines = await powerStationRepository.GetAllPowerStationSingleLineAsync(powerStationId, powerStation.SiteDB);
|
||||||
|
|
||||||
foreach (var singleLine in powerStationSingleLines)
|
foreach (var singleLine in powerStationSingleLines)
|
||||||
{
|
{
|
||||||
@ -1692,13 +1763,13 @@ namespace SolarPower.Controllers
|
|||||||
"CreatedBy"
|
"CreatedBy"
|
||||||
};
|
};
|
||||||
|
|
||||||
await powerStationRepository.AddPowerStationSingleLineAsync(powerStationSingleLines, properties);
|
await powerStationRepository.AddPowerStationSingleLineAsync(powerStationSingleLines, properties, powerStation.SiteDB);
|
||||||
}
|
}
|
||||||
#endregion
|
#endregion
|
||||||
|
|
||||||
#region 重新取得圖片資訊
|
#region 重新取得圖片資訊
|
||||||
powerStationSingleLines = null;
|
powerStationSingleLines = null;
|
||||||
powerStationSingleLines = await powerStationRepository.GetAllPowerStationSingleLineAsync(powerStation.Id);
|
powerStationSingleLines = await powerStationRepository.GetAllPowerStationSingleLineAsync(powerStation.Id, powerStation.SiteDB);
|
||||||
|
|
||||||
foreach (var singleLine in powerStationSingleLines)
|
foreach (var singleLine in powerStationSingleLines)
|
||||||
{
|
{
|
||||||
@ -1728,15 +1799,25 @@ namespace SolarPower.Controllers
|
|||||||
/// </summary>
|
/// </summary>
|
||||||
/// <param name="id"></param>
|
/// <param name="id"></param>
|
||||||
/// <returns></returns>
|
/// <returns></returns>
|
||||||
public async Task<ApiResult<string>> DeletePowerStationSingleLine(int id)
|
public async Task<ApiResult<string>> DeletePowerStationSingleLine(PostPowerStationIdAndSelectedId post)
|
||||||
{
|
{
|
||||||
ApiResult<string> apiResult = new ApiResult<string>();
|
ApiResult<string> apiResult = new ApiResult<string>();
|
||||||
|
|
||||||
|
PowerStation powerStation;
|
||||||
PowerStationSingleLine powerStationSingleLine;
|
PowerStationSingleLine powerStationSingleLine;
|
||||||
|
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
powerStationSingleLine = await powerStationRepository.GetOnePowerStationSingleLineAsync(id);
|
powerStation = await powerStationRepository.GetOneAsync(post.PowerStationId);
|
||||||
|
|
||||||
|
if (powerStation.CompanyId != myUser.CompanyId)
|
||||||
|
{
|
||||||
|
apiResult.Code = "9993";
|
||||||
|
apiResult.Msg = errorCode.GetString(apiResult.Code);
|
||||||
|
return apiResult;
|
||||||
|
}
|
||||||
|
|
||||||
|
powerStationSingleLine = await powerStationRepository.GetOnePowerStationSingleLineAsync(post.SelectedId, powerStation.SiteDB);
|
||||||
|
|
||||||
if (powerStationSingleLine == null)
|
if (powerStationSingleLine == null)
|
||||||
{
|
{
|
||||||
@ -1745,7 +1826,7 @@ namespace SolarPower.Controllers
|
|||||||
return apiResult;
|
return apiResult;
|
||||||
}
|
}
|
||||||
|
|
||||||
await powerStationRepository.DeleteOnePowerStationSingleLine(id);
|
await powerStationRepository.DeleteOnePowerStationSingleLine(powerStationSingleLine.Id, powerStation.SiteDB);
|
||||||
|
|
||||||
apiResult.Code = "0000";
|
apiResult.Code = "0000";
|
||||||
apiResult.Msg = "刪除成功";
|
apiResult.Msg = "刪除成功";
|
||||||
@ -1754,10 +1835,33 @@ namespace SolarPower.Controllers
|
|||||||
{
|
{
|
||||||
apiResult.Code = "9999";
|
apiResult.Code = "9999";
|
||||||
apiResult.Msg = errorCode.GetString(apiResult.Code);
|
apiResult.Msg = errorCode.GetString(apiResult.Code);
|
||||||
Logger.LogError("【" + controllerName + "/" + actionName + "】" + "Id=" + id);
|
string json = System.Text.Json.JsonSerializer.Serialize(post);
|
||||||
|
Logger.LogError("【" + controllerName + "/" + actionName + "】" + json);
|
||||||
Logger.LogError("【" + controllerName + "/" + actionName + "】" + exception.Message);
|
Logger.LogError("【" + controllerName + "/" + actionName + "】" + exception.Message);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
return apiResult;
|
||||||
|
}
|
||||||
|
/// <summary>
|
||||||
|
/// 取得該使用者可看的所有電站分佈縣市以及各縣市電站數量
|
||||||
|
/// </summary>
|
||||||
|
/// <returns></returns>
|
||||||
|
public async Task<ApiResult<List<SolarCityAmount>>> GetSolarCitySummary()
|
||||||
|
{
|
||||||
|
ApiResult<List<SolarCityAmount>> apiResult = new ApiResult<List<SolarCityAmount>>();
|
||||||
|
List<SolarCityAmount> solaramount = new List<SolarCityAmount>();
|
||||||
|
try
|
||||||
|
{
|
||||||
|
apiResult.Code = "0000";
|
||||||
|
solaramount = await powerStationRepository.GetSolarCitySummary(myUser);
|
||||||
|
apiResult.Data = solaramount;
|
||||||
|
}
|
||||||
|
catch (Exception exception)
|
||||||
|
{
|
||||||
|
apiResult.Code = "9999";
|
||||||
|
apiResult.Msg = exception.ToString();
|
||||||
|
}
|
||||||
|
|
||||||
return apiResult;
|
return apiResult;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -32,12 +32,12 @@ namespace SolarPower.Helper
|
|||||||
EDFunction ed = new EDFunction();
|
EDFunction ed = new EDFunction();
|
||||||
|
|
||||||
var serverStr = ed.AESDecrypt(dbConfig.Server);
|
var serverStr = ed.AESDecrypt(dbConfig.Server);
|
||||||
var databaseStr = ed.DESDecrypt(dbConfig.Database);
|
var databaseStr = ed.AESDecrypt(dbConfig.Database);
|
||||||
var rootStr = ed.DESDecrypt(dbConfig.Root);
|
var rootStr = ed.AESDecrypt(dbConfig.Root);
|
||||||
var passwordStr = ed.DESDecrypt(dbConfig.Password);
|
var passwordStr = ed.AESDecrypt(dbConfig.Password);
|
||||||
|
|
||||||
//var connStr = $"server={serverStr};database={databaseStr};user={rootStr};password={passwordStr};charset=utf8;";
|
//var connStr = $"server={serverStr};database={databaseStr};user={rootStr};password={passwordStr};charset=utf8;";
|
||||||
var connStr = @"server=127.0.0.1;port=3308;database=solar_power;user=root;password=00000000;charset=utf8;";
|
var connStr = @"server=127.0.0.1;port=3306;database=solar_power;user=root;password=000000;charset=utf8;";
|
||||||
|
|
||||||
this._connectionString = connStr;
|
this._connectionString = connStr;
|
||||||
}
|
}
|
||||||
|
|||||||
@ -22,6 +22,7 @@ namespace SolarPower.Models.Company
|
|||||||
public string Phone { get; set; }
|
public string Phone { get; set; }
|
||||||
public string Address { get; set; }
|
public string Address { get; set; }
|
||||||
public int RegisterUpperLimit { get; set; } //註冊上限
|
public int RegisterUpperLimit { get; set; } //註冊上限
|
||||||
|
public string SiteDB { get; set; } //公司各自DB
|
||||||
}
|
}
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
@ -51,7 +52,7 @@ namespace SolarPower.Models.Company
|
|||||||
public string TaxIDNumber { get; set; } //統一編號
|
public string TaxIDNumber { get; set; } //統一編號
|
||||||
public string Phone { get; set; } //電話
|
public string Phone { get; set; } //電話
|
||||||
public string Address { get; set; }
|
public string Address { get; set; }
|
||||||
public string RelationalDB { get; set; } //關聯的公司自己資料庫
|
public string SiteDB { get; set; } //關聯的公司自己資料庫
|
||||||
public int RegisterUpperLimit { get; set; } //註冊上限
|
public int RegisterUpperLimit { get; set; } //註冊上限
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@ -63,4 +63,10 @@ namespace SolarPower.Models
|
|||||||
public byte Layer { get; set; } //角色層級
|
public byte Layer { get; set; } //角色層級
|
||||||
public List<string> Auths { get; set; } //可操作頁面
|
public List<string> Auths { get; set; } //可操作頁面
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public class Variable
|
||||||
|
{
|
||||||
|
public string Name { get; set; }
|
||||||
|
public string Value { get; set; }
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -101,6 +101,17 @@ namespace SolarPower.Models.PowerStation
|
|||||||
set { tpcPurchaseElectricityAt = value; }
|
set { tpcPurchaseElectricityAt = value; }
|
||||||
}
|
}
|
||||||
public List<LandBuilding> LandBuildings { get; set; } //土地房屋資料
|
public List<LandBuilding> LandBuildings { get; set; } //土地房屋資料
|
||||||
|
public byte SolarType { get; set; } //電站類型
|
||||||
|
public double kwh { get; set; } //
|
||||||
|
public double Today_kwh { get; set; } //今日發電量
|
||||||
|
public double Total_kwh { get; set; } //總發電量
|
||||||
|
public double kwhkwp { get; set; }
|
||||||
|
public double PR { get; set; }
|
||||||
|
public double MP { get; set; }
|
||||||
|
public double SolarHour { get; set; } //總運轉小時
|
||||||
|
public string SiteDB { get; set; } //電站 DB name: solar_com
|
||||||
|
public string TodayWeather { get; set; } //今日天氣
|
||||||
|
public double TodayWeatherTemp { get; set; } //今日溫度
|
||||||
public string CreatorName { get; set; } //創建者名稱
|
public string CreatorName { get; set; } //創建者名稱
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -288,9 +299,13 @@ namespace SolarPower.Models.PowerStation
|
|||||||
public string Email { get; set; }//Email
|
public string Email { get; set; }//Email
|
||||||
}
|
}
|
||||||
|
|
||||||
public class OperationStationId
|
/// <summary>
|
||||||
|
/// 針對電站管理的運維、設備及異常設定
|
||||||
|
/// </summary>
|
||||||
|
public class PostPowerStationIdAndSelectedId
|
||||||
{
|
{
|
||||||
public int stationId { get; set; }
|
public int PowerStationId { get; set; }
|
||||||
|
public int SelectedId { get; set; }
|
||||||
}
|
}
|
||||||
|
|
||||||
public class OperationTable : OperationInfo
|
public class OperationTable : OperationInfo
|
||||||
@ -442,4 +457,14 @@ namespace SolarPower.Models.PowerStation
|
|||||||
public string Image { get; set; }
|
public string Image { get; set; }
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 電站縣市分佈
|
||||||
|
/// </summary>
|
||||||
|
public class SolarCityAmount
|
||||||
|
{
|
||||||
|
public int CityId { get; set; }
|
||||||
|
public string City { get; set; }
|
||||||
|
public int Amount { get; set; }
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@ -20,7 +20,6 @@ namespace SolarPower.Repository.Implement
|
|||||||
tableName = "company";
|
tableName = "company";
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 取得下拉式公司選單,須為Deleted: 0
|
/// 取得下拉式公司選單,須為Deleted: 0
|
||||||
/// </summary>
|
/// </summary>
|
||||||
@ -413,9 +412,9 @@ namespace SolarPower.Repository.Implement
|
|||||||
/// <summary>
|
/// <summary>
|
||||||
/// 創建公司自己的DB
|
/// 創建公司自己的DB
|
||||||
/// </summary>
|
/// </summary>
|
||||||
/// <param name="dbName"></param>
|
/// <param name="db_name"></param>
|
||||||
/// <returns></returns>
|
/// <returns></returns>
|
||||||
public async Task CreatCompanyDB(string dbName)
|
public async Task CreatCompanyDB(string db_name)
|
||||||
{
|
{
|
||||||
using (IDbConnection conn = this._databaseHelper.GetConnection())
|
using (IDbConnection conn = this._databaseHelper.GetConnection())
|
||||||
{
|
{
|
||||||
@ -425,9 +424,9 @@ namespace SolarPower.Repository.Implement
|
|||||||
try
|
try
|
||||||
{
|
{
|
||||||
var sql = @$"
|
var sql = @$"
|
||||||
-- 傾印 資料庫結構
|
-- 傾印 子資料庫結構
|
||||||
CREATE DATABASE IF NOT EXISTS `{dbName}`;
|
CREATE DATABASE IF NOT EXISTS `{db_name}`;
|
||||||
USE `{dbName}`;
|
USE `{db_name}`;
|
||||||
|
|
||||||
-- 傾印 資料表 device 結構
|
-- 傾印 資料表 device 結構
|
||||||
CREATE TABLE IF NOT EXISTS `device` (
|
CREATE TABLE IF NOT EXISTS `device` (
|
||||||
@ -437,6 +436,7 @@ namespace SolarPower.Repository.Implement
|
|||||||
`PowerStationId` int(10) unsigned NOT NULL DEFAULT 0 COMMENT '所屬電站編號',
|
`PowerStationId` int(10) unsigned NOT NULL DEFAULT 0 COMMENT '所屬電站編號',
|
||||||
`Name` varchar(50) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '名稱',
|
`Name` varchar(50) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '名稱',
|
||||||
`Type` varchar(50) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '類型',
|
`Type` varchar(50) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '類型',
|
||||||
|
`TypeName` varchar(50) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '類型名稱',
|
||||||
`Brand` varchar(50) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '廠牌',
|
`Brand` varchar(50) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '廠牌',
|
||||||
`ProductModel` varchar(100) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '型號',
|
`ProductModel` varchar(100) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '型號',
|
||||||
`DBName` varchar(100) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
|
`DBName` varchar(100) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
|
||||||
@ -463,7 +463,7 @@ namespace SolarPower.Repository.Implement
|
|||||||
`Purpose` varchar(50) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '房屋用途',
|
`Purpose` varchar(50) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '房屋用途',
|
||||||
`LeaseRate` int(10) unsigned NOT NULL DEFAULT 0 COMMENT '租金比例(%)',
|
`LeaseRate` int(10) unsigned NOT NULL DEFAULT 0 COMMENT '租金比例(%)',
|
||||||
`Coordinate` varchar(50) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '座標',
|
`Coordinate` varchar(50) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '座標',
|
||||||
`phone` varchar(20) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '電話',
|
`Phone` varchar(20) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '電話',
|
||||||
`CreatedBy` int(10) unsigned NOT NULL COMMENT '建立者',
|
`CreatedBy` int(10) unsigned NOT NULL COMMENT '建立者',
|
||||||
`CreatedAt` timestamp NOT NULL DEFAULT current_timestamp() COMMENT '建立時間',
|
`CreatedAt` timestamp NOT NULL DEFAULT current_timestamp() COMMENT '建立時間',
|
||||||
`UpdatedBy` int(10) unsigned DEFAULT NULL COMMENT '修改者',
|
`UpdatedBy` int(10) unsigned DEFAULT NULL COMMENT '修改者',
|
||||||
@ -492,53 +492,88 @@ namespace SolarPower.Repository.Implement
|
|||||||
|
|
||||||
-- 傾印 資料表 power_station 結構
|
-- 傾印 資料表 power_station 結構
|
||||||
CREATE TABLE IF NOT EXISTS `power_station` (
|
CREATE TABLE IF NOT EXISTS `power_station` (
|
||||||
`Id` int(10) unsigned NOT NULL AUTO_INCREMENT,
|
`Id` int(10) unsigned NOT NULL DEFAULT 0,
|
||||||
`Deleted` tinyint(4) NOT NULL DEFAULT 0 COMMENT '是否刪除, 0:否 1:是',
|
`Deleted` tinyint(4) NOT NULL DEFAULT 0 COMMENT '是否刪除, 0:否 1:是',
|
||||||
`CompanyId` int(10) unsigned NOT NULL DEFAULT 0 COMMENT '公司編號',
|
`CompanyId` int(10) unsigned NOT NULL DEFAULT 0 COMMENT '公司編號',
|
||||||
|
`CityId` int(10) unsigned NOT NULL DEFAULT 0 COMMENT '電站縣市',
|
||||||
|
`AreaId` int(10) unsigned NOT NULL DEFAULT 0 COMMENT '電站區域',
|
||||||
|
`Address` varchar(100) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '電站詳細地址',
|
||||||
`Name` varchar(50) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '名稱',
|
`Name` varchar(50) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '名稱',
|
||||||
`Code` varchar(50) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '電站代碼,縣市+區域+流水號 ',
|
`Code` varchar(50) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '電站代碼,縣市+區域+四碼流水號',
|
||||||
|
`SerialNumber` varchar(4) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '四碼流水號',
|
||||||
`IsEscrow` tinyint(4) NOT NULL DEFAULT 0 COMMENT '是否為代管,0:否 1:是',
|
`IsEscrow` tinyint(4) NOT NULL DEFAULT 0 COMMENT '是否為代管,0:否 1:是',
|
||||||
`EscrowName` varchar(50) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '代管名稱',
|
`EscrowName` varchar(50) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '代管名稱',
|
||||||
`ElectricityMeterAt` timestamp NULL DEFAULT NULL COMMENT '台電掛錶日',
|
`ElectricityMeterAt` timestamp NULL DEFAULT NULL COMMENT '台電掛錶日',
|
||||||
`EstimatedRecoveryTime` varchar(10) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '預估回收時間',
|
`EstimatedRecoveryTime` varchar(10) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '預估回收時間',
|
||||||
`GeneratingCapacity` decimal(10,1) NOT NULL DEFAULT 0.0 COMMENT '電廠發電容量,單位(千瓦)',
|
`GeneratingCapacity` decimal(10,1) NOT NULL DEFAULT 0.0 COMMENT '電廠發電容量,單位(千瓦)',
|
||||||
`PowerRate` varchar(10) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '受電費率',
|
`PowerRate` decimal(10,3) NOT NULL DEFAULT 0.000 COMMENT '受電費率',
|
||||||
`Coordinate` varchar(50) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '座標',
|
`Coordinate` varchar(50) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '座標',
|
||||||
`InverterBrand` varchar(50) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '逆變器廠牌',
|
`InverterBrand` varchar(50) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '逆變器廠牌',
|
||||||
`InverterProductModel` varchar(50) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '逆變器型號',
|
`InverterProductModel` varchar(50) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '逆變器型號',
|
||||||
`InverterAmount` int(10) unsigned NOT NULL DEFAULT 0 COMMENT '逆變器數量',
|
`InverterAmount` int(10) unsigned NOT NULL DEFAULT 0 COMMENT '逆變器數量',
|
||||||
`PhotovoltaicPanelBrand` varchar(50) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '光電板廠牌',
|
`PhotovoltaicPanelBrand` varchar(50) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '光電板廠牌',
|
||||||
`PhotovoltaicPanelProductModel` varchar(50) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '光電板型號',
|
`PhotovoltaicPanelProductModel` varchar(50) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '光電板型號',
|
||||||
`PhotovoltaicPanelSpecification` varchar(100) COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '光電板規格',
|
`PhotovoltaicPanelSpecification` varchar(100) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '光電板規格',
|
||||||
`PhotovoltaicPanelAmount` int(10) unsigned NOT NULL DEFAULT 0 COMMENT '光電板數量',
|
`PhotovoltaicPanelAmount` int(10) unsigned NOT NULL DEFAULT 0 COMMENT '光電板數量',
|
||||||
|
`BoEFileName` varchar(255) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '能源局原檔案名',
|
||||||
`BoEFile` varchar(255) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '能源局檔案',
|
`BoEFile` varchar(255) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '能源局檔案',
|
||||||
`BoEDiscountRate` int(10) unsigned NOT NULL DEFAULT 0 COMMENT '能源局折扣率',
|
`BoEDiscountRate` int(10) unsigned NOT NULL DEFAULT 0 COMMENT '能源局折扣率',
|
||||||
`BoEDeviceRegisterNumber` varchar(50) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '能源局設備登記編號',
|
`BoEDeviceRegisterNumber` varchar(50) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '能源局設備登記編號',
|
||||||
`BoERentRatio` int(10) unsigned NOT NULL DEFAULT 0 COMMENT '能源局租金比率,單位(%)',
|
`BoERentRatio` int(10) unsigned NOT NULL DEFAULT 0 COMMENT '能源局租金比率,單位(%)',
|
||||||
`TPCContractNumber` varchar(50) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '台電契約編號',
|
`TPCContractNumber` varchar(50) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '台電契約編號',
|
||||||
`TPCContractAt` timestamp NULL DEFAULT NULL COMMENT '台電簽約日期',
|
`TPCContractAt` timestamp NULL DEFAULT NULL COMMENT '台電簽約日期',
|
||||||
`TPCSellDeadline` int(10) unsigned NOT NULL DEFAULT 0 COMMENT '台電售電期限,單位(年)',
|
`TPCSellDeadline` int(10) unsigned DEFAULT 0 COMMENT '台電售電期限,單位(年)',
|
||||||
`TPCMeterReading` int(10) unsigned NOT NULL DEFAULT 0 COMMENT '台電每期抄錶日',
|
`TPCMeterReading` int(10) unsigned NOT NULL DEFAULT 0 COMMENT '台電每期抄錶日',
|
||||||
`TPCPurchaseElectricityAt` timestamp NULL DEFAULT NULL COMMENT '台電正式購電日',
|
`TPCPurchaseElectricityAt` timestamp NULL DEFAULT NULL COMMENT '台電正式購電日',
|
||||||
`TPCSellElectricityAt` timestamp NULL DEFAULT NULL COMMENT '台電正式售電日',
|
`TPCSellElectricityAt` timestamp NULL DEFAULT NULL COMMENT '台電正式售電日',
|
||||||
|
`kwh` decimal(10,3) unsigned NOT NULL DEFAULT 0.000,
|
||||||
|
`Today_kwh` decimal(10,3) unsigned NOT NULL DEFAULT 0.000 COMMENT '今日發電量',
|
||||||
|
`Total_kwh` decimal(10,3) unsigned NOT NULL DEFAULT 0.000 COMMENT '總發電量',
|
||||||
|
`kwhkwp` decimal(10,3) unsigned NOT NULL DEFAULT 0.000,
|
||||||
|
`PR` decimal(5,2) unsigned NOT NULL DEFAULT 0.00 COMMENT '電站Pr值',
|
||||||
|
`MP` decimal(5,2) unsigned NOT NULL DEFAULT 0.00,
|
||||||
|
`SolarHour` decimal(5,2) unsigned NOT NULL DEFAULT 0.00 COMMENT '總運轉小時',
|
||||||
|
`SiteDB` varchar(20) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '0.000' COMMENT '電站 DB name: solar_com',
|
||||||
|
`TodayWeather` varchar(20) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '0.000' COMMENT '今日天氣',
|
||||||
|
`TodayWeatherTemp` decimal(5,2) unsigned NOT NULL DEFAULT 0.00 COMMENT '今日溫度',
|
||||||
`CreatedBy` int(10) unsigned NOT NULL COMMENT '建立者',
|
`CreatedBy` int(10) unsigned NOT NULL COMMENT '建立者',
|
||||||
`CreatedAt` timestamp NOT NULL DEFAULT current_timestamp() COMMENT '建立時間',
|
`CreatedAt` timestamp NOT NULL DEFAULT current_timestamp() COMMENT '建立時間',
|
||||||
`UpdatedBy` int(10) unsigned DEFAULT NULL COMMENT '修改者',
|
`UpdatedBy` int(10) unsigned DEFAULT NULL COMMENT '修改者',
|
||||||
`UpdatedAt` timestamp NULL DEFAULT NULL ON UPDATE current_timestamp() COMMENT '修改時間',
|
`UpdatedAt` timestamp NULL DEFAULT NULL ON UPDATE current_timestamp() COMMENT '修改時間',
|
||||||
PRIMARY KEY (`Id`),
|
PRIMARY KEY (`Id`),
|
||||||
KEY `IDX_01` (`Deleted`),
|
KEY `IDX_01` (`Deleted`),
|
||||||
KEY `IDX_02` (`CompanyId`)
|
KEY `IDX_02` (`CompanyId`),
|
||||||
|
KEY `IDX_03` (`CityId`,`AreaId`)
|
||||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='電站資料';
|
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='電站資料';
|
||||||
|
|
||||||
|
-- 傾印 資料表 power_station_exception 結構
|
||||||
|
CREATE TABLE IF NOT EXISTS `power_station_exception` (
|
||||||
|
`Id` int(10) unsigned NOT NULL AUTO_INCREMENT,
|
||||||
|
`Deleted` tinyint(4) NOT NULL DEFAULT 0 COMMENT '是否刪除, 0:否 1:是',
|
||||||
|
`PowerStationId` int(10) unsigned NOT NULL DEFAULT 0 COMMENT '電站編號',
|
||||||
|
`Type` tinyint(4) NOT NULL DEFAULT 0 COMMENT '類型,0:PR值',
|
||||||
|
`UpperLimit` decimal(10,2) NOT NULL DEFAULT 0.00 COMMENT '上限值',
|
||||||
|
`LowerLimit` decimal(10,2) NOT NULL DEFAULT 0.00 COMMENT '下限值',
|
||||||
|
`Alarm` tinyint(4) NOT NULL DEFAULT 0 COMMENT '警報方式,0:email通知',
|
||||||
|
`CreatedBy` int(10) unsigned NOT NULL COMMENT '建立者',
|
||||||
|
`CreatedAt` timestamp NOT NULL DEFAULT current_timestamp() COMMENT '建立時間',
|
||||||
|
`UpdatedBy` int(10) unsigned DEFAULT NULL COMMENT '修改者',
|
||||||
|
`UpdatedAt` timestamp NULL DEFAULT NULL ON UPDATE current_timestamp() COMMENT '修改時間',
|
||||||
|
PRIMARY KEY (`Id`),
|
||||||
|
KEY `IDX_01` (`Deleted`,`PowerStationId`)
|
||||||
|
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='電站異常值設定';
|
||||||
|
|
||||||
-- 傾印 資料表 power_station_image 結構
|
-- 傾印 資料表 power_station_image 結構
|
||||||
CREATE TABLE IF NOT EXISTS `power_station_image` (
|
CREATE TABLE IF NOT EXISTS `power_station_image` (
|
||||||
`Id` int(10) unsigned NOT NULL AUTO_INCREMENT,
|
`Id` int(10) unsigned NOT NULL AUTO_INCREMENT,
|
||||||
`Deleted` tinyint(4) NOT NULL DEFAULT 0 COMMENT '是否刪除, 0:否 1:是',
|
`Deleted` tinyint(4) NOT NULL DEFAULT 0 COMMENT '是否刪除, 0:否 1:是',
|
||||||
`PowerStationId` int(10) unsigned NOT NULL DEFAULT 0 COMMENT '電站編號',
|
`PowerStationId` int(10) unsigned NOT NULL DEFAULT 0 COMMENT '電站編號',
|
||||||
`IsMainDisplay` tinyint(4) NOT NULL DEFAULT 0 COMMENT '是否主要顯示圖片, 0:否 1:是',
|
`IsMainDisplay` tinyint(4) NOT NULL DEFAULT 0 COMMENT '是否主要顯示圖片, 0:否 1:是',
|
||||||
` image` varchar(100) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '圖片檔名',
|
`Image` varchar(100) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '圖片檔名',
|
||||||
`CreatedBy` int(10) unsigned NOT NULL COMMENT '建立者',
|
`CreatedBy` int(10) unsigned NOT NULL COMMENT '建立者',
|
||||||
`CreatedAt` timestamp NOT NULL DEFAULT current_timestamp() COMMENT '建立時間',
|
`CreatedAt` timestamp NOT NULL DEFAULT current_timestamp() COMMENT '建立時間',
|
||||||
|
`UpdatedBy` int(10) unsigned DEFAULT NULL COMMENT '修改者',
|
||||||
|
`UpdatedAt` timestamp NULL DEFAULT NULL ON UPDATE current_timestamp() COMMENT '修改時間',
|
||||||
PRIMARY KEY (`Id`),
|
PRIMARY KEY (`Id`),
|
||||||
KEY `IDX_01` (`Deleted`,`IsMainDisplay`,`PowerStationId`) USING BTREE
|
KEY `IDX_01` (`Deleted`,`IsMainDisplay`,`PowerStationId`) USING BTREE
|
||||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='電站資料';
|
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='電站資料';
|
||||||
@ -561,7 +596,7 @@ namespace SolarPower.Repository.Implement
|
|||||||
`Id` int(10) unsigned NOT NULL AUTO_INCREMENT,
|
`Id` int(10) unsigned NOT NULL AUTO_INCREMENT,
|
||||||
`Deleted` tinyint(4) NOT NULL DEFAULT 0 COMMENT '是否刪除, 0:否 1:是',
|
`Deleted` tinyint(4) NOT NULL DEFAULT 0 COMMENT '是否刪除, 0:否 1:是',
|
||||||
`PowerStationId` int(10) unsigned NOT NULL DEFAULT 0 COMMENT '電站編號',
|
`PowerStationId` int(10) unsigned NOT NULL DEFAULT 0 COMMENT '電站編號',
|
||||||
` image` varchar(100) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '圖片檔名',
|
`Image` varchar(100) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '圖片檔名',
|
||||||
`CreatedBy` int(10) unsigned NOT NULL COMMENT '建立者',
|
`CreatedBy` int(10) unsigned NOT NULL COMMENT '建立者',
|
||||||
`CreatedAt` timestamp NOT NULL DEFAULT current_timestamp() COMMENT '建立時間',
|
`CreatedAt` timestamp NOT NULL DEFAULT current_timestamp() COMMENT '建立時間',
|
||||||
PRIMARY KEY (`Id`),
|
PRIMARY KEY (`Id`),
|
||||||
|
|||||||
@ -10,6 +10,7 @@ using System.Linq;
|
|||||||
using System.Text;
|
using System.Text;
|
||||||
using System.Threading.Tasks;
|
using System.Threading.Tasks;
|
||||||
using System.Text.Json;
|
using System.Text.Json;
|
||||||
|
using SolarPower.Models;
|
||||||
|
|
||||||
namespace SolarPower.Repository.Implement
|
namespace SolarPower.Repository.Implement
|
||||||
{
|
{
|
||||||
@ -116,7 +117,7 @@ namespace SolarPower.Repository.Implement
|
|||||||
}
|
}
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 取得縣市地區代碼
|
/// 透過地區編號,取得縣市地區代碼
|
||||||
/// </summary>
|
/// </summary>
|
||||||
/// <param name="areaId"></param>
|
/// <param name="areaId"></param>
|
||||||
/// <returns></returns>
|
/// <returns></returns>
|
||||||
@ -190,10 +191,13 @@ namespace SolarPower.Repository.Implement
|
|||||||
|
|
||||||
if (result != null)
|
if (result != null)
|
||||||
{
|
{
|
||||||
var sql_operation_personnel = @"SELECT UserId FROM power_station_operation_personnel op WHERE Deleted = 0 AND op.PowerStationId = @PowerStationId";
|
|
||||||
|
var db_name = result.SiteDB;
|
||||||
|
|
||||||
|
var sql_operation_personnel = @$"SELECT UserId FROM {db_name}.power_station_operation_personnel op WHERE Deleted = 0 AND op.PowerStationId = @PowerStationId";
|
||||||
result.OperationPersonnelIds = (await conn.QueryAsync<int>(sql_operation_personnel, new { PowerStationId = result.Id })).ToList();
|
result.OperationPersonnelIds = (await conn.QueryAsync<int>(sql_operation_personnel, new { PowerStationId = result.Id })).ToList();
|
||||||
|
|
||||||
var sql_land_building = @$"SELECT lb.*, u.Name AS CreatorName FROM land_building lb
|
var sql_land_building = @$"SELECT lb.*, u.Name AS CreatorName FROM {db_name}.land_building lb
|
||||||
LEFT JOIN user u ON lb.CreatedBy = u.Id
|
LEFT JOIN user u ON lb.CreatedBy = u.Id
|
||||||
WHERE lb.Deleted = 0 AND PowerStationId = @PowerStationId";
|
WHERE lb.Deleted = 0 AND PowerStationId = @PowerStationId";
|
||||||
result.LandBuildings = (await conn.QueryAsync<LandBuilding>(sql_land_building, new { PowerStationId = result.Id })).ToList();
|
result.LandBuildings = (await conn.QueryAsync<LandBuilding>(sql_land_building, new { PowerStationId = result.Id })).ToList();
|
||||||
@ -212,11 +216,61 @@ namespace SolarPower.Repository.Implement
|
|||||||
}
|
}
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 修改電站基本資訊
|
/// 新增電站資料至 主、子資料庫
|
||||||
/// </summary>
|
/// </summary>
|
||||||
/// <param name="entity"></param>
|
/// <param name="entity"></param>
|
||||||
|
/// <param name="properties"></param>
|
||||||
|
/// <param name="db_name"></param>
|
||||||
/// <returns></returns>
|
/// <returns></returns>
|
||||||
public async Task UpdatePowerStationInfo(UpdatePowerStationInfo entity, List<string> properties)
|
public async Task<int> AddOnePowerStationAsync(PowerStation entity, List<string> properties, string db_name)
|
||||||
|
{
|
||||||
|
int id; int sub_count;
|
||||||
|
using (IDbConnection conn = _databaseHelper.GetConnection())
|
||||||
|
{
|
||||||
|
conn.Open();
|
||||||
|
using (var trans = conn.BeginTransaction())
|
||||||
|
{
|
||||||
|
try
|
||||||
|
{
|
||||||
|
//新增資料 至主資料庫
|
||||||
|
string sql = GenerateInsertQuery(properties);
|
||||||
|
|
||||||
|
sql += "SELECT LAST_INSERT_ID();";
|
||||||
|
|
||||||
|
id = (await conn.QueryAsync<int>(sql, entity, trans)).Single();
|
||||||
|
|
||||||
|
//新增資料 至子資料庫
|
||||||
|
properties.Add("Id");
|
||||||
|
entity.Id = id;
|
||||||
|
|
||||||
|
string sub_sql = GenerateInsertQueryWithCustomDBNameAndTable(properties, db_name, tableName);
|
||||||
|
sub_count = await conn.ExecuteAsync(sub_sql, entity, trans);
|
||||||
|
|
||||||
|
trans.Commit();
|
||||||
|
}
|
||||||
|
catch (Exception exception)
|
||||||
|
{
|
||||||
|
trans.Rollback();
|
||||||
|
throw exception;
|
||||||
|
}
|
||||||
|
finally
|
||||||
|
{
|
||||||
|
conn.Close();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return id;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 修改主、子資料庫電站基本資訊
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="entity"></param>
|
||||||
|
/// <param name="properties"></param>
|
||||||
|
/// <param name="db_name"></param>
|
||||||
|
/// <returns></returns>
|
||||||
|
public async Task UpdatePowerStationInfo(UpdatePowerStationInfo entity, List<string> properties, string db_name)
|
||||||
{
|
{
|
||||||
|
|
||||||
using (IDbConnection conn = this._databaseHelper.GetConnection())
|
using (IDbConnection conn = this._databaseHelper.GetConnection())
|
||||||
@ -226,10 +280,14 @@ namespace SolarPower.Repository.Implement
|
|||||||
{
|
{
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
|
//修改主資料庫
|
||||||
var sql = GenerateUpdateQuery(properties);
|
var sql = GenerateUpdateQuery(properties);
|
||||||
|
|
||||||
await conn.ExecuteAsync(sql, entity, trans);
|
await conn.ExecuteAsync(sql, entity, trans);
|
||||||
|
|
||||||
|
//修改子資料庫
|
||||||
|
var sub_sql = GenerateUpdateQueryWithCustomDBNameAndTable(properties, db_name, tableName);
|
||||||
|
await conn.ExecuteAsync(sub_sql, entity, trans);
|
||||||
|
|
||||||
trans.Commit();
|
trans.Commit();
|
||||||
}
|
}
|
||||||
catch (Exception exception)
|
catch (Exception exception)
|
||||||
@ -246,13 +304,14 @@ namespace SolarPower.Repository.Implement
|
|||||||
}
|
}
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 修改能源局與台電資訊
|
/// 修改主、子資料庫能源局與台電資訊
|
||||||
/// </summary>
|
/// </summary>
|
||||||
/// <param name="entity"></param>
|
/// <param name="entity"></param>
|
||||||
|
/// <param name="properties"></param>
|
||||||
|
/// <param name="db_name"></param>
|
||||||
/// <returns></returns>
|
/// <returns></returns>
|
||||||
public async Task UpdateBoETPCInfo(UpdateBoETPCInfo entity, List<string> properties)
|
public async Task UpdateBoETPCInfo(UpdateBoETPCInfo entity, List<string> properties, string db_name)
|
||||||
{
|
{
|
||||||
|
|
||||||
using (IDbConnection conn = this._databaseHelper.GetConnection())
|
using (IDbConnection conn = this._databaseHelper.GetConnection())
|
||||||
{
|
{
|
||||||
conn.Open();
|
conn.Open();
|
||||||
@ -260,10 +319,14 @@ namespace SolarPower.Repository.Implement
|
|||||||
{
|
{
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
|
//修改主資料庫
|
||||||
var sql = GenerateUpdateQuery(properties);
|
var sql = GenerateUpdateQuery(properties);
|
||||||
|
|
||||||
await conn.ExecuteAsync(sql, entity, trans);
|
await conn.ExecuteAsync(sql, entity, trans);
|
||||||
|
|
||||||
|
//修改子資料庫
|
||||||
|
var sub_sql = GenerateUpdateQueryWithCustomDBNameAndTable(properties, db_name, tableName);
|
||||||
|
await conn.ExecuteAsync(sub_sql, entity, trans);
|
||||||
|
|
||||||
trans.Commit();
|
trans.Commit();
|
||||||
}
|
}
|
||||||
catch (Exception exception)
|
catch (Exception exception)
|
||||||
@ -283,8 +346,9 @@ namespace SolarPower.Repository.Implement
|
|||||||
/// 新增 土地房屋資訊
|
/// 新增 土地房屋資訊
|
||||||
/// </summary>
|
/// </summary>
|
||||||
/// <param name="id"></param>
|
/// <param name="id"></param>
|
||||||
|
/// <param name="db_name"></param>
|
||||||
/// <returns></returns>
|
/// <returns></returns>
|
||||||
public async Task<LandBuilding> GetOneLandBuildingInfo(int id)
|
public async Task<LandBuilding> GetOneLandBuildingInfo(int id, string db_name)
|
||||||
{
|
{
|
||||||
LandBuilding result;
|
LandBuilding result;
|
||||||
using (IDbConnection conn = _databaseHelper.GetConnection())
|
using (IDbConnection conn = _databaseHelper.GetConnection())
|
||||||
@ -292,7 +356,7 @@ namespace SolarPower.Repository.Implement
|
|||||||
conn.Open();
|
conn.Open();
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
var sql = @"SELECT * FROM land_building WHERE Deleted =0 AND Id = @Id";
|
var sql = @$"SELECT * FROM {db_name}.land_building WHERE Deleted = 0 AND Id = @Id";
|
||||||
|
|
||||||
result = await conn.QueryFirstOrDefaultAsync<LandBuilding>(sql, new { Id = id });
|
result = await conn.QueryFirstOrDefaultAsync<LandBuilding>(sql, new { Id = id });
|
||||||
}
|
}
|
||||||
@ -314,8 +378,9 @@ namespace SolarPower.Repository.Implement
|
|||||||
/// </summary>
|
/// </summary>
|
||||||
/// <param name="entity"></param>
|
/// <param name="entity"></param>
|
||||||
/// <param name="properties"></param>
|
/// <param name="properties"></param>
|
||||||
|
/// <param name="db_name"></param>
|
||||||
/// <returns></returns>
|
/// <returns></returns>
|
||||||
public async Task<int> AddOneLandBuildingInfo(LandBuilding entity, List<string> properties)
|
public async Task<int> AddOneLandBuildingInfo(LandBuilding entity, List<string> properties, string db_name)
|
||||||
{
|
{
|
||||||
int id;
|
int id;
|
||||||
using (IDbConnection conn = _databaseHelper.GetConnection())
|
using (IDbConnection conn = _databaseHelper.GetConnection())
|
||||||
@ -323,7 +388,7 @@ namespace SolarPower.Repository.Implement
|
|||||||
conn.Open();
|
conn.Open();
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
string sql = GenerateInsertQueryWithCustomTable(properties, "land_building");
|
string sql = GenerateInsertQueryWithCustomDBNameAndTable(properties, db_name, "land_building");
|
||||||
|
|
||||||
sql += "SELECT LAST_INSERT_ID();";
|
sql += "SELECT LAST_INSERT_ID();";
|
||||||
|
|
||||||
@ -347,8 +412,9 @@ namespace SolarPower.Repository.Implement
|
|||||||
/// </summary>
|
/// </summary>
|
||||||
/// <param name="entity"></param>
|
/// <param name="entity"></param>
|
||||||
/// <param name="properties"></param>
|
/// <param name="properties"></param>
|
||||||
|
/// <param name="db_name"></param>
|
||||||
/// <returns></returns>
|
/// <returns></returns>
|
||||||
public async Task UpdateLandBuildingInfo(UpdateLandBuilding entity, List<string> properties)
|
public async Task UpdateLandBuildingInfo(UpdateLandBuilding entity, List<string> properties, string db_name)
|
||||||
{
|
{
|
||||||
using (IDbConnection conn = this._databaseHelper.GetConnection())
|
using (IDbConnection conn = this._databaseHelper.GetConnection())
|
||||||
{
|
{
|
||||||
@ -357,7 +423,7 @@ namespace SolarPower.Repository.Implement
|
|||||||
{
|
{
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
var sql = GenerateUpdateQueryWithCustomTable(properties, "land_building");
|
var sql = GenerateUpdateQueryWithCustomDBNameAndTable(properties, db_name, "land_building");
|
||||||
|
|
||||||
await conn.ExecuteAsync(sql, entity, trans);
|
await conn.ExecuteAsync(sql, entity, trans);
|
||||||
|
|
||||||
@ -380,8 +446,9 @@ namespace SolarPower.Repository.Implement
|
|||||||
/// 軟刪除土地房屋資訊
|
/// 軟刪除土地房屋資訊
|
||||||
/// </summary>
|
/// </summary>
|
||||||
/// <param name="id"></param>
|
/// <param name="id"></param>
|
||||||
|
/// <param name="db_name"></param>
|
||||||
/// <returns></returns>
|
/// <returns></returns>
|
||||||
public async Task DeleteOneLandBuildingInfo(int id)
|
public async Task DeleteOneLandBuildingInfo(int id, string db_name)
|
||||||
{
|
{
|
||||||
using (IDbConnection conn = this._databaseHelper.GetConnection())
|
using (IDbConnection conn = this._databaseHelper.GetConnection())
|
||||||
{
|
{
|
||||||
@ -390,7 +457,7 @@ namespace SolarPower.Repository.Implement
|
|||||||
{
|
{
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
var sql = $"UPDATE land_building SET deleted = 1 WHERE id = @Id";
|
var sql = $"UPDATE {db_name}.land_building SET Deleted = 1 WHERE Id = @Id";
|
||||||
|
|
||||||
await conn.ExecuteAsync(sql, new { Id = id }, trans);
|
await conn.ExecuteAsync(sql, new { Id = id }, trans);
|
||||||
|
|
||||||
@ -414,8 +481,9 @@ namespace SolarPower.Repository.Implement
|
|||||||
/// </summary>
|
/// </summary>
|
||||||
/// <param name="operation"></param>
|
/// <param name="operation"></param>
|
||||||
/// <param name="properties"></param>
|
/// <param name="properties"></param>
|
||||||
|
/// <param name="db_name"></param>
|
||||||
/// <returns></returns>
|
/// <returns></returns>
|
||||||
public async Task<int> AddOperation(OperationInfo operation, List<string> properties)
|
public async Task<int> AddOperation(OperationInfo operation, List<string> properties, string db_name)
|
||||||
{
|
{
|
||||||
using (IDbConnection conn = _databaseHelper.GetConnection())
|
using (IDbConnection conn = _databaseHelper.GetConnection())
|
||||||
{
|
{
|
||||||
@ -423,7 +491,7 @@ namespace SolarPower.Repository.Implement
|
|||||||
conn.Open();
|
conn.Open();
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
string sql = GenerateInsertQueryWithCustomTable(properties, "operation_firm");
|
string sql = GenerateInsertQueryWithCustomDBNameAndTable(properties, db_name, "operation_firm");
|
||||||
|
|
||||||
count = await conn.ExecuteAsync(sql, operation);
|
count = await conn.ExecuteAsync(sql, operation);
|
||||||
|
|
||||||
@ -440,12 +508,14 @@ namespace SolarPower.Repository.Implement
|
|||||||
return count;
|
return count;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 運維DataTable
|
/// 運維DataTable
|
||||||
/// </summary>
|
/// </summary>
|
||||||
/// <param name="stationId"></param>
|
/// <param name="stationId"></param>
|
||||||
|
/// <param name="stationId"></param>
|
||||||
/// <returns></returns>
|
/// <returns></returns>
|
||||||
public async Task<List<OperationTable>> OperationTable (int stationId)
|
public async Task<List<OperationTable>> OperationTable(int stationId, string db_name)
|
||||||
{
|
{
|
||||||
|
|
||||||
using (IDbConnection conn = _databaseHelper.GetConnection())
|
using (IDbConnection conn = _databaseHelper.GetConnection())
|
||||||
@ -454,10 +524,18 @@ namespace SolarPower.Repository.Implement
|
|||||||
conn.Open();
|
conn.Open();
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
string sql = @$"SELECT operation_firm.Name,
|
string sql = @$"SELECT
|
||||||
|
operation_firm.Name,
|
||||||
operation_firm.PowerStationId,
|
operation_firm.PowerStationId,
|
||||||
operation_firm.Id,operation_firm.ContactPerson,operation_firm.Phone,operation_firm.Email,user.Name AS CreatedName,operation_firm.CreatedAt,operation_firm.Type
|
operation_firm.Id,
|
||||||
FROM operation_firm LEFT JOIN user ON operation_firm.CreatedBy = user.id WHERE operation_firm.Deleted = 0 AND operation_firm.PowerStationId = @StationId";
|
operation_firm.ContactPerson,
|
||||||
|
operation_firm.Phone,
|
||||||
|
operation_firm.Email,
|
||||||
|
user.Name AS CreatedName,
|
||||||
|
operation_firm.CreatedAt,operation_firm.Type
|
||||||
|
FROM {db_name}.operation_firm
|
||||||
|
LEFT JOIN user ON operation_firm.CreatedBy = user.id
|
||||||
|
WHERE operation_firm.Deleted = 0 AND operation_firm.PowerStationId = @StationId";
|
||||||
operation = (await conn.QueryAsync<OperationTable>(sql, new { StationId = stationId })).ToList();
|
operation = (await conn.QueryAsync<OperationTable>(sql, new { StationId = stationId })).ToList();
|
||||||
|
|
||||||
}
|
}
|
||||||
@ -476,8 +554,9 @@ namespace SolarPower.Repository.Implement
|
|||||||
/// 選取單一運維
|
/// 選取單一運維
|
||||||
/// </summary>
|
/// </summary>
|
||||||
/// <param name="id"></param>
|
/// <param name="id"></param>
|
||||||
|
/// <param name="db_name"></param>
|
||||||
/// <returns></returns>
|
/// <returns></returns>
|
||||||
public async Task<OperationInfo> OneOperationInfo (int id)
|
public async Task<OperationInfo> OneOperationInfo(int id, string db_name)
|
||||||
{
|
{
|
||||||
using (IDbConnection conn = _databaseHelper.GetConnection())
|
using (IDbConnection conn = _databaseHelper.GetConnection())
|
||||||
{
|
{
|
||||||
@ -485,7 +564,7 @@ namespace SolarPower.Repository.Implement
|
|||||||
conn.Open();
|
conn.Open();
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
string sql = @$"SELECT * FROM operation_firm WHERE Id = @Id";
|
string sql = @$"SELECT * FROM {db_name}.operation_firm WHERE Id = @Id";
|
||||||
operation = await conn.QueryFirstOrDefaultAsync<OperationInfo>(sql, new { Id = id });
|
operation = await conn.QueryFirstOrDefaultAsync<OperationInfo>(sql, new { Id = id });
|
||||||
|
|
||||||
}
|
}
|
||||||
@ -500,30 +579,23 @@ namespace SolarPower.Repository.Implement
|
|||||||
return operation;
|
return operation;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 更新運維
|
/// 更新運維
|
||||||
/// </summary>
|
/// </summary>
|
||||||
/// <param name="operation"></param>
|
/// <param name="operation"></param>
|
||||||
/// <param name="properties"></param>
|
/// <param name="properties"></param>
|
||||||
|
/// <param name="db_name"></param>
|
||||||
/// <returns></returns>
|
/// <returns></returns>
|
||||||
public async Task UpdateOperation(OperationInfo operation , List<string> properties)
|
public async Task UpdateOperation(OperationInfo operation, List<string> properties, string db_name)
|
||||||
{
|
{
|
||||||
using IDbConnection conn = _databaseHelper.GetConnection();
|
using IDbConnection conn = _databaseHelper.GetConnection();
|
||||||
conn.Open();
|
conn.Open();
|
||||||
var trans = conn.BeginTransaction();
|
var trans = conn.BeginTransaction();
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
var updateQuery = new StringBuilder($"UPDATE operation_firm SET ");
|
var sql = GenerateUpdateQueryWithCustomDBNameAndTable(properties, db_name, "operation_firm");
|
||||||
properties.ForEach(property =>
|
await conn.ExecuteAsync(sql, operation, trans);
|
||||||
{
|
|
||||||
if (!property.Equals("Id"))
|
|
||||||
{
|
|
||||||
updateQuery.Append($"{property}=@{property},");
|
|
||||||
}
|
|
||||||
});
|
|
||||||
updateQuery.Remove(updateQuery.Length - 1, 1); //remove last comma
|
|
||||||
updateQuery.Append(" WHERE id = @Id");
|
|
||||||
await conn.ExecuteAsync(updateQuery.ToString(), operation, trans);
|
|
||||||
trans.Commit();
|
trans.Commit();
|
||||||
}
|
}
|
||||||
catch (Exception exception)
|
catch (Exception exception)
|
||||||
@ -816,8 +888,9 @@ namespace SolarPower.Repository.Implement
|
|||||||
/// 透過電站編號,取得該電站的運維人員編號
|
/// 透過電站編號,取得該電站的運維人員編號
|
||||||
/// </summary>
|
/// </summary>
|
||||||
/// <param name="powerStationId"></param>
|
/// <param name="powerStationId"></param>
|
||||||
|
/// <param name="db_name"></param>
|
||||||
/// <returns></returns>
|
/// <returns></returns>
|
||||||
public async Task<List<int>> GetOperationPersonnelIdsByPowerStatioinId(int powerStationId)
|
public async Task<List<int>> GetOperationPersonnelIdsByPowerStatioinId(int powerStationId, string db_name)
|
||||||
{
|
{
|
||||||
List<int> result;
|
List<int> result;
|
||||||
using (IDbConnection conn = this._databaseHelper.GetConnection())
|
using (IDbConnection conn = this._databaseHelper.GetConnection())
|
||||||
@ -825,7 +898,7 @@ namespace SolarPower.Repository.Implement
|
|||||||
conn.Open();
|
conn.Open();
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
var sql = @$"SELECT UserId FROM power_station_operation_personnel WHERE Deleted = 0 AND PowerStationId = @PowerStationId";
|
var sql = @$"SELECT UserId FROM {db_name}.power_station_operation_personnel WHERE Deleted = 0 AND PowerStationId = @PowerStationId";
|
||||||
|
|
||||||
result = (await conn.QueryAsync<int>(sql, new { PowerStationId = powerStationId })).ToList();
|
result = (await conn.QueryAsync<int>(sql, new { PowerStationId = powerStationId })).ToList();
|
||||||
}
|
}
|
||||||
@ -846,8 +919,9 @@ namespace SolarPower.Repository.Implement
|
|||||||
/// </summary>
|
/// </summary>
|
||||||
/// <param name="entity"></param>
|
/// <param name="entity"></param>
|
||||||
/// <param name="properties"></param>
|
/// <param name="properties"></param>
|
||||||
|
/// <param name="db_name"></param>
|
||||||
/// <returns></returns>
|
/// <returns></returns>
|
||||||
public async Task<int> AddOperationPersonnelAsync(List<PowerStationOperationPersonnel> entity, List<string> properties)
|
public async Task<int> AddOperationPersonnelAsync(List<PowerStationOperationPersonnel> entity, List<string> properties, string db_name)
|
||||||
{
|
{
|
||||||
int count;
|
int count;
|
||||||
using (IDbConnection conn = _databaseHelper.GetConnection())
|
using (IDbConnection conn = _databaseHelper.GetConnection())
|
||||||
@ -855,7 +929,7 @@ namespace SolarPower.Repository.Implement
|
|||||||
conn.Open();
|
conn.Open();
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
string sql = GenerateInsertQueryWithCustomTable(properties, "power_station_operation_personnel");
|
string sql = GenerateInsertQueryWithCustomDBNameAndTable(properties, db_name, "power_station_operation_personnel");
|
||||||
|
|
||||||
count = await conn.ExecuteAsync(sql, entity);
|
count = await conn.ExecuteAsync(sql, entity);
|
||||||
}
|
}
|
||||||
@ -876,8 +950,9 @@ namespace SolarPower.Repository.Implement
|
|||||||
/// 軟刪除電站運維人員
|
/// 軟刪除電站運維人員
|
||||||
/// </summary>
|
/// </summary>
|
||||||
/// <param name="operationPersonnels"></param>
|
/// <param name="operationPersonnels"></param>
|
||||||
|
/// <param name="db_name"></param>
|
||||||
/// <returns></returns>
|
/// <returns></returns>
|
||||||
public async Task DeleteOperationPersonnel(List<PowerStationOperationPersonnel> operationPersonnels)
|
public async Task DeleteOperationPersonnel(List<PowerStationOperationPersonnel> operationPersonnels, string db_name)
|
||||||
{
|
{
|
||||||
using (IDbConnection conn = this._databaseHelper.GetConnection())
|
using (IDbConnection conn = this._databaseHelper.GetConnection())
|
||||||
{
|
{
|
||||||
@ -886,7 +961,7 @@ namespace SolarPower.Repository.Implement
|
|||||||
{
|
{
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
var sql = $"UPDATE power_station_operation_personnel SET deleted = 1 WHERE PowerStationId = @PowerStationId AND UserId = @UserId";
|
var sql = $"UPDATE {db_name}.power_station_operation_personnel SET Deleted = 1 WHERE PowerStationId = @PowerStationId AND UserId = @UserId";
|
||||||
|
|
||||||
await conn.ExecuteAsync(sql, operationPersonnels, trans);
|
await conn.ExecuteAsync(sql, operationPersonnels, trans);
|
||||||
|
|
||||||
@ -909,28 +984,34 @@ namespace SolarPower.Repository.Implement
|
|||||||
/// 電站管理 新增電站圖片
|
/// 電站管理 新增電站圖片
|
||||||
/// </summary>
|
/// </summary>
|
||||||
/// <param name="entity"></param>
|
/// <param name="entity"></param>
|
||||||
/// <param name="properties"></param>
|
/// <param name="db_name"></param>
|
||||||
/// <returns></returns>
|
/// <returns></returns>
|
||||||
public async Task<int> AddPowerStationImageAsync(List<PowerStationImage> entity, List<string> properties)
|
public async Task<int> AddPowerStationImageAsync(List<PowerStationImage> entity, List<string> properties, string db_name)
|
||||||
{
|
{
|
||||||
int count;
|
int count;
|
||||||
using (IDbConnection conn = _databaseHelper.GetConnection())
|
using (IDbConnection conn = _databaseHelper.GetConnection())
|
||||||
{
|
{
|
||||||
conn.Open();
|
conn.Open();
|
||||||
|
using (var trans = conn.BeginTransaction())
|
||||||
|
{
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
string sql = GenerateInsertQueryWithCustomTable(properties, "power_station_image");
|
string sql = GenerateInsertQueryWithCustomDBNameAndTable(properties, db_name, "power_station_image");
|
||||||
|
|
||||||
count = await conn.ExecuteAsync(sql, entity);
|
count = await conn.ExecuteAsync(sql, entity, trans);
|
||||||
|
|
||||||
|
trans.Commit();
|
||||||
}
|
}
|
||||||
catch (Exception exception)
|
catch (Exception exception)
|
||||||
{
|
{
|
||||||
|
trans.Rollback();
|
||||||
throw exception;
|
throw exception;
|
||||||
}
|
}
|
||||||
finally
|
finally
|
||||||
{
|
{
|
||||||
conn.Close();
|
conn.Close();
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
return count;
|
return count;
|
||||||
}
|
}
|
||||||
@ -940,15 +1021,16 @@ namespace SolarPower.Repository.Implement
|
|||||||
/// 電站管理 取得所有電站圖片的資料
|
/// 電站管理 取得所有電站圖片的資料
|
||||||
/// </summary>
|
/// </summary>
|
||||||
/// <param name="powerStationId"></param>
|
/// <param name="powerStationId"></param>
|
||||||
|
/// <param name="db_name"></param>
|
||||||
/// <returns></returns>
|
/// <returns></returns>
|
||||||
public async Task<List<PowerStationImage>> GetAllPowerStationImageAsync(int powerStationId)
|
public async Task<List<PowerStationImage>> GetAllPowerStationImageAsync(int powerStationId, string db_name)
|
||||||
{
|
{
|
||||||
List<PowerStationImage> result;
|
List<PowerStationImage> result;
|
||||||
using (IDbConnection conn = this._databaseHelper.GetConnection())
|
using (IDbConnection conn = this._databaseHelper.GetConnection())
|
||||||
{
|
{
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
var sql = $"SELECT * FROM power_station_image WHERE Deleted = 0 AND PowerStationId = @PowerStationId";
|
var sql = $"SELECT * FROM {db_name}.power_station_image WHERE Deleted = 0 AND PowerStationId = @PowerStationId";
|
||||||
|
|
||||||
result = (await conn.QueryAsync<PowerStationImage>(sql, new { PowerStationId = powerStationId })).ToList();
|
result = (await conn.QueryAsync<PowerStationImage>(sql, new { PowerStationId = powerStationId })).ToList();
|
||||||
}
|
}
|
||||||
@ -964,15 +1046,16 @@ namespace SolarPower.Repository.Implement
|
|||||||
/// 電站管理 取得單一電站圖片的資料
|
/// 電站管理 取得單一電站圖片的資料
|
||||||
/// </summary>
|
/// </summary>
|
||||||
/// <param name="id"></param>
|
/// <param name="id"></param>
|
||||||
|
/// <param name="db_name"></param>
|
||||||
/// <returns></returns>
|
/// <returns></returns>
|
||||||
public async Task<PowerStationImage> GetOnePowerStationImageAsync(int id)
|
public async Task<PowerStationImage> GetOnePowerStationImageAsync(int id, string db_name)
|
||||||
{
|
{
|
||||||
PowerStationImage result;
|
PowerStationImage result;
|
||||||
using (IDbConnection conn = this._databaseHelper.GetConnection())
|
using (IDbConnection conn = this._databaseHelper.GetConnection())
|
||||||
{
|
{
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
var sql = $"SELECT * FROM power_station_image WHERE Deleted = 0 AND Id = @Id";
|
var sql = $"SELECT * FROM {db_name}.power_station_image WHERE Deleted = 0 AND Id = @Id";
|
||||||
|
|
||||||
result = await conn.QueryFirstOrDefaultAsync<PowerStationImage>(sql, new { Id = id });
|
result = await conn.QueryFirstOrDefaultAsync<PowerStationImage>(sql, new { Id = id });
|
||||||
}
|
}
|
||||||
@ -988,8 +1071,9 @@ namespace SolarPower.Repository.Implement
|
|||||||
/// 軟刪除 單一電站圖片
|
/// 軟刪除 單一電站圖片
|
||||||
/// </summary>
|
/// </summary>
|
||||||
/// <param name="id"></param>
|
/// <param name="id"></param>
|
||||||
|
/// <param name="db_name"></param>
|
||||||
/// <returns></returns>
|
/// <returns></returns>
|
||||||
public async Task DeleteOnePowerStationImage(int id)
|
public async Task DeleteOnePowerStationImage(int id, string db_name)
|
||||||
{
|
{
|
||||||
using (IDbConnection conn = this._databaseHelper.GetConnection())
|
using (IDbConnection conn = this._databaseHelper.GetConnection())
|
||||||
{
|
{
|
||||||
@ -998,7 +1082,7 @@ namespace SolarPower.Repository.Implement
|
|||||||
{
|
{
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
var sql = $"UPDATE power_station_image SET deleted = 1 WHERE id = @Id";
|
var sql = $"UPDATE {db_name}.power_station_image SET Deleted = 1 WHERE id = @Id";
|
||||||
|
|
||||||
await conn.ExecuteAsync(sql, new { Id = id }, trans);
|
await conn.ExecuteAsync(sql, new { Id = id }, trans);
|
||||||
|
|
||||||
@ -1021,15 +1105,16 @@ namespace SolarPower.Repository.Implement
|
|||||||
/// 電站管理 取得主要卡片顯示圖
|
/// 電站管理 取得主要卡片顯示圖
|
||||||
/// </summary>
|
/// </summary>
|
||||||
/// <param name="powerStationId"></param>
|
/// <param name="powerStationId"></param>
|
||||||
|
/// <param name="db_name"></param>
|
||||||
/// <returns></returns>
|
/// <returns></returns>
|
||||||
public async Task<PowerStationImage> GetMainDisplayAsync(int powerStationId)
|
public async Task<PowerStationImage> GetMainDisplayAsync(int powerStationId, string db_name)
|
||||||
{
|
{
|
||||||
PowerStationImage result;
|
PowerStationImage result;
|
||||||
using (IDbConnection conn = this._databaseHelper.GetConnection())
|
using (IDbConnection conn = this._databaseHelper.GetConnection())
|
||||||
{
|
{
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
var sql = $"SELECT * FROM power_station_image WHERE Deleted = 0 AND IsMainDisplay = 1 AND PowerStationId = @PowerStationId";
|
var sql = $"SELECT * FROM {db_name}.power_station_image WHERE Deleted = 0 AND IsMainDisplay = 1 AND PowerStationId = @PowerStationId";
|
||||||
|
|
||||||
result = await conn.QueryFirstOrDefaultAsync<PowerStationImage>(sql, new { PowerStationId = powerStationId });
|
result = await conn.QueryFirstOrDefaultAsync<PowerStationImage>(sql, new { PowerStationId = powerStationId });
|
||||||
}
|
}
|
||||||
@ -1046,8 +1131,9 @@ namespace SolarPower.Repository.Implement
|
|||||||
/// </summary>
|
/// </summary>
|
||||||
/// <param name="image"></param>
|
/// <param name="image"></param>
|
||||||
/// <param name="properties"></param>
|
/// <param name="properties"></param>
|
||||||
|
/// <param name="db_name"></param>
|
||||||
/// <returns></returns>
|
/// <returns></returns>
|
||||||
public async Task UpdatePowerStationImage(UpdataPowerStationImage image, List<string> properties)
|
public async Task UpdatePowerStationImage(UpdataPowerStationImage image, List<string> properties, string db_name)
|
||||||
{
|
{
|
||||||
using (IDbConnection conn = this._databaseHelper.GetConnection())
|
using (IDbConnection conn = this._databaseHelper.GetConnection())
|
||||||
{
|
{
|
||||||
@ -1056,7 +1142,7 @@ namespace SolarPower.Repository.Implement
|
|||||||
{
|
{
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
var sql = GenerateUpdateQueryWithCustomTable(properties, "power_station_image");
|
var sql = GenerateUpdateQueryWithCustomDBNameAndTable(properties, db_name, "power_station_image");
|
||||||
|
|
||||||
await conn.ExecuteAsync(sql, image, trans);
|
await conn.ExecuteAsync(sql, image, trans);
|
||||||
|
|
||||||
@ -1080,8 +1166,9 @@ namespace SolarPower.Repository.Implement
|
|||||||
/// </summary>
|
/// </summary>
|
||||||
/// <param name="entity"></param>
|
/// <param name="entity"></param>
|
||||||
/// <param name="properties"></param>
|
/// <param name="properties"></param>
|
||||||
|
/// <param name="db_name"></param>
|
||||||
/// <returns></returns>
|
/// <returns></returns>
|
||||||
public async Task<int> AddPowerStationSingleLineAsync(List<PowerStationSingleLine> entity, List<string> properties)
|
public async Task<int> AddPowerStationSingleLineAsync(List<PowerStationSingleLine> entity, List<string> properties, string db_name)
|
||||||
{
|
{
|
||||||
int count;
|
int count;
|
||||||
using (IDbConnection conn = _databaseHelper.GetConnection())
|
using (IDbConnection conn = _databaseHelper.GetConnection())
|
||||||
@ -1089,7 +1176,7 @@ namespace SolarPower.Repository.Implement
|
|||||||
conn.Open();
|
conn.Open();
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
string sql = GenerateInsertQueryWithCustomTable(properties, "power_station_single_line_diagram");
|
string sql = GenerateInsertQueryWithCustomDBNameAndTable(properties, db_name, "power_station_single_line_diagram");
|
||||||
|
|
||||||
count = await conn.ExecuteAsync(sql, entity);
|
count = await conn.ExecuteAsync(sql, entity);
|
||||||
}
|
}
|
||||||
@ -1110,15 +1197,16 @@ namespace SolarPower.Repository.Implement
|
|||||||
/// 電站管理 取得所有單線圖的資料
|
/// 電站管理 取得所有單線圖的資料
|
||||||
/// </summary>
|
/// </summary>
|
||||||
/// <param name="powerStationId"></param>
|
/// <param name="powerStationId"></param>
|
||||||
|
/// <param name="db_name"></param>
|
||||||
/// <returns></returns>
|
/// <returns></returns>
|
||||||
public async Task<List<PowerStationSingleLine>> GetAllPowerStationSingleLineAsync(int powerStationId)
|
public async Task<List<PowerStationSingleLine>> GetAllPowerStationSingleLineAsync(int powerStationId, string db_name)
|
||||||
{
|
{
|
||||||
List<PowerStationSingleLine> result;
|
List<PowerStationSingleLine> result;
|
||||||
using (IDbConnection conn = this._databaseHelper.GetConnection())
|
using (IDbConnection conn = this._databaseHelper.GetConnection())
|
||||||
{
|
{
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
var sql = $"SELECT * FROM power_station_single_line_diagram WHERE Deleted = 0 AND PowerStationId = @PowerStationId";
|
var sql = $"SELECT * FROM {db_name}.power_station_single_line_diagram WHERE Deleted = 0 AND PowerStationId = @PowerStationId";
|
||||||
|
|
||||||
result = (await conn.QueryAsync<PowerStationSingleLine>(sql, new { PowerStationId = powerStationId })).ToList();
|
result = (await conn.QueryAsync<PowerStationSingleLine>(sql, new { PowerStationId = powerStationId })).ToList();
|
||||||
}
|
}
|
||||||
@ -1134,15 +1222,16 @@ namespace SolarPower.Repository.Implement
|
|||||||
/// 電站管理 取得單一單線圖的資料
|
/// 電站管理 取得單一單線圖的資料
|
||||||
/// </summary>
|
/// </summary>
|
||||||
/// <param name="id"></param>
|
/// <param name="id"></param>
|
||||||
|
/// <param name="db_name"></param>
|
||||||
/// <returns></returns>
|
/// <returns></returns>
|
||||||
public async Task<PowerStationSingleLine> GetOnePowerStationSingleLineAsync(int id)
|
public async Task<PowerStationSingleLine> GetOnePowerStationSingleLineAsync(int id, string db_name)
|
||||||
{
|
{
|
||||||
PowerStationSingleLine result;
|
PowerStationSingleLine result;
|
||||||
using (IDbConnection conn = this._databaseHelper.GetConnection())
|
using (IDbConnection conn = this._databaseHelper.GetConnection())
|
||||||
{
|
{
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
var sql = $"SELECT * FROM power_station_single_line_diagram WHERE Deleted = 0 AND Id = @Id";
|
var sql = $"SELECT * FROM {db_name}.power_station_single_line_diagram WHERE Deleted = 0 AND Id = @Id";
|
||||||
|
|
||||||
result = await conn.QueryFirstOrDefaultAsync<PowerStationSingleLine>(sql, new { Id = id });
|
result = await conn.QueryFirstOrDefaultAsync<PowerStationSingleLine>(sql, new { Id = id });
|
||||||
}
|
}
|
||||||
@ -1158,8 +1247,9 @@ namespace SolarPower.Repository.Implement
|
|||||||
/// 軟刪除 單一單線圖
|
/// 軟刪除 單一單線圖
|
||||||
/// </summary>
|
/// </summary>
|
||||||
/// <param name="id"></param>
|
/// <param name="id"></param>
|
||||||
|
/// <param name="db_name"></param>
|
||||||
/// <returns></returns>
|
/// <returns></returns>
|
||||||
public async Task DeleteOnePowerStationSingleLine(int id)
|
public async Task DeleteOnePowerStationSingleLine(int id, string db_name)
|
||||||
{
|
{
|
||||||
using (IDbConnection conn = this._databaseHelper.GetConnection())
|
using (IDbConnection conn = this._databaseHelper.GetConnection())
|
||||||
{
|
{
|
||||||
@ -1168,7 +1258,7 @@ namespace SolarPower.Repository.Implement
|
|||||||
{
|
{
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
var sql = $"UPDATE power_station_single_line_diagram SET deleted = 1 WHERE id = @Id";
|
var sql = $"UPDATE {db_name}.power_station_single_line_diagram SET deleted = 1 WHERE id = @Id";
|
||||||
|
|
||||||
await conn.ExecuteAsync(sql, new { Id = id }, trans);
|
await conn.ExecuteAsync(sql, new { Id = id }, trans);
|
||||||
|
|
||||||
@ -1186,6 +1276,43 @@ namespace SolarPower.Repository.Implement
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
public async Task<List<SolarCityAmount>> GetSolarCitySummary(MyUser User)
|
||||||
|
{
|
||||||
|
using IDbConnection conn = _databaseHelper.GetConnection();
|
||||||
|
List<SolarCityAmount> solaramount = new List<SolarCityAmount>();
|
||||||
|
conn.Open();
|
||||||
|
var trans = conn.BeginTransaction();
|
||||||
|
try
|
||||||
|
{
|
||||||
|
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";
|
||||||
|
solaramount = (await conn.QueryAsync<SolarCityAmount>(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 ";
|
||||||
|
solaramount = (await conn.QueryAsync<SolarCityAmount>(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";
|
||||||
|
solaramount = (await conn.QueryAsync<SolarCityAmount>(sql, new { UserId = User.Id })).ToList();
|
||||||
|
trans.Commit();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
catch (Exception exception)
|
||||||
|
{
|
||||||
|
trans.Rollback();
|
||||||
|
throw exception;
|
||||||
|
}
|
||||||
|
finally
|
||||||
|
{
|
||||||
|
conn.Close();
|
||||||
|
}
|
||||||
|
return solaramount;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -1,6 +1,7 @@
|
|||||||
|
|
||||||
using Dapper;
|
using Dapper;
|
||||||
using SolarPower.Helper;
|
using SolarPower.Helper;
|
||||||
|
using SolarPower.Models;
|
||||||
using SolarPower.Repository.Interface;
|
using SolarPower.Repository.Interface;
|
||||||
using System;
|
using System;
|
||||||
using System.Collections.Generic;
|
using System.Collections.Generic;
|
||||||
@ -36,20 +37,26 @@ namespace SolarPower.Repository.Implement
|
|||||||
using (IDbConnection conn = _databaseHelper.GetConnection())
|
using (IDbConnection conn = _databaseHelper.GetConnection())
|
||||||
{
|
{
|
||||||
conn.Open();
|
conn.Open();
|
||||||
|
using (var trans = conn.BeginTransaction())
|
||||||
|
{
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
string sql = GenerateInsertQuery(properties);
|
string sql = GenerateInsertQuery(properties);
|
||||||
|
|
||||||
count = await conn.ExecuteAsync(sql, entity);
|
count = await conn.ExecuteAsync(sql, entity, trans);
|
||||||
|
|
||||||
|
trans.Commit();
|
||||||
}
|
}
|
||||||
catch (Exception exception)
|
catch (Exception exception)
|
||||||
{
|
{
|
||||||
|
trans.Rollback();
|
||||||
throw exception;
|
throw exception;
|
||||||
}
|
}
|
||||||
finally
|
finally
|
||||||
{
|
{
|
||||||
conn.Close();
|
conn.Close();
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
return count;
|
return count;
|
||||||
}
|
}
|
||||||
@ -67,22 +74,28 @@ namespace SolarPower.Repository.Implement
|
|||||||
using (IDbConnection conn = _databaseHelper.GetConnection())
|
using (IDbConnection conn = _databaseHelper.GetConnection())
|
||||||
{
|
{
|
||||||
conn.Open();
|
conn.Open();
|
||||||
|
using (var trans = conn.BeginTransaction())
|
||||||
|
{
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
string sql = GenerateInsertQuery(properties);
|
string sql = GenerateInsertQuery(properties);
|
||||||
|
|
||||||
sql += "SELECT LAST_INSERT_ID();";
|
sql += "SELECT LAST_INSERT_ID();";
|
||||||
|
|
||||||
id = (await conn.QueryAsync<int>(sql, entity)).Single();
|
id = (await conn.QueryAsync<int>(sql, entity, trans)).Single();
|
||||||
|
|
||||||
|
trans.Commit();
|
||||||
}
|
}
|
||||||
catch (Exception exception)
|
catch (Exception exception)
|
||||||
{
|
{
|
||||||
|
trans.Rollback();
|
||||||
throw exception;
|
throw exception;
|
||||||
}
|
}
|
||||||
finally
|
finally
|
||||||
{
|
{
|
||||||
conn.Close();
|
conn.Close();
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
return id;
|
return id;
|
||||||
}
|
}
|
||||||
@ -123,12 +136,13 @@ namespace SolarPower.Repository.Implement
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 透過Id,軟刪除單一筆資料(不同資料表)
|
/// 透過Id、db_name、table_name,刪除指定的資料庫之資料表的一筆資料
|
||||||
/// </summary>
|
/// </summary>
|
||||||
/// <param name="id"></param>
|
/// <param name="id"></param>
|
||||||
/// <param name="tablename"></param>
|
/// <param name="db_name"></param>
|
||||||
|
/// <param name="table_name"></param>
|
||||||
/// <returns></returns>
|
/// <returns></returns>
|
||||||
public virtual async Task DeleteOneOtherTable(int id,string table_name)
|
public virtual async Task DeleteOneByIdWithCustomDBNameAndTable(int id, string db_name, string table_name)
|
||||||
{
|
{
|
||||||
using (IDbConnection conn = this._databaseHelper.GetConnection())
|
using (IDbConnection conn = this._databaseHelper.GetConnection())
|
||||||
{
|
{
|
||||||
@ -137,7 +151,7 @@ namespace SolarPower.Repository.Implement
|
|||||||
{
|
{
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
var sql = $"UPDATE {table_name} SET deleted = 1 WHERE id = @Id";
|
var sql = $"UPDATE {db_name}.{table_name} SET Deleted = 1 WHERE Id = @Id";
|
||||||
|
|
||||||
await conn.ExecuteAsync(sql, new { Id = id }, trans);
|
await conn.ExecuteAsync(sql, new { Id = id }, trans);
|
||||||
|
|
||||||
@ -152,7 +166,6 @@ namespace SolarPower.Repository.Implement
|
|||||||
{
|
{
|
||||||
conn.Close();
|
conn.Close();
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -270,6 +283,56 @@ namespace SolarPower.Repository.Implement
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 透過name list,取得指定的多筆設定變數
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="names"></param>
|
||||||
|
/// <returns>回傳為字典格式</returns>
|
||||||
|
public virtual async Task<Dictionary<string, string>> GetDictVariableByNames(List<string> names)
|
||||||
|
{
|
||||||
|
Dictionary<string, string> dict;
|
||||||
|
using (IDbConnection conn = this._databaseHelper.GetConnection())
|
||||||
|
{
|
||||||
|
try
|
||||||
|
{
|
||||||
|
var sql = $"SELECT * FROM variable WHERE Name IN @Names";
|
||||||
|
|
||||||
|
var result = (await conn.QueryAsync<Variable>(sql, new { Names = names })).ToList();
|
||||||
|
|
||||||
|
dict = result.ToDictionary(x => x.Name, x => x.Value);
|
||||||
|
}
|
||||||
|
catch (Exception exception)
|
||||||
|
{
|
||||||
|
throw exception;
|
||||||
|
}
|
||||||
|
return dict;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 透過name,取得單一設定變數
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="name"></param>
|
||||||
|
/// <returns></returns>
|
||||||
|
public virtual async Task<string> GetOneVariableByName(string name)
|
||||||
|
{
|
||||||
|
string result;
|
||||||
|
using (IDbConnection conn = this._databaseHelper.GetConnection())
|
||||||
|
{
|
||||||
|
try
|
||||||
|
{
|
||||||
|
var sql = $"SELECT * FROM variable WHERE Name = @Name";
|
||||||
|
|
||||||
|
result = await conn.QueryFirstOrDefaultAsync<string>(sql, new { Name = name });
|
||||||
|
}
|
||||||
|
catch (Exception exception)
|
||||||
|
{
|
||||||
|
throw exception;
|
||||||
|
}
|
||||||
|
return result;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 產生Insert語句
|
/// 產生Insert語句
|
||||||
/// </summary>
|
/// </summary>
|
||||||
@ -303,7 +366,7 @@ namespace SolarPower.Repository.Implement
|
|||||||
/// <returns></returns>
|
/// <returns></returns>
|
||||||
protected string GenerateInsertQueryWithCustomTable(List<string> properties, string table_name)
|
protected string GenerateInsertQueryWithCustomTable(List<string> properties, string table_name)
|
||||||
{
|
{
|
||||||
var insertQuery = new StringBuilder($"INSERT INTO {table_name} ");
|
var insertQuery = new StringBuilder($"INSERT INTO `{table_name}` ");
|
||||||
|
|
||||||
insertQuery.Append("(");
|
insertQuery.Append("(");
|
||||||
|
|
||||||
@ -322,6 +385,34 @@ namespace SolarPower.Repository.Implement
|
|||||||
return insertQuery.ToString();
|
return insertQuery.ToString();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 產生Insert語句,可選擇自己要加入資料庫及資料表
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="properties"></param>
|
||||||
|
/// <param name="db_name">欲新增至目標資料庫</param>
|
||||||
|
/// <param name="table_name">欲新增至目標資料表</param>
|
||||||
|
/// <returns></returns>
|
||||||
|
protected string GenerateInsertQueryWithCustomDBNameAndTable(List<string> properties, string db_name, string table_name)
|
||||||
|
{
|
||||||
|
var insertQuery = new StringBuilder($"INSERT INTO `{db_name}`.`{table_name}` ");
|
||||||
|
|
||||||
|
insertQuery.Append("(");
|
||||||
|
|
||||||
|
properties.ForEach(prop => { insertQuery.Append($"`{table_name}`.{prop},"); });
|
||||||
|
|
||||||
|
insertQuery
|
||||||
|
.Remove(insertQuery.Length - 1, 1)
|
||||||
|
.Append(") VALUES (");
|
||||||
|
|
||||||
|
properties.ForEach(prop => { insertQuery.Append($"@{prop},"); });
|
||||||
|
|
||||||
|
insertQuery
|
||||||
|
.Remove(insertQuery.Length - 1, 1)
|
||||||
|
.Append(");");
|
||||||
|
|
||||||
|
return insertQuery.ToString();
|
||||||
|
}
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 產生Update語句
|
/// 產生Update語句
|
||||||
/// </summary>
|
/// </summary>
|
||||||
@ -368,6 +459,24 @@ namespace SolarPower.Repository.Implement
|
|||||||
|
|
||||||
return updateQuery.ToString();
|
return updateQuery.ToString();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
protected string GenerateUpdateQueryWithCustomDBNameAndTable(List<string> properties, string db_name, string table_name)
|
||||||
|
{
|
||||||
|
var updateQuery = new StringBuilder($"UPDATE {db_name}.{table_name} SET ");
|
||||||
|
|
||||||
|
properties.ForEach(property =>
|
||||||
|
{
|
||||||
|
if (!property.Equals("Id"))
|
||||||
|
{
|
||||||
|
updateQuery.Append($"{table_name}.{property}=@{property},");
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
updateQuery.Remove(updateQuery.Length - 1, 1); //remove last comma
|
||||||
|
updateQuery.Append(" WHERE id = @Id");
|
||||||
|
|
||||||
|
return updateQuery.ToString();
|
||||||
|
}
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 取資料庫當前流水號
|
/// 取資料庫當前流水號
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
|||||||
@ -1,4 +1,5 @@
|
|||||||
using SolarPower.Models.PowerStation;
|
using SolarPower.Models;
|
||||||
|
using SolarPower.Models.PowerStation;
|
||||||
using SolarPower.Models.User;
|
using SolarPower.Models.User;
|
||||||
using System;
|
using System;
|
||||||
using System.Collections.Generic;
|
using System.Collections.Generic;
|
||||||
@ -54,27 +55,39 @@ namespace SolarPower.Repository.Interface
|
|||||||
Task<string> GetLastSerialNumberByCityAreaIdAsync(int cityId, int areaId);
|
Task<string> GetLastSerialNumberByCityAreaIdAsync(int cityId, int areaId);
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 修改電站基本資訊
|
/// 新增電站資料至 主、子資料庫
|
||||||
/// </summary>
|
/// </summary>
|
||||||
/// <param name="entity"></param>
|
/// <param name="entity"></param>
|
||||||
/// <param name="properties"></param>
|
/// <param name="properties"></param>
|
||||||
|
/// <param name="db_name"></param>
|
||||||
/// <returns></returns>
|
/// <returns></returns>
|
||||||
Task UpdatePowerStationInfo(UpdatePowerStationInfo entity, List<string> properties);
|
Task<int> AddOnePowerStationAsync(PowerStation entity, List<string> properties, string db_name);
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 修改能源局與台電資訊
|
/// 修改主、子資料庫電站基本資訊
|
||||||
/// </summary>
|
/// </summary>
|
||||||
/// <param name="entity"></param>
|
/// <param name="entity"></param>
|
||||||
/// <param name="properties"></param>
|
/// <param name="properties"></param>
|
||||||
|
/// <param name="db_name"></param>
|
||||||
/// <returns></returns>
|
/// <returns></returns>
|
||||||
Task UpdateBoETPCInfo(UpdateBoETPCInfo entity, List<string> properties);
|
Task UpdatePowerStationInfo(UpdatePowerStationInfo entity, List<string> properties, string db_name);
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 修改主、子資料庫能源局與台電資訊
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="entity"></param>
|
||||||
|
/// <param name="properties"></param>
|
||||||
|
/// <param name="db_name"></param>
|
||||||
|
/// <returns></returns>
|
||||||
|
Task UpdateBoETPCInfo(UpdateBoETPCInfo entity, List<string> properties, string db_name);
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 取得 土地房屋資訊
|
/// 取得 土地房屋資訊
|
||||||
/// </summary>
|
/// </summary>
|
||||||
/// <param name="id"></param>
|
/// <param name="id"></param>
|
||||||
|
/// <param name="db_name"></param>
|
||||||
/// <returns></returns>
|
/// <returns></returns>
|
||||||
Task<LandBuilding> GetOneLandBuildingInfo(int id);
|
Task<LandBuilding> GetOneLandBuildingInfo(int id, string db_name);
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 新增 土地房屋資訊
|
/// 新增 土地房屋資訊
|
||||||
@ -82,53 +95,65 @@ namespace SolarPower.Repository.Interface
|
|||||||
/// <param name="entity"></param>
|
/// <param name="entity"></param>
|
||||||
/// <param name="properties"></param>
|
/// <param name="properties"></param>
|
||||||
/// <returns></returns>
|
/// <returns></returns>
|
||||||
Task<int> AddOneLandBuildingInfo(LandBuilding entity, List<string> properties);
|
Task<int> AddOneLandBuildingInfo(LandBuilding entity, List<string> properties, string db_name);
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 更新 土地房屋資訊
|
/// 更新 土地房屋資訊
|
||||||
/// </summary>
|
/// </summary>
|
||||||
/// <param name="entity"></param>
|
/// <param name="entity"></param>
|
||||||
/// <param name="properties"></param>
|
/// <param name="properties"></param>
|
||||||
|
/// <param name="db_name"></param>
|
||||||
/// <returns></returns>
|
/// <returns></returns>
|
||||||
Task UpdateLandBuildingInfo(UpdateLandBuilding entity, List<string> properties);
|
Task UpdateLandBuildingInfo(UpdateLandBuilding entity, List<string> properties, string db_name);
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 軟刪除土地房屋資訊
|
/// 軟刪除土地房屋資訊
|
||||||
/// </summary>
|
/// </summary>
|
||||||
/// <param name="id"></param>
|
/// <param name="id"></param>
|
||||||
|
/// <param name="db_name"></param>
|
||||||
/// <returns></returns>
|
/// <returns></returns>
|
||||||
Task DeleteOneLandBuildingInfo(int id);
|
Task DeleteOneLandBuildingInfo(int id, string db_name);
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 新增運維
|
/// 新增運維
|
||||||
/// </summary>
|
/// </summary>
|
||||||
/// <param name="operation"></param>
|
/// <param name="operation"></param>
|
||||||
/// <param name="properties"></param>
|
/// <param name="properties"></param>
|
||||||
|
/// <param name="db_name"></param>
|
||||||
/// <returns></returns>
|
/// <returns></returns>
|
||||||
Task<int> AddOperation(OperationInfo operation, List<string> properties);
|
Task<int> AddOperation(OperationInfo operation, List<string> properties, string db_name);
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 運維dataTable
|
/// 運維dataTable
|
||||||
/// </summary>
|
/// </summary>
|
||||||
/// <param name="stationId"></param>
|
/// <param name="stationId"></param>
|
||||||
|
/// <param name="db_name"></param>
|
||||||
/// <returns></returns>
|
/// <returns></returns>
|
||||||
Task<List<OperationTable>> OperationTable (int stationId);
|
Task<List<OperationTable>> OperationTable (int stationId, string db_name);
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 取一筆運維
|
/// 取一筆運維
|
||||||
/// </summary>
|
/// </summary>
|
||||||
/// <param name="stationId"></param>
|
/// <param name="stationId"></param>
|
||||||
|
/// <param name="db_name"></param>
|
||||||
/// <returns></returns>
|
/// <returns></returns>
|
||||||
Task<OperationInfo> OneOperationInfo (int stationId);
|
Task<OperationInfo> OneOperationInfo (int stationId, string db_name);
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 更新運維
|
/// 更新運維
|
||||||
/// </summary>
|
/// </summary>
|
||||||
/// <param name="operation"></param>
|
/// <param name="operation"></param>
|
||||||
/// <param name="properties"></param>
|
/// <param name="properties"></param>
|
||||||
|
/// <param name="db_name"></param>
|
||||||
/// <returns></returns>
|
/// <returns></returns>
|
||||||
Task UpdateOperation(OperationInfo operation, List<string> properties);
|
Task UpdateOperation(OperationInfo operation, List<string> properties, string db_name);
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 裝置類型下拉式選單
|
/// 裝置類型下拉式選單
|
||||||
/// </summary>
|
/// </summary>
|
||||||
/// <returns></returns>
|
/// <returns></returns>
|
||||||
Task<List<UserSelectItemList>> DeviceType();
|
Task<List<UserSelectItemList>> DeviceType();
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 新增 裝置
|
/// 新增 裝置
|
||||||
/// </summary>
|
/// </summary>
|
||||||
@ -155,12 +180,14 @@ namespace SolarPower.Repository.Interface
|
|||||||
/// <param name="stationId"></param>
|
/// <param name="stationId"></param>
|
||||||
/// <returns></returns>
|
/// <returns></returns>
|
||||||
Task<List<ExceptionTable>> ExceptionTable(int stationId);
|
Task<List<ExceptionTable>> ExceptionTable(int stationId);
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 取單一筆DeviceInfo
|
/// 取單一筆DeviceInfo
|
||||||
/// </summary>
|
/// </summary>
|
||||||
/// <param name="id"></param>
|
/// <param name="id"></param>
|
||||||
/// <returns></returns>
|
/// <returns></returns>
|
||||||
Task<DeviceInfo> OneDeviceInfo(int id);
|
Task<DeviceInfo> OneDeviceInfo(int id);
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 新增 異常設定
|
/// 新增 異常設定
|
||||||
/// </summary>
|
/// </summary>
|
||||||
@ -168,12 +195,14 @@ namespace SolarPower.Repository.Interface
|
|||||||
/// <param name="properties"></param>
|
/// <param name="properties"></param>
|
||||||
/// <returns></returns>
|
/// <returns></returns>
|
||||||
Task AddException(ExceptionModal Exception, List<string> properties);
|
Task AddException(ExceptionModal Exception, List<string> properties);
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 取一筆異常設定
|
/// 取一筆異常設定
|
||||||
/// </summary>
|
/// </summary>
|
||||||
/// <param name="id"></param>
|
/// <param name="id"></param>
|
||||||
/// <returns></returns>
|
/// <returns></returns>
|
||||||
Task<ExceptionModal> OneException(int id);
|
Task<ExceptionModal> OneException(int id);
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 更新異常設定
|
/// 更新異常設定
|
||||||
/// </summary>
|
/// </summary>
|
||||||
@ -181,6 +210,7 @@ namespace SolarPower.Repository.Interface
|
|||||||
/// <param name="properties"></param>
|
/// <param name="properties"></param>
|
||||||
/// <returns></returns>
|
/// <returns></returns>
|
||||||
Task UpdateException(ExceptionModal Exception, List<string> properties);
|
Task UpdateException(ExceptionModal Exception, List<string> properties);
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 取最後一個設備流水號
|
/// 取最後一個設備流水號
|
||||||
/// </summary>
|
/// </summary>
|
||||||
@ -193,95 +223,108 @@ namespace SolarPower.Repository.Interface
|
|||||||
/// 透過電站編號,取得該電站的運維人員編號
|
/// 透過電站編號,取得該電站的運維人員編號
|
||||||
/// </summary>
|
/// </summary>
|
||||||
/// <param name="powerStationId"></param>
|
/// <param name="powerStationId"></param>
|
||||||
|
/// <param name="db_name"></param>
|
||||||
/// <returns></returns>
|
/// <returns></returns>
|
||||||
Task<List<int>> GetOperationPersonnelIdsByPowerStatioinId(int powerStationId);
|
Task<List<int>> GetOperationPersonnelIdsByPowerStatioinId(int powerStationId, string db_name);
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 新增電站運維人員
|
/// 新增電站運維人員
|
||||||
/// </summary>
|
/// </summary>
|
||||||
/// <param name="entity"></param>
|
/// <param name="entity"></param>
|
||||||
/// <param name="properties"></param>
|
/// <param name="properties"></param>
|
||||||
|
/// <param name="db_name"></param>
|
||||||
/// <returns></returns>
|
/// <returns></returns>
|
||||||
Task<int> AddOperationPersonnelAsync(List<PowerStationOperationPersonnel> entity, List<string> properties);
|
Task<int> AddOperationPersonnelAsync(List<PowerStationOperationPersonnel> entity, List<string> properties, string db_name);
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 軟刪除電站運維人員
|
/// 軟刪除電站運維人員
|
||||||
/// </summary>
|
/// </summary>
|
||||||
/// <param name="operationPersonnels"></param>
|
/// <param name="operationPersonnels"></param>
|
||||||
|
/// <param name="db_name"></param>
|
||||||
/// <returns></returns>
|
/// <returns></returns>
|
||||||
Task DeleteOperationPersonnel(List<PowerStationOperationPersonnel> operationPersonnels);
|
Task DeleteOperationPersonnel(List<PowerStationOperationPersonnel> operationPersonnels, string db_name);
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 電站管理 新增電站圖片
|
/// 電站管理 新增電站圖片
|
||||||
/// </summary>
|
/// </summary>
|
||||||
/// <param name="entity"></param>
|
/// <param name="entity"></param>
|
||||||
/// <param name="properties"></param>
|
/// <param name="properties"></param>
|
||||||
|
/// <param name="db_name"></param>
|
||||||
/// <returns></returns>
|
/// <returns></returns>
|
||||||
Task<int> AddPowerStationImageAsync(List<PowerStationImage> entity, List<string> properties);
|
Task<int> AddPowerStationImageAsync(List<PowerStationImage> entity, List<string> properties, string db_name);
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 電站管理 取得所有電站圖片的資料
|
/// 電站管理 取得所有電站圖片的資料
|
||||||
/// </summary>
|
/// </summary>
|
||||||
/// <param name="powerStationId"></param>
|
/// <param name="powerStationId"></param>
|
||||||
|
/// <param name="db_name"></param>
|
||||||
/// <returns></returns>
|
/// <returns></returns>
|
||||||
Task<List<PowerStationImage>> GetAllPowerStationImageAsync(int powerStationId);
|
Task<List<PowerStationImage>> GetAllPowerStationImageAsync(int powerStationId, string db_name);
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 電站管理 取得單一電站圖片的資料
|
/// 電站管理 取得單一電站圖片的資料
|
||||||
/// </summary>
|
/// </summary>
|
||||||
/// <param name="id"></param>
|
/// <param name="id"></param>
|
||||||
|
/// <param name="db_name"></param>
|
||||||
/// <returns></returns>
|
/// <returns></returns>
|
||||||
Task<PowerStationImage> GetOnePowerStationImageAsync(int id);
|
Task<PowerStationImage> GetOnePowerStationImageAsync(int id, string db_name);
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 軟刪除 單一電站圖片
|
/// 軟刪除 單一電站圖片
|
||||||
/// </summary>
|
/// </summary>
|
||||||
/// <param name="id"></param>
|
/// <param name="id"></param>
|
||||||
|
/// <param name="db_name"></param>
|
||||||
/// <returns></returns>
|
/// <returns></returns>
|
||||||
Task DeleteOnePowerStationImage(int id);
|
Task DeleteOnePowerStationImage(int id, string db_name);
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 電站管理 取得主要卡片顯示圖
|
/// 電站管理 取得主要卡片顯示圖
|
||||||
/// </summary>
|
/// </summary>
|
||||||
/// <param name="powerStationId"></param>
|
/// <param name="powerStationId"></param>
|
||||||
|
/// <param name="db_name"></param>
|
||||||
/// <returns></returns>
|
/// <returns></returns>
|
||||||
Task<PowerStationImage> GetMainDisplayAsync(int powerStationId);
|
Task<PowerStationImage> GetMainDisplayAsync(int powerStationId, string db_name);
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 電站管理 更新上傳圖片
|
/// 電站管理 更新上傳圖片
|
||||||
/// </summary>
|
/// </summary>
|
||||||
/// <param name="image"></param>
|
/// <param name="image"></param>
|
||||||
/// <param name="properties"></param>
|
/// <param name="properties"></param>
|
||||||
|
/// <param name="db_name"></param>
|
||||||
/// <returns></returns>
|
/// <returns></returns>
|
||||||
Task UpdatePowerStationImage(UpdataPowerStationImage image, List<string> properties);
|
Task UpdatePowerStationImage(UpdataPowerStationImage image, List<string> properties, string db_name);
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 電站管理 新增單線圖
|
/// 電站管理 新增單線圖
|
||||||
/// </summary>
|
/// </summary>
|
||||||
/// <param name="entity"></param>
|
/// <param name="entity"></param>
|
||||||
/// <param name="properties"></param>
|
/// <param name="properties"></param>
|
||||||
|
/// <param name="db_name"></param>
|
||||||
/// <returns></returns>
|
/// <returns></returns>
|
||||||
Task<int> AddPowerStationSingleLineAsync(List<PowerStationSingleLine> entity, List<string> properties);
|
Task<int> AddPowerStationSingleLineAsync(List<PowerStationSingleLine> entity, List<string> properties, string db_name);
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 電站管理 取得所有單線圖的資料
|
/// 電站管理 取得所有單線圖的資料
|
||||||
/// </summary>
|
/// </summary>
|
||||||
/// <param name="powerStationId"></param>
|
/// <param name="powerStationId"></param>
|
||||||
|
/// <param name="db_name"></param>
|
||||||
/// <returns></returns>
|
/// <returns></returns>
|
||||||
Task<List<PowerStationSingleLine>> GetAllPowerStationSingleLineAsync(int powerStationId);
|
Task<List<PowerStationSingleLine>> GetAllPowerStationSingleLineAsync(int powerStationId, string db_name);
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 電站管理 取得單一單線圖的資料
|
/// 電站管理 取得單一單線圖的資料
|
||||||
/// </summary>
|
/// </summary>
|
||||||
/// <param name="id"></param>
|
/// <param name="id"></param>
|
||||||
|
/// <param name="db_name"></param>
|
||||||
/// <returns></returns>
|
/// <returns></returns>
|
||||||
Task<PowerStationSingleLine> GetOnePowerStationSingleLineAsync(int id);
|
Task<PowerStationSingleLine> GetOnePowerStationSingleLineAsync(int id, string db_name);
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 軟刪除 單一單線圖
|
/// 軟刪除 單一單線圖
|
||||||
/// </summary>
|
/// </summary>
|
||||||
/// <param name="id"></param>
|
/// <param name="id"></param>
|
||||||
|
/// <param name="db_name"></param>
|
||||||
/// <returns></returns>
|
/// <returns></returns>
|
||||||
Task DeleteOnePowerStationSingleLine(int id);
|
Task DeleteOnePowerStationSingleLine(int id, string db_name);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -36,7 +36,6 @@ namespace SolarPower.Repository.Interface
|
|||||||
/// <returns></returns>
|
/// <returns></returns>
|
||||||
Task<int> AddOneAsync(T entity, List<string> properties);
|
Task<int> AddOneAsync(T entity, List<string> properties);
|
||||||
|
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 修改資料
|
/// 修改資料
|
||||||
/// </summary>
|
/// </summary>
|
||||||
@ -58,13 +57,30 @@ namespace SolarPower.Repository.Interface
|
|||||||
/// <param name="Id"></param>
|
/// <param name="Id"></param>
|
||||||
/// <returns></returns>
|
/// <returns></returns>
|
||||||
Task PurgeOneAsync(int id);
|
Task PurgeOneAsync(int id);
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 透過Id,軟刪除單一筆資料(不同資料表)
|
/// 透過Id、db_name、table_name,刪除指定的資料庫之資料表的一筆資料
|
||||||
/// </summary>
|
/// </summary>
|
||||||
/// <param name="id"></param>
|
/// <param name="id"></param>
|
||||||
/// <param name="tablename"></param>
|
/// <param name="db_name"></param>
|
||||||
|
/// <param name="table_name"></param>
|
||||||
/// <returns></returns>
|
/// <returns></returns>
|
||||||
Task DeleteOneOtherTable(int id, string tablename);
|
Task DeleteOneByIdWithCustomDBNameAndTable(int id, string db_name, string table_name);
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 透過name list,取得指定的多筆設定變數
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="names"></param>
|
||||||
|
/// <returns>回傳為字典格式</returns>
|
||||||
|
Task<Dictionary<string, string>> GetDictVariableByNames(List<string> names);
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 透過name,取得單一設定變數
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="name"></param>
|
||||||
|
/// <returns></returns>
|
||||||
|
Task<string> GetOneVariableByName(string name);
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 取資料庫最後流水號
|
/// 取資料庫最後流水號
|
||||||
/// </summary>
|
/// </summary>
|
||||||
@ -72,6 +88,5 @@ namespace SolarPower.Repository.Interface
|
|||||||
/// <param name="where"></param>
|
/// <param name="where"></param>
|
||||||
/// <returns></returns>
|
/// <returns></returns>
|
||||||
Task<String> GetCurrentSerialNumber(string Table_name, string where);
|
Task<String> GetCurrentSerialNumber(string Table_name, string where);
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -1,7 +1,7 @@
|
|||||||
@{
|
@{
|
||||||
ViewData["MainNum"] = "6";
|
ViewData["MainNum"] = "7";
|
||||||
ViewData["SubNum"] = "2";
|
ViewData["SubNum"] = "1";
|
||||||
ViewData["Title"] = "客戶公司管理";
|
ViewData["Title"] = "公司管理";
|
||||||
}
|
}
|
||||||
@using SolarPower.Models.Role
|
@using SolarPower.Models.Role
|
||||||
@model RoleLayerEnum
|
@model RoleLayerEnum
|
||||||
|
|||||||
@ -1,7 +1,7 @@
|
|||||||
@{
|
@{
|
||||||
ViewData["MainNum"] = "6";
|
ViewData["MainNum"] = "2";
|
||||||
ViewData["SubNum"] = "1";
|
ViewData["SubNum"] = "1";
|
||||||
ViewData["Title"] = "電站資料管理";
|
ViewData["Title"] = "電站管理";
|
||||||
}
|
}
|
||||||
|
|
||||||
<ol class="breadcrumb page-breadcrumb">
|
<ol class="breadcrumb page-breadcrumb">
|
||||||
@ -410,7 +410,30 @@
|
|||||||
$(function () {
|
$(function () {
|
||||||
|
|
||||||
var localurl = this.location.href;
|
var localurl = this.location.href;
|
||||||
//電站區域Tab要佳LI
|
|
||||||
|
//#region 電站區域Tab
|
||||||
|
|
||||||
|
|
||||||
|
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');
|
||||||
|
|
||||||
|
|
||||||
|
//#endregion
|
||||||
|
|
||||||
|
//電站區域
|
||||||
$('#templateAreaTab').find('li').attr('id', 'AreaTabnewtaipei').clone().appendTo($('#areaTab'));
|
$('#templateAreaTab').find('li').attr('id', 'AreaTabnewtaipei').clone().appendTo($('#areaTab'));
|
||||||
$('#AreaTabnewtaipei').find('a').attr('href', '#tab-newtaipei');
|
$('#AreaTabnewtaipei').find('a').attr('href', '#tab-newtaipei');
|
||||||
$('#AreaTabnewtaipei').find('a').attr('class', 'nav-link fs-lg px-4');
|
$('#AreaTabnewtaipei').find('a').attr('class', 'nav-link fs-lg px-4');
|
||||||
|
|||||||
@ -1,5 +1,5 @@
|
|||||||
@{
|
@{
|
||||||
ViewData["MainNum"] = "6";
|
ViewData["MainNum"] = "2";
|
||||||
ViewData["SubNum"] = "1";
|
ViewData["SubNum"] = "1";
|
||||||
ViewData["Title"] = "電站資料管理";
|
ViewData["Title"] = "電站資料管理";
|
||||||
}
|
}
|
||||||
@ -96,6 +96,76 @@
|
|||||||
$(function () {
|
$(function () {
|
||||||
var url = new URL(location.href);
|
var url = new URL(location.href);
|
||||||
stationId = url.searchParams.get('stationId');
|
stationId = url.searchParams.get('stationId');
|
||||||
|
|
||||||
|
//#region 電站資料 view 控制
|
||||||
|
if (stationId == 'new') {
|
||||||
|
//#region 電站基本資料
|
||||||
|
$("#address_detail_text").hide();
|
||||||
|
$("#power_station_code_text").hide();
|
||||||
|
$("#power_station_name_text").hide();
|
||||||
|
$("#electricity_meter_at_text").hide();
|
||||||
|
$("#estimated_recovery_time_text").hide();
|
||||||
|
$("#created_by_text").hide();
|
||||||
|
|
||||||
|
$("#generating_capacity_text").hide();
|
||||||
|
$("#escrow_name_text").hide();
|
||||||
|
$("#power_rate_text").hide();
|
||||||
|
$("#coordinate_text").hide();
|
||||||
|
$("#created_at_text").hide();
|
||||||
|
|
||||||
|
//逆變器
|
||||||
|
$("#inverter_brand_text").hide();
|
||||||
|
$("#inverter_product_model_text").hide();
|
||||||
|
$("#inverter_amount_text").hide();
|
||||||
|
|
||||||
|
//光電板
|
||||||
|
$("#photovoltaic_panel_brand_text").hide();
|
||||||
|
$("#photovoltaic_panel_specification_text").hide();
|
||||||
|
$("#photovoltaic_panel_amount_text").hide();
|
||||||
|
$("#photovoltaic_panel_product_model_text").hide();
|
||||||
|
//#endregion
|
||||||
|
|
||||||
|
$("#edit-station-info-btn").hide();
|
||||||
|
$("#canecl-station-info-btn").hide();
|
||||||
|
$("#check_escrow").attr('disabled', false);
|
||||||
|
|
||||||
|
$("#BoEPart").hide();
|
||||||
|
$("#land_buildingPart").hide();
|
||||||
|
|
||||||
|
$("#tablist").hide();
|
||||||
|
$("#tablist").find(".nav-item > a").first().click();
|
||||||
|
} else {
|
||||||
|
var url = "/PowerStation/GetOnePowerStation"
|
||||||
|
|
||||||
|
var send_data = {
|
||||||
|
id: stationId
|
||||||
|
}
|
||||||
|
|
||||||
|
$.post(url, send_data, function (rel) {
|
||||||
|
if (rel.code != "0000") {
|
||||||
|
toast_error(rel.msg);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
powerStationData = rel.data;
|
||||||
|
|
||||||
|
//#region 電站基本資料
|
||||||
|
ChangeMode("station_info", "view");
|
||||||
|
SetStationInfo();
|
||||||
|
//#endregion
|
||||||
|
|
||||||
|
//#region 能源局與台電資料
|
||||||
|
ChangeMode("BOE_TPC", "view");
|
||||||
|
SetBoETPCInfo();
|
||||||
|
//#endregion
|
||||||
|
|
||||||
|
//#region 土地與房屋資料
|
||||||
|
ChangeMode("land_building_info", "view");
|
||||||
|
SetLandBuildingInfo();
|
||||||
|
//#endregion
|
||||||
|
|
||||||
|
}, 'json');
|
||||||
|
|
||||||
//#region 運維列表 DataTable
|
//#region 運維列表 DataTable
|
||||||
OperationTable = $("#Operation_table").DataTable({
|
OperationTable = $("#Operation_table").DataTable({
|
||||||
"paging": true,
|
"paging": true,
|
||||||
@ -280,10 +350,10 @@
|
|||||||
"data": "powerStationName"
|
"data": "powerStationName"
|
||||||
}, {
|
}, {
|
||||||
"data": "typeName"
|
"data": "typeName"
|
||||||
}, {
|
|
||||||
"data": "upperLimit"
|
|
||||||
}, {
|
}, {
|
||||||
"data": "lowerLimit"
|
"data": "lowerLimit"
|
||||||
|
}, {
|
||||||
|
"data": "upperLimit"
|
||||||
}, {
|
}, {
|
||||||
"data": "alarmName"
|
"data": "alarmName"
|
||||||
}, {
|
}, {
|
||||||
@ -347,74 +417,57 @@
|
|||||||
});
|
});
|
||||||
//#endregion
|
//#endregion
|
||||||
|
|
||||||
//#region 電站資料 view 控制
|
//#region 載入上傳資料 - 電站圖片
|
||||||
if (stationId == 'new') {
|
var url_image = "/PowerStation/GetAllPowerStationImage";
|
||||||
//#region 電站基本資料
|
|
||||||
$("#address_detail_text").hide();
|
|
||||||
$("#power_station_code_text").hide();
|
|
||||||
$("#power_station_name_text").hide();
|
|
||||||
$("#electricity_meter_at_text").hide();
|
|
||||||
$("#estimated_recovery_time_text").hide();
|
|
||||||
$("#created_by_text").hide();
|
|
||||||
|
|
||||||
$("#generating_capacity_text").hide();
|
|
||||||
$("#escrow_name_text").hide();
|
|
||||||
$("#power_rate_text").hide();
|
|
||||||
$("#coordinate_text").hide();
|
|
||||||
$("#created_at_text").hide();
|
|
||||||
|
|
||||||
//逆變器
|
|
||||||
$("#inverter_brand_text").hide();
|
|
||||||
$("#inverter_product_model_text").hide();
|
|
||||||
$("#inverter_amount_text").hide();
|
|
||||||
|
|
||||||
//光電板
|
|
||||||
$("#photovoltaic_panel_brand_text").hide();
|
|
||||||
$("#photovoltaic_panel_specification_text").hide();
|
|
||||||
$("#photovoltaic_panel_amount_text").hide();
|
|
||||||
$("#photovoltaic_panel_product_model_text").hide();
|
|
||||||
//#endregion
|
|
||||||
|
|
||||||
$("#edit-station-info-btn").hide();
|
|
||||||
$("#canecl-station-info-btn").hide();
|
|
||||||
$("#check_escrow").attr('disabled', false);
|
|
||||||
|
|
||||||
$("#BoEPart").hide();
|
|
||||||
$("#land_buildingPart").hide();
|
|
||||||
|
|
||||||
$("#tablist").hide();
|
|
||||||
$("#tablist").find(".nav-item > a").first().click();
|
|
||||||
} else {
|
|
||||||
var url = "/PowerStation/GetOnePowerStation"
|
|
||||||
|
|
||||||
var send_data = {
|
var send_data = {
|
||||||
id: stationId
|
powerStationId: stationId
|
||||||
}
|
};
|
||||||
|
|
||||||
$.post(url, send_data, function (rel) {
|
$.post(url_image, send_data, function (rel) {
|
||||||
if (rel.code != "0000") {
|
if (rel.code != "0000") {
|
||||||
toast_error(rel.msg);
|
toast_error(rel.msg);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
powerStationData = rel.data;
|
var powerStationImages = rel.data;
|
||||||
|
|
||||||
//#region 電站基本資料
|
countPowerStationImage = powerStationImages.length;
|
||||||
ChangeMode("station_info", "view");
|
|
||||||
SetStationInfo();
|
|
||||||
//#endregion
|
|
||||||
|
|
||||||
//#region 能源局與台電資料
|
powerStationSingleLineCard = $("#power-station-image-card > .row");
|
||||||
ChangeMode("BOE_TPC", "view");
|
powerStationSingleLineCard.empty();
|
||||||
SetBoETPCInfo();
|
rel.data.forEach(function (value, index) {
|
||||||
//#endregion
|
CreatePowerStationSingleLineBox(powerStationSingleLineCard, value);
|
||||||
|
});
|
||||||
//#region 土地與房屋資料
|
|
||||||
ChangeMode("land_building_info", "view");
|
|
||||||
SetLandBuildingInfo();
|
|
||||||
//#endregion
|
|
||||||
|
|
||||||
}, 'json');
|
}, 'json');
|
||||||
|
//#endregion
|
||||||
|
|
||||||
|
//#region 載入上傳資料 - 單線圖
|
||||||
|
var url_image = "/PowerStation/GetAllPowerStationSingleLine";
|
||||||
|
var send_data = {
|
||||||
|
powerStationId: stationId
|
||||||
|
};
|
||||||
|
|
||||||
|
$.post(url_image, send_data, function (rel) {
|
||||||
|
if (rel.code != "0000") {
|
||||||
|
toast_error(rel.msg);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
var powerStationSingleLines = rel.data;
|
||||||
|
|
||||||
|
countPowerStationSingleLine = powerStationSingleLines.length;
|
||||||
|
|
||||||
|
powerStationSingleLineCard = $("#power-station-single-line-card > .row");
|
||||||
|
powerStationSingleLineCard.empty();
|
||||||
|
rel.data.forEach(function (value, index) {
|
||||||
|
CreatePowerStationSingleLineBox(powerStationSingleLineCard, value);
|
||||||
|
});
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
}, 'json');
|
||||||
|
//#endregion
|
||||||
}
|
}
|
||||||
//#endregion
|
//#endregion
|
||||||
|
|
||||||
@ -509,59 +562,6 @@
|
|||||||
});
|
});
|
||||||
});
|
});
|
||||||
//#endregion
|
//#endregion
|
||||||
|
|
||||||
//#region 載入上傳資料 - 電站圖片
|
|
||||||
var url_image = "/PowerStation/GetAllPowerStationImage";
|
|
||||||
var send_data = {
|
|
||||||
powerStationId: stationId
|
|
||||||
};
|
|
||||||
|
|
||||||
$.post(url_image, send_data, function (rel) {
|
|
||||||
if (rel.code != "0000") {
|
|
||||||
toast_error(rel.msg);
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
var powerStationImages = rel.data;
|
|
||||||
|
|
||||||
countPowerStationImage = powerStationImages.length;
|
|
||||||
|
|
||||||
powerStationSingleLineCard = $("#power-station-image-card > .row");
|
|
||||||
powerStationSingleLineCard.empty();
|
|
||||||
rel.data.forEach(function (value, index) {
|
|
||||||
CreatePowerStationSingleLineBox(powerStationSingleLineCard, value);
|
|
||||||
});
|
|
||||||
|
|
||||||
}, 'json');
|
|
||||||
//#endregion
|
|
||||||
|
|
||||||
//#region 載入上傳資料 - 單線圖
|
|
||||||
var url_image = "/PowerStation/GetAllPowerStationSingleLine";
|
|
||||||
var send_data = {
|
|
||||||
powerStationId: stationId
|
|
||||||
};
|
|
||||||
|
|
||||||
$.post(url_image, send_data, function (rel) {
|
|
||||||
if (rel.code != "0000") {
|
|
||||||
toast_error(rel.msg);
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
var powerStationSingleLines = rel.data;
|
|
||||||
|
|
||||||
countPowerStationSingleLine = powerStationSingleLines.length;
|
|
||||||
|
|
||||||
powerStationSingleLineCard = $("#power-station-single-line-card > .row");
|
|
||||||
powerStationSingleLineCard.empty();
|
|
||||||
rel.data.forEach(function (value, index) {
|
|
||||||
CreatePowerStationSingleLineBox(powerStationSingleLineCard, value);
|
|
||||||
});
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
}, 'json');
|
|
||||||
//#endregion
|
|
||||||
|
|
||||||
});
|
});
|
||||||
|
|
||||||
//#region 代管切換
|
//#region 代管切換
|
||||||
@ -1340,7 +1340,8 @@
|
|||||||
if (result.value) {
|
if (result.value) {
|
||||||
var url = "/PowerStation/DeleteLandBuildingInfo";
|
var url = "/PowerStation/DeleteLandBuildingInfo";
|
||||||
var send_data = {
|
var send_data = {
|
||||||
Id: selectedLandBuildingId
|
SelectedId: selectedLandBuildingId,
|
||||||
|
PowerStationId: stationId
|
||||||
}
|
}
|
||||||
$.post(url, send_data, function (rel) {
|
$.post(url, send_data, function (rel) {
|
||||||
if (rel.code != "0000") {
|
if (rel.code != "0000") {
|
||||||
@ -1428,10 +1429,10 @@
|
|||||||
var url = "/PowerStation/GetOneOperation/";
|
var url = "/PowerStation/GetOneOperation/";
|
||||||
|
|
||||||
var send_data = {
|
var send_data = {
|
||||||
id: selected_id
|
SelectedId: selected_id,
|
||||||
|
PowerStationId: stationId
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
$.post(url, send_data, function (rel) {
|
$.post(url, send_data, function (rel) {
|
||||||
if (rel.code != "0000") {
|
if (rel.code != "0000") {
|
||||||
toast_error(rel.msg);
|
toast_error(rel.msg);
|
||||||
@ -1465,9 +1466,12 @@
|
|||||||
}).then(function (result) {
|
}).then(function (result) {
|
||||||
if (result.value) {
|
if (result.value) {
|
||||||
var url = "/PowerStation/DeleteOneOperation/";
|
var url = "/PowerStation/DeleteOneOperation/";
|
||||||
|
|
||||||
var send_data = {
|
var send_data = {
|
||||||
Id: selected_id
|
SelectedId: selected_id,
|
||||||
|
PowerStationId: stationId
|
||||||
}
|
}
|
||||||
|
|
||||||
$.post(url, send_data, function (rel) {
|
$.post(url, send_data, function (rel) {
|
||||||
if (rel.code != "0000") {
|
if (rel.code != "0000") {
|
||||||
toast_error(rel.msg);
|
toast_error(rel.msg);
|
||||||
@ -1796,7 +1800,8 @@
|
|||||||
var url = "/PowerStation/DeletePowerStationImage";
|
var url = "/PowerStation/DeletePowerStationImage";
|
||||||
|
|
||||||
var send_data = {
|
var send_data = {
|
||||||
Id: selectedImageId
|
SelectedId: selectedImageId,
|
||||||
|
PowerStationId: stationId
|
||||||
}
|
}
|
||||||
|
|
||||||
$.post(url, send_data, function (rel) {
|
$.post(url, send_data, function (rel) {
|
||||||
|
|||||||
@ -12,8 +12,8 @@
|
|||||||
<th>電站編號</th>
|
<th>電站編號</th>
|
||||||
<th>電站名稱</th>
|
<th>電站名稱</th>
|
||||||
<th>項目</th>
|
<th>項目</th>
|
||||||
<th>上限 ( <= )</th>
|
<th>下限 ( <= )</th>
|
||||||
<th>下限 ( >= )</th>
|
<th>上限 ( >= )</th>
|
||||||
<th>警示方式</th>
|
<th>警示方式</th>
|
||||||
<th>建立時間</th>
|
<th>建立時間</th>
|
||||||
<th>功能</th>
|
<th>功能</th>
|
||||||
@ -52,14 +52,14 @@
|
|||||||
<option value="1">email通知</option>
|
<option value="1">email通知</option>
|
||||||
</select>
|
</select>
|
||||||
</div>
|
</div>
|
||||||
<div class="form-group col-lg-6">
|
|
||||||
<label class="form-label" for="Exception_UpperLimit_modal"><span class="text-danger">*</span>上限</label>
|
|
||||||
<input type="number" id="Exception_UpperLimit_modal" name="Exception_UpperLimit_modal" class="form-control">
|
|
||||||
</div>
|
|
||||||
<div class="form-group col-lg-6">
|
<div class="form-group col-lg-6">
|
||||||
<label class="form-label" for="Exception_LowerLimit_modal"><span class="text-danger">*</span>下限</label>
|
<label class="form-label" for="Exception_LowerLimit_modal"><span class="text-danger">*</span>下限</label>
|
||||||
<input type="number" id="Exception_LowerLimit_modal" name="Exception_LowerLimit_modal" class="form-control">
|
<input type="number" id="Exception_LowerLimit_modal" name="Exception_LowerLimit_modal" class="form-control">
|
||||||
</div>
|
</div>
|
||||||
|
<div class="form-group col-lg-6">
|
||||||
|
<label class="form-label" for="Exception_UpperLimit_modal"><span class="text-danger">*</span>上限</label>
|
||||||
|
<input type="number" id="Exception_UpperLimit_modal" name="Exception_UpperLimit_modal" class="form-control">
|
||||||
|
</div>
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
</form>
|
</form>
|
||||||
|
|||||||
@ -86,18 +86,18 @@
|
|||||||
</a>
|
</a>
|
||||||
</li>
|
</li>
|
||||||
<li class="nav-title">Navigation Title</li>-->
|
<li class="nav-title">Navigation Title</li>-->
|
||||||
<li class="">
|
<li class="@(ViewData["MainNum"] == "1" ? "active open" : "")">
|
||||||
<a href="#" title="Category" data-filter-tags="category">
|
<a href="#" title="Category" data-filter-tags="category">
|
||||||
<i class="fal fa-file"></i>
|
<i class="fal fa-file"></i>
|
||||||
<span class="nav-link-text" data-i18n="nav.category">總覽</span>
|
<span class="nav-link-text" data-i18n="nav.category">總覽</span>
|
||||||
</a>
|
</a>
|
||||||
<ul>
|
<ul>
|
||||||
<li class="">
|
<li class="@(ViewData["MainNum"] == "1" && ViewData["SubNum"] == "1" ? "active" : "")">
|
||||||
<a href="javascript:void(0);" title="地圖總覽" data-filter-tags="utilities disabled item">
|
<a href="javascript:void(0);" 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">地圖總覽</span>
|
||||||
</a>
|
</a>
|
||||||
</li>
|
</li>
|
||||||
<li class="">
|
<li class="@(ViewData["MainNum"] == "1" && ViewData["SubNum"] == "2" ? "active" : "")">
|
||||||
<a href="0stations.html" title="電站總覽" data-filter-tags="utilities disabled item">
|
<a href="0stations.html" 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">電站總覽</span>
|
||||||
</a>
|
</a>
|
||||||
@ -105,20 +105,20 @@
|
|||||||
</ul>
|
</ul>
|
||||||
</li>
|
</li>
|
||||||
<!-- Example of open and active states -->
|
<!-- Example of open and active states -->
|
||||||
<li class="">
|
<li class="@(ViewData["MainNum"] == "2" ? "active open" : "")">
|
||||||
<a href="#" title="Category" data-filter-tags="category">
|
<a href="#" title="Category" data-filter-tags="category">
|
||||||
<i class="fal fa-file"></i>
|
<i class="fal fa-file"></i>
|
||||||
<span class="nav-link-text" data-i18n="nav.category">電站資訊</span>
|
<span class="nav-link-text" data-i18n="nav.category">電站資訊</span>
|
||||||
</a>
|
</a>
|
||||||
<ul>
|
<ul>
|
||||||
<li class="@(ViewData["MainNum"] == "6" && ViewData["SubNum"] == "1" ? "active" : "")">
|
<li class="@(ViewData["MainNum"] == "2" && ViewData["SubNum"] == "1" ? "active" : "")">
|
||||||
<a asp-controller="PowerStation" asp-action="Index" title="電站管理" data-filter-tags="utilities disabled item">
|
<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">電站管理</span>
|
||||||
</a>
|
</a>
|
||||||
</li>
|
</li>
|
||||||
</ul>
|
</ul>
|
||||||
</li>
|
</li>
|
||||||
<li class="">
|
<li class="@(ViewData["MainNum"] == "3" ? "active open" : "")">
|
||||||
<a href="#" title="Category" data-filter-tags="category">
|
<a href="#" title="Category" data-filter-tags="category">
|
||||||
<i class="fal fa-alien"></i>
|
<i class="fal fa-alien"></i>
|
||||||
<span class="nav-link-text" data-i18n="nav.category">交叉分析</span>
|
<span class="nav-link-text" data-i18n="nav.category">交叉分析</span>
|
||||||
@ -141,7 +141,7 @@
|
|||||||
</li>
|
</li>
|
||||||
</ul>
|
</ul>
|
||||||
</li>
|
</li>
|
||||||
<li class="">
|
<li class="@(ViewData["MainNum"] == "4" ? "active open" : "")">
|
||||||
<a href="#" title="Category" data-filter-tags="category">
|
<a href="#" title="Category" data-filter-tags="category">
|
||||||
<i class="fal fa-alien"></i>
|
<i class="fal fa-alien"></i>
|
||||||
<span class="nav-link-text" data-i18n="nav.category">報表查詢</span>
|
<span class="nav-link-text" data-i18n="nav.category">報表查詢</span>
|
||||||
@ -164,7 +164,7 @@
|
|||||||
</li>
|
</li>
|
||||||
</ul>
|
</ul>
|
||||||
</li>
|
</li>
|
||||||
<li class="">
|
<li class="@(ViewData["MainNum"] == "5" ? "active open" : "")">
|
||||||
<a href="#" title="Category" data-filter-tags="category">
|
<a href="#" title="Category" data-filter-tags="category">
|
||||||
<i class="fal fa-alien"></i>
|
<i class="fal fa-alien"></i>
|
||||||
<span class="nav-link-text" data-i18n="nav.category">即時告警</span>
|
<span class="nav-link-text" data-i18n="nav.category">即時告警</span>
|
||||||
@ -179,13 +179,13 @@
|
|||||||
</li>
|
</li>
|
||||||
|
|
||||||
|
|
||||||
<li class="@(ViewData["MainNum"] == "5" ? "active open" : "")">
|
<li class="@(ViewData["MainNum"] == "6" ? "active open" : "")">
|
||||||
<a href="#" title="Category" data-filter-tags="category">
|
<a href="#" title="Category" data-filter-tags="category">
|
||||||
<i class="fal fa-alien"></i>
|
<i class="fal fa-alien"></i>
|
||||||
<span class="nav-link-text" data-i18n="nav.category">運維管理</span>
|
<span class="nav-link-text" data-i18n="nav.category">運維管理</span>
|
||||||
</a>
|
</a>
|
||||||
<ul>
|
<ul>
|
||||||
<li class="@(ViewData["MainNum"] == "5" && ViewData["SubNum"] == "1" ? "active" : "")">
|
<li class="@(ViewData["MainNum"] == "6" && ViewData["SubNum"] == "1" ? "active" : "")">
|
||||||
<a asp-controller="Operation" asp-action="Index" title="定期計畫建立" data-filter-tags="utilities disabled item">
|
<a asp-controller="Operation" 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">定期計畫建立</span>
|
||||||
</a>
|
</a>
|
||||||
@ -197,18 +197,18 @@
|
|||||||
</li>
|
</li>
|
||||||
</ul>
|
</ul>
|
||||||
</li>
|
</li>
|
||||||
<li class="@(ViewData["MainNum"] == "6" ? "active open" : "")">
|
<li class="@(ViewData["MainNum"] == "7" ? "active open" : "")">
|
||||||
<a href="#" title="Category" data-filter-tags="category">
|
<a href="#" title="Category" data-filter-tags="category">
|
||||||
<i class="fal fa-alien"></i>
|
<i class="fal fa-alien"></i>
|
||||||
<span class="nav-link-text" data-i18n="nav.category">系統管理</span>
|
<span class="nav-link-text" data-i18n="nav.category">系統管理</span>
|
||||||
</a>
|
</a>
|
||||||
<ul>
|
<ul>
|
||||||
<li class="@(ViewData["MainNum"] == "6" && ViewData["SubNum"] == "2" ? "active" : "")">
|
<li class="@(ViewData["MainNum"] == "7" && ViewData["SubNum"] == "1" ? "active" : "")">
|
||||||
<a asp-controller="Company" asp-action="Index" title="公司管理" data-filter-tags="utilities disabled item">
|
<a asp-controller="Company" 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">公司管理</span>
|
||||||
</a>
|
</a>
|
||||||
</li>
|
</li>
|
||||||
<li class="@(ViewData["MainNum"] == "6" && ViewData["SubNum"] == "3" ? "active" : "")">
|
<li class="@(ViewData["MainNum"] == "7" && ViewData["SubNum"] == "2" ? "active" : "")">
|
||||||
<a asp-controller="User" asp-action="Index" title="帳號管理" data-filter-tags="utilities disabled item">
|
<a asp-controller="User" 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">帳號管理</span>
|
||||||
</a>
|
</a>
|
||||||
|
|||||||
@ -9,9 +9,9 @@
|
|||||||
"LoginExpireMinute": 60, //登入到期時間,單位(分)
|
"LoginExpireMinute": 60, //登入到期時間,單位(分)
|
||||||
"DBConfig": {
|
"DBConfig": {
|
||||||
"Server": "LPp7aTdHGEFQJieGkSGl0g==",
|
"Server": "LPp7aTdHGEFQJieGkSGl0g==",
|
||||||
"Database": "k48iBBWXwJHPZF9zkF8UjreGN2uYWz6R",
|
"Database": "z8TVtiXZ6MwgWbUEAOXA/fiHzd7c0iUhFqn1mHzxhKo=",
|
||||||
"Root": "2TdWJL+VXK8xbnhD8iA0zNJMT95nSE5W",
|
"Root": "mWlR2HshQNhRRE34jg4kdg==",
|
||||||
"Password": "BxXjVEJCYCyPmlt03xAKmUNEnXzHhw1j"
|
"Password": "y4uPqlH9ncTgR/I07qpwaA=="
|
||||||
},
|
},
|
||||||
"SMTPConfig": {
|
"SMTPConfig": {
|
||||||
"Host": "smtp.gmail.com",
|
"Host": "smtp.gmail.com",
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user