/// <summary> /// 方法说明:新增卡片节点 /// 作 者:jason.tang /// 完成时间:2013-03-26 /// </summary> public string AddNodeInMaterial(ProcessCard card, string folderId) { string baseid = string.Empty; TreeNode selectNode = null; if (tcDesignView.SelectedTab == tbMaterial) { selectNode = tvMaterialDesign.SelectedNode; } else { selectNode = tvMaterialPBom.SelectedNode; } if (selectNode == null) { return(null); } TreeNode[] treeNodes = selectNode.Nodes.Find(card.ID.ToString(), true); if (treeNodes != null && treeNodes.Length > 0) { //MessageBox.Show("该物料下已包含相同的卡片", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information); return(null); } TreeNode node = new TreeNode(); node.Name = card.Name; node.Text = card.Name; //int count = selectNode.Nodes.Count + 1; node.Tag = card.ID; node.ImageKey = "card"; selectNode.Nodes.Add(node); if (selectNode.Tag != null) { baseid = ((MaterialModule)selectNode.Tag).baseid; } DataTable dt = Kingdee.CAPP.BLL.SqlServerControllerBLL.GetUserInfo(LoginFrm.UserName); if (dt != null || dt.Rows.Count > 0) { ProcessVersion version = new ProcessVersion(); version.FolderId = folderId; //ProcessCardFrm.processCardFrm.ProcessFolderId; version.BaseId = card.ID.ToString(); version.Name = card.Name; version.State = 2; version.IsShow = 2; version.Creator = dt.Rows[0]["UserId"].ToString(); version.Code = card.Name; Kingdee.CAPP.BLL.ProcessCardBLL.InsertProcessVersion(version, selectNode.Tag); if (ProcessCardEditFrm.processCardEditFrm != null) { ProcessCardEditFrm.processCardEditFrm.LoadCardData(); } } return(baseid); }
/// <summary> /// 保存工艺规程和卡片 /// </summary> /// <param name="?"></param> /// <param name="processPlanning"></param> public void SaveProcessPlanning( List <ProcessCardModule> processCardModules, ProcessPlanning processPlanning) { ProcessCardModuleBLL processCardModuleBLL = new ProcessCardModuleBLL(); try { /// 保存工艺规程 ProcessPlanningBLL.AddProcesPlanning(processPlanning); //保存文件夹 ProcessVersion version = new ProcessVersion(); version.FolderId = tvProcessCard.SelectedNode.Tag.ToString(); version.BaseId = processPlanning.ProcessPlanningId.ToString(); version.Name = processPlanning.Name; version.CategoryId = "A9FE1F2B-730A-4DA7-8323-557C664B9734"; Kingdee.CAPP.BLL.ProcessCardBLL.InsertProcessVersion(version, null); /// 保存工艺卡片 ProcessCardBLL processCardBLL = new ProcessCardBLL(); ProcessCard = new List <Model.ProcessCard>(); int i = 1; foreach (var pcm in processCardModules) { ProcessCard processCard = new ProcessCard(); //processCard.ID = Guid.NewGuid(); processCard.Name = string.Format(processPlanning.Name + "-{0}", i); //Guid.NewGuid().ToString(); processCard.CardModuleId = pcm.Id; processCard.Card = processCardModuleBLL.GetCardModule(pcm.Id); processCard.CreateTime = DateTime.Now; processCard.IsCheckOut = false; processCard.IsDelete = 0; processCard.UpdateTime = DateTime.Now; Guid id = processCardBLL.InsertProcessCard(processCard); processCard.ID = id; ProcessCard.Add(processCard); ///保存工艺规程和卡片映射 PlanningCardRelationBLL.AddProcesPlanningData( new PlanningCardRelation() { ProcessPlanningId = processPlanning.ProcessPlanningId, PlanningCardRelationId = Guid.NewGuid(), ProcessCardId = id, CardSort = 0 }); i++; } } catch (Exception ex) { MessageBox.Show(ex.Message); } }
/// <summary> /// 方法说明:卡片版本新增 /// 作 者:jason.tang /// 完成时间:2013-08-23 /// </summary> /// <param name="version">卡片版本实体</param> /// <returns>True/False</returns> public static bool InsertProcessVersion(ProcessVersion version, object material) { bool result = false; try { result = ProcessCardDAL.AddProcessVersion(version, material); } catch { throw; } return(result); }
protected override void Execute(CodeActivityContext context) { var executorRuntime = context.GetExtension <IExecutorRuntime>(); var jobInfo = executorRuntime.RunningJobInformation; string currentProcess = jobInfo.ProcessName.ToString(); if (currentProcess.Contains("_")) { currentProcess = currentProcess.Split('_')[0]; } JobId.Set(context, jobInfo.JobId.ToString()); ProcessName.Set(context, currentProcess); ProcessVersion.Set(context, jobInfo.ProcessVersion.ToString()); WorkflowFilePath.Set(context, jobInfo.WorkflowFilePath.ToString()); }
private void GetProcessInfo(System.Diagnostics.Process gameProcess) { // PID try { ProcessId = gameProcess.Id; ProcessVersion = gameProcess.MainModule.FileVersionInfo.FileVersion; } catch { throw new Exception(Properties.Resources.UITextInvalidProcessId); } // Version if (ProcessVersion == null) { throw new Exception(Properties.Resources.UITextGetModuleInfoFailed); } ProcessVersion = ProcessVersion.Replace(", ", "."); }
public void NewProcessVersionAck(string status, int PID, int PVID, string author, bool markedDuplication, string markAuthor, int score, bool published, bool update) { try { ValidateAcknowledge(status, IOExceptions[0]); if (!ProcessExists(PID, -1) || (update && !Painter.UpdateMode)) return; Process process = Painter.Manager.GameState.GetProcess(PID); ProcessVersion version = new ProcessVersion(PVID, process, author); version.score = score; version.published = published; version.markedDuplication = markedDuplication; version.markAuthor = markAuthor; process.Versions.Add(version); Painter.Manager.CurrentVersion = version; if (Painter.Manager.CurrentPlayer.Username.Equals(author) && published) Painter.Manager.CurrentPlayer.NumPubVersions++; else if (Painter.Manager.CurrentPlayer.Username.Equals(author)) Painter.Manager.CurrentPlayer.NumDraftVersions++; if (!update) Painter.Manager.CurrentScreen = GameManager.GameScreen.ProcessVersionCreate; if (!Painter.UpdateMode && process.Pool.Count == 0) LanguageConstructor.AddLane(PID, -1, "Participant"); } catch (InvalidOperationException ioe) { Debug.Log(ioe.StackTrace); } }
private void CalculateVersionAuthorshipScore(ProcessVersion version, Player author) { if (version.Author.Equals(author.Username)) { #region Expected number of activities (Poisson Distribution) float poissonFactor = (float)(version.score * CalculateModPoissonValue(version.CalculateNumberActivities(), int.Parse(PaintServerPanels.ExpectedNumActivities))); author.bonusMalus[0] += poissonFactor; version.bonusMalus[0] = poissonFactor; #endregion #region Quality voting float votingFactor = 0; if (version.QualityVotes.Count == 0) votingFactor = 0; else if (version.posVotes > version.negVotes) votingFactor = version.score*(((float)version.posVotes/version.QualityVotes.Count)/2); else votingFactor = -version.score*(((float)version.negVotes/version.QualityVotes.Count)/2); author.bonusMalus[0] += votingFactor; version.bonusMalus[1] = votingFactor; #endregion #region Process marked as a duplicate float duplicationFactor = 0; if (version.markedDuplication && (version.posDuplicationVotes > version.negDuplicationVotes)) duplicationFactor = - version.score*0.5f; else if (version.markedDuplication && (version.posDuplicationVotes <= version.negDuplicationVotes)) duplicationFactor = version.score*0.1f; author.bonusMalus[0] += duplicationFactor; version.bonusMalus[2] = duplicationFactor; #endregion } }
public void NewProcessVersion(int PID, string author) { try { Process process = State.GetProcess(PID); ProcessVersion version = new ProcessVersion(process.lastPVID++, process, author); Player versionAuthor = State.ActivePlayers.Find(player => player.Username.Equals(author)); process.Versions.Add(version); versionAuthor.NumDraftVersions++; DuplicateProcessToVersion(PID, version.PVID, author); } catch (InvalidOperationException ioe) { Debug.Log(ioe.StackTrace); networkView.RPC("NewProcessVersionAck", RPCMode.Others, "Failure", PID, -1, author, false, "", -1, false, false); } }
/// <summary> /// 方法说明:卡片版本新增 /// 作 者:jason.tang /// 完成时间:2013-08-23 /// </summary> /// <param name="version">卡片版本实体</param> /// <returns>True/False</returns> public static bool AddProcessVersion(ProcessVersion version, object material) { bool result = false; string strsql = @"INSERT INTO [PP_PCVersion] ([VerId] ,[BaseId] ,[VerCode] ,[VerName] ,[Code] ,[Name] ,[CategoryId] ,[MajorVer] ,[MinorVer] ,[State] ,[Creator] ,[CreateDate] ,[Updater] ,[UpdateDate] ,[CheckOutPerson] ,[CheckOutDate] ,[ArchiveDate] ,[ReleaseDate] ,[Remark] ,[IsChange] ,[IsEffective] ,[IsInFlow] ,[IsShow] ,[FolderId] ,[ObjectStatePath] ,[ObjectIconPath]) VALUES (@VerId, @BaseId, @VerCode, @VerName, @Code, @Name, @CategoryId, @MajorVer, @MinorVer, @State, @Creator, @CreateDate, @Updater, @UpdateDate, @CheckOutPerson, @CheckOutDate, @ArchiveDate, @ReleaseDate, @Remark, @IsChange, @IsEffective, @IsInFlow, @IsShow, @FolderId, @ObjectStatePath, @ObjectIconPath)"; using (DbCommand cmd = db.GetSqlStringCommand(strsql)) { string categroyId = GetCategroyByFolderId(version.FolderId); if (string.IsNullOrEmpty(categroyId)) { categroyId = "ceff050d-31bd-47dd-b282-3a68729db064"; } string code = GetCode(version.Code, version.Name); Guid id = Guid.NewGuid(); db.AddInParameter(cmd, "@VerId", DbType.Guid, id); db.AddInParameter(cmd, "@BaseId", DbType.String, version.BaseId); db.AddInParameter(cmd, "@VerCode", DbType.String, version.VerCode); db.AddInParameter(cmd, "@VerName", DbType.String, version.VerName); db.AddInParameter(cmd, "@Code", DbType.String, code); db.AddInParameter(cmd, "@Name", DbType.String, version.Name); db.AddInParameter(cmd, "@CategoryId", DbType.String, categroyId); db.AddInParameter(cmd, "@MajorVer", DbType.Int32, version.MajorVer); db.AddInParameter(cmd, "@MinorVer", DbType.Int32, version.MinorVer); db.AddInParameter(cmd, "@State", DbType.Int32, version.State); db.AddInParameter(cmd, "@Creator", DbType.String, version.Creator); db.AddInParameter(cmd, "@CreateDate", DbType.String, DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss")); db.AddInParameter(cmd, "@Updater", DbType.String, version.Updater); db.AddInParameter(cmd, "@UpdateDate", DbType.String, version.UpdateDate); db.AddInParameter(cmd, "@CheckOutPerson", DbType.String, version.CheckOutPerson); db.AddInParameter(cmd, "@CheckOutDate", DbType.String, version.CheckOutDate); db.AddInParameter(cmd, "@ArchiveDate", DbType.String, version.ArchiveDate); db.AddInParameter(cmd, "@ReleaseDate", DbType.String, version.ReleaseDate); db.AddInParameter(cmd, "@Remark", DbType.String, version.Remark); db.AddInParameter(cmd, "@IsChange", DbType.Boolean, version.IsChange); db.AddInParameter(cmd, "@IsEffective", DbType.Boolean, true); db.AddInParameter(cmd, "@IsInFlow", DbType.Boolean, version.IsInFlow); db.AddInParameter(cmd, "@IsShow", DbType.Int32, version.IsShow); db.AddInParameter(cmd, "@FolderId", DbType.String, version.FolderId); db.AddInParameter(cmd, "@ObjectStatePath", DbType.String, "../skins/ObjectState/2.gif"); db.AddInParameter(cmd, "@ObjectIconPath", DbType.String, "../skins/ObjectIcon/materialCard.PNG"); if (db.ExecuteNonQuery(cmd) > 0) { AddFolderRelation(version.BaseId, version.FolderId); if (material != null) { MaterialModule materialModule = null; string pbomId = string.Empty; if (material.GetType() == typeof(MaterialModule)) { materialModule = (MaterialModule)material; } else if (material.GetType() == typeof(String)) { pbomId = material.ToString(); } AddRelationObject(id.ToString(), materialModule, pbomId); } result = true; } } return(result); }