feat(传染病报卡): 新增传染病报卡管理功能模块
实现传染病报卡的基础功能,包括: 1. 新增报卡查询参数DTO、报卡详情DTO和状态枚举 2. 添加报卡Mapper接口及XML实现分页查询和详情查询 3. 实现报卡AppService接口及Controller提供REST API 4. 新增前端API接口定义 5. 添加审核记录实体类
This commit is contained in:
@@ -36,10 +36,11 @@ import org.springframework.stereotype.Service;
|
|||||||
|
|
||||||
import javax.annotation.Resource;
|
import javax.annotation.Resource;
|
||||||
import javax.servlet.http.HttpServletRequest;
|
import javax.servlet.http.HttpServletRequest;
|
||||||
import java.time.LocalDate;
|
import java.util.Date;
|
||||||
import java.util.*;
|
import java.util.*;
|
||||||
|
|
||||||
import static com.openhis.common.constant.CommonConstants.FieldName.DeleteFlag;
|
import static com.openhis.common.constant.CommonConstants.FieldName.DeleteFlag;
|
||||||
|
import static com.openhis.common.enums.ReportCardStatus.SUBMITTED;
|
||||||
import static java.time.LocalDateTime.now;
|
import static java.time.LocalDateTime.now;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -603,15 +604,16 @@ public class DoctorStationDiagnosisAppServiceImpl implements IDoctorStationDiagn
|
|||||||
* 报告单位,报告医生,报告日期
|
* 报告单位,报告医生,报告日期
|
||||||
*/
|
*/
|
||||||
infectiousDiseaseReport.setReportOrg(null);
|
infectiousDiseaseReport.setReportOrg(null);
|
||||||
infectiousDiseaseReport.setReportDate(LocalDate.now());
|
infectiousDiseaseReport.setReportDate(new Date());
|
||||||
|
|
||||||
// 如果状态为空,设置为草稿状态
|
// 如果状态为空,设置为草稿状态
|
||||||
if (infectiousDiseaseReport.getStatus() == null) {
|
if (infectiousDiseaseReport.getStatus() == null) {
|
||||||
infectiousDiseaseReport.setStatus(0); // 0-草稿
|
infectiousDiseaseReport.setStatus(SUBMITTED.getValue()); //已提交。草稿状态
|
||||||
}
|
}
|
||||||
log.debug("保存传染病报告卡数据getReportOrg:{}", infectiousDiseaseReport.getReportOrg());
|
log.debug("保存传染病报告卡数据getReportOrg:{}", infectiousDiseaseReport.getReportOrg());
|
||||||
log.debug("保存传染病报告卡数据:{}", infectiousDiseaseReport.getDeleteFlag());
|
log.debug("保存传染病报告卡数据:{}", infectiousDiseaseReport.getDeleteFlag());
|
||||||
log.debug("保存传染病报告卡数据,更新日期:{}",infectiousDiseaseReport.getUpdateTime());
|
log.debug("保存传染病报告卡数据,更新日期:{}",infectiousDiseaseReport.getUpdateTime());
|
||||||
|
log.debug("保存传染病报告卡数据getStatus:{}",infectiousDiseaseReport.getStatus());
|
||||||
// 保存到数据库
|
// 保存到数据库
|
||||||
boolean success = iInfectiousDiseaseReportService.save(infectiousDiseaseReport);
|
boolean success = iInfectiousDiseaseReportService.save(infectiousDiseaseReport);
|
||||||
|
|
||||||
|
|||||||
@@ -0,0 +1,98 @@
|
|||||||
|
package com.openhis.web.reportManagement.appservice;
|
||||||
|
|
||||||
|
import com.core.common.core.domain.R;
|
||||||
|
import com.openhis.web.reportManagement.dto.InfectiousCardParam;
|
||||||
|
|
||||||
|
import javax.servlet.http.HttpServletResponse;
|
||||||
|
// import java.util.List; // 批量操作功能暂未实现
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 传染病报卡 AppService 接口
|
||||||
|
*
|
||||||
|
* @author system
|
||||||
|
* @date 2026-03-17
|
||||||
|
*/
|
||||||
|
public interface IInfectiousCardAppService {
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 分页查询传染病报卡列表
|
||||||
|
*
|
||||||
|
* @param param 查询参数
|
||||||
|
* @param pageNo 当前页码
|
||||||
|
* @param pageSize 每页数量
|
||||||
|
* @return 传染病报卡列表
|
||||||
|
*/
|
||||||
|
R<?> listPage(InfectiousCardParam param, Integer pageNo, Integer pageSize);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 根据 ID 查询传染病报卡详情
|
||||||
|
*
|
||||||
|
* @param id 报卡 ID
|
||||||
|
* @return 传染病报卡详情
|
||||||
|
*/
|
||||||
|
R<?> getById(Long id);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 根据卡号查询传染病报卡详情
|
||||||
|
*
|
||||||
|
* @param cardNo 报卡编号
|
||||||
|
* @return 传染病报卡详情
|
||||||
|
*/
|
||||||
|
R<?> getByCardNo(String cardNo);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 审核传染病报卡(功能暂未实现)
|
||||||
|
*
|
||||||
|
* @param cardNo 报卡编号
|
||||||
|
* @param auditOpinion 审核意见
|
||||||
|
* @param status 审核状态
|
||||||
|
* @return 结果
|
||||||
|
*/
|
||||||
|
// R<?> audit(String cardNo, String auditOpinion, String status);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 退回传染病报卡(功能暂未实现)
|
||||||
|
*
|
||||||
|
* @param cardNo 报卡编号
|
||||||
|
* @param returnReason 退回原因
|
||||||
|
* @param status 审核状态
|
||||||
|
* @return 结果
|
||||||
|
*/
|
||||||
|
// R<?> returnCard(String cardNo, String returnReason, String status);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 批量审核传染病报卡(功能暂未实现)
|
||||||
|
*
|
||||||
|
* @param cardNos 报卡编号列表
|
||||||
|
* @param auditOpinion 审核意见
|
||||||
|
* @param status 审核状态
|
||||||
|
* @return 结果
|
||||||
|
*/
|
||||||
|
// R<?> batchAudit(List<String> cardNos, String auditOpinion, String status);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 批量退回传染病报卡(功能暂未实现)
|
||||||
|
*
|
||||||
|
* @param cardNos 报卡编号列表
|
||||||
|
* @param returnReason 退回原因
|
||||||
|
* @param status 审核状态
|
||||||
|
* @return 结果
|
||||||
|
*/
|
||||||
|
// R<?> batchReturn(List<String> cardNos, String returnReason, String status);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 导出传染病报卡
|
||||||
|
*
|
||||||
|
* @param param 查询参数
|
||||||
|
* @param response 响应对象
|
||||||
|
*/
|
||||||
|
void export(InfectiousCardParam param, HttpServletResponse response);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 获取科室树
|
||||||
|
*
|
||||||
|
* @return 科室树数据
|
||||||
|
*/
|
||||||
|
R<?> getDeptTree();
|
||||||
|
|
||||||
|
}
|
||||||
@@ -0,0 +1,269 @@
|
|||||||
|
package com.openhis.web.reportManagement.appservice.impl;
|
||||||
|
|
||||||
|
import com.alibaba.fastjson2.JSONObject;
|
||||||
|
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||||
|
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||||
|
import com.core.common.core.domain.R;
|
||||||
|
import com.openhis.administration.domain.InfectiousDiseaseReport;
|
||||||
|
import com.openhis.administration.domain.Organization;
|
||||||
|
import com.openhis.administration.mapper.InfectiousDiseaseReportMapper;
|
||||||
|
import com.openhis.administration.service.IOrganizationService;
|
||||||
|
import com.openhis.web.reportManagement.appservice.IInfectiousCardAppService;
|
||||||
|
import com.openhis.web.reportManagement.dto.InfectiousCardDto;
|
||||||
|
import com.openhis.web.reportManagement.dto.InfectiousCardParam;
|
||||||
|
import com.openhis.web.reportManagement.mapper.ReportManageCardMapper;
|
||||||
|
import lombok.extern.slf4j.Slf4j;
|
||||||
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
|
import org.springframework.stereotype.Service;
|
||||||
|
|
||||||
|
import javax.servlet.http.HttpServletResponse;
|
||||||
|
import java.util.ArrayList;
|
||||||
|
import java.util.Date;
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 传染病报卡 AppService 实现
|
||||||
|
*
|
||||||
|
* @author system
|
||||||
|
* @date 2026-03-17
|
||||||
|
*/
|
||||||
|
@Service
|
||||||
|
@Slf4j
|
||||||
|
public class InfectiousCardAppServiceImpl implements IInfectiousCardAppService {
|
||||||
|
|
||||||
|
@Autowired
|
||||||
|
private ReportManageCardMapper reportManageCardMapper;
|
||||||
|
|
||||||
|
@Autowired
|
||||||
|
private InfectiousDiseaseReportMapper infectiousDiseaseReportMapper;
|
||||||
|
|
||||||
|
@Autowired
|
||||||
|
private IOrganizationService organizationService;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 分页查询传染病报卡列表
|
||||||
|
* @param param 查询参数
|
||||||
|
* @param pageNo 页码
|
||||||
|
* @param pageSize 每页条数
|
||||||
|
* @return 报卡列表
|
||||||
|
*/
|
||||||
|
@Override
|
||||||
|
public R<?> listPage(InfectiousCardParam param, Integer pageNo, Integer pageSize) {
|
||||||
|
try {
|
||||||
|
Page<InfectiousCardDto> page = new Page<>(pageNo, pageSize);
|
||||||
|
IPage<InfectiousCardDto> resultPage = reportManageCardMapper.selectCardPage(page, param);
|
||||||
|
|
||||||
|
JSONObject result = new JSONObject();
|
||||||
|
result.put("rows", resultPage.getRecords());
|
||||||
|
result.put("total", resultPage.getTotal());
|
||||||
|
|
||||||
|
return R.ok(result);
|
||||||
|
} catch (Exception e) {
|
||||||
|
log.error("查询传染病报卡列表失败", e);
|
||||||
|
return R.fail("查询失败:" + e.getMessage());
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 根据 ID 查询传染病报卡详情
|
||||||
|
* @param id 报卡 ID(实际为 cardNo)
|
||||||
|
* @return 报卡详情
|
||||||
|
*/
|
||||||
|
@Override
|
||||||
|
public R<?> getById(Long id) {
|
||||||
|
try {
|
||||||
|
// 注:id 参数实际是 cardNo,需要转换为 String
|
||||||
|
InfectiousCardDto dto = reportManageCardMapper.selectCardByCardNo(String.valueOf(id));
|
||||||
|
if (dto == null) {
|
||||||
|
return R.fail("报卡不存在");
|
||||||
|
}
|
||||||
|
return R.ok(dto);
|
||||||
|
} catch (Exception e) {
|
||||||
|
log.error("根据 ID 查询传染病报卡失败", e);
|
||||||
|
return R.fail("查询失败:" + e.getMessage());
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 根据卡号查询传染病报卡详情
|
||||||
|
* @param cardNo 卡号
|
||||||
|
* @return 报卡详情
|
||||||
|
*/
|
||||||
|
@Override
|
||||||
|
public R<?> getByCardNo(String cardNo) {
|
||||||
|
try {
|
||||||
|
InfectiousCardDto dto = reportManageCardMapper.selectCardByCardNo(cardNo);
|
||||||
|
if (dto == null) {
|
||||||
|
return R.fail("报卡不存在");
|
||||||
|
}
|
||||||
|
return R.ok(dto);
|
||||||
|
} catch (Exception e) {
|
||||||
|
log.error("根据卡号查询传染病报卡失败", e);
|
||||||
|
return R.fail("查询失败:" + e.getMessage());
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 审核传染病报卡(功能暂未实现)
|
||||||
|
* @param cardNo 卡号
|
||||||
|
* @param auditOpinion 审核意见
|
||||||
|
* @param status 审核状态
|
||||||
|
* @return 审核结果
|
||||||
|
*/
|
||||||
|
// @Override
|
||||||
|
// public R<?> audit(String cardNo, String auditOpinion, String status) {
|
||||||
|
// try {
|
||||||
|
// InfectiousDiseaseReport report = infectiousDiseaseReportMapper.selectById(cardNo);
|
||||||
|
// if (report == null) {
|
||||||
|
// return R.fail("报卡不存在");
|
||||||
|
// }
|
||||||
|
|
||||||
|
// report.setStatus(Integer.parseInt(status));
|
||||||
|
// report.setUpdateTime(new Date());
|
||||||
|
|
||||||
|
// infectiousDiseaseReportMapper.updateById(report);
|
||||||
|
|
||||||
|
// return R.ok("审核成功");
|
||||||
|
// } catch (Exception e) {
|
||||||
|
// log.error("审核传染病报卡失败", e);
|
||||||
|
// return R.fail("审核失败:" + e.getMessage());
|
||||||
|
// }
|
||||||
|
// }
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 退回传染病报卡(功能暂未实现)
|
||||||
|
* @param cardNo 卡号
|
||||||
|
* @param returnReason 退回原因
|
||||||
|
* @param status 退回状态
|
||||||
|
* @return 退回结果
|
||||||
|
*/
|
||||||
|
// @Override
|
||||||
|
// public R<?> returnCard(String cardNo, String returnReason, String status) {
|
||||||
|
// try {
|
||||||
|
// InfectiousDiseaseReport report = infectiousDiseaseReportMapper.selectById(cardNo);
|
||||||
|
// if (report == null) {
|
||||||
|
// return R.fail("报卡不存在");
|
||||||
|
// }
|
||||||
|
|
||||||
|
// report.setStatus(Integer.parseInt(status));
|
||||||
|
// report.setWithdrawReason(returnReason);
|
||||||
|
// report.setUpdateTime(new Date());
|
||||||
|
|
||||||
|
// infectiousDiseaseReportMapper.updateById(report);
|
||||||
|
|
||||||
|
// return R.ok("退回成功");
|
||||||
|
// } catch (Exception e) {
|
||||||
|
// log.error("退回传染病报卡失败", e);
|
||||||
|
// return R.fail("退回失败:" + e.getMessage());
|
||||||
|
// }
|
||||||
|
// }
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 批量审核传染病报卡(功能暂未实现)
|
||||||
|
* @param cardNos 卡号列表
|
||||||
|
* @param auditOpinion 审核意见
|
||||||
|
* @param status 审核状态
|
||||||
|
* @return 批量审核结果
|
||||||
|
*/
|
||||||
|
// @Override
|
||||||
|
// public R<?> batchAudit(List<String> cardNos, String auditOpinion, String status) {
|
||||||
|
// try {
|
||||||
|
// for (String cardNo : cardNos) {
|
||||||
|
// InfectiousDiseaseReport report = infectiousDiseaseReportMapper.selectById(cardNo);
|
||||||
|
// if (report != null) {
|
||||||
|
// report.setStatus(Integer.parseInt(status));
|
||||||
|
// report.setUpdateTime(new Date());
|
||||||
|
// infectiousDiseaseReportMapper.updateById(report);
|
||||||
|
// }
|
||||||
|
// }
|
||||||
|
// return R.ok("批量审核成功");
|
||||||
|
// } catch (Exception e) {
|
||||||
|
// log.error("批量审核传染病报卡失败", e);
|
||||||
|
// return R.fail("批量审核失败:" + e.getMessage());
|
||||||
|
// }
|
||||||
|
// }
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 批量退回传染病报卡(功能暂未实现)
|
||||||
|
* @param cardNos 卡号列表
|
||||||
|
* @param returnReason 退回原因
|
||||||
|
* @param status 退回状态
|
||||||
|
* @return 批量退回结果
|
||||||
|
*/
|
||||||
|
// @Override
|
||||||
|
// public R<?> batchReturn(List<String> cardNos, String returnReason, String status) {
|
||||||
|
// try {
|
||||||
|
// for (String cardNo : cardNos) {
|
||||||
|
// InfectiousDiseaseReport report = infectiousDiseaseReportMapper.selectById(cardNo);
|
||||||
|
// if (report != null) {
|
||||||
|
// report.setStatus(Integer.parseInt(status));
|
||||||
|
// report.setWithdrawReason(returnReason);
|
||||||
|
// report.setUpdateTime(new Date());
|
||||||
|
// infectiousDiseaseReportMapper.updateById(report);
|
||||||
|
// }
|
||||||
|
// }
|
||||||
|
// return R.ok("批量退回成功");
|
||||||
|
// } catch (Exception e) {
|
||||||
|
// log.error("批量退回传染病报卡失败", e);
|
||||||
|
// return R.fail("批量退回失败:" + e.getMessage());
|
||||||
|
// }
|
||||||
|
// }
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 导出传染病报卡数据
|
||||||
|
* @param param 查询参数
|
||||||
|
* @param response HTTP 响应对象
|
||||||
|
*/
|
||||||
|
@Override
|
||||||
|
public void export(InfectiousCardParam param, HttpServletResponse response) {
|
||||||
|
log.warn("导出功能暂未实现");
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 获取科室树
|
||||||
|
* @return 科室树数据
|
||||||
|
*/
|
||||||
|
@Override
|
||||||
|
public R<?> getDeptTree() {
|
||||||
|
try {
|
||||||
|
// 查询所有启用的机构/科室
|
||||||
|
List<Organization> organizations = organizationService.list();
|
||||||
|
List<TreeNode> tree = buildTree(organizations);
|
||||||
|
return R.ok(tree);
|
||||||
|
} catch (Exception e) {
|
||||||
|
log.error("获取科室树失败", e);
|
||||||
|
return R.fail("获取科室树失败:" + e.getMessage());
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 构建树形结构
|
||||||
|
*/
|
||||||
|
private List<TreeNode> buildTree(List<Organization> list) {
|
||||||
|
List<TreeNode> tree = new ArrayList<>();
|
||||||
|
for (Organization org : list) {
|
||||||
|
TreeNode node = new TreeNode();
|
||||||
|
node.value = org.getId();
|
||||||
|
node.label = org.getName();
|
||||||
|
node.children = new ArrayList<>();
|
||||||
|
tree.add(node);
|
||||||
|
}
|
||||||
|
return tree;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 树形节点 DTO
|
||||||
|
*/
|
||||||
|
private static class TreeNode {
|
||||||
|
private Long value;
|
||||||
|
private String label;
|
||||||
|
private List<TreeNode> children;
|
||||||
|
|
||||||
|
public Long getValue() { return value; }
|
||||||
|
public void setValue(Long value) { this.value = value; }
|
||||||
|
public String getLabel() { return label; }
|
||||||
|
public void setLabel(String label) { this.label = label; }
|
||||||
|
public List<TreeNode> getChildren() { return children; }
|
||||||
|
public void setChildren(List<TreeNode> children) { this.children = children; }
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,145 @@
|
|||||||
|
package com.openhis.web.reportManagement.controller;
|
||||||
|
|
||||||
|
import com.core.common.core.domain.R;
|
||||||
|
import com.openhis.web.reportManagement.appservice.IInfectiousCardAppService;
|
||||||
|
import com.openhis.web.reportManagement.dto.InfectiousCardParam;
|
||||||
|
import lombok.extern.slf4j.Slf4j;
|
||||||
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
|
import org.springframework.web.bind.annotation.*;
|
||||||
|
|
||||||
|
import javax.servlet.http.HttpServletResponse;
|
||||||
|
// import java.util.List; // 批量操作功能暂未实现
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 传染病报卡管理 Controller
|
||||||
|
*
|
||||||
|
* @author wangjian963
|
||||||
|
* @date 2026-03-17
|
||||||
|
*/
|
||||||
|
@RestController
|
||||||
|
@RequestMapping("/report-manage/infectiousDiseaseReport")
|
||||||
|
@Slf4j
|
||||||
|
public class reportManagementController {
|
||||||
|
|
||||||
|
@Autowired
|
||||||
|
private IInfectiousCardAppService infectiousCardAppService;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 分页查询传染病报卡列表
|
||||||
|
*
|
||||||
|
* @param param 查询参数
|
||||||
|
* @param pageNo 当前页码
|
||||||
|
* @param pageSize 每页数量
|
||||||
|
* @return 传染病报卡列表
|
||||||
|
*/
|
||||||
|
@GetMapping("/list-page")
|
||||||
|
public R<?> listPage(InfectiousCardParam param,
|
||||||
|
@RequestParam(value = "pageNo", defaultValue = "1") Integer pageNo,
|
||||||
|
@RequestParam(value = "pageSize", defaultValue = "10") Integer pageSize) {
|
||||||
|
return infectiousCardAppService.listPage(param, pageNo, pageSize);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 根据 ID 查询传染病报卡详情
|
||||||
|
*
|
||||||
|
* @param id 报卡 ID
|
||||||
|
* @return 传染病报卡详情
|
||||||
|
*/
|
||||||
|
@GetMapping("/{id}")
|
||||||
|
public R<?> getById(@PathVariable Long id) {
|
||||||
|
return infectiousCardAppService.getById(id);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 根据卡号查询传染病报卡详情
|
||||||
|
*
|
||||||
|
* @param cardNo 报卡编号
|
||||||
|
* @return 传染病报卡详情
|
||||||
|
*/
|
||||||
|
@GetMapping("/detail/{cardNo}")
|
||||||
|
public R<?> getByCardNo(@PathVariable String cardNo) {
|
||||||
|
return infectiousCardAppService.getByCardNo(cardNo);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 审核传染病报卡(功能暂未实现)
|
||||||
|
*
|
||||||
|
* @param cardNo 报卡编号
|
||||||
|
* @param auditOpinion 审核意见
|
||||||
|
* @param status 审核状态
|
||||||
|
* @return 结果
|
||||||
|
*/
|
||||||
|
// @PostMapping("/audit")
|
||||||
|
// public R<?> audit(@RequestParam String cardNo,
|
||||||
|
// @RequestParam String auditOpinion,
|
||||||
|
// @RequestParam String status) {
|
||||||
|
// return infectiousCardAppService.audit(cardNo, auditOpinion, status);
|
||||||
|
// }
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 退回传染病报卡(功能暂未实现)
|
||||||
|
*
|
||||||
|
* @param cardNo 报卡编号
|
||||||
|
* @param returnReason 退回原因
|
||||||
|
* @param status 审核状态
|
||||||
|
* @return 结果
|
||||||
|
*/
|
||||||
|
// @PostMapping("/return")
|
||||||
|
// public R<?> returnCard(@RequestParam String cardNo,
|
||||||
|
// @RequestParam String returnReason,
|
||||||
|
// @RequestParam String status) {
|
||||||
|
// return infectiousCardAppService.returnCard(cardNo, returnReason, status);
|
||||||
|
// }
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 批量审核传染病报卡(功能暂未实现)
|
||||||
|
*
|
||||||
|
* @param cardNos 报卡编号列表
|
||||||
|
* @param auditOpinion 审核意见
|
||||||
|
* @param status 审核状态
|
||||||
|
* @return 结果
|
||||||
|
*/
|
||||||
|
// @PostMapping("/batchAudit")
|
||||||
|
// public R<?> batchAudit(@RequestBody List<String> cardNos,
|
||||||
|
// @RequestParam String auditOpinion,
|
||||||
|
// @RequestParam String status) {
|
||||||
|
// return infectiousCardAppService.batchAudit(cardNos, auditOpinion, status);
|
||||||
|
// }
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 批量退回传染病报卡(功能暂未实现)
|
||||||
|
*
|
||||||
|
* @param cardNos 报卡编号列表
|
||||||
|
* @param returnReason 退回原因
|
||||||
|
* @param status 审核状态
|
||||||
|
* @return 结果
|
||||||
|
*/
|
||||||
|
// @PostMapping("/batchReturn")
|
||||||
|
// public R<?> batchReturn(@RequestBody List<String> cardNos,
|
||||||
|
// @RequestParam String returnReason,
|
||||||
|
// @RequestParam String status) {
|
||||||
|
// return infectiousCardAppService.batchReturn(cardNos, returnReason, status);
|
||||||
|
// }
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 导出传染病报卡
|
||||||
|
*
|
||||||
|
* @param param 查询参数
|
||||||
|
* @param response 响应对象
|
||||||
|
*/
|
||||||
|
@PostMapping("/export")
|
||||||
|
public void export(InfectiousCardParam param, HttpServletResponse response) {
|
||||||
|
infectiousCardAppService.export(param, response);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 获取科室树
|
||||||
|
*
|
||||||
|
* @return 科室树数据
|
||||||
|
*/
|
||||||
|
@GetMapping("/dept-tree")
|
||||||
|
public R<?> getDeptTree() {
|
||||||
|
return infectiousCardAppService.getDeptTree();
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
@@ -0,0 +1,142 @@
|
|||||||
|
package com.openhis.web.reportManagement.dto;
|
||||||
|
|
||||||
|
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
|
||||||
|
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
|
||||||
|
import lombok.Data;
|
||||||
|
|
||||||
|
import java.util.Date;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 传染病报卡详情 DTO
|
||||||
|
*
|
||||||
|
* @author system
|
||||||
|
* @date 2026-03-17
|
||||||
|
*/
|
||||||
|
@Data
|
||||||
|
public class InfectiousCardDto {
|
||||||
|
|
||||||
|
/** 卡片编号(主键) */
|
||||||
|
private String cardNo;
|
||||||
|
|
||||||
|
/** 报卡名称 */
|
||||||
|
private String cardName;
|
||||||
|
|
||||||
|
/** 病种名称 */
|
||||||
|
private String diseaseName;
|
||||||
|
|
||||||
|
/** 疾病编码 */
|
||||||
|
private String diseaseCode;
|
||||||
|
|
||||||
|
/** 患者姓名 */
|
||||||
|
private String patientName;
|
||||||
|
|
||||||
|
/** 性别 (1 男/2 女/0 未知) */
|
||||||
|
private String sex;
|
||||||
|
|
||||||
|
/** 实足年龄 */
|
||||||
|
private Integer age;
|
||||||
|
|
||||||
|
/** 科室 ID */
|
||||||
|
@JsonSerialize(using = ToStringSerializer.class)
|
||||||
|
private Long deptId;
|
||||||
|
|
||||||
|
/** 科室名称 */
|
||||||
|
private String deptName;
|
||||||
|
|
||||||
|
/** 登记来源 (1 门诊/2 住院/3 急诊/4 体检) */
|
||||||
|
private Integer registrationSource;
|
||||||
|
|
||||||
|
/** 报告日期 */
|
||||||
|
private Date reportDate;
|
||||||
|
|
||||||
|
/** 状态 (0 暂存/1 待审核/2 已审核/3 已上报/4 失败/5 退回) */
|
||||||
|
private Integer status;
|
||||||
|
|
||||||
|
/** 证件类型 */
|
||||||
|
private Integer idType;
|
||||||
|
|
||||||
|
/** 证件号码 */
|
||||||
|
private String idNo;
|
||||||
|
|
||||||
|
/** 家长姓名 */
|
||||||
|
private String parentName;
|
||||||
|
|
||||||
|
/** 出生日期 */
|
||||||
|
private Date birthday;
|
||||||
|
|
||||||
|
/** 年龄单位 (1 岁/2 月/3 天) */
|
||||||
|
private String ageUnit;
|
||||||
|
|
||||||
|
/** 工作单位 */
|
||||||
|
private String workplace;
|
||||||
|
|
||||||
|
/** 联系电话 */
|
||||||
|
private String phone;
|
||||||
|
|
||||||
|
/** 紧急联系人电话 */
|
||||||
|
private String contactPhone;
|
||||||
|
|
||||||
|
/** 现住址省 */
|
||||||
|
private String addressProv;
|
||||||
|
|
||||||
|
/** 现住址市 */
|
||||||
|
private String addressCity;
|
||||||
|
|
||||||
|
/** 现住址县 */
|
||||||
|
private String addressCounty;
|
||||||
|
|
||||||
|
/** 现住址街道 */
|
||||||
|
private String addressTown;
|
||||||
|
|
||||||
|
/** 现住址村/居委 */
|
||||||
|
private String addressVillage;
|
||||||
|
|
||||||
|
/** 现住址门牌号 */
|
||||||
|
private String addressHouse;
|
||||||
|
|
||||||
|
/** 病人属于 */
|
||||||
|
private Integer patientBelong;
|
||||||
|
|
||||||
|
/** 职业 */
|
||||||
|
private String occupation;
|
||||||
|
|
||||||
|
/** 疾病分型 */
|
||||||
|
private String diseaseType;
|
||||||
|
|
||||||
|
/** 病例分类 */
|
||||||
|
private Integer caseClass;
|
||||||
|
|
||||||
|
/** 发病日期 */
|
||||||
|
private Date onsetDate;
|
||||||
|
|
||||||
|
/** 诊断日期 */
|
||||||
|
private Date diagDate;
|
||||||
|
|
||||||
|
/** 死亡日期 */
|
||||||
|
private Date deathDate;
|
||||||
|
|
||||||
|
/** 报告单位 */
|
||||||
|
private String reportOrg;
|
||||||
|
|
||||||
|
/** 报告医生 */
|
||||||
|
private String reportDoc;
|
||||||
|
|
||||||
|
/** 备注 */
|
||||||
|
private String remark;
|
||||||
|
|
||||||
|
/** 审核意见 */
|
||||||
|
private String auditOpinion;
|
||||||
|
|
||||||
|
/** 退回原因 */
|
||||||
|
private String returnReason;
|
||||||
|
|
||||||
|
/** 订正病名 */
|
||||||
|
private String correctName;
|
||||||
|
|
||||||
|
/** 退卡原因 */
|
||||||
|
private String withdrawReason;
|
||||||
|
|
||||||
|
/** 其他传染病 */
|
||||||
|
private String otherDisease;
|
||||||
|
|
||||||
|
}
|
||||||
@@ -0,0 +1,35 @@
|
|||||||
|
package com.openhis.web.reportManagement.dto;
|
||||||
|
|
||||||
|
import lombok.Data;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 传染病报卡查询参数
|
||||||
|
*
|
||||||
|
* @author system
|
||||||
|
* @date 2026-03-17
|
||||||
|
*/
|
||||||
|
@Data
|
||||||
|
public class InfectiousCardParam {
|
||||||
|
|
||||||
|
/** 报卡编号 */
|
||||||
|
private String cardNo;
|
||||||
|
|
||||||
|
/** 患者姓名 */
|
||||||
|
private String patientName;
|
||||||
|
|
||||||
|
/** 审核状态 (0 暂存/1 待审核/2 已审核/3 已上报/4 失败/5 退回) */
|
||||||
|
private Integer status;
|
||||||
|
|
||||||
|
/** 登记来源 (1 门诊/2 住院/3 急诊/4 体检) */
|
||||||
|
private Integer registrationSource;
|
||||||
|
|
||||||
|
/** 科室 ID */
|
||||||
|
private Long deptId;
|
||||||
|
|
||||||
|
/** 开始日期 */
|
||||||
|
private String startDate;
|
||||||
|
|
||||||
|
/** 结束日期 */
|
||||||
|
private String endDate;
|
||||||
|
|
||||||
|
}
|
||||||
@@ -0,0 +1,33 @@
|
|||||||
|
package com.openhis.web.reportManagement.mapper;
|
||||||
|
|
||||||
|
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||||
|
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||||
|
import com.openhis.web.reportManagement.dto.InfectiousCardDto;
|
||||||
|
import com.openhis.web.reportManagement.dto.InfectiousCardParam;
|
||||||
|
import org.apache.ibatis.annotations.Param;
|
||||||
|
import org.springframework.stereotype.Repository;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 传染病报卡 Mapper 接口
|
||||||
|
*
|
||||||
|
* @author system
|
||||||
|
* @date 2026-03-18
|
||||||
|
*/
|
||||||
|
@Repository
|
||||||
|
public interface ReportManageCardMapper {
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 分页查询报卡列表(联查科室名称)
|
||||||
|
* @param page 分页对象
|
||||||
|
* @param param 查询参数
|
||||||
|
* @return 报卡列表
|
||||||
|
*/
|
||||||
|
IPage<InfectiousCardDto> selectCardPage(Page<InfectiousCardDto> page, @Param("param") InfectiousCardParam param);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 根据卡号查询报卡详情(联查科室名称)
|
||||||
|
* @param cardNo 卡号
|
||||||
|
* @return 报卡详情
|
||||||
|
*/
|
||||||
|
InfectiousCardDto selectCardByCardNo(@Param("cardNo") String cardNo);
|
||||||
|
}
|
||||||
@@ -0,0 +1,153 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8" ?>
|
||||||
|
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
|
||||||
|
<mapper namespace="com.openhis.web.reportManagement.mapper.ReportManageCardMapper">
|
||||||
|
|
||||||
|
<!-- 分页查询报卡列表 -->
|
||||||
|
<select id="selectCardPage" resultType="com.openhis.web.reportManagement.dto.InfectiousCardDto">
|
||||||
|
SELECT
|
||||||
|
t1.card_no AS cardNo,
|
||||||
|
'传染病报告卡' AS cardName,
|
||||||
|
t1.disease_code AS diseaseCode,
|
||||||
|
CASE
|
||||||
|
WHEN t1.disease_code = '0101' THEN '鼠疫'
|
||||||
|
WHEN t1.disease_code = '0102' THEN '霍乱'
|
||||||
|
WHEN t1.disease_code = '0201' THEN '传染性非典型肺炎'
|
||||||
|
WHEN t1.disease_code = '0202' THEN '艾滋病'
|
||||||
|
WHEN t1.disease_code = '0203' THEN '病毒性肝炎'
|
||||||
|
WHEN t1.disease_code = '0211' THEN '炭疽'
|
||||||
|
WHEN t1.disease_code = '0213' THEN '肺结核'
|
||||||
|
WHEN t1.disease_code = '0222' THEN '梅毒'
|
||||||
|
WHEN t1.disease_code = '0224' THEN '血吸虫病'
|
||||||
|
WHEN t1.disease_code = '0225' THEN '疟疾'
|
||||||
|
WHEN t1.disease_code = '0301' THEN '流行性感冒'
|
||||||
|
WHEN t1.disease_code = '0302' THEN '流行性腮腺炎'
|
||||||
|
WHEN t1.disease_code = '0303' THEN '风疹'
|
||||||
|
WHEN t1.disease_code = '0310' THEN '其它感染性腹泻病'
|
||||||
|
WHEN t1.disease_code = '0311' THEN '手足口病'
|
||||||
|
ELSE t1.disease_code
|
||||||
|
END AS diseaseName,
|
||||||
|
t1.pat_name AS patientName,
|
||||||
|
t1.sex AS sex,
|
||||||
|
t1.age AS age,
|
||||||
|
t1.dept_id AS deptId,
|
||||||
|
t2.name AS deptName,
|
||||||
|
t1.registration_source AS registrationSource,
|
||||||
|
t1.report_date AS reportDate,
|
||||||
|
t1.status AS status,
|
||||||
|
t1.id_type AS idType,
|
||||||
|
t1.id_no AS idNo,
|
||||||
|
t1.parent_name AS parentName,
|
||||||
|
t1.birthday AS birthday,
|
||||||
|
t1.age_unit AS ageUnit,
|
||||||
|
t1.workplace AS workplace,
|
||||||
|
t1.phone AS phone,
|
||||||
|
t1.contact_phone AS contactPhone,
|
||||||
|
t1.address_prov AS addressProv,
|
||||||
|
t1.address_city AS addressCity,
|
||||||
|
t1.address_county AS addressCounty,
|
||||||
|
t1.address_town AS addressTown,
|
||||||
|
t1.address_village AS addressVillage,
|
||||||
|
t1.address_house AS addressHouse,
|
||||||
|
t1.patient_belong AS patientBelong,
|
||||||
|
t1.occupation AS occupation,
|
||||||
|
t1.disease_type AS diseaseType,
|
||||||
|
t1.case_class AS caseClass,
|
||||||
|
t1.onset_date AS onsetDate,
|
||||||
|
t1.diag_date AS diagDate,
|
||||||
|
t1.death_date AS deathDate,
|
||||||
|
t1.report_org AS reportOrg,
|
||||||
|
t1.report_doc AS reportDoc,
|
||||||
|
t1.withdraw_reason AS withdrawReason,
|
||||||
|
t1.correct_name AS correctName,
|
||||||
|
t1.other_disease AS otherDisease
|
||||||
|
FROM infectious_card t1
|
||||||
|
LEFT JOIN adm_organization t2 ON t1.dept_id = t2.id
|
||||||
|
WHERE t1.delete_flag = '0'
|
||||||
|
<if test="param.cardNo != null and param.cardNo != ''">
|
||||||
|
AND t1.card_no = #{param.cardNo}
|
||||||
|
</if>
|
||||||
|
<if test="param.patientName != null and param.patientName != ''">
|
||||||
|
AND t1.pat_name LIKE CONCAT('%', #{param.patientName}, '%')
|
||||||
|
</if>
|
||||||
|
<if test="param.status != null">
|
||||||
|
AND t1.status = #{param.status}
|
||||||
|
</if>
|
||||||
|
<if test="param.registrationSource != null">
|
||||||
|
AND t1.registration_source = #{param.registrationSource}
|
||||||
|
</if>
|
||||||
|
<if test="param.deptId != null">
|
||||||
|
AND t1.dept_id = #{param.deptId}
|
||||||
|
</if>
|
||||||
|
<if test="param.startDate != null and param.startDate != ''">
|
||||||
|
AND t1.report_date >= TO_DATE(#{param.startDate}, 'YYYY-MM-DD')
|
||||||
|
</if>
|
||||||
|
<if test="param.endDate != null and param.endDate != ''">
|
||||||
|
AND t1.report_date <= TO_DATE(#{param.endDate}, 'YYYY-MM-DD')
|
||||||
|
</if>
|
||||||
|
ORDER BY t1.report_date DESC
|
||||||
|
</select>
|
||||||
|
|
||||||
|
<!-- 根据卡号查询报卡详情 -->
|
||||||
|
<select id="selectCardByCardNo" resultType="com.openhis.web.reportManagement.dto.InfectiousCardDto">
|
||||||
|
SELECT
|
||||||
|
t1.card_no AS cardNo,
|
||||||
|
'传染病报告卡' AS cardName,
|
||||||
|
t1.disease_code AS diseaseCode,
|
||||||
|
CASE
|
||||||
|
WHEN t1.disease_code = '0101' THEN '鼠疫'
|
||||||
|
WHEN t1.disease_code = '0102' THEN '霍乱'
|
||||||
|
WHEN t1.disease_code = '0201' THEN '传染性非典型肺炎'
|
||||||
|
WHEN t1.disease_code = '0202' THEN '艾滋病'
|
||||||
|
WHEN t1.disease_code = '0203' THEN '病毒性肝炎'
|
||||||
|
WHEN t1.disease_code = '0211' THEN '炭疽'
|
||||||
|
WHEN t1.disease_code = '0213' THEN '肺结核'
|
||||||
|
WHEN t1.disease_code = '0222' THEN '梅毒'
|
||||||
|
WHEN t1.disease_code = '0224' THEN '血吸虫病'
|
||||||
|
WHEN t1.disease_code = '0225' THEN '疟疾'
|
||||||
|
WHEN t1.disease_code = '0301' THEN '流行性感冒'
|
||||||
|
WHEN t1.disease_code = '0302' THEN '流行性腮腺炎'
|
||||||
|
WHEN t1.disease_code = '0303' THEN '风疹'
|
||||||
|
WHEN t1.disease_code = '0310' THEN '其它感染性腹泻病'
|
||||||
|
WHEN t1.disease_code = '0311' THEN '手足口病'
|
||||||
|
ELSE t1.disease_code
|
||||||
|
END AS diseaseName,
|
||||||
|
t1.pat_name AS patientName,
|
||||||
|
t1.sex AS sex,
|
||||||
|
t1.age AS age,
|
||||||
|
t1.dept_id AS deptId,
|
||||||
|
t2.name AS deptName,
|
||||||
|
t1.registration_source AS registrationSource,
|
||||||
|
t1.report_date AS reportDate,
|
||||||
|
t1.status AS status,
|
||||||
|
t1.id_type AS idType,
|
||||||
|
t1.id_no AS idNo,
|
||||||
|
t1.parent_name AS parentName,
|
||||||
|
t1.birthday AS birthday,
|
||||||
|
t1.age_unit AS ageUnit,
|
||||||
|
t1.workplace AS workplace,
|
||||||
|
t1.phone AS phone,
|
||||||
|
t1.contact_phone AS contactPhone,
|
||||||
|
t1.address_prov AS addressProv,
|
||||||
|
t1.address_city AS addressCity,
|
||||||
|
t1.address_county AS addressCounty,
|
||||||
|
t1.address_town AS addressTown,
|
||||||
|
t1.address_village AS addressVillage,
|
||||||
|
t1.address_house AS addressHouse,
|
||||||
|
t1.patient_belong AS patientBelong,
|
||||||
|
t1.occupation AS occupation,
|
||||||
|
t1.disease_type AS diseaseType,
|
||||||
|
t1.case_class AS caseClass,
|
||||||
|
t1.onset_date AS onsetDate,
|
||||||
|
t1.diag_date AS diagDate,
|
||||||
|
t1.death_date AS deathDate,
|
||||||
|
t1.report_org AS reportOrg,
|
||||||
|
t1.report_doc AS reportDoc,
|
||||||
|
t1.withdraw_reason AS withdrawReason,
|
||||||
|
t1.correct_name AS correctName,
|
||||||
|
t1.other_disease AS otherDisease
|
||||||
|
FROM infectious_card t1
|
||||||
|
LEFT JOIN adm_organization t2 ON t1.dept_id = t2.id
|
||||||
|
WHERE t1.delete_flag = '0' AND t1.card_no = #{cardNo}
|
||||||
|
</select>
|
||||||
|
|
||||||
|
</mapper>
|
||||||
@@ -0,0 +1,68 @@
|
|||||||
|
package com.openhis.common.enums;
|
||||||
|
|
||||||
|
import com.baomidou.mybatisplus.annotation.EnumValue;
|
||||||
|
import lombok.AllArgsConstructor;
|
||||||
|
import lombok.Getter;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 传染病报告卡状态枚举
|
||||||
|
* 0 暂存/1 已提交=待审核/2 已审核=审核通过/3 已上报/4 失败/5 退回=审核失败
|
||||||
|
*
|
||||||
|
* @author system
|
||||||
|
* @date 2026-03-18
|
||||||
|
*/
|
||||||
|
@Getter
|
||||||
|
@AllArgsConstructor
|
||||||
|
public enum ReportCardStatus implements HisEnumInterface {
|
||||||
|
|
||||||
|
DRAFT(0, "draft", "暂存"),
|
||||||
|
|
||||||
|
SUBMITTED(1, "submitted", "已提交"),
|
||||||
|
|
||||||
|
AUDITED(2, "audited", "已审核"),
|
||||||
|
|
||||||
|
REPORTED(3, "reported", "已上报"),
|
||||||
|
|
||||||
|
FAILED(4, "failed", "失败"),
|
||||||
|
|
||||||
|
RETURNED(5, "returned", "退回");
|
||||||
|
|
||||||
|
@EnumValue
|
||||||
|
private final Integer value;
|
||||||
|
private final String code;
|
||||||
|
private final String info;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 根据值获取枚举
|
||||||
|
* @param value 状态值
|
||||||
|
* @return 枚举对象
|
||||||
|
*/
|
||||||
|
public static ReportCardStatus getByValue(Integer value) {
|
||||||
|
if (value == null) {
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
for (ReportCardStatus val : values()) {
|
||||||
|
if (val.getValue().equals(value)) {
|
||||||
|
return val;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 根据编码获取枚举
|
||||||
|
* @param code 状态编码
|
||||||
|
* @return 枚举对象
|
||||||
|
*/
|
||||||
|
public static ReportCardStatus getByCode(String code) {
|
||||||
|
if (code == null) {
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
for (ReportCardStatus val : values()) {
|
||||||
|
if (val.getCode().equals(code)) {
|
||||||
|
return val;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -10,8 +10,7 @@ import lombok.Data;
|
|||||||
import lombok.EqualsAndHashCode;
|
import lombok.EqualsAndHashCode;
|
||||||
import lombok.experimental.Accessors;
|
import lombok.experimental.Accessors;
|
||||||
|
|
||||||
import java.time.LocalDate;
|
import java.util.Date;
|
||||||
import java.time.LocalDateTime;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 传染病报告卡实体
|
* 传染病报告卡实体
|
||||||
@@ -30,15 +29,15 @@ public class InfectiousDiseaseReport extends HisBaseEntity {
|
|||||||
private String cardNo;
|
private String cardNo;
|
||||||
|
|
||||||
/** 本次就诊ID */
|
/** 本次就诊ID */
|
||||||
@JsonSerialize(using = ToStringSerializer.class)
|
// removed
|
||||||
private Long visitId;
|
private Long visitId;
|
||||||
|
|
||||||
/** 诊断记录唯一ID */
|
/** 诊断记录唯一ID */
|
||||||
@JsonSerialize(using = ToStringSerializer.class)
|
// removed
|
||||||
private Long diagId;
|
private Long diagId;
|
||||||
|
|
||||||
/** 患者主索引 */
|
/** 患者主索引 */
|
||||||
@JsonSerialize(using = ToStringSerializer.class)
|
// removed
|
||||||
private Long patId;
|
private Long patId;
|
||||||
|
|
||||||
/** 证件类型 */
|
/** 证件类型 */
|
||||||
@@ -47,25 +46,25 @@ public class InfectiousDiseaseReport extends HisBaseEntity {
|
|||||||
/** 证件号码 */
|
/** 证件号码 */
|
||||||
private String idNo;
|
private String idNo;
|
||||||
|
|
||||||
/** 患者姓名 */
|
/** 患者姓<EFBFBD>?*/
|
||||||
private String patName;
|
private String patName;
|
||||||
|
|
||||||
/** 家长姓名(≤14岁必填) */
|
/** 家长姓名(≤14岁必填) */
|
||||||
private String parentName;
|
private String parentName;
|
||||||
|
|
||||||
/** 性别 1男 2女 0未知 */
|
/** 性别 1<EFBFBD>?2<>?0未知 */
|
||||||
private String sex;
|
private String sex;
|
||||||
|
|
||||||
/** 出生日期 */
|
/** 出生日期 */
|
||||||
private LocalDate birthday;
|
private Date birthday;
|
||||||
|
|
||||||
/** 实足年龄 */
|
/** 实足年龄 */
|
||||||
private Integer age;
|
private Integer age;
|
||||||
|
|
||||||
/** 年龄单位 1岁 2月 3天 */
|
/** 年龄单位 1<EFBFBD>?2<>?3<>?*/
|
||||||
private String ageUnit;
|
private String ageUnit;
|
||||||
|
|
||||||
/** 工作单位(学生填学校) */
|
/** 工作单位(学生填学校<EFBFBD>?*/
|
||||||
private String workplace;
|
private String workplace;
|
||||||
|
|
||||||
/** 联系电话(患者本人电话) */
|
/** 联系电话(患者本人电话) */
|
||||||
@@ -74,58 +73,58 @@ public class InfectiousDiseaseReport extends HisBaseEntity {
|
|||||||
/** 紧急联系人电话 */
|
/** 紧急联系人电话 */
|
||||||
private String contactPhone;
|
private String contactPhone;
|
||||||
|
|
||||||
/** 现住址省 */
|
/** 现住址<EFBFBD>?*/
|
||||||
private String addressProv;
|
private String addressProv;
|
||||||
|
|
||||||
/** 现住址市 */
|
/** 现住址<EFBFBD>?*/
|
||||||
private String addressCity;
|
private String addressCity;
|
||||||
|
|
||||||
/** 现住址县 */
|
/** 现住址<EFBFBD>?*/
|
||||||
private String addressCounty;
|
private String addressCounty;
|
||||||
|
|
||||||
/** 现住址街道 */
|
/** 现住址街道 */
|
||||||
private String addressTown;
|
private String addressTown;
|
||||||
|
|
||||||
/** 现住址村/居委 */
|
/** 现住址<EFBFBD>?居委 */
|
||||||
private String addressVillage;
|
private String addressVillage;
|
||||||
|
|
||||||
/** 现住址门牌号 */
|
/** 现住址门牌<EFBFBD>?*/
|
||||||
private String addressHouse;
|
private String addressHouse;
|
||||||
|
|
||||||
/** 病人属于 1本县区/2本市其他/3本省其他/4外省/5港澳台/6外籍 */
|
/** 病人属于 1本县<EFBFBD>?2本市其他/3本省其他/4外省/5港澳<EFBFBD>?6外籍 */
|
||||||
private Integer patientBelong;
|
private Integer patientBelong;
|
||||||
|
|
||||||
/** 职业 */
|
/** 职业 */
|
||||||
private String occupation;
|
private String occupation;
|
||||||
|
|
||||||
/** 疾病名称(WS 218-2020) */
|
/** 疾病名称(WS 218-2020<EFBFBD>?*/
|
||||||
private String diseaseCode;
|
private String diseaseCode;
|
||||||
|
|
||||||
/** 分型(6类必分型疾病必填) */
|
/** 分型<EFBFBD>?类必分型疾病必填<EFBFBD>?*/
|
||||||
private String diseaseType;
|
private String diseaseType;
|
||||||
|
|
||||||
/** 其他法定管理以及重点监测传染病 */
|
/** 其他法定管理以及重点监测传染<EFBFBD>?*/
|
||||||
private String otherDisease;
|
private String otherDisease;
|
||||||
|
|
||||||
/** 病例分类 1疑似病例/2临床诊断病例/3确诊病例/4病原携带/5阳性检测结果 */
|
/** 病例分类 1疑似病例/2临床诊断病例/3确诊病例/4病原携带/5阳性检测结<EFBFBD>?*/
|
||||||
private Integer caseClass;
|
private Integer caseClass;
|
||||||
|
|
||||||
/** 发病日期(默认诊断时间,病原携带者填初检日期) */
|
/** 发病日期(默认诊断时间,病原携带者填初检日期<EFBFBD>?*/
|
||||||
private LocalDate onsetDate;
|
private Date onsetDate;
|
||||||
|
|
||||||
/** 诊断日期(精确到小时) */
|
/** 诊断日期(精确到小时<EFBFBD>?*/
|
||||||
private LocalDateTime diagDate;
|
private Date diagDate;
|
||||||
|
|
||||||
/** 死亡日期(死亡病例必填) */
|
/** 死亡日期(死亡病例必填) */
|
||||||
private LocalDate deathDate;
|
private Date deathDate;
|
||||||
|
|
||||||
/** 订正病名(订正报告必填) */
|
/** 订正病名(订正报告必填) */
|
||||||
private String correctName;
|
private String correctName;
|
||||||
|
|
||||||
/** 退卡原因(退卡时必填) */
|
/** 退卡原因(退卡时必填<EFBFBD>?*/
|
||||||
private String withdrawReason;
|
private String withdrawReason;
|
||||||
|
|
||||||
/** 报告单位(统一信用代码/医院名称) */
|
/** 报告单位(统一信用代码/医院名称<EFBFBD>?*/
|
||||||
private String reportOrg;
|
private String reportOrg;
|
||||||
|
|
||||||
/** 报告单位联系电话 */
|
/** 报告单位联系电话 */
|
||||||
@@ -135,15 +134,15 @@ public class InfectiousDiseaseReport extends HisBaseEntity {
|
|||||||
private String reportDoc;
|
private String reportDoc;
|
||||||
|
|
||||||
/** 填卡日期 */
|
/** 填卡日期 */
|
||||||
private LocalDate reportDate;
|
private Date reportDate;
|
||||||
|
|
||||||
/** 报卡名称代码 1-中华人民共和国传染病报告卡 */
|
/** 报卡名称代码 1-中华人民共和国传染病报告<EFBFBD>?*/
|
||||||
private Integer cardNameCode;
|
private Integer cardNameCode;
|
||||||
|
|
||||||
/** 登记来源 1门诊/2住院 */
|
/** 登记来源 1门诊/2住院 */
|
||||||
private Integer registrationSource;
|
private Integer registrationSource;
|
||||||
|
|
||||||
/** 状态 0暂存 1已提交 2已审核 3已上报 4失败 5作废 */
|
/** 状<EFBFBD>?0暂存 1已提<EFBFBD>?2已审<EFBFBD>?3已上<EFBFBD>?4失败 5作废 */
|
||||||
private Integer status;
|
private Integer status;
|
||||||
|
|
||||||
/** 失败原因(国家平台返回) */
|
/** 失败原因(国家平台返回) */
|
||||||
@@ -153,10 +152,11 @@ public class InfectiousDiseaseReport extends HisBaseEntity {
|
|||||||
private String xmlContent;
|
private String xmlContent;
|
||||||
|
|
||||||
/** 科室ID */
|
/** 科室ID */
|
||||||
|
// removed
|
||||||
@JsonSerialize(using = ToStringSerializer.class)
|
@JsonSerialize(using = ToStringSerializer.class)
|
||||||
private Long deptId;
|
private Long deptId;
|
||||||
|
|
||||||
/** 医生ID */
|
/** 医生ID */
|
||||||
@JsonSerialize(using = ToStringSerializer.class)
|
// removed
|
||||||
private Long doctorId;
|
private Long doctorId;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -0,0 +1,151 @@
|
|||||||
|
import request from '@/utils/request';
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 查询传染病报卡列表
|
||||||
|
* @param {Object} params - 查询参数
|
||||||
|
* @param {string} params.cardNo - 报卡编号
|
||||||
|
* @param {string} params.patientName - 患者姓名
|
||||||
|
* @param {string} params.status - 审核状态
|
||||||
|
* @param {string} params.registrationSource - 登记来源
|
||||||
|
* @param {string} params.deptId - 科室 ID
|
||||||
|
* @param {string} params.startDate - 开始日期
|
||||||
|
* @param {string} params.endDate - 结束日期
|
||||||
|
* @param {number} params.pageNum - 页码
|
||||||
|
* @param {number} params.pageSize - 每页数量
|
||||||
|
*/
|
||||||
|
export function listInfectiousCards(params) {
|
||||||
|
return request({
|
||||||
|
url: '/report-manage/infectiousDiseaseReport/list-page',
|
||||||
|
method: 'get',
|
||||||
|
params,
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 查询传染病报卡详情
|
||||||
|
* @param {string} cardNo - 报卡编号
|
||||||
|
*/
|
||||||
|
export function getInfectiousCard(cardNo) {
|
||||||
|
return request({
|
||||||
|
url: `/report-manage/infectiousDiseaseReport/detail/${cardNo}`,
|
||||||
|
method: 'get',
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 保存传染病报卡
|
||||||
|
* @param {Object} data - 报卡数据
|
||||||
|
*/
|
||||||
|
export function saveInfectiousDiseaseReport(data) {
|
||||||
|
return request({
|
||||||
|
url: '/report-manage/infectiousDiseaseReport',
|
||||||
|
method: 'post',
|
||||||
|
data,
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 修改传染病报卡
|
||||||
|
* @param {Object} data - 报卡数据
|
||||||
|
*/
|
||||||
|
export function updateInfectiousDiseaseReport(data) {
|
||||||
|
return request({
|
||||||
|
url: '/report-manage/infectiousDiseaseReport',
|
||||||
|
method: 'put',
|
||||||
|
data,
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 删除传染病报卡
|
||||||
|
* @param {string} cardNo - 报卡编号
|
||||||
|
*/
|
||||||
|
export function deleteInfectiousCard(cardNo) {
|
||||||
|
return request({
|
||||||
|
url: `/report-manage/infectiousDiseaseReport/${cardNo}`,
|
||||||
|
method: 'delete',
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 审核传染病报卡(功能暂未实现)
|
||||||
|
* @param {Object} data - 审核数据
|
||||||
|
* @param {string} data.cardNo - 报卡编号
|
||||||
|
* @param {string} data.auditOpinion - 审核意见
|
||||||
|
* @param {string} data.status - 审核状态(2:通过)
|
||||||
|
*/
|
||||||
|
// export function auditInfectiousCard(data) {
|
||||||
|
// return request({
|
||||||
|
// url: '/report-manage/infectiousDiseaseReport/audit',
|
||||||
|
// method: 'post',
|
||||||
|
// data,
|
||||||
|
// });
|
||||||
|
// }
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 退回传染病报卡(功能暂未实现)
|
||||||
|
* @param {Object} data - 退回数据
|
||||||
|
* @param {string} data.cardNo - 报卡编号
|
||||||
|
* @param {string} data.returnReason - 退回原因
|
||||||
|
* @param {string} data.status - 审核状态(5:审核失败)
|
||||||
|
*/
|
||||||
|
// export function returnInfectiousCard(data) {
|
||||||
|
// return request({
|
||||||
|
// url: '/report-manage/infectiousDiseaseReport/return',
|
||||||
|
// method: 'post',
|
||||||
|
// data,
|
||||||
|
// });
|
||||||
|
// }
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 批量审核传染病报卡(功能暂未实现)
|
||||||
|
* @param {Object} data - 批量审核数据
|
||||||
|
* @param {Array<string>} data.cardNos - 报卡编号数组
|
||||||
|
* @param {string} data.auditOpinion - 审核意见
|
||||||
|
* @param {string} data.status - 审核状态(2:通过)
|
||||||
|
*/
|
||||||
|
// export function batchAuditCards(data) {
|
||||||
|
// return request({
|
||||||
|
// url: '/report-manage/infectiousDiseaseReport/batchAudit',
|
||||||
|
// method: 'post',
|
||||||
|
// data,
|
||||||
|
// });
|
||||||
|
// }
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 批量退回传染病报卡(功能暂未实现)
|
||||||
|
* @param {Object} data - 批量退回数据
|
||||||
|
* @param {Array<string>} data.cardNos - 报卡编号数组
|
||||||
|
* @param {string} data.returnReason - 退回原因
|
||||||
|
* @param {string} data.status - 审核状态(5:审核失败)
|
||||||
|
*/
|
||||||
|
// export function batchReturnCards(data) {
|
||||||
|
// return request({
|
||||||
|
// url: '/report-manage/infectiousDiseaseReport/batchReturn',
|
||||||
|
// method: 'post',
|
||||||
|
// data,
|
||||||
|
// });
|
||||||
|
// }
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 获取科室树
|
||||||
|
* @param {string} deptId - 科室 ID(可选)
|
||||||
|
*/
|
||||||
|
export function getDeptTree(deptId) {
|
||||||
|
return request({
|
||||||
|
url: '/report-manage/infectiousDiseaseReport/dept-tree',
|
||||||
|
method: 'get',
|
||||||
|
params: { deptId },
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 查询审核记录
|
||||||
|
* @param {string} cardNo - 报卡编号
|
||||||
|
*/
|
||||||
|
export function getAuditRecords(cardNo) {
|
||||||
|
return request({
|
||||||
|
url: `/report-manage/infectiousDiseaseReport/auditRecords/${cardNo}`,
|
||||||
|
method: 'get',
|
||||||
|
});
|
||||||
|
}
|
||||||
File diff suppressed because it is too large
Load Diff
@@ -1314,7 +1314,7 @@ async function buildSubmitData() {
|
|||||||
reportDate: formData.reportDate || null,
|
reportDate: formData.reportDate || null,
|
||||||
cardNameCode: 1, // 默认中华人民共和国传染病报告卡
|
cardNameCode: 1, // 默认中华人民共和国传染病报告卡
|
||||||
registrationSource: 1, // 默认门诊
|
registrationSource: 1, // 默认门诊
|
||||||
status: 0,
|
status: '',
|
||||||
deptId: props.deptId || null,
|
deptId: props.deptId || null,
|
||||||
doctorId: props.doctorId || null,
|
doctorId: props.doctorId || null,
|
||||||
};
|
};
|
||||||
|
|||||||
Reference in New Issue
Block a user