設備UID

This commit is contained in:
b110212000 2021-06-18 12:25:45 +08:00
parent c10e7f94c7
commit a400860875
8 changed files with 52 additions and 12 deletions

View File

@ -830,6 +830,18 @@ namespace SolarPower.Controllers
{ {
if (Device.Id == 0) if (Device.Id == 0)
{ {
PowerStation powerStation = null;
powerStation = await powerStationRepository.GetOneAsync(Device.PowerStationId);
string Number = await powerStationRepository.GetFinalSerialNumber(Device.PowerStationId, Device.Type);
var tempSerialNumber = 0;
if (!string.IsNullOrEmpty(Number))
{
tempSerialNumber = Convert.ToInt32(Number) + 1;
}
else
{
tempSerialNumber = 1;
}
Device DeviceInfo = new Device() Device DeviceInfo = new Device()
{ {
Brand = Device.Brand, Brand = Device.Brand,
@ -842,9 +854,10 @@ namespace SolarPower.Controllers
Remark = Device.Remark, Remark = Device.Remark,
TableName = Device.TableName, TableName = Device.TableName,
Type = Device.Type, Type = Device.Type,
UID = Device.PowerStationId + "-" + Device.Type, UID = powerStation.Code + "-" + Device.Type + "-" + tempSerialNumber.ToString().PadLeft(3,'0'),
CreatedBy = myUser.Id, CreatedBy = myUser.Id,
TypeName = Device.TypeName TypeName = Device.TypeName,
SerialNumber = tempSerialNumber.ToString().PadLeft(3, '0')
}; };
List<string> properties = new List<string>() List<string> properties = new List<string>()
{ {
@ -860,7 +873,8 @@ namespace SolarPower.Controllers
"Type", "Type",
"UID", "UID",
"CreatedBy", "CreatedBy",
"TypeName" "TypeName",
"SerialNumber"
}; };
await powerStationRepository.AddDevice(DeviceInfo,properties); await powerStationRepository.AddDevice(DeviceInfo,properties);
@ -879,9 +893,6 @@ namespace SolarPower.Controllers
Name = Device.Name, Name = Device.Name,
ProductModel = Device.ProductModel, ProductModel = Device.ProductModel,
Remark = Device.Remark, Remark = Device.Remark,
TableName = Device.TableName,
Type = Device.Type,
UID = Device.PowerStationId + "-" + Device.Type,
CreatedBy = myUser.Id, CreatedBy = myUser.Id,
TypeName = Device.TypeName TypeName = Device.TypeName
}; };
@ -895,9 +906,6 @@ namespace SolarPower.Controllers
"Name", "Name",
"ProductModel", "ProductModel",
"Remark", "Remark",
"TableName",
"Type",
"UID",
"CreatedBy", "CreatedBy",
"TypeName" "TypeName"
}; };

View File

@ -819,6 +819,7 @@ INSERT INTO `variable` (`id`, `name`, `value`, `remark`) VALUES
/****************************** /******************************
** SQL修改從以下開始新增 ** ** SQL修改從以下開始新增 **
*******************************/ *******************************/
ALTER TABLE `device` ADD COLUMN `SerialNumber` VARCHAR(3) NULL DEFAULT NULL COMMENT '單一設備流水號' COLLATE 'utf8mb4_unicode_ci' AFTER `PowerStationId`;/* 設備流水號 - 2021/6/18 12:21:00 */

View File

@ -37,7 +37,7 @@ namespace SolarPower.Helper
var passwordStr = ed.DESDecrypt(dbConfig.Password); var passwordStr = ed.DESDecrypt(dbConfig.Password);
//var connStr = $"server={serverStr};database={databaseStr};user={rootStr};password={passwordStr};charset=utf8;"; //var connStr = $"server={serverStr};database={databaseStr};user={rootStr};password={passwordStr};charset=utf8;";
var connStr = @"server=127.0.0.1;database=solar_power;user=root;password=000000;charset=utf8;"; var connStr = @"server=127.0.0.1;port=3308;database=solar_power;user=root;password=00000000;charset=utf8;";
this._connectionString = connStr; this._connectionString = connStr;
} }

View File

@ -330,6 +330,7 @@ namespace SolarPower.Models.PowerStation
{ {
public string UID { get; set; }//設備編號 public string UID { get; set; }//設備編號
public int CreatedBy { get; set; }//建立者 public int CreatedBy { get; set; }//建立者
public string SerialNumber { get; set; }
} }
/// <summary> /// <summary>
///設備dataTable ///設備dataTable

View File

@ -786,5 +786,28 @@ namespace SolarPower.Repository.Implement
conn.Close(); conn.Close();
} }
} }
public async Task<string> GetFinalSerialNumber(int PowerStationId, string Type)
{
string Num;
using IDbConnection conn = _databaseHelper.GetConnection();
conn.Open();
var trans = conn.BeginTransaction();
try
{
var sql = "SELECT SerialNumber FROM device WHERE PowerStationId = @PowerStationId AND Type = @Type ORDER BY SerialNumber DESC";
Num = await conn.QueryFirstOrDefaultAsync<string>(sql, new { PowerStationId = PowerStationId, Type = Type });
trans.Commit();
}
catch (Exception exception)
{
trans.Rollback();
throw exception;
}
finally
{
conn.Close();
}
return Num;
}
} }
} }

View File

@ -181,5 +181,12 @@ namespace SolarPower.Repository.Interface
/// <param name="properties"></param> /// <param name="properties"></param>
/// <returns></returns> /// <returns></returns>
Task UpdateException(ExceptionModal Exception, List<string> properties); Task UpdateException(ExceptionModal Exception, List<string> properties);
/// <summary>
/// 取最後一個設備流水號
/// </summary>
/// <param name="PowerStationId"></param>
/// <param name="Type"></param>
/// <returns></returns>
Task<string> GetFinalSerialNumber(int PowerStationId, string Type);
} }
} }

View File

@ -1461,7 +1461,7 @@
toast_error(rel.msg); toast_error(rel.msg);
return; return;
} }
document.getElementById('Device_Type_modal').disabled = true;
$("#Device_Name_modal").val(rel.data.name); $("#Device_Name_modal").val(rel.data.name);
$("#Device_Type_modal").val(rel.data.type); $("#Device_Type_modal").val(rel.data.type);
$("#Device_Brand_modal").val(rel.data.brand); $("#Device_Brand_modal").val(rel.data.brand);

View File

@ -79,7 +79,7 @@
</div> </div>
<div class="form-group col-lg-6"> <div class="form-group col-lg-6">
<div style="margin-bottom: 0.3rem"> <div style="margin-bottom: 0.3rem">
<label class="form-label" for="Device_Remark_modal"><span class="text-danger">*</span>備註</label> <label class="form-label" for="Device_Remark_modal">備註</label>
<input type="text" id="Device_Remark_modal" name="Device_Remark_modal" class="form-control"> <input type="text" id="Device_Remark_modal" name="Device_Remark_modal" class="form-control">
</div> </div>
</div> </div>