1. 電站管理 - 電站基本資料
This commit is contained in:
parent
32973c35a1
commit
e89705cdfe
@ -9,6 +9,7 @@ using SolarPower.Repository.Interface;
|
|||||||
|
|
||||||
using System;
|
using System;
|
||||||
using System.Collections.Generic;
|
using System.Collections.Generic;
|
||||||
|
using System.IO;
|
||||||
using System.Linq;
|
using System.Linq;
|
||||||
using System.Threading.Tasks;
|
using System.Threading.Tasks;
|
||||||
|
|
||||||
@ -18,6 +19,8 @@ namespace SolarPower.Controllers
|
|||||||
{
|
{
|
||||||
private readonly IUserRepository userRepository;
|
private readonly IUserRepository userRepository;
|
||||||
private readonly IPowerStationRepository powerStationRepository;
|
private readonly IPowerStationRepository powerStationRepository;
|
||||||
|
private string boeFilePath = "/upload/power_station/boe_file/";
|
||||||
|
private string powerSationSaveAsPath = "";
|
||||||
|
|
||||||
public PowerStationController(
|
public PowerStationController(
|
||||||
IUserRepository userRepository,
|
IUserRepository userRepository,
|
||||||
@ -25,6 +28,8 @@ namespace SolarPower.Controllers
|
|||||||
{
|
{
|
||||||
this.userRepository = userRepository;
|
this.userRepository = userRepository;
|
||||||
this.powerStationRepository = powerStationRepository;
|
this.powerStationRepository = powerStationRepository;
|
||||||
|
|
||||||
|
powerSationSaveAsPath = Path.Combine(Directory.GetCurrentDirectory(), "wwwroot", "upload", "power_station");
|
||||||
}
|
}
|
||||||
public IActionResult Index()
|
public IActionResult Index()
|
||||||
{
|
{
|
||||||
@ -52,7 +57,7 @@ namespace SolarPower.Controllers
|
|||||||
try
|
try
|
||||||
{
|
{
|
||||||
EDFunction edFunction = new EDFunction();
|
EDFunction edFunction = new EDFunction();
|
||||||
var companyId= Convert.ToInt32(edFunction.AESDecrypt(HttpContext.Session.GetString("CompanyId"))); //將公司id透過AES解密
|
var companyId = Convert.ToInt32(edFunction.AESDecrypt(HttpContext.Session.GetString("CompanyId"))); //將公司id透過AES解密
|
||||||
var userSelectItemLists = await userRepository.GetUserSelectOptionListAsync(companyId);
|
var userSelectItemLists = await userRepository.GetUserSelectOptionListAsync(companyId);
|
||||||
|
|
||||||
apiResult.Code = "0000";
|
apiResult.Code = "0000";
|
||||||
@ -68,6 +73,56 @@ namespace SolarPower.Controllers
|
|||||||
return apiResult;
|
return apiResult;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 取得縣市選單
|
||||||
|
/// </summary>
|
||||||
|
/// <returns></returns>
|
||||||
|
[HttpGet]
|
||||||
|
public async Task<ApiResult<List<CitySelectItemList>>> GetCitySelectOptionList()
|
||||||
|
{
|
||||||
|
ApiResult<List<CitySelectItemList>> apiResult = new ApiResult<List<CitySelectItemList>>();
|
||||||
|
try
|
||||||
|
{
|
||||||
|
var citySelectItemLists = await powerStationRepository.GetCitySelectOptionListAsync();
|
||||||
|
|
||||||
|
apiResult.Code = "0000";
|
||||||
|
apiResult.Data = citySelectItemLists;
|
||||||
|
}
|
||||||
|
catch (Exception exception)
|
||||||
|
{
|
||||||
|
apiResult.Code = "9999";
|
||||||
|
Logger.LogError("【" + controllerName + "/" + actionName + "】" + exception.Message);
|
||||||
|
}
|
||||||
|
|
||||||
|
apiResult.Msg = errorCode.GetString(apiResult.Code);
|
||||||
|
return apiResult;
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 取得縣市選單
|
||||||
|
/// </summary>
|
||||||
|
/// <returns></returns>
|
||||||
|
[HttpPost]
|
||||||
|
public async Task<ApiResult<List<AreaSelectItemList>>> GetAreaSelectOptionList(int cityId)
|
||||||
|
{
|
||||||
|
ApiResult<List<AreaSelectItemList>> apiResult = new ApiResult<List<AreaSelectItemList>>();
|
||||||
|
try
|
||||||
|
{
|
||||||
|
var areaSelectItemLists = await powerStationRepository.GetAreaSelectOptionListAsync(cityId);
|
||||||
|
|
||||||
|
apiResult.Code = "0000";
|
||||||
|
apiResult.Data = areaSelectItemLists;
|
||||||
|
}
|
||||||
|
catch (Exception exception)
|
||||||
|
{
|
||||||
|
apiResult.Code = "9999";
|
||||||
|
Logger.LogError("【" + controllerName + "/" + actionName + "】" + exception.Message);
|
||||||
|
}
|
||||||
|
|
||||||
|
apiResult.Msg = errorCode.GetString(apiResult.Code);
|
||||||
|
return apiResult;
|
||||||
|
}
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 取得單一電站基本資料
|
/// 取得單一電站基本資料
|
||||||
/// </summary>
|
/// </summary>
|
||||||
@ -90,13 +145,19 @@ namespace SolarPower.Controllers
|
|||||||
apiResult.Msg = errorCode.GetString(apiResult.Code);
|
apiResult.Msg = errorCode.GetString(apiResult.Code);
|
||||||
return apiResult;
|
return apiResult;
|
||||||
}
|
}
|
||||||
else if (powerStation.Id != myUser.CompanyId)
|
else if (powerStation.CompanyId != myUser.CompanyId)
|
||||||
{
|
{
|
||||||
apiResult.Code = "9993";
|
apiResult.Code = "9993";
|
||||||
apiResult.Msg = errorCode.GetString(apiResult.Code);
|
apiResult.Msg = errorCode.GetString(apiResult.Code);
|
||||||
return apiResult;
|
return apiResult;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
//替能源局換檔案路徑
|
||||||
|
if (!string.IsNullOrEmpty(powerStation.BoEFile))
|
||||||
|
{
|
||||||
|
powerStation.BoEFile = boeFilePath + powerStation.BoEFile;
|
||||||
|
}
|
||||||
|
|
||||||
apiResult.Code = "0000";
|
apiResult.Code = "0000";
|
||||||
apiResult.Data = powerStation;
|
apiResult.Data = powerStation;
|
||||||
|
|
||||||
@ -117,9 +178,9 @@ namespace SolarPower.Controllers
|
|||||||
/// </summary>
|
/// </summary>
|
||||||
/// <param name="post"></param>
|
/// <param name="post"></param>
|
||||||
/// <returns></returns>
|
/// <returns></returns>
|
||||||
public async Task<ApiResult<string>> SavePowerStationInfo(PostPowerStationInfo post)
|
public async Task<ApiResult<PowerStation>> SavePowerStationInfo(PostPowerStationInfo post)
|
||||||
{
|
{
|
||||||
ApiResult<string> apiResult = new ApiResult<string>();
|
ApiResult<PowerStation> apiResult = new ApiResult<PowerStation>();
|
||||||
|
|
||||||
PowerStation powerStation = null;
|
PowerStation powerStation = null;
|
||||||
|
|
||||||
@ -127,7 +188,7 @@ namespace SolarPower.Controllers
|
|||||||
{
|
{
|
||||||
powerStation = await powerStationRepository.GetOneAsync(post.Id);
|
powerStation = await powerStationRepository.GetOneAsync(post.Id);
|
||||||
|
|
||||||
if(powerStation == null)
|
if (powerStation == null)
|
||||||
{
|
{
|
||||||
if (post.Id != 0)
|
if (post.Id != 0)
|
||||||
{
|
{
|
||||||
@ -137,12 +198,32 @@ namespace SolarPower.Controllers
|
|||||||
}
|
}
|
||||||
|
|
||||||
#region 新增電站資訊
|
#region 新增電站資訊
|
||||||
powerStation = new PowerStation() {
|
|
||||||
|
//取得電站該縣市的Zipcode
|
||||||
|
var zipcode = await powerStationRepository.GetCityAreaZipcodeAsync(post.AreaId);
|
||||||
|
//取得電站該縣市地區最後流水號
|
||||||
|
var lastSerialNumber = await powerStationRepository.GetLastSerialNumberByCityAreaIdAsync(post.CityId, post.AreaId);
|
||||||
|
var tempSerialNumber = 0;
|
||||||
|
if (!string.IsNullOrEmpty(lastSerialNumber))
|
||||||
|
{
|
||||||
|
tempSerialNumber = Convert.ToInt32(lastSerialNumber) + 1;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
tempSerialNumber = 1;
|
||||||
|
}
|
||||||
|
|
||||||
|
var codeFormat = "{0}-{1}-{2}";
|
||||||
|
|
||||||
|
powerStation = new PowerStation()
|
||||||
|
{
|
||||||
CompanyId = myUser.CompanyId,
|
CompanyId = myUser.CompanyId,
|
||||||
CityId = post.CityId,
|
CityId = post.CityId,
|
||||||
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')),
|
||||||
|
SerialNumber = tempSerialNumber.ToString().PadLeft(4, '0'),
|
||||||
IsEscrow = post.IsEscrow,
|
IsEscrow = post.IsEscrow,
|
||||||
EscrowName = post.EscrowName,
|
EscrowName = post.EscrowName,
|
||||||
ElectricityMeterAt = post.ElectricityMeterAt,
|
ElectricityMeterAt = post.ElectricityMeterAt,
|
||||||
@ -167,6 +248,8 @@ namespace SolarPower.Controllers
|
|||||||
"AreaId",
|
"AreaId",
|
||||||
"Address",
|
"Address",
|
||||||
"Name",
|
"Name",
|
||||||
|
"Code",
|
||||||
|
"SerialNumber",
|
||||||
"IsEscrow",
|
"IsEscrow",
|
||||||
"EscrowName",
|
"EscrowName",
|
||||||
"ElectricityMeterAt",
|
"ElectricityMeterAt",
|
||||||
@ -181,30 +264,215 @@ namespace SolarPower.Controllers
|
|||||||
"PhotovoltaicPanelProductModel",
|
"PhotovoltaicPanelProductModel",
|
||||||
"PhotovoltaicPanelSpecification",
|
"PhotovoltaicPanelSpecification",
|
||||||
"PhotovoltaicPanelAmount",
|
"PhotovoltaicPanelAmount",
|
||||||
"CreatedBy",
|
"CreatedBy"
|
||||||
};
|
};
|
||||||
|
|
||||||
var id = await powerStationRepository.AddOneAsync(powerStation, properties);
|
var id = await powerStationRepository.AddOneAsync(powerStation, properties);
|
||||||
|
|
||||||
apiResult.Data = id.ToString();
|
#region 新增土地與房屋資訊
|
||||||
|
var city = await powerStationRepository.GetOneCityByIdAsync(post.CityId);
|
||||||
|
var area = await powerStationRepository.GetOneAreaByIdAsync(post.AreaId);
|
||||||
|
|
||||||
|
LandBuilding landBuilding = new LandBuilding()
|
||||||
|
{
|
||||||
|
Address = city.Name + area.Name + post.Address,
|
||||||
|
PowerStationId = id,
|
||||||
|
CreatedBy = myUser.Id
|
||||||
|
};
|
||||||
|
|
||||||
|
List<string> landBuildingProperties = new List<string>()
|
||||||
|
{
|
||||||
|
"Address",
|
||||||
|
"PowerStationId",
|
||||||
|
"CreatedBy",
|
||||||
|
"CreatedBy"
|
||||||
|
};
|
||||||
|
await powerStationRepository.AddOneLandBuildingInfo(landBuilding, landBuildingProperties);
|
||||||
|
#endregion
|
||||||
|
|
||||||
|
apiResult.Code = "0000";
|
||||||
|
apiResult.Msg = "儲存成功";
|
||||||
|
apiResult.Data = await powerStationRepository.GetOneAsync(id);
|
||||||
#endregion
|
#endregion
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
if(powerStation.CompanyId != myUser.CompanyId)
|
if (powerStation.CompanyId != myUser.CompanyId)
|
||||||
{
|
{
|
||||||
apiResult.Code = "9993";
|
apiResult.Code = "9993";
|
||||||
apiResult.Msg = errorCode.GetString(apiResult.Code);
|
apiResult.Msg = errorCode.GetString(apiResult.Code);
|
||||||
return apiResult;
|
return apiResult;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
#region 修改電站資訊
|
#region 修改電站資訊
|
||||||
|
|
||||||
|
UpdatePowerStationInfo update = new UpdatePowerStationInfo()
|
||||||
|
{
|
||||||
|
Id = post.Id,
|
||||||
|
CityId = post.CityId,
|
||||||
|
AreaId = post.AreaId,
|
||||||
|
Address = post.Address,
|
||||||
|
Name = post.Name,
|
||||||
|
IsEscrow = post.IsEscrow,
|
||||||
|
EscrowName = post.EscrowName,
|
||||||
|
ElectricityMeterAt = post.ElectricityMeterAt,
|
||||||
|
EstimatedRecoveryTime = post.EstimatedRecoveryTime,
|
||||||
|
GeneratingCapacity = post.GeneratingCapacity,
|
||||||
|
PowerRate = post.PowerRate,
|
||||||
|
Coordinate = post.Coordinate,
|
||||||
|
InverterBrand = post.InverterBrand,
|
||||||
|
InverterProductModel = post.InverterProductModel,
|
||||||
|
InverterAmount = post.InverterAmount,
|
||||||
|
PhotovoltaicPanelBrand = post.PhotovoltaicPanelBrand,
|
||||||
|
PhotovoltaicPanelProductModel = post.PhotovoltaicPanelProductModel,
|
||||||
|
PhotovoltaicPanelSpecification = post.PhotovoltaicPanelSpecification,
|
||||||
|
PhotovoltaicPanelAmount = post.PhotovoltaicPanelAmount,
|
||||||
|
UpdatedBy = myUser.Id
|
||||||
|
};
|
||||||
|
|
||||||
|
List<string> properties = new List<string>()
|
||||||
|
{
|
||||||
|
"Id",
|
||||||
|
"CityId",
|
||||||
|
"AreaId",
|
||||||
|
"Address",
|
||||||
|
"Name",
|
||||||
|
"IsEscrow",
|
||||||
|
"EscrowName",
|
||||||
|
"ElectricityMeterAt",
|
||||||
|
"EstimatedRecoveryTime",
|
||||||
|
"GeneratingCapacity",
|
||||||
|
"PowerRate",
|
||||||
|
"Coordinate",
|
||||||
|
"InverterBrand",
|
||||||
|
"InverterProductModel",
|
||||||
|
"InverterAmount",
|
||||||
|
"PhotovoltaicPanelBrand",
|
||||||
|
"PhotovoltaicPanelProductModel",
|
||||||
|
"PhotovoltaicPanelSpecification",
|
||||||
|
"PhotovoltaicPanelAmount",
|
||||||
|
"UpdatedBy",
|
||||||
|
};
|
||||||
|
|
||||||
|
await powerStationRepository.UpdatePowerStationInfo(update, properties);
|
||||||
|
|
||||||
|
apiResult.Code = "0000";
|
||||||
|
apiResult.Msg = "儲存成功";
|
||||||
|
apiResult.Data = await powerStationRepository.GetOneAsync(powerStation.Id);
|
||||||
#endregion
|
#endregion
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
catch (Exception exception)
|
||||||
|
{
|
||||||
|
apiResult.Code = "9999";
|
||||||
|
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;
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 新增 / 修改 能源局與台電資料
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="post"></param>
|
||||||
|
/// <returns></returns>
|
||||||
|
[HttpPost]
|
||||||
|
public async Task<ApiResult<PowerStation>> SaveBoETPCInfo([FromForm] PostBoETPCInfo post)
|
||||||
|
{
|
||||||
|
ApiResult<PowerStation> apiResult = new ApiResult<PowerStation>();
|
||||||
|
|
||||||
|
PowerStation powerStation = null;
|
||||||
|
|
||||||
|
try
|
||||||
|
{
|
||||||
|
powerStation = await powerStationRepository.GetOneAsync(post.Id);
|
||||||
|
|
||||||
|
if (powerStation == null)
|
||||||
|
{
|
||||||
|
if (post.Id != 0)
|
||||||
|
{
|
||||||
|
apiResult.Code = "9992";
|
||||||
|
apiResult.Msg = errorCode.GetString(apiResult.Code);
|
||||||
|
return apiResult;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
if (powerStation.CompanyId != myUser.CompanyId)
|
||||||
|
{
|
||||||
|
apiResult.Code = "9993";
|
||||||
|
apiResult.Msg = errorCode.GetString(apiResult.Code);
|
||||||
|
return apiResult;
|
||||||
|
}
|
||||||
|
|
||||||
|
#region 修改能源局與台電
|
||||||
|
|
||||||
|
//處理檔案
|
||||||
|
var boeFileName = "";
|
||||||
|
if (post.BoEFile != null)
|
||||||
|
{
|
||||||
|
var split = post.BoEFile.FileName.Split(".");
|
||||||
|
boeFileName = DateTime.Now.ToString("yyyyMMddHHmmss") + "." + split[split.Length - 1];
|
||||||
|
|
||||||
|
var fullPath = Path.Combine(powerSationSaveAsPath, "boe_file", boeFileName);
|
||||||
|
|
||||||
|
using (var stream = new FileStream(fullPath, FileMode.Create))
|
||||||
|
{
|
||||||
|
post.BoEFile.CopyTo(stream);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
UpdateBoETPCInfo update = new UpdateBoETPCInfo()
|
||||||
|
{
|
||||||
|
Id = post.Id,
|
||||||
|
BoEFileName = post.BoEFile != null ? post.BoEFile.FileName : null, //原本檔名
|
||||||
|
BoEFile = boeFileName, //自訂檔名
|
||||||
|
BoEDiscountRate = post.BoEDiscountRate,
|
||||||
|
BoEDeviceRegisterNumber = post.BoEDeviceRegisterNumber,
|
||||||
|
BoERentRatio = post.BoERentRatio,
|
||||||
|
TPCContractNumber = post.TPCContractNumber,
|
||||||
|
TPCContractAt = post.TPCContractAt,
|
||||||
|
TPCSellDeadline = post.TPCSellDeadline,
|
||||||
|
TPCMeterReading = post.TPCMeterReading,
|
||||||
|
TPCPurchaseElectricityAt = post.TPCPurchaseElectricityAt,
|
||||||
|
TPCSellElectricityAt = post.TPCSellElectricityAt,
|
||||||
|
UpdatedBy = myUser.Id
|
||||||
|
};
|
||||||
|
|
||||||
|
List<string> properties = new List<string>()
|
||||||
|
{
|
||||||
|
"Id",
|
||||||
|
"BoEFileName",
|
||||||
|
"BoEFile",
|
||||||
|
"BoEDiscountRate",
|
||||||
|
"BoEDeviceRegisterNumber",
|
||||||
|
"BoERentRatio",
|
||||||
|
"TPCContractNumber",
|
||||||
|
"TPCContractAt",
|
||||||
|
"TPCSellDeadline",
|
||||||
|
"TPCMeterReading",
|
||||||
|
"TPCPurchaseElectricityAt",
|
||||||
|
"TPCSellElectricityAt",
|
||||||
|
"UpdatedBy",
|
||||||
|
};
|
||||||
|
|
||||||
|
await powerStationRepository.UpdateBoETPCInfo(update, properties);
|
||||||
|
#endregion
|
||||||
|
}
|
||||||
|
|
||||||
|
powerStation = await powerStationRepository.GetOneAsync(powerStation.Id);
|
||||||
|
//替能源局換檔案路徑
|
||||||
|
if (!string.IsNullOrEmpty(powerStation.BoEFile))
|
||||||
|
{
|
||||||
|
powerStation.BoEFile = boeFilePath + powerStation.BoEFile;
|
||||||
|
}
|
||||||
|
|
||||||
apiResult.Code = "0000";
|
apiResult.Code = "0000";
|
||||||
apiResult.Msg = "修改成功";
|
apiResult.Msg = "修改成功";
|
||||||
|
apiResult.Data = powerStation;
|
||||||
}
|
}
|
||||||
catch (Exception exception)
|
catch (Exception exception)
|
||||||
{
|
{
|
||||||
@ -216,5 +484,176 @@ namespace SolarPower.Controllers
|
|||||||
|
|
||||||
return apiResult;
|
return apiResult;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 新增 / 修改 土地與房屋資料
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="post"></param>
|
||||||
|
/// <returns></returns>
|
||||||
|
public async Task<ApiResult<PowerStation>> SaveLandBuildingInfo(PostLandBuildingInfo post)
|
||||||
|
{
|
||||||
|
ApiResult<PowerStation> apiResult = new ApiResult<PowerStation>();
|
||||||
|
|
||||||
|
PowerStation powerStation = null;
|
||||||
|
LandBuilding landBuilding = null;
|
||||||
|
|
||||||
|
try
|
||||||
|
{
|
||||||
|
powerStation = await powerStationRepository.GetOneAsync(post.PowerStationId);
|
||||||
|
|
||||||
|
if (powerStation == null)
|
||||||
|
{
|
||||||
|
if (post.PowerStationId != 0)
|
||||||
|
{
|
||||||
|
apiResult.Code = "9992";
|
||||||
|
apiResult.Msg = errorCode.GetString(apiResult.Code);
|
||||||
|
return apiResult;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
if (powerStation.CompanyId != myUser.CompanyId)
|
||||||
|
{
|
||||||
|
apiResult.Code = "9993";
|
||||||
|
apiResult.Msg = errorCode.GetString(apiResult.Code);
|
||||||
|
return apiResult;
|
||||||
|
}
|
||||||
|
|
||||||
|
landBuilding = await powerStationRepository.GetOneLandBuildingInfo(post.Id);
|
||||||
|
|
||||||
|
if (landBuilding == null)
|
||||||
|
{
|
||||||
|
if (post.Id != 0)
|
||||||
|
{
|
||||||
|
apiResult.Code = "9991";
|
||||||
|
apiResult.Msg = errorCode.GetString(apiResult.Code);
|
||||||
|
return apiResult;
|
||||||
|
}
|
||||||
|
|
||||||
|
#region 新增土地房屋資訊
|
||||||
|
|
||||||
|
//取得公司在該縣市區域當前電站的流水編碼
|
||||||
|
landBuilding = new LandBuilding()
|
||||||
|
{
|
||||||
|
PowerStationId = powerStation.Id,
|
||||||
|
Address = post.Address,
|
||||||
|
LeaseNotarizationAt = post.LeaseNotarizationAt,
|
||||||
|
Landowner = post.Landowner,
|
||||||
|
Purpose = post.Purpose,
|
||||||
|
LeaseRate = post.LeaseRate,
|
||||||
|
Coordinate = post.Coordinate,
|
||||||
|
Phone = post.Phone,
|
||||||
|
CreatedBy = myUser.Id
|
||||||
|
};
|
||||||
|
|
||||||
|
List<string> properties = new List<string>()
|
||||||
|
{
|
||||||
|
"PowerStationId",
|
||||||
|
"Address",
|
||||||
|
"LeaseNotarizationAt",
|
||||||
|
"Landowner",
|
||||||
|
"Purpose",
|
||||||
|
"LeaseRate",
|
||||||
|
"Coordinate",
|
||||||
|
"Phone",
|
||||||
|
"CreatedBy"
|
||||||
|
};
|
||||||
|
|
||||||
|
var id = await powerStationRepository.AddOneLandBuildingInfo(landBuilding, properties);
|
||||||
|
|
||||||
|
apiResult.Code = "0000";
|
||||||
|
apiResult.Msg = "儲存成功";
|
||||||
|
apiResult.Data = await powerStationRepository.GetOneAsync(powerStation.Id);
|
||||||
|
#endregion
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
#region 修改土地房屋資訊
|
||||||
|
UpdateLandBuilding update = new UpdateLandBuilding()
|
||||||
|
{
|
||||||
|
Id = post.Id,
|
||||||
|
Address = post.Address,
|
||||||
|
LeaseNotarizationAt = post.LeaseNotarizationAt,
|
||||||
|
Landowner = post.Landowner,
|
||||||
|
Purpose = post.Purpose,
|
||||||
|
LeaseRate = post.LeaseRate,
|
||||||
|
Coordinate = post.Coordinate,
|
||||||
|
Phone = post.Phone,
|
||||||
|
UpdatedBy = myUser.Id
|
||||||
|
};
|
||||||
|
|
||||||
|
List<string> properties = new List<string>()
|
||||||
|
{
|
||||||
|
"Id",
|
||||||
|
"Address",
|
||||||
|
"LeaseNotarizationAt",
|
||||||
|
"Landowner",
|
||||||
|
"Purpose",
|
||||||
|
"LeaseRate",
|
||||||
|
"Coordinate",
|
||||||
|
"Phone",
|
||||||
|
"UpdatedBy",
|
||||||
|
};
|
||||||
|
|
||||||
|
await powerStationRepository.UpdateLandBuildingInfo(update, properties);
|
||||||
|
|
||||||
|
apiResult.Code = "0000";
|
||||||
|
apiResult.Msg = "修改成功";
|
||||||
|
apiResult.Data = await powerStationRepository.GetOneAsync(powerStation.Id);
|
||||||
|
#endregion
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
catch (Exception exception)
|
||||||
|
{
|
||||||
|
apiResult.Code = "9999";
|
||||||
|
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;
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 軟刪除單一土地房屋資訊
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="id"></param>
|
||||||
|
/// <returns></returns>
|
||||||
|
[HttpPost]
|
||||||
|
public async Task<ApiResult<PowerStation>> DeleteLandBuildingInfo(int id)
|
||||||
|
{
|
||||||
|
ApiResult<PowerStation> apiResult = new ApiResult<PowerStation>();
|
||||||
|
|
||||||
|
|
||||||
|
LandBuilding landBuilding;
|
||||||
|
try
|
||||||
|
{
|
||||||
|
landBuilding = await powerStationRepository.GetOneLandBuildingInfo(id);
|
||||||
|
|
||||||
|
if (landBuilding == null)
|
||||||
|
{
|
||||||
|
apiResult.Code = "9996";
|
||||||
|
apiResult.Msg = errorCode.GetString(apiResult.Code);
|
||||||
|
return apiResult;
|
||||||
|
}
|
||||||
|
|
||||||
|
await powerStationRepository.DeleteOneLandBuildingInfo(landBuilding.Id);
|
||||||
|
|
||||||
|
apiResult.Code = "0000";
|
||||||
|
apiResult.Msg = "刪除成功";
|
||||||
|
apiResult.Data = await powerStationRepository.GetOneAsync(landBuilding.PowerStationId);
|
||||||
|
}
|
||||||
|
catch (Exception exception)
|
||||||
|
{
|
||||||
|
apiResult.Code = "9999";
|
||||||
|
apiResult.Msg = errorCode.GetString(apiResult.Code);
|
||||||
|
Logger.LogError("【" + controllerName + "/" + actionName + "】" + "Id=" + id);
|
||||||
|
Logger.LogError("【" + controllerName + "/" + actionName + "】" + exception.Message);
|
||||||
|
}
|
||||||
|
|
||||||
|
return apiResult;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -17,6 +17,7 @@ namespace SolarPower.Models
|
|||||||
{
|
{
|
||||||
{ "0000", "OK" },
|
{ "0000", "OK" },
|
||||||
{ "0001", "傳入參數錯誤。" },
|
{ "0001", "傳入參數錯誤。" },
|
||||||
|
{ "9991", "查無該土地房屋資訊"},
|
||||||
{ "9992", "查無該電站資訊"},
|
{ "9992", "查無該電站資訊"},
|
||||||
{ "9993", "無此權限操作"},
|
{ "9993", "無此權限操作"},
|
||||||
{ "9994", "查無該公司角色"},
|
{ "9994", "查無該公司角色"},
|
||||||
|
|||||||
@ -1,4 +1,5 @@
|
|||||||
using System;
|
using Microsoft.AspNetCore.Http;
|
||||||
|
using System;
|
||||||
using System.Collections.Generic;
|
using System.Collections.Generic;
|
||||||
using System.Linq;
|
using System.Linq;
|
||||||
using System.Threading.Tasks;
|
using System.Threading.Tasks;
|
||||||
@ -7,16 +8,33 @@ namespace SolarPower.Models.PowerStation
|
|||||||
{
|
{
|
||||||
public class PowerStation : Created
|
public class PowerStation : Created
|
||||||
{
|
{
|
||||||
|
private string electricityMeterAt = "", tpcContractAt = "", tpcPurchaseElectricityAt = "", tpcSellElectricityAt = "";
|
||||||
|
|
||||||
public int Id { get; set; }
|
public int Id { get; set; }
|
||||||
public int CompanyId { get; set; }
|
public int CompanyId { get; set; }
|
||||||
public int CityId { get; set; } //縣市
|
public int CityId { get; set; } //縣市
|
||||||
public int AreaId { get; set; } //地區
|
public int AreaId { get; set; } //地區
|
||||||
public string Address { get; set; } //地址
|
public string Address { get; set; } //地址
|
||||||
public string Name { get; set; } //名稱
|
public string Name { get; set; } //名稱
|
||||||
//public string Code { get; set; }
|
public string Code { get; set; } //電站代碼
|
||||||
|
public string SerialNumber { get; set; } //四碼流水號
|
||||||
public byte IsEscrow { get; set; } //是否被代管
|
public byte IsEscrow { get; set; } //是否被代管
|
||||||
public string EscrowName { get; set; } //被代管公司
|
public string EscrowName { get; set; } //被代管公司
|
||||||
public string ElectricityMeterAt { get; set; } //台電掛錶日
|
public string ElectricityMeterAt //台電掛錶日
|
||||||
|
{
|
||||||
|
get
|
||||||
|
{
|
||||||
|
if (!string.IsNullOrEmpty(electricityMeterAt))
|
||||||
|
{
|
||||||
|
return Convert.ToDateTime(electricityMeterAt).ToString("yyyy-MM-dd");
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
set { electricityMeterAt = value; }
|
||||||
|
}
|
||||||
public int EstimatedRecoveryTime { get; set; } //預計回收年限
|
public int EstimatedRecoveryTime { get; set; } //預計回收年限
|
||||||
public double GeneratingCapacity { get; set; } //發電容量
|
public double GeneratingCapacity { get; set; } //發電容量
|
||||||
public double PowerRate { get; set; } //授電費率
|
public double PowerRate { get; set; } //授電費率
|
||||||
@ -28,30 +46,91 @@ namespace SolarPower.Models.PowerStation
|
|||||||
public string PhotovoltaicPanelProductModel { get; set; } //光電板型號
|
public string PhotovoltaicPanelProductModel { get; set; } //光電板型號
|
||||||
public string PhotovoltaicPanelSpecification { get; set; } //光電板規格
|
public string PhotovoltaicPanelSpecification { get; set; } //光電板規格
|
||||||
public int PhotovoltaicPanelAmount { get; set; } //光電板規格
|
public int PhotovoltaicPanelAmount { get; set; } //光電板規格
|
||||||
|
public string BoEFileName { get; set; } //能源局原檔案名
|
||||||
public string BoEFile { get; set; } //能源局檔案
|
public string BoEFile { get; set; } //能源局檔案
|
||||||
public int BoEDiscountRate { get; set; } //能源局折扣率
|
public int BoEDiscountRate { get; set; } //能源局折扣率
|
||||||
public string BoEDeviceRegisterNumber { get; set; } //能源局設備登記編號
|
public string BoEDeviceRegisterNumber { get; set; } //能源局設備登記編號
|
||||||
public int BoERentRatio { get; set; } //能源局租金比例
|
public int BoERentRatio { get; set; } //能源局租金比例
|
||||||
public string TPCContractNumber { get; set; } //台電契約編號
|
public string TPCContractNumber { get; set; } //台電契約編號
|
||||||
public string TPCContractAt { get; set; } //台電簽約日期
|
public string TPCContractAt //台電簽約日期
|
||||||
|
{
|
||||||
|
get
|
||||||
|
{
|
||||||
|
if (!string.IsNullOrEmpty(tpcContractAt))
|
||||||
|
{
|
||||||
|
return Convert.ToDateTime(tpcContractAt).ToString("yyyy-MM-dd");
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
set { tpcContractAt = value; }
|
||||||
|
}
|
||||||
public int TPCSellDeadline { get; set; } //台電售電期限(年)
|
public int TPCSellDeadline { get; set; } //台電售電期限(年)
|
||||||
public string TPCPurchaseElectricityAt { get; set; } //台電正式購電日
|
public int TPCMeterReading { get; set; } //台電每期抄錶日
|
||||||
public string TPCSellElectricityAt { get; set; } //台電正式售電日
|
public string TPCPurchaseElectricityAt //台電正式購電日
|
||||||
|
{
|
||||||
|
get
|
||||||
|
{
|
||||||
|
if (!string.IsNullOrEmpty(tpcPurchaseElectricityAt))
|
||||||
|
{
|
||||||
|
return Convert.ToDateTime(tpcPurchaseElectricityAt).ToString("yyyy-MM-dd");
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
set { tpcPurchaseElectricityAt = value; }
|
||||||
|
}
|
||||||
|
public string TPCSellElectricityAt //台電正式售電日
|
||||||
|
{
|
||||||
|
get
|
||||||
|
{
|
||||||
|
if (!string.IsNullOrEmpty(tpcPurchaseElectricityAt))
|
||||||
|
{
|
||||||
|
return Convert.ToDateTime(tpcPurchaseElectricityAt).ToString("yyyy-MM-dd");
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
set { tpcPurchaseElectricityAt = value; }
|
||||||
|
}
|
||||||
public List<LandBuilding> LandBuildings { get; set; } //土地房屋資料
|
public List<LandBuilding> LandBuildings { get; set; } //土地房屋資料
|
||||||
|
public string CreatorName { get; set; } //創建者名稱
|
||||||
}
|
}
|
||||||
|
|
||||||
public class LandBuilding : Created
|
public class LandBuilding : Created
|
||||||
{
|
{
|
||||||
|
private string leaseNotarizationAt;
|
||||||
|
|
||||||
public int Id { get; set; }
|
public int Id { get; set; }
|
||||||
public int PowerStationId { get; set; }
|
public int PowerStationId { get; set; }
|
||||||
public string Address { get; set; }
|
public string Address { get; set; }
|
||||||
public string LeaseNotarizationAt { get; set; } //租約公證日期
|
public string LeaseNotarizationAt //租約公證日期
|
||||||
|
{
|
||||||
|
get
|
||||||
|
{
|
||||||
|
if (!string.IsNullOrEmpty(leaseNotarizationAt))
|
||||||
|
{
|
||||||
|
return Convert.ToDateTime(leaseNotarizationAt).ToString("yyyy-MM-dd");
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
set { leaseNotarizationAt = value; }
|
||||||
|
}
|
||||||
public string Landowner { get; set; } //地主姓名
|
public string Landowner { get; set; } //地主姓名
|
||||||
public string Purpose { get; set; } //房屋用途
|
public string Purpose { get; set; } //房屋用途
|
||||||
public int LeaseRate { get; set; } //租金比例
|
public int LeaseRate { get; set; } //租金比例
|
||||||
public string Coordinate { get; set; } //經緯度
|
public string Coordinate { get; set; } //經緯度
|
||||||
public string Phone { get; set; } //電話
|
public string Phone { get; set; } //電話
|
||||||
|
public string CreatorName { get; set; } //創建者名稱
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -78,4 +157,115 @@ namespace SolarPower.Models.PowerStation
|
|||||||
public string PhotovoltaicPanelSpecification { get; set; } //光電板規格
|
public string PhotovoltaicPanelSpecification { get; set; } //光電板規格
|
||||||
public int PhotovoltaicPanelAmount { get; set; } //光電板規格
|
public int PhotovoltaicPanelAmount { get; set; } //光電板規格
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public class UpdatePowerStationInfo : Updated
|
||||||
|
{
|
||||||
|
public int CityId { get; set; } //縣市
|
||||||
|
public int AreaId { get; set; } //地區
|
||||||
|
public string Address { get; set; } //地址
|
||||||
|
public string Name { get; set; } //名稱
|
||||||
|
public byte IsEscrow { get; set; } //是否被代管
|
||||||
|
public string EscrowName { get; set; } //被代管公司
|
||||||
|
public string ElectricityMeterAt { get; set; } //台電掛錶日
|
||||||
|
public int EstimatedRecoveryTime { get; set; } //預計回收年限
|
||||||
|
public double GeneratingCapacity { get; set; } //發電容量
|
||||||
|
public double PowerRate { get; set; } //授電費率
|
||||||
|
public string Coordinate { get; set; } //座標
|
||||||
|
public string InverterBrand { get; set; } //逆變器廠牌
|
||||||
|
public string InverterProductModel { get; set; } //逆變器型號
|
||||||
|
public int InverterAmount { get; set; } //逆變器數量
|
||||||
|
public string PhotovoltaicPanelBrand { get; set; } //光電板廠牌
|
||||||
|
public string PhotovoltaicPanelProductModel { get; set; } //光電板型號
|
||||||
|
public string PhotovoltaicPanelSpecification { get; set; } //光電板規格
|
||||||
|
public int PhotovoltaicPanelAmount { get; set; } //光電板規格
|
||||||
|
}
|
||||||
|
|
||||||
|
public class PostBoETPCInfo
|
||||||
|
{
|
||||||
|
public int Id { get; set; }
|
||||||
|
public IFormFile BoEFile { get; set; }
|
||||||
|
public int BoEDiscountRate { get; set; }
|
||||||
|
public string BoEDeviceRegisterNumber { get; set; }
|
||||||
|
public int BoERentRatio { get; set; }
|
||||||
|
public string TPCContractNumber { get; set; }
|
||||||
|
public string TPCContractAt { get; set; }
|
||||||
|
public int TPCSellDeadline { get; set; }
|
||||||
|
public int TPCMeterReading { get; set; }
|
||||||
|
public string TPCPurchaseElectricityAt { get; set; }
|
||||||
|
public string TPCSellElectricityAt { get; set; }
|
||||||
|
}
|
||||||
|
|
||||||
|
public class UpdateBoETPCInfo : Updated
|
||||||
|
{
|
||||||
|
public string BoEFileName { get; set; }
|
||||||
|
public string BoEFile { get; set; }
|
||||||
|
public int BoEDiscountRate { get; set; }
|
||||||
|
public string BoEDeviceRegisterNumber { get; set; }
|
||||||
|
public int BoERentRatio { get; set; }
|
||||||
|
public string TPCContractNumber { get; set; }
|
||||||
|
public string TPCContractAt { get; set; }
|
||||||
|
public int TPCSellDeadline { get; set; }
|
||||||
|
public int TPCMeterReading { get; set; }
|
||||||
|
public string TPCPurchaseElectricityAt { get; set; }
|
||||||
|
public string TPCSellElectricityAt { get; set; }
|
||||||
|
}
|
||||||
|
|
||||||
|
public class PostLandBuildingInfo
|
||||||
|
{
|
||||||
|
public int Id { get; set; }
|
||||||
|
public int PowerStationId { get; set; }
|
||||||
|
public string Address { get; set; }
|
||||||
|
public string LeaseNotarizationAt { get; set; }
|
||||||
|
public string Landowner { get; set; }
|
||||||
|
public string Purpose { get; set; }
|
||||||
|
public int LeaseRate { get; set; }
|
||||||
|
public string Coordinate { get; set; }
|
||||||
|
public string Phone { get; set; }
|
||||||
|
}
|
||||||
|
|
||||||
|
public class UpdateLandBuilding : Updated
|
||||||
|
{
|
||||||
|
public string Address { get; set; }
|
||||||
|
public string LeaseNotarizationAt { get; set; }
|
||||||
|
public string Landowner { get; set; }
|
||||||
|
public string Purpose { get; set; }
|
||||||
|
public int LeaseRate { get; set; }
|
||||||
|
public string Coordinate { get; set; }
|
||||||
|
public string Phone { get; set; }
|
||||||
|
}
|
||||||
|
|
||||||
|
public class CitySelectItemList
|
||||||
|
{
|
||||||
|
public string Text { get; set; }
|
||||||
|
public string Value { get; set; }
|
||||||
|
}
|
||||||
|
|
||||||
|
public class AreaSelectItemList
|
||||||
|
{
|
||||||
|
public string Text { get; set; }
|
||||||
|
public string Value { get; set; }
|
||||||
|
}
|
||||||
|
|
||||||
|
public class Zipcode
|
||||||
|
{
|
||||||
|
public string City { get; set; }
|
||||||
|
public string Area { get; set; }
|
||||||
|
}
|
||||||
|
|
||||||
|
public class City
|
||||||
|
{
|
||||||
|
public int Id { get; set; }
|
||||||
|
public string Name { get; set; }
|
||||||
|
public string ZipCode { get; set; }
|
||||||
|
public int Priority { get; set; }
|
||||||
|
}
|
||||||
|
|
||||||
|
public class Area
|
||||||
|
{
|
||||||
|
public int Id { get; set; }
|
||||||
|
public int CityId { get; set; }
|
||||||
|
public string Name { get; set; }
|
||||||
|
public string ZipCode { get; set; }
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@ -186,101 +186,58 @@ namespace SolarPower.Models
|
|||||||
/// 回傳結果
|
/// 回傳結果
|
||||||
/// </summary>
|
/// </summary>
|
||||||
/// <typeparam name="T">資料型別</typeparam>
|
/// <typeparam name="T">資料型別</typeparam>
|
||||||
public class ApiResult<S1>
|
public class ApiResult<T>
|
||||||
{
|
{
|
||||||
public string Code { get; set; }
|
public string Code { get; set; }
|
||||||
public string Msg { get; set; }
|
public string Msg { get; set; }
|
||||||
public S1 Data { get; set; }
|
public T Data { get; set; }
|
||||||
}
|
}
|
||||||
|
|
||||||
public class DapperConnection
|
/// <summary>
|
||||||
|
/// 資料夾
|
||||||
|
/// </summary>
|
||||||
|
public class FolderFunction
|
||||||
{
|
{
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 新增SQL字串
|
/// 創建資料夾
|
||||||
/// </summary>
|
/// </summary>
|
||||||
/// <param name="TableName">Table名稱</param>
|
/// <param name="folderPath"></param>
|
||||||
/// <param name="TableValue">Add新增欄位名稱</param>
|
/// <param name="tempType">0:找到資料夾也不刪除 1:找到資料夾並且刪除</param>
|
||||||
/// <returns></returns>
|
public void CreateFolder(string folderPath, int type)
|
||||||
//public string InsertQueryTxt(string TableName, List<string> TableValue)
|
{
|
||||||
//{
|
DirectoryInfo dInfo = new DirectoryInfo(folderPath);
|
||||||
// var sqlId = "";
|
|
||||||
// var sqlValue = "";
|
|
||||||
|
|
||||||
// foreach (var value in TableValue)
|
if (dInfo.Exists) //找到
|
||||||
// {
|
{
|
||||||
// sqlId += value + ",";
|
if (type == 1)
|
||||||
// sqlValue += "@" + value + ",";
|
{
|
||||||
// }
|
dInfo.Delete(true); //如果資料夾裡面有檔案給bool參數就可以直接刪除,沒給bool參數會報錯誤
|
||||||
|
}
|
||||||
|
|
||||||
// var connTxt = "INSERT INTO " + TableName + "(" + sqlId.Substring(0, sqlId.Length - 1) + ") VALUES" + "(" + sqlValue.Substring(0, sqlValue.Length - 1) + ");";
|
dInfo.Create();
|
||||||
// return connTxt;
|
}
|
||||||
//}
|
else //沒找到
|
||||||
|
{
|
||||||
|
dInfo.Create(); //建立新的資料夾
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 修改SQL字串
|
/// 刪除檔案
|
||||||
/// </summary>
|
/// </summary>
|
||||||
/// <param name="TableName">Table名稱</param>
|
/// <param name="filePath"></param>
|
||||||
/// <param name="TableValue">Update變動欄位名稱</param>
|
public void DeleteFile(string filePath)
|
||||||
/// <param name="sWhere">where條件</param>
|
{
|
||||||
/// <returns></returns>
|
System.IO.FileInfo file = new System.IO.FileInfo(filePath);
|
||||||
//public string UpdateQueryTxt(string TableName, List<string> TableValue, string sWhere = "")
|
if (File.Exists(filePath)) //找到
|
||||||
//{
|
{
|
||||||
// var sqlTxt = "";
|
//do something
|
||||||
|
file.Delete();
|
||||||
// foreach (var value in TableValue)
|
}
|
||||||
// {
|
else //沒找到
|
||||||
// sqlTxt += value + "=@" + value + ",";
|
{
|
||||||
// }
|
//do something
|
||||||
|
}
|
||||||
// var connTxt = "UPDATE " + TableName + " SET " + sqlTxt.Substring(0, sqlTxt.Length - 1);
|
}
|
||||||
|
|
||||||
// if (sWhere != "")
|
|
||||||
// {
|
|
||||||
// connTxt += " WHERE " + sWhere;
|
|
||||||
// }
|
|
||||||
|
|
||||||
// return connTxt;
|
|
||||||
//}
|
|
||||||
|
|
||||||
//private string GenerateInsertQuery()
|
|
||||||
//{
|
|
||||||
// var insertQuery = new StringBuilder($"INSERT INTO {_tableName} ");
|
|
||||||
|
|
||||||
// insertQuery.Append("(");
|
|
||||||
|
|
||||||
// var properties = GenerateListOfProperties(GetProperties);
|
|
||||||
// properties.ForEach(prop => { insertQuery.Append($"[{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();
|
|
||||||
//}
|
|
||||||
|
|
||||||
//private string GenerateUpdateQuery()
|
|
||||||
//{
|
|
||||||
// var updateQuery = new StringBuilder($"UPDATE {_tableName} SET ");
|
|
||||||
// var properties = GenerateListOfProperties(GetProperties);
|
|
||||||
|
|
||||||
// properties.ForEach(property =>
|
|
||||||
// {
|
|
||||||
// if (!property.Equals("Id"))
|
|
||||||
// {
|
|
||||||
// updateQuery.Append($"{property}=@{property},");
|
|
||||||
// }
|
|
||||||
// });
|
|
||||||
|
|
||||||
// updateQuery.Remove(updateQuery.Length - 1, 1); //remove last comma
|
|
||||||
// updateQuery.Append(" WHERE Id=@Id");
|
|
||||||
|
|
||||||
// return updateQuery.ToString();
|
|
||||||
//}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -17,6 +17,159 @@ namespace SolarPower.Repository.Implement
|
|||||||
tableName = "power_station";
|
tableName = "power_station";
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 查詢縣市列表
|
||||||
|
/// </summary>
|
||||||
|
/// <returns></returns>
|
||||||
|
public async Task<List<CitySelectItemList>> GetCitySelectOptionListAsync()
|
||||||
|
{
|
||||||
|
List<CitySelectItemList> result;
|
||||||
|
using (IDbConnection conn = this._databaseHelper.GetConnection())
|
||||||
|
{
|
||||||
|
try
|
||||||
|
{
|
||||||
|
var sql = $"SELECT Id AS Value, Name AS Text FROM city";
|
||||||
|
|
||||||
|
result = (await conn.QueryAsync<CitySelectItemList>(sql)).ToList();
|
||||||
|
}
|
||||||
|
catch (Exception exception)
|
||||||
|
{
|
||||||
|
throw exception;
|
||||||
|
}
|
||||||
|
return result;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 查詢縣市列表
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="cityId"></param>
|
||||||
|
/// <returns></returns>
|
||||||
|
public async Task<List<AreaSelectItemList>> GetAreaSelectOptionListAsync(int cityId)
|
||||||
|
{
|
||||||
|
List<AreaSelectItemList> result;
|
||||||
|
using (IDbConnection conn = this._databaseHelper.GetConnection())
|
||||||
|
{
|
||||||
|
try
|
||||||
|
{
|
||||||
|
var sql = $"SELECT Id AS Value, Name AS Text FROM Area WHERE CityId = @CityId";
|
||||||
|
|
||||||
|
result = (await conn.QueryAsync<AreaSelectItemList>(sql, new { CityId = cityId })).ToList();
|
||||||
|
}
|
||||||
|
catch (Exception exception)
|
||||||
|
{
|
||||||
|
throw exception;
|
||||||
|
}
|
||||||
|
return result;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 透過編號取得,縣市資訊
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="cityId"></param>
|
||||||
|
/// <returns></returns>
|
||||||
|
public async Task<City> GetOneCityByIdAsync(int cityId)
|
||||||
|
{
|
||||||
|
City result;
|
||||||
|
using (IDbConnection conn = this._databaseHelper.GetConnection())
|
||||||
|
{
|
||||||
|
try
|
||||||
|
{
|
||||||
|
var sql = @$"SELECT * FROM city WHERE Id=@Id";
|
||||||
|
|
||||||
|
result = await conn.QueryFirstOrDefaultAsync<City>(sql, new { Id = cityId });
|
||||||
|
}
|
||||||
|
catch (Exception exception)
|
||||||
|
{
|
||||||
|
throw exception;
|
||||||
|
}
|
||||||
|
return result;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 透過編號取得,地區資訊
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="areaId"></param>
|
||||||
|
/// <returns></returns>
|
||||||
|
public async Task<Area> GetOneAreaByIdAsync(int areaId)
|
||||||
|
{
|
||||||
|
Area result;
|
||||||
|
using (IDbConnection conn = this._databaseHelper.GetConnection())
|
||||||
|
{
|
||||||
|
try
|
||||||
|
{
|
||||||
|
var sql = @$"SELECT * FROM area WHERE Id=@Id";
|
||||||
|
|
||||||
|
result = await conn.QueryFirstOrDefaultAsync<Area>(sql, new { Id = areaId });
|
||||||
|
}
|
||||||
|
catch (Exception exception)
|
||||||
|
{
|
||||||
|
throw exception;
|
||||||
|
}
|
||||||
|
return result;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 取得縣市地區代碼
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="areaId"></param>
|
||||||
|
/// <returns></returns>
|
||||||
|
public async Task<Zipcode> GetCityAreaZipcodeAsync(int areaId)
|
||||||
|
{
|
||||||
|
Zipcode result;
|
||||||
|
using (IDbConnection conn = this._databaseHelper.GetConnection())
|
||||||
|
{
|
||||||
|
try
|
||||||
|
{
|
||||||
|
var sql = @$"SELECT a.ZipCode AS Area, c.ZipCode AS City FROM area a
|
||||||
|
LEFT JOIN city c ON a.cityId = c.Id
|
||||||
|
WHERE a.Id = @AreaId";
|
||||||
|
|
||||||
|
result = await conn.QueryFirstOrDefaultAsync<Zipcode>(sql, new { AreaId = areaId });
|
||||||
|
}
|
||||||
|
catch (Exception exception)
|
||||||
|
{
|
||||||
|
throw exception;
|
||||||
|
}
|
||||||
|
return result;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 透過縣市地區編號,取得該縣市地區最後的流水號
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="cityId"></param>
|
||||||
|
/// <param name="areaId"></param>
|
||||||
|
/// <returns></returns>
|
||||||
|
public async Task<string> GetLastSerialNumberByCityAreaIdAsync(int cityId, int areaId)
|
||||||
|
{
|
||||||
|
string result;
|
||||||
|
using (IDbConnection conn = this._databaseHelper.GetConnection())
|
||||||
|
{
|
||||||
|
try
|
||||||
|
{
|
||||||
|
var sql = @$"SELECT SerialNumber FROM {tableName}
|
||||||
|
WHERE CityId = @CityId && AreaId = @AreaId ORDER BY SerialNumber DESC";
|
||||||
|
|
||||||
|
result = await conn.QueryFirstOrDefaultAsync<string>(sql, new { CityId = cityId, AreaId = areaId });
|
||||||
|
}
|
||||||
|
catch (Exception exception)
|
||||||
|
{
|
||||||
|
throw exception;
|
||||||
|
}
|
||||||
|
return result;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 透過電站編號,取得單一電站資訊(覆寫)
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="id"></param>
|
||||||
|
/// <returns></returns>
|
||||||
public override async Task<PowerStation> GetOneAsync(int id)
|
public override async Task<PowerStation> GetOneAsync(int id)
|
||||||
{
|
{
|
||||||
//base.GetOneAsync(id);
|
//base.GetOneAsync(id);
|
||||||
@ -27,13 +180,17 @@ namespace SolarPower.Repository.Implement
|
|||||||
conn.Open();
|
conn.Open();
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
var sql = $"SELECT * FROM {tableName} WHERE Deleted = 0 AND Id = @Id";
|
var sql = @$"SELECT ps.*, u.Name AS CreatorName FROM {tableName} ps
|
||||||
|
LEFT JOIN user u ON ps.CreatedBy = u.Id
|
||||||
|
WHERE ps.Deleted = 0 AND ps.Id = @Id";
|
||||||
|
|
||||||
result = await conn.QueryFirstOrDefaultAsync<PowerStation>(sql, new { Id = id});
|
result = await conn.QueryFirstOrDefaultAsync<PowerStation>(sql, new { Id = id});
|
||||||
|
|
||||||
if(result!= null)
|
if(result!= null)
|
||||||
{
|
{
|
||||||
var sql_land_building = @"SELECT * FROM land_building WHERE Deleted = 0 AND PowerStationId = @PowerStationId";
|
var sql_land_building = @$"SELECT lb.*, u.Name AS CreatorName FROM land_building lb
|
||||||
|
LEFT JOIN user u ON lb.CreatedBy = u.Id
|
||||||
|
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();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -48,5 +205,203 @@ namespace SolarPower.Repository.Implement
|
|||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 修改電站基本資訊
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="entity"></param>
|
||||||
|
/// <returns></returns>
|
||||||
|
public async Task UpdatePowerStationInfo(UpdatePowerStationInfo entity, List<string> properties)
|
||||||
|
{
|
||||||
|
|
||||||
|
using (IDbConnection conn = this._databaseHelper.GetConnection())
|
||||||
|
{
|
||||||
|
conn.Open();
|
||||||
|
using (var trans = conn.BeginTransaction())
|
||||||
|
{
|
||||||
|
try
|
||||||
|
{
|
||||||
|
var sql = GenerateUpdateQuery(properties);
|
||||||
|
|
||||||
|
await conn.ExecuteAsync(sql, entity, trans);
|
||||||
|
|
||||||
|
trans.Commit();
|
||||||
|
}
|
||||||
|
catch (Exception exception)
|
||||||
|
{
|
||||||
|
trans.Rollback();
|
||||||
|
throw exception;
|
||||||
|
}
|
||||||
|
finally
|
||||||
|
{
|
||||||
|
conn.Close();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 修改能源局與台電資訊
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="entity"></param>
|
||||||
|
/// <returns></returns>
|
||||||
|
public async Task UpdateBoETPCInfo(UpdateBoETPCInfo entity, List<string> properties)
|
||||||
|
{
|
||||||
|
|
||||||
|
using (IDbConnection conn = this._databaseHelper.GetConnection())
|
||||||
|
{
|
||||||
|
conn.Open();
|
||||||
|
using (var trans = conn.BeginTransaction())
|
||||||
|
{
|
||||||
|
try
|
||||||
|
{
|
||||||
|
var sql = GenerateUpdateQuery(properties);
|
||||||
|
|
||||||
|
await conn.ExecuteAsync(sql, entity, trans);
|
||||||
|
|
||||||
|
trans.Commit();
|
||||||
|
}
|
||||||
|
catch (Exception exception)
|
||||||
|
{
|
||||||
|
trans.Rollback();
|
||||||
|
throw exception;
|
||||||
|
}
|
||||||
|
finally
|
||||||
|
{
|
||||||
|
conn.Close();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 新增 土地房屋資訊
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="id"></param>
|
||||||
|
/// <returns></returns>
|
||||||
|
public async Task<LandBuilding> GetOneLandBuildingInfo(int id)
|
||||||
|
{
|
||||||
|
LandBuilding result;
|
||||||
|
using (IDbConnection conn = _databaseHelper.GetConnection())
|
||||||
|
{
|
||||||
|
conn.Open();
|
||||||
|
try
|
||||||
|
{
|
||||||
|
var sql = @"SELECT * FROM land_building WHERE Deleted =0 AND Id = @Id";
|
||||||
|
|
||||||
|
result = await conn.QueryFirstOrDefaultAsync<LandBuilding>(sql, new { Id = id });
|
||||||
|
}
|
||||||
|
catch (Exception exception)
|
||||||
|
{
|
||||||
|
throw exception;
|
||||||
|
}
|
||||||
|
finally
|
||||||
|
{
|
||||||
|
conn.Close();
|
||||||
|
}
|
||||||
|
|
||||||
|
return result;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 新增 土地房屋資訊
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="entity"></param>
|
||||||
|
/// <param name="properties"></param>
|
||||||
|
/// <returns></returns>
|
||||||
|
public async Task<int> AddOneLandBuildingInfo(LandBuilding entity, List<string> properties)
|
||||||
|
{
|
||||||
|
int id;
|
||||||
|
using (IDbConnection conn = _databaseHelper.GetConnection())
|
||||||
|
{
|
||||||
|
conn.Open();
|
||||||
|
try
|
||||||
|
{
|
||||||
|
string sql = GenerateInsertQueryWithCustomTable(properties, "land_building");
|
||||||
|
|
||||||
|
sql += "SELECT LAST_INSERT_ID();";
|
||||||
|
|
||||||
|
id = (await conn.QueryAsync<int>(sql, entity)).Single();
|
||||||
|
}
|
||||||
|
catch (Exception exception)
|
||||||
|
{
|
||||||
|
throw exception;
|
||||||
|
}
|
||||||
|
finally
|
||||||
|
{
|
||||||
|
conn.Close();
|
||||||
|
}
|
||||||
|
|
||||||
|
return id;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 更新 土地房屋資訊
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="entity"></param>
|
||||||
|
/// <param name="properties"></param>
|
||||||
|
/// <returns></returns>
|
||||||
|
public async Task UpdateLandBuildingInfo(UpdateLandBuilding entity, List<string> properties)
|
||||||
|
{
|
||||||
|
using (IDbConnection conn = this._databaseHelper.GetConnection())
|
||||||
|
{
|
||||||
|
conn.Open();
|
||||||
|
using (var trans = conn.BeginTransaction())
|
||||||
|
{
|
||||||
|
try
|
||||||
|
{
|
||||||
|
var sql = GenerateUpdateQueryWithCustomTable(properties, "land_building");
|
||||||
|
|
||||||
|
await conn.ExecuteAsync(sql, entity, trans);
|
||||||
|
|
||||||
|
trans.Commit();
|
||||||
|
}
|
||||||
|
catch (Exception exception)
|
||||||
|
{
|
||||||
|
trans.Rollback();
|
||||||
|
throw exception;
|
||||||
|
}
|
||||||
|
finally
|
||||||
|
{
|
||||||
|
conn.Close();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 軟刪除土地房屋資訊
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="id"></param>
|
||||||
|
/// <returns></returns>
|
||||||
|
public async Task DeleteOneLandBuildingInfo(int id)
|
||||||
|
{
|
||||||
|
using (IDbConnection conn = this._databaseHelper.GetConnection())
|
||||||
|
{
|
||||||
|
conn.Open();
|
||||||
|
using (var trans = conn.BeginTransaction())
|
||||||
|
{
|
||||||
|
try
|
||||||
|
{
|
||||||
|
var sql = $"UPDATE land_building SET deleted = 1 WHERE id = @Id";
|
||||||
|
|
||||||
|
await conn.ExecuteAsync(sql, new { Id = id }, trans);
|
||||||
|
|
||||||
|
trans.Commit();
|
||||||
|
}
|
||||||
|
catch (Exception exception)
|
||||||
|
{
|
||||||
|
trans.Rollback();
|
||||||
|
throw exception;
|
||||||
|
}
|
||||||
|
finally
|
||||||
|
{
|
||||||
|
conn.Close();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -282,7 +282,7 @@ namespace SolarPower.Repository.Implement
|
|||||||
|
|
||||||
insertQuery
|
insertQuery
|
||||||
.Remove(insertQuery.Length - 1, 1)
|
.Remove(insertQuery.Length - 1, 1)
|
||||||
.Append(")");
|
.Append(");");
|
||||||
|
|
||||||
return insertQuery.ToString();
|
return insertQuery.ToString();
|
||||||
}
|
}
|
||||||
@ -309,5 +309,29 @@ namespace SolarPower.Repository.Implement
|
|||||||
|
|
||||||
return updateQuery.ToString();
|
return updateQuery.ToString();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 產生Update語句,可選擇自己要加入資料表
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="properties"></param>
|
||||||
|
/// <param name="table_name">欲新增至目標資料表</param>
|
||||||
|
/// <returns></returns>
|
||||||
|
protected string GenerateUpdateQueryWithCustomTable(List<string> properties, string table_name)
|
||||||
|
{
|
||||||
|
var updateQuery = new StringBuilder($"UPDATE {table_name} SET ");
|
||||||
|
|
||||||
|
properties.ForEach(property =>
|
||||||
|
{
|
||||||
|
if (!property.Equals("Id"))
|
||||||
|
{
|
||||||
|
updateQuery.Append($"{property}=@{property},");
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
updateQuery.Remove(updateQuery.Length - 1, 1); //remove last comma
|
||||||
|
updateQuery.Append(" WHERE id = @Id");
|
||||||
|
|
||||||
|
return updateQuery.ToString();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -8,5 +8,94 @@ namespace SolarPower.Repository.Interface
|
|||||||
{
|
{
|
||||||
public interface IPowerStationRepository : IRepositoryBase<PowerStation>
|
public interface IPowerStationRepository : IRepositoryBase<PowerStation>
|
||||||
{
|
{
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 查詢縣市列表
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="CompanyId"></param>
|
||||||
|
/// <returns></returns>
|
||||||
|
Task<List<CitySelectItemList>> GetCitySelectOptionListAsync();
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 查詢地區列表
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="CompanyId"></param>
|
||||||
|
/// <returns></returns>
|
||||||
|
Task<List<AreaSelectItemList>> GetAreaSelectOptionListAsync(int cityId);
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 透過編號取得,縣市資訊
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="cityId"></param>
|
||||||
|
/// <returns></returns>
|
||||||
|
Task<City> GetOneCityByIdAsync(int cityId);
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 透過編號取得,地區資訊
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="areaId"></param>
|
||||||
|
/// <returns></returns>
|
||||||
|
Task<Area> GetOneAreaByIdAsync(int areaId);
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 取得縣市地區代碼
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="areaId"></param>
|
||||||
|
/// <returns></returns>
|
||||||
|
Task<Zipcode> GetCityAreaZipcodeAsync(int areaId);
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 透過縣市地區編號,取得該縣市地區最後的流水號
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="cityId"></param>
|
||||||
|
/// <param name="areaId"></param>
|
||||||
|
/// <returns></returns>
|
||||||
|
Task<string> GetLastSerialNumberByCityAreaIdAsync(int cityId, int areaId);
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 修改電站基本資訊
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="entity"></param>
|
||||||
|
/// <param name="properties"></param>
|
||||||
|
/// <returns></returns>
|
||||||
|
Task UpdatePowerStationInfo(UpdatePowerStationInfo entity, List<string> properties);
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 修改能源局與台電資訊
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="entity"></param>
|
||||||
|
/// <param name="properties"></param>
|
||||||
|
/// <returns></returns>
|
||||||
|
Task UpdateBoETPCInfo(UpdateBoETPCInfo entity, List<string> properties);
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 取得 土地房屋資訊
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="id"></param>
|
||||||
|
/// <returns></returns>
|
||||||
|
Task<LandBuilding> GetOneLandBuildingInfo(int id);
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 新增 土地房屋資訊
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="entity"></param>
|
||||||
|
/// <param name="properties"></param>
|
||||||
|
/// <returns></returns>
|
||||||
|
Task<int> AddOneLandBuildingInfo(LandBuilding entity, List<string> properties);
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 更新 土地房屋資訊
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="entity"></param>
|
||||||
|
/// <param name="properties"></param>
|
||||||
|
/// <returns></returns>
|
||||||
|
Task UpdateLandBuildingInfo(UpdateLandBuilding entity, List<string> properties);
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 軟刪除土地房屋資訊
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="id"></param>
|
||||||
|
/// <returns></returns>
|
||||||
|
Task DeleteOneLandBuildingInfo(int id);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -18,6 +18,145 @@
|
|||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<Folder Include="Logs\" />
|
<Folder Include="Logs\" />
|
||||||
<Folder Include="wwwroot\upload\company_logo\" />
|
<Folder Include="wwwroot\upload\company_logo\" />
|
||||||
|
<Folder Include="wwwroot\upload\power_station\boe_file\" />
|
||||||
|
</ItemGroup>
|
||||||
|
|
||||||
|
<ItemGroup>
|
||||||
|
<None Include="wwwroot\css\adminlte.min.css.map" />
|
||||||
|
<None Include="wwwroot\css\app.bundle.css.map_" />
|
||||||
|
<None Include="wwwroot\css\datagrid\datatables\datatables.bundle.css.map_" />
|
||||||
|
<None Include="wwwroot\css\fa-brands.css.map_" />
|
||||||
|
<None Include="wwwroot\css\fa-duotone.css.map_" />
|
||||||
|
<None Include="wwwroot\css\fa-light.css.map_" />
|
||||||
|
<None Include="wwwroot\css\fa-regular.css.map_" />
|
||||||
|
<None Include="wwwroot\css\fa-solid.css.map_" />
|
||||||
|
<None Include="wwwroot\css\formplugins\bootstrap-colorpicker\bootstrap-colorpicker.css.map" />
|
||||||
|
<None Include="wwwroot\css\formplugins\bootstrap-datepicker\bootstrap-datepicker.css.map" />
|
||||||
|
<None Include="wwwroot\css\formplugins\bootstrap-daterangepicker\bootstrap-daterangepicker.css.map" />
|
||||||
|
<None Include="wwwroot\css\formplugins\bootstrap-markdown\bootstrap-markdown.css.map" />
|
||||||
|
<None Include="wwwroot\css\formplugins\cropperjs\cropper.css.map" />
|
||||||
|
<None Include="wwwroot\css\formplugins\dropzone\dropzone.css.map" />
|
||||||
|
<None Include="wwwroot\css\formplugins\ion-rangeslider\ion-rangeslider.css.map" />
|
||||||
|
<None Include="wwwroot\css\formplugins\nouislider\nouislider.css.map" />
|
||||||
|
<None Include="wwwroot\css\formplugins\select2\select2.bundle.css.map" />
|
||||||
|
<None Include="wwwroot\css\formplugins\smartwizard\smartwizard.css.map" />
|
||||||
|
<None Include="wwwroot\css\formplugins\summernote\summernote.css.map" />
|
||||||
|
<None Include="wwwroot\css\json-path-picker\json-path-picker.css.map" />
|
||||||
|
<None Include="wwwroot\css\miscellaneous\fullcalendar\fullcalendar.bundle.css.map" />
|
||||||
|
<None Include="wwwroot\css\miscellaneous\jqvmap\jqvmap.bundle.css.map" />
|
||||||
|
<None Include="wwwroot\css\miscellaneous\lightgallery\lightgallery.bundle.css.map" />
|
||||||
|
<None Include="wwwroot\css\miscellaneous\nestable\nestable.css.map" />
|
||||||
|
<None Include="wwwroot\css\miscellaneous\reactions\reactions.css.map" />
|
||||||
|
<None Include="wwwroot\css\miscellaneous\treeview\treeview.css.map" />
|
||||||
|
<None Include="wwwroot\css\notifications\sweetalert2\sweetalert2.bundle.css.map" />
|
||||||
|
<None Include="wwwroot\css\notifications\toastr\toastr.css.map" />
|
||||||
|
<None Include="wwwroot\css\page-invoice.css.map_" />
|
||||||
|
<None Include="wwwroot\css\page-login-alt.css.map_" />
|
||||||
|
<None Include="wwwroot\css\skins\skin-master.css.map_" />
|
||||||
|
<None Include="wwwroot\css\statistics\c3\c3.css.map" />
|
||||||
|
<None Include="wwwroot\css\statistics\chartist\chartist.css.map" />
|
||||||
|
<None Include="wwwroot\css\statistics\chartjs\chartjs.css.map" />
|
||||||
|
<None Include="wwwroot\css\statistics\dygraph\dygraph.css.map" />
|
||||||
|
<None Include="wwwroot\css\theme-demo.css.map_" />
|
||||||
|
<None Include="wwwroot\css\themes\cust-theme-1.css.map" />
|
||||||
|
<None Include="wwwroot\css\themes\cust-theme-10.css.map" />
|
||||||
|
<None Include="wwwroot\css\themes\cust-theme-11.css.map" />
|
||||||
|
<None Include="wwwroot\css\themes\cust-theme-12.css.map" />
|
||||||
|
<None Include="wwwroot\css\themes\cust-theme-13.css.map" />
|
||||||
|
<None Include="wwwroot\css\themes\cust-theme-14.css.map" />
|
||||||
|
<None Include="wwwroot\css\themes\cust-theme-15.css.map" />
|
||||||
|
<None Include="wwwroot\css\themes\cust-theme-15.css.map_" />
|
||||||
|
<None Include="wwwroot\css\themes\cust-theme-2.css.map" />
|
||||||
|
<None Include="wwwroot\css\themes\cust-theme-3.css.map" />
|
||||||
|
<None Include="wwwroot\css\themes\cust-theme-4.css.map" />
|
||||||
|
<None Include="wwwroot\css\themes\cust-theme-5.css.map" />
|
||||||
|
<None Include="wwwroot\css\themes\cust-theme-6.css.map" />
|
||||||
|
<None Include="wwwroot\css\themes\cust-theme-7.css.map" />
|
||||||
|
<None Include="wwwroot\css\themes\cust-theme-8.css.map" />
|
||||||
|
<None Include="wwwroot\css\themes\cust-theme-9.css.map" />
|
||||||
|
<None Include="wwwroot\css\vendors.bundle.css.map_" />
|
||||||
|
<None Include="wwwroot\img\favicon\safari-pinned-tab.svg" />
|
||||||
|
<None Include="wwwroot\img\favicon\site.webmanifest" />
|
||||||
|
<None Include="wwwroot\img\logo-flat.svg" />
|
||||||
|
<None Include="wwwroot\img\logo-gradient.svg" />
|
||||||
|
<None Include="wwwroot\img\logo.svg" />
|
||||||
|
<None Include="wwwroot\img\svg\pattern-1.svg" />
|
||||||
|
<None Include="wwwroot\img\svg\pattern-2.svg" />
|
||||||
|
<None Include="wwwroot\img\svg\pattern-3.svg" />
|
||||||
|
<None Include="wwwroot\img\svg\pattern-4.svg" />
|
||||||
|
<None Include="wwwroot\js\app.bundle.js" />
|
||||||
|
<None Include="wwwroot\js\datagrid\datatables\datatables.bundle.js" />
|
||||||
|
<None Include="wwwroot\js\datagrid\datatables\datatables.export.js" />
|
||||||
|
<None Include="wwwroot\js\dependency\moment\moment.js" />
|
||||||
|
<None Include="wwwroot\js\formplugins\bootstrap-colorpicker\bootstrap-colorpicker.js" />
|
||||||
|
<None Include="wwwroot\js\formplugins\bootstrap-datepicker\bootstrap-datepicker.js" />
|
||||||
|
<None Include="wwwroot\js\formplugins\bootstrap-daterangepicker\bootstrap-daterangepicker.js" />
|
||||||
|
<None Include="wwwroot\js\formplugins\bootstrap-markdown\bootstrap-markdown.js" />
|
||||||
|
<None Include="wwwroot\js\formplugins\cropperjs\cropper.js" />
|
||||||
|
<None Include="wwwroot\js\formplugins\dropzone\dropzone.js" />
|
||||||
|
<None Include="wwwroot\js\formplugins\inputmask\inputmask.bundle.js" />
|
||||||
|
<None Include="wwwroot\js\formplugins\ion-rangeslider\ion-rangeslider.js" />
|
||||||
|
<None Include="wwwroot\js\formplugins\nouislider\nouislider.js" />
|
||||||
|
<None Include="wwwroot\js\formplugins\select2\select2.bundle.js" />
|
||||||
|
<None Include="wwwroot\js\formplugins\smartwizard\smartwizard.js" />
|
||||||
|
<None Include="wwwroot\js\formplugins\summernote\summernote.js" />
|
||||||
|
<None Include="wwwroot\js\i18n\i18n.js" />
|
||||||
|
<None Include="wwwroot\js\json-path-picker\json-path-picker.js" />
|
||||||
|
<None Include="wwwroot\js\miscellaneous\fullcalendar\fullcalendar.bundle.js" />
|
||||||
|
<None Include="wwwroot\js\miscellaneous\jqvmap\jqvmap.bundle.js" />
|
||||||
|
<None Include="wwwroot\js\miscellaneous\jqvmap\maps\jquery.vmap.algeria.js" />
|
||||||
|
<None Include="wwwroot\js\miscellaneous\jqvmap\maps\jquery.vmap.argentina.js" />
|
||||||
|
<None Include="wwwroot\js\miscellaneous\jqvmap\maps\jquery.vmap.brazil.js" />
|
||||||
|
<None Include="wwwroot\js\miscellaneous\jqvmap\maps\jquery.vmap.canada.js" />
|
||||||
|
<None Include="wwwroot\js\miscellaneous\jqvmap\maps\jquery.vmap.europe.js" />
|
||||||
|
<None Include="wwwroot\js\miscellaneous\jqvmap\maps\jquery.vmap.france.js" />
|
||||||
|
<None Include="wwwroot\js\miscellaneous\jqvmap\maps\jquery.vmap.germany.js" />
|
||||||
|
<None Include="wwwroot\js\miscellaneous\jqvmap\maps\jquery.vmap.greece.js" />
|
||||||
|
<None Include="wwwroot\js\miscellaneous\jqvmap\maps\jquery.vmap.iran.js" />
|
||||||
|
<None Include="wwwroot\js\miscellaneous\jqvmap\maps\jquery.vmap.iraq.js" />
|
||||||
|
<None Include="wwwroot\js\miscellaneous\jqvmap\maps\jquery.vmap.russia.js" />
|
||||||
|
<None Include="wwwroot\js\miscellaneous\jqvmap\maps\jquery.vmap.tunisia.js" />
|
||||||
|
<None Include="wwwroot\js\miscellaneous\jqvmap\maps\jquery.vmap.turkey.js" />
|
||||||
|
<None Include="wwwroot\js\miscellaneous\jqvmap\maps\jquery.vmap.usa.js" />
|
||||||
|
<None Include="wwwroot\js\miscellaneous\lightgallery\lightgallery.bundle.js" />
|
||||||
|
<None Include="wwwroot\js\miscellaneous\lightgallery\smartvoice.bundle.js" />
|
||||||
|
<None Include="wwwroot\js\miscellaneous\nestable\nestable.js" />
|
||||||
|
<None Include="wwwroot\js\miscellaneous\treeview\treeview.js" />
|
||||||
|
<None Include="wwwroot\js\notifications\sweetalert2\sweetalert2.bundle.js" />
|
||||||
|
<None Include="wwwroot\js\notifications\toastr\toastr.js" />
|
||||||
|
<None Include="wwwroot\js\site.js" />
|
||||||
|
<None Include="wwwroot\js\statistics\c3\c3.js" />
|
||||||
|
<None Include="wwwroot\js\statistics\chartist\chartist.js" />
|
||||||
|
<None Include="wwwroot\js\statistics\chartjs\chartjs.bundle.js" />
|
||||||
|
<None Include="wwwroot\js\statistics\d3\d3.js" />
|
||||||
|
<None Include="wwwroot\js\statistics\demo-data\demo-c3.js" />
|
||||||
|
<None Include="wwwroot\js\statistics\demo-data\demo-data-dygraph.js" />
|
||||||
|
<None Include="wwwroot\js\statistics\dygraph\dygraph.js" />
|
||||||
|
<None Include="wwwroot\js\statistics\easypiechart\easypiechart.bundle.js" />
|
||||||
|
<None Include="wwwroot\js\statistics\flot\flot.bundle.js" />
|
||||||
|
<None Include="wwwroot\js\statistics\peity\peity.bundle.js" />
|
||||||
|
<None Include="wwwroot\js\statistics\sparkline\sparkline.bundle.js" />
|
||||||
|
<None Include="wwwroot\js\toast.js" />
|
||||||
|
<None Include="wwwroot\js\vendors.bundle.js" />
|
||||||
|
<None Include="wwwroot\media\sound\bigbox.ogg" />
|
||||||
|
<None Include="wwwroot\media\sound\messagebox.ogg" />
|
||||||
|
<None Include="wwwroot\media\sound\smallbox.ogg" />
|
||||||
|
<None Include="wwwroot\media\sound\voice_alert.ogg" />
|
||||||
|
<None Include="wwwroot\media\sound\voice_off.ogg" />
|
||||||
|
<None Include="wwwroot\media\sound\voice_on.ogg" />
|
||||||
|
<None Include="wwwroot\webfonts\fa-brands-400.svg" />
|
||||||
|
<None Include="wwwroot\webfonts\fa-brands-400.woff2" />
|
||||||
|
<None Include="wwwroot\webfonts\fa-duotone-900.svg" />
|
||||||
|
<None Include="wwwroot\webfonts\fa-duotone-900.woff2" />
|
||||||
|
<None Include="wwwroot\webfonts\fa-light-300.svg" />
|
||||||
|
<None Include="wwwroot\webfonts\fa-light-300.woff2" />
|
||||||
|
<None Include="wwwroot\webfonts\fa-regular-400.svg" />
|
||||||
|
<None Include="wwwroot\webfonts\fa-regular-400.woff2" />
|
||||||
|
<None Include="wwwroot\webfonts\fa-solid-900.svg" />
|
||||||
|
<None Include="wwwroot\webfonts\fa-solid-900.woff2" />
|
||||||
|
<None Include="wwwroot\webfonts\nextgen-icons.svg" />
|
||||||
|
<None Include="wwwroot\webfonts\nextgen-icons.woff2" />
|
||||||
|
<None Include="wwwroot\webfonts\summernote.woff2" />
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
|
|
||||||
</Project>
|
</Project>
|
||||||
|
|||||||
@ -12,7 +12,7 @@
|
|||||||
<!-- base css -->
|
<!-- base css -->
|
||||||
<link id="vendorsbundle" rel="stylesheet" media="screen, print" href="~/css/vendors.bundle.css">
|
<link id="vendorsbundle" rel="stylesheet" media="screen, print" href="~/css/vendors.bundle.css">
|
||||||
<link id="appbundle" rel="stylesheet" media="screen, print" href="~/css/app.bundle.css">
|
<link id="appbundle" rel="stylesheet" media="screen, print" href="~/css/app.bundle.css">
|
||||||
<link id="mytheme" rel="stylesheet" media="screen, print" href="#">
|
<link id="mytheme" rel="stylesheet" media="screen, print" href="~/css/themes/cust-theme-15.css">
|
||||||
<link id="myskin" rel="stylesheet" media="screen, print" href="~/css/skins/skin-master.css">
|
<link id="myskin" rel="stylesheet" media="screen, print" href="~/css/skins/skin-master.css">
|
||||||
<!-- Place favicon.ico in the root directory -->
|
<!-- Place favicon.ico in the root directory -->
|
||||||
<link rel="apple-touch-icon" sizes="180x180" href="~/img/favicon/apple-touch-icon.png">
|
<link rel="apple-touch-icon" sizes="180x180" href="~/img/favicon/apple-touch-icon.png">
|
||||||
|
|||||||
@ -24,7 +24,10 @@
|
|||||||
<i class="base-7 icon-stack-3x color-info-500"></i>
|
<i class="base-7 icon-stack-3x color-info-500"></i>
|
||||||
<i class="base-7 icon-stack-2x color-info-700"></i>
|
<i class="base-7 icon-stack-2x color-info-700"></i>
|
||||||
<i class="ni ni-graph icon-stack-1x text-white"></i>
|
<i class="ni ni-graph icon-stack-1x text-white"></i>
|
||||||
</span> 新竹巨城站
|
</span>
|
||||||
|
<span id="power-station-title">
|
||||||
|
新增電站
|
||||||
|
</span>
|
||||||
</h1>
|
</h1>
|
||||||
</div>
|
</div>
|
||||||
<ul class="nav nav-tabs mb-5" role="tablist" id="tablist">
|
<ul class="nav nav-tabs mb-5" role="tablist" id="tablist">
|
||||||
@ -86,6 +89,9 @@
|
|||||||
@section Scripts{
|
@section Scripts{
|
||||||
<script>
|
<script>
|
||||||
var stationId;
|
var stationId;
|
||||||
|
var powerStationData;
|
||||||
|
var selectedLandBuildingId;
|
||||||
|
var isLandBuildingLock = false;
|
||||||
$(function () {
|
$(function () {
|
||||||
|
|
||||||
var url = new URL(location.href);
|
var url = new URL(location.href);
|
||||||
@ -94,6 +100,7 @@
|
|||||||
//#region 電站資料 view 控制
|
//#region 電站資料 view 控制
|
||||||
if (stationId == 'new') {
|
if (stationId == 'new') {
|
||||||
//#region 電站基本資料
|
//#region 電站基本資料
|
||||||
|
$("#address_detail_text").hide();
|
||||||
$("#power_station_code_text").hide();
|
$("#power_station_code_text").hide();
|
||||||
$("#power_station_name_text").hide();
|
$("#power_station_name_text").hide();
|
||||||
$("#electricity_meter_at_text").hide();
|
$("#electricity_meter_at_text").hide();
|
||||||
@ -139,24 +146,27 @@
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
powerStationData = rel.data;
|
||||||
|
|
||||||
//#region 電站基本資料
|
//#region 電站基本資料
|
||||||
$("#add-station-info-btn").hide()
|
|
||||||
$("#canecl-station-info-btn").hide()
|
|
||||||
SetStationInfo(rel.data);
|
|
||||||
ChangeMode("station_info", "view");
|
ChangeMode("station_info", "view");
|
||||||
|
SetStationInfo();
|
||||||
//#endregion
|
//#endregion
|
||||||
|
|
||||||
//#region 能源局與台電資料
|
//#region 能源局與台電資料
|
||||||
$("#add-station-info-btn").hide()
|
|
||||||
$("#canecl-station-info-btn").hide()
|
|
||||||
SetStationInfo(rel.data);
|
|
||||||
ChangeMode("BOE_TPC", "view");
|
ChangeMode("BOE_TPC", "view");
|
||||||
|
SetBoETPCInfo();
|
||||||
|
//#endregion
|
||||||
|
|
||||||
|
//#region 土地與房屋資料
|
||||||
|
ChangeMode("land_building_info", "view");
|
||||||
|
SetLandBuildingInfo();
|
||||||
//#endregion
|
//#endregion
|
||||||
|
|
||||||
}, 'json');
|
}, 'json');
|
||||||
}
|
}
|
||||||
|
|
||||||
//#region 預先載入公司下拉式選單select_option
|
//#region 預先載入運維人員下拉式選單select_option
|
||||||
var url_user_select_option = "/PowerStation/GetUserSelectOptionList";
|
var url_user_select_option = "/PowerStation/GetUserSelectOptionList";
|
||||||
$.get(url_user_select_option, function (rel) {
|
$.get(url_user_select_option, function (rel) {
|
||||||
if (rel.code != "0000") {
|
if (rel.code != "0000") {
|
||||||
@ -173,8 +183,64 @@
|
|||||||
//預設查詢第一個
|
//預設查詢第一個
|
||||||
$("#power_station_operation_personnel").val($("#power_station_operation_personnel option:first").val());
|
$("#power_station_operation_personnel").val($("#power_station_operation_personnel option:first").val());
|
||||||
});
|
});
|
||||||
//#endregion
|
|
||||||
$('.js-example-basic-multiple').select2();
|
$('.js-example-basic-multiple').select2();
|
||||||
|
//#endregion
|
||||||
|
|
||||||
|
//#region 預先載入縣市下拉式選單select_option
|
||||||
|
var url_city_select_option = "/PowerStation/GetCitySelectOptionList";
|
||||||
|
$.get(url_city_select_option, function (rel) {
|
||||||
|
if (rel.code != "0000") {
|
||||||
|
toast_error(rel.msg);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
$("#select_city").empty();
|
||||||
|
|
||||||
|
$.each(rel.data, function (index, val) {
|
||||||
|
$("#select_city").append($("<option />").val(val.value).text(val.text));
|
||||||
|
});
|
||||||
|
|
||||||
|
if (powerStationData == undefined || powerStationData == null) {
|
||||||
|
//預設查詢第一個
|
||||||
|
$("#select_city").val($("#select_city option:first").val()).trigger("change");
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
$("#select_city").val(powerStationData.cityId).trigger("change");
|
||||||
|
}
|
||||||
|
});
|
||||||
|
//#endregion
|
||||||
|
|
||||||
|
//#region 縣市選擇後取得地區下拉式選單select_option
|
||||||
|
$("#select_city").change(function () {
|
||||||
|
var url_area_select_option = "/PowerStation/GetAreaSelectOptionList";
|
||||||
|
|
||||||
|
var send_data = {
|
||||||
|
cityId: $(this).val()
|
||||||
|
}
|
||||||
|
|
||||||
|
$.post(url_area_select_option, send_data, function (rel) {
|
||||||
|
if (rel.code != "0000") {
|
||||||
|
toast_error(rel.msg);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
$("#select_area").empty();
|
||||||
|
|
||||||
|
$.each(rel.data, function (index, val) {
|
||||||
|
$("#select_area").append($("<option />").val(val.value).text(val.text));
|
||||||
|
});
|
||||||
|
|
||||||
|
if (powerStationData == undefined || powerStationData == null) {
|
||||||
|
//預設查詢第一個
|
||||||
|
$("#select_area").val($("#select_area option:first").val());
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
$("#select_area").val(powerStationData.areaId);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
});
|
||||||
|
//#endregion
|
||||||
});
|
});
|
||||||
|
|
||||||
//#region 代管切換
|
//#region 代管切換
|
||||||
@ -189,21 +255,21 @@
|
|||||||
});
|
});
|
||||||
//#endregion
|
//#endregion
|
||||||
|
|
||||||
|
//#region 儲存電站基本資料資訊
|
||||||
function SaveStationInfo() {
|
function SaveStationInfo() {
|
||||||
|
|
||||||
var url = "/PowerStation/SavePowerStationInfo";
|
var url = "/PowerStation/SavePowerStationInfo";
|
||||||
|
|
||||||
var send_data = {
|
var send_data = {
|
||||||
Id: stationId,
|
Id: stationId,
|
||||||
CityId: $("#select_city").val(),
|
CityId: $("#select_city").val(),
|
||||||
AreaId: $("#select_area").val(),
|
AreaId: $("#select_area").val(),
|
||||||
AddressDetail: $("#address_detail").val(),
|
Address: $("#address_detail").val(),
|
||||||
Name: $("#power_station_name").val(),
|
Name: $("#power_station_name").val(),
|
||||||
IsEscrow: $("#check_escrow").val() == true ? 1 : 0,
|
IsEscrow: $('#check_escrow').is(':checked') ? 1 : 0,
|
||||||
ElectricityMeterAt: $("electricity_meter_at").val(),
|
ElectricityMeterAt: $("#electricity_meter_at").val(),
|
||||||
EstimatedRecoveryTime: $("estimated_recovery_time").val(),
|
EstimatedRecoveryTime: $("#estimated_recovery_time").val(),
|
||||||
GeneratingCapacity: $("generating_capacity").val(),
|
GeneratingCapacity: $("#generating_capacity").val(),
|
||||||
EscrowName: $("#check_escrow").val() == true? $("escrow_name").val() : "",
|
EscrowName: $('#check_escrow').is(':checked') ? $("#escrow_name").val() : "",
|
||||||
PowerRate: $("#power_rate").val(),
|
PowerRate: $("#power_rate").val(),
|
||||||
Coordinate: $("#coordinate").val(),
|
Coordinate: $("#coordinate").val(),
|
||||||
InverterBrand: $("#inverter_brand").val(),
|
InverterBrand: $("#inverter_brand").val(),
|
||||||
@ -212,7 +278,7 @@
|
|||||||
PhotovoltaicPanelBrand: $("#photovoltaic_panel_brand").val(),
|
PhotovoltaicPanelBrand: $("#photovoltaic_panel_brand").val(),
|
||||||
PhotovoltaicPanelSpecification: $("#photovoltaic_panel_specification").val(),
|
PhotovoltaicPanelSpecification: $("#photovoltaic_panel_specification").val(),
|
||||||
PhotovoltaicPanelAmount: $("#photovoltaic_panel_amount").val(),
|
PhotovoltaicPanelAmount: $("#photovoltaic_panel_amount").val(),
|
||||||
PhotovoltaicProductModel: $("#photovoltaic_panel_product_model").val()
|
PhotovoltaicPanelProductModel: $("#photovoltaic_panel_product_model").val()
|
||||||
}
|
}
|
||||||
|
|
||||||
$.post(url, send_data, function (rel) {
|
$.post(url, send_data, function (rel) {
|
||||||
@ -221,14 +287,96 @@
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
toast_ok(rel.msg);
|
||||||
|
|
||||||
if (stationId == "new") {
|
if (stationId == "new") {
|
||||||
window.location = "/PowerStation/Edit?stationId=" + rel.data
|
window.location = "/PowerStation/Edit?stationId=" + rel.data.id
|
||||||
} else {
|
} else {
|
||||||
//回填資料
|
//回填資料
|
||||||
SetStationInfo(rel.data);
|
powerStationData = rel.data;
|
||||||
|
SetStationInfo();
|
||||||
|
ChangeMode("station_info", "view");
|
||||||
}
|
}
|
||||||
}, 'json');
|
}, 'json');
|
||||||
}
|
}
|
||||||
|
//#endregion
|
||||||
|
|
||||||
|
//#region 儲存能源局台電資料資訊
|
||||||
|
function SaveBoETPCInfo() {
|
||||||
|
var url = "/PowerStation/SaveBoETPCInfo";
|
||||||
|
|
||||||
|
var formData = new FormData();
|
||||||
|
var BoEFile = $('#BoE_file')[0].files;
|
||||||
|
|
||||||
|
formData.append("Id", stationId);
|
||||||
|
if (BoEFile.length > 0) {
|
||||||
|
formData.append("BoEFile", BoEFile[0]);
|
||||||
|
}
|
||||||
|
formData.append("BoEDiscountRate", $("#BoE_discount_rate").val());
|
||||||
|
formData.append("BoEDeviceRegisterNumber", $("#BoE_device_register_number").val());
|
||||||
|
formData.append("BoERentRatio", $("#BoE_discount_rate").val());
|
||||||
|
formData.append("TPCContractNumber", $("#TPC_contract_number").val());
|
||||||
|
formData.append("TPCContractAt", $("#TPC_contract_at").val());
|
||||||
|
formData.append("TPCSellDeadline", $("#TPC_sell_deadline").val());
|
||||||
|
formData.append("TPCMeterReading", $("#TPC_meter_reading").val());
|
||||||
|
formData.append("TPCPurchaseElectricityAt", $("#TPC_purchase_electricity_at").val());
|
||||||
|
formData.append("TPCSellElectricityAt", $("#TPC_sell_electricity_at").val());
|
||||||
|
|
||||||
|
$.ajax({
|
||||||
|
type: "POST",
|
||||||
|
url: url,
|
||||||
|
data: formData,
|
||||||
|
cache: false,
|
||||||
|
contentType: false,
|
||||||
|
processData: false,
|
||||||
|
success: function (rel) {
|
||||||
|
if (rel.code != "0000") {
|
||||||
|
toast_error(rel.msg);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
toast_ok(rel.msg);
|
||||||
|
|
||||||
|
powerStationData = rel.data;
|
||||||
|
|
||||||
|
//回填資料
|
||||||
|
SetBoETPCInfo();
|
||||||
|
ChangeMode("BOE_TPC", "view");
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
//#endregion
|
||||||
|
|
||||||
|
//#region 儲存土地房屋資訊
|
||||||
|
function SaveLandBuildingInfo() {
|
||||||
|
var url = "/PowerStation/SaveLandBuildingInfo";
|
||||||
|
|
||||||
|
var send_data = {
|
||||||
|
Id: selectedLandBuildingId,
|
||||||
|
PowerStationId: stationId,
|
||||||
|
Address: $("#land_building_address_" + selectedLandBuildingId).val(),
|
||||||
|
LeaseNotarizationAt: $("#lease_notarization_at_" + selectedLandBuildingId).val(),
|
||||||
|
Landowner: $("#land_building_landowner_" + selectedLandBuildingId).val(),
|
||||||
|
Purpose: $("#land_building_purpose_" + selectedLandBuildingId).val(),
|
||||||
|
LeaseRate: $("#land_building_lease_Rate_" + selectedLandBuildingId).val(),
|
||||||
|
Coordinate: $("#land_building_coordinate_" + selectedLandBuildingId).val(),
|
||||||
|
Phone: $("#land_building_phone_" + selectedLandBuildingId).val(),
|
||||||
|
}
|
||||||
|
|
||||||
|
$.post(url, send_data, function (rel) {
|
||||||
|
if (rel.code != "0000") {
|
||||||
|
toast_error(rel.msg);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
toast_ok(rel.msg);
|
||||||
|
|
||||||
|
powerStationData = rel.data;
|
||||||
|
SetLandBuildingInfo();
|
||||||
|
|
||||||
|
}, 'json');
|
||||||
|
}
|
||||||
|
//#endregion
|
||||||
|
|
||||||
//#region 切換【電站基本資料】、【能源局與台電】等檢視或修改模式
|
//#region 切換【電站基本資料】、【能源局與台電】等檢視或修改模式
|
||||||
function ChangeMode(type, mode) {
|
function ChangeMode(type, mode) {
|
||||||
@ -236,7 +384,10 @@
|
|||||||
case "station_info": //【電站基本資料】
|
case "station_info": //【電站基本資料】
|
||||||
if (mode === "view") {
|
if (mode === "view") {
|
||||||
//觀看
|
//觀看
|
||||||
|
|
||||||
//#region 電站基本資料 文字
|
//#region 電站基本資料 文字
|
||||||
|
|
||||||
|
$("#address_detail_text").show();
|
||||||
$("#power_station_code_text").show();
|
$("#power_station_code_text").show();
|
||||||
$("#power_station_name_text").show();
|
$("#power_station_name_text").show();
|
||||||
$("#electricity_meter_at_text").show();
|
$("#electricity_meter_at_text").show();
|
||||||
@ -262,6 +413,9 @@
|
|||||||
//#endregion
|
//#endregion
|
||||||
|
|
||||||
//#region 電站基本資料 input
|
//#region 電站基本資料 input
|
||||||
|
$("#select_city").attr("disabled", true);
|
||||||
|
$("#select_area").attr("disabled", true);
|
||||||
|
$("#address_detail").hide();
|
||||||
$("#power_station_name").hide();
|
$("#power_station_name").hide();
|
||||||
$("#check_escrow").attr("disabled", true);
|
$("#check_escrow").attr("disabled", true);
|
||||||
$("#electricity_meter_at").hide();
|
$("#electricity_meter_at").hide();
|
||||||
@ -284,14 +438,16 @@
|
|||||||
$("#photovoltaic_panel_product_model").hide();
|
$("#photovoltaic_panel_product_model").hide();
|
||||||
//#endregion
|
//#endregion
|
||||||
|
|
||||||
//電站基本資料btn
|
//#region 電站基本資料 btn
|
||||||
$("#add-station-info-btn").hide();
|
$("#add-station-info-btn").hide();
|
||||||
$("#edit-station-info-btn").show();
|
$("#edit-station-info-btn").show();
|
||||||
$("#canecl-station-info-btn").hide();
|
$("#canecl-station-info-btn").hide();
|
||||||
|
//#endregion
|
||||||
} else {
|
} else {
|
||||||
//修改
|
//修改
|
||||||
|
|
||||||
//#region 電站基本資料 文字
|
//#region 電站基本資料 文字
|
||||||
$("#power_station_code_text").hide();
|
$("#address_detail_text").hide();
|
||||||
$("#power_station_name_text").hide();
|
$("#power_station_name_text").hide();
|
||||||
$("#electricity_meter_at_text").hide();
|
$("#electricity_meter_at_text").hide();
|
||||||
$("#estimated_recovery_time_text").hide();
|
$("#estimated_recovery_time_text").hide();
|
||||||
@ -316,6 +472,9 @@
|
|||||||
//#endregion
|
//#endregion
|
||||||
|
|
||||||
//#region 電站基本資料 input
|
//#region 電站基本資料 input
|
||||||
|
$("#select_city").attr("disabled", false);
|
||||||
|
$("#select_area").attr("disabled", false);
|
||||||
|
$("#address_detail").show();
|
||||||
$("#power_station_name").show();
|
$("#power_station_name").show();
|
||||||
$("#check_escrow").attr("disabled", false);
|
$("#check_escrow").attr("disabled", false);
|
||||||
$("#electricity_meter_at").show();
|
$("#electricity_meter_at").show();
|
||||||
@ -338,10 +497,11 @@
|
|||||||
$("#photovoltaic_panel_product_model").show();
|
$("#photovoltaic_panel_product_model").show();
|
||||||
//#endregion
|
//#endregion
|
||||||
|
|
||||||
//電站基本資料btn
|
//#region 電站基本資料 btn
|
||||||
$("#add-station-info-btn").show();
|
$("#add-station-info-btn").show();
|
||||||
$("#edit-station-info-btn").hide();
|
$("#edit-station-info-btn").hide();
|
||||||
$("#canecl-station-info-btn").show();
|
$("#canecl-station-info-btn").show();
|
||||||
|
//#endregion
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case "BOE_TPC": //【能源局與台電】
|
case "BOE_TPC": //【能源局與台電】
|
||||||
@ -351,7 +511,7 @@
|
|||||||
$("#link-boe-file").show();
|
$("#link-boe-file").show();
|
||||||
$("#BoE_discount_rate_text").show();
|
$("#BoE_discount_rate_text").show();
|
||||||
$("#BoE_device_register_number_text").show();
|
$("#BoE_device_register_number_text").show();
|
||||||
$("#BoE_discount_rate_text").show();
|
$("#BoE_rent_ratio_text").show();
|
||||||
|
|
||||||
$("#TPC_contract_number_text").show();
|
$("#TPC_contract_number_text").show();
|
||||||
$("#TPC_contract_at_text").show();
|
$("#TPC_contract_at_text").show();
|
||||||
@ -359,13 +519,16 @@
|
|||||||
$("#TPC_meter_reading_text").show();
|
$("#TPC_meter_reading_text").show();
|
||||||
$("#TPC_purchase_electricity_at_text").show();
|
$("#TPC_purchase_electricity_at_text").show();
|
||||||
$("#TPC_sell_electricity_at_text").show();
|
$("#TPC_sell_electricity_at_text").show();
|
||||||
|
|
||||||
|
$("#BOE_TPC_created_by_text").show();
|
||||||
|
$("#BOE_TPC_created_at_text").show();
|
||||||
//#endregion
|
//#endregion
|
||||||
|
|
||||||
//#region 能源局與台電資料 input
|
//#region 能源局與台電資料 input
|
||||||
$("#BoE_file").hide();
|
$("#BoE_file").hide();
|
||||||
$("#BoE_discount_rate").hide();
|
$("#BoE_discount_rate").hide();
|
||||||
$("#BoE_device_register_number").hide();
|
$("#BoE_device_register_number").hide();
|
||||||
$("#BoE_discount_rate").hide();
|
$("#BoE_rent_ratio").hide();
|
||||||
|
|
||||||
$("#TPC_contract_number").hide();
|
$("#TPC_contract_number").hide();
|
||||||
$("#TPC_contract_at").hide();
|
$("#TPC_contract_at").hide();
|
||||||
@ -375,17 +538,18 @@
|
|||||||
$("#TPC_sell_electricity_at").hide();
|
$("#TPC_sell_electricity_at").hide();
|
||||||
//#endregion
|
//#endregion
|
||||||
|
|
||||||
//能源局與台電btn
|
//#region 能源局與台電btn
|
||||||
$("#add-boe-tpc-btn").hide();
|
$("#add-boe-tpc-btn").hide();
|
||||||
$("#edit-boe-tpc-btn").show();
|
$("#edit-boe-tpc-btn").show();
|
||||||
$("#canecl-boe-tpc-btn").hide();
|
$("#canecl-boe-tpc-btn").hide();
|
||||||
|
//#endregion
|
||||||
} else {
|
} else {
|
||||||
//修改
|
//修改
|
||||||
//#region 能源局與台電資料 文字
|
//#region 能源局與台電資料 文字
|
||||||
$("#link-boe-file").hide();
|
$("#link-boe-file").hide();
|
||||||
$("#BoE_discount_rate_text").hide();
|
$("#BoE_discount_rate_text").hide();
|
||||||
$("#BoE_device_register_number_text").hide();
|
$("#BoE_device_register_number_text").hide();
|
||||||
$("#BoE_discount_rate_text").hide();
|
$("#BoE_rent_ratio_text").hide();
|
||||||
|
|
||||||
$("#TPC_contract_number_text").hide();
|
$("#TPC_contract_number_text").hide();
|
||||||
$("#TPC_contract_at_text").hide();
|
$("#TPC_contract_at_text").hide();
|
||||||
@ -393,13 +557,16 @@
|
|||||||
$("#TPC_meter_reading_text").hide();
|
$("#TPC_meter_reading_text").hide();
|
||||||
$("#TPC_purchase_electricity_at_text").hide();
|
$("#TPC_purchase_electricity_at_text").hide();
|
||||||
$("#TPC_sell_electricity_at_text").hide();
|
$("#TPC_sell_electricity_at_text").hide();
|
||||||
|
|
||||||
|
@*$("#BOE_TPC_created_by_text").hide();
|
||||||
|
$("#BOE_TPC_created_at_text").hide();*@
|
||||||
//#endregion
|
//#endregion
|
||||||
|
|
||||||
//#region 能源局與台電資料 input
|
//#region 能源局與台電資料 input
|
||||||
$("#BoE_file").show();
|
$("#BoE_file").show();
|
||||||
$("#BoE_discount_rate").show();
|
$("#BoE_discount_rate").show();
|
||||||
$("#BoE_device_register_number").show();
|
$("#BoE_device_register_number").show();
|
||||||
$("#BoE_discount_rate").show();
|
$("#BoE_rent_ratio").show();
|
||||||
|
|
||||||
$("#TPC_contract_number").show();
|
$("#TPC_contract_number").show();
|
||||||
$("#TPC_contract_at").show();
|
$("#TPC_contract_at").show();
|
||||||
@ -409,10 +576,74 @@
|
|||||||
$("#TPC_sell_electricity_at").show();
|
$("#TPC_sell_electricity_at").show();
|
||||||
//#endregion
|
//#endregion
|
||||||
|
|
||||||
//能源局與台電btn
|
//#region 能源局與台電btn
|
||||||
$("#add-boe-tpc-btn").show();
|
$("#add-boe-tpc-btn").show();
|
||||||
$("#edit-boe-tpc-btn").hide();
|
$("#edit-boe-tpc-btn").hide();
|
||||||
$("#canecl-boe-tpc-btn").show();
|
$("#canecl-boe-tpc-btn").show();
|
||||||
|
//#endregion
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
case "land_building_info": //【土地房屋資料】
|
||||||
|
if (mode === "view") {
|
||||||
|
//觀看
|
||||||
|
//#region 土地房屋資料 文字
|
||||||
|
$("#land_building_address_text_" + selectedLandBuildingId).show();
|
||||||
|
$("#land_building_coordinate_text_" + selectedLandBuildingId).show();
|
||||||
|
$("#lease_notarization_at_text_" + selectedLandBuildingId).show();
|
||||||
|
$("#land_building_lease_Rate_text_" + selectedLandBuildingId).show();
|
||||||
|
$("#land_building_landowner_text_" + selectedLandBuildingId).show();
|
||||||
|
$("#land_building_phone_text_" + selectedLandBuildingId).show();
|
||||||
|
$("#land_building_purpose_text_" + selectedLandBuildingId).show();
|
||||||
|
$("#land_building_created_by_text_" + selectedLandBuildingId).show();
|
||||||
|
$("#land_building_created_at_text_" + selectedLandBuildingId).show();
|
||||||
|
//#endregion
|
||||||
|
|
||||||
|
//#region 土地房屋資料 input
|
||||||
|
$("#land_building_address_" + selectedLandBuildingId).hide();
|
||||||
|
$("#land_building_coordinate_" + selectedLandBuildingId).hide();
|
||||||
|
$("#lease_notarization_at_" + selectedLandBuildingId).hide();
|
||||||
|
$("#land_building_lease_Rate_" + selectedLandBuildingId).hide();
|
||||||
|
$("#land_building_landowner_" + selectedLandBuildingId).hide();
|
||||||
|
$("#land_building_phone_" + selectedLandBuildingId).hide();
|
||||||
|
$("#land_building_purpose_" + selectedLandBuildingId).hide();
|
||||||
|
//#endregion
|
||||||
|
|
||||||
|
//#region 土地房屋資料 btn
|
||||||
|
$("#save-land-building-info-btn-" + selectedLandBuildingId).hide();
|
||||||
|
$("#edit-land-building-info-btn-" + selectedLandBuildingId).show();
|
||||||
|
$("#canecl-land-building-info-btn-" + selectedLandBuildingId).hide();
|
||||||
|
$("#del-land-building-info-btn-" + selectedLandBuildingId).show();
|
||||||
|
//#endregion
|
||||||
|
} else {
|
||||||
|
//修改
|
||||||
|
//#region 土地房屋資料 文字
|
||||||
|
$("#land_building_address_text_" + selectedLandBuildingId).hide();
|
||||||
|
$("#land_building_coordinate_text_" + selectedLandBuildingId).hide();
|
||||||
|
$("#lease_notarization_at_text_" + selectedLandBuildingId).hide();
|
||||||
|
$("#land_building_lease_Rate_text_" + selectedLandBuildingId).hide();
|
||||||
|
$("#land_building_landowner_text_" + selectedLandBuildingId).hide();
|
||||||
|
$("#land_building_phone_text_" + selectedLandBuildingId).hide();
|
||||||
|
$("#land_building_purpose_text_" + selectedLandBuildingId).hide();
|
||||||
|
$("#land_building_created_by_text_" + selectedLandBuildingId).hide();
|
||||||
|
$("#land_building_created_at_text_" + selectedLandBuildingId).hide();
|
||||||
|
//#endregion
|
||||||
|
|
||||||
|
//#region 土地房屋資料 input
|
||||||
|
$("#land_building_address_" + selectedLandBuildingId).show();
|
||||||
|
$("#land_building_coordinate_" + selectedLandBuildingId).show();
|
||||||
|
$("#lease_notarization_at_" + selectedLandBuildingId).show();
|
||||||
|
$("#land_building_lease_Rate_" + selectedLandBuildingId).show();
|
||||||
|
$("#land_building_landowner_" + selectedLandBuildingId).show();
|
||||||
|
$("#land_building_phone_" + selectedLandBuildingId).show();
|
||||||
|
$("#land_building_purpose_" + selectedLandBuildingId).show();
|
||||||
|
//#endregion
|
||||||
|
|
||||||
|
//#region 土地房屋資料 btn
|
||||||
|
$("#save-land-building-info-btn-" + selectedLandBuildingId).show();
|
||||||
|
$("#edit-land-building-info-btn-" + selectedLandBuildingId).hide();
|
||||||
|
$("#canecl-land-building-info-btn-" + selectedLandBuildingId).show();
|
||||||
|
$("#del-land-building-info-btn-" + selectedLandBuildingId).hide();
|
||||||
|
//#endregion
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
@ -420,65 +651,387 @@
|
|||||||
//#endregion
|
//#endregion
|
||||||
|
|
||||||
//#region 設定電站基本資料
|
//#region 設定電站基本資料
|
||||||
function SetStationInfo(data) {
|
function SetStationInfo() {
|
||||||
//#region 顯示的部分
|
|
||||||
$("#power_station_code_text").html(station);
|
|
||||||
$("#power_station_name_text").hide();
|
|
||||||
$("#electricity_meter_at_text").hide();
|
|
||||||
$("#estimated_recovery_time_text").hide();
|
|
||||||
$("#created_by_text").hide();
|
|
||||||
|
|
||||||
$("#generating_capacity_text").hide();
|
$("#power-station-title").html(powerStationData.name);
|
||||||
$("#escrow_name_text").hide();
|
|
||||||
$("#power_rate_text").hide();
|
$("#select_city").val(powerStationData.cityId).trigger("change");
|
||||||
$("#coordinate_text").hide();
|
$("#select_area").val(powerStationData.areaId);
|
||||||
$("#created_at_text").hide();
|
|
||||||
|
//#region 電站基本資料 文字
|
||||||
|
$("#address_detail_text").html(powerStationData.address);
|
||||||
|
$("#power_station_code_text").html(powerStationData.code);
|
||||||
|
$("#power_station_name_text").html(powerStationData.name);
|
||||||
|
$("#electricity_meter_at_text").html(powerStationData.electricityMeterAt);
|
||||||
|
$("#estimated_recovery_time_text").html(powerStationData.estimatedRecoveryTime);
|
||||||
|
$("#created_by_text").html(powerStationData.CreatorName);
|
||||||
|
|
||||||
|
$("#generating_capacity_text").html(powerStationData.generatingCapacity);
|
||||||
|
$("#escrow_name_text").html(powerStationData.escrowName);
|
||||||
|
$("#power_rate_text").html(powerStationData.powerRate);
|
||||||
|
$("#coordinate_text").html(powerStationData.coordinate);
|
||||||
|
$("#created_at_text").html(powerStationData.createdAt);
|
||||||
|
|
||||||
//逆變器
|
//逆變器
|
||||||
$("#inverter_brand_text").hide();
|
$("#inverter_brand_text").html(powerStationData.inverterBrand);
|
||||||
$("#inverter_product_model_text").hide();
|
$("#inverter_product_model_text").html(powerStationData.inverterProductModel);
|
||||||
$("#inverter_amount_text").hide();
|
$("#inverter_amount_text").html(powerStationData.inverterAmount);
|
||||||
|
|
||||||
//光電板
|
//光電板
|
||||||
$("#photovoltaic_panel_brand_text").hide();
|
$("#photovoltaic_panel_brand_text").html(powerStationData.photovoltaicPanelBrand);
|
||||||
$("#photovoltaic_panel_specification_text").hide();
|
$("#photovoltaic_panel_product_model_text").html(powerStationData.photovoltaicPanelProductModel);
|
||||||
$("#photovoltaic_panel_amount_text").hide();
|
$("#photovoltaic_panel_specification_text").html(powerStationData.photovoltaicPanelSpecification);
|
||||||
$("#photovoltaic_panel_product_model_text").hide();
|
$("#photovoltaic_panel_amount_text").html(powerStationData.photovoltaicPanelAmount);
|
||||||
|
//#endregion
|
||||||
|
|
||||||
|
//#region 電站基本資料 input
|
||||||
|
$("#address_detail").val(powerStationData.address);
|
||||||
|
$("#power_station_name").val(powerStationData.name);
|
||||||
|
$("#check_escrow").attr("checked", powerStationData.isEscrow == 1 ? true : false);
|
||||||
|
$("#check_escrow_label").html(powerStationData.isEscrow == 1 ? "Yes" : "No");
|
||||||
|
$("#electricity_meter_at").val(powerStationData.electricityMeterAt);
|
||||||
|
$("#estimated_recovery_time").val(powerStationData.estimatedRecoveryTime);
|
||||||
|
|
||||||
|
$("#generating_capacity").val(powerStationData.generatingCapacity);
|
||||||
|
$("#escrow_name").val(powerStationData.escrowName);
|
||||||
|
$("#power_rate").val(powerStationData.powerRate);
|
||||||
|
$("#coordinate").val(powerStationData.coordinate);
|
||||||
|
|
||||||
|
//逆變器
|
||||||
|
$("#inverter_brand").val(powerStationData.inverterBrand);
|
||||||
|
$("#inverter_product_model").val(powerStationData.inverterProductModel);
|
||||||
|
$("#inverter_amount").val(powerStationData.inverterAmount);
|
||||||
|
|
||||||
|
//光電板
|
||||||
|
$("#photovoltaic_panel_brand").val(powerStationData.photovoltaicPanelBrand);
|
||||||
|
$("#photovoltaic_panel_product_model").val(powerStationData.photovoltaicPanelProductModel);
|
||||||
|
$("#photovoltaic_panel_specification").val(powerStationData.photovoltaicPanelSpecification);
|
||||||
|
$("#photovoltaic_panel_amount").val(powerStationData.photovoltaicPanelAmount);
|
||||||
//#endregion
|
//#endregion
|
||||||
|
|
||||||
}
|
}
|
||||||
//#endregion
|
//#endregion
|
||||||
|
|
||||||
//#region 設定能源局與台電資料
|
//#region 設定能源局與台電資料
|
||||||
function SetBoETPCInfo(data) {
|
function SetBoETPCInfo() {
|
||||||
//#region 顯示的部分
|
//#region 能源局與台電資料 文字
|
||||||
$("#BoE_file").html(data.boeFileName).attr("href", data.boeFile);
|
$("#link-boe-file").html(powerStationData.boEFileName).attr("href", powerStationData.boEFile);
|
||||||
$("#BoE_discount_rate_text").hide();
|
$("#BoE_discount_rate_text").html(powerStationData.boEDiscountRate);
|
||||||
$("#electricity_meter_at_text").hide();
|
$("#BoE_device_register_number_text").html(powerStationData.boEDeviceRegisterNumber);
|
||||||
$("#estimated_recovery_time_text").hide();
|
$("#BoE_rent_ratio_text").html(powerStationData.boERentRatio);
|
||||||
$("#created_by_text").hide();
|
|
||||||
|
|
||||||
$("#generating_capacity_text").hide();
|
$("#TPC_contract_number_text").html(powerStationData.tpcContractNumber);
|
||||||
$("#escrow_name_text").hide();
|
$("#TPC_contract_at_text").html(powerStationData.tpcContractAt);
|
||||||
$("#power_rate_text").hide();
|
$("#TPC_sell_deadline_text").html(powerStationData.tpcSellDeadline);
|
||||||
$("#coordinate_text").hide();
|
$("#TPC_meter_reading_text").html(powerStationData.tpcMeterReading);
|
||||||
$("#created_at_text").hide();
|
$("#TPC_purchase_electricity_at_text").html(powerStationData.tpcPurchaseElectricityAt);
|
||||||
|
$("#TPC_sell_electricity_at_text").html(powerStationData.tpcSellElectricityAt);
|
||||||
//逆變器
|
$("#BOE_TPC_created_by_text").html(powerStationData.creatorName);
|
||||||
$("#inverter_brand_text").hide();
|
$("#BOE_TPC_created_at_text").html(powerStationData.createdAt);
|
||||||
$("#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
|
//#endregion
|
||||||
|
|
||||||
|
//#region 能源局與台電資料 input
|
||||||
|
$("#BoE_discount_rate").val(powerStationData.boeEiscountRate);
|
||||||
|
$("#BoE_device_register_number").val(powerStationData.boEDeviceRegisterNumber);
|
||||||
|
$("#BoE_discount_rate").val(powerStationData.boERentRatio);
|
||||||
|
|
||||||
|
$("#TPC_contract_number").val(powerStationData.tpcContractNumber);
|
||||||
|
$("#TPC_contract_at").val(powerStationData.tpcContractAt);
|
||||||
|
$("#TPC_sell_deadline").val(powerStationData.tpcSellDeadline);
|
||||||
|
$("#TPC_meter_reading").val(powerStationData.tpcMeterReading);
|
||||||
|
$("#TPC_purchase_electricity_at").val(powerStationData.tpcPurchaseElectricityAt);
|
||||||
|
$("#TPC_sell_electricity_at").val(powerStationData.tpcSellElectricityAt);
|
||||||
|
//#endregion
|
||||||
}
|
}
|
||||||
//#endregion
|
//#endregion
|
||||||
|
|
||||||
|
//#region 設定土地與房屋資料
|
||||||
|
function SetLandBuildingInfo() {
|
||||||
|
var landBuildingCard = $("#land_buildingPart");
|
||||||
|
|
||||||
|
landBuildingCard.empty();
|
||||||
|
powerStationData.landBuildings.forEach(function (value, index) {
|
||||||
|
CreateLandBuildingCard(landBuildingCard, value);
|
||||||
|
});
|
||||||
|
|
||||||
|
// 找出第一個移除"刪除"按鈕
|
||||||
|
var firstCardId = landBuildingCard.find(".card").first().attr("data-land-building-id");
|
||||||
|
$("#del-land-building-info-btn-" + firstCardId).remove();
|
||||||
|
|
||||||
|
//加入新增土地房屋卡片
|
||||||
|
CreateAddLandBuildingCard(landBuildingCard);
|
||||||
|
}
|
||||||
|
|
||||||
|
//#region 創建每份土地房屋資訊卡片
|
||||||
|
function CreateLandBuildingCard(dom, value) {
|
||||||
|
var appendStr = "";
|
||||||
|
appendStr += '<div class="card border mb-g w-100" data-land-building-id="' + value.id + '">' +
|
||||||
|
'<div class="card-header bg-fusion-50 pr-3 d-flex align-items-center flex-wrap justify-content-between">' +
|
||||||
|
'<div class="card-title font-weight-bold">土地房屋資料</div>' +
|
||||||
|
'<div class="text-right">' +
|
||||||
|
'<button class="btn btn-sm btn-success ml-auto waves-effect waves-themed save-land-building-info-btn" style="display:none" data-land-building-id="' + value.id + '" id="save-land-building-info-btn-' + value.id + '">' +
|
||||||
|
'<span class="fal fa-cog mr-1"></span> 儲存' +
|
||||||
|
'</button>' +
|
||||||
|
'<button class="btn btn-sm btn-info ml-auto waves-effect waves-themed edit-land-building-info-btn" data-land-building-id="' + value.id + '" id="edit-land-building-info-btn-' + value.id + '">' +
|
||||||
|
'<span class="fal fa-cog mr-1"></span> 修改' +
|
||||||
|
'</button>' +
|
||||||
|
'<button class="btn btn-sm btn-primary ml-auto waves-effect waves-themed canecl-land-building-info-btn" style="display:none" data-land-building-id="' + value.id + '" id="canecl-land-building-info-btn-' + value.id + '">' +
|
||||||
|
'<span class="fal fa-cog mr-1"></span> 取消' +
|
||||||
|
'</button>' +
|
||||||
|
'<button class="btn btn-sm btn-danger ml-auto waves-effect waves-themed del-land-building-info-btn" data-land-building-id="' + value.id + '" id="del-land-building-info-btn-' + value.id + '">' +
|
||||||
|
'<span class="fal fa-cog mr-1"></span> 刪除' +
|
||||||
|
'</button>' +
|
||||||
|
'</div>' +
|
||||||
|
'</div>';
|
||||||
|
|
||||||
|
appendStr += '<div class="card-body">' +
|
||||||
|
'<div class="row d-flex justify-content-between card-land-building" data-id="' + value.id + '">' +
|
||||||
|
'<div class="col-xl">' +
|
||||||
|
'<div class="row mb-3">' +
|
||||||
|
'<label class="col-xl-4 form-label">地址</label>' +
|
||||||
|
'<div class="col-xl-8">' +
|
||||||
|
'<label id="land_building_address_text_' + value.id + '" class="color-info-600">' + value.address + '</label>' +
|
||||||
|
'<input type="text" style="display:none" id="land_building_address_' + value.id + '" name="land_building_address_' + value.id + '" class="form-control" value="' + value.address + '">' +
|
||||||
|
'</div>' +
|
||||||
|
'</div>' +
|
||||||
|
'<div class="row">' +
|
||||||
|
'<label class="col-xl-4 form-label">經緯度</label>' +
|
||||||
|
'<div class="col-xl-8">' +
|
||||||
|
'<label id="land_building_coordinate_text_' + value.id + '" class="color-info-600">' + value.coordinate + '</label>' +
|
||||||
|
'<input type="text" style="display:none" id="land_building_coordinate_' + value.id + '" name="land_building_coordinate_' + value.id + '" class="form-control" value="' + value.coordinate + '">' +
|
||||||
|
'</div>' +
|
||||||
|
'</div>' +
|
||||||
|
'</div>' +
|
||||||
|
'<div class="col-xl">' +
|
||||||
|
'<div class="row mb-3">' +
|
||||||
|
'<label class="col-xl-4 form-label">租約公證日期</label>' +
|
||||||
|
'<div class="col-xl-8">' +
|
||||||
|
'<label id="lease_notarization_at_text_' + value.id + '" class="color-info-600">' + value.leaseNotarizationAt + '</label>' +
|
||||||
|
'<input type="date" style="display:none" id="lease_notarization_at_' + value.id + '" name="lease_notarization_at_' + value.id + '" class="form-control" value="' + value.leaseNotarizationAt + '">' +
|
||||||
|
'</div>' +
|
||||||
|
'</div>' +
|
||||||
|
'<div class="row">' +
|
||||||
|
'<label class="col-xl-4 form-label">租金比例 (%)</label>' +
|
||||||
|
'<div class="col-xl-8">' +
|
||||||
|
'<label id="land_building_lease_Rate_text_' + value.id + '" class="color-info-600">' + value.leaseRate + '</label>' +
|
||||||
|
'<input type="text" style="display:none" id="land_building_lease_Rate_' + value.id + '" name="land_building_lease_Rate_' + value.id + '" class="form-control" value="' + value.leaseRate + '">' +
|
||||||
|
'</div>' +
|
||||||
|
'</div>' +
|
||||||
|
'</div>' +
|
||||||
|
'<div class="col-xl">' +
|
||||||
|
'<div class="row mb-3">' +
|
||||||
|
'<label class="col-xl-4 form-label">地主姓名</label>' +
|
||||||
|
'<div class="col-xl-8">' +
|
||||||
|
'<label id="land_building_landowner_text_' + value.id + '" class="color-info-600">' + value.landowner + '</label>' +
|
||||||
|
'<input type="text" style="display:none" id="land_building_landowner_' + value.id + '" name="land_building_landowner_' + value.id + '" class="form-control" value="' + value.landowner + '">' +
|
||||||
|
'</div>' +
|
||||||
|
'</div>' +
|
||||||
|
'<div class="row">' +
|
||||||
|
'<label class="col-xl-4 form-label">電話</label>' +
|
||||||
|
'<div class="col-xl-8">' +
|
||||||
|
'<label id="land_building_phone_text_' + value.id + '" class="color-info-600">' + value.phone + '</label>' +
|
||||||
|
'<input type="text" style="display:none" id="land_building_phone_' + value.id + '" name="land_building_phone_' + value.id + '" class="form-control" value="' + value.phone + '">' +
|
||||||
|
'</div>' +
|
||||||
|
'</div>' +
|
||||||
|
'</div>' +
|
||||||
|
'<div class="col-xl">' +
|
||||||
|
'<div class="row mb-3">' +
|
||||||
|
'<label class="col-xl-4 form-label">房屋用途</label>' +
|
||||||
|
'<div class="col-xl-8">' +
|
||||||
|
'<label id="land_building_purpose_text_' + value.id + '" class="color-info-600">' + value.purpose + '</label>' +
|
||||||
|
'<input type="text" style="display:none" id="land_building_purpose_' + value.id + '" name="land_building_purpose_' + value.id + '" class="form-control" value="' + value.purpose + '">' +
|
||||||
|
'</div>' +
|
||||||
|
'</div>' +
|
||||||
|
'</div>' +
|
||||||
|
'<div class="col-xl">' +
|
||||||
|
'<div class="row mb-3">' +
|
||||||
|
'<label class="col-xl-4 form-label">資料建立</label>' +
|
||||||
|
'<div class="col-xl-8">' +
|
||||||
|
'<label id="land_building_created_by_text_' + value.id + '" class="color-info-600">' + value.creatorName + '</label>' +
|
||||||
|
'</div>' +
|
||||||
|
'</div>' +
|
||||||
|
'<div class="row">' +
|
||||||
|
'<label class="col-xl-4 form-label">建立時間</label>' +
|
||||||
|
'<div class="col-xl-8">' +
|
||||||
|
'<label id="land_building_created_at_text_' + value.id + '" class="color-info-600">' + value.createdAt + '</label>' +
|
||||||
|
'</div>' +
|
||||||
|
'</div>' +
|
||||||
|
'</div>' +
|
||||||
|
'</div>' +
|
||||||
|
'</div>' +
|
||||||
|
'</div>' +
|
||||||
|
'</div>';
|
||||||
|
|
||||||
|
dom.append(appendStr);
|
||||||
|
}
|
||||||
|
//#endregion
|
||||||
|
|
||||||
|
//#region 創建新增土地房屋資訊卡片
|
||||||
|
function CreateAddLandBuildingCard(dom) {
|
||||||
|
var appendStr = "";
|
||||||
|
appendStr += '<div class="card border mb-g w-100" id="add-land-building-card">' +
|
||||||
|
'<div class="card-header bg-fusion-50 pr-3 d-flex align-items-center flex-wrap justify-content-between">' +
|
||||||
|
'<div class="card-title font-weight-bold">土地房屋資料</div>' +
|
||||||
|
'<div class="text-right">' +
|
||||||
|
'<button class="btn btn-sm btn-info ml-auto waves-effect waves-themed" id="add-land-building-info-btn">' +
|
||||||
|
'<span class="fal fa-cog mr-1"></span> 新增' +
|
||||||
|
'</button>' +
|
||||||
|
'<div aria-expanded="true">' +
|
||||||
|
'<button class="btn btn-sm btn-success ml-auto waves-effect waves-themed save-land-building-info-btn" style="display:none" data-land-building-id="0" id="save-land-building-info-btn-0">' +
|
||||||
|
'<span class="fal fa-cog mr-1"></span> 儲存' +
|
||||||
|
'</button>' +
|
||||||
|
'<button class="btn btn-sm btn-primary ml-auto waves-effect waves-themed" style="display:none" id="cancel-add-land-building-info-btn">' +
|
||||||
|
'<span class="fal fa-cog mr-1"></span> 取消' +
|
||||||
|
'</button>' +
|
||||||
|
'</div>' +
|
||||||
|
'</div>' +
|
||||||
|
'</div>';
|
||||||
|
|
||||||
|
appendStr += '<div class="card-body collapse">' +
|
||||||
|
'<div class="row d-flex justify-content-between card-land-building">' +
|
||||||
|
'<div class="col-xl">' +
|
||||||
|
'<div class="row mb-3">' +
|
||||||
|
'<label class="col-xl-4 form-label">地址</label>' +
|
||||||
|
'<div class="col-xl-8">' +
|
||||||
|
'<input type="text" id="land_building_address_0" name="land_building_address_0" class="form-control">' +
|
||||||
|
'</div>' +
|
||||||
|
'</div>' +
|
||||||
|
'<div class="row">' +
|
||||||
|
'<label class="col-xl-4 form-label">經緯度</label>' +
|
||||||
|
'<div class="col-xl-8">' +
|
||||||
|
'<input type="text" id="land_building_coordinate_0" name="land_building_coordinate_0" class="form-control">' +
|
||||||
|
'</div>' +
|
||||||
|
'</div>' +
|
||||||
|
'</div>' +
|
||||||
|
'<div class="col-xl">' +
|
||||||
|
'<div class="row mb-3">' +
|
||||||
|
'<label class="col-xl-4 form-label">租約公證日期</label>' +
|
||||||
|
'<div class="col-xl-8">' +
|
||||||
|
'<input type="date" id="lease_notarization_at_0" name="lease_notarization_at_0" class="form-control">' +
|
||||||
|
'</div>' +
|
||||||
|
'</div>' +
|
||||||
|
'<div class="row">' +
|
||||||
|
'<label class="col-xl-4 form-label">租金比例 (%)</label>' +
|
||||||
|
'<div class="col-xl-8">' +
|
||||||
|
'<input type="text" id="land_building_lease_Rate_0" name="land_building_lease_Rate_0" class="form-control">' +
|
||||||
|
'</div>' +
|
||||||
|
'</div>' +
|
||||||
|
'</div>' +
|
||||||
|
'<div class="col-xl">' +
|
||||||
|
'<div class="row mb-3">' +
|
||||||
|
'<label class="col-xl-4 form-label">地主姓名</label>' +
|
||||||
|
'<div class="col-xl-8">' +
|
||||||
|
'<input type="text" id="land_building_landowner_0" name="land_building_landowner_0" class="form-control">' +
|
||||||
|
'</div>' +
|
||||||
|
'</div>' +
|
||||||
|
'<div class="row">' +
|
||||||
|
'<label class="col-xl-4 form-label">電話</label>' +
|
||||||
|
'<div class="col-xl-8">' +
|
||||||
|
'<input type="text" id="land_building_phone_0" name="land_building_phone_0" class="form-control">' +
|
||||||
|
'</div>' +
|
||||||
|
'</div>' +
|
||||||
|
'</div>' +
|
||||||
|
'<div class="col-xl">' +
|
||||||
|
'<div class="row mb-3">' +
|
||||||
|
'<label class="col-xl-4 form-label">房屋用途</label>' +
|
||||||
|
'<div class="col-xl-8">' +
|
||||||
|
'<input type="text" id="land_building_purpose_0" name="land_building_purpose_0" class="form-control">' +
|
||||||
|
'</div>' +
|
||||||
|
'</div>' +
|
||||||
|
'</div>' +
|
||||||
|
'<div class="col-xl">' +
|
||||||
|
'<div class="row mb-3">' +
|
||||||
|
'<label class="col-xl-4 form-label">資料建立</label>' +
|
||||||
|
'<div class="col-xl-8">' +
|
||||||
|
'<label id="land_building_created_by_text_0" class="color-info-600"></label>' +
|
||||||
|
'</div>' +
|
||||||
|
'</div>' +
|
||||||
|
'<div class="row">' +
|
||||||
|
'<label class="col-xl-4 form-label">建立時間</label>' +
|
||||||
|
'<div class="col-xl-8">' +
|
||||||
|
'<label id="land_building_created_at_text_0" class="color-info-600"></label>' +
|
||||||
|
'</div>' +
|
||||||
|
'</div>' +
|
||||||
|
'</div>' +
|
||||||
|
'</div>' +
|
||||||
|
'</div>' +
|
||||||
|
'</div>' +
|
||||||
|
'</div>';
|
||||||
|
|
||||||
|
dom.append(appendStr);
|
||||||
|
}
|
||||||
|
//#endregion
|
||||||
|
//#endregion
|
||||||
|
|
||||||
|
//#region 土地與房屋按鈕控制
|
||||||
|
//儲存
|
||||||
|
$('#land_buildingPart').on("click", "button.save-land-building-info-btn", function () {
|
||||||
|
selectedLandBuildingId = $(this).attr("data-land-building-id");
|
||||||
|
|
||||||
|
SaveLandBuildingInfo();
|
||||||
|
isLandBuildingLock = false;
|
||||||
|
});
|
||||||
|
|
||||||
|
//編輯
|
||||||
|
$('#land_buildingPart').on("click", "button.edit-land-building-info-btn", function () {
|
||||||
|
if (isLandBuildingLock) {
|
||||||
|
toast_error("當前已有其他【土地方屋資訊】正在編輯中。")
|
||||||
|
}
|
||||||
|
selectedLandBuildingId = $(this).attr("data-land-building-id");
|
||||||
|
|
||||||
|
ChangeMode("land_building_info", "edit");
|
||||||
|
isLandBuildingLock = true;
|
||||||
|
});
|
||||||
|
|
||||||
|
//取消
|
||||||
|
$('#land_buildingPart').on("click", "button.canecl-land-building-info-btn", function () {
|
||||||
|
selectedLandBuildingId = $(this).attr("data-land-building-id");
|
||||||
|
|
||||||
|
ChangeMode("land_building_info", "view");
|
||||||
|
isLandBuildingLock = false;
|
||||||
|
});
|
||||||
|
|
||||||
|
//刪除
|
||||||
|
$('#land_buildingPart').on("click", "button.del-land-building-info-btn", function () {
|
||||||
|
selectedLandBuildingId = $(this).attr("data-land-building-id");
|
||||||
|
|
||||||
|
var url = "/PowerStation/DeleteLandBuildingInfo";
|
||||||
|
|
||||||
|
var send_data = {
|
||||||
|
Id: selectedLandBuildingId
|
||||||
|
}
|
||||||
|
|
||||||
|
$.post(url, send_data, function (rel) {
|
||||||
|
if (rel.code != "0000") {
|
||||||
|
toast_error(rel.msg);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
toast_ok(rel.msg);
|
||||||
|
powerStationData = rel.data;
|
||||||
|
SetLandBuildingInfo();
|
||||||
|
}, 'json');
|
||||||
|
});
|
||||||
|
|
||||||
|
//新增土地房屋卡片
|
||||||
|
//新增
|
||||||
|
$('#land_buildingPart').on("click", "#add-land-building-card button#add-land-building-info-btn", function () {
|
||||||
|
$("#add-land-building-card > .card-body").collapse('show');
|
||||||
|
|
||||||
|
$("#add-land-building-card button#add-land-building-info-btn").hide();
|
||||||
|
$("#add-land-building-card button#save-land-building-info-btn-0").show();
|
||||||
|
$("#add-land-building-card button#cancel-add-land-building-info-btn").show();
|
||||||
|
});
|
||||||
|
|
||||||
|
//取消
|
||||||
|
$('#land_buildingPart').on("click", "#add-land-building-card button#cancel-add-land-building-info-btn", function () {
|
||||||
|
alert("bbb");
|
||||||
|
$("#add-land-building-card > .card-body").collapse('hide');
|
||||||
|
|
||||||
|
$("#add-land-building-card button#add-land-building-info-btn").show();
|
||||||
|
$("#add-land-building-card button#save-land-building-info-btn-0").hide();
|
||||||
|
$("#add-land-building-card button#cancel-add-land-building-info-btn").hide();
|
||||||
|
});
|
||||||
|
//#endregion
|
||||||
</script>
|
</script>
|
||||||
}
|
}
|
||||||
@ -19,7 +19,7 @@
|
|||||||
<div class="card-body">
|
<div class="card-body">
|
||||||
<div class="row mb-3 d-flex justify-content-between">
|
<div class="row mb-3 d-flex justify-content-between">
|
||||||
<div class="col-xl-3 row justify-content-center align-items-center">
|
<div class="col-xl-3 row justify-content-center align-items-center">
|
||||||
<label class="col-xl-4 form-label" id="city_label">縣市:</label>
|
<label class="col-xl-4 form-label" id="city_label">縣市</label>
|
||||||
<div class="col-xl-8">
|
<div class="col-xl-8">
|
||||||
<select class="form-control" id="select_city">
|
<select class="form-control" id="select_city">
|
||||||
<option value="0" selected>全部</option>
|
<option value="0" selected>全部</option>
|
||||||
@ -27,15 +27,16 @@
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="col-xl-3 row justify-content-center align-items-center">
|
<div class="col-xl-3 row justify-content-center align-items-center">
|
||||||
<label class="col-xl-4 form-label" id="area_label">地區:</label>
|
<label class="col-xl-4 form-label" id="area_label">地區</label>
|
||||||
<div class="col-xl-8">
|
<div class="col-xl-8">
|
||||||
<select class="form-control" id="select_area">
|
<select class="form-control" id="select_area">
|
||||||
<option value="0" selected>全部</option>
|
<option value="0" selected>全部</option>
|
||||||
</select>
|
</select>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="col-xl-6 row">
|
<div class="col-xl-6 row align-items-center">
|
||||||
<div class="col-12">
|
<div class="col-12">
|
||||||
|
<label id="address_detail_text" class="color-info-600"></label>
|
||||||
<input type="text" id="address_detail" name="address_detail" class="form-control">
|
<input type="text" id="address_detail" name="address_detail" class="form-control">
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
@ -43,21 +44,21 @@
|
|||||||
|
|
||||||
<div class="row mb-3 d-flex justify-content-between">
|
<div class="row mb-3 d-flex justify-content-between">
|
||||||
<div class="col-xl-3 row justify-content-center align-items-center">
|
<div class="col-xl-3 row justify-content-center align-items-center">
|
||||||
<label class="col-xl-4 form-label" id="power_station_code_label" for="power_station_code">電站編號:</label>
|
<label class="col-xl-4 form-label" id="power_station_code_label" for="power_station_code">電站編號</label>
|
||||||
<div class="col-xl-8">
|
<div class="col-xl-8">
|
||||||
<p id="power_station_code_text">PEP-NTP001</p>
|
<label id="power_station_code_text" class="color-info-600"></label>
|
||||||
@*<input type="text" id="power_station_code" name="power_station_code" disabled="disabled" class="form-control">*@
|
@*<input type="text" id="power_station_code" name="power_station_code" disabled="disabled" class="form-control">*@
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="col-xl-3 row justify-content-center align-items-center">
|
<div class="col-xl-3 row justify-content-center align-items-center">
|
||||||
<label class="col-xl-4 form-label" id="power_station_name_label" for="power_station_name">電站名稱:</label>
|
<label class="col-xl-4 form-label" id="power_station_name_label" for="power_station_name">電站名稱</label>
|
||||||
<div class="col-xl-8">
|
<div class="col-xl-8">
|
||||||
<p id="power_station_name_text">薪族鋸成</p>
|
<label id="power_station_name_text" class="color-info-600"></label>
|
||||||
<input type="text" id="power_station_name" name="power_station_name" class="form-control">
|
<input type="text" id="power_station_name" name="power_station_name" class="form-control">
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="col-xl-3 row justify-content-center align-items-center">
|
<div class="col-xl-3 row justify-content-center align-items-center">
|
||||||
<label class="col-xl-4 form-label">是否為代管:</label>
|
<label class="col-xl-4 form-label">是否為代管</label>
|
||||||
<div class="col-xl-8">
|
<div class="col-xl-8">
|
||||||
<p class="color-info-600">
|
<p class="color-info-600">
|
||||||
<div class="custom-control custom-switch">
|
<div class="custom-control custom-switch">
|
||||||
@ -68,69 +69,70 @@
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="col-xl-3 row justify-content-center align-items-center">
|
<div class="col-xl-3 row justify-content-center align-items-center">
|
||||||
<label class="col-xl-4 form-label" id="electricity_meter_at_label" for="electricity_meter_at">台電掛錶日:</label>
|
<label class="col-xl-4 form-label" id="escrow_name_lable" for="escrow_name">被代管公司</label>
|
||||||
<div class="col-xl-8">
|
<div class="col-xl-8">
|
||||||
<p id="electricity_meter_at_text">2021-02-29</p>
|
<label id="escrow_name_text" class="color-info-600"></label>
|
||||||
<input type="date" id="electricity_meter_at" name="electricity_meter_at" class="form-control">
|
<input type="text" id="escrow_name" name="escrow_name" class="form-control" disabled="disabled">
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="row mb-3 d-flex justify-content-between">
|
<div class="row mb-3 d-flex justify-content-between">
|
||||||
<div class="col-xl-3 row justify-content-center align-items-center">
|
<div class="col-xl-3 row justify-content-center align-items-center">
|
||||||
<label class="col-xl-4 form-label" id="estimated_recovery_time_label" for="estimated_recovery_time">預計回收年限:</label>
|
<label class="col-xl-4 form-label" id="electricity_meter_at_label" for="electricity_meter_at">台電掛錶日</label>
|
||||||
<div class="col-xl-8">
|
<div class="col-xl-8">
|
||||||
<p id="estimated_recovery_time_text">20</p>
|
<label id="electricity_meter_at_text" class="color-info-600"></label>
|
||||||
|
<input type="date" id="electricity_meter_at" name="electricity_meter_at" class="form-control">
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="col-xl-3 row justify-content-center align-items-center">
|
||||||
|
<label class="col-xl-4 form-label" id="power_rate_label" for="power_rate">授電費率</label>
|
||||||
|
<div class="col-xl-8">
|
||||||
|
<label id="power_rate_text" class="color-info-600"></label>
|
||||||
|
<input type="number" step="0.001" id="power_rate" name="power_rate" class="form-control">
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="col-xl-3 row justify-content-center align-items-center">
|
||||||
|
<label class="col-xl-4 form-label" id="estimated_recovery_time_label" for="estimated_recovery_time">預計回收年限</label>
|
||||||
|
<div class="col-xl-8">
|
||||||
|
<label id="estimated_recovery_time_text" class="color-info-600"></label>
|
||||||
<input type="text" id="estimated_recovery_time" name="estimated_recovery_time" class="form-control">
|
<input type="text" id="estimated_recovery_time" name="estimated_recovery_time" class="form-control">
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="col-xl-3 row justify-content-center align-items-center">
|
<div class="col-xl-3 row justify-content-center align-items-center">
|
||||||
<label class="col-xl-4 form-label" id="generating_capacity_label" for="generating_capacity">電廠發電容量(kW)</label>
|
<label class="col-xl-4 form-label" id="generating_capacity_label" for="generating_capacity">電廠發電容量(kW)</label>
|
||||||
<div class="col-xl-8">
|
<div class="col-xl-8">
|
||||||
<p id="generating_capacity_text">123123</p>
|
<label id="generating_capacity_text" class="color-info-600"></label>
|
||||||
<input type="number" step="0.1" id="generating_capacity" name="generating_capacity" class="form-control">
|
<input type="number" step="0.1" id="generating_capacity" name="generating_capacity" class="form-control">
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="row mb-5 d-flex justify-content-between ">
|
||||||
<div class="col-xl-3 row justify-content-center align-items-center">
|
<div class="col-xl-3 row justify-content-center align-items-center">
|
||||||
<label class="col-xl-4 form-label" id="escrow_name_lable" for="escrow_name">被代管公司:</label>
|
<label class="col-xl-4 form-label" id="power_station_operation_personnel_label">運維人員</label>
|
||||||
<div class="col-xl-8">
|
|
||||||
<p id="escrow_name_text">台電電</p>
|
|
||||||
<input type="text" id="escrow_name" name="escrow_name" class="form-control" disabled="disabled">
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<div class="col-xl-3 row justify-content-center align-items-center">
|
|
||||||
<label class="col-xl-4 form-label" id="power_station_operation_personnel_label">運維人員:</label>
|
|
||||||
<div class="col-xl-8">
|
<div class="col-xl-8">
|
||||||
<select class="js-example-basic-multiple form-control" id="power_station_operation_personnel" multiple="multiple">
|
<select class="js-example-basic-multiple form-control" id="power_station_operation_personnel" multiple="multiple">
|
||||||
</select>
|
</select>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
|
||||||
<div class="row mb-5 d-flex justify-content-between ">
|
|
||||||
<div class="col-xl-3 row justify-content-center align-items-center">
|
|
||||||
<label class="col-xl-4 form-label" id="power_rate_label" for="power_rate">授電費率</label>
|
|
||||||
<div class="col-xl-8">
|
|
||||||
<p id="power_rate_text">123123</p>
|
|
||||||
<input type="number" step="0.001" id="power_rate" name="power_rate" class="form-control">
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<div class="col-xl-3 row justify-content-center align-items-center">
|
<div class="col-xl-3 row justify-content-center align-items-center">
|
||||||
<label class="col-xl-4 form-label" id="coordinate_label" for="coordinate">座標</label>
|
<label class="col-xl-4 form-label" id="coordinate_label" for="coordinate">座標</label>
|
||||||
<div class="col-xl-8">
|
<div class="col-xl-8">
|
||||||
<p id="coordinate_text">座標:</p>
|
<label id="coordinate_text" class="color-info-600"></label>
|
||||||
<input type="text" id="coordinate" name="coordinate" class="form-control">
|
<input type="text" id="coordinate" name="coordinate" class="form-control">
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="col-xl-3 row justify-content-center align-items-center">
|
<div class="col-xl-3 row justify-content-center align-items-center">
|
||||||
<label class="col-xl-4 form-label">資料建立:</label>
|
<label class="col-xl-4 form-label">資料建立</label>
|
||||||
<div class="col-xl-8">
|
<div class="col-xl-8">
|
||||||
<p id="created_by_text">野員新之助</p>
|
<label id="created_by_text" class="color-info-600"></label>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="col-xl-3 row justify-content-center align-items-center">
|
<div class="col-xl-3 row justify-content-center align-items-center">
|
||||||
<label class="col-xl-4 form-label">建立時間:</label>
|
<label class="col-xl-4 form-label">建立時間</label>
|
||||||
<div class="col-xl-8">
|
<div class="col-xl-8">
|
||||||
<p id="created_at_text">YYYY-MM-DD</p>
|
<label id="created_at_text" class="color-info-600"></label>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
@ -139,55 +141,67 @@
|
|||||||
<div class="col-xl-6">
|
<div class="col-xl-6">
|
||||||
<h5 class="border-bottom font-weight-bold mb-3 pl-5 pb-3">逆變器</h5>
|
<h5 class="border-bottom font-weight-bold mb-3 pl-5 pb-3">逆變器</h5>
|
||||||
<div class="row d-flex justify-content-between px-5">
|
<div class="row d-flex justify-content-between px-5">
|
||||||
<div class="col-xl-4">
|
<div class="col-xl-4 row">
|
||||||
<label class="form-label" id="inverter_brand_label" for="inverter_brand">廠牌</label>
|
<label class="col-xl-4 form-label" id="inverter_brand_label" for="inverter_brand">廠牌</label>
|
||||||
<p id="inverter_brand_text" class="color-info-600">AUO</p>
|
<div class="col-xl-8">
|
||||||
<input type="text" id="inverter_brand" name="inverter_brand" class="form-control">
|
<label id="inverter_brand_text" class="color-info-600"></label>
|
||||||
|
<input type="text" id="inverter_brand" name="inverter_brand" class="form-control">
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="col-xl-4">
|
<div class="col-xl-4 row">
|
||||||
<label class="form-label" id="inverter_product_model_label" for="inverter_product_model">型號</label>
|
<label class="col-xl-4 form-label" id="inverter_product_model_label" for="inverter_product_model">型號</label>
|
||||||
<p id="inverter_product_model_text" class="color-info-600">PM060MW2_305</p>
|
<div class="col-xl-8">
|
||||||
<input type="text" id="inverter_product_model" name="inverter_product_model" class="form-control">
|
<label id="inverter_product_model_text" class="color-info-600"></label>
|
||||||
|
<input type="text" id="inverter_product_model" name="inverter_product_model" class="form-control">
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="col-xl-4">
|
<div class="col-xl-4 row">
|
||||||
<label class="form-label" id="inverter_amount_label" for="inverter_amount">數量</label>
|
<label class="col-xl-4 form-label" id="inverter_amount_label" for="inverter_amount">數量</label>
|
||||||
<p id="inverter_amount_text" class="color-info-600">400</p>
|
<div class="col-xl-8">
|
||||||
<input type="text" id="inverter_amount" name="inverter_amount" class="form-control">
|
<label id="inverter_amount_text" class="color-info-600"></label>
|
||||||
|
<input type="text" id="inverter_amount" name="inverter_amount" class="form-control">
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="col-xl-6">
|
<div class="col-xl-6">
|
||||||
<h5 class="border-bottom font-weight-bold mb-3 pl-5 pb-3">光電板</h5>
|
<h5 class="border-bottom font-weight-bold mb-3 pl-5 pb-3">光電板</h5>
|
||||||
<div class="row d-flex justify-content-between px-5">
|
<div class="row d-flex justify-content-between px-5">
|
||||||
<div class="col-xl-4">
|
<div class="col-xl-4 mb-3 row">
|
||||||
<label class="form-label" id="photovoltaic_panel_brand_label" for="photovoltaic_panel_brand">廠牌</label>
|
<label class="col-xl-4 form-label" id="photovoltaic_panel_brand_label" for="photovoltaic_panel_brand">廠牌</label>
|
||||||
<p id="photovoltaic_panel_brand_text" class="color-info-600">ABLYTEK</p>
|
<div class="col-xl-8">
|
||||||
<input type="text" id="photovoltaic_panel_brand" name="photovoltaic_panel_brand" class="form-control">
|
<label id="photovoltaic_panel_brand_text" class="color-info-600"></label>
|
||||||
|
<input type="text" id="photovoltaic_panel_brand" name="photovoltaic_panel_brand" class="form-control">
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="col-xl-4">
|
<div class="col-xl-4 mb-3 row">
|
||||||
<label class="form-label" id="photovoltaic_panel_specification_label" for="photovoltaic_panel_specification">規格</label>
|
<label class="col-xl-4 form-label" id="photovoltaic_panel_specification_label" for="photovoltaic_panel_specification">規格</label>
|
||||||
<p id="photovoltaic_panel_specification_text" class="color-info-600">1640×992×40</p>
|
<div class="col-xl-8">
|
||||||
<input type="text" id="photovoltaic_panel_specification" name="photovoltaic_panel_specification" class="form-control">
|
<label id="photovoltaic_panel_specification_text" class="color-info-600"></label>
|
||||||
|
<input type="text" id="photovoltaic_panel_specification" name="photovoltaic_panel_specification" class="form-control">
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="col-xl-4">
|
<div class="col-xl-4 mb-3 row">
|
||||||
<label class="form-label" id="photovoltaic_panel_amount_label" for="photovoltaic_panel_amount">數量</label>
|
<label class="col-xl-4 form-label" id="photovoltaic_panel_amount_label" for="photovoltaic_panel_amount">數量</label>
|
||||||
<p id="photovoltaic_panel_amount_text" class="color-info-600">1116</p>
|
<div class="col-xl-8">
|
||||||
<input type="text" id="photovoltaic_panel_amount" name="photovoltaic_panel_amount" class="form-control">
|
<label id="photovoltaic_panel_amount_text" class="color-info-600"></label>
|
||||||
|
<input type="text" id="photovoltaic_panel_amount" name="photovoltaic_panel_amount" class="form-control">
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="col-xl-4">
|
<div class="col-xl-4 mb-3 row">
|
||||||
<label class="form-label" id="photovoltaic_panel_product_model_label" for="photovoltaic_panel_product_model">型號</label>
|
<label class="col-xl-4 form-label" id="photovoltaic_panel_product_model_label" for="photovoltaic_panel_product_model">型號</label>
|
||||||
<p id="photovoltaic_panel_product_model_text" class="color-info-600">6MN6A295</p>
|
<div class="col-xl-8">
|
||||||
<input type="text" id="photovoltaic_panel_product_model" name="photovoltaic_panel_product_model" class="form-control">
|
<label id="photovoltaic_panel_product_model_text" class="color-info-600"></label>
|
||||||
|
<input type="text" id="photovoltaic_panel_product_model" name="photovoltaic_panel_product_model" class="form-control">
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="row mb-5" id="BoEPart">
|
<div class="row mb-5" id="BoEPart">
|
||||||
<div class="card border mb-g w-100">
|
<div class="card border mb-g w-100">
|
||||||
<!-- notice the additions of utility paddings and display properties on .card-header -->
|
<!-- notice the additions of utility paddings and display properties on .card-header -->
|
||||||
@ -212,31 +226,31 @@
|
|||||||
<h5 class="border-bottom font-weight-bold mb-3 pl-5 pb-3">經濟部能源局</h5>
|
<h5 class="border-bottom font-weight-bold mb-3 pl-5 pb-3">經濟部能源局</h5>
|
||||||
<div class="row d-flex justify-content-between px-5">
|
<div class="row d-flex justify-content-between px-5">
|
||||||
<div class="col-xl-6 mb-3 row justify-content-center align-items-center">
|
<div class="col-xl-6 mb-3 row justify-content-center align-items-center">
|
||||||
<label class="col-xl-4 form-label">能源局同意檔案:</label>
|
<label class="col-xl-4 form-label">能源局同意檔案</label>
|
||||||
<div class="col-xl-8">
|
<div class="col-xl-8">
|
||||||
<a id="link-boe-file" class="color-info-600" href="link/to/your/download/file" download>Download link</a>
|
<a id="link-boe-file" class="color-info-600" href="link/to/your/download/file" download>Download link</a>
|
||||||
<input type="file" id="BoE_file" name="BoE_file" class="form-control">
|
<input type="file" id="BoE_file" name="BoE_file" class="form-control">
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="col-xl-6 mb-3 row justify-content-center align-items-center">
|
<div class="col-xl-6 mb-3 row justify-content-center align-items-center">
|
||||||
<label class="col-xl-4 form-label">折扣率:</label>
|
<label class="col-xl-4 form-label">折扣率</label>
|
||||||
<div class="col-xl-8">
|
<div class="col-xl-8">
|
||||||
<p id="BoE_discount_rate_text" class="color-info-600">123123</p>
|
<label id="BoE_discount_rate_text" class="color-info-600"></label>
|
||||||
<input type="number" step="1" id="BoE_discount_rate" name="BoE_discount_rate" class="form-control">
|
<input type="number" step="1" id="BoE_discount_rate" name="BoE_discount_rate" class="form-control">
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="col-xl-6 mb-3 row justify-content-center align-items-center">
|
<div class="col-xl-6 mb-3 row justify-content-center align-items-center">
|
||||||
<label class="col-xl-4 form-label" for="BoE_device_register_number">能源局設備登記編號:</label>
|
<label class="col-xl-4 form-label" for="BoE_device_register_number">能源局設備登記編號</label>
|
||||||
<div class="col-xl-8">
|
<div class="col-xl-8">
|
||||||
<p id="BoE_device_register_number_text" class="color-info-600">123123</p>
|
<label id="BoE_device_register_number_text" class="color-info-600"></label>
|
||||||
<input type="text" id="BoE_device_register_number" name="BoE_device_register_number" class="form-control">
|
<input type="text" id="BoE_device_register_number" name="BoE_device_register_number" class="form-control">
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="col-xl-6 mb-3 row justify-content-center align-items-center">
|
<div class="col-xl-6 mb-3 row justify-content-center align-items-center">
|
||||||
<label class="col-xl-4 form-label">租金比例 (%):</label>
|
<label class="col-xl-4 form-label">租金比例(%)</label>
|
||||||
<div class="col-xl-8">
|
<div class="col-xl-8">
|
||||||
<p id="BoE_discount_rate_text" class="color-info-600">123123</p>
|
<label id="BoE_rent_ratio_text" class="color-info-600"></label>
|
||||||
<input type="number" step="1" id="BoE_discount_rate" name="BoE_discount_rate" class="form-control">
|
<input type="number" step="1" id="BoE_rent_ratio" name="BoE_rent_ratio" class="form-control">
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
@ -245,56 +259,56 @@
|
|||||||
<h5 class="border-bottom font-weight-bold mb-3 pl-5 pb-3">台電資訊</h5>
|
<h5 class="border-bottom font-weight-bold mb-3 pl-5 pb-3">台電資訊</h5>
|
||||||
<div class="row d-flex justify-content-between px-5">
|
<div class="row d-flex justify-content-between px-5">
|
||||||
<div class="col-xl-6 mb-3 row justify-content-center align-items-center">
|
<div class="col-xl-6 mb-3 row justify-content-center align-items-center">
|
||||||
<label class="col-xl-4 form-label" for="TPC_contract_number">契約編號:</label>
|
<label class="col-xl-4 form-label" for="TPC_contract_number">契約編號</label>
|
||||||
<div class="col-xl-8">
|
<div class="col-xl-8">
|
||||||
<p id="TPC_contract_number_text" class="color-info-600">123123</p>
|
<label id="TPC_contract_number_text" class="color-info-600"></label>
|
||||||
<input type="text" id="TPC_contract_number" name="TPC_contract_number" class="form-control">
|
<input type="text" id="TPC_contract_number" name="TPC_contract_number" class="form-control">
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="col-xl-6 mb-3 row justify-content-center align-items-center">
|
<div class="col-xl-6 mb-3 row justify-content-center align-items-center">
|
||||||
<label class="col-xl-4 form-label" for="TPC_contract_at">簽約日期:</label>
|
<label class="col-xl-4 form-label" for="TPC_contract_at">簽約日期</label>
|
||||||
<div class="col-xl-8">
|
<div class="col-xl-8">
|
||||||
<p id="TPC_contract_at_text" class="color-info-600">123123</p>
|
<label id="TPC_contract_at_text" class="color-info-600"></label>
|
||||||
<input type="date" id="TPC_contract_at" name="TPC_contract_at" class="form-control">
|
<input type="date" id="TPC_contract_at" name="TPC_contract_at" class="form-control">
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="col-xl-6 mb-3 row justify-content-center align-items-center">
|
<div class="col-xl-6 mb-3 row justify-content-center align-items-center">
|
||||||
<label class="col-xl-4 form-label" for="TPC_sell_deadline">售電期限(年):</label>
|
<label class="col-xl-4 form-label" for="TPC_sell_deadline">售電期限(年)</label>
|
||||||
<div class="col-xl-8">
|
<div class="col-xl-8">
|
||||||
<p id="TPC_sell_deadline_text" class="color-info-600">123123</p>
|
<label id="TPC_sell_deadline_text" class="color-info-600"></label>
|
||||||
<input type="text" id="TPC_sell_deadline" name="TPC_sell_deadline" class="form-control">
|
<input type="number" step="1" id="TPC_sell_deadline" name="TPC_sell_deadline" class="form-control">
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="col-xl-6 mb-3 row justify-content-center align-items-center">
|
<div class="col-xl-6 mb-3 row justify-content-center align-items-center">
|
||||||
<label class="col-xl-4 form-label" for="TPC_meter_reading">每期抄錶日:</label>
|
<label class="col-xl-4 form-label" for="TPC_meter_reading">每期抄錶日</label>
|
||||||
<div class="col-xl-8">
|
<div class="col-xl-8">
|
||||||
<p id="TPC_meter_reading_text" class="color-info-600">123123</p>
|
<label id="TPC_meter_reading_text" class="color-info-600"></label>
|
||||||
<input type="text" id="TPC_meter_reading" name="TPC_meter_reading" class="form-control">
|
<input type="number" step="1" id="TPC_meter_reading" name="TPC_meter_reading" class="form-control">
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="col-xl-6 mb-3 row justify-content-center align-items-center">
|
<div class="col-xl-6 mb-3 row justify-content-center align-items-center">
|
||||||
<label class="col-xl-4 form-label" for="TPC_purchase_electricity_at">正式購電日:</label>
|
<label class="col-xl-4 form-label" for="TPC_purchase_electricity_at">正式購電日</label>
|
||||||
<div class="col-xl-8">
|
<div class="col-xl-8">
|
||||||
<p id="TPC_purchase_electricity_at_text" class="color-info-600">123123</p>
|
<label id="TPC_purchase_electricity_at_text" class="color-info-600"></label>
|
||||||
<input type="date" id="TPC_purchase_electricity_at" name="TPC_purchase_electricity_at" class="form-control">
|
<input type="date" id="TPC_purchase_electricity_at" name="TPC_purchase_electricity_at" class="form-control">
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="col-xl-6 mb-3 row justify-content-center align-items-center">
|
<div class="col-xl-6 mb-3 row justify-content-center align-items-center">
|
||||||
<label class="col-xl-4 form-label" for="TPC_sell_electricity_at">正式售電日:</label>
|
<label class="col-xl-4 form-label" for="TPC_sell_electricity_at">正式售電日</label>
|
||||||
<div class="col-xl-8">
|
<div class="col-xl-8">
|
||||||
<p id="TPC_sell_electricity_at_text" class="color-info-600">123123</p>
|
<label id="TPC_sell_electricity_at_text" class="color-info-600"></label>
|
||||||
<input type="date" id="TPC_sell_electricity_at" name="TPC_sell_electricity_at" class="form-control">
|
<input type="date" id="TPC_sell_electricity_at" name="TPC_sell_electricity_at" class="form-control">
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="row d-flex justify-content-end px-5">
|
<div class="row d-flex justify-content-end px-5">
|
||||||
<div class="col-xl-6 mb-3 row justify-content-center align-items-center">
|
<div class="col-xl-6 mb-3 row justify-content-end align-items-center">
|
||||||
<label class="col-xl-12 text-right">資料建立:<span id="BOE_TPC_created_by_text" class="color-info-600">123123</span></label>
|
<label class="col-xl-12 text-right">資料建立 <span id="BOE_TPC_created_by_text" class="ml-3 color-info-600"></span></label>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="row d-flex justify-content-end px-5">
|
<div class="row d-flex justify-content-end px-5">
|
||||||
<div class="col-xl-6 mb-3 row justify-content-center align-items-center">
|
<div class="col-xl-6 mb-3 row justify-content-end align-items-center">
|
||||||
<label class="col-xl-12 text-right">建立時間:<span id="BOE_TPC_created_at_text" class="color-info-600">123123</span></label>
|
<label class="col-xl-12 text-right">建立時間 <span id="BOE_TPC_created_at_text" class="ml-3 color-info-600"></span></label>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
@ -305,11 +319,11 @@
|
|||||||
|
|
||||||
</div>
|
</div>
|
||||||
<div class="row mb-5" id="land_buildingPart">
|
<div class="row mb-5" id="land_buildingPart">
|
||||||
<div class="card border mb-g w-100">
|
<!--<div class="card border mb-g w-100">-->
|
||||||
<!-- notice the additions of utility paddings and display properties on .card-header -->
|
<!-- notice the additions of utility paddings and display properties on .card-header -->
|
||||||
<div class="card-header bg-fusion-50 pr-3 d-flex align-items-center flex-wrap justify-content-between">
|
<!--<div class="card-header bg-fusion-50 pr-3 d-flex align-items-center flex-wrap justify-content-between">-->
|
||||||
<!-- we wrap header title inside a div tag with utility padding -->
|
<!-- we wrap header title inside a div tag with utility padding -->
|
||||||
<div class="card-title font-weight-bold">土地房屋資料</div>
|
<!--<div class="card-title font-weight-bold">土地房屋資料</div>
|
||||||
<div class="text-right">
|
<div class="text-right">
|
||||||
<a href="javascript:;" class="btn btn-sm btn-success ml-auto waves-effect waves-themed">
|
<a href="javascript:;" class="btn btn-sm btn-success ml-auto waves-effect waves-themed">
|
||||||
<span class="fal fa-plus mr-1"></span> 新增
|
<span class="fal fa-plus mr-1"></span> 新增
|
||||||
@ -320,25 +334,79 @@
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="card-body">
|
<div class="card-body">
|
||||||
<div class="row d-flex justify-content-between">
|
<div class="row d-flex justify-content-between card-land-building" data-id="xxx">
|
||||||
<div class="col-xl">
|
<div class="col-xl">
|
||||||
<p>地址 <span class="color-info-600">台北市內湖區中山路一段1001號</span></p>
|
<div class="row">
|
||||||
<p>經緯度 <span class="color-info-600">25.0726625,121.5725953</span></p>
|
<label class="col-xl-4 form-label" for="land_building_address">地址</label>
|
||||||
|
<div class="col-xl-8">
|
||||||
|
<p id="land_building_address_text" class="color-info-600">台北市內湖區中山路一段1001號</p>
|
||||||
|
<input type="text" id="land_building_address" name="land_building_address" class="form-control">
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="row">
|
||||||
|
<label class="col-xl-4 form-label" for="land_building_coordinate">經緯度</label>
|
||||||
|
<div class="col-xl-8">
|
||||||
|
<p id="land_building_coordinate_text" class="color-info-600">台北市內湖區中山路一段1001號</p>
|
||||||
|
<input type="text" id="land_building_coordinate" name="land_building_coordinate" class="form-control">
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="col-xl">
|
<div class="col-xl">
|
||||||
<p>租約公證日期 <span class="color-info-600">新竹巨城站</span></p>
|
<div class="row">
|
||||||
<p>租金比例 (%) <span class="color-info-600">10</span></p>
|
<label class="col-xl-4 form-label" for="lease_notarization_at">租約公證日期</label>
|
||||||
|
<div class="col-xl-8">
|
||||||
|
<p id="lease_notarization_at_text" class="color-info-600">2021-12-01</p>
|
||||||
|
<input type="text" id="lease_notarization_at" name="lease_notarization_at" class="form-control">
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="row">
|
||||||
|
<label class="col-xl-4 form-label" for="land_building_lease_Rate">租金比例 (%)</label>
|
||||||
|
<div class="col-xl-8">
|
||||||
|
<p id="land_building_coordinate_text" class="color-info-600">台北市內湖區中山路一段1001號</p>
|
||||||
|
<input type="text" id="land_building_lease_Rate" name="land_building_coordinate" class="form-control">
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="col-xl">
|
<div class="col-xl">
|
||||||
<p>地主姓名 <span class="color-info-600">鋼鐵人</span></p>
|
<div class="row">
|
||||||
<p>電話 <span class="color-info-600">0828-123456</span></p>
|
<label class="col-xl-4 form-label" for="land_building_lease_Rate">地主姓名</label>
|
||||||
|
<div class="col-xl-8">
|
||||||
|
<p id="land_building_coordinate_text" class="color-info-600">鋼鐵人</p>
|
||||||
|
<input type="text" id="land_building_landowner" name="land_building_coordinate" class="form-control">
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="row">
|
||||||
|
<label class="col-xl-4 form-label" for="land_building_lease_Rate">電話</label>
|
||||||
|
<div class="col-xl-8">
|
||||||
|
<p id="land_building_coordinate_text" class="color-info-600">0828-123456</p>
|
||||||
|
<input type="text" id="land_building_lease_Rate" name="land_building_coordinate" class="form-control">
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="col-xl">
|
<div class="col-xl">
|
||||||
<p>房屋用途 <span class="color-info-600">工廠</span></p>
|
<div class="row">
|
||||||
|
<label class="col-xl-4 form-label" for="land_building_lease_Rate">房屋用途</label>
|
||||||
|
<div class="col-xl-8">
|
||||||
|
<p id="land_building_coordinate_text" class="color-info-600">0828-123456</p>
|
||||||
|
<input type="text" id="land_building_lease_Rate" name="land_building_coordinate" class="form-control">
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="col-xl">
|
<div class="col-xl">
|
||||||
<p>資料建立 <span class="color-info-600">蜘蛛人</span></p>
|
<div class="row">
|
||||||
<p>建立時間 <span class="color-info-600">2018-10-01 12:00</span></p>
|
<label class="col-xl-4 form-label" for="land_building_lease_Rate">資料建立</label>
|
||||||
|
<div class="col-xl-8">
|
||||||
|
<p id="land_building_coordinate_text" class="color-info-600">蜘蛛人</p>
|
||||||
|
<input type="text" id="land_building_lease_Rate" name="land_building_coordinate" class="form-control">
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="row">
|
||||||
|
<label class="col-xl-4 form-label" for="land_building_lease_Rate">建立時間</label>
|
||||||
|
<div class="col-xl-8">
|
||||||
|
<p id="land_building_coordinate_text" class="color-info-600">2018-10-01 12:00</p>
|
||||||
|
<input type="text" id="land_building_lease_Rate" name="land_building_coordinate" class="form-control">
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
@ -377,7 +445,7 @@
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
</div>
|
</div>-->
|
||||||
|
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
@ -14,7 +14,7 @@
|
|||||||
<!-- base css -->
|
<!-- base css -->
|
||||||
<link id="vendorsbundle" rel="stylesheet" media="screen, print" href="~/css/vendors.bundle.css">
|
<link id="vendorsbundle" rel="stylesheet" media="screen, print" href="~/css/vendors.bundle.css">
|
||||||
<link id="appbundle" rel="stylesheet" media="screen, print" href="~/css/app.bundle.css">
|
<link id="appbundle" rel="stylesheet" media="screen, print" href="~/css/app.bundle.css">
|
||||||
<link id="mytheme" rel="stylesheet" media="screen, print" href="#">
|
<link id="mytheme" rel="stylesheet" media="screen, print" href="~/css/themes/cust-theme-15.css">
|
||||||
<link id="myskin" rel="stylesheet" media="screen, print" href="~/css/skins/skin-master.css">
|
<link id="myskin" rel="stylesheet" media="screen, print" href="~/css/skins/skin-master.css">
|
||||||
|
|
||||||
<!-- Place favicon.ico in the root directory -->
|
<!-- Place favicon.ico in the root directory -->
|
||||||
@ -41,10 +41,8 @@
|
|||||||
<!-- BEGIN Left Aside -->
|
<!-- BEGIN Left Aside -->
|
||||||
<aside class="page-sidebar">
|
<aside class="page-sidebar">
|
||||||
<div class="page-logo">
|
<div class="page-logo">
|
||||||
<a href="#" class="page-logo-link press-scale-down d-flex align-items-center position-relative" data-toggle="modal" data-target="#modal-shortcut">
|
<a href="#" class="page-logo-link press-scale-down" data-toggle="modal" data-target="#modal-shortcut">
|
||||||
<img src="~/img/logo.png" alt="SmartAdmin WebApp" aria-roledescription="logo">
|
<img src="~/img/logo.png" alt="SmartAdmin WebApp" aria-roledescription="logo"> <span class="page-logo-text mr-1"></span> <span class="position-absolute text-white opacity-50 small pos-top pos-right mr-2 mt-n2"></span>
|
||||||
<span class="page-logo-text mr-1"></span>
|
|
||||||
<span class="position-absolute text-white opacity-50 small pos-top pos-right mr-2 mt-n2"></span>
|
|
||||||
<!--<i class="fal fa-angle-down d-inline-block ml-1 fs-lg color-primary-300"></i>-->
|
<!--<i class="fal fa-angle-down d-inline-block ml-1 fs-lg color-primary-300"></i>-->
|
||||||
</a>
|
</a>
|
||||||
</div>
|
</div>
|
||||||
@ -78,35 +76,18 @@
|
|||||||
-->
|
-->
|
||||||
<ul id="js-nav-menu" class="nav-menu">
|
<ul id="js-nav-menu" class="nav-menu">
|
||||||
<!--<li class="active">
|
<!--<li class="active">
|
||||||
<a href="blank.html" title="Blank Project" data-filter-tags="blank page">
|
<a href="blank.html" title="Blank Project" data-filter-tags="blank page">
|
||||||
<i class="fal fa-globe"></i>
|
<i class="fal fa-globe"></i>
|
||||||
<span class="nav-link-text" data-i18n="nav.blankpage">Blank Project</span>
|
<span class="nav-link-text" data-i18n="nav.blankpage">Blank Project</span>
|
||||||
</a>
|
</a>
|
||||||
</li>
|
</li>
|
||||||
<li class="nav-title">Navigation Title</li>-->
|
<li class="nav-title">Navigation Title</li>-->
|
||||||
<li class="">
|
<li class="">
|
||||||
<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>
|
|
||||||
<a href="javascript:void(0);" title="Menu child" data-filter-tags="utilities menu child">
|
|
||||||
<span class="nav-link-text" data-i18n="nav.utilities_menu_child">地圖總覽</span>
|
|
||||||
</a>
|
|
||||||
<ul>
|
|
||||||
<li>
|
|
||||||
<a href="javascript:void(0);" title="Sublevel Item" data-filter-tags="utilities menu child sublevel item">
|
|
||||||
<span class="nav-link-text" data-i18n="nav.utilities_menu_child_sublevel_item">電站總覽</span>
|
|
||||||
</a>
|
|
||||||
</li>
|
|
||||||
<li>
|
|
||||||
<a href="javascript:void(0);" title="Another Item" data-filter-tags="utilities menu child another item">
|
|
||||||
<span class="nav-link-text" data-i18n="nav.utilities_menu_child_another_item">運維總覽</span>
|
|
||||||
</a>
|
|
||||||
</li>
|
|
||||||
</ul>
|
|
||||||
</li>
|
|
||||||
<li class="">
|
<li class="">
|
||||||
<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>
|
||||||
@ -117,23 +98,18 @@
|
|||||||
<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="">
|
|
||||||
<a href="javascript:void(0);" title="運維總覽" data-filter-tags="utilities disabled item">
|
|
||||||
<span class="nav-link-text" data-i18n="nav.utilities_disabled_item">運維總覽</span>
|
|
||||||
</a>
|
|
||||||
</li>
|
|
||||||
</ul>
|
</ul>
|
||||||
</li>
|
</li>
|
||||||
<!-- Example of open and active states -->
|
<!-- Example of open and active states -->
|
||||||
<li class="">
|
<li class="">
|
||||||
<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-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"] == "6" && ViewData["SubNum"] == "1" ? "active" : "")">
|
||||||
<a href="javascript:void(0);" 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>
|
||||||
@ -145,18 +121,18 @@
|
|||||||
</a>
|
</a>
|
||||||
<ul>
|
<ul>
|
||||||
<li class="">
|
<li class="">
|
||||||
<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="">
|
||||||
<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="">
|
||||||
<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>
|
||||||
</ul>
|
</ul>
|
||||||
@ -184,6 +160,21 @@
|
|||||||
</li>
|
</li>
|
||||||
</ul>
|
</ul>
|
||||||
</li>
|
</li>
|
||||||
|
<li class="">
|
||||||
|
<a href="#" title="Category" data-filter-tags="category">
|
||||||
|
<i class="fal fa-alien"></i>
|
||||||
|
<span class="nav-link-text" data-i18n="nav.category">即時告警</span>
|
||||||
|
</a>
|
||||||
|
<ul>
|
||||||
|
<li class="">
|
||||||
|
<a href="javascript:void(0);" title="即時告警管理" data-filter-tags="utilities disabled item">
|
||||||
|
<span class="nav-link-text" data-i18n="nav.utilities_disabled_item">即時告警管理</span>
|
||||||
|
</a>
|
||||||
|
</li>
|
||||||
|
</ul>
|
||||||
|
</li>
|
||||||
|
|
||||||
|
|
||||||
<li class="">
|
<li class="">
|
||||||
<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>
|
||||||
@ -191,18 +182,13 @@
|
|||||||
</a>
|
</a>
|
||||||
<ul>
|
<ul>
|
||||||
<li class="">
|
<li class="">
|
||||||
<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="">
|
||||||
<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>
|
|
||||||
</li>
|
|
||||||
<li class="">
|
|
||||||
<a href="javascript:void(0);" title="日常檢查記錄" data-filter-tags="utilities disabled item">
|
|
||||||
<span class="nav-link-text" data-i18n="nav.utilities_disabled_item">日常檢查記錄</span>
|
|
||||||
</a>
|
</a>
|
||||||
</li>
|
</li>
|
||||||
</ul>
|
</ul>
|
||||||
@ -213,11 +199,6 @@
|
|||||||
<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" : "")">
|
|
||||||
<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>
|
|
||||||
</a>
|
|
||||||
</li>
|
|
||||||
<li class="@(ViewData["MainNum"] == "6" && ViewData["SubNum"] == "2" ? "active" : "")">
|
<li class="@(ViewData["MainNum"] == "6" && ViewData["SubNum"] == "2" ? "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>
|
||||||
|
|||||||
@ -1815,6 +1815,12 @@ code {
|
|||||||
.color-danger-900 {
|
.color-danger-900 {
|
||||||
color: #6c1919; }
|
color: #6c1919; }
|
||||||
|
|
||||||
|
.bg-fusion-25 {
|
||||||
|
background-color: #C3C3C3;
|
||||||
|
color: #4a4a4a; }
|
||||||
|
.bg-fusion-25:hover {
|
||||||
|
color: #4a4a4a; }
|
||||||
|
|
||||||
.bg-fusion-50 {
|
.bg-fusion-50 {
|
||||||
background-color: #818181;
|
background-color: #818181;
|
||||||
color: white; }
|
color: white; }
|
||||||
|
|||||||
BIN
SolarPower/wwwroot/img/fic_Logo.png
Normal file
BIN
SolarPower/wwwroot/img/fic_Logo.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 2.2 KiB |
Binary file not shown.
|
Before Width: | Height: | Size: 2.6 KiB After Width: | Height: | Size: 2.2 KiB |
BIN
SolarPower/wwwroot/img/logo.png_
Normal file
BIN
SolarPower/wwwroot/img/logo.png_
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 2.6 KiB |
Loading…
Reference in New Issue
Block a user