|
|
|
@ -20,6 +20,7 @@ namespace SlnMesnac.WPF.ViewModel
|
|
|
|
|
{
|
|
|
|
|
private ProdPlanInfoService _prodPlanInfoService;
|
|
|
|
|
private ProdPlanDetailService _prodPlanDetailService;
|
|
|
|
|
private IBaseStaffService _baseStaffService;
|
|
|
|
|
private DatabaseHandleBusniess _databaseHandleBusniess;
|
|
|
|
|
private ProdPLanInfo planInfo;
|
|
|
|
|
private ProdPlanDetail planDetail;
|
|
|
|
@ -44,6 +45,7 @@ namespace SlnMesnac.WPF.ViewModel
|
|
|
|
|
_prodPlanDetailService = App.ServiceProvider.GetService<ProdPlanDetailService>();
|
|
|
|
|
_prodPlanInfoService = App.ServiceProvider.GetService<ProdPlanInfoService>();
|
|
|
|
|
_databaseHandleBusniess = App.ServiceProvider.GetService<DatabaseHandleBusniess>();
|
|
|
|
|
_baseStaffService = App.ServiceProvider.GetService<IBaseStaffService>();
|
|
|
|
|
ConfirmCommand = new RelayCommand(Confirm);
|
|
|
|
|
EndPlanCommand = new RelayCommand(EndPlan);
|
|
|
|
|
ContinueCommand = new RelayCommand(Continue);
|
|
|
|
@ -58,7 +60,7 @@ namespace SlnMesnac.WPF.ViewModel
|
|
|
|
|
|
|
|
|
|
private void Init()
|
|
|
|
|
{
|
|
|
|
|
planInfo = _prodPlanInfoService.GetPlanInfoByConditions("", "", "", RfidHandleBusniess.stationCode, "1").FirstOrDefault();
|
|
|
|
|
planInfo = _prodPlanInfoService.GetRecordStaffAttendancesByConditions("", "", "", RfidHandleBusniess.stationCode, "1").FirstOrDefault();
|
|
|
|
|
if (planInfo != null)
|
|
|
|
|
{
|
|
|
|
|
complateRate = GetComplateRate(Convert.ToDouble(planInfo.CompleteAmount), planInfo.PlanAmount);
|
|
|
|
@ -161,64 +163,74 @@ namespace SlnMesnac.WPF.ViewModel
|
|
|
|
|
{
|
|
|
|
|
if (EmployeeLoginViewModel.isOnDuty == true)//是否有班组当班,无当班时操作无效
|
|
|
|
|
{
|
|
|
|
|
string newAmount = NewAmountText;
|
|
|
|
|
RfidHandleBusniess.theNewAmount = NewAmountText;
|
|
|
|
|
if (newAmount != "")
|
|
|
|
|
var monitor = _databaseHandleBusniess.GetMonitor(RfidHandleBusniess.stationCode);
|
|
|
|
|
if (monitor != null)
|
|
|
|
|
{
|
|
|
|
|
bool isNum = true;
|
|
|
|
|
foreach (char x in newAmount)
|
|
|
|
|
string newAmount = NewAmountText;
|
|
|
|
|
RfidHandleBusniess.theNewAmount = NewAmountText;
|
|
|
|
|
if (newAmount != "")
|
|
|
|
|
{
|
|
|
|
|
if (!char.IsNumber(x) && x != '.')
|
|
|
|
|
bool isNum = true;
|
|
|
|
|
foreach (char x in newAmount)
|
|
|
|
|
{
|
|
|
|
|
isNum = false;
|
|
|
|
|
if (!char.IsNumber(x) && x != '.')
|
|
|
|
|
{
|
|
|
|
|
isNum = false;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
if (isNum)
|
|
|
|
|
{
|
|
|
|
|
HintText = "请撤回最新工单明细!";
|
|
|
|
|
//将新增产量加到实际产量中
|
|
|
|
|
currentAmountDouble = Convert.ToDouble(planInfo.CompleteAmount);
|
|
|
|
|
newAmountDouble = Convert.ToDouble(newAmount);
|
|
|
|
|
result = currentAmountDouble + newAmountDouble;
|
|
|
|
|
//planDetail = new ProdPlanDetail();
|
|
|
|
|
planDetail.CompleteAmount = newAmountDouble.ToString();
|
|
|
|
|
planInfo.CompleteAmount = result.ToString();
|
|
|
|
|
if (planDetail.EndTime == null)//第一条明细
|
|
|
|
|
if (isNum)
|
|
|
|
|
{
|
|
|
|
|
planDetail.BeginTime = ExecuteViewModel.theStartTime;
|
|
|
|
|
HintText = "请撤回最新工单明细!";
|
|
|
|
|
//将新增产量加到实际产量中
|
|
|
|
|
currentAmountDouble = Convert.ToDouble(planInfo.CompleteAmount);
|
|
|
|
|
newAmountDouble = Convert.ToDouble(newAmount);
|
|
|
|
|
result = currentAmountDouble + newAmountDouble;
|
|
|
|
|
//planDetail = new ProdPlanDetail();
|
|
|
|
|
planDetail.CurrentStaffId = monitor.staffId;//取班长ID
|
|
|
|
|
planDetail.CreatedBy = monitor.staffName;//存班长名
|
|
|
|
|
planDetail.CompleteAmount = newAmountDouble.ToString();
|
|
|
|
|
planInfo.CompleteAmount = result.ToString();
|
|
|
|
|
if (planDetail.EndTime == null)//第一条明细
|
|
|
|
|
{
|
|
|
|
|
planDetail.BeginTime = ExecuteViewModel.theStartTime;
|
|
|
|
|
}
|
|
|
|
|
else
|
|
|
|
|
{
|
|
|
|
|
planDetail.BeginTime = planDetail.EndTime;
|
|
|
|
|
}
|
|
|
|
|
planDetail.EndTime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss");
|
|
|
|
|
ExecuteViewModel.intervalvalTime = planDetail.EndTime;
|
|
|
|
|
planDetail.BatchNumber += 1;
|
|
|
|
|
//ExecuteViewModel.batchNums = planDetail.BatchNumber.ToString();
|
|
|
|
|
//保存工单的执行人员
|
|
|
|
|
List<RecordStaffRealTime> realTimes = _databaseHandleBusniess.GetRecordStaffRealTimes();
|
|
|
|
|
_prodPlanDetailService.Insert(planDetail);
|
|
|
|
|
_prodPlanInfoService.Update(planInfo);
|
|
|
|
|
_databaseHandleBusniess.InsertPlanExecuteUser(planInfo, planDetail, realTimes);
|
|
|
|
|
Refresh();
|
|
|
|
|
HintText = "已提交!";
|
|
|
|
|
RefreshDelegateEvent?.Invoke(planInfo);
|
|
|
|
|
//ExecuteViewModel.isComplete = true;
|
|
|
|
|
complateRate = GetComplateRate(result, PlanAmountText);
|
|
|
|
|
if (complateRate > 0.9)
|
|
|
|
|
{
|
|
|
|
|
EndButtonColor = "#FF11B514";
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
else
|
|
|
|
|
{
|
|
|
|
|
planDetail.BeginTime = planDetail.EndTime;
|
|
|
|
|
}
|
|
|
|
|
planDetail.EndTime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss");
|
|
|
|
|
ExecuteViewModel.intervalvalTime = planDetail.EndTime;
|
|
|
|
|
planDetail.BatchNumber += 1;
|
|
|
|
|
//ExecuteViewModel.batchNums = planDetail.BatchNumber.ToString();
|
|
|
|
|
//保存工单的执行人员
|
|
|
|
|
List<RecordStaffRealTime> realTimes = _databaseHandleBusniess.GetRecordStaffRealTimes();
|
|
|
|
|
_prodPlanDetailService.Insert(planDetail);
|
|
|
|
|
_prodPlanInfoService.Update(planInfo);
|
|
|
|
|
_databaseHandleBusniess.InsertPlanExecuteUser(planInfo, planDetail, realTimes);
|
|
|
|
|
Refresh();
|
|
|
|
|
HintText = "已提交!";
|
|
|
|
|
RefreshDelegateEvent?.Invoke(planInfo);
|
|
|
|
|
//ExecuteViewModel.isComplete = true;
|
|
|
|
|
complateRate = GetComplateRate(result, PlanAmountText);
|
|
|
|
|
if (complateRate > 0.9)
|
|
|
|
|
{
|
|
|
|
|
EndButtonColor = "#FF11B514";
|
|
|
|
|
//提示框提示错误信息
|
|
|
|
|
HintText = "输入有误,请输入阿拉伯数字!";
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
else
|
|
|
|
|
{
|
|
|
|
|
//提示框提示错误信息
|
|
|
|
|
HintText = "输入有误,请输入阿拉伯数字!";
|
|
|
|
|
HintText = "不能为空!";
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
else
|
|
|
|
|
{
|
|
|
|
|
HintText = "不能为空!";
|
|
|
|
|
HintText = "班长未打卡,无法执行此操作!";
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
else
|
|
|
|
|