From ab7b8b5e702989d894620c41fbaa0e2d6904ecd5 Mon Sep 17 00:00:00 2001
From: mitao <2763622819@qq.com>
Date: 星期二, 17 十二月 2024 19:09:03 +0800
Subject: [PATCH] 处置管理接口

---
 medicalWaste-system/src/main/java/com/sinata/system/service/impl/MwCheckoutRecordServiceImpl.java       |   66 ++++
 medicalWaste-admin/src/main/java/com/sinata/web/controller/backend/MwDisposalRecordController.java      |   55 +++
 medicalWaste-system/src/main/java/com/sinata/system/domain/vo/MwMedicalWasteBoxVO.java                  |    5 
 pom.xml                                                                                                 |   10 
 medicalWaste-system/src/main/java/com/sinata/system/domain/vo/MwDisposalRecordVO.java                   |   60 ++++
 medicalWaste-system/src/main/java/com/sinata/system/service/impl/MwCollectRecordServiceImpl.java        |    2 
 medicalWaste-system/src/main/resources/mapper/system/MwMicroEquipmentRecordMapper.xml                   |    2 
 medicalWaste-system/src/main/java/com/sinata/system/domain/vo/MwDisposalRecordItemVO.java               |   27 +
 medicalWaste-system/src/main/java/com/sinata/system/domain/vo/MwStorageRecordVO.java                    |    2 
 medicalWaste-system/src/main/java/com/sinata/system/service/MwDisposalRecordService.java                |   28 +
 medicalWaste-system/src/main/java/com/sinata/system/domain/query/MwCheckoutRecordItemQuery.java         |   22 +
 medicalWaste-system/src/main/java/com/sinata/system/domain/query/MwDisposalRecordItemQuery.java         |   22 +
 medicalWaste-system/src/main/java/com/sinata/system/service/impl/MwStagingRoomServiceImpl.java          |    2 
 medicalWaste-system/src/main/java/com/sinata/system/domain/vo/DisposalRecordStaticsVO.java              |   34 ++
 medicalWaste-system/src/main/java/com/sinata/system/domain/vo/MwTransitRecordVO.java                    |   41 ++
 medicalWaste-system/src/main/java/com/sinata/system/service/impl/MwDisposalRecordServiceImpl.java       |   69 ++++
 medicalWaste-system/src/main/resources/mapper/system/MwStagingRoomMapper.xml                            |   31 +
 medicalWaste-common/pom.xml                                                                             |    8 
 medicalWaste-system/src/main/java/com/sinata/system/domain/vo/MwCheckoutRecordVO.java                   |    5 
 medicalWaste-system/src/main/java/com/sinata/system/service/impl/MwMicroEquipmentRecordServiceImpl.java |    2 
 medicalWaste-system/src/main/java/com/sinata/system/domain/query/MwTransitRecordQuery.java              |   35 ++
 medicalWaste-admin/src/main/java/com/sinata/web/controller/backend/MwCheckoutRecordController.java      |   71 ++++
 medicalWaste-system/src/main/java/com/sinata/system/domain/query/MwDisposalRecordQuery.java             |   29 +
 medicalWaste-system/src/main/java/com/sinata/system/mapper/MwCheckoutRecordMapper.java                  |   42 ++
 medicalWaste-system/src/main/resources/mapper/system/MwMicroEquipmentMapper.xml                         |   10 
 medicalWaste-system/src/main/resources/mapper/system/MwDisposalRecordMapper.xml                         |   43 ++
 medicalWaste-system/src/main/java/com/sinata/system/mapper/MwDisposalRecordMapper.java                  |   33 ++
 medicalWaste-system/src/main/java/com/sinata/system/service/MwCheckoutRecordService.java                |   39 ++
 medicalWaste-system/src/main/resources/mapper/system/MwCheckoutRecordMapper.xml                         |  100 ++++++
 medicalWaste-system/src/main/java/com/sinata/system/domain/vo/MwCollectRecordVO.java                    |    2 
 30 files changed, 862 insertions(+), 35 deletions(-)

diff --git a/medicalWaste-admin/src/main/java/com/sinata/web/controller/backend/MwCheckoutRecordController.java b/medicalWaste-admin/src/main/java/com/sinata/web/controller/backend/MwCheckoutRecordController.java
index 5ec6edd..278ca04 100644
--- a/medicalWaste-admin/src/main/java/com/sinata/web/controller/backend/MwCheckoutRecordController.java
+++ b/medicalWaste-admin/src/main/java/com/sinata/web/controller/backend/MwCheckoutRecordController.java
@@ -1,7 +1,27 @@
 package com.sinata.web.controller.backend;
 
+import com.sinata.common.core.domain.R;
+import com.sinata.common.entity.PageDTO;
+import com.sinata.system.domain.query.CheckoutRecordQuery;
+import com.sinata.system.domain.query.MwCheckoutRecordItemQuery;
+import com.sinata.system.domain.query.MwTransitRecordQuery;
+import com.sinata.system.domain.vo.MwCheckoutRecordVO;
+import com.sinata.system.domain.vo.MwMedicalWasteBoxVO;
+import com.sinata.system.domain.vo.MwTransitRecordVO;
+import com.sinata.system.service.MwCheckoutRecordService;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import io.swagger.annotations.ApiParam;
+import lombok.RequiredArgsConstructor;
+import org.springframework.validation.annotation.Validated;
+import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.PathVariable;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.RequestBody;
 import org.springframework.web.bind.annotation.RequestMapping;
 import org.springframework.web.bind.annotation.RestController;
+
+import javax.validation.Valid;
 
 /**
  * <p>
@@ -11,8 +31,59 @@
  * @author mitao
  * @since 2024-12-02
  */
+@Api(tags = {"转运记录、运输记录相关接口"})
+@Validated
+@RequiredArgsConstructor
 @RestController
 @RequestMapping("/backend/mwCheckoutRecord")
 public class MwCheckoutRecordController {
+    private final MwCheckoutRecordService mwCheckoutRecordService;
 
+    /**
+     * 转运记录分页列表
+     *
+     * @param query
+     * @return
+     */
+    @PostMapping("/hospital/page")
+    @ApiOperation(value = "转运记录分页列表")
+    public R<PageDTO<MwCheckoutRecordVO>> pageList(@Valid @RequestBody CheckoutRecordQuery query) {
+        return R.ok(mwCheckoutRecordService.pageHospitalTransitList(query));
+    }
+
+    /**
+     * 转运记录详情
+     *
+     * @param departmentId
+     * @return
+     */
+    @GetMapping("/hospital/detail/{departmentId}")
+    @ApiOperation(value = "转运记录详情")
+    public R<MwCheckoutRecordVO> hospitalDetail(@ApiParam(name = "id", value = "医院id", required = true) @PathVariable("departmentId") Long departmentId) {
+        return R.ok(mwCheckoutRecordService.hospitalDetail(departmentId));
+    }
+
+    /**
+     * 转运记录医废详情分页列表
+     *
+     * @param query
+     * @return
+     */
+    @PostMapping("/hospital/detailPage")
+    @ApiOperation(value = "转运记录医废详情分页列表")
+    public R<PageDTO<MwMedicalWasteBoxVO>> hospitalDetailPage(@Valid @RequestBody MwCheckoutRecordItemQuery query) {
+        return R.ok(mwCheckoutRecordService.hospitalDetailPage(query));
+    }
+
+    /**
+     * 运输记录分页列表
+     *
+     * @param query
+     * @return
+     */
+    @PostMapping("/transit/page")
+    @ApiOperation(value = "运输记录分页列表")
+    public R<PageDTO<MwTransitRecordVO>> transitPageList(@Valid @RequestBody MwTransitRecordQuery query) {
+        return R.ok(mwCheckoutRecordService.transitPageList(query));
+    }
 }
