From 9ca1188c5a951ea2f4b94876098798c8cd64784c Mon Sep 17 00:00:00 2001
From: mitao <2763622819@qq.com>
Date: 星期五, 03 一月 2025 18:02:16 +0800
Subject: [PATCH] 1.bug修改

---
 medicalWaste-system/src/main/java/com/sinata/system/utils/ImageToBase64.java             |   31 +++++++++++++++
 medicalWaste-system/src/main/java/com/sinata/system/service/biz/StaticsService.java      |   25 +++++-------
 medicalWaste-system/src/main/java/com/sinata/system/domain/vo/MedicalWasteProcessVO.java |    2 
 medicalWaste-system/src/main/resources/mapper/system/MwCheckoutRecordMapper.xml          |    5 +-
 medicalWaste-system/src/main/java/com/sinata/system/domain/dto/SysDictDataDTO.java       |    3 +
 5 files changed, 48 insertions(+), 18 deletions(-)

diff --git a/medicalWaste-system/src/main/java/com/sinata/system/domain/dto/SysDictDataDTO.java b/medicalWaste-system/src/main/java/com/sinata/system/domain/dto/SysDictDataDTO.java
index bc9fca8..2284725 100644
--- a/medicalWaste-system/src/main/java/com/sinata/system/domain/dto/SysDictDataDTO.java
+++ b/medicalWaste-system/src/main/java/com/sinata/system/domain/dto/SysDictDataDTO.java
@@ -23,4 +23,7 @@
 
     @ApiModelProperty("备注")
     private String remark;
+    
+    @ApiModelProperty("大屏统计颜色")
+    private String cssClass;
 }
diff --git a/medicalWaste-system/src/main/java/com/sinata/system/domain/vo/MedicalWasteProcessVO.java b/medicalWaste-system/src/main/java/com/sinata/system/domain/vo/MedicalWasteProcessVO.java
index c207d1e..ee3fca2 100644
--- a/medicalWaste-system/src/main/java/com/sinata/system/domain/vo/MedicalWasteProcessVO.java
+++ b/medicalWaste-system/src/main/java/com/sinata/system/domain/vo/MedicalWasteProcessVO.java
@@ -37,7 +37,7 @@
     private BigDecimal weight;
 
     @ApiModelProperty("收集-收集人姓名")
-    private Long collectUserName;
+    private String collectUserName;
 
     @ApiModelProperty("运输-装车时间")
     private Date checkoutTime;
diff --git a/medicalWaste-system/src/main/java/com/sinata/system/service/biz/StaticsService.java b/medicalWaste-system/src/main/java/com/sinata/system/service/biz/StaticsService.java
index f878b2b..a088eab 100644
--- a/medicalWaste-system/src/main/java/com/sinata/system/service/biz/StaticsService.java
+++ b/medicalWaste-system/src/main/java/com/sinata/system/service/biz/StaticsService.java
@@ -28,6 +28,7 @@
 import com.sinata.system.service.MwDisposalRecordService;
 import com.sinata.system.service.MwWarningRecordService;
 import com.sinata.system.service.SysDepartmentService;
+import com.sinata.system.utils.ImageToBase64;
 import lombok.RequiredArgsConstructor;
 import org.springframework.stereotype.Service;
 
@@ -241,7 +242,7 @@
                         departmentReportItemVO.setName(transformVO.getHospitalName());
                         departmentReportItemVO.setData(new ArrayList<>());
                         departmentReportItemVO.setDriverName(transformVO.getDriverName());
-                        departmentReportItemVO.setHospitalSignature(transformVO.getHospitalSignature());
+                        departmentReportItemVO.setHospitalSignature(ImageToBase64.convertImageToBase64(transformVO.getHospitalSignature()));
                         departmentReportItemVO.setHandoverTime(transformVO.getCheckoutTime());
                         for (SysDictData sysDictData : wasteTypeList) {
                             BigDecimal count = BigDecimal.valueOf(transformVO.getCollectRecordList().stream().filter(item -> item.getWasteType().equals(sysDictData.getDictCode())).count());
@@ -370,23 +371,17 @@
                 SimpleDateFormat finalSdf = sdf;
                 //接收
                 for (SysDictData sysDictData : wasteTypeList) {
-                    departmentReportItemVO.getData().add(BigDecimal.ZERO);
-                    if (CollUtils.isNotEmpty(receivedList)) {
-                        BigDecimal totalWeight = receivedList.stream().filter(item -> item.getWasteType().equals(sysDictData.getDictCode()) &&
-                                        finalSdf.format(item.getReceiveTime()).equals(date)).map(MwDisposalRecordReportVO::getWeight)
-                                .reduce(BigDecimal.ZERO, BigDecimal::add);
-                        departmentReportItemVO.getData().add(totalWeight);
-                    }
+                    BigDecimal totalWeight = receivedList.stream().filter(item -> item.getWasteType().equals(sysDictData.getDictCode()) &&
+                                    finalSdf.format(item.getReceiveTime()).equals(date)).map(MwDisposalRecordReportVO::getWeight)
+                            .reduce(BigDecimal.ZERO, BigDecimal::add);
+                    departmentReportItemVO.getData().add(totalWeight);
                 }
                 //处置
                 for (SysDictData sysDictData : wasteTypeList) {
-                    departmentReportItemVO.getData().add(BigDecimal.ZERO);
-                    if (CollUtils.isNotEmpty(disposaledList)) {
-                        BigDecimal totalWeight = disposaledList.stream().filter(item -> item.getWasteType().equals(sysDictData.getDictCode()) &&
-                                        finalSdf.format(item.getReceiveTime()).equals(date)).map(MwDisposalRecordReportVO::getWeight)
-                                .reduce(BigDecimal.ZERO, BigDecimal::add);
-                        departmentReportItemVO.getData().add(totalWeight);
-                    }
+                    BigDecimal totalWeight = disposaledList.stream().filter(item -> item.getWasteType().equals(sysDictData.getDictCode()) &&
+                                    finalSdf.format(item.getReceiveTime()).equals(date)).map(MwDisposalRecordReportVO::getWeight)
+                            .reduce(BigDecimal.ZERO, BigDecimal::add);
+                    departmentReportItemVO.getData().add(totalWeight);
                 }
                 list.add(departmentReportItemVO);
             }
