Просмотр исходного кода

诊断报告pdf和H5中的facultcode中的status为String

bmmx 11 месяцев назад
Родитель
Сommit
7d0aa3c9d3

+ 6 - 0
src/main/java/com/om/entity/dto/APPReportCreateDTO.java

@@ -33,6 +33,12 @@ public class APPReportCreateDTO extends AppBaseDTO {
     @ApiModelProperty(value = "电话")
     private String telephone;
 
+    @ApiModelProperty(value = "年款")
+    private String modelYear;
+
+    @ApiModelProperty(value = "vin")
+    private String vin;
+
     @ApiModelProperty(value = "VciSN号")
     private String sn;
 

+ 2 - 1
src/main/java/com/om/entity/dto/ControlListMap.java

@@ -1,5 +1,6 @@
 package com.om.entity.dto;
 
+import com.om.entity.po.FaultCode;
 import lombok.Data;
 import lombok.NoArgsConstructor;
 
@@ -9,6 +10,6 @@ import java.util.Map;
 @NoArgsConstructor
 public class ControlListMap {
     private String name;
-    private Map<String,String> faultCodeMap;
+    private Map<String, FaultCode> faultCodeMap;
     private Map<String,String> versionMap;
 }

+ 1 - 1
src/main/java/com/om/entity/po/FaultCode.java

@@ -41,7 +41,7 @@ public class FaultCode implements Serializable {
     private String description;
 
     @ApiModelProperty(value = "故障码状态")
-    private Integer status;
+    private String status;
 
 
 }

+ 4 - 7
src/main/java/com/om/service/impl/RepairServiceImpl.java

@@ -130,7 +130,6 @@ public class RepairServiceImpl extends ServiceImpl<RepairMapper, Repair> impleme
 
             for (FaultCode faultCode : faultCodes1) {
                 faultCode.setElectronicControlId(electronicControl.getId());
-                faultCode.setStatus(1);
             }
 
             eleIds.add(electronicControl.getId());
@@ -427,17 +426,16 @@ public class RepairServiceImpl extends ServiceImpl<RepairMapper, Repair> impleme
 
                 List<FaultCode> FaultList = faultCodeService.lambdaQuery()
                         .eq(FaultCode::getElectronicControlId, eleId)
-                        .eq(FaultCode::getStatus, 1)
                         .list();
 
-                Map<String, String> faultCodeMap = new HashMap<>();
+                Map<String, FaultCode> faultCodeMap = new HashMap<>();
                 Map<String, String> versionMap = new HashMap<>();
                 for (EcuInfo ecuInfo : EcuList) {
                     versionMap.put(ecuInfo.getStrCaption(), ecuInfo.getStrInformation());
                 }
 
                 for (FaultCode faultCode : FaultList) {
-                    faultCodeMap.put(faultCode.getFaultCode(), faultCode.getDescription());
+                    faultCodeMap.put(faultCode.getFaultCode(), faultCode);
                 }
                 ControlListMap controlListMap1 = new ControlListMap();
                 controlListMap1.setName(electronicControl.getElectronicControlName());
@@ -513,17 +511,16 @@ public class RepairServiceImpl extends ServiceImpl<RepairMapper, Repair> impleme
 
                 List<FaultCode> FaultList = faultCodeService.lambdaQuery()
                         .eq(FaultCode::getElectronicControlId, eleId)
-                        .eq(FaultCode::getStatus, 1)
                         .list();
 
-                Map<String, String> faultCodeMap = new HashMap<>();
+                Map<String, FaultCode> faultCodeMap = new HashMap<>();
                 Map<String, String> versionMap = new HashMap<>();
                 for (EcuInfo ecuInfo : EcuList) {
                     versionMap.put(ecuInfo.getStrCaption(), ecuInfo.getStrInformation());
                 }
 
                 for (FaultCode faultCode : FaultList) {
-                    faultCodeMap.put(faultCode.getFaultCode(), faultCode.getDescription());
+                    faultCodeMap.put(faultCode.getFaultCode(),faultCode);
                 }
                 ControlListMap controlListMap1 = new ControlListMap();
                 controlListMap1.setName(electronicControl.getElectronicControlName());

+ 37 - 8
src/main/java/com/om/utils/ITextPdfUtil.java

@@ -2,6 +2,7 @@ package com.om.utils;
 
 
 
+import cn.hutool.core.bean.BeanUtil;
 import com.itextpdf.io.font.PdfEncodings;
 import com.itextpdf.io.image.BmpImageData;
 import com.itextpdf.io.image.ImageData;
@@ -24,8 +25,12 @@ import com.itextpdf.layout.element.*;
 import com.itextpdf.layout.property.BorderRadius;
 import com.itextpdf.layout.property.HorizontalAlignment;
 import com.itextpdf.layout.property.TextAlignment;
+import com.itextpdf.layout.property.UnitValue;
 import com.om.entity.dto.ControlListMap;
+import com.om.entity.po.FaultCode;
 import org.apache.commons.lang3.StringUtils;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
 import org.springframework.beans.factory.annotation.Value;
 import org.springframework.stereotype.Component;
 
@@ -51,7 +56,8 @@ import java.util.Map;
 @Component
 public class ITextPdfUtil {
     //字体,我这里使用系统自带的simhei黑体
-    //private static final String FONT = "C:/Windows/Fonts/simhei.ttf";
+   // private static final String FONT = "C:/Windows/Fonts/simhei.ttf";
+    private static final Logger log = LoggerFactory.getLogger(ITextPdfUtil.class);
     private static final String FONT = "/usr/local/docker/opera/static/simhei.ttf";
 
     @Value("${baseStatic}")
@@ -166,11 +172,13 @@ public class ITextPdfUtil {
             for (ControlListMap listMap : controlListMap) {
                 String name = listMap.getName();
                 Map<String, String> versionMap = listMap.getVersionMap();
-                Map<String, String> faultCodeMap = listMap.getFaultCodeMap();
+                Map<String, FaultCode> faultCodeMap = listMap.getFaultCodeMap();
+                log.debug("versionMap::{}",versionMap);
+                log.debug("faultCodeMap::{}",faultCodeMap);
 
-                Table faultCodeTable = new Table(2);
+                Table faultCodeTable = new Table(3);
 
-                mapToTable(faultCodeMap, faultCodeTable, red, red);
+                mapToTableFault(faultCodeMap, faultCodeTable, red, red);
 
                 Table versionTable = new Table(2);
 
@@ -257,7 +265,6 @@ public class ITextPdfUtil {
         }
     }
 
-
     private  void mapToTable(Map<String, String> map, Table table, Color one, Color two) {
         table.setMargin(10);
         table.setWidth(570);
@@ -266,9 +273,9 @@ public class ITextPdfUtil {
         for (Map.Entry<String, String> entry : map.entrySet()) {
             table.addCell(entry.getKey() + ": ")
                     .setFontColor(one);
-            String value = entry.getValue();
-            if (StringUtils.isEmpty(value)) {
-                value = " ";
+            String  value = entry.getValue();
+            if (StringUtils.isBlank(value)) {
+                value = "";
             }
             table.addCell(new Cell()
                     .add(new Paragraph(value))
@@ -277,6 +284,28 @@ public class ITextPdfUtil {
         RemoveBorder(table);
     }
 
+
+    private void mapToTableFault(Map<String, FaultCode> map, Table table, Color one, Color two) {
+        table.setMargin(10);
+        table.setWidth(570);
+        table.setFontSize(16);
+        table.setFontColor(new DeviceRgb(136, 136, 136));
+        table.setWidth(UnitValue.createPercentValue(100)); // 调整宽度以适应页面
+
+        for (Map.Entry<String, FaultCode> entry : map.entrySet()) {
+            String key = entry.getKey();
+            FaultCode faultCode = entry.getValue();
+
+            // 将键、描述和状态添加到同一行
+            table.addCell(new Cell().add(new Paragraph(key)).setFontColor(one));
+            table.addCell(new Cell().add(new Paragraph(faultCode.getDescription())).setFontColor(two));
+            table.addCell(new Cell().add(new Paragraph(faultCode.getStatus())).setFontColor(two));
+        }
+
+        RemoveBorder(table);
+    }
+
+
     private  void RemoveBorder(Table table) {
         for (IElement iElement : table.getChildren()) {
             ((Cell) iElement).setBorder(Border.NO_BORDER);

+ 12 - 1
src/main/resources/template/static/report.html

@@ -286,12 +286,23 @@
                 <ul>
                     <#list controlMap.getFaultCodeMap()?values as value>
                     <#if value?? && value?has_content>
-                    <li>${value}</li>
+                    <li>${value.description}</li>
                 </#if>
                     <p></p>
                 </#list>
                 </ul>
             </td>
+            <td style="padding-left: 180px">
+                <ul>
+                    <#list controlMap.getFaultCodeMap()?values as value>
+                    <#if value?? && value?has_content>
+                    <li>${value.status}</li>
+                </#if>
+                <p></p>
+            </#list>
+            </ul>
+            </td>
+
         </tr>
     </table>
     <div class="vehicle-info">