股权划转协议生成及法律文书拆分流程
股权划转协议生成及法律文书拆分流程
该代码片段展示了生成股权划转协议并拆分法律文书的流程。
-
生成股权划转协议
- 通过
contractGenerator.generate(shareTransferAgreementContract)方法生成股权划转协议内容,并将内容存储在contractContent变量中。
- 通过
-
拆分法律文书
- 从数据库中查询
ContractFragmentTypeEnum.FINAL_CONTRACT_FRAGMENT类型的合同片段模板。 - 使用
contractGenerator.split(contractContent, fragmentList)方法将生成的协议内容按照模板进行拆分,生成多个ContractTemplateInfo对象,每个对象代表一个独立的合同片段。 - 将拆分后的合同片段信息保存到数据库中。
- 从数据库中查询
-
生成PDF文件
- 遍历拆分后的合同片段列表,为每个片段生成PDF文件。
- 使用
contractGenerator.generatePDF(templateInfo.getTemplateContent())方法生成PDF文件,并将文件路径存储在templateInfo.setTemplatePath(pdfFilePath)中。 - 更新数据库中合同片段的PDF路径。
-
保存最终的法律文书
- 将生成的协议内容保存到
entity.setTemplateContent(contractContent)中。 - 生成最终的PDF文件,并更新数据库中的
entity.setTemplatePath(pdfFilePath)。
- 将生成的协议内容保存到
-
记录日志
- 记录生成法律文书的日志信息,包括操作时间、操作人、项目代码、操作状态和备注。
代码示例:
if(entity.getTransType().equals(TransTypeEnum.TRANSTYPE_SHARE_TRANSFER.getCode())){
//股权划转协议
ShareTransferAgreementContract shareTransferAgreementContract = new ShareTransferAgreementContract();
shareTransferAgreementContract.setShareTransferAgreement(entity);
shareTransferAgreementContract.setShareholderList(shareholderList);
shareTransferAgreementContract.setProject(project);
shareTransferAgreementContract.setEntities(entities);
contractContent = contractGenerator.generate(shareTransferAgreementContract);
}
//法律文书拆分
if(contractContent != null){
List<ContractFragmentTemplateInfo> fragmentList = contractFragmentTemplateService
.queryByType(ContractFragmentTypeEnum.FINAL_CONTRACT_FRAGMENT.getCode());
if(ListUtil.isNotEmpty(fragmentList)){
//拆分后的法律文书
List<ContractTemplateInfo> contractTemplateInfos = contractGenerator
.split(contractContent, fragmentList);
if(ListUtil.isNotEmpty(contractTemplateInfos)){
//拆分后的法律文书 保存到数据库
contractTemplateInfoService.batchSave(contractTemplateInfos);
//根据拆分后的法律文书 生成pdf
for(ContractTemplateInfo info : contractTemplateInfos){
ContractTemplateInfo templateInfo = contractTemplateInfoService.findById(info.getId());
if(templateInfo != null){
//生成pdf
String pdfFilePath = contractGenerator
.generatePDF(templateInfo.getTemplateContent());
templateInfo.setTemplatePath(pdfFilePath);
//更新pdf路径
contractTemplateInfoService.update(templateInfo);
//拆分后的法律文书 pdf
contractTemplateInfosPdf.add(templateInfo);
}
}
}
}
}
//更新模板
entity.setTemplateContent(contractContent);
update(entity);
//生成 pdf
String pdfFilePath = contractGenerator.generatePDF(contractContent);
//更新pdf路径
entity.setTemplatePath(pdfFilePath);
update(entity);
注意事项:
- 该代码片段仅供参考,具体实现可能需要根据实际情况进行调整。
- 请注意代码安全,避免出现SQL注入等安全漏洞。
- 保持代码可读性和可维护性,使用清晰的变量名和注释。
- 确保代码逻辑正确,并进行充分的测试。
原文地址: https://www.cveoy.top/t/topic/lgAy 著作权归作者所有。请勿转载和采集!