diff --git a/medicalWaste-system/src/main/java/com/sinata/system/utils/ImageToBase64.java b/medicalWaste-system/src/main/java/com/sinata/system/utils/ImageToBase64.java
new file mode 100644
index 0000000..cf8c555
--- /dev/null
+++ b/medicalWaste-system/src/main/java/com/sinata/system/utils/ImageToBase64.java
@@ -0,0 +1,31 @@
+package com.sinata.system.utils;
+
+import org.apache.commons.io.IOUtils;
+
+import java.io.IOException;
+import java.net.URL;
+import java.util.Base64;
+
+public class ImageToBase64 {
+    /**
+     * 网络图片转Base64
+     *
+     * @param imageUrl
+     * @return
+     * @throws IOException
+     */
+    public static String convertImageToBase64(String imageUrl) {
+        try {
+            return Base64.getEncoder().encodeToString(IOUtils.toByteArray(new URL(imageUrl)));
+        } catch (IOException e) {
+            throw new RuntimeException(e);
+        }
+    }
+
+
+    public static void main(String[] args) {
+        String imageUrl = "https://ja-medical-service.oss-cn-chengdu.aliyuncs.com/medical/tmp_8d18f8502484db9141a627d807dccb7c20250103015938.png";
+        String base64Image = convertImageToBase64(imageUrl);
+        System.out.println("Base64 Image: " + base64Image);
+    }
+}
\ No newline at end of file
diff --git a/medicalWaste-system/src/main/resources/mapper/system/MwCheckoutRecordMapper.xml b/medicalWaste-system/src/main/resources/mapper/system/MwCheckoutRecordMapper.xml
index c175023..8b0ccce 100644
--- a/medicalWaste-system/src/main/resources/mapper/system/MwCheckoutRecordMapper.xml
+++ b/medicalWaste-system/src/main/resources/mapper/system/MwCheckoutRecordMapper.xml
@@ -122,7 +122,8 @@
         SUM(MCR.BOX_NUM) AS boxNum,
         SUM(MCR.TOTAL_WEIGHT) AS weight,
         MIN(MCR2.BOX_TIME) AS startTime,
-        MDR.RECEIVE_TIME AS endTime
+        MDR.RECEIVE_TIME AS endTime,
+        MCR2.STATUS
         FROM MW_CHECKOUT_RECORD MCR
         LEFT JOIN MW_CHECKOUT_RECORD_ITEM MCRI ON MCRI.CHECKOUT_RECORD_ID = MCR.ID
         LEFT JOIN MW_DISPOSAL_RECORD_ITEM MDRI ON MDRI.COLLECT_RECORD_ID = MCRI.COLLECT_RECORD_ID
@@ -185,7 +186,7 @@
                SUM(MCR2.WEIGHT)       AS totalWeight,
                MAX(MCR.CHECKOUT_TIME) AS latestCheckoutTime
         FROM MW_TRANSIT_ROUTE_CAR MTRC
-                 LEFT JOIN MW_CHECKOUT_RECORD MCR on MTRC.CAR_ID = MCR.CAR_ID
+        INNER JOIN MW_CHECKOUT_RECORD MCR on MTRC.CAR_ID = MCR.CAR_ID
                  LEFT JOIN MW_CHECKOUT_RECORD_ITEM MCRI on MCR.ID = MCRI.CHECKOUT_RECORD_ID
                  LEFT JOIN MW_COLLECT_RECORD MCR2 ON MCR2.ID = MCRI.COLLECT_RECORD_ID
         <where>

--
Gitblit v1.7.1