using Microsoft.Extensions.Logging; using SlnMesnac.Model.domain; using SlnMesnac.Repository.service.@base; using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace SlnMesnac.Repository.service.Impl { public class RecordStaffRealTimeServiceImpl : BaseServiceImpl, IRecordStaffRealTimeService { private readonly ILogger _logger; public RecordStaffRealTimeServiceImpl(Repository rep, ILogger logger) : base(rep) { _logger = logger; } /// /// 获取指定工位的实时打卡记录 /// /// /// /// public List GetRecordStaffRealTime(string stationCode) { List records = null; try { records = base._rep.GetList(x => x.StationCode == stationCode && x.AttendanceType == "0"); records = records.OrderByDescending(x => x.CreateTime).Take(20).ToList(); } catch (Exception ex) { _logger.LogError($"获取员工实时打卡记录异常{ex.Message}"); } return records; } /// /// 获取班长信息 /// /// public MonitorInfo GetMonitorInfo(string stationCode) { var monitorInfo = _rep.Context.Queryable() .LeftJoin((srt, si) => srt.StaffId == si.StaffId) .Where((srt, si) => si.StaffType == "1" && srt.StationCode == stationCode) .Select((srt, si) => new MonitorInfo { stationCode = srt.StationCode, staffId = si.StaffId, staffName = si.StaffName, staffType = si.StaffType }).First(); return monitorInfo; } } }