diff --git a/medicalWaste-admin/src/main/java/com/sinata/web/controller/backend/MwDisposalRecordController.java b/medicalWaste-admin/src/main/java/com/sinata/web/controller/backend/MwDisposalRecordController.java
index 080a1c1..d417972 100644
--- a/medicalWaste-admin/src/main/java/com/sinata/web/controller/backend/MwDisposalRecordController.java
+++ b/medicalWaste-admin/src/main/java/com/sinata/web/controller/backend/MwDisposalRecordController.java
@@ -1,7 +1,23 @@
 package com.sinata.web.controller.backend;
 
+import com.sinata.common.core.domain.R;
+import com.sinata.common.entity.PageDTO;
+import com.sinata.system.domain.query.MwDisposalRecordItemQuery;
+import com.sinata.system.domain.query.MwDisposalRecordQuery;
+import com.sinata.system.domain.vo.DisposalRecordStaticsVO;
+import com.sinata.system.domain.vo.MwDisposalRecordItemVO;
+import com.sinata.system.domain.vo.MwDisposalRecordVO;
+import com.sinata.system.service.MwDisposalRecordService;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import lombok.RequiredArgsConstructor;
+import org.springframework.validation.annotation.Validated;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.RequestBody;
 import org.springframework.web.bind.annotation.RequestMapping;
 import org.springframework.web.bind.annotation.RestController;
+
+import javax.validation.Valid;
 
 /**
  * <p>
@@ -11,8 +27,47 @@
  * @author mitao
  * @since 2024-12-02
  */
+@Api(tags = {"处置管理相关接口"})
+@Validated
 @RestController
+@RequiredArgsConstructor
 @RequestMapping("/backend/mwDisposalRecord")
 public class MwDisposalRecordController {
+    private final MwDisposalRecordService mwDisposalRecordService;
 
+    /**
+     * 统计数据
+     *
+     * @param query
+     * @return
+     */
+    @PostMapping("/statics")
+    @ApiOperation(value = "统计数据")
+    public R<DisposalRecordStaticsVO> statics(@RequestBody MwDisposalRecordQuery query) {
+        return R.ok(mwDisposalRecordService.statics(query));
+    }
+
+    /**
+     * 处置显示分页列表
+     *
+     * @param query
+     * @return
+     */
+    @PostMapping("/page")
+    @ApiOperation("处置显示分页列表")
+    public R<PageDTO<MwDisposalRecordVO>> pageList(@Valid @RequestBody MwDisposalRecordQuery query) {
+        return R.ok(mwDisposalRecordService.pageList(query));
+    }
+
+    /**
+     * 详情
+     *
+     * @param query
+     * @return
+     */
+    @PostMapping("/detail")
+    @ApiOperation("详情")
+    public R<PageDTO<MwDisposalRecordItemVO>> detail(@Valid @RequestBody MwDisposalRecordItemQuery query) {
+        return R.ok(mwDisposalRecordService.detail(query));
+    }
 }
diff --git a/medicalWaste-common/pom.xml b/medicalWaste-common/pom.xml
index 97fd288..cb3ce53 100644
--- a/medicalWaste-common/pom.xml
+++ b/medicalWaste-common/pom.xml
@@ -142,12 +142,14 @@
             <groupId>cn.hutool</groupId>
             <artifactId>hutool-all</artifactId>
         </dependency>
-        <!-- https://mvnrepository.com/artifact/com.alibaba/easyexcel -->
+
         <dependency>
-            <groupId>com.alibaba</groupId>
-            <artifactId>easyexcel</artifactId>
+            <groupId>cn.idev.excel</groupId>
+            <artifactId>fastexcel</artifactId>
+            <version>1.0.0</version>
         </dependency>
 
+
     </dependencies>
 
 </project>
\ No newline at end of file
diff --git a/medicalWaste-system/src/main/java/com/sinata/system/domain/query/MwCheckoutRecordItemQuery.java b/medicalWaste-system/src/main/java/com/sinata/system/domain/query/MwCheckoutRecordItemQuery.java
new file mode 100644
index 0000000..f802f3c
--- /dev/null
+++ b/medicalWaste-system/src/main/java/com/sinata/system/domain/query/MwCheckoutRecordItemQuery.java
@@ -0,0 +1,22 @@
+package com.sinata.system.domain.query;
+
+import com.sinata.common.entity.BasePage;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+
+/**
+ * @author mitao
+ * @date 2024/12/17
+ */
+@Data
+@EqualsAndHashCode(callSuper = true)
+@ApiModel("转运记录查询数据传输对象")
+public class MwCheckoutRecordItemQuery extends BasePage {
+    
+    private static final long serialVersionUID = 7206172966772579930L;
+
+    @ApiModelProperty("医院id")
+    private Long departmentId;
+}
diff --git a/medicalWaste-system/src/main/java/com/sinata/system/domain/query/MwDisposalRecordItemQuery.java b/medicalWaste-system/src/main/java/com/sinata/system/domain/query/MwDisposalRecordItemQuery.java
new file mode 100644
index 0000000..73293d0
--- /dev/null
+++ b/medicalWaste-system/src/main/java/com/sinata/system/domain/query/MwDisposalRecordItemQuery.java
@@ -0,0 +1,22 @@
+package com.sinata.system.domain.query;
+
+import com.sinata.common.entity.BasePage;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+
+/**
+ * @author mitao
+ * @date 2024/12/17
+ */
+@Data
+@EqualsAndHashCode(callSuper = true)
+@ApiModel("处置显示详情分页查询对象")
+public class MwDisposalRecordItemQuery extends BasePage {
+
+    private static final long serialVersionUID = -938875072103345056L;
+    @ApiModelProperty("处置记录id")
+    private Long disposalRecordId;
+
+}
diff --git a/medicalWaste-system/src/main/java/com/sinata/system/domain/query/MwDisposalRecordQuery.java b/medicalWaste-system/src/main/java/com/sinata/system/domain/query/MwDisposalRecordQuery.java
new file mode 100644
index 0000000..1e28a76
--- /dev/null
+++ b/medicalWaste-system/src/main/java/com/sinata/system/domain/query/MwDisposalRecordQuery.java
@@ -0,0 +1,29 @@
+package com.sinata.system.domain.query;
+
+import com.sinata.common.entity.BasePage;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+
+import java.util.Date;
+
+/**
+ * @author mitao
+ * @date 2024/12/17
+ */
+@Data
+@EqualsAndHashCode(callSuper = true)
+@ApiModel("处置显示查询数据传输对象")
+public class MwDisposalRecordQuery extends BasePage {
+    private static final long serialVersionUID = -9048784715057781335L;
+    
+    @ApiModelProperty("机构id")
+    private Long departmentId;
+
+    @ApiModelProperty("接收时间-开始")
+    private Date receiveTimeStart;
+
+    @ApiModelProperty("接收时间-结束")
+    private Date receiveTimeEnd;
+}
diff --git a/medicalWaste-system/src/main/java/com/sinata/system/domain/query/MwTransitRecordQuery.java b/medicalWaste-system/src/main/java/com/sinata/system/domain/query/MwTransitRecordQuery.java
new file mode 100644
index 0000000..8c4a018
--- /dev/null
+++ b/medicalWaste-system/src/main/java/com/sinata/system/domain/query/MwTransitRecordQuery.java
@@ -0,0 +1,35 @@
+package com.sinata.system.domain.query;
+
+import com.sinata.common.entity.BasePage;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+
+import java.util.Date;
+
+/**
+ * @author mitao
+ * @date 2024/12/17
+ */
+@Data
+@EqualsAndHashCode(callSuper = true)
+@ApiModel("运输记录查询数据传输对象")
+public class MwTransitRecordQuery extends BasePage {
+    private static final long serialVersionUID = 3585169031300259198L;
+    
+    @ApiModelProperty("机构id")
+    private Long departmentId;
+
+    @ApiModelProperty("车牌号")
+    private String licensePlateNumber;
+
+    @ApiModelProperty("状态")
+    private Integer status;
+
+    @ApiModelProperty("运输开始时间")
+    private Date startTime;
+
+    @ApiModelProperty("运输结束时间")
+    private Date endTime;
+}
diff --git a/medicalWaste-system/src/main/java/com/sinata/system/domain/vo/DisposalRecordStaticsVO.java b/medicalWaste-system/src/main/java/com/sinata/system/domain/vo/DisposalRecordStaticsVO.java
new file mode 100644
index 0000000..ac5060a
--- /dev/null
+++ b/medicalWaste-system/src/main/java/com/sinata/system/domain/vo/DisposalRecordStaticsVO.java
@@ -0,0 +1,34 @@
+package com.sinata.system.domain.vo;
+
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.math.BigDecimal;
+
+/**
+ * @author mitao
+ * @date 2024/12/17
+ */
+@Data
+@ApiModel("处置显示统计视图对象")
+public class DisposalRecordStaticsVO {
+    
+    @ApiModelProperty("医疗废物接收箱数")
+    private Integer receiveQuantity;
+
+    @ApiModelProperty("医疗废物接口重量")
+    private BigDecimal receiveWeight;
+
+    @ApiModelProperty("医疗废物卸车箱数")
+    private Integer unloadQuantity;
+
+    @ApiModelProperty("医疗废物卸车重量")
+    private BigDecimal unloadWeight;
+
+    @ApiModelProperty("医疗废物处置箱数")
+    private Integer totalHandledQuantity;
+
+    @ApiModelProperty("医疗废物处置总量")
+    private BigDecimal totalHandledWeight;
+}
diff --git a/medicalWaste-system/src/main/java/com/sinata/system/domain/vo/MwCheckoutRecordVO.java b/medicalWaste-system/src/main/java/com/sinata/system/domain/vo/MwCheckoutRecordVO.java
index fca8be8..75d3534 100644
--- a/medicalWaste-system/src/main/java/com/sinata/system/domain/vo/MwCheckoutRecordVO.java
+++ b/medicalWaste-system/src/main/java/com/sinata/system/domain/vo/MwCheckoutRecordVO.java
@@ -1,6 +1,6 @@
 package com.sinata.system.domain.vo;
 
