mitao
2024-12-10 0fce55584de7833aa3c9799fbabda937879a6362
医废管理
15个文件已修改
4个文件已添加
607 ■■■■■ 已修改文件
medicalWaste-admin/src/main/java/com/sinata/web/controller/backend/MwCollectRecordController.java 84 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
medicalWaste-admin/src/main/java/com/sinata/web/controller/tool/TestController.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
medicalWaste-admin/src/main/resources/application-dev.yml 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
medicalWaste-system/src/main/java/com/sinata/system/domain/MwCheckoutRecord.java 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
medicalWaste-system/src/main/java/com/sinata/system/domain/MwCollectRecord.java 24 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
medicalWaste-system/src/main/java/com/sinata/system/domain/dto/MwCollectRecordDTO.java 25 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
medicalWaste-system/src/main/java/com/sinata/system/domain/query/MwCollectRecordQuery.java 42 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
medicalWaste-system/src/main/java/com/sinata/system/domain/vo/MedicalWasteProcessVO.java 66 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
medicalWaste-system/src/main/java/com/sinata/system/domain/vo/MwCollectRecordVO.java 71 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
medicalWaste-system/src/main/java/com/sinata/system/mapper/MwCollectRecordMapper.java 27 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
medicalWaste-system/src/main/java/com/sinata/system/service/MwCollectRecordService.java 36 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
medicalWaste-system/src/main/java/com/sinata/system/service/SysUserDepartmentService.java 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
medicalWaste-system/src/main/java/com/sinata/system/service/impl/MwCollectRecordServiceImpl.java 70 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
medicalWaste-system/src/main/java/com/sinata/system/service/impl/SysDepartmentServiceImpl.java 18 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
medicalWaste-system/src/main/java/com/sinata/system/service/impl/SysUserDepartmentServiceImpl.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
medicalWaste-system/src/main/java/com/sinata/system/service/impl/SysUserServiceImpl.java 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
medicalWaste-system/src/main/resources/mapper/system/MwCheckoutRecordMapper.xml 3 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
medicalWaste-system/src/main/resources/mapper/system/MwCollectRecordMapper.xml 124 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
medicalWaste-system/src/main/resources/mapper/system/SysDepartmentMapper.xml 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
medicalWaste-admin/src/main/java/com/sinata/web/controller/backend/MwCollectRecordController.java
@@ -1,7 +1,26 @@
package com.sinata.web.controller.backend;
import com.sinata.common.core.domain.R;
import com.sinata.common.entity.PageDTO;
import com.sinata.system.domain.dto.MwCollectRecordDTO;
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.MwCollectRecordService;
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.DeleteMapping;
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 +30,73 @@
 * @author mitao
 * @since 2024-12-02
 */
@Validated
@RestController
@Api(tags = {"医废管理相关接口"})
@RequiredArgsConstructor
@RequestMapping("/backend/mwCollectRecord")
public class MwCollectRecordController {
    private final MwCollectRecordService collectRecordService;
    /**
     * 医废追溯分页列表
     *
     * @param query
     * @return
     */
    @PostMapping("/page")
    @ApiOperation("医废追溯分页列表")
    public R<PageDTO<MwCollectRecordVO>> pageList(@Valid @RequestBody MwCollectRecordQuery query) {
        return R.ok(collectRecordService.pageList(query));
    }
    /**
     * 医废追溯详情
     *
     * @param id
     * @return
     */
    @GetMapping("/detail/{id}")
    @ApiOperation("医废追溯详情")
    public R<MwCollectRecordVO> detail(@ApiParam(name = "id", value = "医废追溯id", required = true) @PathVariable("id") Long id) {
        return R.ok(collectRecordService.detail(id));
    }
    /**
     * 编辑
     *
     * @param dto
     * @return
     */
    @PostMapping("/edit")
    @ApiOperation("编辑")
    public R<?> edit(@Valid @RequestBody MwCollectRecordDTO dto) {
        collectRecordService.edit(dto);
        return R.ok();
    }
    /**
     * 删除
     *
     * @param id
     * @return
     */
    @DeleteMapping("/{id}")
    @ApiOperation("删除")
    public R<?> remove(@ApiParam(name = "id", value = "医废追溯id", required = true) @PathVariable("id") Long id) {
        collectRecordService.removeById(id);
        return R.ok();
    }
    /**
     * 流转过程
     *
     * @param id
     * @return
     */
    @GetMapping("/process/{id}")
    @ApiOperation("流转过程")
    public R<MedicalWasteProcessVO> getProcess(@ApiParam(name = "id", value = "医废追溯id", required = true) @PathVariable("id") Long id) {
        return R.ok(collectRecordService.getProcess(id));
    }
}
medicalWaste-admin/src/main/java/com/sinata/web/controller/tool/TestController.java
@@ -30,7 +30,7 @@
 */
