Compare commits

...

10 Commits

8
.idea/.gitignore vendored

@ -0,0 +1,8 @@
# 默认忽略的文件
/shelf/
/workspace.xml
# 基于编辑器的 HTTP 客户端请求
/httpRequests/
# Datasource local storage ignored files
/dataSources/
/dataSources.local.xml

@ -0,0 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="GitToolBoxBlameSettings">
<option name="version" value="2" />
</component>
</project>

@ -0,0 +1,10 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="ASMSmaliIdeaPluginConfiguration">
<asm skipDebug="true" skipFrames="true" skipCode="false" expandFrames="false" />
<groovy codeStyle="LEGACY" />
</component>
<component name="ProjectRootManager" version="2" languageLevel="JDK_22" default="true" project-jdk-name="openjdk-22" project-jdk-type="JavaSDK">
<output url="file://$PROJECT_DIR$/classes" />
</component>
</project>

@ -0,0 +1,8 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="ProjectModuleManager">
<modules>
<module fileurl="file://$PROJECT_DIR$/com.connor.jd.plm.iml" filepath="$PROJECT_DIR$/com.connor.jd.plm.iml" />
</modules>
</component>
</project>

@ -0,0 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="VcsDirectoryMappings">
<mapping directory="" vcs="Git" />
</component>
</project>

@ -0,0 +1,10 @@
<?xml version="1.0" encoding="UTF-8"?>
<module type="JAVA_MODULE" version="4">
<component name="NewModuleRootManager">
<output url="file://$MODULE_DIR$/bin" />
<exclude-output />
<content url="file://$MODULE_DIR$" />
<orderEntry type="jdk" jdkName="1.8" jdkType="JavaSDK" />
<orderEntry type="sourceFolder" forTests="false" />
</component>
</module>

