wwp 3 달 전
부모
커밋
a8652443b6
27개의 변경된 파일896개의 추가작업 그리고 41개의 파일을 삭제
  1. +143
    -1
      SafeCampus.API/SafeCampus.Application/SafeCampus.Application.xml
  2. +75
    -0
      SafeCampus.API/SafeCampus.Application/Services/Business/DepartmentService/DepartmentService.cs
  3. +17
    -0
      SafeCampus.API/SafeCampus.Application/Services/Business/DepartmentService/Dto/DepartmentDto.cs
  4. +9
    -0
      SafeCampus.API/SafeCampus.Application/Services/Business/DepartmentService/Dto/DepartmentSearch.cs
  5. +40
    -0
      SafeCampus.API/SafeCampus.Application/Services/Business/DepartmentService/IDepartmentService.cs
  6. +35
    -0
      SafeCampus.API/SafeCampus.Application/Services/Business/MajorService/Dto/MajorDto.cs
  7. +17
    -0
      SafeCampus.API/SafeCampus.Application/Services/Business/MajorService/Dto/MajorSearch.cs
  8. +40
    -0
      SafeCampus.API/SafeCampus.Application/Services/Business/MajorService/IMajorService.cs
  9. +80
    -0
      SafeCampus.API/SafeCampus.Application/Services/Business/MajorService/MajorService.cs
  10. +9
    -1
      SafeCampus.API/SafeCampus.Application/Services/Business/PersonSetInfoService/Dto/PersonSetInfoDto.cs
  11. +1
    -1
      SafeCampus.API/SafeCampus.Application/Services/Business/PersonSetInfoService/IPersonSetInfoService.cs
  12. +3
    -1
      SafeCampus.API/SafeCampus.Application/Services/Business/PersonSetInfoService/PersonSetInfoService.cs
  13. +20
    -0
      SafeCampus.API/SafeCampus.System/Entity/DepartmentInfo.cs
  14. +39
    -0
      SafeCampus.API/SafeCampus.System/Entity/MajorInfo.cs
  15. +11
    -1
      SafeCampus.API/SafeCampus.System/Entity/PersonSetInfo.cs
  16. +0
    -2
      SafeCampus.API/SafeCampus.System/Entity/System/SysDict.cs
  17. +50
    -0
      SafeCampus.API/SafeCampus.System/SafeCampus.System.xml
  18. +1
    -11
      SafeCampus.API/SafeCampus.Web.Core/Components/AuthComponent.cs
  19. +1
    -11
      SafeCampus.API/SafeCampus.Web.Core/Components/WebSettingsComponent.cs
  20. +78
    -0
      SafeCampus.API/SafeCampus.Web.Core/Controllers/Application/Business/DepartmentController.cs
  21. +5
    -4
      SafeCampus.API/SafeCampus.Web.Core/Controllers/Application/Business/DfieldApi.cs
  22. +2
    -2
      SafeCampus.API/SafeCampus.Web.Core/Controllers/Application/Business/DormitoryController.cs
  23. +4
    -0
      SafeCampus.API/SafeCampus.Web.Core/Controllers/Application/Business/Dto/DfieldInput.cs
  24. +77
    -0
      SafeCampus.API/SafeCampus.Web.Core/Controllers/Application/Business/MajorController.cs
  25. +26
    -3
      SafeCampus.API/SafeCampus.Web.Core/Controllers/Application/LargeScreen/LargeScreenController.cs
  26. +112
    -2
      SafeCampus.API/SafeCampus.Web.Core/SafeCampus.Web.Core.xml
  27. +1
    -1
      SafeCampus.API/SafeCampus.Web.Entry/Properties/PublishProfiles/FolderProfile.pubxml.user

+ 143
- 1
SafeCampus.API/SafeCampus.Application/SafeCampus.Application.xml 파일 보기

@@ -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>


+ 75
- 0
SafeCampus.API/SafeCampus.Application/Services/Business/DepartmentService/DepartmentService.cs 파일 보기

@@ -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>>();
}
}

+ 17
- 0
SafeCampus.API/SafeCampus.Application/Services/Business/DepartmentService/Dto/DepartmentDto.cs 파일 보기

@@ -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; }
}

+ 9
- 0
SafeCampus.API/SafeCampus.Application/Services/Business/DepartmentService/Dto/DepartmentSearch.cs 파일 보기

@@ -0,0 +1,9 @@
namespace SafeCampus.Application.Services.Business.DepartmentService;

public class DepartmentSearch: BasePageInput
{
/// <summary>
/// 院系名称
/// </summary>
public string Name { get; set; }
}

