如何显示每月出勤数据

时间:2019-01-19 12:09:12

标签: c# entity-framework-core

我有两个桌子

TblEmployee

attenance_id雇员ID扫描类型日期和时间   1 1 IN-19年1月15日上午8:00:00   2 1 IN-19年1月15日上午8:00:02   3 2 IN-19年1月15日8:05:01 AM   4 2 OUT 19年1月15日下午4:00:00   5 1 IN 19-Jan 19 8:05:30 AM

出勤表

emp_id emp_name   1名萨尔曼   2塔希尔   3詹姆士

我想显示所有员工有出入库时间的月度记录数据。输入时间“ in”是第一次,输出时间是“ OUT”,是最后一次。员工可能会忘记登录或注销,因此在这种情况下该字段将保持空白或显示为“不存在”。

我正在尝试这样做,但不知道下一步该怎么做

 var InList = from a in _context.TblEmployee
                         from e in _context.AttendanceTable.Where(x => 
                         a.EmpId == x.EmployeeId)
                         .Where(x => x.ScanType == "IN")
                         .OrderBy (x => x.DateAndTime)
                         .DefaultIfEmpty()
                       select new
                       {
                           AttDate = e.DateAndTime.Date,
                           Emp_name = a.EmployeeName,
                           Emp_Id = e.EmployeeId
                       };
var OutList = from a in _context.TblEmployee
                         from e in _context.AttendanceTable.Where(x => 
                         a.EmpId == x.EmployeeId)
                         .Where(x => x.ScanType == "OUT")
                         .OrderBy (x => x.DateAndTime)
                         .DefaultIfEmpty()
                       select new
                       {
                           AttDate = e.DateAndTime.Date,
                           Emp_name = a.EmployeeName,
                           Emp_Id = e.EmployeeId
                       };

0 个答案:

没有答案