Пример #1
0
        /// <summary>
        /// PR_CAMInsertOrUpdateEleInformation_R02
        /// Create or update EleInformation(CNCMachInfoes table records)
        /// Create or update Ele related tasks(Tasks table record)
        /// </summary>
        /// <param name="Task"></param>
        /// <param name="MachInfo"></param>
        public void Update(Task Task,
                           CNCMachInfo MachInfo,
                           int NcProgrameOption,
                           int ElePosOption,
                           ref string Position,
                           ref int Ele_index,
                           ref bool NCFile,
                           string CADUser,
                           string CAMUser)
        {
            string _url = "/Task/SaveUGTask";

            Task.DrawingFile = Task.DrawingFile == null ? "" : Task.DrawingFile;
            Task.ProcessName = MachInfo.MachType;
            Task.HRC         = Task.HRC == null ? "" : Task.HRC;
            Task.Memo        = Task.Memo == null ? "" : Task.Memo;
            Task.StateMemo   = Task.StateMemo == null ? "" : Task.StateMemo;
            //181016 MoldNumber由NX端传值
            //Task.MoldNumber = Task.TaskName.Substring(0, Task.TaskName.IndexOf('_'));
            Task.TaskType = 1;
            Task.State    = (int)TaskStatus.未发布;
            Task.Enabled  = true;
            UserInfo _userInfo = new UserInfo(_server);

            Task.CADUser = _userInfo.GetUserID(CADUser);
            Task.CAMUser = _userInfo.GetUserID(CAMUser);

            string _return = _server.SendObject(_url, "CAMTask", Task);


            _url = "/Task/SaveCNCMachInfo";
            double _safeHeight = GetSafeHeight(Task.Raw);

            bool _qcPoint = QCPointProgramExist(Task.Model, Task.Version);


            //if (MachInfo.Model == null)
            //{
            //    MachInfo.Model = Task.Model;
            //}
            MachInfo.Model = Task.Model;

            MachInfo.QCPoint      = _qcPoint;
            MachInfo.SafetyHeight = _safeHeight;
            string      data      = _server.SendObject(_url, "MachInfo", MachInfo);
            CNCMachInfo _machInfo = JsonConvert.DeserializeObject <CNCMachInfo>(data);

            Position  = _machInfo.Position;
            Ele_index = _machInfo.DrawIndex;

            if ((_machInfo.RoughName == "") && (_machInfo.FinishName == ""))
            {
                NCFile = false;
            }
        }
Пример #2
0
        private CNCMachInfo GetCNCMachinfo(Task _task,
                                                                           //ICNCMachInfoRepository MachInfoRepository,
                                                                           //ITaskRepository TaskRepository,
                                                                           //IEDMDetailRepository EDMDetailRepository,
                                           List <CNCMachInfo> cncmacInfos, //
                                           List <Task> _tasks,             //
                                           List <EDMDetail> _edmDetails    //
                                           )
        {
            CNCMachInfo _machinfo = null;

            switch (_task.TaskType)
            {
            case 1:

                _machinfo = cncmacInfos.Where(m => m.DrawIndex == _task.TaskID).FirstOrDefault();    //MachInfoRepository.QueryByELEIndex(_task.TaskID);
                return(_machinfo);

            case 2:
                try
                {
                    EDMDetail _detail  = _edmDetails.Where(t => t.TaskID == _task.TaskID).Where(t => t.Expire == false).FirstOrDefault();   //EDMDetailRepository.QueryByTaskID(_task.TaskID);
                    string[]  _eleList = _detail.EleDetail.Split(';');
                    string    _eleItem = _eleList[0].Substring(0, _eleList[0].Length - 4);
                    int       _ver     = Convert.ToInt16(_eleList[0].Substring(_eleList[0].IndexOf("_V") + 2));
                    Task      _cnctask = QueryByNameVersion(_tasks, _eleItem, _ver);                     //TaskRepository.QueryByNameVersion(_eleItem, _ver);
                    _machinfo = cncmacInfos.Where(m => m.DrawIndex == _cnctask.TaskID).FirstOrDefault(); //MachInfoRepository.QueryByELEIndex(_cnctask.TaskID);
                    return(_machinfo);
                }
                catch
                {
                    return(null);
                }

            default:
                return(null);
            }
        }
