diff --git a/com.connor.jd.plm/src/com/connor/jd/plm/action/WLTZReviseAction.java b/com.connor.jd.plm/src/com/connor/jd/plm/action/WLTZReviseAction.java index d4a4b6c..76cb516 100644 --- a/com.connor.jd.plm/src/com/connor/jd/plm/action/WLTZReviseAction.java +++ b/com.connor.jd.plm/src/com/connor/jd/plm/action/WLTZReviseAction.java @@ -6,9 +6,11 @@ import java.util.List; import java.util.Map; import com.alibaba.fastjson.JSONObject; +import com.connor.jd.plm.utils.JDMethodUtil; import com.teamcenter.rac.aif.AbstractAIFApplication; import com.teamcenter.rac.aif.common.actions.AbstractAIFAction; import com.teamcenter.rac.aifrcp.AIFUtility; +import com.teamcenter.rac.kernel.TCAccessControlService; import com.teamcenter.rac.kernel.TCComponent; import com.teamcenter.rac.kernel.TCComponentBOMLine; import com.teamcenter.rac.kernel.TCComponentICO; @@ -64,9 +66,27 @@ public class WLTZReviseAction extends AbstractAIFAction { return; } TCComponentItem item = rev.getItem(); -// session.getUserService().call("bs_bypass", new Object[] { true }); - TCComponentItemRevision newRev = rev.saveAs(item.getNewRev()); -// session.getUserService().call("bs_bypass", new Object[] { false }); + TCComponent[] comps = rev.getRelatedComponents("fnd0ActuatedInteractiveTsks"); + List allow2 = Arrays.asList(JDMethodUtil.getPrefStrArray("jd_wltz_revise_workflow", session)); + System.out.println("allow workflow:" + Arrays.toString(allow2.toArray())); + TCComponentItemRevision newRev = null; + for (TCComponent comp : comps) { + if (comp.getProperty("object_name").contains("编制") && allow2.contains(comp.getProperty("parent_name")) + && comp.getProperty("task_state").equals("已开始")) { + System.out.println("开始授权"); + TCAccessControlService aclService = session.getTCAccessControlService(); + aclService.grantPrivilege(item, session.getUser(), "READ"); + aclService.grantPrivilege(item, session.getUser(), "WRITE"); + aclService.grantPrivilege(item, session.getUser(), "DELETE"); + rev.refresh(); + System.out.println("已授权读写删除"); + newRev = rev.saveAs(item.getNewRev()); + break; + } + } + if (newRev == null) { + newRev = rev.saveAs(item.getNewRev()); + } TCComponentICO ico = rev.getClassificationObjects()[0]; ICSProperty[] oldICSProps = ico.getICSProperties(true); int[] ids = new int[oldICSProps.length]; diff --git a/com.connor.jd.plm/src/com/connor/jd/plm/dialog/EditClassificationDialog.java b/com.connor.jd.plm/src/com/connor/jd/plm/dialog/EditClassificationDialog.java index feedbef..a405be0 100644 --- a/com.connor.jd.plm/src/com/connor/jd/plm/dialog/EditClassificationDialog.java +++ b/com.connor.jd.plm/src/com/connor/jd/plm/dialog/EditClassificationDialog.java @@ -244,7 +244,7 @@ public class EditClassificationDialog extends AbstractAIFDialog { boolean isAccess = session.getTCAccessControlService().checkPrivilege(rev, "WRITE"); List released = Arrays.asList(rev.getItem().getReleasedItemRevisions()); if (!isAccess || !released.contains(rev)) { - MessageBox.post("当前用户没有修改权限或者当前对象未发布", "提示", MessageBox.WARNING); +// JOptionPane.showMessageDialog(this, "当前用户没有修改权限或者当前对象未发布", "提示", JOptionPane.WARNING_MESSAGE); return false; }