JAVA全系列 教程
3762个小节阅读:7094.7k
目录
C语言快速入门
JAVA全系列 教程
面向对象的程序设计语言
Python全系列 教程
Python3.x版本,未来主流的版本
人工智能 教程
顺势而为,AI创新未来
大厂算法 教程
算法,程序员自我提升必经之路
C++ 教程
一门通用计算机编程语言
微服务 教程
目前业界流行的框架组合
web前端全系列 教程
通向WEB技术世界的钥匙
大数据全系列 教程
站在云端操控万千数据
AIGC全能工具班
A A
White Night
序号 | 接口名称 | 接口地址 | 请求类型 |
---|---|---|---|
1 | 保存处方及详情信息 | /doctor/care/saveCareOrderItem | post |
2 | 根据处方详情ID删除处方详情 | /doctor/care/deleteCareOrderItemById/{itemId} | delete |
3 | 完成就诊 | /doctor/care/visitComplete/{regId} | post |
xxxxxxxxxx
{
"careOrder": {
"allAmount": 235,
"patientId": "HZ1263653571396763648",
"patientName": "张三",
"coType": "1",
"chId": "CH1463686948676829184"
},
"careOrderItems": [{
"itemRefId": 2,
"itemName": "核磁共振",
"itemType": "1",
"num": 1,
"price": 880,
"amount": 1,
"remark": "abc",
"index": 0
}]
}
返回JSON数据
名称 | 类型 | 其他信息 |
---|---|---|
msg | String | |
code | int |
创建CareOrderDto
xxxxxxxxxx
package com.bjsxt.dto;
import ...
/**
*
*/
@ApiModel(value="com-bjsxt-dto-CareOrderDto")
@Data
@EqualsAndHashCode(callSuper=true)
@AllArgsConstructor
@NoArgsConstructor
public class CareOrderDto extends BaseDto {
/**
* 处方ID
*/
@ApiModelProperty(value="处方ID")
private String coId;
/**
* 处方类型0药用处方1检查处方
*/
@NotBlank(message = "处方类型不能为空")
@ApiModelProperty(value="处方类型0药用处方1检查处方")
private String coType;
/**
* 医生id
*/
@ApiModelProperty(value="医生id")
private Long userId;
/**
* 患者id
*/
@ApiModelProperty(value="患者id")
private String patientId;
/**
* 患者姓名
*/
@ApiModelProperty(value="患者姓名")
private String patientName;
/**
* 关联病历id
*/
@NotBlank(message = "病历ID不能为空")
@ApiModelProperty(value="关联病历id")
private String chId;
/**
* 处方全额
*/
@NotNull(message = "处方全额不能为空")
@ApiModelProperty(value="处方全额")
private BigDecimal allAmount;
}
创建CareOrderItemDto
xxxxxxxxxx
package com.bjsxt.dto;
import ...
/**
*
*/
@ApiModel(value="com-bjsxt-dto-CareOrderItemDto")
@Data
@AllArgsConstructor
@NoArgsConstructor
public class CareOrderItemDto implements Serializable {
/**
* 开诊明细ID
*/
@ApiModelProperty(value="开诊明细ID")
private String itemId;
/**
* 所属处方id
*/
@ApiModelProperty(value="所属处方id")
private String coId;
/**
* 药品或者检查项目id
*/
@NotBlank(message = "药品或检查项目ID不能为空")
@ApiModelProperty(value="药品或者检查项目id")
private String itemRefId;
/**
* 药品或检查项目名称
*/
@NotBlank(message = "药品或检查项目名称不能为空")
@ApiModelProperty(value="药品或检查项目名称")
private String itemName;
/**
* 项目类型0药品 还是1检查项
*/
@NotBlank(message = "项目类型不能为空")
@ApiModelProperty(value="项目类型0药品 还是1检查项")
private String itemType;
/**
* 数量
*/
@NotNull(message = "数量不能为空")
@ApiModelProperty(value="数量")
private BigDecimal num;
/**
* 单价
*/
@NotNull(message = "单价不能为空")
@ApiModelProperty(value="单价")
private BigDecimal price;
/**
* 金额
*/
@NotNull(message = "金额不能为空")
@ApiModelProperty(value="金额")
private BigDecimal amount;
/**
* 备注
*/
@ApiModelProperty(value="备注")
private String remark;
}
创建CareOrderFormDto
xxxxxxxxxx
package com.bjsxt.dto;
import ...
/**
*
*/
@ApiModel(value="com-bjsxt-dto-CareOrderFormDto")
@Data
@AllArgsConstructor
@NoArgsConstructor
public class CareOrderFormDto implements Serializable {
//处方
private CareOrderDto careOrder;
//处方详情
@NotEmpty(message = "处方详情不能为空")
private List<CareOrderItemDto> careOrderItems;
}
修改CareService,增加相关方法
xxxxxxxxxx
/**
* 保存处方及详情信息
* @param careOrderFormDto
* @return
*/
int saveCareOrderItem(CareOrderFormDto careOrderFormDto);
修改CareServiceImpl
xxxxxxxxxx
@Override
public int saveCareOrderItem(CareOrderFormDto careOrderFormDto) {
CareOrderDto careOrderDto = careOrderFormDto.getCareOrder();
CareOrder careOrder=new CareOrder();
BeanUtil.copyProperties(careOrderDto,careOrder);
careOrder.setCreateBy(careOrderDto.getSimpleUser().getUserName());
careOrder.setCreateTime(DateUtil.date());
int i=this.careOrderMapper.insert(careOrder);//保存处方主表
List<CareOrderItemDto> careOrderItems = careOrderFormDto.getCareOrderItems();
//保存详情数据
for (CareOrderItemDto careOrderItemDto : careOrderItems) {
CareOrderItem careOrderItem=new CareOrderItem();
BeanUtil.copyProperties(careOrderItemDto,careOrderItem);
careOrderItem.setCoId(careOrder.getCoId());
careOrderItem.setCreateTime(DateUtil.date());
careOrderItem.setStatus(Constants.ORDER_DETAILS_STATUS_0);//未支付
careOrderItem.setItemId(IdGeneratorSnowflake.generatorIdWithProfix(Constants.ID_PROFIX_ITEM));
this.careOrderItemMapper.insert(careOrderItem);
}
return i;
}
修改CareController
xxxxxxxxxx
/**
* 保存处方及详情信息
*/
@PostMapping("saveCareOrderItem")
public AjaxResult saveCareOrderItem(@RequestBody @Validated CareOrderFormDto careOrderFormDto){
//根据病例ID查询病历信息
CareHistory careHistory=this.careService.queryCareHistoryByChId(careOrderFormDto.getCareOrder().getChId());
if(null==careHistory){
return AjaxResult.fail("病历ID不存在,请核对后再提交");
}
careOrderFormDto.getCareOrder().setCoId(IdGeneratorSnowflake.generatorIdWithProfix(Constants.ID_PROFIX_CO));
careOrderFormDto.getCareOrder().setPatientId(careHistory.getPatientId());
careOrderFormDto.getCareOrder().setPatientName(careHistory.getPatientName());
careOrderFormDto.getCareOrder().setUserId(ShiroSecurityUtils.getCurrentUser().getUserId());
careOrderFormDto.getCareOrder().setSimpleUser(ShiroSecurityUtils.getCurrentSimpleUser());
return AjaxResult.toAjax(this.careService.saveCareOrderItem(careOrderFormDto));
}
保存处方及详情信息/doctor/care/saveCareOrderItem