编码器发送分类,编码规则导出

main
zouxk 6 years ago
parent 4aa89e0c4a
commit 3a0c0dc2c6

@ -67,7 +67,7 @@
<classpathentry exported="true" kind="lib" path="axis2_lib/xml-resolver-1.2.jar"/> <classpathentry exported="true" kind="lib" path="axis2_lib/xml-resolver-1.2.jar"/>
<classpathentry exported="true" kind="lib" path="axis2_lib/xmlbeans-2.3.0.jar"/> <classpathentry exported="true" kind="lib" path="axis2_lib/xmlbeans-2.3.0.jar"/>
<classpathentry exported="true" kind="lib" path="axis2_lib/XmlSchema-1.4.7.jar"/> <classpathentry exported="true" kind="lib" path="axis2_lib/XmlSchema-1.4.7.jar"/>
<classpathentry exported="true" kind="lib" path="json_lib/commons-beanutils-1.7.0.jar"/> <classpathentry exported="true" kind="lib" path="json_lib/commons-beanutils-1.7.0.jar" sourcepath="C:/Users/5RKB5B~1/AppData/Local/Temp/.org.sf.feeling.decompiler1576459652795/source/commons-beanutils-1.7.0-sources.jar"/>
<classpathentry exported="true" kind="lib" path="json_lib/commons-collections-3.2.jar"/> <classpathentry exported="true" kind="lib" path="json_lib/commons-collections-3.2.jar"/>
<classpathentry exported="true" kind="lib" path="json_lib/commons-lang-2.4.jar"/> <classpathentry exported="true" kind="lib" path="json_lib/commons-lang-2.4.jar"/>
<classpathentry exported="true" kind="lib" path="json_lib/commons-logging-1.1.jar"/> <classpathentry exported="true" kind="lib" path="json_lib/commons-logging-1.1.jar"/>
@ -75,6 +75,9 @@
<classpathentry exported="true" kind="lib" path="json_lib/jdom.jar"/> <classpathentry exported="true" kind="lib" path="json_lib/jdom.jar"/>
<classpathentry exported="true" kind="lib" path="json_lib/json-lib-2.2.2-jdk15.jar"/> <classpathentry exported="true" kind="lib" path="json_lib/json-lib-2.2.2-jdk15.jar"/>
<classpathentry exported="true" kind="lib" path="json_lib/json-lib-2.2.3-jdk13.jar"/> <classpathentry exported="true" kind="lib" path="json_lib/json-lib-2.2.3-jdk13.jar"/>
<classpathentry kind="lib" path="json_lib/fastjson-1.2.9-javadoc.jar"/>
<classpathentry kind="lib" path="json_lib/fastjson-1.2.9-sources.jar"/>
<classpathentry kind="lib" path="json_lib/fastjson-1.2.9.jar"/>
<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.8"/> <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.8"/>
<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/> <classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
<classpathentry kind="src" path="src"/> <classpathentry kind="src" path="src"/>

@ -58,6 +58,15 @@ Export-Package: .,
cn.com.origin.autocode.views.groupview, cn.com.origin.autocode.views.groupview,
cn.com.origin.autocode.views.itemtypeview, cn.com.origin.autocode.views.itemtypeview,
cn.com.origin.autocode.xmlutil, cn.com.origin.autocode.xmlutil,
com.alibaba.fastjson,
com.alibaba.fastjson.annotation,
com.alibaba.fastjson.asm,
com.alibaba.fastjson.parser,
com.alibaba.fastjson.parser.deserializer,
com.alibaba.fastjson.serializer,
com.alibaba.fastjson.support.jaxrs,
com.alibaba.fastjson.support.spring,
com.alibaba.fastjson.util,
com.ctc.wstx.api, com.ctc.wstx.api,
com.ctc.wstx.cfg, com.ctc.wstx.cfg,
com.ctc.wstx.compat, com.ctc.wstx.compat,
@ -900,4 +909,16 @@ Bundle-ClassPath: json_lib/commons-beanutils-1.7.0.jar,
axis2_lib/xalan-2.7.0.jar, axis2_lib/xalan-2.7.0.jar,
axis2_lib/xml-resolver-1.2.jar, axis2_lib/xml-resolver-1.2.jar,
axis2_lib/xmlbeans-2.3.0.jar, axis2_lib/xmlbeans-2.3.0.jar,
axis2_lib/XmlSchema-1.4.7.jar axis2_lib/XmlSchema-1.4.7.jar,
json_lib/fastjson-1.2.9-javadoc.jar,
json_lib/fastjson-1.2.9-sources.jar,
json_lib/fastjson-1.2.9.jar
Import-Package: com.alibaba.fastjson,
com.alibaba.fastjson.annotation,
com.alibaba.fastjson.asm,
com.alibaba.fastjson.parser,
com.alibaba.fastjson.parser.deserializer,
com.alibaba.fastjson.serializer,
com.alibaba.fastjson.support.jaxrs,
com.alibaba.fastjson.support.spring,
com.alibaba.fastjson.util

