private void AddProcessToList(DELProcessInsProperty pI) { foreach (ListViewItem item in this.lvwProcess.Items) { if (item.Tag == pI) { return; } } ListViewItem item2 = new ListViewItem(pI.Name) { SubItems = { this.Translate(pI.State) }, Tag = pI }; this.lvwProcess.Items.Add(item2); }
private void FillProcess() { this.lvwProcess.Items.Clear(); this.lvwWorkItem.Items.Clear(); foreach (DEMarkup markup in this.MarkupList) { bool flag = false; DELProcessInsProperty theDELProcessInsProperty = null; foreach (DELProcessInsProperty property2 in this.ProcessList) { if (property2.ID == markup.ProcessOid) { theDELProcessInsProperty = property2; flag = true; break; } } if (!flag) { BPMProcessor processor = new BPMProcessor(); try { processor.GetProcessInsProperty(ClientData.LogonUser.Oid, markup.ProcessOid, out theDELProcessInsProperty); } catch (Exception exception) { PrintException.Print(exception); continue; } if (theDELProcessInsProperty != null) { this.ProcessList.Add(theDELProcessInsProperty); } } if (theDELProcessInsProperty != null) { this.AddProcessToList(theDELProcessInsProperty); } } if (this.lvwProcess.Items.Count > 0) { this.lvwProcess.Items[0].Selected = true; } }
public void Run(string Guids) { // 1.流程定义oid M-工艺路线审签流程 89A31E422C14C54FB971AD5186744187 var processDefinitionID = Guid.Empty; //= new Guid(PLMCommon.OracleToDotNet("89A31E422C14C54FB971AD5186744187")); // 2.活动节点定义oid 审核 E1B31DB3F2251C46A8DA6385BB84FFD2 var activityDefinitionID = Guid.Empty; // = new Guid(PLMCommon.OracleToDotNet("13E9286506432949A290DE203C0F911E")); // 3. 操作oid plm_bpm_oprcfg_ins C85970E6C5AD47428E44FBA806F2174A var operationID = Guid.Empty; //= new Guid(PLMCommon.OracleToDotNet("BDF4C1163979274E97492B05E62FC6E6")); // 4. 流程实例oid CE9B9A2097934C40A7DB77A3E4E872D7 var ProcessInstanceID = new Guid(PLMCommon.OracleToDotNet(Guids)); // 5. 活动实例oid 440BF07771325445A7A4F42D29C461BE var ActivityInstanceID = Guid.Empty; //= new Guid(PLMCommon.OracleToDotNet("A27F8320C5B1154BA024E3658FE38F93")); // 6. workItem oid 80883CE28E7696409E2B10E92371922F 取审核节点的workitem var WorkItemID = Guid.Empty; //= new Guid(PLMCommon.OracleToDotNet("724FD7AD5AB9EA41A4402A6449D3C0D3")); OracleCommand cmd = new OracleCommand(); cmd.Connection = this.dbParam.Connection as OracleConnection; cmd.CommandText = @"select i.PLM_PROCESSDEFINITIONID, a.PLM_ACTIVITYDEFINITIONID, h.plm_oid operationid, i.PLM_OID, a.PLM_OID activityid from plm_bpmv_process_instance i, plm_bpmv_acitivity_instance a, plm_bpm_r_activityins_oper_h h where i.PLM_OID = a.PLM_PROCESSINSTANCEID and a.PLM_OID = h.plm_activityinstanceid and h.plm_operationname = '外供图自动托晒' and i.PLM_OID = :poid"; cmd.Parameters.Add(":poid", ProcessInstanceID.ToByteArray()); // cmd.CommandText = @"select i.plm_oid from plm_bpm_process_instance i, plm_cus_c_taskroute_prc c where i.plm_oid = c.plm_process_oid //and c.plm_status <> 'P' and i.plm_state = 'Completed'"; OracleDataReader r = cmd.ExecuteReader(); while (r.Read()) { processDefinitionID = new Guid(r.GetOracleBinary(0).Value); activityDefinitionID = new Guid(r.GetOracleBinary(1).Value); operationID = new Guid(r.GetOracleBinary(2).Value); ProcessInstanceID = new Guid(r.GetOracleBinary(3).Value); ActivityInstanceID = new Guid(r.GetOracleBinary(4).Value); } WorkItemID = GetWorkItemID(ProcessInstanceID); var proc = new DELProcessInsProperty(); proc.ProcessDefinitionID = processDefinitionID; var activity = new DELActivityInstance(); activity.ActivityDefinitionID = activityDefinitionID; var relation = new DELRActivityInsOperation(); relation.OperationID = operationID; relation.ProcessInstanceID = ProcessInstanceID; var isa = new DELInstanceSpecificArgs(proc, activity, relation); isa.ProcessInstance.ID = ProcessInstanceID; isa.ActivityInstance.ID = ActivityInstanceID; isa.OperationRelationship.ID = operationID; isa.WorkItem = new DELWorkItem(); isa.WorkItem.ID = WorkItemID; var iga = new DELInstanceGeneralArgs(); var sea = new PLMServerEventArgs(this.dbParam, null); sea.Operator = PLMCommon.Sysadmin; new DQBMPWGTSVR().ExceuteOperation(isa, iga, sea); }
private void btnOK_Click(object sender, EventArgs e) { if ((this.lvwProcess.SelectedIndices.Count != 1) || (this.lvwWorkItem.SelectedIndices.Count != 1)) { if (this.lvwProcess.SelectedIndices.Count == 0) { MessageBoxPLM.Show("请选择一个流程!"); } else if (this.lvwWorkItem.SelectedIndices.Count == 0) { MessageBoxPLM.Show("请选择一个步骤!"); } base.DialogResult = DialogResult.None; } else { FileBrowseWay way; base.DialogResult = DialogResult.OK; DELProcessInsProperty tag = (DELProcessInsProperty)this.lvwProcess.SelectedItems[0].Tag; DELWorkItem item = (DELWorkItem)((object[])this.lvwWorkItem.SelectedItems[0].Tag)[0]; DEMarkup markup = (DEMarkup)((object[])this.lvwWorkItem.SelectedItems[0].Tag)[1]; base.Close(); if (markup.FileOid != this.file.FileOid) { DESecureFile fileByFileOid = PLItem.Agent.GetBizItemByIteration(markup.ItemOid, this.className, Guid.Empty, ClientData.LogonUser.Oid, BizItemMode.SmartBizItem).FileList.GetFileByFileOid(markup.FileOid); if (fileByFileOid != null) { this.file = fileByFileOid; } else { this.file.FileOid = markup.FileOid; } } if (this.AllFileNames.Contains(this.file.FileOid)) { this.fileName = this.AllFileNames[this.file.FileOid] as string; } else { this.fileName = FSClientUtil.DownloadFile(this.file.FileOid, "ClaRel_DOWNLOAD"); this.file.FileType = UIFileType.GetFileType(this.fileName); this.file.FileName = this.fileName; this.AllFileNames.Add(this.file.FileOid, this.fileName); } DEBrowser browser = null; try { way = UIBrowser.GetMarkupTool(this.file.FileOid, this.file.FileName, this.file.FileType, out browser); } catch (Exception exception) { PrintException.Print(exception, "浏览文件批注"); return; } if (way == FileBrowseWay.InnerBrowser) { if (browser != null) { IInnerBrowser browser2 = null; try { browser2 = BrowserPool.BrowserManager.GetBrowser(browser, null); } catch (Exception exception2) { MessageBoxPLM.Show(exception2.Message); return; } if (browser2 != null) { if (this.AllFileNames.Contains(this.file.FileOid)) { this.fileName = this.AllFileNames[this.file.FileOid] as string; } else { this.fileName = FSClientUtil.DownloadFile(this.file.FileOid, "ClaRel_DOWNLOAD"); this.AllFileNames.Add(this.file.FileOid, this.fileName); } FrmMarkupByBrowser.ViewMarkUp(this.fileName, this.file.FileOid, tag.ID, item.ID, Guid.Empty, item.ActorID, this.className, this.isShowDialog, browser2); } } } else { MessageBoxPLM.Show("必须定义打开文件的内部浏览器,否则不能批注"); } } }
private void lvwProcess_SelectedIndexChanged(object sender, EventArgs e) { if (this.lvwProcess.SelectedIndices.Count == 1) { this.lvwWorkItem.Items.Clear(); DELProcessInsProperty tag = (DELProcessInsProperty)this.lvwProcess.SelectedItems[0].Tag; ArrayList list = new ArrayList(); string key = tag.ID.ToString() + this.cmbFileList.SelectedIndex; if (this.processToWorkItems[key] == null) { list = this.FindWorkItems(tag.ID); this.processToWorkItems.Add(key, list); } else { list = (ArrayList)this.processToWorkItems[key]; } foreach (DELWorkItem item in list) { ListViewItem item2 = new ListViewItem(item.Name); if ((item.CompletedDate == DateTime.MinValue) || (item.CompletedDate == DateTime.MaxValue)) { item2.SubItems.Add("未完成"); } else { item2.SubItems.Add(item.CompletedDate.ToString()); } object[] objArray = new object[2]; objArray[0] = item; item2.Tag = objArray; bool flag = false; foreach (DEMarkup markup in this.MarkupList) { if ((markup.ProcessOid == item.ProcessInstanceID) && (markup.WorkItemOid == item.ID)) { DEUser userById = null; try { userById = this.GetUserById(markup.UserOid); } catch (Exception) { } if (userById != null) { item2.SubItems.Add(userById.Name); } else { item2.SubItems.Add(item.Reserve1); } item2.SubItems.Add(markup.Markup); objArray[1] = markup; flag = true; break; } } if (flag) { this.lvwWorkItem.Items.Add(item2); } } } }