JAVA全系列 教程
3762个小节阅读:7095.2k
C语言快速入门
JAVA全系列 教程
面向对象的程序设计语言
Python全系列 教程
Python3.x版本,未来主流的版本
人工智能 教程
顺势而为,AI创新未来
大厂算法 教程
算法,程序员自我提升必经之路
C++ 教程
一门通用计算机编程语言
微服务 教程
目前业界流行的框架组合
web前端全系列 教程
通向WEB技术世界的钥匙
大数据全系列 教程
站在云端操控万千数据
AIGC全能工具班
A A
White Night
参数名称 | 是否必须 |
---|---|
itemId | 是 |
xxxxxxxxxx
package com.bjsxt.dto;
import ...
value="com-bjsxt-dto-CheckResultDto") (
callSuper=true) (
public class CheckResultDto extends BaseDto {
/**
* 检查项目IDS
*/
value="检查项目IDS") (
private List<Integer> checkItemIds;
/**
* 患者姓名
*/
value = "patient_name") (
value="患者姓名") (
private String patientName;
/**
* 是否录入检查结果0 检测中 1 检测完成 字典表 his_check_result_status
*/
value="是否录入检查结果0 检测中 1 检测完成 字典表 his_check_result_status") (
private String resultStatus;
/**
* 关联挂号单号
*/
value="关联挂号单号") (
private String regId;
}
xxxxxxxxxx
package com.bjsxt.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.bjsxt.domain.CheckResult;
/**
*
*/
public interface CheckResultMapper extends BaseMapper<CheckResult> {
}
创建CheckResultMapper.xml
xxxxxxxxxx
<mapper namespace="com.bjsxt.mapper.CheckResultMapper">
<resultMap id="BaseResultMap" type="com.bjsxt.domain.CheckResult">
<!--@mbg.generated-->
<!--@Table his_check_result-->
<id column="item_id" jdbcType="VARCHAR" property="itemId" />
<result column="check_item_id" jdbcType="INTEGER" property="checkItemId" />
<result column="check_item_name" jdbcType="VARCHAR" property="checkItemName" />
<result column="price" jdbcType="DECIMAL" property="price" />
<result column="result_msg" jdbcType="VARCHAR" property="resultMsg" />
<result column="result_img" jdbcType="VARCHAR" property="resultImg" />
<result column="patient_id" jdbcType="VARCHAR" property="patientId" />
<result column="patient_name" jdbcType="VARCHAR" property="patientName" />
<result column="result_status" jdbcType="CHAR" property="resultStatus" />
<result column="reg_id" jdbcType="VARCHAR" property="regId" />
<result column="create_time" jdbcType="TIMESTAMP" property="createTime" />
<result column="update_time" jdbcType="TIMESTAMP" property="updateTime" />
<result column="create_by" jdbcType="VARCHAR" property="createBy" />
<result column="update_by" jdbcType="VARCHAR" property="updateBy" />
</resultMap>
<sql id="Base_Column_List">
<!--@mbg.generated-->
item_id, check_item_id, check_item_name, price, result_msg, result_img, patient_id,
patient_name, result_status, reg_id, create_time, update_time, create_by, update_by
</sql>
</mapper>
在CareService增加查询处方详情、查询病历详情的方法
xxxxxxxxxx
/**
* 根据处方ID查询处方详情信息
* @param coId
* @param status 支付状态
* @return
*/
List<CareOrderItem> queryCareOrderItemsByCoId(String coId,String status);
/**
* 根据病例ID查询病历信息
* @param chId
* @return
*/
CareHistory queryCareHistoryByChId(String chId);
xxxxxxxxxx
public List<CareOrderItem> queryCareOrderItemsByCoId(String coId,String status) {
QueryWrapper<CareOrderItem> qw=new QueryWrapper<>();
qw.eq(CareOrderItem.COL_CO_ID,coId);
qw.eq(StringUtils.isNotBlank(status),CareOrderItem.COL_STATUS,status);
return this.careOrderItemMapper.selectList(qw);
}
public CareHistory queryCareHistoryByChId(String chId) {
return this.careHistoryMapper.selectById(chId);
}
xxxxxxxxxx
package com.bjsxt.controller.doctor;
import ...
/**
* @Description: 检查管理控制器
*/
"doctor/check") (
public class CheckResultController {
private CareService careService;
private CheckResultService checkResultService;
/**
* 根据挂号ID查询未支付的处方信息及详情
*/
"queryNeedCheckItem") (
blockHandlerClass = BaseController.class, (
blockHandler = "handleException",fallbackClass = BaseController.class,fallback = "handleError")
public AjaxResult queryNeedCheckItem( CheckResultDto checkResultDto){
//声明返回的对象
List<CareOrderItem> resCareOrderItems=new ArrayList<>();
if(StringUtils.isNotBlank(checkResultDto.getRegId())){
//查询时带入挂号单
//根据挂号单ID查询病例信息
CareHistory careHistory=this.careService.queryCareHistoryByRegId(checkResultDto.getRegId());
if(null==careHistory){
return AjaxResult.success(resCareOrderItems);
}
//根据病例ID查询所有的处方信息
List<CareOrder> careOrders=this.careService.queryCareOrdersByChId(careHistory.getChId());
for (CareOrder careOrder : careOrders) {
if(careOrder.getCoType().equals(Constants.CO_TYPE_CHECK)){//只取检查处方
List<CareOrderItem> careOrderItems = this.careService.queryCareOrderItemsByCoId(careOrder.getCoId(), Constants.ORDER_DETAILS_STATUS_1);
//过滤查询条件
for (CareOrderItem careOrderItem : careOrderItems) {
if(checkResultDto.getCheckItemIds().contains(Integer.valueOf(careOrderItem.getItemRefId()))){
resCareOrderItems.add(careOrderItem);
}
}
}
}
return AjaxResult.success(resCareOrderItems);
}else{
//查询所有已支付检查的项目
List<CareOrderItem> careOrderItems= this.careService.queryCareOrderItemsByStatus(Constants.CO_TYPE_CHECK,Constants.ORDER_DETAILS_STATUS_1);
//过滤查询条件
for (CareOrderItem careOrderItem : careOrderItems) {
if(checkResultDto.getCheckItemIds().contains(Integer.valueOf(careOrderItem.getItemRefId()))){
resCareOrderItems.add(careOrderItem);
}
}
return AjaxResult.success(resCareOrderItems);
}
}
/**
* 根据检查单号查询要检查的项目详情
*/
"queryCheckItemByItemId/{itemId}") (
blockHandlerClass = BaseController.class, (
blockHandler = "handleException",fallbackClass = BaseController.class,fallback = "handleError")
public AjaxResult queryCheckItemByItemId( String itemId){
//根据详情ID查询详情对象
CareOrderItem careOrderItem = this.careService.queryCareOrderItemByItemId(itemId);
if(careOrderItem==null){
return AjaxResult.fail("【"+itemId+"】的检查单号的数据不存在,请核对后再查询");
}
if(!careOrderItem.getStatus().equals(Constants.ORDER_DETAILS_STATUS_1)){
return AjaxResult.fail("【"+itemId+"】的检查单号没有支付,请支付后再查询");
}
if(!careOrderItem.getItemType().equals(Constants.CO_TYPE_CHECK)){
return AjaxResult.fail("【"+itemId+"】的单号不是检查项目,请核对再查询");
}
CareOrder careOrder=this.careService.queryCareOrdersByCoId(careOrderItem.getCoId());
CareHistory careHistory=this.careService.queryCareHistoryByChId(careOrder.getChId());
Map<String,Object> res=new HashMap<>();
res.put("item",careOrderItem);
res.put("careOrder",careOrder);
res.put("careHistory",careHistory);
return AjaxResult.success(res);
}
/***
* 开始检查
*/
"startCheck/{itemId}") (
blockHandlerClass = BaseController.class, (
blockHandler = "handleException",fallbackClass = BaseController.class,fallback = "handleError")
public AjaxResult startCheck( String itemId){
//根据详情ID查询详情对象
CareOrderItem careOrderItem = this.careService.queryCareOrderItemByItemId(itemId);
if(careOrderItem==null){
return AjaxResult.fail("【"+itemId+"】的检查单号的数据不存在,请核对后再查询");
}
if(!careOrderItem.getStatus().equals(Constants.ORDER_DETAILS_STATUS_1)){
return AjaxResult.fail("【"+itemId+"】的检查单号没有支付,请支付后再查询");
}
if(!careOrderItem.getItemType().equals(Constants.CO_TYPE_CHECK)){
return AjaxResult.fail("【"+itemId+"】的单号不是检查项目,请核对再查询");
}
CareOrder careOrder=this.careService.queryCareOrdersByCoId(careOrderItem.getCoId());
CareHistory careHistory=this.careService.queryCareHistoryByChId(careOrder.getChId());
//构建要保存到数据库的对象
CheckResult checkResult=new CheckResult();
checkResult.setItemId(itemId);
checkResult.setCheckItemId(Integer.valueOf(careOrderItem.getItemRefId()));
checkResult.setCheckItemName(careOrderItem.getItemName());
checkResult.setPatientId(careOrder.getPatientId());
checkResult.setPatientName(careOrder.getPatientName());
checkResult.setPrice(careOrderItem.getPrice());
checkResult.setRegId(careHistory.getRegId());
checkResult.setResultStatus(Constants.RESULT_STATUS_0);//检查中
checkResult.setCreateTime(DateUtil.date());
checkResult.setCreateBy(ShiroSecurityUtils.getCurrentUserName());
return AjaxResult.toAjax(this.checkResultService.saveCheckResult(checkResult));
}
}
修改CheckResultService及实现类
xxxxxxxxxx
/**
* 根据处方ID查询一个处方信息
* @param coId
* @return
*/
CareOrder queryCareOrdersByCoId(String coId);
/**
* 保存检查的检查项目
* @param checkResult
* @return
*/
int saveCheckResult(CheckResult checkResult);
xxxxxxxxxx
public CareOrder queryCareOrdersByCoId(String coId) {
return this.careOrderMapper.selectById(coId);
}
public int saveCheckResult(CheckResult checkResult) {
//直接保存
int i= checkResultMapper.insert(checkResult);
//更新收费详情状态
OrderChargeItem orderChargeItem=new OrderChargeItem();
orderChargeItem.setItemId(checkResult.getItemId());
orderChargeItem.setStatus(Constants.ORDER_DETAILS_STATUS_3);//已完成
orderChargeItemMapper.updateById(orderChargeItem);
//更新处方详情状态
CareOrderItem careOrderItem=new CareOrderItem();
careOrderItem.setItemId(checkResult.getItemId());
careOrderItem.setStatus(Constants.ORDER_DETAILS_STATUS_3);
careOrderItemMapper.updateById(careOrderItem);
return i;
}
修改CheckResultController,增加检查处方详情的方法
xxxxxxxxxx
/**
* 根据检查单号查询要检查的项目详情
*/
"queryCheckItemByItemId/{itemId}") (
public AjaxResult queryCheckItemByItemId( String itemId){
//根据详情ID查询详情对象
CareOrderItem careOrderItem = this.careService.queryCareOrderItemByItemId(itemId);
if(careOrderItem==null){
return AjaxResult.fail("【"+itemId+"】的检查单号的数据不存在,请核对后再查询");
}
if(!careOrderItem.getStatus().equals(Constants.ORDER_DETAILS_STATUS_1)){
return AjaxResult.fail("【"+itemId+"】的检查单号没有支付,请支付后再查询");
}
if(!careOrderItem.getItemType().equals(Constants.CO_TYPE_CHECK)){
return AjaxResult.fail("【"+itemId+"】的单号不是检查项目,请核对再查询");
}
CareOrder careOrder=this.careService.queryCareOrdersByCoId(careOrderItem.getCoId());
CareHistory careHistory=this.careService.queryCareHistoryByChId(careOrder.getChId());
Map<String,Object> res=new HashMap<>();
res.put("item",careOrderItem);
res.put("careOrder",careOrder);
res.put("careHistory",careHistory);
return AjaxResult.success(res);
}
修改CheckResultController,增加开始检查方法
xxxxxxxxxx
/***
* 开始检查
*/
"startCheck/{itemId}") (
public AjaxResult startCheck( String itemId){
//根据详情ID查询详情对象
CareOrderItem careOrderItem = this.careService.queryCareOrderItemByItemId(itemId);
if(careOrderItem==null){
return AjaxResult.fail("【"+itemId+"】的检查单号的数据不存在,请核对后再查询");
}
if(!careOrderItem.getStatus().equals(Constants.ORDER_DETAILS_STATUS_1)){
return AjaxResult.fail("【"+itemId+"】的检查单号没有支付,请支付后再查询");
}
if(!careOrderItem.getItemType().equals(Constants.CO_TYPE_CHECK)){
return AjaxResult.fail("【"+itemId+"】的单号不是检查项目,请核对再查询");
}
CareOrder careOrder=this.careService.queryCareOrdersByCoId(careOrderItem.getCoId());
CareHistory careHistory=this.careService.queryCareHistoryByChId(careOrder.getChId());
//构建要保存到数据库的对象
CheckResult checkResult=new CheckResult();
checkResult.setItemId(itemId);
checkResult.setCheckItemId(Integer.valueOf(careOrderItem.getItemRefId()));
checkResult.setCheckItemName(careOrderItem.getItemName());
checkResult.setPatientId(careOrder.getPatientId());
checkResult.setPatientName(careOrder.getPatientName());
checkResult.setPrice(careOrderItem.getPrice());
checkResult.setRegId(careHistory.getRegId());
checkResult.setResultStatus(Constants.RESULT_STATUS_0);//检查中
checkResult.setCreateTime(DateUtil.date());
checkResult.setCreateBy(ShiroSecurityUtils.getCurrentUserName());
return AjaxResult.toAjax(this.checkResultService.saveCheckResult(checkResult));
}
开始检查 /doctor/check/startCheck/{itemId}