@Api("用户信息管理")
@RestController
@RequestMapping("/applet/test/user")
@RequestMapping("/test/user")
public class TestController extends BaseController
{
    private final static Map<Integer, UserEntity> users = new LinkedHashMap<Integer, UserEntity>();
medicalWaste-admin/src/main/resources/application-dev.yml
@@ -61,7 +61,7 @@
  devtools:
    restart:
      # 热部署开关
      enabled: true
      enabled: false
  # redis 配置
  redis:
    # 地址
medicalWaste-system/src/main/java/com/sinata/system/domain/MwCheckoutRecord.java
@@ -56,10 +56,6 @@
    @TableField("DRIVER_ID")
    private Long driverId;
    @ApiModelProperty("司机姓名(冗余)")
    @TableField("DRIVER_NAME")
    private String driverName;
    @ApiModelProperty("车辆id")
    @TableField("CAR_ID")
    private Long carId;
medicalWaste-system/src/main/java/com/sinata/system/domain/MwCollectRecord.java
@@ -33,10 +33,6 @@
    @TableId(value = "ID", type = IdType.AUTO)
    private Long id;
    @ApiModelProperty("入库时间")
    @TableField("STORAGE_TIME")
    private Date storageTime;
    @ApiModelProperty("区域id(医院)")
    @TableField("DEPARTMENT_ID")
    private Long departmentId;
@@ -73,21 +69,9 @@
    @TableField("WEIGHT")
    private BigDecimal weight;
    @ApiModelProperty("入库人员id")
    @TableField("STORAGE_USER_ID")
    private Long storageUserId;
    @ApiModelProperty("入库人员姓名")
    @TableField("STORAGE_USER_NAME")
    private String storageUserName;
    @ApiModelProperty("出库人员id")
    @TableField("CHECKOUT_USER_ID")
    private Long checkoutUserId;
    @ApiModelProperty("出库人员姓名")
    @TableField("CHECKOUT_USER_NAME")
    private String checkoutUserName;
    @ApiModelProperty("出库时间")
    @TableField("CHECKOUT_TIME")
@@ -101,5 +85,13 @@
    @TableField("BOX_TIME")
    private Date boxTime;
    @ApiModelProperty("收集人id")
    @TableField("COLLECT_USER_ID")
    private Long collectUserId;
    @ApiModelProperty("收集时间")
    @TableField("COLLECT_TIME")
    private Date collectTime;
}
medicalWaste-system/src/main/java/com/sinata/system/domain/dto/MwCollectRecordDTO.java
New file
@@ -0,0 +1,25 @@
package com.sinata.system.domain.dto;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import javax.validation.constraints.NotNull;
import java.math.BigDecimal;
/**
 * @author mitao
 * @date 2024/12/10
 */
@Data
@ApiModel("收集记录")
public class MwCollectRecordDTO {
    @ApiModelProperty("收集记录id")
    @NotNull(message = "收集记录id不能为空")
    private Long id;
    @ApiModelProperty("医废重量")
    @NotNull(message = "医废重量不能为空")
    private BigDecimal weight;
}
medicalWaste-system/src/main/java/com/sinata/system/domain/query/MwCollectRecordQuery.java
New file
@@ -0,0 +1,42 @@
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/10
 */
