Пример #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;
        }
Пример #2
0
        public TaskGridViewModel(IEnumerable <Task> Tasks,
                                 IUserRepository UserRepository,
                                 string CAMDrawingPath,
                                 ICNCMachInfoRepository MachInfoRepository,
                                 IEDMDetailRepository EDMDetailRepository,
                                 ITaskRepository TaskRepository, IProjectPhaseRepository ProjectPhaseRepository,
                                 IMGSettingRepository MGSettingRepository,
                                 IWEDMSettingRepository WEDMSettingRepository,
                                 ITaskHourRepository TaskHourRepository
                                 , ISystemConfigRepository SystemConfigRepo
                                 , ITaskTypeRepository TasktypeRepo
                                 , IMachinesInfoRepository MachInfoRepo)
        {
            ProjectPhase _phase;
            string       _cad, _cam, _workshop, _qc, _planDate;
            int          _phaseID = 0;

            rows = new List <TaskGridRowModel>();

            List <WEDMSetting>  _wedmSettings = WEDMSettingRepository.WEDMSettings.ToList();
            List <MGSetting>    _mgSettings   = MGSettingRepository.MGSettings.ToList();
            List <User>         _users        = UserRepository.Users.ToList();
            List <ProjectPhase> _pjPhases     = ProjectPhaseRepository.ProjectPhases.ToList();
            List <TaskHour>     _taskhours    = TaskHourRepository.TaskHours.ToList();
            List <MachinesInfo> _machineInfos = MachInfoRepo.MachinesInfo.ToList();
            List <TaskType>     _tasktypes    = TasktypeRepo.TaskTypes.ToList();
            List <CNCMachInfo>  _cncmachInfos = MachInfoRepository.CNCMachInfoes.ToList();
            List <Task>         _tasks        = TaskRepository.Tasks.ToList();
            List <EDMDetail>    _edmDetails   = EDMDetailRepository.EDMDetails.ToList();

            foreach (Task _task in Tasks)
            {
                WEDMSetting wedmsetting = new WEDMSetting();
                MGSetting   mgsetting   = new MGSetting();
                switch (_task.TaskType)
                {
                case 1:
                    _phaseID = 8;
                    break;

                case 2:
                    _phaseID = 9;
                    break;

                case 3:
                    wedmsetting = _wedmSettings.Where(s => s.ID == _task.ProgramID).FirstOrDefault() ?? new WEDMSetting();  //WEDMSettingRepository.QueryByTaskID(_task.TaskID);
                    _phaseID    = 10;
                    break;

                case 4:
                    _phaseID = 8;
                    break;

                case 6:
                    mgsetting = _mgSettings.Where(s => s.ID == _task.ProgramID).FirstOrDefault() ?? new MGSetting();  //MGSettingRepository.QueryByTaskID(_task.TaskID);
                    _phaseID  = 7;
                    break;
                }
                _cad      = _task.CADUser > 0 ? (_users.Where(u => u.UserID == _task.CADUser).FirstOrDefault() ?? new User()).FullName : "";          //UserRepository.GetUserByID(_task.CADUser).FullName : "";
                _cam      = _task.CAMUser > 0? (_users.Where(u => u.UserID == _task.CAMUser).FirstOrDefault() ?? new User()).FullName : "";           //UserRepository.GetUserByID(_task.CAMUser).FullName:"";
                _workshop = _task.WorkshopUser > 0? (_users.Where(u => u.UserID == _task.WorkshopUser).FirstOrDefault() ?? new User()).FullName : ""; //UserRepository.GetUserByID(_task.WorkshopUser).FullName:"";
                _qc       = _task.QCUser > 0 ? (_users.Where(u => u.UserID == _task.QCUser).FirstOrDefault() ?? new User()).FullName : "";            //UserRepository.GetUserByID(_task.QCUser).FullName : "";
                CNCMachInfo _machinfo = GetCNCMachinfo(_task, _cncmachInfos, _tasks, _edmDetails);                                                    //GetCNCMachinfo(_task,MachInfoRepository, TaskRepository, EDMDetailRepository);
                decimal     TaskHour  = 0;
                try
                {
                    _phase    = _pjPhases.Where(p => p.ProjectID == _task.ProjectID && p.PhaseID == _phaseID).FirstOrDefault() ?? new ProjectPhase();//ProjectPhaseRepository.GetProjectPhases(_task.ProjectID).Where(p => p.PhaseID == _phaseID).FirstOrDefault();
                    _planDate = _phase.PlanCFinish == new DateTime(1, 1, 1) ? _phase.PlanFinish.ToString("yyyy-MM-dd") :
                                _phase.PlanCFinish.ToString("yyyy-MM-dd");
                }
                catch
                {
                    _planDate = "-";
                }
                try
                {
                    TaskHour = GetTotalHourByTaskID(_taskhours, _task.TaskID);//TaskHourRepository.GetTotalHourByTaskID(_task.TaskID);
                }
                catch
                {
                    TaskHour = 0;
                }
                string         _machineCode = GetMachineByTask(_taskhours, _machineInfos, _task.TaskID); //TaskHourRepository.GetMachineByTask(_task.TaskID) ?? "";
                string         Operater     = GetOperaterByTaskID(_taskhours, _task.TaskID);             //TaskHourRepository.GetOperaterByTaskID(_task.TaskID) ?? "";
                SetupTaskStart _setupTask   = new SetupTaskStart
                {
                    TaskID       = _task.TaskID,
                    TaskName     = _task.TaskName,
                    State        = Enum.GetName(typeof(TaskStatus), _task.State),
                    MachinesCode = "",
                    MachinesName = _machineCode,
                    TotalTime    = Convert.ToInt32(TaskHour),
                    UserID       = 0,
                    UserName     = Operater,
                };
                //string _camDrawingPath = string.Empty;
                if (string.IsNullOrEmpty(CAMDrawingPath))
                {
                    if (_task.TaskType == 6)
                    {
                        CAMDrawingPath = SystemConfigRepo.GetTaskDrawingPath("CAD");
                    }
                    else
                    {
                        CAMDrawingPath = SystemConfigRepo.GetTaskDrawingPath();
                    }
                }
                string taskType = string.Empty;
                int    _mgtype  = (_tasktypes.Where(t => t.ShortName == "MG" && t.Enable).FirstOrDefault() ?? new TaskType()).TaskID;//(TasktypeRepo.TaskTypes.Where(t => t.ShortName == "MG" && t.Enable).FirstOrDefault() ?? new TaskType()).TaskID;//6
                if (_task.TaskType != _mgtype)
                {
                    taskType = (_tasktypes.Where(t => t.TaskID == _task.TaskType && t.Enable).FirstOrDefault() ?? new TaskType()).Name;//TasktypeRepo.TaskTypes.Where(t => t.TaskID == _task.TaskType).Select(t => t.Name).FirstOrDefault();
                }
                else
                {
                    string _typeID = (_mgtype.ToString() + _task.OldID.ToString());
                    taskType = (_tasktypes.Where(t => t.TaskID == Convert.ToInt32(_typeID) && t.Enable).FirstOrDefault() ?? new TaskType()).Name;//TasktypeRepo.TaskTypes.ToList().Where(t => t.TaskID == Convert.ToInt32(_typeID)).Select(t => t.Name).FirstOrDefault();
                }
                rows.Add(new TaskGridRowModel(_task, _cad, _cam, _workshop, _qc, CAMDrawingPath, _planDate, _setupTask, _machinfo, wedmsetting, mgsetting, taskType));
            }
        }
