diff --git a/WebContent/Tenwa/Lease/Flow/Project/BusinessApplication/BusinessProjectTempInfo.jsp b/WebContent/Tenwa/Lease/Flow/Project/BusinessApplication/BusinessProjectTempInfo.jsp
index 9cd2fed8b..caf84bd30 100644
--- a/WebContent/Tenwa/Lease/Flow/Project/BusinessApplication/BusinessProjectTempInfo.jsp
+++ b/WebContent/Tenwa/Lease/Flow/Project/BusinessApplication/BusinessProjectTempInfo.jsp
@@ -58,7 +58,8 @@
dwTemp.genHTMLObjectWindow(CurPage.getParameter("FlowUnid"));
dwTemp.replaceColumn("customer_info", "", CurPage.getObjectWindowOutput());
String sButtons[][] = {
- {"ReadOnly".equals(rightType)?"false":"true","","Button","保存","保存","save()","","","","btn_icon_saveNew",""}
+ {"ReadOnly".equals(rightType)?"false":"true","","Button","保存","保存","save()","","","","btn_icon_saveNew",""},
+ {"ReadOnly".equals(rightType)?"false":"true","","Button","资料清单","资料清单","openFileList()","","","","btn_icon_saveNew",""}
};
%><%@ include file="/Frame/resources/include/ui/include_info.jspf"%>
@@ -174,15 +175,22 @@
function openFileList(){
let url = getRequestUrl();
- let param = getRequestParam();
- post(url,param);
+ let params = getRequestParam();
+ post(url,params);
}
function getRequestUrl(){
- let url = RunJavaMethod("","","");
+ let url = RunJavaMethod("com.ample.icms.query.ImageQuery","getRequestUrl","");
return url;
}
function getRequestParam(){
- let param = RunJavaMethod("","","");
+ let appCode = 'BQCW-000010';
+ let appName = '业务申请';
+ let code = 'ECM0002';
+ if(("<%=sPhaseNo%>"=="0010") && ("<%=FlowNo%>"=="BusinessApplyFlow" || "<%=FlowNo%>" == "BusinessChangeFlow")){
+ code = 'ECM0001';
+ }
+ let busiNo = '<%=sFlowUnid%>';
+ let param = RunJavaMethod("com.ample.icms.query.ImageQuery","getRequestParam","appCode="+appCode+",appName="+appName+",code="+code+",busiNo="+busiNo);
return param;
}
/**
@@ -190,18 +198,18 @@
* @param URL
* @param PARAMS
*/
- function post(URL, PARAMS) {
+ function post(URL, param) {
let temp_form = document.createElement("form");
temp_form.action = URL;
temp_form.target = "_blank";
temp_form.method = "post";
temp_form.style.display = "none";
- for (let param in PARAMS) {
+
let opt = document.createElement("textarea");
- opt.name = param;
- opt.value = PARAMS[param];
+ opt.name = 'data';
+ opt.value = param;
temp_form.appendChild(opt);
- }
+
document.body.appendChild(temp_form);
temp_form.submit();
}
diff --git a/WebContent/WEB-INF/lib/sunecm-url-encode-1.1.jar b/WebContent/WEB-INF/lib/sunecm-url-encode-1.1.jar
new file mode 100644
index 000000000..fc1f20575
Binary files /dev/null and b/WebContent/WEB-INF/lib/sunecm-url-encode-1.1.jar differ
diff --git a/WebContent/WEB-INF/lib/sunecm_outer-1.3.jar b/WebContent/WEB-INF/lib/sunecm_outer-1.3.jar
new file mode 100644
index 000000000..20846b19b
Binary files /dev/null and b/WebContent/WEB-INF/lib/sunecm_outer-1.3.jar differ
diff --git a/config/icms.properties b/config/icms.properties
index 6c411635a..1c033e0ae 100644
--- a/config/icms.properties
+++ b/config/icms.properties
@@ -1,5 +1,7 @@
-url=http://39.106.190.65:8080/SunECM/servlet/RouterServlet
+url=http://192.168.7.71:8081/SunICMS/servlet/RouterServlet
#链接有效时间,单位为秒
-useful_life=10
+useful_life=360
#业务系统授权密钥
-secret_key=
+secret_id=anpeng
+secret_key=IU2VHdejDpUFzhoeT7tUSII3
+
diff --git a/src/com/ample/icms/query/ImageAttr.java b/src/com/ample/icms/bean/ImageAttr.java
similarity index 98%
rename from src/com/ample/icms/query/ImageAttr.java
rename to src/com/ample/icms/bean/ImageAttr.java
index c348c6182..2b8c67a62 100644
--- a/src/com/ample/icms/query/ImageAttr.java
+++ b/src/com/ample/icms/bean/ImageAttr.java
@@ -1,4 +1,4 @@
-package com.ample.icms.query;
+package com.ample.icms.bean;
import com.thoughtworks.xstream.annotations.XStreamAlias;
import com.thoughtworks.xstream.annotations.XStreamAsAttribute;
diff --git a/src/com/ample/icms/query/ImageBaseData.java b/src/com/ample/icms/bean/ImageBaseData.java
similarity index 57%
rename from src/com/ample/icms/query/ImageBaseData.java
rename to src/com/ample/icms/bean/ImageBaseData.java
index e3af26994..9a47be8c2 100644
--- a/src/com/ample/icms/query/ImageBaseData.java
+++ b/src/com/ample/icms/bean/ImageBaseData.java
@@ -1,4 +1,4 @@
-package com.ample.icms.query;
+package com.ample.icms.bean;
import com.thoughtworks.xstream.annotations.XStreamAlias;
@@ -13,12 +13,34 @@ public class ImageBaseData {
//机构代码
@XStreamAlias("ORG_CODE")
private String orgCode;
+ //缓存机构代码
+ @XStreamAlias("COM_CODE")
+ private String comCode;
//机构名称
@XStreamAlias("ORG_NAME")
private String orgName;
//操作员角色
@XStreamAlias("ROLE_CODE")
private String roleCode;
+ //操作员角色
+ @XStreamAlias("ONE_BATCH")
+ private String oneBatch;
+ //操作员角色
+ @XStreamAlias("NEW_BATCH")
+ private String newBatch;
+
+ @XStreamAlias("BIZ_INFO")
+ private ImageBizInfo bizInfo ;
+
+
+ public ImageBizInfo getBizInfo() {
+ return bizInfo;
+ }
+
+ public void setBizInfo(ImageBizInfo bizInfo) {
+ this.bizInfo = bizInfo;
+ }
+
public String getUserCode() {
return userCode;
@@ -59,4 +81,29 @@ public class ImageBaseData {
public void setRoleCode(String roleCode) {
this.roleCode = roleCode;
}
+
+ public String getComCode() {
+ return comCode;
+ }
+
+ public void setComCode(String comCode) {
+ this.comCode = comCode;
+ }
+
+
+ public String getOneBatch() {
+ return oneBatch;
+ }
+
+ public void setOneBatch(String oneBatch) {
+ this.oneBatch = oneBatch;
+ }
+
+ public String getNewBatch() {
+ return newBatch;
+ }
+
+ public void setNewBatch(String newBatch) {
+ this.newBatch = newBatch;
+ }
}
diff --git a/src/com/ample/icms/query/ImageBatch.java b/src/com/ample/icms/bean/ImageBatch.java
similarity index 78%
rename from src/com/ample/icms/query/ImageBatch.java
rename to src/com/ample/icms/bean/ImageBatch.java
index 1d7f7c707..b94511dff 100644
--- a/src/com/ample/icms/query/ImageBatch.java
+++ b/src/com/ample/icms/bean/ImageBatch.java
@@ -1,4 +1,4 @@
-package com.ample.icms.query;
+package com.ample.icms.bean;
import com.thoughtworks.xstream.annotations.XStreamAlias;
@@ -14,8 +14,8 @@ public class ImageBatch {
private String appName ;
//业务主索引
- @XStreamAlias("CASENO")
- private String caseNo ;
+ @XStreamAlias("BUSI_NO")
+ private String busiNo ;
//业务扩展索引(非必填)
@XStreamAlias("CARNO")
@@ -29,13 +29,6 @@ public class ImageBatch {
@XStreamAlias("END_TIME")
private String endTime;
- //
- @XStreamAlias("VTREE")
- private ImageTree vTree;
-
- public ImageBatch(ImageTree vTree) {
- this.vTree = vTree;
- }
public String getAppCode() {
return appCode;
@@ -53,12 +46,12 @@ public class ImageBatch {
this.appName = appName;
}
- public String getCaseNo() {
- return caseNo;
+ public String getBusiNo() {
+ return busiNo;
}
- public void setCaseNo(String caseNo) {
- this.caseNo = caseNo;
+ public void setBusiNo(String busiNo) {
+ this.busiNo = busiNo;
}
public String getCarNo() {
diff --git a/src/com/ample/icms/bean/ImageBizInfo.java b/src/com/ample/icms/bean/ImageBizInfo.java
new file mode 100644
index 000000000..bb0ae82d6
--- /dev/null
+++ b/src/com/ample/icms/bean/ImageBizInfo.java
@@ -0,0 +1,14 @@
+package com.ample.icms.bean;
+
+import com.thoughtworks.xstream.annotations.XStreamAlias;
+
+
+@XStreamAlias("BIZ_INFO")
+public class ImageBizInfo {
+ @XStreamAlias("BIZ_TYPE")
+ ImageBizType bizType;
+
+ public ImageBizInfo(ImageBizType bizType){
+ this.bizType=bizType;
+ }
+}
diff --git a/src/com/ample/icms/bean/ImageBizType.java b/src/com/ample/icms/bean/ImageBizType.java
new file mode 100644
index 000000000..6ec860f68
--- /dev/null
+++ b/src/com/ample/icms/bean/ImageBizType.java
@@ -0,0 +1,22 @@
+package com.ample.icms.bean;
+
+import com.thoughtworks.xstream.annotations.XStreamAlias;
+import com.thoughtworks.xstream.annotations.XStreamAsAttribute;
+
+@XStreamAlias("BIZ_TYPE")
+public class ImageBizType {
+
+ @XStreamAlias("APP_CODE")
+ @XStreamAsAttribute
+ private String appCode;
+
+ @XStreamAlias("APP_NAME")
+ @XStreamAsAttribute
+ private String appName;
+
+ public ImageBizType(String appCode, String appName) {
+ this.appCode = appCode;
+ this.appName = appName;
+ }
+
+}
diff --git a/src/com/ample/icms/bean/ImageMetaData.java b/src/com/ample/icms/bean/ImageMetaData.java
new file mode 100644
index 000000000..5a8fe4d91
--- /dev/null
+++ b/src/com/ample/icms/bean/ImageMetaData.java
@@ -0,0 +1,12 @@
+package com.ample.icms.bean;
+
+import com.thoughtworks.xstream.annotations.XStreamAlias;
+import com.thoughtworks.xstream.annotations.XStreamImplicit;
+
+import java.util.List;
+
+@XStreamAlias("META_DATA")
+public class ImageMetaData {
+ @XStreamImplicit
+ public List imageBatchs ;
+}
diff --git a/src/com/ample/icms/query/ImageRoot.java b/src/com/ample/icms/bean/ImageRoot.java
similarity index 80%
rename from src/com/ample/icms/query/ImageRoot.java
rename to src/com/ample/icms/bean/ImageRoot.java
index 28a51f67f..e933fc91b 100644
--- a/src/com/ample/icms/query/ImageRoot.java
+++ b/src/com/ample/icms/bean/ImageRoot.java
@@ -1,10 +1,12 @@
-package com.ample.icms.query;
+package com.ample.icms.bean;
import com.thoughtworks.xstream.annotations.XStreamAlias;
@XStreamAlias("root")
public class ImageRoot {
+ @XStreamAlias("BASE_DATA")
private ImageBaseData imageBaseData;
+ @XStreamAlias("META_DATA")
private ImageMetaData imageMetaData;
public ImageRoot(ImageBaseData imageBaseData, ImageMetaData imageMetaData) {
diff --git a/src/com/ample/icms/query/ImageTree.java b/src/com/ample/icms/bean/ImageTree.java
similarity index 94%
rename from src/com/ample/icms/query/ImageTree.java
rename to src/com/ample/icms/bean/ImageTree.java
index f5c7389e4..985b87a72 100644
--- a/src/com/ample/icms/query/ImageTree.java
+++ b/src/com/ample/icms/bean/ImageTree.java
@@ -1,9 +1,10 @@
-package com.ample.icms.query;
+package com.ample.icms.bean;
import com.thoughtworks.xstream.annotations.XStreamAlias;
import com.thoughtworks.xstream.annotations.XStreamAsAttribute;
import java.util.List;
+
@XStreamAlias("VTREE")
public class ImageTree {
diff --git a/src/com/ample/icms/check/ImageCheck.java b/src/com/ample/icms/check/ImageCheck.java
new file mode 100644
index 000000000..806ae5dde
--- /dev/null
+++ b/src/com/ample/icms/check/ImageCheck.java
@@ -0,0 +1,16 @@
+package com.ample.icms.check;
+
+import com.ample.icms.service.ImageService;
+
+public class ImageCheck extends ImageService {
+ public void getResult(){
+ String result = doPost();
+ if(result.contains("200")){
+ //true
+ }else if(result.contains("-1")){
+ //error
+ }else{
+ //false
+ }
+ }
+}
diff --git a/src/com/ample/icms/query/ImageMetaData.java b/src/com/ample/icms/query/ImageMetaData.java
deleted file mode 100644
index 63419c284..000000000
--- a/src/com/ample/icms/query/ImageMetaData.java
+++ /dev/null
@@ -1,10 +0,0 @@
-package com.ample.icms.query;
-
-import com.thoughtworks.xstream.annotations.XStreamAlias;
-
-import java.util.List;
-
-@XStreamAlias("META_DATA")
-public class ImageMetaData {
- public List imageBatchs;
-}
diff --git a/src/com/ample/icms/query/ImageQuery.java b/src/com/ample/icms/query/ImageQuery.java
index 46bfa33a6..f9a223bca 100644
--- a/src/com/ample/icms/query/ImageQuery.java
+++ b/src/com/ample/icms/query/ImageQuery.java
@@ -1,5 +1,7 @@
package com.ample.icms.query;
-public class ImageQuery {
+import com.ample.icms.service.ImageService;
+
+public class ImageQuery extends ImageService {
}
diff --git a/src/com/ample/icms/scan/ImageScan.java b/src/com/ample/icms/scan/ImageScan.java
new file mode 100644
index 000000000..b7ddb3bb6
--- /dev/null
+++ b/src/com/ample/icms/scan/ImageScan.java
@@ -0,0 +1,27 @@
+package com.ample.icms.scan;
+
+import com.ample.icms.bean.ImageBaseData;
+import com.ample.icms.service.ImageService;
+
+public class ImageScan extends ImageService {
+ private String oneBatch;
+ @Override
+ public void addBaseData(){
+ base = new ImageBaseData();
+ base.setUserCode("admin");
+ base.setUserName("admin");
+ base.setOrgCode("0005");
+ base.setComCode("0005");
+ base.setOrgName("安鹏国际融资租赁(深圳)有限公司");
+ base.setRoleCode("admin");
+ base.setOneBatch(oneBatch);
+ }
+ public String getOneBatch() {
+ return oneBatch;
+ }
+
+ public void setOneBatch(String oneBatch) {
+ this.oneBatch = oneBatch;
+ }
+
+}
diff --git a/src/com/ample/icms/scan/ImageUpload.java b/src/com/ample/icms/scan/ImageUpload.java
new file mode 100644
index 000000000..4e7023d75
--- /dev/null
+++ b/src/com/ample/icms/scan/ImageUpload.java
@@ -0,0 +1,20 @@
+package com.ample.icms.scan;
+
+import com.sunyard.insurance.ecm.socket.client.AutoScanApi;
+
+public class ImageUpload {
+ public void doUpload(){
+ String zipPath = "C:/Users/ivanl/Desktop/影像系统/ECM4.0Demo/ECM4.0Demo/第三方上传/1111.zip";
+ try {
+ // " sunyard#licenseKey" :sunyard为接入系统ID,licenseKey为接入系统授权密钥
+ AutoScanApi autoScanApi = new AutoScanApi("192.168.7.71",8081,"anpeng#IU2VHdejDpUFzhoeT7tUSII3");
+// // "10I" : 业务类型
+// // zipPath :要上传批次文件的zip包的路径
+// // returnMsg : 第三方上传的返回状态
+ String returnMsg = autoScanApi.ScanImageFile("FBO2022031100000001", zipPath);
+ System.out.println(returnMsg);
+ } catch (Exception e) {
+ e.printStackTrace();
+ }
+ }
+}
diff --git a/src/com/ample/icms/service/ImageService.java b/src/com/ample/icms/service/ImageService.java
new file mode 100644
index 000000000..1fb2f7c5c
--- /dev/null
+++ b/src/com/ample/icms/service/ImageService.java
@@ -0,0 +1,163 @@
+package com.ample.icms.service;
+
+import com.ample.icms.bean.ImageBaseData;
+import com.ample.icms.bean.ImageBatch;
+import com.ample.icms.bean.ImageMetaData;
+import com.ample.icms.bean.ImageRoot;
+import com.ample.icms.util.PropertiesUtil;
+import com.sunyard.insurance.encode.client.EncodeAccessParam;
+import com.thoughtworks.xstream.XStream;
+import org.apache.log4j.Logger;
+
+import java.io.IOException;
+import java.util.ArrayList;
+
+import org.apache.commons.httpclient.HttpClient;
+import org.apache.commons.httpclient.HttpException;
+import org.apache.commons.httpclient.HttpStatus;
+import org.apache.commons.httpclient.SimpleHttpConnectionManager;
+import org.apache.commons.httpclient.methods.PostMethod;
+
+public class ImageService {
+ public Logger logger = Logger.getLogger(this.getClass());
+ protected String appCode;
+ protected String appName;
+ protected String code;
+ protected String busiNo;
+ protected ImageBaseData base;
+ protected ImageBatch batch;
+ protected ImageMetaData metaData;
+ public void addBaseData(){
+ base = new ImageBaseData();
+ base.setUserCode("admin");
+ base.setUserName("admin");
+ base.setOrgCode("0005");
+ base.setComCode("0005");
+ base.setOrgName("安鹏国际融资租赁(深圳)有限公司");
+ base.setRoleCode("admin");
+ }
+ public void addBatch(){
+ batch = new ImageBatch();
+ batch.setAppCode(this.appCode);
+ batch.setAppName(this.appName);
+ batch.setBusiNo(this.busiNo);
+ }
+ public void addMetaData(){
+ metaData = new ImageMetaData();
+ metaData.imageBatchs = new ArrayList<>();
+ metaData.imageBatchs.add(batch);
+ }
+ public ImageRoot createData(){
+ addBaseData();
+ addBatch();
+ addMetaData();
+ ImageRoot root = new ImageRoot(base,metaData);
+ return root;
+ }
+ public String getRequestXML(){
+ XStream xs = new XStream();
+ xs.processAnnotations(ImageRoot.class);
+ String xml = xs.toXML(createData());
+ xml = xml.replace("__","_");
+ xml = "\n" + xml;
+ logger.info("\n"+xml+"\n");
+ return xml;
+ }
+
+ public String transformXMLtoParam(String code ,String xml) throws Exception {
+ int time = Integer.parseInt(PropertiesUtil.get("useful_life"));
+ String secretKey = PropertiesUtil.get("secret_key");
+ String param = EncodeAccessParam.getEncodeParam("format=xml&code="+code+"&xml="+xml, time, secretKey);
+ return param;
+ }
+
+ public String doPost(){
+ String result="0000";
+ PostMethod postMethod = null;
+ HttpClient httpClient = null;
+ try {
+ postMethod = new PostMethod(PropertiesUtil.get("secret_key"));
+ // 设置格式
+ postMethod.getParams().setContentCharset("UTF-8");
+ postMethod.setParameter("data", getRequestParam());
+ // ICMS影像系统通过referer来验证白名单,所以必须将ip填写在这里
+ //todo
+ postMethod.setRequestHeader("Referer", "http://172.16.20.212/imaging");
+ httpClient = new HttpClient();
+ // 执行postMethod
+ int statusCode = httpClient.executeMethod(postMethod);
+ System.out.println("结果状态:"+statusCode);
+ if (statusCode == HttpStatus.SC_OK) {
+ byte[] bodydata = postMethod.getResponseBody();
+ //取得返回值
+ result = new String(bodydata, "UTF-8");
+ System.out.println("影像系统返回结果:" + result);
+ }
+ }catch (HttpException e) {
+ //协议发生异常,URL不合法请检查URL!
+ e.printStackTrace();
+ } catch (IOException e) {
+ //请检查网络是否通畅,检查网线是否插好!
+ e.printStackTrace();
+ } catch(Exception e){
+ e.printStackTrace();
+ }finally {
+ if (postMethod != null) {
+ try {
+ postMethod.releaseConnection();
+ } catch (Exception e) {
+ e.printStackTrace();
+ }
+ }
+ if (httpClient != null) {
+ try {
+ ((SimpleHttpConnectionManager) httpClient.getHttpConnectionManager()).shutdown();
+ } catch (Exception e) {
+ e.printStackTrace();
+ }
+ httpClient = null;
+ }
+ }
+ return result;
+ }
+
+ public String getRequestUrl(){
+ return PropertiesUtil.get("url");
+ }
+
+ public String getRequestParam() throws Exception {
+ return transformXMLtoParam(this.code,this.getRequestXML());
+ }
+
+ public String getAppCode() {
+ return appCode;
+ }
+
+ public void setAppCode(String appCode) {
+ this.appCode = appCode;
+ }
+
+ public String getAppName() {
+ return appName;
+ }
+
+ public void setAppName(String appName) {
+ this.appName = appName;
+ }
+
+ public String getCode() {
+ return code;
+ }
+
+ public void setCode(String code) {
+ this.code = code;
+ }
+
+ public String getBusiNo() {
+ return busiNo;
+ }
+
+ public void setBusiNo(String busiNo) {
+ this.busiNo = busiNo;
+ }
+}
diff --git a/src/com/ample/icms/util/PropertiesUtil.java b/src/com/ample/icms/util/PropertiesUtil.java
new file mode 100644
index 000000000..cace56276
--- /dev/null
+++ b/src/com/ample/icms/util/PropertiesUtil.java
@@ -0,0 +1,38 @@
+package com.ample.icms.util;
+
+import com.amarsoft.are.ARE;
+
+
+import java.io.IOException;
+import java.util.Map;
+import java.util.Properties;
+import java.util.concurrent.ConcurrentHashMap;
+
+public class PropertiesUtil {
+ private static Map attributes;
+
+ public static void load() {
+ attributes = new ConcurrentHashMap();
+ Properties prop = new Properties();
+ try {
+ prop.load(PropertiesUtil.class.getResourceAsStream("/icms.properties"));
+ for(Map.Entry