-import com.alibaba.excel.annotation.ExcelProperty;
+import cn.idev.excel.annotation.ExcelProperty;
 import io.swagger.annotations.ApiModel;
 import io.swagger.annotations.ApiModelProperty;
 import lombok.Data;
@@ -53,4 +53,7 @@
     @ApiModelProperty("车牌号")
     private String licensePlateNumber;
 
+    @ApiModelProperty("转运线路")
+    private String routeName;
+
 }
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 d92148d..03ca3a7 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
@@ -1,6 +1,6 @@
 package com.sinata.system.domain.vo;
 
-import com.alibaba.excel.annotation.ExcelProperty;
+import cn.idev.excel.annotation.ExcelProperty;
 import io.swagger.annotations.ApiModel;
 import io.swagger.annotations.ApiModelProperty;
 import lombok.Data;
diff --git a/medicalWaste-system/src/main/java/com/sinata/system/domain/vo/MwDisposalRecordItemVO.java b/medicalWaste-system/src/main/java/com/sinata/system/domain/vo/MwDisposalRecordItemVO.java
new file mode 100644
index 0000000..495ec9e
--- /dev/null
+++ b/medicalWaste-system/src/main/java/com/sinata/system/domain/vo/MwDisposalRecordItemVO.java
@@ -0,0 +1,27 @@
+package com.sinata.system.domain.vo;
+
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.math.BigDecimal;
+
+/**
+ * @author mitao
+ * @date 2024/12/17
+ */
+@Data
+@ApiModel("处置详情视图对象")
+public class MwDisposalRecordItemVO {
+    @ApiModelProperty("箱号")
+    private String boxNumber;
+
+    @ApiModelProperty("袋数")
+    private Integer bagNum;
+
+    @ApiModelProperty("重量(KG)")
+    private BigDecimal weight;
+
+    @ApiModelProperty("处置时间")
+    private String disposalTime;
+}
diff --git a/medicalWaste-system/src/main/java/com/sinata/system/domain/vo/MwDisposalRecordVO.java b/medicalWaste-system/src/main/java/com/sinata/system/domain/vo/MwDisposalRecordVO.java
new file mode 100644
index 0000000..d172835
--- /dev/null
+++ b/medicalWaste-system/src/main/java/com/sinata/system/domain/vo/MwDisposalRecordVO.java
@@ -0,0 +1,60 @@
+package com.sinata.system.domain.vo;
+
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.math.BigDecimal;
+import java.util.Date;
+
+/**
+ * @author mitao
+ * @date 2024/12/17
+ */
+@Data
+@ApiModel("处置显示视图对象")
+public class MwDisposalRecordVO {
+
+    @ApiModelProperty("处置接收记录id")
+    private Long id;
+
+    @ApiModelProperty("区域id(处置单位id)")
+    private Long departmentId;
+
+    @ApiModelProperty("处置单位名称")
+    private String disposalUnitName;
+
+    @ApiModelProperty("接收箱数")
+    private Integer receiveQuantity;
+
+    @ApiModelProperty("接收时间")
+    private Date receiveTime;
+
+    @ApiModelProperty("接收重量(kg)")
+    private BigDecimal receiveWeight;
+
+    @ApiModelProperty("接收人id")
+    private Long receiverId;
+
+    @ApiModelProperty("卸车数量")
+    private Integer unloadQuantity;
+
+    @ApiModelProperty("卸车重量")
+    private BigDecimal unloadWeight;
+
+    @ApiModelProperty("处理总数量")
+    private Integer totalHandledQuantity;
+
+    @ApiModelProperty("是否处置 1:是 0:否")
+    private Integer disposalFlag;
+
+    @ApiModelProperty("处理重量")
+    private BigDecimal totalHandledWeight;
+
+    @ApiModelProperty("处置时间")
+    private Date disposalTime;
+
+    @ApiModelProperty("处置人id")
+    private Long disposalUserId;
+
+}
diff --git a/medicalWaste-system/src/main/java/com/sinata/system/domain/vo/MwMedicalWasteBoxVO.java b/medicalWaste-system/src/main/java/com/sinata/system/domain/vo/MwMedicalWasteBoxVO.java
index 7d7ca70..557baf9 100644
--- a/medicalWaste-system/src/main/java/com/sinata/system/domain/vo/MwMedicalWasteBoxVO.java
+++ b/medicalWaste-system/src/main/java/com/sinata/system/domain/vo/MwMedicalWasteBoxVO.java
@@ -39,7 +39,10 @@
     @ApiModelProperty("重量")
     private BigDecimal totalWeight;
 
-    @ApiModelProperty("入库人员")
+    @ApiModelProperty("入库/收集人员")
     private String collectUserName;
 
+    @ApiModelProperty("最后封箱时间")
+    private Date boxTime;
+
 }
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 2ce63f4..7c5a15a 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
@@ -1,6 +1,6 @@
 package com.sinata.system.domain.vo;
 
