Commit 3c1cdd664e5c12e9fd524bf678cf4701fb3a02be

Authored by Etienne Pallier
1 parent d683d357
Exists in master and in 1 other branch dev

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

v4.107.7-3.7.9
CHANGES.txt
... ... @@ -134,6 +134,13 @@ Outre ces changements, voici d'autres changements importants :
134 134 ======= CHANGES =======
135 135  
136 136 - (b) Bugfix (2eme) remplacement d'un fournisseur par un autre
  137 +
  138 +-------
  139 +23/11/2020 v4.107.7-3.7.9
  140 + - (i) Adaptation format etiquette au nouveau logiciel Dymo DCD pour Windows 10
  141 + (PLUS RIEN À VOIR avec ancien format du logiciel DLS, pourtant toujours utilisé sur Mac !!!)
  142 + => choisir etiquette format numéro 5 dans la config
  143 +
137 144 -------
138 145 19/11/2020 v4.107.6-3.7.9
139 146 - (e) materiels/edit : supprimé champ "Technique (pas pour l'inventaire officiel)"
... ...
README.md
... ... @@ -52,8 +52,8 @@ Logiciel testé et validé sur les configurations suivantes :
52 52  
53 53 --------------------------------------------------------------------------------------------
54 54  
55   -Date: 19/11/2020
56   -Version: 4.107.6-3.7.9
  55 +Date: 23/11/2020
  56 +Version: 4.107.7-3.7.9
