JAVA全系列 教程
3762个小节阅读:7092.7k
目录
C语言快速入门
JAVA全系列 教程
面向对象的程序设计语言
Python全系列 教程
Python3.x版本,未来主流的版本
人工智能 教程
顺势而为,AI创新未来
大厂算法 教程
算法,程序员自我提升必经之路
C++ 教程
一门通用计算机编程语言
微服务 教程
目前业界流行的框架组合
web前端全系列 教程
通向WEB技术世界的钥匙
大数据全系列 教程
站在云端操控万千数据
AIGC全能工具班
A A
White Night
序号 | 接口名称 | 接口地址 | 请求类型 |
---|---|---|---|
1 | 查询已支付的处方单 | /doctor/handleMedicine/getChargedCareHistoryOnlyMedicinesByRegId/{regId} | get |
2 | 处方发药 | /doctor/handleMedicine/doMedicine | post |
参数名称 | 是否必须 |
---|---|
regId | 是 |
创建CareOrderItem、OrderChargeItem
创建CareOrderItemMapper、CareOrderItemMapper.xml、OrderChargeItemMapper、OrderChargeItemMapper.xml
在CareService中增加以下方法
xxxxxxxxxx
/**
* 根据挂号单位ID查询对应的病历信息
* @param regId
* @return
*/
CareHistory queryCareHistoryByRegId(String regId);
/**
* 根据病历信息查询处方信息
* @param chId
* @return
*/
List<CareOrder> queryCareOrdersByChId(String chId);
/**
* 根据处方ID查询处方详情信息
* @param coId
* @param status 支付状态
* @return
*/
List<CareOrderItem> queryCareOrderItemsByCoId(String coId,String status);
在CareServiceImpl中增加方法实现
xxxxxxxxxx
@Override
public CareHistory queryCareHistoryByRegId(String regId) {
QueryWrapper<CareHistory> qw=new QueryWrapper<>();
qw.eq(CareHistory.COL_REG_ID,regId);
return this.careHistoryMapper.selectOne(qw);
}
@Override
public List<CareOrder> queryCareOrdersByChId(String chId) {
QueryWrapper<CareOrder> qw=new QueryWrapper<>();
qw.eq(CareOrder.COL_CH_ID,chId);
return this.careOrderMapper.selectList(qw);
}
@Override
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);
}
xxxxxxxxxx
package com.bjsxt.controller.doctor;
import ...
@RestController
@RequestMapping("doctor/handleMedicine")
public class HandleMedicineController {
@Reference
private CareService careService;
/**
* 根据挂号ID查询已支付的处方信息及详情
*/
@GetMapping("getChargedCareHistoryOnlyMedicinesByRegId/{regId}")
public AjaxResult getChargedCareHistoryOnlyMedicinesByRegId(@PathVariable String regId){
//声明返回的Map对象
Map<String,Object> res=new HashMap<>();
//根据挂号单ID查询病例信息
CareHistory careHistory=this.careService.queryCareHistoryByRegId(regId);
if(null==careHistory){
return AjaxResult.fail("【"+regId+"】的挂号单没有对应的病例信息,请核对后再查询");
}
//放入默认值
res.put("careHistory",careHistory);
res.put("careOrders", Collections.EMPTY_LIST);
//声明一个可以存放careOrders的集合
List<Map<String,Object>> mapList=new ArrayList<>();
//根据病例编号查询处方
List<CareOrder> careOrders=this.careService.queryCareOrdersByChId(careHistory.getChId());
if(careOrders.isEmpty()){
return AjaxResult.fail("【"+regId+"】的挂号单没相关的处方信息,请核对后再查询");
}
for (CareOrder careOrder : careOrders) {
//只需要药用处方法
if(careOrder.getCoType().equals(Constants.CO_TYPE_MEDICINES)){
Map<String,Object> beanToMap= BeanUtil.beanToMap(careOrder);
beanToMap.put("careOrderItems", Collections.EMPTY_LIST);
BigDecimal allAmount=new BigDecimal("0");
//根据处方ID查询未支持的处方详情列表
List<CareOrderItem> careOrderItems=this.careService.queryCareOrderItemsByCoId(careOrder.getCoId(), Constants.ORDER_DETAILS_STATUS_1);
//如果当前处方未支付的详情为空 结束当前循环
if(careOrderItems.isEmpty()){
continue;
}else{
//重新计算总价
for (CareOrderItem careOrderItem : careOrderItems) {
allAmount=allAmount.add(careOrderItem.getAmount());
}
beanToMap.put("careOrderItems",careOrderItems);
beanToMap.put("allAmount",allAmount);
mapList.add(beanToMap);
}
}
}
if(mapList.isEmpty()){
return AjaxResult.fail("【"+regId+"】的挂号单没已支付的药品处方信息,请核对后再查询");
}else{
res.put("careOrders",mapList);
return AjaxResult.success(res);
}
}
}
查询已支付的处方单 /doctor/handleMedicine/getChargedCareHistoryOnlyMedicinesByRegId/{regId}