Esempio n. 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;
        }
        public SetupTaskGridRowModel(SetupTaskStart _setupTask)
        {
            cell    = new string[13];
            cell[0] = _setupTask.TaskID.ToString();
            cell[1] = _setupTask.TaskName.ToString();
            cell[2] = _setupTask.State; //Enum.GetName(typeof(CNCStatus), _task.State) ?? "-";
            cell[3] = _setupTask.MachinesCode;
            cell[4] = _setupTask.MachinesName;
            cell[5] = _setupTask.UserName;
            cell[6] = _setupTask.UserID.ToString();
            cell[7] = _setupTask.Qty.ToString();
            cell[8] = _setupTask.TotalTime.ToString();

            cell[9]  = _setupTask.StartTime.ToString("yyyy/MM/dd HH:mm:ss");
            cell[10] = _setupTask.FinishTime.ToString("yyyy/MM/dd HH:mm:ss");
            cell[11] = _setupTask.SemiTaskFlag;
            cell[12] = _setupTask.TaskHourID.ToString();
        }
Esempio n. 3
0
        public TaskGridRowModel(Task Task, string CAD, string CAM, string Workshop, string QC, string FilePath, string PlanDate, SetupTaskStart _setupTask, CNCMachInfo Machinfo, WEDMSetting wedmsetting, MGSetting mgsetting, string taskType)
        {
            Helpers.TaskStatus _status = new Helpers.TaskStatus();
            cell = new string[45];
            //TaskID
            cell[0] = Task.TaskID.ToString();
            //图纸
            if (Task.DrawingFile != "")
            {
                cell[1] = "<a onclick='ShowElePDF(" + Task.TaskID.ToString() + ")'>Open</a>";
            }
            //任务名
            cell[2] = Task.TaskName;
            //版本
            string _version = Task.Version.ToString();

            cell[3] = _version.Length == 1 ? "V0" + _version : "V" + _version;
            //CAD文档
            switch (Task.TaskType)
            {
            case 3:
                //CAD文档
                cell[4] = wedmsetting.CADPartName ?? "";
                break;

            case 6:
                cell[4] = mgsetting.CADNames ?? "";
                break;

            default:
                cell[4] = "";
                break;
            }
            //CAD人员FullName
            cell[5] = CAD;
            //备注
            cell[6] = Task.Memo;
            switch (Task.TaskType)
            {
            case 3:
                //加工精度
                cell[7] = wedmsetting.Precision ?? "";
                //特征数量
                cell[8] = wedmsetting.FeatureCount.ToString();
                //长度
                cell[9] = wedmsetting.Length.ToString();
                //厚度
                cell[10] = wedmsetting.Thickness.ToString();
                break;

            case 6:
                cell[7]  = "";
                cell[8]  = mgsetting.FeatureNote ?? "";
                cell[9]  = "";
                cell[10] = "";
                break;

            default:
                cell[7]  = "";
                cell[8]  = "";
                cell[9]  = "";
                cell[10] = "";
                break;
            }

            //时间
            cell[11] = Math.Round(Task.Time, 1).ToString();
            //状态
            string stateName;

            stateName = Enum.GetName(typeof(TechnikSys.MoldManager.Domain.Status.TaskStatus), Task.State);
            cell[12]  = stateName;
            //状态备注
            cell[13] = Task.StateMemo;

            //毛坯(规格)
            cell[14] = Task.Raw;
            //型号
            cell[15] = Task.Model;
            if (Machinfo != null)
            {
                //表面
                cell[16] = Machinfo.Surface;
                //平动
                cell[17] = Machinfo.ObitType;
                //电极位置
                cell[18] = Machinfo.Position;
            }
            else
            {
                cell[16] = "";
                cell[17] = "";
                cell[18] = "";
            }
            //R
            cell[19] = Task.R.ToString();
            //F
            cell[20] = Task.F.ToString();
            //数量
            cell[21] = Task.Quantity.ToString();
            //备料
            cell[22] = Task.Prepared.ToString();

            //材料
            cell[23] = Task.Material;
            //HRC
            cell[24] = Task.HRC;

            //工艺
            cell[25] = Task.ProcessName;
            //实际工时
            cell[26] = _setupTask.TotalTime.ToString();
            //优先
            cell[27] = Task.Priority.ToString();

            //创建日期
            _dateVal = Task.CreateTime.ToString("yyyy-MM-dd");
            cell[28] = (_dateVal == "1900-01-01" || _dateVal == "0001-01-01") ? "-" : _dateVal;
            //计划日期
            cell[29] = (PlanDate == "1900-01-01" || PlanDate == "0001-01-01") ? "-" : PlanDate;
            //接收日期
            _dateVal = Task.AcceptTime.ToString("yyyy-MM-dd");
            cell[30] = (_dateVal == "1900-01-01" || _dateVal == "0001-01-01") ? "-" : _dateVal;
            //发布日期
            _dateVal = Task.ReleaseTime.ToString("yyyy-MM-dd");
            cell[31] = (_dateVal == "1900-01-01" || _dateVal == "0001-01-01") ? "-" : _dateVal;
            //开始日期
            _dateVal = Task.StartTime.ToString("yyyy-MM-dd");
            cell[32] = (_dateVal == "1900-01-01" || _dateVal == "0001-01-01") ? "-" : _dateVal;
            //结束时间
            _dateVal = Task.FinishTime.ToString("yyyy-MM-dd");
            cell[33] = (_dateVal == "1900-01-01" || _dateVal == "0001-01-01") ? "-" : _dateVal;
            //预计日期
            _dateVal = Task.ForecastTime.ToString("yyyy-MM-dd");;
            cell[34] = (_dateVal == "1900-01-01" || _dateVal == "0001-01-01") ? "-" : _dateVal;

            //CADM人员FullName
            cell[35] = CAM;
            //QC点
            cell[36] = Task.QCInfoFinish.ToString();
            //跑位检查
            cell[37] = Task.PositionFinish.ToString();
            //QC
            cell[38] = QC;
            //加工人员FullName
            cell[39] = Workshop;
            //机器号
            cell[40] = _setupTask.MachinesName;
            //操作人员
            cell[41] = _setupTask.UserName;
            cell[42] = taskType;

            cell[43] = Task.TaskType.ToString();
            cell[44] = Task.Creator;
        }
