/// <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; } }
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); } }
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); } }
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)); } }