@@ -16,4 +16,20 @@ public class ApplicationConst | |||||
public const string BIZ_POS = "岗位"; | public const string BIZ_POS = "岗位"; | ||||
#endregion 别称 | #endregion 别称 | ||||
#region 学校基础摄像头分组配置 | |||||
/// <summary> | |||||
/// 图书馆分组id | |||||
/// </summary> | |||||
public const long TSG = 583660006621253; | |||||
/// <summary> | |||||
/// 食堂分组id | |||||
/// </summary> | |||||
public const long ST = 583659984986181; | |||||
/// <summary> | |||||
/// 学校大门分组id | |||||
/// </summary> | |||||
public const long XXDM = 583659952070725; | |||||
#endregion | |||||
} | } |
@@ -14,6 +14,21 @@ | |||||
岗位 | 岗位 | ||||
</summary> | </summary> | ||||
</member> | </member> | ||||
<member name="F:SafeCampus.Application.ApplicationConst.TSG"> | |||||
<summary> | |||||
图书馆分组id | |||||
</summary> | |||||
</member> | |||||
<member name="F:SafeCampus.Application.ApplicationConst.ST"> | |||||
<summary> | |||||
食堂分组id | |||||
</summary> | |||||
</member> | |||||
<member name="F:SafeCampus.Application.ApplicationConst.XXDM"> | |||||
<summary> | |||||
学校大门分组id | |||||
</summary> | |||||
</member> | |||||
<member name="T:SafeCampus.Application.Manager.DeepelephManager.DeepelephManager"> | <member name="T:SafeCampus.Application.Manager.DeepelephManager.DeepelephManager"> | ||||
<summary> | <summary> | ||||
深象智能对接实现 | 深象智能对接实现 | ||||
@@ -807,6 +822,21 @@ | |||||
人员id | 人员id | ||||
</summary> | </summary> | ||||
</member> | </member> | ||||
<member name="P:SafeCampus.Application.Services.Business.ClassRoomCallService.ClassRoomCallInsert.PersonSetId"> | |||||
<summary> | |||||
关联底库id 如果为空,表示该人员未匹配到底库 | |||||
</summary> | |||||
</member> | |||||
<member name="P:SafeCampus.Application.Services.Business.ClassRoomCallService.ClassRoomCallInsert.PersonId"> | |||||
<summary> | |||||
人员id | |||||
</summary> | |||||
</member> | |||||
<member name="P:SafeCampus.Application.Services.Business.ClassRoomCallService.ClassRoomCallInsert.TaskId"> | |||||
<summary> | |||||
所属点名任务 | |||||
</summary> | |||||
</member> | |||||
<member name="M:SafeCampus.Application.Services.Business.ClassRoomCallService.IClassRoomCallService.Add(SafeCampus.Application.Services.Business.ClassRoomCallService.ClassRoomCallDto)"> | <member name="M:SafeCampus.Application.Services.Business.ClassRoomCallService.IClassRoomCallService.Add(SafeCampus.Application.Services.Business.ClassRoomCallService.ClassRoomCallDto)"> | ||||
<summary> | <summary> | ||||
添加点名记录 | 添加点名记录 | ||||
@@ -1259,6 +1289,11 @@ | |||||
院系id | 院系id | ||||
</summary> | </summary> | ||||
</member> | </member> | ||||
<member name="P:SafeCampus.Application.Services.Business.MajorService.MajorDto.Sort"> | |||||
<summary> | |||||
排序 | |||||
</summary> | |||||
</member> | |||||
<member name="P:SafeCampus.Application.Services.Business.MajorService.MajorSearch.Name"> | <member name="P:SafeCampus.Application.Services.Business.MajorService.MajorSearch.Name"> | ||||
<summary> | <summary> | ||||
专业名称 | 专业名称 | ||||
@@ -1622,7 +1657,7 @@ | |||||
<param name="input"></param> | <param name="input"></param> | ||||
<returns></returns> | <returns></returns> | ||||
</member> | </member> | ||||
<member name="M:SafeCampus.Application.Services.Business.PersonSetInfoService.IPersonSetInfoService.GetPageList(System.Nullable{System.Int64})"> | |||||
<member name="M:SafeCampus.Application.Services.Business.PersonSetInfoService.IPersonSetInfoService.GetPageList(System.Nullable{System.Int64},System.String)"> | |||||
<summary> | <summary> | ||||
获取底库列表 | 获取底库列表 | ||||
</summary> | </summary> | ||||
@@ -1888,6 +1923,11 @@ | |||||
班级id(不是必填) | 班级id(不是必填) | ||||
</summary> | </summary> | ||||
</member> | </member> | ||||
<member name="P:SafeCampus.Application.Services.Business.Warn.Dto.WarnInfoSearch.PersonId"> | |||||
<summary> | |||||
人员id | |||||
</summary> | |||||
</member> | |||||
<member name="P:SafeCampus.Application.Services.Business.Warn.Dto.WarnInfoSearch.StartTick"> | <member name="P:SafeCampus.Application.Services.Business.Warn.Dto.WarnInfoSearch.StartTick"> | ||||
<summary> | <summary> | ||||
事件发生时间开始 | 事件发生时间开始 | ||||
@@ -1903,6 +1943,11 @@ | |||||
摄像头id | 摄像头id | ||||
</summary> | </summary> | ||||
</member> | </member> | ||||
<member name="P:SafeCampus.Application.Services.Business.Warn.Dto.WarnInfoSearch.CameraIds"> | |||||
<summary> | |||||
摄像头ids(不是必填) | |||||
</summary> | |||||
</member> | |||||
<member name="P:SafeCampus.Application.Services.Business.Warn.Dto.WarnInfoSearch.WarnHand"> | <member name="P:SafeCampus.Application.Services.Business.Warn.Dto.WarnInfoSearch.WarnHand"> | ||||
<summary> | <summary> | ||||
预警处理状态 | 预警处理状态 | ||||
@@ -1,4 +1,6 @@ | |||||
namespace SafeCampus.Application.Services.Business.ClassRoomCallService; | |||||
using Dm; | |||||
namespace SafeCampus.Application.Services.Business.ClassRoomCallService; | |||||
public class ClassRoomCallService : DbRepository<ClassRoomCall>, IClassRoomCallService | public class ClassRoomCallService : DbRepository<ClassRoomCall>, IClassRoomCallService | ||||
{ | { | ||||
@@ -14,4 +14,20 @@ public class ClassRoomCallUpdate | |||||
/// 人员id | /// 人员id | ||||
/// </summary> | /// </summary> | ||||
public string PersonId { get; set; } | public string PersonId { get; set; } | ||||
} | |||||
public class ClassRoomCallInsert | |||||
{ | |||||
/// <summary> | |||||
/// 关联底库id 如果为空,表示该人员未匹配到底库 | |||||
/// </summary> | |||||
public string PersonSetId { get; set; } | |||||
/// <summary> | |||||
/// 人员id | |||||
/// </summary> | |||||
public string PersonId { get; set; } | |||||
/// <summary> | |||||
///所属点名任务 | |||||
/// </summary> | |||||
public string TaskId { get; set; } | |||||
} | } |
@@ -1,6 +1,4 @@ | |||||
using SafeCampus.Application.Services.Business.DepartmentService; | |||||
namespace SafeCampus.Application.Services.Business.MajorService; | |||||
namespace SafeCampus.Application.Services.Business.MajorService; | |||||
public class MajorDto | public class MajorDto | ||||
{ | { | ||||
@@ -21,6 +19,10 @@ public class MajorDto | |||||
/// 院系id | /// 院系id | ||||
/// </summary> | /// </summary> | ||||
public long DepId { get; set; } | public long DepId { get; set; } | ||||
/// <summary> | |||||
/// 排序 | |||||
/// </summary> | |||||
public int Sort { get; set; } | |||||
public string DepartmentName { get; set; } | public string DepartmentName { get; set; } | ||||
} | } | ||||
@@ -66,6 +66,9 @@ public class PersonInfoDto | |||||
/// 进班时间 | /// 进班时间 | ||||
/// </summary> | /// </summary> | ||||
public DateTime? InsTime { get; set; } | public DateTime? InsTime { get; set; } | ||||
public string DepName { get; set; } | |||||
public string MajorName { get; set; } | |||||
} | } | ||||
public class PersonInfoDtoMapper : IRegister | public class PersonInfoDtoMapper : IRegister | ||||
{ | { | ||||
@@ -76,6 +79,8 @@ public class PersonInfoDtoMapper : IRegister | |||||
.Map(dest => dest.PersonSetId, src => src.PersonSetId) | .Map(dest => dest.PersonSetId, src => src.PersonSetId) | ||||
.Map(dest => dest.PersonSetName, src => src.PersonSetInfoItem.PersonSetName) | .Map(dest => dest.PersonSetName, src => src.PersonSetInfoItem.PersonSetName) | ||||
.Map(dest => dest.Faces, src => src.PersonFacesList) | .Map(dest => dest.Faces, src => src.PersonFacesList) | ||||
.Map(dest => dest.DormitoryName, src => src.DormitoryInfoItem.Name); | |||||
.Map(dest => dest.DormitoryName, src => src.DormitoryInfoItem.Name) | |||||
.Map(dest => dest.DepName, src => src.PersonSetInfoItem.MajorInfoItem.DepartmentInfoItem.Name) | |||||
.Map(dest => dest.MajorName, src => src.PersonSetInfoItem.MajorInfoItem.Name); | |||||
} | } | ||||
} | } |
@@ -29,7 +29,7 @@ public class PersonInfoService:DbRepository<PersonInfo>, IPersonInfoService | |||||
{ | { | ||||
var model = await Context.Queryable<PersonInfo>() | var model = await Context.Queryable<PersonInfo>() | ||||
.Includes(x => x.DormitoryInfoItem) | .Includes(x => x.DormitoryInfoItem) | ||||
.Includes(x => x.PersonSetInfoItem) | |||||
.Includes(x => x.PersonSetInfoItem,x=>x.MajorInfoItem,x=>x.DepartmentInfoItem) | |||||
.Includes(x => x.PersonFacesList) | .Includes(x => x.PersonFacesList) | ||||
.FirstAsync(x => x.PersonId == id); | .FirstAsync(x => x.PersonId == id); | ||||
if (model == null) | if (model == null) | ||||
@@ -64,7 +64,7 @@ public class PersonInfoService:DbRepository<PersonInfo>, IPersonInfoService | |||||
public async Task<SqlSugarPagedList<PersonInfoDto>> GetPageList(PersonInfoSearch search) | public async Task<SqlSugarPagedList<PersonInfoDto>> GetPageList(PersonInfoSearch search) | ||||
{ | { | ||||
var query = Context.Queryable<PersonInfo>() | var query = Context.Queryable<PersonInfo>() | ||||
.Includes(x => x.PersonSetInfoItem) | |||||
.Includes(x => x.PersonSetInfoItem, x => x.MajorInfoItem, x => x.DepartmentInfoItem) | |||||
.Includes(x=>x.PersonFacesList) | .Includes(x=>x.PersonFacesList) | ||||
.Includes(x=>x.DormitoryInfoItem) | .Includes(x=>x.DormitoryInfoItem) | ||||
.WhereIF(!string.IsNullOrEmpty(search.PersonSetId), x => x.PersonSetId == search.PersonSetId) | .WhereIF(!string.IsNullOrEmpty(search.PersonSetId), x => x.PersonSetId == search.PersonSetId) | ||||
@@ -23,5 +23,5 @@ public interface IPersonSetInfoService:ITransient | |||||
/// 获取底库列表 | /// 获取底库列表 | ||||
/// </summary> | /// </summary> | ||||
/// <returns></returns> | /// <returns></returns> | ||||
Task<List<PersonSetInfoDto>> GetPageList(long? majorId); | |||||
Task<List<PersonSetInfoDto>> GetPageList(long? majorId,string setName); | |||||
} | } |
@@ -38,12 +38,13 @@ public class PersonSetInfoService:DbRepository<PersonSetInfo>, IPersonSetInfoSer | |||||
return true; | return true; | ||||
} | } | ||||
public async Task<List<PersonSetInfoDto>> GetPageList(long? majorId) | |||||
public async Task<List<PersonSetInfoDto>> GetPageList(long? majorId, string setName) | |||||
{ | { | ||||
var list =await Context.Queryable<PersonSetInfo>() | var list =await Context.Queryable<PersonSetInfo>() | ||||
.Includes(x=>x.MajorInfoItem,x=>x.DepartmentInfoItem) | .Includes(x=>x.MajorInfoItem,x=>x.DepartmentInfoItem) | ||||
.Where(x=>x.PersonSetId!=SafeCampusConst.ZDRY) | .Where(x=>x.PersonSetId!=SafeCampusConst.ZDRY) | ||||
.WhereIF(majorId.HasValue,x=>x.MajorId==majorId) | .WhereIF(majorId.HasValue,x=>x.MajorId==majorId) | ||||
.WhereIF(!string.IsNullOrEmpty(setName),x=>x.PersonSetName.Contains(setName)) | |||||
.Includes(x => x.ClassTeacherItem, st => st.SysUserItem) | .Includes(x => x.ClassTeacherItem, st => st.SysUserItem) | ||||
.ToListAsync(); | .ToListAsync(); | ||||
return list.Adapt<List<PersonSetInfoDto>>(); | return list.Adapt<List<PersonSetInfoDto>>(); | ||||
@@ -15,6 +15,10 @@ public class WarnInfoSearch:BasePageInput | |||||
/// </summary> | /// </summary> | ||||
public List<string> PersonSetIds { get; set; } | public List<string> PersonSetIds { get; set; } | ||||
/// <summary> | /// <summary> | ||||
/// 人员id | |||||
/// </summary> | |||||
public string PersonId { get; set; } | |||||
/// <summary> | |||||
/// 事件发生时间开始 | /// 事件发生时间开始 | ||||
/// </summary> | /// </summary> | ||||
public DateTime? StartTick { get; set; } | public DateTime? StartTick { get; set; } | ||||
@@ -27,6 +31,10 @@ public class WarnInfoSearch:BasePageInput | |||||
/// </summary> | /// </summary> | ||||
public string CameraId { get; set; } | public string CameraId { get; set; } | ||||
/// <summary> | /// <summary> | ||||
/// 摄像头ids(不是必填) | |||||
/// </summary> | |||||
public List<string> CameraIds { get; set; } | |||||
/// <summary> | |||||
/// 预警处理状态 | /// 预警处理状态 | ||||
/// </summary> | /// </summary> | ||||
public int? WarnHand { get; set; } | public int? WarnHand { get; set; } |
@@ -137,7 +137,9 @@ public class WarnInfoService:DbRepository<WarnInfo>, IWarnInfoService,ITransient | |||||
.WhereIF(!string.IsNullOrEmpty(search.AlarmType), x => x.AlarmType == search.AlarmType) | .WhereIF(!string.IsNullOrEmpty(search.AlarmType), x => x.AlarmType == search.AlarmType) | ||||
.WhereIF(search.AlarmTypes!=null&&search.AlarmTypes.Any(),x=>search.AlarmTypes.Contains(x.AlarmType)) | .WhereIF(search.AlarmTypes!=null&&search.AlarmTypes.Any(),x=>search.AlarmTypes.Contains(x.AlarmType)) | ||||
.WhereIF(search.PersonSetIds != null&&search.PersonSetIds.Any(),x=>search.PersonSetIds.Contains(x.PersonSetId)) | .WhereIF(search.PersonSetIds != null&&search.PersonSetIds.Any(),x=>search.PersonSetIds.Contains(x.PersonSetId)) | ||||
.WhereIF(search.CameraIds != null&&search.CameraIds.Any(),x=>search.CameraIds.Contains(x.CameraId)) | |||||
.WhereIF(!string.IsNullOrEmpty(search.CameraId), x => x.CameraId == search.CameraId) | .WhereIF(!string.IsNullOrEmpty(search.CameraId), x => x.CameraId == search.CameraId) | ||||
.WhereIF(!string.IsNullOrEmpty(search.PersonId), x => x.PersonId == search.PersonId) | |||||
.WhereIF(search.StartTick.HasValue, x => x.Tick >= search.StartTick) | .WhereIF(search.StartTick.HasValue, x => x.Tick >= search.StartTick) | ||||
.WhereIF(search.EndTick.HasValue, x => x.Tick <= search.EndTick); | .WhereIF(search.EndTick.HasValue, x => x.Tick <= search.EndTick); | ||||
@@ -6,136 +6,163 @@ public enum AlarmType | |||||
/// 周界入侵 | /// 周界入侵 | ||||
/// </summary> | /// </summary> | ||||
[Description("周界入侵")] | [Description("周界入侵")] | ||||
[Display(Name = "visual_fence")] | |||||
visual_fence, | visual_fence, | ||||
/// <summary> | /// <summary> | ||||
/// 翻越 | /// 翻越 | ||||
/// </summary> | /// </summary> | ||||
[Description("翻越")] | [Description("翻越")] | ||||
[Display(Name = "climb_over")] | |||||
climb_over, | climb_over, | ||||
/// <summary> | /// <summary> | ||||
/// 人群聚集 | /// 人群聚集 | ||||
/// </summary> | /// </summary> | ||||
[Description("人群聚集")] | [Description("人群聚集")] | ||||
[Display(Name = "crowd")] | |||||
crowd, | crowd, | ||||
/// <summary> | /// <summary> | ||||
/// 烟火告警 | /// 烟火告警 | ||||
/// </summary> | /// </summary> | ||||
[Description("烟火告警")] | [Description("烟火告警")] | ||||
[Display(Name = "fire_smoke")] | |||||
fire_smoke, | fire_smoke, | ||||
/// <summary> | /// <summary> | ||||
/// 可疑徘徊 | /// 可疑徘徊 | ||||
/// </summary> | /// </summary> | ||||
[Description("可疑徘徊")] | [Description("可疑徘徊")] | ||||
[Display(Name = "wander")] | |||||
wander, | wander, | ||||
/// <summary> | /// <summary> | ||||
/// 重点人员布控 | /// 重点人员布控 | ||||
/// </summary> | /// </summary> | ||||
[Description("重点人员布控")] | [Description("重点人员布控")] | ||||
[Display(Name = "blacklist")] | |||||
blacklist, | blacklist, | ||||
/// <summary> | /// <summary> | ||||
/// 奔跑 | /// 奔跑 | ||||
/// </summary> | /// </summary> | ||||
[Description("奔跑")] | [Description("奔跑")] | ||||
[Display(Name = "run")] | |||||
run, | run, | ||||
/// <summary> | /// <summary> | ||||
/// 追逐 | /// 追逐 | ||||
/// </summary> | /// </summary> | ||||
[Description("追逐")] | [Description("追逐")] | ||||
[Display(Name = "chase")] | |||||
chase, | chase, | ||||
/// <summary> | /// <summary> | ||||
/// 摔倒 | /// 摔倒 | ||||
/// </summary> | /// </summary> | ||||
[Description("摔倒")] | [Description("摔倒")] | ||||
[Display(Name = "fall_down")] | |||||
fall_down, | fall_down, | ||||
/// <summary> | /// <summary> | ||||
/// 跨线 | /// 跨线 | ||||
/// </summary> | /// </summary> | ||||
[Description("跨线")] | [Description("跨线")] | ||||
[Display(Name = "cross_line")] | |||||
cross_line, | cross_line, | ||||
/// <summary> | /// <summary> | ||||
/// 教室点名 | /// 教室点名 | ||||
/// </summary> | /// </summary> | ||||
[Description("教室点名")] | [Description("教室点名")] | ||||
[Display(Name = "class_room_call")] | |||||
class_room_call, | class_room_call, | ||||
/// <summary> | /// <summary> | ||||
/// 趴桌子 | /// 趴桌子 | ||||
/// </summary> | /// </summary> | ||||
[Description("趴桌子")] | [Description("趴桌子")] | ||||
[Display(Name = "lie_on_table")] | |||||
lie_on_table, | lie_on_table, | ||||
/// <summary> | /// <summary> | ||||
/// 抽烟检测 | /// 抽烟检测 | ||||
/// </summary> | /// </summary> | ||||
[Description("抽烟检测")] | [Description("抽烟检测")] | ||||
[Display(Name = "person_smoke")] | |||||
person_smoke, | person_smoke, | ||||
/// <summary> | /// <summary> | ||||
/// 猫鼠检测 | /// 猫鼠检测 | ||||
/// </summary> | /// </summary> | ||||
[Description("猫鼠检测")] | [Description("猫鼠检测")] | ||||
[Display(Name = "animal_break_in")] | |||||
animal_break_in, | animal_break_in, | ||||
/// <summary> | /// <summary> | ||||
/// 巡更检测 | /// 巡更检测 | ||||
/// </summary> | /// </summary> | ||||
[Description("巡更检测")] | [Description("巡更检测")] | ||||
[Display(Name = "patrol")] | |||||
patrol, | patrol, | ||||
/// <summary> | /// <summary> | ||||
/// 离岗检测 | /// 离岗检测 | ||||
/// </summary> | /// </summary> | ||||
[Description("离岗检测")] | [Description("离岗检测")] | ||||
[Display(Name = "off_duty")] | |||||
off_duty, | off_duty, | ||||
/// <summary> | /// <summary> | ||||
/// 打闹检测 | /// 打闹检测 | ||||
/// </summary> | /// </summary> | ||||
[Description("打闹检测")] | [Description("打闹检测")] | ||||
[Display(Name = "fight")] | |||||
fight, | fight, | ||||
/// <summary> | /// <summary> | ||||
/// 未戴帽子检测 | /// 未戴帽子检测 | ||||
/// </summary> | /// </summary> | ||||
[Description("未戴帽子检测")] | [Description("未戴帽子检测")] | ||||
[Display(Name = "hat_detect")] | |||||
hat_detect, | hat_detect, | ||||
/// <summary> | /// <summary> | ||||
/// 未戴口罩检测 | /// 未戴口罩检测 | ||||
/// </summary> | /// </summary> | ||||
[Description("未戴口罩检测")] | [Description("未戴口罩检测")] | ||||
[Display(Name = "mask_detect")] | |||||
mask_detect, | mask_detect, | ||||
/// <summary> | /// <summary> | ||||
/// 未穿工作服检测 | /// 未穿工作服检测 | ||||
/// </summary> | /// </summary> | ||||
[Description("未穿工作服检测")] | [Description("未穿工作服检测")] | ||||
[Display(Name = "cloth_detect")] | |||||
cloth_detect, | cloth_detect, | ||||
/// <summary> | /// <summary> | ||||
/// 洗手行为采集 | /// 洗手行为采集 | ||||
/// </summary> | /// </summary> | ||||
[Description("洗手行为采集")] | [Description("洗手行为采集")] | ||||
[Display(Name = "wash_hand")] | |||||
wash_hand, | wash_hand, | ||||
/// <summary> | /// <summary> | ||||
/// 车辆违停 | /// 车辆违停 | ||||
/// </summary> | /// </summary> | ||||
[Description("车辆违停")] | [Description("车辆违停")] | ||||
[Display(Name = "vehicle_parking")] | |||||
vehicle_parking, | vehicle_parking, | ||||
/// <summary> | /// <summary> | ||||
/// 车辆超速 | /// 车辆超速 | ||||
/// </summary> | /// </summary> | ||||
[Description("车辆超速")] | [Description("车辆超速")] | ||||
[Display(Name = "vehicle_speeding")] | |||||
vehicle_speeding, | vehicle_speeding, | ||||
/// <summary> | /// <summary> | ||||
/// 违规占道 | /// 违规占道 | ||||
/// </summary> | /// </summary> | ||||
[Description("违规占道")] | [Description("违规占道")] | ||||
[Display(Name = "violation_occupy")] | |||||
violation_occupy, | violation_occupy, | ||||
/// <summary> | /// <summary> | ||||
/// 玩手机 | /// 玩手机 | ||||
/// </summary> | /// </summary> | ||||
[Description("玩手机")] | [Description("玩手机")] | ||||
[Display(Name = "play_phone")] | |||||
play_phone, | play_phone, | ||||
/// <summary> | /// <summary> | ||||
/// 骑车未戴头盔 | /// 骑车未戴头盔 | ||||
/// </summary> | /// </summary> | ||||
[Description("骑车未戴头盔")] | [Description("骑车未戴头盔")] | ||||
[Display(Name = "bike_without_helmet")] | |||||
bike_without_helmet, | bike_without_helmet, | ||||
/// <summary> | /// <summary> | ||||
/// 儿童骑平衡车 | /// 儿童骑平衡车 | ||||
/// </summary> | /// </summary> | ||||
[Description("儿童骑平衡车/滑板车")] | [Description("儿童骑平衡车/滑板车")] | ||||
[Display(Name = "segway_with_child")] | |||||
segway_with_child | segway_with_child | ||||
@@ -1,14 +1,4 @@ | |||||
| |||||
// | |||||
namespace SafeCampus.SqlSugar; | |||||
namespace SafeCampus.SqlSugar; | |||||
/// <summary> | /// <summary> | ||||
/// AppStartup启动类 | /// AppStartup启动类 | ||||
@@ -34,6 +34,6 @@ public class MajorInfo : PrimaryKeyEntity | |||||
/// <summary> | /// <summary> | ||||
/// 院系信息 | /// 院系信息 | ||||
/// </summary> | /// </summary> | ||||
[Navigate(NavigateType.OneToOne, nameof(DepartmentInfo.Id), nameof(DepId))] | |||||
[Navigate(NavigateType.OneToOne, nameof(DepId))] | |||||
public DepartmentInfo DepartmentInfoItem { get; set; } | public DepartmentInfo DepartmentInfoItem { get; set; } | ||||
} | } |
@@ -24,7 +24,7 @@ public class PersonSetInfo | |||||
/// <summary> | /// <summary> | ||||
/// 专业信息 | /// 专业信息 | ||||
/// </summary> | /// </summary> | ||||
[Navigate(NavigateType.OneToOne, nameof(MajorInfo.Id), nameof(MajorId))] | |||||
[Navigate(NavigateType.OneToOne, nameof(MajorId))] | |||||
public MajorInfo MajorInfoItem { get; set; } | public MajorInfo MajorInfoItem { get; set; } | ||||
/// <summary> | /// <summary> | ||||
/// 班主任信息 | /// 班主任信息 | ||||
@@ -0,0 +1,9 @@ | |||||
namespace SafeCampus.System; | |||||
public class CameraGroupSeedData : ISqlSugarEntitySeedData<CameraGroup> | |||||
{ | |||||
public IEnumerable<CameraGroup> SeedData() | |||||
{ | |||||
return SeedDataUtil.GetSeedData<CameraGroup>("seed_sys_user.json"); | |||||
} | |||||
} |
@@ -0,0 +1,23 @@ | |||||
{ | |||||
"RECORDS": [ | |||||
{ | |||||
"Id": "583659544297541", | |||||
"Name": "学校点位配置" | |||||
}, | |||||
{ | |||||
"Id": "583659952070725", | |||||
"Name": "学校大门", | |||||
"ParentId": "583659544297541" | |||||
}, | |||||
{ | |||||
"Id": "583659984986181", | |||||
"Name": "食堂", | |||||
"ParentId": "583659544297541" | |||||
}, | |||||
{ | |||||
"Id": "583660006621253", | |||||
"Name": "图书馆", | |||||
"ParentId": "583659544297541" | |||||
} | |||||
] | |||||
} |
@@ -1,14 +1,4 @@ | |||||
| |||||
// | |||||
namespace SafeCampus.System; | |||||
namespace SafeCampus.System; | |||||
/// <summary> | /// <summary> | ||||
/// 用户表种子数据 | /// 用户表种子数据 | ||||
@@ -1,9 +1,11 @@ | |||||
using MoYu.FriendlyException; | |||||
using Dm; | |||||
using MoYu.FriendlyException; | |||||
using MoYu.RemoteRequest.Extensions; | using MoYu.RemoteRequest.Extensions; | ||||
using Newtonsoft.Json.Linq; | using Newtonsoft.Json.Linq; | ||||
using SafeCampus.Application.Manager.DeepelephManager; | using SafeCampus.Application.Manager.DeepelephManager; | ||||
using SafeCampus.Application.Services.Business.ClassRoomCallService; | using SafeCampus.Application.Services.Business.ClassRoomCallService; | ||||
using SafeCampus.Application.Services.Business.ClassRoomCallTaskService; | using SafeCampus.Application.Services.Business.ClassRoomCallTaskService; | ||||
using SafeCampus.Core.Extension; | |||||
namespace SafeCampus.Web.Core.Controllers.Application.Business; | namespace SafeCampus.Web.Core.Controllers.Application.Business; | ||||
/// <summary> | /// <summary> | ||||
@@ -141,10 +143,46 @@ public class ClassRoomCallApi : IDynamicApiController | |||||
/// </summary> | /// </summary> | ||||
/// <param name="input"></param> | /// <param name="input"></param> | ||||
/// <returns></returns> | /// <returns></returns> | ||||
[Obsolete] | |||||
public async Task<bool> Update(ClassRoomCallUpdate input) | public async Task<bool> Update(ClassRoomCallUpdate input) | ||||
{ | { | ||||
return await _classRoomCallService.Update(input); | return await _classRoomCallService.Update(input); | ||||
} | } | ||||
/// <summary> | |||||
/// 手动点名 | |||||
/// </summary> | |||||
/// <returns></returns> | |||||
public async Task<bool> ManualRoll(List<ClassRoomCallInsert> input) | |||||
{ | |||||
var appSettings = App.GetOptionsMonitor<AppInfoOptions>(); | |||||
foreach (var item in input) | |||||
{ | |||||
var model = new ClassRoomCallDto | |||||
{ | |||||
TenantCode = appSettings.TenantCode, | |||||
PoiId = appSettings.PoiId, | |||||
TaskId = item.TaskId, | |||||
AlarmType = "class_room_call", | |||||
AlarmTypeDesc = AlarmType.class_room_call.GetDescription(), | |||||
EventId ="", | |||||
CameraId = "", | |||||
Tick = DateTime.Now, | |||||
PersonSetId = item.PersonSetId, | |||||
PersonId = item.PersonId, | |||||
Similarity = 1, | |||||
FaceScore = 100, | |||||
SnapshotUrl = "", | |||||
SnapshotData = "", | |||||
Rects = "", | |||||
Extend = "", | |||||
CreateTime = DateTime.Now, | |||||
TrackId = "" | |||||
}; | |||||
await _classRoomCallService.Add(model); | |||||
} | |||||
return true; | |||||
} | |||||
/// <summary> | /// <summary> | ||||
/// 删除点名记录(只可删除待处理的记录) | /// 删除点名记录(只可删除待处理的记录) | ||||
@@ -52,9 +52,10 @@ public class DepartmentController | |||||
/// </summary> | /// </summary> | ||||
/// <param name="id">id</param> | /// <param name="id">id</param> | ||||
/// <returns></returns> | /// <returns></returns> | ||||
public async Task<bool> Delete(List<long> id) | |||||
[HttpPost] | |||||
public async Task<bool> Delete(BaseIdListInput id) | |||||
{ | { | ||||
return await _departmentService.Delete(id); | |||||
return await _departmentService.Delete(id.Ids); | |||||
} | } | ||||
/// <summary> | /// <summary> | ||||
@@ -45,7 +45,7 @@ public class DfieldApi : IDynamicApiController | |||||
var model = JsonConvert.DeserializeObject<JObject>(str); | var model = JsonConvert.DeserializeObject<JObject>(str); | ||||
if ((bool)model["success"]) | if ((bool)model["success"]) | ||||
{ | { | ||||
await _personSetInfoService.Add(new PersonSetInfoDto{PersonSetId = personSetId ,PersonSetName = input.Name,MajorId = input.MagjorId}); | |||||
await _personSetInfoService.Add(new PersonSetInfoDto{PersonSetId = personSetId ,PersonSetName = input.Name,MajorId = input.MajorId}); | |||||
return model["data"]; | return model["data"]; | ||||
} | } | ||||
@@ -55,9 +55,9 @@ public class DfieldApi : IDynamicApiController | |||||
/// 查询底库列表 | /// 查询底库列表 | ||||
/// </summary> | /// </summary> | ||||
/// <returns></returns> | /// <returns></returns> | ||||
public async Task<dynamic> QueryAll(long? majorId) | |||||
public async Task<dynamic> QueryAll(long? majorId,string setName) | |||||
{ | { | ||||
return await _personSetInfoService.GetPageList(majorId); | |||||
return await _personSetInfoService.GetPageList(majorId, setName); | |||||
var appSettings = App.GetOptionsMonitor<AppInfoOptions>(); | var appSettings = App.GetOptionsMonitor<AppInfoOptions>(); | ||||
var str = await $"{appSettings.SXAPIURL}/dfield-api/ecology/person/set/queryAll" | var str = await $"{appSettings.SXAPIURL}/dfield-api/ecology/person/set/queryAll" | ||||
.SetBody(new | .SetBody(new | ||||
@@ -152,7 +152,7 @@ public class DfieldApi : IDynamicApiController | |||||
{ | { | ||||
PersonSetId = input.Id, | PersonSetId = input.Id, | ||||
PersonSetName = input.Name, | PersonSetName = input.Name, | ||||
MajorId = input.MagjorId | |||||
MajorId = input.MajorId | |||||
}); | }); | ||||
} | } | ||||
return isOk; | return isOk; | ||||
@@ -145,7 +145,7 @@ public class DormitoryController | |||||
configId = queryList["data"][0]["configId"].ParseToInt(); | configId = queryList["data"][0]["configId"].ParseToInt(); | ||||
} | } | ||||
var time = new { timeBegin = input.TimeBegin, timeEnd = input.TimeEnd }; | var time = new { timeBegin = input.TimeBegin, timeEnd = input.TimeEnd }; | ||||
var personSetIds = await _personSetInfoService.GetPageList(null); | |||||
var personSetIds = await _personSetInfoService.GetPageList(null,null); | |||||
var cameras = await _cameraInfoService.GetPageList(new CameraSearch{PageSize = 1000,PageNum = 1}); | var cameras = await _cameraInfoService.GetPageList(new CameraSearch{PageSize = 1000,PageNum = 1}); | ||||
var body = new | var body = new | ||||
{ | { | ||||
@@ -13,7 +13,7 @@ public class ControllersNameInput | |||||
/// <summary> | /// <summary> | ||||
/// 专业id | /// 专业id | ||||
/// </summary> | /// </summary> | ||||
public long MagjorId { get; set; } | |||||
public long MajorId { get; set; } | |||||
} | } | ||||
public class ControllersIdInput | public class ControllersIdInput | ||||
{ | { | ||||
@@ -0,0 +1,8 @@ | |||||
namespace SafeCampus.Web.Core.Controllers.Application.Business.Dto; | |||||
public class MajorDepPersonSetModel | |||||
{ | |||||
public string Label { get; set; } | |||||
public object Value { get; set; } | |||||
public List<MajorDepPersonSetModel> Children { get; set; } | |||||
} |
@@ -51,9 +51,10 @@ public class MajorController | |||||
/// </summary> | /// </summary> | ||||
/// <param name="id">id</param> | /// <param name="id">id</param> | ||||
/// <returns></returns> | /// <returns></returns> | ||||
public async Task<bool> Delete(List<long> id) | |||||
[HttpPost] | |||||
public async Task<bool> Delete(BaseIdListInput id) | |||||
{ | { | ||||
return await _majorService.Delete(id); | |||||
return await _majorService.Delete(id.Ids); | |||||
} | } | ||||
/// <summary> | /// <summary> | ||||
@@ -0,0 +1,53 @@ | |||||
using SafeCampus.Application.Services.Business.DepartmentService; | |||||
using SafeCampus.Application.Services.Business.MajorService; | |||||
using SafeCampus.Application.Services.Business.PersonSetInfoService; | |||||
using SafeCampus.Web.Core.Controllers.Application.Business.Dto; | |||||
namespace SafeCampus.Web.Core.Controllers.Application.Business; | |||||
/// <summary> | |||||
/// 移动端接口 | |||||
/// </summary> | |||||
[ApiDescriptionSettings(ApiGroupConsts.SYSTEM_Business, Order = 81, Tag = "移动端接口")] | |||||
[Route("/business/mobile")] | |||||
[RolePermission] | |||||
public class MobileController | |||||
{ | |||||
private readonly IDepartmentService _departmentService; | |||||
private readonly IMajorService _majorService; | |||||
private readonly IPersonSetInfoService _personSetInfoService; | |||||
public MobileController(IDepartmentService departmentService, IMajorService majorService, IPersonSetInfoService personSetInfoService) | |||||
{ | |||||
_departmentService = departmentService; | |||||
_majorService = majorService; | |||||
_personSetInfoService = personSetInfoService; | |||||
} | |||||
/// <summary> | |||||
/// 移动端获取专业系部班级列表 | |||||
/// </summary> | |||||
/// <returns></returns> | |||||
public async Task<List<MajorDepPersonSetModel>> GetMajorDep() | |||||
{ | |||||
var dep = await _departmentService.GetNoPageList(new DepartmentSearch()); | |||||
var major = await _majorService.GetNoPageList(new MajorSearch()); | |||||
var set = await _personSetInfoService.GetPageList(null, null); | |||||
var list = dep.Select(item => new MajorDepPersonSetModel | |||||
{ | |||||
Label = item.Name, | |||||
Value = item.Id, | |||||
Children = major.Where(x => x.DepId == item.Id) | |||||
.Select(x => new MajorDepPersonSetModel | |||||
{ | |||||
Label = x.Name, | |||||
Value = x.Id, | |||||
Children = set.Where(xx => xx.MajorId == x.Id) | |||||
.Select(xxx => new MajorDepPersonSetModel { Label = xxx.PersonSetName, Value = xxx.PersonSetId }) | |||||
.ToList() | |||||
}) | |||||
.ToList(), | |||||
}) | |||||
.ToList(); | |||||
return await Task.FromResult(list); | |||||
} | |||||
} |
@@ -308,9 +308,9 @@ public class LargeScreenController | |||||
/// 获取班级列表 | /// 获取班级列表 | ||||
/// </summary> | /// </summary> | ||||
/// <returns></returns> | /// <returns></returns> | ||||
public async Task<dynamic> GetPersonSetNoPageList(long? majorId) | |||||
public async Task<dynamic> GetPersonSetNoPageList(long? majorId,string setName) | |||||
{ | { | ||||
return await _personSetInfoService.GetPageList(majorId); | |||||
return await _personSetInfoService.GetPageList(majorId, setName); | |||||
} | } | ||||
/// <summary> | /// <summary> | ||||
/// 获取专业 | /// 获取专业 | ||||
@@ -0,0 +1,20 @@ | |||||
namespace SafeCampus.Web.Core.Controllers.Application.Violation; | |||||
public enum SearchType | |||||
{ | |||||
/// <summary> | |||||
/// 本周 | |||||
/// </summary> | |||||
[Description("本周")] | |||||
ThisWeek=1, | |||||
/// <summary> | |||||
/// 上周 | |||||
/// </summary> | |||||
[Description("上周")] | |||||
LastWeek, | |||||
/// <summary> | |||||
/// 本月 | |||||
/// </summary> | |||||
[Description("本月")] | |||||
ThisMonth, | |||||
} |
@@ -0,0 +1,13 @@ | |||||
namespace SafeCampus.Web.Core.Controllers.Application.Violation; | |||||
public class SummarySeach | |||||
{ | |||||
/// <summary> | |||||
/// 搜索条件 | |||||
/// </summary> | |||||
public SearchType SearchType { get; set; } | |||||
/// <summary> | |||||
/// 人员id | |||||
/// </summary> | |||||
public string PersonId { get; set; } | |||||
} |
@@ -1,4 +1,10 @@ | |||||
using SafeCampus.Application.Services.Business.PersonInfoService; | |||||
using Masuit.Tools.Systems; | |||||
using SafeCampus.Application.Services.Business.CameraInfoService; | |||||
using SafeCampus.Application.Services.Business.PersonInfoService; | |||||
using SafeCampus.Application.Services.Business.Warn.Dto; | |||||
using SafeCampus.Application.Services.Business.Warn.Service; | |||||
using System; | |||||
namespace SafeCampus.Web.Core.Controllers.Application.Violation; | namespace SafeCampus.Web.Core.Controllers.Application.Violation; | ||||
/// <summary> | /// <summary> | ||||
@@ -10,10 +16,14 @@ namespace SafeCampus.Web.Core.Controllers.Application.Violation; | |||||
public class VioPortraitSummary | public class VioPortraitSummary | ||||
{ | { | ||||
private readonly IPersonInfoService _personInfoService; | private readonly IPersonInfoService _personInfoService; | ||||
private readonly ICameraInfoService _cameraInfoService; | |||||
private readonly IWarnInfoService _warnInfoService; | |||||
public VioPortraitSummary(IPersonInfoService personInfoService) | |||||
public VioPortraitSummary(IPersonInfoService personInfoService, ICameraInfoService cameraInfoService, IWarnInfoService warnInfoService) | |||||
{ | { | ||||
_personInfoService = personInfoService; | _personInfoService = personInfoService; | ||||
_cameraInfoService = cameraInfoService; | |||||
_warnInfoService = warnInfoService; | |||||
} | } | ||||
/// <summary> | /// <summary> | ||||
@@ -64,16 +74,131 @@ public class VioPortraitSummary | |||||
return new { label, value }; | return new { label, value }; | ||||
} | } | ||||
/// <summary> | /// <summary> | ||||
/// 获取学生属性标签 | |||||
/// 学生--告警分类统计 | |||||
/// </summary> | /// </summary> | ||||
/// <returns></returns> | /// <returns></returns> | ||||
public async Task<dynamic> GetStudentDetail() | |||||
public async Task<dynamic> GetStudentDetail(SummarySeach seach) | |||||
{ | { | ||||
var random = new Random(); | var random = new Random(); | ||||
var label = new List<string> { "打闹", "趴桌子", "爱运动", "喜欢读书", "性格孤僻" }; | var label = new List<string> { "打闹", "趴桌子", "爱运动", "喜欢读书", "性格孤僻" }; | ||||
var value = label.Select(item => random.Next(2, 20)).ToList(); | var value = label.Select(item => random.Next(2, 20)).ToList(); | ||||
//var value = new List<int>() { 10, 5, 8, 5, 1 }; | |||||
return new { label, value }; | |||||
return await Task.FromResult(new { label, value ,PF="93",XF="90"}); | |||||
} | |||||
/// <summary> | |||||
/// 学生--出勤情况 | |||||
/// </summary> | |||||
/// <returns></returns> | |||||
public async Task<dynamic> Attendance(SummarySeach seach) | |||||
{ | |||||
switch (seach.SearchType) | |||||
{ | |||||
case SearchType.ThisWeek: | |||||
case SearchType.LastWeek: | |||||
case SearchType.ThisMonth: | |||||
default: | |||||
var random = new Random(); | |||||
var label = new List<string> { "正常出勤", "缺勤", "迟到" }; | |||||
var value = label.Select(item => random.Next(2, 20)).ToList(); | |||||
return await Task.FromResult(new { label, value }); | |||||
} | |||||
} | |||||
/// <summary> | |||||
/// 学生--出校 | |||||
/// </summary> | |||||
/// <returns></returns> | |||||
public async Task<dynamic> OutsideSchool(SummarySeach seach) | |||||
{ | |||||
return await StudentSummary(seach, ApplicationConst.XXDM); | |||||
} | |||||
/// <summary> | |||||
/// 学生--图书馆 | |||||
/// </summary> | |||||
/// <returns></returns> | |||||
public async Task<dynamic> Library(SummarySeach seach) | |||||
{ | |||||
return await StudentSummary(seach, ApplicationConst.TSG); | |||||
} | |||||
/// <summary> | |||||
/// 学生--食堂 | |||||
/// </summary> | |||||
/// <returns></returns> | |||||
public async Task<dynamic> Canteen(SummarySeach seach) | |||||
{ | |||||
return await StudentSummary(seach, ApplicationConst.ST); | |||||
} | } | ||||
/// <summary> | |||||
/// 学生画像统计 | |||||
/// </summary> | |||||
/// <param name="seach"></param> | |||||
/// <param name="groupId"></param> | |||||
/// <returns></returns> | |||||
private async Task<dynamic> StudentSummary(SummarySeach seach,long groupId) | |||||
{ | |||||
var camera = await _cameraInfoService.GetPageList(new CameraSearch { GroupId = groupId, PageSize = 1000, PageNum = 1 }); | |||||
var cameraIds = camera.List.Select(x => x.SensorId).ToList(); | |||||
DateTime endWeek = DateTime.Now; | |||||
// 获取本周的第一天(假设一周从周一开始) | |||||
DateTime startOfWeek = endWeek.AddDays(-(int)endWeek.DayOfWeek + (int)DayOfWeek.Monday); | |||||
var label = new List<string>(); | |||||
var value = new List<int>(); | |||||
switch (seach.SearchType) | |||||
{ | |||||
case SearchType.ThisWeek: | |||||
var list = await _warnInfoService.GetListNoPage(new WarnInfoSearch | |||||
{ | |||||
AlarmType = AlarmType.visual_fence.GetDisplay(), | |||||
CameraIds = cameraIds, | |||||
PersonId = seach.PersonId, | |||||
StartTick = startOfWeek, | |||||
EndTick = endWeek | |||||
}); | |||||
for (var i = startOfWeek; i < endWeek;) | |||||
{ | |||||
label.Add(i.ToString("yyyy-MM-dd")); | |||||
value.Add(list.Count(x => x.Tick.Year == i.Year && x.Tick.Month == i.Month && x.Tick.Day == i.Day)); | |||||
i = i.AddDays(1); | |||||
} | |||||
return new { label, value }; | |||||
case SearchType.LastWeek: | |||||
DateTime startOfLastWeek = startOfWeek.AddDays(-7); | |||||
DateTime endOfLastWeek = startOfLastWeek.AddDays(6).Date.AddDays(1).AddTicks(-1); // 上周的最后一刻 | |||||
var list1 = await _warnInfoService.GetListNoPage(new WarnInfoSearch | |||||
{ | |||||
AlarmType = AlarmType.visual_fence.GetDisplay(), | |||||
CameraIds = cameraIds, | |||||
PersonId = seach.PersonId, | |||||
StartTick = startOfLastWeek, | |||||
EndTick = endOfLastWeek | |||||
}); | |||||
for (var i = startOfWeek; i < endWeek;) | |||||
{ | |||||
label.Add(i.ToString("yyyy-MM-dd")); | |||||
value.Add(list1.Count(x => x.Tick.Year == i.Year && x.Tick.Month == i.Month && x.Tick.Day == i.Day)); | |||||
i = i.AddDays(1); | |||||
} | |||||
return new { label, value }; | |||||
case SearchType.ThisMonth: | |||||
DateTime startOfMonth = new DateTime(endWeek.Year, endWeek.Month, 1); | |||||
var list2 = await _warnInfoService.GetListNoPage(new WarnInfoSearch | |||||
{ | |||||
AlarmType = AlarmType.visual_fence.GetDisplay(), | |||||
CameraIds = cameraIds, | |||||
PersonId = seach.PersonId, | |||||
StartTick = startOfMonth, | |||||
EndTick = endWeek | |||||
}); | |||||
for (var i = startOfWeek; i < endWeek;) | |||||
{ | |||||
label.Add(i.ToString("yyyy-MM-dd")); | |||||
value.Add(list2.Count(x => x.Tick.Year == i.Year && x.Tick.Month == i.Month && x.Tick.Day == i.Day)); | |||||
i = i.AddDays(1); | |||||
} | |||||
return new { label, value }; | |||||
default: | |||||
return null; | |||||
} | |||||
} | |||||
} | } |
@@ -269,6 +269,12 @@ | |||||
<param name="input"></param> | <param name="input"></param> | ||||
<returns></returns> | <returns></returns> | ||||
</member> | </member> | ||||
<member name="M:SafeCampus.Web.Core.Controllers.Application.Business.ClassRoomCallApi.ManualRoll(System.Collections.Generic.List{SafeCampus.Application.Services.Business.ClassRoomCallService.ClassRoomCallInsert})"> | |||||
<summary> | |||||
手动点名 | |||||
</summary> | |||||
<returns></returns> | |||||
</member> | |||||
<member name="M:SafeCampus.Web.Core.Controllers.Application.Business.ClassRoomCallApi.Remove(System.Int64)"> | <member name="M:SafeCampus.Web.Core.Controllers.Application.Business.ClassRoomCallApi.Remove(System.Int64)"> | ||||
<summary> | <summary> | ||||
删除点名记录(只可删除待处理的记录) | 删除点名记录(只可删除待处理的记录) | ||||
@@ -411,7 +417,7 @@ | |||||
<param name="id"></param> | <param name="id"></param> | ||||
<returns></returns> | <returns></returns> | ||||
</member> | </member> | ||||
<member name="M:SafeCampus.Web.Core.Controllers.Application.Business.DepartmentController.Delete(System.Collections.Generic.List{System.Int64})"> | |||||
<member name="M:SafeCampus.Web.Core.Controllers.Application.Business.DepartmentController.Delete(SafeCampus.Core.BaseIdListInput)"> | |||||
<summary> | <summary> | ||||
删除 | 删除 | ||||
</summary> | </summary> | ||||
@@ -516,7 +522,7 @@ | |||||
</summary> | </summary> | ||||
<returns></returns> | <returns></returns> | ||||
</member> | </member> | ||||
<member name="M:SafeCampus.Web.Core.Controllers.Application.Business.DfieldApi.QueryAll(System.Nullable{System.Int64})"> | |||||
<member name="M:SafeCampus.Web.Core.Controllers.Application.Business.DfieldApi.QueryAll(System.Nullable{System.Int64},System.String)"> | |||||
<summary> | <summary> | ||||
查询底库列表 | 查询底库列表 | ||||
</summary> | </summary> | ||||
@@ -837,7 +843,7 @@ | |||||
结束时间 | 结束时间 | ||||
</summary> | </summary> | ||||
</member> | </member> | ||||
<member name="P:SafeCampus.Web.Core.Controllers.Application.Business.ControllersNameInput.MagjorId"> | |||||
<member name="P:SafeCampus.Web.Core.Controllers.Application.Business.ControllersNameInput.MajorId"> | |||||
<summary> | <summary> | ||||
专业id | 专业id | ||||
</summary> | </summary> | ||||
@@ -959,7 +965,7 @@ | |||||
<param name="id"></param> | <param name="id"></param> | ||||
<returns></returns> | <returns></returns> | ||||
</member> | </member> | ||||
<member name="M:SafeCampus.Web.Core.Controllers.Application.Business.MajorController.Delete(System.Collections.Generic.List{System.Int64})"> | |||||
<member name="M:SafeCampus.Web.Core.Controllers.Application.Business.MajorController.Delete(SafeCampus.Core.BaseIdListInput)"> | |||||
<summary> | <summary> | ||||
删除 | 删除 | ||||
</summary> | </summary> | ||||
@@ -979,6 +985,17 @@ | |||||
<param name="search"></param> | <param name="search"></param> | ||||
<returns></returns> | <returns></returns> | ||||
</member> | </member> | ||||
<member name="T:SafeCampus.Web.Core.Controllers.Application.Business.MobileController"> | |||||
<summary> | |||||
移动端接口 | |||||
</summary> | |||||
</member> | |||||
<member name="M:SafeCampus.Web.Core.Controllers.Application.Business.MobileController.GetMajorDep"> | |||||
<summary> | |||||
移动端获取专业系部班级列表 | |||||
</summary> | |||||
<returns></returns> | |||||
</member> | |||||
<member name="T:SafeCampus.Web.Core.Controllers.Application.Business.PassengerFlowApi"> | <member name="T:SafeCampus.Web.Core.Controllers.Application.Business.PassengerFlowApi"> | ||||
<summary> | <summary> | ||||
客流查询接口 | 客流查询接口 | ||||
@@ -1225,7 +1242,7 @@ | |||||
</summary> | </summary> | ||||
<returns></returns> | <returns></returns> | ||||
</member> | </member> | ||||
<member name="M:SafeCampus.Web.Core.Controllers.Application.LargeScreen.LargeScreenController.GetPersonSetNoPageList(System.Nullable{System.Int64})"> | |||||
<member name="M:SafeCampus.Web.Core.Controllers.Application.LargeScreen.LargeScreenController.GetPersonSetNoPageList(System.Nullable{System.Int64},System.String)"> | |||||
<summary> | <summary> | ||||
获取班级列表 | 获取班级列表 | ||||
</summary> | </summary> | ||||
@@ -1264,6 +1281,31 @@ | |||||
包含的班级id | 包含的班级id | ||||
</summary> | </summary> | ||||
</member> | </member> | ||||
<member name="F:SafeCampus.Web.Core.Controllers.Application.Violation.SearchType.ThisWeek"> | |||||
<summary> | |||||
本周 | |||||
</summary> | |||||
</member> | |||||
<member name="F:SafeCampus.Web.Core.Controllers.Application.Violation.SearchType.LastWeek"> | |||||
<summary> | |||||
上周 | |||||
</summary> | |||||
</member> | |||||
<member name="F:SafeCampus.Web.Core.Controllers.Application.Violation.SearchType.ThisMonth"> | |||||
<summary> | |||||
本月 | |||||
</summary> | |||||
</member> | |||||
<member name="P:SafeCampus.Web.Core.Controllers.Application.Violation.SummarySeach.SearchType"> | |||||
<summary> | |||||
搜索条件 | |||||
</summary> | |||||
</member> | |||||
<member name="P:SafeCampus.Web.Core.Controllers.Application.Violation.SummarySeach.PersonId"> | |||||
<summary> | |||||
人员id | |||||
</summary> | |||||
</member> | |||||
<member name="T:SafeCampus.Web.Core.Controllers.Application.Violation.VioAnalysisController"> | <member name="T:SafeCampus.Web.Core.Controllers.Application.Violation.VioAnalysisController"> | ||||
<summary> | <summary> | ||||
预警分析控制器 | 预警分析控制器 | ||||
@@ -1358,10 +1400,42 @@ | |||||
</summary> | </summary> | ||||
<returns></returns> | <returns></returns> | ||||
</member> | </member> | ||||
<member name="M:SafeCampus.Web.Core.Controllers.Application.Violation.VioPortraitSummary.GetStudentDetail"> | |||||
<member name="M:SafeCampus.Web.Core.Controllers.Application.Violation.VioPortraitSummary.GetStudentDetail(SafeCampus.Web.Core.Controllers.Application.Violation.SummarySeach)"> | |||||
<summary> | |||||
学生--告警分类统计 | |||||
</summary> | |||||
<returns></returns> | |||||
</member> | |||||
<member name="M:SafeCampus.Web.Core.Controllers.Application.Violation.VioPortraitSummary.Attendance(SafeCampus.Web.Core.Controllers.Application.Violation.SummarySeach)"> | |||||
<summary> | |||||
学生--出勤情况 | |||||
</summary> | |||||
<returns></returns> | |||||
</member> | |||||
<member name="M:SafeCampus.Web.Core.Controllers.Application.Violation.VioPortraitSummary.OutsideSchool(SafeCampus.Web.Core.Controllers.Application.Violation.SummarySeach)"> | |||||
<summary> | |||||
学生--出校 | |||||
</summary> | |||||
<returns></returns> | |||||
</member> | |||||
<member name="M:SafeCampus.Web.Core.Controllers.Application.Violation.VioPortraitSummary.Library(SafeCampus.Web.Core.Controllers.Application.Violation.SummarySeach)"> | |||||
<summary> | |||||
学生--图书馆 | |||||
</summary> | |||||
<returns></returns> | |||||
</member> | |||||
<member name="M:SafeCampus.Web.Core.Controllers.Application.Violation.VioPortraitSummary.Canteen(SafeCampus.Web.Core.Controllers.Application.Violation.SummarySeach)"> | |||||
<summary> | |||||
学生--食堂 | |||||
</summary> | |||||
<returns></returns> | |||||
</member> | |||||
<member name="M:SafeCampus.Web.Core.Controllers.Application.Violation.VioPortraitSummary.StudentSummary(SafeCampus.Web.Core.Controllers.Application.Violation.SummarySeach,System.Int64)"> | |||||
<summary> | <summary> | ||||
获取学生属性标签 | |||||
学生画像统计 | |||||
</summary> | </summary> | ||||
<param name="seach"></param> | |||||
<param name="groupId"></param> | |||||
<returns></returns> | <returns></returns> | ||||
</member> | </member> | ||||
<member name="T:SafeCampus.Web.Core.BizOrgController"> | <member name="T:SafeCampus.Web.Core.BizOrgController"> | ||||
@@ -5,7 +5,7 @@ https://go.microsoft.com/fwlink/?LinkID=208121. | |||||
<Project> | <Project> | ||||
<PropertyGroup> | <PropertyGroup> | ||||
<_PublishTargetUrl>F:\Project\QJKJ\SafeCampus\SafeCampus.API\SafeCampus.Web.Entry\bin\Release\net6.0\publish\</_PublishTargetUrl> | <_PublishTargetUrl>F:\Project\QJKJ\SafeCampus\SafeCampus.API\SafeCampus.Web.Entry\bin\Release\net6.0\publish\</_PublishTargetUrl> | ||||
<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> | |||||
<History>True|2024-08-27T07:31:21.7026102Z;True|2024-08-20T11:12:26.7141701+08:00;True|2024-08-19T17:23:34.5703879+08:00;True|2024-08-19T15:55:28.3484786+08:00;True|2024-08-19T15:45:49.5623372+08:00;True|2024-08-19T14:56:17.7733738+08:00;True|2024-08-19T14:52:03.2782392+08:00;True|2024-08-19T14:10:57.7043528+08:00;True|2024-08-19T13:38:29.9236695+08:00;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;</History> | |||||
<LastFailureDetails /> | <LastFailureDetails /> | ||||
</PropertyGroup> | </PropertyGroup> | ||||
</Project> | </Project> |