From d89a42213b4a32535e93185dedf41fe7a7fc1940 Mon Sep 17 00:00:00 2001
From: mitao <2763622819@qq.com>
Date: 星期五, 04 四月 2025 01:57:13 +0800
Subject: [PATCH] bug修改

---
 medicalWaste-system/src/main/java/com/sinata/system/service/impl/MwCheckoutRecordServiceImpl.java       |    4 
 medicalWaste-system/src/main/java/com/sinata/system/config/AutoColumnWidthStrategy.java                 |    7 
 medicalWaste-system/src/main/java/com/sinata/system/config/AutoColumnWidthEntityStrategy.java           |   52 ++++++
 medicalWaste-system/src/main/java/com/sinata/system/service/impl/MwWarningRecordServiceImpl.java        |    6 
 medicalWaste-system/src/main/java/com/sinata/system/service/MwTransitCarService.java                    |    7 
 medicalWaste-system/src/main/java/com/sinata/system/utils/ImgUtils.java                                 |  151 ++++++++++++++++++
 medicalWaste-system/src/main/resources/mapper/system/MwStagingRoomMapper.xml                            |    4 
 medicalWaste-common/pom.xml                                                                             |    4 
 medicalWaste-system/src/main/java/com/sinata/system/service/biz/StaticsService.java                     |   64 +++++--
 medicalWaste-system/src/main/resources/mapper/system/MwTransitCarMapper.xml                             |    3 
 medicalWaste-system/src/main/java/com/sinata/system/service/impl/MwMicroEquipmentRecordServiceImpl.java |   12 
 medicalWaste-system/src/main/java/com/sinata/system/domain/vo/MwWarningRecordVO.java                    |   10 
 medicalWaste-admin/src/main/java/com/sinata/web/controller/backend/MwTransitCarController.java          |   11 +
 pom.xml                                                                                                 |    6 
 medicalWaste-system/src/main/java/com/sinata/system/domain/excel/MwCheckoutRecordExcel.java             |   21 +-
 medicalWaste-system/src/main/java/com/sinata/system/service/impl/MwCollectRecordServiceImpl.java        |    6 
 medicalWaste-system/src/main/java/com/sinata/system/domain/vo/MwStorageRecordVO.java                    |   19 +-
 medicalWaste-system/src/main/java/com/sinata/system/domain/vo/MwCheckoutRecordExcelVO.java              |    2 
 medicalWaste-system/src/main/java/com/sinata/system/service/impl/MwStagingRoomServiceImpl.java          |   33 +++
 medicalWaste-system/src/main/java/com/sinata/system/domain/vo/MwMicroEquipmentRecordVO.java             |   15 +
 medicalWaste-system/src/main/java/com/sinata/system/service/impl/MwTransitCarServiceImpl.java           |    8 
 medicalWaste-system/src/main/java/com/sinata/system/domain/vo/MwCollectRecordVO.java                    |    2 
 22 files changed, 378 insertions(+), 69 deletions(-)

