Example #1
0
 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);
     }
 }
Example #2
0
 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] + "&nbsp;&nbsp;" + addrarry[0].Split(':')[1];
             this.lblAddress2.Text = addrarry[1].Split(':')[0] + "&nbsp;&nbsp;" + 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>";
         }
     }
 }
Example #4
0
        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);
            }
        }