From 2e45570810cf418c5ae2054ed10fadd7e99382f2 Mon Sep 17 00:00:00 2001 From: xiongcz Date: Tue, 3 Jun 2025 18:16:30 +0800 Subject: [PATCH] =?UTF-8?q?=E5=A4=87=E4=BB=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .idea/.gitignore | 8 + .idea/git_toolbox_blame.xml | 6 + .idea/misc.xml | 10 + .idea/modules.xml | 8 + .idea/vcs.xml | 6 + com.connor.jd.plm.iml | 10 + com.connor.jd.plm/.classpath | 9 +- com.connor.jd.plm/META-INF/MANIFEST.MF | 931 +++++++++++++++++- com.connor.jd.plm/build.properties | 5 +- com.connor.jd.plm/plugin.xml | 10 +- .../ChangeImportObjectsUnitAction.java | 238 +++++ .../ChangeImportObjectsUnitHandler.java | 22 + .../RecordHistoryDialog.java | 502 ++++++++++ .../RecordHistoryEntity.java | 119 +++ .../RecordHistoryHandler.java | 21 + .../src/tcimporthistorydatas/Activator.java | 50 + 16 files changed, 1947 insertions(+), 8 deletions(-) create mode 100644 .idea/.gitignore create mode 100644 .idea/git_toolbox_blame.xml create mode 100644 .idea/misc.xml create mode 100644 .idea/modules.xml create mode 100644 .idea/vcs.xml create mode 100644 com.connor.jd.plm.iml create mode 100644 com.connor.jd.plm/src/com/connor/jd/plm/changeImportObjectsUnit/ChangeImportObjectsUnitAction.java create mode 100644 com.connor.jd.plm/src/com/connor/jd/plm/changeImportObjectsUnit/ChangeImportObjectsUnitHandler.java create mode 100644 com.connor.jd.plm/src/com/connor/jd/plm/signingAndApprovalRecordHistory/RecordHistoryDialog.java create mode 100644 com.connor.jd.plm/src/com/connor/jd/plm/signingAndApprovalRecordHistory/RecordHistoryEntity.java create mode 100644 com.connor.jd.plm/src/com/connor/jd/plm/signingAndApprovalRecordHistory/RecordHistoryHandler.java create mode 100644 com.connor.jd.plm/src/tcimporthistorydatas/Activator.java diff --git a/.idea/.gitignore b/.idea/.gitignore new file mode 100644 index 0000000..463c03e --- /dev/null +++ b/.idea/.gitignore @@ -0,0 +1,8 @@ +# ĬϺԵļ +/shelf/ +/workspace.xml +# ڱ༭ HTTP ͻ +/httpRequests/ +# Datasource local storage ignored files +/dataSources/ +/dataSources.local.xml diff --git a/.idea/git_toolbox_blame.xml b/.idea/git_toolbox_blame.xml new file mode 100644 index 0000000..7dc1249 --- /dev/null +++ b/.idea/git_toolbox_blame.xml @@ -0,0 +1,6 @@ + + + + + \ No newline at end of file diff --git a/.idea/misc.xml b/.idea/misc.xml new file mode 100644 index 0000000..385999e --- /dev/null +++ b/.idea/misc.xml @@ -0,0 +1,10 @@ + + + + + + + + + + \ No newline at end of file diff --git a/.idea/modules.xml b/.idea/modules.xml new file mode 100644 index 0000000..6fe7a22 --- /dev/null +++ b/.idea/modules.xml @@ -0,0 +1,8 @@ + + + + + + + + \ No newline at end of file diff --git a/.idea/vcs.xml b/.idea/vcs.xml new file mode 100644 index 0000000..35eb1dd --- /dev/null +++ b/.idea/vcs.xml @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/com.connor.jd.plm.iml b/com.connor.jd.plm.iml new file mode 100644 index 0000000..45fccf8 --- /dev/null +++ b/com.connor.jd.plm.iml @@ -0,0 +1,10 @@ + + + + + + + + + + \ No newline at end of file diff --git a/com.connor.jd.plm/.classpath b/com.connor.jd.plm/.classpath index 789ccac..3401c53 100644 --- a/com.connor.jd.plm/.classpath +++ b/com.connor.jd.plm/.classpath @@ -1,7 +1,14 @@ + + + - + + + + + diff --git a/com.connor.jd.plm/META-INF/MANIFEST.MF b/com.connor.jd.plm/META-INF/MANIFEST.MF index e29df95..e54b65b 100644 --- a/com.connor.jd.plm/META-INF/MANIFEST.MF +++ b/com.connor.jd.plm/META-INF/MANIFEST.MF @@ -19,23 +19,943 @@ Require-Bundle: org.eclipse.ui;bundle-version="3.108.0", com.teamcenter.rac.workflow.processdesigner;bundle-version="12000.2.0" Automatic-Module-Name: JDProject Bundle-RequiredExecutionEnvironment: JavaSE-1.8 -Export-Package: com.connor.jd.operations, +Export-Package: ., + cn.hutool, + cn.hutool.aop, + cn.hutool.aop.aspects, + cn.hutool.aop.interceptor, + cn.hutool.aop.proxy, + cn.hutool.bloomfilter, + cn.hutool.bloomfilter.bitMap, + cn.hutool.bloomfilter.filter, + cn.hutool.cache, + cn.hutool.cache.file, + cn.hutool.cache.impl, + cn.hutool.captcha, + cn.hutool.captcha.generator, + cn.hutool.core.annotation, + cn.hutool.core.bean, + cn.hutool.core.bean.copier, + cn.hutool.core.bean.copier.provider, + cn.hutool.core.builder, + cn.hutool.core.clone, + cn.hutool.core.codec, + cn.hutool.core.collection, + cn.hutool.core.comparator, + cn.hutool.core.convert, + cn.hutool.core.convert.impl, + cn.hutool.core.date, + cn.hutool.core.date.format, + cn.hutool.core.exceptions, + cn.hutool.core.getter, + cn.hutool.core.img, + cn.hutool.core.io, + cn.hutool.core.io.checksum, + cn.hutool.core.io.file, + cn.hutool.core.io.resource, + cn.hutool.core.io.watch, + cn.hutool.core.io.watch.watchers, + cn.hutool.core.lang, + cn.hutool.core.lang.caller, + cn.hutool.core.lang.copier, + cn.hutool.core.lang.func, + cn.hutool.core.lang.loader, + cn.hutool.core.lang.mutable, + cn.hutool.core.map, + cn.hutool.core.map.multi, + cn.hutool.core.math, + cn.hutool.core.net, + cn.hutool.core.swing, + cn.hutool.core.swing.clipboard, + cn.hutool.core.text, + cn.hutool.core.text.csv, + cn.hutool.core.text.escape, + cn.hutool.core.text.replacer, + cn.hutool.core.thread, + cn.hutool.core.thread.lock, + cn.hutool.core.thread.threadlocal, + cn.hutool.core.util, + cn.hutool.cron, + cn.hutool.cron.listener, + cn.hutool.cron.pattern, + cn.hutool.cron.pattern.matcher, + cn.hutool.cron.pattern.parser, + cn.hutool.cron.task, + cn.hutool.crypto, + cn.hutool.crypto.asymmetric, + cn.hutool.crypto.digest, + cn.hutool.crypto.digest.mac, + cn.hutool.crypto.symmetric, + cn.hutool.db, + cn.hutool.db.dialect, + cn.hutool.db.dialect.impl, + cn.hutool.db.ds, + cn.hutool.db.ds.c3p0, + cn.hutool.db.ds.dbcp, + cn.hutool.db.ds.druid, + cn.hutool.db.ds.hikari, + cn.hutool.db.ds.jndi, + cn.hutool.db.ds.pooled, + cn.hutool.db.ds.simple, + cn.hutool.db.ds.tomcat, + cn.hutool.db.handler, + cn.hutool.db.meta, + cn.hutool.db.nosql.mongo, + cn.hutool.db.nosql.redis, + cn.hutool.db.sql, + cn.hutool.db.transaction, + cn.hutool.dfa, + cn.hutool.extra.emoji, + cn.hutool.extra.ftp, + cn.hutool.extra.mail, + cn.hutool.extra.qrcode, + cn.hutool.extra.servlet, + cn.hutool.extra.servlet.multipart, + cn.hutool.extra.ssh, + cn.hutool.extra.template, + cn.hutool.extra.template.engine, + cn.hutool.extra.template.engine.beetl, + cn.hutool.extra.template.engine.enjoy, + cn.hutool.extra.template.engine.freemarker, + cn.hutool.extra.template.engine.rythm, + cn.hutool.extra.template.engine.thymeleaf, + cn.hutool.extra.template.engine.velocity, + cn.hutool.extra.tokenizer, + cn.hutool.extra.tokenizer.engine, + cn.hutool.extra.tokenizer.engine.analysis, + cn.hutool.extra.tokenizer.engine.ansj, + cn.hutool.extra.tokenizer.engine.hanlp, + cn.hutool.extra.tokenizer.engine.ikanalyzer, + cn.hutool.extra.tokenizer.engine.jcseg, + cn.hutool.extra.tokenizer.engine.jieba, + cn.hutool.extra.tokenizer.engine.mmseg, + cn.hutool.extra.tokenizer.engine.mynlp, + cn.hutool.extra.tokenizer.engine.word, + cn.hutool.http, + cn.hutool.http.cookie, + cn.hutool.http.ssl, + cn.hutool.http.useragent, + cn.hutool.http.webservice, + cn.hutool.json, + cn.hutool.json.serialize, + cn.hutool.log, + cn.hutool.log.dialect.commons, + cn.hutool.log.dialect.console, + cn.hutool.log.dialect.jboss, + cn.hutool.log.dialect.jdk, + cn.hutool.log.dialect.log4j, + cn.hutool.log.dialect.log4j2, + cn.hutool.log.dialect.slf4j, + cn.hutool.log.dialect.tinylog, + cn.hutool.log.level, + cn.hutool.poi, + cn.hutool.poi.excel, + cn.hutool.poi.excel.cell, + cn.hutool.poi.excel.editors, + cn.hutool.poi.excel.sax, + cn.hutool.poi.excel.sax.handler, + cn.hutool.poi.excel.style, + cn.hutool.poi.exceptions, + cn.hutool.poi.word, + cn.hutool.script, + cn.hutool.setting, + cn.hutool.setting.dialect, + cn.hutool.setting.profile, + cn.hutool.socket, + cn.hutool.socket.aio, + cn.hutool.socket.nio, + cn.hutool.socket.protocol, + cn.hutool.system, + cn.hutool.system.oshi, + com.alibaba.fastjson, + com.alibaba.fastjson.annotation, + com.alibaba.fastjson.asm, + com.alibaba.fastjson.parser, + com.alibaba.fastjson.parser.deserializer, + com.alibaba.fastjson.serializer, + com.alibaba.fastjson.support.jaxrs, + com.alibaba.fastjson.support.spring, + com.alibaba.fastjson.util, + com.aspose.cells, + com.aspose.cells.a, + com.aspose.cells.a.a, + com.aspose.cells.a.b.a, + com.aspose.cells.a.c, + com.aspose.cells.a.d, + com.aspose.cells.a.d.a, + com.aspose.cells.a.d.a.a, + com.aspose.cells.a.d.a.b, + com.aspose.cells.a.d.b, + com.aspose.cells.a.e, + com.aspose.cells.a.f, + com.aspose.cells.b.a, + com.aspose.cells.b.a.a, + com.aspose.cells.b.a.b, + com.aspose.cells.b.a.b.a, + com.aspose.cells.b.a.b.a.a, + com.aspose.cells.b.a.b.b, + com.aspose.cells.b.a.b.c, + com.aspose.cells.b.a.b.d, + com.aspose.cells.b.a.b.d.a, + com.aspose.cells.b.a.b.e, + com.aspose.cells.b.a.c, + com.aspose.cells.b.a.d, + com.aspose.cells.b.a.e, + com.aspose.cells.b.a.f, + com.aspose.cells.b.a.f.a, + com.aspose.cells.b.a.f.a.a, + com.aspose.cells.b.b, + com.aspose.cells.b.c.a, + com.connor.jd.operations, com.connor.jd.plm.action, com.connor.jd.plm.beans, + com.connor.jd.plm.changeImportObjectsUnit, com.connor.jd.plm.dialog, com.connor.jd.plm.dialogs, com.connor.jd.plm.form, com.connor.jd.plm.handlers, + com.connor.jd.plm.signingAndApprovalRecordHistory, com.connor.jd.plm.table, com.connor.jd.plm.util, com.connor.jd.plm.utils, - com.teamcenter.rac.stylesheet -Import-Package: com.connor.jd.plm.beans, + com.eltima.components.ui, + com.microsoft.schemas.compatibility, + com.microsoft.schemas.compatibility.impl, + com.microsoft.schemas.office.excel, + com.microsoft.schemas.office.excel.impl, + com.microsoft.schemas.office.office, + com.microsoft.schemas.office.office.impl, + com.microsoft.schemas.office.visio.x2012.main, + com.microsoft.schemas.office.visio.x2012.main.impl, + com.microsoft.schemas.office.x2006.digsig, + com.microsoft.schemas.office.x2006.digsig.impl, + com.microsoft.schemas.office.x2006.encryption, + com.microsoft.schemas.office.x2006.encryption.impl, + com.microsoft.schemas.office.x2006.keyEncryptor.certificate, + com.microsoft.schemas.office.x2006.keyEncryptor.certificate.impl, + com.microsoft.schemas.office.x2006.keyEncryptor.password, + com.microsoft.schemas.office.x2006.keyEncryptor.password.impl, + com.microsoft.schemas.vml, + com.microsoft.schemas.vml.impl, + com.sun.deploy.uitoolkit.impl.fx, + com.sun.deploy.uitoolkit.impl.fx.ui, + com.sun.deploy.uitoolkit.impl.fx.ui.resources, + com.sun.glass.events, + com.sun.glass.ui, + com.sun.glass.ui.delegate, + com.sun.glass.ui.win, + com.sun.glass.utils, + com.sun.istack, + com.sun.istack.localization, + com.sun.istack.logging, + com.sun.javafx, + com.sun.javafx.animation, + com.sun.javafx.applet, + com.sun.javafx.application, + com.sun.javafx.beans, + com.sun.javafx.beans.event, + com.sun.javafx.binding, + com.sun.javafx.charts, + com.sun.javafx.collections, + com.sun.javafx.css, + com.sun.javafx.css.converters, + com.sun.javafx.css.parser, + com.sun.javafx.cursor, + com.sun.javafx.effect, + com.sun.javafx.embed, + com.sun.javafx.event, + com.sun.javafx.font, + com.sun.javafx.font.coretext, + com.sun.javafx.font.directwrite, + com.sun.javafx.font.freetype, + com.sun.javafx.font.t2k, + com.sun.javafx.fxml, + com.sun.javafx.fxml.builder, + com.sun.javafx.fxml.expression, + com.sun.javafx.geom, + com.sun.javafx.geom.transform, + com.sun.javafx.geometry, + com.sun.javafx.iio, + com.sun.javafx.iio.bmp, + com.sun.javafx.iio.common, + com.sun.javafx.iio.gif, + com.sun.javafx.iio.ios, + com.sun.javafx.iio.jpeg, + com.sun.javafx.iio.png, + com.sun.javafx.image, + com.sun.javafx.image.impl, + com.sun.javafx.jmx, + com.sun.javafx.logging, + com.sun.javafx.media, + com.sun.javafx.menu, + com.sun.javafx.perf, + com.sun.javafx.print, + com.sun.javafx.property, + com.sun.javafx.property.adapter, + com.sun.javafx.robot, + com.sun.javafx.robot.impl, + com.sun.javafx.runtime, + com.sun.javafx.runtime.async, + com.sun.javafx.runtime.eula, + com.sun.javafx.scene, + com.sun.javafx.scene.control, + com.sun.javafx.scene.control.behavior, + com.sun.javafx.scene.control.skin, + com.sun.javafx.scene.control.skin.resources, + com.sun.javafx.scene.input, + com.sun.javafx.scene.layout.region, + com.sun.javafx.scene.paint, + com.sun.javafx.scene.shape, + com.sun.javafx.scene.text, + com.sun.javafx.scene.transform, + com.sun.javafx.scene.traversal, + com.sun.javafx.scene.web, + com.sun.javafx.scene.web.behavior, + com.sun.javafx.scene.web.skin, + com.sun.javafx.sg.prism, + com.sun.javafx.sg.prism.web, + com.sun.javafx.stage, + com.sun.javafx.text, + com.sun.javafx.tk, + com.sun.javafx.tk.quantum, + com.sun.javafx.util, + com.sun.javafx.webkit, + com.sun.javafx.webkit.drt, + com.sun.javafx.webkit.prism, + com.sun.javafx.webkit.prism.theme, + com.sun.javafx.webkit.theme, + com.sun.media.jfxmedia, + com.sun.media.jfxmedia.control, + com.sun.media.jfxmedia.effects, + com.sun.media.jfxmedia.events, + com.sun.media.jfxmedia.locator, + com.sun.media.jfxmedia.logging, + com.sun.media.jfxmedia.track, + com.sun.media.jfxmediaimpl, + com.sun.media.jfxmediaimpl.platform, + com.sun.media.jfxmediaimpl.platform.gstreamer, + com.sun.media.jfxmediaimpl.platform.ios, + com.sun.media.jfxmediaimpl.platform.java, + com.sun.media.jfxmediaimpl.platform.osx, + com.sun.openpisces, + com.sun.pisces, + com.sun.prism, + com.sun.prism.d3d, + com.sun.prism.image, + com.sun.prism.impl, + com.sun.prism.impl.packrect, + com.sun.prism.impl.paint, + com.sun.prism.impl.ps, + com.sun.prism.impl.shape, + com.sun.prism.j2d, + com.sun.prism.j2d.paint, + com.sun.prism.j2d.print, + com.sun.prism.paint, + com.sun.prism.ps, + com.sun.prism.shader, + com.sun.prism.shape, + com.sun.prism.sw, + com.sun.scenario, + com.sun.scenario.animation, + com.sun.scenario.animation.shared, + com.sun.scenario.effect, + com.sun.scenario.effect.impl, + com.sun.scenario.effect.impl.hw, + com.sun.scenario.effect.impl.hw.d3d, + com.sun.scenario.effect.impl.prism, + com.sun.scenario.effect.impl.prism.ps, + com.sun.scenario.effect.impl.prism.sw, + com.sun.scenario.effect.impl.state, + com.sun.scenario.effect.impl.sw, + com.sun.scenario.effect.impl.sw.java, + com.sun.scenario.effect.impl.sw.sse, + com.sun.scenario.effect.light, + com.sun.webkit, + com.sun.webkit.dom, + com.sun.webkit.event, + com.sun.webkit.graphics, + com.sun.webkit.network, + com.sun.webkit.network.about, + com.sun.webkit.network.data, + com.sun.webkit.perf, + com.sun.webkit.plugin, + com.sun.webkit.text, + com.sun.xml.bind, + com.sun.xml.bind.annotation, + com.sun.xml.bind.api, + com.sun.xml.bind.api.impl, + com.sun.xml.bind.marshaller, + com.sun.xml.bind.unmarshaller, + com.sun.xml.bind.util, + com.sun.xml.bind.v2, + com.sun.xml.bind.v2.bytecode, + com.sun.xml.bind.v2.model.annotation, + com.sun.xml.bind.v2.model.core, + com.sun.xml.bind.v2.model.impl, + com.sun.xml.bind.v2.model.nav, + com.sun.xml.bind.v2.model.runtime, + com.sun.xml.bind.v2.model.util, + com.sun.xml.bind.v2.runtime, + com.sun.xml.bind.v2.runtime.output, + com.sun.xml.bind.v2.runtime.property, + com.sun.xml.bind.v2.runtime.reflect, + com.sun.xml.bind.v2.runtime.reflect.opt, + com.sun.xml.bind.v2.runtime.unmarshaller, + com.sun.xml.bind.v2.schemagen, + com.sun.xml.bind.v2.schemagen.episode, + com.sun.xml.bind.v2.schemagen.xmlschema, + com.sun.xml.bind.v2.util, + com.sun.xml.txw2, + com.sun.xml.txw2.annotation, + com.sun.xml.txw2.output, + com.teamcenter.rac.commands.namedreferences, + com.teamcenter.rac.commands.open, + com.teamcenter.rac.stylesheet, + common, + common.log, + javafx.animation, + javafx.application, + javafx.beans, + javafx.beans.binding, + javafx.beans.property, + javafx.beans.property.adapter, + javafx.beans.value, + javafx.collections, + javafx.collections.transformation, + javafx.concurrent, + javafx.css, + javafx.embed.swing, + javafx.event, + javafx.fxml, + javafx.geometry, + javafx.print, + javafx.scene, + javafx.scene.canvas, + javafx.scene.chart, + javafx.scene.control, + javafx.scene.control.cell, + javafx.scene.effect, + javafx.scene.image, + javafx.scene.input, + javafx.scene.layout, + javafx.scene.media, + javafx.scene.paint, + javafx.scene.shape, + javafx.scene.text, + javafx.scene.transform, + javafx.scene.web, + javafx.stage, + javafx.util, + javafx.util.converter, + javax.xml.bind, + javax.xml.bind.annotation, + javax.xml.bind.annotation.adapters, + javax.xml.bind.attachment, + javax.xml.bind.helpers, + javax.xml.bind.util, + jxl, + jxl.biff, + jxl.biff.drawing, + jxl.biff.formula, + jxl.demo, + jxl.format, + jxl.read.biff, + jxl.write, + jxl.write.biff, + netscape.javascript, + oracle.core.lmx, + oracle.core.lvf, + oracle.jdbc, + oracle.jdbc.aq, + oracle.jdbc.babelfish, + oracle.jdbc.connector, + oracle.jdbc.dcn, + oracle.jdbc.diagnostics, + oracle.jdbc.driver, + oracle.jdbc.internal, + oracle.jdbc.oci, + oracle.jdbc.oracore, + oracle.jdbc.pool, + oracle.jdbc.proxy, + oracle.jdbc.proxy.annotation, + oracle.jdbc.replay, + oracle.jdbc.replay.driver, + oracle.jdbc.replay.internal, + oracle.jdbc.rowset, + oracle.jdbc.util, + oracle.jdbc.xa, + oracle.jdbc.xa.client, + oracle.jpub.runtime, + oracle.net.ano, + oracle.net.aso, + oracle.net.jdbc.TNSAddress, + oracle.net.jdbc.nl, + oracle.net.jdbc.nl.mesg, + oracle.net.jndi, + oracle.net.ns, + oracle.net.nt, + oracle.net.resolver, + oracle.security.o3logon, + oracle.security.o5logon, + oracle.sql, + oracle.sql.converter, + org.apache.commons.codec, + org.apache.commons.codec.binary, + org.apache.commons.codec.cli, + org.apache.commons.codec.digest, + org.apache.commons.codec.language, + org.apache.commons.codec.language.bm, + org.apache.commons.codec.net, + org.apache.commons.collections4, + org.apache.commons.collections4.bag, + org.apache.commons.collections4.bidimap, + org.apache.commons.collections4.collection, + org.apache.commons.collections4.comparators, + org.apache.commons.collections4.functors, + org.apache.commons.collections4.iterators, + org.apache.commons.collections4.keyvalue, + org.apache.commons.collections4.list, + org.apache.commons.collections4.map, + org.apache.commons.collections4.multimap, + org.apache.commons.collections4.multiset, + org.apache.commons.collections4.properties, + org.apache.commons.collections4.queue, + org.apache.commons.collections4.sequence, + org.apache.commons.collections4.set, + org.apache.commons.collections4.splitmap, + org.apache.commons.collections4.trie, + org.apache.commons.collections4.trie.analyzer, + org.apache.commons.compress, + org.apache.commons.compress.archivers, + org.apache.commons.compress.archivers.ar, + org.apache.commons.compress.archivers.arj, + org.apache.commons.compress.archivers.cpio, + org.apache.commons.compress.archivers.dump, + org.apache.commons.compress.archivers.examples, + org.apache.commons.compress.archivers.jar, + org.apache.commons.compress.archivers.sevenz, + org.apache.commons.compress.archivers.tar, + org.apache.commons.compress.archivers.zip, + org.apache.commons.compress.changes, + org.apache.commons.compress.compressors, + org.apache.commons.compress.compressors.brotli, + org.apache.commons.compress.compressors.bzip2, + org.apache.commons.compress.compressors.deflate, + org.apache.commons.compress.compressors.deflate64, + org.apache.commons.compress.compressors.gzip, + org.apache.commons.compress.compressors.lz4, + org.apache.commons.compress.compressors.lz77support, + org.apache.commons.compress.compressors.lzma, + org.apache.commons.compress.compressors.lzw, + org.apache.commons.compress.compressors.pack200, + org.apache.commons.compress.compressors.snappy, + org.apache.commons.compress.compressors.xz, + org.apache.commons.compress.compressors.z, + org.apache.commons.compress.compressors.zstandard, + org.apache.commons.compress.parallel, + org.apache.commons.compress.utils, + org.apache.commons.lang3, + org.apache.commons.lang3.arch, + org.apache.commons.lang3.builder, + org.apache.commons.lang3.concurrent, + org.apache.commons.lang3.event, + org.apache.commons.lang3.exception, + org.apache.commons.lang3.math, + org.apache.commons.lang3.mutable, + org.apache.commons.lang3.reflect, + org.apache.commons.lang3.text, + org.apache.commons.lang3.text.translate, + org.apache.commons.lang3.time, + org.apache.commons.lang3.tuple, + org.apache.commons.logging, + org.apache.commons.logging.impl, + org.apache.commons.math3, + org.apache.commons.math3.analysis, + org.apache.commons.math3.analysis.differentiation, + org.apache.commons.math3.analysis.function, + org.apache.commons.math3.analysis.integration, + org.apache.commons.math3.analysis.integration.gauss, + org.apache.commons.math3.analysis.interpolation, + org.apache.commons.math3.analysis.polynomials, + org.apache.commons.math3.analysis.solvers, + org.apache.commons.math3.complex, + org.apache.commons.math3.dfp, + org.apache.commons.math3.distribution, + org.apache.commons.math3.distribution.fitting, + org.apache.commons.math3.exception, + org.apache.commons.math3.exception.util, + org.apache.commons.math3.filter, + org.apache.commons.math3.fitting, + org.apache.commons.math3.fitting.leastsquares, + org.apache.commons.math3.fraction, + org.apache.commons.math3.genetics, + org.apache.commons.math3.geometry, + org.apache.commons.math3.geometry.enclosing, + org.apache.commons.math3.geometry.euclidean.oned, + org.apache.commons.math3.geometry.euclidean.threed, + org.apache.commons.math3.geometry.euclidean.twod, + org.apache.commons.math3.geometry.euclidean.twod.hull, + org.apache.commons.math3.geometry.hull, + org.apache.commons.math3.geometry.partitioning, + org.apache.commons.math3.geometry.partitioning.utilities, + org.apache.commons.math3.geometry.spherical.oned, + org.apache.commons.math3.geometry.spherical.twod, + org.apache.commons.math3.linear, + org.apache.commons.math3.ml.clustering, + org.apache.commons.math3.ml.clustering.evaluation, + org.apache.commons.math3.ml.distance, + org.apache.commons.math3.ml.neuralnet, + org.apache.commons.math3.ml.neuralnet.oned, + org.apache.commons.math3.ml.neuralnet.sofm, + org.apache.commons.math3.ml.neuralnet.sofm.util, + org.apache.commons.math3.ml.neuralnet.twod, + org.apache.commons.math3.ml.neuralnet.twod.util, + org.apache.commons.math3.ode, + org.apache.commons.math3.ode.events, + org.apache.commons.math3.ode.nonstiff, + org.apache.commons.math3.ode.sampling, + org.apache.commons.math3.optim, + org.apache.commons.math3.optim.linear, + org.apache.commons.math3.optim.nonlinear.scalar, + org.apache.commons.math3.optim.nonlinear.scalar.gradient, + org.apache.commons.math3.optim.nonlinear.scalar.noderiv, + org.apache.commons.math3.optim.nonlinear.vector, + org.apache.commons.math3.optim.nonlinear.vector.jacobian, + org.apache.commons.math3.optim.univariate, + org.apache.commons.math3.optimization, + org.apache.commons.math3.optimization.direct, + org.apache.commons.math3.optimization.fitting, + org.apache.commons.math3.optimization.general, + org.apache.commons.math3.optimization.linear, + org.apache.commons.math3.optimization.univariate, + org.apache.commons.math3.primes, + org.apache.commons.math3.random, + org.apache.commons.math3.special, + org.apache.commons.math3.stat, + org.apache.commons.math3.stat.clustering, + org.apache.commons.math3.stat.correlation, + org.apache.commons.math3.stat.descriptive, + org.apache.commons.math3.stat.descriptive.moment, + org.apache.commons.math3.stat.descriptive.rank, + org.apache.commons.math3.stat.descriptive.summary, + org.apache.commons.math3.stat.inference, + org.apache.commons.math3.stat.interval, + org.apache.commons.math3.stat.ranking, + org.apache.commons.math3.stat.regression, + org.apache.commons.math3.transform, + org.apache.commons.math3.util, + org.apache.log4j, + org.apache.log4j.chainsaw, + org.apache.log4j.config, + org.apache.log4j.helpers, + org.apache.log4j.jdbc, + org.apache.log4j.jmx, + org.apache.log4j.lf5, + org.apache.log4j.lf5.util, + org.apache.log4j.lf5.viewer, + org.apache.log4j.lf5.viewer.categoryexplorer, + org.apache.log4j.lf5.viewer.configure, + org.apache.log4j.net, + org.apache.log4j.nt, + org.apache.log4j.or, + org.apache.log4j.or.sax, + org.apache.log4j.spi, + org.apache.log4j.varia, + org.apache.log4j.xml, + org.apache.poi, + org.apache.poi.common.usermodel, + org.apache.poi.common.usermodel.fonts, + org.apache.poi.crypt.examples, + org.apache.poi.ddf, + org.apache.poi.examples.util, + org.apache.poi.extractor, + org.apache.poi.extractor.ole2, + org.apache.poi.hdgf, + org.apache.poi.hdgf.chunks, + org.apache.poi.hdgf.dev, + org.apache.poi.hdgf.exceptions, + org.apache.poi.hdgf.extractor, + org.apache.poi.hdgf.pointers, + org.apache.poi.hdgf.streams, + org.apache.poi.hemf.draw, + org.apache.poi.hemf.record.emf, + org.apache.poi.hemf.record.emfplus, + org.apache.poi.hemf.usermodel, + org.apache.poi.hmef, + org.apache.poi.hmef.attribute, + org.apache.poi.hmef.dev, + org.apache.poi.hmef.extractor, + org.apache.poi.hpbf, + org.apache.poi.hpbf.dev, + org.apache.poi.hpbf.extractor, + org.apache.poi.hpbf.model, + org.apache.poi.hpbf.model.qcbits, + org.apache.poi.hpsf, + org.apache.poi.hpsf.examples, + org.apache.poi.hpsf.extractor, + org.apache.poi.hpsf.wellknown, + org.apache.poi.hslf.blip, + org.apache.poi.hslf.dev, + org.apache.poi.hslf.examples, + org.apache.poi.hslf.exceptions, + org.apache.poi.hslf.extractor, + org.apache.poi.hslf.model, + org.apache.poi.hslf.model.textproperties, + org.apache.poi.hslf.record, + org.apache.poi.hslf.usermodel, + org.apache.poi.hslf.util, + org.apache.poi.hsmf, + org.apache.poi.hsmf.datatypes, + org.apache.poi.hsmf.dev, + org.apache.poi.hsmf.examples, + org.apache.poi.hsmf.exceptions, + org.apache.poi.hsmf.extractor, + org.apache.poi.hsmf.parsers, + org.apache.poi.hssf, + org.apache.poi.hssf.converter, + org.apache.poi.hssf.dev, + org.apache.poi.hssf.eventmodel, + org.apache.poi.hssf.eventusermodel, + org.apache.poi.hssf.eventusermodel.dummyrecord, + org.apache.poi.hssf.eventusermodel.examples, + org.apache.poi.hssf.extractor, + org.apache.poi.hssf.model, + org.apache.poi.hssf.record, + org.apache.poi.hssf.record.aggregates, + org.apache.poi.hssf.record.cf, + org.apache.poi.hssf.record.chart, + org.apache.poi.hssf.record.common, + org.apache.poi.hssf.record.cont, + org.apache.poi.hssf.record.crypto, + org.apache.poi.hssf.record.pivottable, + org.apache.poi.hssf.usermodel, + org.apache.poi.hssf.usermodel.examples, + org.apache.poi.hssf.usermodel.helpers, + org.apache.poi.hssf.util, + org.apache.poi.hssf.view, + org.apache.poi.hssf.view.brush, + org.apache.poi.hwmf.draw, + org.apache.poi.hwmf.record, + org.apache.poi.hwmf.usermodel, + org.apache.poi.hwpf, + org.apache.poi.hwpf.converter, + org.apache.poi.hwpf.dev, + org.apache.poi.hwpf.extractor, + org.apache.poi.hwpf.model, + org.apache.poi.hwpf.model.io, + org.apache.poi.hwpf.model.types, + org.apache.poi.hwpf.sprm, + org.apache.poi.hwpf.usermodel, + org.apache.poi.ooxml, + org.apache.poi.ooxml.dev, + org.apache.poi.ooxml.extractor, + org.apache.poi.ooxml.util, + org.apache.poi.openxml4j.exceptions, + org.apache.poi.openxml4j.opc, + org.apache.poi.openxml4j.opc.internal, + org.apache.poi.openxml4j.opc.internal.marshallers, + org.apache.poi.openxml4j.opc.internal.unmarshallers, + org.apache.poi.openxml4j.util, + org.apache.poi.poifs, + org.apache.poi.poifs.common, + org.apache.poi.poifs.crypt, + org.apache.poi.poifs.crypt.agile, + org.apache.poi.poifs.crypt.binaryrc4, + org.apache.poi.poifs.crypt.cryptoapi, + org.apache.poi.poifs.crypt.dsig, + org.apache.poi.poifs.crypt.dsig.facets, + org.apache.poi.poifs.crypt.dsig.services, + org.apache.poi.poifs.crypt.standard, + org.apache.poi.poifs.crypt.temp, + org.apache.poi.poifs.crypt.xor, + org.apache.poi.poifs.dev, + org.apache.poi.poifs.eventfilesystem, + org.apache.poi.poifs.filesystem, + org.apache.poi.poifs.macros, + org.apache.poi.poifs.nio, + org.apache.poi.poifs.poibrowser, + org.apache.poi.poifs.property, + org.apache.poi.poifs.storage, + org.apache.poi.sl.draw, + org.apache.poi.sl.draw.binding, + org.apache.poi.sl.draw.geom, + org.apache.poi.sl.extractor, + org.apache.poi.sl.image, + org.apache.poi.sl.usermodel, + org.apache.poi.ss, + org.apache.poi.ss.examples, + org.apache.poi.ss.examples.formula, + org.apache.poi.ss.examples.html, + org.apache.poi.ss.excelant, + org.apache.poi.ss.excelant.util, + org.apache.poi.ss.extractor, + org.apache.poi.ss.format, + org.apache.poi.ss.formula, + org.apache.poi.ss.formula.atp, + org.apache.poi.ss.formula.constant, + org.apache.poi.ss.formula.eval, + org.apache.poi.ss.formula.eval.forked, + org.apache.poi.ss.formula.function, + org.apache.poi.ss.formula.functions, + org.apache.poi.ss.formula.ptg, + org.apache.poi.ss.formula.udf, + org.apache.poi.ss.usermodel, + org.apache.poi.ss.usermodel.charts, + org.apache.poi.ss.usermodel.helpers, + org.apache.poi.ss.util, + org.apache.poi.ss.util.cellwalk, + org.apache.poi.util, + org.apache.poi.wp.usermodel, + org.apache.poi.xddf.usermodel, + org.apache.poi.xddf.usermodel.chart, + org.apache.poi.xddf.usermodel.text, + org.apache.poi.xdgf.exceptions, + org.apache.poi.xdgf.extractor, + org.apache.poi.xdgf.geom, + org.apache.poi.xdgf.usermodel, + org.apache.poi.xdgf.usermodel.section, + org.apache.poi.xdgf.usermodel.section.geometry, + org.apache.poi.xdgf.usermodel.shape, + org.apache.poi.xdgf.usermodel.shape.exceptions, + org.apache.poi.xdgf.util, + org.apache.poi.xdgf.xml, + org.apache.poi.xslf.draw, + org.apache.poi.xslf.extractor, + org.apache.poi.xslf.model, + org.apache.poi.xslf.usermodel, + org.apache.poi.xslf.usermodel.tutorial, + org.apache.poi.xslf.util, + org.apache.poi.xssf, + org.apache.poi.xssf.binary, + org.apache.poi.xssf.eventusermodel, + org.apache.poi.xssf.eventusermodel.examples, + org.apache.poi.xssf.extractor, + org.apache.poi.xssf.model, + org.apache.poi.xssf.streaming, + org.apache.poi.xssf.streaming.examples, + org.apache.poi.xssf.usermodel, + org.apache.poi.xssf.usermodel.charts, + org.apache.poi.xssf.usermodel.examples, + org.apache.poi.xssf.usermodel.extensions, + org.apache.poi.xssf.usermodel.helpers, + org.apache.poi.xssf.util, + org.apache.poi.xwpf.extractor, + org.apache.poi.xwpf.model, + org.apache.poi.xwpf.usermodel, + org.apache.poi.xwpf.usermodel.examples, + org.apache.xmlbeans, + org.apache.xmlbeans.impl.common, + org.apache.xmlbeans.impl.config, + org.apache.xmlbeans.impl.inst2xsd, + org.apache.xmlbeans.impl.inst2xsd.util, + org.apache.xmlbeans.impl.jam, + org.apache.xmlbeans.impl.jam.annotation, + org.apache.xmlbeans.impl.jam.internal, + org.apache.xmlbeans.impl.jam.internal.classrefs, + org.apache.xmlbeans.impl.jam.internal.elements, + org.apache.xmlbeans.impl.jam.internal.javadoc, + org.apache.xmlbeans.impl.jam.internal.parser, + org.apache.xmlbeans.impl.jam.internal.reflect, + org.apache.xmlbeans.impl.jam.mutable, + org.apache.xmlbeans.impl.jam.provider, + org.apache.xmlbeans.impl.jam.visitor, + org.apache.xmlbeans.impl.jam.xml, + org.apache.xmlbeans.impl.regex, + org.apache.xmlbeans.impl.repackage, + org.apache.xmlbeans.impl.richParser, + org.apache.xmlbeans.impl.schema, + org.apache.xmlbeans.impl.soap, + org.apache.xmlbeans.impl.store, + org.apache.xmlbeans.impl.tool, + org.apache.xmlbeans.impl.util, + org.apache.xmlbeans.impl.validator, + org.apache.xmlbeans.impl.values, + org.apache.xmlbeans.impl.xb.ltgfmt, + org.apache.xmlbeans.impl.xb.ltgfmt.impl, + org.apache.xmlbeans.impl.xb.substwsdl, + org.apache.xmlbeans.impl.xb.substwsdl.impl, + org.apache.xmlbeans.impl.xb.xmlconfig, + org.apache.xmlbeans.impl.xb.xmlconfig.impl, + org.apache.xmlbeans.impl.xb.xmlschema, + org.apache.xmlbeans.impl.xb.xmlschema.impl, + org.apache.xmlbeans.impl.xb.xsdownload, + org.apache.xmlbeans.impl.xb.xsdownload.impl, + org.apache.xmlbeans.impl.xb.xsdschema, + org.apache.xmlbeans.impl.xb.xsdschema.impl, + org.apache.xmlbeans.impl.xpath.saxon, + org.apache.xmlbeans.impl.xpathgen, + org.apache.xmlbeans.impl.xquery.saxon, + org.apache.xmlbeans.impl.xsd2inst, + org.apache.xmlbeans.soap, + org.apache.xmlbeans.xml.stream, + org.apache.xmlbeans.xml.stream.events, + org.apache.xmlbeans.xml.stream.utils, + org.dom4j, + org.dom4j.bean, + org.dom4j.datatype, + org.dom4j.dom, + org.dom4j.dtd, + org.dom4j.io, + org.dom4j.jaxb, + org.dom4j.rule, + org.dom4j.rule.pattern, + org.dom4j.swing, + org.dom4j.tree, + org.dom4j.util, + org.dom4j.xpath, + org.dom4j.xpp, + org.etsi.uri.x01903.v13, + org.etsi.uri.x01903.v13.impl, + org.openxmlformats.schemas.drawingml.x2006.chart, + org.openxmlformats.schemas.drawingml.x2006.chart.impl, + org.openxmlformats.schemas.drawingml.x2006.main, + org.openxmlformats.schemas.drawingml.x2006.main.impl, + org.openxmlformats.schemas.drawingml.x2006.picture, + org.openxmlformats.schemas.drawingml.x2006.picture.impl, + org.openxmlformats.schemas.drawingml.x2006.spreadsheetDrawing, + org.openxmlformats.schemas.drawingml.x2006.spreadsheetDrawing.impl, + org.openxmlformats.schemas.drawingml.x2006.wordprocessingDrawing, + org.openxmlformats.schemas.drawingml.x2006.wordprocessingDrawing.impl, + org.openxmlformats.schemas.officeDocument.x2006.customProperties, + org.openxmlformats.schemas.officeDocument.x2006.customProperties.impl, + org.openxmlformats.schemas.officeDocument.x2006.docPropsVTypes, + org.openxmlformats.schemas.officeDocument.x2006.docPropsVTypes.impl, + org.openxmlformats.schemas.officeDocument.x2006.extendedProperties, + org.openxmlformats.schemas.officeDocument.x2006.extendedProperties.impl, + org.openxmlformats.schemas.officeDocument.x2006.relationships, + org.openxmlformats.schemas.officeDocument.x2006.relationships.impl, + org.openxmlformats.schemas.presentationml.x2006.main, + org.openxmlformats.schemas.presentationml.x2006.main.impl, + org.openxmlformats.schemas.spreadsheetml.x2006.main, + org.openxmlformats.schemas.spreadsheetml.x2006.main.impl, + org.openxmlformats.schemas.wordprocessingml.x2006.main, + org.openxmlformats.schemas.wordprocessingml.x2006.main.impl, + org.openxmlformats.schemas.xpackage.x2006.digitalSignature, + org.openxmlformats.schemas.xpackage.x2006.digitalSignature.impl, + org.w3.x2000.x09.xmldsig, + org.w3.x2000.x09.xmldsig.impl, + schemaorg_apache_xmlbeans.system.s8C3F193EE11A2F798ACF65489B9E6078, + schemaorg_apache_xmlbeans.system.sD023D6490046BA0250A839A9AD24C443, + schemaorg_apache_xmlbeans.system.sXMLCONFIG, + schemaorg_apache_xmlbeans.system.sXMLLANG, + schemaorg_apache_xmlbeans.system.sXMLSCHEMA, + schemaorg_apache_xmlbeans.system.sXMLTOOLS, + tcimporthistorydatas +Import-Package: com.aspose.cad.internal.ac, + com.connor.dev.imp.ob, + com.connor.jd.plm.beans, com.connor.jd.plm.table, + com.teamcenter.rac.aif, + com.teamcenter.rac.aif.kernel, + com.teamcenter.rac.kernel, + com.teamcenter.rac.util, com.teamcenter.services, com.teamcenter.services.rac, com.teamcenter.services.rac.core, com.teamcenter.services.rac.core._2008_06, + com.teamcenter.soa.common, + jxl, + jxl.read.biff, org.apache.http.client, org.apache.http.client.methods, org.apache.http.client.params, @@ -64,4 +984,7 @@ Bundle-ClassPath: ., lib/ojdbc6.jar, config/, lib/datepicker.jar, - lib/aspose-cells-18.9.jar + lib/aspose-cells-18.9.jar, + lib/jxl.jar, + lib/dom4j-1.6.1.jar, + lib/log4j.jar diff --git a/com.connor.jd.plm/build.properties b/com.connor.jd.plm/build.properties index bb4e2ed..dd9279a 100644 --- a/com.connor.jd.plm/build.properties +++ b/com.connor.jd.plm/build.properties @@ -26,5 +26,8 @@ bin.includes = plugin.xml,\ lib/commons-lang3-3.9.jar,\ src/config/,\ lib/datepicker.jar,\ - lib/aspose-cells-18.9.jar + lib/aspose-cells-18.9.jar,\ + lib/jxl.jar,\ + lib/dom4j-1.6.1.jar,\ + lib/log4j.jar diff --git a/com.connor.jd.plm/plugin.xml b/com.connor.jd.plm/plugin.xml index 5248087..3cadf55 100644 --- a/com.connor.jd.plm/plugin.xml +++ b/com.connor.jd.plm/plugin.xml @@ -205,7 +205,9 @@ - + + + @@ -403,7 +405,9 @@ - + + + @@ -658,6 +662,8 @@ + + diff --git a/com.connor.jd.plm/src/com/connor/jd/plm/changeImportObjectsUnit/ChangeImportObjectsUnitAction.java b/com.connor.jd.plm/src/com/connor/jd/plm/changeImportObjectsUnit/ChangeImportObjectsUnitAction.java new file mode 100644 index 0000000..0ed9bcb --- /dev/null +++ b/com.connor.jd.plm/src/com/connor/jd/plm/changeImportObjectsUnit/ChangeImportObjectsUnitAction.java @@ -0,0 +1,238 @@ +package com.connor.jd.plm.changeImportObjectsUnit; + +import java.awt.Frame; + +import com.teamcenter.rac.aif.AbstractAIFApplication; +import com.teamcenter.rac.aif.common.actions.AbstractAIFAction; +import com.teamcenter.rac.aif.kernel.AbstractAIFSession; +import com.teamcenter.rac.kernel.TCComponent; +import com.teamcenter.rac.kernel.TCSession; +import com.teamcenter.rac.kernel.TCTextService; +import com.teamcenter.rac.util.MessageBox; + +import javax.swing.JFileChooser; +import javax.swing.filechooser.FileNameExtensionFilter; +import org.apache.poi.ss.usermodel.*; +import org.apache.poi.xssf.usermodel.XSSFWorkbook; + +import java.io.File; +import java.io.FileInputStream; +import java.io.IOException; +import java.util.ArrayList; +import java.util.HashMap; +import java.util.List; +import java.util.Map; + +public class ChangeImportObjectsUnitAction extends AbstractAIFAction { + + private AbstractAIFApplication application; + +// /** +// * objectsUnitMap洢item_id͵λ +// * key Ϊitem_id +// * valueΪλ +// */ +// private Map objectsUnitMap = new HashMap<>(); + + /* + * columList洢item_idλ汾 + */ + private List> columList = new ArrayList>(); + + + public ChangeImportObjectsUnitAction(AbstractAIFApplication application, Frame frame, String param) { + super(application, frame, param); + this.application = application; + // TODO ԶɵĹ캯 + } + + @Override + public void run() { + // ļѡ + JFileChooser fileChooser = new JFileChooser(); + // ļֻʾXLSXļ + FileNameExtensionFilter filter = new FileNameExtensionFilter("Excel Files", "xlsx"); + fileChooser.setFileFilter(filter); + + // ʾļѡԻ + int result = fileChooser.showOpenDialog(null); + if (result == JFileChooser.APPROVE_OPTION) { + // ȡѡеļ + File selectedFile = fileChooser.getSelectedFile(); + try (FileInputStream fis = new FileInputStream(selectedFile); + Workbook workbook = new XSSFWorkbook(fis)) { + // ȡһ + Sheet sheet = workbook.getSheetAt(0); + if (sheet != null){ + try { + getChangeUnitInfo(sheet); + } catch (Exception e) { + System.out.println("ȡ쳣\n"+e.getMessage()); + e.printStackTrace(); + } + setObjectsUnit(columList); + } + } catch (IOException e) { + e.printStackTrace(); + } + } + + + + } + + private void setObjectsUnit(List> columList2) { + AbstractAIFSession session = this.application.getSession(); + TCSession tcSession = (TCSession)session; + if (columList2.size() <= 0) { + System.out.println("δȡЧitem_id͵λֵ"); + return; + } +// //mapеitem_idʹ޸ĵĵλֵ +// for (String key : columList2.keySet()){ +// String unit = columList2.get(key);//λ +// +// try { +// TCComponent[] searchs = tcSession.search("...", +// new String[] { "item_id" }, +// new String[] { key }); +// +// if (searchs.length<0) { +// System.out.println("erroitem_id["+key+"]δѯض"); +// continue; +// } +// +// TCComponent tcComponent = searchs[0]; +// tcComponent.setProperty("uom_tag", unit == null ? "" : unit); +// +// }catch (Exception e){ +// String erroMSGString = "item_id="+key+";\n"+"λ="+unit+";\nϢ\n"+e.getMessage(); +// MessageBox.post(erroMSGString , "õλ쳣", MessageBox.ERROR); +// e.printStackTrace(); +// }; +// } + + for (int i = 0; i < columList2.size(); i++) { + List keyList = columList2.get(i);//xlsxеһеid汾λ + String itemId = keyList.get(0); + String unit = keyList.get(1); + String rev = keyList.get(2); + try { + TCComponent[] searchs = tcSession.search("...", + new String[] { "item_id" }, + new String[] { itemId }); + + if (searchs.length<0) { + System.out.println("erroitem_id["+itemId+"]δѯض"); + continue; + } + + TCComponent tcComponent = searchs[0]; + tcComponent.setProperty("uom_tag", unit == null ? "" : unit); + tcComponent.refresh(); + + System.out.println("["+tcComponent.getStringProperty("object_string")+"]µλɣ"); + + + }catch (Exception e){ + String erroMSGString = "item_id="+itemId+";\n"+"λ="+unit+";\nϢ\n"+e.getMessage(); + MessageBox.post(erroMSGString , "õλ쳣", MessageBox.ERROR); + e.printStackTrace(); + }; + + } + MessageBox.post("λɣ" , "ʾ", MessageBox.INFORMATION); + } + + /** + * ݱݣлȡؼϢҪitemIdλ汾ŵcolumList + * @author kuma + * @param sheet + * + */ + private void getChangeUnitInfo(Sheet sheet) { + //¼item_id͵λı + int itemIdColumnIndex = 0; + int unitColumnIndex = -1; + int revColumnIndex = -1; + + // ȡһУͷ + Row headerRow = sheet.getRow(0); + if (headerRow == null){ + MessageBox.post("Ϊ!" , "ļ쳣", MessageBox.ERROR); + return; + } + + for (Cell cell : headerRow) { + if (cell != null && "λ".equals(getCellValue(cell))) { + unitColumnIndex = cell.getColumnIndex(); + break; + } + } + if (unitColumnIndex == -1){ + MessageBox.post("δҵ'λ'ͷ!" , "ļ쳣", MessageBox.ERROR); + return; + } + for (Cell cell : headerRow) { + if (cell != null && "汾".equals(getCellValue(cell))) { + revColumnIndex = cell.getColumnIndex(); + break; + } + } + if (revColumnIndex == -1){ + MessageBox.post("δҵ'汾'ͷ!" , "ļ쳣", MessageBox.ERROR); + return; + } + + // ÿһ + for (int i = 1; i <= sheet.getLastRowNum(); i++){ + + Row row = sheet.getRow(i); + if (row != null){ + Cell itemIdCell = row.getCell(itemIdColumnIndex); + Cell unitCell = row.getCell(unitColumnIndex); + Cell revCell = row.getCell(revColumnIndex); + if (itemIdCell != null && unitCell != null && revCell != null){ + List layerList = new ArrayList(); + String itemId = getCellValue(itemIdCell); + String unit = getCellValue(unitCell); + String rev = getCellValue(revCell); +// objectsUnitMap.put(itemId, unit); + layerList.add(itemId == null ? "" : itemId); + layerList.add(unit == null ? "" : unit); + layerList.add(rev == null ? "" : rev); + columList.add(layerList); + } + } + } + + } + + + + private String getCellValue(Cell cell) { +// switch (cell.getCellType()) { +// case STRING: +// return cell.getStringCellValue(); +// case NUMERIC: +// if (DateUtil.isCellDateFormatted(cell)) { +// return cell.getDateCellValue().toString(); +// } else { +// return String.valueOf(cell.getNumericCellValue()); +// } +// case BOOLEAN: +// return String.valueOf(cell.getBooleanCellValue()); +// case FORMULA: +// return cell.getCellFormula(); +// default: +// return ""; +// } + // DataFormatter + DataFormatter dataFormatter = new DataFormatter(); + // ʹDataFormatterȡԪʾֵ + String cellValue = dataFormatter.formatCellValue(cell); + return cellValue; + + + } +} \ No newline at end of file diff --git a/com.connor.jd.plm/src/com/connor/jd/plm/changeImportObjectsUnit/ChangeImportObjectsUnitHandler.java b/com.connor.jd.plm/src/com/connor/jd/plm/changeImportObjectsUnit/ChangeImportObjectsUnitHandler.java new file mode 100644 index 0000000..aa50675 --- /dev/null +++ b/com.connor.jd.plm/src/com/connor/jd/plm/changeImportObjectsUnit/ChangeImportObjectsUnitHandler.java @@ -0,0 +1,22 @@ +package com.connor.jd.plm.changeImportObjectsUnit; + +import org.eclipse.core.commands.AbstractHandler; +import org.eclipse.core.commands.ExecutionEvent; +import org.eclipse.core.commands.ExecutionException; + +import com.teamcenter.rac.aif.AbstractAIFApplication; +import com.teamcenter.rac.aifrcp.AIFUtility; + +public class ChangeImportObjectsUnitHandler extends AbstractHandler { + + @Override + public Object execute(ExecutionEvent arg0) throws ExecutionException { + AbstractAIFApplication application = AIFUtility.getCurrentApplication(); + ChangeImportObjectsUnitAction action = new ChangeImportObjectsUnitAction(application, null, null); + + new Thread(action).start(); + + return null; + } + +} diff --git a/com.connor.jd.plm/src/com/connor/jd/plm/signingAndApprovalRecordHistory/RecordHistoryDialog.java b/com.connor.jd.plm/src/com/connor/jd/plm/signingAndApprovalRecordHistory/RecordHistoryDialog.java new file mode 100644 index 0000000..dc7d639 --- /dev/null +++ b/com.connor.jd.plm/src/com/connor/jd/plm/signingAndApprovalRecordHistory/RecordHistoryDialog.java @@ -0,0 +1,502 @@ +package com.connor.jd.plm.signingAndApprovalRecordHistory; + +import java.awt.BorderLayout; +import java.awt.FlowLayout; +import java.awt.GridBagConstraints; +import java.awt.GridBagLayout; +import java.awt.GridLayout; +import java.awt.event.ActionEvent; +import java.awt.event.ActionListener; +import java.awt.event.MouseAdapter; +import java.awt.event.MouseEvent; +import java.text.ParseException; +import java.text.SimpleDateFormat; +import java.util.ArrayList; +import java.util.Calendar; +import java.util.Date; +import java.util.List; + +import javax.swing.JButton; +import javax.swing.JComboBox; +import javax.swing.JFrame; +import javax.swing.JLabel; +import javax.swing.JPanel; +import javax.swing.JScrollPane; +import javax.swing.JSpinner; +import javax.swing.JTable; +import javax.swing.JTextField; +import javax.swing.SpinnerDateModel; +import javax.swing.table.DefaultTableModel; + +import com.teamcenter.rac.aif.AbstractAIFApplication; +import com.teamcenter.rac.aif.AbstractAIFDialog; +import com.teamcenter.rac.aif.kernel.InterfaceAIFComponent; +import com.teamcenter.rac.kernel.TCComponent; +import com.teamcenter.rac.kernel.TCComponentBOMLine; +import com.teamcenter.rac.kernel.TCComponentItemRevision; +import com.teamcenter.rac.kernel.TCComponentProcess; +import com.teamcenter.rac.kernel.TCComponentTask; +import com.teamcenter.rac.kernel.TCSession; +import com.teamcenter.rac.util.MessageBox; + +import cn.hutool.core.util.PageUtil; + +public class RecordHistoryDialog extends AbstractAIFDialog implements ActionListener{ + private AbstractAIFApplication application; + private TCSession tcSession ; + private JTable table; + private JComboBox operationComboBox; + private JComboBox changePageSizeComboBox; + private JButton queryButton, prevPageButton, nextPageButton, changeSizeButton; + private int currentPageNum; + private int pageSize = 20;//ÿҳ + private DefaultTableModel model; + private List data = new ArrayList();//ѯ + + private JSpinner startDatePicker; + private JSpinner endDatePicker; + private SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-M-dd HH:mm"); + + public RecordHistoryDialog(AbstractAIFApplication application) { + super(true); + this.application = application; + this.tcSession = (TCSession) this.application.getSession(); + } + + @Override + public void run() { + try { + initUi(); + } catch (Exception e) { + // TODO Զɵ catch + e.printStackTrace(); + } + } + + private void initUi() throws Exception { + this.setTitle("ҵǩ¼"); + this.setSize(800,600); + this.setDefaultCloseOperation(JFrame.HIDE_ON_CLOSE); + + // ģ + String[] columnNames = {"", "ID", "", "汾", "", "", "Uid", "", "ע"}; + // ʼΪ + this.model = new DefaultTableModel(columnNames,0){ + @Override + public boolean isCellEditable(int row, int column) { + return false;// еԪΪɱ༭ + } + }; + this.table = new JTable(this.model); + JScrollPane scrollPane = new JScrollPane(this.table); + + // ˫ + table.addMouseListener(new MouseAdapter() { + @Override + public void mouseClicked(MouseEvent e) { + System.out.println("ѡ¼~"); + if (e.getClickCount() == 2) { // ǷΪ˫¼ + System.out.println("˫ѡ¼~"); + int row = table.rowAtPoint(e.getPoint()); + if (row >= 0) { + // ȡ˫е +// String objID = (String) model.getValueAt(row, 1); +// String objName = (String) model.getValueAt(row, 2); +// String versionNum = (String) model.getValueAt(row, 3); +// String approvalOperation = (String) model.getValueAt(row, 4); +// String flowName = (String) model.getValueAt(row, 5); +// String dateValue = (String) model.getValueAt(row, 6); +// String remark = (String) model.getValueAt(row, 7); + String taskUid = (String) model.getValueAt(row, 6); + + // ˫IJʾϸϢ +// System.out.println("˫: " + row); + System.out.println("ID: " + taskUid); +// System.out.println(": " + objName); +// System.out.println("汾: " + versionNum); +// System.out.println(": " + approvalOperation); +// System.out.println(": " + flowName); +// System.out.println(": " + dateValue); +// System.out.println("ע: " + remark); + + if (!taskUid.isEmpty()) { + System.out.println("Double-clicked taskUID: " + taskUid); + com.teamcenter.rac.common.Activator.getDefault() + .openPerspective("com.teamcenter.rac.ui.perspectives.navigatorPerspective"); + try { + InterfaceAIFComponent chooseComponent = tcSession.stringToComponent(taskUid); + if (chooseComponent != null) { + com.teamcenter.rac.common.Activator.getDefault().openComponents( + "com.teamcenter.rac.ui.perspectives.navigatorPerspective", + new InterfaceAIFComponent[]{chooseComponent}); + }else { + System.out.println("δȡ˫ѡж"); + } + + } catch (Exception e1) { + // TODO Զɵ catch + e1.printStackTrace(); + } + } + } + } + } + + /** + * itemIDcomponent + * @param objID + * @return + * @throws Exception + */ + private InterfaceAIFComponent getItemById(String objID) throws Exception { + InterfaceAIFComponent component = null; + TCComponent[] searchs = tcSession.search("...", new String[] { " ID" }, + new String[] { objID }); + if (searchs.length > 0) { + return searchs[0]; + } + + return null; + } + }); + + // ѯ + JPanel queryPanel = new JPanel(new GridBagLayout()); + GridBagConstraints gbc = new GridBagConstraints(); + + JPanel dateQueryPanel = createDateQueryPanel();//ʱѯ + JPanel operationQueryPanel = createOperationQueryPanel();//Ͳѯ + + gbc.weightx = 0.7; // 70% of the available space + gbc.fill = GridBagConstraints.HORIZONTAL; + gbc.gridx = 0; + gbc.gridy = 0; + queryPanel.add(dateQueryPanel, gbc); + gbc.weightx = 0.3; // 30% of the available space + gbc.gridx = 1; + gbc.gridy = 0; + queryPanel.add(operationQueryPanel, gbc); + + + // ť + JPanel buttonPanel = new JPanel(new FlowLayout(FlowLayout.RIGHT)); + + JPanel pageNumChangePanel = createPageNumChoosePanel(); + prevPageButton = new JButton("һҳ"); + prevPageButton.addActionListener(this); + nextPageButton = new JButton("һҳ"); + nextPageButton.addActionListener(this); + buttonPanel.add(pageNumChangePanel); + buttonPanel.add(prevPageButton); + buttonPanel.add(nextPageButton); + + // + this.setLayout(new BorderLayout()); + this.add(queryPanel, BorderLayout.NORTH); + this.add(scrollPane, BorderLayout.CENTER); + this.add(buttonPanel, BorderLayout.SOUTH); + + this.setVisible(true); + } + + /* + * ʱѯť + */ + private JPanel createDateQueryPanel() throws Exception { + JPanel panel = new JPanel(new FlowLayout(FlowLayout.LEFT)); + JLabel label = new JLabel("ʱβѯ:"); + //һ㹻СĿʼʱ + SimpleDateFormat sdf = new SimpleDateFormat("yyyy-M-d HH:mm"); + Date stDate = sdf.parse("1998-1-1 00:00"); + + // һSpinnerDateModelĬֵΪǰʱ + SpinnerDateModel startModel = new SpinnerDateModel(); +// SpinnerDateModel startModel = new SpinnerDateModel(stDate, null, null, Calendar.DAY_OF_MONTH); + this.startDatePicker = new JSpinner(startModel); + + // ñ༭ΪJSpinner.DateEditorʾѺøʽ + JSpinner.DateEditor startEditor = new JSpinner.DateEditor(this.startDatePicker, "yyyy-M-dd HH:mm"); + this.startDatePicker.setEditor(startEditor); + + // ԽʱͬĴ + SpinnerDateModel endModel = new SpinnerDateModel(); + this.endDatePicker = new JSpinner(endModel); + JSpinner.DateEditor endEditor = new JSpinner.DateEditor(this.endDatePicker, "yyyy-M-dd HH:mm"); + this.endDatePicker.setEditor(endEditor); + + panel.add(label); + panel.add(this.startDatePicker); + panel.add(new JLabel("~")); + panel.add(this.endDatePicker); + + return panel; + } + + /* + * Ͳѯť + */ + private JPanel createOperationQueryPanel() { + JPanel panel = new JPanel(new FlowLayout(FlowLayout.LEFT)); + JLabel label = new JLabel("ѯ:"); + operationComboBox = new JComboBox<>(new String[]{"׼", ""}); + queryButton = new JButton("ѯ"); + + queryButton.addActionListener(this); + + panel.add(label); + panel.add(operationComboBox); + panel.add(queryButton); + + return panel; + } + + /* + * ҳС + */ + private JPanel createPageNumChoosePanel() { + JPanel panel = new JPanel(new FlowLayout(FlowLayout.LEFT)); + JLabel label = new JLabel("ҳС:"); + changePageSizeComboBox = new JComboBox<>(new String[]{"20", "30","50","100","200","500"}); + changeSizeButton = new JButton("л"); + + changeSizeButton.addActionListener(this); + + panel.add(label); + panel.add(changePageSizeComboBox); + panel.add(changeSizeButton); + + return panel; + } + + /* + * ݵ + * @data: + * @currentPageNum: ǰҳ:[1,2,3,4,5,6...] + */ + private void updateTable(List data, int currentPageNum) { + System.out.println("ݵΣǰҳ="+currentPageNum); + int totalNum = data.size();// + int totalPage = PageUtil.totalPage(totalNum, this.pageSize); + System.out.println("ҳ"+totalPage);//3 + System.out.println(""+totalNum); + if (currentPageNum <= totalPage) { + if (this.model.getRowCount() > 0) { + // ձݣб + System.out.println("ʼձݣб"); + for (int i = this.model.getRowCount() - 1; i >= 0; i--) { + this.model.removeRow(i); + } + } + //ȡǰҳʼλõ + int[] startEnd = PageUtil.transToStartEnd(currentPageNum, pageSize); + int start = startEnd[0]; + int end = startEnd[1]; + if (end>totalNum) { + System.out.println("end = "+end+",totalNum = "+totalNum); + end = totalNum; + } + System.out.println("Ⱦбе䣺"+start+" = "+end); + for (int i = start; i < end; i++) { + model.addRow(data.get(i));//TODO + } + }else { + System.out.println("ǰҳ볬ҳ"); + this.currentPageNum = totalPage; + MessageBox.post("ǰҳ볬ҳ","ҳʾ",MessageBox.INFORMATION); + } + } + + private InterfaceAIFComponent[] searchRecord(List entryNames,List entryValues) throws Exception { + //ÿβѯǰõǰҳ + this.currentPageNum = 1; + + int nameNum = entryNames.size(); + int valueNum = entryValues.size(); + InterfaceAIFComponent[] resultComponents = null; + if (nameNum>0 && valueNum>0) { + for(String s:entryValues) { + System.out.println("ѯΣ"+s); + } + //òѯ + resultComponents = tcSession.search("ǩ¼ѯ", + entryNames.toArray(new String[valueNum]), + entryValues.toArray(new String[valueNum])); + if (resultComponents.length>0) { + System.out.println("ǩ¼ѯɹѯ"+resultComponents.length+""); + if (this.data != null && this.data.size() > 0) {//java.lang.NullPointerException + this.data.clear();//ÿβѯʱdata + } + + }else { + System.out.println("ǩ¼δѯκν"); + } + }else { + System.out.println("δȷѯIJѯĿͲ˶ԣ"); + } + return resultComponents; + } + + + // ·ڻȡʼʱѡֵʽΪַ + public String getFormattedStartDate() { + Date date = (Date) startDatePicker.getValue(); + return dateFormat.format(date); + } + + // ·ڻȡʱѡֵʽΪַ + public String getFormattedEndDate() { + Date date = (Date) endDatePicker.getValue(); + return dateFormat.format(date); + } + + @Override + public void actionPerformed(ActionEvent e) { + String userName = tcSession.getUserName(); + Object s = e.getSource(); + try { + if (s.equals(this.queryButton)) { + //ͨͲѯ + String startDate = null; + String endDate = null; + String operation = null; + String input = (String) operationComboBox.getSelectedItem(); + System.out.println("ݲͲѯΣ"+input); + if (input.equals("׼")) { + operation = "׼"; + }else if (input.equals("")) { + operation = "Ѿܾ"; + } + startDate = getFormattedStartDate(); + endDate = getFormattedEndDate(); + System.out.println(startDate+"<->"+endDate); + + List entryNames = new ArrayList(); + List entryValues = new ArrayList(); + int cxtag = 0; + if (startDate != null && startDate != "") { + cxtag++; + entryNames.add("ʼ"); + entryValues.add(startDate); + System.out.println("ѯ-ʼڣ"+startDate); + } + if (endDate != null && endDate != "") { + cxtag++; + entryNames.add("ʼ"); + entryValues.add(endDate); + System.out.println("ѯ-ڣ"+endDate); + } + if (operation != null && operation != "") { + cxtag++; + entryNames.add("ǩ"); + entryValues.add(operation); + System.out.println("ѯ-ǩ"+operation); + } + if (cxtag != 0) { + entryNames.add(""); + entryValues.add(userName); + System.out.println("ѯ-ߣ"+userName); + } + //òѯ + InterfaceAIFComponent[] results = searchRecord(entryNames,entryValues); + if (results.length>0) { + delSearchResult(results); + }else { + MessageBox.post("δѯκνѯǷȷ","ѯ",MessageBox.INFORMATION); + } + }else if (s.equals(this.nextPageButton)) { + //һҳ + System.out.println("һҳ"); + this.currentPageNum ++; + updateTable(this.data, currentPageNum); + + }else if (s.equals(this.prevPageButton)) { + //һҳ + System.out.println("һҳ"); + if (this.currentPageNum >1) { + this.currentPageNum --; + updateTable(this.data, currentPageNum); + }else { + System.out.println("Ѿһҳ"); + this.currentPageNum = 0; + MessageBox.post("Ѿһҳ","ҳʾ",MessageBox.INFORMATION); + } + }else if (s.equals(this.changeSizeButton)) { + String selectPageSizeString = (String)changePageSizeComboBox.getSelectedItem(); + this.pageSize = Integer.parseInt(selectPageSizeString); + System.out.println("лҳС"+selectPageSizeString); + this.currentPageNum = 1; + updateTable(this.data, currentPageNum); + } + } catch (Exception e2) { + e2.printStackTrace(); + } + + } + + /* + * ѯõݣ + */ + public void delSearchResult(InterfaceAIFComponent[] results) { + try { + if (results != null) { + int xh = 0; + for (InterfaceAIFComponent component : results) {//ڵcomponent + TCComponentTask componenttsTask = (TCComponentTask)component; + String uid = componenttsTask.getReferenceProperty("fnd0RootTask").getUid(); + System.out.println("===ȡڵfnd0RootTaskuid="+uid); + TCComponentTask process = (TCComponentTask)(componenttsTask.getReferenceProperty("fnd0RootTask"));// + TCComponent[] components = process.getReferenceListProperty("root_target_attachments"); + System.out.println("ʼȡڵ"); +// ȡڵ + String dataValue = component.getProperty("fnd0StartDate"); + String approvalOperation = component.getProperty("task_result"); + String flowName = component.getProperty("fnd0TaskPathName"); + String taskUid = component.getUid(); + + for (InterfaceAIFComponent flowComponent : components) { + if (flowComponent instanceof TCComponentItemRevision) { + System.out.println("ȡ¶"); + //ȡ¶ + TCComponentItemRevision itemRevision = (TCComponentItemRevision) flowComponent; + String item = itemRevision.getStringProperty("item_id"); + String obj = itemRevision.getStringProperty("object_name"); + String rev = itemRevision.getStringProperty("item_revision_id"); + //֯ + xh = xh + 1; + // + RecordHistoryEntity entity = new RecordHistoryEntity(); + entity.setNum(String.valueOf(xh)); + entity.setObjID(item == null ? "" : item); + entity.setObj(obj == null ? "" : obj); + entity.setVersionNum(rev == null ? "" : rev); + entity.setApprovalOperation(approvalOperation == null ? "" : approvalOperation); + entity.setFlowName(flowName == null ? "" : flowName); + entity.setDateValue(dataValue == null ? "" : dataValue); + entity.setRemark(""); + entity.setTaskUid(taskUid == null ? "" : taskUid); + + System.out.println(entity.toString()); + this.data.add(new String[] { + entity.getNum(), + entity.getObjID(), + entity.getObj(), + entity.getVersionNum(), + entity.getApprovalOperation(), + entity.getFlowName(), + entity.getTaskUid(), + entity.getDateValue(), + entity.getRemark() + }); + } + } + } + updateTable(this.data, this.currentPageNum); + + }else { + System.out.println("ݿʼڲѯǩ¼ʧܣ"); + } + } catch (Exception e) { + e.printStackTrace(); + } + } +} diff --git a/com.connor.jd.plm/src/com/connor/jd/plm/signingAndApprovalRecordHistory/RecordHistoryEntity.java b/com.connor.jd.plm/src/com/connor/jd/plm/signingAndApprovalRecordHistory/RecordHistoryEntity.java new file mode 100644 index 0000000..d833b63 --- /dev/null +++ b/com.connor.jd.plm/src/com/connor/jd/plm/signingAndApprovalRecordHistory/RecordHistoryEntity.java @@ -0,0 +1,119 @@ +package com.connor.jd.plm.signingAndApprovalRecordHistory; + +public class RecordHistoryEntity { + // + private String num; + // + private String objID; + + // + private String obj; + //汾 + private String versionNum; + // + private String approvalOperation; + // + private String flowName; + //uid + private String taskUid; + // + private String dateValue; + //ע + private String remark; + + + + /** + * @return taskUid + */ + public String getTaskUid() { + return taskUid; + } + + /** + * @param taskUid Ҫõ taskUid + */ + public void setTaskUid(String taskUid) { + this.taskUid = taskUid; + } + public String getNum() { + return num; + } + + /** + * @return objID + */ + public String getObjID() { + return objID; + } + + /** + * @param objID Ҫõ objID + */ + public void setObjID(String objID) { + this.objID = objID; + } + + public void setNum(String num) { + this.num = num; + } + + public String getObj() { + return obj; + } + + public void setObj(String obj) { + this.obj = obj; + } + + public String getVersionNum() { + return versionNum; + } + + public void setVersionNum(String versionNum) { + this.versionNum = versionNum; + } + + public String getApprovalOperation() { + return approvalOperation; + } + + public void setApprovalOperation(String approvalOperation) { + this.approvalOperation = approvalOperation; + } + + public String getFlowName() { + return flowName; + } + + public void setFlowName(String flowName) { + this.flowName = flowName; + } + + public String getDateValue() { + return dateValue; + } + + public void setDateValue(String dateValue) { + this.dateValue = dateValue; + } + + public String getRemark() { + return remark; + } + + public void setRemark(String remark) { + this.remark = remark; + } + + @Override + public String toString() { + return "RecordHistoryEntity [num=" + num + ", objID=" + objID + ", obj=" + obj + ", versionNum=" + versionNum + + ", approvalOperation=" + approvalOperation + ", flowName=" + flowName + ", dateValue=" + dateValue + + ", remark=" + remark + "]"; + } + + + + +} diff --git a/com.connor.jd.plm/src/com/connor/jd/plm/signingAndApprovalRecordHistory/RecordHistoryHandler.java b/com.connor.jd.plm/src/com/connor/jd/plm/signingAndApprovalRecordHistory/RecordHistoryHandler.java new file mode 100644 index 0000000..632a354 --- /dev/null +++ b/com.connor.jd.plm/src/com/connor/jd/plm/signingAndApprovalRecordHistory/RecordHistoryHandler.java @@ -0,0 +1,21 @@ +package com.connor.jd.plm.signingAndApprovalRecordHistory; + +import org.eclipse.core.commands.AbstractHandler; +import org.eclipse.core.commands.ExecutionEvent; +import org.eclipse.core.commands.ExecutionException; + +import com.teamcenter.rac.aif.AbstractAIFApplication; +import com.teamcenter.rac.aifrcp.AIFUtility; + +public class RecordHistoryHandler extends AbstractHandler { + + @Override + public Object execute(ExecutionEvent arg0) throws ExecutionException { + AbstractAIFApplication application = AIFUtility.getCurrentApplication(); + RecordHistoryDialog dialog = new RecordHistoryDialog(application); + new Thread(dialog).start(); + + return null; + } + +} diff --git a/com.connor.jd.plm/src/tcimporthistorydatas/Activator.java b/com.connor.jd.plm/src/tcimporthistorydatas/Activator.java new file mode 100644 index 0000000..39a13f5 --- /dev/null +++ b/com.connor.jd.plm/src/tcimporthistorydatas/Activator.java @@ -0,0 +1,50 @@ +package tcimporthistorydatas; + +import org.eclipse.ui.plugin.AbstractUIPlugin; +import org.osgi.framework.BundleContext; + +/** + * The activator class controls the plug-in life cycle + */ +public class Activator extends AbstractUIPlugin { + + // The plug-in ID + public static final String PLUGIN_ID = "TCImportHistoryDatas"; + + // The shared instance + private static Activator plugin; + + /** + * The constructor + */ + public Activator() { + } + + /* + * (non-Javadoc) + * @see org.eclipse.ui.plugin.AbstractUIPlugin#start(org.osgi.framework.BundleContext) + */ + public void start(BundleContext context) throws Exception { + super.start(context); + plugin = this; + } + + /* + * (non-Javadoc) + * @see org.eclipse.ui.plugin.AbstractUIPlugin#stop(org.osgi.framework.BundleContext) + */ + public void stop(BundleContext context) throws Exception { + plugin = null; + super.stop(context); + } + + /** + * Returns the shared instance + * + * @return the shared instance + */ + public static Activator getDefault() { + return plugin; + } + +}