+ 40
- 0
SafeCampus.API/SafeCampus.Application/Services/Business/DepartmentService/IDepartmentService.cs 파일 보기

@@ -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);
}

+ 35
- 0
SafeCampus.API/SafeCampus.Application/Services/Business/MajorService/Dto/MajorDto.cs 파일 보기

@@ -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);
}
}

+ 17
- 0
SafeCampus.API/SafeCampus.Application/Services/Business/MajorService/Dto/MajorSearch.cs 파일 보기

@@ -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; }
}

+ 40
- 0
SafeCampus.API/SafeCampus.Application/Services/Business/MajorService/IMajorService.cs 파일 보기

@@ -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);
}

+ 80
- 0
SafeCampus.API/SafeCampus.Application/Services/Business/MajorService/MajorService.cs 파일 보기

@@ -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>>();
}
}

+ 9
- 1
SafeCampus.API/SafeCampus.Application/Services/Business/PersonSetInfoService/Dto/PersonSetInfoDto.cs 파일 보기

@@ -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);
}
}

+ 1
- 1
SafeCampus.API/SafeCampus.Application/Services/Business/PersonSetInfoService/IPersonSetInfoService.cs 파일 보기

@@ -23,5 +23,5 @@ public interface IPersonSetInfoService:ITransient
/// 获取底库列表
/// </summary>
/// <returns></returns>
Task<List<PersonSetInfoDto>> GetPageList();
Task<List<PersonSetInfoDto>> GetPageList(long? majorId);
}

+ 3
- 1
SafeCampus.API/SafeCampus.Application/Services/Business/PersonSetInfoService/PersonSetInfoService.cs 파일 보기

@@ -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>>();


+ 20
- 0
SafeCampus.API/SafeCampus.System/Entity/DepartmentInfo.cs 파일 보기

@@ -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; }

}

+ 39
- 0
SafeCampus.API/SafeCampus.System/Entity/MajorInfo.cs 파일 보기

@@ -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; }
}

+ 11
- 1
SafeCampus.API/SafeCampus.System/Entity/PersonSetInfo.cs 파일 보기

@@ -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))]


+ 0
- 2
SafeCampus.API/SafeCampus.System/Entity/System/SysDict.cs 파일 보기

@@ -37,8 +37,6 @@ public class SysDict : BaseEntity
///</summary>
[SugarColumn(ColumnName = "SortCode", ColumnDescription = "排序码")]
public int SortCode { get; set; }


/// <summary>
/// 子节点
/// </summary>


+ 50
- 0
SafeCampus.API/SafeCampus.System/SafeCampus.System.xml 파일 보기

@@ -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
- 11
SafeCampus.API/SafeCampus.Web.Core/Components/AuthComponent.cs 파일 보기

@@ -1,14 +1,4 @@

//








using Microsoft.AspNetCore.Authentication.JwtBearer;
using Microsoft.AspNetCore.Authentication.JwtBearer;

namespace SafeCampus.Web.Core;



+ 1
- 11
SafeCampus.API/SafeCampus.Web.Core/Components/WebSettingsComponent.cs 파일 보기

@@ -1,14 +1,4 @@

//








namespace SafeCampus.Web.Core;
namespace SafeCampus.Web.Core;

/// <summary>
/// Web设置组件


+ 78
- 0
SafeCampus.API/SafeCampus.Web.Core/Controllers/Application/Business/DepartmentController.cs 파일 보기

@@ -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);
}
}

+ 5
- 4
SafeCampus.API/SafeCampus.Web.Core/Controllers/Application/Business/DfieldApi.cs 파일 보기

@@ -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;


+ 2
- 2
SafeCampus.API/SafeCampus.Web.Core/Controllers/Application/Business/DormitoryController.cs 파일 보기

@@ -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
{


+ 4
- 0
SafeCampus.API/SafeCampus.Web.Core/Controllers/Application/Business/Dto/DfieldInput.cs 파일 보기

@@ -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
{


+ 77
- 0
SafeCampus.API/SafeCampus.Web.Core/Controllers/Application/Business/MajorController.cs 파일 보기

@@ -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);
}
}

+ 26
- 3
SafeCampus.API/SafeCampus.Web.Core/Controllers/Application/LargeScreen/LargeScreenController.cs 파일 보기

@@ -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());
}
}

+ 112
- 2
SafeCampus.API/SafeCampus.Web.Core/SafeCampus.Web.Core.xml 파일 보기

@@ -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


+ 1
- 1
SafeCampus.API/SafeCampus.Web.Entry/Properties/PublishProfiles/FolderProfile.pubxml.user 파일 보기

@@ -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>

불러오는 중...
취소
저장