57 57  
58 58  
59 59 HISTORIQUE DES CHANGEMENTS DE VERSION : voir le fichier CHANGES.txt (ou la page web /pages/changes)
... ...
src/Controller/MaterielsController.php
... ... @@ -4057,7 +4057,7 @@ class MaterielsController extends AppController {
4057 4057 //debug($etiquetteFormatFunction); exit; // etiquette_format1
4058 4058  
4059 4059 //$xml_content = $this->$etiquetteFormatFunction($numeroLab, $organisme, $dateAcquisition, $numeroInventaireOrganisme);
4060   - $xml_content = $this->$etiquetteFormatFunction($numeroLab, $organisme, $dateAcquisition, $numeroInventaireOrganisme);
  4060 + $xml_content = $this->$etiquetteFormatFunction($id, $numeroLab, $organisme, $dateAcquisition, $numeroInventaireOrganisme);
4061 4061  
4062 4062 /*
4063 4063 $response = $this->response;
... ... @@ -4179,7 +4179,7 @@ class MaterielsController extends AppController {
4179 4179 * Format IRAP
4180 4180 */
4181 4181 //private function _getLabelRuban($numeroLab, $organisme, $dateAcquisition, $numeroInventaireOrganisme) { return
4182   - private function etiquette_format1($numeroLab, $organisme, $dateAcquisition, $numeroInventaireOrganisme) {
  4182 + private function etiquette_format1($id, $numeroLab, $organisme, $dateAcquisition, $numeroInventaireOrganisme) {
4183 4183  
4184 4184 // Texte à imprimer (colonne de gauche)
4185 4185 $nb_text_lines = 2;
... ... @@ -4206,7 +4206,7 @@ class MaterielsController extends AppController {
4206 4206 $length_mode = 'Fixed';
4207 4207 $cell2_length = '863.9999';
4208 4208  
4209   - return $this->etiquette_formatX(
  4209 + return $this->etiquette_dls_formatX(
4210 4210 $numeroLab, $organisme, $dateAcquisition, $numeroInventaireOrganisme, $nb_text_lines,
4211 4211 $img_logo,
4212 4212 $tape_size,
... ... @@ -4312,7 +4312,7 @@ class MaterielsController extends AppController {
4312 4312 * LABEL FOR PRINTER Dymo LabelManager PCII : 2 lines WITH QrCode
4313 4313 * Format CRAL
4314 4314 */
4315   - private function etiquette_format2($numeroLab, $organisme, $dateAcquisition, $numeroInventaireOrganisme) {
  4315 + private function etiquette_format2($id, $numeroLab, $organisme, $dateAcquisition, $numeroInventaireOrganisme) {
4316 4316  
4317 4317 // Texte à imprimer (colonne de gauche)
4318 4318 $nb_text_lines = 2;
... ... @@ -4338,7 +4338,7 @@ class MaterielsController extends AppController {
4338 4338 $length_mode = 'Fixed';
4339 4339 $cell2_length = '863.9999';
4340 4340  
4341   - return $this->etiquette_formatX(
  4341 + return $this->etiquette_dls_formatX(
4342 4342 $numeroLab, $organisme, $dateAcquisition, $numeroInventaireOrganisme, $nb_text_lines,
4343 4343 $img_logo,
4344 4344 $tape_size,
... ... @@ -4445,7 +4445,7 @@ class MaterielsController extends AppController {
4445 4445 * - Contenu : texte sur 3 lines et QrCode
4446 4446 * (Format IRAP)
4447 4447 */
4448   - private function etiquette_format3($numeroLab, $organisme, $dateAcquisition, $numeroInventaireOrganisme) {
  4448 + private function etiquette_format3($id, $numeroLab, $organisme, $dateAcquisition, $numeroInventaireOrganisme) {
4449 4449  
4450 4450 // Texte à imprimer (colonne de gauche) sur 3 lignes
4451 4451 $nb_text_lines = 3;
... ... @@ -4486,7 +4486,7 @@ class MaterielsController extends AppController {
4486 4486 $cell2_length = '863.9999';
4487 4487 */
4488 4488  
4489   - return $this->etiquette_formatX(
  4489 + return $this->etiquette_dls_formatX(
4490 4490 $numeroLab, $organisme, $dateAcquisition, $numeroInventaireOrganisme, $nb_text_lines,
4491 4491 $img_logo,
4492 4492 $tape_size,
... ... @@ -4593,7 +4593,7 @@ class MaterielsController extends AppController {
4593 4593 * LABEL FOR PRINTER DYMO LabelManager PnP : 2 lines WITH QrCode
4594 4594 * Format IRAP, avec QRCODE
4595 4595 */
4596   - private function etiquette_format4($numeroLab, $organisme, $dateAcquisition, $numeroInventaireOrganisme) {
  4596 + private function etiquette_format4($id, $numeroLab, $organisme, $dateAcquisition, $numeroInventaireOrganisme) {
4597 4597  
4598 4598 // Texte à imprimer (colonne de gauche)
4599 4599 $nb_text_lines = 2;
... ... @@ -4619,7 +4619,7 @@ class MaterielsController extends AppController {
4619 4619 $length_mode = 'Fixed';
4620 4620 $cell2_length = '863.9999';
4621 4621  
4622   - return $this->etiquette_formatX(
  4622 + return $this->etiquette_dls_formatX(
4623 4623 $numeroLab, $organisme, $dateAcquisition, $numeroInventaireOrganisme, $nb_text_lines,
4624 4624 $img_logo,
4625 4625 $tape_size,
... ... @@ -4717,13 +4717,357 @@ class MaterielsController extends AppController {
4717 4717  
4718 4718 } // etiquette_format4()
4719 4719  
  4720 +
  4721 +
  4722 + /*
  4723 + * Définition d'étiquette
  4724 + *
  4725 + * - Type : RUBAN (19mm)
  4726 + * - Etiqueteuse : DYMO LabelManager 420P (remplace le modèle MobileLabeler qui ne se fait plus)
  4727 + * - Contenu : texte sur 3 lines (arial 10, bold) + marge 1mm + QrCode
  4728 + *
  4729 + * (pour logiciel DCD Windows10)
  4730 + *
  4731 + */
  4732 + private function etiquette_format5($id, $numeroLab, $organisme, $dateAcquisition, $numeroInventaireOrganisme) {
  4733 +
  4734 + // Texte à imprimer (colonne de gauche) sur 3 lignes
  4735 + $nb_text_lines = 3;
  4736 + /*
  4737 + //$text_line1 = trim("$numeroLab / " . "$dateAcquisition");
  4738 + $text_line1 = trim("$numeroLab");
  4739 + $text_line2 = trim("$dateAcquisition");
  4740 + $text_line3 = "$organisme " . trim($numeroInventaireOrganisme ? '/ ' . "$numeroInventaireOrganisme" : '');
  4741 + */
  4742 +
  4743 + /*
  4744 + // Image(s) à imprimer (colonne de droite) - code hexa
  4745 + // (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)
  4746 + $qrc_file_full_name = $this->request->getSession()->read("qrCodePath");
  4747 + $qrc = file_get_contents("file://".$qrc_file_full_name);
  4748 + $qrc = base64_encode($qrc);
  4749 + $img_logo = $qrc;
  4750 + */
  4751 +
  4752 + // Texte à transformer en QrCode
  4753 + //$qr_code_text = "https://inventirap.irap.omp.eu/materiels/view/$id";
  4754 + //$qr_code_text = $this->getCurrentURL(false)."/materiels/view/".$id;
  4755 + $qr_code_text = "tototata";
  4756 + //debug($qr_code_text);exit;
  4757 +
  4758 + $tape_size = '19';
  4759 + //$label_length = '5278.94';
  4760 + //$root_cell_length = '4078.94';
  4761 + $total_width = '1.641904';
  4762 +
  4763 + $font_name = 'Arial';
  4764 + $font_size = '10';
  4765 +
  4766 + //$object_margin_left='0';
  4767 + //$object_margin_right='1';
  4768 + //$text_margin_right='1';
  4769 +
  4770 + //$cell1_length = '1980';
  4771 + $cell1_width = '1.115515';
  4772 +
  4773 + //$length_mode = 'Auto';
  4774 + //$cell2_length = '869.4';
  4775 + $cell2_width = '0.5263889';
  4776 +
  4777 + //return $this->etiquette_dcd_formatX(
  4778 + $etiq_text = $this->etiquette_dcd_formatX(
  4779 + $numeroLab, $organisme, $dateAcquisition, $numeroInventaireOrganisme, $nb_text_lines,
  4780 +
  4781 + //$img_logo,
  4782 + $qr_code_text, // url de la fiche
  4783 +
  4784 + $tape_size, // 19 (mm)
  4785 + //$label_length,
  4786 + //$root_cell_length,
  4787 + $total_width, // 1.641904
  4788 +
  4789 + $font_name, $font_size, // Arial 10
  4790 +
  4791 + //$object_margin_left,
  4792 + //$object_margin_right,
  4793 + //$text_margin_right='1',
  4794 +
  4795 + //$cell1_length,
  4796 + $cell1_width, // 1.115515
  4797 +
  4798 + //$length_mode,
  4799 + //$cell2_length
  4800 + $cell2_width // 0.5263889
  4801 + );
  4802 +
  4803 + //debug($etiq_text);exit;
  4804 + return $etiq_text;
  4805 +
  4806 +
  4807 + } // etiquette_format5()
  4808 +
  4809 +
  4810 +
  4811 +
  4812 + /*
  4813 + * Définition d'étiquette (générale)
  4814 + * Compatible avec le logiciel DCD (Dymo Connect Desktop) version 1.3.2
  4815 + * (uniquement utilisé sur Win, car MacOS utilise toujours l'ancien logiciel DLS)
  4816 + *
  4817 + */
  4818 + private function etiquette_dcd_formatX(
  4819 + $numeroLab, $organisme, $dateAcquisition, $numeroInventaireOrganisme, $nb_text_lines,
  4820 +
  4821 + //$img_logo,
  4822 + $qr_code_text, // url de la fiche
  4823 +
  4824 + $tape_size, // 19 (mm)
  4825 + //$label_length,
  4826 + //$root_cell_length,
  4827 + $total_width, // 1.641904
  4828 +
  4829 + $font_name, $font_size, // Arial 10
  4830 +
  4831 + //$object_margin_left,
  4832 + //$object_margin_right,
  4833 + //$text_margin_right='1',
  4834 +
  4835 + //$cell1_length,
  4836 + $cell1_width, // 1.115515
  4837 +
  4838 + //$length_mode,
  4839 + //$cell2_length
  4840 + $cell2_width // 0.5263889
  4841 +
  4842 + ) {
  4843 +
  4844 + // Texte à imprimer (colonne de gauche) : sur 2 ou 3 lignes
  4845 + /*
  4846 + $text_lines = trim("$numeroLab");
  4847 + $text_lines .= $nb_text_lines == 3 ? "\n" : ' / ';
  4848 + $text_lines .= trim("$dateAcquisition") . "\n";
  4849 + $text_lines .= "$organisme " . trim($numeroInventaireOrganisme ? '/ ' . "$numeroInventaireOrganisme" : '');
  4850 + */
  4851 + $text_line1_numinv = trim("$numeroLab");
  4852 + $text_line2_date = trim("$dateAcquisition");
  4853 + $text_line3_tutelle .= "$organisme " . trim($numeroInventaireOrganisme ? '/ ' . "$numeroInventaireOrganisme" : '');
  4854 +
  4855 + // (EP202006) NB: La 1ère ligne (xml version...) pose problème, donc je la vire
  4856 + //'<?xml version="1.0" encoding="utf-8"POINTINTERROG>
  4857 + return
  4858 +'<DesktopLabel Version="1">
  4859 + <DYMOLabel Version="3">
  4860 + <Description>DYMO Label</Description>
  4861 + <Orientation>Landscape</Orientation>
  4862 + <LabelName>'.$tape_size.'X7-TAPE BLACK/WHITE</LabelName>
  4863 + <InitialLength>0.7555556</InitialLength>
  4864 + <BorderStyle>SolidLine</BorderStyle>
  4865 + <DYMORect>
  4866 + <DYMOPoint>
  4867 + <X>0.4166667</X>
  4868 + <Y>0.1145833</Y>
  4869 + </DYMOPoint>
  4870 + <Size>'
  4871 + //<Width>1.641904</Width>
  4872 + .'<Width>'.$total_width.'</Width>'
  4873 + .'<Height>0.5263889</Height>
  4874 + </Size>
  4875 + </DYMORect>
  4876 + <BorderColor>
  4877 + <SolidColorBrush>
  4878 + <Color A="1" R="0.1372549" G="0.1215686" B="0.1254902"></Color>
  4879 + </SolidColorBrush>
  4880 + </BorderColor>
  4881 + <BorderThickness>1</BorderThickness>
  4882 + <Show_Border>False</Show_Border>
  4883 + <ContinuousLayoutManager>
  4884 + <RotationBehavior>ClearObjects</RotationBehavior>
  4885 + <LabelObjects>
  4886 +
  4887 + <TextObject>
  4888 + <Name>ITextObject0</Name>
  4889 + <Brushes>
  4890 + <BackgroundBrush>
  4891 + <SolidColorBrush>
  4892 + <Color A="0" R="0.1372549" G="0.1215686" B="0.1254902"></Color>
  4893 + </SolidColorBrush>
  4894 + </BackgroundBrush>
  4895 + <BorderBrush>
  4896 + <SolidColorBrush>
  4897 + <Color A="1" R="0.137" G="0.122" B="0.125"></Color>
  4898 + </SolidColorBrush>
  4899 + </BorderBrush>
  4900 + <StrokeBrush>
  4901 + <SolidColorBrush>
  4902 + <Color A="1" R="0.137" G="0.122" B="0.125"></Color>
  4903 + </SolidColorBrush>
  4904 + </StrokeBrush>
  4905 + <FillBrush>
  4906 + <SolidColorBrush>
  4907 + <Color A="0" R="0.1372549" G="0.1215686" B="0.1254902"></Color>
  4908 + </SolidColorBrush>
  4909 + </FillBrush>
  4910 + </Brushes>
  4911 + <Rotation>Rotation0</Rotation>
  4912 + <OutlineThickness>1</OutlineThickness>
  4913 + <IsOutlined>False</IsOutlined>
  4914 + <BorderStyle>SolidLine</BorderStyle>
  4915 + <Margin>
  4916 + <DYMOThickness Left="0" Top="0" Right="0.03937008" Bottom="0" />
  4917 + </Margin>
  4918 + <HorizontalAlignment>Left</HorizontalAlignment>
  4919 + <VerticalAlignment>Middle</VerticalAlignment>
  4920 + <FitMode>None</FitMode>
  4921 + <IsVertical>False</IsVertical>
  4922 + <FormattedText>
  4923 + <FitMode>None</FitMode>
  4924 + <HorizontalAlignment>Left</HorizontalAlignment>
  4925 + <VerticalAlignment>Middle</VerticalAlignment>
  4926 + <IsVertical>False</IsVertical>
  4927 + <LineTextSpan>
  4928 + <TextSpan>
  4929 + <Text>'.$text_line1_numinv.'</Text>
  4930 + <FontInfo>'
  4931 + //<FontName>Arial</FontName>
  4932 + //<FontSize>10</FontSize>
  4933 + .'<FontName>'.$font_name.'</FontName>
  4934 + <FontSize>'.$font_size.'</FontSize>
  4935 + <IsBold>True</IsBold>
  4936 + <IsItalic>False</IsItalic>
  4937 + <IsUnderline>False</IsUnderline>
  4938 + <FontBrush>
  4939 + <SolidColorBrush>
  4940 + <Color A="1" R="0.1372549" G="0.1215686" B="0.1254902"></Color>
  4941 + </SolidColorBrush>
  4942 + </FontBrush>
  4943 + </FontInfo>
  4944 + </TextSpan>
  4945 + </LineTextSpan>
  4946 + <LineTextSpan>
  4947 + <TextSpan>
  4948 + <Text>'.$text_line2_date.'</Text>
  4949 + <FontInfo>
  4950 + <FontName>'.$font_name.'</FontName>
  4951 + <FontSize>'.$font_size.'</FontSize>
  4952 + <IsBold>True</IsBold>
  4953 + <IsItalic>False</IsItalic>
  4954 + <IsUnderline>False</IsUnderline>
  4955 + <FontBrush>
  4956 + <SolidColorBrush>
  4957 + <Color A="1" R="0.1372549" G="0.1215686" B="0.1254902"></Color>
  4958 + </SolidColorBrush>
  4959 + </FontBrush>
  4960 + </FontInfo>
  4961 + </TextSpan>
  4962 + </LineTextSpan>
  4963 + <LineTextSpan>
  4964 + <TextSpan>
  4965 + <Text>'.$text_line3_tutelle.'</Text>
  4966 + <FontInfo>
  4967 + <FontName>'.$font_name.'</FontName>
  4968 + <FontSize>'.$font_size.'</FontSize>
  4969 + <IsBold>True</IsBold>
  4970 + <IsItalic>False</IsItalic>
  4971 + <IsUnderline>False</IsUnderline>
  4972 + <FontBrush>
  4973 + <SolidColorBrush>
  4974 + <Color A="1" R="0.1372549" G="0.1215686" B="0.1254902"></Color>
  4975 + </SolidColorBrush>
  4976 + </FontBrush>
  4977 + </FontInfo>
  4978 + </TextSpan>
  4979 + </LineTextSpan>
  4980 + </FormattedText>
  4981 + <ObjectLayout>
  4982 + <DYMOPoint>
  4983 + <X>0.4166667</X>
  4984 + <Y>0.1145833</Y>
  4985 + </DYMOPoint>
  4986 + <Size>'
  4987 + //<Width>1.115515</Width>
  4988 + .'<Width>'.$cell1_width.'</Width>
  4989 + <Height>0.5263889</Height>
  4990 + </Size>
  4991 + </ObjectLayout>
  4992 + </TextObject>
  4993 +
  4994 + <QRCodeObject>
  4995 + <Name>IQRCodeObject0</Name>
  4996 + <Brushes>
  4997 + <BackgroundBrush>
  4998 + <SolidColorBrush>
  4999 + <Color A="1" R="1" G="1" B="1"></Color>
  5000 + </SolidColorBrush>
  5001 + </BackgroundBrush>
  5002 + <BorderBrush>
  5003 + <SolidColorBrush>
  5004 + <Color A="1" R="0.1372549" G="0.1215686" B="0.1254902"></Color>
  5005 + </SolidColorBrush>
  5006 + </BorderBrush>
  5007 + <StrokeBrush>
  5008 + <SolidColorBrush>
  5009 + <Color A="1" R="0.1372549" G="0.1215686" B="0.1254902"></Color>
  5010 + </SolidColorBrush>
  5011 + </StrokeBrush>
  5012 + <FillBrush>
  5013 + <SolidColorBrush>
  5014 + <Color A="1" R="0.1372549" G="0.1215686" B="0.1254902"></Color>
  5015 + </SolidColorBrush>
  5016 + </FillBrush>
  5017 + </Brushes>
  5018 + <Rotation>Rotation0</Rotation>
  5019 + <OutlineThickness>1</OutlineThickness>
  5020 + <IsOutlined>False</IsOutlined>
  5021 + <BorderStyle>SolidLine</BorderStyle>
  5022 + <Margin>
  5023 + <DYMOThickness Left="0" Top="0" Right="0" Bottom="0" />
  5024 + </Margin>
  5025 + <BarcodeFormat>QRCode</BarcodeFormat>
  5026 + <Data>
  5027 + <DataString>'.$qr_code_text.'</DataString>
  5028 + </Data>
  5029 + <HorizontalAlignment>Center</HorizontalAlignment>
  5030 + <VerticalAlignment>Middle</VerticalAlignment>
  5031 + <Size>AutoFit</Size>
  5032 + <EQRCodeType>QRCodeText</EQRCodeType>
  5033 + <TextDataHolder>'
  5034 + //<Value>123</Value>
  5035 + .'<Value>'.$qr_code_text.'</Value>
  5036 + </TextDataHolder>
  5037 + <ObjectLayout>
  5038 + <DYMOPoint>
  5039 + <X>1.532182</X>
  5040 + <Y>0.1145833</Y>
  5041 + </DYMOPoint>
  5042 + <Size>'
  5043 + //<Width>0.5263889</Width>
  5044 + .'<Width>'.$cell2_width.'</Width>
  5045 + <Height>0.5263889</Height>
  5046 + </Size>
  5047 + </ObjectLayout>
  5048 + </QRCodeObject>
4720 5049  
  5050 + </LabelObjects>
  5051 + </ContinuousLayoutManager>
  5052 + </DYMOLabel>
  5053 + <LabelApplication>Blank</LabelApplication>
  5054 + <DataTable>
  5055 + <Columns></Columns>
  5056 + <Rows></Rows>
  5057 + </DataTable>
  5058 +</DesktopLabel>';
  5059 +
  5060 + } // etiquette_dcd_formatX()
  5061 +
  5062 +
4721 5063  
4722 5064 /*
4723 5065 * Définition d'étiquette (générale)
  5066 + * Compatible avec le logiciel DLS (Dymo Label Software) version 8.7.x
  5067 + * (toujours utilisé sur MacOS, mais remplacé par DCD sur Win)
4724 5068 *
4725 5069 */
4726   - private function etiquette_formatX(
  5070 + private function etiquette_dls_formatX(
4727 5071 $numeroLab, $organisme, $dateAcquisition, $numeroInventaireOrganisme, $nb_text_lines,
4728 5072 $img_logo,
4729 5073 $tape_size,
... ... @@ -4823,7 +5167,7 @@ class MaterielsController extends AppController {
4823 5167 </Subcells>
4824 5168 </RootCell>
4825 5169 </ContinuousLabel>';
4826   - }
  5170 + } // etiquette_dls_formatX()
4827 5171  
4828 5172  
4829 5173  
... ...
src/Template/Configurations/edit.ctp
... ... @@ -107,8 +107,8 @@ function echoSection($title, $section) {
107 107 '2' => '2 - Etiquette 19mm, texte sur 2 lignes avec QrCode (ruban, Dymo LabelManager PCII, CRAL)',
108 108 '3' => '3 - Etiquette 19mm, texte sur 3 lignes avec QrCode (ruban, DYMO MobileLabeler, IRAP)',
109 109 '4' => '4 - Etiquette 12mm, texte sur 2 lignes avec QrCode (ruban, DYMO LabelManager PnP, IRAP)',
  110 + '5' => '5 - Etiquette 19mm, texte sur 3 lignes avec QrCode (ruban, DYMO LabelManager420P ou MobileLabeler)',
110 111 /*
111   - '5' => 5,
112 112 '6' => 6,
113 113 '7' => 7,
114 114 '8' => 8,
... ...
webroot/doc/diagrams/Materiel_status_state_diagram_v5_2021_01.png

215 KB | W: | H:

255 KB | W: | H:

  • 2-up
  • Swipe
  • Onion skin