-import com.alibaba.excel.annotation.ExcelProperty;
+import cn.idev.excel.annotation.ExcelProperty;
 import io.swagger.annotations.ApiModel;
 import io.swagger.annotations.ApiModelProperty;
 import lombok.Data;
diff --git a/medicalWaste-system/src/main/java/com/sinata/system/domain/vo/MwTransitRecordVO.java b/medicalWaste-system/src/main/java/com/sinata/system/domain/vo/MwTransitRecordVO.java
new file mode 100644
index 0000000..2651090
--- /dev/null
+++ b/medicalWaste-system/src/main/java/com/sinata/system/domain/vo/MwTransitRecordVO.java
@@ -0,0 +1,41 @@
+package com.sinata.system.domain.vo;
+
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.math.BigDecimal;
+import java.util.Date;
+
+/**
+ * @author mitao
+ * @date 2024/12/17
+ */
+@Data
+@ApiModel("运输记录视图对象")
+public class MwTransitRecordVO {
+
+    @ApiModelProperty("车辆id")
+    private Long id;
+
+    @ApiModelProperty("单位名称")
+    private String departmentName;
+
+    @ApiModelProperty("车牌号")
+    private String licensePlateNumber;
+
+    @ApiModelProperty("司机姓名")
+    private String nickName;
+
+    @ApiModelProperty("车内箱子数量")
+    private Integer boxNum;
+
+    @ApiModelProperty("医废总重量")
+    private BigDecimal weight;
+
+    @ApiModelProperty("运输开始时间")
+    private Date startTime;
+
+    @ApiModelProperty("运输结束时间")
+    private Date endTime;
+}
diff --git a/medicalWaste-system/src/main/java/com/sinata/system/mapper/MwCheckoutRecordMapper.java b/medicalWaste-system/src/main/java/com/sinata/system/mapper/MwCheckoutRecordMapper.java
index b2f7301..1fd5d41 100644
--- a/medicalWaste-system/src/main/java/com/sinata/system/mapper/MwCheckoutRecordMapper.java
+++ b/medicalWaste-system/src/main/java/com/sinata/system/mapper/MwCheckoutRecordMapper.java
@@ -1,8 +1,15 @@
 package com.sinata.system.mapper;
 
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.sinata.system.domain.MwCheckoutRecord;
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.sinata.system.domain.query.CheckoutRecordQuery;
+import com.sinata.system.domain.query.MwTransitRecordQuery;
+import com.sinata.system.domain.vo.MwCheckoutRecordVO;
+import com.sinata.system.domain.vo.MwMedicalWasteBoxVO;
+import com.sinata.system.domain.vo.MwTransitRecordVO;
 import org.apache.ibatis.annotations.Mapper;
+import org.apache.ibatis.annotations.Param;
 
 /**
  * <p>
@@ -14,5 +21,40 @@
  */
 @Mapper
 public interface MwCheckoutRecordMapper extends BaseMapper<MwCheckoutRecord> {
+    /**
+     * 转运记录分页列表
+     *
+     * @param page
+     * @param query
+     * @param treeCode
+     * @return
+     */
+    Page<MwCheckoutRecordVO> pageHospitalTransitList(Page<MwCheckoutRecordVO> page, @Param("query") CheckoutRecordQuery query, @Param("treeCode") String treeCode);
 
+    /**
+     * 转运记录详情
+     *
+     * @param departmentId
+     * @return
+     */
+    MwCheckoutRecordVO hospitalDetail(Long departmentId);
+
+    /**
+     * 转运记录医废详情分页列表
+     *
+     * @param page
+     * @param departmentId
+     * @return
+     */
+    Page<MwMedicalWasteBoxVO> hospitalDetailPage(Page<MwMedicalWasteBoxVO> page, @Param("departmentId") Long departmentId);
+
+    /**
+     * 运输记录分页列表
+     *
+     * @param page
+     * @param query
+     * @param treeCode
+     * @return
+     */
+    Page<MwTransitRecordVO> transitPageList(Page<MwTransitRecordVO> page, @Param("query") MwTransitRecordQuery query, String treeCode);
 }
diff --git a/medicalWaste-system/src/main/java/com/sinata/system/mapper/MwDisposalRecordMapper.java b/medicalWaste-system/src/main/java/com/sinata/system/mapper/MwDisposalRecordMapper.java
index 0e2e043..8c51154 100644
--- a/medicalWaste-system/src/main/java/com/sinata/system/mapper/MwDisposalRecordMapper.java
+++ b/medicalWaste-system/src/main/java/com/sinata/system/mapper/MwDisposalRecordMapper.java
@@ -1,8 +1,15 @@
 package com.sinata.system.mapper;
 
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.sinata.system.domain.MwDisposalRecord;
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.sinata.system.domain.query.MwDisposalRecordQuery;
+import com.sinata.system.domain.vo.MwDisposalRecordItemVO;
+import com.sinata.system.domain.vo.MwDisposalRecordVO;
 import org.apache.ibatis.annotations.Mapper;
+import org.apache.ibatis.annotations.Param;
+
+import java.util.List;
 
 /**
  * <p>
@@ -14,5 +21,31 @@
  */
 @Mapper
 public interface MwDisposalRecordMapper extends BaseMapper<MwDisposalRecord> {
+    /**
+     * 统计数据
+     *
+     * @param query
+     * @param treeCode
+     * @return
+     */
+    List<MwDisposalRecordVO> getStaticsData(@Param("query") MwDisposalRecordQuery query, @Param("treeCode") String treeCode);
 
+    /**
+     * 处置显示分页列表
+     *
+     * @param page
+     * @param query
+     * @param treeCode
+     * @return
+     */
+    Page<MwDisposalRecordVO> pageList(Page<MwDisposalRecordVO> page, @Param("query") MwDisposalRecordQuery query, @Param("treeCode") String treeCode);
+
+    /**
+     * 详情
+     *
+     * @param page
+     * @param disposalRecordId
+     * @return
+     */
+    Page<MwDisposalRecordItemVO> pageDetail(Page<MwDisposalRecordItemVO> page, @Param("disposalRecordId") Long disposalRecordId);
 }
diff --git a/medicalWaste-system/src/main/java/com/sinata/system/service/MwCheckoutRecordService.java b/medicalWaste-system/src/main/java/com/sinata/system/service/MwCheckoutRecordService.java
index 2135325..c03641c 100644
--- a/medicalWaste-system/src/main/java/com/sinata/system/service/MwCheckoutRecordService.java
+++ b/medicalWaste-system/src/main/java/com/sinata/system/service/MwCheckoutRecordService.java
@@ -1,7 +1,14 @@
 package com.sinata.system.service;
 
-import com.sinata.system.domain.MwCheckoutRecord;
 import com.baomidou.mybatisplus.extension.service.IService;
+import com.sinata.common.entity.PageDTO;
+import com.sinata.system.domain.MwCheckoutRecord;
+import com.sinata.system.domain.query.CheckoutRecordQuery;
+import com.sinata.system.domain.query.MwCheckoutRecordItemQuery;
+import com.sinata.system.domain.query.MwTransitRecordQuery;
+import com.sinata.system.domain.vo.MwCheckoutRecordVO;
+import com.sinata.system.domain.vo.MwMedicalWasteBoxVO;
+import com.sinata.system.domain.vo.MwTransitRecordVO;
 
 /**
  * <p>
@@ -12,5 +19,35 @@
  * @since 2024-12-02
  */
 public interface MwCheckoutRecordService extends IService<MwCheckoutRecord> {
+    /**
+     * 转运记录分页列表
+     *
+     * @param query
+     * @return
+     */
+    PageDTO<MwCheckoutRecordVO> pageHospitalTransitList(CheckoutRecordQuery query);
 
+    /**
+     * 转运记录详情
+     *
+     * @param departmentId
+     * @return
+     */
+    MwCheckoutRecordVO hospitalDetail(Long departmentId);
+
+    /**
+     * 转运记录医废详情分页列表
+     *
+     * @param query
+     * @return
+     */
+    PageDTO<MwMedicalWasteBoxVO> hospitalDetailPage(MwCheckoutRecordItemQuery query);
+
+    /**
+     * 运输记录分页列表
+     *
+     * @param query
+     * @return
+     */
+    PageDTO<MwTransitRecordVO> transitPageList(MwTransitRecordQuery query);
 }