@ -77,4 +77,7 @@ bin.includes = META-INF/,\
axis2_lib/xalan-2.7.0.jar,\ axis2_lib/xalan-2.7.0.jar,\
axis2_lib/xml-resolver-1.2.jar,\ axis2_lib/xml-resolver-1.2.jar,\
axis2_lib/xmlbeans-2.3.0.jar,\ axis2_lib/xmlbeans-2.3.0.jar,\
axis2_lib/XmlSchema-1.4.7.jar axis2_lib/XmlSchema-1.4.7.jar,\
json_lib/fastjson-1.2.9-javadoc.jar,\
json_lib/fastjson-1.2.9-sources.jar,\
json_lib/fastjson-1.2.9.jar

@ -0,0 +1,170 @@
package cn.com.origin.autocode.jfom.util;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.io.UnsupportedEncodingException;
import java.util.Iterator;
import java.util.Map;
import java.util.Map.Entry;
import java.util.Set;
import org.apache.commons.httpclient.DefaultHttpMethodRetryHandler;
import org.apache.commons.httpclient.HttpClient;
import org.apache.commons.httpclient.HttpStatus;
import org.apache.commons.httpclient.NameValuePair;
import org.apache.commons.httpclient.methods.GetMethod;
import org.apache.commons.httpclient.methods.PostMethod;
import org.apache.commons.httpclient.params.HttpMethodParams;
public class HttpUtil {
public static String doGet(String url) {
// 输入流
InputStream is = null;
BufferedReader br = null;
String result = null;
// 创建httpClient实例
HttpClient httpClient = new HttpClient();
// 设置http连接主机服务超时时间15000毫秒
// 先获取连接管理器对象,再获取参数对象,再进行参数的赋值
httpClient.getHttpConnectionManager().getParams().setConnectionTimeout(15000);
// 创建一个Get方法实例对象
GetMethod getMethod = new GetMethod(url);
// 设置get请求超时为60000毫秒
getMethod.getParams().setParameter(HttpMethodParams.SO_TIMEOUT, 60000);
// 设置请求重试机制默认重试次数3次参数设置为true重试机制可用false相反
getMethod.getParams().setParameter(HttpMethodParams.RETRY_HANDLER, new DefaultHttpMethodRetryHandler(3, true));
try {
// 执行Get方法
int statusCode = httpClient.executeMethod(getMethod);
// 判断返回码
if (statusCode != HttpStatus.SC_OK) {
// 如果状态码返回的不是ok,说明失败了,打印错误信息
System.err.println("Method faild: " + getMethod.getStatusLine());
} else {
// 通过getMethod实例获取远程的一个输入流
is = getMethod.getResponseBodyAsStream();
// 包装输入流
br = new BufferedReader(new InputStreamReader(is, "UTF-8"));
StringBuffer sbf = new StringBuffer();
// 读取封装的输入流
String temp = null;
while ((temp = br.readLine()) != null) {
sbf.append(temp).append("\r\n");
}
result = sbf.toString();
}
} catch (IOException e) {
e.printStackTrace();
} finally {
// 关闭资源
if (null != br) {
try {
br.close();
} catch (IOException e) {
e.printStackTrace();
}
}
if (null != is) {
try {
is.close();
} catch (IOException e) {
e.printStackTrace();
}
}
// 释放连接
getMethod.releaseConnection();
}
return result;
}
public static String doPost(String url, Map<String, Object> paramMap) {
// 获取输入流
InputStream is = null;
BufferedReader br = null;
String result = null;
// 创建httpClient实例对象
HttpClient httpClient = new HttpClient();
// 设置httpClient连接主机服务器超时时间15000毫秒
httpClient.getHttpConnectionManager().getParams().setConnectionTimeout(15000);
// 创建post请求方法实例对象
PostMethod postMethod = new PostMethod(url);
// 设置post请求超时时间
postMethod.getParams().setParameter(HttpMethodParams.SO_TIMEOUT, 60000);
NameValuePair[] nvp = null;
// 判断参数map集合paramMap是否为空
if (null != paramMap && paramMap.size() > 0) {// 不为空
// 创建键值参数对象数组,大小为参数的个数
nvp = new NameValuePair[paramMap.size()];
// 循环遍历参数集合map
Set<Entry<String, Object>> entrySet = paramMap.entrySet();
// 获取迭代器
Iterator<Entry<String, Object>> iterator = entrySet.iterator();
int index = 0;
while (iterator.hasNext()) {
Entry<String, Object> mapEntry = iterator.next();
// 从mapEntry中获取key和value创建键值对象存放到数组中
try {
nvp[index] = new NameValuePair(mapEntry.getKey(),
new String(mapEntry.getValue().toString().getBytes("UTF-8"), "UTF-8"));
} catch (UnsupportedEncodingException e) {
e.printStackTrace();
}
index++;
}
}
// 判断nvp数组是否为空
if (null != nvp && nvp.length > 0) {
// 将参数存放到requestBody对象中
postMethod.setRequestBody(nvp);
}
// 执行POST方法
try {
int statusCode = httpClient.executeMethod(postMethod);
// 判断是否成功
if (statusCode != HttpStatus.SC_OK) {
System.err.println("Method faild: " + postMethod.getStatusLine());
}
// 获取远程返回的数据
is = postMethod.getResponseBodyAsStream();
// 封装输入流
br = new BufferedReader(new InputStreamReader(is, "UTF-8"));
StringBuffer sbf = new StringBuffer();
String temp = null;
while ((temp = br.readLine()) != null) {
sbf.append(temp).append("\r\n");
}
result = sbf.toString();
} catch (IOException e) {
e.printStackTrace();
} finally {
// 关闭资源
if (null != br) {
try {
br.close();
} catch (IOException e) {
e.printStackTrace();
}
}
if (null != is) {
try {
is.close();
} catch (IOException e) {
e.printStackTrace();
}
}
// 释放连接
postMethod.releaseConnection();
}
return result;
}
}