@Data
@EqualsAndHashCode(callSuper = true)
@ApiModel("医废追溯查询对象")
public class MwCollectRecordQuery extends BasePage {
    private static final long serialVersionUID = -1019864119594661684L;
    @ApiModelProperty("机构id")
    private Long departmentId;
    @ApiModelProperty("医废类型 (数据字典id)")
    private Long wasteType;
    @ApiModelProperty("医废状态 1:暂存中 2:运输中 3:已接收 4:已处置")
    private Integer status;
    @ApiModelProperty("医废编号")
    private String medicalWasteNumber;
    @ApiModelProperty("箱号")
    private String boxNumber;
    @ApiModelProperty("收集时间-开始")
    private Date collectTimeStart;
    @ApiModelProperty("收集时间-结束")
    private Date collectTimeEnd;
}
medicalWaste-system/src/main/java/com/sinata/system/domain/vo/MedicalWasteProcessVO.java
New file
@@ -0,0 +1,66 @@
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/10
 */
@Data
@ApiModel("医废流转过程视图对象")
public class MedicalWasteProcessVO {
    @ApiModelProperty("医废状态 1:暂存中 2:运输中 3:已接收 4:已处置")
    private Integer status;
    @ApiModelProperty("收集-收集时间")
    private Date collectTime;
    @ApiModelProperty("收集-箱子编号")
    private String boxNumber;
    @ApiModelProperty("收集-医废编号")
    private String medicalWasteNumber;
    @ApiModelProperty("收集-医院名称")
    private String hospitalName;
    @ApiModelProperty("收集-医废类型名称(冗余)")
    private String wasteTypeStr;
    @ApiModelProperty("收集-医废重量")
    private BigDecimal weight;
    @ApiModelProperty("收集-收集人姓名")
    private Long collectUserName;
    @ApiModelProperty("运输-装车时间")
    private Date checkoutTime;
    @ApiModelProperty("运输-装车人员姓名")
    private String driverName;
    @ApiModelProperty("运输-医院签名")
    private String hospitalSignature;
    @ApiModelProperty("入库-入库时间")
    private Date receiveTime;
    @ApiModelProperty("入库-入库人")
    private String receiverName;
    @ApiModelProperty("入库/处置-处置单位名称")
    private String disposalUnitName;
    @ApiModelProperty("处置-处置时间")
    private Date disposalTime;
    @ApiModelProperty("处置-处置人")
    private String disposalUserName;
}
medicalWaste-system/src/main/java/com/sinata/system/domain/vo/MwCollectRecordVO.java
New file
@@ -0,0 +1,71 @@
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/10
 */
@Data
@ApiModel("医废收集记录视图对象")
public class MwCollectRecordVO {
    @ApiModelProperty("收集记录id")
    private Long id;
    @ApiModelProperty("区域id")
    private Long departmentId;
    @ApiModelProperty("医院名称")
    private String hospitalName;
    @ApiModelProperty("暂存间id")
    private Long stagingRoomId;
    @ApiModelProperty("医废编号")
    private String medicalWasteNumber;
    @ApiModelProperty("转运箱id")
    private Long boxId;
    @ApiModelProperty("箱子编号")
    private String boxNumber;
    @ApiModelProperty("医废类型(数据字典id)")
    private Integer wasteType;
    @ApiModelProperty("医废类型名称")
    private String wasteTypeStr;
    @ApiModelProperty("医废重量")
    private BigDecimal weight;
    @ApiModelProperty("出库人员id")
    private Long checkoutUserId;
    @ApiModelProperty("出库人员姓名")
    private String checkoutUserName;
    @ApiModelProperty("出库时间")
    private Date checkoutTime;
    @ApiModelProperty("医废状态 1:暂存中 2:运输中 3:已接收 4:已处置")
    private Integer status;
    @ApiModelProperty("封箱时间")
    private Date boxTime;
    @ApiModelProperty("收集人id")
    private Long collectUserId;
    @ApiModelProperty("收集人姓名")
    private Long collectUserName;
    @ApiModelProperty("收集时间")
    private Date collectTime;
}
medicalWaste-system/src/main/java/com/sinata/system/mapper/MwCollectRecordMapper.java
@@ -1,8 +1,13 @@
package com.sinata.system.mapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.sinata.system.domain.MwCollectRecord;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.sinata.system.domain.query.MwCollectRecordQuery;
import com.sinata.system.domain.vo.MedicalWasteProcessVO;
import com.sinata.system.domain.vo.MwCollectRecordVO;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
/**
 * <p>
@@ -14,5 +19,27 @@
 */
