Skip to content

Commit aafc581

Browse files
committed
New static method generateServiceCardQr in Utils class
Change card template for new parameters specification
1 parent 746a372 commit aafc581

File tree

3 files changed

+117
-91
lines changed

3 files changed

+117
-91
lines changed

mail/layouts/card.php

+11-9
Original file line numberDiff line numberDiff line change
@@ -56,42 +56,44 @@
5656
<tbody>
5757
<tr>
5858
<td class="title" > EMP. TRANSPORTE </td>
59-
<td class="data" > <?php echo utf8_encode($trans_company["name"]) ?> </td>
59+
<td class="data" > <?php echo utf8_encode($ticket["transCompanyName"]) ?> </td>
6060
<td class="title">TICKET NO.</td>
6161
<td class="data" > <?php echo "TI-" . $date . "-".$ticket["id"] ?></td>
6262
</tr>
6363

6464
<tr>
6565
<td class="title" >OPERACIÓN</td>
66-
<td class="data" > <?php echo $ticket["type"] ==Process::PROCESS_IMPORT ? "IMPORTACIÓN":"EXPORTACIÓN" ?></td>
66+
<td class="data" > <?php echo $ticket["processType"] ==Process::PROCESS_IMPORT ? "IMPORTACIÓN":"EXPORTACIÓN" ?></td>
6767
<td class="title" >DEPÓSITO</td>
68-
<td class="data" > <?php echo $ticket["w_name"] ?></td>
68+
<td class="data" > <?php echo $ticket["warehouseName"] ?></td>
6969
</tr>
7070

7171
<tr>
7272
<td class="title" >ECAS</td>
73-
<td class="data" ><?php echo (new \yii\i18n\Formatter())->asDate($ticket["delivery_date"], 'dd/M/yyyy') ?></td>
73+
<td class="data" ><?php echo (new \yii\i18n\Formatter())->asDate($ticket["deliveryDate"], 'dd/M/yyyy') ?></td>
7474
<td class="title" >CLIENTE</td>
75-
<td class="data" ><?php echo utf8_encode($ticket["a_name"] )?></td>
75+
<td class="data" ><?php echo utf8_encode($ticket["agencyName"] )?></td>
7676
</tr>
7777

7878
<tr>
7979
<td class="title" >CHOFER</td>
80-
<td class="data" ><?php echo utf8_encode($ticket["name_driver"]) . "/" .$ticket["register_driver"]?></td>
80+
<td class="data" ><?php echo utf8_encode($ticket["nameDriver"]) . "/" .$ticket["registerDriver"]?></td>
8181
<td class="title" >PLACA</td>
82-
<td class="data" > <?php echo $ticket["register_truck"] ?></td>
82+
<td class="data" > <?php echo $ticket["registerTruck"] ?></td>
8383
</tr>
8484

8585
<tr>
8686
<td class="title" >FECHA TURNO</td>
87-
<td class="data" > <?php echo $ticket["start_datetime"] ?></td>
87+
<td class="data" > <?php echo $ticket["startDatetime"] ?></td>
8888
<td class="title" >CANTIDAD</td>
8989
<td class="data" >1</td>
9090
</tr>
9191

9292
<tr>
93-
<td class="title" ><?php echo $ticket["type"] ==Process::PROCESS_IMPORT ? "BL":"BOOKING" ?></td>
93+
<td class="title" ><?php echo $ticket["processType"] == Process::PROCESS_IMPORT ? "BL":"BOOKING" ?></td>
9494
<td class="data" ><?php echo $ticket["bl"] ?></td>
95+
<td class="title" >CONTENEDOR</td>
96+
<td class="data" > <?php echo $ticket["name"]?> </td>
9597
<td class="title" >TIPO CONT</td>
9698
<td class="data" > <?php echo $ticket["tonnage"] .$ticket["code"] ?> </td>
9799
</tr>

modules/rd/controllers/ProcessController.php

