From 2f18b3a28054c3917010f95ba84f7425280a2622 Mon Sep 17 00:00:00 2001
From: “mitao” <“2763622819@qq.com”>
Date: 星期二, 21 四月 2026 19:43:24 +0800
Subject: [PATCH] feat:消毒记录增加新增功能、医院废弃物报表增加在库统计环节
---
src/main/java/cn/besteam/modules/medical/controller/MwDisinfectRecordController.java | 99 ++++++++++++++++++++++++++++++++++++++++++++++---
1 files changed, 92 insertions(+), 7 deletions(-)
diff --git a/src/main/java/cn/besteam/modules/medical/controller/MwDisinfectRecordController.java b/src/main/java/cn/besteam/modules/medical/controller/MwDisinfectRecordController.java
index 9ac82a8..59acc3a 100644
--- a/src/main/java/cn/besteam/modules/medical/controller/MwDisinfectRecordController.java
+++ b/src/main/java/cn/besteam/modules/medical/controller/MwDisinfectRecordController.java
@@ -2,14 +2,28 @@
import cn.besteam.common.api.vo.Result;
import cn.besteam.common.aspect.annotation.AutoLog;
+import cn.besteam.common.aspect.annotation.LogApi;
import cn.besteam.modules.medical.dto.*;
+import cn.besteam.modules.medical.entity.MwDisinfectRecord;
import cn.besteam.modules.medical.service.IMwDisinfectRecordService;
import cn.besteam.modules.medical.vo.MwDisinfectRecordVo;
import cn.besteam.modules.medical.vo.MwDisinfectRecordExportVO;
+import cn.besteam.modules.shiro.authc.util.EnvUtils;
+import cn.besteam.modules.system.biz.SysDictBiz;
+import cn.besteam.modules.system.entity.SysDepartment;
+import cn.besteam.modules.system.entity.SysDictItem;
+import cn.besteam.modules.system.entity.SysUser;
+import cn.besteam.modules.system.service.ISysDepartmentService;
+import cn.besteam.modules.system.service.ISysDictItemService;
+import cn.besteam.modules.system.service.ISysUserService;
+import cn.besteam.modules.system.vo.SysDictItemVO;
import cn.hutool.poi.excel.ExcelUtil;
import cn.hutool.poi.excel.ExcelWriter;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiImplicitParam;
+import io.swagger.annotations.ApiImplicitParams;
import io.swagger.annotations.ApiOperation;
import lombok.Data;
import lombok.extern.slf4j.Slf4j;
@@ -20,11 +34,7 @@
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.net.URLEncoder;
-import java.util.ArrayList;
-import java.util.LinkedHashMap;
-import java.util.List;
-import java.util.Map;
-
+import java.util.*;
/**
@@ -40,15 +50,90 @@
@Api(description = "消毒记录")
public class MwDisinfectRecordController {
- @Autowired
- private IMwDisinfectRecordService mwDisinfectRecordService;
+ @Autowired
+ private IMwDisinfectRecordService mwDisinfectRecordService;
+ @Autowired
+ private ISysDepartmentService sysDepartmentService;
+
+ @Autowired
+ private ISysDictItemService sysDictItemService;
+
+ @Autowired
+ private ISysUserService sysUserService;
+
+ @Autowired
+ private SysDictBiz sysDictBiz;
@GetMapping("/getDisinfectRecordList")
@ApiOperation("消毒记录-列表")
public Result<IPage<MwDisinfectRecordVo>> getWasteWaterList(MwDisinfectRecordSeacherDto dto, @RequestParam(name = "pageNo", defaultValue = "1") Integer pageNo, @RequestParam(name = "pageSize", defaultValue = "10") Integer pageSize) {
IPage<MwDisinfectRecordVo> pageList = mwDisinfectRecordService.queryPageList(pageNo, pageSize,dto);
return Result.ok(pageList);
}
+ @GetMapping(value = "/getListDictType")
+ @ApiOperation(value = "【20260421】获取消毒方式和消毒设备", notes = "获取消毒方式和消毒设备", produces = "application/json")
+ @ApiImplicitParams({
+ @ApiImplicitParam(value = "获取消毒方式(1=消毒方式,2=消毒设备)", name = "type", dataType = "int"),
+ })
+ public Result<List<SysDictItemVO>> listDictType(Integer type) {
+ String ids = "11,12";
+ if (type!=null && type == 1) {//消毒方式
+ ids = "11";
+ } else if (type!=null && type == 2) {//消毒设备
+ ids = "12";
+ }
+ List<SysDictItem> sysDictVOS = sysDictBiz.queryListDisinfect(ids);
+ List<SysDictItemVO> voList = new ArrayList<>();
+ for(SysDictItem vo : sysDictVOS){
+ SysDictItemVO sysDictItemVO= new SysDictItemVO();
+ BeanUtils.copyProperties(vo,sysDictItemVO);
+ voList.add(sysDictItemVO);
+ }
+ return Result.ok(voList);
+ }
+
+ @PostMapping("/supply")
+ @ApiOperation(value = "【20260421】消毒记录补录", notes = "消毒记录补录", produces = "application/json")
+ @LogApi(value = "消毒记录补录")
+ public Result<MwDisinfectRecord> supply(@RequestBody MwDisinfectRecordDto dto) {
+ Result<MwDisinfectRecord> result = new Result<>();
+ try {
+ Integer number = mwDisinfectRecordService.count(new QueryWrapper<MwDisinfectRecord>().lambda()
+ .eq(MwDisinfectRecord::getDisinfectTime, dto.getDisinfectTime()));
+ if (number <= 0) {
+ MwDisinfectRecord mwDisinfectRecord = new MwDisinfectRecord();
+ BeanUtils.copyProperties(dto, mwDisinfectRecord);
+ SysDepartment sysDepartment = sysDepartmentService.getById(dto.getHospitalId());
+ if (Objects.isNull(dto.getDisinfectUserId())) {
+ dto.setDisinfectUserId(EnvUtils.getUser().getId());
+ }
+ SysUser sysUser = sysUserService.getById(dto.getDisinfectUserId());
+ SysDictItem sysDictItemDisinfect = sysDictItemService.getById(dto.getDisinfectTypeId());
+ SysDictItem sysDictItemDevice = sysDictItemService.getById(dto.getDeviceTypeId());
+ mwDisinfectRecord.setCreateTime(new java.util.Date());
+
+ if (sysUser != null) {
+ mwDisinfectRecord.setDisinfectUserName(sysUser.getName());
+ }
+ if (sysDepartment != null) {
+ mwDisinfectRecord.setHospitalName(sysDepartment.getDepartName());
+ }
+ if (sysDictItemDisinfect != null) {
+ mwDisinfectRecord.setDisinfectType(sysDictItemDisinfect.getItemText());
+ mwDisinfectRecord.setDisinfectContent(sysDictItemDisinfect.getItemValue());
+ }
+ if (sysDictItemDevice != null) {
+ mwDisinfectRecord.setDeviceType(sysDictItemDevice.getItemValue());
+ }
+ mwDisinfectRecordService.save(mwDisinfectRecord);
+ }
+ result.success("添加成功!");
+ } catch (Exception e) {
+ log.error("消毒记录补录失败", e);
+ result.error500("操作失败");
+ }
+ return result;
+ }
/*=====消毒记录导出--开始=======*/
private static Map<String, String> headerMapDisinfectRecord = new LinkedHashMap<>();
--
Gitblit v1.7.1