diff --git a/medicalWaste-admin/src/main/java/com/sinata/web/controller/backend/MwTransitCarController.java b/medicalWaste-admin/src/main/java/com/sinata/web/controller/backend/MwTransitCarController.java
index 7c5f175..306c1a9 100644
--- a/medicalWaste-admin/src/main/java/com/sinata/web/controller/backend/MwTransitCarController.java
+++ b/medicalWaste-admin/src/main/java/com/sinata/web/controller/backend/MwTransitCarController.java
@@ -50,6 +50,17 @@
     }
 
     /**
+     * 车辆选择分页列表
+     *
+     * @param query
+     * @return
+     */
+    @ApiOperation("车辆选择分页列表")
+    @PostMapping("/select-page")
+    public R<PageDTO<MwTransitCarVO>> pageSelectList(@Valid @RequestBody TransitCarQuery query) {
+        return R.ok(mwTransitCarService.pageSelectList(query));
+    }
+    /**
      * 详情
      *
      * @param id
diff --git a/medicalWaste-common/pom.xml b/medicalWaste-common/pom.xml
index ca02754..5b186b5 100644
--- a/medicalWaste-common/pom.xml
+++ b/medicalWaste-common/pom.xml
@@ -157,6 +157,10 @@
             <groupId>com.aliyun</groupId>
             <artifactId>dysmsapi20170525</artifactId>
         </dependency>
+        <dependency>
+            <groupId>net.coobird</groupId>
+            <artifactId>thumbnailator</artifactId>
+        </dependency>
     </dependencies>
 
 </project>
\ No newline at end of file
diff --git a/medicalWaste-system/src/main/java/com/sinata/system/config/AutoColumnWidthEntityStrategy.java b/medicalWaste-system/src/main/java/com/sinata/system/config/AutoColumnWidthEntityStrategy.java
new file mode 100644
index 0000000..b6dc1f1
--- /dev/null
+++ b/medicalWaste-system/src/main/java/com/sinata/system/config/AutoColumnWidthEntityStrategy.java
@@ -0,0 +1,52 @@
+package com.sinata.system.config;
+
+import cn.idev.excel.metadata.Head;
+import cn.idev.excel.metadata.data.WriteCellData;
+import cn.idev.excel.write.metadata.holder.WriteSheetHolder;
+import cn.idev.excel.write.style.column.AbstractColumnWidthStyleStrategy;
+import org.apache.poi.ss.usermodel.Cell;
+
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+
+public class AutoColumnWidthEntityStrategy extends AbstractColumnWidthStyleStrategy {
+    private final Map<Integer, Map<Integer, Integer>> cache = new HashMap<>();
+
+    @Override
+    protected void setColumnWidth(WriteSheetHolder writeSheetHolder, List<WriteCellData<?>> cellDataList, Cell cell,
+                                  Head head, Integer relativeRowIndex, Boolean isHead) {
+        boolean needSetWidth = isHead || !cellDataList.isEmpty();
+        if (needSetWidth) {
+            Map<Integer, Integer> maxWidthMap = cache.computeIfAbsent(writeSheetHolder.getSheetNo(), k -> new HashMap<>());
+            int columnWidth = calculateWidth(cellDataList, cell, isHead);
+            if (columnWidth > 0) {
+                columnWidth = Math.min(columnWidth, 255); // 最大支持255字符
+                if (columnWidth > maxWidthMap.getOrDefault(cell.getColumnIndex(), 0)) {
+                    maxWidthMap.put(cell.getColumnIndex(), columnWidth);
+                    writeSheetHolder.getSheet().setColumnWidth(cell.getColumnIndex(), columnWidth * 270);
+                }
+            }
+        }
+    }
+
+    // 计算单元格内容长度(按字节)
+    private int calculateWidth(List<WriteCellData<?>> cellDataList, Cell cell, boolean isHead) {
+
+        if (isHead) {
+            return cell.getStringCellValue().getBytes().length;
+        } else {
+            WriteCellData<?> cellData = cellDataList.get(0);
+            switch (cellData.getType()) {
+                case STRING:
+                    return cellData.getStringValue().getBytes().length;
+                case NUMBER:
+                    return cellData.getNumberValue().toString().getBytes().length;
+                case DATE:
+                    return cellData.getDateValue().toString().getBytes().length;
+                default:
+                    return -1;
+            }
+        }
+    }
+}
\ No newline at end of file
diff --git a/medicalWaste-system/src/main/java/com/sinata/system/config/AutoColumnWidthStrategy.java b/medicalWaste-system/src/main/java/com/sinata/system/config/AutoColumnWidthStrategy.java
index 01a4fa2..0a8623c 100644
--- a/medicalWaste-system/src/main/java/com/sinata/system/config/AutoColumnWidthStrategy.java
+++ b/medicalWaste-system/src/main/java/com/sinata/system/config/AutoColumnWidthStrategy.java
@@ -20,11 +20,14 @@
         if (needSetWidth) {
             Map<Integer, Integer> maxWidthMap = cache.computeIfAbsent(writeSheetHolder.getSheetNo(), k -> new HashMap<>());
             int columnWidth = calculateWidth(cellDataList, cell, isHead);
+            if (columnWidth >= 16) {
+                columnWidth = 16;
+            }
             if (columnWidth > 0) {
                 columnWidth = Math.min(columnWidth, 255); // 最大支持255字符
                 if (columnWidth > maxWidthMap.getOrDefault(cell.getColumnIndex(), 0)) {
                     maxWidthMap.put(cell.getColumnIndex(), columnWidth);
-                    writeSheetHolder.getSheet().setColumnWidth(cell.getColumnIndex(), columnWidth * 256);
+                    writeSheetHolder.getSheet().setColumnWidth(cell.getColumnIndex(), columnWidth * 255);
                 }
             }
         }
@@ -41,6 +44,8 @@
                     return cellData.getStringValue().getBytes().length;
                 case NUMBER:
                     return cellData.getNumberValue().toString().getBytes().length;
+                case DATE:
+                    return cellData.getDateValue().toString().getBytes().length;
                 default:
                     return -1;
             }
diff --git a/medicalWaste-system/src/main/java/com/sinata/system/domain/excel/MwCheckoutRecordExcel.java b/medicalWaste-system/src/main/java/com/sinata/system/domain/excel/MwCheckoutRecordExcel.java
index 08c4f68..4ff01c2 100644
--- a/medicalWaste-system/src/main/java/com/sinata/system/domain/excel/MwCheckoutRecordExcel.java
+++ b/medicalWaste-system/src/main/java/com/sinata/system/domain/excel/MwCheckoutRecordExcel.java
@@ -6,7 +6,6 @@
 import lombok.Data;
 
 import java.math.BigDecimal;
-import java.net.URL;
 import java.util.Date;
 
 /**
@@ -17,31 +16,31 @@
 public class MwCheckoutRecordExcel {
     
     @ApiModelProperty("出库时间")
-    @ExcelProperty(value = "出库时间", index = 1)
+    @ExcelProperty(value = "出库时间", index = 0)
     private Date checkoutTime;
 
-    @ExcelProperty(value = "医院", index = 2)
+    @ExcelProperty(value = "医院", index = 1)
     private String hospitalName;
 
-    @ExcelProperty(value = "暂存间", index = 3)
+    @ExcelProperty(value = "暂存间", index = 2)
     private String roomName;
 
-    @ExcelProperty(value = "箱数", index = 4)
+    @ExcelProperty(value = "箱数", index = 3)
     private Integer boxNum;
 
-    @ExcelProperty(value = "袋数", index = 5)
+    @ExcelProperty(value = "袋数", index = 4)
     private Integer bagNum;
 
-    @ExcelProperty(value = "总重量", index = 6)
+    @ExcelProperty(value = "医废重量(kg)", index = 5)
     private BigDecimal totalWeight;
 
-    @ExcelProperty(value = "医院签名", index = 7)
-    private URL hospitalSignature;
+    @ExcelProperty(value = "医院签名", index = 6)
+    private byte[] hospitalSignature;
 
-    @ExcelProperty(value = "司机姓名", index = 8)
+    @ExcelProperty(value = "司机姓名", index = 7)
     private String driverName;
 
-    @ExcelProperty(value = "车牌号", index = 9)
+    @ExcelProperty(value = "车牌号", index = 8)
     private String licensePlateNumber;
 
     @ApiModelProperty("记录id")
diff --git a/medicalWaste-system/src/main/java/com/sinata/system/domain/vo/MwCheckoutRecordExcelVO.java b/medicalWaste-system/src/main/java/com/sinata/system/domain/vo/MwCheckoutRecordExcelVO.java
index 5269bda..24292a1 100644
--- a/medicalWaste-system/src/main/java/com/sinata/system/domain/vo/MwCheckoutRecordExcelVO.java
+++ b/medicalWaste-system/src/main/java/com/sinata/system/domain/vo/MwCheckoutRecordExcelVO.java
@@ -41,7 +41,7 @@
     private Integer bagNum;
 
     @ApiModelProperty("总重量")
-    @ExcelProperty(value = "重量", index = 4)
+    @ExcelProperty(value = "重量(kg)", index = 4)
     private BigDecimal totalWeight;
 
     @ApiModelProperty("司机姓名")
diff --git a/medicalWaste-system/src/main/java/com/sinata/system/domain/vo/MwCollectRecordVO.java b/medicalWaste-system/src/main/java/com/sinata/system/domain/vo/MwCollectRecordVO.java
index 3a2193d..fe0a2b1 100644
--- a/medicalWaste-system/src/main/java/com/sinata/system/domain/vo/MwCollectRecordVO.java
+++ b/medicalWaste-system/src/main/java/com/sinata/system/domain/vo/MwCollectRecordVO.java
@@ -57,7 +57,7 @@
     private String wasteTypeStr;
 
     @ApiModelProperty("医废重量")
-    @ExcelProperty(value = "医废重量", index = 5)
+    @ExcelProperty(value = "医废重量(kg)", index = 5)
     private BigDecimal weight;
 
     @ApiModelProperty("出库人员id")
diff --git a/medicalWaste-system/src/main/java/com/sinata/system/domain/vo/MwMicroEquipmentRecordVO.java b/medicalWaste-system/src/main/java/com/sinata/system/domain/vo/MwMicroEquipmentRecordVO.java
index 5c46858..e9527c2 100644
--- a/medicalWaste-system/src/main/java/com/sinata/system/domain/vo/MwMicroEquipmentRecordVO.java
+++ b/medicalWaste-system/src/main/java/com/sinata/system/domain/vo/MwMicroEquipmentRecordVO.java
@@ -1,5 +1,8 @@
 package com.sinata.system.domain.vo;
 
+import cn.idev.excel.annotation.ExcelIgnore;
+import cn.idev.excel.annotation.ExcelProperty;
+import cn.idev.excel.annotation.format.DateTimeFormat;
 import io.swagger.annotations.ApiModel;
 import io.swagger.annotations.ApiModelProperty;
 import lombok.Data;
@@ -17,36 +20,48 @@
 public class MwMicroEquipmentRecordVO {
 
     @ApiModelProperty("设备使用记录id")
+    @ExcelIgnore
     private Long id;
 
     @ApiModelProperty("医院名称")
+    @ExcelProperty(value = "医院名称", index = 0)
     private String hospitalName;
 
     @ApiModelProperty("设备名称")
+    @ExcelProperty(value = "设备名称", index = 1)
     private String equipmentName;
 
     @ApiModelProperty("设备id")
+    @ExcelIgnore
     private Long equipmentId;
 
     @ApiModelProperty("使用时间")
+    @ExcelProperty(value = "使用时间", index = 2)
+    @DateTimeFormat(value = "yyyy-MM-dd HH:mm:ss")
     private Date useTime;
 
     @ApiModelProperty("处理箱数")
+    @ExcelProperty(value = "处理箱数", index = 3)
     private Integer boxNum;
 
     @ApiModelProperty("处理袋数")
+    @ExcelProperty(value = "处理袋数", index = 4)
     private Integer bagNum;
 
     @ApiModelProperty("处理重量")
+    @ExcelProperty(value = "处理重量(kg)", index = 5)
     private BigDecimal totalWeight;
 
     @ApiModelProperty("操作人员")
+    @ExcelProperty(value = "操作人员", index = 6)
     private String nickName;
 
     @ApiModelProperty("备注")
+    @ExcelProperty(value = "备注", index = 7)
     private String remark;
 
     @ApiModelProperty("医废列表")
+    @ExcelIgnore
     private List<MwStorageRecordVO> medicalWasteList;
 }
 
diff --git a/medicalWaste-system/src/main/java/com/sinata/system/domain/vo/MwStorageRecordVO.java b/medicalWaste-system/src/main/java/com/sinata/system/domain/vo/MwStorageRecordVO.java
index 9b69223..3c92164 100644
--- a/medicalWaste-system/src/main/java/com/sinata/system/domain/vo/MwStorageRecordVO.java
+++ b/medicalWaste-system/src/main/java/com/sinata/system/domain/vo/MwStorageRecordVO.java
@@ -26,7 +26,7 @@
     private Long departmentId;
 
     @ApiModelProperty("医院名称")
-    @ExcelProperty(value = "医院名称", index = 2)
+    @ExcelProperty(value = "医院名称", index = 1)
     private String hospitalName;
 
     @ApiModelProperty("暂存间id")
@@ -34,11 +34,11 @@
     private Long stagingRoomId;
 
     @ApiModelProperty("暂存间名称")
-    @ExcelProperty(value = "暂存间", index = 3)
+    @ExcelProperty(value = "暂存间", index = 2)
     private String roomName;
 
     @ApiModelProperty("医废编号")
-    @ExcelProperty(value = "医废编号", index = 4)
+    @ExcelProperty(value = "医废编号", index = 3)
     private String medicalWasteNumber;
 
     @ApiModelProperty("转运箱id")
@@ -46,7 +46,7 @@
     private Long boxId;
 
     @ApiModelProperty("箱子编号")
-    @ExcelProperty(value = "箱子编号", index = 5)
+    @ExcelProperty(value = "箱子编号", index = 4)
     private String boxNumber;
 
     @ApiModelProperty("袋数")
@@ -54,14 +54,15 @@
     private Integer bagNum;
 
     @ApiModelProperty("医废类型(数据字典id)")
+    @ExcelIgnore
     private Integer wasteType;
 
     @ApiModelProperty("医废类型名称")
-    @ExcelProperty(value = "医废类型", index = 6)
+    @ExcelProperty(value = "医废类型", index = 5)
     private String wasteTypeStr;
 
     @ApiModelProperty("医废重量")
-    @ExcelProperty(value = "医废重量", index = 7)
+    @ExcelProperty(value = "重量(kg)", index = 6)
     private BigDecimal weight;
 
     @ApiModelProperty("出库人员id")
@@ -77,7 +78,7 @@
     private Date checkoutTime;
 
     @ApiModelProperty("医废状态 1:暂存中 2:运输中 3:已接收 4:已处置")
-    @ExcelProperty(value = "医废状态", index = 8)
+    @ExcelIgnore
     private Integer status;
 
     @ApiModelProperty("封箱时间")
@@ -89,11 +90,11 @@
     private Long collectUserId;
 
     @ApiModelProperty("入库人员")
-    @ExcelProperty(value = "入库人员", index = 8)
+    @ExcelProperty(value = "入库人员", index = 7)
     private String collectUserName;
 
     @ApiModelProperty("入库时间")
-    @ExcelProperty(value = "入库时间", index = 1)
+    @ExcelProperty(value = "入库时间", index = 0)
     private Date collectTime;
 
 }
diff --git a/medicalWaste-system/src/main/java/com/sinata/system/domain/vo/MwWarningRecordVO.java b/medicalWaste-system/src/main/java/com/sinata/system/domain/vo/MwWarningRecordVO.java
index b7e7500..6286dc9 100644
--- a/medicalWaste-system/src/main/java/com/sinata/system/domain/vo/MwWarningRecordVO.java
+++ b/medicalWaste-system/src/main/java/com/sinata/system/domain/vo/MwWarningRecordVO.java
@@ -25,7 +25,7 @@
     private Long id;
 
     @ApiModelProperty("预警时间")
-    @ExcelProperty(value = "预警时间", index = 1)
+    @ExcelProperty(value = "预警时间", index = 0)
     private Date warnTime;
 
     @ApiModelProperty("预警对象id")
@@ -33,22 +33,22 @@
     private Long warningTargetId;
 
     @ApiModelProperty("预警对象")
-    @ExcelProperty(value = "预警对象", index = 2)
+    @ExcelProperty(value = "预警对象", index = 1)
     private String warningTargetName;
 
     @ApiModelProperty("预警类型 1:出库超时预警 2:暂存间使用率预警 3:合同到期预警 4:健康记录预警 \" +\n" +
             "            \"5:疫苗记录预警 6:防护用品使用预警 7:防护用品库存预警  8:医疗机构产废日预警 \" +\n" +
             "            \"9:医疗机构产废月预警 10:医疗机构存储量预警 11:车辆转运异常预警 12:处置单位存储量预警")
-    @ExcelProperty(value = "预警类型", index = 3, converter = EConverter.class)
+    @ExcelProperty(value = "预警类型", index = 2, converter = EConverter.class)
     @FastExcel(type = WarningTypeEnum.class)
     private Integer type;
 
     @ApiModelProperty("预警消息")
-    @ExcelProperty(value = "预警消息", index = 4)
+    @ExcelProperty(value = "预警消息", index = 3)
     private String message;
 
     @ApiModelProperty("预警状态 1:未解除;2:已解除")
-    @ExcelProperty(value = "预警状态", index = 5)
+    @ExcelProperty(value = "预警状态", index = 4, converter = EConverter.class)
     @FastExcel(type = WarningStatusEnum.class)
     private Integer status;
 
diff --git a/medicalWaste-system/src/main/java/com/sinata/system/service/MwTransitCarService.java b/medicalWaste-system/src/main/java/com/sinata/system/service/MwTransitCarService.java
index 381930d..4c923bf 100644
--- a/medicalWaste-system/src/main/java/com/sinata/system/service/MwTransitCarService.java
+++ b/medicalWaste-system/src/main/java/com/sinata/system/service/MwTransitCarService.java
@@ -25,6 +25,13 @@
      * @return
      */
     PageDTO<MwTransitCarVO> pageList(TransitCarQuery query);
