Example #1
0
        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);
        }
Example #2
0
 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;
     }
 }
Example #3
0
        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);

        }
Example #4
0
 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("必须定义打开文件的内部浏览器,否则不能批注");
         }
     }
 }
Example #5
0
 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);
             }
         }
     }
 }