From 0fce55584de7833aa3c9799fbabda937879a6362 Mon Sep 17 00:00:00 2001 From: mitao <2763622819@qq.com> Date: 星期二, 10 十二月 2024 16:30:30 +0800 Subject: [PATCH] 医废管理 --- medicalWaste-system/src/main/java/com/sinata/system/domain/dto/MwCollectRecordDTO.java | 25 ++ medicalWaste-system/src/main/java/com/sinata/system/service/impl/SysDepartmentServiceImpl.java | 18 + medicalWaste-system/src/main/java/com/sinata/system/service/impl/SysUserDepartmentServiceImpl.java | 2 medicalWaste-system/src/main/resources/mapper/system/SysDepartmentMapper.xml | 1 medicalWaste-admin/src/main/java/com/sinata/web/controller/tool/TestController.java | 2 medicalWaste-system/src/main/java/com/sinata/system/domain/vo/MedicalWasteProcessVO.java | 66 ++++++ medicalWaste-system/src/main/java/com/sinata/system/mapper/MwCollectRecordMapper.java | 27 ++ medicalWaste-system/src/main/java/com/sinata/system/service/impl/MwCollectRecordServiceImpl.java | 70 ++++++ medicalWaste-system/src/main/java/com/sinata/system/service/impl/SysUserServiceImpl.java | 5 medicalWaste-system/src/main/resources/mapper/system/MwCollectRecordMapper.xml | 124 ++++++++++ medicalWaste-system/src/main/java/com/sinata/system/service/MwCollectRecordService.java | 36 +++ medicalWaste-system/src/main/java/com/sinata/system/domain/MwCheckoutRecord.java | 4 medicalWaste-admin/src/main/java/com/sinata/web/controller/backend/MwCollectRecordController.java | 84 +++++++ medicalWaste-admin/src/main/resources/application-dev.yml | 2 medicalWaste-system/src/main/java/com/sinata/system/service/SysUserDepartmentService.java | 1 medicalWaste-system/src/main/java/com/sinata/system/domain/MwCollectRecord.java | 24 - medicalWaste-system/src/main/resources/mapper/system/MwCheckoutRecordMapper.xml | 3 medicalWaste-system/src/main/java/com/sinata/system/domain/query/MwCollectRecordQuery.java | 42 +++ medicalWaste-system/src/main/java/com/sinata/system/domain/vo/MwCollectRecordVO.java | 71 ++++++ 19 files changed, 566 insertions(+), 41 deletions(-) diff --git a/medicalWaste-admin/src/main/java/com/sinata/web/controller/backend/MwCollectRecordController.java b/medicalWaste-admin/src/main/java/com/sinata/web/controller/backend/MwCollectRecordController.java index f1314bc..48555e4 100644 --- a/medicalWaste-admin/src/main/java/com/sinata/web/controller/backend/MwCollectRecordController.java +++ b/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)); + } } diff --git a/medicalWaste-admin/src/main/java/com/sinata/web/controller/tool/TestController.java b/medicalWaste-admin/src/main/java/com/sinata/web/controller/tool/TestController.java index 27446f5..1a31170 100644 --- a/medicalWaste-admin/src/main/java/com/sinata/web/controller/tool/TestController.java +++ b/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>(); diff --git a/medicalWaste-admin/src/main/resources/application-dev.yml b/medicalWaste-admin/src/main/resources/application-dev.yml index 70d3e5b..49feeed 100644 --- a/medicalWaste-admin/src/main/resources/application-dev.yml +++ b/medicalWaste-admin/src/main/resources/application-dev.yml @@ -61,7 +61,7 @@ devtools: restart: # 热部署开关 - enabled: true + enabled: false # redis 配置 redis: # 地址 diff --git a/medicalWaste-system/src/main/java/com/sinata/system/domain/MwCheckoutRecord.java b/medicalWaste-system/src/main/java/com/sinata/system/domain/MwCheckoutRecord.java index 14c8d8a..1d0a1ad 100644 --- a/medicalWaste-system/src/main/java/com/sinata/system/domain/MwCheckoutRecord.java +++ b/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; diff --git a/medicalWaste-system/src/main/java/com/sinata/system/domain/MwCollectRecord.java b/medicalWaste-system/src/main/java/com/sinata/system/domain/MwCollectRecord.java index f508145..a1ab89c 100644 --- a/medicalWaste-system/src/main/java/com/sinata/system/domain/MwCollectRecord.java +++ b/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; + } diff --git a/medicalWaste-system/src/main/java/com/sinata/system/domain/dto/MwCollectRecordDTO.java b/medicalWaste-system/src/main/java/com/sinata/system/domain/dto/MwCollectRecordDTO.java new file mode 100644 index 0000000..fe17785 --- /dev/null +++ b/medicalWaste-system/src/main/java/com/sinata/system/domain/dto/MwCollectRecordDTO.java @@ -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; +} diff --git a/medicalWaste-system/src/main/java/com/sinata/system/domain/query/MwCollectRecordQuery.java b/medicalWaste-system/src/main/java/com/sinata/system/domain/query/MwCollectRecordQuery.java new file mode 100644 index 0000000..debeefc --- /dev/null +++ b/medicalWaste-system/src/main/java/com/sinata/system/domain/query/MwCollectRecordQuery.java @@ -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; +} diff --git a/medicalWaste-system/src/main/java/com/sinata/system/domain/vo/MedicalWasteProcessVO.java b/medicalWaste-system/src/main/java/com/sinata/system/domain/vo/MedicalWasteProcessVO.java new file mode 100644 index 0000000..c207d1e --- /dev/null +++ b/medicalWaste-system/src/main/java/com/sinata/system/domain/vo/MedicalWasteProcessVO.java @@ -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; + +} 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 new file mode 100644 index 0000000..5fc2822 --- /dev/null +++ b/medicalWaste-system/src/main/java/com/sinata/system/domain/vo/MwCollectRecordVO.java @@ -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; +} diff --git a/medicalWaste-system/src/main/java/com/sinata/system/mapper/MwCollectRecordMapper.java b/medicalWaste-system/src/main/java/com/sinata/system/mapper/MwCollectRecordMapper.java index 13c2525..fde1fb7 100644 --- a/medicalWaste-system/src/main/java/com/sinata/system/mapper/MwCollectRecordMapper.java +++ b/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); } diff --git a/medicalWaste-system/src/main/java/com/sinata/system/service/MwCollectRecordService.java b/medicalWaste-system/src/main/java/com/sinata/system/service/MwCollectRecordService.java index 86c4580..ecefd14 100644 --- a/medicalWaste-system/src/main/java/com/sinata/system/service/MwCollectRecordService.java +++ b/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); } diff --git a/medicalWaste-system/src/main/java/com/sinata/system/service/SysUserDepartmentService.java b/medicalWaste-system/src/main/java/com/sinata/system/service/SysUserDepartmentService.java index e396707..d685d3e 100644 --- a/medicalWaste-system/src/main/java/com/sinata/system/service/SysUserDepartmentService.java +++ b/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> { } 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 7d4614e..60c5607 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,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); + } } diff --git a/medicalWaste-system/src/main/java/com/sinata/system/service/impl/SysDepartmentServiceImpl.java b/medicalWaste-system/src/main/java/com/sinata/system/service/impl/SysDepartmentServiceImpl.java index a1a5eed..ce7095b 100644 --- a/medicalWaste-system/src/main/java/com/sinata/system/service/impl/SysDepartmentServiceImpl.java +++ b/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) diff --git a/medicalWaste-system/src/main/java/com/sinata/system/service/impl/SysUserDepartmentServiceImpl.java b/medicalWaste-system/src/main/java/com/sinata/system/service/impl/SysUserDepartmentServiceImpl.java index 43b04fb..0255598 100644 --- a/medicalWaste-system/src/main/java/com/sinata/system/service/impl/SysUserDepartmentServiceImpl.java +++ b/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; /** diff --git a/medicalWaste-system/src/main/java/com/sinata/system/service/impl/SysUserServiceImpl.java b/medicalWaste-system/src/main/java/com/sinata/system/service/impl/SysUserServiceImpl.java index 439e870..a201651 100644 --- a/medicalWaste-system/src/main/java/com/sinata/system/service/impl/SysUserServiceImpl.java +++ b/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); diff --git a/medicalWaste-system/src/main/resources/mapper/system/MwCheckoutRecordMapper.xml b/medicalWaste-system/src/main/resources/mapper/system/MwCheckoutRecordMapper.xml index bccf292..c3e435a 100644 --- a/medicalWaste-system/src/main/resources/mapper/system/MwCheckoutRecordMapper.xml +++ b/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> diff --git a/medicalWaste-system/src/main/resources/mapper/system/MwCollectRecordMapper.xml b/medicalWaste-system/src/main/resources/mapper/system/MwCollectRecordMapper.xml index 4d29c35..b48a34a 100644 --- a/medicalWaste-system/src/main/resources/mapper/system/MwCollectRecordMapper.xml +++ b/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> diff --git a/medicalWaste-system/src/main/resources/mapper/system/SysDepartmentMapper.xml b/medicalWaste-system/src/main/resources/mapper/system/SysDepartmentMapper.xml index a8d6ab1..4159266 100644 --- a/medicalWaste-system/src/main/resources/mapper/system/SysDepartmentMapper.xml +++ b/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"> -- Gitblit v1.7.1