Пример #3
0
 public WorkHourController(ITaskRepository TaskRepository,
                           IPartRepository PartRepository,
                           IProjectRepository ProjectRepository,
                           IUserRepository UserRepository,
                           ICNCItemRepository CNCItemRepository,
                           IQCInfoRepository QCInfoRepository,
                           IWarehouseStockRepository WarehouseStockRepository,
                           IMachineRepository MachineRepository,
                           ICNCMachInfoRepository CNCMachInfoRepository,
                           ISteelGroupProgramRepository SteelGroupProgramRepository,
                           ISteelProgramRepository SteelProgramRepository,
                           IEDMSettingRepository EDMSettingRepository,
                           IEDMDetailRepository EDMDetailRepository,
                           IQCPointProgramRepository QCPointProgramRepository,
                           ISystemConfigRepository SystemConfigRepository,
                           IQCSteelPointRepository QCSteelPointRepository,
                           ISteelCAMDrawingRepository SteelCAMDrawingRepository,
                           ISteelDrawingCADPartRepository SteelDrawingCADPartRepository,
                           ICAMDrawingRepository CAMDrawingRepository,
                           IProjectPhaseRepository ProjectPhaseRepository,
                           IPOContentRepository POContentRepository,
                           IQCTaskRepository QCTaskRepository,
                           IQCCmmReportRepository QCCmmReportRepository,
                           IQCCmmFileSettingRepository QCCmmFileSettingRepository,
                           IPRContentRepository PRContentRepository,
                           IPurchaseRequestRepository PurchanseRequestRepository,
                           ICharmillRepository CharmillRepository,
                           IEDMTaskRecordRepository EDMTaskRepository,
                           IDepartmentRepository DepartmentRepository,
                           IMGSettingRepository MGSettingRepository,
                           IWEDMSettingRepository WEDMSettingRepository,
                           ITaskHourRepository TaskHourRepository,
                           IMachinesInfoRepository MachinesInfoRepository,
                           ITaskTypeRepository TaskTypeRepositroy,
                           IWH_WorkTypeRepository WorkTypeRepository)
 {
     _taskRepository                = TaskRepository;
     _partRepository                = PartRepository;
     _projectRepository             = ProjectRepository;
     _userRepository                = UserRepository;
     _cncItemRepository             = CNCItemRepository;
     _qcInfoRepository              = QCInfoRepository;
     _whStockRepository             = WarehouseStockRepository;
     _machineRepository             = MachineRepository;
     _machInfoRepository            = CNCMachInfoRepository;
     _steelGroupProgramRepository   = SteelGroupProgramRepository;
     _steelProgramRepository        = SteelProgramRepository;
     _edmSettingRepository          = EDMSettingRepository;
     _edmDetailRepository           = EDMDetailRepository;
     _qcPointProgramRepository      = QCPointProgramRepository;
     _systemConfigRepository        = SystemConfigRepository;
     _qcSteelPointRepository        = QCSteelPointRepository;
     _steelCAMDrawingRepository     = SteelCAMDrawingRepository;
     _steelDrawingCADPartRepository = SteelDrawingCADPartRepository;
     _camDrawingRepository          = CAMDrawingRepository;
     _projectPhaseRepository        = ProjectPhaseRepository;
     _poContentRepository           = POContentRepository;
     _qcTaskRepository              = QCTaskRepository;
     _qcCmmReportRepository         = QCCmmReportRepository;
     _qcCmmFileSettingRepository    = QCCmmFileSettingRepository;
     _prContentRepository           = PRContentRepository;
     _prRepository           = PurchanseRequestRepository;
     _charmillRepository     = CharmillRepository;
     _edmRecordRepository    = EDMTaskRepository;
     _departmentRepository   = DepartmentRepository;
     _mgSettingRepository    = MGSettingRepository;
     _wedmSettingRepository  = WEDMSettingRepository;
     _taskHourRepository     = TaskHourRepository;
     _machinesinfoRepository = MachinesInfoRepository;
     _taskTyprRepository     = TaskTypeRepositroy;
     _workTyprRepository     = WorkTypeRepository;
 }