Explorar el Código

诊断报告--》》

bmmx hace 11 meses
padre
commit
6d3c1a2342

+ 0 - 2
src/main/java/com/om/entity/dto/VehicleDates.java

@@ -11,8 +11,6 @@ import java.util.List;
 @Data
 @NoArgsConstructor
 public class VehicleDates {
-    @ApiModelProperty(value = "上传地址路径前缀")
-    private String path;
 
     @ApiModelProperty(value = "品牌编号")
     private String brandCode;

+ 18 - 13
src/main/java/com/om/service/impl/DiagnosisVersionInfoServiceImpl.java

@@ -25,6 +25,7 @@ import java.time.ZoneOffset;
 import java.util.ArrayList;
 import java.util.Comparator;
 import java.util.List;
+import java.util.function.Function;
 import java.util.function.Predicate;
 import java.util.stream.Collectors;
 
@@ -350,12 +351,7 @@ public class DiagnosisVersionInfoServiceImpl extends ServiceImpl<DiagnosisVersio
                 .eq(DiagnosisVersionInfo::getBrandCode, brandCode)
                 .eq(DiagnosisVersionInfo::getStatus, 2)
                 .list();
-        DiagnosisVersionInfo diagnosisVersionInfo = list.stream().max(new Comparator<DiagnosisVersionInfo>() {
-            @Override
-            public int compare(DiagnosisVersionInfo o1, DiagnosisVersionInfo o2) {
-                return VersionComparator.compareVersions(o1.getVersion(), o2.getVersion());
-            }
-        }).get();
+        DiagnosisVersionInfo diagnosisVersionInfo = list.stream().max((o1, o2) -> VersionComparator.compareVersions(o1.getVersion(), o2.getVersion())).get();
         diagnosisVersionInfo.setStatus(1);
 
         this.updateById(diagnosisVersionInfo);
@@ -435,17 +431,23 @@ public class DiagnosisVersionInfoServiceImpl extends ServiceImpl<DiagnosisVersio
             if (CollectionUtil.isEmpty(diagnosisVersionInfos)) {
                 continue;
             }
-
-            diagnosisVersionInfos = diagnosisVersionInfos.stream().filter(diagnosisVersionInfo ->
-                            VersionComparator.compareVersions(diagnosisVersionInfo.getVersion(), version) >= 0)
-                    .collect(Collectors.toList());
+            if (StringUtils.isNotEmpty(version)){
+                diagnosisVersionInfos = diagnosisVersionInfos.stream().filter(diagnosisVersionInfo ->
+                                VersionComparator.compareVersions(diagnosisVersionInfo.getVersion(), version) > 0)
+                        .collect(Collectors.toList());
+            }
             if (CollectionUtil.isEmpty(diagnosisVersionInfos)) {
                 continue;
             }
 
-            DiagnosisVersionInfo diagnosisVersionInfo = diagnosisVersionInfos.get(0);
 
+            DiagnosisVersionInfo diagnosisVersionInfo = diagnosisVersionInfos.get(0);
 
+            if (StringUtils.isNotEmpty(version)){
+                if (VersionComparator.compareVersions(diagnosisVersionInfo.getVersion(), version)<=0){
+                    continue;
+                }
+            }
             //根据品牌id查询品牌
             Brand brand = brandService.lambdaQuery()
                     .eq(Brand::getBrandCode, diagnosisVersionInfo.getBrandCode())
@@ -473,11 +475,14 @@ public class DiagnosisVersionInfoServiceImpl extends ServiceImpl<DiagnosisVersio
             vehicleDates1.setBrandCn(brand.getBrandCn());
             vehicleDates1.setBrandEn(brand.getBrandEn());
             vehicleDates1.setFileName(diagnosisVersionInfo.getFileName());
-            vehicleDates1.setPath(diagnosisVersionInfo.getSavePath());
             vehicleDates1.setCreateTime(diagnosisVersionInfo.getCreateTime().toInstant(ZoneOffset.of("+8")).toEpochMilli());
             voList.add(vehicleDates1);
         }
 
+        if (CollectionUtil.isEmpty(voList)) {
+            return Result.fail(24001, "没有可用的诊断程序更新", null);
+        }
+
 
         return Result.ok(voList);
     }
@@ -557,7 +562,7 @@ public class DiagnosisVersionInfoServiceImpl extends ServiceImpl<DiagnosisVersio
             List<ClientDevicetoken> list = clientDevicetokenService.lambdaQuery()
                     .eq(ClientDevicetoken::getClientId, client.getId())
                     .list();
-
+            List<Integer> collect = list.stream().map(c -> c.getId()).collect(Collectors.toList());
             return list.stream().map(c -> c.getDeviceToken()).collect(Collectors.toList());
         }
         return null;

+ 12 - 3
src/main/java/com/om/utils/ITextPdfUtil.java

@@ -56,7 +56,7 @@ 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";
 