+    /**
+     * 车辆选择分页列表
+     *
+     * @param query
+     * @return
+     */
+    PageDTO<MwTransitCarVO> pageSelectList(TransitCarQuery query);
 
     /**
      * 详情
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 6970076..bd9680f 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
@@ -7,6 +7,7 @@
 import com.sinata.common.utils.DateUtils;
 import com.sinata.common.utils.StringUtils;
 import com.sinata.system.config.AutoColumnWidthStrategy;
+import com.sinata.system.config.CustomCellWriteHeightConfig;
 import com.sinata.system.domain.MwCollectRecord;
 import com.sinata.system.domain.MwWarningRecord;
 import com.sinata.system.domain.SysDepartment;
@@ -29,15 +30,20 @@
 import com.sinata.system.service.MwWarningRecordService;
 import com.sinata.system.service.SysDepartmentService;
 import com.sinata.system.utils.ImageToBase64;
+import com.sinata.system.utils.ImgUtils;
 import lombok.RequiredArgsConstructor;
+import net.coobird.thumbnailator.Thumbnails;
+import org.apache.commons.io.FilenameUtils;
 import org.springframework.stereotype.Service;
 
+import javax.imageio.ImageIO;
 import javax.servlet.http.HttpServletResponse;
+import java.awt.image.BufferedImage;
+import java.io.ByteArrayOutputStream;
 import java.io.IOException;
 import java.math.BigDecimal;
 import java.math.RoundingMode;
 import java.net.MalformedURLException;
-import java.net.URL;
 import java.net.URLEncoder;
 import java.text.SimpleDateFormat;
 import java.util.ArrayList;
@@ -276,10 +282,10 @@
         String finalTitle = title;
         wasteTypeList.forEach(item -> {
             headTitles.add(Lists.newArrayList(finalTitle, item.getDictLabel(), "数量"));
-            headTitles.add(Lists.newArrayList(finalTitle, item.getDictLabel(), "重量(KG)"));
+            headTitles.add(Lists.newArrayList(finalTitle, item.getDictLabel(), "重量(kg)"));
         });
         headTitles.add(Lists.newArrayList(title, "小计", "数量"));
-        headTitles.add(Lists.newArrayList(title, "小计", "重量(KG)"));
+        headTitles.add(Lists.newArrayList(title, "小计", "重量(kg)"));
         headTitles.add(Lists.newArrayList(title, "是否超时", "是否超时"));
         return headTitles;
     }
@@ -388,20 +394,21 @@
     }
 
     public void transformListExport(TransformQuery query) throws IOException {
-        List<List<String>> head = transformReportHead(query.getWasteTypeCodeList());
+        List<List<String>> head = transformReportHead(query);
         System.out.println(JSONObject.toJSONString(head));
         // 这里注意 有同学反应使用swagger 会导致各种问题,请直接用浏览器或者用postman
         response.setContentType("application/vnd.openxmlformats-officedocument.spreadsheetml.sheet");
         response.setCharacterEncoding("utf-8");
         // 这里URLEncoder.encode可以防止中文乱码 当然和easyexcel没有关系
-        String fileName = URLEncoder.encode("医院报表", "UTF-8").replaceAll("\\+", "%20");
+        String fileName = URLEncoder.encode("转移联单", "UTF-8").replaceAll("\\+", "%20");
         response.setHeader("Content-disposition", "attachment;filename*=utf-8''" + fileName + ".xlsx");
         // 这里需要设置不关闭流
         FastExcel.write(response.getOutputStream())
                 .head(head)
                 .autoCloseStream(Boolean.TRUE)
                 .registerWriteHandler(new AutoColumnWidthStrategy())
-                .sheet("转运联单")
+                .registerWriteHandler(new CustomCellWriteHeightConfig())
+                .sheet("转移联单")
                 .doWrite(getTransformReportStaticsData(query));
     }
 
@@ -421,7 +428,19 @@
                 List<Object> data = new ArrayList<>();
                 data.add(departmentReportItemVO.getName());
                 data.addAll(departmentReportItemVO.getData());
-                data.add(StringUtils.isNotBlank(departmentReportItemVO.getHospitalSignatureUrl()) ? new URL(departmentReportItemVO.getHospitalSignatureUrl()) : "");
+                if (StringUtils.isNotBlank(departmentReportItemVO.getHospitalSignatureUrl())) {
+                    try (ByteArrayOutputStream outputStream = new ByteArrayOutputStream()) {
+                        //获取文件后缀
+                        String extension = FilenameUtils.getExtension(departmentReportItemVO.getHospitalSignatureUrl());
+                        BufferedImage originalImage = ImageIO.read(ImgUtils.getFileByHttpURL(departmentReportItemVO.getHospitalSignatureUrl()));
+                        Thumbnails.of(originalImage).scale(0.8).rotate(270).outputFormat(extension).toOutputStream(outputStream);
+                        data.add(outputStream.toByteArray());
+                    } catch (IOException e) {
+                        throw new RuntimeException(e);
+                    }
+                } else {
+                    data.add("");
+                }
                 data.add(departmentReportItemVO.getDriverName());
                 data.add(departmentReportItemVO.getHandoverTime());
                 result.add(data);
@@ -430,27 +449,34 @@
         }
         return CollUtils.emptyList();
     }
-
     /**
      * 转运联单导出表头
      *
-     * @param wasteTypeCodeList
+     * @param query
      * @return
      */
