<?php
namespace App\Controller;
use Symfony\Bundle\FrameworkBundle\Controller\AbstractController;
use Symfony\Component\HttpFoundation\Response;
use Symfony\Component\Routing\Annotation\Route;
use App\Entity\Cliente;
use App\Entity\Documento;
use App\Entity\User;
use App\Entity\Caixa;
use App\Entity\Classificacao;
use App\Entity\Tipo;
use App\Entity\Registro;
use App\Entity\Categoria;
use App\Entity\Conteiner;
use App\Entity\ConteinerResp;
use Doctrine\Persistence\ManagerRegistry;
use Symfony\Component\HttpFoundation\Request;
use Symfony\Component\HttpFoundation\Session\Session;
use Doctrine\ORM\EntityRepository;
use Aws\S3\S3Client;
use Aws\Common\Exception\MultipartUploadException;
use Aws\S3\MultipartUploader;
use Symfony\Component\Form\Extension\Core\Type\FileType;
use Symfony\Component\Form\Extension\Core\Type\TextType;
use Symfony\Component\Form\Extension\Core\Type\SubmitType;
use Symfony\Component\Form\Extension\Core\Type\ChoiceType;
use Symfony\Component\Form\Extension\Core\Type\CheckboxType;
use Symfony\Component\Form\Extension\Core\Type\RadioType;
use Symfony\Bridge\Doctrine\Form\Type\EntityType;
use App\Form\Type\CaixaType;
use Symfony\Component\String\Slugger\AsciiSlugger;
use Symfony\Component\Uid\Uuid;
use setasign\Fpdi\Tcpdf\Fpdi;
use setasign\Fpdi\PdfReader;
use propa\tcpdi\tcpdi;
use Symfony\Component\Dotenv\Dotenv;
use Doctrine\ORM\EntityManagerInterface;
use PhpOffice\PhpSpreadsheet\Spreadsheet;
use PhpOffice\PhpSpreadsheet\Writer\Xlsx;
use PhpOffice\PhpSpreadsheet\Writer\Xls;
use Symfony\Component\HttpFoundation\BinaryFileResponse;
use Symfony\Component\HttpFoundation\ResponseHeaderBag;
class CadastroController extends AbstractController
{
/**
* @Route("/", name="_home")
*/
public function home(Request $request){
return $this->redirect('https://ged.arquivosdoc.com.br/login');
}
/**
* @Route("/excel/{clientes}", name="_excel")
*/
public function excel(Request $request , ManagerRegistry $doctrine , $clientes){
$i=0;
$doc = $doctrine->getRepository(Documento::class)->findBy(['cliente' =>$clientes]);
foreach ($doc as $docs ) {
$i = $i + 1;
}
$spreadsheet = new Spreadsheet();
$sheet = $spreadsheet->getActiveSheet();
$sheet->setCellValue('A1' , 'DIAS DE EXPORTAÇÃO');
$sheet->setCellValue('B1' , 'QUANTIDADE PROCESSOS');
$sheet->setCellValue('C1' , 'CAIXA');
$sheet->setCellValue('D1' , 'PALAVRA-CHAVE');
$sheet->setCellValue('E1' , 'DESCRIÇÃO');
$sheet->setCellValue('F1' , 'DATA DO ENVIO');
$rowCount = 2;
foreach ($doc as $docs) {
$nome = $docs->getNome();
$assunto = $docs->getAssunto();
$keywords = $docs->getKeywords();
$desc = $docs->getExtraFields();
$caixa = $docs->getCaixa()->getNome();
$data = $docs->getCreatedAt();
$formattedDate = $data->format('d/m/y');
$sheet->setCellValue('A' . $rowCount,$nome);
$sheet->setCellValue('B' . $rowCount,$assunto);
$sheet->setCellValue('C' . $rowCount,$caixa);
$sheet->setCellValue('D' . $rowCount,$keywords);
$sheet->setCellValue('E' . $rowCount,$desc);
$sheet->setCellValue('F' . $rowCount,$formattedDate);
$rowCount++;
$count = 0;
}
$writer = new Xls($spreadsheet);
header('Content-Disposition: attachment;filename="Relátorio_de_quantidade.xls"');
$writer->save('php://output');
#dd($i);
return $this->render('cadastro/teste.html.twig', array(
));
}
/**
* @Route("/Importar-Arquivos/{users}/{clientes}", name="_importar")
*/
public function importar(Request $request , ManagerRegistry $doctrine , $users , $clientes){
$dotenv = new Dotenv();
$dotenv->load(__DIR__.'/.env');
$clientS3 = new S3Client([
'region' => 'sa-east-1',
'version' => 'latest',
'credentials' => [
'key' =>$_ENV["AWS_KEY"],
'secret' => $_ENV["AWS_SECRET"],
]
]);
$user = $doctrine->getRepository(User::class)->find($users);
$cliente = $doctrine->getRepository(Cliente::class)->find($clientes);
$empresaSelecionada= $cliente;
$clinetesss = $cliente->getNome();
$form = $this->createFormBuilder()
->add('arquivos', FileType::class, [
'label' => 'Arquivos',
'multiple' => true,
'attr' => [
'class' => 'form-control'
]
])
->add('caixa', EntityType::class, [
// looks for choices from this entity
'class' => Caixa::class,
'query_builder' => function (EntityRepository $er) use ($empresaSelecionada) {
return $er->createQueryBuilder('c')
->leftJoin('c.clientes', 'clientes')
->where("clientes.id = '" . $empresaSelecionada->getId() . "'")
->orderBy('c.id', 'ASC');
},
'attr' => array('data-widget' => 'select2' ,'class' => 'form-control' ,'id'=>'email'),
'choice_label' => 'nome',
'placeholder' => 'Selecione',
'required' => false
// used to render a select box, check boxes or radios
// 'multiple' => true,
// 'expanded' => true,
])
->add('botao', SubmitType::class, [
'label' => 'Importar',
'attr' => [
'class' => 'btn btn-primary btn-lg active'
]
])
->getForm();
$form->handleRequest($request);
$entityManager = $doctrine->getManager();
if (isset($form->getData()['arquivos']) != null ) {
$caixa = $form->getData()['caixa'];
$arquivos = $form->getData()['arquivos'];
$noFound = [];
if($arquivos != null){
foreach($arquivos as $arquivo){
$uuid=Uuid::v4();
$nome = $arquivo->getClientOriginalName();
$nome = str_replace('.pdf', '', $nome);
$imagick = new \Imagick();
$imagick->pingImage($arquivo);
$num5= $imagick->getNumberImages();
$filename= $nome.$uuid.'.pdf';
$umlautString = $clinetesss;
$slugger = new AsciiSlugger();
$teste=$slugger->slug($umlautString, $seperator = '-')->toString();
$caminho = strtolower ($teste.'/');
if($clientes == 14){$caminho='cartorio-1deg-oficio-de-volta-redonda-rj/';}
if($clientes == 83){$caminho='casf-corretora-apolice-diversos/';}
if($clientes == 35){$caminho='pmecj-sp-saude/';}
if($clientes == 4){$caminho='cartorio-souza-reis-barra-mansa/';}
if($clientes == 107){$caminho='pmecj-sp-execucao-fiscal/';}
if(isset($element['Caixa'])){
$caixa = $element['Caixa'];
$entityManager = $doctrine->getManager();
$queryBuilder = $entityManager->createQueryBuilder()
->select('caixa')
->from(Caixa::class, 'caixa')
->leftJoin('caixa.clientes', 'clientes')
->AndWhere('LOWER(caixa.nome) LIKE :caixa')->setParameter('caixa', '% '. $caixa)
->AndWhere('clientes.id = :cliente')->setParameter('cliente', $cliente->getId())
;
$caixarepo = $queryBuilder->getQuery()->getArrayResult();
foreach($caixarepo as $cx){
$caixaid = $cx['id'];
$caixarepo = $this->getDoctrine()->getRepository(Caixa::class);
$caixa = $caixarepo->find($caixaid);
}
$documento->setCaixa($caixa);
}
if($caixa != null) {$documento = $entityManager->getRepository(Documento::class)->findOneBy(array('cliente'=>$cliente, 'caixa'=>$caixa, 'nome'=>$nome ));}
if($caixa == null) {$documento = $entityManager->getRepository(Documento::class)->findOneBy(array('cliente'=>$cliente,'nome'=>$nome ));}
if($documento != null){
$image=$documento->getImage();
$image1=$documento->getAnexo();
$image2=$documento->getAnexo1();
$image3=$documento->getAnexo2();
$image4=$documento->getAnexo3();
$image5=$documento->getAnexo4();
$image6=$documento->getAnexo5();
$image7=$documento->getAnexo6();
$image8=$documento->getAnexo7();
$image9=$documento->getAnexo8();
if($image == null ){
$response = $clientS3->putObject(array(
'Bucket' => "arquivosdoc",
'Key' => $caminho . $filename,
'SourceFile' => $arquivo,
'ContentDisposition'=>'inline',
'ContentType'=>'application/pdf',
));
$documento->setImage($filename);
$documento->setUser($user);
$documento->setUpdatedAt(new \DateTime('America/Sao_Paulo'));
$documento->setIndexAt(new \DateTime('America/Sao_Paulo'));
$documento->setQtd1($num5);
$qtd1=$documento->getQtd1();
$qtd2=$documento->getQtd2();
$qtd3=$documento->getQtd3();
$qtd4=$documento->getQtd4();
$qtd5=$documento->getQtd5();
$qtd6=$documento->getQtd6();
$qtd7=$documento->getQtd7();
$qtd8=$documento->getQtd8();
$qtd9=$documento->getQtd9();
$qtd10=$documento->getQtd10();
$documento->setQtd($qtd1+$qtd2+$qtd3+$qtd4+$qtd5+$qtd6+$qtd7+$qtd8+$qtd9+$qtd10);}
if($image != null ){
if($image1 == null ){
$response = $clientS3->putObject(array(
'Bucket' => "arquivosdoc",
'Key' => $caminho . $filename,
'SourceFile' => $arquivo,
'ContentDisposition'=>'inline',
'ContentType'=>'application/pdf',
));
$documento->setAnexo($filename);
$documento->setQtd2($num5);
$documento->setUser($user);
$documento->setUpdatedAt(new \DateTime('America/Sao_Paulo'));
$documento->setIndexAt(new \DateTime('America/Sao_Paulo'));
$qtd1=$documento->getQtd1();
$qtd2=$documento->getQtd2();
$qtd3=$documento->getQtd3();
$qtd4=$documento->getQtd4();
$qtd5=$documento->getQtd5();
$qtd6=$documento->getQtd6();
$qtd7=$documento->getQtd7();
$qtd8=$documento->getQtd8();
$qtd9=$documento->getQtd9();
$qtd10=$documento->getQtd10();
$documento->setQtd($qtd1+$qtd2+$qtd3+$qtd4+$qtd5+$qtd6+$qtd7+$qtd8+$qtd9+$qtd10);
}
}
if($image1 != null ){
if($image2 == null ){
$response = $clientS3->putObject(array(
'Bucket' => "arquivosdoc",
'Key' => $caminho . $filename,
'SourceFile' => $arquivo,
'ContentDisposition'=>'inline',
'ContentType'=>'application/pdf',
));
$documento->setAnexo1($filename);
$documento->setQtd3($num5);
$documento->setUser($user);
$documento->setUpdatedAt(new \DateTime('America/Sao_Paulo'));
$documento->setIndexAt(new \DateTime('America/Sao_Paulo'));
$qtd1=$documento->getQtd1();
$qtd2=$documento->getQtd2();
$qtd3=$documento->getQtd3();
$qtd4=$documento->getQtd4();
$qtd5=$documento->getQtd5();
$qtd6=$documento->getQtd6();
$qtd7=$documento->getQtd7();
$qtd8=$documento->getQtd8();
$qtd9=$documento->getQtd9();
$qtd10=$documento->getQtd10();
$documento->setQtd($qtd1+$qtd2+$qtd3+$qtd4+$qtd5+$qtd6+$qtd7+$qtd8+$qtd9+$qtd10);
}
}
if($image2 != null ){
if($image3 == null ){
$response = $clientS3->putObject(array(
'Bucket' => "arquivosdoc",
'Key' => $caminho . $filename,
'SourceFile' => $arquivo,
'ContentDisposition'=>'inline',
'ContentType'=>'application/pdf',
));
$documento->setAnexo2($filename);
$documento->setQtd4($num5);
$documento->setUser($user);
$documento->setUpdatedAt(new \DateTime('America/Sao_Paulo'));
$documento->setIndexAt(new \DateTime('America/Sao_Paulo'));
$qtd1=$documento->getQtd1();
$qtd2=$documento->getQtd2();
$qtd3=$documento->getQtd3();
$qtd4=$documento->getQtd4();
$qtd5=$documento->getQtd5();
$qtd6=$documento->getQtd6();
$qtd7=$documento->getQtd7();
$qtd8=$documento->getQtd8();
$qtd9=$documento->getQtd9();
$qtd10=$documento->getQtd10();
$documento->setQtd($qtd1+$qtd2+$qtd3+$qtd4+$qtd5+$qtd6+$qtd7+$qtd8+$qtd9+$qtd10);
}
}
if($image3 != null ){
if($image4 == null ){
$response = $clientS3->putObject(array(
'Bucket' => "arquivosdoc",
'Key' => $caminho . $filename,
'SourceFile' => $arquivo,
'ContentDisposition'=>'inline',
'ContentType'=>'application/pdf',
));
$documento->setAnexo3($filename);
$documento->setQtd5($num5);
$documento->setUser($user);
$documento->setUpdatedAt(new \DateTime('America/Sao_Paulo'));
$documento->setIndexAt(new \DateTime('America/Sao_Paulo'));
$qtd1=$documento->getQtd1();
$qtd2=$documento->getQtd2();
$qtd3=$documento->getQtd3();
$qtd4=$documento->getQtd4();
$qtd5=$documento->getQtd5();
$qtd6=$documento->getQtd6();
$qtd7=$documento->getQtd7();
$qtd8=$documento->getQtd8();
$qtd9=$documento->getQtd9();
$qtd10=$documento->getQtd10();
$documento->setQtd($qtd1+$qtd2+$qtd3+$qtd4+$qtd5+$qtd6+$qtd7+$qtd8+$qtd9+$qtd10);
}
}
if($image4 != null ){
if($image5 == null ){
$response = $clientS3->putObject(array(
'Bucket' => "arquivosdoc",
'Key' => $caminho . $filename,
'SourceFile' => $arquivo,
'ContentDisposition'=>'inline',
'ContentType'=>'application/pdf',
));
$documento->setAnexo4($filename);
$documento->setQtd6($num5);
$documento->setUser($user);
$documento->setUpdatedAt(new \DateTime('America/Sao_Paulo'));
$documento->setIndexAt(new \DateTime('America/Sao_Paulo'));
$qtd1=$documento->getQtd1();
$qtd2=$documento->getQtd2();
$qtd3=$documento->getQtd3();
$qtd4=$documento->getQtd4();
$qtd5=$documento->getQtd5();
$qtd6=$documento->getQtd6();
$qtd7=$documento->getQtd7();
$qtd8=$documento->getQtd8();
$qtd9=$documento->getQtd9();
$qtd10=$documento->getQtd10();
$documento->setQtd($qtd1+$qtd2+$qtd3+$qtd4+$qtd5+$qtd6+$qtd7+$qtd8+$qtd9+$qtd10);
}
}
if($image5 != null ){
if($image6 == null ){
$response = $clientS3->putObject(array(
'Bucket' => "arquivosdoc",
'Key' => $caminho . $filename,
'SourceFile' => $arquivo,
'ContentDisposition'=>'inline',
'ContentType'=>'application/pdf',
));
$documento->setAnexo5($filename);
$documento->setQtd7($num5);
$documento->setUser($user);
$documento->setUpdatedAt(new \DateTime('America/Sao_Paulo'));
$documento->setIndexAt(new \DateTime('America/Sao_Paulo'));
$qtd1=$documento->getQtd1();
$qtd2=$documento->getQtd2();
$qtd3=$documento->getQtd3();
$qtd4=$documento->getQtd4();
$qtd5=$documento->getQtd5();
$qtd6=$documento->getQtd6();
$qtd7=$documento->getQtd7();
$qtd8=$documento->getQtd8();
$qtd9=$documento->getQtd9();
$qtd10=$documento->getQtd10();
$documento->setQtd($qtd1+$qtd2+$qtd3+$qtd4+$qtd5+$qtd6+$qtd7+$qtd8+$qtd9+$qtd10);
}
}
if($image6 != null ){
if($image7 == null ){
$response = $clientS3->putObject(array(
'Bucket' => "arquivosdoc",
'Key' => $caminho . $filename,
'SourceFile' => $arquivo,
'ContentDisposition'=>'inline',
'ContentType'=>'application/pdf',
));
$documento->setAnexo6($filename);
$documento->setQtd8($num5);
$documento->setUser($user);
$documento->setUpdatedAt(new \DateTime('America/Sao_Paulo'));
$documento->setIndexAt(new \DateTime('America/Sao_Paulo'));
$qtd1=$documento->getQtd1();
$qtd2=$documento->getQtd2();
$qtd3=$documento->getQtd3();
$qtd4=$documento->getQtd4();
$qtd5=$documento->getQtd5();
$qtd6=$documento->getQtd6();
$qtd7=$documento->getQtd7();
$qtd8=$documento->getQtd8();
$qtd9=$documento->getQtd9();
$qtd10=$documento->getQtd10();
$documento->setQtd($qtd1+$qtd2+$qtd3+$qtd4+$qtd5+$qtd6+$qtd7+$qtd8+$qtd9+$qtd10);
}
}
if($image7 != null ){
if($image8 == null ){
$response = $clientS3->putObject(array(
'Bucket' => "arquivosdoc",
'Key' => $caminho . $filename,
'SourceFile' => $arquivo,
'ContentDisposition'=>'inline',
'ContentType'=>'application/pdf',
));
$documento->setAnexo7($filename);
$documento->setQtd9($num5);
$documento->setUser($user);
$documento->setUpdatedAt(new \DateTime('America/Sao_Paulo'));
$documento->setIndexAt(new \DateTime('America/Sao_Paulo'));
$qtd1=$documento->getQtd1();
$qtd2=$documento->getQtd2();
$qtd3=$documento->getQtd3();
$qtd4=$documento->getQtd4();
$qtd5=$documento->getQtd5();
$qtd6=$documento->getQtd6();
$qtd7=$documento->getQtd7();
$qtd8=$documento->getQtd8();
$qtd9=$documento->getQtd9();
$qtd10=$documento->getQtd10();
$documento->setQtd($qtd1+$qtd2+$qtd3+$qtd4+$qtd5+$qtd6+$qtd7+$qtd8+$qtd9+$qtd10);
}
}
if($image8 != null ){
if($image9 == null ){
$response = $clientS3->putObject(array(
'Bucket' => "arquivosdoc",
'Key' => $caminho . $filename,
'SourceFile' => $arquivo,
'ContentDisposition'=>'inline',
'ContentType'=>'application/pdf',
));
$documento->setAnexo8($filename);
$documento->setQtd10($num5);
$documento->setUser($user);
$documento->setUpdatedAt(new \DateTime('America/Sao_Paulo'));
$documento->setIndexAt(new \DateTime('America/Sao_Paulo'));
$qtd1=$documento->getQtd1();
$qtd2=$documento->getQtd2();
$qtd3=$documento->getQtd3();
$qtd4=$documento->getQtd4();
$qtd5=$documento->getQtd5();
$qtd6=$documento->getQtd6();
$qtd7=$documento->getQtd7();
$qtd8=$documento->getQtd8();
$qtd9=$documento->getQtd9();
$qtd10=$documento->getQtd10();
$documento->setQtd($qtd1+$qtd2+$qtd3+$qtd4+$qtd5+$qtd6+$qtd7+$qtd8+$qtd9+$qtd10);
}
}
if($image9 != null ){
$response = $clientS3->putObject(array(
'Bucket' => "arquivosdoc",
'Key' => $caminho . $filename,
'SourceFile' => $arquivo,
'ContentDisposition'=>'inline',
'ContentType'=>'application/pdf',
));
echo '<script>alert("Todos os anexos cheios , anexos 10 foi substituido!")</script>';
$documento->setAnexo8($filename);
$documento->setQtd10($num5);
$documento->setUser($user);
$documento->setUpdatedAt(new \DateTime('America/Sao_Paulo'));
$documento->setIndexAt(new \DateTime('America/Sao_Paulo'));
$qtd1=$documento->getQtd1();
$qtd2=$documento->getQtd2();
$qtd3=$documento->getQtd3();
$qtd4=$documento->getQtd4();
$qtd5=$documento->getQtd5();
$qtd6=$documento->getQtd6();
$qtd7=$documento->getQtd7();
$qtd8=$documento->getQtd8();
$qtd9=$documento->getQtd9();
$qtd10=$documento->getQtd10();
$documento->setQtd($qtd1+$qtd2+$qtd3+$qtd4+$qtd5+$qtd6+$qtd7+$qtd8+$qtd9+$qtd10);
}
}
else
array_push($noFound, $nome);
}
$entityManager->flush();
if($noFound != null){
echo '<script>alert("Importação não Concluída! '
. implode(", ", $noFound). ' não encontrado(s).")</script>';
}else{
echo '<script>alert("Importação Concluída!")</script>';
}
}
}
return $this->render('cadastro/index1.html.twig', array(
'form' => $form->createView(),
));
}
/**
* @Route("/Importar-Arquivos/{users}/{clientes}/Assinador", name="_importar_assinar")
*/
public function importarAssinador(Request $request , ManagerRegistry $doctrine , $users , $clientes){
$assinatura='';
$pdfnaoassinados=[];
$dotenv = new Dotenv();
$dotenv->load(__DIR__.'/.env');
$clientS3 = new S3Client([
'region' => 'sa-east-1',
'version' => 'latest',
'credentials' => [
'key' =>$_ENV["AWS_KEY"],
'secret' => $_ENV["AWS_SECRET"],
]
]);
$user = $doctrine->getRepository(User::class)->find($users);
$usersss = $user->getNome();
$usersss_id = $user->getId();
$pasta_user=$usersss.'/';
$cliente = $doctrine->getRepository(Cliente::class)->find($clientes);
$empresaSelecionada= $cliente;
$clinetesss = $cliente->getNome();
$form = $this->createFormBuilder()
->add('arquivos', FileType::class, [
'label' => 'Arquivos',
'multiple' => true,
'attr' => [
'class' => 'form-control'
]
])
->add('caixa', EntityType::class, [
'class' => Caixa::class,
'query_builder' => function (EntityRepository $er) use ($empresaSelecionada) {
return $er->createQueryBuilder('c')
->leftJoin('c.clientes', 'clientes')
->where("clientes.id = '" . $empresaSelecionada->getId() . "'")
->orderBy('c.id', 'ASC');
},
'attr' => array('class' => 'teste' ),
'choice_label' => 'nome',
'placeholder' => 'Selecione',
'required' => false
])
->add('assinaturas', CheckboxType::class, [
'label' => ' ',
'required' => false,
'attr' => [
'class' => 'input-lg'
]
])
->add('botao', SubmitType::class, [
'label' => 'Importar',
'attr' => [
'class' => 'btn btn-primary btn-lg active'
]
])
->getForm();
$form->handleRequest($request);
$entityManager = $doctrine->getManager();
if (isset($form->getData()['arquivos']) != null ) {
$assina=$form->getData()['assinaturas'];
$caixa = $form->getData()['caixa'];
$arquivos = $form->getData()['arquivos'];
$noFound = [];
$arr = [];
if($arquivos != null){
if (file_exists($usersss)) {
}
else{
mkdir($pasta_user, 0777, true);
}
$total_count = is_countable( $arquivos ) ? count( $arquivos ) : 0;
for( $i=0 ; $i < $total_count ; $i++ ) {
$tmpFilePath = $form->getData()['arquivos'][$i];
$nomes = $tmpFilePath->getClientOriginalName();
move_uploaded_file($tmpFilePath,$pasta_user.$nomes);
$arr[] = $nomes;
}
$arrr=0;
foreach($arquivos as $arquivo){
$version='1';
$uuid=Uuid::v4();
$variavelconvert='Convertido_'.$uuid.'.pdf';
$nome = $arquivo->getClientOriginalName();
$nome = str_replace('.pdf', '', $nome);
$imagick = new \Imagick();
$imagick->pingImage($pasta_user.$arr[$arrr]);
$num5= $imagick->getNumberImages();
$filename= $nome.$uuid.'.pdf';
$filename1= $nome.$uuid.'.pdf';
$umlautString = $clinetesss;
$slugger = new AsciiSlugger();
$teste=$slugger->slug($umlautString, $seperator = '-')->toString();
$caminho = strtolower ($teste.'/');
#$num5=2;
$filecontent = file_get_contents($pasta_user.$arr[$arrr]);
if($clientes == 14){$caminho='cartorio-1deg-oficio-de-volta-redonda-rj/';}
if($clientes == 83){$caminho='casf-corretora-apolice-diversos/';}
if($clientes == 35){$caminho='pmecj-sp-saude/';}
if($clientes == 107){$caminho='pmecj-sp-execucao-fiscal/';}
if($clientes == 4){$caminho='cartorio-souza-reis-barra-mansa/';}
if($clientes == 112){$caminho='saae-cartao-de-ponto/';}
if($clientes == 15){$caminho='cbsi-dossies/';}
if($clientes == 55){$caminho='casf-gerep-contratos-de-prestadores-de-saude-pj/';}
if($clientes == 13){$caminho='casa-de-saude-santa-maria-c-s-s.M/';}
if ($assina==true) {
$doc=$arr[$arrr];
if ($version == '0') {
$pdfnaoassinados[]=$nome;
foreach ($pdfnaoassinados as $pdfnaoassinado) {
$filename= $arr[$arrr];
}
$arrr++;
}
if ($version == '1') {
//Endereço do arquivo do certificado
//Obs.: Tentei usar o certificado no formato PFX e não funcionou
//Para converter use o comando no Prompt do Windows ou Terminal do Linux:
//openssl pkcs12 -in certificado.pfx -out tcpdf.crt -nodes
$cert = 'certicadoVR.crt';
//Informações da assinatura - Preencha com os seus dados
$info = array(
'Name' => 'ARQUIVOS ORGANIZACÃO E GESTÃO DOCUMENTAL',
'Location' => 'VOLTA REDONDA',
'Reason' => '26157471000100',
'ContactInfo' => 'www.arquivosdoc.com.br',
);
$pdf = new Fpdi();
$pdf->SetAutoPageBreak(TRUE, -3);
$numPages = $pdf->setSourceFile($pasta_user.$doc);
$arrr++;
for ($i=1; $i <= $numPages; $i++) {
#if ($i <= 2) {
#}
$tplId = $pdf->importPage($i);
$s = $pdf->getTemplatesize($tplId);
$pdf->AddPage($s['orientation'], $s);
$pdf->useTemplate($tplId);
}
$pdf->setSignatureAppearance(160, 238, 40 ,40);
$pdf->setSignature('file://'.$cert, 'file://'.realpath($cert), '123456','', 2, $info);
if ($s['orientation'] == 'P') {
$pdf->Image('/home/wwarqu/gedupload/public/img/removebg2.png',70, 230, 40 ,40 ,'PNG','https://verificador.staging.iti.br');
}
if ($s['orientation'] == 'L') {
$pdf->Image('/home/wwarqu/gedupload/public/img/removebg2.png',70, 165, 40 ,40 ,'PNG','https://verificador.staging.iti.br');
}
$pdf->Output('/home/wwarqu/gedupload/public/'.$pasta_user.$filename, 'F');
}
}
if ($assina==false) {
$filename= $arr[$arrr];
$arrr++;
}
if(isset($element['Caixa'])){
$caixa = $element['Caixa'];
$entityManager = $doctrine->getManager();
$queryBuilder = $entityManager->createQueryBuilder()
->select('caixa')
->from(Caixa::class, 'caixa')
->leftJoin('caixa.clientes', 'clientes')
->AndWhere('LOWER(caixa.nome) LIKE :caixa')->setParameter('caixa', '% '. $caixa)
->AndWhere('clientes.id = :cliente')->setParameter('cliente', $cliente->getId())
;
$caixarepo = $queryBuilder->getQuery()->getArrayResult();
foreach($caixarepo as $cx){
$caixaid = $cx['id'];
$caixarepo = $this->getDoctrine()->getRepository(Caixa::class);
$caixa = $caixarepo->find($caixaid);
}
$documento->setCaixa($caixa);
}
if($caixa != null) {$documento = $entityManager->getRepository(Documento::class)->findOneBy(array('cliente'=>$cliente, 'caixa'=>$caixa, 'nome'=>$nome ));}
if($caixa == null) {$documento = $entityManager->getRepository(Documento::class)->findOneBy(array('cliente'=>$cliente,'nome'=>$nome ));}
if($documento != null){
$image=$documento->getImage();
$image1=$documento->getAnexo();
$image2=$documento->getAnexo1();
$image3=$documento->getAnexo2();
$image4=$documento->getAnexo3();
$image5=$documento->getAnexo4();
$image6=$documento->getAnexo5();
$image7=$documento->getAnexo6();
$image8=$documento->getAnexo7();
$image9=$documento->getAnexo8();
if($image == null ){
$response = $clientS3->putObject(array(
'Bucket' => "arquivosdoc",
'Key' => $caminho . $filename1,
'SourceFile' => $pasta_user.$filename,
'ContentDisposition'=>'inline',
'ContentType'=>'application/pdf',
));
$documento->setImage($filename1);
$documento->setUser($user);
$documento->setUpdatedAt(new \DateTime('America/Sao_Paulo'));
$documento->setQtd1($num5);
$qtd1=$documento->getQtd1();
$qtd2=$documento->getQtd2();
$qtd3=$documento->getQtd3();
$qtd4=$documento->getQtd4();
$qtd5=$documento->getQtd5();
$qtd6=$documento->getQtd6();
$qtd7=$documento->getQtd7();
$qtd8=$documento->getQtd8();
$qtd9=$documento->getQtd9();
$qtd10=$documento->getQtd10();
$documento->setQtd($qtd1+$qtd2+$qtd3+$qtd4+$qtd5+$qtd6+$qtd7+$qtd8+$qtd9+$qtd10);
;
}
if($image != null ){
if($image1 == null ){
$response = $clientS3->putObject(array(
'Bucket' => "arquivosdoc",
'Key' => $caminho . $filename1,
'SourceFile' =>$pasta_user.$filename,
'ContentDisposition'=>'inline',
'ContentType'=>'application/pdf',
));
$documento->setAnexo($filename1);
$documento->setQtd2($num5);
$documento->setUser($user);
$documento->setUpdatedAt(new \DateTime('America/Sao_Paulo'));
$qtd1=$documento->getQtd1();
$qtd2=$documento->getQtd2();
$qtd3=$documento->getQtd3();
$qtd4=$documento->getQtd4();
$qtd5=$documento->getQtd5();
$qtd6=$documento->getQtd6();
$qtd7=$documento->getQtd7();
$qtd8=$documento->getQtd8();
$qtd9=$documento->getQtd9();
$qtd10=$documento->getQtd10();
$documento->setQtd($qtd1+$qtd2+$qtd3+$qtd4+$qtd5+$qtd6+$qtd7+$qtd8+$qtd9+$qtd10);
}
}
if($image1 != null ){
if($image2 == null ){
$response = $clientS3->putObject(array(
'Bucket' => "arquivosdoc",
'Key' => $caminho . $filename1,
'SourceFile' =>$pasta_user.$filename,
'ContentDisposition'=>'inline',
'ContentType'=>'application/pdf',
));
$documento->setAnexo1($filename1);
$documento->setQtd3($num5);
$documento->setUser($user);
$documento->setUpdatedAt(new \DateTime('America/Sao_Paulo'));
$qtd1=$documento->getQtd1();
$qtd2=$documento->getQtd2();
$qtd3=$documento->getQtd3();
$qtd4=$documento->getQtd4();
$qtd5=$documento->getQtd5();
$qtd6=$documento->getQtd6();
$qtd7=$documento->getQtd7();
$qtd8=$documento->getQtd8();
$qtd9=$documento->getQtd9();
$qtd10=$documento->getQtd10();
$documento->setQtd($qtd1+$qtd2+$qtd3+$qtd4+$qtd5+$qtd6+$qtd7+$qtd8+$qtd9+$qtd10);
}
}
if($image2 != null ){
if($image3 == null ){
$response = $clientS3->putObject(array(
'Bucket' => "arquivosdoc",
'Key' => $caminho . $filename1,
'SourceFile' =>$pasta_user.$filename,
'ContentDisposition'=>'inline',
'ContentType'=>'application/pdf',
));
$documento->setAnexo2($filename1);
$documento->setQtd4($num5);
$documento->setUser($user);
$documento->setUpdatedAt(new \DateTime('America/Sao_Paulo'));
$qtd1=$documento->getQtd1();
$qtd2=$documento->getQtd2();
$qtd3=$documento->getQtd3();
$qtd4=$documento->getQtd4();
$qtd5=$documento->getQtd5();
$qtd6=$documento->getQtd6();
$qtd7=$documento->getQtd7();
$qtd8=$documento->getQtd8();
$qtd9=$documento->getQtd9();
$qtd10=$documento->getQtd10();
$documento->setQtd($qtd1+$qtd2+$qtd3+$qtd4+$qtd5+$qtd6+$qtd7+$qtd8+$qtd9+$qtd10);
}
}
if($image3 != null ){
if($image4 == null ){
$response = $clientS3->putObject(array(
'Bucket' => "arquivosdoc",
'Key' => $caminho . $filename1,
'SourceFile' => $pasta_user.$filename,
'ContentDisposition'=>'inline',
'ContentType'=>'application/pdf',
));
$documento->setAnexo3($filename1);
$documento->setQtd5($num5);
$documento->setUser($user);
$documento->setUpdatedAt(new \DateTime('America/Sao_Paulo'));
$qtd1=$documento->getQtd1();
$qtd2=$documento->getQtd2();
$qtd3=$documento->getQtd3();
$qtd4=$documento->getQtd4();
$qtd5=$documento->getQtd5();
$qtd6=$documento->getQtd6();
$qtd7=$documento->getQtd7();
$qtd8=$documento->getQtd8();
$qtd9=$documento->getQtd9();
$qtd10=$documento->getQtd10();
$documento->setQtd($qtd1+$qtd2+$qtd3+$qtd4+$qtd5+$qtd6+$qtd7+$qtd8+$qtd9+$qtd10);
}
}
if($image4 != null ){
if($image5 == null ){
$response = $clientS3->putObject(array(
'Bucket' => "arquivosdoc",
'Key' => $caminho . $filename1,
'SourceFile' =>$pasta_user.$filename,
'ContentDisposition'=>'inline',
'ContentType'=>'application/pdf',
));
$documento->setAnexo4($filename1);
$documento->setQtd6($num5);
$documento->setUser($user);
$documento->setUpdatedAt(new \DateTime('America/Sao_Paulo'));
$qtd1=$documento->getQtd1();
$qtd2=$documento->getQtd2();
$qtd3=$documento->getQtd3();
$qtd4=$documento->getQtd4();
$qtd5=$documento->getQtd5();
$qtd6=$documento->getQtd6();
$qtd7=$documento->getQtd7();
$qtd8=$documento->getQtd8();
$qtd9=$documento->getQtd9();
$qtd10=$documento->getQtd10();
$documento->setQtd($qtd1+$qtd2+$qtd3+$qtd4+$qtd5+$qtd6+$qtd7+$qtd8+$qtd9+$qtd10);
}
}
if($image5 != null ){
if($image6 == null ){
$response = $clientS3->putObject(array(
'Bucket' => "arquivosdoc",
'Key' => $caminho . $filename1,
'SourceFile' =>$pasta_user.$filename,
'ContentDisposition'=>'inline',
'ContentType'=>'application/pdf',
));
$documento->setAnexo5($filename1);
$documento->setQtd7($num5);
$documento->setUser($user);
$documento->setUpdatedAt(new \DateTime('America/Sao_Paulo'));
$qtd1=$documento->getQtd1();
$qtd2=$documento->getQtd2();
$qtd3=$documento->getQtd3();
$qtd4=$documento->getQtd4();
$qtd5=$documento->getQtd5();
$qtd6=$documento->getQtd6();
$qtd7=$documento->getQtd7();
$qtd8=$documento->getQtd8();
$qtd9=$documento->getQtd9();
$qtd10=$documento->getQtd10();
$documento->setQtd($qtd1+$qtd2+$qtd3+$qtd4+$qtd5+$qtd6+$qtd7+$qtd8+$qtd9+$qtd10);
}
}
if($image6 != null ){
if($image7 == null ){
$response = $clientS3->putObject(array(
'Bucket' => "arquivosdoc",
'Key' => $caminho . $filename1,
'SourceFile' => $pasta_user.$filename,
'ContentDisposition'=>'inline',
'ContentType'=>'application/pdf',
));
$documento->setAnexo6($filename1);
$documento->setQtd8($num5);
$documento->setUser($user);
$documento->setUpdatedAt(new \DateTime('America/Sao_Paulo'));
$qtd1=$documento->getQtd1();
$qtd2=$documento->getQtd2();
$qtd3=$documento->getQtd3();
$qtd4=$documento->getQtd4();
$qtd5=$documento->getQtd5();
$qtd6=$documento->getQtd6();
$qtd7=$documento->getQtd7();
$qtd8=$documento->getQtd8();
$qtd9=$documento->getQtd9();
$qtd10=$documento->getQtd10();
$documento->setQtd($qtd1+$qtd2+$qtd3+$qtd4+$qtd5+$qtd6+$qtd7+$qtd8+$qtd9+$qtd10);
}
}
if($image7 != null ){
if($image8 == null ){
$response = $clientS3->putObject(array(
'Bucket' => "arquivosdoc",
'Key' => $caminho . $filename1,
'SourceFile' => $pasta_user.$filename,
'ContentDisposition'=>'inline',
'ContentType'=>'application/pdf',
));
$documento->setAnexo7($filename1);
$documento->setQtd9($num5);
$documento->setUser($user);
$documento->setUpdatedAt(new \DateTime('America/Sao_Paulo'));
$qtd1=$documento->getQtd1();
$qtd2=$documento->getQtd2();
$qtd3=$documento->getQtd3();
$qtd4=$documento->getQtd4();
$qtd5=$documento->getQtd5();
$qtd6=$documento->getQtd6();
$qtd7=$documento->getQtd7();
$qtd8=$documento->getQtd8();
$qtd9=$documento->getQtd9();
$qtd10=$documento->getQtd10();
$documento->setQtd($qtd1+$qtd2+$qtd3+$qtd4+$qtd5+$qtd6+$qtd7+$qtd8+$qtd9+$qtd10);
}
}
if($image8 != null ){
if($image9 == null ){
$response = $clientS3->putObject(array(
'Bucket' => "arquivosdoc",
'Key' => $caminho . $filename1,
'SourceFile' => $pasta_user.$filename,
'ContentDisposition'=>'inline',
'ContentType'=>'application/pdf',
));
$documento->setAnexo8($filename1);
$documento->setQtd10($num5);
$documento->setUser($user);
$documento->setUpdatedAt(new \DateTime('America/Sao_Paulo'));
$qtd1=$documento->getQtd1();
$qtd2=$documento->getQtd2();
$qtd3=$documento->getQtd3();
$qtd4=$documento->getQtd4();
$qtd5=$documento->getQtd5();
$qtd6=$documento->getQtd6();
$qtd7=$documento->getQtd7();
$qtd8=$documento->getQtd8();
$qtd9=$documento->getQtd9();
$qtd10=$documento->getQtd10();
$documento->setQtd($qtd1+$qtd2+$qtd3+$qtd4+$qtd5+$qtd6+$qtd7+$qtd8+$qtd9+$qtd10);
}
}
if($image9 != null ){
$response = $clientS3->putObject(array(
'Bucket' => "arquivosdoc",
'Key' => $caminho . $filename1,
'SourceFile' => $pasta_user.$filename,
'ContentDisposition'=>'inline',
'ContentType'=>'application/pdf',
));
echo '<script>alert("Todos os anexos cheios , anexos 10 foi substituido!")</script>';
$documento->setAnexo8($filename1);
$documento->setQtd10($num5);
$documento->setUser($user);
$documento->setUpdatedAt(new \DateTime('America/Sao_Paulo'));
$qtd1=$documento->getQtd1();
$qtd2=$documento->getQtd2();
$qtd3=$documento->getQtd3();
$qtd4=$documento->getQtd4();
$qtd5=$documento->getQtd5();
$qtd6=$documento->getQtd6();
$qtd7=$documento->getQtd7();
$qtd8=$documento->getQtd8();
$qtd9=$documento->getQtd9();
$qtd10=$documento->getQtd10();
$documento->setQtd($qtd1+$qtd2+$qtd3+$qtd4+$qtd5+$qtd6+$qtd7+$qtd8+$qtd9+$qtd10);
}
}
else
array_push($noFound, $nome);
}
$entityManager->flush();
if($noFound != null){
if($pdfnaoassinados != null){
echo '<script>alert("A assinatura de '.implode(", ", $pdfnaoassinados).' * infelizmeente não foi possivel validar porque a versão do pdf se encontra acima da versão 1.4, que não é permitida pelo nosso assinador até momento.")</script>';}
echo '<script>alert("Importação não Concluída! '
. implode(", ", $noFound). ' não encontrado(s). '.'")</script>';
}else{
if($pdfnaoassinados != null){
echo '<script>alert("A assinatura de '.implode(", ", $pdfnaoassinados).' * infelizmeente não foi possivel validar porque a versão do pdf se encontra acima da versão 1.4, que não é permitida pelo nosso assinador até momento.")</script>';}
echo '<script>alert("Importação Concluída.")</script>';
}
}
}
$mascara= $pasta_user."*.pdf";
array_map( "unlink", glob( $mascara) );
if (file_exists($usersss)) {
rmdir($usersss);
}
return $this->render('cadastro/index.html.twig', array(
'form' => $form->createView(),
));
}
/**
* @Route("/Cadastro/{setor}/{usuario}", name="app_cadastro_pmcj")
*/
public function indexpmcj(ManagerRegistry $doctrine,EntityManagerInterface $entityManager,$setor,$usuario,Request $request): Response
{
$dotenv = new Dotenv();
$dotenv->load(__DIR__.'/.env');
$clientS3 = new S3Client([
'region' => 'sa-east-1',
'version' => 'latest',
'credentials' => [
'key' =>$_ENV["AWS_KEY"],
'secret' => $_ENV["AWS_SECRET"],
]
]);
$erro ='';
$p='';
$user = $doctrine->getRepository(User::class)->find($usuario);
$user_nome = $user->getNome();
$usersss_id = $user->getId();
$pasta_user=$user_nome.'/';
$classifica = $doctrine->getRepository(Classificacao::class)->findBy(['cliente' => $setor]);
$tips = $doctrine->getRepository(Tipo::class)->findBy(['cliente' => $setor]);
$clientearr = $doctrine->getRepository(Cliente::class)->find($setor);
$caixass = $clientearr->getCaixas();
$clie_nome = $clientearr->getNome();
$clie_id = $clientearr->getId();
$categoria = $doctrine->getRepository(Categoria::class)->findAll();
$arr = [];
$arrr=0;
$qtd = [];
$image= [];
if(isset($_POST["botao"]))
{
$nome = $_POST["nome"];
$assunto = $_POST["assunto"];
$caixas = $_POST["caixas"];
$tipos = $_POST["tipos"];
$dateD = $_POST["dateD"];
$dateV = $_POST["dateV"];
$text_ = $_POST["text"];
$desc_ = $_POST["desc"];
if($clie_id == 14){$caminho='cartorio-1deg-oficio-de-volta-redonda-rj/';}
if($clie_id == 83){$caminho='casf-corretora-apolice-diversos/';}
if($clie_id == 35){$caminho='pmecj-sp-saude/';}
if($clie_id == 107){$caminho='pmecj-sp-execucao-fiscal/';}
if($clie_id == 4){$caminho='cartorio-souza-reis-barra-mansa/';}
if($clie_id == 112){$caminho='saae-cartao-de-ponto/';}
if($clie_id == 15){$caminho='cbsi-dossies/';}
if($clie_id == 118){$caminho='camara-municipal-de-angra-dos-reis/';}
$text = preg_replace( "/\r|\n/", " ", $text_);
$desc = preg_replace( "/\r|\n/", " ", $desc_ );
$textr='';
$dateDr='';
$dateVr='';
$cliente = $doctrine->getRepository(Cliente::class)->find($setor);
$user = $doctrine->getRepository(User::class)->find($usuario);
if ($caixas != null){
$caixa = $doctrine->getRepository(Caixa::class)->find($caixas);
$nome_caixa= $caixa->getNome();
}
$class = $doctrine->getRepository(Classificacao::class)->find(1);
$cates = $doctrine->getRepository(Categoria::class)->find(1);
$tipo = $doctrine->getRepository(Tipo::class)->find($tipos);
$registro = new Documento();
$registro->setNome($nome);
$registro->setAssunto($assunto);
$registro->setCliente($cliente);
$registro->setUser($user);
if ($caixas != null){
$registro->setCaixa($caixa);
}
$registro->setClassificacao($class);
$registro->setCategoria($cates);
$registro->setTipo($tipo);
$registro->setUser($user);
$registro->setKeywords($text);
$registro->setExtraFields($desc);
// PDF
$files = $_FILES['file']['tmp_name'];
$umlautString = $clie_nome;
$slugger = new AsciiSlugger();
$teste=$slugger->slug($umlautString, $seperator = '-')->toString();
$caminho = strtolower ($teste.'/');
if (file_exists($user_nome)) {
}
else{
mkdir($pasta_user, 0777, true);
}
$total_count = is_countable( $files ) ? count( $files ) : 0;
for( $i=0 ; $i < $total_count ; $i++ ) {
$tmpFilePath = $_FILES['file']['tmp_name'][$i];
$nomes = $i . '.pdf';
move_uploaded_file($tmpFilePath,$pasta_user.$nomes);
$arr[] = $nomes;
}
foreach ($files as $file) {
$uuid = Uuid::v4();
$filename= $uuid.'.pdf';
$imagick = new \Imagick();
$imagick->pingImage($pasta_user.$arr[$arrr]);
$num5= $imagick->getNumberImages();
$doc=$arr[$arrr];
$arrr++;
$cert = 'certicadoVR.crt';
//Informações da assinatura - Preencha com os seus dados
$info = array(
'Name' => 'ARQUIVOS ORGANIZACÃO E GESTÃO DOCUMENTAL',
'Location' => 'VOLTA REDONDA',
'Reason' => '26157471000100',
'ContactInfo' => 'www.arquivosdoc.com.br',
);
$pdf = new Fpdi();
$pdf->SetAutoPageBreak(TRUE, -3);
$numPages = $pdf->setSourceFile($pasta_user.$doc);
for ($i=1; $i <= $numPages; $i++) {
$tplId = $pdf->importPage($i);
$s = $pdf->getTemplatesize($tplId);
$pdf->AddPage($s['orientation'], $s);
$pdf->useTemplate($tplId);
}
$pdf->setSignatureAppearance(160, 238, 40 ,40);
$pdf->setSignature('file://'.$cert, 'file://'.realpath($cert), '123456','', 2, $info);
if ($s['orientation'] == 'P') {
$pdf->Image('/home/wwarqu/gedupload/public/img/removebg2.png',70, 230, 40 ,40 ,'PNG','https://verificador.staging.iti.br');
}
if ($s['orientation'] == 'L') {
$pdf->Image('/home/wwarqu/gedupload/public/img/removebg2.png',70, 165, 40 ,40 ,'PNG','https://verificador.staging.iti.br');
}
$pdf->Output('/home/wwarqu/gedupload/public/'.$pasta_user.$filename, 'F');
$response = $clientS3->putObject(array(
'Bucket' => "arquivosdoc",
'Key' => $caminho . $filename,
'SourceFile' => $pasta_user.$filename,
'ContentDisposition'=>'inline',
'ContentType'=>'application/pdf'
));
$qtd[] = $num5;
$image[] = $filename;
}
if (isset($image[0])) {$registro->setImage($image[0]);}
if (isset($image[1])) {$registro->setAnexo($image[1]);}
if (isset($image[2])) {$registro->setAnexo1($image[2]);}
if (isset($image[3])) {$registro->setAnexo2($image[3]);}
if (isset($image[4])) {$registro->setAnexo3($image[4]);}
if (isset($image[5])) {$registro->setAnexo4($image[5]);}
if (isset($image[6])) {$registro->setAnexo5($image[6]);}
if (isset($image[7])) {$registro->setAnexo6($image[7]);}
if (isset($image[8])) {$registro->setAnexo7($image[8]);}
if (isset($image[9])) {$registro->setAnexo8($image[9]);}
if (isset($qtd[0])) {$registro->setQtd1($qtd[0]);}
if (isset($qtd[1])) {$registro->setQtd2($qtd[1]);}
if (isset($qtd[2])) {$registro->setQtd3($qtd[2]);}
if (isset($qtd[3])) {$registro->setQtd4($qtd[3]);}
if (isset($qtd[4])) {$registro->setQtd5($qtd[4]);}
if (isset($qtd[5])) {$registro->setQtd6($qtd[5]);}
if (isset($qtd[6])) {$registro->setQtd7($qtd[6]);}
if (isset($qtd[7])) {$registro->setQtd8($qtd[7]);}
if (isset($qtd[8])) {$registro->setQtd9($qtd[8]);}
if (isset($qtd[9])) {$registro->setQtd10($qtd[9]);}
$registro->setQtd(array_sum($qtd));
if ($dateD != '') {
$registro->setDataDocumento(new \DateTime($dateD));
$dateDr=$dateD;
}
if ($dateV != '') {
$registro->setVencimentoDocumento(new \DateTime ($dateV));
$dateVr=$dateV;
}
$registro->setExtraFields($desc);
$entityManager->persist($registro);
$entityManager->flush();
$registros = new Registro();
$registros->setOperacao('Documento feito pelo formulario com Assinador');
$registros->setData(new \DateTime('America/Sao_Paulo'));
$registros->setCliente($cliente);
$registros->setUser($user);
$entityManager->persist($registros);
$entityManager->flush();
#$erro = 'ok';
#$p=$nome_caixa.' cadastrada com sucesso';
echo '<script>alert("Cadastrado Concluído!")</script>';
return $this->render('cadastro/indexpmcj.html.twig', array(
'user'=>$user,
'caixass' => $caixass,
'classifica' => $classifica ,
'tips' => $tips,
'categoria'=>$categoria,
'erro'=>$erro ,
'p'=>$p,
'setor'=>$setor,
'usuario'=>$usuario
));
}
return $this->render('cadastro/indexpmcj.html.twig', array(
'user'=>$user,
'caixass' => $caixass,
'classifica' => $classifica ,
'tips' => $tips,
'categoria'=>$categoria,
'erro'=>$erro ,
'p'=>$p,
'setor'=>$setor,
'usuario'=>$usuario
));
}
/**
* @Route("/assinador", name="assinador")
*/
public function assinador(Request $request,ManagerRegistry $doctrine, EntityManagerInterface $entityManager): Response
{
$uuid = Uuid::v4();
$dt_hj = new \DateTimeImmutable('America/Sao_Paulo');
$dt_hj_formt = $dt_hj->format('d-m-Y h.i.s');
$motivo = '';
$error = '';
$pasta_user= $uuid.'/';
$arr = [];
$arrr=0;
$r=0;
$filesNames = 'Assinados_'.$dt_hj_formt.'.zip';
$path = $pasta_user ;
$fullPath = $path.$filesNames;
if(isset($_FILES['file'])){
$files = $_FILES['file']['name'];
mkdir($pasta_user, 0777, true);
$total_count = is_countable( $files ) ? count( $files ) : 0;
for( $i=0 ; $i < $total_count ; $i++ ) {
$tmpFilePath = $_FILES['file']['tmp_name'][$i];
$nomes = $_FILES['file']['name'][$i];
move_uploaded_file($tmpFilePath,$pasta_user.$nomes);
$arr[] = $nomes;
}
foreach ($files as $file) {
$r = $r + 1 ;
$filename = $file;
$doc=$arr[$arrr];
$cert = 'certicadoVR.crt';
$info = array(
'Name' => 'ARQUIVOS ORGANIZACÃO E GESTÃO DOCUMENTAL',
'Location' => 'VOLTA REDONDA',
'Reason' => '26157471000100',
'ContactInfo' => 'www.arquivosdoc.com.br',
);
$pdf = new Fpdi();
$pdf->SetAutoPageBreak(TRUE, -3);
$numPages = $pdf->setSourceFile($pasta_user.$doc);
$arrr++;
for ($i=1; $i <= $numPages; $i++) {
$tplId = $pdf->importPage($i);
$s = $pdf->getTemplatesize($tplId);
$pdf->AddPage($s['orientation'], $s);
$pdf->useTemplate($tplId);
}
$pdf->setSignatureAppearance(160, 238, 40 ,40);
$pdf->setSignature('file://'.$cert, 'file://'.realpath($cert), '123456','', 2, $info);
if ($s['orientation'] == 'P') {
$pdf->Image('/home/wwarqu/gedupload/public/img/removebg2.png',70, 230, 40 ,40 ,'PNG','https://verificador.staging.iti.br');
}
if ($s['orientation'] == 'L') {
$pdf->Image('/home/wwarqu/gedupload/public/img/removebg2.png',70, 165, 40 ,40 ,'PNG','https://verificador.staging.iti.br');
}
$pdf->Output('/home/wwarqu/gedupload/public/'.$pasta_user.$filename, 'F');
}
$scanDir = scandir($path);
array_shift($scanDir);
array_shift($scanDir);
$zip = new \ZipArchive();
if ($zip->open($fullPath, \ZipArchive::CREATE) ) {
foreach($scanDir as $file){
$zip->addFile($path.'/'.$file, $file);
}
$zip->close();
}
$mascara= $path."*.pdf";
array_map( "unlink", glob($mascara) );
$motivo = 'ATRASO';
if ($r == 1 ) {
$error = $r.' Arquivo foi assinado com sucesso!';
}
if ($r > 1 ) {
$error = $r.' Arquivos foi assinados com sucesso!';
}
}
if(isset($_POST['baixar'])){
$response = new BinaryFileResponse($_POST['baixar']);
$response->setContentDisposition(
ResponseHeaderBag::DISPOSITION_ATTACHMENT,
$filesNames
);
return $response;
}
if(isset($_POST['novo'])){
unlink($_POST['novo']);
if (file_exists($_POST['path'])) {
rmdir($_POST['path']);
}
return $this->redirectToRoute('assinador');
}
return $this->render('cadastro/assinador.html.twig',array(
'motivo'=>$motivo,
'error'=> $error,
'fullPath' => $fullPath,
'path' => $path
));
}
}