@@ -1020,6 +1020,67 @@ | |||
</summary> | |||
<returns></returns> | |||
</member> | |||
<member name="P:SafeCampus.Application.Services.Business.DepartmentService.DepartmentDto.Id"> | |||
<summary> | |||
id | |||
</summary> | |||
</member> | |||
<member name="P:SafeCampus.Application.Services.Business.DepartmentService.DepartmentDto.Name"> | |||
<summary> | |||
院系名称 | |||
</summary> | |||
</member> | |||
<member name="P:SafeCampus.Application.Services.Business.DepartmentService.DepartmentDto.Code"> | |||
<summary> | |||
院系编码 | |||
</summary> | |||
</member> | |||
<member name="P:SafeCampus.Application.Services.Business.DepartmentService.DepartmentSearch.Name"> | |||
<summary> | |||
院系名称 | |||
</summary> | |||
</member> | |||
<member name="M:SafeCampus.Application.Services.Business.DepartmentService.IDepartmentService.Add(SafeCampus.Application.Services.Business.DepartmentService.DepartmentDto)"> | |||
<summary> | |||
添加 | |||
</summary> | |||
<param name="input">添加参数</param> | |||
<returns></returns> | |||
</member> | |||
<member name="M:SafeCampus.Application.Services.Business.DepartmentService.IDepartmentService.Update(SafeCampus.Application.Services.Business.DepartmentService.DepartmentDto)"> | |||
<summary> | |||
修改 | |||
</summary> | |||
<param name="input">添加参数</param> | |||
<returns></returns> | |||
</member> | |||
<member name="M:SafeCampus.Application.Services.Business.DepartmentService.IDepartmentService.GetInfo(System.Int64)"> | |||
<summary> | |||
获取详情 | |||
</summary> | |||
<param name="id"></param> | |||
<returns></returns> | |||
</member> | |||
<member name="M:SafeCampus.Application.Services.Business.DepartmentService.IDepartmentService.Delete(System.Collections.Generic.List{System.Int64})"> | |||
<summary> | |||
删除 | |||
</summary> | |||
<param name="id">id</param> | |||
<returns></returns> | |||
</member> | |||
<member name="M:SafeCampus.Application.Services.Business.DepartmentService.IDepartmentService.GetPageList(SafeCampus.Application.Services.Business.DepartmentService.DepartmentSearch)"> | |||
<summary> | |||
获取列表 | |||
</summary> | |||
<returns></returns> | |||
</member> | |||
<member name="M:SafeCampus.Application.Services.Business.DepartmentService.IDepartmentService.GetNoPageList(SafeCampus.Application.Services.Business.DepartmentService.DepartmentSearch)"> | |||
<summary> | |||
不分页获取列表 | |||
</summary> | |||
<param name="search"></param> | |||
<returns></returns> | |||
</member> | |||
<member name="P:SafeCampus.Application.Services.Business.DormitoryService.DormitoryInfoDto.Id"> | |||
<summary> | |||
ID | |||
@@ -1178,6 +1239,82 @@ | |||
<param name="search"></param> | |||
<returns></returns> | |||
</member> | |||
<member name="P:SafeCampus.Application.Services.Business.MajorService.MajorDto.Name"> | |||
<summary> | |||
专业名称 | |||
</summary> | |||
</member> | |||
<member name="P:SafeCampus.Application.Services.Business.MajorService.MajorDto.Code"> | |||
<summary> | |||
专业编码 | |||
</summary> | |||
</member> | |||
<member name="P:SafeCampus.Application.Services.Business.MajorService.MajorDto.Introduce"> | |||
<summary> | |||
专业简介 | |||
</summary> | |||
</member> | |||
<member name="P:SafeCampus.Application.Services.Business.MajorService.MajorDto.DepId"> | |||
<summary> | |||
院系id | |||
</summary> | |||
</member> | |||
<member name="P:SafeCampus.Application.Services.Business.MajorService.MajorSearch.Name"> | |||
<summary> | |||
专业名称 | |||
</summary> | |||
</member> | |||
<member name="P:SafeCampus.Application.Services.Business.MajorService.MajorSearch.Code"> | |||
<summary> | |||
专业编码 | |||
</summary> | |||
</member> | |||
<member name="P:SafeCampus.Application.Services.Business.MajorService.MajorSearch.DepId"> | |||
<summary> | |||
院系id | |||
</summary> | |||
</member> | |||
<member name="M:SafeCampus.Application.Services.Business.MajorService.IMajorService.Add(SafeCampus.Application.Services.Business.MajorService.MajorDto)"> | |||
<summary> | |||
添加 | |||
</summary> | |||
<param name="input">添加参数</param> | |||
<returns></returns> | |||
</member> | |||
<member name="M:SafeCampus.Application.Services.Business.MajorService.IMajorService.Update(SafeCampus.Application.Services.Business.MajorService.MajorDto)"> | |||
<summary> | |||
修改 | |||
</summary> | |||
<param name="input">添加参数</param> | |||
<returns></returns> | |||
</member> | |||
<member name="M:SafeCampus.Application.Services.Business.MajorService.IMajorService.GetInfo(System.Int64)"> | |||
<summary> | |||
获取详情 | |||
</summary> | |||
<param name="id"></param> | |||
<returns></returns> | |||
</member> | |||
<member name="M:SafeCampus.Application.Services.Business.MajorService.IMajorService.Delete(System.Collections.Generic.List{System.Int64})"> | |||
<summary> | |||
删除 | |||
</summary> | |||
<param name="id">id</param> | |||
<returns></returns> | |||
</member> | |||
<member name="M:SafeCampus.Application.Services.Business.MajorService.IMajorService.GetPageList(SafeCampus.Application.Services.Business.MajorService.MajorSearch)"> | |||
<summary> | |||
获取列表 | |||
</summary> | |||
<returns></returns> | |||
</member> | |||
<member name="M:SafeCampus.Application.Services.Business.MajorService.IMajorService.GetNoPageList(SafeCampus.Application.Services.Business.MajorService.MajorSearch)"> | |||
<summary> | |||
获取列表不分页 | |||
</summary> | |||
<param name="search"></param> | |||
<returns></returns> | |||
</member> | |||
<member name="P:SafeCampus.Application.Services.Business.PassengerFlowService.Dto.PassengerFlowDto.Id"> | |||
<summary> | |||
主键Id | |||
@@ -1460,6 +1597,11 @@ | |||
班级名称 | |||
</summary> | |||
</member> | |||
<member name="P:SafeCampus.Application.Services.Business.PersonSetInfoService.PersonSetInfoDto.MajorId"> | |||
<summary> | |||
专业id | |||
</summary> | |||
</member> | |||
<member name="M:SafeCampus.Application.Services.Business.PersonSetInfoService.IPersonSetInfoService.Add(SafeCampus.Application.Services.Business.PersonSetInfoService.PersonSetInfoDto)"> | |||
<summary> | |||
添加班级 | |||
@@ -1480,7 +1622,7 @@ | |||
<param name="input"></param> | |||
<returns></returns> | |||
</member> | |||
<member name="M:SafeCampus.Application.Services.Business.PersonSetInfoService.IPersonSetInfoService.GetPageList"> | |||
<member name="M:SafeCampus.Application.Services.Business.PersonSetInfoService.IPersonSetInfoService.GetPageList(System.Nullable{System.Int64})"> | |||
<summary> | |||
获取底库列表 | |||
</summary> | |||
@@ -0,0 +1,75 @@ | |||
namespace SafeCampus.Application.Services.Business.DepartmentService; | |||
public class DepartmentService: DbRepository<DepartmentInfo>, IDepartmentService | |||
{ | |||
public async Task<bool> Add(DepartmentDto input) | |||
{ | |||
var model = input.Adapt<DepartmentInfo>(); | |||
await InsertAsync(model); | |||
return true; | |||
} | |||
public async Task<bool> Update(DepartmentDto input) | |||
{ | |||
if (!input.Id.HasValue) | |||
{ | |||
throw Oops.Oh("请填写ID"); | |||
} | |||
var model = await GetFirstAsync(p => p.Id == input.Id); | |||
if (model == null) | |||
{ | |||
throw Oops.Oh("信息不存在"); | |||
} | |||
var res = input.Adapt(model); | |||
await UpdateAsync(res); | |||
return true; | |||
} | |||
public async Task<DepartmentDto> GetInfo(long id) | |||
{ | |||
var query = await Context.Queryable<DepartmentInfo>() | |||
.FirstAsync(x => x.Id == id); | |||
return query.Adapt<DepartmentDto>(); | |||
} | |||
public async Task<bool> Delete(List<long> id) | |||
{ | |||
var majorInfo = ChangeRepository<DbRepository<MajorInfo>>();//切换仓储 | |||
var model = await GetListAsync(x => id.Contains(x.Id)); | |||
if (!model.Any()) | |||
{ | |||
throw Oops.Oh("信息不存在"); | |||
} | |||
foreach (var departmentInfo in model) | |||
{ | |||
var isOK = await majorInfo.IsAnyAsync(x => x.DepId == departmentInfo.Id); | |||
if (isOK) | |||
{ | |||
throw Oops.Oh($"{departmentInfo.Name}院系下还有专业禁止删除!"); | |||
} | |||
} | |||
await DeleteAsync(model); | |||
return true; | |||
} | |||
public async Task<SqlSugarPagedList<DepartmentDto>> GetPageList(DepartmentSearch search) | |||
{ | |||
var query = Context.Queryable<DepartmentInfo>() | |||
.WhereIF(!string.IsNullOrEmpty(search.Name), x => x.Name.Contains(search.Name)); | |||
var list = await query.OrderByDescending(x => x.Code) | |||
.ToPagedListAsyncMapster<DepartmentInfo, DepartmentDto>(search.PageNum, search.PageSize); | |||
return list; | |||
} | |||
public async Task<List<DepartmentDto>> GetNoPageList(DepartmentSearch search) | |||
{ | |||
var query = Context.Queryable<DepartmentInfo>() | |||
.WhereIF(!string.IsNullOrEmpty(search.Name), x => x.Name.Contains(search.Name)); | |||
var list = await query.OrderByDescending(x => x.Code) | |||
.ToListAsync(); | |||
return list.Adapt<List<DepartmentDto>>(); | |||
} | |||
} |
@@ -0,0 +1,17 @@ | |||
namespace SafeCampus.Application.Services.Business.DepartmentService; | |||
public class DepartmentDto | |||
{ | |||
/// <summary> | |||
/// id | |||
/// </summary> | |||
public long? Id { get; set; } | |||
/// <summary> | |||
/// 院系名称 | |||
/// </summary> | |||
public string Name { get; set; } | |||
/// <summary> | |||
/// 院系编码 | |||
/// </summary> | |||
public string Code { get; set; } | |||
} |
@@ -0,0 +1,9 @@ | |||
namespace SafeCampus.Application.Services.Business.DepartmentService; | |||
public class DepartmentSearch: BasePageInput | |||
{ | |||
/// <summary> | |||
/// 院系名称 | |||
/// </summary> | |||
public string Name { get; set; } | |||
} |
@@ -0,0 +1,40 @@ | |||
namespace SafeCampus.Application.Services.Business.DepartmentService; | |||
public interface IDepartmentService : ITransient | |||
{ | |||
/// <summary> | |||
/// 添加 | |||
/// </summary> | |||
/// <param name="input">添加参数</param> | |||
/// <returns></returns> | |||
Task<bool> Add(DepartmentDto input); | |||
/// <summary> | |||
/// 修改 | |||
/// </summary> | |||
/// <param name="input">添加参数</param> | |||
/// <returns></returns> | |||
Task<bool> Update(DepartmentDto input); | |||
/// <summary> | |||
/// 获取详情 | |||
/// </summary> | |||
/// <param name="id"></param> | |||
/// <returns></returns> | |||
Task<DepartmentDto> GetInfo(long id); | |||
/// <summary> | |||
/// 删除 | |||
/// </summary> | |||
/// <param name="id">id</param> | |||
/// <returns></returns> | |||
Task<bool> Delete(List<long> id); | |||
/// <summary> | |||
/// 获取列表 | |||
/// </summary> | |||
/// <returns></returns> | |||
Task<SqlSugarPagedList<DepartmentDto>> GetPageList(DepartmentSearch search); | |||
/// <summary> | |||
/// 不分页获取列表 | |||
/// </summary> | |||
/// <param name="search"></param> | |||
/// <returns></returns> | |||
Task<List<DepartmentDto>> GetNoPageList(DepartmentSearch search); | |||
} |
@@ -0,0 +1,35 @@ | |||
using SafeCampus.Application.Services.Business.DepartmentService; | |||
namespace SafeCampus.Application.Services.Business.MajorService; | |||
public class MajorDto | |||
{ | |||
public long? Id { get; set; } | |||
/// <summary> | |||
/// 专业名称 | |||
/// </summary> | |||
public string Name { get; set; } | |||
/// <summary> | |||
/// 专业编码 | |||
/// </summary> | |||
public string Code { get; set; } | |||
/// <summary> | |||
/// 专业简介 | |||
/// </summary> | |||
public string Introduce { get; set; } | |||
/// <summary> | |||
/// 院系id | |||
/// </summary> | |||
public long DepId { get; set; } | |||
public string DepartmentName { get; set; } | |||
} | |||
public class MajorDtoMapper : IRegister | |||
{ | |||
public void Register(TypeAdapterConfig config) | |||
{ | |||
config.ForType<MajorInfo, MajorDto>() | |||
.Map(x => x.DepartmentName, x => x.DepartmentInfoItem.Name); | |||
} | |||
} |
@@ -0,0 +1,17 @@ | |||
namespace SafeCampus.Application.Services.Business.MajorService; | |||
public class MajorSearch:BasePageInput | |||
{ | |||
/// <summary> | |||
/// 专业名称 | |||
/// </summary> | |||
public string Name { get; set; } | |||
/// <summary> | |||
/// 专业编码 | |||
/// </summary> | |||
public string Code { get; set; } | |||
/// <summary> | |||
/// 院系id | |||
/// </summary> | |||
public long? DepId { get; set; } | |||
} |
@@ -0,0 +1,40 @@ | |||
namespace SafeCampus.Application.Services.Business.MajorService; | |||
public interface IMajorService : ITransient | |||
{ | |||
/// <summary> | |||
/// 添加 | |||
/// </summary> | |||
/// <param name="input">添加参数</param> | |||
/// <returns></returns> | |||
Task<bool> Add(MajorDto input); | |||
/// <summary> | |||
/// 修改 | |||
/// </summary> | |||
/// <param name="input">添加参数</param> | |||
/// <returns></returns> | |||
Task<bool> Update(MajorDto input); | |||
/// <summary> | |||
/// 获取详情 | |||
/// </summary> | |||
/// <param name="id"></param> | |||
/// <returns></returns> | |||
Task<MajorDto> GetInfo(long id); | |||
/// <summary> | |||
/// 删除 | |||
/// </summary> | |||
/// <param name="id">id</param> | |||
/// <returns></returns> | |||
Task<bool> Delete(List<long> id); | |||
/// <summary> | |||
/// 获取列表 | |||
/// </summary> | |||
/// <returns></returns> | |||
Task<SqlSugarPagedList<MajorDto>> GetPageList(MajorSearch search); | |||
/// <summary> | |||
/// 获取列表不分页 | |||
/// </summary> | |||
/// <param name="search"></param> | |||
/// <returns></returns> | |||
Task<List<MajorDto>> GetNoPageList(MajorSearch search); | |||
} |
@@ -0,0 +1,80 @@ | |||
namespace SafeCampus.Application.Services.Business.MajorService; | |||
public class MajorService: DbRepository<MajorInfo>, IMajorService | |||
{ | |||
public async Task<bool> Add(MajorDto input) | |||
{ | |||
var model = input.Adapt<MajorInfo>(); | |||
await InsertAsync(model); | |||
return true; | |||
} | |||
public async Task<bool> Update(MajorDto input) | |||
{ | |||
if (!input.Id.HasValue) | |||
{ | |||
throw Oops.Oh("请填写ID"); | |||
} | |||
var model = await GetFirstAsync(p => p.Id == input.Id); | |||
if (model == null) | |||
{ | |||
throw Oops.Oh("信息不存在"); | |||
} | |||
var res = input.Adapt(model); | |||
await UpdateAsync(res); | |||
return true; | |||
} | |||
public async Task<MajorDto> GetInfo(long id) | |||
{ | |||
var query = await Context.Queryable<MajorInfo>() | |||
.Includes(x => x.DepartmentInfoItem) | |||
.FirstAsync(x => x.Id == id); | |||
return query.Adapt<MajorDto>(); | |||
} | |||
public async Task<bool> Delete(List<long> id) | |||
{ | |||
var personSetInfo = ChangeRepository<DbRepository<PersonSetInfo>>();//切换仓储 | |||
var model = await GetListAsync(x => id.Contains(x.Id)); | |||
if (!model.Any()) | |||
{ | |||
throw Oops.Oh("信息不存在"); | |||
} | |||
foreach (var majorInfo in model) | |||
{ | |||
var isOK = await personSetInfo.IsAnyAsync(x => x.MajorId == majorInfo.Id); | |||
if (isOK) | |||
{ | |||
throw Oops.Oh($"{majorInfo.Name}专业下还有班级禁止删除!"); | |||
} | |||
} | |||
await DeleteAsync(model); | |||
return true; | |||
} | |||
public async Task<SqlSugarPagedList<MajorDto>> GetPageList(MajorSearch search) | |||
{ | |||
var query = Context.Queryable<MajorInfo>() | |||
.Includes(x=>x.DepartmentInfoItem) | |||
.WhereIF(!string.IsNullOrEmpty(search.Name), x => x.Name.Contains(search.Name)) | |||
.WhereIF(!string.IsNullOrEmpty(search.Code),x=>x.Code.Contains(search.Code)) | |||
.WhereIF(search.DepId.HasValue,x=>x.DepId==search.DepId); | |||
var list = await query.OrderByDescending(x => x.Sort) | |||
.ToPagedListAsyncMapster<MajorInfo, MajorDto>(search.PageNum, search.PageSize); | |||
return list; | |||
} | |||
public async Task<List<MajorDto>> GetNoPageList(MajorSearch search) | |||
{ | |||
var query = Context.Queryable<MajorInfo>() | |||
.Includes(x => x.DepartmentInfoItem) | |||
.WhereIF(!string.IsNullOrEmpty(search.Name), x => x.Name.Contains(search.Name)) | |||
.WhereIF(!string.IsNullOrEmpty(search.Code), x => x.Code.Contains(search.Code)) | |||
.WhereIF(search.DepId.HasValue, x => x.DepId == search.DepId); | |||
var list = await query.OrderByDescending(x => x.Sort).ToListAsync(); | |||
return list.Adapt<List<MajorDto>>(); | |||
} | |||
} |
@@ -10,9 +10,15 @@ public class PersonSetInfoDto | |||
/// 班级名称 | |||
/// </summary> | |||
public string PersonSetName { get; set; } | |||
/// <summary> | |||
/// 专业id | |||
/// </summary> | |||
public long MajorId { get; set; } | |||
public string UserId { get; set; } | |||
public string UserName { get; set; } | |||
public string MajorName { get; set; } | |||
public string DepartmentName { get; set; } | |||
} | |||
public class PersonSetInfoDtoMapper : IRegister | |||
@@ -21,6 +27,8 @@ public class PersonSetInfoDtoMapper : IRegister | |||
{ | |||
config.ForType<PersonSetInfo, PersonSetInfoDto>() | |||
.Map(x => x.UserId, x => x.ClassTeacherItem.UserId) | |||
.Map(x => x.UserName, x => x.ClassTeacherItem.SysUserItem.Name); | |||
.Map(x => x.UserName, x => x.ClassTeacherItem.SysUserItem.Name) | |||
.Map(x=>x.DepartmentName,x=>x.MajorInfoItem.DepartmentInfoItem.Name) | |||
.Map(x=>x.MajorName,x=>x.MajorInfoItem.Name); | |||
} | |||
} |
@@ -23,5 +23,5 @@ public interface IPersonSetInfoService:ITransient | |||
/// 获取底库列表 | |||
/// </summary> | |||
/// <returns></returns> | |||
Task<List<PersonSetInfoDto>> GetPageList(); | |||
Task<List<PersonSetInfoDto>> GetPageList(long? majorId); | |||
} |
@@ -38,10 +38,12 @@ public class PersonSetInfoService:DbRepository<PersonSetInfo>, IPersonSetInfoSer | |||
return true; | |||
} | |||
public async Task<List<PersonSetInfoDto>> GetPageList() | |||
public async Task<List<PersonSetInfoDto>> GetPageList(long? majorId) | |||
{ | |||
var list =await Context.Queryable<PersonSetInfo>() | |||
.Includes(x=>x.MajorInfoItem,x=>x.DepartmentInfoItem) | |||
.Where(x=>x.PersonSetId!=SafeCampusConst.ZDRY) | |||
.WhereIF(majorId.HasValue,x=>x.MajorId==majorId) | |||
.Includes(x => x.ClassTeacherItem, st => st.SysUserItem) | |||
.ToListAsync(); | |||
return list.Adapt<List<PersonSetInfoDto>>(); | |||
@@ -0,0 +1,20 @@ | |||
namespace SafeCampus.System; | |||
[SugarTable("DepartmentInfo", TableDescription = "院系信息表")] | |||
[Tenant(SqlSugarConst.DB_DEFAULT)] | |||
[BatchEdit] | |||
[CodeGen] | |||
//[IgnoreInitTable] | |||
public class DepartmentInfo : PrimaryKeyEntity | |||
{ | |||
/// <summary> | |||
/// 院系名称 | |||
/// </summary> | |||
[SugarColumn(ColumnName = "Name", ColumnDescription = "院系名称", ColumnDataType = StaticConfig.CodeFirst_BigString, IsNullable = false)] | |||
public string Name { get; set; } | |||
/// <summary> | |||
/// 院系编码 | |||
/// </summary> | |||
[SugarColumn(ColumnName = "Code", ColumnDescription = "院系编码", ColumnDataType = StaticConfig.CodeFirst_BigString, IsNullable = false)] | |||
public string Code { get; set; } | |||
} |
@@ -0,0 +1,39 @@ | |||
namespace SafeCampus.System; | |||
[SugarTable("MajorInfo", TableDescription = "专业信息表")] | |||
[Tenant(SqlSugarConst.DB_DEFAULT)] | |||
[BatchEdit] | |||
[CodeGen] | |||
//[IgnoreInitTable] | |||
public class MajorInfo : PrimaryKeyEntity | |||
{ | |||
/// <summary> | |||
/// 专业名称 | |||
/// </summary> | |||
[SugarColumn(ColumnName = "Name", ColumnDescription = "专业名称", ColumnDataType = StaticConfig.CodeFirst_BigString, IsNullable = false)] | |||
public string Name { get; set; } | |||
/// <summary> | |||
/// 专业编码 | |||
/// </summary> | |||
[SugarColumn(ColumnName = "Code", ColumnDescription = "专业编码", ColumnDataType = StaticConfig.CodeFirst_BigString, IsNullable = false)] | |||
public string Code { get; set; } | |||
/// <summary> | |||
/// 专业简介 | |||
/// </summary> | |||
[SugarColumn(ColumnName = "Introduce", ColumnDescription = "专业简介", ColumnDataType = StaticConfig.CodeFirst_BigString, IsNullable = true)] | |||
public string Introduce { get; set; } | |||
/// <summary> | |||
/// 院系id | |||
/// </summary> | |||
[SugarColumn(ColumnName = "DepId", ColumnDescription = "院系id",IsNullable = false)] | |||
public long DepId { get; set; } | |||
/// <summary> | |||
/// 排序 | |||
/// </summary> | |||
[SugarColumn(ColumnName = "Sort", ColumnDescription = "排序", IsNullable = false)] | |||
public int Sort { get; set; } | |||
/// <summary> | |||
/// 院系信息 | |||
/// </summary> | |||
[Navigate(NavigateType.OneToOne, nameof(DepartmentInfo.Id), nameof(DepId))] | |||
public DepartmentInfo DepartmentInfoItem { get; set; } | |||
} |
@@ -3,7 +3,7 @@ | |||
[Tenant(SqlSugarConst.DB_DEFAULT)] | |||
[BatchEdit] | |||
[CodeGen] | |||
[IgnoreInitTable] | |||
//[IgnoreInitTable] | |||
public class PersonSetInfo | |||
{ | |||
/// <summary> | |||
@@ -17,6 +17,16 @@ public class PersonSetInfo | |||
[SugarColumn(ColumnName = "PersonSetName", ColumnDescription = "班级名称", ColumnDataType = StaticConfig.CodeFirst_BigString, IsNullable = false)] | |||
public string PersonSetName { get; set; } | |||
/// <summary> | |||
/// 专业id | |||
/// </summary> | |||
[SugarColumn(ColumnName = "MajorId", ColumnDescription = "专业id", IsNullable = false)] | |||
public long MajorId { get; set; } | |||
/// <summary> | |||
/// 专业信息 | |||
/// </summary> | |||
[Navigate(NavigateType.OneToOne, nameof(MajorInfo.Id), nameof(MajorId))] | |||
public MajorInfo MajorInfoItem { get; set; } | |||
/// <summary> | |||
/// 班主任信息 | |||
/// </summary> | |||
[Navigate(NavigateType.OneToOne, nameof(ClassTeacher.PersonSetId),nameof(PersonSetId))] | |||
@@ -37,8 +37,6 @@ public class SysDict : BaseEntity | |||
///</summary> | |||
[SugarColumn(ColumnName = "SortCode", ColumnDescription = "排序码")] | |||
public int SortCode { get; set; } | |||
/// <summary> | |||
/// 子节点 | |||
/// </summary> | |||
@@ -1071,6 +1071,16 @@ | |||
班主任信息 | |||
</summary> | |||
</member> | |||
<member name="P:SafeCampus.System.DepartmentInfo.Name"> | |||
<summary> | |||
院系名称 | |||
</summary> | |||
</member> | |||
<member name="P:SafeCampus.System.DepartmentInfo.Code"> | |||
<summary> | |||
院系编码 | |||
</summary> | |||
</member> | |||
<member name="P:SafeCampus.System.DormitoryInfo.Name"> | |||
<summary> | |||
寝室名称 | |||
@@ -1101,6 +1111,36 @@ | |||
宿舍楼信息 | |||
</summary> | |||
</member> | |||
<member name="P:SafeCampus.System.MajorInfo.Name"> | |||
<summary> | |||
专业名称 | |||
</summary> | |||
</member> | |||
<member name="P:SafeCampus.System.MajorInfo.Code"> | |||
<summary> | |||
专业编码 | |||
</summary> | |||
</member> | |||
<member name="P:SafeCampus.System.MajorInfo.Introduce"> | |||
<summary> | |||
专业简介 | |||
</summary> | |||
</member> | |||
<member name="P:SafeCampus.System.MajorInfo.DepId"> | |||
<summary> | |||
院系id | |||
</summary> | |||
</member> | |||
<member name="P:SafeCampus.System.MajorInfo.Sort"> | |||
<summary> | |||
排序 | |||
</summary> | |||
</member> | |||
<member name="P:SafeCampus.System.MajorInfo.DepartmentInfoItem"> | |||
<summary> | |||
院系信息 | |||
</summary> | |||
</member> | |||
<member name="P:SafeCampus.System.PassengerFlow.QueryTime"> | |||
<summary> | |||
查询时间 | |||
@@ -1241,6 +1281,16 @@ | |||
班级名称 | |||
</summary> | |||
</member> | |||
<member name="P:SafeCampus.System.PersonSetInfo.MajorId"> | |||
<summary> | |||
专业id | |||
</summary> | |||
</member> | |||
<member name="P:SafeCampus.System.PersonSetInfo.MajorInfoItem"> | |||
<summary> | |||
专业信息 | |||
</summary> | |||
</member> | |||
<member name="P:SafeCampus.System.PersonSetInfo.ClassTeacherItem"> | |||
<summary> | |||
班主任信息 | |||
@@ -1,14 +1,4 @@ | |||
| |||
// | |||
using Microsoft.AspNetCore.Authentication.JwtBearer; | |||
using Microsoft.AspNetCore.Authentication.JwtBearer; | |||
namespace SafeCampus.Web.Core; | |||
@@ -1,14 +1,4 @@ | |||
| |||
// | |||
namespace SafeCampus.Web.Core; | |||
namespace SafeCampus.Web.Core; | |||
/// <summary> | |||
/// Web设置组件 | |||
@@ -0,0 +1,78 @@ | |||
| |||
using SafeCampus.Application.Services.Business.DepartmentService; | |||
namespace SafeCampus.Web.Core.Controllers.Application.Business; | |||
/// <summary> | |||
///系部管理接口 | |||
/// </summary> | |||
[ApiDescriptionSettings(ApiGroupConsts.SYSTEM_Business, Order = 83, Tag = "系部管理")] | |||
[Route("/business/department")] | |||
[RolePermission] | |||
public class DepartmentController | |||
{ | |||
private readonly IDepartmentService _departmentService; | |||
public DepartmentController(IDepartmentService departmentService) | |||
{ | |||
_departmentService = departmentService; | |||
} | |||
/// <summary> | |||
/// 添加 | |||
/// </summary> | |||
/// <param name="input">添加参数</param> | |||
/// <returns></returns> | |||
public async Task<bool> Add(DepartmentDto input) | |||
{ | |||
return await _departmentService.Add(input); | |||
} | |||
/// <summary> | |||
/// 修改 | |||
/// </summary> | |||
/// <param name="input">添加参数</param> | |||
/// <returns></returns> | |||
public async Task<bool> Update(DepartmentDto input) | |||
{ | |||
return await _departmentService.Update(input); | |||
} | |||
/// <summary> | |||
/// 获取详情 | |||
/// </summary> | |||
/// <param name="id"></param> | |||
/// <returns></returns> | |||
public async Task<DepartmentDto> GetInfo(long id) | |||
{ | |||
return await _departmentService.GetInfo(id); | |||
} | |||
/// <summary> | |||
/// 删除 | |||
/// </summary> | |||
/// <param name="id">id</param> | |||
/// <returns></returns> | |||
public async Task<bool> Delete(List<long> id) | |||
{ | |||
return await _departmentService.Delete(id); | |||
} | |||
/// <summary> | |||
/// 获取列表 | |||
/// </summary> | |||
/// <returns></returns> | |||
public async Task<SqlSugarPagedList<DepartmentDto>> GetPageList(DepartmentSearch search) | |||
{ | |||
return await _departmentService.GetPageList(search); | |||
} | |||
/// <summary> | |||
/// 不分页获取列表 | |||
/// </summary> | |||
/// <param name="search"></param> | |||
/// <returns></returns> | |||
public async Task<List<DepartmentDto>> GetNoPageList(DepartmentSearch search) | |||
{ | |||
return await _departmentService.GetNoPageList(search); | |||
} | |||
} |
@@ -45,7 +45,7 @@ public class DfieldApi : IDynamicApiController | |||
var model = JsonConvert.DeserializeObject<JObject>(str); | |||
if ((bool)model["success"]) | |||
{ | |||
await _personSetInfoService.Add(new PersonSetInfoDto{PersonSetId = personSetId ,PersonSetName = input.Name}); | |||
await _personSetInfoService.Add(new PersonSetInfoDto{PersonSetId = personSetId ,PersonSetName = input.Name,MajorId = input.MagjorId}); | |||
return model["data"]; | |||
} | |||
@@ -55,9 +55,9 @@ public class DfieldApi : IDynamicApiController | |||
/// 查询底库列表 | |||
/// </summary> | |||
/// <returns></returns> | |||
public async Task<dynamic> QueryAll() | |||
public async Task<dynamic> QueryAll(long? majorId) | |||
{ | |||
return await _personSetInfoService.GetPageList(); | |||
return await _personSetInfoService.GetPageList(majorId); | |||
var appSettings = App.GetOptionsMonitor<AppInfoOptions>(); | |||
var str = await $"{appSettings.SXAPIURL}/dfield-api/ecology/person/set/queryAll" | |||
.SetBody(new | |||
@@ -151,7 +151,8 @@ public class DfieldApi : IDynamicApiController | |||
await _personSetInfoService.Update(new PersonSetInfoDto | |||
{ | |||
PersonSetId = input.Id, | |||
PersonSetName = input.Name | |||
PersonSetName = input.Name, | |||
MajorId = input.MagjorId | |||
}); | |||
} | |||
return isOk; | |||
@@ -112,7 +112,7 @@ public class DormitoryController | |||
public async Task<ReturnDormitoryDto> GetReturnInfo(long id,DateTime returnTime) | |||
{ | |||
var model= await _dormitoryService.GetReturnInfo(id, returnTime); | |||
model.AttendanceDtos = model.AttendanceDtos?.GroupBy(x => x.PersonId).Select(x => x.FirstOrDefault()).ToList(); | |||
model.AttendanceDtos = model.AttendanceDtos?.GroupBy(x => x.PersonId).Select(x => x.MaxBy(xx=>xx.Tick)).ToList(); | |||
foreach (var modelPersonInfo in model.PersonInfos) | |||
{ | |||
modelPersonInfo.Attendances = null; | |||
@@ -145,7 +145,7 @@ public class DormitoryController | |||
configId = queryList["data"][0]["configId"].ParseToInt(); | |||
} | |||
var time = new { timeBegin = input.TimeBegin, timeEnd = input.TimeEnd }; | |||
var personSetIds = await _personSetInfoService.GetPageList(); | |||
var personSetIds = await _personSetInfoService.GetPageList(null); | |||
var cameras = await _cameraInfoService.GetPageList(new CameraSearch{PageSize = 1000,PageNum = 1}); | |||
var body = new | |||
{ | |||
@@ -10,6 +10,10 @@ public class ControllersNameInput | |||
{ | |||
[IdNotNull(ErrorMessage = "name不能为空")] | |||
public string Name { get; set; } | |||
/// <summary> | |||
/// 专业id | |||
/// </summary> | |||
public long MagjorId { get; set; } | |||
} | |||
public class ControllersIdInput | |||
{ | |||
@@ -0,0 +1,77 @@ | |||
using SafeCampus.Application.Services.Business.MajorService; | |||
namespace SafeCampus.Web.Core.Controllers.Application.Business; | |||
/// <summary> | |||
///专业管理接口 | |||
/// </summary> | |||
[ApiDescriptionSettings(ApiGroupConsts.SYSTEM_Business, Order = 82, Tag = "专业管理")] | |||
[Route("/business/major")] | |||
[RolePermission] | |||
public class MajorController | |||
{ | |||
private readonly IMajorService _majorService; | |||
public MajorController(IMajorService majorService) | |||
{ | |||
_majorService = majorService; | |||
} | |||
/// <summary> | |||
/// 添加 | |||
/// </summary> | |||
/// <param name="input">添加参数</param> | |||
/// <returns></returns> | |||
public async Task<bool> Add(MajorDto input) | |||
{ | |||
return await _majorService.Add(input); | |||
} | |||
/// <summary> | |||
/// 修改 | |||
/// </summary> | |||
/// <param name="input">添加参数</param> | |||
/// <returns></returns> | |||
public async Task<bool> Update(MajorDto input) | |||
{ | |||
return await _majorService.Update(input); | |||
} | |||
/// <summary> | |||
/// 获取详情 | |||
/// </summary> | |||
/// <param name="id"></param> | |||
/// <returns></returns> | |||
public async Task<MajorDto> GetInfo(long id) | |||
{ | |||
return await _majorService.GetInfo(id); | |||
} | |||
/// <summary> | |||
/// 删除 | |||
/// </summary> | |||
/// <param name="id">id</param> | |||
/// <returns></returns> | |||
public async Task<bool> Delete(List<long> id) | |||
{ | |||
return await _majorService.Delete(id); | |||
} | |||
/// <summary> | |||
/// 获取列表 | |||
/// </summary> | |||
/// <returns></returns> | |||
public async Task<SqlSugarPagedList<MajorDto>> GetPageList(MajorSearch search) | |||
{ | |||
return await _majorService.GetPageList(search); | |||
} | |||
/// <summary> | |||
/// 获取列表不分页 | |||
/// </summary> | |||
/// <param name="search"></param> | |||
/// <returns></returns> | |||
public async Task<List<MajorDto>> GetNoPageList(MajorSearch search) | |||
{ | |||
return await _majorService.GetNoPageList(search); | |||
} | |||
} |
@@ -13,6 +13,8 @@ using SafeCampus.Web.Core.Controllers.Application.Business; | |||
using MoYu.RemoteRequest.Extensions; | |||
using Newtonsoft.Json.Linq; | |||
using SafeCampus.Application.Manager.DeepelephManager; | |||
using SafeCampus.Application.Services.Business.DepartmentService; | |||
using SafeCampus.Application.Services.Business.MajorService; | |||
using SafeCampus.Application.Services.Business.PersonSetInfoService; | |||
namespace SafeCampus.Web.Core.Controllers.Application.LargeScreen; | |||
@@ -37,9 +39,11 @@ public class LargeScreenController | |||
private readonly IClassRoomCallService _classRoomCallService; | |||
private readonly IDeepelephManager _deepelephManager; | |||
private readonly IPersonSetInfoService _personSetInfoService; | |||
private readonly IMajorService _majorService; | |||
private readonly IDepartmentService _departmentService; | |||
public LargeScreenController(IPersonInfoService personInfoService, ICameraGroupService cameraGroupService, IWarnInfoService warnInfoService, ISimpleCacheService simpleCacheService, IAttendanceService attendanceService, IBuildingService buildingService, IDormitoryService dormitoryService, IConfigService configService, IClassRoomCallTaskService classRoomCallTaskService, IClassRoomCallService classRoomCallService, IDeepelephManager deepelephManager, IPersonSetInfoService personSetInfoService) | |||
public LargeScreenController(IPersonInfoService personInfoService, ICameraGroupService cameraGroupService, IWarnInfoService warnInfoService, ISimpleCacheService simpleCacheService, IAttendanceService attendanceService, IBuildingService buildingService, IDormitoryService dormitoryService, IConfigService configService, IClassRoomCallTaskService classRoomCallTaskService, IClassRoomCallService classRoomCallService, IDeepelephManager deepelephManager, IPersonSetInfoService personSetInfoService, IMajorService majorService, IDepartmentService departmentService) | |||
{ | |||
_personInfoService = personInfoService; | |||
_cameraGroupService = cameraGroupService; | |||
@@ -53,6 +57,8 @@ public class LargeScreenController | |||
_classRoomCallService = classRoomCallService; | |||
_deepelephManager = deepelephManager; | |||
_personSetInfoService = personSetInfoService; | |||
_majorService = majorService; | |||
_departmentService = departmentService; | |||
} | |||
/// <summary> | |||
@@ -302,8 +308,25 @@ public class LargeScreenController | |||
/// 获取班级列表 | |||
/// </summary> | |||
/// <returns></returns> | |||
public async Task<dynamic> GetPersonSetNoPageList() | |||
public async Task<dynamic> GetPersonSetNoPageList(long? majorId) | |||
{ | |||
return await _personSetInfoService.GetPageList(); | |||
return await _personSetInfoService.GetPageList(majorId); | |||
} | |||
/// <summary> | |||
/// 获取专业 | |||
/// </summary> | |||
/// <param name="depId">院系id</param> | |||
/// <returns></returns> | |||
public async Task<dynamic> GetMajorNoPageList(long? depId) | |||
{ | |||
return await _majorService.GetNoPageList(new MajorSearch{DepId = depId}); | |||
} | |||
/// <summary> | |||
/// 获取院系 | |||
/// </summary> | |||
/// <returns></returns> | |||
public async Task<dynamic> GetDepartment() | |||
{ | |||
return await _departmentService.GetNoPageList(new DepartmentSearch()); | |||
} | |||
} |
@@ -385,6 +385,52 @@ | |||
</summary> | |||
<returns></returns> | |||
</member> | |||
<member name="T:SafeCampus.Web.Core.Controllers.Application.Business.DepartmentController"> | |||
<summary> | |||
系部管理接口 | |||
</summary> | |||
</member> | |||
<member name="M:SafeCampus.Web.Core.Controllers.Application.Business.DepartmentController.Add(SafeCampus.Application.Services.Business.DepartmentService.DepartmentDto)"> | |||
<summary> | |||
添加 | |||
</summary> | |||
<param name="input">添加参数</param> | |||
<returns></returns> | |||
</member> | |||
<member name="M:SafeCampus.Web.Core.Controllers.Application.Business.DepartmentController.Update(SafeCampus.Application.Services.Business.DepartmentService.DepartmentDto)"> | |||
<summary> | |||
修改 | |||
</summary> | |||
<param name="input">添加参数</param> | |||
<returns></returns> | |||
</member> | |||
<member name="M:SafeCampus.Web.Core.Controllers.Application.Business.DepartmentController.GetInfo(System.Int64)"> | |||
<summary> | |||
获取详情 | |||
</summary> | |||
<param name="id"></param> | |||
<returns></returns> | |||
</member> | |||
<member name="M:SafeCampus.Web.Core.Controllers.Application.Business.DepartmentController.Delete(System.Collections.Generic.List{System.Int64})"> | |||
<summary> | |||
删除 | |||
</summary> | |||
<param name="id">id</param> | |||
<returns></returns> | |||
</member> | |||
<member name="M:SafeCampus.Web.Core.Controllers.Application.Business.DepartmentController.GetPageList(SafeCampus.Application.Services.Business.DepartmentService.DepartmentSearch)"> | |||
<summary> | |||
获取列表 | |||
</summary> | |||
<returns></returns> | |||
</member> | |||
<member name="M:SafeCampus.Web.Core.Controllers.Application.Business.DepartmentController.GetNoPageList(SafeCampus.Application.Services.Business.DepartmentService.DepartmentSearch)"> | |||
<summary> | |||
不分页获取列表 | |||
</summary> | |||
<param name="search"></param> | |||
<returns></returns> | |||
</member> | |||
<member name="T:SafeCampus.Web.Core.Controllers.Application.Business.DeviceApi"> | |||
<summary> | |||
设备管理接口 | |||
@@ -470,7 +516,7 @@ | |||
</summary> | |||
<returns></returns> | |||
</member> | |||
<member name="M:SafeCampus.Web.Core.Controllers.Application.Business.DfieldApi.QueryAll"> | |||
<member name="M:SafeCampus.Web.Core.Controllers.Application.Business.DfieldApi.QueryAll(System.Nullable{System.Int64})"> | |||
<summary> | |||
查询底库列表 | |||
</summary> | |||
@@ -791,6 +837,11 @@ | |||
结束时间 | |||
</summary> | |||
</member> | |||
<member name="P:SafeCampus.Web.Core.Controllers.Application.Business.ControllersNameInput.MagjorId"> | |||
<summary> | |||
专业id | |||
</summary> | |||
</member> | |||
<member name="P:SafeCampus.Web.Core.Controllers.Application.Business.PersonUnBindDfieInput.PersonId"> | |||
<summary> | |||
人员id | |||
@@ -882,6 +933,52 @@ | |||
<param name="info">删除信息</param> | |||
<returns></returns> | |||
</member> | |||
<member name="T:SafeCampus.Web.Core.Controllers.Application.Business.MajorController"> | |||
<summary> | |||
专业管理接口 | |||
</summary> | |||
</member> | |||
<member name="M:SafeCampus.Web.Core.Controllers.Application.Business.MajorController.Add(SafeCampus.Application.Services.Business.MajorService.MajorDto)"> | |||
<summary> | |||
添加 | |||
</summary> | |||
<param name="input">添加参数</param> | |||
<returns></returns> | |||
</member> | |||
<member name="M:SafeCampus.Web.Core.Controllers.Application.Business.MajorController.Update(SafeCampus.Application.Services.Business.MajorService.MajorDto)"> | |||
<summary> | |||
修改 | |||
</summary> | |||
<param name="input">添加参数</param> | |||
<returns></returns> | |||
</member> | |||
<member name="M:SafeCampus.Web.Core.Controllers.Application.Business.MajorController.GetInfo(System.Int64)"> | |||
<summary> | |||
获取详情 | |||
</summary> | |||
<param name="id"></param> | |||
<returns></returns> | |||
</member> | |||
<member name="M:SafeCampus.Web.Core.Controllers.Application.Business.MajorController.Delete(System.Collections.Generic.List{System.Int64})"> | |||
<summary> | |||
删除 | |||
</summary> | |||
<param name="id">id</param> | |||
<returns></returns> | |||
</member> | |||
<member name="M:SafeCampus.Web.Core.Controllers.Application.Business.MajorController.GetPageList(SafeCampus.Application.Services.Business.MajorService.MajorSearch)"> | |||
<summary> | |||
获取列表 | |||
</summary> | |||
<returns></returns> | |||
</member> | |||
<member name="M:SafeCampus.Web.Core.Controllers.Application.Business.MajorController.GetNoPageList(SafeCampus.Application.Services.Business.MajorService.MajorSearch)"> | |||
<summary> | |||
获取列表不分页 | |||
</summary> | |||
<param name="search"></param> | |||
<returns></returns> | |||
</member> | |||
<member name="T:SafeCampus.Web.Core.Controllers.Application.Business.PassengerFlowApi"> | |||
<summary> | |||
客流查询接口 | |||
@@ -1128,12 +1225,25 @@ | |||
</summary> | |||
<returns></returns> | |||
</member> | |||
<member name="M:SafeCampus.Web.Core.Controllers.Application.LargeScreen.LargeScreenController.GetPersonSetNoPageList"> | |||
<member name="M:SafeCampus.Web.Core.Controllers.Application.LargeScreen.LargeScreenController.GetPersonSetNoPageList(System.Nullable{System.Int64})"> | |||
<summary> | |||
获取班级列表 | |||
</summary> | |||
<returns></returns> | |||
</member> | |||
<member name="M:SafeCampus.Web.Core.Controllers.Application.LargeScreen.LargeScreenController.GetMajorNoPageList(System.Nullable{System.Int64})"> | |||
<summary> | |||
获取专业 | |||
</summary> | |||
<param name="depId">院系id</param> | |||
<returns></returns> | |||
</member> | |||
<member name="M:SafeCampus.Web.Core.Controllers.Application.LargeScreen.LargeScreenController.GetDepartment"> | |||
<summary> | |||
获取院系 | |||
</summary> | |||
<returns></returns> | |||
</member> | |||
<member name="P:SafeCampus.Web.Core.Controllers.Application.Violation.ReportExportInput.GroupCode"> | |||
<summary> | |||
场景code | |||
@@ -5,7 +5,7 @@ https://go.microsoft.com/fwlink/?LinkID=208121. | |||
<Project> | |||
<PropertyGroup> | |||
<_PublishTargetUrl>F:\Project\QJKJ\SafeCampus\SafeCampus.API\SafeCampus.Web.Entry\bin\Release\net6.0\publish\</_PublishTargetUrl> | |||
<History>True|2024-08-12T03:27:42.2864171Z;True|2024-08-09T14:54:42.9062124+08:00;True|2024-08-09T11:49:01.0339449+08:00;True|2024-08-09T11:43:21.9947939+08:00;True|2024-08-09T10:43:25.7641675+08:00;True|2024-08-08T15:23:17.0510180+08:00;True|2024-08-08T15:20:50.3450876+08:00;True|2024-08-08T11:06:43.0783261+08:00;True|2024-08-07T17:24:03.0780935+08:00;True|2024-08-07T17:20:50.6266614+08:00;True|2024-08-07T17:18:15.6367265+08:00;True|2024-08-06T17:31:40.3452266+08:00;True|2024-07-31T16:54:03.1890463+08:00;True|2024-07-30T17:11:33.2514194+08:00;True|2024-07-30T17:08:14.5888060+08:00;True|2024-07-30T09:56:08.6349163+08:00;True|2024-07-30T09:50:02.2368269+08:00;True|2024-07-29T16:20:12.3202393+08:00;True|2024-07-29T16:16:29.9634841+08:00;True|2024-07-29T16:09:51.7696392+08:00;True|2024-07-29T16:06:49.4145658+08:00;True|2024-07-29T15:58:50.6654249+08:00;True|2024-07-29T11:32:11.6206514+08:00;True|2024-07-29T11:26:26.1574563+08:00;True|2024-07-29T11:04:41.1896705+08:00;True|2024-07-29T10:38:38.4560275+08:00;True|2024-07-29T10:33:38.5288332+08:00;False|2024-07-29T10:33:21.0642261+08:00;False|2024-07-29T10:33:00.1005216+08:00;True|2024-07-29T09:54:59.2794860+08:00;True|2024-07-29T09:08:54.4899269+08:00;True|2024-07-26T18:02:13.5407348+08:00;True|2024-07-26T17:46:06.7922851+08:00;True|2024-07-26T15:50:48.6986834+08:00;True|2024-07-26T15:11:17.1696147+08:00;True|2024-07-26T13:58:49.6884964+08:00;True|2024-07-25T17:31:33.0050952+08:00;True|2024-07-25T17:09:12.7084910+08:00;True|2024-07-25T17:02:01.2617736+08:00;True|2024-07-25T16:59:51.6271873+08:00;True|2024-07-25T16:58:05.5249148+08:00;True|2024-07-25T14:14:10.2008367+08:00;False|2024-07-25T14:13:54.0300465+08:00;True|2024-07-25T14:08:57.0244482+08:00;True|2024-07-25T13:41:48.8201522+08:00;True|2024-07-25T10:41:30.7277553+08:00;True|2024-07-25T10:16:05.9105335+08:00;True|2024-07-24T15:31:54.7914854+08:00;True|2024-07-24T09:54:17.6182454+08:00;True|2024-07-23T17:01:18.1510211+08:00;True|2024-07-23T16:41:53.3366577+08:00;True|2024-07-23T16:07:25.4129335+08:00;True|2024-07-23T15:50:42.2437488+08:00;True|2024-07-23T15:19:00.1900116+08:00;True|2024-07-23T14:59:22.8551233+08:00;True|2024-07-23T14:19:55.1193373+08:00;True|2024-07-19T18:04:32.2703039+08:00;True|2024-07-19T15:56:25.4103701+08:00;True|2024-07-19T15:09:00.9662436+08:00;True|2024-07-19T15:05:35.7255851+08:00;True|2024-07-19T13:14:42.9559521+08:00;False|2024-07-19T11:37:52.4020673+08:00;True|2024-07-19T11:10:22.8661346+08:00;True|2024-07-19T11:00:00.8819251+08:00;True|2024-07-19T10:45:46.8271770+08:00;True|2024-07-19T10:45:03.8183458+08:00;True|2024-07-18T18:04:42.1000382+08:00;True|2024-07-18T18:01:51.3964409+08:00;True|2024-07-18T17:57:50.3509206+08:00;True|2024-07-18T16:32:46.2184830+08:00;True|2024-07-18T16:00:11.1381449+08:00;True|2024-07-18T15:11:52.6472758+08:00;True|2024-07-18T11:54:49.4848006+08:00;True|2024-07-18T09:25:58.7204846+08:00;True|2024-07-17T17:29:28.6175272+08:00;True|2024-07-17T17:10:54.5184246+08:00;True|2024-07-17T16:57:59.8174060+08:00;True|2024-07-17T16:18:13.8137834+08:00;True|2024-07-17T15:59:16.2360757+08:00;True|2024-07-17T15:31:41.9159909+08:00;True|2024-07-17T14:41:14.6127340+08:00;True|2024-07-17T14:28:53.4455461+08:00;True|2024-07-17T14:09:44.1826222+08:00;True|2024-07-17T13:57:12.3372528+08:00;True|2024-07-17T11:39:19.5754602+08:00;True|2024-07-16T17:44:10.6162562+08:00;True|2024-07-16T17:13:48.3928403+08:00;True|2024-07-16T17:00:47.7458109+08:00;True|2024-07-16T14:07:19.3463408+08:00;True|2024-07-15T16:05:13.3561511+08:00;True|2024-07-15T16:03:45.7866063+08:00;True|2024-07-15T13:25:00.0791938+08:00;True|2024-07-12T13:45:20.6945520+08:00;True|2024-07-12T13:07:01.3911178+08:00;False|2024-07-12T13:06:45.7048568+08:00;True|2024-07-12T13:06:03.7557254+08:00;False|2024-07-12T11:51:55.8228106+08:00;True|2024-07-12T09:11:11.9982410+08:00;True|2024-07-12T09:10:42.9689716+08:00;True|2024-07-12T09:08:04.7560729+08:00;</History> | |||
<History>True|2024-08-19T05:38:29.9236695Z;False|2024-08-19T13:29:18.8873264+08:00;True|2024-08-19T12:31:57.9280692+08:00;True|2024-08-19T11:50:36.7241244+08:00;True|2024-08-19T10:24:05.0018377+08:00;True|2024-08-19T10:23:30.0445364+08:00;True|2024-08-19T10:12:33.8316906+08:00;True|2024-08-19T10:10:48.0967630+08:00;True|2024-08-16T12:17:51.5743944+08:00;True|2024-08-16T11:36:15.1880346+08:00;True|2024-08-12T11:27:42.2864171+08:00;True|2024-08-09T14:54:42.9062124+08:00;True|2024-08-09T11:49:01.0339449+08:00;True|2024-08-09T11:43:21.9947939+08:00;True|2024-08-09T10:43:25.7641675+08:00;True|2024-08-08T15:23:17.0510180+08:00;True|2024-08-08T15:20:50.3450876+08:00;True|2024-08-08T11:06:43.0783261+08:00;True|2024-08-07T17:24:03.0780935+08:00;True|2024-08-07T17:20:50.6266614+08:00;True|2024-08-07T17:18:15.6367265+08:00;True|2024-08-06T17:31:40.3452266+08:00;True|2024-07-31T16:54:03.1890463+08:00;True|2024-07-30T17:11:33.2514194+08:00;True|2024-07-30T17:08:14.5888060+08:00;True|2024-07-30T09:56:08.6349163+08:00;True|2024-07-30T09:50:02.2368269+08:00;True|2024-07-29T16:20:12.3202393+08:00;True|2024-07-29T16:16:29.9634841+08:00;True|2024-07-29T16:09:51.7696392+08:00;True|2024-07-29T16:06:49.4145658+08:00;True|2024-07-29T15:58:50.6654249+08:00;True|2024-07-29T11:32:11.6206514+08:00;True|2024-07-29T11:26:26.1574563+08:00;True|2024-07-29T11:04:41.1896705+08:00;True|2024-07-29T10:38:38.4560275+08:00;True|2024-07-29T10:33:38.5288332+08:00;False|2024-07-29T10:33:21.0642261+08:00;False|2024-07-29T10:33:00.1005216+08:00;True|2024-07-29T09:54:59.2794860+08:00;True|2024-07-29T09:08:54.4899269+08:00;True|2024-07-26T18:02:13.5407348+08:00;True|2024-07-26T17:46:06.7922851+08:00;True|2024-07-26T15:50:48.6986834+08:00;True|2024-07-26T15:11:17.1696147+08:00;True|2024-07-26T13:58:49.6884964+08:00;True|2024-07-25T17:31:33.0050952+08:00;True|2024-07-25T17:09:12.7084910+08:00;True|2024-07-25T17:02:01.2617736+08:00;True|2024-07-25T16:59:51.6271873+08:00;True|2024-07-25T16:58:05.5249148+08:00;True|2024-07-25T14:14:10.2008367+08:00;False|2024-07-25T14:13:54.0300465+08:00;True|2024-07-25T14:08:57.0244482+08:00;True|2024-07-25T13:41:48.8201522+08:00;True|2024-07-25T10:41:30.7277553+08:00;True|2024-07-25T10:16:05.9105335+08:00;True|2024-07-24T15:31:54.7914854+08:00;True|2024-07-24T09:54:17.6182454+08:00;True|2024-07-23T17:01:18.1510211+08:00;True|2024-07-23T16:41:53.3366577+08:00;True|2024-07-23T16:07:25.4129335+08:00;True|2024-07-23T15:50:42.2437488+08:00;True|2024-07-23T15:19:00.1900116+08:00;True|2024-07-23T14:59:22.8551233+08:00;True|2024-07-23T14:19:55.1193373+08:00;True|2024-07-19T18:04:32.2703039+08:00;True|2024-07-19T15:56:25.4103701+08:00;True|2024-07-19T15:09:00.9662436+08:00;True|2024-07-19T15:05:35.7255851+08:00;True|2024-07-19T13:14:42.9559521+08:00;False|2024-07-19T11:37:52.4020673+08:00;True|2024-07-19T11:10:22.8661346+08:00;True|2024-07-19T11:00:00.8819251+08:00;True|2024-07-19T10:45:46.8271770+08:00;True|2024-07-19T10:45:03.8183458+08:00;True|2024-07-18T18:04:42.1000382+08:00;True|2024-07-18T18:01:51.3964409+08:00;True|2024-07-18T17:57:50.3509206+08:00;True|2024-07-18T16:32:46.2184830+08:00;True|2024-07-18T16:00:11.1381449+08:00;True|2024-07-18T15:11:52.6472758+08:00;True|2024-07-18T11:54:49.4848006+08:00;True|2024-07-18T09:25:58.7204846+08:00;True|2024-07-17T17:29:28.6175272+08:00;True|2024-07-17T17:10:54.5184246+08:00;True|2024-07-17T16:57:59.8174060+08:00;True|2024-07-17T16:18:13.8137834+08:00;True|2024-07-17T15:59:16.2360757+08:00;True|2024-07-17T15:31:41.9159909+08:00;True|2024-07-17T14:41:14.6127340+08:00;True|2024-07-17T14:28:53.4455461+08:00;True|2024-07-17T14:09:44.1826222+08:00;True|2024-07-17T13:57:12.3372528+08:00;True|2024-07-17T11:39:19.5754602+08:00;True|2024-07-16T17:44:10.6162562+08:00;True|2024-07-16T17:13:48.3928403+08:00;True|2024-07-16T17:00:47.7458109+08:00;True|2024-07-16T14:07:19.3463408+08:00;True|2024-07-15T16:05:13.3561511+08:00;</History> | |||
<LastFailureDetails /> | |||
</PropertyGroup> | |||
</Project> |