@ -0,0 +1,27 @@
package cn.com.origin.autocode.newitem.generatcode;
public class ClassificationBean {
int[] ids;
String[] values;
ClassificationBean(int[] ids, String[] values) {
this.ids = ids;
this.values = values;
}
public int[] getIds() {
return ids;
}
public void setIds(int[] ids) {
this.ids = ids;
}
public String[] getValues() {
return values;
}
public void setValues(String[] values) {
this.values = values;
}
}

@ -11,6 +11,7 @@ import java.awt.Toolkit;
import java.awt.datatransfer.StringSelection; import java.awt.datatransfer.StringSelection;
import java.io.IOException; import java.io.IOException;
import java.math.BigInteger; import java.math.BigInteger;
import java.net.URLEncoder;
import java.text.SimpleDateFormat; import java.text.SimpleDateFormat;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.Arrays; import java.util.Arrays;
@ -24,6 +25,7 @@ import java.util.Map;
import javax.swing.JDialog; import javax.swing.JDialog;
import javax.xml.bind.JAXBException; import javax.xml.bind.JAXBException;
import org.apache.james.mime4j.codec.EncoderUtil;
import org.eclipse.jface.dialogs.Dialog; import org.eclipse.jface.dialogs.Dialog;
import org.eclipse.jface.dialogs.IDialogConstants; import org.eclipse.jface.dialogs.IDialogConstants;
import org.eclipse.jface.viewers.TreeViewer; import org.eclipse.jface.viewers.TreeViewer;
@ -101,6 +103,7 @@ import com.teamcenter.services.rac.core._2008_06.DataManagement.CreateInput;
import com.teamcenter.soa.client.model.LovValue; import com.teamcenter.soa.client.model.LovValue;
import cn.com.origin.autocode.jfom.util.ClassProperty; import cn.com.origin.autocode.jfom.util.ClassProperty;
import cn.com.origin.autocode.jfom.util.HttpUtil;
import cn.com.origin.autocode.jfom.util.JFomBZJBean; import cn.com.origin.autocode.jfom.util.JFomBZJBean;
import cn.com.origin.autocode.jfom.util.JFomBean; import cn.com.origin.autocode.jfom.util.JFomBean;
import cn.com.origin.autocode.jfom.util.JFomLovBean; import cn.com.origin.autocode.jfom.util.JFomLovBean;
@ -132,6 +135,7 @@ import cn.com.origin.autocodemanager.common.tree.AbstractTreeData;
import cn.com.origin.autocodemanager.common.tree.TreeViewOperation; import cn.com.origin.autocodemanager.common.tree.TreeViewOperation;
import cn.com.origin.autocodemanager.views.listcodeview.NewItemListCodeView; import cn.com.origin.autocodemanager.views.listcodeview.NewItemListCodeView;
import cn.com.origin.autocodemanager.views.treecodeview.NewItemTreeCodeView; import cn.com.origin.autocodemanager.views.treecodeview.NewItemTreeCodeView;
import net.sf.json.JSONObject;
public class NewCodeItemDialog extends Dialog { public class NewCodeItemDialog extends Dialog {
private Table propTable; private Table propTable;
@ -4059,8 +4063,9 @@ public class NewCodeItemDialog extends Dialog {
if (newComp != null) { if (newComp != null) {
afterCreate(); afterCreate();
sendToClassification();
// sendObjToClassfication((TCComponentItem) newComp); // sendObjToClassfication((TCComponentItem) newComp);
sendObjToClassficationByWebService((TCComponentItem) newComp); // sendObjToClassficationByWebService((TCComponentItem) newComp);
newComp.refresh(); newComp.refresh();
new GetCodeNumber().delete_recycleID(counterID); new GetCodeNumber().delete_recycleID(counterID);
setClipboard(newID); setClipboard(newID);
@ -4332,4 +4337,64 @@ public class NewCodeItemDialog extends Dialog {
} }
return true; return true;
} }
public boolean sendToClassification() {
TCComponentItem item = (TCComponentItem) newComp;
try {
String uid = item.getLatestItemRevision().getUid();
String cid = codeRemark.trim();
List<Integer> idsList = new ArrayList<Integer>();
List<String> valuesList = new ArrayList<String>();
for (int i = 0; i < classPropList.size(); i++) {
// System.out.println(" CLASS ID = " + integers[i] + " =" +
// vals[i]);
CNClassPropBean bean = classPropList.get(i);
String value = "";
if (bean.isLov) {
value = ((Combo) classTextList.get(i)).getText();
value = bean.lovMapping.get(value);
} else {
value = ((Text) classTextList.get(i)).getText();
}
// icspro[i] = new ICSProperty(bean.propID, value);
if (!"".equals(value)) {
idsList.add(bean.propID);
valuesList.add(value);
}
}
int[] ids = new int[idsList.size()];
String[] values = valuesList.toArray(new String[valuesList.size()]);
for (int i = 0; i < idsList.size(); i++) {
ids[i] = idsList.get(i);
}
ClassificationBean cfb = new ClassificationBean(ids, values);
System.out.println(Arrays.toString(ids));
System.out.println(Arrays.toString(values));
System.out.println(cfb.getIds()[0]);
JSONObject obj = new JSONObject();
obj.put("ids", ids);
obj.put("values", values);
String url = EncoderUtil.encodeAddressDisplayName(obj.toString());
url = url.substring(1, url.length() - 1);
url = URLEncoder.encode(url);
url = "http://localhost:8080/classification?uid=" + uid + "&cid=" + cid + "&prop=" + url;
System.out.println(url);
final String URL = url;
new Thread(new Runnable() {
@Override
public void run() {
// TODO Auto-generated method stub
HttpUtil.doGet(URL);
System.out.println("success");
}
}).start();
} catch (TCException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return true;
}
} }

@ -1,5 +1,14 @@
package cn.com.origin.autocode.newitem.generatcode; package cn.com.origin.autocode.newitem.generatcode;
import java.net.URLDecoder;
import java.net.URLEncoder;
import org.apache.james.mime4j.codec.EncoderUtil;
import com.alibaba.fastjson.JSON;
import net.sf.json.JSONObject;
public class Test { public class Test {
/** /**
@ -7,12 +16,46 @@ public class Test {
*/ */
public static void main(String[] args) { public static void main(String[] args) {
// TODO Auto-generated method stub // TODO Auto-generated method stub
String s1 = "000"; int[] ids = new int[] { 1006 };
System.out.println(Float.parseFloat(s1)); String[] values = new String[] { "ZF01" };
String str = "true:"; ClassficationBean cfb = new ClassficationBean(ids, values);
if (str.length() > 4) { // String str = com.alibaba.fastjson.JSONObject.toJSONString(cfb);
System.out.println(str.substring(4 + 1, str.length())); JSONObject obj = new JSONObject();
obj.put("ids", ids);
obj.put("values", values);
String url = EncoderUtil.encodeAddressDisplayName(JSON.toJSONString(cfb));
url = url.substring(1, url.length() - 1);
url = URLEncoder.encode(url);
url = "http://localhost:8080/classification?prop=" + url;
System.out.println(url);
System.out.println(URLDecoder.decode(url));
}
static class ClassficationBean {
int[] ids;
String[] values;
ClassficationBean(int[] ids, String[] values) {
this.ids = ids;
this.values = values;
}
public int[] getIds() {
return ids;
}
public void setIds(int[] ids) {
this.ids = ids;
}
public String[] getValues() {
return values;
}
public void setValues(String[] values) {
this.values = values;
} }
} }
} }

@ -12,18 +12,20 @@ import org.eclipse.core.expressions.IEvaluationContext;
import org.eclipse.swt.widgets.DirectoryDialog; import org.eclipse.swt.widgets.DirectoryDialog;
import org.eclipse.swt.widgets.Display; import org.eclipse.swt.widgets.Display;
import org.eclipse.ui.ISources; import org.eclipse.ui.ISources;
import cn.com.origin.autocodemanager.common.AbstractTreeViewPart;
import cn.com.origin.autocodemanager.common.tree.AbstractCreateTreeView;
import cn.com.origin.autocodemanager.common.tree.AbstractTreeData;
import cn.com.origin.autocodemanager.common.tree.TreeViewOperation;
import cn.com.origin.autocodemanager.export.ExportNodeOperation;
import com.teamcenter.rac.aif.AbstractAIFUIApplication; import com.teamcenter.rac.aif.AbstractAIFUIApplication;
import com.teamcenter.rac.aifrcp.AIFUtility; import com.teamcenter.rac.aifrcp.AIFUtility;
import com.teamcenter.rac.kernel.TCSession; import com.teamcenter.rac.kernel.TCSession;
import com.teamcenter.rac.util.MessageBox; import com.teamcenter.rac.util.MessageBox;
import cn.com.origin.autocodemanager.common.AbstractTreeViewPart;
import cn.com.origin.autocodemanager.common.tree.AbstractCreateTreeView;
import cn.com.origin.autocodemanager.common.tree.AbstractTreeData;
import cn.com.origin.autocodemanager.common.tree.TreeViewOperation;
import cn.com.origin.autocodemanager.export.ExportNodeOperation;
public class ExportNodeHandler extends AbstractHandler { public class ExportNodeHandler extends AbstractHandler {
@Override
public Object execute(ExecutionEvent e) throws ExecutionException { public Object execute(ExecutionEvent e) throws ExecutionException {
AbstractAIFUIApplication abstractAIFUIApplication = AIFUtility.getCurrentApplication(); AbstractAIFUIApplication abstractAIFUIApplication = AIFUtility.getCurrentApplication();
TCSession session = (TCSession) abstractAIFUIApplication.getSession(); TCSession session = (TCSession) abstractAIFUIApplication.getSession();
@ -38,8 +40,8 @@ public class ExportNodeHandler extends AbstractHandler {
// TreeViewOperation treeViewOperation=new TreeViewOperation(); // TreeViewOperation treeViewOperation=new TreeViewOperation();
DirectoryDialog directoryDialog = new DirectoryDialog(Display.getDefault().getActiveShell()); DirectoryDialog directoryDialog = new DirectoryDialog(Display.getDefault().getActiveShell());
directoryDialog.setText("导出"); directoryDialog.setText("导出");
directoryDialog.open();
String filePath = directoryDialog.getFilterPath(); String filePath = directoryDialog.open();
System.out.println("所选择的物理文件路径是:" + filePath); System.out.println("所选择的物理文件路径是:" + filePath);
if (filePath != null && !"".equals(filePath)) { if (filePath != null && !"".equals(filePath)) {
filePath = filePath + "\\" + selectedNode.getPackCodeNodeInfo().getNode_name() + ".xls"; filePath = filePath + "\\" + selectedNode.getPackCodeNodeInfo().getNode_name() + ".xls";

Loading…
Cancel
Save