diff --git a/medicalWaste-system/src/main/java/com/sinata/system/service/MwDisposalRecordService.java b/medicalWaste-system/src/main/java/com/sinata/system/service/MwDisposalRecordService.java
index f4583e6..566ea8c 100644
--- a/medicalWaste-system/src/main/java/com/sinata/system/service/MwDisposalRecordService.java
+++ b/medicalWaste-system/src/main/java/com/sinata/system/service/MwDisposalRecordService.java
@@ -1,7 +1,13 @@
 package com.sinata.system.service;
 
+import com.sinata.common.entity.PageDTO;
 import com.sinata.system.domain.MwDisposalRecord;
 import com.baomidou.mybatisplus.extension.service.IService;
+import com.sinata.system.domain.query.MwDisposalRecordItemQuery;
+import com.sinata.system.domain.query.MwDisposalRecordQuery;
+import com.sinata.system.domain.vo.DisposalRecordStaticsVO;
+import com.sinata.system.domain.vo.MwDisposalRecordItemVO;
+import com.sinata.system.domain.vo.MwDisposalRecordVO;
 
 /**
  * <p>
@@ -12,5 +18,27 @@
  * @since 2024-12-02
  */
 public interface MwDisposalRecordService extends IService<MwDisposalRecord> {
+    /**
+     * 统计数据
+     *
+     * @param query
+     * @return
+     */
+    DisposalRecordStaticsVO statics(MwDisposalRecordQuery query);
 
+    /**
+     * 处置显示分页列表
+     *
+     * @param query
+     * @return
+     */
+    PageDTO<MwDisposalRecordVO> pageList(MwDisposalRecordQuery query);
+
+    /**
+     * 详情
+     *
+     * @param query
+     * @return
+     */
+    PageDTO<MwDisposalRecordItemVO> detail(MwDisposalRecordItemQuery query);
 }
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 5f71da1..768c277 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
@@ -1,9 +1,20 @@
 package com.sinata.system.service.impl;
 
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.sinata.common.entity.PageDTO;
+import com.sinata.common.utils.StringUtils;
 import com.sinata.system.domain.MwCheckoutRecord;
+import com.sinata.system.domain.query.CheckoutRecordQuery;
+import com.sinata.system.domain.query.MwCheckoutRecordItemQuery;
+import com.sinata.system.domain.query.MwTransitRecordQuery;
+import com.sinata.system.domain.vo.MwCheckoutRecordVO;
+import com.sinata.system.domain.vo.MwMedicalWasteBoxVO;
+import com.sinata.system.domain.vo.MwTransitRecordVO;
 import com.sinata.system.mapper.MwCheckoutRecordMapper;
 import com.sinata.system.service.MwCheckoutRecordService;
-import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.sinata.system.service.SysDepartmentService;
+import lombok.RequiredArgsConstructor;
 import org.springframework.stereotype.Service;
 
 /**
@@ -15,6 +26,59 @@
  * @since 2024-12-02
  */
 @Service
+@RequiredArgsConstructor
 public class MwCheckoutRecordServiceImpl extends ServiceImpl<MwCheckoutRecordMapper, MwCheckoutRecord> implements MwCheckoutRecordService {
+    private final SysDepartmentService sysDepartmentService;
 
+    /**
+     * 转运记录分页列表
+     *
+     * @param query
+     * @return
+     */
+    @Override
+    public PageDTO<MwCheckoutRecordVO> pageHospitalTransitList(CheckoutRecordQuery query) {
+        String treeCode = sysDepartmentService.getTreeCode(query.getDepartmentId());
+        if (StringUtils.isBlank(treeCode)) {
+            return PageDTO.empty(0L, 0L);
+        }
+        Page<MwCheckoutRecordVO> page = baseMapper.pageHospitalTransitList(new Page<>(query.getPageCurr(), query.getPageSize()), query, treeCode);
+        return PageDTO.of(page);
+    }
+
+    /**
+     * 转运记录详情
+     *
+     * @param departmentId
+     * @return
+     */
+    @Override
+    public MwCheckoutRecordVO hospitalDetail(Long departmentId) {
+        return baseMapper.hospitalDetail(departmentId);
+    }
+
+    /**
+     * 转运记录医废详情分页列表
+     *
+     * @param query
+     * @return
+     */
+    @Override
+    public PageDTO<MwMedicalWasteBoxVO> hospitalDetailPage(MwCheckoutRecordItemQuery query) {
+        Page<MwMedicalWasteBoxVO> page = baseMapper.hospitalDetailPage(new Page<>(query.getPageCurr(), query.getPageSize()), query.getDepartmentId());
+        return PageDTO.of(page);
+    }
+
+    /**
+     * 运输记录分页列表
+     *
+     * @param query
+     * @return
+     */
+    @Override
+    public PageDTO<MwTransitRecordVO> transitPageList(MwTransitRecordQuery query) {
+        String treeCode = sysDepartmentService.getTreeCode(query.getDepartmentId());
+        Page<MwTransitRecordVO> page = baseMapper.transitPageList(new Page<>(query.getPageCurr(), query.getPageSize()), query, treeCode);
+        return PageDTO.of(page);
+    }
 }
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 3f5fe6f..07b8a98 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
@@ -1,6 +1,6 @@
 package com.sinata.system.service.impl;
 
-import com.alibaba.excel.EasyExcel;
+import cn.idev.excel.EasyExcel;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.sinata.common.entity.PageDTO;
diff --git a/medicalWaste-system/src/main/java/com/sinata/system/service/impl/MwDisposalRecordServiceImpl.java b/medicalWaste-system/src/main/java/com/sinata/system/service/impl/MwDisposalRecordServiceImpl.java
index c3c0f17..dbbaa0c 100644
--- a/medicalWaste-system/src/main/java/com/sinata/system/service/impl/MwDisposalRecordServiceImpl.java
+++ b/medicalWaste-system/src/main/java/com/sinata/system/service/impl/MwDisposalRecordServiceImpl.java
@@ -1,10 +1,24 @@
 package com.sinata.system.service.impl;
 
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.sinata.common.entity.PageDTO;
+import com.sinata.common.utils.CollUtils;
+import com.sinata.common.utils.StringUtils;
 import com.sinata.system.domain.MwDisposalRecord;
+import com.sinata.system.domain.query.MwDisposalRecordItemQuery;
+import com.sinata.system.domain.query.MwDisposalRecordQuery;
+import com.sinata.system.domain.vo.DisposalRecordStaticsVO;
+import com.sinata.system.domain.vo.MwDisposalRecordItemVO;
+import com.sinata.system.domain.vo.MwDisposalRecordVO;
 import com.sinata.system.mapper.MwDisposalRecordMapper;
 import com.sinata.system.service.MwDisposalRecordService;
-import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.sinata.system.service.SysDepartmentService;
+import lombok.RequiredArgsConstructor;
 import org.springframework.stereotype.Service;
+
+import java.math.BigDecimal;
+import java.util.List;
 
 /**
  * <p>
@@ -15,6 +29,59 @@
  * @since 2024-12-02
  */
 @Service
