/// <summary> /// 数据源:申请单 /// </summary> /// <param name="PRContents"></param> /// <param name="PurchaseItemRepository"></param> /// <param name="CostCenterRepository"></param> /// <param name="PartRepository"></param> public PurchaseContentGridViewModel(List <PRContent> PRContents, IPurchaseItemRepository PurchaseItemRepository, ICostCenterRepository CostCenterRepository, IPartRepository PartRepository, ITaskHourRepository TaskHourRepository) { rows = new List <PurchaseContentGridRowModel>(); string state = ""; foreach (PRContent _content in PRContents) { PurchaseItem _purchaseItem = PurchaseItemRepository.QueryByID(_content.PurchaseItemID); try { state = Enum.GetName(typeof(PurchaseItemStatus), _purchaseItem.State); } catch { state = ""; } String _costcenter; CostCenter _centerObj = CostCenterRepository.QueryByID(_purchaseItem.CostCenterID); if (_centerObj != null) { _costcenter = _centerObj.Name; } else { _costcenter = ""; } string ERPNo = string.Empty; //if (_purchaseItem.PartID > 0) //{ // Part _part = PartRepository.QueryByID(_purchaseItem.PartID); // ERPNo = _part.ERPPartID; //} ERPNo = _content.ERPPartID; SetupTaskStart _setupTask = new SetupTaskStart(); #region 外发内容 if (_content.TaskID > 0) { TaskHour _taskhour = TaskHourRepository.TaskHours.Where(h => h.TaskID == _content.TaskID).OrderByDescending(h => h.TaskHourID).FirstOrDefault(); if (_taskhour != null) { _setupTask.TaskID = _taskhour.TaskID; _setupTask.MachinesName = TaskHourRepository.GetMachineByTask(_taskhour.TaskID) ?? ""; _setupTask.TotalTime = TaskHourRepository.GetTotalHourByTaskID(_taskhour.TaskID); _setupTask.UserName = _taskhour.Operater; _setupTask.MachinesCode = _taskhour.MachineCode; } } #endregion rows.Add(new PurchaseContentGridRowModel(_content, state, _costcenter, ERPNo, _setupTask)); } Page = 1; Total = PRContents.Count(); Records = 500; }
/// <summary> /// RecordType:0正常开始 1暂停后重启 -1取消/删除任务 2 外发 3返工 /// </summary> /// <param name="model"></param> /// <returns></returns> public int Save(TaskHour model) { TaskHour dbentry; //DateTime _iniTime = DateTime.Parse("1900/1/1"); #region 新增 if (model.TaskHourID == 0) { dbentry = new TaskHour(); dbentry.TaskID = model.TaskID; dbentry.StartTime = model.StartTime; dbentry.FinishTime = model.FinishTime; dbentry.TaskType = model.TaskType; dbentry.Enabled = model.Enabled; dbentry.Time = model.Time; // RecordType:0正常开始 1暂停后重启 -1取消/删除任务 2 外发 3返工 dbentry.RecordType = model.RecordType; dbentry.Memo = model.Memo; dbentry.MoldNumber = model.MoldNumber; dbentry.MachineCode = model.MachineCode; dbentry.State = model.State; dbentry.Operater = model.Operater; dbentry.Qty = model.Qty; dbentry.Cost = model.Cost; dbentry.SemiTaskFlag = model.SemiTaskFlag; _context.TaskHours.Add(dbentry); } #endregion #region 更新 else { dbentry = _context.TaskHours.Where(h => h.TaskHourID == model.TaskHourID).FirstOrDefault(); if (dbentry != null) { dbentry.StartTime = model.StartTime; dbentry.FinishTime = model.FinishTime; dbentry.Time = model.Time; dbentry.MachineCode = model.MachineCode; dbentry.Enabled = model.Enabled; dbentry.RecordType = model.RecordType; dbentry.State = model.State; dbentry.Qty = model.Qty; dbentry.Cost = model.Cost; dbentry.SemiTaskFlag = model.SemiTaskFlag; dbentry.Memo = model.Memo;// + " 时间:" + dbentry.Time.ToString(); } } #endregion _context.SaveChanges(); return(dbentry.TaskHourID); }
public string GetOperaterByTaskID(List <TaskHour> _taskhours, int TaskID) { List <int> _FStatelist = new List <int> { (int)TaskHourStatus.完成记录, (int)TaskHourStatus.完成, (int)TaskHourStatus.暂停, (int)TaskHourStatus.任务等待, (int)TaskHourStatus.开始, (int)TaskHourStatus.外发, }; TaskHour _taskhour = _taskhours.Where(h => h.TaskID == TaskID && _FStatelist.Contains(h.State)).Where(h => h.TaskType != 5).OrderByDescending(h => h.TaskHourID).FirstOrDefault() ?? new TaskHour(); string _operater = _taskhour.TaskHourID > 0 ? _taskhour.Operater != null ? _taskhour.Operater : "" : ""; return(_operater); }
/// <summary> /// /// </summary> /// <param name="model">工时记录</param> /// <param name="mName">机器名称</param> /// <param name="tyName">任务类型名称</param> public WHReportRowModelA(TaskHour model, string taskName, string mName, string tyName) { cell = new string[14]; cell[0] = model.TaskHourID.ToString(); cell[1] = model.TaskID.ToString(); cell[2] = taskName; cell[3] = model.MoldNumber; cell[4] = model.MachineCode; cell[5] = mName; cell[6] = model.Operater; //0正常开始 1暂停后重启 -1取消/删除任务 2 外发 3返工 string rType = string.Empty; switch (model.RecordType) { case 0: rType = "正常开始"; break; case 1: rType = "暂停重启"; break; case -1: rType = "任务取消"; break; case 2: rType = "外发工时"; break; case 3: rType = "返工工时"; break; } cell[7] = rType; cell[8] = model.TaskType.ToString(); cell[9] = tyName; cell[10] = model.SemiTaskFlag; cell[11] = model.Time.ToString(); cell[12] = model.StartTime.ToString("yyyy-MM-dd HH:mm"); cell[13] = Toolkits.CheckZero(model.FinishTime)?"-" : model.FinishTime.ToString("yyyy-MM-dd HH:mm"); }
public string GetMachineBySemiTaskFlag(string SemiTaskFlag) { List <int> _FStatelist = new List <int> { (int)TaskHourStatus.完成记录, (int)TaskHourStatus.完成, (int)TaskHourStatus.暂停, (int)TaskHourStatus.任务等待, (int)TaskHourStatus.开始, (int)TaskHourStatus.外发, }; TaskHour _taskhour = _context.TaskHours.Where(h => h.SemiTaskFlag.Contains(SemiTaskFlag) && _FStatelist.Contains(h.State)).Where(h => h.TaskType != 5).OrderByDescending(h => h.TaskHourID).FirstOrDefault() ?? new TaskHour(); if (_taskhour != null) { MachinesInfo _mInfo = _context.MachinesInfo.Where(m => m.MachineCode == _taskhour.MachineCode).FirstOrDefault(); if (_mInfo != null) { return(_mInfo.MachineName + "_" + _mInfo.MachineCode); } } return(""); }
public TaskHour GetCurTHBySemiTaskFlag(string SemiTaskFlag) { TaskHour _taskhour = _context.TaskHours.Where(h => h.SemiTaskFlag.Equals(SemiTaskFlag) && h.Enabled && h.State == (int)TaskHourStatus.开始).OrderByDescending(h => h.TaskHourID).FirstOrDefault(); return(_taskhour); }
public TaskHour GetCurTHByTaskID(int TaskID) { TaskHour _taskhour = _context.TaskHours.Where(h => h.TaskID == TaskID && h.Enabled == true && h.State == (int)TaskHourStatus.开始).Where(h => h.TaskType != 5).OrderByDescending(h => h.TaskHourID).FirstOrDefault() ?? new TaskHour(); return(_taskhour); }