-    private List<List<String>> transformReportHead(List<Long> wasteTypeCodeList) {
+    private List<List<String>> transformReportHead(TransformQuery query) {
         //查询医废类型
-        List<SysDictDataVO> sysDictDataVOS = sysDictDataService.medicalWasteTypeListByDictCode(wasteTypeCodeList);
+        List<SysDictDataVO> sysDictDataVOS = sysDictDataService.medicalWasteTypeListByDictCode(query.getWasteTypeCodeList());
+        SysDepartment department = sysDepartmentService.getById(query.getDepartmentId());
+        String title = "";
+        if (Objects.nonNull(department)) {
+            title = department.getDepartmentName() + "转移联单";
+        } else {
+            title = "转移联单";
+        }
         List<List<String>> headTitles = Lists.newArrayList();
-        headTitles.add(Lists.newArrayList("医院名称", "医院名称"));
+        headTitles.add(Lists.newArrayList(title, "医院名称", "医院名称"));
+        String finalTitle = title;
         sysDictDataVOS.forEach(item -> {
-            headTitles.add(Lists.newArrayList(item.getDictLabel(), "数量"));
-            headTitles.add(Lists.newArrayList(item.getDictLabel(), "重量(KG)"));
+            headTitles.add(Lists.newArrayList(finalTitle, item.getDictLabel(), "数量"));
+            headTitles.add(Lists.newArrayList(finalTitle, item.getDictLabel(), "重量(kg)"));
         });
-        headTitles.add(Lists.newArrayList("小计", "数量"));
-        headTitles.add(Lists.newArrayList("小计", "重量(KG)"));
-        headTitles.add(Lists.newArrayList("机构人员签字", "机构人员签字"));
-        headTitles.add(Lists.newArrayList("运输人员签字", "运输人员签字"));
-        headTitles.add(Lists.newArrayList("交接时间", "交接时间"));
+        headTitles.add(Lists.newArrayList(title, "小计", "数量"));
+        headTitles.add(Lists.newArrayList(title, "小计", "重量(kg)"));
+        headTitles.add(Lists.newArrayList(title, "机构人员签字", "机构人员签字"));
+        headTitles.add(Lists.newArrayList(title, "运输人员签字", "运输人员签字"));
+        headTitles.add(Lists.newArrayList(title, "交接时间", "交接时间"));
         return headTitles;
     }
 
diff --git a/medicalWaste-system/src/main/java/com/sinata/system/service/impl/MwCheckoutRecordServiceImpl.java b/medicalWaste-system/src/main/java/com/sinata/system/service/impl/MwCheckoutRecordServiceImpl.java
index 143f6cf..dd57448 100644
--- a/medicalWaste-system/src/main/java/com/sinata/system/service/impl/MwCheckoutRecordServiceImpl.java
+++ b/medicalWaste-system/src/main/java/com/sinata/system/service/impl/MwCheckoutRecordServiceImpl.java
@@ -9,7 +9,7 @@
 import com.sinata.common.utils.CollUtils;
 import com.sinata.common.utils.DateUtils;
 import com.sinata.common.utils.StringUtils;
-import com.sinata.system.config.AutoColumnWidthStrategy;
+import com.sinata.system.config.AutoColumnWidthEntityStrategy;
 import com.sinata.system.domain.MwCheckoutRecord;
 import com.sinata.system.domain.dto.CollectTotalUpDto;
 import com.sinata.system.domain.query.CheckoutRecordQuery;
@@ -87,7 +87,7 @@
         String fileName = URLEncoder.encode("转运记录", "UTF-8").replaceAll("\\+", "%20");
         response.setHeader("Content-disposition", "attachment;filename*=utf-8''" + fileName + ".xlsx");
         FastExcel.write(response.getOutputStream(), MwCheckoutRecordExcelVO.class)
-                .registerWriteHandler(new AutoColumnWidthStrategy())
+                .registerWriteHandler(new AutoColumnWidthEntityStrategy())
                 .sheet("转运记录")
                 .doWrite(mwCheckoutRecordExcelVOS);
     }