@Mapper
public interface MwCollectRecordMapper extends BaseMapper<MwCollectRecord> {
    /**
     * 医废追溯分页列表
     *
     * @param query
     * @return
     */
    Page<MwCollectRecordVO> pageList(Page<MwCollectRecordVO> mwCollectRecordVOPage, @Param("query") MwCollectRecordQuery query, @Param("treeCode") String treeCode);
    /**
     * 医废追溯详情
     *
     * @param id
     * @return
     */
    MwCollectRecordVO detail(Long id);
    /**
     * 流转过程
     *
     * @param id
     * @return
     */
    MedicalWasteProcessVO getProcess(Long id);
}
medicalWaste-system/src/main/java/com/sinata/system/service/MwCollectRecordService.java
@@ -1,7 +1,12 @@
package com.sinata.system.service;
import com.sinata.system.domain.MwCollectRecord;
import com.baomidou.mybatisplus.extension.service.IService;
import com.sinata.common.entity.PageDTO;
import com.sinata.system.domain.MwCollectRecord;
import com.sinata.system.domain.dto.MwCollectRecordDTO;
import com.sinata.system.domain.query.MwCollectRecordQuery;
import com.sinata.system.domain.vo.MedicalWasteProcessVO;
import com.sinata.system.domain.vo.MwCollectRecordVO;
/**
 * <p>
@@ -12,5 +17,34 @@
 * @since 2024-12-02
 */
public interface MwCollectRecordService extends IService<MwCollectRecord> {
    /**
     * 医废追溯分页列表
     *
     * @param query
     * @return
     */
    PageDTO<MwCollectRecordVO> pageList(MwCollectRecordQuery query);
    /**
     * 医废追溯详情
     *
     * @param id
     * @return
     */
    MwCollectRecordVO detail(Long id);
    /**
     * 编辑
     *
     * @param dto
     */
    void edit(MwCollectRecordDTO dto);
    /**
     * 流转过程
     *
     * @param id
     * @return
     */
    MedicalWasteProcessVO getProcess(Long id);
}
medicalWaste-system/src/main/java/com/sinata/system/service/SysUserDepartmentService.java
@@ -11,6 +11,7 @@
 * @author mitao
 * @since 2024-12-02
 */
public interface SysUserDepartmentService extends IService<SysUserDepartment> {
}
medicalWaste-system/src/main/java/com/sinata/system/service/impl/MwCollectRecordServiceImpl.java
@@ -1,10 +1,21 @@
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.system.domain.MwCollectRecord;
import com.sinata.system.domain.SysDepartment;
import com.sinata.system.domain.dto.MwCollectRecordDTO;
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.mapper.MwCollectRecordMapper;
import com.sinata.system.service.MwCollectRecordService;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.sinata.system.service.SysDepartmentService;
import lombok.RequiredArgsConstructor;
import org.springframework.stereotype.Service;
import java.util.Objects;
/**
 * <p>
@@ -15,6 +26,63 @@
 * @since 2024-12-02
 */
