Example #1
0
        /// <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);
        }
Example #3
0
        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);
        }