+36-82
Original file line numberDiff line numberDiff line change
@@ -572,23 +572,22 @@ public function actionGeneratingcard()
572572
try
573573
{
574574
$tickes = ProcessTransaction::find()
575-
->select("process_transaction.register_truck,
576-
process_transaction.register_driver,
577-
process_transaction.name_driver,
578-
process.type,
575+
->select("process_transaction.register_truck as registerTruck,
576+
process_transaction.register_driver as registerDriver,
577+
process_transaction.name_driver as nameDriver,
578+
process.type as processType,
579579
process.bl,
580-
process.delivery_date,
580+
process.delivery_date as deliveryDate,
581581
container.code,
582582
container.tonnage,
583-
trans_company.name,
584-
trans_company.ruc,
583+
container.name,
584+
trans_company.name as transCompanyName,
585585
ticket.id,
586586
ticket.status,
587-
ticket.created_at,
588-
calendar.start_datetime,
589-
calendar.end_datetime,
590-
warehouse.name as w_name,
591-
agency.name as a_name")
587+
ticket.created_at as createdAt,
588+
calendar.start_datetime as startDatetime,
589+
warehouse.name as warehouseName,
590+
agency.name as agencyName")
592591
->innerJoin("process", "process_transaction.process_id = process.id ")
593592
->innerJoin("container", "container.id = process_transaction.container_id")
594593
->innerJoin("trans_company", "trans_company.id = process_transaction.trans_company_id")
@@ -608,39 +607,16 @@ public function actionGeneratingcard()
608607

609608
foreach ($tickes as $ticket)
610609
{
611-
$aux = new DateTime($ticket["start_datetime"]);
610+
$aux = new DateTime($ticket["startDatetime"]);
612611
$date = $aux->format("YmdHi");
613-
$ticket["start_datetime"] = $aux->format("d-m-Y H:i");
614-
$dateImp = new DateTime($ticket["created_at"]);
612+
$ticket["startDatetime"] = $aux->format("d-m-Y H:i");
613+
$dateImp = new DateTime($ticket["createdAt"]);
615614
$dateImp = $dateImp->format('d-m-Y H:i');
616615

617-
$info = "";
618-
$info .= "EMP. TRANSPORTE: " . $transCompany->name . ' ';
619-
$info .= "TICKET NO: TI-" . $date . "-" . $ticket["id"] . ' ';
620-
$info .= "OPERACIÓN: " . $ticket["type"] == Process::PROCESS_IMPORT ? "IMPORTACIÓN":"EXPORTACIÓN" . ' ';
621-
$info .= "DEPÓSITO: " . $ticket["w_name"] . ' ';
622-
$info .= "ECAS: " . $ticket["delivery_date"] . ' ';
623-
$info .= "CLIENTE: " . $ticket["a_name"] . ' ';
624-
$info .= "CHOFER: " . $ticket["name_driver"] . "/" . $ticket["register_driver"] . ' ';
625-
$info .= "PLACA: " . $ticket["register_truck"] . ' ';
626-
$info .= "FECHA TURNO: " . $ticket["start_datetime"] . ' ';
627-
$info .= "CANTIDAD: 1" . ' ';
628-
$info .= ($ticket["type"] == Process::PROCESS_IMPORT ? "BL":"BOOKING") . ": ". $ticket["bl"] . ' ';
629-
$info .= "TIPO CONT: " . $ticket["tonnage"] . $ticket["code"] . ' ';
630-
$info .= "GENERADO: " . $dateImp . ' ';
631-
$info .= "ESTADO: " . $ticket["status"] == 1 ? "EMITIDO" : "---";
632-
633-
$qrCode = new QrCode($info);
634-
635-
ob_start();
636-
\QRcode::png($info, null);
637-
$imageString = base64_encode(ob_get_contents());
638-
ob_end_clean();
639-
616+
$imageString = Utils::generateServiceCardQr($ticket);
640617

641618
$bodypdf = $this->renderPartial('@app/mail/layouts/card.php',
642-
["trans_company" => $transCompany,
643-
"ticket" => $ticket,
619+
["ticket" => $ticket,
644620
"qr" => "data:image/png;base64, " . $imageString,
645621
'dateImp' => $dateImp,
646622
'date'=>$date]);
@@ -1286,23 +1262,22 @@ protected function createProcessFiveSteps($model, $data)
12861262
$tickets[]=$ticket;
12871263

12881264
$cardServiceData = [
1289-
'register_truck'=>$container['registerTruck'],
1290-
'register_driver'=>$container['registerDriver'],
1291-
'name_driver'=>$container['nameDriver'],
1292-
'type'=>$model->type,
1265+
'registerTruck'=>$container['registerTruck'],
1266+
'registerDriver'=>$container['registerDriver'],
1267+
'nameDriver'=>$container['nameDriver'],
1268+
'processType'=>$model->type,
12931269
'bl'=>$model->bl,
1294-
'delivery_date'=>$model->delivery_date,
1270+
'deliveryDate'=>$model->delivery_date,
12951271
'code'=>$processTransModel->container->code,
12961272
'tonnage'=>$processTransModel->container->tonnage,
1297-
'name'=>$processTransModel->transCompany->name,
1298-
'ruc'=>$processTransModel->transCompany->ruc,
1273+
'name'=>$processTransModel->container->name,
1274+
'transCompanyName'=>$processTransModel->transCompany->name,
12991275
'id'=>$ticket->id,
13001276
'status'=>$ticket->status,
1301-
'created_at'=>$ticket->created_at,
1302-
'start_datetime'=>$calendarSlot->start_datetime,
1303-
'end_datetime'=>$calendarSlot->end_datetime,
1304-
'w_name'=>$calendarSlot->warehouse->name,
1305-
'a_name'=>$model->agency->name,
1277+
'createdAt'=>$ticket->created_at,
1278+
'startDatetime'=>$calendarSlot->start_datetime,
1279+
'warehouseName'=>$calendarSlot->warehouse->name,
1280+
'agencyName'=>$model->agency->name,
13061281
];
13071282

13081283
if(isset($ticketByTransCompany[$transCompany->id]))
@@ -1367,40 +1342,19 @@ protected function createProcessFiveSteps($model, $data)
13671342
{
13681343
if($ticket !== null)
13691344
{
1370-
$aux = new DateTime( $ticket["start_datetime"] );
1345+
$imageString = Utils::generateServiceCardQr($ticket);
1346+
1347+
$aux = new DateTime( $serviceCardData["startDatetime"] );
13711348
$date = $aux->format("YmdHi");
1372-
$ticket["start_datetime"] = $aux->format("d-m-Y H:i");
1373-
$dateImp = new DateTime($ticket["created_at"]);
1349+
$serviceCardData["startDatetime"] = $aux->format("d-m-Y H:i");
1350+
$dateImp = new DateTime($serviceCardData["createdAt"]);
13741351
$dateImp = $dateImp->format('d-m-Y H:i');
13751352

1376-
$info .= "EMP. TRANSPORTE: " . $ticket["name"] . ' ';
1377-
$info .= "TICKET NO: TI-" . $date . "-" . $ticket["id"] . ' ';
1378-
$info .= "OPERACIÓN: " . $ticket["type"] == Process::PROCESS_IMPORT ? "IMPORTACIÓN":"EXPORTACIÓN" . ' ';
1379-
$info .= "DEPÓSITO: " . $ticket["w_name"] . ' ';
1380-
$info .= "ECAS: " . $ticket["delivery_date"] . ' ';
1381-
$info .= "CLIENTE: " . $ticket["a_name"] . ' ';
1382-
$info .= "CHOFER: " . $ticket["name_driver"] . "/" . $ticket["register_driver"] . ' ';
1383-
$info .= "PLACA: " . $ticket["register_truck"] . ' ';
1384-
$info .= "FECHA TURNO: " . $ticket["start_datetime"] . ' ';
1385-
$info .= "CANTIDAD: 1" . ' ';
1386-
$info .= ($ticket["type"] == Process::PROCESS_IMPORT ? "BL":"BOOKING") . ": ". $ticket["bl"] . ' ';
1387-
$info .= "TIPO CONT: " . $ticket["tonnage"] . $ticket["code"] . ' ';
1388-
$info .= "GENERADO: " . $dateImp . ' ';
1389-
$info .= "ESTADO: " . $ticket["status"] == 1 ? "EMITIDO" : "---";
1390-
1391-
$qrCode = new QrCode($info);
1392-
1393-
ob_start();
1394-
\QRcode::png($info,null);
1395-
$imageString = base64_encode(ob_get_contents());
1396-
ob_end_clean();
1397-
13981353
$bodypdf = $this->renderPartial('@app/mail/layouts/card.php',
1399-
['trans_company'=> $trans_company,
1400-
'ticket'=>$ticket,
1401-
'qr'=>"data:image/png;base64, ".$imageString,
1402-
'dateImp'=>$dateImp,
1403-
'date'=>$date]);
1354+
['ticket'=>$ticket,
1355+
'qr'=>"data:image/png;base64, ".$imageString,
1356+
'dateImp'=>$dateImp,
1357+
'date'=>$date]);
14041358

14051359
$pdf->AddPage();
14061360
$pdf->WriteHTML($bodypdf);

tools/Utils.php

+70
Original file line numberDiff line numberDiff line change
@@ -9,8 +9,13 @@
99

1010
namespace app\tools;
1111

12+
use DateTime;
13+
use DateTimeZone;
14+
use app\modules\rd\models\Process;
1215
use app\modules\rd\models\ProcessTransaction;
1316
use app\modules\rd\models\Ticket;
17+
use Da\QrCode\QrCode;
18+
use Yii;
1419

1520

1621
class Utils
@@ -24,6 +29,7 @@ class Utils
2429
* bolean success
2530
* string msg
2631
* string msg_dev
32+
* This function update the acc_id for tickets
2733
*/
2834
static function notifyNewTickets($processType,
2935
$bl,
@@ -109,6 +115,11 @@ static function notifyNewTickets($processType,
109115
return $response;
110116
}
111117

118+
/**
119+
* @param $tickets
120+
* @param $user
121+
* @return array
122+
*/
112123
static function notifyDeletedTickets($tickets, $user)
113124
{
114125

@@ -150,4 +161,63 @@ static function notifyDeletedTickets($tickets, $user)
150161

151162
return $response;
152163
}
164+
165+
/**
166+
* @param $serviceCardData
167+
*/
168+
static function generateServiceCardQr($serviceCardData)
169+
{
170+
$imageString = '';
171+
172+
if(isset($serviceCardData['startDatetime']) &&
173+
isset($serviceCardData['createdAt']) &&
174+
isset($serviceCardData['transCompanyName']) &&
175+
isset($serviceCardData['id']) &&
176+
isset($serviceCardData['processType']) &&
177+
isset($serviceCardData['warehouseName']) &&
178+
isset($serviceCardData['deliveryDate']) &&
179+
isset($serviceCardData['agencyName']) &&
180+
isset($serviceCardData['nameDriver']) &&
181+
isset($serviceCardData['registerDriver']) &&
182+
isset($serviceCardData['registerTruck']) &&
183+
isset($serviceCardData['tonnage']) &&
184+
isset($serviceCardData['code']) &&
185+
isset($serviceCardData['name']) &&
186+
isset($serviceCardData['status']) &&
187+
isset($serviceCardData['bl']))
188+
{
189+
$aux = new DateTime( $serviceCardData["startDatetime"] );
190+
$date = $aux->format("YmdHi");
191+
$serviceCardData["startDatetime"] = $aux->format("d-m-Y H:i");
192+
$dateImp = new DateTime($serviceCardData["createdAt"]);
193+
$dateImp = $dateImp->format('d-m-Y H:i');
194+
195+
$info = '';
196+
$info .= "EMP. TRANSPORTE: " . $serviceCardData["transCompanyName"] . ' ';
197+
$info .= "TICKET NO: TI-" . $date . "-" . $serviceCardData["id"] . ' ';
198+
$info .= "OPERACIÓN: " . $serviceCardData["processType"] == Process::PROCESS_IMPORT ? "IMPORTACIÓN":"EXPORTACIÓN" . ' ';
199+
$info .= "DEPÓSITO: " . $serviceCardData["warehouseName"] . ' ';
200+
$info .= "ECAS: " . $serviceCardData["deliveryDate"] . ' ';
201+
$info .= "CLIENTE: " . $serviceCardData["agencyName"] . ' ';
202+
$info .= "CHOFER: " . $serviceCardData["nameDriver"] . "/" . $serviceCardData["registerDriver"] . ' ';
203+
$info .= "PLACA: " . $serviceCardData["registerTruck"] . ' ';
204+
$info .= "FECHA TURNO: " . $serviceCardData["startDatetime"] . ' ';
205+
$info .= "CANTIDAD: 1" . ' ';
206+
$info .= ($serviceCardData["processType"] == Process::PROCESS_IMPORT ? "BL":"BOOKING") . ": ". $serviceCardData["bl"] . ' ';
207+
$info .= "CONT: " . $serviceCardData["name"];
208+
$info .= "TIPO CONT: " . $serviceCardData["tonnage"] . $serviceCardData["code"] . ' ';
209+
$info .= "GENERADO: " . $dateImp . ' ';
210+
$info .= "ESTADO: " . $serviceCardData["status"] == 1 ? "EMITIDO" : "---";
211+
212+
$qrCode = new QrCode($info);
213+
214+
ob_start();
215+
\QRcode::png($info,null);
216+
$imageString = base64_encode(ob_get_contents());
217+
ob_end_clean();
218+
}
219+
220+
return $imageString;
221+
}
222+
153223
}

0 commit comments

Comments
 (0)