股权划转协议生成及法律文书拆分流程

该代码片段展示了生成股权划转协议并拆分法律文书的流程。

  1. 生成股权划转协议

    • 通过 contractGenerator.generate(shareTransferAgreementContract) 方法生成股权划转协议内容,并将内容存储在 contractContent 变量中。
  2. 拆分法律文书

    • 从数据库中查询 ContractFragmentTypeEnum.FINAL_CONTRACT_FRAGMENT 类型的合同片段模板。
    • 使用 contractGenerator.split(contractContent, fragmentList) 方法将生成的协议内容按照模板进行拆分,生成多个 ContractTemplateInfo 对象,每个对象代表一个独立的合同片段。
    • 将拆分后的合同片段信息保存到数据库中。
  3. 生成PDF文件

    • 遍历拆分后的合同片段列表,为每个片段生成PDF文件。
    • 使用 contractGenerator.generatePDF(templateInfo.getTemplateContent()) 方法生成PDF文件,并将文件路径存储在 templateInfo.setTemplatePath(pdfFilePath) 中。
    • 更新数据库中合同片段的PDF路径。
  4. 保存最终的法律文书

    • 将生成的协议内容保存到 entity.setTemplateContent(contractContent) 中。
    • 生成最终的PDF文件,并更新数据库中的 entity.setTemplatePath(pdfFilePath)
  5. 记录日志

    • 记录生成法律文书的日志信息,包括操作时间、操作人、项目代码、操作状态和备注。

代码示例:

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 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录