diff --git a/com.sq.customization/.classpath b/com.sq.customization/.classpath
index eca7bdb..676ac3a 100644
--- a/com.sq.customization/.classpath
+++ b/com.sq.customization/.classpath
@@ -3,5 +3,23 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/com.sq.customization/META-INF/MANIFEST.MF b/com.sq.customization/META-INF/MANIFEST.MF
index e9dfa65..2db3415 100644
--- a/com.sq.customization/META-INF/MANIFEST.MF
+++ b/com.sq.customization/META-INF/MANIFEST.MF
@@ -20,7 +20,6 @@ Require-Bundle: org.eclipse.ui,
com.teamcenter.rac.pca.kernel,
com.teamcenter.rac.pse.pca,
com.teamcenter.rac.cme.kernel,
- org.apache.poi.39,
TcSoaAdministrationRac;bundle-version="13000.3.0",
TcSoaBomRac;bundle-version="13000.3.0",
TcSoaCommon;bundle-version="13000.3.0",
@@ -33,3 +32,22 @@ Bundle-ActivationPolicy: lazy
Export-Package: com.sq.customization,
com.sq.customization.dialogs,
com.sq.customization.handlers
+Bundle-ClassPath: lib/cglib-3.3.0.jar,
+ lib/commons-collections4-4.4.jar,
+ lib/commons-compress-1.21.jar,
+ lib/commons-io-2.11.0.jar,
+ lib/easyexcel-3.2.0.jar,
+ lib/easyexcel-core-3.2.0.jar,
+ lib/easyexcel-support-3.2.0.jar,
+ lib/log4j-api-2.17.1.jar,
+ lib/poi-5.2.1.jar,
+ lib/poi-examples-5.2.1.jar,
+ lib/poi-excelant-5.2.1.jar,
+ lib/poi-ooxml-5.2.1.jar,
+ lib/poi-ooxml-full-5.2.1.jar,
+ lib/serializer-2.7.2.jar,
+ lib/slf4j-api-1.7.36.jar,
+ lib/xalan-2.7.2.jar,
+ lib/xml-apis-1.4.01.jar,
+ lib/xmlbeans-5.0.3.jar,
+ .
diff --git a/com.sq.customization/build.properties b/com.sq.customization/build.properties
index c637e8e..cbdcc94 100644
--- a/com.sq.customization/build.properties
+++ b/com.sq.customization/build.properties
@@ -5,4 +5,22 @@ bin.includes = plugin.xml,\
META-INF/,\
.,\
icons/,\
- build.properties
+ build.properties,\
+ lib/cglib-3.3.0.jar,\
+ lib/commons-collections4-4.4.jar,\
+ lib/commons-compress-1.21.jar,\
+ lib/commons-io-2.11.0.jar,\
+ lib/easyexcel-3.2.0.jar,\
+ lib/easyexcel-core-3.2.0.jar,\
+ lib/easyexcel-support-3.2.0.jar,\
+ lib/log4j-api-2.17.1.jar,\
+ lib/poi-5.2.1.jar,\
+ lib/poi-examples-5.2.1.jar,\
+ lib/poi-excelant-5.2.1.jar,\
+ lib/poi-ooxml-5.2.1.jar,\
+ lib/poi-ooxml-full-5.2.1.jar,\
+ lib/serializer-2.7.2.jar,\
+ lib/slf4j-api-1.7.36.jar,\
+ lib/xalan-2.7.2.jar,\
+ lib/xml-apis-1.4.01.jar,\
+ lib/xmlbeans-5.0.3.jar
diff --git a/com.sq.customization/lib/commons-collections4-4.4.jar b/com.sq.customization/lib/commons-collections4-4.4.jar
new file mode 100644
index 0000000..da06c3e
Binary files /dev/null and b/com.sq.customization/lib/commons-collections4-4.4.jar differ
diff --git a/com.sq.customization/lib/commons-compress-1.21.jar b/com.sq.customization/lib/commons-compress-1.21.jar
new file mode 100644
index 0000000..4892334
Binary files /dev/null and b/com.sq.customization/lib/commons-compress-1.21.jar differ
diff --git a/com.sq.customization/lib/commons-io-2.11.0.jar b/com.sq.customization/lib/commons-io-2.11.0.jar
new file mode 100644
index 0000000..be507d9
Binary files /dev/null and b/com.sq.customization/lib/commons-io-2.11.0.jar differ
diff --git a/com.sq.customization/lib/log4j-api-2.17.1.jar b/com.sq.customization/lib/log4j-api-2.17.1.jar
new file mode 100644
index 0000000..605c45d
Binary files /dev/null and b/com.sq.customization/lib/log4j-api-2.17.1.jar differ
diff --git a/com.sq.customization/lib/poi-5.2.1.jar b/com.sq.customization/lib/poi-5.2.1.jar
new file mode 100644
index 0000000..9e068d3
Binary files /dev/null and b/com.sq.customization/lib/poi-5.2.1.jar differ
diff --git a/com.sq.customization/lib/poi-examples-5.2.1.jar b/com.sq.customization/lib/poi-examples-5.2.1.jar
new file mode 100644
index 0000000..70c8d11
Binary files /dev/null and b/com.sq.customization/lib/poi-examples-5.2.1.jar differ
diff --git a/com.sq.customization/lib/poi-excelant-5.2.1.jar b/com.sq.customization/lib/poi-excelant-5.2.1.jar
new file mode 100644
index 0000000..93d47d4
Binary files /dev/null and b/com.sq.customization/lib/poi-excelant-5.2.1.jar differ
diff --git a/com.sq.customization/lib/poi-ooxml-5.2.1.jar b/com.sq.customization/lib/poi-ooxml-5.2.1.jar
new file mode 100644
index 0000000..f6a9086
Binary files /dev/null and b/com.sq.customization/lib/poi-ooxml-5.2.1.jar differ
diff --git a/com.sq.customization/lib/poi-ooxml-full-5.2.1.jar b/com.sq.customization/lib/poi-ooxml-full-5.2.1.jar
new file mode 100644
index 0000000..67fa1f4
Binary files /dev/null and b/com.sq.customization/lib/poi-ooxml-full-5.2.1.jar differ
diff --git a/com.sq.customization/lib/slf4j-api-1.7.36.jar b/com.sq.customization/lib/slf4j-api-1.7.36.jar
new file mode 100644
index 0000000..7d3ce68
Binary files /dev/null and b/com.sq.customization/lib/slf4j-api-1.7.36.jar differ
diff --git a/com.sq.customization/lib/xmlbeans-5.0.3.jar b/com.sq.customization/lib/xmlbeans-5.0.3.jar
new file mode 100644
index 0000000..63b0ab8
Binary files /dev/null and b/com.sq.customization/lib/xmlbeans-5.0.3.jar differ
diff --git a/com.sq.customization/src/com/sq/customization/dialogs/AutoTransToolDialog.java b/com.sq.customization/src/com/sq/customization/dialogs/AutoTransToolDialog.java
index 7d1905e..7bbe02b 100644
--- a/com.sq.customization/src/com/sq/customization/dialogs/AutoTransToolDialog.java
+++ b/com.sq.customization/src/com/sq/customization/dialogs/AutoTransToolDialog.java
@@ -33,8 +33,13 @@ import org.apache.poi.ss.usermodel.Cell;
import org.apache.poi.ss.usermodel.Row;
import org.apache.poi.ss.usermodel.Sheet;
import org.apache.poi.ss.usermodel.Workbook;
+import org.apache.poi.xssf.streaming.SXSSFSheet;
+import org.apache.poi.xssf.streaming.SXSSFWorkbook;
import org.apache.poi.xssf.usermodel.XSSFWorkbook;
+import com.alibaba.excel.EasyExcel;
+import com.alibaba.excel.context.AnalysisContext;
+import com.alibaba.excel.event.AnalysisEventListener;
import com.sq.customization.bean.CustRuleBean;
import com.sq.customization.bean.DesignPartBean;
import com.sq.customization.bean.SleeveBean;
@@ -397,11 +402,11 @@ public class AutoTransToolDialog extends AbstractAIFDialog {
headerRow.createCell(3).setCellValue("FCC");
headerRow.createCell(4).setCellValue("动态扭矩");
headerRow.createCell(5).setCellValue("KCDS");
- headerRow.createCell(6).setCellValue("头部形式");
- headerRow.createCell(7).setCellValue("头部尺寸");
- headerRow.createCell(8).setCellValue("工具组合");
- headerRow.createCell(9).setCellValue("工具");
- headerRow.createCell(10).setCellValue("工具套筒");
+// headerRow.createCell(6).setCellValue("头部形式");
+ headerRow.createCell(6).setCellValue("头部尺寸");
+ headerRow.createCell(7).setCellValue("工具组合");
+ headerRow.createCell(8).setCellValue("工具");
+ headerRow.createCell(9).setCellValue("工具套筒");
//读取自定义的表
readRuleExcel(excelfile);
readElectricfile(electricfile,1);
@@ -1309,7 +1314,7 @@ public class AutoTransToolDialog extends AbstractAIFDialog {
if(workline != null) {
Map clause = new HashMap<>();
clause.put("item_id", queryid);
-
+ System.out.println("获取到的工位id:"+queryid);
List result2 = TCUtil.queryBOMStructObject(session,workline,"queryItem",clause);
if(result2 != null) {
for(TCComponent stationline:result2) {
@@ -1335,23 +1340,28 @@ public class AutoTransToolDialog extends AbstractAIFDialog {
if(pipei_resource == null || pipei_resource.length() == 0)
continue;
//先判断工位下是否有此名称的资源,有的直接拿来用
+ System.out.println("先判断工位下是否有此名称的资源,有的直接拿来用");
Map clause3 = new HashMap<>();
clause3.put("object_name", pipei_resource);
List Resourceresult2 = TCUtil.queryBOMStructObject2(session,stationline,"queryItem",clause3);
- if(Resourceresult2.size() > 0) {
+ if(Resourceresult2 != null && Resourceresult2.size() > 0) {
+ System.out.println("工位下直接拿来用"+pipei_resource);
TCUtil.connectObject(session, Resourceresult2.get(0), (TCComponent)op, "MEResource");
}
else {
+ System.out.println("工位下没有资源:"+pipei_resource);
Map clause22 = new HashMap<>();
clause22.put("object_name", pipei_resource);
+ clause22.put("object_type", "Item");
TCComponent[] query_items = TCUtil.Generalquery2(session, "queryItem", clause22);
if(query_items != null && query_items.length > 0) {
-
+ System.out.println("工位下没有资源:"+pipei_resource);
TCComponentBOMLine newResourceline = station.add((TCComponentItem) query_items[0],null, null, false);
TCUtil.connectObject(session, newResourceline, (TCComponent)op, "MEResource");
}
else {
//创建新的item
+ System.out.println("工位下没有资源,创建新的资源:"+pipei_resource);
TCComponentItem item = TCUtil.createItem(session, "", "A", "Item", pipei_resource);
TCComponentBOMLine newResourceline = station.add(item,null, null, false);
TCUtil.connectObject(session, newResourceline, (TCComponent)op, "MEResource");
@@ -1361,7 +1371,9 @@ public class AutoTransToolDialog extends AbstractAIFDialog {
for(String split_value:split) {
clause2.clear();
clause2.put("object_name", split_value);
- TCComponent[] tool_resource = TCUtil.Generalquery2(session, "queryItem", clause);
+ clause2.put("object_type", "Design Part");
+ System.out.println("资源添加工具或套筒:"+split_value);
+ TCComponent[] tool_resource = TCUtil.Generalquery2(session, "queryItem", clause2);
if(tool_resource != null && tool_resource.length > 0) {
newResourceline.add((TCComponentItem) tool_resource[0],null, null, false);
}
@@ -2224,23 +2236,28 @@ public class AutoTransToolDialog extends AbstractAIFDialog {
if(pipei_resource == null || pipei_resource.length() == 0)
continue;
//先判断工位下是否有此名称的资源,有的直接拿来用
+ System.out.println("先判断工位下是否有此名称的资源,有的直接拿来用");
Map clause3 = new HashMap<>();
clause3.put("object_name", pipei_resource);
List Resourceresult2 = TCUtil.queryBOMStructObject2(session,stationline,"queryItem",clause3);
- if(Resourceresult2.size() > 0) {
+ if(Resourceresult2 != null && Resourceresult2.size() > 0) {
+ System.out.println("工位下直接拿来用"+pipei_resource);
TCUtil.connectObject(session, Resourceresult2.get(0), (TCComponent)oldop, "MEResource");
}
else {
+ System.out.println("工位下没有资源:"+pipei_resource);
Map clause22 = new HashMap<>();
clause22.put("object_name", pipei_resource);
+ clause22.put("object_type", "Item");
TCComponent[] query_items = TCUtil.Generalquery2(session, "queryItem", clause22);
if(query_items != null && query_items.length > 0) {
-
+ System.out.println("工位下没有资源:"+pipei_resource);
TCComponentBOMLine newResourceline = station.add((TCComponentItem) query_items[0],null, null, false);
TCUtil.connectObject(session, newResourceline, (TCComponent)oldop, "MEResource");
}
else {
//创建新的item
+ System.out.println("工位下没有资源,创建新的资源:"+pipei_resource);
TCComponentItem item = TCUtil.createItem(session, "", "A", "Item", pipei_resource);
TCComponentBOMLine newResourceline = station.add(item,null, null, false);
TCUtil.connectObject(session, newResourceline, (TCComponent)oldop, "MEResource");
@@ -2250,7 +2267,9 @@ public class AutoTransToolDialog extends AbstractAIFDialog {
for(String split_value:split) {
clause2.clear();
clause2.put("object_name", split_value);
- TCComponent[] tool_resource = TCUtil.Generalquery2(session, "queryItem", clause);
+ clause2.put("object_type", "Design Part");
+ System.out.println("资源添加工具或套筒:"+split_value);
+ TCComponent[] tool_resource = TCUtil.Generalquery2(session, "queryItem", clause2);
if(tool_resource != null && tool_resource.length > 0) {
newResourceline.add((TCComponentItem) tool_resource[0],null, null, false);
}
@@ -2264,6 +2283,7 @@ public class AutoTransToolDialog extends AbstractAIFDialog {
}
}
+
}
}
@@ -2308,46 +2328,86 @@ public class AutoTransToolDialog extends AbstractAIFDialog {
//读取BOM表
- private void readExcel(File excelfile,int start_rownum,int idcol2,int svppscol2,int fcccol2
+// private void readExcel(File excelfile,int start_rownum,int idcol2,int svppscol2,int fcccol2
+// ,int fccdescol2,int dongtaicol,int kcdscol2) {
+//
+// Workbook work = null;
+// try(InputStream is = new FileInputStream(excelfile);){
+// if (excelfile.getAbsolutePath().endsWith(".xls"))
+// work = new HSSFWorkbook(is);
+// else {
+// work = new XSSFWorkbook(is);
+// }
+// Sheet sheet = work.getSheetAt(0);
+// int count = sheet.getPhysicalNumberOfRows();
+// for(int i = start_rownum; i < count ;i++) {
+// Row row = sheet.getRow(i);
+// String id = ExcelUtil.getStringCellValue(row.getCell(idcol2-1));
+// if(id == null || id.length() == 0)
+// break;
+// String svpps = ExcelUtil.getStringCellValue(row.getCell(svppscol2-1));
+// String fcc = ExcelUtil.getStringCellValue(row.getCell(fcccol2-1));
+// String fccdes = ExcelUtil.getStringCellValue(row.getCell(fccdescol2-1));
+// String dongtai = ExcelUtil.getStringCellValue(row.getCell(dongtaicol-1));
+// String kcds = ExcelUtil.getStringCellValue(row.getCell(kcdscol2-1));
+// System.out.println("id:"+id+" svpps:"+svpps+" fcc:"+fcc+" fccdes:"+fccdes+" dongtai:"+dongtai+" kcds:"+kcds);
+// String key = id;
+// if(!DesignPartBeanMap.containsKey(key)) {
+// DesignPartBean bean = new DesignPartBean();
+// bean.setDongtai(dongtai);
+// bean.setFCC(fcc);
+// bean.setFCCDES(fccdes);
+// bean.setKCDS(kcds);
+// bean.setSVPPS(svpps);
+// DesignPartBeanMap.put(key, bean);
+// }
+// }
+// } catch (FileNotFoundException e) {
+// // TODO Auto-generated catch block
+// e.printStackTrace();
+// } catch (IOException e) {
+// // TODO Auto-generated catch block
+// e.printStackTrace();
+// }
+// }
+ private void readExcel(File excelfile,int start_rownum,int idcol2,int svppscol2,int fcccol2
,int fccdescol2,int dongtaicol,int kcdscol2) {
- Workbook work = null;
- try(InputStream is = new FileInputStream(excelfile);){
- if (excelfile.getAbsolutePath().endsWith(".xls"))
- work = new HSSFWorkbook(is);
- else {
- work = new XSSFWorkbook(is);
- }
- Sheet sheet = work.getSheetAt(0);
- int count = sheet.getPhysicalNumberOfRows();
- for(int i = start_rownum; i < count ;i++) {
- Row row = sheet.getRow(i);
- String id = ExcelUtil.getStringCellValue(row.getCell(idcol2-1));
- if(id == null || id.length() == 0)
- break;
- String svpps = ExcelUtil.getStringCellValue(row.getCell(svppscol2-1));
- String fcc = ExcelUtil.getStringCellValue(row.getCell(fcccol2-1));
- String fccdes = ExcelUtil.getStringCellValue(row.getCell(fccdescol2-1));
- String dongtai = ExcelUtil.getStringCellValue(row.getCell(dongtaicol-1));
- String kcds = ExcelUtil.getStringCellValue(row.getCell(kcdscol2-1));
- System.out.println("id:"+id+" svpps:"+svpps+" fcc:"+fcc+" fccdes:"+fccdes+" dongtai:"+dongtai+" kcds:"+kcds);
- String key = id;
- if(!DesignPartBeanMap.containsKey(key)) {
- DesignPartBean bean = new DesignPartBean();
- bean.setDongtai(dongtai);
- bean.setFCC(fcc);
- bean.setFCCDES(fccdes);
- bean.setKCDS(kcds);
- bean.setSVPPS(svpps);
- DesignPartBeanMap.put(key, bean);
- }
- }
- } catch (FileNotFoundException e) {
- // TODO Auto-generated catch block
- e.printStackTrace();
- } catch (IOException e) {
- // TODO Auto-generated catch block
- e.printStackTrace();
- }
+
+ // 自定义监听器
+ AnalysisEventListener