diff --git a/medicalWaste-system/src/main/java/com/sinata/system/service/impl/MwCollectRecordServiceImpl.java b/medicalWaste-system/src/main/java/com/sinata/system/service/impl/MwCollectRecordServiceImpl.java
index 51a8140..f81b042 100644
--- a/medicalWaste-system/src/main/java/com/sinata/system/service/impl/MwCollectRecordServiceImpl.java
+++ b/medicalWaste-system/src/main/java/com/sinata/system/service/impl/MwCollectRecordServiceImpl.java
@@ -6,7 +6,7 @@
 import com.sinata.common.entity.PageDTO;
 import com.sinata.common.exception.ServiceException;
 import com.sinata.common.utils.StringUtils;
-import com.sinata.system.config.AutoColumnWidthStrategy;
+import com.sinata.system.config.AutoColumnWidthEntityStrategy;
 import com.sinata.system.domain.MedicalWasteStaticsVO;
 import com.sinata.system.domain.MwCollectRecord;
 import com.sinata.system.domain.dto.CollectCarTotalUpDto;
@@ -133,8 +133,8 @@
         String fileName = URLEncoder.encode("医废收集记录", "UTF-8").replaceAll("\\+", "%20");
         response.setHeader("Content-disposition", "attachment;filename*=utf-8''" + fileName + ".xlsx");
         FastExcel.write(response.getOutputStream(), MwCollectRecordVO.class)