+@RequiredArgsConstructor
 public class MwDisposalRecordServiceImpl extends ServiceImpl<MwDisposalRecordMapper, MwDisposalRecord> implements MwDisposalRecordService {
+    private final SysDepartmentService sysDepartmentService;
 
+    /**
+     * 统计数据
+     *
+     * @param query
+     * @return
+     */
+    @Override
+    public DisposalRecordStaticsVO statics(MwDisposalRecordQuery query) {
+        String treeCode = sysDepartmentService.getTreeCode(query.getDepartmentId());
+        if (StringUtils.isNotBlank(treeCode)) {
+            List<MwDisposalRecordVO> disposalRecordVOList = baseMapper.getStaticsData(query, treeCode);
+            if (CollUtils.isNotEmpty(disposalRecordVOList)) {
+                DisposalRecordStaticsVO vo = new DisposalRecordStaticsVO();
+                vo.setReceiveQuantity(disposalRecordVOList.stream().map(MwDisposalRecordVO::getReceiveQuantity).reduce(0, Integer::sum));
+                vo.setReceiveWeight(disposalRecordVOList.stream().map(MwDisposalRecordVO::getReceiveWeight).reduce(BigDecimal.ZERO, BigDecimal::add));
+                vo.setUnloadQuantity(disposalRecordVOList.stream().map(MwDisposalRecordVO::getUnloadQuantity).reduce(0, Integer::sum));
+                vo.setUnloadWeight(disposalRecordVOList.stream().map(MwDisposalRecordVO::getUnloadWeight).reduce(BigDecimal.ZERO, BigDecimal::add));
+                vo.setTotalHandledQuantity(disposalRecordVOList.stream().map(MwDisposalRecordVO::getTotalHandledQuantity).reduce(0, Integer::sum));
+                vo.setTotalHandledWeight(disposalRecordVOList.stream().map(MwDisposalRecordVO::getTotalHandledWeight).reduce(BigDecimal.ZERO, BigDecimal::add));
+            }
+        }
+        return new DisposalRecordStaticsVO();
+    }
+
+    /**
+     * 处置显示分页列表
+     *
+     * @param query
+     * @return
+     */
+    @Override
+    public PageDTO<MwDisposalRecordVO> pageList(MwDisposalRecordQuery query) {
+        String treeCode = sysDepartmentService.getTreeCode(query.getDepartmentId());
+        if (StringUtils.isBlank(treeCode)) {
+            return PageDTO.empty(0L, 0L);
+        }
+        Page<MwDisposalRecordVO> page = baseMapper.pageList(new Page<>(query.getPageCurr(), query.getPageSize()), query, treeCode);
+        return PageDTO.of(page);
+    }
+
+    /**
+     * 详情
+     *
+     * @param query
+     * @return
+     */
+    @Override
+    public PageDTO<MwDisposalRecordItemVO> detail(MwDisposalRecordItemQuery query) {
+        Page<MwDisposalRecordItemVO> page = baseMapper.pageDetail(new Page<>(query.getPageCurr(), query.getPageSize()), query.getDisposalRecordId());
+        return PageDTO.of(page);
+    }
 }
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 a5f1a3d..3c33577 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
@@ -1,6 +1,6 @@
 package com.sinata.system.service.impl;
 
-import com.alibaba.excel.EasyExcel;
+import cn.idev.excel.EasyExcel;
 import com.alibaba.fastjson2.JSONObject;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
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 38e1d62..c0c312f 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,6 +1,6 @@
 package com.sinata.system.service.impl;
 
-import com.alibaba.excel.EasyExcel;
+import cn.idev.excel.EasyExcel;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.sinata.common.entity.PageDTO;
diff --git a/medicalWaste-system/src/main/resources/mapper/system/MwCheckoutRecordMapper.xml b/medicalWaste-system/src/main/resources/mapper/system/MwCheckoutRecordMapper.xml
index c3e435a..649692d 100644
--- a/medicalWaste-system/src/main/resources/mapper/system/MwCheckoutRecordMapper.xml
+++ b/medicalWaste-system/src/main/resources/mapper/system/MwCheckoutRecordMapper.xml
@@ -28,5 +28,105 @@
         UPDATE_TIME,
         ID, CHECKOUT_TIME, DEPARTMENT_ID, HOSPITAL_NAME, STAGING_ROOM_ID, HOSPITAL_SIGNATURE, DRIVER_ID, CAR_ID
     </sql>
