diff --git a/SlnMesnac.Repository/service/Impl/RecordStaffAttendanceServiceImpl.cs b/SlnMesnac.Repository/service/Impl/RecordStaffAttendanceServiceImpl.cs index afd21bf..4d4a189 100644 --- a/SlnMesnac.Repository/service/Impl/RecordStaffAttendanceServiceImpl.cs +++ b/SlnMesnac.Repository/service/Impl/RecordStaffAttendanceServiceImpl.cs @@ -57,7 +57,8 @@ namespace SlnMesnac.Repository.service.Impl public RecordStaffAttendance GetLastestOffRecord() { - RecordStaffAttendance recordStaffAttendances = _rep.AsQueryable().Where(x => x.AttendanceType == "1").OrderByDescending(x => x.CreateTime).First(); + RecordStaffAttendance recordStaffAttendances = _rep.AsQueryable().Where(x => x.AttendanceType == "1") + .OrderByDescending(x => x.CreateTime).First(); return recordStaffAttendances; } } diff --git a/SlnMesnac.WPF/ViewModel/ExecuteViewModel.cs b/SlnMesnac.WPF/ViewModel/ExecuteViewModel.cs index bd02dc8..c4d090f 100644 --- a/SlnMesnac.WPF/ViewModel/ExecuteViewModel.cs +++ b/SlnMesnac.WPF/ViewModel/ExecuteViewModel.cs @@ -36,7 +36,7 @@ namespace SlnMesnac.WPF.ViewModel private ProdPlanDetailService _prodPlanDetailService; private IRecordStaffAttendanceService _recordStaffAttendanceService; private string StationCode; - private bool isComplete = true; + public static bool isComplete = true; /// /// 按钮文字转换事件 @@ -62,6 +62,11 @@ namespace SlnMesnac.WPF.ViewModel /// public ICommand ExecuteCommand { get; private set; } + #region + public delegate void RefreshDelegate(ProdPLanInfo pLanInfo); + public static event RefreshDelegate? RefreshEvent; + #endregion + public ExecuteViewModel() { _prodPlanInfoService = App.ServiceProvider.GetService(); @@ -78,6 +83,7 @@ namespace SlnMesnac.WPF.ViewModel ProductionReportCommand = new RelayCommand(ProductionReport); SearchCommand = new RelayCommand(Search); ExecuteCommand = new RelayCommand(Execute); + ProductionReportViewModel.RefreshDelegateEvent += Refresh; } /// @@ -148,7 +154,15 @@ namespace SlnMesnac.WPF.ViewModel _prodPlanInfoService.Update(pLanInfo); Search(); //查明细表显示出来 - ProdPlanDetail planDetail = _prodPlanDetailService.GetPlanDetailsByPlanCode(pLanInfo.PlanCode); + Refresh(pLanInfo); + isComplete = false; + } + } + + //刷新明细 + private void Refresh(ProdPLanInfo pLanInfo) + { + ProdPlanDetail planDetail = _prodPlanDetailService.GetPlanDetailsByPlanCode(pLanInfo.PlanCode); PlanCodeText = planDetail.PlanCode; OrderCodeText = pLanInfo.OrderCode; MaterialCodeText = planDetail.MaterialCode; @@ -158,11 +172,8 @@ namespace SlnMesnac.WPF.ViewModel ProdPLanDetailDataGrid.Clear(); ProdPLanDetailDataGrid.Add(planDetail); })); - isComplete = false; - } - } - + #region /// /// 订单 diff --git a/SlnMesnac.WPF/ViewModel/HandOverViewModel.cs b/SlnMesnac.WPF/ViewModel/HandOverViewModel.cs index 607065a..c904672 100644 --- a/SlnMesnac.WPF/ViewModel/HandOverViewModel.cs +++ b/SlnMesnac.WPF/ViewModel/HandOverViewModel.cs @@ -19,20 +19,25 @@ namespace SlnMesnac.WPF.ViewModel private IBaseStaffService _baseStaffService; private ProdPlanInfoService _prodPlanInfoService; private ProdPlanDetailService _prodPlanDetailService; + private IRecordStaffAttendanceService _recordStaffAttendanceService; private ProdPLanInfo planInfo; private ProdPlanDetail planDetail; private int times; + #region /// /// 按钮文字转换事件 /// public event PropertyChangedEventHandler PropertyChanged = delegate { }; + #endregion + public HandOverViewModel() { _prodPlanDetailService = App.ServiceProvider.GetService(); _prodPlanInfoService = App.ServiceProvider.GetService(); + _recordStaffAttendanceService = App.ServiceProvider.GetService(); planInfo = _prodPlanInfoService.GetRecordStaffAttendancesByConditions("", "", "", "", "1").FirstOrDefault(); HandoverCommand = new RelayCommand(Handover); Init(); @@ -45,6 +50,7 @@ namespace SlnMesnac.WPF.ViewModel private void Init() { planDetail = _prodPlanDetailService.GetPlanDetailsByPlanCode(planInfo.PlanCode); + //_recordStaffAttendanceService.GetLastestOffRecord(); PlanAmountText = planDetail.PlanAmount.ToString(); CompleteAmountText = planDetail.CompleteAmount.ToString(); var hidUtils = EmployeeLoginViewModel.hidUtils; @@ -61,13 +67,31 @@ namespace SlnMesnac.WPF.ViewModel string staffType = user.StaffType; if (staffType == "1")//判断是否为班长 { - //显示记录 - StaffIdText = user.StaffId; - StaffNameText = user.StaffName; - StaffTypeText = user.StaffType; - TeamCodeText = user.TeamCode; - //数量+1 - times++; + if (times == 0 && planDetail.CurrentStaffId == user.StaffId) + { + //显示记录 + StaffIdText = user.StaffId; + StaffNameText = user.StaffName; + StaffTypeText = user.StaffType; + TeamCodeText = user.TeamCode; + //数量+1 + times++; + } + else if (times == 1) + { + StaffIdText = user.StaffId; + planDetail.CurrentStaffId = user.StaffId; + StaffNameText = user.StaffName; + StaffTypeText = user.StaffType; + TeamCodeText = user.TeamCode; + _prodPlanDetailService.Insert(planDetail);//更换班组长后插入一条明细记录 + //数量+1 + times++; + } + else + { + HintText = "当前班组长先打卡!"; + } } else { diff --git a/SlnMesnac.WPF/ViewModel/ProductionReportViewModel.cs b/SlnMesnac.WPF/ViewModel/ProductionReportViewModel.cs index 276be28..27106e0 100644 --- a/SlnMesnac.WPF/ViewModel/ProductionReportViewModel.cs +++ b/SlnMesnac.WPF/ViewModel/ProductionReportViewModel.cs @@ -22,11 +22,17 @@ namespace SlnMesnac.WPF.ViewModel private ProdPLanInfo planInfo; private ProdPlanDetail planDetail; + #region /// /// 按钮文字转换事件 /// public event PropertyChangedEventHandler PropertyChanged = delegate { }; + //刷新委托 + public delegate void RefreshDelegate(ProdPLanInfo pLanInfo); + public static event RefreshDelegate RefreshDelegateEvent; + #endregion + public ProductionReportViewModel() { _prodPlanDetailService = App.ServiceProvider.GetService(); @@ -129,6 +135,8 @@ namespace SlnMesnac.WPF.ViewModel Refresh(); NewAmountText = null; HintText = "已提交!"; + RefreshDelegateEvent?.Invoke(planInfo); + ExecuteViewModel.isComplete = true; } else {