This commit is contained in:
LiJianZhao 2025-04-22 09:49:13 +08:00
parent 3889e5bcbc
commit a809dc864d
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","挂号单不能为空"); Integer regisId= parmsUtil.getInteger("id","挂号单不能为空");
return success(patientRegistrationService.getDetailById(regisId)); 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 com.baomidou.mybatisplus.annotation.TableName;
import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty; import io.swagger.annotations.ApiModelProperty;
import java.io.Serializable;
import java.time.LocalDateTime;
import lombok.Getter; import lombok.Getter;
import lombok.Setter; import lombok.Setter;
import lombok.ToString; import lombok.ToString;
import lombok.experimental.Accessors; import lombok.experimental.Accessors;
import java.io.Serializable;
/** /**
* <p> * <p>
* * 病例
* </p> * </p>
* *
* @author NiuZiYuan * @author NiuZiYuan
* @since 2025-04-17 * @since 2025-04-22
*/ */
@Getter @Getter
@Setter @Setter
@ToString @ToString
@Accessors(chain = true) @Accessors(chain = true)
@TableName("medical_record") @TableName("medical_record")
@ApiModel(value = "MedicalRecord对象", description = "") @ApiModel(value = "MedicalRecord对象", description = "病例")
public class MedicalRecord implements Serializable { public class MedicalRecord implements Serializable {
private static final long serialVersionUID = 1L; private static final long serialVersionUID = 1L;
@ -65,4 +65,10 @@ public class MedicalRecord implements Serializable {
@ApiModelProperty("诊断概况") @ApiModelProperty("诊断概况")
private String diagnosisSummary; 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; 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 com.syjiaer.clinic.server.entity.item.Item;
import io.swagger.annotations.ApiModelProperty; import io.swagger.annotations.ApiModelProperty;
import lombok.Getter; import lombok.Getter;
import lombok.Setter; import lombok.Setter;
import java.time.LocalDateTime;
import java.util.List; import java.util.List;
@Getter @Getter
@ -46,6 +49,13 @@ public class MedicalRecordSaveDto {
@ApiModelProperty("诊断概况") @ApiModelProperty("诊断概况")
private String diagnosisSummary; private String diagnosisSummary;
@ApiModelProperty("创建日期")
private LocalDateTime createDatetime;
@ApiModelProperty("挂单id")
private Integer registrationId;
@ApiModelProperty("服务项目列表") @ApiModelProperty("服务项目列表")
private List<Item> itemList; private List<Item> itemList;
@ApiModelProperty("药品耗材列表") @ApiModelProperty("药品耗材列表")

View File

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

View File

@ -2,6 +2,7 @@ package com.syjiaer.clinic.server.mapper.patient;
import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.syjiaer.clinic.server.entity.patient.PatientRegistration; 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.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.syjiaer.clinic.server.common.enums.MedicalRecordDetailTypeEnum; 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.goods.Goods;
import com.syjiaer.clinic.server.entity.item.Item; import com.syjiaer.clinic.server.entity.item.Item;
import com.syjiaer.clinic.server.entity.manager.ManagerUser; 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.GoodsRetailDto;
import com.syjiaer.clinic.server.entity.medical.dto.MedicalRecordSaveDto; import com.syjiaer.clinic.server.entity.medical.dto.MedicalRecordSaveDto;
import com.syjiaer.clinic.server.entity.medical.dto.MedicalRecordVo; 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.goods.GoodsMapper;
import com.syjiaer.clinic.server.mapper.item.ItemMapper; import com.syjiaer.clinic.server.mapper.item.ItemMapper;
import com.syjiaer.clinic.server.mapper.medical.MedicalRecordDetailMapper; import com.syjiaer.clinic.server.mapper.medical.MedicalRecordDetailMapper;
import com.syjiaer.clinic.server.mapper.medical.MedicalRecordMapper; import com.syjiaer.clinic.server.mapper.medical.MedicalRecordMapper;
import com.syjiaer.clinic.server.mapper.patient.PatientRegistrationMapper;
import com.syjiaer.clinic.server.service.BaseService; import com.syjiaer.clinic.server.service.BaseService;
import org.springframework.beans.BeanUtils; import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
@ -30,6 +34,8 @@ public class MedicalRecordService extends BaseService {
@Autowired @Autowired
private MedicalRecordDetailMapper medicalRecordDetailMapper; private MedicalRecordDetailMapper medicalRecordDetailMapper;
@Autowired @Autowired
private PatientRegistrationMapper patientRegistrationMapper;
@Autowired
private ItemMapper itemMapper; private ItemMapper itemMapper;
@Autowired @Autowired
private GoodsMapper goodsMapper; private GoodsMapper goodsMapper;
@ -40,6 +46,18 @@ public class MedicalRecordService extends BaseService {
*/ */
@Transactional(rollbackFor = Exception.class) @Transactional(rollbackFor = Exception.class)
public void save(MedicalRecordSaveDto saveDto) { 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(); ManagerUser managerUser = getManagerUser();
MedicalRecord medicalRecord = new MedicalRecord(); MedicalRecord medicalRecord = new MedicalRecord();
BeanUtils.copyProperties(saveDto, medicalRecord); BeanUtils.copyProperties(saveDto, medicalRecord);
@ -77,6 +95,10 @@ public class MedicalRecordService extends BaseService {
} }
medicalRecordDetailMapper.insert(detailList); medicalRecordDetailMapper.insert(detailList);
} }
/** /**

View File

@ -96,7 +96,7 @@ public class OrganizationMemberService extends BaseService {
*/ */
public List<OrganizationMember> doctorList() { public List<OrganizationMember> doctorList() {
QueryWrapper<OrganizationMember> queryWrapper = new QueryWrapper<>(); QueryWrapper<OrganizationMember> queryWrapper = new QueryWrapper<>();
queryWrapper.eq("role", 0) queryWrapper.eq("role", 1)
.eq("del_flag", false); .eq("del_flag", false);
return organizationMemberMapper.selectList(queryWrapper); 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.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.syjiaer.clinic.server.common.constants.Constants; 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.exception.MessageException;
import com.syjiaer.clinic.server.common.util.DateUtil; import com.syjiaer.clinic.server.common.util.DateUtil;
import com.syjiaer.clinic.server.common.vo.Page; import com.syjiaer.clinic.server.common.vo.Page;
@ -210,4 +211,34 @@ public class PatientRegistrationService extends BaseService {
} }
return vo; 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.alibaba.fastjson2.JSONObject;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; 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.*;
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.request.SocialRequest; import com.syjiaer.clinic.server.common.api.request.SocialRequest;
import com.syjiaer.clinic.server.common.constants.Constants; import com.syjiaer.clinic.server.common.constants.Constants;
import com.syjiaer.clinic.server.common.enums.InventorySocialTypeEnum; import com.syjiaer.clinic.server.common.enums.InventorySocialTypeEnum;