diff --git a/SlnMesnac.Business/business/DatabaseHandleBusniess.cs b/SlnMesnac.Business/business/DatabaseHandleBusniess.cs index f4e48c1..b4d71ea 100644 --- a/SlnMesnac.Business/business/DatabaseHandleBusniess.cs +++ b/SlnMesnac.Business/business/DatabaseHandleBusniess.cs @@ -106,6 +106,7 @@ namespace SlnMesnac.Business.business /// public void InsertPlanExecuteUser(ProdPLanInfo prodPlanInfo,ProdPlanDetail prodPlanDetail,List realTimes) { + string time = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"); foreach (var item in realTimes) { ProdPlanExecuteUser prodPlanExecuteUser = new ProdPlanExecuteUser() @@ -119,10 +120,10 @@ namespace SlnMesnac.Business.business PlanBeginDate = prodPlanDetail.BeginTime, PlanEndDate = prodPlanDetail.EndTime, CreatedBy = prodPlanInfo.CreatedBy, - CreatedTime = prodPlanDetail.BeginTime, + CreatedTime = time, UpdatedBy = prodPlanInfo.UpdatedBy, UpdatedTime = prodPlanInfo.UpdatedTime, - BatchNumber = prodPlanDetail.BatchNumber + BatchNumber = prodPlanDetail.BatchNumber, }; _prodPlanExecuteUserService.Insert(prodPlanExecuteUser); } @@ -177,6 +178,25 @@ namespace SlnMesnac.Business.business } } + /// + /// 获取班长 + /// + /// + /// + public MonitorInfo GetMonitor(string stationCode) + { + MonitorInfo monitorInfo = new MonitorInfo(); + monitorInfo = _recordStaffRealTimeService.GetMonitorInfo(stationCode); + return monitorInfo; + } + + ///// + ///// 设置员工下班时间 + ///// + //public void SetOffWorkTime(string staffId,string dateTime) + //{ + // _prodPlanExecuteUserService.SetExecuterOffWorkTime(staffId, dateTime); + //} ///// ///// 查询所有计划工位 ///// diff --git a/SlnMesnac.Business/business/RfidHandleBusniess.cs b/SlnMesnac.Business/business/RfidHandleBusniess.cs index dc8e8a4..43cea51 100644 --- a/SlnMesnac.Business/business/RfidHandleBusniess.cs +++ b/SlnMesnac.Business/business/RfidHandleBusniess.cs @@ -21,6 +21,7 @@ namespace SlnMesnac.Business.business private IRecordStaffAttendanceService _recordStaffAttendanceService; private IRecordStaffCommuteService _recordStaffCommuteService; private IRecordStaffRealTimeService _recordStaffRealTimeService; + private ProdPlanExecuteUserService _prodPlanExecuteUserService; private string currentTime; private string teamMembers = null; private List members = new List(); @@ -29,11 +30,15 @@ namespace SlnMesnac.Business.business public static string staffId = ""; public static string theNewAmount = ""; - public RfidHandleBusniess(IRecordStaffAttendanceService recordStaffAttendanceService, IRecordStaffCommuteService recordStaffCommuteService, IRecordStaffRealTimeService recordStaffRealTimeService) + public RfidHandleBusniess(IRecordStaffAttendanceService recordStaffAttendanceService, + IRecordStaffCommuteService recordStaffCommuteService, + IRecordStaffRealTimeService recordStaffRealTimeService, + ProdPlanExecuteUserService prodPlanExecuteUserService) { this._recordStaffAttendanceService = recordStaffAttendanceService; this._recordStaffCommuteService = recordStaffCommuteService; - this._recordStaffRealTimeService = recordStaffRealTimeService; + this._recordStaffRealTimeService = recordStaffRealTimeService; + _prodPlanExecuteUserService = prodPlanExecuteUserService; } @@ -169,9 +174,18 @@ namespace SlnMesnac.Business.business && recordStaffRealTime.StationCode == stationCode && recordStaffRealTime.AttendanceType == "0").FirstOrDefault(); _recordStaffRealTimeService.Delete(realTime); + SetOffWorkTime(staff.StaffId, DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss")); } } return _recordStaffRealTimeService.GetRecordStaffRealTime(stationCode); } + + /// + /// 设置员工下班时间 + /// + public void SetOffWorkTime(string staffId, string dateTime) + { + _prodPlanExecuteUserService.SetExecuterOffWorkTime(staffId, dateTime); + } } } diff --git a/SlnMesnac.Model/domain/MonitorInfo.cs b/SlnMesnac.Model/domain/MonitorInfo.cs new file mode 100644 index 0000000..00c6949 --- /dev/null +++ b/SlnMesnac.Model/domain/MonitorInfo.cs @@ -0,0 +1,30 @@ +using System; +using System.Collections.Generic; +using System.Text; + +namespace SlnMesnac.Model.domain +{ + + public class MonitorInfo + { + /// + /// + /// + public string stationCode { get; set; } + + /// + /// 员工Id + /// + public string staffId { get; set; } + + /// + /// 员工名 + /// + public string staffName { get; set; } + + /// + /// 员工类型 + /// + public string staffType { get; set; } + } +} diff --git a/SlnMesnac.Model/domain/ProdPlanExecuteUser.cs b/SlnMesnac.Model/domain/ProdPlanExecuteUser.cs index 1598275..619476c 100644 --- a/SlnMesnac.Model/domain/ProdPlanExecuteUser.cs +++ b/SlnMesnac.Model/domain/ProdPlanExecuteUser.cs @@ -93,5 +93,11 @@ namespace SlnMesnac.Model.domain /// [SugarColumn(ColumnName = "batch_number")] public int BatchNumber { get; set; } + + /// + /// 下班时间 + /// + [SugarColumn(ColumnName = "off_work_time")] + public string OffWorkTime { get; set; } } } diff --git a/SlnMesnac.Repository/SlnMesnac.Repository.csproj b/SlnMesnac.Repository/SlnMesnac.Repository.csproj index b733819..ceb21d7 100644 --- a/SlnMesnac.Repository/SlnMesnac.Repository.csproj +++ b/SlnMesnac.Repository/SlnMesnac.Repository.csproj @@ -8,6 +8,7 @@ + diff --git a/SlnMesnac.Repository/service/IRecordStaffRealTimeService.cs b/SlnMesnac.Repository/service/IRecordStaffRealTimeService.cs index 3bd85a4..5da9ba0 100644 --- a/SlnMesnac.Repository/service/IRecordStaffRealTimeService.cs +++ b/SlnMesnac.Repository/service/IRecordStaffRealTimeService.cs @@ -14,5 +14,12 @@ namespace SlnMesnac.Repository.service /// /// List GetRecordStaffRealTime(string stationCode); + + /// + /// 获取班长信息 + /// + /// + /// + MonitorInfo GetMonitorInfo(string stationCode); } } diff --git a/SlnMesnac.Repository/service/Impl/BaseStaffServiceImpl.cs b/SlnMesnac.Repository/service/Impl/BaseStaffServiceImpl.cs index b745d05..616aa14 100644 --- a/SlnMesnac.Repository/service/Impl/BaseStaffServiceImpl.cs +++ b/SlnMesnac.Repository/service/Impl/BaseStaffServiceImpl.cs @@ -48,6 +48,11 @@ namespace SlnMesnac.Repository.service.Impl return staffInfo; } + /// + /// 通过员工Id查询名 + /// + /// + /// public BaseStaffInfo GetStaffInfoByStaffId(string staffId) { BaseStaffInfo staffInfo = null; diff --git a/SlnMesnac.Repository/service/Impl/ProdPlanExecuteUserServiceImpl.cs b/SlnMesnac.Repository/service/Impl/ProdPlanExecuteUserServiceImpl.cs index 65caa51..389fdaa 100644 --- a/SlnMesnac.Repository/service/Impl/ProdPlanExecuteUserServiceImpl.cs +++ b/SlnMesnac.Repository/service/Impl/ProdPlanExecuteUserServiceImpl.cs @@ -39,5 +39,25 @@ namespace SlnMesnac.Repository.service.Impl } return result; } + + /// + /// 设置员工下班时间 + /// + public int SetExecuterOffWorkTime(string staffId,string dateTime) + { + int executers = 0; + try + { + executers = _rep.Context.Updateable() + .SetColumns(x => x.OffWorkTime == dateTime) + .Where(x => x.OffWorkTime == null && x.StaffId == staffId) + .ExecuteCommand(); + } + catch (Exception ex) + { + _logger.LogError($"设置员工下班时间异常:{ex.Message}"); + } + return executers; + } } } diff --git a/SlnMesnac.Repository/service/Impl/RecordStaffRealTimeServiceImpl.cs b/SlnMesnac.Repository/service/Impl/RecordStaffRealTimeServiceImpl.cs index f7b3a48..55a727e 100644 --- a/SlnMesnac.Repository/service/Impl/RecordStaffRealTimeServiceImpl.cs +++ b/SlnMesnac.Repository/service/Impl/RecordStaffRealTimeServiceImpl.cs @@ -37,5 +37,24 @@ namespace SlnMesnac.Repository.service.Impl } 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; + } } } diff --git a/SlnMesnac.Repository/service/ProdPlanExecuteUserService.cs b/SlnMesnac.Repository/service/ProdPlanExecuteUserService.cs index 7825676..1139381 100644 --- a/SlnMesnac.Repository/service/ProdPlanExecuteUserService.cs +++ b/SlnMesnac.Repository/service/ProdPlanExecuteUserService.cs @@ -15,5 +15,13 @@ namespace SlnMesnac.Repository.service /// /// bool DeleteByPlanCodeAndTheBatchNumber(string planCode, int batch); + + /// + /// + /// + /// + /// + /// + int SetExecuterOffWorkTime(string staffId, string dateTime); } } diff --git a/SlnMesnac.WPF/UserControls/ExecutePage.xaml b/SlnMesnac.WPF/UserControls/ExecutePage.xaml index a5dfdb5..781ec23 100644 --- a/SlnMesnac.WPF/UserControls/ExecutePage.xaml +++ b/SlnMesnac.WPF/UserControls/ExecutePage.xaml @@ -71,7 +71,7 @@ - + @@ -109,19 +109,19 @@ - + - + - + @@ -353,8 +353,9 @@ - - + + + @@ -363,7 +364,7 @@