first commit

main
熊朝柱 2 weeks ago
commit 02deffd445

@ -0,0 +1,16 @@
<?xml version="1.0" encoding="UTF-8"?>
<classpath>
<classpathentry exported="true" kind="lib" path="log4j.jar"/>
<classpathentry kind="lib" path="ojdbc6.jar"/>
<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/J2SE-1.5"/>
<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
<classpathentry kind="src" path="src"/>
<classpathentry kind="lib" path="jxl.jar"/>
<classpathentry kind="lib" path="poi-3.7-20101029.jar"/>
<classpathentry kind="lib" path="poi-examples-3.7-20101029.jar"/>
<classpathentry kind="lib" path="poi-ooxml-3.7-20101029.jar"/>
<classpathentry kind="lib" path="poi-ooxml-schemas-3.7-20101029.jar"/>
<classpathentry kind="lib" path="xmlbeans-2.3.0.jar"/>
<classpathentry kind="lib" path="dom4j-1.6.1.jar"/>
<classpathentry kind="output" path="classes"/>
</classpath>

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,28 @@
<?xml version="1.0" encoding="UTF-8"?>
<projectDescription>
<name>TCImportHistoryDatas</name>
<comment></comment>
<projects>
</projects>
<buildSpec>
<buildCommand>
<name>org.eclipse.jdt.core.javabuilder</name>
<arguments>
</arguments>
</buildCommand>
<buildCommand>
<name>org.eclipse.pde.ManifestBuilder</name>
<arguments>
</arguments>
</buildCommand>
<buildCommand>
<name>org.eclipse.pde.SchemaBuilder</name>
<arguments>
</arguments>
</buildCommand>
</buildSpec>
<natures>
<nature>org.eclipse.pde.PluginNature</nature>
<nature>org.eclipse.jdt.core.javanature</nature>
</natures>
</projectDescription>

@ -0,0 +1,3 @@
#Tue May 18 15:00:24 CST 2010
eclipse.preferences.version=1
encoding/<project>=GBK

@ -0,0 +1,7 @@
#Tue May 18 15:00:09 CST 2010
eclipse.preferences.version=1
org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.5
org.eclipse.jdt.core.compiler.compliance=1.5
org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
org.eclipse.jdt.core.compiler.source=1.5

@ -0,0 +1,239 @@
Manifest-Version: 1.0
Bundle-ManifestVersion: 2
Bundle-Name: TCImportHistoryDatas Plug-in
Bundle-SymbolicName: TCImportHistoryDatas;singleton:=true
Bundle-Version: 1.0.0
Bundle-Activator: tcimporthistorydatas.Activator
Require-Bundle: org.eclipse.ui;bundle-version="3.8.0",
org.eclipse.core.runtime;bundle-version="3.8.0",
com.teamcenter.rac.kernel;bundle-version="8000.3.0",
com.teamcenter.rac.tcapps;bundle-version="8000.3.0",
com.teamcenter.rac.util;bundle-version="8000.3.0",
com.teamcenter.rac.aifrcp;bundle-version="8000.3.0",
com.teamcenter.rac.common;bundle-version="8000.3.0"
Bundle-ActivationPolicy: lazy
Bundle-RequiredExecutionEnvironment: J2SE-1.5
Export-Package: com.connor.dev.imp,
com.connor.dev.imp.bom,
com.connor.dev.imp.ob,
com.connor.dev.imp.re,
com.connor.dev.imp.solution.handler,
com.connor.dev.imp.toolkit,
common,
common.log,
jxl,
jxl.biff,
jxl.biff.drawing,
jxl.biff.formula,
jxl.demo,
jxl.format,
jxl.read.biff,
jxl.write,
jxl.write.biff,
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.ddf,
org.apache.poi.dev,
org.apache.poi.extractor,
org.apache.poi.hpsf,
org.apache.poi.hpsf.examples,
org.apache.poi.hpsf.extractor,
org.apache.poi.hpsf.wellknown,
org.apache.poi.hslf.examples,
org.apache.poi.hsmf.examples,
org.apache.poi.hssf,
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.constant,
org.apache.poi.hssf.record.cont,
org.apache.poi.hssf.record.crypto,
org.apache.poi.hssf.record.formula,
org.apache.poi.hssf.record.formula.atp,
org.apache.poi.hssf.record.formula.eval,
org.apache.poi.hssf.record.formula.function,
org.apache.poi.hssf.record.formula.functions,
org.apache.poi.hssf.record.formula.udf,
org.apache.poi.hssf.record.pivottable,
org.apache.poi.hssf.usermodel,
org.apache.poi.hssf.usermodel.examples,
org.apache.poi.hssf.util,
org.apache.poi.hssf.view,
org.apache.poi.hssf.view.brush,
org.apache.poi.hwpf,
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.signature,
org.apache.poi.openxml4j.opc.internal.unmarshallers,
org.apache.poi.openxml4j.opc.signature,
org.apache.poi.openxml4j.util,
org.apache.poi.poifs.common,
org.apache.poi.poifs.crypt,
org.apache.poi.poifs.dev,
org.apache.poi.poifs.eventfilesystem,
org.apache.poi.poifs.filesystem,
org.apache.poi.poifs.poibrowser,
org.apache.poi.poifs.property,
org.apache.poi.poifs.storage,
org.apache.poi.ss,
org.apache.poi.ss.examples,
org.apache.poi.ss.examples.html,
org.apache.poi.ss.extractor,
org.apache.poi.ss.format,
org.apache.poi.ss.formula,
org.apache.poi.ss.formula.eval,
org.apache.poi.ss.formula.eval.forked,
org.apache.poi.ss.usermodel,
org.apache.poi.ss.util,
org.apache.poi.util,
org.apache.poi.xslf,
org.apache.poi.xslf.extractor,
org.apache.poi.xslf.usermodel,
org.apache.poi.xssf.dev,
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.usermodel,
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.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.piccolo.io,
org.apache.xmlbeans.impl.piccolo.util,
org.apache.xmlbeans.impl.piccolo.xml,
org.apache.xmlbeans.impl.regex,
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.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.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.w3c.dom,
repackage,
schemaorg_apache_xmlbeans.system.sE130CAA0A01A7CDE5A2B4FEB8B311707,
schemaorg_apache_xmlbeans.system.sXMLCONFIG,
schemaorg_apache_xmlbeans.system.sXMLLANG,
schemaorg_apache_xmlbeans.system.sXMLSCHEMA,
schemaorg_apache_xmlbeans.system.sXMLTOOLS,
schemasMicrosoftComOfficeExcel,
schemasMicrosoftComOfficeExcel.impl,
schemasMicrosoftComOfficeOffice,
schemasMicrosoftComOfficeOffice.impl,
schemasMicrosoftComVml,
schemasMicrosoftComVml.impl,
tcimporthistorydatas
Bundle-ClassPath: jxl.jar,
.,
log4j.jar,
poi-3.7-20101029.jar,
poi-examples-3.7-20101029.jar,
poi-ooxml-3.7-20101029.jar,
poi-ooxml-schemas-3.7-20101029.jar,
xmlbeans-2.3.0.jar,
dom4j-1.6.1.jar,
ojdbc6.jar

@ -0,0 +1,14 @@
source.. = src/
output.. = classes/
bin.includes = META-INF/,\
.,\
plugin.xml,\
jxl.jar,\
log4j.jar,\
poi-3.7-20101029.jar,\
poi-examples-3.7-20101029.jar,\
poi-ooxml-3.7-20101029.jar,\
poi-ooxml-schemas-3.7-20101029.jar,\
xmlbeans-2.3.0.jar,\
dom4j-1.6.1.jar,\
ojdbc6.jar

Binary file not shown.

After

Width:  |  Height:  |  Size: 866 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 332 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 587 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 396 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 703 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 762 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 138 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 969 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 142 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 759 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 848 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 230 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 138 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 769 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 849 B

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

@ -0,0 +1,121 @@
<?xml version="1.0" encoding="UTF-8"?>
<?eclipse version="3.2"?>
<plugin>
<extension point="org.eclipse.ui.menus">
<menuContribution locationURI="menu:org.eclipse.ui.main.menu">
<menu id="ImportCustomization" label="历史数据导入">
<separator name="newCustomizationStart" visible="true"> </separator>
<separator name="newCustomizationEnd" visible="true"></separator>
<visibleWhen
checkEnabled="true">
<reference
definitionId="com.teamcenter.rac.ui.inMainPerspective">
</reference>
</visibleWhen>
</menu>
</menuContribution>
<menuContribution locationURI="menu:ImportCustomization?after=newCustomizationStart">
<command commandId="com.teamcenter.rac.ui.ImportObjectsCommand" id="com.teamcenter.rac.ui.ImportObjectsCommand" label="导入对象" style="push">
<visibleWhen>
<with variable="rac_command_suppression">
<not>
<iterate operator="or">
<equals value="com.teamcenter.rac.ui.ImportObjectsCommand"/>
</iterate>
</not>
</with>
</visibleWhen>
</command>
<command commandId="com.teamcenter.rac.ui.ImportBomsCommand" id="com.teamcenter.rac.ui.ImportBomsCommand" label="BOM导入" style="push">
<visibleWhen>
<with variable="rac_command_suppression">
<not>
<iterate operator="or">
<equals value="com.teamcenter.rac.ui.ImportBomsCommand"/>
</iterate>
</not>
</with>
</visibleWhen>
</command>
<!-->
<command commandId="com.teamcenter.rac.ui.ImportBomsForProECommand" id="com.teamcenter.rac.ui.ImportBomsForProECommand" label="ProE图纸BOM导入" style="push">
<visibleWhen>
<with variable="rac_command_suppression">
<not>
<iterate operator="or">
<equals value="com.teamcenter.rac.ui.ImportBomsForProECommand"/>
</iterate>
</not>
</with>
</visibleWhen>
</command>
<!-->
<command commandId="com.teamcenter.rac.ui.ImportRelationsCommand" id="com.teamcenter.rac.ui.ImportRelationsCommand" label="导入关系" style="push">
<visibleWhen>
<with variable="rac_command_suppression">
<not>
<iterate operator="or">
<equals value="com.teamcenter.rac.ui.ImportRelationsCommand"/>
</iterate>
</not>
</with>
</visibleWhen>
</command>
<command commandId="importClassification" id="com.teamcenter.rac.ui.importClassification" label="导入分类" style="push">
<visibleWhen>
<with variable="rac_command_suppression">
<not>
<iterate operator="or">
<equals value="importClassification"/>
</iterate>
</not>
</with>
</visibleWhen>
</command>
<command commandId="importProject" id="com.teamcenter.rac.ui.importProject" label="导入项目" style="push">
<visibleWhen>
<with variable="rac_command_suppression">
<not>
<iterate operator="or">
<equals value="importProject"/>
</iterate>
</not>
</with>
</visibleWhen>
</command>
</menuContribution>
</extension>
<extension point="org.eclipse.ui.commands">
<command id="com.teamcenter.rac.ui.ImportObjectsCommand" name="导入对象"> </command>
<command id="com.teamcenter.rac.ui.ImportBomsCommand" name="BOM导入"> </command>
<!-->
<command id="com.teamcenter.rac.ui.ImportBomsCommand" name="非ProE数据BOM导入"> </command>
<!-->
<!---->
<!-->
<command id="com.teamcenter.rac.ui.ImportBomsForProECommand" name="ProE图纸BOM导入"> </command>
<!-->
<!---->
<command id="com.teamcenter.rac.ui.ImportRelationsCommand" name="导入关系"> </command>
<command id="importClassification" name="导入分类"> </command>
<command id="importProject" name="导入项目"> </command>
<command id="Importtest" name="test"> </command>
</extension>
<extension point="org.eclipse.ui.handlers">
<handler class="com.connor.dev.imp.solution.handler.ImportObjectsHandler" commandId="com.teamcenter.rac.ui.ImportObjectsCommand"></handler>
<handler class="com.connor.dev.imp.solution.handler.ImportBOMsHandler" commandId="com.teamcenter.rac.ui.ImportBomsCommand"> </handler>
<handler class="com.connor.dev.imp.solution.handler.ImportRelationHandler" commandId="com.teamcenter.rac.ui.ImportRelationsCommand"> </handler>
<handler class="com.connor.dev.imp.solution.handler.ImportClassificationHandler" commandId="importClassification"> </handler>
<handler class="com.connor.dev.imp.solution.handler.ImportProjectHandler" commandId="importProject"> </handler>
<handler class="com.connor.dev.test.ImporttestHandler" commandId="Importtest"> </handler>
</extension>
</plugin>

