From a809dc864dbd5295a7f79e468fdc5b09cb40361c Mon Sep 17 00:00:00 2001 From: LiJianZhao Date: Tue, 22 Apr 2025 09:49:13 +0800 Subject: [PATCH] dev --- .../common/enums/RegistrationStatusEnum.java | 33 +++++++++++++++++++ .../controller/charge/ChargeController.java | 4 +++ .../patient/RegistrationController.java | 13 ++++++++ .../server/entity/medical/MedicalRecord.java | 16 ++++++--- .../medical/dto/MedicalRecordSaveDto.java | 10 ++++++ .../entity/medical/dto/MedicalRecordVo.java | 6 ++++ .../patient/PatientRegistrationMapper.java | 1 + .../service/medical/MedicalRecordService.java | 22 +++++++++++++ .../OrganizationMemberService.java | 2 +- .../patient/PatientRegistrationService.java | 31 +++++++++++++++++ .../social/SocialInventoryUploadService.java | 5 +-- 11 files changed, 133 insertions(+), 10 deletions(-) create mode 100644 src/main/java/com/syjiaer/clinic/server/common/enums/RegistrationStatusEnum.java create mode 100644 src/main/java/com/syjiaer/clinic/server/controller/charge/ChargeController.java diff --git a/src/main/java/com/syjiaer/clinic/server/common/enums/RegistrationStatusEnum.java b/src/main/java/com/syjiaer/clinic/server/common/enums/RegistrationStatusEnum.java new file mode 100644 index 0000000..4b8767e --- /dev/null +++ b/src/main/java/com/syjiaer/clinic/server/common/enums/RegistrationStatusEnum.java @@ -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; + } +} diff --git a/src/main/java/com/syjiaer/clinic/server/controller/charge/ChargeController.java b/src/main/java/com/syjiaer/clinic/server/controller/charge/ChargeController.java new file mode 100644 index 0000000..4cc6a65 --- /dev/null +++ b/src/main/java/com/syjiaer/clinic/server/controller/charge/ChargeController.java @@ -0,0 +1,4 @@ +package com.syjiaer.clinic.server.controller.charge; + +public class ChargeController { +} diff --git a/src/main/java/com/syjiaer/clinic/server/controller/patient/RegistrationController.java b/src/main/java/com/syjiaer/clinic/server/controller/patient/RegistrationController.java index bc18303..175510c 100644 --- a/src/main/java/com/syjiaer/clinic/server/controller/patient/RegistrationController.java +++ b/src/main/java/com/syjiaer/clinic/server/controller/patient/RegistrationController.java @@ -116,4 +116,17 @@ public class RegistrationController extends BaseController { Integer regisId= parmsUtil.getInteger("id","挂号单不能为空"); return success(patientRegistrationService.getDetailById(regisId)); } + + + /** + * 更改挂号单状态 在诊断 诊断 + * @return + */ + @RequestMapping("/changeStatus") + public Result changeStatus(){ + Integer regisId= parmsUtil.getInteger("id","挂号单不能为空"); + Integer status= parmsUtil.getInteger("status","目标状态"); + patientRegistrationService.changeStatus(regisId,status); + return success(); + } } diff --git a/src/main/java/com/syjiaer/clinic/server/entity/medical/MedicalRecord.java b/src/main/java/com/syjiaer/clinic/server/entity/medical/MedicalRecord.java index f4ed94d..9345e43 100644 --- a/src/main/java/com/syjiaer/clinic/server/entity/medical/MedicalRecord.java +++ b/src/main/java/com/syjiaer/clinic/server/entity/medical/MedicalRecord.java @@ -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; /** *

- * + * 病例 *

* * @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; } diff --git a/src/main/java/com/syjiaer/clinic/server/entity/medical/dto/MedicalRecordSaveDto.java b/src/main/java/com/syjiaer/clinic/server/entity/medical/dto/MedicalRecordSaveDto.java index 2e7888a..0bff69a 100644 --- a/src/main/java/com/syjiaer/clinic/server/entity/medical/dto/MedicalRecordSaveDto.java +++ b/src/main/java/com/syjiaer/clinic/server/entity/medical/dto/MedicalRecordSaveDto.java @@ -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 itemList; @ApiModelProperty("药品耗材列表") diff --git a/src/main/java/com/syjiaer/clinic/server/entity/medical/dto/MedicalRecordVo.java b/src/main/java/com/syjiaer/clinic/server/entity/medical/dto/MedicalRecordVo.java index 33b4f49..89efadf 100644 --- a/src/main/java/com/syjiaer/clinic/server/entity/medical/dto/MedicalRecordVo.java +++ b/src/main/java/com/syjiaer/clinic/server/entity/medical/dto/MedicalRecordVo.java @@ -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 serviceDetail; @ApiModelProperty("药品耗材") diff --git a/src/main/java/com/syjiaer/clinic/server/mapper/patient/PatientRegistrationMapper.java b/src/main/java/com/syjiaer/clinic/server/mapper/patient/PatientRegistrationMapper.java index e57bf58..656fed9 100644 --- a/src/main/java/com/syjiaer/clinic/server/mapper/patient/PatientRegistrationMapper.java +++ b/src/main/java/com/syjiaer/clinic/server/mapper/patient/PatientRegistrationMapper.java @@ -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; /** diff --git a/src/main/java/com/syjiaer/clinic/server/service/medical/MedicalRecordService.java b/src/main/java/com/syjiaer/clinic/server/service/medical/MedicalRecordService.java index 678ae06..ab3401d 100644 --- a/src/main/java/com/syjiaer/clinic/server/service/medical/MedicalRecordService.java +++ b/src/main/java/com/syjiaer/clinic/server/service/medical/MedicalRecordService.java @@ -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); + + + + } /** diff --git a/src/main/java/com/syjiaer/clinic/server/service/organization/OrganizationMemberService.java b/src/main/java/com/syjiaer/clinic/server/service/organization/OrganizationMemberService.java index 4218395..5fde156 100644 --- a/src/main/java/com/syjiaer/clinic/server/service/organization/OrganizationMemberService.java +++ b/src/main/java/com/syjiaer/clinic/server/service/organization/OrganizationMemberService.java @@ -96,7 +96,7 @@ public class OrganizationMemberService extends BaseService { */ public List doctorList() { QueryWrapper queryWrapper = new QueryWrapper<>(); - queryWrapper.eq("role", 0) + queryWrapper.eq("role", 1) .eq("del_flag", false); return organizationMemberMapper.selectList(queryWrapper); } diff --git a/src/main/java/com/syjiaer/clinic/server/service/patient/PatientRegistrationService.java b/src/main/java/com/syjiaer/clinic/server/service/patient/PatientRegistrationService.java index 40269e0..32321e3 100644 --- a/src/main/java/com/syjiaer/clinic/server/service/patient/PatientRegistrationService.java +++ b/src/main/java/com/syjiaer/clinic/server/service/patient/PatientRegistrationService.java @@ -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); + } } diff --git a/src/main/java/com/syjiaer/clinic/server/service/social/SocialInventoryUploadService.java b/src/main/java/com/syjiaer/clinic/server/service/social/SocialInventoryUploadService.java index 87d91d2..78b0331 100644 --- a/src/main/java/com/syjiaer/clinic/server/service/social/SocialInventoryUploadService.java +++ b/src/main/java/com/syjiaer/clinic/server/service/social/SocialInventoryUploadService.java @@ -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;