Пример #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;
        }
        public int Save(CNCMachInfo CNCMachInfo)
        {
            CNCMachInfo _dbEntry = null;
            bool        _isNew   = false;

            if (CNCMachInfo.MachInfoID == 0)
            {
                _dbEntry = _context.CNCMachInfoes
                           .Where(m => m.Model == CNCMachInfo.Model)
                           .Where(m => m.Version == CNCMachInfo.Version)
                           .FirstOrDefault();
                if (_dbEntry == null)
                {
                    _isNew = true;
                    CNCMachInfo.CreateDate = DateTime.Now;
                    CNCMachInfo.IssueDate  = new DateTime(1900, 1, 1);
                    CNCMachInfo.PosCheck   = false;
                    _context.CNCMachInfoes.Add(CNCMachInfo);
                }
                else
                {
                    _dbEntry.Model        = CNCMachInfo.Model;
                    _dbEntry.Version      = CNCMachInfo.Version;
                    _dbEntry.Position     = CNCMachInfo.Position;
                    _dbEntry.RoughName    = CNCMachInfo.RoughName;
                    _dbEntry.FinishName   = CNCMachInfo.FinishName;
                    _dbEntry.RoughGap     = CNCMachInfo.RoughGap;
                    _dbEntry.FinishGap    = CNCMachInfo.FinishGap;
                    _dbEntry.RoughTime    = CNCMachInfo.RoughTime;
                    _dbEntry.FinishTime   = CNCMachInfo.FinishTime;
                    _dbEntry.RoughCount   = CNCMachInfo.RoughCount;
                    _dbEntry.FinishCount  = CNCMachInfo.FinishCount;
                    _dbEntry.DrawIndex    = CNCMachInfo.DrawIndex;
                    _dbEntry.Surface      = CNCMachInfo.Surface;
                    _dbEntry.ObitType     = CNCMachInfo.ObitType;
                    _dbEntry.MachType     = CNCMachInfo.MachType;
                    _dbEntry.EDMStock     = CNCMachInfo.EDMStock;
                    _dbEntry.CNCMethod    = CNCMachInfo.CNCMethod;
                    _dbEntry.EDMMethod    = CNCMachInfo.EDMMethod;
                    _dbEntry.AppendMethod = CNCMachInfo.AppendMethod;
                    _dbEntry.SafetyHeight = CNCMachInfo.SafetyHeight;
                    _dbEntry.QCPoint      = CNCMachInfo.QCPoint;
                    _dbEntry.PosCheck     = CNCMachInfo.PosCheck;
                }
            }
            else
            {
                _dbEntry = _context.CNCMachInfoes.Find(CNCMachInfo.MachInfoID);
                if (_dbEntry != null)
                {
                    _dbEntry.Model        = CNCMachInfo.Model;
                    _dbEntry.Version      = CNCMachInfo.Version;
                    _dbEntry.Position     = CNCMachInfo.Position;
                    _dbEntry.RoughName    = CNCMachInfo.RoughName;
                    _dbEntry.FinishName   = CNCMachInfo.FinishName;
                    _dbEntry.RoughGap     = CNCMachInfo.RoughGap;
                    _dbEntry.FinishGap    = CNCMachInfo.FinishGap;
                    _dbEntry.RoughTime    = CNCMachInfo.RoughTime;
                    _dbEntry.FinishTime   = CNCMachInfo.FinishTime;
                    _dbEntry.RoughCount   = CNCMachInfo.RoughCount;
                    _dbEntry.FinishCount  = CNCMachInfo.FinishCount;
                    _dbEntry.DrawIndex    = CNCMachInfo.DrawIndex;
                    _dbEntry.Surface      = CNCMachInfo.Surface;
                    _dbEntry.ObitType     = CNCMachInfo.ObitType;
                    _dbEntry.MachType     = CNCMachInfo.MachType;
                    _dbEntry.EDMStock     = CNCMachInfo.EDMStock;
                    _dbEntry.CNCMethod    = CNCMachInfo.CNCMethod;
                    _dbEntry.EDMMethod    = CNCMachInfo.EDMMethod;
                    _dbEntry.AppendMethod = CNCMachInfo.AppendMethod;
                    _dbEntry.SafetyHeight = CNCMachInfo.SafetyHeight;
                    _dbEntry.QCPoint      = CNCMachInfo.QCPoint;
                    _dbEntry.PosCheck     = CNCMachInfo.PosCheck;
                }
            }
            _context.SaveChanges();
            if (_isNew)
            {
                return(CNCMachInfo.MachInfoID);
            }
            else
            {
                return(_dbEntry.MachInfoID);
            }
        }
Пример #5
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));
            }
        }