Exemple #1
0
        public IActionResult GetDutyCheckPackageProcess(Guid organizationId)
        {
            try
            {
                if (organizationId == null || organizationId == new Guid())
                {
                    return(NoContent());
                }

                using (var db = new AllInOneContext.AllInOneContext())
                {
                    DutyCheckPackage package = db.DutyCheckPackage
                                               .Include(t => t.DutyCheckPackLogs).ThenInclude(t => t.DutyCheckLog).ThenInclude(t => t.Status)
                                               .FirstOrDefault(p => p.StartTime <= DateTime.Now && p.EndTime >= DateTime.Now);
                    if (package == null)
                    {
                        return(NoContent());
                    }

                    var endLogs = package.DutyCheckPackLogs.Where(p => p.DutyCheckLog.Status.SystemOptionCode.Equals("16000003")).Count();
                    int status  = 0;
                    if (endLogs > 0)
                    {
                        status = 2;
                    }
                    DutyCheckPackageProcess process = new DutyCheckPackageProcess
                    {
                        Description   = "",
                        EndTime       = package.EndTime,
                        StartTime     = package.StartTime,
                        Total         = package.DutyCheckPackLogs.Count(),
                        CompetedCount = endLogs,
                        ProcessStatus = status
                    };

                    return(new ObjectResult(process));
                }
            }
            catch (Exception ex)
            {
                _logger.LogError("根据组织机构ID获取查勤进度状态:Message:{0}\r\n,StackTrace:{1}", ex.Message, ex.StackTrace);
                return(BadRequest(new ApplicationException {
                    ErrorCode = "Unknown", ErrorMessage = ex.Message
                }));
            }
        }
Exemple #2
0
        ///// <summary>
        ///// 获取查勤进度
        ///// </summary>
        ///// <returns></returns>
        //[HttpGet]
        //[Route("~/Paps/dutyCheckLog/organizationId={organizationId}")]
        //public IActionResult GetDutyCheckLogByProcess(Guid organizationId)
        //{
        //    using (var db = new AllInOneContext.AllInOneContext())
        //    {
        //        DutyCheckLog data = db.DutyCheckLog
        //                            .Include(t => t.Apprise).ThenInclude(t => t.AppraiseICO)
        //                            .Include(t => t.Apprise).ThenInclude(t => t.AppraiseType)
        //                            .Include(t => t.DutyCheckOperation).ThenInclude(t => t.Attachments).ThenInclude(t => t.Attachment)
        //                            .Include(t => t.DutyCheckOperation).ThenInclude(t => t.Attachments).ThenInclude(t => t.AttachmentType)
        //                            .Include(t => t.DutyCheckSiteSchedule).ThenInclude(t => t.CheckDutySite)
        //                            .Include(t => t.DutyCheckSiteSchedule).ThenInclude(t => t.CheckMan)
        //                            .Include(t => t.DutyCheckStaff)
        //                            .Include(t => t.Organization)
        //                            .Include(t => t.RecordType)
        //                            .Include(t => t.Status)
        //                            .FirstOrDefault(
        //                            p => p.OrganizationId.Equals(organizationId)
        //                            && );
        //        if (data == null)
        //        {
        //            return NoContent();
        //        }

        //        return new ObjectResult(data);
        //    }
        //}


        /// <summary>
        /// 检查查勤进度
        /// </summary>
        private void CheckPackageProcess(Guid organizationId)
        {
            try
            {
                if (organizationId == null || organizationId == new Guid())
                {
                    return;
                }

                using (var db = new AllInOneContext.AllInOneContext())
                {
                    DutyCheckPackage package = db.DutyCheckPackage
                                               .Include(t => t.DutyCheckPackLogs).ThenInclude(t => t.DutyCheckLog).ThenInclude(t => t.Status)
                                               .FirstOrDefault(p => p.StartTime <= DateTime.Now && p.EndTime >= DateTime.Now);
                    if (package == null)
                    {
                        MQPulish.PublishMessage("DutyCheckPackageProcess", new DutyCheckPackageProcess {
                            ProcessStatus = 0, Description = "尚未开始"
                        });
                        return;
                    }

                    var endLogs = package.DutyCheckPackLogs.Where(p => p.DutyCheckLog.Status.SystemOptionCode.Equals("16000003")).Count();
                    int status  = 0;
                    if (endLogs > 0)
                    {
                        status = 2;
                    }
                    DutyCheckPackageProcess process = new DutyCheckPackageProcess
                    {
                        Description   = "",
                        EndTime       = package.EndTime,
                        StartTime     = package.StartTime,
                        Total         = package.DutyCheckPackLogs.Count(),
                        CompetedCount = endLogs,
                        ProcessStatus = status
                    };

                    MQPulish.PublishMessage("DutyCheckPackageProcess", process);
                }
            }
            catch (Exception ex)
            {
                Console.WriteLine(string.Format("根据组织机构ID获取查勤进度状态:Message:{0}\r\n,StackTrace:{1}", ex.Message, ex.StackTrace));
            }
        }