@ -1,539 +1,16 @@
<?xml version="1.0" encoding="UTF-8"?>
<classpath>
<classpathentry exported="true" kind="lib" path="lib/dom4j-1.6.1.jar"/>
<classpathentry exported="true" kind="lib" path="lib/log4j.jar"/>
<classpathentry exported="true" kind="lib" path="lib/jxl.jar"/>
<classpathentry exported="true" kind="lib" path="lib/aspose-cells-18.9.jar"/>
<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.8"/>
<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.8">
<attributes>
<attribute name="module" value="true"/>
</attributes>
</classpathentry>
<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
<classpathentry kind="src" path="src"/>
<classpathentry kind="lib" path="E:/work/plugins12_1/applauncher.jar"/>
<classpathentry kind="lib" path="E:/work/plugins12_1/ca.odell.glazedlists.jar"/>
<classpathentry kind="lib" path="E:/work/plugins12_1/CAE0SoaSimProcRac_12000.1.0.jar"/>
<classpathentry kind="lib" path="E:/work/plugins12_1/CAE0SoaSimProcTypes_12000.0.0.jar"/>
<classpathentry kind="lib" path="E:/work/plugins12_1/Cfg0SoaConfiguratorLoose_12000.1.0.jar"/>
<classpathentry kind="lib" path="E:/work/plugins12_1/cn.com.origin.autocode_1.0.0.jar"/>
<classpathentry kind="lib" path="E:/work/plugins12_1/cn.com.origin.autocodemanager_1.0.0.jar"/>
<classpathentry kind="lib" path="E:/work/plugins12_1/com.connor.jd.plm_1.0.0.1.jar"/>
<classpathentry kind="lib" path="E:/work/plugins12_1/com.connor.sfae.test_1.0.0.1.jar"/>
<classpathentry kind="lib" path="E:/work/plugins12_1/com.google.gson.jar"/>
<classpathentry kind="lib" path="E:/work/plugins12_1/com.ibm.icu_56.1.0.v201601250100.jar"/>
<classpathentry kind="lib" path="E:/work/plugins12_1/com.jcraft.jsch_0.1.53.v201508180515.jar"/>
<classpathentry kind="lib" path="E:/work/plugins12_1/com.siemens.splm.browserinterop.infrastructure.jar"/>
<classpathentry kind="lib" path="E:/work/plugins12_1/com.siemens.splm.browserinterop.solutions.jar"/>
<classpathentry kind="lib" path="E:/work/plugins12_1/com.sun.el_2.2.0.v201303151357.jar"/>
<classpathentry kind="lib" path="E:/work/plugins12_1/com.teamcenter.bce.core_12000.1.0.jar"/>
<classpathentry kind="lib" path="E:/work/plugins12_1/com.teamcenter.bce.dialog_12000.1.0.jar"/>
<classpathentry kind="lib" path="E:/work/plugins12_1/com.teamcenter.bce.editor_12000.1.0.jar"/>
<classpathentry kind="lib" path="E:/work/plugins12_1/com.teamcenter.bce.model_12000.1.0.jar"/>
<classpathentry kind="lib" path="E:/work/plugins12_1/com.teamcenter.rac.accessmanager_12000.1.0.jar"/>
<classpathentry kind="lib" path="E:/work/plugins12_1/com.teamcenter.rac.activex.win32.win32.x86_64_12000.1.0.jar"/>
<classpathentry kind="lib" path="E:/work/plugins12_1/com.teamcenter.rac.activex_12000.1.0.jar"/>
<classpathentry kind="lib" path="E:/work/plugins12_1/com.teamcenter.rac.activity_12000.1.0.jar"/>
<classpathentry kind="lib" path="E:/work/plugins12_1/com.teamcenter.rac.adalicense_12000.1.0.jar"/>
<classpathentry kind="lib" path="E:/work/plugins12_1/com.teamcenter.rac.aif.registryeditor_12000.1.0.jar"/>
<classpathentry kind="lib" path="E:/work/plugins12_1/com.teamcenter.rac.aifrcp_12000.1.0.jar"/>
<classpathentry kind="lib" path="E:/work/plugins12_1/com.teamcenter.rac.appearanceconfiguration_12000.1.0.jar"/>
<classpathentry kind="lib" path="E:/work/plugins12_1/com.teamcenter.rac.applications.integration_12000.1.0.jar"/>
<classpathentry kind="lib" path="E:/work/plugins12_1/com.teamcenter.rac.aps0apscore.kernel_12000.1.0.jar"/>
<classpathentry kind="lib" path="E:/work/plugins12_1/com.teamcenter.rac.architecturemodeler_12000.1.0.jar"/>
<classpathentry kind="lib" path="E:/work/plugins12_1/com.teamcenter.rac.auditmanager_12000.1.0.jar"/>
<classpathentry kind="lib" path="E:/work/plugins12_1/com.teamcenter.rac.authorization_12000.1.0.jar"/>
<classpathentry kind="lib" path="E:/work/plugins12_1/com.teamcenter.rac.awchostinterop_12000.1.0.jar"/>
<classpathentry kind="lib" path="E:/work/plugins12_1/com.teamcenter.rac.barchart_12000.1.0.jar"/>
<classpathentry kind="lib" path="E:/work/plugins12_1/com.teamcenter.rac.basedon_12000.1.0.jar"/>
<classpathentry kind="lib" path="E:/work/plugins12_1/com.teamcenter.rac.bczownershipxferview_12000.1.0.jar"/>
<classpathentry kind="lib" path="E:/work/plugins12_1/com.teamcenter.rac.bom_12000.1.0.jar"/>
<classpathentry kind="lib" path="E:/work/plugins12_1/com.teamcenter.rac.briefcasebrowser_12000.1.0.jar"/>
<classpathentry kind="lib" path="E:/work/plugins12_1/com.teamcenter.rac.cae.ase_12000.1.0.jar"/>
<classpathentry kind="lib" path="E:/work/plugins12_1/com.teamcenter.rac.caese_12000.1.0.jar"/>
<classpathentry kind="lib" path="E:/work/plugins12_1/com.teamcenter.rac.charts_12000.1.0.jar"/>
<classpathentry kind="lib" path="E:/work/plugins12_1/com.teamcenter.rac.classification.icadmin_12000.1.0.jar"/>
<classpathentry kind="lib" path="E:/work/plugins12_1/com.teamcenter.rac.classification.icm_12000.1.0.jar"/>
<classpathentry kind="lib" path="E:/work/plugins12_1/com.teamcenter.rac.cm_12000.1.0.jar"/>
<classpathentry kind="lib" path="E:/work/plugins12_1/com.teamcenter.rac.cme.accountabilitycheck.bom_12000.1.0.jar"/>
<classpathentry kind="lib" path="E:/work/plugins12_1/com.teamcenter.rac.cme.accountabilitycheck.properties_12000.1.0.jar"/>
<classpathentry kind="lib" path="E:/work/plugins12_1/com.teamcenter.rac.cme.accountabilitycheck.relations_12000.1.0.jar"/>
<classpathentry kind="lib" path="E:/work/plugins12_1/com.teamcenter.rac.cme.accountabilitycheck_12000.1.0.jar"/>
<classpathentry kind="lib" path="E:/work/plugins12_1/com.teamcenter.rac.cme.activity_12000.1.0.jar"/>
<classpathentry kind="lib" path="E:/work/plugins12_1/com.teamcenter.rac.cme.assemblyincontext_12000.1.0.jar"/>
<classpathentry kind="lib" path="E:/work/plugins12_1/com.teamcenter.rac.cme.biw.module_12000.1.0.jar"/>
<classpathentry kind="lib" path="E:/work/plugins12_1/com.teamcenter.rac.cme.bvr.connect_12000.1.0.jar"/>
<classpathentry kind="lib" path="E:/work/plugins12_1/com.teamcenter.rac.cme.ccadmin_12000.1.0.jar"/>
<classpathentry kind="lib" path="E:/work/plugins12_1/com.teamcenter.rac.cme.changetracker_12000.1.0.jar"/>
<classpathentry kind="lib" path="E:/work/plugins12_1/com.teamcenter.rac.cme.collaborationcontext_12000.1.0.jar"/>
<classpathentry kind="lib" path="E:/work/plugins12_1/com.teamcenter.rac.cme.common_12000.1.0.jar"/>
<classpathentry kind="lib" path="E:/work/plugins12_1/com.teamcenter.rac.cme.designpartalignment_12000.1.0.jar"/>
<classpathentry kind="lib" path="E:/work/plugins12_1/com.teamcenter.rac.cme.ebop.module_12000.1.0.jar"/>
<classpathentry kind="lib" path="E:/work/plugins12_1/com.teamcenter.rac.cme.exeposition_12000.1.0.jar"/>
<classpathentry kind="lib" path="E:/work/plugins12_1/com.teamcenter.rac.cme.framework_12000.1.0.jar"/>
<classpathentry kind="lib" path="E:/work/plugins12_1/com.teamcenter.rac.cme.fse_12000.1.0.jar"/>
<classpathentry kind="lib" path="E:/work/plugins12_1/com.teamcenter.rac.cme.futurerevisions_12000.1.0.jar"/>
<classpathentry kind="lib" path="E:/work/plugins12_1/com.teamcenter.rac.cme.graphics_12000.1.0.jar"/>
<classpathentry kind="lib" path="E:/work/plugins12_1/com.teamcenter.rac.cme.idc_12000.1.0.jar"/>
<classpathentry kind="lib" path="E:/work/plugins12_1/com.teamcenter.rac.cme.ipa_12000.1.0.jar"/>
<classpathentry kind="lib" path="E:/work/plugins12_1/com.teamcenter.rac.cme.kernel_12000.1.0.jar"/>
<classpathentry kind="lib" path="E:/work/plugins12_1/com.teamcenter.rac.cme.lb_12000.1.0.jar"/>
<classpathentry kind="lib" path="E:/work/plugins12_1/com.teamcenter.rac.cme.legacy_12000.1.0.jar"/>
<classpathentry kind="lib" path="E:/work/plugins12_1/com.teamcenter.rac.cme.license_12000.1.0.jar"/>
<classpathentry kind="lib" path="E:/work/plugins12_1/com.teamcenter.rac.cme.mbm_12000.1.0.jar"/>
<classpathentry kind="lib" path="E:/work/plugins12_1/com.teamcenter.rac.cme.mbomassessmentrepair_12000.1.0.jar"/>
<classpathentry kind="lib" path="E:/work/plugins12_1/com.teamcenter.rac.cme.mbomrecipe_12000.1.0.jar"/>
<classpathentry kind="lib" path="E:/work/plugins12_1/com.teamcenter.rac.cme.mcnmanagement_12000.1.0.jar"/>
<classpathentry kind="lib" path="E:/work/plugins12_1/com.teamcenter.rac.cme.mpp_12000.1.0.jar"/>
<classpathentry kind="lib" path="E:/work/plugins12_1/com.teamcenter.rac.cme.mrm_12000.1.0.jar"/>
<classpathentry kind="lib" path="E:/work/plugins12_1/com.teamcenter.rac.cme.pad_12000.1.0.jar"/>
<classpathentry kind="lib" path="E:/work/plugins12_1/com.teamcenter.rac.cme.pmp_12000.1.0.jar"/>
<classpathentry kind="lib" path="E:/work/plugins12_1/com.teamcenter.rac.cme.processsimulate_12000.1.0.jar"/>
<classpathentry kind="lib" path="E:/work/plugins12_1/com.teamcenter.rac.cme.resource_12000.1.0.jar"/>
<classpathentry kind="lib" path="E:/work/plugins12_1/com.teamcenter.rac.cme.reusesubassembly_12000.1.0.jar"/>
<classpathentry kind="lib" path="E:/work/plugins12_1/com.teamcenter.rac.cme.sequence_12000.1.0.jar"/>
<classpathentry kind="lib" path="E:/work/plugins12_1/com.teamcenter.rac.cme.study_12000.1.0.jar"/>
<classpathentry kind="lib" path="E:/work/plugins12_1/com.teamcenter.rac.cme.stylesheet_12000.1.0.jar"/>
<classpathentry kind="lib" path="E:/work/plugins12_1/com.teamcenter.rac.cme.tcpublishwrapper_12000.1.0.jar"/>
<classpathentry kind="lib" path="E:/work/plugins12_1/com.teamcenter.rac.cme.time_12000.1.0.jar"/>
<classpathentry kind="lib" path="E:/work/plugins12_1/com.teamcenter.rac.cme.twod_12000.1.0.jar"/>
<classpathentry kind="lib" path="E:/work/plugins12_1/com.teamcenter.rac.cme.twp_12000.1.0.jar"/>
<classpathentry kind="lib" path="E:/work/plugins12_1/com.teamcenter.rac.cme.variants_12000.1.0.jar"/>
<classpathentry kind="lib" path="E:/work/plugins12_1/com.teamcenter.rac.commands.report.reportdesigner_12000.1.0.jar"/>
<classpathentry kind="lib" path="E:/work/plugins12_1/com.teamcenter.rac.commandsuppression_12000.1.0.jar"/>
<classpathentry kind="lib" path="E:/work/plugins12_1/com.teamcenter.rac.common_12000.1.0.jar"/>
<classpathentry kind="lib" path="E:/work/plugins12_1/com.teamcenter.rac.commonclient_12000.1.0.jar"/>
<classpathentry kind="lib" path="E:/work/plugins12_1/com.teamcenter.rac.contextmenusuppression_12000.1.0.jar"/>
<classpathentry kind="lib" path="E:/work/plugins12_1/com.teamcenter.rac.crf_12000.1.0.jar"/>
<classpathentry kind="lib" path="E:/work/plugins12_1/com.teamcenter.rac.databaseutilities_12000.1.0.jar"/>
<classpathentry kind="lib" path="E:/work/plugins12_1/com.teamcenter.rac.datadic_12000.1.0.jar"/>
<classpathentry kind="lib" path="E:/work/plugins12_1/com.teamcenter.rac.debug_12000.1.0.jar"/>
<classpathentry kind="lib" path="E:/work/plugins12_1/com.teamcenter.rac.designcontext_12000.1.0.jar"/>
<classpathentry kind="lib" path="E:/work/plugins12_1/com.teamcenter.rac.diagramming.communication_12000.1.0.jar"/>
<classpathentry kind="lib" path="E:/work/plugins12_1/com.teamcenter.rac.diagramming.dtoolext_12000.1.0.jar"/>
<classpathentry kind="lib" path="E:/work/plugins12_1/com.teamcenter.rac.diagrammingtools_12000.1.0.jar"/>
<classpathentry kind="lib" path="E:/work/plugins12_1/com.teamcenter.rac.dpv_12000.1.0.jar"/>
<classpathentry kind="lib" path="E:/work/plugins12_1/com.teamcenter.rac.ecmanagement_12000.1.0.jar"/>
<classpathentry kind="lib" path="E:/work/plugins12_1/com.teamcenter.rac.editcontext_12000.1.0.jar"/>
<classpathentry kind="lib" path="E:/work/plugins12_1/com.teamcenter.rac.effectivity_12000.1.0.jar"/>
<classpathentry kind="lib" path="E:/work/plugins12_1/com.teamcenter.rac.emailpolling_12000.1.0.jar"/>
<classpathentry kind="lib" path="E:/work/plugins12_1/com.teamcenter.rac.ets_12000.1.0.jar"/>
<classpathentry kind="lib" path="E:/work/plugins12_1/com.teamcenter.rac.express_12000.1.0.jar"/>
<classpathentry kind="lib" path="E:/work/plugins12_1/com.teamcenter.rac.gantt_12000.1.0.jar"/>
<classpathentry kind="lib" path="E:/work/plugins12_1/com.teamcenter.rac.gdis_12000.1.0.jar"/>
<classpathentry kind="lib" path="E:/work/plugins12_1/com.teamcenter.rac.grb_12000.1.0.jar"/>
<classpathentry kind="lib" path="E:/work/plugins12_1/com.teamcenter.rac.gsClient_12000.1.0.jar"/>
<classpathentry kind="lib" path="E:/work/plugins12_1/com.teamcenter.rac.gsLogin_12000.1.0.jar"/>
<classpathentry kind="lib" path="E:/work/plugins12_1/com.teamcenter.rac.idc_12000.1.0.jar"/>
<classpathentry kind="lib" path="E:/work/plugins12_1/com.teamcenter.rac.issuemanager_12000.1.0.jar"/>
<classpathentry kind="lib" path="E:/work/plugins12_1/com.teamcenter.rac.kernel_12000.1.0.jar"/>
<classpathentry kind="lib" path="E:/work/plugins12_1/com.teamcenter.rac.massupdate_12000.1.0.jar"/>
<classpathentry kind="lib" path="E:/work/plugins12_1/com.teamcenter.rac.ms.ui_12000.1.0.jar"/>
<classpathentry kind="lib" path="E:/work/plugins12_1/com.teamcenter.rac.ms.util_12000.1.0.jar"/>
<classpathentry kind="lib" path="E:/work/plugins12_1/com.teamcenter.rac.multistructures_12000.1.0.jar"/>
<classpathentry kind="lib" path="E:/work/plugins12_1/com.teamcenter.rac.ocspresence_12000.1.0.jar"/>
<classpathentry kind="lib" path="E:/work/plugins12_1/com.teamcenter.rac.officeapplauncher_12000.1.0.jar"/>
<classpathentry kind="lib" path="E:/work/plugins12_1/com.teamcenter.rac.operationaldata.docmgt_12000.1.0.jar"/>
<classpathentry kind="lib" path="E:/work/plugins12_1/com.teamcenter.rac.operationaldata.edaserver_12000.1.0.jar"/>
<classpathentry kind="lib" path="E:/work/plugins12_1/com.teamcenter.rac.operationaldata.options_12000.1.0.jar"/>
<classpathentry kind="lib" path="E:/work/plugins12_1/com.teamcenter.rac.operationaldata_12000.1.0.jar"/>
<classpathentry kind="lib" path="E:/work/plugins12_1/com.teamcenter.rac.organization_12000.1.0.jar"/>
<classpathentry kind="lib" path="E:/work/plugins12_1/com.teamcenter.rac.pca.kernel_12000.1.0.jar"/>
<classpathentry kind="lib" path="E:/work/plugins12_1/com.teamcenter.rac.pca_12000.1.0.jar"/>
<classpathentry kind="lib" path="E:/work/plugins12_1/com.teamcenter.rac.plmxmlexportimportadministration_12000.1.0.jar"/>
<classpathentry kind="lib" path="E:/work/plugins12_1/com.teamcenter.rac.por_12000.1.0.jar"/>
<classpathentry kind="lib" path="E:/work/plugins12_1/com.teamcenter.rac.presentation_12000.1.0.jar"/>
<classpathentry kind="lib" path="E:/work/plugins12_1/com.teamcenter.rac.processhistory_12000.1.0.jar"/>
<classpathentry kind="lib" path="E:/work/plugins12_1/com.teamcenter.rac.project_12000.1.0.jar"/>
<classpathentry kind="lib" path="E:/work/plugins12_1/com.teamcenter.rac.pse.pca_12000.1.0.jar"/>
<classpathentry kind="lib" path="E:/work/plugins12_1/com.teamcenter.rac.pse_12000.1.0.jar"/>
<classpathentry kind="lib" path="E:/work/plugins12_1/com.teamcenter.rac.qualifications_12000.1.0.jar"/>
<classpathentry kind="lib" path="E:/work/plugins12_1/com.teamcenter.rac.querybuilder_12000.1.0.jar"/>
<classpathentry kind="lib" path="E:/work/plugins12_1/com.teamcenter.rac.requirementsmanager.win.embeddedword_12000.1.0.jar"/>
<classpathentry kind="lib" path="E:/work/plugins12_1/com.teamcenter.rac.requirementsmanager_12000.1.0.jar"/>
<classpathentry kind="lib" path="E:/work/plugins12_1/com.teamcenter.rac.rmoffice_12000.1.0.jar"/>
<classpathentry kind="lib" path="E:/work/plugins12_1/com.teamcenter.rac.schedule_12000.1.0.jar"/>
<classpathentry kind="lib" path="E:/work/plugins12_1/com.teamcenter.rac.se.core_12000.1.0.jar"/>
<classpathentry kind="lib" path="E:/work/plugins12_1/com.teamcenter.rac.search_12000.1.0.jar"/>
<classpathentry kind="lib" path="E:/work/plugins12_1/com.teamcenter.rac.setupwizard_12000.1.0.jar"/>
<classpathentry kind="lib" path="E:/work/plugins12_1/com.teamcenter.rac.siemens.theme_12000.1.0.jar"/>
<classpathentry kind="lib" path="E:/work/plugins12_1/com.teamcenter.rac.smartnavigator_12000.1.0.jar"/>
<classpathentry kind="lib" path="E:/work/plugins12_1/com.teamcenter.rac.smb_12000.1.0.jar"/>
<classpathentry kind="lib" path="E:/work/plugins12_1/com.teamcenter.rac.softwareanalytics_12000.1.0.jar"/>
<classpathentry kind="lib" path="E:/work/plugins12_1/com.teamcenter.rac.structure.search_12000.1.0.jar"/>
<classpathentry kind="lib" path="E:/work/plugins12_1/com.teamcenter.rac.subscriptionmanager_12000.1.0.jar"/>
<classpathentry kind="lib" path="E:/work/plugins12_1/com.teamcenter.rac.subscriptionmonitor_12000.1.0.jar"/>
<classpathentry kind="lib" path="E:/work/plugins12_1/com.teamcenter.rac.tcapps_12000.1.0.jar"/>
<classpathentry kind="lib" path="E:/work/plugins12_1/com.teamcenter.rac.tcgrb_12000.1.0.jar"/>
<classpathentry kind="lib" path="E:/work/plugins12_1/com.teamcenter.rac.tcgsactions_12000.1.0.jar"/>
<classpathentry kind="lib" path="E:/work/plugins12_1/com.teamcenter.rac.tcsim.accountabilitycheck_12000.1.0.jar"/>
<classpathentry kind="lib" path="E:/work/plugins12_1/com.teamcenter.rac.tcsim.analysis_12000.1.0.jar"/>
<classpathentry kind="lib" path="E:/work/plugins12_1/com.teamcenter.rac.tcsim.common_12000.1.0.jar"/>
<classpathentry kind="lib" path="E:/work/plugins12_1/com.teamcenter.rac.tcsim.composite_12000.1.0.jar"/>
<classpathentry kind="lib" path="E:/work/plugins12_1/com.teamcenter.rac.tcsim.dashboard_12000.1.0.jar"/>
<classpathentry kind="lib" path="E:/work/plugins12_1/com.teamcenter.rac.tcsim.derivativerules_12000.1.0.jar"/>
<classpathentry kind="lib" path="E:/work/plugins12_1/com.teamcenter.rac.tcsim.desktopsupport_12000.1.0.jar"/>
<classpathentry kind="lib" path="E:/work/plugins12_1/com.teamcenter.rac.tcsim.inspector_12000.1.0.jar"/>
<classpathentry kind="lib" path="E:/work/plugins12_1/com.teamcenter.rac.tcsim.model_12000.1.0.jar"/>
<classpathentry kind="lib" path="E:/work/plugins12_1/com.teamcenter.rac.tcsim.packages_12000.1.0.jar"/>
<classpathentry kind="lib" path="E:/work/plugins12_1/com.teamcenter.rac.tcsim.product_12000.1.0.jar"/>
<classpathentry kind="lib" path="E:/work/plugins12_1/com.teamcenter.rac.tcsim.toolmanagement_12000.1.0.jar"/>
<classpathentry kind="lib" path="E:/work/plugins12_1/com.teamcenter.rac.tcsim_12000.1.0.jar"/>
<classpathentry kind="lib" path="E:/work/plugins12_1/com.teamcenter.rac.tctdv_12000.1.0.jar"/>
<classpathentry kind="lib" path="E:/work/plugins12_1/com.teamcenter.rac.tdv_12000.1.0.jar"/>
<classpathentry kind="lib" path="E:/work/plugins12_1/com.teamcenter.rac.toolbar.customization_12000.1.0.jar"/>
<classpathentry kind="lib" path="E:/work/plugins12_1/com.teamcenter.rac.tracelinks.ui_12000.1.0.jar"/>
<classpathentry kind="lib" path="E:/work/plugins12_1/com.teamcenter.rac.ui.advanced_12000.1.0.jar"/>
<classpathentry kind="lib" path="E:/work/plugins12_1/com.teamcenter.rac.ui.commands_12000.1.0.jar"/>
<classpathentry kind="lib" path="E:/work/plugins12_1/com.teamcenter.rac.ui.gridframework.extension.nebula_12000.1.0.jar"/>
<classpathentry kind="lib" path="E:/work/plugins12_1/com.teamcenter.rac.ui.gridframework_12000.1.0.jar"/>
<classpathentry kind="lib" path="E:/work/plugins12_1/com.teamcenter.rac.ui.views_12000.1.0.jar"/>
<classpathentry kind="lib" path="E:/work/plugins12_1/com.teamcenter.rac.ui_12000.1.0.jar"/>
<classpathentry kind="lib" path="E:/work/plugins12_1/com.teamcenter.rac.util_12000.1.0.jar"/>
<classpathentry kind="lib" path="E:/work/plugins12_1/com.teamcenter.rac.validation_12000.1.0.jar"/>
<classpathentry kind="lib" path="E:/work/plugins12_1/com.teamcenter.rac.viewer.win32_12000.1.0.jar"/>
<classpathentry kind="lib" path="E:/work/plugins12_1/com.teamcenter.rac.viewer_12000.1.0.jar"/>
<classpathentry kind="lib" path="E:/work/plugins12_1/com.teamcenter.rac.vis.api_12000.1.0.jar"/>
<classpathentry kind="lib" path="E:/work/plugins12_1/com.teamcenter.rac.vis.mv_12000.1.0.jar"/>
<classpathentry kind="lib" path="E:/work/plugins12_1/com.teamcenter.rac.vis_12000.1.0.jar"/>
<classpathentry kind="lib" path="E:/work/plugins12_1/com.teamcenter.rac.vm_12000.1.0.jar"/>
<classpathentry kind="lib" path="E:/work/plugins12_1/com.teamcenter.rac.vns_12000.1.0.jar"/>
<classpathentry kind="lib" path="E:/work/plugins12_1/com.teamcenter.rac.widgets_12000.1.0.jar"/>
<classpathentry kind="lib" path="E:/work/plugins12_1/com.teamcenter.rac.workflow.processdesigner_12000.1.0.jar"/>
<classpathentry kind="lib" path="E:/work/plugins12_1/com.teamcenter.rac.workflow.processviewer_12000.1.0.jar"/>
<classpathentry kind="lib" path="E:/work/plugins12_1/com.teamcenter.rac.workflow_12000.1.0.jar"/>
<classpathentry kind="lib" path="E:/work/plugins12_1/Ex2SoaExpressAddonsRac_12000.1.0.jar"/>
<classpathentry kind="lib" path="E:/work/plugins12_1/Fnd0SoaAuditManagerRac_12000.1.0.jar"/>
<classpathentry kind="lib" path="E:/work/plugins12_1/Fnd0SoaAuditManagerTypes_12000.0.0.jar"/>
<classpathentry kind="lib" path="E:/work/plugins12_1/Fnd0SoaConfigFilterCriteriaLoose_12000.1.0.jar"/>
<classpathentry kind="lib" path="E:/work/plugins12_1/Fnd0SoaConfigFilterCriteriaRac_12000.1.0.jar"/>
<classpathentry kind="lib" path="E:/work/plugins12_1/Fnd0SoaConfigFilterCriteriaTypes_12000.0.0.jar"/>
<classpathentry kind="lib" path="E:/work/plugins12_1/Fnd0SoaDebugMonitorLoose_12000.1.0.jar"/>
<classpathentry kind="lib" path="E:/work/plugins12_1/Fnd0SoaDebugMonitorRac_12000.1.0.jar"/>
<classpathentry kind="lib" path="E:/work/plugins12_1/Fnd0SoaDebugMonitorTypes_12000.0.0.jar"/>
<classpathentry kind="lib" path="E:/work/plugins12_1/Fnd0SoaDiagrammingRac_12000.1.0.jar"/>
<classpathentry kind="lib" path="E:/work/plugins12_1/Fnd0SoaDiagrammingTypes_12000.0.0.jar"/>
<classpathentry kind="lib" path="E:/work/plugins12_1/Fnd0SoaEditContextLoose_12000.1.0.jar"/>
<classpathentry kind="lib" path="E:/work/plugins12_1/Fnd0SoaNotificationRac_12000.1.0.jar"/>
<classpathentry kind="lib" path="E:/work/plugins12_1/Fnd0SoaNotificationTypes_12000.0.0.jar"/>
<classpathentry kind="lib" path="E:/work/plugins12_1/Fnd0SoaQualificationRac_12000.1.0.jar"/>
<classpathentry kind="lib" path="E:/work/plugins12_1/Fnd0SoaWProxyRac_12000.1.0.jar"/>
<classpathentry kind="lib" path="E:/work/plugins12_1/Fnd0SoaWProxyTypes_12000.0.0.jar"/>
<classpathentry kind="lib" path="E:/work/plugins12_1/icctstubs.jar"/>
<classpathentry kind="lib" path="E:/work/plugins12_1/javax.annotation_1.2.0.v201602091430.jar"/>
<classpathentry kind="lib" path="E:/work/plugins12_1/javax.el_2.2.0.v201303151357.jar"/>
<classpathentry kind="lib" path="E:/work/plugins12_1/javax.inject_1.0.0.v20091030.jar"/>
<classpathentry kind="lib" path="E:/work/plugins12_1/javax.servlet.jsp_2.2.0.v201112011158.jar"/>
<classpathentry kind="lib" path="E:/work/plugins12_1/javax.servlet_3.1.0.v201410161800.jar"/>
<classpathentry kind="lib" path="E:/work/plugins12_1/javax.wsdl_1.6.2.v201012040545.jar"/>
<classpathentry kind="lib" path="E:/work/plugins12_1/javax.xml_1.3.4.v201005080400.jar"/>
<classpathentry kind="lib" path="E:/work/plugins12_1/Lis0SoaLdfRac_12000.1.0.jar"/>
<classpathentry kind="lib" path="E:/work/plugins12_1/org.apache.batik.css_1.7.0.v201011041433.jar"/>
<classpathentry kind="lib" path="E:/work/plugins12_1/org.apache.batik.util.gui_1.7.0.v200903091627.jar"/>
<classpathentry kind="lib" path="E:/work/plugins12_1/org.apache.batik.util_1.7.0.v201011041433.jar"/>
<classpathentry kind="lib" path="E:/work/plugins12_1/org.apache.commons.codec_1.6.0.v201305230611.jar"/>
<classpathentry kind="lib" path="E:/work/plugins12_1/org.apache.commons.io_1.4.jar"/>
<classpathentry kind="lib" path="E:/work/plugins12_1/org.apache.commons.jxpath_1.3.0.v200911051830.jar"/>
<classpathentry kind="lib" path="E:/work/plugins12_1/org.apache.commons.lang_2.3.0.v200803061910.jar"/>
<classpathentry kind="lib" path="E:/work/plugins12_1/org.apache.commons.logging_1.1.1.v201101211721.jar"/>
<classpathentry kind="lib" path="E:/work/plugins12_1/org.apache.jasper.glassfish_2.2.2.v201501141630.jar"/>
<classpathentry kind="lib" path="E:/work/plugins12_1/org.apache.log4j_1.2.15.v201012070815.jar"/>
<classpathentry kind="lib" path="E:/work/plugins12_1/org.apache.lucene.analysis_3.5.0.v20120725-1805.jar"/>
<classpathentry kind="lib" path="E:/work/plugins12_1/org.apache.lucene.core_3.5.0.v20120725-1805.jar"/>
<classpathentry kind="lib" path="E:/work/plugins12_1/org.apache.xalan_2.7.1.v201005080400.jar"/>
<classpathentry kind="lib" path="E:/work/plugins12_1/org.apache.xerces_2.9.0.v201101211617.jar"/>
<classpathentry kind="lib" path="E:/work/plugins12_1/org.apache.xml.resolver_1.2.0.v201005080400.jar"/>
<classpathentry kind="lib" path="E:/work/plugins12_1/org.apache.xml.serializer_2.7.1.v201005080400.jar"/>
<classpathentry kind="lib" path="E:/work/plugins12_1/org.aspectj.runtime_12000.1.0.jar"/>
<classpathentry kind="lib" path="E:/work/plugins12_1/org.eclipse.ant.core_3.4.100.v20160505-0642.jar"/>
<classpathentry kind="lib" path="E:/work/plugins12_1/org.eclipse.compare.core_3.6.0.v20160418-1534.jar"/>
<classpathentry kind="lib" path="E:/work/plugins12_1/org.eclipse.compare.win32_1.1.0.v20160418-1534.jar"/>
<classpathentry kind="lib" path="E:/work/plugins12_1/org.eclipse.compare_3.6.0.v20160418-1534.jar"/>
<classpathentry kind="lib" path="E:/work/plugins12_1/org.eclipse.core.commands.nl_12000.1.0.jar"/>
<classpathentry kind="lib" path="E:/work/plugins12_1/org.eclipse.core.commands_3.8.0.v20160316-1921.jar"/>
<classpathentry kind="lib" path="E:/work/plugins12_1/org.eclipse.core.contenttype.nl_12000.1.0.jar"/>
<classpathentry kind="lib" path="E:/work/plugins12_1/org.eclipse.core.contenttype_3.5.100.v20160418-1621.jar"/>
<classpathentry kind="lib" path="E:/work/plugins12_1/org.eclipse.core.databinding.beans.nl_12000.1.0.jar"/>
<classpathentry kind="lib" path="E:/work/plugins12_1/org.eclipse.core.databinding.beans_1.3.100.v20160509-1025.jar"/>
<classpathentry kind="lib" path="E:/work/plugins12_1/org.eclipse.core.databinding.nl_12000.1.0.jar"/>
<classpathentry kind="lib" path="E:/work/plugins12_1/org.eclipse.core.databinding.observable.nl_12000.1.0.jar"/>
<classpathentry kind="lib" path="E:/work/plugins12_1/org.eclipse.core.databinding.observable_1.6.0.v20160511-1747.jar"/>
<classpathentry kind="lib" path="E:/work/plugins12_1/org.eclipse.core.databinding.property.nl_12000.1.0.jar"/>
<classpathentry kind="lib" path="E:/work/plugins12_1/org.eclipse.core.databinding.property_1.6.0.v20160427-0852.jar"/>
<classpathentry kind="lib" path="E:/work/plugins12_1/org.eclipse.core.databinding_1.6.0.v20160412-0910.jar"/>
<classpathentry kind="lib" path="E:/work/plugins12_1/org.eclipse.core.expressions.nl_12000.1.0.jar"/>
<classpathentry kind="lib" path="E:/work/plugins12_1/org.eclipse.core.expressions_3.5.100.v20160418-1621.jar"/>
<classpathentry kind="lib" path="E:/work/plugins12_1/org.eclipse.core.externaltools_1.0.400.v20160509-1057.jar"/>
<classpathentry kind="lib" path="E:/work/plugins12_1/org.eclipse.core.filebuffers_3.6.0.v20160503-1849.jar"/>
<classpathentry kind="lib" path="E:/work/plugins12_1/org.eclipse.core.filesystem.nl_12000.1.0.jar"/>
<classpathentry kind="lib" path="E:/work/plugins12_1/org.eclipse.core.filesystem.win32.x86_64.nl_12000.1.0.jar"/>
<classpathentry kind="lib" path="E:/work/plugins12_1/org.eclipse.core.filesystem.win32.x86_64_1.4.0.v20140124-1940.jar"/>
<classpathentry kind="lib" path="E:/work/plugins12_1/org.eclipse.core.filesystem_1.6.0.v20160503-1608.jar"/>
<classpathentry kind="lib" path="E:/work/plugins12_1/org.eclipse.core.jobs.nl_12000.1.0.jar"/>
<classpathentry kind="lib" path="E:/work/plugins12_1/org.eclipse.core.jobs_3.8.0.v20160509-0411.jar"/>
<classpathentry kind="lib" path="E:/work/plugins12_1/org.eclipse.core.net.nl_12000.1.0.jar"/>
<classpathentry kind="lib" path="E:/work/plugins12_1/org.eclipse.core.net.win32.x86_64.nl_12000.1.0.jar"/>
<classpathentry kind="lib" path="E:/work/plugins12_1/org.eclipse.core.net.win32.x86_64_1.1.0.v20160323-1650.jar"/>
<classpathentry kind="lib" path="E:/work/plugins12_1/org.eclipse.core.net_1.3.0.v20160418-1534.jar"/>
<classpathentry kind="lib" path="E:/work/plugins12_1/org.eclipse.core.resources.win32.x86_64_3.5.0.v20140124-1940.jar"/>
<classpathentry kind="lib" path="E:/work/plugins12_1/org.eclipse.core.resources_3.11.0.v20160503-1608.jar"/>
<classpathentry kind="lib" path="E:/work/plugins12_1/org.eclipse.core.runtime.nl_12000.1.0.jar"/>
<classpathentry kind="lib" path="E:/work/plugins12_1/org.eclipse.core.runtime_3.12.0.v20160606-1342.jar"/>
<classpathentry kind="lib" path="E:/work/plugins12_1/org.eclipse.core.variables.nl_12000.1.0.jar"/>
<classpathentry kind="lib" path="E:/work/plugins12_1/org.eclipse.core.variables_3.3.0.v20160419-1720.jar"/>
<classpathentry kind="lib" path="E:/work/plugins12_1/org.eclipse.debug.core_3.10.100.v20160419-1720.jar"/>
<classpathentry kind="lib" path="E:/work/plugins12_1/org.eclipse.draw2d.nl_12000.1.0.jar"/>
<classpathentry kind="lib" path="E:/work/plugins12_1/org.eclipse.draw2d_3.10.100.201606061308.jar"/>
<classpathentry kind="lib" path="E:/work/plugins12_1/org.eclipse.e4.core.commands.nl_12000.1.0.jar"/>
<classpathentry kind="lib" path="E:/work/plugins12_1/org.eclipse.e4.core.commands_0.11.100.v20160506-0804.jar"/>
<classpathentry kind="lib" path="E:/work/plugins12_1/org.eclipse.e4.core.contexts.nl_12000.1.0.jar"/>
<classpathentry kind="lib" path="E:/work/plugins12_1/org.eclipse.e4.core.contexts_1.5.0.v20160504-0909.jar"/>
<classpathentry kind="lib" path="E:/work/plugins12_1/org.eclipse.e4.core.di.annotations.nl_12000.1.0.jar"/>
<classpathentry kind="lib" path="E:/work/plugins12_1/org.eclipse.e4.core.di.annotations_1.5.0.v20151127-1241.jar"/>
<classpathentry kind="lib" path="E:/work/plugins12_1/org.eclipse.e4.core.di.extensions.nl_12000.1.0.jar"/>
<classpathentry kind="lib" path="E:/work/plugins12_1/org.eclipse.e4.core.di.extensions_0.14.0.v20160211-1614.jar"/>
<classpathentry kind="lib" path="E:/work/plugins12_1/org.eclipse.e4.core.di.nl_12000.1.0.jar"/>
<classpathentry kind="lib" path="E:/work/plugins12_1/org.eclipse.e4.core.di_1.6.0.v20160319-0612.jar"/>
<classpathentry kind="lib" path="E:/work/plugins12_1/org.eclipse.e4.core.services.nl_12000.1.0.jar"/>
<classpathentry kind="lib" path="E:/work/plugins12_1/org.eclipse.e4.core.services_2.0.100.v20160509-1032.jar"/>
<classpathentry kind="lib" path="E:/work/plugins12_1/org.eclipse.e4.emf.xpath.nl_12000.1.0.jar"/>
<classpathentry kind="lib" path="E:/work/plugins12_1/org.eclipse.e4.emf.xpath_0.1.200.v20160506-0804.jar"/>
<classpathentry kind="lib" path="E:/work/plugins12_1/org.eclipse.e4.ui.bindings.nl_12000.1.0.jar"/>
<classpathentry kind="lib" path="E:/work/plugins12_1/org.eclipse.e4.ui.bindings_0.11.100.v20160509-1025.jar"/>
<classpathentry kind="lib" path="E:/work/plugins12_1/org.eclipse.e4.ui.css.core.nl_12000.1.0.jar"/>
<classpathentry kind="lib" path="E:/work/plugins12_1/org.eclipse.e4.ui.css.core_0.12.0.v20160505-1310.jar"/>
<classpathentry kind="lib" path="E:/work/plugins12_1/org.eclipse.e4.ui.css.swt.nl_12000.1.0.jar"/>
<classpathentry kind="lib" path="E:/work/plugins12_1/org.eclipse.e4.ui.css.swt.theme.nl_12000.1.0.jar"/>
<classpathentry kind="lib" path="E:/work/plugins12_1/org.eclipse.e4.ui.css.swt.theme_0.10.100.v20160523-0836.jar"/>
<classpathentry kind="lib" path="E:/work/plugins12_1/org.eclipse.e4.ui.css.swt_0.12.100.v20160517-1505.jar"/>
<classpathentry kind="lib" path="E:/work/plugins12_1/org.eclipse.e4.ui.di.nl_12000.1.0.jar"/>
<classpathentry kind="lib" path="E:/work/plugins12_1/org.eclipse.e4.ui.di_1.1.100.v20160506-0759.jar"/>
<classpathentry kind="lib" path="E:/work/plugins12_1/org.eclipse.e4.ui.dialogs.nl_12000.1.0.jar"/>
<classpathentry kind="lib" path="E:/work/plugins12_1/org.eclipse.e4.ui.dialogs_1.1.0.v20151127-1218.jar"/>
<classpathentry kind="lib" path="E:/work/plugins12_1/org.eclipse.e4.ui.model.workbench.nl_12000.1.0.jar"/>
<classpathentry kind="lib" path="E:/work/plugins12_1/org.eclipse.e4.ui.model.workbench_1.2.0.v20160229-1459.jar"/>
<classpathentry kind="lib" path="E:/work/plugins12_1/org.eclipse.e4.ui.services.nl_12000.1.0.jar"/>
<classpathentry kind="lib" path="E:/work/plugins12_1/org.eclipse.e4.ui.services_1.2.100.v20160506-0759.jar"/>
<classpathentry kind="lib" path="E:/work/plugins12_1/org.eclipse.e4.ui.widgets.nl_12000.1.0.jar"/>
<classpathentry kind="lib" path="E:/work/plugins12_1/org.eclipse.e4.ui.widgets_1.1.100.v20160506-0759.jar"/>
<classpathentry kind="lib" path="E:/work/plugins12_1/org.eclipse.e4.ui.workbench.addons.swt.nl_12000.1.0.jar"/>
<classpathentry kind="lib" path="E:/work/plugins12_1/org.eclipse.e4.ui.workbench.addons.swt_1.2.100.v20160506-0759.jar"/>
<classpathentry kind="lib" path="E:/work/plugins12_1/org.eclipse.e4.ui.workbench.nl_12000.1.0.jar"/>
<classpathentry kind="lib" path="E:/work/plugins12_1/org.eclipse.e4.ui.workbench.renderers.swt.nl_12000.1.0.jar"/>
<classpathentry kind="lib" path="E:/work/plugins12_1/org.eclipse.e4.ui.workbench.renderers.swt_0.14.0.v20160525-0940.jar"/>
<classpathentry kind="lib" path="E:/work/plugins12_1/org.eclipse.e4.ui.workbench.swt.nl_12000.1.0.jar"/>
<classpathentry kind="lib" path="E:/work/plugins12_1/org.eclipse.e4.ui.workbench.swt_0.14.0.v20160523-1900.jar"/>
<classpathentry kind="lib" path="E:/work/plugins12_1/org.eclipse.e4.ui.workbench_1.4.0.v20160517-1624.jar"/>
<classpathentry kind="lib" path="E:/work/plugins12_1/org.eclipse.e4.ui.workbench3.nl_12000.1.0.jar"/>
<classpathentry kind="lib" path="E:/work/plugins12_1/org.eclipse.e4.ui.workbench3_0.13.100.v20160506-0759.jar"/>
<classpathentry kind="lib" path="E:/work/plugins12_1/org.eclipse.emf.common.nl_12000.1.0.jar"/>
<classpathentry kind="lib" path="E:/work/plugins12_1/org.eclipse.emf.common_2.12.0.v20160420-0247.jar"/>
<classpathentry kind="lib" path="E:/work/plugins12_1/org.eclipse.emf.ecore.change.nl_12000.1.0.jar"/>
<classpathentry kind="lib" path="E:/work/plugins12_1/org.eclipse.emf.ecore.change_2.11.0.v20160420-0247.jar"/>
<classpathentry kind="lib" path="E:/work/plugins12_1/org.eclipse.emf.ecore.nl_12000.1.0.jar"/>
<classpathentry kind="lib" path="E:/work/plugins12_1/org.eclipse.emf.ecore.xmi.nl_12000.1.0.jar"/>
<classpathentry kind="lib" path="E:/work/plugins12_1/org.eclipse.emf.ecore.xmi_2.12.0.v20160420-0247.jar"/>
<classpathentry kind="lib" path="E:/work/plugins12_1/org.eclipse.emf.ecore_2.12.0.v20160420-0247.jar"/>
<classpathentry kind="lib" path="E:/work/plugins12_1/org.eclipse.equinox.app.nl_12000.1.0.jar"/>
<classpathentry kind="lib" path="E:/work/plugins12_1/org.eclipse.equinox.app_1.3.400.v20150715-1528.jar"/>
<classpathentry kind="lib" path="E:/work/plugins12_1/org.eclipse.equinox.bidi_1.0.0.v20160307-1318.jar"/>
<classpathentry kind="lib" path="E:/work/plugins12_1/org.eclipse.equinox.common.nl_12000.1.0.jar"/>
<classpathentry kind="lib" path="E:/work/plugins12_1/org.eclipse.equinox.common_3.8.0.v20160509-1230.jar"/>
<classpathentry kind="lib" path="E:/work/plugins12_1/org.eclipse.equinox.concurrent_1.1.0.v20130327-1442.jar"/>
<classpathentry kind="lib" path="E:/work/plugins12_1/org.eclipse.equinox.ds.nl_12000.1.0.jar"/>
<classpathentry kind="lib" path="E:/work/plugins12_1/org.eclipse.equinox.ds_1.4.400.v20160226-2036.jar"/>
<classpathentry kind="lib" path="E:/work/plugins12_1/org.eclipse.equinox.event_1.3.200.v20160324-1850.jar"/>
<classpathentry kind="lib" path="E:/work/plugins12_1/org.eclipse.equinox.frameworkadmin.equinox_1.0.700.v20160102-2223.jar"/>
<classpathentry kind="lib" path="E:/work/plugins12_1/org.eclipse.equinox.frameworkadmin_2.0.300.v20160504-1450.jar"/>
<classpathentry kind="lib" path="E:/work/plugins12_1/org.eclipse.equinox.http.jetty_3.3.0.v20160324-1850.jar"/>
<classpathentry kind="lib" path="E:/work/plugins12_1/org.eclipse.equinox.http.registry_1.1.400.v20150715-1528.jar"/>
<classpathentry kind="lib" path="E:/work/plugins12_1/org.eclipse.equinox.http.servlet_1.3.0.v20160517-1559.jar"/>
<classpathentry kind="lib" path="E:/work/plugins12_1/org.eclipse.equinox.jsp.jasper.registry_1.0.300.v20130327-1442.jar"/>
<classpathentry kind="lib" path="E:/work/plugins12_1/org.eclipse.equinox.jsp.jasper_1.0.500.v20150119-1358.jar"/>
<classpathentry kind="lib" path="E:/work/plugins12_1/org.eclipse.equinox.launcher.nl_12000.1.0.jar"/>
<classpathentry kind="lib" path="E:/work/plugins12_1/org.eclipse.equinox.launcher_1.3.200.v20160318-1642.jar"/>
<classpathentry kind="lib" path="E:/work/plugins12_1/org.eclipse.equinox.p2.artifact.repository_1.1.500.v20160419-0834.jar"/>
<classpathentry kind="lib" path="E:/work/plugins12_1/org.eclipse.equinox.p2.core_2.4.100.v20160419-0834.jar"/>
<classpathentry kind="lib" path="E:/work/plugins12_1/org.eclipse.equinox.p2.engine_2.4.100.v20160419-0834.jar"/>
<classpathentry kind="lib" path="E:/work/plugins12_1/org.eclipse.equinox.p2.garbagecollector_1.0.300.v20160504-1450.jar"/>
<classpathentry kind="lib" path="E:/work/plugins12_1/org.eclipse.equinox.p2.jarprocessor_1.0.500.v20160504-1450.jar"/>
<classpathentry kind="lib" path="E:/work/plugins12_1/org.eclipse.equinox.p2.metadata.repository_1.2.300.v20160419-0834.jar"/>
<classpathentry kind="lib" path="E:/work/plugins12_1/org.eclipse.equinox.p2.metadata_2.3.100.v20160427-2220.jar"/>
<classpathentry kind="lib" path="E:/work/plugins12_1/org.eclipse.equinox.p2.publisher_1.4.100.v20160504-1450.jar"/>
<classpathentry kind="lib" path="E:/work/plugins12_1/org.eclipse.equinox.p2.repository_2.3.200.v20160421-0324.jar"/>
<classpathentry kind="lib" path="E:/work/plugins12_1/org.eclipse.equinox.p2.touchpoint.natives_1.2.100.v20160419-0834.jar"/>
<classpathentry kind="lib" path="E:/work/plugins12_1/org.eclipse.equinox.preferences.nl_12000.1.0.jar"/>
<classpathentry kind="lib" path="E:/work/plugins12_1/org.eclipse.equinox.preferences_3.6.0.v20160120-1756.jar"/>
<classpathentry kind="lib" path="E:/work/plugins12_1/org.eclipse.equinox.registry.nl_12000.1.0.jar"/>
<classpathentry kind="lib" path="E:/work/plugins12_1/org.eclipse.equinox.registry_3.6.100.v20160223-2218.jar"/>
<classpathentry kind="lib" path="E:/work/plugins12_1/org.eclipse.equinox.security.nl_12000.1.0.jar"/>
<classpathentry kind="lib" path="E:/work/plugins12_1/org.eclipse.equinox.security.ui.nl_12000.1.0.jar"/>
<classpathentry kind="lib" path="E:/work/plugins12_1/org.eclipse.equinox.security.ui_1.1.300.v20150803-1225.jar"/>
<classpathentry kind="lib" path="E:/work/plugins12_1/org.eclipse.equinox.security.win32.x86_64_1.0.100.v20130327-1442.jar"/>
<classpathentry kind="lib" path="E:/work/plugins12_1/org.eclipse.equinox.security_1.2.200.v20150715-1528.jar"/>
<classpathentry kind="lib" path="E:/work/plugins12_1/org.eclipse.equinox.simpleconfigurator.nl_12000.1.0.jar"/>
<classpathentry kind="lib" path="E:/work/plugins12_1/org.eclipse.equinox.simpleconfigurator_1.1.200.v20160504-1450.jar"/>
<classpathentry kind="lib" path="E:/work/plugins12_1/org.eclipse.equinox.util.nl_12000.1.0.jar"/>
<classpathentry kind="lib" path="E:/work/plugins12_1/org.eclipse.equinox.util_1.0.500.v20130404-1337.jar"/>
<classpathentry kind="lib" path="E:/work/plugins12_1/org.eclipse.gef.nl_12000.1.0.jar"/>
<classpathentry kind="lib" path="E:/work/plugins12_1/org.eclipse.gef_3.11.0.201606061308.jar"/>
<classpathentry kind="lib" path="E:/work/plugins12_1/org.eclipse.help.base_4.1.0.v20160606-1100.jar"/>
<classpathentry kind="lib" path="E:/work/plugins12_1/org.eclipse.help.nl_12000.1.0.jar"/>
<classpathentry kind="lib" path="E:/work/plugins12_1/org.eclipse.help.ui_4.0.200.v20160510-0758.jar"/>
<classpathentry kind="lib" path="E:/work/plugins12_1/org.eclipse.help_3.7.0.v20160602-1307.jar"/>
<classpathentry kind="lib" path="E:/work/plugins12_1/org.eclipse.jetty.continuation_9.3.9.v20160517.jar"/>
<classpathentry kind="lib" path="E:/work/plugins12_1/org.eclipse.jetty.http_9.3.9.v20160517.jar"/>
<classpathentry kind="lib" path="E:/work/plugins12_1/org.eclipse.jetty.io_9.3.9.v20160517.jar"/>
<classpathentry kind="lib" path="E:/work/plugins12_1/org.eclipse.jetty.security_9.3.9.v20160517.jar"/>
<classpathentry kind="lib" path="E:/work/plugins12_1/org.eclipse.jetty.server_9.3.9.v20160517.jar"/>
<classpathentry kind="lib" path="E:/work/plugins12_1/org.eclipse.jetty.servlet_9.3.9.v20160517.jar"/>
<classpathentry kind="lib" path="E:/work/plugins12_1/org.eclipse.jetty.util_9.3.9.v20160517.jar"/>
<classpathentry kind="lib" path="E:/work/plugins12_1/org.eclipse.jface.databinding.nl_12000.1.0.jar"/>
<classpathentry kind="lib" path="E:/work/plugins12_1/org.eclipse.jface.databinding_1.8.0.v20160420-2231.jar"/>
<classpathentry kind="lib" path="E:/work/plugins12_1/org.eclipse.jface.nl_12000.1.0.jar"/>
<classpathentry kind="lib" path="E:/work/plugins12_1/org.eclipse.jface.text.nl_12000.1.0.jar"/>
<classpathentry kind="lib" path="E:/work/plugins12_1/org.eclipse.jface.text_3.11.0.v20160505-1301.jar"/>
<classpathentry kind="lib" path="E:/work/plugins12_1/org.eclipse.jface_3.12.0.v20160518-1929.jar"/>
<classpathentry kind="lib" path="E:/work/plugins12_1/org.eclipse.jsch.core_1.3.0.v20160422-1917.jar"/>
<classpathentry kind="lib" path="E:/work/plugins12_1/org.eclipse.jsch.ui.nl_12000.1.0.jar"/>
<classpathentry kind="lib" path="E:/work/plugins12_1/org.eclipse.jsch.ui_1.3.0.v20160323-1650.jar"/>
<classpathentry kind="lib" path="E:/work/plugins12_1/org.eclipse.ltk.core.refactoring_3.7.0.v20160419-0705.jar"/>
<classpathentry kind="lib" path="E:/work/plugins12_1/org.eclipse.nebula.cwt_1.0.0.201605312033.jar"/>
<classpathentry kind="lib" path="E:/work/plugins12_1/org.eclipse.nebula.widgets.cdatetime_1.0.0.201605312033.jar"/>
<classpathentry kind="lib" path="E:/work/plugins12_1/org.eclipse.nebula.widgets.gallery_1.0.0.201605312033.jar"/>
<classpathentry kind="lib" path="E:/work/plugins12_1/org.eclipse.nebula.widgets.grid_1.0.0.201605312033.jar"/>
<classpathentry kind="lib" path="E:/work/plugins12_1/org.eclipse.nebula.widgets.nattable.core_1.1.0.jar"/>
<classpathentry kind="lib" path="E:/work/plugins12_1/org.eclipse.nebula.widgets.nattable.extension.glazedlists_1.1.0.jar"/>
<classpathentry kind="lib" path="E:/work/plugins12_1/org.eclipse.nebula.widgets.nattable.extension.poi_1.1.0.jar"/>
<classpathentry kind="lib" path="E:/work/plugins12_1/org.eclipse.nebula.widgets.nattable.nl_12000.1.0.jar"/>
<classpathentry kind="lib" path="E:/work/plugins12_1/org.eclipse.nebula.widgets.tablecombo_1.0.0.201605312033.jar"/>
<classpathentry kind="lib" path="E:/work/plugins12_1/org.eclipse.osgi.compatibility.state_1.0.200.v20160504-1419.jar"/>
<classpathentry kind="lib" path="E:/work/plugins12_1/org.eclipse.osgi.nl_12000.1.0.jar"/>
<classpathentry kind="lib" path="E:/work/plugins12_1/org.eclipse.osgi.services.nl_12000.1.0.jar"/>
<classpathentry kind="lib" path="E:/work/plugins12_1/org.eclipse.osgi.services_3.5.100.v20160504-1419.jar"/>
<classpathentry kind="lib" path="E:/work/plugins12_1/org.eclipse.osgi.util_3.3.100.v20150423-1351.jar"/>
<classpathentry kind="lib" path="E:/work/plugins12_1/org.eclipse.osgi_3.11.0.v20160603-1336.jar"/>
<classpathentry kind="lib" path="E:/work/plugins12_1/org.eclipse.rcp_4.6.0.v20160606-1100.jar"/>
<classpathentry kind="lib" path="E:/work/plugins12_1/org.eclipse.swt.nl_12000.1.0.jar"/>
<classpathentry kind="lib" path="E:/work/plugins12_1/org.eclipse.swt.win32.win32.x86_64.nl_12000.1.0.jar"/>
<classpathentry kind="lib" path="E:/work/plugins12_1/org.eclipse.swt.win32.win32.x86_64_3.105.0.v20160603-0902.jar"/>
<classpathentry kind="lib" path="E:/work/plugins12_1/org.eclipse.swt_3.105.0.v20160603-0902.jar"/>
<classpathentry kind="lib" path="E:/work/plugins12_1/org.eclipse.text_3.6.0.v20160503-1849.jar"/>
<classpathentry kind="lib" path="E:/work/plugins12_1/org.eclipse.ui.console_3.6.200.v20160518-1858.jar"/>
<classpathentry kind="lib" path="E:/work/plugins12_1/org.eclipse.ui.editors_3.10.0.v20160505-0931.jar"/>
<classpathentry kind="lib" path="E:/work/plugins12_1/org.eclipse.ui.forms_3.7.0.v20160518-1929.jar"/>
<classpathentry kind="lib" path="E:/work/plugins12_1/org.eclipse.ui.ide_3.12.0.v20160601-1609.jar"/>
<classpathentry kind="lib" path="E:/work/plugins12_1/org.eclipse.ui.intro.quicklinks_1.0.0.v20160515-0255.jar"/>
<classpathentry kind="lib" path="E:/work/plugins12_1/org.eclipse.ui.intro.universal_3.3.0.v20160519-1604.jar"/>
<classpathentry kind="lib" path="E:/work/plugins12_1/org.eclipse.ui.intro_3.5.0.v20160509-1548.jar"/>
<classpathentry kind="lib" path="E:/work/plugins12_1/org.eclipse.ui.monitoring_1.1.0.v20160131-1628.jar"/>
<classpathentry kind="lib" path="E:/work/plugins12_1/org.eclipse.ui.navigator.nl_12000.1.0.jar"/>
<classpathentry kind="lib" path="E:/work/plugins12_1/org.eclipse.ui.navigator_3.6.100.v20160518-1929.jar"/>
<classpathentry kind="lib" path="E:/work/plugins12_1/org.eclipse.ui.net.nl_12000.1.0.jar"/>
<classpathentry kind="lib" path="E:/work/plugins12_1/org.eclipse.ui.net_1.3.0.v20160426-1633.jar"/>
<classpathentry kind="lib" path="E:/work/plugins12_1/org.eclipse.ui.nl_12000.1.0.jar"/>
<classpathentry kind="lib" path="E:/work/plugins12_1/org.eclipse.ui.views.log.nl_12000.1.0.jar"/>
<classpathentry kind="lib" path="E:/work/plugins12_1/org.eclipse.ui.views.log_1.2.0.v20160418-1724.jar"/>
<classpathentry kind="lib" path="E:/work/plugins12_1/org.eclipse.ui.views.nl_12000.1.0.jar"/>
<classpathentry kind="lib" path="E:/work/plugins12_1/org.eclipse.ui.views.properties.tabbed_3.7.0.v20160310-0903.jar"/>
<classpathentry kind="lib" path="E:/work/plugins12_1/org.eclipse.ui.views_3.8.100.v20160518-1929.jar"/>
<classpathentry kind="lib" path="E:/work/plugins12_1/org.eclipse.ui.win32.nl_12000.1.0.jar"/>
<classpathentry kind="lib" path="E:/work/plugins12_1/org.eclipse.ui.win32_3.3.0.v20160505-1310.jar"/>
<classpathentry kind="lib" path="E:/work/plugins12_1/org.eclipse.ui.workbench.nl_12000.1.0.jar"/>
<classpathentry kind="lib" path="E:/work/plugins12_1/org.eclipse.ui.workbench.texteditor.nl_12000.1.0.jar"/>
<classpathentry kind="lib" path="E:/work/plugins12_1/org.eclipse.ui.workbench.texteditor_3.10.0.v20160530-2011.jar"/>
<classpathentry kind="lib" path="E:/work/plugins12_1/org.eclipse.ui.workbench_3.108.0.v20160602-1232.jar"/>
<classpathentry kind="lib" path="E:/work/plugins12_1/org.eclipse.ui_3.108.0.v20160518-1929.jar"/>
<classpathentry kind="lib" path="E:/work/plugins12_1/org.eclipse.update.configurator.nl_12000.1.0.jar"/>
<classpathentry kind="lib" path="E:/work/plugins12_1/org.eclipse.update.configurator_3.3.400.v20160506-0750.jar"/>
<classpathentry kind="lib" path="E:/work/plugins12_1/org.hamcrest.core_1.3.0.v201303031735.jar"/>
<classpathentry kind="lib" path="E:/work/plugins12_1/org.sat4j.core_2.3.5.v201308161310.jar"/>
<classpathentry kind="lib" path="E:/work/plugins12_1/org.sat4j.pb_2.3.5.v201404071733.jar"/>
<classpathentry kind="lib" path="E:/work/plugins12_1/org.tukaani.xz_1.3.0.v201308270617.jar"/>
<classpathentry kind="lib" path="E:/work/plugins12_1/org.w3c.css.sac_1.3.1.v200903091627.jar"/>
<classpathentry kind="lib" path="E:/work/plugins12_1/org.w3c.dom.events_3.0.0.draft20060413_v201105210656.jar"/>
<classpathentry kind="lib" path="E:/work/plugins12_1/org.w3c.dom.smil_1.0.1.v200903091627.jar"/>
<classpathentry kind="lib" path="E:/work/plugins12_1/org.w3c.dom.svg_1.1.0.v201011041433.jar"/>
<classpathentry kind="lib" path="E:/work/plugins12_1/PDFJS.jar"/>
<classpathentry kind="lib" path="E:/work/plugins12_1/SingleEmbeddedViewer.jar"/>
<classpathentry kind="lib" path="E:/work/plugins12_1/Smc0SoaStructureManagementLoose_12000.1.0.jar"/>
<classpathentry kind="lib" path="E:/work/plugins12_1/Smc0SoaStructureManagementTypes_12000.0.0.jar"/>
<classpathentry kind="lib" path="E:/work/plugins12_1/tcgatewaystubs.jar"/>
<classpathentry kind="lib" path="E:/work/plugins12_1/TcGlobalMultiSiteRac_12000.1.0.jar"/>
<classpathentry kind="lib" path="E:/work/plugins12_1/TcGlobalMultiSiteTypes_12000.0.0.jar"/>
<classpathentry kind="lib" path="E:/work/plugins12_1/tcmemjavabinding.jar"/>
<classpathentry kind="lib" path="E:/work/plugins12_1/tcserverjavabinding.jar"/>
<classpathentry kind="lib" path="E:/work/plugins12_1/TcSoaAdministrationLoose_12000.1.0.jar"/>
<classpathentry kind="lib" path="E:/work/plugins12_1/TcSoaAdministrationRac_12000.1.0.jar"/>
<classpathentry kind="lib" path="E:/work/plugins12_1/TcSoaAdministrationTypes_12000.0.0.jar"/>
<classpathentry kind="lib" path="E:/work/plugins12_1/TcSoaAiRac_12000.1.0.jar"/>
<classpathentry kind="lib" path="E:/work/plugins12_1/TcSoaAiTypes_12000.0.0.jar"/>
<classpathentry kind="lib" path="E:/work/plugins12_1/TcSoaAllocationsRac_12000.1.0.jar"/>
<classpathentry kind="lib" path="E:/work/plugins12_1/TcSoaAllocationsTypes_12000.0.0.jar"/>
<classpathentry kind="lib" path="E:/work/plugins12_1/TcSoaAuthorizedDataAccessRac_12000.1.0.jar"/>
<classpathentry kind="lib" path="E:/work/plugins12_1/TcSoaAuthorizedDataAccessTypes_12000.0.0.jar"/>
<classpathentry kind="lib" path="E:/work/plugins12_1/TcSoaBomLoose_12000.1.0.jar"/>
<classpathentry kind="lib" path="E:/work/plugins12_1/TcSoaBomRac_12000.1.0.jar"/>
<classpathentry kind="lib" path="E:/work/plugins12_1/TcSoaBomTypes_12000.0.0.jar"/>
<classpathentry kind="lib" path="E:/work/plugins12_1/TcSoaBusinessModelerLoose_12000.1.0.jar"/>
<classpathentry kind="lib" path="E:/work/plugins12_1/TcSoaBusinessModelerRac_12000.1.0.jar"/>
<classpathentry kind="lib" path="E:/work/plugins12_1/TcSoaBusinessModelerTypes_12000.0.0.jar"/>
<classpathentry kind="lib" path="E:/work/plugins12_1/TcSoaCadBomAlignmentLoose_12000.1.0.jar"/>
<classpathentry kind="lib" path="E:/work/plugins12_1/TcSoaCadRac_12000.1.0.jar"/>
<classpathentry kind="lib" path="E:/work/plugins12_1/TcSoaCadTypes_12000.0.0.jar"/>
<classpathentry kind="lib" path="E:/work/plugins12_1/TcSoaCaeRac_12000.1.0.jar"/>
<classpathentry kind="lib" path="E:/work/plugins12_1/TcSoaCaeTypes_12000.0.0.jar"/>
<classpathentry kind="lib" path="E:/work/plugins12_1/TcSoaCalendarManagementRac_12000.1.0.jar"/>
<classpathentry kind="lib" path="E:/work/plugins12_1/TcSoaCalendarManagementTypes_12000.0.0.jar"/>
<classpathentry kind="lib" path="E:/work/plugins12_1/TcSoaChangeManagementRac_12000.1.0.jar"/>
<classpathentry kind="lib" path="E:/work/plugins12_1/TcSoaChangeManagementTypes_12000.0.0.jar"/>
<classpathentry kind="lib" path="E:/work/plugins12_1/TcSoaClassificationLoose_12000.1.0.jar"/>
<classpathentry kind="lib" path="E:/work/plugins12_1/TcSoaClassificationRac_12000.1.0.jar"/>
<classpathentry kind="lib" path="E:/work/plugins12_1/TcSoaClassificationTypes_12000.0.0.jar"/>
<classpathentry kind="lib" path="E:/work/plugins12_1/TcSoaClient_12000.1.0.jar"/>
<classpathentry kind="lib" path="E:/work/plugins12_1/TcSoaCommon_12000.1.0.jar"/>
<classpathentry kind="lib" path="E:/work/plugins12_1/TcSoaConfigurationRac_12000.1.0.jar"/>
<classpathentry kind="lib" path="E:/work/plugins12_1/TcSoaConfigurationTypes_12000.0.0.jar"/>
<classpathentry kind="lib" path="E:/work/plugins12_1/TcSoaCoreLoose_12000.1.0.jar"/>
<classpathentry kind="lib" path="E:/work/plugins12_1/TcSoaCoreRac_12000.1.0.jar"/>
<classpathentry kind="lib" path="E:/work/plugins12_1/TcSoaCoreTypes_12000.1.0.jar"/>
<classpathentry kind="lib" path="E:/work/plugins12_1/TcSoaDocumentManagementRac_12000.1.0.jar"/>
<classpathentry kind="lib" path="E:/work/plugins12_1/TcSoaDocumentManagementTypes_12000.0.0.jar"/>
<classpathentry kind="lib" path="E:/work/plugins12_1/TcSoaGdisRac_12000.1.0.jar"/>
<classpathentry kind="lib" path="E:/work/plugins12_1/TcSoaGdisTypes_12000.0.0.jar"/>
<classpathentry kind="lib" path="E:/work/plugins12_1/TcSoaGlobalMultiSiteLoose_12000.1.0.jar"/>
<classpathentry kind="lib" path="E:/work/plugins12_1/TcSoaGlobalMultiSiteRac_12000.1.0.jar"/>
<classpathentry kind="lib" path="E:/work/plugins12_1/TcSoaGlobalMultiSiteTypes_12000.0.0.jar"/>
<classpathentry kind="lib" path="E:/work/plugins12_1/TcSoaImportExportRac_12000.1.0.jar"/>
<classpathentry kind="lib" path="E:/work/plugins12_1/TcSoaImportExportTypes_12000.0.0.jar"/>
<classpathentry kind="lib" path="E:/work/plugins12_1/TcSoaIssueManagementRac_12000.1.0.jar"/>
<classpathentry kind="lib" path="E:/work/plugins12_1/TcSoaIssueManagementTypes_12000.0.0.jar"/>
<classpathentry kind="lib" path="E:/work/plugins12_1/TcSoaManufacturingRac_12000.1.0.jar"/>
<classpathentry kind="lib" path="E:/work/plugins12_1/TcSoaManufacturingTypes_12000.0.0.jar"/>
<classpathentry kind="lib" path="E:/work/plugins12_1/TcSoaMESRac_12000.1.0.jar"/>
<classpathentry kind="lib" path="E:/work/plugins12_1/TcSoaMESTypes_12000.0.0.jar"/>
<classpathentry kind="lib" path="E:/work/plugins12_1/TcSoaMultisiteRac_12000.1.0.jar"/>
<classpathentry kind="lib" path="E:/work/plugins12_1/TcSoaMultisiteTypes_12000.0.0.jar"/>
<classpathentry kind="lib" path="E:/work/plugins12_1/TcSoaProductionManagementRac_12000.1.0.jar"/>
<classpathentry kind="lib" path="E:/work/plugins12_1/TcSoaProductionManagementTypes_12000.0.0.jar"/>
<classpathentry kind="lib" path="E:/work/plugins12_1/TcSoaProjectManagementLoose_12000.1.0.jar"/>
<classpathentry kind="lib" path="E:/work/plugins12_1/TcSoaProjectManagementRac_12000.1.0.jar"/>
<classpathentry kind="lib" path="E:/work/plugins12_1/TcSoaProjectManagementTypes_12000.1.0.jar"/>
<classpathentry kind="lib" path="E:/work/plugins12_1/TcSoaQueryLoose_12000.1.0.jar"/>
<classpathentry kind="lib" path="E:/work/plugins12_1/TcSoaQueryRac_12000.1.0.jar"/>
<classpathentry kind="lib" path="E:/work/plugins12_1/TcSoaQueryTypes_12000.0.0.jar"/>
<classpathentry kind="lib" path="E:/work/plugins12_1/TcSoaRdvRac_12000.1.0.jar"/>
<classpathentry kind="lib" path="E:/work/plugins12_1/TcSoaRdvTypes_12000.0.0.jar"/>
<classpathentry kind="lib" path="E:/work/plugins12_1/TcSoaReportsRac_12000.1.0.jar"/>
<classpathentry kind="lib" path="E:/work/plugins12_1/TcSoaReportsTypes_12000.0.0.jar"/>
<classpathentry kind="lib" path="E:/work/plugins12_1/TcSoaRequirementsManagementRac_12000.1.0.jar"/>
<classpathentry kind="lib" path="E:/work/plugins12_1/TcSoaRequirementsManagementTypes_12000.0.0.jar"/>
<classpathentry kind="lib" path="E:/work/plugins12_1/TcSoaStructureManagementLoose_12000.1.0.jar"/>
<classpathentry kind="lib" path="E:/work/plugins12_1/TcSoaStructureManagementRac_12000.1.0.jar"/>
<classpathentry kind="lib" path="E:/work/plugins12_1/TcSoaStructureManagementTypes_12000.0.0.jar"/>
<classpathentry kind="lib" path="E:/work/plugins12_1/TcSoaTranslationRac_12000.1.0.jar"/>
<classpathentry kind="lib" path="E:/work/plugins12_1/TcSoaTranslationTypes_12000.0.0.jar"/>
<classpathentry kind="lib" path="E:/work/plugins12_1/TcSoaValidationRac_12000.1.0.jar"/>
<classpathentry kind="lib" path="E:/work/plugins12_1/TcSoaValidationTypes_12000.0.0.jar"/>
<classpathentry kind="lib" path="E:/work/plugins12_1/TcSoaVisualizationRac_12000.1.0.jar"/>
<classpathentry kind="lib" path="E:/work/plugins12_1/TcSoaVisualizationTypes_12000.0.0.jar"/>
<classpathentry kind="lib" path="E:/work/plugins12_1/TcSoaWorkflowLoose_12000.1.0.jar"/>
<classpathentry kind="lib" path="E:/work/plugins12_1/TcSoaWorkflowRac_12000.1.0.jar"/>
<classpathentry kind="lib" path="E:/work/plugins12_1/TcSoaWorkflowTypes_12000.0.0.jar"/>
<classpathentry kind="lib" path="E:/work/plugins12_1/xmldto.jar"/>
<classpathentry kind="lib" path="lib/commons-codec-1.13.jar"/>
<classpathentry kind="lib" path="lib/commons-collections4-4.4.jar"/>
<classpathentry kind="lib" path="lib/commons-compress-1.19.jar"/>
@ -542,7 +19,7 @@
<classpathentry kind="lib" path="lib/commons-math3-3.6.1.jar"/>
<classpathentry kind="lib" path="lib/datepicker.jar"/>
<classpathentry kind="lib" path="lib/fastjson-1.2.9.jar"/>
<classpathentry kind="lib" path="lib/hutool-all-5.0.7.jar"/>
<classpathentry kind="lib" path="lib/hutool-all-5.0.7.jar" sourcepath="C:/Users/5RKB5B~1/AppData/Local/Temp/.org.sf.feeling.decompiler1604022865349/source/hutool-all-5.0.7-sources-1604023924461.jar"/>
<classpathentry kind="lib" path="lib/jaxb-api-2.3.1.jar"/>
<classpathentry kind="lib" path="lib/jaxb-core-2.3.0.1.jar"/>
<classpathentry kind="lib" path="lib/jaxb-impl-2.3.2.jar"/>