-                .registerWriteHandler(new AutoColumnWidthStrategy())
-                .sheet("医废收集记录").doWrite(vo);
+                .registerWriteHandler(new AutoColumnWidthEntityStrategy())
+                .sheet("医废追溯").doWrite(vo);
     }
 
     /**
diff --git a/medicalWaste-system/src/main/java/com/sinata/system/service/impl/MwMicroEquipmentRecordServiceImpl.java b/medicalWaste-system/src/main/java/com/sinata/system/service/impl/MwMicroEquipmentRecordServiceImpl.java
index 2b6976d..89f29ce 100644
--- a/medicalWaste-system/src/main/java/com/sinata/system/service/impl/MwMicroEquipmentRecordServiceImpl.java
+++ b/medicalWaste-system/src/main/java/com/sinata/system/service/impl/MwMicroEquipmentRecordServiceImpl.java
@@ -12,6 +12,7 @@
 import com.sinata.common.utils.DateUtils;
 import com.sinata.common.utils.SecurityUtils;
 import com.sinata.common.utils.StringUtils;
+import com.sinata.system.config.AutoColumnWidthEntityStrategy;
 import com.sinata.system.config.AutoColumnWidthStrategy;
 import com.sinata.system.domain.MwCollectRecord;
 import com.sinata.system.domain.MwMicroEquipment;
@@ -23,7 +24,6 @@
 import com.sinata.system.domain.query.MwMicroEquipmentStaticsQuery;
 import com.sinata.system.domain.vo.DepartmentReportItemVO;
 import com.sinata.system.domain.vo.DepartmentReportVO;
-import com.sinata.system.domain.vo.MwCollectRecordVO;
 import com.sinata.system.domain.vo.MwMicroEquipmentRecordVO;
 import com.sinata.system.domain.vo.MwMicroEquipmentStaticsTitleVO;
 import com.sinata.system.domain.vo.MwMicroEquipmentStaticsVO;
@@ -117,11 +117,11 @@
         response.setContentType("application/vnd.openxmlformats-officedocument.spreadsheetml.sheet");
         response.setCharacterEncoding("utf-8");
         // 这里URLEncoder.encode可以防止中文乱码 当然和easyexcel没有关系
-        String fileName = URLEncoder.encode("微波设备使用记录", "UTF-8").replaceAll("\\+", "%20");
+        String fileName = URLEncoder.encode("小型微波设备使用记录", "UTF-8").replaceAll("\\+", "%20");
         response.setHeader("Content-disposition", "attachment;filename*=utf-8''" + fileName + ".xlsx");
-        FastExcel.write(response.getOutputStream(), MwCollectRecordVO.class)
-                .registerWriteHandler(new AutoColumnWidthStrategy())
-                .sheet("微波设备使用记录").doWrite(list);
+        FastExcel.write(response.getOutputStream(), MwMicroEquipmentRecordVO.class)
+                .registerWriteHandler(new AutoColumnWidthEntityStrategy())
+                .sheet("小型微波设备使用记录").doWrite(list);
     }
 
     /**
@@ -370,8 +370,8 @@
         headTitles.add(Lists.newArrayList(title, "日期", "日期"));
         String finalTitle = title;
         medicalWasteTypeList.forEach(item -> {
-            headTitles.add(Lists.newArrayList(finalTitle, item.getDictLabel(), "总重量(KG)"));
             headTitles.add(Lists.newArrayList(finalTitle, item.getDictLabel(), "总数量"));
+            headTitles.add(Lists.newArrayList(finalTitle, item.getDictLabel(), "总重量(kg)"));
         });
         headTitles.add(Lists.newArrayList(title, "小计", "总重量(KG)"));
         headTitles.add(Lists.newArrayList(title, "小计", "总数量"));
diff --git a/medicalWaste-system/src/main/java/com/sinata/system/service/impl/MwStagingRoomServiceImpl.java b/medicalWaste-system/src/main/java/com/sinata/system/service/impl/MwStagingRoomServiceImpl.java
index ce919cc..aaa6beb 100644
--- a/medicalWaste-system/src/main/java/com/sinata/system/service/impl/MwStagingRoomServiceImpl.java
+++ b/medicalWaste-system/src/main/java/com/sinata/system/service/impl/MwStagingRoomServiceImpl.java
@@ -1,5 +1,6 @@
 package com.sinata.system.service.impl;
 
+import cn.hutool.core.bean.copier.CopyOptions;
 import cn.idev.excel.FastExcel;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
@@ -7,7 +8,8 @@
 import com.sinata.common.exception.ServiceException;
 import com.sinata.common.utils.BeanUtils;
 import com.sinata.common.utils.StringUtils;
-import com.sinata.system.config.AutoColumnWidthStrategy;
+import com.sinata.system.config.AutoColumnWidthEntityStrategy;
+import com.sinata.system.config.CustomCellWriteHeightConfig;
 import com.sinata.system.domain.MwStagingRoom;
 import com.sinata.system.domain.dto.MwStagingRoomDTO;
 import com.sinata.system.domain.excel.MwCheckoutRecordExcel;
@@ -20,12 +22,17 @@
 import com.sinata.system.mapper.MwStagingRoomMapper;
 import com.sinata.system.service.MwStagingRoomService;
 import com.sinata.system.service.SysDepartmentService;
+import com.sinata.system.utils.ImgUtils;
 import lombok.RequiredArgsConstructor;
+import net.coobird.thumbnailator.Thumbnails;
+import org.apache.commons.io.FilenameUtils;
 import org.springframework.stereotype.Service;
 
+import javax.imageio.ImageIO;
 import javax.servlet.http.HttpServletResponse;
+import java.awt.image.BufferedImage;
+import java.io.ByteArrayOutputStream;
 import java.io.IOException;
-import java.net.URL;
 import java.net.URLEncoder;
 import java.util.List;
 import java.util.Objects;
@@ -138,7 +145,7 @@
         String fileName = URLEncoder.encode("暂存间入库记录", "UTF-8").replaceAll("\\+", "%20");
         response.setHeader("Content-disposition", "attachment;filename*=utf-8''" + fileName + ".xlsx");
         FastExcel.write(response.getOutputStream(), MwStorageRecordVO.class)
-                .registerWriteHandler(new AutoColumnWidthStrategy())
+                .registerWriteHandler(new AutoColumnWidthEntityStrategy())
                 .sheet("暂存间入库记录").doWrite(list);
     }
 
@@ -171,11 +178,24 @@
             return;
         }
         List<MwCheckoutRecordVO> list = baseMapper.checkoutRecordList(query, treeCode);
-        List<MwCheckoutRecordExcel> mwCheckoutRecordExcels = BeanUtils.copyToList(list, MwCheckoutRecordExcel.class);
+        CopyOptions copyOptions = new CopyOptions();
+        copyOptions.setIgnoreProperties("hospitalSignature");
+        List<MwCheckoutRecordExcel> mwCheckoutRecordExcels = BeanUtils.copyToList(list, MwCheckoutRecordExcel.class, copyOptions);
         for (MwCheckoutRecordExcel mwCheckoutRecordExcel : mwCheckoutRecordExcels) {
             for (MwCheckoutRecordVO mwCheckoutRecordVO : list) {
                 if (mwCheckoutRecordVO.getId().equals(mwCheckoutRecordExcel.getId())) {
-                    mwCheckoutRecordExcel.setHospitalSignature(new URL(mwCheckoutRecordVO.getHospitalSignature()));
+                    if (StringUtils.isNotBlank(mwCheckoutRecordVO.getHospitalSignature())) {
+                        try (ByteArrayOutputStream outputStream = new ByteArrayOutputStream()) {
+                            //获取文件后缀
+                            String extension = FilenameUtils.getExtension(mwCheckoutRecordVO.getHospitalSignature());
+                            BufferedImage originalImage = ImageIO.read(ImgUtils.getFileByHttpURL(mwCheckoutRecordVO.getHospitalSignature()));
+                            Thumbnails.of(originalImage).scale(0.8).rotate(270).outputFormat(extension).toOutputStream(outputStream);
+                            mwCheckoutRecordExcel.setHospitalSignature(outputStream.toByteArray());
+                        } catch (IOException e) {
+                            throw new RuntimeException(e);
+                        }
+
+                    }
                 }
             }
         }
@@ -184,7 +204,8 @@
         String fileName = URLEncoder.encode("暂存间出库记录", "UTF-8").replaceAll("\\+", "%20");
         response.setHeader("Content-disposition", "attachment;filename*=utf-8''" + fileName + ".xlsx");
         FastExcel.write(response.getOutputStream(), MwCheckoutRecordExcel.class)
-                .registerWriteHandler(new AutoColumnWidthStrategy())
+                .registerWriteHandler(new AutoColumnWidthEntityStrategy())
+                .registerWriteHandler(new CustomCellWriteHeightConfig())
                 .sheet("暂存间出库记录")
                 .doWrite(mwCheckoutRecordExcels);
     }
diff --git a/medicalWaste-system/src/main/java/com/sinata/system/service/impl/MwTransitCarServiceImpl.java b/medicalWaste-system/src/main/java/com/sinata/system/service/impl/MwTransitCarServiceImpl.java
index 357f8f2..b822b61 100644
--- a/medicalWaste-system/src/main/java/com/sinata/system/service/impl/MwTransitCarServiceImpl.java
+++ b/medicalWaste-system/src/main/java/com/sinata/system/service/impl/MwTransitCarServiceImpl.java
@@ -5,7 +5,6 @@
 import com.sinata.common.entity.PageDTO;
 import com.sinata.common.exception.ServiceException;
 import com.sinata.common.utils.BeanUtils;
-import com.sinata.common.utils.StringUtils;
 import com.sinata.system.domain.MwTransitCar;
 import com.sinata.system.domain.SysDepartment;
 import com.sinata.system.domain.dto.MwTransitCarDTO;
@@ -16,6 +15,7 @@
 import com.sinata.system.service.MwTransitCarService;
 import com.sinata.system.service.SysDepartmentService;
 import lombok.RequiredArgsConstructor;
+import org.apache.commons.lang3.StringUtils;
 import org.springframework.stereotype.Service;
 
 import java.util.List;
@@ -61,6 +61,12 @@
         return PageDTO.of(page);
     }
 
+    @Override
+    public PageDTO<MwTransitCarVO> pageSelectList(TransitCarQuery query) {
+        Page<MwTransitCarVO> page = baseMapper.pageList(new Page<>(query.getPageCurr(), query.getPageSize()), query, null);
+        return PageDTO.of(page);
+    }
+
     /**
      * 详情
      *
diff --git a/medicalWaste-system/src/main/java/com/sinata/system/service/impl/MwWarningRecordServiceImpl.java b/medicalWaste-system/src/main/java/com/sinata/system/service/impl/MwWarningRecordServiceImpl.java
index 16bf23a..3d5b3d7 100644
--- a/medicalWaste-system/src/main/java/com/sinata/system/service/impl/MwWarningRecordServiceImpl.java
+++ b/medicalWaste-system/src/main/java/com/sinata/system/service/impl/MwWarningRecordServiceImpl.java
@@ -6,7 +6,7 @@
 import com.sinata.common.entity.PageDTO;
 import com.sinata.common.utils.SecurityUtils;
 import com.sinata.common.utils.StringUtils;
-import com.sinata.system.config.AutoColumnWidthStrategy;
+import com.sinata.system.config.AutoColumnWidthEntityStrategy;
 import com.sinata.system.domain.MwWarningRecord;
 import com.sinata.system.domain.query.MwWarningRecordQuery;
 import com.sinata.system.domain.vo.MwWarningRecordVO;
@@ -76,8 +76,8 @@
         response.setHeader("Content-disposition", "attachment;filename*=utf-8''" + fileName + ".xlsx");
 
         FastExcel.write(response.getOutputStream(), MwWarningRecordVO.class)
-                .registerWriteHandler(new AutoColumnWidthStrategy())
-                .sheet("预警信息")
+                .registerWriteHandler(new AutoColumnWidthEntityStrategy())
+                .sheet("预警列表")
                 .doWrite(list);
     }
 }
diff --git a/medicalWaste-system/src/main/java/com/sinata/system/utils/ImgUtils.java b/medicalWaste-system/src/main/java/com/sinata/system/utils/ImgUtils.java
new file mode 100644
index 0000000..bc24fcb
--- /dev/null
+++ b/medicalWaste-system/src/main/java/com/sinata/system/utils/ImgUtils.java
@@ -0,0 +1,151 @@
+package com.sinata.system.utils;
+
+import java.awt.image.BufferedImage;
+import java.io.File;
+import java.io.FileOutputStream;
+import java.io.InputStream;
+import java.io.OutputStream;
+import java.net.URL;
+
+public class ImgUtils {
+    /**
+     * 从URL中获取图片输入流
+     * 并创建本地文件
+     *
+     * @param imageUrl
+     * @param savePath
+     * @return
+     * @throws Exception
+     */
+    public static File getImageFileFromUrl(String imageUrl, String savePath) throws Exception {
+        // 从URL中获取图片输入流
+        URL url = new URL(imageUrl);
+        InputStream in = url.openStream();
+
+
+        // 构建保存路径
+        String[] split = imageUrl.split("/");
+        String fileName = split[split.length - 1];
+        File file = new File(savePath + fileName);
+        if (!file.exists()) {
+            file.createNewFile();
+        }
+
+        // 写入文件
+        FileOutputStream out = new FileOutputStream(file);
+        byte[] buffer = new byte[4096];
+        int n = 0;
+        while ((n = in.read(buffer)) != -1) {
+            out.write(buffer, 0, n);
+        }
+        out.close();
+        in.close();
+
+        return file;
+    }
+
+    /**
+     * 根据URL地址获取文件
+     * 得到file对象
+     *
+     * @param path URL网络地址
+     * @return File
+     */
+    public static File getFileByHttpURL(String path) {
+        String newUrl = path.split("[?]")[0];
+        String[] suffix = newUrl.split("/");
+        //得到最后一个分隔符后的名字
+        String fileName = suffix[suffix.length - 1];
+        File file = null;
+        InputStream inputStream = null;
+        OutputStream outputStream = null;
+        try {
+            file = File.createTempFile("report", fileName);//创建临时文件
+            URL urlFile = new URL(newUrl);
+            inputStream = urlFile.openStream();
+            outputStream = new FileOutputStream(file);
+
+            int bytesRead = 0;
+            byte[] buffer = new byte[8192];
+            while ((bytesRead = inputStream.read(buffer, 0, 8192)) != -1) {
+                outputStream.write(buffer, 0, bytesRead);
+            }
+        } catch (Exception e) {
+            e.printStackTrace();
+        } finally {
+            try {
+                if (null != outputStream) {
+                    outputStream.close();
+                }
+                if (null != inputStream) {
+                    inputStream.close();
+                }
+
+            } catch (Exception e) {
+                e.printStackTrace();
+            }
+        }
+        return file;
+    }
+
+    //顺时针旋转90度(通过交换图像的整数像素RGB 值)
+    public static BufferedImage rotateClockwise90(BufferedImage bi) {
+        int width = bi.getWidth();
+        int height = bi.getHeight();
+        BufferedImage bufferedImage = new BufferedImage(height, width, bi.getType());
+        for (int i = 0; i < width; i++)
+            for (int j = 0; j < height; j++)
+                bufferedImage.setRGB(height - 1 - j, width - 1 - i, bi.getRGB(i, j));
+        return bufferedImage;
+    }
+
+    //逆时针旋转90度(通过交换图像的整数像素RGB 值)
+    public static BufferedImage rotateCounterclockwise90(BufferedImage bi) {
+        int width = bi.getWidth();
+        int height = bi.getHeight();
+        BufferedImage bufferedImage = new BufferedImage(height, width, bi.getType());
+        for (int i = 0; i < width; i++)
+            for (int j = 0; j < height; j++)
+                bufferedImage.setRGB(j, i, bi.getRGB(i, j));
+        return bufferedImage;
+    }
+
+    //旋转180度(通过交换图像的整数像素RGB 值)
+    public static BufferedImage rotate180(BufferedImage bi) {
+        int width = bi.getWidth();
+        int height = bi.getHeight();
+        BufferedImage bufferedImage = new BufferedImage(width, height, bi.getType());
+        for (int i = 0; i < width; i++)
+            for (int j = 0; j < height; j++)
+                bufferedImage.setRGB(width - i - 1, height - j - 1, bi.getRGB(i, j));
+        return bufferedImage;
+    }
+
+    //水平翻转
+    public static BufferedImage rotateHorizon(BufferedImage bi) {
+        int width = bi.getWidth();
+        int height = bi.getHeight();
+        BufferedImage bufferedImage = new BufferedImage(width, height, bi.getType());
+        for (int i = 0; i < width; i++)
+            for (int j = 0; j < height; j++)
+                bufferedImage.setRGB(width - i - 1, j, bi.getRGB(i, j));
+        return bufferedImage;
+    }
+
+    //垂直翻转
+    public static BufferedImage rotateVertical(BufferedImage bi) {
+        int width = bi.getWidth();
+        int height = bi.getHeight();
+        BufferedImage bufferedImage = new BufferedImage(width, height, bi.getType());
+        for (int i = 0; i < width; i++)
+            for (int j = 0; j < height; j++)
+                bufferedImage.setRGB(i, height - 1 - j, bi.getRGB(i, j));
+        return bufferedImage;
+    }
+
+    public static void main(String[] args) throws Exception {
+        //File file = ImgUtils.getImageFileFromUrl("【你的图片网络url】", "【你要保存的本地文件位置】");
+        File file = ImgUtils.getFileByHttpURL("【你的图片网络url】");
+        System.out.println("file.length() = " + file.length());
+    }
+}
\ No newline at end of file
diff --git a/medicalWaste-system/src/main/resources/mapper/system/MwStagingRoomMapper.xml b/medicalWaste-system/src/main/resources/mapper/system/MwStagingRoomMapper.xml
index 8e395d4..2e069c0 100644
--- a/medicalWaste-system/src/main/resources/mapper/system/MwStagingRoomMapper.xml
+++ b/medicalWaste-system/src/main/resources/mapper/system/MwStagingRoomMapper.xml
@@ -124,11 +124,13 @@
         mcr.UPDATE_TIME,
         mcr.COLLECT_USER_ID,
         mcr.COLLECT_TIME,
