mitao
2025-03-06 108822337f58a955cf0620ec1dcb4fdf0cd77190
管理后台bug修改
13个文件已修改
222 ■■■■ 已修改文件
medicalWaste-admin/src/main/java/com/sinata/web/controller/applet/AppMwCollectRecordController.java 89 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
medicalWaste-admin/src/main/java/com/sinata/web/controller/backend/MwMicroEquipmentController.java 12 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
medicalWaste-admin/src/test/java/DepartmentTest.java 17 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
medicalWaste-system/src/main/java/com/sinata/system/mapper/MwDisposalRecordMapper.java 3 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
medicalWaste-system/src/main/java/com/sinata/system/service/MwMicroEquipmentService.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
medicalWaste-system/src/main/java/com/sinata/system/service/biz/TaskService.java 3 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
medicalWaste-system/src/main/java/com/sinata/system/service/impl/MwDisposalRecordServiceImpl.java 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
medicalWaste-system/src/main/java/com/sinata/system/service/impl/MwMicroEquipmentRecordServiceImpl.java 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
medicalWaste-system/src/main/java/com/sinata/system/service/impl/MwMicroEquipmentServiceImpl.java 14 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
medicalWaste-system/src/main/java/com/sinata/system/service/impl/MwTransitCarServiceImpl.java 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
medicalWaste-system/src/main/resources/mapper/system/MwCheckoutRecordMapper.xml 35 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
medicalWaste-system/src/main/resources/mapper/system/MwDisposalRecordMapper.xml 31 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
medicalWaste-system/src/main/resources/mapper/system/MwMonitorDeviceMapper.xml 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
medicalWaste-admin/src/main/java/com/sinata/web/controller/applet/AppMwCollectRecordController.java
@@ -1,40 +1,74 @@
package com.sinata.web.controller.applet;
import java.util.Date;
import java.math.BigDecimal;
import java.util.*;
import cn.hutool.core.date.DatePattern;
import cn.hutool.core.date.DateUtil;
import com.alibaba.fastjson2.JSONArray;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.sinata.common.core.domain.R;
import com.sinata.common.core.domain.entity.SysDictData;
import com.sinata.common.core.domain.entity.SysUser;
import com.sinata.common.entity.PageDTO;
import com.sinata.common.utils.DateUtils;
import com.sinata.common.utils.SecurityUtils;
import com.sinata.common.utils.StringUtils;
import com.sinata.system.domain.*;
import com.sinata.system.domain.dto.*;
import com.sinata.system.domain.query.MwCollectRecordQuery;
import com.sinata.system.domain.vo.MedicalWasteProcessVO;
import com.sinata.system.domain.vo.MwCollectRecordVO;
import com.sinata.system.service.*;
import com.sinata.system.domain.MwBox;
import com.sinata.system.domain.MwCheckoutRecord;
import com.sinata.system.domain.MwCheckoutRecordItem;
import com.sinata.system.domain.MwCollectRecord;
import com.sinata.system.domain.MwDisposalHandleRecord;
import com.sinata.system.domain.MwDisposalHandleRecordItem;
import com.sinata.system.domain.MwDisposalRecord;
import com.sinata.system.domain.MwDisposalRecordItem;
import com.sinata.system.domain.MwStagingRoom;
import com.sinata.system.domain.MwTransitCar;
import com.sinata.system.domain.MwTransitCarCollectPoint;
import com.sinata.system.domain.MwTransitRoute;
import com.sinata.system.domain.SysDepartment;
import com.sinata.system.domain.dto.BoxListDto;
import com.sinata.system.domain.dto.CarDto;
import com.sinata.system.domain.dto.CollectCarTotalUpDto;
import com.sinata.system.domain.dto.CollectDto;
import com.sinata.system.domain.dto.CollectTotalDto;
import com.sinata.system.domain.dto.CollectTotalUpDto;
import com.sinata.system.domain.dto.HospitalCollectTotalUp1Dto;
import com.sinata.system.domain.dto.HospitalCollectTotalUpDto;
import com.sinata.system.domain.dto.SignCollectDto;
import com.sinata.system.service.ISysDictDataService;
import com.sinata.system.service.ISysUserService;
import com.sinata.system.service.MwBoxService;
import com.sinata.system.service.MwCheckoutRecordItemService;
import com.sinata.system.service.MwCheckoutRecordService;
import com.sinata.system.service.MwCollectRecordService;
import com.sinata.system.service.MwDisposalHandleRecordItemService;
import com.sinata.system.service.MwDisposalHandleRecordService;
import com.sinata.system.service.MwDisposalRecordItemService;
import com.sinata.system.service.MwDisposalRecordService;
import com.sinata.system.service.MwStagingRoomService;
import com.sinata.system.service.MwTransitCarCollectPointService;
import com.sinata.system.service.MwTransitCarService;
import com.sinata.system.service.MwTransitRouteService;
import com.sinata.system.service.SysDepartmentService;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import io.swagger.annotations.ApiParam;
import java.math.BigDecimal;
import java.time.LocalDate;
import java.util.ArrayList;
import java.util.Date;
import java.util.HashSet;
import java.util.List;
import java.util.Map;
import java.util.Objects;
import java.util.Random;
import java.util.Set;
import java.util.stream.Collectors;
import javax.validation.Valid;
import lombok.RequiredArgsConstructor;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.format.annotation.DateTimeFormat;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
import javax.servlet.http.HttpServletResponse;
import javax.validation.Valid;
import java.io.IOException;
import java.time.LocalDate;
import java.util.stream.Collectors;
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.RequestParam;
import org.springframework.web.bind.annotation.RestController;
/**
 * <p>
@@ -124,6 +158,7 @@
    @ApiOperation(value = "装车",tags = "运输人员")
    @PostMapping("/box/collect")
    @Transactional(rollbackFor = Exception.class)
    public R<List<CollectDto>> collect(@RequestBody SignCollectDto signCollectDto) {
        SysUser  sysUser1 = SecurityUtils.getLoginUser().getUser();
        SysUser sysUser = userService.getById(sysUser1.getUserId());
@@ -287,8 +322,10 @@
    @ApiOperation(value = "确认接受",tags = "处置人员")
    @PostMapping("/end/down/collect/confirm")
    @Transactional(rollbackFor = Exception.class)
    public R tanscollecttotal4(@RequestBody BoxListDto boxListDto) {
        SysUser  sysUser = SecurityUtils.getLoginUser().getUser();
        Long userId = SecurityUtils.getUserId();
        SysUser sysUser = userService.getById(userId);
        SysDepartment byId = departmentService.getById(sysUser.getDepartmentId());
        //将record变为已接受
        List<MwCollectRecord> list = collectRecordService.lambdaQuery().eq(MwCollectRecord::getStatus,2).in(MwCollectRecord::getBoxNumber, boxListDto.getBoxNum()).list();
@@ -358,10 +395,13 @@
        List<CollectDto> collectDtos =  collectRecordService.getGroupWithStatus(boxNumber,byId.getDepartmentId(),3);
        return R.ok(collectDtos);
    }
    @Transactional(rollbackFor = Exception.class)
    @ApiOperation(value = "处置操作",tags = "处置人员")
    @PostMapping("/wait/out")
    public R<List<CollectDto>> list2(@RequestBody BoxListDto boxListDto) {
        SysUser  sysUser = SecurityUtils.getLoginUser().getUser();
        Long userId = SecurityUtils.getUserId();
        SysUser sysUser = userService.getById(userId);
        SysDepartment byId = departmentService.getById(sysUser.getDepartmentId());
        List<MwCollectRecord> list = collectRecordService.lambdaQuery().eq(MwCollectRecord::getStatus, 3).in(MwCollectRecord::getBoxNumber, boxListDto.getBoxNum()).list();
        if (list.isEmpty()){
@@ -451,7 +491,8 @@
    @ApiOperation("库存信息")
    @PostMapping("/list")
    public R<List<CollectDto>> list(String boxNumber) {
        SysUser  sysUser = SecurityUtils.getLoginUser().getUser();
        Long userId = SecurityUtils.getUserId();
        SysUser sysUser = userService.getById(userId);
        List<CollectDto> collectDtos =  collectRecordService.getGroup(boxNumber,sysUser.getDepartmentId());
        return R.ok(collectDtos);
    }
medicalWaste-admin/src/main/java/com/sinata/web/controller/backend/MwMicroEquipmentController.java
@@ -11,6 +11,8 @@
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import io.swagger.annotations.ApiParam;
import java.util.List;
import javax.validation.Valid;
import lombok.RequiredArgsConstructor;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.DeleteMapping;
@@ -20,9 +22,6 @@
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;
import java.util.List;
/**
 * <p>
@@ -109,8 +108,9 @@
     * @return
     */
    @ApiOperation("微型设备列表")
    @GetMapping("/list")
    public R<List<MwMicroEquipmentVO>> getList() {
        return R.ok(mwMicroEquipmentService.getList());
    @GetMapping("/list/{departmentId}")
    public R<List<MwMicroEquipmentVO>> getList(
            @ApiParam(name = "departmentId", value = "医院id", required = true) @PathVariable("departmentId") Long departmentId) {
        return R.ok(mwMicroEquipmentService.getList(departmentId));
    }
}
medicalWaste-admin/src/test/java/DepartmentTest.java
@@ -1,6 +1,8 @@
import com.sinata.RuoYiApplication;
import com.sinata.system.mapper.SysDepartmentMapper;
import com.sinata.system.service.ISysDictTypeService;
import com.sinata.system.service.SysDepartmentService;
import com.sinata.system.service.biz.TaskService;
import org.junit.jupiter.api.Test;
import org.springframework.boot.test.context.SpringBootTest;
@@ -16,6 +18,11 @@
    private SysDepartmentMapper departmentMapper;
    @Resource
    private ISysDictTypeService sysDictTypeService;
    @Resource
    private TaskService taskService;
    @Resource
    private SysDepartmentService sysDepartmentService;
    @Test
    public void test(){
@@ -26,4 +33,14 @@
        System.out.println(sysDictTypeService.list());
    }
    @Test
    public void testTask() {
        taskService.checkoutOverTime();
    }
    @Test
    public void test3() {
        System.out.println(sysDepartmentService.getRegionName(sysDepartmentService.getById(21)));
    }
}
medicalWaste-system/src/main/java/com/sinata/system/mapper/MwDisposalRecordMapper.java
@@ -85,4 +85,7 @@
     * @return
     */
    DepartmentTagInfoVO getTagInfo(Long id);
    DisposalRecordStaticsVO getDisposalData(@Param("query") MwDisposalRecordQuery query,
            @Param("treeCode") String treeCode);
}
medicalWaste-system/src/main/java/com/sinata/system/service/MwMicroEquipmentService.java
@@ -57,5 +57,5 @@
     *
     * @return
     */
    List<MwMicroEquipmentVO> getList();
    List<MwMicroEquipmentVO> getList(Long departmentId);
}
medicalWaste-system/src/main/java/com/sinata/system/service/biz/TaskService.java
@@ -106,7 +106,8 @@
            // 过滤出需要预警的记录
            List<MwCollectRecord> recordList = collectRecordList.stream()
                    .filter(item -> item.getWasteType().equals(configItem.getWasteType()) &&
                            DateUtils.timeDistanceHour(new Date(), item.getCollectTime()) > configItem.getValue())
                            DateUtils.timeDistanceHour(new Date(), item.getCollectTime())
                                    >= configItem.getValue())
                    .collect(Collectors.toList());
            if (CollUtils.isEmpty(recordList)) {
medicalWaste-system/src/main/java/com/sinata/system/service/impl/MwDisposalRecordServiceImpl.java
@@ -50,6 +50,10 @@
        DisposalRecordStaticsVO vo = null;
        if (StringUtils.isNotBlank(treeCode)) {
            vo = baseMapper.getStaticsData(query, treeCode);
            DisposalRecordStaticsVO disposalRecordStaticsVO = baseMapper.getDisposalData(query,
                    treeCode);
            vo.setTotalHandledQuantity(disposalRecordStaticsVO.getTotalHandledQuantity());
            vo.setTotalHandledWeight(disposalRecordStaticsVO.getTotalHandledWeight());
        }
        return vo;
    }