@@ -298,8 +298,17 @@ public class ITextPdfUtil {
 
             // 将键、描述和状态添加到同一行
             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));
+            if (StringUtils.isNotBlank(faultCode.getDescription())){
+                table.addCell(new Cell().add(new Paragraph(faultCode.getDescription())).setFontColor(two));
+            }else {
+                table.addCell(new Cell().add(new Paragraph()).setFontColor(two));
+            }
+            if (StringUtils.isNotBlank(faultCode.getStatus())){
+                table.addCell(new Cell().add(new Paragraph(faultCode.getStatus())).setFontColor(two));
+            }else {
+                table.addCell(new Cell().add(new Paragraph()).setFontColor(two));
+            }
+
         }
 
         RemoveBorder(table);

+ 36 - 168
src/main/resources/template/static/report.html

@@ -45,7 +45,6 @@
             padding: 10px;
             width: 200px;
 
-
             border-bottom-left-radius: 8px;
             border-bottom-right-radius: 8px;
         }
@@ -79,7 +78,7 @@
         ul {
             list-style-type: none;
             padding-left: 0;
-            font-size: 20px; /* 调整字体大小 */
+            font-size: 16px; /* 调整字体大小 */
             color: #e50909;
         }
 
@@ -100,22 +99,24 @@
             border-collapse: collapse;
             padding: 8px;
             text-align: left;
-            font-size: 20px; /* 调整字体大小 */
+            font-size: 16px; /* 调整字体大小 */
             color: #000000;
-
         }
 
         .diagnosis-details th, .diagnosis-details td {
             border: none;
-            left:500px;
         }
 