@Service
@RequiredArgsConstructor
public class MwCollectRecordServiceImpl extends ServiceImpl<MwCollectRecordMapper, MwCollectRecord> implements MwCollectRecordService {
    private final SysDepartmentService sysDepartmentService;
    /**
     * 医废追溯分页列表
     *
     * @param query
     * @return
     */
    @Override
    public PageDTO<MwCollectRecordVO> pageList(MwCollectRecordQuery query) {
        String treeCode = "";
        if (Objects.isNull(query.getDepartmentId())) {
            SysDepartment myDepartment = sysDepartmentService.getMyDepartment();
            if (Objects.isNull(myDepartment)) {
                return PageDTO.empty(0L, 0L);
            }
            treeCode = myDepartment.getTreeCode();
        }
        Page<MwCollectRecordVO> page = baseMapper.pageList(new Page<>(query.getPageCurr(), query.getPageSize()), query, treeCode);
        return PageDTO.of(page);
    }
    /**
     * 医废追溯详情
     *
     * @param id
     * @return
     */
    @Override
    public MwCollectRecordVO detail(Long id) {
        return baseMapper.detail(id);
    }
    /**
     * 编辑
     *
     * @param dto
     */
    @Override
    public void edit(MwCollectRecordDTO dto) {
        MwCollectRecord collectRecord = getById(dto.getId());
        if (Objects.nonNull(collectRecord)) {
            collectRecord.setWeight(dto.getWeight());
            updateById(collectRecord);
        }
    }
    /**
     * 流转过程
     *
     * @param id
     * @return
     */
    @Override
    public MedicalWasteProcessVO getProcess(Long id) {
        return baseMapper.getProcess(id);
    }
}
medicalWaste-system/src/main/java/com/sinata/system/service/impl/SysDepartmentServiceImpl.java
@@ -29,6 +29,7 @@
import com.sinata.system.service.SysUserDepartmentService;
import lombok.RequiredArgsConstructor;
import org.jetbrains.annotations.NotNull;
import org.springframework.context.annotation.Lazy;
import org.springframework.data.redis.core.RedisTemplate;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
@@ -52,7 +53,7 @@
 * @since 2024-12-02
 */
