From 3c1cdd664e5c12e9fd524bf678cf4701fb3a02be Mon Sep 17 00:00:00 2001 From: Etienne Pallier Date: Mon, 23 Nov 2020 15:35:07 +0100 Subject: [PATCH] Adaptation format etiquette au nouveau logiciel Dymo DCD pour Windows 10 --- CHANGES.txt | 7 +++++++ README.md | 4 ++-- src/Controller/MaterielsController.php | 366 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++----------- src/Template/Configurations/edit.ctp | 2 +- webroot/doc/diagrams/Materiel_status_state_diagram_v5_2021_01.png | Bin 220109 -> 0 bytes 5 files changed, 365 insertions(+), 14 deletions(-) diff --git a/CHANGES.txt b/CHANGES.txt index 426f812..e52a9e1 100644 --- a/CHANGES.txt +++ b/CHANGES.txt @@ -134,6 +134,13 @@ Outre ces changements, voici d'autres changements importants : ======= CHANGES ======= - (b) Bugfix (2eme) remplacement d'un fournisseur par un autre + +------- +23/11/2020 v4.107.7-3.7.9 + - (i) Adaptation format etiquette au nouveau logiciel Dymo DCD pour Windows 10 + (PLUS RIEN À VOIR avec ancien format du logiciel DLS, pourtant toujours utilisé sur Mac !!!) + => choisir etiquette format numéro 5 dans la config + ------- 19/11/2020 v4.107.6-3.7.9 - (e) materiels/edit : supprimé champ "Technique (pas pour l'inventaire officiel)" diff --git a/README.md b/README.md index b666709..6bcb7e6 100644 --- a/README.md +++ b/README.md @@ -52,8 +52,8 @@ Logiciel testé et validé sur les configurations suivantes : -------------------------------------------------------------------------------------------- -Date: 19/11/2020 -Version: 4.107.6-3.7.9 +Date: 23/11/2020 +Version: 4.107.7-3.7.9 HISTORIQUE DES CHANGEMENTS DE VERSION : voir le fichier CHANGES.txt (ou la page web /pages/changes) diff --git a/src/Controller/MaterielsController.php b/src/Controller/MaterielsController.php index 613b7ff..460fec3 100755 --- a/src/Controller/MaterielsController.php +++ b/src/Controller/MaterielsController.php @@ -4057,7 +4057,7 @@ class MaterielsController extends AppController { //debug($etiquetteFormatFunction); exit; // etiquette_format1 //$xml_content = $this->$etiquetteFormatFunction($numeroLab, $organisme, $dateAcquisition, $numeroInventaireOrganisme); - $xml_content = $this->$etiquetteFormatFunction($numeroLab, $organisme, $dateAcquisition, $numeroInventaireOrganisme); + $xml_content = $this->$etiquetteFormatFunction($id, $numeroLab, $organisme, $dateAcquisition, $numeroInventaireOrganisme); /* $response = $this->response; @@ -4179,7 +4179,7 @@ class MaterielsController extends AppController { * Format IRAP */ //private function _getLabelRuban($numeroLab, $organisme, $dateAcquisition, $numeroInventaireOrganisme) { return - private function etiquette_format1($numeroLab, $organisme, $dateAcquisition, $numeroInventaireOrganisme) { + private function etiquette_format1($id, $numeroLab, $organisme, $dateAcquisition, $numeroInventaireOrganisme) { // Texte à imprimer (colonne de gauche) $nb_text_lines = 2; @@ -4206,7 +4206,7 @@ class MaterielsController extends AppController { $length_mode = 'Fixed'; $cell2_length = '863.9999'; - return $this->etiquette_formatX( + return $this->etiquette_dls_formatX( $numeroLab, $organisme, $dateAcquisition, $numeroInventaireOrganisme, $nb_text_lines, $img_logo, $tape_size, @@ -4312,7 +4312,7 @@ class MaterielsController extends AppController { * LABEL FOR PRINTER Dymo LabelManager PCII : 2 lines WITH QrCode * Format CRAL */ - private function etiquette_format2($numeroLab, $organisme, $dateAcquisition, $numeroInventaireOrganisme) { + private function etiquette_format2($id, $numeroLab, $organisme, $dateAcquisition, $numeroInventaireOrganisme) { // Texte à imprimer (colonne de gauche) $nb_text_lines = 2; @@ -4338,7 +4338,7 @@ class MaterielsController extends AppController { $length_mode = 'Fixed'; $cell2_length = '863.9999'; - return $this->etiquette_formatX( + return $this->etiquette_dls_formatX( $numeroLab, $organisme, $dateAcquisition, $numeroInventaireOrganisme, $nb_text_lines, $img_logo, $tape_size, @@ -4445,7 +4445,7 @@ class MaterielsController extends AppController { * - Contenu : texte sur 3 lines et QrCode * (Format IRAP) */ - private function etiquette_format3($numeroLab, $organisme, $dateAcquisition, $numeroInventaireOrganisme) { + private function etiquette_format3($id, $numeroLab, $organisme, $dateAcquisition, $numeroInventaireOrganisme) { // Texte à imprimer (colonne de gauche) sur 3 lignes $nb_text_lines = 3; @@ -4486,7 +4486,7 @@ class MaterielsController extends AppController { $cell2_length = '863.9999'; */ - return $this->etiquette_formatX( + return $this->etiquette_dls_formatX( $numeroLab, $organisme, $dateAcquisition, $numeroInventaireOrganisme, $nb_text_lines, $img_logo, $tape_size, @@ -4593,7 +4593,7 @@ class MaterielsController extends AppController { * LABEL FOR PRINTER DYMO LabelManager PnP : 2 lines WITH QrCode * Format IRAP, avec QRCODE */ - private function etiquette_format4($numeroLab, $organisme, $dateAcquisition, $numeroInventaireOrganisme) { + private function etiquette_format4($id, $numeroLab, $organisme, $dateAcquisition, $numeroInventaireOrganisme) { // Texte à imprimer (colonne de gauche) $nb_text_lines = 2; @@ -4619,7 +4619,7 @@ class MaterielsController extends AppController { $length_mode = 'Fixed'; $cell2_length = '863.9999'; - return $this->etiquette_formatX( + return $this->etiquette_dls_formatX( $numeroLab, $organisme, $dateAcquisition, $numeroInventaireOrganisme, $nb_text_lines, $img_logo, $tape_size, @@ -4717,13 +4717,357 @@ class MaterielsController extends AppController { } // etiquette_format4() + + + /* + * Définition d'étiquette + * + * - Type : RUBAN (19mm) + * - Etiqueteuse : DYMO LabelManager 420P (remplace le modèle MobileLabeler qui ne se fait plus) + * - Contenu : texte sur 3 lines (arial 10, bold) + marge 1mm + QrCode + * + * (pour logiciel DCD Windows10) + * + */ + private function etiquette_format5($id, $numeroLab, $organisme, $dateAcquisition, $numeroInventaireOrganisme) { + + // Texte à imprimer (colonne de gauche) sur 3 lignes + $nb_text_lines = 3; + /* + //$text_line1 = trim("$numeroLab / " . "$dateAcquisition"); + $text_line1 = trim("$numeroLab"); + $text_line2 = trim("$dateAcquisition"); + $text_line3 = "$organisme " . trim($numeroInventaireOrganisme ? '/ ' . "$numeroInventaireOrganisme" : ''); + */ + + /* + // Image(s) à imprimer (colonne de droite) - code hexa + // (EP 14-3-19) Recuperation du QrCode qui a été créé par la vue détaillée "view" en cours (le QrCode actuellement affiché par la vue en cours) + $qrc_file_full_name = $this->request->getSession()->read("qrCodePath"); + $qrc = file_get_contents("file://".$qrc_file_full_name); + $qrc = base64_encode($qrc); + $img_logo = $qrc; + */ + + // Texte à transformer en QrCode + //$qr_code_text = "https://inventirap.irap.omp.eu/materiels/view/$id"; + //$qr_code_text = $this->getCurrentURL(false)."/materiels/view/".$id; + $qr_code_text = "tototata"; + //debug($qr_code_text);exit; + + $tape_size = '19'; + //$label_length = '5278.94'; + //$root_cell_length = '4078.94'; + $total_width = '1.641904'; + + $font_name = 'Arial'; + $font_size = '10'; + + //$object_margin_left='0'; + //$object_margin_right='1'; + //$text_margin_right='1'; + + //$cell1_length = '1980'; + $cell1_width = '1.115515'; + + //$length_mode = 'Auto'; + //$cell2_length = '869.4'; + $cell2_width = '0.5263889'; + + //return $this->etiquette_dcd_formatX( + $etiq_text = $this->etiquette_dcd_formatX( + $numeroLab, $organisme, $dateAcquisition, $numeroInventaireOrganisme, $nb_text_lines, + + //$img_logo, + $qr_code_text, // url de la fiche + + $tape_size, // 19 (mm) + //$label_length, + //$root_cell_length, + $total_width, // 1.641904 + + $font_name, $font_size, // Arial 10 + + //$object_margin_left, + //$object_margin_right, + //$text_margin_right='1', + + //$cell1_length, + $cell1_width, // 1.115515 + + //$length_mode, + //$cell2_length + $cell2_width // 0.5263889 + ); + + //debug($etiq_text);exit; + return $etiq_text; + + + } // etiquette_format5() + + + + + /* + * Définition d'étiquette (générale) + * Compatible avec le logiciel DCD (Dymo Connect Desktop) version 1.3.2 + * (uniquement utilisé sur Win, car MacOS utilise toujours l'ancien logiciel DLS) + * + */ + private function etiquette_dcd_formatX( + $numeroLab, $organisme, $dateAcquisition, $numeroInventaireOrganisme, $nb_text_lines, + + //$img_logo, + $qr_code_text, // url de la fiche + + $tape_size, // 19 (mm) + //$label_length, + //$root_cell_length, + $total_width, // 1.641904 + + $font_name, $font_size, // Arial 10 + + //$object_margin_left, + //$object_margin_right, + //$text_margin_right='1', + + //$cell1_length, + $cell1_width, // 1.115515 + + //$length_mode, + //$cell2_length + $cell2_width // 0.5263889 + + ) { + + // Texte à imprimer (colonne de gauche) : sur 2 ou 3 lignes + /* + $text_lines = trim("$numeroLab"); + $text_lines .= $nb_text_lines == 3 ? "\n" : ' / '; + $text_lines .= trim("$dateAcquisition") . "\n"; + $text_lines .= "$organisme " . trim($numeroInventaireOrganisme ? '/ ' . "$numeroInventaireOrganisme" : ''); + */ + $text_line1_numinv = trim("$numeroLab"); + $text_line2_date = trim("$dateAcquisition"); + $text_line3_tutelle .= "$organisme " . trim($numeroInventaireOrganisme ? '/ ' . "$numeroInventaireOrganisme" : ''); + + // (EP202006) NB: La 1ère ligne (xml version...) pose problème, donc je la vire + //' + return +' + + DYMO Label + Landscape + '.$tape_size.'X7-TAPE BLACK/WHITE + 0.7555556 + SolidLine + + + 0.4166667 + 0.1145833 + + ' + //1.641904 + .''.$total_width.'' + .'0.5263889 + + + + + + + + 1 + False + + ClearObjects + + + + ITextObject0 + + + + + + + + + + + + + + + + + + + + + + + Rotation0 + 1 + False + SolidLine + + + + Left + Middle + None + False + + None + Left + Middle + False + + + '.$text_line1_numinv.' + ' + //Arial + //10 + .''.$font_name.' + '.$font_size.' + True + False + False + + + + + + + + + + + '.$text_line2_date.' + + '.$font_name.' + '.$font_size.' + True + False + False + + + + + + + + + + + '.$text_line3_tutelle.' + + '.$font_name.' + '.$font_size.' + True + False + False + + + + + + + + + + + + 0.4166667 + 0.1145833 + + ' + //1.115515 + .''.$cell1_width.' + 0.5263889 + + + + + + IQRCodeObject0 + + + + + + + + + + + + + + + + + + + + + + + Rotation0 + 1 + False + SolidLine + + + + QRCode + + '.$qr_code_text.' + + Center + Middle + AutoFit + QRCodeText + ' + //123 + .''.$qr_code_text.' + + + + 1.532182 + 0.1145833 + + ' + //0.5263889 + .''.$cell2_width.' + 0.5263889 + + + + + + + Blank + + + + +'; + + } // etiquette_dcd_formatX() + + /* * Définition d'étiquette (générale) + * Compatible avec le logiciel DLS (Dymo Label Software) version 8.7.x + * (toujours utilisé sur MacOS, mais remplacé par DCD sur Win) * */ - private function etiquette_formatX( + private function etiquette_dls_formatX( $numeroLab, $organisme, $dateAcquisition, $numeroInventaireOrganisme, $nb_text_lines, $img_logo, $tape_size, @@ -4823,7 +5167,7 @@ class MaterielsController extends AppController { '; - } + } // etiquette_dls_formatX() diff --git a/src/Template/Configurations/edit.ctp b/src/Template/Configurations/edit.ctp index fe3400b..c4a0c79 100644 --- a/src/Template/Configurations/edit.ctp +++ b/src/Template/Configurations/edit.ctp @@ -107,8 +107,8 @@ function echoSection($title, $section) { '2' => '2 - Etiquette 19mm, texte sur 2 lignes avec QrCode (ruban, Dymo LabelManager PCII, CRAL)', '3' => '3 - Etiquette 19mm, texte sur 3 lignes avec QrCode (ruban, DYMO MobileLabeler, IRAP)', '4' => '4 - Etiquette 12mm, texte sur 2 lignes avec QrCode (ruban, DYMO LabelManager PnP, IRAP)', + '5' => '5 - Etiquette 19mm, texte sur 3 lignes avec QrCode (ruban, DYMO LabelManager420P ou MobileLabeler)', /* - '5' => 5, '6' => 6, '7' => 7, '8' => 8, diff --git a/webroot/doc/diagrams/Materiel_status_state_diagram_v5_2021_01.png b/webroot/doc/diagrams/Materiel_status_state_diagram_v5_2021_01.png index 915bf4a..3bb98e2 100644 Binary files a/webroot/doc/diagrams/Materiel_status_state_diagram_v5_2021_01.png and b/webroot/doc/diagrams/Materiel_status_state_diagram_v5_2021_01.png differ -- libgit2 0.21.2