@ -13,30 +13,954 @@ Require-Bundle: org.eclipse.ui;bundle-version="3.108.0",
org.eclipse.ui.views;bundle-version="3.8.100",
org.eclipse.core.runtime;bundle-version="3.12.0",
org.eclipse.ui.forms;bundle-version="3.7.0",
com.teamcenter.rac.schedule;bundle-version="12000.1.0"
com.teamcenter.rac.schedule;bundle-version="12000.1.0",
TcSoaCommon;bundle-version="12000.2.0",
com.teamcenter.rac.workflow.processviewer;bundle-version="12000.2.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,
org.apache.http.client.protocol
org.apache.http.client.protocol,
org.apache.log4j
Bundle-ClassPath: .,
lib/fastjson-1.2.9.jar,
lib/hutool-all-5.0.7.jar,
@ -60,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

@ -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

@ -202,8 +202,12 @@
<command categoryId="JDProject.commands.category" name="测试项维护" id="JD2_CSXWH"></command>
<command categoryId="JDProject.commands.category" name="DBOM转EBOM" id="dbomtoebom"></command>
<command categoryId="JDProject.commands.category" name="回料BOM新增" id="ADD_HLBOM"></command>
<command categoryId="JDProject.commands.category" name="删除物料 图纸版本" id="deleteItemRevision"></command>
<command categoryId="JDProject.commands.category" name="批量升版" id="batchRevise"></command>
<command categoryId="JDProject.commands.category" name="BOM管理" id="BOMManagement "></command>
<command categoryId="JDProject.commands.category" name="BOM管理" id="BOMManagement "></command>
<command categoryId="JDProject.commands.category" name="签审记录查询" id="RecordHistoryHandler "></command>
<command categoryId="JDProject.commands.category" name="更新导入对象单位" id="ChangeImportObjectsUnit"></command>
</extension>
<extension
point="org.eclipse.ui.handlers">
@ -398,6 +402,12 @@
<handler commandId="dbomtoebom" class="com.connor.jd.plm.handlers.TransformDesignToPartHandler"></handler>
<handler commandId="ADDHLBOM" class="com.connor.jd.plm.handlers.AddHLBOMHandler"></handler>
<handler commandId="BOMManagement" class="com.connor.jd.plm.handlers.BOMManagementHandler"></handler>
<handler commandId="deleteItemRevision" class="com.connor.jd.plm.handlers.DeleteItemRevisionHandler"></handler>
<handler commandId="batchRevise" class="com.connor.jd.plm.handlers.BatchReviseHandler"></handler>
<handler commandId="RecordHistoryHandler" class="com.connor.jd.plm.signingAndApprovalRecordHistory.RecordHistoryHandler"></handler>
<handler commandId="ChangeImportObjectsUnit" class=" com.connor.jd.plm.changeImportObjectsUnit.ChangeImportObjectsUnitHandler"></handler>
</extension>
<extension
point="org.eclipse.ui.bindings">
@ -652,6 +662,8 @@
<menuContribution locationURI="menu:org.eclipse.ui.main.menu?after=additions">
<menu id="JDProject.menus.JD2_CSXWHMENU" label="测试项维护" mnemonic="M">
<command commandId="JD2_CSXWH" id="JDProject.menus.JD2_CSXWH" mnemonic="S"></command>
<command commandId="RecordHistoryHandler" id="JDProject.menus.RecordHistoryHandler" mnemonic="S"></command>
<command commandId="ChangeImportObjectsUnit" id="JDProject.menus.ChangeImportObjectsUnit" mnemonic="S"></command>
</menu>
</menuContribution>
<menuContribution locationURI="menu:org.eclipse.ui.main.menu?after=additions">
@ -687,6 +699,20 @@
id="com.connor.jd.ADDHLBOM">
<visibleWhen>true</visibleWhen>
</command>
<command
commandId="deleteItemRevision"
mnemonic="S"
label="删除物料或图纸版本"
id="com.connor.jd.deleteItemRevision">
<visibleWhen>true</visibleWhen>
</command>
<command
commandId="batchRevise"
mnemonic="S"
label="批量升版"
id="com.connor.jd.batchRevise">
<visibleWhen>true</visibleWhen>
</command>
</menuContribution>
</extension>

