diff --git a/WebContent/Tenwa/Lease/Flow/Comm/LBContractTemplate/contract_template.jsp b/WebContent/Tenwa/Lease/Flow/Comm/LBContractTemplate/contract_template.jsp
index 36a8837ad..9ddda435c 100644
--- a/WebContent/Tenwa/Lease/Flow/Comm/LBContractTemplate/contract_template.jsp
+++ b/WebContent/Tenwa/Lease/Flow/Comm/LBContractTemplate/contract_template.jsp
@@ -198,11 +198,16 @@
alert("请勾选合同模板!");
return;
}
+ var message = RunJavaMethodTrans("com.tenwa.app.baseFileTemplate.handle.FileTemplateUtil","jiaoyan","templateIds="+tempids+",flowunid="+"<%=flowunid%>");
+ if(""!=message){
+ alert(message);
+ location.reload();
+ return;
+ }
var param={};
var tempParam={};
var sparam="";
// param["templateNo"]="0010";
-
tempParam["CurUserId"]="<%=CurUser.getUserID()%>";
tempParam["CurOrgId"]="<%=CurUser.getOrgID()%>";
tempParam["OBJECTTYPE"]="<%=CurPage.getParameter("FLOW_NO")%>";
diff --git a/WebContent/Tenwa/Lease/Flow/RentNotify/RentNotifyList.jsp b/WebContent/Tenwa/Lease/Flow/RentNotify/RentNotifyList.jsp
index 4d9daf5da..e84dbb8ba 100644
--- a/WebContent/Tenwa/Lease/Flow/RentNotify/RentNotifyList.jsp
+++ b/WebContent/Tenwa/Lease/Flow/RentNotify/RentNotifyList.jsp
@@ -27,6 +27,7 @@
sButtons=new String[][]{
{"true","All","Button","生成租金通知书","生成租金通知书","generateQuotation()","","","","btn_icon_generate"},
{"true","All","Button","批量下载","批量下载","lotdown()","","","","btn_icon_down"},
+ {"true","All","Button","公司盖章","公司盖章","stamp()","","","",""},
};
%><%@include file="/Frame/resources/include/ui/include_list.jspf"%>
@@ -49,8 +50,11 @@
if(!frames["downloadTemplate"]) $("").appendTo("body");
window.open(sWebRootPath+"/servlet/view/docDownloadServlet?CompClientID=<%=sCompClientID%>&sqlString=save@"+id, "downloadTemplate");
}
- function generateQuotation()
- {
+ function generateQuotation(){
+ /* var paymentnumber=getItemValue(0,getRow(0),"PAYMENT_NUMBER");
+ var planlist=getItemValue(0,getRow(0),"PLAN_LIST");
+ alert(sss);
+ return; */
var PAYMENT_NUMBERS=getItemValueArray(0,"PAYMENT_NUMBER");
var PLAN_LISTS=getItemValueArray(0,"PLAN_LIST");
if(typeof(PAYMENT_NUMBERS)=="undefined"||PAYMENT_NUMBERS==null||PAYMENT_NUMBERS==""){alert("请选择");return;}
@@ -86,9 +90,8 @@
var plan_list=PLAN_LISTS[i];//期次
var deleteresult=RunJavaMethodTrans("com.tenwa.officetempalte.controller.RentNotinyDeleteAction","deletequtation","plan_number="+plan_number+",plan_list="+plan_list);
var result=RunJavaMethodTrans("com.tenwa.officetempalte.action.CreateOfficeAction","createOfficeByTemplate",sparam);
-
-
-
+ //word转pdf
+ var id = RunJavaMethodTrans("com.tenwa.channelportal.action.ContractSignAction","wordToPdfAnnex","PAYMENT_NUMBER="+plan_number+",PLAN_LIST="+plan_list);
}
alert("生成成功!");
reloadSelf();
@@ -109,5 +112,27 @@
if(!frames["downloadTemplate"]) $("").appendTo("body");
window.open(sWebRootPath+"/servlet/view/DownloadZipServlet?CompClientID=<%=sCompClientID%>&id="+id, "downloadTemplate");
}
+
+ function stamp(){
+ var flie = getItemValue(0,getRow(0),"FILENAME");
+ if(typeof(flie)=="undefined"||flie==null||flie==""){
+ alert("请先生成租金通知书!");
+ return;
+ }
+ var PAYMENT_NUMBERS=getItemValueArray(0,"PAYMENT_NUMBER");
+ var PLAN_LISTS=getItemValueArray(0,"PLAN_LIST");
+ for(var i=0;i
<%@ include file="/Frame/resources/include/include_end.jspf"%>
\ No newline at end of file
diff --git a/src/com/tenwa/app/baseFileTemplate/handle/FileTemplateUtil.java b/src/com/tenwa/app/baseFileTemplate/handle/FileTemplateUtil.java
index 9a41900d9..2e9ede9a2 100644
--- a/src/com/tenwa/app/baseFileTemplate/handle/FileTemplateUtil.java
+++ b/src/com/tenwa/app/baseFileTemplate/handle/FileTemplateUtil.java
@@ -6,11 +6,13 @@ import java.util.List;
import java.util.Map;
import jbo.app.tenwa.doc.LB_DOCRELATIVE;
+import jbo.app.tenwa.doc.LB_DOC_CONTRACT_LIST;
import jbo.com.tenwa.entity.comm.officetempalte.BF_TEMPLATE;
import jbo.com.tenwa.lease.comm.LB_CONTRACT_TEMPLATE;
import com.amarsoft.are.jbo.BizObject;
import com.amarsoft.are.jbo.BizObjectManager;
+import com.amarsoft.are.jbo.JBOException;
import com.amarsoft.are.jbo.JBOFactory;
import com.amarsoft.are.jbo.JBOTransaction;
import com.amarsoft.are.util.json.JSONDecoder;
@@ -31,6 +33,7 @@ public class FileTemplateUtil {
public String templateNo;//模板编号
public String templateParam; //模板参数
public String templateIds;//要生成的合同模板
+ public String flowunid;//用于查询已经生成的合同
public String getTemplateCalss() {return templateCalss;}
public void setTemplateCalss(String templateCalss) {this.templateCalss = templateCalss;}
@@ -52,6 +55,12 @@ public class FileTemplateUtil {
public void setTemplateIds(String templateIds) {
this.templateIds = templateIds;
}
+ public String getFlowunid() {
+ return flowunid;
+ }
+ public void setFlowunid(String flowunid) {
+ this.flowunid = flowunid;
+ }
public String getTemplateClass(Transaction Sqlca) throws Exception{
String fileClass=templateCalss.replaceAll("@", ",");
ListtempFiles=new ArrayList();
@@ -139,5 +148,26 @@ public class FileTemplateUtil {
}
return message.toString();
}
+
+ public String jiaoyan(JBOTransaction tx) throws Exception{
+ String docName="";
+ String[] bfids = templateIds.split("&");
+ BizObjectManager btManager = JBOFactory.getBizObjectManager(BF_TEMPLATE.CLASS_NAME);
+ BizObjectManager ldclManager = JBOFactory.getBizObjectManager(LB_DOC_CONTRACT_LIST.CLASS_NAME);
+ List ldcls = ldclManager.createQuery("select * from O where file_flag='yes' and flow_unid=:flowunid").setParameter("flowunid", flowunid).getResultList(false);
+ for(int i=0;i0){
+ docName=docName+"已存在,请先删除后再生成!";
+ }
+
+ return docName;
+ }
}
diff --git a/src/com/tenwa/channelportal/action/ContractSignAction.java b/src/com/tenwa/channelportal/action/ContractSignAction.java
index 1fca20089..bc41e681c 100644
--- a/src/com/tenwa/channelportal/action/ContractSignAction.java
+++ b/src/com/tenwa/channelportal/action/ContractSignAction.java
@@ -70,6 +70,8 @@ public class ContractSignAction{
public String flagType;
public HessianProxyFactory factory = new HessianProxyFactory();
public HttpRequestAppService requestService;
+ public String PAYMENT_NUMBER;
+ public String PLAN_LIST;
private static Logger logger=Logger.getLogger(ContractSignAction.class);
@SuppressWarnings("deprecation")
public static String getConfigRequestUrl() throws Exception{
@@ -180,8 +182,20 @@ public class ContractSignAction{
public void setAttrId(String attrId) {
this.attrId = attrId;
}
+
-
+ public String getPAYMENT_NUMBER() {
+ return PAYMENT_NUMBER;
+ }
+ public void setPAYMENT_NUMBER(String pAYMENT_NUMBER) {
+ PAYMENT_NUMBER = pAYMENT_NUMBER;
+ }
+ public String getPLAN_LIST() {
+ return PLAN_LIST;
+ }
+ public void setPLAN_LIST(String pLAN_LIST) {
+ PLAN_LIST = pLAN_LIST;
+ }
/**
* 自然人电子签约
*
@@ -334,10 +348,8 @@ public class ContractSignAction{
public StringBuffer manyPeople() throws JBOException{
//获取担保人信息
StringBuffer info = new StringBuffer();
- BizObjectManager cptm = JBOFactory.getBizObjectManager(CUSTOMER_PERSON_TEMP.CLASS_NAME);
- List cpts = cptm.createQuery("select * from O left join jbo.com.tenwa.lease.comm.LB_GUARANTEE_UNIT_TEMP lgu on lgu.ASSUROR=O.CUSTOMERID where "
- + "lgu.flowunid=:FlowUnid AND lgu.DATA_STATE='guarantee' AND "
- + "lgu.flowunid=O.flowUnid").setParameter("FlowUnid", FlowUnid).getResultList(false);
+ BizObjectManager cptm = JBOFactory.getBizObjectManager(LB_GUARANTEE_UNIT_TEMP.CLASS_NAME);
+ List cpts = cptm.createQuery("select * from O where flowunid=:flowUnid").setParameter("flowUnid", FlowUnid).getResultList(false);
for(BizObject cpt:cpts){
String name = cpt.getAttribute("FULLNAME").toString();
String mobile = cpt.getAttribute("mobile").toString();
@@ -1323,6 +1335,62 @@ public void wordToPdfJar(JBOTransaction tx){
e.printStackTrace();
}
}
+
+ /**
+ * 租金通知书附件用LibreOffice实现word转换pdf
+ * word转换pdf
+ * @throws JBOException
+ */
+ @SuppressWarnings({ "unchecked", "static-access" })
+ public String wordToPdfAnnex(JBOTransaction tx) throws JBOException {
+
+ PLAN_LIST=PLAN_LIST.split("\\.")[0];
+ BizObjectManager bom=JBOFactory.getBizObjectManager(jbo.app.tenwa.doc.LB_DOCRELATIVE.CLASS_NAME);
+ BizObject DOCRELATIVE=bom.createQuery("plan_number=:plan_number and plan_list=:plan_list").setParameter("plan_number",PAYMENT_NUMBER).setParameter("plan_list", PLAN_LIST).getSingleResult(false);
+ BizObjectManager attrBom=JBOFactory.getBizObjectManager(jbo.app.tenwa.doc.LB_DOCATTRIBUTE.CLASS_NAME);
+ BizObject attrBo=null;
+ WordToPDFUtil wordTopdf = new WordToPDFUtil();
+ File file = null;
+ Boolean result = null;
+ String sql = "";
+ try {
+ if (DOCRELATIVE != null) {
+
+ String DOCRELATIVEid=DOCRELATIVE.getAttribute("id").toString();
+ BizObjectManager bom1=JBOFactory.getBizObjectManager(jbo.app.tenwa.doc.LB_DOCLIBRARY.CLASS_NAME);
+ String DOCLIBRARYid=bom1.createQuery("relative_id=:relative_id").setParameter("relative_id", DOCRELATIVEid).getSingleResult(false).getAttribute("id").toString();
+ attrBo = attrBom.createQuery("library_id=:library_id").setParameter("library_id", DOCLIBRARYid).getSingleResult(true);
+
+ String path = attrBo.getAttribute("FULLPATH").toString();
+ String lastFilePath = path.replace(".docx", ".pdf");
+ File filePath = new File(path);
+ if(!filePath.exists()){
+ logger.info("word转换pdf的源文件不存在");
+ }
+ String lastFilePathpdf = filePath.getParent();
+ try {
+ result = wordTopdf.Word2Pdf(path, lastFilePathpdf);
+ } catch (Exception e) {
+ result = false;
+ e.printStackTrace();
+ }
+ if (result) {
+ file =new File(lastFilePath);
+ attrBo.setAttributeValue("FULLPATH",attrBo.getAttribute("FULLPATH").toString().replace(".docx", ".pdf"));
+ attrBo.setAttributeValue("FILENAME",attrBo.getAttribute("FILENAME").toString().replace(".docx", ".pdf"));
+ attrBo.setAttributeValue("FILEPATH",attrBo.getAttribute("FILEPATH").toString().replace(".docx", ".pdf"));
+ attrBo.setAttributeValue("FileSize",file.length());
+ attrBo.setAttributeValue("CONTENT_TYPE","application/pdf");
+ attrBom.saveObject(attrBo);
+ }else{
+ }
+ }
+
+ } catch (JBOException e) {
+ e.printStackTrace();
+ }
+ return attrBo.getAttribute("ID").toString();
+ }
/**
* 多线程word转换pdf
* @author tenwa518
@@ -1702,6 +1770,101 @@ public String claimSign(JBOTransaction tx) throws Exception {
}
}
+ public String claimSignA(JBOTransaction tx) throws Exception {
+ requestService = (HttpRequestAppService) factory.create(HttpRequestAppService.class, this.getConfigRequestUrl());
+ String libraryid="";
+ PLAN_LIST=PLAN_LIST.split("\\.")[0];
+ BizObjectManager bom=JBOFactory.getBizObjectManager(jbo.app.tenwa.doc.LB_DOCRELATIVE.CLASS_NAME);
+ BizObject DOCRELATIVE=bom.createQuery("plan_number=:plan_number and plan_list=:plan_list").setParameter("plan_number",PAYMENT_NUMBER).setParameter("plan_list", PLAN_LIST).getSingleResult(false);
+ if (DOCRELATIVE != null) {
+ String DOCRELATIVEid=DOCRELATIVE.getAttribute("id").toString();
+ BizObjectManager bom1=JBOFactory.getBizObjectManager(jbo.app.tenwa.doc.LB_DOCLIBRARY.CLASS_NAME);
+ libraryid=bom1.createQuery("relative_id=:relative_id").setParameter("relative_id", DOCRELATIVEid).getSingleResult(false).getAttribute("id").toString();
+ }
+ BizObjectManager contBom = JBOFactory.getBizObjectManager(LB_DOCATTRIBUTE.CLASS_NAME, tx);
+ ContractSignInfo con = null;
+ BizObject bo = null;
+ String contract_id="";
+ try{
+ Map map=new HashMap();
+ bo = contBom.createQuery("library_id=:libraryid").setParameter("libraryid", libraryid).getSingleResult(true);
+ if(bo != null){
+ id = bo.getAttribute("id").toString();
+ con = new ContractSignInfo();
+ con.setFileid(id);
+ con.setFilename(bo.getAttribute("FILENAME").toString());
+ String makefullPath = bo.getAttribute("FULLPATH").toString();
+ File file = new File(makefullPath);
+ if (!file.exists()) {
+ throw new RuntimeException("要读取的文件不存在");
+ }
+ con.setInputfile(BASE64.encodeImgageToBase64(file));
+ map.put(id, con);
+ Map resultMap = null;
+ //调代理的接口
+// doc_name = bo.getAttribute("doc_name").toString();
+// if("租金支付表".equals(doc_name)){
+ //租金支付表
+ resultMap = requestService.createPaymentofHireSign(map);
+// }
+ if (!resultMap.containsKey("error")) {
+ for (String key : resultMap.keySet()) {
+ if (key.indexOf("contract_") == -1) {
+// bo.setAttributeValue("SINGCONTRACT_ID",resultMap.get("contract_" + key));
+// bo.setAttributeValue("DOCUMENT_ID", resultMap.get(key));
+ contract_id = resultMap.get(key);
+ }
+ }
+// bo.setAttributeValue("PROCESS", "5");
+// contBom.saveObject(bo);
+// tx.commit();
+ } else {
+ return "error";
+ }
+ }
+// bo = contBom.createQuery("file_flag='yes' and process='5' and flow_unid='" + FlowUnid + "' and attribute_id= '"+attribute_id+"'").getSingleResult(true);
+ if (bo != null) {
+ Map map1 = new HashMap();
+ map1.put(contract_id, bo.getAttribute("FULLPATH").toString());
+ Map result1 = requestService.downloadDoc(map1);
+ if (!result1.containsKey("error")) {
+ for (String contractId : map1.keySet()) {
+ try {
+ if ("success".equals(result1.get(contractId))) {
+ String fileString = result1.get("file_" + contractId);
+ InputStream fileInput = BASE64.encodeFileToBase64(fileString);
+ OutputStream fileOut = new FileOutputStream(map1.get(contractId));// TODO
+ byte[] buffByte = new byte[1024];
+ int size = 0;
+ while ((size = fileInput.read(buffByte)) != -1) {
+ fileOut.write(buffByte, 0, size);
+ }
+ fileInput.close();
+ fileOut.close();
+ } else if ("error".equals(result1.get(contractId))) {
+ return "error";
+ }
+ } catch (Exception e) {
+ e.printStackTrace();
+
+ }
+ }
+// bo.setAttributeValue("PROCESS", "6");
+// contBom.saveObject(bo);
+ } else {
+ return "error";
+ }
+ } else {
+ return "error";
+ }
+
+ return "success";
+ } catch (Exception e) {
+ e.printStackTrace();
+ return "error";
+ }
+ }
+
/***
* 已经生成的合同,作废,
* @param tx