private void button2_Click(object sender, EventArgs e) { if (!string.IsNullOrEmpty(textBox1.Text)) { //string PartList = ReadTxtContent(textBox1.Text); string Entity = ReadTxtContent(textBox1.Text); //List<Part> parts = new List<Part>() //{ // new Part {PartID=0,ProjectID=0,ShortName="数据测试",Name="116161_Black(4212+4213)_9003_V00",Specification="43.00X15.57X32.46",CreateDate=Convert.ToDateTime("0001-01-01T00:00:00"),ReleaseDate=Convert.ToDateTime("0001-01-01T00:00:00") // ,MaterialName="Unimax",Hardness="HRC54-56",BrandName="南烽",SupplierName="",Memo="",Quantity=1,Enabled=true,Version="00",TotalQty=1,Virtual=true,JobNo="9003",PartNumber="116161-9003"}, // //new Part {PartID=0,ProjectID=10,ShortName="Name2",Name="116161_Hot runner_1091_V20",PartListID=0 }, //}; //string str = JsonConvert.SerializeObject(parts); //List<Part> _parts = JsonConvert.DeserializeObject<List<Part>>(str); MGSetting _entity = JsonConvert.DeserializeObject <MGSetting>(Entity); //UGParts ugp = new UGParts("localhost", "50187"); MGInformation mgi = new MGInformation("localhost", "50187"); //ResponseInfo ri = ugp.SaveParts(_parts); int ri = mgi.AddOrUpdateMGDrawing(_entity); //string version = "011"; //version = version.Substring(version.Count()-2,2); //MessageBox.Show(version); } else { MessageBox.Show("!"); } }
public MGSetting QueryByTaskID(int TaskID) { Task task = _context.Tasks.Where(t => t.TaskID == TaskID).FirstOrDefault() ?? new Task(); MGSetting mgsetting = _context.MGSettings.Where(m => m.ID == task.ProgramID).FirstOrDefault() ?? new MGSetting(); return(mgsetting); }
private void button4_Click(object sender, EventArgs e) { MGSetting _entity = new MGSetting { DrawName = "DrawName", CADNames = "CADNames", Qty = 1, ProcessType = 1, Time = 18.20M, FeatureNote = "tttt", Material = "Material", HRC = "HRC", RawSize = "RawSize", Rev = 0, ReleaseFlag = true, MoldName = "111888" }; MGInformation mgi = new MGInformation("localhost", "50187"); int ri = mgi.AddOrUpdateMGDrawing(_entity); }
public int AddOrUpdateMGDrawing(MGSetting entity) { try { string _url = "/Task/SaveService_MGCAMSetting"; string _return = _server.SendObject(_url, "entity", entity); return(Convert.ToInt32(_return)); } catch { return(2); } }
public bool DeleteSettingByName(string partname, int rev) { MGSetting dbentity = _context.MGSettings.Where(m => m.DrawName == partname && m.active).Where(m => m.Rev == rev).FirstOrDefault() ?? new MGSetting(); if (dbentity.ID > 0) { dbentity.active = false; dbentity.DeleteDate = DateTime.Now; _context.SaveChanges(); return(true); } else { return(false); } }
/// <summary> /// 保存 /// </summary> /// <param name="entity"></param> /// <returns>return ID= 成功 -1--已发布 -2--失败 -3--已有更新版本 -4 上一版本没有发布</returns> public int Save(MGSetting entity, bool ForUG = true) { bool IsNew = false; try { MGSetting _dbentity = new MGSetting(); _dbentity = _context.MGSettings.Where(m => m.DrawName == entity.DrawName && m.active).Where(m => m.Rev == entity.Rev).FirstOrDefault() ?? new MGSetting(); if (ForUG) { if (_dbentity.ReleaseFlag) { return(-1); } MGSetting _dbentity2 = new MGSetting(); _dbentity2 = _context.MGSettings.Where(m => m.DrawName == entity.DrawName && m.active).Where(m => m.Rev > entity.Rev).FirstOrDefault() ?? new MGSetting(); if (_dbentity2.ID > 0) { return(-3); } _dbentity2 = _context.MGSettings.Where(m => m.DrawName == entity.DrawName && m.active).Where(m => m.Rev < entity.Rev).Where(m => m.ReleaseFlag == false).FirstOrDefault() ?? new MGSetting(); if (_dbentity2.ID > 0) { return(-4); } } #region Add if (_dbentity.ID == 0) { IsNew = true; entity.LastestFlag = true; entity.ReleaseFlag = false; entity.CreateDate = DateTime.Now; //NUll值会造成 数据长度溢出问题 datetime2->datetime 类型异常 entity.ReleaseDate = DateTime.Parse("1900/1/1"); entity.DeleteDate = DateTime.Parse("1900/1/1"); entity.active = true; entity.State = (int)MGSettingStatus.新建; _context.MGSettings.Add(entity); } #endregion #region Update else { _dbentity.CADNames = entity.CADNames; _dbentity.Qty = entity.Qty; _dbentity.ProcessType = entity.ProcessType; _dbentity.Time = entity.Time; _dbentity.FeatureNote = entity.FeatureNote; _dbentity.LastestFlag = true; _dbentity.active = true; _dbentity.Material = entity.Material; _dbentity.HRC = entity.HRC; _dbentity.Rev = entity.Rev; _dbentity.RawSize = entity.RawSize; _dbentity.MoldName = entity.MoldName; _dbentity.State = entity.State; } #endregion _context.SaveChanges(); if (IsNew) { return(entity.ID); } else { return(_dbentity.ID); } } catch (Exception ex) { return(-2); } }
/// <summary> /// 发布MG任务 启用事务 /// </summary> /// <param name="DrawIndex"></param> /// <param name="ReleaseBy"></param> /// <returns>return value 0 --成功 1--失败 2--已发布</returns> public int ReleaseMGDrawing(int DrawIndex, string ReleaseBy, string TaskName, string Memo) { #region 返回失败代码 MGSetting dbentity = _context.MGSettings.Where(m => m.ID == DrawIndex).Where(m => m.active == true).FirstOrDefault() ?? new MGSetting(); if (dbentity.ID == 0 || dbentity.ProcessType == 0) { return(1); } MGSetting dbentity2 = _context.MGSettings.Where(m => m.ID == DrawIndex).Where(m => m.active == true).Where(m => m.ReleaseFlag == true).FirstOrDefault() ?? new MGSetting(); if (dbentity2.ID > 0) { return(2); } #endregion var tran = _context.Database.BeginTransaction(); //开启事务 try { #region 更新 MGSetting dbentity.ReleaseFlag = true; dbentity.ReleaseDate = DateTime.Now; dbentity.ReleaseBy = ReleaseBy; dbentity.State = (int)MGSettingStatus.已发布但任务未发布; #endregion User _userRe = (_context.Users.Where(u => u.FullName == ReleaseBy).FirstOrDefault() ?? new User()); User _userCr = (_context.Users.Where(u => u.FullName == dbentity.CreateBy).FirstOrDefault() ?? new User()); MGTypeName typename = _context.MGTypeNames.Where(m => m.ID == dbentity.ProcessType).FirstOrDefault() ?? new MGTypeName(); WarehouseRecord whrecord = _context.WarehouseRecords.Where(w => w.Name == dbentity.ItemNO).Where(w => w.Quantity > 0).FirstOrDefault() ?? new WarehouseRecord(); #region 版本号>0 if (dbentity.Rev > 0) { if (IsMGTaskReleasedByName(TaskName)) { return(2); } List <MGSetting> mgsettings = _context.MGSettings.Where(m => m.DrawName == dbentity.DrawName).Where(m => m.Rev < dbentity.Rev).ToList(); if (mgsettings != null && mgsettings.Count > 0) { foreach (var ms in mgsettings) { ms.LastestFlag = false; } } //TaskType->6 铣磨 State->7 外发 var mgtasks = from t in _context.Tasks join m in _context.MGSettings on t.ProgramID equals m.ID where m.DrawName == dbentity.DrawName && m.Rev < dbentity.Rev && t.TaskType == 6 && t.Enabled == true && (t.State < (int)TaskStatus.完成 && t.State >= (int)TaskStatus.未发布) select t; if (mgtasks != null) { if (mgtasks.Count() > 0) { foreach (var mgt in mgtasks) { //任务状态设置为 完成 mgt.FinishBy = _userRe.UserID; mgt.FinishTime = DateTime.Now; mgt.State = (int)TaskStatus.完成; mgt.StateMemo = string.IsNullOrEmpty(mgt.StateMemo) ? "设定升版,低版本任务关闭。" : mgt.StateMemo + ";设定升版,低版本任务关闭。"; } } } } #endregion #region 计划时间 Project proj = _context.Projects.Where(p => p.MoldNumber == dbentity.MoldName && p.Enabled == true).FirstOrDefault() ?? new Project(); ProjectPhase ph4 = _context.ProjectPhases.Where(p => p.ProjectID == proj.ProjectID && p.PhaseID == 4).FirstOrDefault() ?? new ProjectPhase(); //M铣床 ProjectPhase ph7 = _context.ProjectPhases.Where(p => p.ProjectID == proj.ProjectID && p.PhaseID == 7).FirstOrDefault() ?? new ProjectPhase(); //G磨床 #endregion #region 生成加工任务 int lenNote = typename.Note.Length; //// var _noteArry = typename.Note.Split(','); double _time = Convert.ToDouble(Math.Round(dbentity.Time / _noteArry.Length, 1)); //// int? Process = null; string str = ""; int strStart = 1; DateTime PlanDate = new DateTime(1900, 1, 1); for (int i = 1; i <= lenNote; i++) { if (typename.Note.Substring(i - 1, 1) == "," || i == lenNote) { if (typename.Note.Substring(i - 1, 1) == ",") { str = typename.Note.Substring(strStart - 1, i - strStart); } else if (i == lenNote) { str = typename.Note.Substring(strStart - 1, i - strStart + 1); } strStart = i + 1; } try { Process = Convert.ToInt32(str); } catch { } if (Process != null && Process == 0) { PlanDate = ph4.PlanFinish; } else if (Process == 1) { PlanDate = ph7.PlanFinish; } //User user = _context.Users.Where(u => u.FullName == ReleaseBy).FirstOrDefault() ?? new User(); #region 检索图纸 string flag = _context.SystemConfigs.Where(s => s.SettingName == "2D_Drw_Type").FirstOrDefault().Value ?? ""; string DrawType = flag == "Outside" ? "2D" : ""; string sDrawName = TaskName + "_" + DrawType; string DrawName = ""; List <CAMDrawing> _draws = _context.CAMDrawings.Where(d => d.DrawingName.Contains(sDrawName)).ToList(); Dictionary <int, int> _dics = new Dictionary <int, int>(); if (_draws.Count > 0) { foreach (var d in _draws) { int _ver = Convert.ToInt32(d.DrawingName.Substring(d.DrawingName.LastIndexOf('_') + 2, 2)); _dics.Add(d.CAMDrawingID, _ver); } Dictionary <int, int> _dics_SortByKey = _dics.OrderByDescending(d => d.Value).ToDictionary(d => d.Key, v => v.Value); DrawName = _draws.Where(d => d.CAMDrawingID == _dics_SortByKey.FirstOrDefault().Key).FirstOrDefault().DrawingName; } #endregion //关键 TaskType->6 铣磨任务; OldID字段用于记录旧表(MG_Task)Process信息-> 0:铣床任务 1:磨床任务 MGTypeName _mgtype = _context.MGTypeNames.Where(t => t.Note == Process.ToString()).FirstOrDefault() ?? new MGTypeName(); Task mgtask = new Task { TaskName = TaskName, DrawingFile = DrawName, Version = dbentity.Rev, ProgramID = dbentity.ID, Creator = ReleaseBy, CreateTime = DateTime.Now, Enabled = true, Priority = 0, State = (int)TaskStatus.未发布, PrevState = (int)TaskStatus.未发布, Memo = Memo, Quantity = dbentity.Qty, OldID = Convert.ToInt32(Process), PlanTime = PlanDate, StartTime = new DateTime(1900, 1, 1), ProjectID = proj.ProjectID, TaskType = 6, MoldNumber = dbentity.MoldName, HRC = dbentity.HRC, ProcessName = _mgtype.Name, Time = _time, Material = dbentity.Material, Raw = dbentity.RawSize, CAMUser = _userCr.UserID }; if (Process != null) { _context.Tasks.Add(mgtask); } } #endregion _context.SaveChanges(); tran.Commit();//提交事务 return(0); } catch (Exception ex) { tran.Rollback(); //回滚 return(1); } }
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 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)); } }