Merge remote-tracking branch 'origin/master'

This commit is contained in:
牛子源 2025-04-22 10:20:33 +08:00
commit 02bea79589
11 changed files with 133 additions and 10 deletions

View File

@ -0,0 +1,33 @@
package com.syjiaer.clinic.server.common.enums;
public enum RegistrationStatusEnum {
waiting(1,"候诊"),
inProgress( 2,"在诊"),
complete(3,"已诊"),
cancel(0,"取消");
private final Integer type;
private final String desc;
RegistrationStatusEnum(final Integer type, final String desc) {
this.type = type;
this.desc = desc;
}
public Integer getType() {
return type;
}
public String getDesc() {
return desc;
}
public static RegistrationStatusEnum getByType(Integer type) {
for (RegistrationStatusEnum goodsTypeEnum : RegistrationStatusEnum.values()) {
if (goodsTypeEnum.getType().equals(type)) {
return goodsTypeEnum;
}
}
return null;
}
}

View File

@ -0,0 +1,4 @@
package com.syjiaer.clinic.server.controller.charge;
public class ChargeController {
}

View File

@ -116,4 +116,17 @@ public class RegistrationController extends BaseController {
Integer regisId= parmsUtil.getInteger("id","挂号单不能为空");
return success(patientRegistrationService.getDetailById(regisId));
}
/**
* 更改挂号单状态 在诊断 诊断
* @return
*/
@RequestMapping("/changeStatus")
public Result<Object> changeStatus(){
Integer regisId= parmsUtil.getInteger("id","挂号单不能为空");
Integer status= parmsUtil.getInteger("status","目标状态");
patientRegistrationService.changeStatus(regisId,status);
return success();
}
}

View File