@Service
@RequiredArgsConstructor
@RequiredArgsConstructor(onConstructor_ = {@Lazy})
public class SysDepartmentServiceImpl extends ServiceImpl<SysDepartmentMapper, SysDepartment> implements SysDepartmentService {
    private final SysUserDepartmentService sysUserDepartmentService;
    private final RedisTemplate<Object, Object> redisTemplate;
@@ -365,9 +366,10 @@
        String treeCode = "";
        if (Objects.isNull(query.getDepartmentId())) {
            SysDepartment myDepartment = getMyDepartment();
            if (Objects.nonNull(myDepartment)) {
                treeCode = myDepartment.getTreeCode();
            if (Objects.isNull(myDepartment)) {
                return PageDTO.empty(0L, 0L);
            }
            treeCode = myDepartment.getTreeCode();
        }
        Page<MedicalInstitutionVO> page = baseMapper.pageMedicalList(new Page<>(query.getPageCurr(), query.getPageSize()), query.getDepartmentId(), query.getDepartmentName(), query.getContactPerson(), query.getContactPhone(), treeCode);
        return PageDTO.of(page);
@@ -525,9 +527,10 @@
        String treeCode = "";
        if (Objects.isNull(query.getDepartmentId())) {
            SysDepartment myDepartment = getMyDepartment();
            if (Objects.nonNull(myDepartment)) {
                treeCode = myDepartment.getTreeCode();
            if (Objects.isNull(myDepartment)) {
                return PageDTO.empty(0L, 0L);
            }
            treeCode = myDepartment.getTreeCode();
        }
        Page<DisposalUnitVO> page = baseMapper.pageRegulatoryUnitList(new Page<>(query.getPageCurr(), query.getPageSize()), query.getDepartmentId(), query.getDepartmentName(), query.getContactPerson(), query.getContactPhone(), treeCode);
        return PageDTO.of(page);
@@ -650,9 +653,10 @@
        String treeCode = "";
        if (Objects.isNull(query.getDepartmentId())) {
            SysDepartment myDepartment = getMyDepartment();
            if (Objects.nonNull(myDepartment)) {
                treeCode = myDepartment.getTreeCode();
            if (Objects.isNull(myDepartment)) {
                return PageDTO.empty(0L, 0L);
            }
            treeCode = myDepartment.getTreeCode();
        }
        Page<SysDepartment> page = this.lambdaQuery().eq(Objects.nonNull(query.getDepartmentId()), SysDepartment::getParentId, query.getDepartmentId())
                .likeRight(StringUtils.isNotBlank(treeCode), SysDepartment::getTreeCode, treeCode)
medicalWaste-system/src/main/java/com/sinata/system/service/impl/SysUserDepartmentServiceImpl.java
@@ -1,9 +1,9 @@
package com.sinata.system.service.impl;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.sinata.system.domain.SysUserDepartment;
import com.sinata.system.mapper.SysUserDepartmentMapper;
import com.sinata.system.service.SysUserDepartmentService;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import org.springframework.stereotype.Service;
/**
medicalWaste-system/src/main/java/com/sinata/system/service/impl/SysUserServiceImpl.java
@@ -576,9 +576,10 @@
        String treeCode = "";
        if (Objects.isNull(query.getDepartmentId())) {
            SysDepartment myDepartment = sysDepartmentService.getMyDepartment();
            if (Objects.nonNull(myDepartment)) {
                treeCode = myDepartment.getTreeCode();
            if (Objects.isNull(myDepartment)) {
                return PageDTO.empty(0L, 0L);
            }
            treeCode = myDepartment.getTreeCode();
        }
        Page<SysUserVO> page = baseMapper.pageList(new Page<>(query.getPageCurr(), query.getPageSize()), query.getDepartmentId(), query.getNickName(), query.getRoleId(), treeCode);
        return PageDTO.of(page);
medicalWaste-system/src/main/resources/mapper/system/MwCheckoutRecordMapper.xml
@@ -16,7 +16,6 @@
        <result column="STAGING_ROOM_ID" property="stagingRoomId" />
        <result column="HOSPITAL_SIGNATURE" property="hospitalSignature" />
        <result column="DRIVER_ID" property="driverId" />
        <result column="DRIVER_NAME" property="driverName" />
        <result column="CAR_ID" property="carId" />
    </resultMap>
@@ -27,7 +26,7 @@
        CREATE_TIME,
        UPDATE_BY,
        UPDATE_TIME,
        ID, CHECKOUT_TIME, DEPARTMENT_ID, HOSPITAL_NAME, STAGING_ROOM_ID, HOSPITAL_SIGNATURE, DRIVER_ID, DRIVER_NAME, CAR_ID
        ID, CHECKOUT_TIME, DEPARTMENT_ID, HOSPITAL_NAME, STAGING_ROOM_ID, HOSPITAL_SIGNATURE, DRIVER_ID, CAR_ID
    </sql>
</mapper>
medicalWaste-system/src/main/resources/mapper/system/MwCollectRecordMapper.xml
@@ -10,7 +10,6 @@
        <result column="CREATE_TIME" property="createTime" />
        <result column="UPDATE_BY" property="updateBy" />
        <result column="UPDATE_TIME" property="updateTime" />
        <result column="STORAGE_TIME" property="storageTime" />
        <result column="DEPARTMENT_ID" property="departmentId" />
        <result column="HOSPITAL_NAME" property="hospitalName" />
        <result column="STAGING_ROOM_ID" property="stagingRoomId" />
@@ -20,13 +19,12 @@
        <result column="WASTE_TYPE" property="wasteType" />
        <result column="WASTE_TYPE_STR" property="wasteTypeStr" />
        <result column="WEIGHT" property="weight" />
        <result column="STORAGE_USER_ID" property="storageUserId" />
        <result column="STORAGE_USER_NAME" property="storageUserName" />
        <result column="CHECKOUT_USER_ID" property="checkoutUserId" />
        <result column="CHECKOUT_USER_NAME" property="checkoutUserName" />
        <result column="CHECKOUT_TIME" property="checkoutTime" />
        <result column="STATUS" property="status" />
        <result column="BOX_TIME" property="boxTime" />
        <result column="COLLECT_TIME" property="collectTime"/>
        <result column="COLLECT_USER_ID" property="collectUserId"/>
    </resultMap>
    <!-- 通用查询结果列 -->
@@ -36,7 +34,123 @@
        CREATE_TIME,
        UPDATE_BY,
        UPDATE_TIME,
        ID, STORAGE_TIME, DEPARTMENT_ID, HOSPITAL_NAME, STAGING_ROOM_ID, MEDICAL_WASTE_NUMBER, BOX_ID, BOX_NUMBER, WASTE_TYPE, WASTE_TYPE_STR, WEIGHT, STORAGE_USER_ID, STORAGE_USER_NAME, CHECKOUT_USER_ID, CHECKOUT_USER_NAME, CHECKOUT_TIME, STATUS, BOX_TIME
        ID, DEPARTMENT_ID, HOSPITAL_NAME, STAGING_ROOM_ID, MEDICAL_WASTE_NUMBER, BOX_ID, BOX_NUMBER, WASTE_TYPE, WASTE_TYPE_STR, WEIGHT, CHECKOUT_USER_ID, CHECKOUT_USER_NAME, CHECKOUT_TIME, STATUS, BOX_TIME,COLLECT_TIME,COLLECT_USER_ID
    </sql>
    <select id="pageList" resultType="com.sinata.system.domain.vo.MwCollectRecordVO">
        SELECT mcr.ID,
        mcr.DEPARTMENT_ID,
        mcr.HOSPITAL_NAME,
        mcr.STAGING_ROOM_ID,
        mcr.MEDICAL_WASTE_NUMBER,
        mcr.BOX_ID,
        mcr.BOX_NUMBER,
        mcr.WASTE_TYPE,
        mcr.WASTE_TYPE_STR,
        mcr.WEIGHT,
        mcr.CHECKOUT_USER_ID,
        mcr.CHECKOUT_TIME,
        mcr.STATUS,
        mcr.BOX_TIME,
        mcr.DEL_FLAG,
        mcr.CREATE_BY,
        mcr.CREATE_TIME,
        mcr.UPDATE_BY,
        mcr.UPDATE_TIME,
        mcr.COLLECT_USER_ID,
        mcr.COLLECT_TIME,
        su.NICK_NAME AS COLLECT_USER_NAME
        FROM MW_COLLECT_RECORD mcr
        LEFT JOIN SYS_USER su
        ON mcr.COLLECT_USER_ID = su.USER_ID
        LEFT JOIN SYS_DEPARTMENT sd ON su.DEPARTMENT_ID = sd.ID
        <where>
            <if test="query.departmentId != null">
                and mcr.DEPARTMENT_ID = #{query.departmentId}
            </if>
            <if test="treeCode != null and treeCode != ''">
                and sd.TREE_CODE like concat(#{treeCode},'%')
            </if>
            <if test="query.wasteType != null">
                and mcr.WASTE_TYPE = #{query.wasteType}
            </if>
            <if test="query.status != null">
                and mcr.STATUS = #{query.status}
            </if>
            <if test="query.medicalWasteNumber != null and query.medicalWasteNumber != ''">
                and mcr.MEDICAL_WASTE_NUMBER like concat('%',#{query.medicalWasteNumber},'%')
            </if>
            <if test="query.boxNumber != null and query.boxNumber != ''">
                and mcr.BOX_NUMBER like concat('%',#{query.boxNumber},'%')
            </if>
            <if test="query.collectTimeStart != null and query.collectTimeEnd != null">
                and mcr.COLLECT_TIME between #{query.collectTimeStart} and #{query.collectTimeEnd}
            </if>
        </where>
        ORDER BY mcr.CREATE_TIME DESC
    </select>
    <select id="detail" resultType="com.sinata.system.domain.vo.MwCollectRecordVO"
            parameterType="java.lang.Long">
        SELECT mcr.ID,
        mcr.DEPARTMENT_ID,
        mcr.HOSPITAL_NAME,
        mcr.STAGING_ROOM_ID,
        mcr.MEDICAL_WASTE_NUMBER,
        mcr.BOX_ID,
        mcr.BOX_NUMBER,
        mcr.WASTE_TYPE,
        mcr.WASTE_TYPE_STR,
        mcr.WEIGHT,
        mcr.CHECKOUT_USER_ID,
        mcr.CHECKOUT_TIME,
        mcr.STATUS,
        mcr.BOX_TIME,
        mcr.DEL_FLAG,
        mcr.CREATE_BY,
        mcr.CREATE_TIME,
        mcr.UPDATE_BY,
        mcr.UPDATE_TIME,
        mcr.COLLECT_USER_ID,
        mcr.COLLECT_TIME,
        su.NICK_NAME AS COLLECT_USER_NAME
        FROM MW_COLLECT_RECORD mcr
        LEFT JOIN SYS_USER su
        ON mcr.COLLECT_USER_ID = su.USER_ID
        <where>
            mcr.ID = #{id}
        </where>
    </select>
    <select id="getProcess" resultType="com.sinata.system.domain.vo.MedicalWasteProcessVO"
            parameterType="java.lang.Long">
        SELECT
        mcr.STATUS,
        mcr.COLLECT_TIME,
        mcr.BOX_NUMBER,
        mcr.MEDICAL_WASTE_NUMBER,
        mcr.HOSPITAL_NAME,
        mcr.WASTE_TYPE_STR,
        mcr.STAGING_ROOM_ID,
        mcr.WEIGHT,
        su.NICK_NAME AS COLLECT_USER_NAME
        mcr2.CHECKOUT_TIME,
        su2.NICK_NAME AS DRIVER_NAME,
        mcr2.HOSPITAL_SIGNATURE,
        mdr.RECEIVE_TIME,
        su3.NICK_NAME AS RECEIVER_NAME
        mdr.DISPOSAL_UNIT_NAME,
        mdr.DISPOSAL_TIME,
        su4.NICK_NAME AS DISPOSAL_USER_NAME
        FROM MW_COLLECT_RECORD mcr
        LEFT JOIN SYS_USER su ON mcr.COLLECT_USER_ID = su.USER_ID
        LEFT JOIN MW_CHECKOUT_RECORD_ITEM mcri ON mcr.ID = mcri.COLLECT_RECORD_ID
        LEFT JOIN MW_CHECKOUT_RECORD mcr2 ON mcri.CHECKOUT_RECORD_ID = mcr2.ID
        LEFT JOIN SYS_USER su2 ON su2.id = mcr2.DRIVER_ID
        LEFT JOIN MW_DISPOSAL_RECORD_IMTE mdri ON mcr.ID = mdri.COLLECT_RECORD_ID
        LEFT JOIN MW_DISPOSAL_RECORD mdr ON mdri.DISPOSAL_RECORD_ID = mdr.ID
        LEFT JOIN SYS_USER su3 ON su3.id = mdr.RECEIVER_ID
        LEFT JOIN SYS_USER su4 ON su4.id = mdr.DISPOSAL_USER_ID
        <where>
            mcr.ID = #{id}
        </where>
    </select>
</mapper>
medicalWaste-system/src/main/resources/mapper/system/SysDepartmentMapper.xml
@@ -171,6 +171,7 @@
                AND sd.TREE_CODE LIKE CONCAT(#{treeCode}, '%')
            </if>
        </where>
        ORDER BY sd.CREATE_TIME DESC
    </select>
    <select id="getDisposalUnitDetailById" resultType="com.sinata.system.domain.vo.DisposalUnitVO"
            parameterType="java.lang.Long">