Binary file not shown.

Binary file not shown.

Binary file not shown.

@ -0,0 +1,77 @@
package com.connor.dev.imp;
import com.connor.dev.imp.ob.ImportObjectsCommand;
import com.connor.dev.imp.toolkit.ProgressReporter;
import com.teamcenter.rac.aif.AbstractAIFCommand;
import com.teamcenter.rac.aif.AbstractAIFUIApplication;
import com.teamcenter.rac.aif.kernel.InterfaceAIFComponent;
import com.teamcenter.rac.aifrcp.AIFUtility;
import com.teamcenter.rac.kernel.TCComponentFolder;
import com.teamcenter.rac.kernel.TCException;
import com.teamcenter.rac.kernel.TCSession;
import com.teamcenter.rac.util.MessageBox;
public abstract class AbstractImportCommand extends AbstractAIFCommand {
protected TCSession session;
protected boolean isExec;
public AbstractImportCommand(AbstractAIFUIApplication application,
boolean isExec) {
this.session = (TCSession) application.getSession();
this.isExec = isExec;
processImporting();
}
public AbstractImportCommand(AbstractAIFUIApplication application) {
this.session = (TCSession) application.getSession();
processImporting();
}
private void processImporting() {
InterfaceAIFComponent targetCom = null;
if (isExec) {
try {
targetCom = this.session.getUser().getNewStuffFolder();
} catch (TCException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
} else {
targetCom = AIFUtility.getCurrentApplication()
.getTargetComponent();
}
// 如果在选择导入功能前选中了某个已有文件夹
if (this instanceof ImportObjectsCommand) {
if (!(targetCom instanceof TCComponentFolder)) {
MessageBox msg = new MessageBox("导入失败",
"提示:\n请您先选择对象导入的文件夹然后再执行导入\n", "执行错误", 1, true);
msg.setVisible(true);
return;
}
}
final ProgressReporter reporter = new ProgressReporter();
reporter.reportProgressMessage("正在初始化界面,请稍候...");
new Thread(reporter).start();
new Thread(new Runnable() {
public void run() {
while (!reporter.isRequestCanceling()) {
reporter.setProgressPercent(reporter.getProgess() + 5);
try {
Thread.sleep(500);
} catch (InterruptedException e) {
continue;
}
}
}
}).start();
importHistoryDatas();
reporter.requestCanceling();
}
protected abstract void importHistoryDatas();
}

@ -0,0 +1,783 @@
package com.connor.dev.imp;
import java.awt.BorderLayout;
import java.awt.FlowLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.util.ArrayList;
import java.util.Collections;
import java.util.HashMap;
import java.util.Iterator;
import java.util.List;
import java.util.Map;
import java.util.Map.Entry;
import javax.swing.DefaultComboBoxModel;
import javax.swing.DefaultListModel;
import javax.swing.JButton;
import javax.swing.JComboBox;
import javax.swing.JFileChooser;
import javax.swing.JLabel;
import javax.swing.JList;
import javax.swing.JPanel;
import javax.swing.JScrollPane;
import javax.swing.JSplitPane;
import javax.swing.JTabbedPane;
import javax.swing.JTextField;
import javax.swing.ListSelectionModel;
import javax.swing.event.ChangeListener;
import javax.swing.event.ListSelectionEvent;
import javax.swing.event.ListSelectionListener;
import jxl.Cell;
import jxl.Sheet;
import jxl.Workbook;
import jxl.read.biff.BiffException;
import org.apache.poi.ss.usermodel.Row;
import org.apache.poi.xssf.usermodel.XSSFWorkbook;
import com.connor.dev.imp.ob.StaticEnum;
import com.connor.dev.imp.toolkit.ProgressReporter;
import com.teamcenter.rac.aif.AIFDesktop;
import com.teamcenter.rac.aif.AbstractAIFDialog;
import com.teamcenter.rac.common.TCUtilities;
import com.teamcenter.rac.common.create.DisplayTypeInfo;
import com.teamcenter.rac.kernel.TCComponentType;
import com.teamcenter.rac.kernel.TCException;
import com.teamcenter.rac.kernel.TCSession;
import com.teamcenter.rac.kernel.TCTypeService;
import com.teamcenter.rac.util.AIFImageIcon;
import com.teamcenter.rac.util.MessageBox;
import com.teamcenter.rac.util.PropertyLayout;
public abstract class AbstractImportDialog extends AbstractAIFDialog implements
ActionListener, ChangeListener, ListSelectionListener {
private static final long serialVersionUID = 1L;
private JTextField filePathField;
public JButton browse;
// private JTextField logPathField;
protected JTextField dateFormatField;
// protected JTextField arraySepField;
protected JList excelList;
protected DefaultListModel excelListModel;
protected JList[] propertiesList;
protected JList[] mappingList;
protected DefaultListModel[] propertiesListModels;
protected DefaultListModel[] mappingListModels;
protected JTabbedPane rightPane;
public JButton add;
public JButton remove;
public JButton execute;
public JButton unlock;
public JButton save;
public JButton open;
protected TCSession session;
protected JFileChooser chooser;
protected File importFile;
private ProgressReporter reporter;
protected int locationTemp = -2;// 特殊路径
protected int typeIndex = -2;// 特殊类型
protected int relIndex = -2;// 特殊关系
public String exportFilePath;
public String settingFilePath;
public boolean isExec = false;
public AbstractImportDialog(TCSession session, String title, boolean modal,
String exportFilePath, String settingFilePath, boolean isExec) {
this(session, title, modal);
this.isExec = isExec;
this.exportFilePath = exportFilePath;
this.settingFilePath = settingFilePath;
StaticEnum.isExec = true;
}
public AbstractImportDialog(TCSession session, String title, boolean modal) {
super(modal);
this.session = session;
chooser = new JFileChooser();
chooser.setFileSelectionMode(JFileChooser.FILES_ONLY);
chooser.setMultiSelectionEnabled(false);
StaticEnum.isExec = false;
setTitle(title);
// setResizable(false);
setLayout(new BorderLayout());
initializeUI();
setComponentsTextProperty();
addUIComponents();
registerActionComponents();
}
protected void initializeUI() {
filePathField = new JTextField(30);
filePathField.setEditable(false);
browse = new JButton();
// logPathField = new JTextField(30);
dateFormatField = new JTextField(30);
// arraySepField = new JTextField(5);
excelListModel = new DefaultListModel();
excelList = new JList(excelListModel);
excelList.setSelectionMode(ListSelectionModel.SINGLE_SELECTION);
rightPane = new JTabbedPane();
System.out.println("this.getClass().getSimpleName()==="
+ this.getClass().getSimpleName());
if (this.getClass().getSimpleName().equals("ImportRelationsDialog")) {
add = new JButton(AIFImageIcon.getImageIcon(this,
"images/cancel_16.png"));
add.setEnabled(false);
remove = new JButton(AIFImageIcon.getImageIcon(this,
"images/cancel_all_16.png"));
remove.setEnabled(false);
// remove.setVisible(false);
} else {
add = new JButton(AIFImageIcon.getImageIcon(this,
"images/add_16.png"));
add.setEnabled(false);
remove = new JButton(AIFImageIcon.getImageIcon(this,
"images/remove_16.png"));
remove.setEnabled(false);
}
execute = new JButton(AIFImageIcon.getImageIcon(this,
"images/import_16.png"));
execute.setEnabled(false);
unlock = new JButton(AIFImageIcon.getImageIcon(this,
"images/apply_16.png"));
save = new JButton(
AIFImageIcon.getImageIcon(this, "images/save_16.png"));
open = new JButton(
AIFImageIcon.getImageIcon(this, "images/open_16.png"));
reporter = new ProgressReporter();
}
/**
* browse->open->unlock->execute
*/
protected void setComponentsTextProperty() {
browse.setText("...");
execute.setToolTipText("执行导入操作");
unlock.setToolTipText("激活更改配置");
save.setToolTipText("保存配置");
open.setToolTipText("导入配置");
if (this.getClass().getSimpleName().equals("ImportRelationsDialog")) {
add.setToolTipText("清除配置");
remove.setToolTipText("清除所有配置");
} else {
add.setToolTipText("添加映射");
remove.setToolTipText("移除映射");
}
dateFormatField.setText("yyyy-MM-dd HH:mm:ss");
dateFormatField.setToolTipText("<html>设置日期格式,区分大小写:<ul>"
+ "<li>y代表年</li>" + "<li>M代表月</li>" + "<li>d代表天</li>"
+ "<li>H代表时</li>" + "<li>m代表分</li>" + "<li>s代表秒</li>"
+ "</ul></html>");
// doPurgeComponentProperties("");
}
protected void registerActionComponents() {
add.addActionListener(this);
remove.addActionListener(this);
rightPane.addChangeListener(this);
execute.addActionListener(this);
unlock.addActionListener(this);
save.addActionListener(this);
open.addActionListener(this);
browse.addActionListener(this);
for (int i = 0; i < propertiesList.length; i++) {
propertiesList[i].addListSelectionListener(this);
mappingList[i].addListSelectionListener(this);
}
excelList.addListSelectionListener(this);
}
protected void addUIComponents() {
JPanel topPanel = new JPanel(new FlowLayout(FlowLayout.LEFT));
topPanel.add(new JLabel("数据文件"));
topPanel.add(filePathField);
topPanel.add(browse);
// topPanel.add(new JLabel("日志文件"));
// topPanel.add(logPathField);
JPanel raPanel = new JPanel(new FlowLayout());
raPanel.add(add);
raPanel.add(remove);
JPanel rightPanel = new JPanel(new BorderLayout());
rightPanel.add(rightPane, BorderLayout.CENTER);
rightPanel.add(raPanel, BorderLayout.SOUTH);
JSplitPane centerPanel = new JSplitPane(JSplitPane.HORIZONTAL_SPLIT);
centerPanel.setDividerLocation(120);
centerPanel.setContinuousLayout(true);
centerPanel.setLeftComponent(new JScrollPane(excelList));
addTabbedPaneComponents();
centerPanel.setRightComponent(rightPanel);
JPanel bottomPanel = new JPanel(new FlowLayout());
bottomPanel.add(execute);
bottomPanel.add(unlock);
bottomPanel.add(save);
bottomPanel.add(open);
add(topPanel, BorderLayout.NORTH);
add(centerPanel, BorderLayout.CENTER);
add(bottomPanel, BorderLayout.SOUTH);
}
protected abstract void addTabbedPaneComponents();
protected JPanel getParameterPanel() {
JPanel p = new JPanel(new PropertyLayout());
p.add("1.1.right.top.preferred.preferred", new JLabel("日期格式:"));
p.add("1.2.left.top.preferred.preferred", dateFormatField);
// p.add("2.1.right.top.preferred.preferred", new JLabel("数组内容分隔符:"));
// p.add("2.2.left.top.preferred.preferred", arraySepField);
return p;
}
protected String[] getTCComponentProperties(String name) {
String[] properties = null;
try {
TCTypeService typeService = session.getTypeService();
TCComponentType typeComponent = typeService.getTypeComponent(name);
properties = typeComponent.getPropertyNames();
} catch (TCException e) {
e.printStackTrace();
}
return properties;
}
protected void populateTypeChoices(String name, JComboBox box) {
try {
TCTypeService service = session.getTypeService();
TCComponentType[] items = service.getTypes(name);
if (items != null) {
for (int i = 0; i < items.length; i++) {
String item = items[i].toString();
if ("EngChange".equalsIgnoreCase(item)) {
continue;
}
// System.out.println(items[i].toString());
box.addItem(items[i].toString());
// TCComponentItemType
// TCComponentType[] sub = items[i].isTypeOf(s);
System.out.println("d");
// AIFComponentContext[] aifcs = items[i].getChildren();
// for (AIFComponentContext aifc : aifcs)
// {
// InterfaceAIFComponent com = aifc.getComponent();
// System.out.println(com.getClass());
// }
}
}
} catch (TCException e) {
e.printStackTrace();
}
}
/*
* (non-Javadoc)
*
* @see
* javax.swing.event.ListSelectionListener#valueChanged(javax.swing.event
* .ListSelectionEvent)
*/
public void valueChanged(ListSelectionEvent listselectionevent) {
checkMappingsEditable();
}
protected void checkMappingsEditable() {
int index = rightPane.getSelectedIndex();
if (index < propertiesList.length) {
add.setEnabled(excelList.getSelectedIndex() != -1
&& propertiesList[index].getSelectedIndex() != -1);
remove.setEnabled(mappingList[index].getSelectedIndex() != -1);
} else {
if (this.getClass().getSimpleName().equals("ImportRelationsDialog")) {
add.setEnabled(true);
remove.setEnabled(true);
} else {
add.setEnabled(false);
remove.setEnabled(false);
}
}
}
protected void doPurgeComponentProperties(String name) {
for (int i = 0; i < propertiesList.length - 1; i++) {
propertiesListModels[i].removeAllElements();
mappingListModels[i].removeAllElements();
}
}
protected void doPurgeComponentProperties2(String name) {
for (int i = 0; i < propertiesList.length - 1; i++) {
propertiesListModels[i].removeAllElements();
mappingListModels[i].removeAllElements();
}
}
/*
* (non-Javadoc)
*
* @see
* java.awt.event.ActionListener#actionPerformed(java.awt.event.ActionEvent)
*/
public void actionPerformed(ActionEvent ae) {
if (ae.getSource() == add) {
if (!this.getClass().getSimpleName()
.equals("ImportRelationsDialog")) {
String excel = excelList.getSelectedValue().toString();
int index = excelList.getSelectedIndex();
String prop = propertiesList[rightPane.getSelectedIndex()]
.getSelectedValue().toString();
MappingAttribute ma = new MappingAttribute(index, excel, prop);
if (rightPane.getSelectedIndex() == 3) {
// TODO 添加特殊处理 特殊路径处理
if (!mappingListModels[rightPane.getSelectedIndex()]
.contains(ma)) {
mappingListModels[rightPane.getSelectedIndex()]
.addElement(ma);
System.out.println("ADD_MSG = >>" + index + "/" + excel
+ "/" + prop);
if (prop.equals("路径")) {
locationTemp = index;
}
} else if (!prop.equals("路径")) {// 只允许有一个路径,而别的类型却允许有多个
mappingListModels[rightPane.getSelectedIndex()]
.addElement(ma);
}
} else if (rightPane.getSelectedIndex() == 0) {
// TODO 添加类型的特殊处理
if (!mappingListModels[rightPane.getSelectedIndex()]
.contains(ma)) {
mappingListModels[rightPane.getSelectedIndex()]
.addElement(ma);
System.out.println("ADD_MSG = >>" + index + "/" + excel
+ "/" + prop);
if (prop.equals("类型")) {
typeIndex = index;
}
}
} else {
// TODO 常规处理
if (!mappingListModels[rightPane.getSelectedIndex()]
.contains(ma)) {
mappingListModels[rightPane.getSelectedIndex()]
.addElement(ma);
}
}
}
} else if (ae.getSource() == remove) {
if (!this.getClass().getSimpleName()
.equals("ImportRelationsDialog")) {
// 针对特殊路径
if (rightPane.getSelectedIndex() == 3) {
int temp_index = ((MappingAttribute) mappingListModels[rightPane
.getSelectedIndex()].get(mappingList[rightPane
.getSelectedIndex()].getSelectedIndex()))
.getColumnIndex();
if (temp_index == locationTemp) {
locationTemp = -2;
System.out.println("移除路径");
}
} else if (rightPane.getSelectedIndex() == 0) {
int temp_index = ((MappingAttribute) mappingListModels[rightPane
.getSelectedIndex()].get(mappingList[rightPane
.getSelectedIndex()].getSelectedIndex()))
.getColumnIndex();
if (temp_index == typeIndex) {
typeIndex = -2;
System.out.println("移除类型");
}
}
mappingListModels[rightPane.getSelectedIndex()]
.remove(mappingList[rightPane.getSelectedIndex()]
.getSelectedIndex());
}
} else if (ae.getSource() == execute) {
executeImport();
} else if (ae.getSource() == unlock) {
excelList.setEnabled(true);
for (int i = 0; i < propertiesList.length; i++) {
propertiesList[i].setEnabled(true);
mappingList[i].setEnabled(true);
}
} else if (ae.getSource() == open) {
if (filePathField.getText().trim().length() == 0) {
MessageBox.post(AIFDesktop.getActiveDesktop().getShell(),
"请先选择要导入的数据文件", "警告", 1);
} else {
openImportSettings();
}
} else if (ae.getSource() == save) {
saveImportSettings();
} else if (ae.getSource() == browse) {
selectImportFile();
}
}
/**
*
*
*/
private void selectImportFile() {
excelListModel.removeAllElements();
if (this.isExec) {
importFile = new File(this.exportFilePath);// chooser.getSelectedFile();
if (importFile != null) {
if (importFile.exists() && importFile.isFile()) {
if (importFile.getAbsolutePath().endsWith(".xls")) {
try {
Workbook workbook = Workbook
.getWorkbook(importFile);
Sheet sheet = workbook.getSheet(0);
Cell[] row = sheet.getRow(0);
for (int i = 0; i < row.length; i++) {
if (row[i].getContents().trim().equals("")) {
excelListModel.addElement("(该列名字为空)");
} else {
excelListModel.addElement(row[i]
.getContents());
}
}
workbook.close();
filePathField.setText(importFile.getAbsolutePath());
execute.setEnabled(true);
return;
} catch (BiffException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
} else if (importFile.getAbsolutePath().endsWith(".xlsx")) {
try {
org.apache.poi.ss.usermodel.Workbook workbook = new XSSFWorkbook(
new FileInputStream(importFile));
org.apache.poi.ss.usermodel.Sheet sheet = workbook
.getSheetAt(0);
Row row = sheet.getRow(0);
for (int i = 0; i < row.getPhysicalNumberOfCells(); i++) {
if (!row.getCell(i).getStringCellValue().trim()
.equals("")) {
excelListModel.addElement(row.getCell(i)
.getStringCellValue());
}
// else {
// excelListModel.addElement("(该列名字为空)");
// }
}
filePathField.setText(importFile.getAbsolutePath());
execute.setEnabled(true);
return;
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
}
}
}
} else {
if (chooser.showOpenDialog(null) == 0) {
importFile = chooser.getSelectedFile();
if (importFile != null) {
if (importFile.exists() && importFile.isFile()) {
if (importFile.getAbsolutePath().endsWith(".xls")) {
try {
Workbook workbook = Workbook
.getWorkbook(importFile);
Sheet sheet = workbook.getSheet(0);
Cell[] row = sheet.getRow(0);
for (int i = 0; i < row.length; i++) {
if (row[i].getContents().trim().equals("")) {
excelListModel.addElement("(该列名字为空)");
} else {
excelListModel.addElement(row[i]
.getContents());
}
}
workbook.close();
filePathField.setText(importFile
.getAbsolutePath());
execute.setEnabled(true);
return;
} catch (BiffException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
} else if (importFile.getAbsolutePath().endsWith(
".xlsx")) {
try {
org.apache.poi.ss.usermodel.Workbook workbook = new XSSFWorkbook(
new FileInputStream(importFile));
org.apache.poi.ss.usermodel.Sheet sheet = workbook
.getSheetAt(0);
Row row = sheet.getRow(0);
for (int i = 0; i < row
.getPhysicalNumberOfCells(); i++) {
if (!row.getCell(i).getStringCellValue()
.trim().equals("")) {
excelListModel.addElement(row
.getCell(i)
.getStringCellValue());
}
// else {
// excelListModel.addElement("(该列名字为空)");
// }
}
filePathField.setText(importFile
.getAbsolutePath());
execute.setEnabled(true);
return;
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
}
}
}
}
}
execute.setEnabled(false);
}
private void executeImport() {
if (checkNecessaryCondition()) {
setVisible(false);
reporter.reportProgressMessage("正在导入数据,请稍候...");
new Thread(reporter).start();
new Thread() {
public void run() {
try {
// callUserServices(session, "1", "ORIGIN_set_bypass");
ImportFlex flex = new ImportFlex(session, reporter);
// 此处添加对数据集特殊路径的处理
flex.locationIndex = locationTemp;
// 此处添加对对象的类型的特殊处理
flex.typeIndex = typeIndex;
flex.runImporting(generateImportSettings(), new File(
filePathField.getText()));
// callUserServices(session, "1",
// "ORIGIN_close_bypass");
reporter.requestCanceling();
dispose();
if (flex.logpath.equals("")) {
MessageBox.post(AIFDesktop.getActiveDesktop()
.getShell(), "数据导入完成!\n\n成功条数 : "
+ flex.success + "\n失败条数 : " + flex.fail,
"完成", MessageBox.INFORMATION);
} else {
MessageBox.post(AIFDesktop.getActiveDesktop()
.getShell(), "数据导入完成!\n\n成功条数 : "
+ flex.success + "\n失败条数 : " + flex.fail
+ "\n日志路径" + flex.logpath, "完成",
MessageBox.ERROR);
}
} catch (Throwable e) {
e.printStackTrace();
reporter.requestCanceling();
MessageBox.post(AIFDesktop.getActiveDesktop()
.getShell(), "导入失败", "错误", 1);
setVisible(true);
}
}
}.start();
}
}
protected boolean checkNecessaryCondition() {
return true;
}
protected abstract void openImportSettings();
protected abstract void saveImportSettings();
public abstract ImportSettings generateImportSettings();
protected void populateItemTypes(JComboBox box) {
// BaseClassInput[] abaseclassinput = new
// com.teamcenter.services.rac.core._2007_06.DataManagement.BaseClassInput[4];
// for (int i = 0; i < 4; i++)
// abaseclassinput[i] = new
// com.teamcenter.services.rac.core._2007_06.DataManagement.BaseClassInput();
//
// abaseclassinput[0].baseClass = "Item";
// abaseclassinput[0].exclusionTypes = new String[] {};
// abaseclassinput[1].baseClass = "MEProcess";
// abaseclassinput[2].baseClass = "MEOP";
// abaseclassinput[3].baseClass = "MEWorkarea";
//
// com.teamcenter.services.rac.core._2007_06.DataManagement.GetAvailableTypesResponse
// getavailabletypesresponse
// = TCUtilities
// .getDisplayableTypeNames(session, abaseclassinput);
// Map map = getavailabletypesresponse.inputClassToTypes;
// com.teamcenter.services.rac.core._2007_06.DataManagement.BaseClassInput
// abaseclassinput1[] = abaseclassinput;
// int j = abaseclassinput1.length;
// for (int k = 0; k < j; k++)
// {
// com.teamcenter.services.rac.core._2007_06.DataManagement.BaseClassInput
// baseclassinput = abaseclassinput1[k];
// com.teamcenter.services.rac.core._2007_06.DataManagement.AvailableTypeInfo
// aavailabletypeinfo[] =
// (com.teamcenter.services.rac.core._2007_06.DataManagement.AvailableTypeInfo[])
// map
// .get(baseclassinput.baseClass);
// com.teamcenter.services.rac.core._2007_06.DataManagement.AvailableTypeInfo
// aavailabletypeinfo1[] =
// aavailabletypeinfo;
// int l = aavailabletypeinfo1.length;
// for (int i1 = 0; i1 < l; i1++)
// {
// com.teamcenter.services.rac.core._2007_06.DataManagement.AvailableTypeInfo
// availabletypeinfo =
// aavailabletypeinfo1[i1];
// box.addItem(availabletypeinfo.type);
// }
//
// }
//
// if (getavailabletypesresponse.serviceData.sizeOfPartialErrors() > 0)
// {
// TCException tcexception =
// SoaUtil.checkPartialErrorsNoThrow(getavailabletypesresponse.serviceData);
// MessageBox.post(Utilities.getParentFrame(this), tcexception);
// }
String[] types = new String[] { "Item", "MEProcess", "MEOP",
"CompanyLocation", "CompanyContact" };
List<String> datas = new ArrayList<String>();
Map<String, List<String>> map = new HashMap<String, List<String>>(
types.length);
for (String string : types) {
map.put(string, new ArrayList<String>());
}
if (map != null && map.size() > 0) {
Map<String, List<DisplayTypeInfo>> map1 = TCUtilities
.getDisplayableTypeNamesWithHierarchyInfo(session, map);
if (map1 != null && !map1.isEmpty()) {
Iterator<Entry<String, List<DisplayTypeInfo>>> iterator = map1
.entrySet().iterator();
do {
if (!iterator.hasNext())
break;
Entry<String, List<DisplayTypeInfo>> entry = iterator
.next();
List<DisplayTypeInfo> list = entry.getValue();
if (list != null && !list.isEmpty()) {
Iterator<DisplayTypeInfo> iterator1 = list.iterator();
while (iterator1.hasNext()) {
DisplayTypeInfo displaytypeinfo = (DisplayTypeInfo) iterator1
.next();
if (!datas.contains(displaytypeinfo.getTypeName()))
datas.add(displaytypeinfo.getTypeName());
}
}
} while (true);
}
}
Collections.sort(datas);
box.setModel(new DefaultComboBoxModel(datas.toArray(new String[datas
.size()])));
}
public static void main(String[] args) {
org.apache.poi.ss.usermodel.Workbook workbook;
try {
workbook = new XSSFWorkbook(
new FileInputStream(
"C:\\Users\\Administrator.SD-20101212HAVL\\Desktop\\123.xlsx"));
org.apache.poi.ss.usermodel.Sheet sheet = workbook.getSheetAt(0);
System.out.println(sheet.getPhysicalNumberOfRows());
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
}
public static Object callUserServices(TCSession session, Object target,
String str_userServiceName) {
Object[] obj = new Object[1];
obj[0] = target;
Object robj = null;
try {
robj = session.getUserService().call(str_userServiceName, obj);
return robj;
} catch (Exception e) {
e.printStackTrace();
return null;
}
}
}

@ -0,0 +1,587 @@
package com.connor.dev.imp;
import java.awt.BorderLayout;
import java.awt.FlowLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.util.ArrayList;
import java.util.Collections;
import java.util.HashMap;
import java.util.Iterator;
import java.util.List;
import java.util.Map;
import java.util.Map.Entry;
import javax.swing.DefaultComboBoxModel;
import javax.swing.DefaultListModel;
import javax.swing.JButton;
import javax.swing.JComboBox;
import javax.swing.JFileChooser;
import javax.swing.JLabel;
import javax.swing.JList;
import javax.swing.JPanel;
import javax.swing.JScrollPane;
import javax.swing.JSplitPane;
import javax.swing.JTabbedPane;
import javax.swing.JTextField;
import javax.swing.ListSelectionModel;
import javax.swing.event.ChangeListener;
import javax.swing.event.ListSelectionEvent;
import javax.swing.event.ListSelectionListener;
import org.apache.poi.ss.usermodel.Row;
import org.apache.poi.xssf.usermodel.XSSFWorkbook;
import jxl.Cell;
import jxl.Sheet;
import jxl.Workbook;
import jxl.read.biff.BiffException;
import com.connor.dev.imp.toolkit.ProgressReporter;
import com.teamcenter.rac.aif.AIFDesktop;
import com.teamcenter.rac.aif.AbstractAIFDialog;
import com.teamcenter.rac.common.TCUtilities;
import com.teamcenter.rac.common.create.DisplayTypeInfo;
import com.teamcenter.rac.kernel.TCComponentType;
import com.teamcenter.rac.kernel.TCException;
import com.teamcenter.rac.kernel.TCSession;
import com.teamcenter.rac.kernel.TCTypeService;
import com.teamcenter.rac.util.AIFImageIcon;
import com.teamcenter.rac.util.MessageBox;
import com.teamcenter.rac.util.PropertyLayout;
public abstract class AbstractImportForProEDialog extends AbstractAIFDialog implements ActionListener, ChangeListener, ListSelectionListener {
private static final long serialVersionUID = 1L;
private JTextField filePathField;
private JButton browse;
// private JTextField logPathField;
protected JTextField dateFormatField;
// protected JTextField arraySepField;
protected JList excelList;
protected DefaultListModel excelListModel;
protected JList[] propertiesList;
protected JList[] mappingList;
protected DefaultListModel[] propertiesListModels;
protected DefaultListModel[] mappingListModels;
protected JTabbedPane rightPane;
protected JButton add;
protected JButton remove;
protected JButton execute;
protected JButton unlock;
protected JButton save;
protected JButton open;
protected TCSession session;
protected JFileChooser chooser;
protected File importFile;
private ProgressReporter reporter;
public AbstractImportForProEDialog(TCSession session, String title, boolean modal) {
super(modal);
this.session = session;
chooser = new JFileChooser();
chooser.setFileSelectionMode(JFileChooser.FILES_ONLY);
chooser.setMultiSelectionEnabled(false);
setTitle(title);
// setResizable(false);
setLayout(new BorderLayout());
initializeUI();
setComponentsTextProperty();
addUIComponents();
registerActionComponents();
}
protected void initializeUI() {
filePathField = new JTextField(30);
filePathField.setEditable(false);
browse = new JButton();
// logPathField = new JTextField(30);
dateFormatField = new JTextField(30);
// arraySepField = new JTextField(5);
excelListModel = new DefaultListModel();
excelList = new JList(excelListModel);
excelList.setSelectionMode(ListSelectionModel.SINGLE_SELECTION);
rightPane = new JTabbedPane();
System.out.println("this.getClass().getSimpleName()===" + this.getClass().getSimpleName());
if (this.getClass().getSimpleName().equals("ImportRelationsDialog")) {
add = new JButton(AIFImageIcon.getImageIcon(this, "images/cancel_16.png"));
add.setEnabled(false);
remove = new JButton(AIFImageIcon.getImageIcon(this, "images/cancel_all_16.png"));
remove.setEnabled(false);
// remove.setVisible(false);
} else {
add = new JButton(AIFImageIcon.getImageIcon(this, "images/add_16.png"));
add.setEnabled(false);
remove = new JButton(AIFImageIcon.getImageIcon(this, "images/remove_16.png"));
remove.setEnabled(false);
}
execute = new JButton(AIFImageIcon.getImageIcon(this, "images/import_16.png"));
execute.setEnabled(false);
unlock = new JButton(AIFImageIcon.getImageIcon(this, "images/apply_16.png"));
save = new JButton(AIFImageIcon.getImageIcon(this, "images/save_16.png"));
open = new JButton(AIFImageIcon.getImageIcon(this, "images/open_16.png"));
reporter = new ProgressReporter();
}
protected void setComponentsTextProperty() {
browse.setText("...");
execute.setToolTipText("执行导入操作");
unlock.setToolTipText("激活更改配置");
save.setToolTipText("保存配置");
open.setToolTipText("导入配置");
if (this.getClass().getSimpleName().equals("ImportRelationsDialog")) {
add.setToolTipText("清除配置");
remove.setToolTipText("清除所有配置");
}else
{
add.setToolTipText("添加映射");
remove.setToolTipText("移除映射");
}
dateFormatField.setText("yyyy-MM-dd HH:mm:ss");
dateFormatField.setToolTipText("<html>设置日期格式,区分大小写:<ul>" + "<li>y代表年</li>" + "<li>M代表月</li>" + "<li>d代表天</li>" + "<li>H代表时</li>" + "<li>m代表分</li>" + "<li>s代表秒</li>" + "</ul></html>");
// doPurgeComponentProperties("");
}
protected void registerActionComponents() {
add.addActionListener(this);
remove.addActionListener(this);
rightPane.addChangeListener(this);
execute.addActionListener(this);
unlock.addActionListener(this);
save.addActionListener(this);
open.addActionListener(this);
browse.addActionListener(this);
for (int i = 0; i < propertiesList.length; i++) {
propertiesList[i].addListSelectionListener(this);
mappingList[i].addListSelectionListener(this);
}
excelList.addListSelectionListener(this);
}
protected void addUIComponents() {
JPanel topPanel = new JPanel(new FlowLayout(FlowLayout.LEFT));
topPanel.add(new JLabel("数据文件"));
topPanel.add(filePathField);
topPanel.add(browse);
// topPanel.add(new JLabel("日志文件"));
// topPanel.add(logPathField);
JPanel raPanel = new JPanel(new FlowLayout());
raPanel.add(add);
raPanel.add(remove);
JPanel rightPanel = new JPanel(new BorderLayout());
rightPanel.add(rightPane, BorderLayout.CENTER);
rightPanel.add(raPanel, BorderLayout.SOUTH);
JSplitPane centerPanel = new JSplitPane(JSplitPane.HORIZONTAL_SPLIT);
centerPanel.setDividerLocation(120);
centerPanel.setContinuousLayout(true);
centerPanel.setLeftComponent(new JScrollPane(excelList));
addTabbedPaneComponents();
centerPanel.setRightComponent(rightPanel);
JPanel bottomPanel = new JPanel(new FlowLayout());
bottomPanel.add(execute);
bottomPanel.add(unlock);
bottomPanel.add(save);
bottomPanel.add(open);
add(topPanel, BorderLayout.NORTH);
add(centerPanel, BorderLayout.CENTER);
add(bottomPanel, BorderLayout.SOUTH);
}
protected abstract void addTabbedPaneComponents();
protected JPanel getParameterPanel() {
JPanel p = new JPanel(new PropertyLayout());
p.add("1.1.right.top.preferred.preferred", new JLabel("日期格式:"));
p.add("1.2.left.top.preferred.preferred", dateFormatField);
// p.add("2.1.right.top.preferred.preferred", new JLabel("数组内容分隔符:"));
// p.add("2.2.left.top.preferred.preferred", arraySepField);
return p;
}
protected String[] getTCComponentProperties(String name) {
String[] properties = null;
try {
TCTypeService typeService = session.getTypeService();
TCComponentType typeComponent = typeService.getTypeComponent(name);
properties = typeComponent.getPropertyNames();
} catch (TCException e) {
e.printStackTrace();
}
return properties;
}
protected void populateTypeChoices(String name, JComboBox box) {
try {
TCTypeService service = session.getTypeService();
TCComponentType[] items = service.getTypes(name);
if (items != null) {
for (int i = 0; i < items.length; i++) {
String item = items[i].toString();
if ("EngChange".equalsIgnoreCase(item)) {
continue;
}
// System.out.println(items[i].toString());
box.addItem(items[i].toString());
// TCComponentItemType
// TCComponentType[] sub = items[i].isTypeOf(s);
System.out.println("d");
// AIFComponentContext[] aifcs = items[i].getChildren();
// for (AIFComponentContext aifc : aifcs)
// {
// InterfaceAIFComponent com = aifc.getComponent();
// System.out.println(com.getClass());
// }
}
}
} catch (TCException e) {
e.printStackTrace();
}
}
/*
* (non-Javadoc)
* @see
* javax.swing.event.ListSelectionListener#valueChanged(javax.swing.event
* .ListSelectionEvent)
*/
public void valueChanged(ListSelectionEvent listselectionevent) {
checkMappingsEditable();
}
protected void checkMappingsEditable() {
int index = rightPane.getSelectedIndex();
if (index < propertiesList.length) {
add.setEnabled(excelList.getSelectedIndex() != -1 && propertiesList[index].getSelectedIndex() != -1);
remove.setEnabled(mappingList[index].getSelectedIndex() != -1);
} else {
if (this.getClass().getSimpleName().equals("ImportRelationsDialog")) {
add.setEnabled(true);
remove.setEnabled(true);
} else {
add.setEnabled(false);
remove.setEnabled(false);
}
}
}
protected void doPurgeComponentProperties(String name) {
for (int i = 0; i < propertiesList.length - 1; i++) {
propertiesListModels[i].removeAllElements();
mappingListModels[i].removeAllElements();
}
}
/*
* (non-Javadoc)
* @see
* java.awt.event.ActionListener#actionPerformed(java.awt.event.ActionEvent)
*/
public void actionPerformed(ActionEvent ae) {
if (ae.getSource() == add) {
if (!this.getClass().getSimpleName().equals("ImportRelationsDialog")) {
String excel = excelList.getSelectedValue().toString();
int index = excelList.getSelectedIndex();
String prop = propertiesList[rightPane.getSelectedIndex()].getSelectedValue().toString();
MappingAttribute ma = new MappingAttribute(index, excel, prop);
if (!mappingListModels[rightPane.getSelectedIndex()].contains(ma)) {
mappingListModels[rightPane.getSelectedIndex()].addElement(ma);
}
}
} else if (ae.getSource() == remove) {
if (!this.getClass().getSimpleName().equals("ImportRelationsDialog")) {
mappingListModels[rightPane.getSelectedIndex()].remove(mappingList[rightPane.getSelectedIndex()].getSelectedIndex());
}
} else if (ae.getSource() == execute) {
executeImport();
} else if (ae.getSource() == unlock) {
excelList.setEnabled(true);
for (int i = 0; i < propertiesList.length; i++) {
propertiesList[i].setEnabled(true);
mappingList[i].setEnabled(true);
}
} else if (ae.getSource() == open) {
if (filePathField.getText().trim().length() == 0) {
MessageBox.post(AIFDesktop.getActiveDesktop().getShell(), "请先选择要导入的数据文件", "警告", 1);
} else {
openImportSettings();
}
} else if (ae.getSource() == save) {
saveImportSettings();
} else if (ae.getSource() == browse) {
selectImportFile();
}
}
private void selectImportFile() {
excelListModel.removeAllElements();
if (chooser.showOpenDialog(null) == 0) {
importFile = chooser.getSelectedFile();
if (importFile != null) {
if(importFile.exists()&&importFile.isFile()){
if(importFile.getAbsolutePath().endsWith(".xls")){
try {
Workbook workbook = Workbook.getWorkbook(importFile);
Sheet sheet = workbook.getSheet(0);
Cell[] row = sheet.getRow(0);
for (int i = 0; i < row.length; i++) {
if (row[i].getContents().trim().equals("")) {
excelListModel.addElement("(该列名字为空)");
} else {
excelListModel.addElement(row[i].getContents());
}
}
workbook.close();
filePathField.setText(importFile.getAbsolutePath());
execute.setEnabled(true);
return;
} catch (BiffException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
}else if(importFile.getAbsolutePath().endsWith(".xlsx")){
try {
org.apache.poi.ss.usermodel.Workbook workbook = new XSSFWorkbook(new FileInputStream(importFile));
org.apache.poi.ss.usermodel.Sheet sheet = workbook.getSheetAt(0);
Row row = sheet.getRow(0);
for (int i = 0; i < row.getPhysicalNumberOfCells(); i++) {
if (!row.getCell(i).getStringCellValue().trim().equals("")) {
excelListModel.addElement(row.getCell(i).getStringCellValue());
}
// else {
// excelListModel.addElement("(该列名字为空)");
// }
}
filePathField.setText(importFile.getAbsolutePath());
execute.setEnabled(true);
return;
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
}
}
}
}
execute.setEnabled(false);
}
private void executeImport() {
if (checkNecessaryCondition()) {
setVisible(false);
reporter.reportProgressMessage("正在导入数据,请稍候...");
new Thread(reporter).start();
new Thread() {
public void run() {
try {
// callUserServices(session, "1", "ORIGIN_set_bypass");
ImportForProEFlex flex = new ImportForProEFlex(session, reporter);
flex.runImporting(generateImportSettings(), new File(filePathField.getText()));
// callUserServices(session, "1", "ORIGIN_close_bypass");
reporter.requestCanceling();
dispose();
if( flex.logpath.equals("")){
MessageBox.post(AIFDesktop.getActiveDesktop().getShell(), "数据导入完成!\n\n成功条数 : " + flex.success + "\n失败条数 : " + flex.fail , "完成", MessageBox.INFORMATION);
}else{
MessageBox.post(AIFDesktop.getActiveDesktop().getShell(), "数据导入完成!\n\n成功条数 : " + flex.success + "\n失败条数 : " + flex.fail + "\n日志路径" + flex.logpath, "完成", MessageBox.ERROR);
}
} catch (Throwable e) {
e.printStackTrace();
reporter.requestCanceling();
MessageBox.post(AIFDesktop.getActiveDesktop().getShell(), "导入失败", "错误", 1);
setVisible(true);
}
}
}.start();
}
}
protected boolean checkNecessaryCondition() {
return true;
}
protected abstract void openImportSettings();
protected abstract void saveImportSettings();
public abstract ImportSettings generateImportSettings();
protected void populateItemTypes(JComboBox box) {
// BaseClassInput[] abaseclassinput = new
// com.teamcenter.services.rac.core._2007_06.DataManagement.BaseClassInput[4];
// for (int i = 0; i < 4; i++)
// abaseclassinput[i] = new
// com.teamcenter.services.rac.core._2007_06.DataManagement.BaseClassInput();
//
// abaseclassinput[0].baseClass = "Item";
// abaseclassinput[0].exclusionTypes = new String[] {};
// abaseclassinput[1].baseClass = "MEProcess";
// abaseclassinput[2].baseClass = "MEOP";
// abaseclassinput[3].baseClass = "MEWorkarea";
//
// com.teamcenter.services.rac.core._2007_06.DataManagement.GetAvailableTypesResponse
// getavailabletypesresponse
// = TCUtilities
// .getDisplayableTypeNames(session, abaseclassinput);
// Map map = getavailabletypesresponse.inputClassToTypes;
// com.teamcenter.services.rac.core._2007_06.DataManagement.BaseClassInput
// abaseclassinput1[] = abaseclassinput;
// int j = abaseclassinput1.length;
// for (int k = 0; k < j; k++)
// {
// com.teamcenter.services.rac.core._2007_06.DataManagement.BaseClassInput
// baseclassinput = abaseclassinput1[k];
// com.teamcenter.services.rac.core._2007_06.DataManagement.AvailableTypeInfo
// aavailabletypeinfo[] =
// (com.teamcenter.services.rac.core._2007_06.DataManagement.AvailableTypeInfo[])
// map
// .get(baseclassinput.baseClass);
// com.teamcenter.services.rac.core._2007_06.DataManagement.AvailableTypeInfo
// aavailabletypeinfo1[] =
// aavailabletypeinfo;
// int l = aavailabletypeinfo1.length;
// for (int i1 = 0; i1 < l; i1++)
// {
// com.teamcenter.services.rac.core._2007_06.DataManagement.AvailableTypeInfo
// availabletypeinfo =
// aavailabletypeinfo1[i1];
// box.addItem(availabletypeinfo.type);
// }
//
// }
//
// if (getavailabletypesresponse.serviceData.sizeOfPartialErrors() > 0)
// {
// TCException tcexception =
// SoaUtil.checkPartialErrorsNoThrow(getavailabletypesresponse.serviceData);
// MessageBox.post(Utilities.getParentFrame(this), tcexception);
// }
String[] types = new String[] { "Item", "MEProcess", "MEOP" };
List<String> datas = new ArrayList<String>();
Map<String, List<String>> map = new HashMap<String, List<String>>(types.length);
for (String string : types) {
map.put(string, new ArrayList<String>());
}
if (map != null && map.size() > 0) {
Map<String, List<DisplayTypeInfo>> map1 = TCUtilities.getDisplayableTypeNamesWithHierarchyInfo(session, map);
if (map1 != null && !map1.isEmpty()) {
Iterator<Entry<String, List<DisplayTypeInfo>>> iterator = map1.entrySet().iterator();
do {
if (!iterator.hasNext())
break;
Entry<String, List<DisplayTypeInfo>> entry = iterator.next();
List<DisplayTypeInfo> list = entry.getValue();
if (list != null && !list.isEmpty()) {
Iterator<DisplayTypeInfo> iterator1 = list.iterator();
while (iterator1.hasNext()) {
DisplayTypeInfo displaytypeinfo = (DisplayTypeInfo) iterator1.next();
datas.add(displaytypeinfo.getTypeName());
}
}
} while (true);
}
}
Collections.sort(datas);
box.setModel(new DefaultComboBoxModel(datas.toArray(new String[datas.size()])));
}
public static void main(String[] args){
org.apache.poi.ss.usermodel.Workbook workbook;
try {
workbook = new XSSFWorkbook(new FileInputStream("C:\\Users\\Administrator.SD-20101212HAVL\\Desktop\\123.xlsx"));
org.apache.poi.ss.usermodel.Sheet sheet = workbook.getSheetAt(0);
System.out.println(sheet.getPhysicalNumberOfRows());
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
}
public static Object callUserServices(TCSession session ,Object target,String str_userServiceName) {
Object[] obj = new Object[1];
obj[0] = target;
Object robj=null;
try {
robj =session.getUserService().call(str_userServiceName, obj);
return robj;
} catch (Exception e) {
e.printStackTrace();
return null;
}
}
}

@ -0,0 +1,414 @@
package com.connor.dev.imp;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.ResultSetMetaData;
import java.sql.SQLException;
import java.sql.Statement;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.Vector;
import com.teamcenter.rac.kernel.TCSession;
import com.teamcenter.rac.util.MessageBox;
public class DataBaseControl {
/** ************************数据库类调用:声明部分*********************************** */
/**
* kelsen ....
*/
Connection conn;
ResultSet rs;
PreparedStatement pstmt;
Statement stmt;
String strSQLQuery;
public String str_Information = "";
private String strDriver = "oracle.jdbc.driver.OracleDriver";
private String strUrl = "";
private String strUserName = "";
private String strPassword = "";
/**
*
*/
public DataBaseControl(String strDriver, String strUrl, String strUserName,
String strPassword) {
// this.strDriver ="oracle.jdbc.driver.OracleDriver";//驱动
// this.strUrl = "jdbc:oracle:thin:@127.0.0.1:1521:tc";//连接路径
// this.strUserName = "infodba";//数据库用户
// this.strPassword = "infodba";//数据库密码
this.strDriver = strDriver; // "oracle.jdbc.driver.OracleDriver";//驱动
this.strUrl = strUrl; // "jdbc:oracle:thin:@127.0.0.1:1521:tceng";//连接路径
this.strUserName = strUserName; // "infodba";//数据库用户
this.strPassword = strPassword; // "infodba";//数据库密码
// 加载驱动
try {
Class.forName(strDriver);// 通过反射加载驱动到内存
} catch (ClassNotFoundException cnfe) {
cnfe.printStackTrace();
}
// try {
// Class.forName("org.objectweb.rmijdbc.Driver").newInstance();
// } catch (InstantiationException e) {
// // TODO Auto-generated catch block
// e.printStackTrace();
// } catch (IllegalAccessException e) {
// // TODO Auto-generated catch block
// e.printStackTrace();
// } catch (ClassNotFoundException e) {
// // TODO Auto-generated catch block
// e.printStackTrace();
// }
}
/**
*
*/
public DataBaseControl(TCSession session) {
String[] stringArray = session.getPreferenceService().getStringValues("ERP_JDBC_Conn");
if (stringArray != null && stringArray.length == 3) {
strUrl = "jdbc:oracle:thin:@" + stringArray[0];
strUserName = stringArray[1];
strPassword = stringArray[2];
} else {
MessageBox.post("未配置ERP_JDBC_Conn首选项无法获得连接信息!", "错误",
MessageBox.ERROR);
}
// 加载驱动
try {
Class.forName(strDriver);// 通过反射加载驱动到内存
} catch (ClassNotFoundException cnfe) {
cnfe.printStackTrace();
}
}
/**
*
*
* @param strSQLQuery
*/
public void dbModify(String strSQLQuery) {
openDataBase();
try {
stmt = conn.createStatement();
stmt.executeUpdate(strSQLQuery);
} catch (SQLException sqle2) {
sqle2.printStackTrace();
}
closeDataBase();
}
/**
*
*
* @param strSQLQuery
* @return
*/
public ResultSet dbQuery(String strSQLQuery) {
ResultSet rs_result = null;
if (conn == null)
openDataBase();
try {
stmt = conn.createStatement();
rs_result = stmt.executeQuery(strSQLQuery);
} catch (SQLException sqle2) {
sqle2.printStackTrace();
}
return rs_result;
}
/**
* 2
*
* @param strSQLQuery
* @return
*/
public ResultSet dbQuery2(String strSQLQuery, Object[] strs) {
ResultSet rs_result = null;
if (conn == null)
openDataBase();
try {
// stmt = conn.createStatement();
PreparedStatement ps = conn.prepareStatement(strSQLQuery);
for (int i = 0; i < strs.length; i++) {
ps.setObject(i + 1, strs[i]);
}
rs_result = ps.executeQuery();
} catch (SQLException sqle2) {
sqle2.printStackTrace();
}
return rs_result;
}
/**
* 2
*
* @param strSQLQuery
*/
public void dbModify2(String strSQLQuery, Object[] strs) {
openDataBase();
try {
// stmt = conn.createStatement();
PreparedStatement ps = conn.prepareStatement(strSQLQuery);
for (int i = 0; i < strs.length; i++) {
ps.setObject(i + 1, strs[i]);
}
ps.executeUpdate();
} catch (SQLException sqle2) {
sqle2.printStackTrace();
}
closeDataBase();
}
/**
*
*
*/
public void openDataBase() {
try {
// this.strUrl="jdbc:oracle:thin:@(DESCRIPTION=(ADDRESS_LIST=(ADDRESS=(PROTOCOL=TCP)(HOST=192.168.1.29)(PORT=1521)))(CONNECT_DATA=(SERVICE_NAME=tcprod)))";
if (conn == null || conn.isClosed())
conn = DriverManager.getConnection(strUrl, strUserName,
strPassword);
} catch (SQLException sqle) {
sqle.printStackTrace();
MessageBox.post("数据库连接错误" + sqle.getMessage(), "错误", 1);
}
}
/**
*
*
*/
public void closeDataBase() {
try {
if (rs != null) {
try {
rs.close();
} catch (SQLException sqlec) {
sqlec.printStackTrace();
}
}
if (stmt != null) {
try {
stmt.close();
} catch (SQLException sqlec) {
sqlec.printStackTrace();
}
}
if (conn != null && !conn.isClosed()) {
try {
conn.close();
} catch (SQLException sqlecon) {
sqlecon.printStackTrace();
}
}
} catch (Exception e) {
e.printStackTrace();
}
}
/**
* HashMap,key
* VectorHasnMap
*
* @param strSQLQuery
* @return
* @author xuk
*/
public Vector orgQuery(String strSQLQuery) {
openDataBase();
Vector v_result = new Vector();
try {
ResultSet rs_get = dbQuery(strSQLQuery);
// System.out.println("RS_GET:"+rs_get);
if (rs_get != null) {
ResultSetMetaData metaData = rs_get.getMetaData();
int i_ColumnCount = metaData.getColumnCount();
// System.out.println("i_ColumnCount:"+i_ColumnCount);
while (rs_get.next()) {
// System.out.println("【BJZJ2】"+rs_get.getString("BJZJ2"));;
HashMap<String, String> hm_unit = new HashMap<String, String>();
for (int i = 1; i <= i_ColumnCount; i++) {
hm_unit.put(metaData.getColumnName(i),
rs_get.getString(i));
// System.out.println("metaData.getColumnName(i):"+metaData.getColumnName(i));
// System.out.println("rs_get.getString(i):"+rs_get.getString(i));
}
v_result.add(hm_unit);
}
} else {
str_Information = "【" + strSQLQuery + "】" + "查询的结果集为空\n";
}
} catch (Exception e) {
e.printStackTrace();
}
return v_result;
}
/**
*
* @param tabalename
* @param pzid
* @return
* @throws Exception
*/
public String getKc(String tabalename, String pzid) throws Exception {
openDataBase();
String query = "select * from " + tabalename + " where IMG01= ?"; // DSASX.PE_IMG_V
// 查询该id在数据库中的内容
System.out.println("query="+query);
System.out.println("pzid="+pzid);
ResultSet rs = dbQuery2(query, new Object[] { pzid });
String IMG10 = "";
if (rs!=null) {
if (rs.next()) {
String IMG01 = rs.getString(1);// 物料编码
IMG10 = rs.getString(2);// 库存
System.out.println("查询到"+IMG01+"库存:"+IMG10);
}
}else {
IMG10="未找到对应库存信息";
}
closeDataBase();
return IMG10;
}
/**
*
* @param tabalename
* @return
* @throws Exception
*/
public Map<String, String> getFQM(String tabalename) {
Map<String, String> map=new HashMap<String, String>();
try {
openDataBase();
String query = "SELECT IMZ01,IMZ02 FROM " + tabalename + " ORDER BY IMZ01"; // DSASX.PE_IMZ_V
// 查询该id在数据库中的内容
System.out.println("query="+query);
ResultSet rs = dbQuery(query);
if (rs!=null) {
while (rs.next()) {
String IMZ01 = rs.getString(1);// 分群码
String IMZ02 = rs.getString(2);// 分群名称
System.out.println("查询到分群码"+IMZ01+"----"+IMZ02);
map.put(IMZ01, IMZ02);
}
}
closeDataBase();
} catch (Exception e) {
// TODO: handle exception
e.printStackTrace();
}finally {
closeDataBase();
}
return map;
}
/**
*
* @param tabalename
* @return
* @throws Exception
*/
public Map<String, String> getCBFQM(String tabalename) {
Map<String, String> map=new HashMap<String, String>();
try {
openDataBase();
String query = "SELECT AZF01 ,AZF03 FROM " + tabalename + " ORDER BY AZF01"; // DSASX.PE_AZF_V
// 查询该id在数据库中的内容
System.out.println("query="+query);
ResultSet rs = dbQuery(query);
if (rs!=null) {
while (rs.next()) {
String AZF01 = rs.getString(1);// 分群码
String AZF03 = rs.getString(2);// 分群名称
System.out.println("查询到成本分群码"+AZF01+"----"+AZF03);
map.put(AZF01, AZF03);
}
}
closeDataBase();
} catch (Exception e) {
// TODO: handle exception
e.printStackTrace();
}finally {
closeDataBase();
}
return map;
}
/**
*
*
* @param args
*/
public static void main(String args[]) {
try {
String str_DataBaseDriver = "oracle.jdbc.driver.OracleDriver";
String str_URL = "jdbc:oracle:thin:@localhost:1521:tc8";
String str_UserName = "infodba";
String str_Password = "infodba";
DataBaseControl dbc = new DataBaseControl(str_DataBaseDriver,
str_URL, str_UserName, str_Password);
// dbc.openDataBase();
System.out.println("连接成功");
// dbc.stmt = dbc.conn.createStatement();
// String sql = "select * from PLM_LSH";
// Vector rs_result = dbc.orgQuery(sql);
// for (int i = 0; i < rs_result.size(); i++) {
// HashMap<String, String> map = (HashMap<String, String>)
// rs_result.get(i);
//
// for (Map.Entry<String, String> entry: map.entrySet()) {
// System.out.println(entry.getKey()+"---"+entry.getValue());
// }
// }
// dbc.closeDataBase();
} catch (Exception e) {
e.printStackTrace();
}
}
}

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

@ -0,0 +1,110 @@
package com.connor.dev.imp;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.ObjectInputStream;
import java.io.ObjectOutputStream;
import java.io.Serializable;
public abstract class ImportSettings implements Serializable
{
private static final long serialVersionUID = 1L;
private boolean saved;
private int columns;
private String dateFormat;
//private String arraySeparator;
public boolean save(File file)
{
try
{
FileOutputStream fos = new FileOutputStream(file);
ObjectOutputStream oos = new ObjectOutputStream(fos);
oos.writeObject(this);
oos.flush();
oos.close();
saved = true;
return true;
}
catch (IOException ioe)
{
ioe.printStackTrace();
}
return false;
}
public ImportSettings load(File file)
{
try
{
FileInputStream fis = new FileInputStream(file);
ObjectInputStream ois = new ObjectInputStream(fis);
Object o = ois.readObject();
ois.close();
fis.close();
saved = false;
if (o instanceof ImportSettings)
{
return (ImportSettings) o;
}
}
catch (Exception e)
{
e.printStackTrace();
}
return null;
}
public void setSaved(boolean saved)
{
this.saved = saved;
}
public boolean isSaved()
{
return saved;
}
public void setColumns(int columns)
{
this.columns = columns;
}
public int getColumns()
{
return columns;
}
public String getDateFormat()
{
return dateFormat;
}
public void setDateFormat(String dateFormat)
{
this.dateFormat = dateFormat;
}
// public String getArraySeparator()
// {
// return arraySeparator;
// }
//
// public void setArraySeparator(String arraySeparator)
// {
// this.arraySeparator = arraySeparator;
// }
}

@ -0,0 +1,69 @@
package com.connor.dev.imp;
import java.io.Serializable;
public class MappingAttribute implements Serializable
{
private static final long serialVersionUID = 1L;
private int columnIndex;
private String columnTitle;
private String tcAttribute;
public MappingAttribute(int columnIndex, String columnTitle, String tcAttribute)
{
this.columnIndex = columnIndex;
this.columnTitle = columnTitle;
this.tcAttribute = tcAttribute;
}
public int getColumnIndex()
{
return columnIndex;
}
public void setColumnIndex(int columnIndex)
{
this.columnIndex = columnIndex;
}
public String getColumnTitle()
{
return columnTitle;
}
public void setColumnTitle(String columnTitle)
{
this.columnTitle = columnTitle;
}
public String getTcAttribute()
{
return tcAttribute;
}
public void setTcAttribute(String tcAttribute)
{
this.tcAttribute = tcAttribute;
}
public boolean equals(Object obj)
{
if (!(obj instanceof MappingAttribute))
{
return false;
}
else
{
MappingAttribute at = (MappingAttribute) obj;
return tcAttribute.equals(at.tcAttribute);
}
}
public String toString()
{
return "(" + columnIndex + ")" + columnTitle + " => " + tcAttribute;
}
}

@ -0,0 +1,71 @@
package com.connor.dev.imp.bom;
import java.io.Serializable;
import com.connor.dev.imp.ImportSettings;
import com.connor.dev.imp.MappingAttribute;
public class BomsImportSettings extends ImportSettings implements Serializable
{
private static final long serialVersionUID = 1L;
private MappingAttribute parentMapping;
private MappingAttribute parentRevMapping;
private MappingAttribute childMapping;
private MappingAttribute childRevMapping;
private MappingAttribute[] bomLineMapping;
public MappingAttribute getParentMapping()
{
return parentMapping;
}
public void setParentMapping(MappingAttribute parentMapping)
{
this.parentMapping = parentMapping;
}
public MappingAttribute getParentRevMapping()
{
return parentRevMapping;
}
public void setParentRevMapping(MappingAttribute parentRevMapping)
{
this.parentRevMapping = parentRevMapping;
}
public MappingAttribute getChildMapping()
{
return childMapping;
}
public void setChildMapping(MappingAttribute childMapping)
{
this.childMapping = childMapping;
}
public MappingAttribute getChildRevMapping()
{
return childRevMapping;
}
public void setChildRevMapping(MappingAttribute childRevMapping)
{
this.childRevMapping = childRevMapping;
}
public void setBomLineMapping(MappingAttribute[] bomLineMapping)
{
this.bomLineMapping = bomLineMapping;
}
public MappingAttribute[] getBomLineMapping()
{
return bomLineMapping;
}
}

@ -0,0 +1,20 @@
package com.connor.dev.imp.bom;
import com.connor.dev.imp.AbstractImportCommand;
import com.teamcenter.rac.aif.AbstractAIFUIApplication;
public class ImportBomsCommand extends AbstractImportCommand
{
public ImportBomsCommand(AbstractAIFUIApplication application)
{
super(application);
}
protected void importHistoryDatas()
{
ImportBomsDialog dialog = new ImportBomsDialog(session, "µ¼ÈëBOM");
setRunnable(dialog);
}
}

@ -0,0 +1,339 @@
package com.connor.dev.imp.bom;
import java.awt.GridLayout;
import java.awt.event.ActionEvent;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.ObjectOutputStream;
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
import javax.swing.DefaultListModel;
import javax.swing.JLabel;
import javax.swing.JList;
import javax.swing.JPanel;
import javax.swing.JScrollPane;
import javax.swing.ListSelectionModel;
import javax.swing.event.ChangeEvent;
import com.connor.dev.imp.AbstractImportDialog;
import com.connor.dev.imp.ImportSettings;
import com.connor.dev.imp.MappingAttribute;
import com.connor.dev.imp.ob.MappingButton;
import com.teamcenter.rac.aif.AIFDesktop;
import com.teamcenter.rac.kernel.TCComponentType;
import com.teamcenter.rac.kernel.TCException;
import com.teamcenter.rac.kernel.TCPropertyDescriptor;
import com.teamcenter.rac.kernel.TCSession;
import com.teamcenter.rac.kernel.TCTypeService;
import com.teamcenter.rac.util.MessageBox;
public class ImportBomsDialog extends AbstractImportDialog
{
private static final long serialVersionUID = 1L;
private MappingButton parent;
private MappingButton child;
private MappingButton parentRev;
private MappingButton childRev;
public ImportBomsDialog(TCSession session, String title)
{
super(session, title, true);
}
/*
* (non-Javadoc)
*
* @see cn.com.origin.imp.AbstractImportDialog#initializeUI()
*/
protected void initializeUI()
{
super.initializeUI();
propertiesList = new JList[1];
propertiesListModels = new DefaultListModel[1];
mappingListModels = new DefaultListModel[1];
mappingList = new JList[1];
for (int i = 0; i < propertiesList.length; i++)
{
propertiesListModels[i] = new DefaultListModel();
propertiesList[i] = new JList(propertiesListModels[i]);
propertiesList[i].setSelectionMode(ListSelectionModel.SINGLE_SELECTION);
propertiesList[i].setVisibleRowCount(20);
mappingListModels[i] = new DefaultListModel();
mappingList[i] = new JList(mappingListModels[i]);
mappingList[i].setSelectionMode(ListSelectionModel.SINGLE_SELECTION);
}
parent = new MappingButton("Parent ID");
child = new MappingButton("Child ID");
parentRev = new MappingButton("Parent Revision ID");
childRev = new MappingButton("Child Revision ID");
}
/*
* (non-Javadoc)
*
* @see cn.com.origin.imp.AbstractImportDialog#registerActionComponents()
*/
protected void registerActionComponents()
{
super.registerActionComponents();
parent.addActionListener(this);
child.addActionListener(this);
parentRev.addActionListener(this);
childRev.addActionListener(this);
}
/*
* (non-Javadoc)
*
* @see cn.com.origin.imp.AbstractImportDialog#setComponentsTextProperty()
*/
protected void setComponentsTextProperty()
{
super.setComponentsTextProperty();
try
{
TCTypeService service = session.getTypeService();
TCComponentType type = service.getTypeComponent("BOMLine");
TCPropertyDescriptor descriptor[] = type.getPropertyDescriptors();
List<String> list = new ArrayList<String>();
for (int i = 0; i < descriptor.length; i++)
{
if (descriptor[i].isModifiable() && !descriptor[i].toString().equals("bl_pack_count"))
{
list.add(descriptor[i].getName());
}
}
Collections.sort(list);
for (String str : list)
{
propertiesListModels[0].addElement(str);
}
}
catch (TCException te)
{
te.printStackTrace();
}
}
/*
* (non-Javadoc)
*
* @see cn.com.origin.imp.AbstractImportDialog#addTabbedPaneComponents()
*/
protected void addTabbedPaneComponents()
{
String[] titles = new String[] { "BOMLine" };
for (int i = 0; i < propertiesList.length; i++)
{
JPanel panel = new JPanel(new GridLayout());
panel.add(new JScrollPane(propertiesList[i]));
panel.add(new JScrollPane(mappingList[i]));
rightPane.addTab(titles[i], panel);
}
rightPane.addTab("参数", getParameterPanel());
}
/*
* (non-Javadoc)
*
* @see java.awt.event.ActionListener#actionPerformed(java.awt.event.ActionEvent)
*/
public void actionPerformed(ActionEvent ae)
{
if (ae.getSource() instanceof MappingButton)
{
assignMappingAttribute((MappingButton) ae.getSource());
}
else if (ae.getSource() == unlock)
{
parent.setEnabled(true);
child.setEnabled(true);
parentRev.setEnabled(true);
childRev.setEnabled(true);
super.actionPerformed(ae);
}
else
{
super.actionPerformed(ae);
}
}
private void assignMappingAttribute(MappingButton button)
{
if (excelList.getSelectedIndex() == -1)
{
MessageBox.post(AIFDesktop.getActiveDesktop().getShell(), "请先在左边选择对应的一行数据再指定关系", "警告", 1);
return;
}
String excel = excelList.getSelectedValue().toString();
int index = excelList.getSelectedIndex();
MappingAttribute ma = new MappingAttribute(index, excel, button.getPropertyName());
button.setMappingAttribute(ma);
}
/*
* (non-Javadoc)
*
* @see javax.swing.event.ChangeListener#stateChanged(javax.swing.event.ChangeEvent)
*/
public void stateChanged(ChangeEvent changeevent)
{
int index = rightPane.getSelectedIndex();
if (index > 0)
{
add.setEnabled(false);
remove.setEnabled(false);
}
else
{
checkMappingsEditable();
}
}
/*
* (non-Javadoc)
*
* @see cn.com.origin.imp.AbstractImportDialog#openImportSettings()
*/
protected void openImportSettings()
{
if (chooser.showOpenDialog(null) == 0)
{
BomsImportSettings bis = new BomsImportSettings();
ImportSettings is = bis.load(chooser.getSelectedFile());
if (is == null)
{
MessageBox.post(AIFDesktop.getActiveDesktop().getShell(), "从文件中加载配置失败.", "错误", 1);
return;
}
if (is instanceof BomsImportSettings)
{
bis = (BomsImportSettings) is;
// arraySepField.setText(bis.getArraySeparator());
for (int i = 0; i < mappingListModels.length; i++)
{
mappingListModels[i].removeAllElements();
}
for (int i = 0; i < bis.getBomLineMapping().length; i++)
{
mappingListModels[0].addElement(bis.getBomLineMapping()[i]);
}
parent.setMappingAttribute(bis.getParentMapping());
child.setMappingAttribute(bis.getChildMapping());
parentRev.setMappingAttribute(bis.getParentRevMapping());
childRev.setMappingAttribute(bis.getChildRevMapping());
excelList.setEnabled(false);
for (int i = 0; i < propertiesList.length; i++)
{
propertiesList[i].setEnabled(false);
mappingList[i].setEnabled(false);
}
parent.setEnabled(false);
child.setEnabled(false);
parentRev.setEnabled(false);
childRev.setEnabled(false);
}
}
}
/*
* (non-Javadoc)
*
* @see cn.com.origin.imp.AbstractImportDialog#saveImportSettings()
*/
protected void saveImportSettings()
{
BomsImportSettings bis = generateImportSettings();
if (chooser.showSaveDialog(null) == 0)
{
try
{
FileOutputStream fileoutputstream = new FileOutputStream(chooser.getSelectedFile());
ObjectOutputStream objectoutputstream = new ObjectOutputStream(fileoutputstream);
objectoutputstream.writeObject(bis);
objectoutputstream.flush();
objectoutputstream.close();
}
catch (IOException ioe)
{
ioe.printStackTrace();
}
MessageBox.post(AIFDesktop.getActiveDesktop().getShell(), "配置已经被成功保存在\n"
+ chooser.getSelectedFile().getAbsolutePath(), "成功", 2);
}
}
/*
* (non-Javadoc)
*
* @see cn.com.origin.imp.AbstractImportDialog#generateImportSettings()
*/
public BomsImportSettings generateImportSettings()
{
BomsImportSettings bis = new BomsImportSettings();
MappingAttribute[] itemMapping = new MappingAttribute[mappingListModels[0].size()];
System.arraycopy(mappingListModels[0].toArray(), 0, itemMapping, 0, itemMapping.length);
bis.setBomLineMapping(itemMapping);
bis.setChildMapping(child.getMappingAttribute());
bis.setChildRevMapping(childRev.getMappingAttribute());
bis.setParentMapping(parent.getMappingAttribute());
bis.setParentRevMapping(parentRev.getMappingAttribute());
bis.setColumns(excelList.getModel().getSize());
// bis.setArraySeparator(arraySepField.getText().trim());
bis.setDateFormat(dateFormatField.getText().trim());
return bis;
}
/*
* (non-Javadoc)
*
* @see cn.com.origin.imp.AbstractImportDialog#getParameterPanel()
*/
protected JPanel getParameterPanel()
{
JPanel p = super.getParameterPanel();
p.add("2.1.right.top.preferred.preferred", new JLabel("Parent ID :"));
p.add("2.2.left.top.preferred.preferred", parent);
p.add("3.1.right.top.preferred.preferred", new JLabel("Parent Revision ID :"));
p.add("3.2.left.top.preferred.preferred", parentRev);
p.add("4.1.right.top.preferred.preferred", new JLabel("Child ID :"));
p.add("4.2.left.top.preferred.preferred", child);
p.add("5.1.right.top.preferred.preferred", new JLabel("Child Revision ID :"));
p.add("5.2.left.top.preferred.preferred", childRev);
return p;
}
}

@ -0,0 +1,20 @@
package com.connor.dev.imp.bom;
import com.connor.dev.imp.AbstractImportCommand;
import com.teamcenter.rac.aif.AbstractAIFUIApplication;
public class ImportBomsForProECommand extends AbstractImportCommand
{
public ImportBomsForProECommand(AbstractAIFUIApplication application)
{
super(application);
}
protected void importHistoryDatas()
{
ImportBomsForProEDialog dialog = new ImportBomsForProEDialog(session, "µ¼ÈëBOM");
setRunnable(dialog);
}
}

@ -0,0 +1,340 @@
package com.connor.dev.imp.bom;
import java.awt.GridLayout;
import java.awt.event.ActionEvent;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.ObjectOutputStream;
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
import javax.swing.DefaultListModel;
import javax.swing.JLabel;
import javax.swing.JList;
import javax.swing.JPanel;
import javax.swing.JScrollPane;
import javax.swing.ListSelectionModel;
import javax.swing.event.ChangeEvent;
import com.connor.dev.imp.AbstractImportDialog;
import com.connor.dev.imp.AbstractImportForProEDialog;
import com.connor.dev.imp.ImportSettings;
import com.connor.dev.imp.MappingAttribute;
import com.connor.dev.imp.ob.MappingButton;
import com.teamcenter.rac.aif.AIFDesktop;
import com.teamcenter.rac.kernel.TCComponentType;
import com.teamcenter.rac.kernel.TCException;
import com.teamcenter.rac.kernel.TCPropertyDescriptor;
import com.teamcenter.rac.kernel.TCSession;
import com.teamcenter.rac.kernel.TCTypeService;
import com.teamcenter.rac.util.MessageBox;
public class ImportBomsForProEDialog extends AbstractImportForProEDialog
{
private static final long serialVersionUID = 1L;
private MappingButton parent;
private MappingButton child;
private MappingButton parentRev;
private MappingButton childRev;
public ImportBomsForProEDialog(TCSession session, String title)
{
super(session, title, true);
}
/*
* (non-Javadoc)
*
* @see cn.com.origin.imp.AbstractImportDialog#initializeUI()
*/
protected void initializeUI()
{
super.initializeUI();
propertiesList = new JList[1];
propertiesListModels = new DefaultListModel[1];
mappingListModels = new DefaultListModel[1];
mappingList = new JList[1];
for (int i = 0; i < propertiesList.length; i++)
{
propertiesListModels[i] = new DefaultListModel();
propertiesList[i] = new JList(propertiesListModels[i]);
propertiesList[i].setSelectionMode(ListSelectionModel.SINGLE_SELECTION);
propertiesList[i].setVisibleRowCount(20);
mappingListModels[i] = new DefaultListModel();
mappingList[i] = new JList(mappingListModels[i]);
mappingList[i].setSelectionMode(ListSelectionModel.SINGLE_SELECTION);
}
parent = new MappingButton("Parent ID");
child = new MappingButton("Child ID");
parentRev = new MappingButton("Parent Revision ID");
childRev = new MappingButton("Child Revision ID");
}
/*
* (non-Javadoc)
*
* @see cn.com.origin.imp.AbstractImportDialog#registerActionComponents()
*/
protected void registerActionComponents()
{
super.registerActionComponents();
parent.addActionListener(this);
child.addActionListener(this);
parentRev.addActionListener(this);
childRev.addActionListener(this);
}
/*
* (non-Javadoc)
*
* @see cn.com.origin.imp.AbstractImportDialog#setComponentsTextProperty()
*/
protected void setComponentsTextProperty()
{
super.setComponentsTextProperty();
try
{
TCTypeService service = session.getTypeService();
TCComponentType type = service.getTypeComponent("BOMLine");
TCPropertyDescriptor descriptor[] = type.getPropertyDescriptors();
List<String> list = new ArrayList<String>();
for (int i = 0; i < descriptor.length; i++)
{
if (descriptor[i].isModifiable() && !descriptor[i].toString().equals("bl_pack_count"))
{
list.add(descriptor[i].getName());
}
}
Collections.sort(list);
for (String str : list)
{
propertiesListModels[0].addElement(str);
}
}
catch (TCException te)
{
te.printStackTrace();
}
}
/*
* (non-Javadoc)
*
* @see cn.com.origin.imp.AbstractImportDialog#addTabbedPaneComponents()
*/
protected void addTabbedPaneComponents()
{
String[] titles = new String[] { "BOMLine" };
for (int i = 0; i < propertiesList.length; i++)
{
JPanel panel = new JPanel(new GridLayout());
panel.add(new JScrollPane(propertiesList[i]));
panel.add(new JScrollPane(mappingList[i]));
rightPane.addTab(titles[i], panel);
}
rightPane.addTab("参数", getParameterPanel());
}
/*
* (non-Javadoc)
*
* @see java.awt.event.ActionListener#actionPerformed(java.awt.event.ActionEvent)
*/
public void actionPerformed(ActionEvent ae)
{
if (ae.getSource() instanceof MappingButton)
{
assignMappingAttribute((MappingButton) ae.getSource());
}
else if (ae.getSource() == unlock)
{
parent.setEnabled(true);
child.setEnabled(true);
parentRev.setEnabled(true);
childRev.setEnabled(true);
super.actionPerformed(ae);
}
else
{
super.actionPerformed(ae);
}
}
private void assignMappingAttribute(MappingButton button)
{
if (excelList.getSelectedIndex() == -1)
{
MessageBox.post(AIFDesktop.getActiveDesktop().getShell(), "请先在左边选择对应的一行数据再指定关系", "警告", 1);
return;
}
String excel = excelList.getSelectedValue().toString();
int index = excelList.getSelectedIndex();
MappingAttribute ma = new MappingAttribute(index, excel, button.getPropertyName());
button.setMappingAttribute(ma);
}
/*
* (non-Javadoc)
*
* @see javax.swing.event.ChangeListener#stateChanged(javax.swing.event.ChangeEvent)
*/
public void stateChanged(ChangeEvent changeevent)
{
int index = rightPane.getSelectedIndex();
if (index > 0)
{
add.setEnabled(false);
remove.setEnabled(false);
}
else
{
checkMappingsEditable();
}
}
/*
* (non-Javadoc)
*
* @see cn.com.origin.imp.AbstractImportDialog#openImportSettings()
*/
protected void openImportSettings()
{
if (chooser.showOpenDialog(null) == 0)
{
BomsImportSettings bis = new BomsImportSettings();
ImportSettings is = bis.load(chooser.getSelectedFile());
if (is == null)
{
MessageBox.post(AIFDesktop.getActiveDesktop().getShell(), "从文件中加载配置失败.", "错误", 1);
return;
}
if (is instanceof BomsImportSettings)
{
bis = (BomsImportSettings) is;
// arraySepField.setText(bis.getArraySeparator());
for (int i = 0; i < mappingListModels.length; i++)
{
mappingListModels[i].removeAllElements();
}
for (int i = 0; i < bis.getBomLineMapping().length; i++)
{
mappingListModels[0].addElement(bis.getBomLineMapping()[i]);
}
parent.setMappingAttribute(bis.getParentMapping());
child.setMappingAttribute(bis.getChildMapping());
parentRev.setMappingAttribute(bis.getParentRevMapping());
childRev.setMappingAttribute(bis.getChildRevMapping());
excelList.setEnabled(false);
for (int i = 0; i < propertiesList.length; i++)
{
propertiesList[i].setEnabled(false);
mappingList[i].setEnabled(false);
}
parent.setEnabled(false);
child.setEnabled(false);
parentRev.setEnabled(false);
childRev.setEnabled(false);
}
}
}
/*
* (non-Javadoc)
*
* @see cn.com.origin.imp.AbstractImportDialog#saveImportSettings()
*/
protected void saveImportSettings()
{
BomsImportSettings bis = generateImportSettings();
if (chooser.showSaveDialog(null) == 0)
{
try
{
FileOutputStream fileoutputstream = new FileOutputStream(chooser.getSelectedFile());
ObjectOutputStream objectoutputstream = new ObjectOutputStream(fileoutputstream);
objectoutputstream.writeObject(bis);
objectoutputstream.flush();
objectoutputstream.close();
}
catch (IOException ioe)
{
ioe.printStackTrace();
}
MessageBox.post(AIFDesktop.getActiveDesktop().getShell(), "配置已经被成功保存在\n"
+ chooser.getSelectedFile().getAbsolutePath(), "成功", MessageBox.INFORMATION);
}
}
/*
* (non-Javadoc)
*
* @see cn.com.origin.imp.AbstractImportDialog#generateImportSettings()
*/
public BomsImportSettings generateImportSettings()
{
BomsImportSettings bis = new BomsImportSettings();
MappingAttribute[] itemMapping = new MappingAttribute[mappingListModels[0].size()];
System.arraycopy(mappingListModels[0].toArray(), 0, itemMapping, 0, itemMapping.length);
bis.setBomLineMapping(itemMapping);
bis.setChildMapping(child.getMappingAttribute());
bis.setChildRevMapping(childRev.getMappingAttribute());
bis.setParentMapping(parent.getMappingAttribute());
bis.setParentRevMapping(parentRev.getMappingAttribute());
bis.setColumns(excelList.getModel().getSize());
// bis.setArraySeparator(arraySepField.getText().trim());
bis.setDateFormat(dateFormatField.getText().trim());
return bis;
}
/*
* (non-Javadoc)
*
* @see cn.com.origin.imp.AbstractImportDialog#getParameterPanel()
*/
protected JPanel getParameterPanel()
{
JPanel p = super.getParameterPanel();
p.add("2.1.right.top.preferred.preferred", new JLabel("Parent ID :"));
p.add("2.2.left.top.preferred.preferred", parent);
p.add("3.1.right.top.preferred.preferred", new JLabel("Parent Revision ID :"));
p.add("3.2.left.top.preferred.preferred", parentRev);
p.add("4.1.right.top.preferred.preferred", new JLabel("Child ID :"));
p.add("4.2.left.top.preferred.preferred", child);
p.add("5.1.right.top.preferred.preferred", new JLabel("Child Revision ID :"));
p.add("5.2.left.top.preferred.preferred", childRev);
return p;
}
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 866 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 332 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 587 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 396 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 703 B

Some files were not shown because too many files have changed in this diff Show More

Loading…
Cancel
Save