+    <select id="pageHospitalTransitList" resultType="com.sinata.system.domain.vo.MwCheckoutRecordVO">
+        SELECT mcr.ID,
+        mcr.CHECKOUT_TIME,
+        mcr.HOSPITAL_NAME,
+        SUM(mcr.BOX_NUM) AS boxNum,
+        SUM(mcr.BAG_NUM) AS bagNum,
+        SUM(mcr.TOTAL_WEIGHT) AS totalWeight,
+        su.NICK_NAME AS driverName,
+        mtc.LICENSE_PLATE_NUMBER
+        FROM MW_CHECKOUT_RECORD mcr
+        LEFT JOIN SYS_USER su
+        ON mcr.DRIVER_ID = su.USER_ID
+        LEFT JOIN MW_TRANSIT_CAR mtc
+        ON mcr.CAR_ID = mtc.ID
+        LEFT JOIN SYS_DEPARTMENT sd
+        ON mcr.DEPARTMENT_ID = sd.ID
+        <where>
+            <if test="treeCode != null and treeCode != ''">
+                AND sd.TREE_CODE LIKE CONCAT(#{treeCode},'%')
+            </if>
+            <if test="query.checkoutTimeStart != null and query.checkoutTimeEnd!=null">
+                AND mcr.CHECKOUT_TIME BETWEEN #{query.checkoutTimeStart} AND #{query.checkoutTimeEnd}
+            </if>
+        </where>
+        GROUP BY mcr.DEPARTMENT_ID
+    </select>
+    <select id="hospitalDetail" resultType="com.sinata.system.domain.vo.MwCheckoutRecordVO">
+        SELECT mcr.ID,
+        mcr.CHECKOUT_TIME,
+        mcr.HOSPITAL_NAME,
+        SUM(mcr.BOX_NUM) AS boxNum,
+        SUM(mcr.BAG_NUM) AS bagNum,
+        SUM(mcr.TOTAL_WEIGHT) AS totalWeight,
+        su.NICK_NAME AS driverName,
+        mtc.LICENSE_PLATE_NUMBER
+        FROM MW_CHECKOUT_RECORD mcr
+        LEFT JOIN SYS_USER su
+        ON mcr.DRIVER_ID = su.USER_ID
+        LEFT JOIN MW_TRANSIT_CAR mtc
+        ON mcr.CAR_ID = mtc.ID
+        LEFT JOIN SYS_DEPARTMENT sd
+        ON mcr.DEPARTMENT_ID = sd.ID
+        <where>
+            mcr.DEPARTMENT_ID = #{id}
+        </where>
+    </select>
+    <select id="hospitalDetailPage" resultType="com.sinata.system.domain.vo.MwMedicalWasteBoxVO">
+        SELECT
+        mcr.BOX_ID AS id,
+        mcr.BOX_NUMBER,
+        mcr.WASTE_TYPE_STR,
+        su.NICK_NAME AS COLLECT_USER_NAME,
+        COUNT(*) AS bagNum,
+        SUM(mcr.WEIGHT) AS totalWeight,
+        (SELECT MAX(mcr_inner.BOX_TIME)
+        FROM MW_COLLECT_RECORD mcr_inner
+        WHERE mcr_inner.BOX_ID = mcr.BOX_ID) AS BOX_TIME
+        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
+        <where>
+            <if test="departmentId != null and departmentId != ''">
+                AND mcr.DEPARTMENT_ID = #{departmentId}
+            </if>
+        </where>
+        GROUP BY mcr.BOX_ID
+        ORDER BY mcr.CREATE_TIME DESC
+    </select>
+    <select id="transitPageList" resultType="com.sinata.system.domain.vo.MwTransitRecordVO">
+        SELECT MDR.DISPOSAL_UNIT_NAME,
+        MTC.LICENSE_PLATE_NUMBER,
+        SU.NICK_NAME,
+        SUM(MCR.BOX_NUM) AS boxNum,
+        SUM(MCR.TOTAL_WEIGHT) AS weight,
+        MIN(MCR2.BOX_TIME) AS startTime,
+        MDR.RECEIVE_TIME AS endTime
+        FROM MW_DISPOSAL_RECORD MDR
+        LEFT JOIN MW_DISPOSAL_RECORD_ITEM MDRI ON MDR.ID = MDRI.DISPOSAL_RECORD_ID
+        LEFT JOIN MW_CHECKOUT_RECORD_ITEM MCRI ON MDRI.COLLECT_RECORD_ID = MCRI.COLLECT_RECORD_ID
+        LEFT JOIN MW_CHECKOUT_RECORD MCR ON MCRI.CHECKOUT_RECORD_ID = MCR.ID
+        LEFT JOIN MW_COLLECT_RECORD MCR2 ON MCRI.COLLECT_RECORD_ID = MCR2.ID
+        LEFT JOIN MW_TRANSIT_CAR MTC ON MCR.CAR_ID = MTC.ID
+        LEFT JOIN SYS_USER SU ON MCR.DRIVER_ID = SU.USER_ID
+        LEFT JOIN SYS_DEPARTMENT SD ON SD.ID = MDR.DEPARTMENT_ID
+        <where>
+            <if test="treeCode != null and treeCode != null">
+                AND SD.TREE_CODE LIKE CONCAT(#{treeCode},'%')
+            </if>
+            <if test="query.licensePlateNumber != null and query.licensePlateNumber != ''">
+                AND MTC.LICENSE_PLATE_NUMBER LIKE CONCAT('%',#{query.licensePlateNumber},'%')
+            </if>
+            <if test="query.status != null">
+                AND MCR2.STATUS = #{query.status}
+            </if>
+            <if test="query.startTime != null and query.endTime != null">
+                AND MDR.RECEIVE_TIME BETWEEN #{query.startTime} AND #{query.endTime}
+            </if>
+        </where>
+        GROUP BY MCR.CAR_ID
+    </select>
 
 </mapper>
diff --git a/medicalWaste-system/src/main/resources/mapper/system/MwDisposalRecordMapper.xml b/medicalWaste-system/src/main/resources/mapper/system/MwDisposalRecordMapper.xml
index 2d98f30..32aa536 100644
--- a/medicalWaste-system/src/main/resources/mapper/system/MwDisposalRecordMapper.xml
+++ b/medicalWaste-system/src/main/resources/mapper/system/MwDisposalRecordMapper.xml
@@ -34,5 +34,48 @@
         UPDATE_TIME,
         ID, DEPARTMENT_ID, DISPOSAL_UNIT_NAME, RECEIVE_QUANTITY, RECEIVE_TIME, RECEIVE_WEIGHT, RECEIVER_ID, UNLOAD_QUANTITY, UNLOAD_WEIGHT, TOTAL_HANDLED_QUANTITY, DISPOSAL_FLAG, TOTAL_HANDLED_WEIGHT, DISPOSAL_TIME, DISPOSAL_USER_ID
     </sql>
+    <select id="getStaticsData" resultType="com.sinata.system.domain.vo.MwDisposalRecordVO">
+        SELECT MDR.*
+        FROM MW_DISPOSAL_RECORD MDR
+        LEFT JOIN SYS_DEPARTMENT SD ON SD.ID = MDR.DEPARTMENT_ID
+        <where>
+            <if test="treeCode != null and treeCode !=''">
+                AND SD.TREE_CODE LIKE CONCAT(#{treeCode}, '%')
+            </if>
+            <if test="query.receiveTimeStart!=null and query.receiveTimeEnd != null">
+                AND MDR.RECEIVE_TIME BETWEEN #{query.receiveTimeStart} AND #{query.receiveTimeEnd}
+            </if>
+        </where>
+    </select>
+    <select id="pageList" resultType="com.sinata.system.domain.vo.MwDisposalRecordVO">
+        SELECT MDR.*
+        FROM MW_DISPOSAL_RECORD MDR
+        LEFT JOIN SYS_DEPARTMENT SD ON SD.ID = MDR.DEPARTMENT_ID
+        <where>
+            <if test="treeCode != null and treeCode !=''">
+                AND SD.TREE_CODE LIKE CONCAT(#{treeCode}, '%')
+            </if>
+            <if test="query.receiveTimeStart!=null and query.receiveTimeEnd != null">
+                AND MDR.RECEIVE_TIME BETWEEN #{query.receiveTimeStart} AND #{query.receiveTimeEnd}
+            </if>
+        </where>
+        ORDER BY MDR.DISPOSAL_TIME DESC
+    </select>
+    <select id="pageDetail" resultType="com.sinata.system.domain.vo.MwDisposalRecordItemVO">
+        SELECT MCR.BOX_NUMBER,
+        COUNT(*) AS bagNum,
+        IFNULL(SUM(MCR.WEIGHT), 0) AS weight,
+        MDR.DISPOSAL_TIME
+        FROM MW_DISPOSAL_RECORD MDR
+        LEFT JOIN MW_DISPOSAL_RECORD_ITEM MDRI ON MDR.ID = MDRI.DISPOSAL_RECORD_ID
+        LEFT JOIN MW_COLLECT_RECORD MCR ON MDR.ID = MDRI.COLLECT_RECORD_ID
+        <where>
+            MCR.STATUS = 4
+            <if test="disposalRecordId != null">
+                AND MDR.ID = #{disposalRecordId}
+            </if>
+        </where>
+        GROUP BY MCR.BOX_ID
+    </select>
 
 </mapper>
diff --git a/medicalWaste-system/src/main/resources/mapper/system/MwMicroEquipmentMapper.xml b/medicalWaste-system/src/main/resources/mapper/system/MwMicroEquipmentMapper.xml
index bca9536..25869ce 100644
--- a/medicalWaste-system/src/main/resources/mapper/system/MwMicroEquipmentMapper.xml
+++ b/medicalWaste-system/src/main/resources/mapper/system/MwMicroEquipmentMapper.xml
@@ -50,7 +50,7 @@
                 AND mme.STATUS = #{status}
             </if>
         </where>
-
+        ORDER BY mme.CREATE_TIME DESC
     </select>
     <select id="storedMedicalWastePage" resultType="com.sinata.system.domain.vo.MwMedicalWasteBoxVO">
         SELECT mcr.BOX_ID AS id,
@@ -63,11 +63,11 @@
         msr.ROOM_NAME,
         COUNT(*) AS bagNum,
         SUM(mcr.WEIGHT) AS totalWeight
-        FROM MEDICAL_WASTE.MW_COLLECT_RECORD mcr
-        LEFT JOIN MEDICAL_WASTE.SYS_USER su
+        FROM MW_COLLECT_RECORD mcr
+        LEFT JOIN SYS_USER su
         ON mcr.COLLECT_USER_ID = su.USER_ID
-        LEFT JOIN MEDICAL_WASTE.SYS_DEPARTMENT sd ON su.DEPARTMENT_ID = sd.ID
-        LEFT JOIN MEDICAL_WASTE.MW_STAGING_ROOM msr ON msr.ID = mcr.STAGING_ROOM_ID
+        LEFT JOIN SYS_DEPARTMENT sd ON su.DEPARTMENT_ID = sd.ID
+        LEFT JOIN MW_STAGING_ROOM msr ON msr.ID = mcr.STAGING_ROOM_ID
         <where>
             mcr.STATUS = 1
             <if test="treeCode != null and treeCode != ''">
diff --git a/medicalWaste-system/src/main/resources/mapper/system/MwMicroEquipmentRecordMapper.xml b/medicalWaste-system/src/main/resources/mapper/system/MwMicroEquipmentRecordMapper.xml
index e9640b6..40ba7bd 100644
--- a/medicalWaste-system/src/main/resources/mapper/system/MwMicroEquipmentRecordMapper.xml
+++ b/medicalWaste-system/src/main/resources/mapper/system/MwMicroEquipmentRecordMapper.xml
@@ -52,6 +52,7 @@
                 AND mmer.USE_TIME BETWEEN #{query.useTimeStart} AND #{query.useTimeEnd}
             </if>
         </where>
+        ORDER BY mmer.USE_TIME DESC
     </select>
     <select id="getList" resultType="com.sinata.system.domain.vo.MwMicroEquipmentRecordVO">
         SELECT mmer.ID,
@@ -88,6 +89,7 @@
                 </foreach>
             </if>
         </where>
+        ORDER BY mmer.USE_TIME DESC
     </select>
     <select id="getStaticsData" resultType="com.sinata.system.domain.vo.MwMicroEquipmentStaticsVO">
         SELECT mmer.BAG_NUM, mmer.TOTAL_WEIGHT, mmer.USE_TIME, mcr.WEIGHT, mcr.WASTE_TYPE
diff --git a/medicalWaste-system/src/main/resources/mapper/system/MwStagingRoomMapper.xml b/medicalWaste-system/src/main/resources/mapper/system/MwStagingRoomMapper.xml
index b087198..ad41682 100644
--- a/medicalWaste-system/src/main/resources/mapper/system/MwStagingRoomMapper.xml
+++ b/medicalWaste-system/src/main/resources/mapper/system/MwStagingRoomMapper.xml
@@ -47,6 +47,7 @@
                 sd.TREE_CODE LIKE CONCAT('%', #{tree})
             </if>
         </where>
+        ORDER BY msr.CREATE_TIME DESC
     </select>
     <select id="storageRecordPage" resultType="com.sinata.system.domain.vo.MwStorageRecordVO">
         SELECT mcr.ID,
@@ -158,17 +159,19 @@
         mcr.TOTAL_WEIGHT,
         mcr.HOSPITAL_SIGNATURE,
         su.NICK_NAME AS driverName,
-        LICENSE_PLATE_NUMBER
-        FROM MEDICAL_WASTE.MW_CHECKOUT_RECORD mcr
-        LEFT JOIN MEDICAL_WASTE.MW_STAGING_ROOM msr
+        mtc.LICENSE_PLATE_NUMBER
+        FROM MW_CHECKOUT_RECORD mcr
+        LEFT JOIN MW_STAGING_ROOM msr
         ON mcr.STAGING_ROOM_ID = msr.ID
-        LEFT JOIN MEDICAL_WASTE.SYS_USER su
+        LEFT JOIN SYS_USER su
         ON mcr.DRIVER_ID = su.USER_ID
-        LEFT JOIN MEDICAL_WASTE.MW_TRANSIT_CAR mtc
+        LEFT JOIN MW_TRANSIT_CAR mtc
         ON mcr.CAR_ID = mtc.ID
+        LEFT JOIN SYS_DEPARTMENT sd
+        ON mcr.DEPARTMENT_ID = sd.ID
         <where>
             <if test="treeCode != null and treeCode != ''">
-                AND msr.DEPARTMENT_ID LIKE CONCAT(#{treeCode},'%')
+                AND sd.TREE_CODE LIKE CONCAT(#{treeCode},'%')
             </if>
             <if test="query.stagingRoomId !=null and query.stagingRoomId != ''">
                 AND mcr.STAGING_ROOM_ID = #{query.stagingRoomId}
@@ -177,6 +180,7 @@
                 AND mcr.CHECKOUT_TIME BETWEEN #{query.checkoutTimeStart} AND #{query.checkoutTimeEnd}
             </if>
         </where>
+        ORDER BY mcr.CHECKOUT_TIME DESC
     </select>
     <select id="checkoutRecordList" resultType="com.sinata.system.domain.vo.MwCheckoutRecordVO">
         SELECT mcr.ID,
@@ -188,17 +192,19 @@
         mcr.TOTAL_WEIGHT,
         mcr.HOSPITAL_SIGNATURE,
         su.NICK_NAME AS driverName,
-        LICENSE_PLATE_NUMBER
-        FROM MEDICAL_WASTE.MW_CHECKOUT_RECORD mcr
-        LEFT JOIN MEDICAL_WASTE.MW_STAGING_ROOM msr
+        mtc.LICENSE_PLATE_NUMBER
+        FROM MW_CHECKOUT_RECORD mcr
+        LEFT JOIN MW_STAGING_ROOM msr
         ON mcr.STAGING_ROOM_ID = msr.ID
-        LEFT JOIN MEDICAL_WASTE.SYS_USER su
+        LEFT JOIN SYS_USER su
         ON mcr.DRIVER_ID = su.USER_ID
-        LEFT JOIN MEDICAL_WASTE.MW_TRANSIT_CAR mtc
+        LEFT JOIN MW_TRANSIT_CAR mtc
         ON mcr.CAR_ID = mtc.ID
+        LEFT JOIN SYS_DEPARTMENT sd
+        ON mcr.DEPARTMENT_ID = sd.ID
         <where>
             <if test="treeCode != null and treeCode != ''">
-                AND msr.DEPARTMENT_ID LIKE CONCAT(#{treeCode},'%')
+                AND sd.TREE_CODE LIKE CONCAT(#{treeCode},'%')
             </if>
             <if test="query.stagingRoomId !=null and query.stagingRoomId != ''">
                 AND mcr.STAGING_ROOM_ID = #{query.stagingRoomId}
@@ -207,6 +213,7 @@
                 AND mcr.CHECKOUT_TIME BETWEEN #{query.checkoutTimeStart} AND #{query.checkoutTimeEnd}
             </if>
         </where>
+        ORDER BY mcr.CHECKOUT_TIME DESC
     </select>
 
 </mapper>
diff --git a/pom.xml b/pom.xml
index 8ed42ff..a7af959 100644
--- a/pom.xml
+++ b/pom.xml
@@ -34,7 +34,7 @@
         <mybatis.plus.version>3.5.2</mybatis.plus.version>
         <knife4j.version>3.0.3</knife4j.version>
         <hutool.version>5.7.17</hutool.version>
-        <easyexcel.version>4.0.3</easyexcel.version>
+        <fastexcel.version>1.0.0</fastexcel.version>
     </properties>
 
     <!-- 依赖声明 -->
@@ -208,11 +208,11 @@
                 <artifactId>hutool-all</artifactId>
                 <version>${hutool.version}</version>
             </dependency>
-            <!-- https://mvnrepository.com/artifact/com.alibaba/easyexcel -->
+
             <dependency>
-                <groupId>com.alibaba</groupId>
-                <artifactId>easyexcel</artifactId>
-                <version>${easyexcel.version}</version>
+                <groupId>cn.idev.excel</groupId>
+                <artifactId>fastexcel</artifactId>
+                <version>${fastexcel.version}</version>
             </dependency>
 
         </dependencies>

--
Gitblit v1.7.1