@ -0,0 +1,94 @@
package com.connor.jd.plm.action;
import java.awt.BorderLayout;
import java.awt.Dimension;
import java.util.ArrayList;
import java.util.List;
import javax.swing.JLabel;
import javax.swing.JOptionPane;
import javax.swing.JPanel;
import com.connor.jd.plm.utils.DialogUtil;
import com.connor.jd.plm.utils.DialogUtil.TableMsg;
import com.teamcenter.rac.aif.AbstractAIFApplication;
import com.teamcenter.rac.aif.common.actions.AbstractAIFAction;
import com.teamcenter.rac.kernel.TCComponent;
import com.teamcenter.rac.kernel.TCComponentFolder;
import com.teamcenter.rac.kernel.TCComponentItemRevision;
import com.teamcenter.rac.kernel.TCSession;
public class BatchReviseAction extends AbstractAIFAction {
private TCSession session;
private TCComponentFolder folder;
public BatchReviseAction(AbstractAIFApplication arg0, String arg1) {
super(arg0, arg1);
this.session = (TCSession) arg0.getSession();
TCComponent target = (TCComponent) arg0.getTargetComponent();
System.out.println("类型===>" + target.getType());
if (target instanceof TCComponentFolder) {
this.folder = (TCComponentFolder) target;
}
}
@Override
public void run() {
if (folder == null) {
return;
}
try {
TCComponent[] comps = folder.getRelatedComponents("contents");
List<String[]> unpublished = new ArrayList<String[]>();
check(comps, unpublished);
if (unpublished.size() > 0) {
TableMsg msg = DialogUtil.createTableMsg(new String[] { "序号", "名称", "原因" }, unpublished);
JPanel content = new JPanel(new BorderLayout());
content.setSize(new Dimension(msg.panel.getWidth(), msg.panel.getHeight() + 50));
JLabel text = new JLabel("操作已取消,下列目标未满足要求:");
content.add(text, BorderLayout.NORTH);
content.add(msg.panel, BorderLayout.CENTER);
JOptionPane.showMessageDialog(null, content, "信息", JOptionPane.PLAIN_MESSAGE);
return;
}
List<TCComponentItemRevision> newRevs = new ArrayList<>();
for (TCComponent comp : comps) {
if (!(comp instanceof TCComponentItemRevision)) {
continue;
}
TCComponentItemRevision rev = (TCComponentItemRevision) comp;
newRevs.add(rev.saveAs(rev.getItem().getNewRev()));
}
if (comps.length > 0) {
folder.cutOperation("contents", comps);
folder.add("contents", newRevs);
folder.refresh();
JOptionPane.showMessageDialog(null, "升版成功", "信息", JOptionPane.WARNING_MESSAGE);
}
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
private void check(TCComponent[] comps, List<String[]> unpublished) throws Exception {
for (TCComponent comp : comps) {
if (!(comp instanceof TCComponentItemRevision)) {
unpublished.add(
new String[] { unpublished.size() + 1 + "", comp.getProperty("object_string"), "目标类型错误,请放版本" });
continue;
}
boolean isAccess = session.getTCAccessControlService()
.checkPrivilege(((TCComponentItemRevision) comp).getItem(), "WRITE");
if (!isAccess) {
unpublished.add(new String[] { unpublished.size() + 1 + "", comp.getProperty("object_string"), "无权限" });
continue;
}
TCComponent[] status = comp.getRelatedComponents("release_status_list");
if (status.length == 0) {
unpublished.add(new String[] { unpublished.size() + 1 + "", comp.getProperty("object_string"), "未发布" });
}
}
}
}

@ -0,0 +1,126 @@
package com.connor.jd.plm.action;
import java.util.Arrays;
import java.util.List;
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.aif.kernel.AIFComponentContext;
import com.teamcenter.rac.aif.kernel.InterfaceAIFComponent;
import com.teamcenter.rac.kernel.TCComponent;
import com.teamcenter.rac.kernel.TCComponentItem;
import com.teamcenter.rac.kernel.TCComponentItemRevision;
import com.teamcenter.rac.kernel.TCProperty;
import com.teamcenter.rac.kernel.TCSession;
import com.teamcenter.rac.util.MessageBox;
public class DeleteItemRevisionAction extends AbstractAIFAction {
private AbstractAIFApplication app;
public DeleteItemRevisionAction(AbstractAIFApplication arg0, String arg1) {
super(arg0, arg1);
this.app = arg0;
// TODO Auto-generated constructor stub
}
@Override
public void run() {
// TODO Auto-generated method stub
TCSession session = (TCSession) app.getSession();
InterfaceAIFComponent[] targets = app.getTargetComponents();
String[] allow = JDMethodUtil.getPrefStrArray("connor_wl_type", session);
String[] allow2 = JDMethodUtil.getPrefStrArray("connor_tz_type", session);
String[] allow3 = JDMethodUtil.getPrefStrArray("jd2_wltz_Revise_allow", session);
System.out.println("connor_wl_type===>" + Arrays.toString(allow));
System.out.println("connor_tz_type===>" + Arrays.toString(allow2));
System.out.println("jd2_wltz_Revise_allow===>" + Arrays.toString(allow3));
List<String> pref = Arrays.asList(allow);
List<String> pref2 = Arrays.asList(allow2);
List<String> pref3 = Arrays.asList(allow3);
for (InterfaceAIFComponent target : targets) {
System.out.println(target.getType());
if (target instanceof TCComponentItemRevision) {
if (!pref.contains(target.getType()) && !pref2.contains(target.getType())
&& !pref3.contains(target.getType())) {
try {
MessageBox.post(target.getProperty("object_string") + "既不是物料也不是图纸,不执行删除", "提示",
MessageBox.WARNING);
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return;
}
TCComponentItemRevision rev = (TCComponentItemRevision) target;
try {
String loginUser = session.getUser().getProperty("object_string");
// String owningUser = rev.getProperty("owning_user");
// System.out.println("loginUser===>" + loginUser);
// System.out.println("owningUser===>" + owningUser);
boolean[] isAccess = session.getTCAccessControlService().checkPrivileges(rev.getItem(),
new String[] { "WRITE", "DELETE" });
if (isAccess[0] && isAccess[1]) {
TCComponentItem item = rev.getItem();
TCComponent[] released = item.getReleasedItemRevisions();
for (TCComponent comp : released) {
if (comp.getUid().equals(rev.getUid())) {
MessageBox.post(target.getProperty("object_string") + "无法删除,物料已经发布", "提示",
MessageBox.WARNING);
return;
}
}
session.getUserService().call("bs_bypass", new Object[] { true });
System.out.println("rev uid===>" + rev.getUid());
AIFComponentContext[] aifs = rev.whereReferenced();
for (AIFComponentContext aif : aifs) {
if (aif.getComponent() instanceof TCComponent) {
TCComponent temp = (TCComponent) aif.getComponent();
if (temp.getUid().equals(rev.getItem().getUid())) {
System.out.println("跳过对象");
continue;
}
System.out.println("引用者===>" + temp.getProperty("onject_string"));
TCProperty[] tcProps = temp.getAllTCProperties();
for (TCProperty tcProp : tcProps) {
if (tcProp.isReferenceType()) {
if (tcProp.isNotArray()) {
if (tcProp.getReferenceValue() != null
&& tcProp.getReferenceValue().getUid().equals(rev.getUid())) {
System.out.println("关系===>" + tcProp.getPropertyName());
temp.cutOperation(tcProp.getPropertyName(), new TCComponent[] { rev });
}
} else {
TCComponent[] comps = tcProp.getReferenceValueArray();
for (TCComponent comp : comps) {
if (comp.getUid().equals(rev.getUid())) {
System.out.println("关系===>" + tcProp.getPropertyName());
temp.cutOperation(tcProp.getPropertyName(),
new TCComponent[] { rev });
}
}
}
}
}
}
}
// if (pref.contains(target.getType())) {
// rev.cutOperation("TC_Is_Represented_By", rev.getRelatedComponents("TC_Is_Represented_By"));
// } else {
// rev.cutOperation("representation_for", rev.getRelatedComponents("representation_for"));
// }
rev.delete();
session.getUserService().call("bs_bypass", new Object[] { false });
MessageBox.post("删除成功", "提示", MessageBox.WARNING);
} else {
MessageBox.post(target.getProperty("object_string") + "无修改和删除权限", "提示", MessageBox.WARNING);
}
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
}
}

@ -9,12 +9,13 @@ 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.aif.kernel.InterfaceAIFComponent;
import com.teamcenter.rac.aifrcp.AIFUtility;
import com.teamcenter.rac.common.Activator;
import com.teamcenter.rac.kernel.TCAccessControlService;
import com.teamcenter.rac.kernel.TCComponent;
import com.teamcenter.rac.kernel.TCComponentBOMLine;
import com.teamcenter.rac.kernel.TCComponentICO;
import com.teamcenter.rac.kernel.TCComponentItem;
import com.teamcenter.rac.kernel.TCComponentItemRevision;
import com.teamcenter.rac.kernel.TCException;
import com.teamcenter.rac.kernel.TCPreferenceService;
@ -35,13 +36,19 @@ public class WLTZReviseAction extends AbstractAIFAction {
@Override
public void run() {
// TODO Auto-generated method stub
String server = JDMethodUtil.getPrefStr("jd2_server_ip", session);
if (server == null || "".equals(server)) {
MessageBox.post("未配置jd2_server_ip首选项", "错误", MessageBox.ERROR);
return;
}
TCComponent target = (TCComponent) AIFUtility.getCurrentApplication().getTargetComponent();
String[] allow = getPrefStrArray("jd2_wltz_Revise_allow");
List<String> list = Arrays.asList(allow);
for (String s : list) {
System.out.println(s);
}
TCAccessControlService aclService = session.getTCAccessControlService();
TCComponentItemRevision rev;
if (target instanceof TCComponentItemRevision) {
rev = (TCComponentItemRevision) target;
@ -60,32 +67,114 @@ public class WLTZReviseAction extends AbstractAIFAction {
}
try {
String type = rev.getType();
System.out.println("uid===>" + rev.getItem().getUid());
System.out.println("user===>" + session.getUser().getUid());
System.out.println(type);
if (!list.contains(type)) {
MessageBox.post("当前对象类型不允许修订并发送分类!", "错误", MessageBox.ERROR);
return;
}
TCComponentItem item = rev.getItem();
TCComponent[] comps = rev.getRelatedComponents("fnd0ActuatedInteractiveTsks");
List<String> allow2 = Arrays.asList(JDMethodUtil.getPrefStrArray("jd_wltz_revise_workflow", session));
System.out.println("allow workflow:" + Arrays.toString(allow2.toArray()));
rev.refresh();
// String url = "http://" + server + ":8880/api/grantPrivilege";
// TCComponentItem item = rev.getItem();
// TCComponent[] comps = rev.getRelatedComponents("fnd0ActuatedInteractiveTsks");
// TCComponent[] bomViews = item.getRelatedComponents("bom_view_tags");
// String uids = "";
// for (TCComponent bomView : bomViews) {
// uids += "," + bomView.getUid();
// }
// AIFComponentContext[] referenced = rev.whereReferenced();
// for (AIFComponentContext aif : referenced) {
// if (aif.getComponent() instanceof TCComponentItem
// || aif.getComponent() instanceof TCComponentItemRevision) {
// uids += aif.getComponent().getUid() + ",";
// }
// }
// uids = uids.substring(0, uids.length() - 1);
// Map<String, Object> privilegeMap = new HashMap<String, Object>();
// privilegeMap.put("uid", uids);
// privilegeMap.put("user", session.getUser().getUid());
// privilegeMap.put("privilege", "WRITE,DELETE");
// privilegeMap.put("pass", true);
// List<String> allow2 = Arrays.asList(JDMethodUtil.getPrefStrArray("jd_wltz_revise_workflow", session));
// System.out.println("allow workflow:" + Arrays.toString(allow2.toArray()));
// TCComponentItemRevision newRev = null;
// boolean getPrivilege = false;
// for (TCComponent comp : comps) {
// if (comp.getProperty("object_name").contains("编制") && allow2.contains(comp.getProperty("parent_name"))
// && comp.getProperty("task_state").equals("已开始")) {
// System.out.println("开始授权");
// privilegeMap.put("pass", true);
// String res = HttpUtil.post(url, privilegeMap);
// System.out.println("res===>" + res);
// if (!res.contains("success")) {
// MessageBox.post("授权异常,失败", "错误", MessageBox.ERROR);
// return;
// }
// item.refresh();
// for (TCComponent bomView : bomViews) {
// bomView.refresh();
// }
// getPrivilege = true;
// System.out.println("已授权读写删除");
// session.getUserService().call("bs_bypass", new Object[] { true });
// newRev = rev.saveAs(item.getNewRev());
// session.getUserService().call("bs_bypass", new Object[] { false });
// break;
// }
// }
// boolean isAccess = session.getTCAccessControlService().checkPrivilege(rev.getItem(), "WRITE");
// if (!isAccess) {
// MessageBox.post("无权限", "提示", MessageBox.WARNING);
// return;
// }
String loginUser = session.getUser().getProperty("object_string");
String owningUser = rev.getProperty("owning_user");
System.out.println("loginUser===>" + loginUser);
System.out.println("owningUser===>" + owningUser);
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 (!loginUser.equals(owningUser)) {
System.out.println("非所有者请走升版审批流程!");
MessageBox.post("非所有者请走升版审批流程!", "提示", MessageBox.WARNING);
return;
} else {
session.getUserService().call("bs_bypass", new Object[] { true });
newRev = rev.saveAs(rev.getItem().getNewRev());
if (target instanceof TCComponentBOMLine) {
TCComponentBOMLine bomLine = (TCComponentBOMLine) target;
if (bomLine.parent() != null) {
bomLine.window().refresh();
} else {
System.out.println("topLine");
Activator.getDefault().openPerspective("com.teamcenter.rac.pse.PSEPerspective");
Activator.getDefault().openComponents("com.teamcenter.rac.pse.PSEPerspective",
new InterfaceAIFComponent[] { newRev });
}
}
session.getUserService().call("bs_bypass", new Object[] { false });
}
if (rev.getClassificationClass() == null || "".equals(rev.getClassificationClass())) {
MessageBox.post("升版成功", "提示", MessageBox.WARNING);
// if (getPrivilege) {
// privilegeMap.put("pass", false);
// String res = HttpUtil.post(url, privilegeMap);
// System.out.println("res===>" + res);
// if (res.contains("error")) {
// MessageBox.post("撤销权限异常,失败", "错误", MessageBox.ERROR);
// return;
// }
// item.refresh();
// for (TCComponent bomView : bomViews) {
// bomView.refresh();
// }
// System.out.println("已撤销读写删除权限");
// }
System.out.println("success");
return;
}
if (newRev == null) {
newRev = rev.saveAs(item.getNewRev());
MessageBox.post("未知异常", "错误", MessageBox.ERROR);
return;
}
TCComponentICO ico = rev.getClassificationObjects()[0];
ICSProperty[] oldICSProps = ico.getICSProperties(true);
@ -100,36 +189,57 @@ public class WLTZReviseAction extends AbstractAIFAction {
json.put("ids", ids);
json.put("values", values);
String prop = json.toString();
prop = prop.replace("\"", "\\\"");
// prop = prop.replace("\"", "\\\"");
System.out.println("prop:" + prop);
String uid = newRev.getUid();
System.out.println("uid:" + uid);
String cid = rev.getClassificationClass();
System.out.println("cid:" + cid);
String server = getPrefStr("jd2_server_ip");
if (server == null || "".equals(server)) {
MessageBox.post(´ÅäÖÃjd2_server_ipÊ×Ñ¡Ïî", "´íÎó", MessageBox.ERROR);
return;
}
String url = "http://" + server + ":8880/sendClassification";
Map<String, Object> paramMap = new HashMap<String, Object>();
paramMap.put("uid", uid);
paramMap.put("cid", cid);
paramMap.put("prop", prop);
final String URL = url;
final String URL = "http://" + server + ":8880/api/sendClassification";
// final String URL2 = url;
final Map<String, Object> PARAMMAP = paramMap;
// final Map<String, Object> PRIVILEGEMAP = privilegeMap;
// final TCComponent[] BOMVIEWS = bomViews;
// final boolean GetPrivilege = getPrivilege;
new Thread(new Runnable() {
@Override
public void run() {
// TODO Auto-generated method stub
cn.hutool.http.HttpUtil.post(URL, PARAMMAP);
MessageBox.post("升版成功", "提示", MessageBox.WARNING);
// if (GetPrivilege) {
// PRIVILEGEMAP.put("pass", false);
// String res = HttpUtil.post(URL2, PRIVILEGEMAP);
// System.out.println("res===>" + res);
// if (!res.contains("success")) {
// MessageBox.post("撤销权限异常,失败", "错误", MessageBox.ERROR);
// } else {
// try {
// item.refresh();
// for (TCComponent bomView : BOMVIEWS) {
// bomView.refresh();
// }
// } catch (TCException e) {
// // TODO Auto-generated catch block
// e.printStackTrace();
// }
// System.out.println("已撤销写删除权限");
// }
// }
System.out.println("success");
}
}).start();
} catch (TCException e) {
// TODO Auto-generated catch block
e.printStackTrace();
MessageBox.post(e.getMessage(), "错误", MessageBox.ERROR);
}
}

@ -0,0 +1,80 @@
package com.connor.jd.plm.beans;
public class BOMLogBean {
private String target1;
private String target2;
private String parent;
private String operation;
private String unit;
private String oldNum;
private String num;
public BOMLogBean(String target1, String target2, String parent, String operation, String unit, String oldNum,
String num) {
super();
this.target1 = target1;
this.target2 = target2;
this.parent = parent;
this.operation = operation;
this.unit = unit;
this.oldNum = oldNum;
this.num = num;
}
public String getTarget1() {
return target1;
}
public void setTarget1(String target1) {
this.target1 = target1;
}
public String getTarget2() {
return target2;
}
public void setTarget2(String target2) {
this.target2 = target2;
}
public String getParent() {
return parent;
}
public void setParent(String parent) {
this.parent = parent;
}
public String getOperation() {
return operation;
}
public void setOperation(String operation) {
this.operation = operation;
}
public String getUnit() {
return unit;
}
public void setUnit(String unit) {
this.unit = unit;
}
public String getOldNum() {
return oldNum;
}
public void setOldNum(String oldNum) {
this.oldNum = oldNum;
}
public String getNum() {
return num;
}
public void setNum(String num) {
this.num = num;
}
}

@ -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<String, String> objectsUnitMap = new HashMap<>();
/*
* columListitem_id
*/
private List<List<String>> columList = new ArrayList<List<String>>();
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<List<String>> 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<String> 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);
}
/**
* itemIdcolumList
* @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<String> layerList = new ArrayList<String>();
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;
}
}

@ -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;
}
}

@ -7,7 +7,6 @@ import java.io.File;
import java.util.Arrays;
import java.util.HashMap;
import java.util.LinkedHashMap;
import java.util.List;
import java.util.Map;
import java.util.Map.Entry;
@ -23,12 +22,14 @@ import javax.swing.JTextField;
import com.connor.jd.plm.beans.ClassPropBean;
import com.connor.jd.plm.utils.ExcelInfoScanner;
import com.connor.jd.plm.utils.JDMethodUtil;
import com.connor.jd.plm.utils.StringCreateUtil;
import com.teamcenter.rac.aif.AbstractAIFApplication;
import com.teamcenter.rac.aif.AbstractAIFDialog;
import com.teamcenter.rac.aifrcp.AIFUtility;
import com.teamcenter.rac.kernel.TCClassificationService;
import com.teamcenter.rac.kernel.TCComponent;
import com.teamcenter.rac.kernel.TCComponentDataset;
import com.teamcenter.rac.kernel.TCComponentForm;
import com.teamcenter.rac.kernel.TCComponentICO;
import com.teamcenter.rac.kernel.TCComponentItemRevision;
import com.teamcenter.rac.kernel.TCException;
@ -40,11 +41,11 @@ import com.teamcenter.rac.util.MessageBox;
import cn.hutool.json.JSONObject;
/**
*
*/
public class EditClassificationDialog extends AbstractAIFDialog {
/**
*
*/
private static final long serialVersionUID = 1L;
private AbstractAIFApplication app;
private TCSession session;
@ -56,6 +57,7 @@ public class EditClassificationDialog extends AbstractAIFDialog {
private int[] ids;
private String[] values;
private String[] names;
private boolean finished;
public EditClassificationDialog(AbstractAIFApplication app) throws TCException {
this.app = app;
@ -67,6 +69,12 @@ public class EditClassificationDialog extends AbstractAIFDialog {
if (target instanceof TCComponentItemRevision) {
try {
rev = (TCComponentItemRevision) target;
boolean isAccess = session.getTCAccessControlService().checkPrivilege(rev, "WRITE");
if (!isAccess) {
JOptionPane.showMessageDialog(this, "没有版本修改权限,请联系系统管理员", "提示", JOptionPane.WARNING_MESSAGE);
return;
}
initUI();
} catch (Exception e) {
// TODO Auto-generated catch block
@ -89,13 +97,12 @@ public class EditClassificationDialog extends AbstractAIFDialog {
Map<Integer, ClassPropBean> displayMap = new LinkedHashMap<Integer, ClassPropBean>();
propMap = new HashMap<String, JComponent>();
TCComponentItemRevision rev = (TCComponentItemRevision) target;
try {
if (rev.getClassificationClass() != null || !"".equals(rev.getClassificationClass())) {
if (rev.getClassificationClass() != null && !"".equals(rev.getClassificationClass())) {
try {
rev.refresh();
TCComponentICO ico = rev.getClassificationObjects()[0];
ICSProperty[] props = ico.getICSProperties(true);
ICSPropertyDescription[] desc = ico.getICSPropertyDescriptors();
for (int i = 0; i < props.length; i++) {
@ -156,10 +163,11 @@ public class EditClassificationDialog extends AbstractAIFDialog {
for (String s : items) {
combo.addItem(s);
}
combo.setSelectedItem(entry.getValue().getValue());
if (combo.getSelectedItem() == null || combo.getSelectedIndex() < 0) {
combo.addItem(entry.getValue().getValue());
combo.setSelectedItem(entry.getValue().getValue());
String v = entry.getValue().getValue();
combo.setSelectedItem(v);
if (!Arrays.asList(items).contains(v)) {
combo.addItem(v);
combo.setSelectedItem(v);
}
combo.setBounds(130, num * 35 + 10, 150, 25);
propMap.put(entry.getValue().getName(), combo);
@ -185,6 +193,7 @@ public class EditClassificationDialog extends AbstractAIFDialog {
cancelBtn.addActionListener(cancel());
JScrollPane jsp = new JScrollPane(content);
jsp.getVerticalScrollBar().setUnitIncrement(16);
jsp.setBounds(0, 0, 300, 300);
jsp.setHorizontalScrollBarPolicy(JScrollPane.HORIZONTAL_SCROLLBAR_NEVER);
rootPanel.add(jsp);
@ -202,8 +211,26 @@ public class EditClassificationDialog extends AbstractAIFDialog {
@Override
public void actionPerformed(ActionEvent e) {
// TODO Auto-generated method stub
((JButton) e.getSource()).setEnabled(false);
rev = (TCComponentItemRevision) target;
new Thread(new Runnable() {
@Override
public void run() {
// TODO Auto-generated method stub
int i = 1;
while (!DIALOG.finished) {
try {
DIALOG.setTitle("正在修改分类属性 " + StringCreateUtil.createPoint(i++ % 3));
Thread.sleep(200);
} catch (InterruptedException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
}).start();
saveClassification(rev);
// try {
// System.out.println(rev.getProperty("object_string"));
@ -222,7 +249,6 @@ public class EditClassificationDialog extends AbstractAIFDialog {
// // TODO Auto-generated catch block
// e1.printStackTrace();
// }
DIALOG.disposeDialog();
}
};
}
@ -241,14 +267,16 @@ public class EditClassificationDialog extends AbstractAIFDialog {
private boolean saveClassification(TCComponentItemRevision rev) {
try {
boolean isAccess = session.getTCAccessControlService().checkPrivilege(rev, "WRITE");
List<TCComponentItemRevision> released = Arrays.asList(rev.getItem().getReleasedItemRevisions());
if (!isAccess || !released.contains(rev)) {
// JOptionPane.showMessageDialog(this, "当前用户没有修改权限或者当前对象未发布", "提示", JOptionPane.WARNING_MESSAGE);
return false;
TCComponentForm form = (TCComponentForm) rev.getRelatedComponents("IMAN_master_form_rev")[0];
TCComponent[] status = form.getRelatedComponents("release_status_list");
for (TCComponent comp : status) {
if (comp.getProperty("object_name").contains("正式")) {
JOptionPane.showMessageDialog(this, "版本表单已正式发布,不允许修改分类属性", "提示", JOptionPane.WARNING_MESSAGE);
return false;
}
}
TCComponentICO[] icoS = rev.getClassificationObjects();
System.out.println("======>获取的分类对象有:" + icoS.length);
String classID = rev.getClassificationClass();
if (icoS == null || icoS.length == 0) {
return false;
@ -297,14 +325,17 @@ public class EditClassificationDialog extends AbstractAIFDialog {
@Override
public void run() {
// TODO Auto-generated method stub
cn.hutool.http.HttpUtil.post(URL, PARAMMAP);
String res = cn.hutool.http.HttpUtil.post(URL, PARAMMAP);
System.out.println("uid===>" + uid + " res===>" + res);
finish();
}
}).start();
}
} catch (TCException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
JOptionPane.showMessageDialog(null, e1, "错误", JOptionPane.ERROR_MESSAGE);
}
return true;
}
@ -330,13 +361,16 @@ public class EditClassificationDialog extends AbstractAIFDialog {
}
}
}
String temp = builder.toString().substring(0, builder.toString().length() - 1);
String temp = builder.length() > 0
? builder.toString().substring(0, builder.toString().length() - 1)
: "";
System.out.println("class porp values=====>" + temp);
// session.getUserService().call("bs_bypass", new Object[] { true });
rev.lock();
rev.setProperty("jd2_flfh", temp);
rev.save();
rev.unlock();
rev.refresh();
// session.getUserService().call("bs_bypass", new Object[] { false });
break;
}
@ -348,6 +382,9 @@ public class EditClassificationDialog extends AbstractAIFDialog {
JOptionPane.WARNING_MESSAGE);
return;
}
DIALOG.finished = true;
DIALOG.disposeDialog();
JOptionPane.showMessageDialog(null, "修改分类成功", "提示", JOptionPane.WARNING_MESSAGE);
System.out.println("success");
}
@ -359,5 +396,4 @@ public class EditClassificationDialog extends AbstractAIFDialog {
}
return clazz.getName() + "=>" + getClassificationAddress(clazz.getParent());
}
}

@ -48,11 +48,13 @@ import com.teamcenter.rac.kernel.TCComponentBOMLine;
import com.teamcenter.rac.kernel.TCComponentBOMViewRevision;
import com.teamcenter.rac.kernel.TCComponentBOMWindow;
import com.teamcenter.rac.kernel.TCComponentBOMWindowType;
import com.teamcenter.rac.kernel.TCComponentICO;
import com.teamcenter.rac.kernel.TCComponentItem;
import com.teamcenter.rac.kernel.TCComponentItemRevision;
import com.teamcenter.rac.kernel.TCException;
import com.teamcenter.rac.kernel.TCSession;
import com.teamcenter.rac.kernel.TCTypeService;
import com.teamcenter.rac.kernel.ics.ICSProperty;
import com.teamcenter.rac.util.ButtonLayout;
import com.teamcenter.rac.util.MessageBox;
import com.teamcenter.rac.util.PropertyLayout;
@ -267,7 +269,7 @@ public class TransformDesignToPartDialog extends AbstractAIFDialog implements Ac
JScrollPane msgPanel = DialogUtil.createTableMsg(new String[] { "ID", "版本", "名称", "颜色" },
bean.colorMaterial).panel;
int r = JOptionPane.showConfirmDialog((Component) e.getSource(), msgPanel, "颜色件确认",
JOptionPane.PLAIN_MESSAGE);
JOptionPane.OK_CANCEL_OPTION, JOptionPane.PLAIN_MESSAGE);
if (r == JOptionPane.OK_OPTION) {
createBom1(bean);
} else {
@ -382,11 +384,21 @@ public class TransformDesignToPartDialog extends AbstractAIFDialog implements Ac
}
for (TCComponentItemRevision material : childrenList) {
String ys = material.getProperty("jd2_classys");
if (ys != null && !"".equals(ys)) {
System.out.println("ÑÕÉ«¼þ£º" + material.getProperty("object_string"));
colorMaterialBean.colorMaterial.add(new String[] { material.getProperty("item_id"),
material.getProperty("item_revision_id"), material.getProperty("object_name"), ys });
if (material.getClassificationObjects().length > 0) {
String ys = null;
TCComponentICO ico = material.getClassificationObjects()[0];
ICSProperty[] props = ico.getICSProperties(true);
for (ICSProperty prop : props) {
if (prop.getId() == 1007) {
ys = prop.getValue();
break;
}
}
if (ys != null && !"".equals(ys)) {
System.out.println("ÑÕÉ«¼þ£º" + material.getProperty("object_string"));
colorMaterialBean.colorMaterial.add(new String[] { material.getProperty("item_id"),
material.getProperty("item_revision_id"), material.getProperty("object_name"), ys });
}
}
}
colorMaterialBean.data.put(materialRev, new Object[] { materialRev, childrenList, null, quantityList });

@ -74,7 +74,7 @@ public class CSJHForm extends AbstractRendering {
private JLabel label3;
private List<Integer> editable = new ArrayList<Integer>();
private Map<String, JG> res;
private Map<Integer, String> rowNo;
private Map<Integer, String> rowNo;// 真实编号
private JTable table;
private boolean againAllow;
@ -724,9 +724,11 @@ public class CSJHForm extends AbstractRendering {
temp[15] = (String) model.getValueAt(table.getSelectedRow(), 15);
model.insertRow(table.getSelectedRow() + 1, temp);
for (int i = table.getSelectedRow() + 1; i < model.getRowCount(); i++) {
model.setValueAt(String.valueOf(num++), i, 0);
}
for (int i = model.getRowCount(); i > table.getSelectedRow(); i--) {
rowNo.put(i, rowNo.get(i - 1));
}
Double allcost2 = 0.0;
for (int i = 0; i < model.getRowCount(); i++) {
String value = (String) model.getValueAt(i, 7);
@ -746,8 +748,6 @@ public class CSJHForm extends AbstractRendering {
res.get(entry.getKey()).setRow(entry.getValue().getRow() + 1);
}
}
rowNo.put(table.getSelectedRow() + 1, rowNo.get(table.getSelectedRow()));
});
table.addMouseListener(new MouseAdapter() {

@ -10,7 +10,11 @@ import java.awt.ScrollPane;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.LinkedHashMap;
import java.util.List;
import java.util.Map;
import java.util.Map.Entry;
import javax.swing.BorderFactory;
import javax.swing.JButton;
@ -28,6 +32,7 @@ import com.connor.jd.plm.table.MyCellEditor4;
import com.connor.jd.plm.table.TCTableUtil;
import com.connor.jd.plm.utils.DBUtil;
import com.teamcenter.rac.aifrcp.AIFUtility;
import com.teamcenter.rac.kernel.TCComponent;
import com.teamcenter.rac.kernel.TCComponentForm;
import com.teamcenter.rac.kernel.TCComponentItem;
import com.teamcenter.rac.kernel.TCComponentItemRevision;
@ -36,35 +41,27 @@ import com.teamcenter.rac.kernel.TCException;
import com.teamcenter.rac.kernel.TCSession;
import com.teamcenter.rac.util.MessageBox;
import cn.hutool.core.util.ArrayUtil;
import cn.hutool.core.util.StrUtil;
import cn.hutool.db.Db;
import cn.hutool.db.Entity;
public class ComponentTestFrame extends JFrame {
private CTMap model;
private CTable table;
private List<Entity> list;
private int bottom;
private Container container;
private TCComponentForm form;
private TCSession session;
private MyCallBack callBack;
private String itemId;
private String[] colNames = new String[] { "jd2_no", "jd2_wtry", "jd2_syxm", "jd2_syzq", "jd2_syts", "jd2_syfy",
"jd2_sycs" };
private TCComponentForm testForm;
private static ComponentTestFrame instance;
public static ComponentTestFrame getInstance(TCComponentForm form, MyCallBack callBack) {
if (instance == null) {
instance = new ComponentTestFrame(form);
instance.callBack = callBack;
} else {
instance.bottom = 0;
instance.form = form;
instance.callBack = callBack;
instance.init();
}
return instance;
}
private ComponentTestFrame(TCComponentForm form) {
public ComponentTestFrame(Object itemId, TCComponentForm form, MyCallBack callBack) {
this.itemId = StrUtil.toString(itemId);
this.callBack = callBack;
this.form = form;
this.session = (TCSession) AIFUtility.getCurrentApplication().getSession();
this.init();
@ -82,7 +79,7 @@ public class ComponentTestFrame extends JFrame {
container.setPreferredSize(new Dimension(600, 400));
model = new CTMap(10, 7);
model.setValueAt("ÐòºÅ", 0, 0);
model.setValueAt("编号", 0, 0);
model.setValueAt("部品类型", 0, 1);
model.setValueAt("试验项目", 0, 2);
model.setValueAt("试验时间", 0, 3);
@ -142,23 +139,18 @@ public class ComponentTestFrame extends JFrame {
table.getColumnModel().getColumn(6).setCellEditor(new MyCellEditor4(new JTextField()));
// 填写数据
Map<String, String[]> dataMap = new LinkedHashMap<>();
try {
list = Db.use(DBUtil.getDataSource(session)).findAll("JD2_COMPONENT");
bottom = list.size();
for (int i = 0; i < bottom; i++) {
if (i > model.getRowCount() - 2) {
model.addRow();
}
int row = i + 1;
model.setValueAt(row, row, 0);
model.setValueAt(list.get(i).getStr("TEST_TYPE"), row, 1);
model.setValueAt(list.get(i).getStr("TEST_PROJECT"), row, 2);
model.setValueAt(list.get(i).getStr("TEST_TIME"), row, 3);
model.setValueAt(list.get(i).getInt("TEST_NUM"), row, 4);
model.setValueAt(list.get(i).getInt("TEST_COST"), row, 5);
model.setValueAt(new JCheckBox(), row, 6);
System.out.println(list.get(i).toString());
List<Entity> list = Db.use(DBUtil.getDataSource(session)).findAll("JD2_COMPONENT");
for (int i = 0; i < list.size(); i++) {
String[] rowData = new String[6];
rowData[0] = list.get(i).getStr("TEST_ID");
rowData[1] = list.get(i).getStr("TEST_TYPE");
rowData[2] = list.get(i).getStr("TEST_PROJECT");
rowData[3] = list.get(i).getStr("TEST_TIME");
rowData[4] = list.get(i).getInt("TEST_NUM") + "";
rowData[5] = list.get(i).getInt("TEST_COST") == null ? "0" : list.get(i).getInt("TEST_COST") + "";
dataMap.put(rowData[0], rowData);
}
} catch (Exception e) {
// TODO Auto-generated catch block
@ -166,10 +158,57 @@ public class ComponentTestFrame extends JFrame {
e.printStackTrace();
return;
}
List<String> checkedId = new ArrayList<>();
if (StrUtil.isNotBlank(itemId)) {
try {
TCComponent[] res = session.search("Item ID", new String[] { "零组件 ID" }, new String[] { itemId });
if (ArrayUtil.isNotEmpty(res) && "JD2_GTCSJH".equals(res[0].getType())) {
TCComponentItemRevision resRev = ((TCComponentItem) res[0]).getLatestItemRevision();
TCComponent[] forms = resRev.getRelatedComponents("IMAN_master_form_rev");
testForm = (TCComponentForm) forms[0];
String[][] rowDatas = TCTableUtil.getTableRows(testForm, "jd2_csjh", colNames);
for (int i = 0; i < rowDatas.length; i++) {
checkedId.add(rowDatas[i][0]);
String[] rowData = new String[6];
rowData[0] = rowDatas[i][0];
rowData[1] = "自定义测试项";
rowData[2] = rowDatas[i][2];
rowData[3] = rowDatas[i][3];
rowData[4] = rowDatas[i][4];
rowData[5] = rowDatas[i][5];
dataMap.put(rowDatas[i][0], rowData);
}
}
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
bottom = dataMap.size();
int row = 1;
for (Entry<String, String[]> entry : dataMap.entrySet()) {
if (row > model.getRowCount() - 1) {
model.addRow();
}
model.setValueAt(entry.getValue()[0], row, 0);
model.setValueAt(entry.getValue()[1], row, 1);
model.setValueAt(entry.getValue()[2], row, 2);
model.setValueAt(entry.getValue()[3], row, 3);
model.setValueAt(entry.getValue()[4], row, 4);
model.setValueAt(entry.getValue()[5], row, 5);
if (checkedId.contains(entry.getValue()[0])) {
JCheckBox tempCheck = new JCheckBox();
tempCheck.setSelected(true);
model.setValueAt(tempCheck, row, 6);
} else {
model.setValueAt(new JCheckBox(), row, 6);
}
row++;
}
// 按钮
JPanel buttonPanel = new JPanel(new FlowLayout(FlowLayout.RIGHT));
JButton createTest = new JButton("´´½¨²âÊԼƻ®");
JButton createTest = new JButton("创建/更新测试计划");
createTest.addActionListener(createTest());
JButton addTestItem = new JButton("新增测试项");
addTestItem.addActionListener(addTestItem());
@ -195,31 +234,77 @@ public class ComponentTestFrame extends JFrame {
public void actionPerformed(ActionEvent e) {
// TODO Auto-generated method stub
try {
TCComponentItemRevision rev = (TCComponentItemRevision) form.whereReferenced()[0].getComponent();
if (testForm != null) {// 更新
String[] propNames = new String[] { "jd2_no", "jd2_syxh", "jd2_symd", "jd2_wtry", "jd2_syxm",
"jd2_syts", "jd2_syzq", "jd2_syfy", "jd2_jhrc", "jd2_jhrc1", "jd2_sjrc", "jd2_sjrc1",
"jd2_syzt", "jd2_syjg", "jd2_sycs", "jd2_syry", "jd2_csbg", "jd2_bz" };
List<Map<String, String>> oldRowData = TCTableUtil.getTableMapList(testForm, "jd2_csjh",
propNames);
List<String> selectedNo = new ArrayList<>();
for (int i = 1; i <= bottom; i++) {
JCheckBox jb = (JCheckBox) model.getValueAt(i, 6);
if (jb.isSelected()) {
String no = model.getValueAt(i, 0).toString();
selectedNo.add(no);
boolean isInclude = false;
for (int ii = 0; ii < oldRowData.size(); ii++) {// 修改
if (no.equals(oldRowData.get(ii).get("jd2_no"))) {
isInclude = true;
oldRowData.get(ii).put("jd2_syxm", model.getValueAt(i, 2).toString());
oldRowData.get(ii).put("jd2_syzq", model.getValueAt(i, 3).toString());
oldRowData.get(ii).put("jd2_syts", model.getValueAt(i, 4).toString());
oldRowData.get(ii).put("jd2_syfy", model.getValueAt(i, 5).toString());
}
}
if (!isInclude) {// 新增
Map<String, String> tempMap = new HashMap<String, String>();
tempMap.put("jd2_no", no);
tempMap.put("jd2_wtry", form.getTCProperty("owning_user").getUIFValue());
tempMap.put("jd2_syxm", model.getValueAt(i, 2).toString());
tempMap.put("jd2_syzq", model.getValueAt(i, 3).toString());
tempMap.put("jd2_syts", model.getValueAt(i, 4).toString());
tempMap.put("jd2_syfy", model.getValueAt(i, 5).toString());
oldRowData.add(tempMap);
}
}
}
for (int i = 0; i < oldRowData.size(); i++) {// 删除
if (!selectedNo.contains(oldRowData.get(i).get("jd2_no"))) {
oldRowData.remove(i);
i--;
}
}
TCTableUtil.setTableMapList(testForm, "jd2_csjh", "JD2_CSJHTABLE", oldRowData);
callBack.execute(itemId);
} else {// 创建
TCComponentItemRevision rev = (TCComponentItemRevision) form.whereReferenced()[0]
.getComponent();
TCComponentItemType type = (TCComponentItemType) session.getTypeComponent("Item");
TCComponentItem item = type.create(null, null, "JD2_GTCSJH", "²âÊԼƻ®", "", null);
rev.add("JD2_CSJH", item);
TCComponentItemRevision rev1 = item.getLatestItemRevision();
TCComponentForm form1 = (TCComponentForm) rev1.getRelatedComponents("IMAN_master_form_rev")[0];
String[] colNames = new String[] { "jd2_no", "jd2_wtry", "jd2_syxm", "jd2_syts", "jd2_syzq",
"jd2_syfy", "jd2_sycs" };
List<String[]> list = new ArrayList<String[]>();
String[] row = new String[7];
for (int i = 1; i <= bottom; i++) {
JCheckBox jb = (JCheckBox) model.getValueAt(i, 6);
if (jb.isSelected()) {
for (int ii = 2; ii < 6; ii++) {
row[ii - 2] = model.getValueAt(i, ii) == null ? "" : model.getValueAt(i, ii).toString();
TCComponentItemType type = (TCComponentItemType) session.getTypeComponent("Item");
TCComponentItem item = type.create(null, null, "JD2_GTCSJH", "测试计划", "", null);
rev.add("JD2_CSJH", item);
TCComponentItemRevision rev1 = item.getLatestItemRevision();
TCComponentForm form1 = (TCComponentForm) rev1.getRelatedComponents("IMAN_master_form_rev")[0];
List<String[]> list = new ArrayList<String[]>();
String[] row = new String[7];
for (int i = 1; i <= bottom; i++) {
JCheckBox jb = (JCheckBox) model.getValueAt(i, 6);
if (jb.isSelected()) {
for (int ii = 2; ii < 6; ii++) {
row[ii - 2] = model.getValueAt(i, ii) == null ? ""
: model.getValueAt(i, ii).toString();
}
// TCComponentPerson p = (TCComponentPerson) session.getUser().getUserInformation().get(0);
list.add(new String[] { model.getValueAt(i, 0).toString(),
form.getTCProperty("owning_user").getUIFValue(), row[0], row[1], row[2], row[3],
"1" });
}
// TCComponentPerson p = (TCComponentPerson) session.getUser().getUserInformation().get(0);
list.add(new String[] { i + "", form.getTCProperty("owning_user").getUIFValue(), row[0],
row[2], row[1], row[3], "1" });
}
String[][] data = list.toArray(new String[list.size()][7]);
TCTableUtil.setTableRows(form1, "jd2_csjh", "JD2_CSJHTABLE", colNames, data);
callBack.execute(item.getProperty("item_id"));
}
String[][] data = list.toArray(new String[list.size()][7]);
TCTableUtil.setTableRows(form1, "jd2_csjh", "JD2_CSJHTABLE", colNames, data);
callBack.execute(item.getProperty("item_id"));
dispose();
} catch (TCException e1) {
// TODO Auto-generated catch block
@ -238,10 +323,7 @@ public class ComponentTestFrame extends JFrame {
if (bottom > model.getRowCount() - 2) {
model.addRow();
}
int num = 1;
if (bottom > 0) {
num = Integer.parseInt(model.getValueAt(bottom, 0).toString());
}
int num = Math.max(Integer.parseInt(model.getValueAt(bottom, 0).toString()), 10000);
model.setValueAt(num + 1, ++bottom, 0);
model.setValueAt(new JCheckBox(), bottom, 6);
}

@ -30,6 +30,7 @@ import com.connor.jd.plm.table.CTable;
import com.connor.jd.plm.table.JCheckPanel;
import com.connor.jd.plm.table.MyCellEditor3;
import com.connor.jd.plm.table.TCTableUtil;
import com.teamcenter.rac.aif.kernel.AIFComponentContext;
import com.teamcenter.rac.kernel.TCComponent;
import com.teamcenter.rac.kernel.TCComponentForm;
import com.teamcenter.rac.kernel.TCException;
@ -261,7 +262,12 @@ public class ExperimentalPowerOfAttorneyForm extends AbstractRendering implement
// ÊôÐÔÓ³Éä
try {
model.setValueAt(form.whereReferenced()[0].getComponent().getProperty("item_id"), 0, 9);
AIFComponentContext[] refs = form.whereReferenced();
for (AIFComponentContext aif : refs) {
if (aif.getComponent().getType().equals("JD2_GTSYWTSRevision")) {
model.setValueAt(aif.getComponent().getProperty("item_id"), 0, 9);
}
}
model.setValueAt(form.getProperty("creation_date"), 1, 9);
} catch (Exception e) {
// TODO Auto-generated catch block
@ -546,7 +552,14 @@ public class ExperimentalPowerOfAttorneyForm extends AbstractRendering implement
@Override
public void actionPerformed(ActionEvent e) {
// TODO Auto-generated method stub
ComponentTestFrame.getInstance(form, $this);
new Thread(new Runnable() {
@Override
public void run() {
// TODO Auto-generated method stub
new ComponentTestFrame(model.getValueAt(table.getSelectedRow(), 9), form, $this);
}
}).start();
}
};

@ -109,9 +109,9 @@ public class GTCSJHForm extends AbstractRendering {
inner.setLayout(null);
inner.setPreferredSize(new Dimension(1000, 420));
innerTop.setLayout(null);
innerTop.setPreferredSize(new Dimension(880, 100));
innerTop.setPreferredSize(new Dimension(1000, 100));
innerTop.setBorder(BorderFactory.createLineBorder(Color.black));
innerTop.setBounds(10, 0, 880, 100);
innerTop.setBounds(10, 0, 1000, 100);
innerCenter.setPreferredSize(new Dimension(880, 300));
innerCenter.setBorder(BorderFactory.createLineBorder(Color.black));
innerCenter.setBounds(10, 120, 880, 300);
@ -145,10 +145,10 @@ public class GTCSJHForm extends AbstractRendering {
infoValue[i - 1] = new JLabel();
}
for (int i = 1; i < 7; i++) {
infoText[i].setBounds(25 * i + 120 * (i - 1), 30, 60, 25);
infoValue[i - 1].setBounds(85 * i + 60 * (i - 1), 30, 60, 25);
infoText[i + 6].setBounds(25 * i + 120 * (i - 1), 60, 60, 25);
infoValue[i + 5].setBounds(85 * i + 60 * (i - 1), 60, 60, 25);
infoText[i].setBounds(25 + 162 * (i - 1), 30, 80, 25);
infoValue[i - 1].setBounds(105 + 162 * (i - 1), 30, 80, 25);
infoText[i + 6].setBounds(25 + 162 * (i - 1), 60, 80, 25);
infoValue[i + 5].setBounds(105 + 162 * (i - 1), 60, 80, 25);
}
innerTop.add(infoText[0]);
for (int i = 0; i < 12; i++) {
@ -322,6 +322,7 @@ public class GTCSJHForm extends AbstractRendering {
if (parentProp.containsKey(labellTexts[i])) {
String str = parentProp.get(labellTexts[i]);
infoValue[i].setText(str);
infoValue[i].setToolTipText(str);
} else {
System.out.println("ÊôÐÔ\"" + labellTexts[i] + "\"²»´æÔÚ");
}

@ -22,6 +22,7 @@ import java.util.Map;
import javax.swing.BorderFactory;
import javax.swing.DefaultCellEditor;
import javax.swing.JButton;
import javax.swing.JCheckBox;
import javax.swing.JLabel;
import javax.swing.JMenuItem;
import javax.swing.JOptionPane;
@ -32,6 +33,7 @@ import javax.swing.JTable;
import javax.swing.JTextField;
import javax.swing.SwingConstants;
import javax.swing.table.DefaultTableCellRenderer;
import javax.swing.table.DefaultTableModel;
import com.connor.jd.plm.table.CTMap;
import com.connor.jd.plm.table.CTable;
@ -53,6 +55,7 @@ import com.teamcenter.rac.kernel.TCComponentItemType;
import com.teamcenter.rac.kernel.TCComponentProject;
import com.teamcenter.rac.kernel.TCComponentSchedule;
import com.teamcenter.rac.kernel.TCException;
import com.teamcenter.rac.kernel.TCProperty;
import com.teamcenter.rac.kernel.TCSession;
import com.teamcenter.rac.stylesheet.AbstractRendering;
import com.teamcenter.rac.util.MessageBox;
@ -138,14 +141,16 @@ public class NewProductTestForm extends AbstractRendering {
modelList1.add(new ModelValue(propArr[i], true, propLocation1[i][0], propLocation1[i][1], true));
}
initModel(model1, modelList1);
table1 = new CTable(model1) {
@Override
public boolean isCellEditable(int row, int col) {
return !modelList1.isDisableEdit(row, col);
}
};
initModel(model1, modelList1);
table1.setRowHeight(25);
table1.setBorder(BorderFactory.createLineBorder(Color.black));
@ -510,6 +515,7 @@ public class NewProductTestForm extends AbstractRendering {
@Override
public void saveRendering() {
System.out.println("点击了签出");
if (testFlag) {
return;
}
@ -565,6 +571,7 @@ public class NewProductTestForm extends AbstractRendering {
System.out.println(Arrays.deepToString(newData));
TCTableUtil.setTableRows(form, "jd2_xpcsxqd", "JD2_XPCSXQD", colNames, newData);
}
}
private MouseAdapter rightClick() {
@ -677,19 +684,29 @@ public class NewProductTestForm extends AbstractRendering {
// "开发等级:", "开发阶段:" };
// String[] propArr = { "jd2_xmxx", "jd2_lxsj", "jd2_jbxh", "jd2_csxh", "jd2_cpxh", "jd2_xmzl", "jd2_cpjl",
// "jd2_cpbgd", "jd2_pzjl", "jd2_kfrc", "jd2_kfdj", "jd2_kfjd" };
private void initModel(CTMap model, ModelList modelList) {
try {
//获取引用这个表单的对象版本
TCComponentItemRevision rev = (TCComponentItemRevision) form.whereReferenced()[0].getComponent();
//获取引用版本的对象
AIFComponentContext[] aifs = rev.whereReferenced();
for (AIFComponentContext aif : aifs) {
if (aif.getComponent() instanceof TCComponentProject) {
project = (TCComponentProject) aif.getComponent();
break;
TCProperty tcproperty = ((TCComponent) aif.getComponent()).getTCProperty("project_list");
//获取这个项目列表下的项目
TCComponent[] tcComponents = tcproperty.getReferenceValueArray();
for (TCComponent project1 : tcComponents) {
if (project1 instanceof TCComponentProject) {
project = (TCComponentProject) project1;
}
}
}
} catch (TCException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
for (ModelValue mv : modelList) {
@ -720,35 +737,86 @@ public class NewProductTestForm extends AbstractRendering {
.setCellEditor(new MyCellEditor3(new JTextField()));
break;
case "jd2_cpbgd":
TCComponent[] cpbgd = project.getRelatedComponents("jd2_cpbgd");// 不知道是什么属性
if (cpbgd.length > 0) {
String displayValue = "";
for (TCComponent comp : cpbgd) {
displayValue += comp.toString() + ";";
//获取项目下面的项目数据列表
TCComponent[] cpbg = project.getRelatedComponents("project_data");
for (TCComponent cpbgTask : cpbg) {
//找到项目数据中的 产品企划
if ("产品企划".equals(cpbgTask.toString())) {
//获取去产品企划下面的变更点
TCComponent[] project_data = cpbgTask.getRelatedComponents("project_data");
if (project_data.length > 0) {
String displayValue = "";
for (TCComponent task : project_data) {
displayValue += task.toString() + ";";
}
if ("".equals(form.getProperty("jd2_cpbgd")) || form.getProperty("jd2_cpbgd") == null) {
model.setValueAt(displayValue, mv.getRow(), mv.getCol());
} else {
model.setValueAt(form.getProperty("jd2_cpbgd"), mv.getRow(), mv.getCol());
}
table1.addMouseListener(openCPBGD(project_data, mv, model));
} else {
form.setProperty("jd2_cpbgd", "");
}
}
model.setValueAt(displayValue, mv.getRow(), mv.getCol());
table1.addMouseListener(openCPBGD(cpbgd, mv));
}
// TCComponent[] cpbgd = project.getRelatedComponents("jd2_cpbgd");// 不知道是什么属性
// if (cpbgd.length > 0) {
// String displayValue = "";
// for (TCComponent comp : cpbgd) {
// displayValue += comp.toString() + ";";
// }
// model.setValueAt(displayValue, mv.getRow(), mv.getCol());
// table1.addMouseListener(openCPBGD(cpbgd, mv));
// }
break;
case "jd2_kfrc":
TCComponent[] kfrc = project.getRelatedComponents("jd2_kfrc");
if (kfrc.length > 0) {
TCComponentSchedule schedule = (TCComponentSchedule) kfrc[0];
TCComponent[] tasks = schedule.getAllTasks();
String startTime = "";
String endTime = "";
for (TCComponent task : tasks) {
if ("立项申请".equals(task.getProperty("object_name"))) {
startTime = task.getProperty("");
}
if ("小批量产评审PRA".equals(task.getProperty("object_name"))) {
endTime = task.getProperty("");
//TCComponent[] kfrc = project.getRelatedComponents("jd2_kfrc");
//获取项目下面的项目数据列表
TCComponent[] xmsj = project.getRelatedComponents("project_data");
for (TCComponent xmjhTask : xmsj) {
//找到项目数据中的 项目计划
if ("项目计划".equals(xmjhTask.toString())) {
//在获取项目计划中的数据,也就是时间表,将其转化为时间表类型
TCComponent[] project_data = xmjhTask.getRelatedComponents("project_data");
if (project_data.length > 0) {
TCComponentSchedule schedule = (TCComponentSchedule) project_data[0];
TCComponent[] tasks = schedule.getAllTasks();
String startTime = "";
String endTime = "";
for (TCComponent scheduleTask : tasks) {
if ("立项申请".equals(scheduleTask.getProperty("object_name"))) {
startTime = scheduleTask.getProperty("start_date");
}
if ("小批量产评审PRA".equals(scheduleTask.getProperty("object_name"))) {
endTime = scheduleTask.getProperty("finish_date");
}
}
if (!"".equals(startTime) || !"".equals(endTime)) {
model.setValueAt(startTime + " - " + endTime, mv.getRow(), mv.getCol());
}
}
}
if (!"".equals(startTime) || !"".equals(endTime)) {
model.setValueAt(startTime + "-" + endTime, mv.getRow(), mv.getCol());
}
}
// if (kfrc.length > 0) {
// TCComponentSchedule schedule = (TCComponentSchedule) kfrc[0];
// TCComponent[] tasks = schedule.getAllTasks();
// String startTime = "";
// String endTime = "";
// for (TCComponent task : tasks) {
// if ("立项申请".equals(task.getProperty("object_name"))) {
// startTime = task.getProperty("");
// }
// if ("小批量产评审PRA".equals(task.getProperty("object_name"))) {
// endTime = task.getProperty("");
// }
// }
// if (!"".equals(startTime) || !"".equals(endTime)) {
// model.setValueAt(startTime + "-" + endTime, mv.getRow(), mv.getCol());
// }
// }
break;
default:
if ("".equals(prop.get(mv.getValue()))) {
@ -775,38 +843,56 @@ public class NewProductTestForm extends AbstractRendering {
model.combine(mv.getCombineRows(), mv.getCombineColumns());
}
}
}
private MouseAdapter openCPBGD(TCComponent[] cpbgd, ModelValue mv) {
private MouseAdapter openCPBGD(TCComponent[] cpbgd, ModelValue mv, CTMap model) {
return new MouseAdapter() {
@Override
public void mouseClicked(MouseEvent e) {
if (e.getClickCount() == 2 && table1.getSelectedRow() == mv.getRow()
if (e.getClickCount() == 1 && table1.getSelectedRow() == mv.getRow()
&& table1.getSelectedColumn() == mv.getCol()) {
try {
if (cpbgd.length > 1) {
List<String[]> data = new ArrayList<String[]>();
for (TCComponent comp : cpbgd) {
data.add(new String[] { data.size() + 1 + "", comp.toString() });
data.add(new String[] {data.size() + 1 +"" , comp.toString() });
}
DialogUtil.TableMsg msg = DialogUtil.createTableMsg(new String[] { "序号", "名称" }, data);
int res = JOptionPane.showConfirmDialog($this, msg.panel, "选择", JOptionPane.PLAIN_MESSAGE);
if (res == JOptionPane.OK_OPTION) {
if (msg.table.getSelectedRow() > 0) {
String cpbgdValue = "";
//获取所选行的索引
int[] selRowIndex = msg.table.getSelectedRows();
//获取表格内容
DefaultTableModel tableModel = (DefaultTableModel) msg.table.getModel();
if (selRowIndex.length > 1) {
for (int i = 0; i < selRowIndex.length; i++) {
//得到指定单元格的值
cpbgdValue += tableModel.getValueAt(selRowIndex[i], 1) + ";";
}
model.setValueAt(cpbgdValue, mv.getRow(), mv.getCol());
form.setProperty("jd2_cpbgd", cpbgdValue);
}
else {
TCComponentItem item = (TCComponentItem) cpbgd[msg.table.getSelectedRow()];
TCComponent[] tccitem = item.getLatestItemRevision()
.getTCProperty("IMAN_specification").getReferenceValueArray();
TCComponentDataset dataset = (TCComponentDataset) tccitem[0];
dataset.open();
changeCpbgd(item,mv,model,form);
}
//TCComponentItem item = (TCComponentItem) cpbgd[msg.table.getSelectedRow()];
//changeCpbgd(item,mv,model,form);
//if (msg.table.getSelectedRow() > 0) {
// TCComponentItem item = (TCComponentItem) cpbgd[msg.table.getSelectedRow()];
// TCComponent[] tccitem = item.getLatestItemRevision()
// .getTCProperty("IMAN_specification").getReferenceValueArray();
// TCComponentDataset dataset = (TCComponentDataset) tccitem[0];
// dataset.open();
// model.setValueAt(item.getProperty("object_string"), mv.getRow(), mv.getCol());
//}
}
} else {
TCComponentItem item = (TCComponentItem) cpbgd[0];
TCComponent[] tccitem = item.getLatestItemRevision().getTCProperty("IMAN_specification")
.getReferenceValueArray();
TCComponentDataset dataset = (TCComponentDataset) tccitem[0];
dataset.open();
changeCpbgd(item,mv,model,form);
}
} catch (Exception e1) {
e1.printStackTrace();
@ -815,8 +901,27 @@ public class NewProductTestForm extends AbstractRendering {
}
};
}
private void changeCpbgd(TCComponentItem item, ModelValue mv, CTMap model,TCComponentForm form) {
try {
TCComponent[] tccitem = item.getLatestItemRevision()
.getTCProperty("IMAN_specification").getReferenceValueArray();
String cpbgdValue = item.getProperty("object_string");
model.setValueAt(cpbgdValue, mv.getRow(), mv.getCol());
form.setProperty("jd2_cpbgd", cpbgdValue);
if (tccitem.length > 0) {
TCComponentDataset dataset = (TCComponentDataset) tccitem[0];
dataset.open();
}
} catch (Exception e) {
// TODO: handle exception
e.printStackTrace();
}
}
private void saveModel(JTable table, ModelList modelList) {
//签入时取消表格选中
table.getSelectionModel().clearSelection();
Object obj;
for (ModelValue mv : modelList) {
if (mv.isProp()) {
@ -837,7 +942,9 @@ public class NewProductTestForm extends AbstractRendering {
}
}
try {
form.setProperty(mv.getValue(), obj == null ? "" : obj.toString());
if (!"jd2_kfjd".equals(mv.getValue())) {
form.setProperty(mv.getValue(), obj == null ? "" : obj.toString());
}
} catch (TCException e) {
// TODO Auto-generated catch block
e.printStackTrace();

@ -34,7 +34,6 @@ import javax.swing.JTable;
import javax.swing.JTextField;
import javax.swing.SwingConstants;
import javax.swing.border.EmptyBorder;
import javax.swing.filechooser.FileFilter;
import javax.swing.table.DefaultTableCellRenderer;
import com.connor.jd.plm.table.CTMap;
@ -46,6 +45,7 @@ import com.connor.jd.plm.table.MyCellEditor1;
import com.connor.jd.plm.table.MyCellEditor2;
import com.connor.jd.plm.table.MyComboBoxRenderer;
import com.connor.jd.plm.table.TCTableUtil;
import com.connor.jd.plm.utils.JDMethodUtil;
import com.teamcenter.rac.aif.AbstractAIFApplication;
import com.teamcenter.rac.aif.kernel.AIFComponentContext;
import com.teamcenter.rac.aifrcp.AIFUtility;
@ -59,6 +59,7 @@ import com.teamcenter.rac.kernel.TCException;
import com.teamcenter.rac.kernel.TCSession;
import com.teamcenter.rac.kernel.ics.ICSProperty;
import com.teamcenter.rac.stylesheet.AbstractRendering;
import com.teamcenter.rac.util.MessageBox;
public class SampleConfirmationForm extends AbstractRendering {
private AbstractAIFApplication app = AIFUtility.getCurrentApplication();
@ -315,59 +316,6 @@ public class SampleConfirmationForm extends AbstractRendering {
}
table3.addMouseListener(rightClick3());
// 属性映射
prop = form.getProperties();
AIFComponentContext[] parents = rev.getItem().whereReferenced();
TCComponentItemRevision parentRev = null;
for (AIFComponentContext aif : parents) {
try {
System.out.println(aif.getComponent().getProperty("object_string"));
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
if (aif.getComponent() instanceof TCComponentItemRevision) {
parentRev = (TCComponentItemRevision) aif.getComponent();
}
}
if (parentRev != null) {
String partName = parentRev.getProperty("object_name");
System.out.println(partName);
if (prop.containsKey("jd2_ljm")) {
form.setProperty("jd2_ljm", partName);
}
String materialCode = parentRev.getProperty("item_id");
System.out.println(materialCode);
if (prop.containsKey("jd2_wlbm")) {
form.setProperty("jd2_wlbm", materialCode);
}
TCComponent[] drawings = parentRev.getReferenceListProperty("TC_Is_Represented_By");
if (drawings != null && drawings.length > 0) {
TCComponentItemRevision drawingRev = (TCComponentItemRevision) drawings[0];
String drawingId = drawingRev.getProperty("item_id");
System.out.println(drawingId);
if (prop.containsKey("jd2_th")) {
form.setProperty("jd2_th", drawingId);
}
}
if (parentRev.getClassificationObjects() != null && parentRev.getClassificationObjects().length > 0) {
TCComponentICO ico = parentRev.getClassificationObjects()[0];
ICSProperty[] parentICSProps = ico.getICSProperties(true);
for (int i = 0; i < parentICSProps.length; i++) {
if (parentICSProps[i].getId() == 1050) {
if (prop.containsKey("jd2_ljywm")) {
form.setProperty("jd2_ljywm", parentICSProps[i].getValue());
}
}
if (parentICSProps[i].getId() == 1058) {
if (prop.containsKey("jd2_gg")) {
form.setProperty("jd2_gg", parentICSProps[i].getValue());
}
}
}
}
}
// 填写数据
prop = form.getProperties();
for (Entry<String, int[]> entry : general.entrySet()) {
@ -514,6 +462,61 @@ public class SampleConfirmationForm extends AbstractRendering {
System.out.println("属性jd2_ypqrdtable未找到");
}
// 属性映射
prop = form.getProperties();
AIFComponentContext[] parents = rev.getItem().whereReferenced();
TCComponentItemRevision parentRev = null;
for (AIFComponentContext aif : parents) {
try {
System.out.println(aif.getComponent().getProperty("object_string"));
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
if (aif.getComponent() instanceof TCComponentItemRevision) {
parentRev = (TCComponentItemRevision) aif.getComponent();
}
}
if (parentRev != null) {
String partName = parentRev.getProperty("object_name");
System.out.println(partName);
if (prop.containsKey("jd2_ljm")) {
model.setValueAt(partName, general.get("jd2_ljm")[0], general.get("jd2_ljm")[1]);
}
String materialCode = parentRev.getProperty("item_id");
System.out.println(materialCode);
if (prop.containsKey("jd2_wlbm")) {
model.setValueAt(materialCode, general.get("jd2_wlbm")[0], general.get("jd2_wlbm")[1]);
}
TCComponent[] drawings = parentRev.getReferenceListProperty("TC_Is_Represented_By");
if (drawings != null && drawings.length > 0) {
TCComponentItemRevision drawingRev = (TCComponentItemRevision) drawings[0];
String drawingId = drawingRev.getProperty("item_id");
System.out.println(drawingId);
if (prop.containsKey("jd2_th")) {
model.setValueAt(drawingId, general.get("jd2_th")[0], general.get("jd2_th")[1]);
}
}
if (parentRev.getClassificationObjects() != null && parentRev.getClassificationObjects().length > 0) {
TCComponentICO ico = parentRev.getClassificationObjects()[0];
ICSProperty[] parentICSProps = ico.getICSProperties(true);
for (int i = 0; i < parentICSProps.length; i++) {
if (parentICSProps[i].getId() == 1050) {
if (prop.containsKey("jd2_ljywm")) {
model.setValueAt(parentICSProps[i].getValue(), general.get("jd2_ljywm")[0],
general.get("jd2_ljywm")[1]);
}
}
if (parentICSProps[i].getId() == 1058) {
if (prop.containsKey("jd2_gg")) {
model.setValueAt(parentICSProps[i].getValue(), general.get("jd2_gg")[0],
general.get("jd2_gg")[1]);
}
}
}
}
}
JPanel inner = new JPanel(new BorderLayout());
inner.add(table, BorderLayout.CENTER);
inner.add(table3, BorderLayout.SOUTH);
@ -627,13 +630,25 @@ public class SampleConfirmationForm extends AbstractRendering {
model2.setValueAt(tableRows[i][ii], i + 1, ii + 2);
if (i == 1) {
if (!"".equals(tableRows[i][ii])) {
editor1[ii + 2].setLow(Double.parseDouble(tableRows[i][ii]));
if (tableRows[i][ii].contains("%")) {
String temp = tableRows[i][ii].replace("%", "");
editor1[ii + 2].setLow(Double.parseDouble(temp) / 100);
} else {
editor1[ii + 2].setLow(Double.parseDouble(tableRows[i][ii]));
}
editor1[ii + 2].setCnt(editor1[ii + 2].getCnt() + 1);
}
}
if (i == 2) {
if (!"".equals(tableRows[i][ii])) {
editor1[ii + 2].setUp(Double.parseDouble(tableRows[i][ii]));
if (tableRows[i][ii].contains("%")) {
String temp = tableRows[i][ii].replace("%", "");
editor1[ii + 2].setUp(Double.parseDouble(temp) / 100);
} else {
editor1[ii + 2].setUp(Double.parseDouble(tableRows[i][ii]));
}
editor1[ii + 2].setCnt(editor1[ii + 2].getCnt() + 1);
}
}
@ -746,11 +761,11 @@ public class SampleConfirmationForm extends AbstractRendering {
model.setValueAt("滚筒研发", 2, 2);
disableEdit.add("2,2");
general.put("jd2_bz", new int[] { 2, 14 });
disableEdit.add("2,14");
// disableEdit.add("2,14");
general.put("jd2_sh", new int[] { 2, 16 });
disableEdit.add("2,16");
// disableEdit.add("2,16");
general.put("jd2_pz", new int[] { 2, 18 });
disableEdit.add("2,18");
// disableEdit.add("2,18");
model.setValueAt("创建日期", 4, 0);
disableEdit.add("4,0");
general.put("creation_date", new int[] { 4, 2 });
@ -760,11 +775,11 @@ public class SampleConfirmationForm extends AbstractRendering {
general.put("owning_user", new int[] { 4, 7 });
disableEdit.add("4,7");
general.put("jd2_bzrq", new int[] { 4, 14 });
disableEdit.add("4,14");
// disableEdit.add("4,14");
general.put("jd2_shrq", new int[] { 4, 16 });
disableEdit.add("4,16");
// disableEdit.add("4,16");
general.put("jd2_pzrq", new int[] { 4, 18 });
disableEdit.add("4,18");
// disableEdit.add("4,18");
model.setValueAt("零件名", 6, 0);
disableEdit.add("6,0");
general.put("jd2_ljm", new int[] { 6, 2 });
@ -1417,33 +1432,34 @@ public class SampleConfirmationForm extends AbstractRendering {
JFileChooser fileChooser = new JFileChooser();
fileChooser.setFileSelectionMode(JFileChooser.FILES_ONLY);
fileChooser.setMultiSelectionEnabled(false);
fileChooser.setFileFilter(new FileFilter() {
@Override
public String getDescription() {
// TODO Auto-generated method stub
return "(图片)*.png;*.jpg;*.jpeg;*.bmp;";
}
@Override
public boolean accept(File var1) {
// TODO Auto-generated method stub
return var1.getName().endsWith(".png") || var1.getName().endsWith(".jpg")
|| var1.getName().endsWith(".jpeg") || var1.getName().endsWith(".bmp");
}
});
fileChooser.showOpenDialog(menu);// 参数表示定位
File file = fileChooser.getSelectedFile();
if (file != null) {
System.out.println("fileName:" + file.getName());
String as1[] = { file.getPath() };// 文件的物理路径
String as2[] = { "Image" };
String as2[] = new String[1];
String type = null;
String suffix = file.getName().substring(file.getName().lastIndexOf(".") + 1);
String[] datasets = JDMethodUtil.getPrefStrArray("connor_default_dataset", session);
for (String str : datasets) {
String prefSuffix = str.substring(0, str.indexOf("="));
if (suffix.equals(prefSuffix)) {
String temp = str.substring(str.indexOf("=") + 1);
String[] temps = temp.split(",");
type = temps[0];
as2[0] = temps[1];
}
}
if (type == null) {
MessageBox.post("上传文件类型不支持!", "提示", MessageBox.WARNING);
return;
}
TCComponentDatasetType datasetType;
try {
datasetType = (TCComponentDatasetType) session.getTypeComponent("Dataset");
TCComponentDataset dataset = datasetType.create(file.getName(), "", "Image");
TCComponentDataset dataset = datasetType.create(file.getName(), "", type);
dataset.setFiles(as1, as2);
TCComponent[] comps = form.getRelatedComponents();
rev.add("IMAN_specification", dataset);
String uid = dataset.getUid();
System.out.println("uid:" + uid);
@ -1682,52 +1698,49 @@ public class SampleConfirmationForm extends AbstractRendering {
JFileChooser fileChooser = new JFileChooser();
fileChooser.setFileSelectionMode(JFileChooser.FILES_ONLY);
fileChooser.setMultiSelectionEnabled(false);
fileChooser.setFileFilter(new FileFilter() {
@Override
public String getDescription() {
// TODO Auto-generated method stub
return "(文档,表格,图片)*.doc;*.docx;*.xls;*.xlsx;*.png;*.jpg;*.jpeg;*.bmp;";
}
@Override
public boolean accept(File var1) {
// TODO Auto-generated method stub
return var1.getName().endsWith(".doc") || var1.getName().endsWith(".docx")
|| var1.getName().endsWith(".xls") || var1.getName().endsWith(".xlsx")
|| var1.getName().endsWith(".png") || var1.getName().endsWith(".jpg")
|| var1.getName().endsWith(".jpeg") || var1.getName().endsWith(".bmp");
}
});
fileChooser.showOpenDialog(menu3);// 参数表示定位
File file = fileChooser.getSelectedFile();
if (file != null) {
System.out.println("fileName:" + file.getName());
String as1[] = { file.getPath() };// 文件的物理路径
String as2[] = new String[1];
String type = "";
if (file.getName().endsWith(".doc")) {
as2[0] = "word";
type = "MSWord";
} else if (file.getName().endsWith(".docx")) {
as2[0] = "word";
type = "MSWordX";
} else if (file.getName().endsWith(".xls")) {
as2[0] = "excel";
type = "MSExcel";
} else if (file.getName().endsWith(".xlsx")) {
as2[0] = "excel";
type = "MSExcelX";
} else {
as2[0] = "Image";
type = "Image";
String type = null;
String suffix = file.getName().substring(file.getName().lastIndexOf(".") + 1);
String[] datasets = JDMethodUtil.getPrefStrArray("connor_default_dataset", session);
for (String str : datasets) {
String prefSuffix = str.substring(0, str.indexOf("="));
if (suffix.equals(prefSuffix)) {
String temp = str.substring(str.indexOf("=") + 1);
String[] temps = temp.split(",");
type = temps[0];
as2[0] = temps[1];
}
}
if (type == null) {
MessageBox.post("上传文件类型不支持!", "提示", MessageBox.WARNING);
return;
}
// if (file.getName().endsWith(".doc")) {
// as2[0] = "word";
// type = "MSWord";
// } else if (file.getName().endsWith(".docx")) {
// as2[0] = "word";
// type = "MSWordX";
// } else if (file.getName().endsWith(".xls")) {
// as2[0] = "excel";
// type = "MSExcel";
// } else if (file.getName().endsWith(".xlsx")) {
// as2[0] = "excel";
// type = "MSExcelX";
// } else {
// as2[0] = "Image";
// type = "Image";
// }
TCComponentDatasetType datasetType;
try {
datasetType = (TCComponentDatasetType) session.getTypeComponent("Dataset");
TCComponentDataset dataset = datasetType.create(file.getName(), "", type);
dataset.setFiles(as1, as2);
TCComponent[] comps = form.getRelatedComponents();
rev.add("IMAN_specification", dataset);
String uid = dataset.getUid();
System.out.println("uid:" + uid);

@ -0,0 +1,21 @@
package com.connor.jd.plm.handlers;
import org.eclipse.core.commands.AbstractHandler;
import org.eclipse.core.commands.ExecutionEvent;
import org.eclipse.core.commands.ExecutionException;
import com.connor.jd.plm.action.BatchReviseAction;
import com.teamcenter.rac.aif.AbstractAIFApplication;
import com.teamcenter.rac.aifrcp.AIFUtility;
public class BatchReviseHandler extends AbstractHandler {
@Override
public Object execute(ExecutionEvent arg0) throws ExecutionException {
// TODO Auto-generated method stub
AbstractAIFApplication app = AIFUtility.getCurrentApplication();
new Thread(new BatchReviseAction(app, "")).start();
return null;
}
}

@ -0,0 +1,21 @@
package com.connor.jd.plm.handlers;
import org.eclipse.core.commands.AbstractHandler;
import org.eclipse.core.commands.ExecutionEvent;
import org.eclipse.core.commands.ExecutionException;
import com.connor.jd.plm.action.DeleteItemRevisionAction;
import com.teamcenter.rac.aifrcp.AIFUtility;
public class DeleteItemRevisionHandler extends AbstractHandler {
@Override
public Object execute(ExecutionEvent arg0) throws ExecutionException {
// TODO Auto-generated method stub
DeleteItemRevisionAction action = new DeleteItemRevisionAction(AIFUtility.getCurrentApplication(), "");
new Thread(action).start();
return null;
}
}

@ -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<String> operationComboBox;
private JComboBox<String> changePageSizeComboBox;
private JButton queryButton, prevPageButton, nextPageButton, changeSizeButton;
private int currentPageNum;
private int pageSize = 20;//每页数据量
private DefaultTableModel model;
private List<String[]> data = new ArrayList<String[]>();//查询出的所有数据
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);
// 在这里添加双击后的操作,例如显示详细信息
// 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<String[]> 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<String> entryNames,List<String> 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("未正确传入查询构建器的查询条目和参数,请核对!");
}
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<String> entryNames = new ArrayList<String>();
List<String> entryValues = new ArrayList<String>();
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("===》获取节点对象的fnd0RootTask的uid="+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();
}
}
}

@ -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 + "]";
}
}

@ -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;
}
}

@ -29,7 +29,7 @@ public class JCheckPanel extends JPanel {
buttons = new JCheckBox[text.length];
for (int i = 0; i < text.length; i++) {
buttons[i] = new JCheckBox(text[i]);
buttons[i].setPreferredSize(new Dimension(100, 25));
buttons[i].setPreferredSize(new Dimension(60, 25));
if (isSingle) {
buttonGroup.add(buttons[i]);
}
@ -73,7 +73,10 @@ public class JCheckPanel extends JPanel {
String[] arr = value.split(",");
for (int i = 0; i < arr.length; i++) {
for (int ii = 0; ii < buttons.length; ii++) {
buttons[ii].setSelected(buttons[ii].getText().equals(arr[i]));
if (buttons[ii].getText().equals(arr[i])) {
buttons[ii].setSelected(true);
break;
}
}
}
}

@ -75,7 +75,7 @@ public class MyCellEditor1 extends DefaultCellEditor {
public Object getCellEditorValue() {
// TODO Auto-generated method stub
Object obj = super.getCellEditorValue();
if (obj != null && !"".equals(obj.toString().trim()) && row >= top && row <= bottom) {
if (obj != null && !"".equals(obj.toString().trim()) && row >= top - 3 && row <= bottom) {
try {
Double.parseDouble(obj.toString().trim());
} catch (Exception e) {

@ -18,6 +18,7 @@ public class MyCellEditor4 extends DefaultCellEditor {
@Override
public Component getTableCellEditorComponent(JTable table, Object value, boolean isSelected, int row, int column) {
if (value instanceof JCheckBox) {
System.out.println("123456789abcdefg");
check = (JCheckBox) value;
type = 1;
return check;

@ -46,7 +46,8 @@ public class DialogUtil {
};
JTable msgTable = new JTable(msgModel);
for (int columnIndex = 0; columnIndex < msgTable.getColumnCount(); columnIndex++) {
msgTable.getColumnModel().getColumn(columnIndex).setMinWidth(100);
// msgTable.getColumnModel().getColumn(columnIndex).setMinWidth(100);
msgTable.getColumnModel().getColumn(columnIndex).setPreferredWidth(200);
}
msgTable.setRowHeight(25);
msgTable.setShowGrid(false);
@ -62,7 +63,7 @@ public class DialogUtil {
msgTable.invalidate();
msgTable.repaint();
JScrollPane msgPanel = new JScrollPane(msgTable);
msgPanel.setPreferredSize(new Dimension(header.length * 100, 200));
msgPanel.setPreferredSize(new Dimension(header.length * 200, 400));
msgPanel.setBorder(BorderFactory.createEmptyBorder());
return new TableMsg(msgPanel, msgTable);
}
@ -185,6 +186,7 @@ public class DialogUtil {
List<Object[]> tableDataList = new ArrayList<Object[]>();
for (TCComponentItem item : items) {
try {
item.refresh();
TCComponent[] comps = item.getRelatedComponents("revision_list");
for (TCComponent comp : comps) {
String objetcString = comp.getProperty("object_string");

@ -0,0 +1,69 @@
package com.connor.jd.plm.utils;
import java.io.File;
import java.io.InputStream;
import java.util.ArrayList;
import java.util.List;
import com.aspose.cells.Cells;
import com.aspose.cells.License;
import com.aspose.cells.Workbook;
import com.aspose.cells.WorksheetCollection;
public class SimpleExcelUtil {
public static void exportExcel(String path, String[] header, List<String[]> data) {
if (path == null || data == null) {
return;
}
try {
File file = new File(path);
file.createNewFile();
getLicense();
Workbook excel = new Workbook(path);
WorksheetCollection wc = excel.getWorksheets();
Cells cells = wc.get(0).getCells();
int rowIndex = 0;
if (header != null) {
for (int columnIndex = 0; columnIndex < header.length; columnIndex++) {
cells.get(rowIndex, columnIndex).setValue(header[columnIndex]);
}
rowIndex++;
}
for (String[] arr : data) {
for (int columnIndex = 0; columnIndex < arr.length; columnIndex++) {
cells.get(rowIndex, columnIndex).setValue(arr[columnIndex]);
}
rowIndex++;
}
excel.save(path);
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
public static boolean getLicense() throws Exception {
boolean result = false;
try {
InputStream is = com.aspose.cells.Cell.class.getResourceAsStream("/com/aspose/cells/resources/license.xml");
License aposeLic = new License();
aposeLic.setLicense(is);
result = true;
is.close();
} catch (Exception e) {
e.printStackTrace(System.out);
throw e;
}
return result;
}
public static void main(String[] args) {
List<String[]> test = new ArrayList<String[]>();
test.add(new String[] { "zzz", "xxx" });
SimpleExcelUtil.exportExcel(System.getenv("temp") + File.separator + "xxxxxxxxxxxxxxxxxxxx.xlsx",
new String[] { "1", "2" }, test);
System.out.println(System.getenv("temp"));
}
}

@ -0,0 +1,873 @@
package com.teamcenter.rac.commands.open;
import java.awt.Dialog;
import java.awt.Frame;
import java.awt.Window;
import java.lang.reflect.InvocationTargetException;
import java.text.MessageFormat;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.Vector;
import javax.swing.SwingUtilities;
import org.apache.log4j.Logger;
import org.eclipse.core.runtime.IProgressMonitor;
import org.eclipse.core.runtime.IStatus;
import org.eclipse.core.runtime.Status;
import org.eclipse.core.runtime.jobs.Job;
import org.eclipse.jface.dialogs.MessageDialog;
import org.eclipse.swt.widgets.Display;
import org.eclipse.ui.IPerspectiveDescriptor;
import com.teamcenter.rac.aif.AIFDesktop;
import com.teamcenter.rac.aif.AIFPortal;
import com.teamcenter.rac.aif.AbstractAIFCommand;
import com.teamcenter.rac.aif.AbstractAIFDialog;
import com.teamcenter.rac.aif.AbstractAIFOperation;
import com.teamcenter.rac.aif.ICommandListener;
import com.teamcenter.rac.aif.ICommandListenerEvent;
import com.teamcenter.rac.aif.IPerspectiveDef;
import com.teamcenter.rac.aif.IPerspectiveDefService;
import com.teamcenter.rac.aif.kernel.AIFComponentContext;
import com.teamcenter.rac.aif.kernel.AbstractAIFSession;
import com.teamcenter.rac.aif.kernel.InterfaceAIFComponent;
import com.teamcenter.rac.aifrcp.AifrcpPlugin;
import com.teamcenter.rac.commands.newobjectlink.NewObjectLinkCommand;
import com.teamcenter.rac.commands.properties.PropertiesCommand;
import com.teamcenter.rac.common.Activator;
import com.teamcenter.rac.common.services.IOpenConfigurationService;
import com.teamcenter.rac.common.viewedit.IViewEditOperationListener;
import com.teamcenter.rac.common.viewedit.ViewEditHelper;
import com.teamcenter.rac.kernel.NamedReferenceContext;
import com.teamcenter.rac.kernel.TCComponent;
import com.teamcenter.rac.kernel.TCComponentBOMView;
import com.teamcenter.rac.kernel.TCComponentBOMViewRevision;
import com.teamcenter.rac.kernel.TCComponentCfgAttachmentLine;
import com.teamcenter.rac.kernel.TCComponentDataset;
import com.teamcenter.rac.kernel.TCComponentDatasetDefinition;
import com.teamcenter.rac.kernel.TCComponentFnd0AbstractMarkupSpace;
import com.teamcenter.rac.kernel.TCComponentForm;
import com.teamcenter.rac.kernel.TCComponentItemRevision;
import com.teamcenter.rac.kernel.TCComponentReleaseStatus;
import com.teamcenter.rac.kernel.TCComponentStructureContext;
import com.teamcenter.rac.kernel.TCComponentTcFile;
import com.teamcenter.rac.kernel.TCComponentType;
import com.teamcenter.rac.kernel.TCComponentWolfObject;
import com.teamcenter.rac.kernel.TCComponentWorkContext;
import com.teamcenter.rac.kernel.TCException;
import com.teamcenter.rac.kernel.TCPreferenceService;
import com.teamcenter.rac.kernel.TCProperty;
import com.teamcenter.rac.kernel.TCSession;
import com.teamcenter.rac.services.IOpenService;
import com.teamcenter.rac.util.ConfirmationDialog;
import com.teamcenter.rac.util.Instancer;
import com.teamcenter.rac.util.MessageBox;
import com.teamcenter.rac.util.OSGIUtil;
import com.teamcenter.rac.util.PlatformHelper;
import com.teamcenter.rac.util.Registry;
import com.teamcenter.rac.util.SWTUIUtilities;
import com.teamcenter.rac.util.Utilities;
import com.teamcenter.rac.util.event.ClientEventDispatcher;
import com.teamcenter.rac.util.log.Debug;
public class OpenCommand extends com.teamcenter.rac.aif.commands.open.OpenCommand {
private static final String[] SPECIAL_TYPES = new String[] { "Specification", "SpecElement",
"Specification Revision", "SpecElementRevision" };
private static final int TC_not_a_valid_operation_Tool = 9130;
private static final int TC_asynchronous_upload_error = 0;
protected AIFDesktop frame;
private static final String[] MSOFILES = new String[] { ".doc", ".dot", ".xls", ".xlt", ".ppt", ".pot", ".docx",
".dotx", ".xlsx", ".xltx", ".pptx", ".potx", ".docm", ".dotm", ".xlsm", ".xltm", ".pptm", ".potm", ".msg" };
public OpenCommand(AIFPortal paramAIFPortal, InterfaceAIFComponent paramInterfaceAIFComponent) {
super(paramAIFPortal, paramInterfaceAIFComponent);
}
public OpenCommand(AIFPortal paramAIFPortal, InterfaceAIFComponent[] paramArrayOfInterfaceAIFComponent) {
super(paramAIFPortal, paramArrayOfInterfaceAIFComponent);
}
public OpenCommand(AIFDesktop paramAIFDesktop, InterfaceAIFComponent paramInterfaceAIFComponent) {
super(paramAIFDesktop, paramInterfaceAIFComponent);
this.frame = paramAIFDesktop;
}
public OpenCommand(AIFDesktop paramAIFDesktop, InterfaceAIFComponent[] paramArrayOfInterfaceAIFComponent) {
super(paramAIFDesktop, paramArrayOfInterfaceAIFComponent);
this.frame = paramAIFDesktop;
InterfaceAIFComponent interfaceAIFComponent = paramArrayOfInterfaceAIFComponent[0];
if (interfaceAIFComponent instanceof TCComponentStructureContext) {
TCComponentStructureContext tCComponentStructureContext = (TCComponentStructureContext) interfaceAIFComponent;
TCComponentWorkContext tCComponentWorkContext = null;
TCSession tCSession = (TCSession) interfaceAIFComponent.getSession();
try {
tCComponentWorkContext = (TCComponentWorkContext) tCComponentStructureContext
.getReferenceProperty("default_workcontext");
if (tCComponentWorkContext != null && tCSession != null
&& tCComponentWorkContext != tCSession.getCurrentWorkContext())
tCSession.setCurrentWorkContext(tCComponentWorkContext);
} catch (Exception exception) {
}
}
}
public OpenCommand(AIFDesktop paramAIFDesktop, Dialog paramDialog,
InterfaceAIFComponent paramInterfaceAIFComponent) {
super(paramAIFDesktop, paramDialog, paramInterfaceAIFComponent);
this.frame = paramAIFDesktop;
}
public OpenCommand(AIFDesktop paramAIFDesktop, Dialog paramDialog,
InterfaceAIFComponent[] paramArrayOfInterfaceAIFComponent) {
super(paramAIFDesktop, paramDialog, paramArrayOfInterfaceAIFComponent);
this.frame = paramAIFDesktop;
}
protected boolean checkReadOnly() {
return true;
}
@Override
public int postReadOnlyConfirmation(String paramString) {
Registry registry = Registry.getRegistry(this);
return ConfirmationDialog.post(this.desktop,
String.valueOf(registry.getString("readOnly.TITLE")) + " " + paramString,
registry.getStringWithSubstitution("readOnly.MSG", new String[] { paramString }),
"FormReadOnlyConfirmation");
}
@Override
protected String resolveType(String[] paramArrayOfString, InterfaceAIFComponent paramInterfaceAIFComponent)
throws Exception {
String str1 = null;
TCComponent tCComponent = (TCComponent) paramInterfaceAIFComponent;
if (tCComponent.isTypeOf(SPECIAL_TYPES))
return "Specification";
if (tCComponent instanceof TCComponentBOMViewRevision) {
TCComponentBOMViewRevision tCComponentBOMViewRevision = (TCComponentBOMViewRevision) tCComponent;
TCComponent tCComponent1 = tCComponentBOMViewRevision.getRelatedComponent("bom_view");
TCComponent tCComponent2 = tCComponent1.getRelatedComponent("parent_item");
if (tCComponent2.isTypeOf(SPECIAL_TYPES))
return "Specification";
}
if (tCComponent instanceof TCComponentBOMView) {
TCComponentBOMView tCComponentBOMView = (TCComponentBOMView) tCComponent;
TCComponent tCComponent1 = tCComponentBOMView.getRelatedComponent("parent_item");
if (tCComponent1.isTypeOf(SPECIAL_TYPES))
return "Specification";
}
List<String> list = Arrays.asList(paramArrayOfString);
String str2 = tCComponent.getType();
if (!(tCComponent instanceof com.teamcenter.rac.kernel.TCComponentPseudoFolder) && list.contains(str2)) {
str1 = str2;
} else {
(new String[1])[0] = "POM_object";
String[] arrayOfString = (tCComponent instanceof com.teamcenter.rac.kernel.TCComponentPseudoFolder)
? new String[1]
: tCComponent.getClassNameHierarchy();
if (arrayOfString != null) {
String[] arrayOfString1;
int i = (arrayOfString1 = arrayOfString).length;
for (byte b = 0; b < i; b++) {
String str = arrayOfString1[b];
if (list.contains(str)) {
str1 = str;
break;
}
}
}
}
return str1;
}
@Override
protected String getRegisteredClass(InterfaceAIFComponent paramInterfaceAIFComponent, String paramString)
throws Exception {
if (paramString.equals("APPLICATION")) {
IOpenConfigurationService iOpenConfigurationService = (IOpenConfigurationService) OSGIUtil
.getService(Activator.getDefault(), IOpenConfigurationService.class);
String str = iOpenConfigurationService.getPerspectiveIdToOpenWith(paramInterfaceAIFComponent);
return (str != null && !str.isEmpty()) ? str : null;
}
return super.getRegisteredClass(paramInterfaceAIFComponent, paramString);
}
@Override
protected boolean isReadOnly(InterfaceAIFComponent paramInterfaceAIFComponent) {
boolean bool = false;
if (paramInterfaceAIFComponent == null)
return bool;
if (this.session == null)
this.session = paramInterfaceAIFComponent.getSession();
if (this.session == null || !(this.session instanceof TCSession)
|| !(paramInterfaceAIFComponent instanceof TCComponent))
return bool;
if (paramInterfaceAIFComponent instanceof TCComponentDataset
|| paramInterfaceAIFComponent instanceof TCComponentForm) {
TCComponent tCComponent = (TCComponent) paramInterfaceAIFComponent;
try {
ArrayList<TCComponent> arrayList = new ArrayList();
arrayList.add(tCComponent);
TCComponentType.refresh(arrayList);
if (paramInterfaceAIFComponent instanceof TCComponentDataset) {
bool = ((TCComponentDataset) paramInterfaceAIFComponent).isEditable() ? false : true;
} else {
bool = tCComponent.okToModify() ? false : true;
}
} catch (Exception exception) {
Logger.getLogger(OpenCommand.class).error(exception.getLocalizedMessage(), exception);
}
}
return bool;
}
@Override
protected boolean isUploading(InterfaceAIFComponent paramInterfaceAIFComponent) {
if (paramInterfaceAIFComponent == null || !(paramInterfaceAIFComponent instanceof TCComponentDataset))
return false;
TCComponentDataset tCComponentDataset = (TCComponentDataset) paramInterfaceAIFComponent;
return tCComponentDataset.askUploadingFlag();
}
@Override
protected boolean openComponent(InterfaceAIFComponent paramInterfaceAIFComponent) throws Exception {
boolean bool1 = isSupportedComponent(paramInterfaceAIFComponent);
boolean bool2 = false;
if (bool1)
if (paramInterfaceAIFComponent.getType().equals("SimulationProcessStudio")) {
bool2 = openApplication(paramInterfaceAIFComponent);
} else if (((TCComponent) paramInterfaceAIFComponent).isTypeOf("Fnd0AbstractMarkupSpace")) {
bool2 = openMarkupSpaceInApplication((TCComponentFnd0AbstractMarkupSpace) paramInterfaceAIFComponent);
} else {
bool2 = super.openComponent(paramInterfaceAIFComponent);
}
return bool2;
}
protected boolean isSupportedComponent(InterfaceAIFComponent paramInterfaceAIFComponent) throws TCException {
return true;
}
@Override
protected boolean openByWindow(InterfaceAIFComponent paramInterfaceAIFComponent) throws Exception {
if (paramInterfaceAIFComponent instanceof TCComponentForm) {
if (((TCComponentForm) paramInterfaceAIFComponent).isTypeOf("Web Link")) {
TCComponentForm tCComponentForm = (TCComponentForm) paramInterfaceAIFComponent;
TCProperty[] arrayOfTCProperty = tCComponentForm.getFormTCProperties();
TCProperty tCProperty = null;
if (arrayOfTCProperty != null) {
TCProperty[] arrayOfTCProperty1;
int i = (arrayOfTCProperty1 = arrayOfTCProperty).length;
for (byte b = 0; b < i; b++) {
TCProperty tCProperty1 = arrayOfTCProperty1[b];
if (tCProperty1.getPropertyName().equals("url")) {
tCProperty = tCProperty1;
break;
}
}
}
if (tCProperty != null)
openWebLink(paramInterfaceAIFComponent.toString(), tCProperty.getStringValue());
return true;
}
TCPreferenceService tCPreferenceService = ((TCComponent) paramInterfaceAIFComponent).getSession()
.getPreferenceService();
String str = tCPreferenceService.getStringValue("Form_double_click");
if (str != null && str.equalsIgnoreCase("edit")) {
openFormBasedOnPrefValue((TCComponentForm) paramInterfaceAIFComponent);
return true;
}
openFormByOpenWindowMethod((TCComponentForm) paramInterfaceAIFComponent);
return true;
}
if (paramInterfaceAIFComponent instanceof TCComponent
&& ((TCComponent) paramInterfaceAIFComponent).isTypeOf("WolfObject")) {
String str = NewObjectLinkCommand.getObjCurrentUrl((TCComponentWolfObject) paramInterfaceAIFComponent,
(Frame) this.frame, (TCSession) this.session);
if (str != null) {
if (Debug.isOn("proxylink"))
Debug.println("Object URL: " + str);
openWebLink((String) null, str);
} else if (Debug.isOn("proxylink")) {
Debug.println("Object URL is NULL");
}
return true;
}
return (paramInterfaceAIFComponent instanceof com.teamcenter.rac.kernel.TCComponentPseudoFolder) ? false
: super.openByWindow(paramInterfaceAIFComponent);
}
private void openFormBasedOnPrefValue(final TCComponentForm formComp) {
final ViewEditHelper veHelper = new ViewEditHelper(formComp.getSession());
Job job = new Job("") {
@Override
protected IStatus run(IProgressMonitor param1IProgressMonitor) {
param1IProgressMonitor.beginTask("Form Dialog..", -1);
try {
ViewEditHelper.CKO cKO = veHelper.getObjectState(formComp);
if (veHelper.isSWTPerspective()) {
OpenCommand.IC_PostReserveSWTListener iC_PostReserveSWTListener = new OpenCommand.IC_PostReserveSWTListener(
formComp);
if (ViewEditHelper.CKO.IMPLICITLY_CHECKOUTABLE.equals(cKO)) {
iC_PostReserveSWTListener.operationComplete(0);
} else {
veHelper.reserveSWTOperation(formComp, formComp.getSession(), iC_PostReserveSWTListener);
}
} else {
OpenCommand.IC_PostReserveCommandListener iC_PostReserveCommandListener = new OpenCommand.IC_PostReserveCommandListener(
formComp);
if (ViewEditHelper.CKO.IMPLICITLY_CHECKOUTABLE.equals(cKO)) {
iC_PostReserveCommandListener.commandDone(null);
} else {
veHelper.reserveOperation(formComp, iC_PostReserveCommandListener);
}
}
} catch (TCException tCException) {
Logger.getLogger(OpenCommand.class).error(tCException.getLocalizedMessage(), tCException);
} finally {
param1IProgressMonitor.done();
}
return Status.OK_STATUS;
}
};
job.setPriority(10);
job.schedule();
}
protected void openFormByOpenWindowMethod(TCComponentForm paramTCComponentForm) throws Exception {
IOpenService iOpenService = (IOpenService) OSGIUtil.getService(Activator.getDefault(), IOpenService.class,
"(objectType=" + paramTCComponentForm.getType() + ")");
if (iOpenService != null) {
Logger.getLogger(OpenCommand.class).debug("Open service is found, use it to open the form.");
boolean bool1 = iOpenService.open(paramTCComponentForm);
if (bool1) {
Logger.getLogger(OpenCommand.class).debug("Form is opened by open service.");
return;
}
} else {
Logger.getLogger(OpenCommand.class).debug("No Open Service is found. Continue.");
}
String str = null;
TCPreferenceService tCPreferenceService = paramTCComponentForm.getSession().getPreferenceService();
String[] arrayOfString = tCPreferenceService.getStringValues("defaultViewerConfig.VIEWERCONFIG");
Boolean bool = tCPreferenceService.getLogicalValue("UsePropertyStylesheetPlatformRenderer");
if (bool.booleanValue()) {
str = this.registry.getString("openFormDialog");
} else if (arrayOfString != null && arrayOfString.length != 0) {
String str1 = String.valueOf(paramTCComponentForm.getType()) + ".FormViewer";
if (Utilities.contains(str1, arrayOfString) || Utilities.contains("Form.FormViewer", arrayOfString))
str = this.registry.getString("openFormDialog");
}
openByWindow(paramTCComponentForm, str);
}
@Override
protected boolean openByOpenMethod(InterfaceAIFComponent paramInterfaceAIFComponent) throws Exception {
if (paramInterfaceAIFComponent instanceof TCComponentDataset) {
if (paramInterfaceAIFComponent.getType().equals("FullText")) {
openFullText((TCComponentDataset) paramInterfaceAIFComponent);
} else if (paramInterfaceAIFComponent.getType().equals("ProgramView")) {
openProgramView((TCComponentDataset) paramInterfaceAIFComponent);
} else if (paramInterfaceAIFComponent.getType().equals("SnapShotViewData")) {
openProgramView((TCComponentDataset) paramInterfaceAIFComponent);
} else {
TCComponentDataset tCComponentDataset = (TCComponentDataset) paramInterfaceAIFComponent;
boolean bool = false;
TCComponentTcFile[] arrayOfTCComponentTcFile = tCComponentDataset.getTcFiles();
if (arrayOfTCComponentTcFile != null && arrayOfTCComponentTcFile.length > 0) {
bool = validFileForMSOIntegration(arrayOfTCComponentTcFile[0]);
} else {
String[] arrayOfString = null;
TCComponentDatasetDefinition tCComponentDatasetDefinition = tCComponentDataset
.getDatasetDefinitionComponent();
NamedReferenceContext[] arrayOfNamedReferenceContext = tCComponentDatasetDefinition
.getNamedReferenceContexts();
if (arrayOfNamedReferenceContext != null) {
arrayOfString = new String[arrayOfNamedReferenceContext.length];
for (byte b = 0; b < arrayOfNamedReferenceContext.length; b++) {
arrayOfString[b] = arrayOfNamedReferenceContext[b].getFileTemplate();
if (arrayOfString[b] != null && arrayOfString[b].indexOf('.') > 0) {
String str = arrayOfString[b].substring(arrayOfString[b].lastIndexOf('.'));
String[] arrayOfString1;
int i = (arrayOfString1 = MSOFILES).length;
for (byte b1 = 0; b1 < i; b1++) {
String str1 = arrayOfString1[b1];
if (str.equalsIgnoreCase(str1)) {
bool = true;
break;
}
}
}
if (bool)
break;
}
}
}
if (bool)
tCComponentDataset.setOfficeType(bool);
openDataset(tCComponentDataset);
}
return true;
}
return super.openByOpenMethod(paramInterfaceAIFComponent);
}
private boolean openMarkupSpaceInApplication(
TCComponentFnd0AbstractMarkupSpace paramTCComponentFnd0AbstractMarkupSpace) throws Exception {
boolean bool = false;
TCComponent[] arrayOfTCComponent = paramTCComponentFnd0AbstractMarkupSpace
.getReferenceListProperty("fnd0ReferenceObjects");
if (arrayOfTCComponent != null && arrayOfTCComponent.length == 1) {
TCComponent tCComponent = arrayOfTCComponent[0];
String str = getRegisteredClass(tCComponent, "APPLICATION");
if (str != null) {
IPerspectiveDescriptor iPerspectiveDescriptor = PlatformHelper.getCurrentPerspective();
IPerspectiveDefService iPerspectiveDefService = (IPerspectiveDefService) OSGIUtil
.getService(AifrcpPlugin.getDefault(), IPerspectiveDefService.class);
IPerspectiveDef iPerspectiveDef = iPerspectiveDefService.findByLegacyAppId(str);
if (iPerspectiveDef != null) {
IPerspectiveDef iPerspectiveDef1 = iPerspectiveDefService.findByPerspective(iPerspectiveDescriptor);
if (iPerspectiveDef1 != null) {
String str1 = iPerspectiveDef1.getLegacyAppId();
final InterfaceAIFComponent[] arrayOfInterfaceAIFComponent = new InterfaceAIFComponent[2];
arrayOfInterfaceAIFComponent[0] = tCComponent;
arrayOfInterfaceAIFComponent[1] = paramTCComponentFnd0AbstractMarkupSpace;
if (!iPerspectiveDefService.isTypeOfLegacyApp(str, str1)) {
final String perspectiveId = iPerspectiveDef.getId();
SWTUIUtilities.asyncExec(new Runnable() {
@Override
public void run() {
AifrcpPlugin.getDefault().openPerspective(perspectiveId);
AifrcpPlugin.getDefault().openComponents(perspectiveId,
arrayOfInterfaceAIFComponent);
}
});
bool = true;
} else {
final IOpenService openService = iPerspectiveDef1.getOpenService();
if (openService != null) {
Job job = new Job(Registry.getRegistry(this).getString("openComponent.MESSAGE")) {
@Override
protected IStatus run(IProgressMonitor param1IProgressMonitor) {
boolean bool = openService.open(arrayOfInterfaceAIFComponent);
return bool ? Status.OK_STATUS : Status.CANCEL_STATUS;
}
};
job.schedule();
bool = true;
}
}
}
}
}
} else {
bool = openApplication(paramTCComponentFnd0AbstractMarkupSpace);
}
return bool;
}
public void openDataset(TCComponentDataset paramTCComponentDataset) throws Exception {
boolean bool = true;
boolean bool1 = isReadOnly(paramTCComponentDataset);
if (!bool1)
try {
paramTCComponentDataset.openForEdit();
} catch (TCException | java.io.IOException tCException) {
if (tCException instanceof TCException) {
if (((TCException) tCException).getErrorCode() == 9130) {
MessageBox.post(tCException);
return;
}
if (((TCException) tCException).getErrorCode() == 0)
throw tCException;
}
int i = postReadOnlyConfirmation(paramTCComponentDataset.toString());
if (i != 2)
return;
bool = false;
} catch (Exception exception) {
throw exception;
}
if (bool1 || !bool)
try {
paramTCComponentDataset.openForView();
} catch (Exception exception) {
throw exception;
}
}
public void openFullText(TCComponentDataset paramTCComponentDataset) {
boolean bool = isReadOnly(paramTCComponentDataset) ? false : true;
try {
AbstractAIFOperation abstractAIFOperation = (AbstractAIFOperation) Instancer.newInstanceEx(
"com.teamcenter.rac.requirementsmanager.commands.viewedit.ViewEditOperation",
new Object[] { paramTCComponentDataset, Boolean.valueOf(bool) });
abstractAIFOperation.executeModeless();
} catch (Exception exception) {
Logger.getLogger(OpenCommand.class).error(exception.getLocalizedMessage(), exception);
}
}
public void openProgramView(TCComponentDataset paramTCComponentDataset) {
try {
openApplication(paramTCComponentDataset);
} catch (Exception exception) {
Logger.getLogger(OpenCommand.class).error(exception.getLocalizedMessage(), exception);
}
}
@Override
protected boolean isReleased(List<InterfaceAIFComponent> paramList) {
final AbstractAIFDialog effDia;
try {
if (!((TCSession) this.session).isInV7Mode())
return true;
} catch (Exception exception) {
MessageBox.post(exception);
}
TCComponentReleaseStatus[] arrayOfTCComponentReleaseStatus = new TCComponentReleaseStatus[paramList.size()];
for (byte b = 0; b < arrayOfTCComponentReleaseStatus.length; b++)
arrayOfTCComponentReleaseStatus[b] = (TCComponentReleaseStatus) paramList.get(b);
try {
effDia = (AbstractAIFDialog) Instancer.newInstance(
"com.teamcenter.rac.effectivity.ReleaseStatusEffectivityDialog",
new Object[] { arrayOfTCComponentReleaseStatus, this.frame });
} catch (Exception exception) {
MessageBox.post(exception, true);
return true;
}
Runnable runnable = new Runnable() {
@Override
public void run() {
effDia.run();
}
};
SwingUtilities.invokeLater(runnable);
return true;
}
@Override
protected boolean isArchived(InterfaceAIFComponent paramInterfaceAIFComponent) {
boolean bool = false;
if (paramInterfaceAIFComponent == null)
return bool;
if (this.session == null)
this.session = paramInterfaceAIFComponent.getSession();
if (this.session == null || !(this.session instanceof TCSession)
|| !(paramInterfaceAIFComponent instanceof TCComponent))
return bool;
if (paramInterfaceAIFComponent instanceof TCComponentDataset
|| paramInterfaceAIFComponent instanceof TCComponentForm) {
TCComponent tCComponent = (TCComponent) paramInterfaceAIFComponent;
try {
String str = tCComponent.getProperty("archive_date");
if (str != null && str.length() > 0)
bool = true;
} catch (Exception exception) {
Logger.getLogger(OpenCommand.class).error(exception.getLocalizedMessage(), exception);
}
}
return bool;
}
@Override
protected void executeCommand() throws Exception {
final Registry commandRegistry = Registry.getRegistry(this);
TCPreferenceService tCPreferenceService = (TCPreferenceService) OSGIUtil.getService(Activator.getDefault(),
TCPreferenceService.class);
final Integer prefValue = tCPreferenceService.getIntegerValue("TCMaxOpenViewsLimit");
InterfaceAIFComponent[] arrayOfInterfaceAIFComponent = new InterfaceAIFComponent[prefValue.intValue()];
if (this.components.length > prefValue.intValue()) {
for (byte b = 0; b < prefValue.intValue(); b++)
arrayOfInterfaceAIFComponent[b] = this.components[b];
this.components = arrayOfInterfaceAIFComponent;
final Display display = PlatformHelper.getCurrentDisplay();
display.asyncExec(new Runnable() {
@Override
public void run() {
MessageDialog messageDialog = new MessageDialog(display.getActiveShell(),
commandRegistry.getString("tooManyViews.TITLE"), null,
MessageFormat.format(commandRegistry.getString("tooManyViewsError.MSG"),
new Object[] { prefValue }),
4, new String[] { commandRegistry.getString("openViewDialog_buttonOK"),
commandRegistry.getString("openViewDialog_buttonCancel") },
0);
if (messageDialog.open() != 0)
return;
OpenCommand.this.openComponents();
}
});
} else {
openComponents();
}
}
private void openComponents() {
this.session.queueOperation(new AbstractAIFOperation(Registry.getRegistry(this).getString("opening")) {
@Override
public final void executeOperation() throws Exception {
Registry registry = Registry.getRegistry(this);
Vector<InterfaceAIFComponent> vector = new Vector();
InterfaceAIFComponent[] arrayOfInterfaceAIFComponent;
int i = (arrayOfInterfaceAIFComponent = OpenCommand.this.components).length;
for (byte b = 0; b < i; b++) {
InterfaceAIFComponent interfaceAIFComponent1 = arrayOfInterfaceAIFComponent[b];
InterfaceAIFComponent interfaceAIFComponent2 = interfaceAIFComponent1;
System.out.println(interfaceAIFComponent2);
// jd
if (interfaceAIFComponent2 instanceof TCComponentDataset) {
try {
TCSession tcSession = (TCSession) interfaceAIFComponent2.getSession();
TCPreferenceService service = tcSession.getPreferenceService();
String[] pref = service.getStringValues("jd_dataset_download");
String[] pref2 = service.getStringValues("jd_wl_type_classify");
Map<String, List<String>> typeClassify = new HashMap<String, List<String>>();
List<String> list = new ArrayList<String>();
if (pref != null && pref.length > 0) {
System.out.println("首选项配置===>" + Arrays.toString(pref));
list = Arrays.asList(pref);
}
if (pref2 != null && pref2.length > 0) {
System.out.println("首选项配置2===>" + Arrays.toString(pref2));
for (String str : pref2) {
String[] row = str.split(":");
typeClassify.put(row[0], Arrays.asList(row[1].split(",")));
}
}
TCComponentDataset dataset = (TCComponentDataset) interfaceAIFComponent2;
System.out.println(dataset.getProperty("object_string"));
System.out.println(dataset.getType());
if (list.contains(dataset.getType())) {
boolean flag = false;
String currentUser = tcSession.getUser().getProperty("object_string");
String owningUser = dataset.getProperty("owning_user");
System.out.println("currentUser===>" + currentUser + ",owningUser===>" + owningUser);
if (currentUser.equals(owningUser)) {
System.out.println("所有者");
flag = true;
}
String loginGroup = tcSession.getUser().getProperty("login_group");
System.out.println("loginGroup===>" + loginGroup);
System.out.println("pre===>" + flag);
if (loginGroup.contains("dba")) {
System.out.println("dba");
flag = true;
}
System.out.println("behind===>" + flag);
if (!flag) {
AIFComponentContext[] revs = dataset.whereReferenced();
for (AIFComponentContext aif1 : revs) {
if (aif1.getComponent() != null
&& (aif1.getComponent() instanceof TCComponentItemRevision)) {
String type = aif1.getComponent().getType();
System.out.println("类型===>" + type);
if ((loginGroup.contains("研发一部") && typeClassify.get("GT") != null
&& typeClassify.get("GT").contains(type))
|| (loginGroup.contains("研发二部") && typeClassify.get("BL") != null
&& typeClassify.get("BL").contains(type))
|| (loginGroup.contains("研发五部") && typeClassify.get("BX") != null
&& typeClassify.get("BX").contains(type))) {
System.out.println("满足条件");
flag = true;
break;
}
}
}
}
if (!flag) {
MessageBox.post("不允许打开", "提示", MessageBox.WARNING);
return;
}
}
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
interfaceAIFComponent2 = OpenCommand.this.getOpeningComponent(interfaceAIFComponent2);
if (interfaceAIFComponent2 instanceof TCComponentReleaseStatus) {
vector.addElement(interfaceAIFComponent2);
continue;
}
if (OpenCommand.this.isArchived(interfaceAIFComponent2)) {
MessageBox.post(OpenCommand.this.desktop,
String.valueOf(interfaceAIFComponent2.toString()) + " "
+ registry.getString("archivedObject.MSG"),
registry.getString("archivedObject.TITLE"), 4);
continue;
}
if (OpenCommand.this.checkReadOnly() && OpenCommand.this.isReadOnly(interfaceAIFComponent2)) {
TCComponent tCComponent = null;
if (interfaceAIFComponent2 instanceof TCComponent) {
tCComponent = (TCComponent) interfaceAIFComponent2;
tCComponent.clearCache("checked_out_user");
}
String str2 = "";
int j = 0;
String str1 = interfaceAIFComponent2.getProperty("checked_out_user").trim();
if (!str1.equals("")) {
Registry registry1 = Registry.getRegistry(this);
str2 = MessageFormat.format(registry1.getString("checkedOut.MSG"), new Object[] { str1 });
j = ConfirmationDialog.post(OpenCommand.this.desktop,
String.valueOf(registry1.getString("checkedOut.TITLE")) + " "
+ interfaceAIFComponent2.toString(),
String.valueOf(interfaceAIFComponent2.toString()) + " " + str2,
"FormReadOnlyConfirmation");
} else {
j = OpenCommand.this.postReadOnlyConfirmation(interfaceAIFComponent2.toString());
}
if (j != 2)
continue;
}
if (OpenCommand.this.isUploading(interfaceAIFComponent2)) {
int j = OpenCommand.this.postUploadingConfirmation(interfaceAIFComponent2.toString());
if (j != 2)
continue;
}
AbstractAIFSession abstractAIFSession = interfaceAIFComponent2.getSession();
try {
setStatus(interfaceAIFComponent2.toString());
OpenCommand.this.processOpen(interfaceAIFComponent2);
} catch (InvocationTargetException invocationTargetException) {
MessageBox messageBox = new MessageBox(OpenCommand.this.desktop,
invocationTargetException.getTargetException().getCause().toString(),
registry.getString("unableToOpen"), 1);
messageBox.setModal(true);
messageBox.setVisible(true);
} catch (Exception exception) {
Logger.getLogger(OpenCommand.class).error(exception.getLocalizedMessage(), exception);
String str = String.valueOf(registry.getString("unableToOpen", "Unable to open ")) + " "
+ interfaceAIFComponent2.toString();
abstractAIFSession.setStatus(str);
MessageBox messageBox = new MessageBox(OpenCommand.this.desktop, str,
exception.getLocalizedMessage(), registry.getString("unableToOpen"), 1);
messageBox.setModal(true);
messageBox.setVisible(true);
}
continue;
}
if (!vector.isEmpty())
OpenCommand.this.isReleased(vector);
}
});
}
@Override
protected InterfaceAIFComponent getOpeningComponent(InterfaceAIFComponent paramInterfaceAIFComponent)
throws Exception {
TCComponent tCComponent = (TCComponent) paramInterfaceAIFComponent;
InterfaceAIFComponent interfaceAIFComponent = paramInterfaceAIFComponent;
if (paramInterfaceAIFComponent instanceof TCComponentCfgAttachmentLine)
tCComponent = ((TCComponentCfgAttachmentLine) paramInterfaceAIFComponent).getUnderlyingComponent();
return tCComponent;
}
public static void openWebLink(String paramString1, String paramString2) {
ClientEventDispatcher.fireEventNow(OpenCommand.class, "com/teamcenter/rac/aifrcp/browser/launchRequest",
new Object[] { "com/teamcenter/rac/aifrcp/browser/urlToOpen", paramString2,
"com/teamcenter/rac/aifrcp/browser/title", paramString1 });
}
@Override
protected boolean openProperties(InterfaceAIFComponent paramInterfaceAIFComponent) throws Exception {
if (paramInterfaceAIFComponent instanceof TCComponent) {
TCComponent[] arrayOfTCComponent = { (TCComponent) paramInterfaceAIFComponent };
Window window = (this.parentWindow != null) ? this.parentWindow : this.desktop;
PropertiesCommand propertiesCommand = new PropertiesCommand(arrayOfTCComponent, window);
propertiesCommand.executeModeless();
return true;
}
return false;
}
private boolean validFileForMSOIntegration(TCComponentTcFile paramTCComponentTcFile) throws Exception {
boolean bool = false;
if (paramTCComponentTcFile != null) {
String str = paramTCComponentTcFile.getProperty("original_file_name");
if (str != null && str.indexOf('.') > 0) {
String str1 = str.substring(str.lastIndexOf('.'));
String[] arrayOfString;
int i = (arrayOfString = MSOFILES).length;
for (byte b = 0; b < i; b++) {
String str2 = arrayOfString[b];
if (str1.equalsIgnoreCase(str2)) {
bool = true;
break;
}
}
}
}
return bool;
}
private void openForm(final TCComponent component) {
Runnable runnable = new Runnable() {
@Override
public void run() {
try {
OpenCommand.this.openFormByOpenWindowMethod((TCComponentForm) component);
} catch (Exception exception) {
Logger.getLogger(OpenCommand.class).error(exception.getLocalizedMessage(), exception);
}
}
};
SwingUtilities.invokeLater(runnable);
}
private class IC_PostReserveCommandListener implements ICommandListener {
private final TCComponent m_component;
public IC_PostReserveCommandListener(TCComponent param1TCComponent) {
this.m_component = param1TCComponent;
}
@Override
public void commandDone(ICommandListenerEvent param1ICommandListenerEvent) {
AbstractAIFCommand abstractAIFCommand = (param1ICommandListenerEvent != null)
? param1ICommandListenerEvent.getCommand()
: null;
OpenCommand.this.openForm(this.m_component);
if (abstractAIFCommand != null)
param1ICommandListenerEvent.getCommand().removeCommandListener(this);
}
@Override
public void commandStarting(ICommandListenerEvent param1ICommandListenerEvent) {
}
}
private class IC_PostReserveSWTListener implements IViewEditOperationListener {
private final TCComponent m_component;
public IC_PostReserveSWTListener(TCComponentForm param1TCComponentForm) {
this.m_component = param1TCComponentForm;
}
@Override
public void operationComplete(int param1Int) {
OpenCommand.this.openForm(this.m_component);
}
@Override
public void operationError(TCException param1TCException) {
Logger.getLogger(OpenCommand.class).error(param1TCException.getLocalizedMessage(), param1TCException);
}
}
}
/*
* Location:
* C:\Users\5rKB5bPlusD\Desktop\com.teamcenter.rac.common_12000.2.0.jar!\com\
* teamcenter\rac\commands\open\OpenCommand.class Java compiler version: 8
* (52.0) JD-Core Version: 1.1.3
*/

@ -1,7 +1,7 @@
## db.setting文件
#url = jdbc:oracle:thin:@localhost:1521:TC
url = jdbc:oracle:thin:@10.20.4.75:1521:TC12
url = jdbc:oracle:thin:@localhost:1521:TC
#url = jdbc:oracle:thin:@10.20.4.75:1521:TC12
user = infodba
pass = infodba

@ -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;
}
}
Loading…
Cancel
Save