@ -5,26 +5,26 @@ import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import java.io.Serializable;
import java.time.LocalDateTime;
import lombok.Getter;
import lombok.Setter;
import lombok.ToString;
import lombok.experimental.Accessors;
import java.io.Serializable;
/**
* <p>
*
* 病例
* </p>
*
* @author NiuZiYuan
* @since 2025-04-17
* @since 2025-04-22
*/
@Getter
@Setter
@ToString
@Accessors(chain = true)
@TableName("medical_record")
@ApiModel(value = "MedicalRecord对象", description = "")
@ApiModel(value = "MedicalRecord对象", description = "病例")
public class MedicalRecord implements Serializable {
private static final long serialVersionUID = 1L;
@ -65,4 +65,10 @@ public class MedicalRecord implements Serializable {
@ApiModelProperty("诊断概况")
private String diagnosisSummary;
@ApiModelProperty("创建日期")
private LocalDateTime createDatetime;
@ApiModelProperty("挂单id")
private Integer registrationId;
}

View File

@ -1,10 +1,13 @@
package com.syjiaer.clinic.server.entity.medical.dto;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.syjiaer.clinic.server.entity.item.Item;
import io.swagger.annotations.ApiModelProperty;
import lombok.Getter;
import lombok.Setter;
import java.time.LocalDateTime;
import java.util.List;
@Getter
@ -46,6 +49,13 @@ public class MedicalRecordSaveDto {
@ApiModelProperty("诊断概况")
private String diagnosisSummary;
@ApiModelProperty("创建日期")
private LocalDateTime createDatetime;
@ApiModelProperty("挂单id")
private Integer registrationId;
@ApiModelProperty("服务项目列表")
private List<Item> itemList;
@ApiModelProperty("药品耗材列表")

View File

@ -1,5 +1,7 @@
package com.syjiaer.clinic.server.entity.medical.dto;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.syjiaer.clinic.server.entity.medical.MedicalRecordDetail;
import io.swagger.annotations.ApiModelProperty;
import lombok.Getter;
@ -11,6 +13,7 @@ import java.util.List;
@Setter
public class MedicalRecordVo {
@ApiModelProperty("自增id")
@TableId(value = "id", type = IdType.AUTO)
private Integer id;
@ApiModelProperty("患者id")
@ -48,6 +51,9 @@ public class MedicalRecordVo {
@ApiModelProperty("创建日期")
private LocalDateTime createDatetime;
@ApiModelProperty("挂单id")
private Integer registrationId;
@ApiModelProperty("诊疗服务")
private List<MedicalRecordDetail> serviceDetail;
@ApiModelProperty("药品耗材")

View File

@ -2,6 +2,7 @@ package com.syjiaer.clinic.server.mapper.patient;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.syjiaer.clinic.server.entity.patient.PatientRegistration;
import org.apache.ibatis.annotations.Select;
/**

View File

@ -2,6 +2,8 @@ package com.syjiaer.clinic.server.service.medical;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.syjiaer.clinic.server.common.enums.MedicalRecordDetailTypeEnum;
import com.syjiaer.clinic.server.common.enums.RegistrationStatusEnum;
import com.syjiaer.clinic.server.common.exception.MessageException;
import com.syjiaer.clinic.server.entity.goods.Goods;
import com.syjiaer.clinic.server.entity.item.Item;
import com.syjiaer.clinic.server.entity.manager.ManagerUser;
@ -10,10 +12,12 @@ import com.syjiaer.clinic.server.entity.medical.MedicalRecordDetail;
import com.syjiaer.clinic.server.entity.medical.dto.GoodsRetailDto;
import com.syjiaer.clinic.server.entity.medical.dto.MedicalRecordSaveDto;
import com.syjiaer.clinic.server.entity.medical.dto.MedicalRecordVo;
import com.syjiaer.clinic.server.entity.patient.PatientRegistration;
import com.syjiaer.clinic.server.mapper.goods.GoodsMapper;
import com.syjiaer.clinic.server.mapper.item.ItemMapper;
import com.syjiaer.clinic.server.mapper.medical.MedicalRecordDetailMapper;
import com.syjiaer.clinic.server.mapper.medical.MedicalRecordMapper;
import com.syjiaer.clinic.server.mapper.patient.PatientRegistrationMapper;
import com.syjiaer.clinic.server.service.BaseService;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
@ -30,6 +34,8 @@ public class MedicalRecordService extends BaseService {
@Autowired
private MedicalRecordDetailMapper medicalRecordDetailMapper;
@Autowired
private PatientRegistrationMapper patientRegistrationMapper;
@Autowired
private ItemMapper itemMapper;
@Autowired
private GoodsMapper goodsMapper;
@ -40,6 +46,18 @@ public class MedicalRecordService extends BaseService {
*/
@Transactional(rollbackFor = Exception.class)
public void save(MedicalRecordSaveDto saveDto) {
//改变挂号单状态
PatientRegistration dbRegis = patientRegistrationMapper.selectById(saveDto.getRegistrationId());
if (dbRegis == null){
throw new MessageException("挂号单不存在");
}
PatientRegistration updateRegis = new PatientRegistration();
updateRegis.setId(dbRegis.getId());
updateRegis.setStatus(RegistrationStatusEnum.complete.getType());
patientRegistrationMapper.updateById(updateRegis);
ManagerUser managerUser = getManagerUser();
MedicalRecord medicalRecord = new MedicalRecord();
BeanUtils.copyProperties(saveDto, medicalRecord);
@ -77,6 +95,10 @@ public class MedicalRecordService extends BaseService {
}
medicalRecordDetailMapper.insert(detailList);
}
/**

View File

@ -96,7 +96,7 @@ public class OrganizationMemberService extends BaseService {
*/
public List<OrganizationMember> doctorList() {
QueryWrapper<OrganizationMember> queryWrapper = new QueryWrapper<>();
queryWrapper.eq("role", 0)
queryWrapper.eq("role", 1)
.eq("del_flag", false);
return organizationMemberMapper.selectList(queryWrapper);
}

View File

@ -2,6 +2,7 @@ package com.syjiaer.clinic.server.service.patient;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.syjiaer.clinic.server.common.constants.Constants;
import com.syjiaer.clinic.server.common.enums.RegistrationStatusEnum;
import com.syjiaer.clinic.server.common.exception.MessageException;
import com.syjiaer.clinic.server.common.util.DateUtil;
import com.syjiaer.clinic.server.common.vo.Page;
@ -210,4 +211,34 @@ public class PatientRegistrationService extends BaseService {
}
return vo;
}
/**
*改变挂号单状态
* @param regisId
* @param status
* @return
*/
public void changeStatus(Integer regisId, Integer status) {
RegistrationStatusEnum statusEnum = RegistrationStatusEnum.getByType(status);
if (statusEnum == null || statusEnum.equals(RegistrationStatusEnum.complete)){
throw new MessageException("状态不存在");
}
PatientRegistration patientRegistration = patientRegistrationMapper.selectById(regisId);
if (patientRegistration == null){
throw new MessageException("挂号单不存在");
}
if (statusEnum.equals(RegistrationStatusEnum.inProgress) && !patientRegistration.getStatus().equals(RegistrationStatusEnum.waiting.getType())){
throw new MessageException("初始状态不对");
}
if (statusEnum.equals(RegistrationStatusEnum.waiting) && !patientRegistration.getStatus().equals(RegistrationStatusEnum.inProgress.getType())){
throw new MessageException("初始状态不对");
}
if (statusEnum.equals(RegistrationStatusEnum.cancel) && !patientRegistration.getStatus().equals(RegistrationStatusEnum.inProgress.getType())){
throw new MessageException("初始状态不对");
}
PatientRegistration updateRegistration = new PatientRegistration();
updateRegistration.setId(regisId);
updateRegistration.setStatus(status);
patientRegistrationMapper.updateById(updateRegistration);
}
}

View File

@ -2,10 +2,7 @@ package com.syjiaer.clinic.server.service.social;
import com.alibaba.fastjson2.JSONObject;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.syjiaer.clinic.server.common.api.input.IM3501;
import com.syjiaer.clinic.server.common.api.input.IM3502;
import com.syjiaer.clinic.server.common.api.input.IM3503;
import com.syjiaer.clinic.server.common.api.input.IM3504;
import com.syjiaer.clinic.server.common.api.input.*;
import com.syjiaer.clinic.server.common.api.request.SocialRequest;
import com.syjiaer.clinic.server.common.constants.Constants;
import com.syjiaer.clinic.server.common.enums.InventorySocialTypeEnum;