mitao
2025-01-03 9ca1188c5a951ea2f4b94876098798c8cd64784c
1.bug修改
4个文件已修改
1个文件已添加
66 ■■■■ 已修改文件
medicalWaste-system/src/main/java/com/sinata/system/domain/dto/SysDictDataDTO.java 3 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
medicalWaste-system/src/main/java/com/sinata/system/domain/vo/MedicalWasteProcessVO.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
medicalWaste-system/src/main/java/com/sinata/system/service/biz/StaticsService.java 25 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
medicalWaste-system/src/main/java/com/sinata/system/utils/ImageToBase64.java 31 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
medicalWaste-system/src/main/resources/mapper/system/MwCheckoutRecordMapper.xml 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
medicalWaste-system/src/main/java/com/sinata/system/domain/dto/SysDictDataDTO.java
@@ -23,4 +23,7 @@
    @ApiModelProperty("备注")
    private String remark;
    @ApiModelProperty("大屏统计颜色")
    private String cssClass;
}
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;
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);
            }
medicalWaste-system/src/main/java/com/sinata/system/utils/ImageToBase64.java
New file
@@ -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);
    }
}
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>