diff --git a/src/com/tenwa/channelportal/action/ContractInsuranceSignAction.java b/src/com/tenwa/channelportal/action/ContractInsuranceSignAction.java new file mode 100644 index 000000000..2224ebe74 --- /dev/null +++ b/src/com/tenwa/channelportal/action/ContractInsuranceSignAction.java @@ -0,0 +1,169 @@ +package com.tenwa.channelportal.action; + +import com.amarsoft.are.jbo.*; +import com.tenwa.app.dao.ContractSignInfo; +import com.tenwa.app.manage.qiyuesuo.v2.ContractSignEnums; +import com.tenwa.app.manage.qiyuesuo.v2.ContractSignVtwoUtils; +import com.tenwa.channelportal.action.generativecontract.WordToPDFUtil; +import jbo.app.tenwa.doc.*; +import org.apache.log4j.Logger; +import java.io.File; + +public class ContractInsuranceSignAction { + + private static Logger logger=Logger.getLogger(ContractInsuranceSignAction.class); + + private String projectId; + + private String contractNo; + + private String contractId; + + private String subjectId; + + private String tempId; + + public String getContractNo() { + return contractNo; + } + + public void setContractNo(String contractNo) { + this.contractNo = contractNo; + } + + public String getProjectId() { + return projectId; + } + + public void setProjectId(String projectId) { + this.projectId = projectId; + } + + public String getContractId() { + return contractId; + } + + public void setContractId(String contractId) { + this.contractId = contractId; + } + + public String getSubjectId() { + return subjectId; + } + + public void setSubjectId(String subjectId) { + this.subjectId = subjectId; + } + + public String getTempId() { + return tempId; + } + + public void setTempId(String tempId) { + this.tempId = tempId; + } + + /** + * 保险委托授权书附件用LibreOffice实现word转换pdf + * word转换pdf + * @throws JBOException + */ + @SuppressWarnings({ "unchecked", "static-access" }) + public String wordToPdfInsurance(JBOTransaction tx) throws JBOException { + BizObjectManager bom=JBOFactory.getBizObjectManager(LB_DOCRELATIVE.CLASS_NAME); + BizObject DOCRELATIVE=bom.createQuery(" OBJECTTYPE='contractInsurance' and PROJ_ID=:projectId ").setParameter("projectId", projectId).getSingleResult(false); + BizObjectManager attrBom=JBOFactory.getBizObjectManager(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(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); + } + } + + } catch (JBOException e) { + e.printStackTrace(); + } + return attrBo.getAttribute("ID").toString(); + } + + + /** + * 保险委托申请书盖章:对接契约锁2.0 + * @param tx + * @return + * @throws Exception + */ + public String claimSignInsuranceTwo(JBOTransaction tx) throws Exception { + logger.info("claimSignInsuranceTwo 保险委托申请书盖章:对接契约锁2.0 开始 1224 1935"); + String libraryid=""; + BizObjectManager bom=JBOFactory.getBizObjectManager(LB_DOCRELATIVE.CLASS_NAME); + BizObject DOCRELATIVE=bom.createQuery("OBJECTTYPE='contractInsurance' and CONTRACT_ID=:contractid ").setParameter("contractid", contractId).getSingleResult(false); + logger.info("claimSignInsuranceTwo 查询文件关联信息"); + if (DOCRELATIVE != null) { + logger.info("claimSignInsuranceTwo 查询文件关联信息不为空时"); + String DOCRELATIVEid=DOCRELATIVE.getAttribute("id").toString(); + BizObjectManager bom1=JBOFactory.getBizObjectManager(LB_DOCLIBRARY.CLASS_NAME); + libraryid=bom1.createQuery("relative_id=:relative_id").setParameter("relative_id", DOCRELATIVEid).getSingleResult(false).getAttribute("id").toString(); + logger.info("claimSignInsuranceTwo 查询文件关联信息libraryid="+libraryid); + } + BizObjectManager contBom = JBOFactory.getBizObjectManager(LB_DOCATTRIBUTE.CLASS_NAME, tx); + ContractSignInfo con = null; + BizObject bo = null; + String info=""; + try{ + bo = contBom.createQuery("library_id=:libraryid").setParameter("libraryid", libraryid).getSingleResult(true); + logger.info("claimSignInsuranceTwo 查询文件信息"); + if(bo != null){ + logger.info("claimSignInsuranceTwo 查询文件信息不为空时"); + String fileName = bo.getAttribute("FILENAME").toString(); + String filePath = bo.getAttribute("FULLPATH").toString(); + logger.info("claimSignInsuranceTwo fileName="+fileName); + logger.info("claimSignInsuranceTwo filePath="+filePath); + ContractSignVtwoUtils contractSignVtwoUtils = new ContractSignVtwoUtils(); + logger.info("claimSignInsuranceTwo 发起公司盖章"); + String res = contractSignVtwoUtils.sign(ContractSignEnums.ContractSignTypeEnum.SIGNATURE_DEFAULT, tempId, subjectId, fileName, filePath, null); + logger.info("claimSignInsuranceTwo 公司盖章【结束】 res=" + res); + if ("success".equals(res)) { + return "success"; + }else{ + return "error"; + } + } else { + return "error"; + } + } catch (Exception e) { + logger.error("claimSignInsuranceTwo 系统错误,错误信息: ", e); + e.printStackTrace(); + return "error"; + } + } +} \ No newline at end of file