-        .diagnosis-details ul {
-            margin-left: 0; /* 防止默认的列表缩进 */
+        .diagnosis-details th {
+            font-weight: bold;
+        }
+
+        .diagnosis-details td {
+            padding-right: 30px; /* 调整两列之间的间距 */
         }
 
-        .diagnosis-details ul li {
-            padding-left: 0; /* 防止列表项内的额外缩进 */
+        .diagnosis-details .fault-code {
+            color: #e50909; /* 设置故障码字体颜色为红色 */
         }
 
         .company-info {
@@ -136,13 +137,11 @@
         .company-info td{
             color: #888888;
             font-size: 20px;
-
         }
         .vehicle-info table {
             font-size: 20px; /* 调整车辆信息表格内字体大小 */
         }
 
-
         .disclaimer {
             font-size: 16px; /* 调整字体大小 */
             color: #888888;
@@ -174,7 +173,6 @@
             background-color: #ECF1FA;
         }
 
-
         #companyInput{
             background-color: #ECF1FA;
         }
@@ -186,7 +184,6 @@
             background-color: #ECF1FA;
         }
 
-
     </style>
     <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/sweetalert/1.1.3/sweetalert.min.css">
     <script src="https://cdnjs.cloudflare.com/ajax/libs/sweetalert/2.1.2/sweetalert.min.js"></script>
@@ -200,14 +197,9 @@
     <p class="report-time">- ${reportTime} -</p>
 </div>
 
-
 <div class="vehicle-info">
     <div>
         <h2>${carInfoTitle}</h2>
-      <!--  <img src="https://wl-resource.obs.cn-south-1.myhuaweicloud.com:443/static/img.png"
-             height="30" width="30"
-             style="float: right; margin: 0 0 10px 10px; cursor: pointer;"
-             onclick="editCell()">-->
     </div>
     <table>
         <tr>
@@ -260,50 +252,37 @@
 <div class="diagnosis-details">
     <h2>${diagnosticDetailsTitle}</h2>
     <#list controlListMap as controlMap>
-    <div style="display: flex;"><div class="fan"><h3>${controlMap.getName()}</h3></div>
-        <div style="margin-top: 83px;width: 10000px;margin-right: 50px" ><hr color="#406DB7"></div></div>
-    <table>
-        <div class="company-info">
-            <p>${faultCodeTitle}(
-                <#if controlMap.getFaultCodeMap()?size != 0 >
-                ${controlMap.getFaultCodeMap()?size}
+    <div style="display: flex;">
+        <div class="fan"><h3>${controlMap.getName()}</h3></div>
+        <div style="margin-top: 83px;width: 10000px;margin-right: 50px"><hr color="#406DB7"></div>
+    </div>
+    <div class="company-info">
+        <p>${faultCodeTitle}(
+            <#if controlMap.getFaultCodeMap()?size != 0 >
+            ${controlMap.getFaultCodeMap()?size}
+            <#else>
+            0
+        </#if>
+        )</p>
+    </div>
+    <table class="fault-code">
+        <#list controlMap.getFaultCodeMap()?keys as key>
+        <tr>
+            <td style="color: #e50909">${key}</td>
+            <td style="color: #e50909">
+                <#if controlMap.getFaultCodeMap()[key].description?has_content>
+                ${controlMap.getFaultCodeMap()[key].description}
                 <#else>
-                0
             </#if>
-            )</p>
-        </div>
-
-        <tr>
-            <td>
-                <ul>
-                    <#list controlMap.getFaultCodeMap()?keys as key>
-                    <li>${key}:</li>
-                    <p></p>
-                </#list>
-                </ul>
-            </td>
-            <td style="padding-left: 180px">
-                <ul>
-                    <#list controlMap.getFaultCodeMap()?values as value>
-                    <#if value?? && value.description?has_content>
-                    <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.status?has_content>
-                    <li>${value.status}</li>
-                </#if>
-                <p></p>
-            </#list>
-            </ul>
+            <td style="color: #e50909">
+                <#if controlMap.getFaultCodeMap()[key].status?has_content>
+                ${controlMap.getFaultCodeMap()[key].status}
+                <#else>
+            </#if>
             </td>
-
         </tr>
+    </#list>
     </table>
     <div class="vehicle-info">
         <p>${versionInfoTitle}(
@@ -312,7 +291,6 @@
             <#else>
             0
         </#if>
-
         )</p>
     </div>
     <table>
@@ -326,12 +304,7 @@
 </#list>
 </div>
 
-
 <div class="company-info">
-    <!--<img src="https://wl-resource.obs.cn-south-1.myhuaweicloud.com:443/static/img.png"
-         height="30" width="30"
-         style="float: right; margin: 0 0 10px 10px; cursor: pointer;"
-         onclick="editCellFoot()">-->
     <table>
         <tr>
             <td>${company}:</td>
@@ -363,114 +336,9 @@
             </#if>
             </td>
         </tr>
-
     </table>
     <p STYLE="font-size: 15px"><text style="color: red">*</text>${message}</p>
 </div>
-<!--<script>
-
-
-
-    function editCell() {
-        var vin = document.getElementById('vin');
-        var year = document.getElementById('year');
-        var mileage = document.getElementById('mileage');
-        var vinText = vin.innerText;
-        var yearText = year.innerText;
-        var mileageText = mileage.innerText;
-
-
-
-        vin.innerHTML = '<input type="text" id="vinInput" value="' + vinText + '" onblur="saveChanges(\'vin\', this.value)">';
-        year.innerHTML = '<input type="text" id="yearInput" value="' + yearText + '" onblur="saveChanges(\'year\', this.value)">';
-        mileage.innerHTML = '<input type="text" id="mileageInput" value="' + mileageText + '" onblur="saveChanges(\'mileage\', this.value)">';
-
-    }
-
-
-
-    function saveChanges(field,value) {
-        if (value==''){
-            return
-        }
-        var input = document.getElementById(field);
-        var id = ${id};
-        // 这里可以进行保存操作,比如向服务器发送请求保存数据修改
-        // 保存完成后可以进行一些提示或其他操作
-        // 使用 Axios 发送 POST 请求
-        axios.post('http://116.205.227.91:8888/app/diagnosis/report/updateBase', {
-            id: id,
-            type: field,
-            value: value,
-        }, {
-            withCredentials: true, // 启用跨域支持
-        })
-            .then(function (response) {
-                if (response.data.code == 200) {
-                    swal("修改成功!", "", "success");
-                    // 最后销毁输入框,恢复文本
-                    input.innerHTML = value;
-                } else {
-                    swal("修改失败!", "", "fail");
-                }
-            })
-            .catch(function (error) {
-                console.error(error);
-            });
-    }
-
-    function editCellFoot() {
-        var address = document.getElementById('address');
-        var company = document.getElementById('company');
-        var phone = document.getElementById('phone');
-        var addressText = address.innerText;
-        var companyText = company.innerText;
-        var phoneText = phone.innerText;
-
-
-
-        address.innerHTML = '<input type="text" id="addressInput" value="' +
-            addressText + '" onblur="saveChangesFoot(\'address\', this.value)">';
-
-        company.innerHTML = '<input type="text" id="companyInput" value="'
-            + companyText + '" onblur="saveChangesFoot(\'company\', this.value)">';
-
-        phone.innerHTML = '<input type="text" id="phoneInput" value="' +
-            phoneText + '" onblur="saveChangesFoot(\'phone\', this.value)">';
-
-    }
-
-
-
-    function saveChangesFoot(field,value) {
-        if (value == '') {
-            return
-        }
-        var input = document.getElementById(field);
-        var id = ${id};
-
-        axios.post('http://116.205.227.91:8888/app/diagnosis/report/updateCompany', {
-            id: id,
-            type: field,
-            value: value,
-        }, {
-            withCredentials: true, // 启用跨域支持
-        })
-            .then(function (response) {
-                if (response.data.code == 200) {
-                    swal("修改成功!", "", "success");
-                    // 最后销毁输入框,恢复文本
-                    input.innerHTML = value;
-                } else {
-                    swal("修改失败!", "", "fail");
-                }
-            })
-            .catch(function (error) {
-                console.error(error);
-            });
-    }
-</script>-->
-
 
 </body>
 </html>