Esempio n. 4
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));
            }
        }
        //外发任务
        public PurchaseContentGridRowModel(Task Task, SetupTaskStart _setuptaskStart, string mrPurDate, IProjectPhaseRepository ProjectPhaseRepository, ISteelCAMDrawingRepository SteelDrawingRepo
                                           , IWHPartRepository WHPartRepository, IPurchaseTypeRepository PurchaseTypeRepository, double time)
        {
            int    _phaseID = 0;
            string _partNum = WHPartRepository.GetwfTaskPartNum(Task.TaskID);

            cell    = new string[28];
            cell[0] = "";
            cell[1] = "0";
            cell[2] = Task.TaskID.ToString();
            cell[3] = "0";
            //零件名 taskname+processname
            cell[4] = Task.TaskName + "_" + Task.ProcessName + "(V" + string.Format("{0:00}", Task.Version) + ")";
            //数量
            if (Task.TaskType == 1)
            {
                cell[5] = (Task.R + Task.F).ToString();
            }
            else
            {
                //cell[5] = Task.Quantity.ToString();
                cell[5] = _setuptaskStart.Qty.ToString();
            }
            ////物料编号 模具号-taskid
            cell[6] = _partNum;//Task.MoldNumber+"-"+Task.TaskID.ToString();
            //规格
            cell[7] = Task.Raw;
            //材料
            cell[8] = Task.Material;
            //硬度
            cell[9] = Task.HRC;
            //零件号
            cell[10] = _partNum.Split('-')[1];
            cell[11] = "";
            cell[12] = _setuptaskStart.MachinesName ?? "";
            cell[13] = "true";

            cell[14] = "新建";
            cell[15] = "0";
            cell[16] = mrPurDate ?? Task.PlanTime.ToString("yyyy-MM-dd");
            cell[17] = Task.MoldNumber;
            cell[18] = "";
            cell[19] = "";
            cell[20] = "";
            cell[21] = Task.Memo;
            cell[22] = _setuptaskStart.UserName ?? "";
            cell[23] = _setuptaskStart.MachinesName ?? "";
            cell[24] = _setuptaskStart.MachinesCode ?? "";
            cell[25] = Task.Quantity.ToString();
            int _purchaseType = 0;

            if (Task.TaskType == 6)
            {
                switch (Task.OldID)//0 铣/1 磨/4 全加工/3 车
                {
                case 0:
                    _purchaseType = PurchaseTypeRepository.QueryByName("铣床外发").PurchaseTypeID;
                    break;

                case 1:
                    _purchaseType = PurchaseTypeRepository.QueryByName("磨床外发").PurchaseTypeID;
                    break;

                case 3:
                    _purchaseType = PurchaseTypeRepository.QueryByName("车外发").PurchaseTypeID;
                    break;

                case 4:
                    _purchaseType = PurchaseTypeRepository.QueryByName("全加工外发").PurchaseTypeID;
                    break;

                default:
                    _purchaseType = PurchaseTypeRepository.QueryByName("铣磨外发").PurchaseTypeID;
                    break;
                }
            }
            else
            {
                _purchaseType = PurchaseTypeRepository.PurchaseTypes.ToList().Where(t => Task.TaskType.Equals(Convert.ToInt32(t.TaskType))).FirstOrDefault().PurchaseTypeID;
            }
            cell[26] = _purchaseType.ToString();
            cell[27] = time.ToString();
        }
        //编辑PR单
        public PurchaseContentGridRowModel(PRContent PRContent, string State, string CostCenter, string ERPNo, SetupTaskStart _setupTask)
        {
            cell    = new string[27];
            cell[0] = PRContent.PRContentID.ToString();
            cell[1] = PRContent.PartID.ToString();
            cell[2] = PRContent.TaskID.ToString();
            cell[3] = PRContent.WarehouseStockID.ToString();
            //获取零件短名
            string name = PRContent.PartName ?? "";

            //name = name.Substring(name.IndexOf('_') + 1, name.LastIndexOf('_') - name.IndexOf('_') - 1);
            //name = name.Substring(0, name.LastIndexOf('_') - 1);
            //
            cell[4]  = string.IsNullOrEmpty(name) ? PRContent.PartName : name;
            cell[5]  = PRContent.Quantity.ToString();
            cell[6]  = PRContent.PartNumber;
            cell[7]  = PRContent.PartSpecification;
            cell[8]  = PRContent.MaterialName;
            cell[9]  = PRContent.Hardness ?? "";
            cell[10] = PRContent.JobNo;
            cell[11] = PRContent.BrandName;
            cell[12] = PRContent.SupplierName;
            cell[13] = PRContent.PurchaseDrawing.ToString();

            cell[14] = State;
            cell[15] = PRContent.PurchaseItemID.ToString();
            cell[16] = PRContent.RequireTime == new DateTime(1900, 1, 1) ? "-" : PRContent.RequireTime.ToString("yyyy-MM-dd");
            cell[17] = PRContent.MoldNumber;
            cell[18] = PRContent.CostCenterID.ToString();
            cell[19] = CostCenter;
            cell[20] = ERPNo;
            cell[21] = PRContent.Memo;
            cell[22] = _setupTask.UserName ?? "";
            cell[23] = _setupTask.MachinesName ?? "";
            cell[24] = _setupTask.MachinesCode ?? "";
            cell[25] = PRContent.Quantity.ToString();
            cell[26] = PRContent.PurchaseTypeID.ToString();
        }