public DutyDetail GetDutyDetailByFieldCheck(Guid sentinelId, DateTime time, Guid?staffId) { using (var db = new AllInOneContext.AllInOneContext()) { var Sentinel = db.IPDeviceInfo .FirstOrDefault(p => p.IPDeviceInfoId.Equals(sentinelId)); if (Sentinel == null) { return(null); } //取当前记录 var logs = db.DutyCheckLog .Include(t => t.DutyCheckSiteSchedule).ThenInclude(t => t.CheckMan).ThenInclude(t => t.Organization) .Include(t => t.DutyCheckSiteSchedule).ThenInclude(t => t.CheckMan).ThenInclude(t => t.PositionType) .Include(t => t.DayPeriod).ThenInclude(t => t.TimePeriods) .Where(p => p.DutyCheckSiteSchedule != null && new DateTime(p.PlanDate.Value.Year, p.PlanDate.Value.Month, p.PlanDate.Value.Day, p.TimePeriod.StartTime.Hour, p.TimePeriod.StartTime.Minute, p.TimePeriod.StartTime.Second) <= time && new DateTime(p.PlanDate.Value.Year, p.PlanDate.Value.Month, p.PlanDate.Value.Day, p.TimePeriod.EndTime.Hour, p.TimePeriod.EndTime.Minute, p.TimePeriod.EndTime.Second) >= time); if (logs == null) { return(null); } DutyCheckLog log = null; foreach (DutyCheckLog dcl in logs) //由于DutyCheckSiteScheduleId也可能为空,暂这样处理 { if (dcl.DutyCheckSiteSchedule != null && dcl.DutyCheckSiteSchedule.SiteOrganizationId.Equals(Sentinel.OrganizationId)) { log = dcl; break; } } if (log == null) { return(null); } //取 查哨人员 Staff checkStaff = null; if (staffId != null) { checkStaff = db.Staff.FirstOrDefault(p => p.StaffId.Equals(staffId)); } // DutyDetail dutyDetail = new DutyDetail(); dutyDetail.Sentinelid = sentinelId; dutyDetail.OnDutyStaff = log.DutyCheckSiteSchedule.CheckMan; if (checkStaff != null) { dutyDetail.OffDutyStaff = checkStaff; } return(dutyDetail); } }
public IActionResult GetDutyDetail(Guid sentinelId) { try { DutyDetail dutyDetail = GetDutyDetailBySentinelId(sentinelId); if (dutyDetail == null) { return(NoContent()); } return(new ObjectResult(dutyDetail)); } catch (Exception ex) { _logger.LogError("获取值班交接情况:Message:{0}\r\n,StackTrace:{1}", ex.Message, ex.StackTrace); return(BadRequest(new ApplicationException { ErrorCode = "Unknown", ErrorMessage = ex.Message })); } }
private void FillDataCtrl() { Employee.MODEL employee; WX.Model.User.MODEL usermodel; if (WX.Request.rUserId != null) { employee = WX.Request.rEmpolyee; usermodel = WX.Request.rUser; } else { WX.Main.CurUser.LoadUserModel(false); employee = Employee.GetModel("SELECT * FROM TU_Employees WHERE UserID='" + WX.Main.CurUser.UserID + "'"); usermodel = WX.Main.CurUser.UserModel; } if (employee.LoadSucceed || true) { Department.MODEL dept = Department.GetCache(usermodel.DepartmentID.ToInt32()); if (dept != null) { lblDeptName.Text = dept.Name.ToString(); } DutyDetail.MODEL duty = DutyDetail.GetCache(usermodel.DutyId.ToInt32()); if (duty != null) { lblDutyName.Text = duty.Name.ToString(); } Company.MODEL cmp = Company.GetCache(usermodel.CompanyID.ToInt32()); if (cmp != null) { lblCompanyName.Text = cmp.Name.ToString(); } //this.ddlCompany.SelectedItem.Value = employee.CompanyID.ToString(); deptId = usermodel.DepartmentID.ToString(); this.lblRealName.Text = usermodel.RealName.ToString(); this.lblIdCard.Text = employee.IDCard.ToString(); //this.ddlPosition.SelectedItem.Value = employee.DutyId.ToString(); this.lblBirthday.Text = employee.Birthday.f("{0:yyyy年MM月dd日}"); this.lblMoblie.Text = employee.Mobile.ToString(); this.lblSex.Text = employee.Sex.ToBoolean() ? "男" : "女"; this.lblQQ.Text = employee.QQ.ToString(); this.lblEmail.Text = employee.Email.ToString(); this.lblTelephone.Text = employee.Tel.ToString(); string[] addrarry = employee.Address.ToString().Split('|'); if (addrarry.Length > 1) { this.lblAddress.Text = addrarry[0].Split(':')[0] + " " + addrarry[0].Split(':')[1]; this.lblAddress2.Text = addrarry[1].Split(':')[0] + " " + addrarry[1].Split(':')[1]; } if (employee.UserFace.isEmpty) { this.liPreZoomImage.Text = "<img id=\"preZoomImage\" src=\"/Images/NoPhoto.gif\" alt=\"\" style=\"width: 100%; height: 100%;\" />"; } else { this.liPreZoomImage.Text = "<img id=\"preZoomImage\" src=\"" + (employee.UserFace.ToString()) + "\" alt=\"\" style=\"width: 100%; height: 100%; \" />"; } this.lblContent.Text = employee.Introduction.ToString(); WX.Model.EmployeeCredential.MODEL model = WX.Model.EmployeeCredential.GetModel("Select top 1 * from [TU_Employees_Credentials] where Name='身份证扫描件'"); if (model != null) { cardannex.Text = "<a href=\"javascript:PopupIFrame('Priv_CredentialsDetail.aspx?Id=" + model.Id.ToString() + "','查看详细','','',1000,800)\">查看扫描件</a>"; } } }
public DutyDetail GetDutyDetailBySentinelId(Guid sentinelId) { using (var db = new AllInOneContext.AllInOneContext()) { DateTime time = DateTime.Now; var Sentinel = db.IPDeviceInfo .FirstOrDefault(p => p.IPDeviceInfoId.Equals(sentinelId)); if (Sentinel == null) { return(null); } //取当前记录 var logs = db.DutyCheckLog .Include(t => t.DutyCheckSiteSchedule).ThenInclude(t => t.CheckMan).ThenInclude(t => t.Organization) .Include(t => t.DutyCheckSiteSchedule).ThenInclude(t => t.CheckMan).ThenInclude(t => t.PositionType) .Include(t => t.DayPeriod).ThenInclude(t => t.TimePeriods) .Where(p => p.DutyCheckSiteSchedule != null && new DateTime(p.PlanDate.Value.Year, p.PlanDate.Value.Month, p.PlanDate.Value.Day, p.TimePeriod.StartTime.Hour, p.TimePeriod.StartTime.Minute, p.TimePeriod.StartTime.Second) <= time && new DateTime(p.PlanDate.Value.Year, p.PlanDate.Value.Month, p.PlanDate.Value.Day, p.TimePeriod.EndTime.Hour, p.TimePeriod.EndTime.Minute, p.TimePeriod.EndTime.Second) >= time); if (logs == null) { return(null); } DutyCheckLog log = null; foreach (DutyCheckLog dcl in logs) //由于DutyCheckSiteScheduleId也可能为空,暂这样处理 { if (dcl.DutyCheckSiteSchedule != null && dcl.DutyCheckSiteSchedule.SiteOrganizationId.Equals(Sentinel.OrganizationId)) { log = dcl; break; } } if (log == null) { return(null); } //取前一时段的记录 int day = 0; int oldOrderNo = log.TimePeriod.OrderNo - 1; if (oldOrderNo <= 0) { oldOrderNo = log.DayPeriod.TimePeriods.Max(p => p.OrderNo); day = -1; } TimePeriod oldTimePeriod = log.DayPeriod.TimePeriods.Find(p => p.OrderNo.Equals(oldOrderNo)); // DateTime oldStartTime = new DateTime(time.AddDays(day).Date.Year, time.AddDays(day).Date.Month, time.AddDays(day).Date.Day, oldTimePeriod.StartTime.Hour, oldTimePeriod.StartTime.Minute, oldTimePeriod.StartTime.Second); DateTime oldEndTime = new DateTime(time.AddDays(day).Date.Year, time.AddDays(day).Date.Month, time.AddDays(day).Date.Day, oldTimePeriod.EndTime.Hour, oldTimePeriod.EndTime.Minute, oldTimePeriod.EndTime.Second); DutyCheckLog oldlog = null; var oldlogs = db.DutyCheckLog .Include(t => t.DutyCheckSiteSchedule).ThenInclude(t => t.CheckMan).ThenInclude(t => t.Organization) .Include(t => t.DutyCheckSiteSchedule).ThenInclude(t => t.CheckMan).ThenInclude(t => t.PositionType) .Include(t => t.DayPeriod).ThenInclude(t => t.TimePeriods) .Where(p => p.DutyCheckSiteSchedule != null && new DateTime(p.PlanDate.Value.Year, p.PlanDate.Value.Month, p.PlanDate.Value.Day, p.TimePeriod.StartTime.Hour, p.TimePeriod.StartTime.Minute, p.TimePeriod.StartTime.Second) <= oldStartTime && new DateTime(p.PlanDate.Value.Year, p.PlanDate.Value.Month, p.PlanDate.Value.Day, p.TimePeriod.EndTime.Hour, p.TimePeriod.EndTime.Minute, p.TimePeriod.EndTime.Second) >= oldEndTime); if (oldlogs != null) { foreach (DutyCheckLog dcl in oldlogs) { if (dcl.DutyCheckSiteSchedule != null && dcl.DutyCheckSiteSchedule.SiteOrganizationId.Equals(Sentinel.OrganizationId)) { oldlog = dcl; break; } } } // DutyDetail dutyDetail = new DutyDetail(); dutyDetail.Sentinelid = sentinelId; dutyDetail.OnDutyStaff = log.DutyCheckSiteSchedule.CheckMan; if (oldlog != null) { dutyDetail.OffDutyStaff = oldlog.DutyCheckSiteSchedule.CheckMan; } return(dutyDetail); } }