-        su.NICK_NAME AS COLLECT_USER_NAME
+        su.NICK_NAME AS COLLECT_USER_NAME,
+        msr.ROOM_NAME
         FROM MW_COLLECT_RECORD mcr
         LEFT JOIN SYS_USER su
         ON mcr.COLLECT_USER_ID = su.USER_ID
         LEFT JOIN SYS_DEPARTMENT sd ON su.DEPARTMENT_ID = sd.ID
+        LEFT JOIN MW_STAGING_ROOM msr ON msr.DEPARTMENT_ID = sd.ID
         <where>
             mcr.DEL_FLAG = 0
             <if test="treeCode != null and treeCode != ''">
diff --git a/medicalWaste-system/src/main/resources/mapper/system/MwTransitCarMapper.xml b/medicalWaste-system/src/main/resources/mapper/system/MwTransitCarMapper.xml
index b38e97c..12ca740 100644
--- a/medicalWaste-system/src/main/resources/mapper/system/MwTransitCarMapper.xml
+++ b/medicalWaste-system/src/main/resources/mapper/system/MwTransitCarMapper.xml
@@ -66,6 +66,9 @@
             <if test="query.phoneNumber!=null and query.phoneNumber!=''">
                 AND MTC.PHONE_NUMBER LIKE CONCAT('%',#{query.phoneNumber},'%')
             </if>
+            <if test="query.departmentId!=null and query.departmentId!=''">
+                AND MTC.DEPARTMENT_ID =#{query.departmentId}
+            </if>
         </where>
         ORDER BY MTC.CREATE_TIME DESC
     </select>
diff --git a/pom.xml b/pom.xml
index 56e7c2d..cca99e1 100644
--- a/pom.xml
+++ b/pom.xml
@@ -37,6 +37,7 @@
         <fastexcel.version>1.0.0</fastexcel.version>
         <aliyun-oss.version>3.17.4</aliyun-oss.version>
         <dysmsapi.version>3.1.0</dysmsapi.version>
+        <thumbnailator.version>0.4.8</thumbnailator.version>
     </properties>
 
     <!-- 依赖声明 -->
@@ -228,6 +229,11 @@
                 <artifactId>dysmsapi20170525</artifactId>
                 <version>${dysmsapi.version}</version>
             </dependency>
+            <dependency>
+                <groupId>net.coobird</groupId>
+                <artifactId>thumbnailator</artifactId>
+                <version>${thumbnailator.version}</version>
+            </dependency>
         </dependencies>
     </dependencyManagement>
 

--
Gitblit v1.7.1