medicalWaste-system/src/main/java/com/sinata/system/service/impl/MwMicroEquipmentRecordServiceImpl.java
@@ -89,6 +89,11 @@
    public MwMicroEquipmentRecordVO detail(Long id) {
        MwMicroEquipmentRecordVO mwMicroEquipmentRecordVO = BeanUtils.copyBean(this.getById(id), MwMicroEquipmentRecordVO.class);
        if (Objects.nonNull(mwMicroEquipmentRecordVO)) {
            MwMicroEquipment equipment = mwMicroEquipmentService.getById(
                    mwMicroEquipmentRecordVO.getEquipmentId());
            if (Objects.nonNull(equipment)) {
                mwMicroEquipmentRecordVO.setEquipmentName(equipment.getEquipmentName());
            }
            mwMicroEquipmentRecordVO.setMedicalWasteList(mwStagingRoomService.queryMedicalWasteList(mwMicroEquipmentRecordVO.getId()));
        }
        return mwMicroEquipmentRecordVO;
medicalWaste-system/src/main/java/com/sinata/system/service/impl/MwMicroEquipmentServiceImpl.java
@@ -6,7 +6,6 @@
import com.sinata.common.utils.BeanUtils;
import com.sinata.common.utils.StringUtils;
import com.sinata.system.domain.MwMicroEquipment;
import com.sinata.system.domain.SysDepartment;
import com.sinata.system.domain.dto.MwMicroEquipmentDTO;
import com.sinata.system.domain.query.MwMicroEquipmentQuery;
import com.sinata.system.domain.query.StorageRecordQuery;
@@ -16,11 +15,10 @@
import com.sinata.system.mapper.MwMicroEquipmentMapper;
import com.sinata.system.service.MwMicroEquipmentService;
import com.sinata.system.service.SysDepartmentService;
import lombok.RequiredArgsConstructor;
import org.springframework.stereotype.Service;
import java.util.List;
import java.util.Objects;
import lombok.RequiredArgsConstructor;
import org.springframework.stereotype.Service;
/**
 * <p>
@@ -100,11 +98,11 @@
     * @return
     */
    @Override
    public List<MwMicroEquipmentVO> getList() {
        SysDepartment myDepartment = sysDepartmentService.getMyDepartment();
        //TODO 待完善
    public List<MwMicroEquipmentVO> getList(Long departmentId) {
//        SysDepartment myDepartment = sysDepartmentService.getMyDepartment();
        List<MwMicroEquipment> list = this.lambdaQuery()
                .eq(MwMicroEquipment::getStatus, MicroEquipmentStatusEnum.NORMAL.getCode()).list();
                .eq(MwMicroEquipment::getStatus, MicroEquipmentStatusEnum.NORMAL.getCode())
                .eq(MwMicroEquipment::getDepartmentId, departmentId).list();
        return BeanUtils.copyList(list, MwMicroEquipmentVO.class);
        /*if (Objects.nonNull(myDepartment)) {
            if (myDepartment.getOrgType().equals(DepartmentEnum.MEDICAL_INSTITUTION.getCode())) {
medicalWaste-system/src/main/java/com/sinata/system/service/impl/MwTransitCarServiceImpl.java
@@ -99,6 +99,11 @@
        if (Objects.isNull(dto.getId())) {
            throw new ServiceException("车辆id不能为空");
        }
        Long count = lambdaQuery().eq(MwTransitCar::getLicensePlateNumber,
                dto.getLicensePlateNumber()).ne(MwTransitCar::getId, dto.getId()).count();
        if (count > 0) {
            throw new ServiceException("车牌号已存在");
        }
        MwTransitCar mwTransitCar = BeanUtils.copyBean(dto, MwTransitCar.class);
        updateById(mwTransitCar);
    }
medicalWaste-system/src/main/resources/mapper/system/MwCheckoutRecordMapper.xml
@@ -67,7 +67,7 @@
                AND mcr.CHECKOUT_TIME BETWEEN #{query.checkoutTimeStart} AND #{query.checkoutTimeEnd}
            </if>
        </where>
        GROUP BY mcr.DEPARTMENT_ID
        GROUP BY mcr.ID
        ORDER BY mcr.CHECKOUT_TIME DESC
    </select>
    <select id="hospitalDetail" resultType="com.sinata.system.domain.vo.MwCheckoutRecordVO">
@@ -91,27 +91,30 @@
        </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,
        SELECT mcr2.BOX_ID AS id,
        mcr2.BOX_NUMBER,
        mcr2.WASTE_TYPE_STR,
        su.NICK_NAME AS COLLECT_USER_NAME,
        COUNT(*) AS bagNum,
        SUM(mcr.WEIGHT) AS totalWeight,
        mcr1.BAG_NUM AS bagNum,
        mcr1.TOTAL_WEIGHT,
        (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
        WHERE mcr_inner.BOX_ID = mcr2.BOX_ID) AS BOX_TIME
        FROM MW_CHECKOUT_RECORD mcr1
        LEFT JOIN
        MW_CHECKOUT_RECORD_ITEM mcri ON mcr1.ID = mcri.CHECKOUT_RECORD_ID
        LEFT JOIN
        MW_COLLECT_RECORD mcr2 ON mcri.COLLECT_RECORD_ID = mcr2.ID
        LEFT JOIN SYS_USER su ON mcr2.COLLECT_USER_ID = su.USER_ID
        LEFT JOIN SYS_DEPARTMENT sd ON su.DEPARTMENT_ID = sd.ID
        <where>
            mcr.STATUS = 2 AND mcr.DEL_FLAG = 0
            mcr1.DEL_FLAG = 0
            <if test="departmentId != null and departmentId != ''">
                AND mcr.DEPARTMENT_ID = #{departmentId}
                AND mcr1.ID = #{departmentId}
            </if>
        </where>
        GROUP BY mcr.BOX_ID
        ORDER BY mcr.CREATE_TIME DESC
        GROUP BY mcr2.BOX_ID
        ORDER BY mcr2.CREATE_TIME DESC
    </select>
    <select id="transitPageList" resultType="com.sinata.system.domain.vo.MwTransitRecordVO">
        SELECT
@@ -157,11 +160,11 @@
    <select id="transitDetail" resultType="com.sinata.system.domain.vo.MwTransitRecordVO">
        SELECT
        MTRC.ROUTE_ID AS id,
        MDR.DISPOSAL_UNIT_NAME,
        MDR.DISPOSAL_UNIT_NAME AS departmentName,
        MTC.LICENSE_PLATE_NUMBER,
        SU.NICK_NAME,
        SUM(MCR.BOX_NUM) AS boxNum,
        SUM(MCR.TOTAL_WEIGHT) AS weight,
        SUM(MCR2.WEIGHT) AS weight,
        MIN(MCR2.BOX_TIME) AS startTime,
        MDR.RECEIVE_TIME AS endTime
        FROM MW_CHECKOUT_RECORD MCR
medicalWaste-system/src/main/resources/mapper/system/MwDisposalRecordMapper.xml
@@ -35,12 +35,10 @@
        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.DisposalRecordStaticsVO">
        SELECT COALESCE(SUM(MDR.RECEIVE_QUANTITY),0) AS receivedQuantity,
        COALESCE(SUM(MDR.RECEIVE_WEIGHT),0) AS receivedWeight,
        SELECT COALESCE(SUM(MDR.RECEIVE_QUANTITY),0) AS receiveQuantity,
        COALESCE(SUM(MDR.RECEIVE_WEIGHT),0) AS receiveWeight,
        COALESCE(SUM(MDR.RECEIVE_QUANTITY),0) AS unloadQuantity,
        COALESCE(SUM(MDR.RECEIVE_WEIGHT),0) AS unloadWeight,
        COALESCE(SUM(MCR.WEIGHT),0) AS totalHandledWeight,
        COALESCE(COUNT(DISTINCT MCR.BOX_NUMBER),0) AS totalHandledQuantity
        COALESCE(SUM(MDR.RECEIVE_WEIGHT),0) AS unloadWeight
        FROM MW_DISPOSAL_RECORD MDR
        LEFT JOIN SYS_DEPARTMENT SD ON SD.ID = MDR.DEPARTMENT_ID
        LEFT JOIN MW_DISPOSAL_HANDLE_RECORD_ITEM MDHRI ON MDHRI.DISPOSAL_RECORD_ID = MDR.ID
@@ -73,8 +71,8 @@
        MDR.CREATE_TIME,
        MDR.UPDATE_BY,
        MDR.UPDATE_TIME,
        SUM(MCR.WEIGHT) AS totalHandledWeight,
        COUNT(DISTINCT MCR.BOX_NUMBER) AS totalHandledQuantity
        COALESCE(SUM(MCR.WEIGHT),0) AS totalHandledWeight,
        COALESCE(COUNT(DISTINCT MCR.BOX_NUMBER),0)AS totalHandledQuantity
        FROM MW_DISPOSAL_RECORD MDR
        LEFT JOIN SYS_DEPARTMENT SD ON SD.ID = MDR.DEPARTMENT_ID
        LEFT JOIN MW_DISPOSAL_HANDLE_RECORD_ITEM MDHRI ON MDHRI.DISPOSAL_RECORD_ID = MDR.ID
@@ -182,5 +180,24 @@
        </where>
        GROUP BY MDR.DEPARTMENT_ID
    </select>
    <select id="getDisposalData"
      resultType="com.sinata.system.domain.vo.DisposalRecordStaticsVO">
        SELECT
        COALESCE(SUM(MCR.WEIGHT),0) AS totalHandledWeight,
        COALESCE(COUNT(DISTINCT MCR.BOX_NUMBER),0) AS totalHandledQuantity
        FROM MW_DISPOSAL_HANDLE_RECORD_ITEM MDHRI
        LEFT JOIN MW_DISPOSAL_RECORD MDR ON MDR.ID = MDHRI.DISPOSAL_RECORD_ID
        LEFT JOIN MW_COLLECT_RECORD MCR ON MCR.ID = MDHRI.COLLECT_RECORD_ID
        LEFT JOIN SYS_DEPARTMENT SD ON SD.ID = MDR.DEPARTMENT_ID
        <where>
            MDR.DEL_FLAG = 0
            <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>
</mapper>
medicalWaste-system/src/main/resources/mapper/system/MwMonitorDeviceMapper.xml
@@ -47,7 +47,7 @@
                AND MMD.DEVICE_NAME LIKE CONCAT('%',#{query.deviceName},'%')
            </if>
            <if test="query.deviceNumber!=null and query.deviceNumber !=''">
                AND MMD.DEVICE_NUMBER LIKE CONCAT('%',#{deviceNumber},'%')
                AND MMD.DEVICE_NUMBER LIKE CONCAT('%',#{query.deviceNumber},'%')
            </if>
        </where>
        ORDER BY MMD.CREATE_TIME DESC