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