Kaynağa Gözat

add
患者表、诊室表、诊室医生关联表、诊室微信用户关联表

18339543638 6 ay önce
ebeveyn
işleme
4c92d11cba
26 değiştirilmiş dosya ile 1178 ekleme ve 1 silme
  1. 74 0
      tr-modules/tr-module-smartFollowUp/src/main/java/cn/tr/module/smart/common/dto/BizClinicRoomDTO.java
  2. 19 0
      tr-modules/tr-module-smartFollowUp/src/main/java/cn/tr/module/smart/common/dto/BizClinicRoomQueryDTO.java
  3. 38 0
      tr-modules/tr-module-smartFollowUp/src/main/java/cn/tr/module/smart/common/dto/BizClinicRoomWxUserDTO.java
  4. 19 0
      tr-modules/tr-module-smartFollowUp/src/main/java/cn/tr/module/smart/common/dto/BizClinicRoomWxUserQueryDTO.java
  5. 44 0
      tr-modules/tr-module-smartFollowUp/src/main/java/cn/tr/module/smart/common/dto/BizPatientDTO.java
  6. 19 0
      tr-modules/tr-module-smartFollowUp/src/main/java/cn/tr/module/smart/common/dto/BizPatientQueryDTO.java
  7. 28 0
      tr-modules/tr-module-smartFollowUp/src/main/java/cn/tr/module/smart/common/mapper/BizClinicRoomMapper.java
  8. 28 0
      tr-modules/tr-module-smartFollowUp/src/main/java/cn/tr/module/smart/common/mapper/BizClinicRoomWxUserMapper.java
  9. 28 0
      tr-modules/tr-module-smartFollowUp/src/main/java/cn/tr/module/smart/common/mapper/BizPatientMapper.java
  10. 64 0
      tr-modules/tr-module-smartFollowUp/src/main/java/cn/tr/module/smart/common/po/BizClinicRoomPO.java
  11. 41 0
      tr-modules/tr-module-smartFollowUp/src/main/java/cn/tr/module/smart/common/po/BizClinicRoomWxUserPO.java
  12. 48 0
      tr-modules/tr-module-smartFollowUp/src/main/java/cn/tr/module/smart/common/po/BizPatientPO.java
  13. 16 0
      tr-modules/tr-module-smartFollowUp/src/main/java/cn/tr/module/smart/common/repository/BizClinicRoomRepository.java
  14. 16 0
      tr-modules/tr-module-smartFollowUp/src/main/java/cn/tr/module/smart/common/repository/BizClinicRoomWxUserRepository.java
  15. 16 0
      tr-modules/tr-module-smartFollowUp/src/main/java/cn/tr/module/smart/common/repository/BizPatientRepository.java
  16. 54 0
      tr-modules/tr-module-smartFollowUp/src/main/java/cn/tr/module/smart/common/service/IBizClinicRoomService.java
  17. 54 0
      tr-modules/tr-module-smartFollowUp/src/main/java/cn/tr/module/smart/common/service/IBizClinicRoomWxUserService.java
  18. 54 0
      tr-modules/tr-module-smartFollowUp/src/main/java/cn/tr/module/smart/common/service/IBizPatientService.java
  19. 92 0
      tr-modules/tr-module-smartFollowUp/src/main/java/cn/tr/module/smart/common/service/impl/BizClinicRoomServiceImpl.java
  20. 92 0
      tr-modules/tr-module-smartFollowUp/src/main/java/cn/tr/module/smart/common/service/impl/BizClinicRoomWxUserServiceImpl.java
  21. 92 0
      tr-modules/tr-module-smartFollowUp/src/main/java/cn/tr/module/smart/common/service/impl/BizPatientServiceImpl.java
  22. 80 0
      tr-modules/tr-module-smartFollowUp/src/main/java/cn/tr/module/smart/web/controller/BizClinicRoomController.java
  23. 80 0
      tr-modules/tr-module-smartFollowUp/src/main/java/cn/tr/module/smart/web/controller/BizClinicRoomWxUserController.java
  24. 80 0
      tr-modules/tr-module-smartFollowUp/src/main/java/cn/tr/module/smart/web/controller/BizPatientController.java
  25. 0 1
      tr-modules/tr-module-smartFollowUp/src/main/java/cn/tr/module/smart/wx/controller/BizWxAppletClinicController.java
  26. 2 0
      tr-modules/tr-module-smartFollowUp/src/main/java/cn/tr/module/smart/wx/controller/vo/BizWxAppletClinicVO.java

+ 74 - 0
tr-modules/tr-module-smartFollowUp/src/main/java/cn/tr/module/smart/common/dto/BizClinicRoomDTO.java

@@ -0,0 +1,74 @@
+package cn.tr.module.smart.common.dto;
+
+import cn.tr.plugin.mybatis.pojo.BaseDTO;
+import lombok.EqualsAndHashCode;
+import lombok.ToString;
+import cn.tr.core.validation.Insert;
+import cn.tr.core.validation.Update;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+import javax.validation.constraints.*;
+import java.util.*;
+/**
+ * 诊疗室传输对象
+ *
+ * @author lf
+ * @date  2025/06/09 10:59
+ **/
+@Data
+@ApiModel("诊疗室传输对象")
+@EqualsAndHashCode(callSuper = true)
+@ToString
+public class BizClinicRoomDTO extends BaseDTO  {
+    private static final long serialVersionUID = 1L;
+    @ApiModelProperty(value = "id", position = 1)
+     @NotBlank  (message = "主键不能为空",groups = {Update.class})
+    private String id;
+
+    @ApiModelProperty(value = "年龄", position = 2)
+    private Integer patientAge;
+
+    @ApiModelProperty(value = "科室", position = 3)
+    private String deptId;
+
+    @ApiModelProperty(value = "手术名称", position = 4)
+    private String clinicName;
+
+    @ApiModelProperty(value = "手术开始时间", position = 5)
+    private Date clinicStartTime;
+
+    @ApiModelProperty(value = "手术结束时间", position = 6)
+    private Date clinicEndTime;
+
+    @ApiModelProperty(value = "手术状态", position = 7)
+    private String clinicStatus;
+
+    @ApiModelProperty(value = "最后一次随访时间", position = 8)
+    private String lastFollowUpTime;
+
+    @ApiModelProperty(value = "随访次数", position = 9)
+    private Integer followUpCount;
+
+    @ApiModelProperty(value = "是否已随访", position = 10)
+    private Integer followUp;
+
+    @ApiModelProperty(value = "住院号", position = 15)
+    private String patientCode;
+
+    @ApiModelProperty(value = "患者姓名", position = 16)
+    private String patientName;
+
+    @ApiModelProperty(value = "科室名称", position = 18)
+    private String deptName;
+
+    @ApiModelProperty(value = "性别", position = 20)
+    private String patientGender;
+
+    @ApiModelProperty(value = "上一次看护的时间", position = 21)
+    private Date lastCareTime;
+
+    @ApiModelProperty(value = "上一次填写问卷时间", position = 22)
+    private Date lastQuestionTime;
+
+}

+ 19 - 0
tr-modules/tr-module-smartFollowUp/src/main/java/cn/tr/module/smart/common/dto/BizClinicRoomQueryDTO.java

@@ -0,0 +1,19 @@
+package cn.tr.module.smart.common.dto;
+
+import lombok.ToString;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+import java.util.*;
+/**
+ * 诊疗室查询参数
+ *
+ * @author lf
+ * @date  2025/06/09 10:59
+ **/
+@Data
+@ApiModel("诊疗室查询参数")
+@ToString
+public class BizClinicRoomQueryDTO  {
+    private static final long serialVersionUID = 1L;
+}

+ 38 - 0
tr-modules/tr-module-smartFollowUp/src/main/java/cn/tr/module/smart/common/dto/BizClinicRoomWxUserDTO.java

@@ -0,0 +1,38 @@
+package cn.tr.module.smart.common.dto;
+
+import cn.tr.plugin.mybatis.pojo.BaseDTO;
+import lombok.EqualsAndHashCode;
+import lombok.ToString;
+import cn.tr.core.validation.Insert;
+import cn.tr.core.validation.Update;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+import javax.validation.constraints.*;
+import java.util.*;
+/**
+ * 诊室患者绑定id传输对象
+ *
+ * @author lf
+ * @date  2025/06/09 11:54
+ **/
+@Data
+@ApiModel("诊室患者绑定id传输对象")
+@EqualsAndHashCode(callSuper = true)
+@ToString
+public class BizClinicRoomWxUserDTO extends BaseDTO  {
+    private static final long serialVersionUID = 1L;
+    @ApiModelProperty(value = "id", position = 1)
+     @NotBlank  (message = "主键不能为空",groups = {Update.class})
+    private String id;
+
+    @ApiModelProperty(value = "微信用户", position = 2)
+    private String wxUserId;
+
+    @ApiModelProperty(value = "是否为看护中", position = 3)
+    private Integer care;
+
+    @ApiModelProperty(value = "诊室id", position = 4)
+    private String clinicRoomId;
+
+}

+ 19 - 0
tr-modules/tr-module-smartFollowUp/src/main/java/cn/tr/module/smart/common/dto/BizClinicRoomWxUserQueryDTO.java

@@ -0,0 +1,19 @@
+package cn.tr.module.smart.common.dto;
+
+import lombok.ToString;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+import java.util.*;
+/**
+ * 诊室患者绑定id查询参数
+ *
+ * @author lf
+ * @date  2025/06/09 11:54
+ **/
+@Data
+@ApiModel("诊室患者绑定id查询参数")
+@ToString
+public class BizClinicRoomWxUserQueryDTO  {
+    private static final long serialVersionUID = 1L;
+}

+ 44 - 0
tr-modules/tr-module-smartFollowUp/src/main/java/cn/tr/module/smart/common/dto/BizPatientDTO.java

@@ -0,0 +1,44 @@
+package cn.tr.module.smart.common.dto;
+
+import cn.tr.plugin.mybatis.pojo.BaseDTO;
+import lombok.EqualsAndHashCode;
+import lombok.ToString;
+import cn.tr.core.validation.Insert;
+import cn.tr.core.validation.Update;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+import javax.validation.constraints.*;
+import java.util.*;
+/**
+ * 患者信息传输对象
+ *
+ * @author lf
+ * @date  2025/06/09 15:58
+ **/
+@Data
+@ApiModel("患者信息传输对象")
+@EqualsAndHashCode(callSuper = true)
+@ToString
+public class BizPatientDTO extends BaseDTO  {
+    private static final long serialVersionUID = 1L;
+    @ApiModelProperty(value = "id", position = 1)
+     @NotBlank  (message = "主键不能为空",groups = {Update.class})
+    private String id;
+
+    @ApiModelProperty(value = "病人姓名", position = 2)
+    private String name;
+
+    @ApiModelProperty(value = "病人性别", position = 3)
+    private String gender;
+
+    @ApiModelProperty(value = "病人出生年月日", position = 4)
+    private Date birthday;
+
+    @ApiModelProperty(value = "身份证号", position = 5)
+    private String cardNo;
+
+    @ApiModelProperty(value = "当前手术id", position = 6)
+    private String currentClinicId;
+
+}

+ 19 - 0
tr-modules/tr-module-smartFollowUp/src/main/java/cn/tr/module/smart/common/dto/BizPatientQueryDTO.java

@@ -0,0 +1,19 @@
+package cn.tr.module.smart.common.dto;
+
+import lombok.ToString;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+import java.util.*;
+/**
+ * 患者信息查询参数
+ *
+ * @author lf
+ * @date  2025/06/09 15:58
+ **/
+@Data
+@ApiModel("患者信息查询参数")
+@ToString
+public class BizPatientQueryDTO  {
+    private static final long serialVersionUID = 1L;
+}

+ 28 - 0
tr-modules/tr-module-smartFollowUp/src/main/java/cn/tr/module/smart/common/mapper/BizClinicRoomMapper.java

@@ -0,0 +1,28 @@
+package cn.tr.module.smart.common.mapper;
+
+import cn.tr.module.smart.common.po.BizClinicRoomPO;
+import cn.tr.module.smart.common.dto.BizClinicRoomDTO;
+import org.mapstruct.Mapper;
+import org.mapstruct.factory.Mappers;
+
+import java.util.List;
+
+/**
+* 诊疗室映射工具
+*
+* @author lf
+* @date  2025/06/09 10:59
+**/
+@Mapper
+public interface BizClinicRoomMapper {
+    BizClinicRoomMapper INSTANCE = Mappers.getMapper(BizClinicRoomMapper.class);
+
+    BizClinicRoomPO convertPO(BizClinicRoomDTO source);
+
+    BizClinicRoomDTO convertDto(BizClinicRoomPO source);
+
+    List<BizClinicRoomDTO> convertDtoList(List<BizClinicRoomPO> source);
+
+    List<BizClinicRoomPO> convertPOList(List<BizClinicRoomDTO> source);
+
+}

+ 28 - 0
tr-modules/tr-module-smartFollowUp/src/main/java/cn/tr/module/smart/common/mapper/BizClinicRoomWxUserMapper.java

@@ -0,0 +1,28 @@
+package cn.tr.module.smart.common.mapper;
+
+import cn.tr.module.smart.common.po.BizClinicRoomWxUserPO;
+import cn.tr.module.smart.common.dto.BizClinicRoomWxUserDTO;
+import org.mapstruct.Mapper;
+import org.mapstruct.factory.Mappers;
+
+import java.util.List;
+
+/**
+* 诊室患者绑定id映射工具
+*
+* @author lf
+* @date  2025/06/09 11:54
+**/
+@Mapper
+public interface BizClinicRoomWxUserMapper {
+    BizClinicRoomWxUserMapper INSTANCE = Mappers.getMapper(BizClinicRoomWxUserMapper.class);
+
+    BizClinicRoomWxUserPO convertPO(BizClinicRoomWxUserDTO source);
+
+    BizClinicRoomWxUserDTO convertDto(BizClinicRoomWxUserPO source);
+
+    List<BizClinicRoomWxUserDTO> convertDtoList(List<BizClinicRoomWxUserPO> source);
+
+    List<BizClinicRoomWxUserPO> convertPOList(List<BizClinicRoomWxUserDTO> source);
+
+}

+ 28 - 0
tr-modules/tr-module-smartFollowUp/src/main/java/cn/tr/module/smart/common/mapper/BizPatientMapper.java

@@ -0,0 +1,28 @@
+package cn.tr.module.smart.common.mapper;
+
+import cn.tr.module.smart.common.po.BizPatientPO;
+import cn.tr.module.smart.common.dto.BizPatientDTO;
+import org.mapstruct.Mapper;
+import org.mapstruct.factory.Mappers;
+
+import java.util.List;
+
+/**
+* 患者信息映射工具
+*
+* @author lf
+* @date  2025/06/09 15:58
+**/
+@Mapper
+public interface BizPatientMapper {
+    BizPatientMapper INSTANCE = Mappers.getMapper(BizPatientMapper.class);
+
+    BizPatientPO convertPO(BizPatientDTO source);
+
+    BizPatientDTO convertDto(BizPatientPO source);
+
+    List<BizPatientDTO> convertDtoList(List<BizPatientPO> source);
+
+    List<BizPatientPO> convertPOList(List<BizPatientDTO> source);
+
+}

+ 64 - 0
tr-modules/tr-module-smartFollowUp/src/main/java/cn/tr/module/smart/common/po/BizClinicRoomPO.java

@@ -0,0 +1,64 @@
+package cn.tr.module.smart.common.po;
+
+import cn.tr.plugin.mybatis.pojo.TenantPO;   
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import lombok.ToString;
+import java.util.*;
+/**
+ * 诊疗室实体
+ *
+ * @author lf
+ * @date  2025/06/09 10:59
+ **/
+@Data
+@TableName(value="biz_clinic_room",autoResultMap = true)
+@EqualsAndHashCode(callSuper = true)
+@ToString
+public class BizClinicRoomPO extends TenantPO {
+
+    /** id */
+    @TableId
+    @ApiModelProperty(value = "id", position = 1)
+    private String id;
+
+    /** 年龄 */
+    @ApiModelProperty(value = "年龄", position = 2)
+    private Integer patientAge;
+
+    /** 科室 */
+    @ApiModelProperty(value = "科室", position = 3)
+    private String deptId;
+
+    /** 手术名称 */
+    @ApiModelProperty(value = "手术名称", position = 4)
+    private String clinicName;
+
+    /** 手术开始时间 */
+    @ApiModelProperty(value = "手术开始时间", position = 5)
+    private Date clinicStartTime;
+
+    /** 手术结束时间 */
+    @ApiModelProperty(value = "手术结束时间", position = 6)
+    private Date clinicEndTime;
+
+    /** 手术状态 */
+    @ApiModelProperty(value = "手术状态", position = 7)
+    private String clinicStatus;
+
+    /** 最后一次随访时间 */
+    @ApiModelProperty(value = "最后一次随访时间", position = 8)
+    private String lastFollowUpTime;
+
+    /** 随访次数 */
+    @ApiModelProperty(value = "随访次数", position = 9)
+    private Integer followUpCount;
+
+    /** 是否已随访 */
+    @ApiModelProperty(value = "是否已随访", position = 10)
+    private Integer followUp;
+
+}

+ 41 - 0
tr-modules/tr-module-smartFollowUp/src/main/java/cn/tr/module/smart/common/po/BizClinicRoomWxUserPO.java

@@ -0,0 +1,41 @@
+package cn.tr.module.smart.common.po;
+
+
+import cn.tr.plugin.mybatis.pojo.BasePO;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import lombok.ToString;
+import java.util.*;
+/**
+ * 诊室患者绑定id实体
+ *
+ * @author lf
+ * @date  2025/06/09 11:54
+ **/
+@Data
+@TableName(value="biz_clinic_room_wx_user",autoResultMap = true)
+@EqualsAndHashCode(callSuper = true)
+@ToString
+public class BizClinicRoomWxUserPO extends BasePO {
+
+    /** id */
+    @TableId
+    @ApiModelProperty(value = "id", position = 1)
+    private String id;
+
+    /** 微信用户 */
+    @ApiModelProperty(value = "微信用户", position = 2)
+    private String wxUserId;
+
+    /** 是否为看护中 */
+    @ApiModelProperty(value = "是否为看护中", position = 3)
+    private Integer care;
+
+    /** 诊室id */
+    @ApiModelProperty(value = "诊室id", position = 4)
+    private String clinicRoomId;
+
+}

+ 48 - 0
tr-modules/tr-module-smartFollowUp/src/main/java/cn/tr/module/smart/common/po/BizPatientPO.java

@@ -0,0 +1,48 @@
+package cn.tr.module.smart.common.po;
+
+import cn.tr.plugin.mybatis.pojo.TenantPO;   
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import lombok.ToString;
+import java.util.*;
+/**
+ * 患者信息实体
+ *
+ * @author lf
+ * @date  2025/06/09 15:58
+ **/
+@Data
+@TableName(value="biz_patient",autoResultMap = true)
+@EqualsAndHashCode(callSuper = true)
+@ToString
+public class BizPatientPO extends TenantPO {
+
+    /** id */
+    @TableId
+    @ApiModelProperty(value = "id", position = 1)
+    private String id;
+
+    /** 病人姓名 */
+    @ApiModelProperty(value = "病人姓名", position = 2)
+    private String name;
+
+    /** 病人性别 */
+    @ApiModelProperty(value = "病人性别", position = 3)
+    private String gender;
+
+    /** 病人出生年月日 */
+    @ApiModelProperty(value = "病人出生年月日", position = 4)
+    private Date birthday;
+
+    /** 身份证号 */
+    @ApiModelProperty(value = "身份证号", position = 5)
+    private String cardNo;
+
+    /** 当前手术id */
+    @ApiModelProperty(value = "当前手术id", position = 6)
+    private String currentClinicId;
+
+}

+ 16 - 0
tr-modules/tr-module-smartFollowUp/src/main/java/cn/tr/module/smart/common/repository/BizClinicRoomRepository.java

@@ -0,0 +1,16 @@
+package cn.tr.module.smart.common.repository;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import org.apache.ibatis.annotations.Mapper;
+import org.springframework.stereotype.Repository;
+import cn.tr.module.smart.common.po.BizClinicRoomPO;
+/**
+ * 诊疗室Mapper接口
+ *
+ * @author lf
+ * @date  2025/06/09 10:59
+ **/
+@Repository
+@Mapper
+public interface BizClinicRoomRepository extends BaseMapper<BizClinicRoomPO> {
+}

+ 16 - 0
tr-modules/tr-module-smartFollowUp/src/main/java/cn/tr/module/smart/common/repository/BizClinicRoomWxUserRepository.java

@@ -0,0 +1,16 @@
+package cn.tr.module.smart.common.repository;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import org.apache.ibatis.annotations.Mapper;
+import org.springframework.stereotype.Repository;
+import cn.tr.module.smart.common.po.BizClinicRoomWxUserPO;
+/**
+ * 诊室患者绑定idMapper接口
+ *
+ * @author lf
+ * @date  2025/06/09 11:54
+ **/
+@Repository
+@Mapper
+public interface BizClinicRoomWxUserRepository extends BaseMapper<BizClinicRoomWxUserPO> {
+}

+ 16 - 0
tr-modules/tr-module-smartFollowUp/src/main/java/cn/tr/module/smart/common/repository/BizPatientRepository.java

@@ -0,0 +1,16 @@
+package cn.tr.module.smart.common.repository;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import org.apache.ibatis.annotations.Mapper;
+import org.springframework.stereotype.Repository;
+import cn.tr.module.smart.common.po.BizPatientPO;
+/**
+ * 患者信息Mapper接口
+ *
+ * @author lf
+ * @date  2025/06/09 15:58
+ **/
+@Repository
+@Mapper
+public interface BizPatientRepository extends BaseMapper<BizPatientPO> {
+}

+ 54 - 0
tr-modules/tr-module-smartFollowUp/src/main/java/cn/tr/module/smart/common/service/IBizClinicRoomService.java

@@ -0,0 +1,54 @@
+package cn.tr.module.smart.common.service;
+
+import cn.tr.module.smart.common.dto.BizClinicRoomDTO;
+import cn.tr.module.smart.common.dto.BizClinicRoomQueryDTO;
+import java.util.*;
+
+/**
+ * 诊疗室Service接口
+ *
+ * @author lf
+ * @date  2025/06/09 10:59
+ **/
+public interface IBizClinicRoomService{
+
+    /**
+     * 根据条件查询诊疗室
+     * @param    query 查询参数
+     * @author   lf
+     * @date      2025/06/09 10:59
+     */
+    List<BizClinicRoomDTO> selectBizClinicRoomList(BizClinicRoomQueryDTO query);
+
+    /**
+     * 根据id查询诊疗室
+     * @param    id 主键id
+     * @author   lf
+     * @date      2025/06/09 10:59
+     */
+    BizClinicRoomDTO selectBizClinicRoomById(String id);
+
+    /**
+     * 编辑诊疗室
+     * @param   source 编辑实体类
+     * @author  lf
+     * @date     2025/06/09 10:59
+     */
+    boolean updateBizClinicRoomById(BizClinicRoomDTO source);
+
+    /**
+     * 新增诊疗室
+     * @param   source 新增实体类
+     * @author lf
+     * @date  2025/06/09 10:59
+     */
+    boolean insertBizClinicRoom(BizClinicRoomDTO source);
+
+    /**
+     * 删除诊疗室详情
+     * @param  ids 删除主键集合
+     * @author lf
+     * @date    2025/06/09 10:59
+     */
+    int removeBizClinicRoomByIds(Collection<String> ids);
+}

+ 54 - 0
tr-modules/tr-module-smartFollowUp/src/main/java/cn/tr/module/smart/common/service/IBizClinicRoomWxUserService.java

@@ -0,0 +1,54 @@
+package cn.tr.module.smart.common.service;
+
+import cn.tr.module.smart.common.dto.BizClinicRoomWxUserDTO;
+import cn.tr.module.smart.common.dto.BizClinicRoomWxUserQueryDTO;
+import java.util.*;
+
+/**
+ * 诊室患者绑定idService接口
+ *
+ * @author lf
+ * @date  2025/06/09 11:54
+ **/
+public interface IBizClinicRoomWxUserService{
+
+    /**
+     * 根据条件查询诊室患者绑定id
+     * @param    query 查询参数
+     * @author   lf
+     * @date      2025/06/09 11:54
+     */
+    List<BizClinicRoomWxUserDTO> selectBizClinicRoomWxUserList(BizClinicRoomWxUserQueryDTO query);
+
+    /**
+     * 根据id查询诊室患者绑定id
+     * @param    id 主键id
+     * @author   lf
+     * @date      2025/06/09 11:54
+     */
+    BizClinicRoomWxUserDTO selectBizClinicRoomWxUserById(String id);
+
+    /**
+     * 编辑诊室患者绑定id
+     * @param   source 编辑实体类
+     * @author  lf
+     * @date     2025/06/09 11:54
+     */
+    boolean updateBizClinicRoomWxUserById(BizClinicRoomWxUserDTO source);
+
+    /**
+     * 新增诊室患者绑定id
+     * @param   source 新增实体类
+     * @author lf
+     * @date  2025/06/09 11:54
+     */
+    boolean insertBizClinicRoomWxUser(BizClinicRoomWxUserDTO source);
+
+    /**
+     * 删除诊室患者绑定id详情
+     * @param  ids 删除主键集合
+     * @author lf
+     * @date    2025/06/09 11:54
+     */
+    int removeBizClinicRoomWxUserByIds(Collection<String> ids);
+}

+ 54 - 0
tr-modules/tr-module-smartFollowUp/src/main/java/cn/tr/module/smart/common/service/IBizPatientService.java

@@ -0,0 +1,54 @@
+package cn.tr.module.smart.common.service;
+
+import cn.tr.module.smart.common.dto.BizPatientDTO;
+import cn.tr.module.smart.common.dto.BizPatientQueryDTO;
+import java.util.*;
+
+/**
+ * 患者信息Service接口
+ *
+ * @author lf
+ * @date  2025/06/09 15:58
+ **/
+public interface IBizPatientService{
+
+    /**
+     * 根据条件查询患者信息
+     * @param    query 查询参数
+     * @author   lf
+     * @date      2025/06/09 15:58
+     */
+    List<BizPatientDTO> selectBizPatientList(BizPatientQueryDTO query);
+
+    /**
+     * 根据id查询患者信息
+     * @param    id 主键id
+     * @author   lf
+     * @date      2025/06/09 15:58
+     */
+    BizPatientDTO selectBizPatientById(String id);
+
+    /**
+     * 编辑患者信息
+     * @param   source 编辑实体类
+     * @author  lf
+     * @date     2025/06/09 15:58
+     */
+    boolean updateBizPatientById(BizPatientDTO source);
+
+    /**
+     * 新增患者信息
+     * @param   source 新增实体类
+     * @author lf
+     * @date  2025/06/09 15:58
+     */
+    boolean insertBizPatient(BizPatientDTO source);
+
+    /**
+     * 删除患者信息详情
+     * @param  ids 删除主键集合
+     * @author lf
+     * @date    2025/06/09 15:58
+     */
+    int removeBizPatientByIds(Collection<String> ids);
+}

+ 92 - 0
tr-modules/tr-module-smartFollowUp/src/main/java/cn/tr/module/smart/common/service/impl/BizClinicRoomServiceImpl.java

@@ -0,0 +1,92 @@
+package cn.tr.module.smart.common.service.impl;
+
+import cn.tr.core.exception.TRExcCode;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+import cn.hutool.core.collection.CollectionUtil;
+import org.springframework.transaction.annotation.Transactional;
+import cn.tr.core.exception.ServiceException;
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import cn.tr.module.smart.common.repository.BizClinicRoomRepository;
+import cn.tr.module.smart.common.po.BizClinicRoomPO;
+import cn.tr.module.smart.common.dto.BizClinicRoomDTO;
+import cn.tr.module.smart.common.dto.BizClinicRoomQueryDTO;
+import java.util.*;
+import cn.tr.module.smart.common.service.IBizClinicRoomService;
+import cn.tr.module.smart.common.mapper.BizClinicRoomMapper;
+/**
+ * 诊疗室Service接口实现类
+ *
+ * @author lf
+ * @date  2025/06/09 10:59
+ **/
+@Service
+public class BizClinicRoomServiceImpl implements IBizClinicRoomService {
+    @Autowired
+    private BizClinicRoomRepository baseRepository;
+
+
+    /**
+    * 根据条件查询诊疗室
+    * @param    query 查询参数
+    * @author   lf
+    * @date      2025/06/09 10:59
+    */
+    @Override
+    public List<BizClinicRoomDTO> selectBizClinicRoomList(BizClinicRoomQueryDTO query){
+        return BizClinicRoomMapper.INSTANCE.convertDtoList(
+                baseRepository.selectList(new LambdaQueryWrapper<BizClinicRoomPO>()
+                )
+        );
+    };
+
+    /**
+    * 根据id查询诊疗室
+    * @param    id 主键id
+    * @author   lf
+    * @date      2025/06/09 10:59
+    */
+    @Override
+    public BizClinicRoomDTO selectBizClinicRoomById(String id){
+        return BizClinicRoomMapper.INSTANCE.convertDto(baseRepository.selectById(id));
+    };
+
+    /**
+    * 编辑诊疗室
+    * @param   source 编辑实体类
+    * @author  lf
+    * @date     2025/06/09 10:59
+    */
+    @Transactional(rollbackFor = Exception.class)
+    @Override
+    public boolean updateBizClinicRoomById(BizClinicRoomDTO source){
+            return baseRepository.updateById(BizClinicRoomMapper.INSTANCE.convertPO(source))!=0;
+    };
+
+    /**
+    * 新增诊疗室
+    * @param   source 新增实体类
+    * @author lf
+    * @date  2025/06/09 10:59
+    */
+    @Override
+    @Transactional(rollbackFor = Exception.class)
+    public boolean insertBizClinicRoom(BizClinicRoomDTO source){
+        return baseRepository.insert(BizClinicRoomMapper.INSTANCE.convertPO(source))!=0;
+    };
+
+    /**
+    * 删除诊疗室详情
+    * @param  ids 删除主键集合
+    * @author lf
+    * @date    2025/06/09 10:59
+    */
+    @Override
+    @Transactional(rollbackFor = Exception.class)
+    public int removeBizClinicRoomByIds(Collection<String> ids){
+        if(CollectionUtil.isEmpty(ids)){
+            throw new ServiceException(TRExcCode.SYSTEM_ERROR_B0001,"请选择要删除的数据");
+        }
+        return baseRepository.deleteBatchIds(ids);
+    };
+}

+ 92 - 0
tr-modules/tr-module-smartFollowUp/src/main/java/cn/tr/module/smart/common/service/impl/BizClinicRoomWxUserServiceImpl.java

@@ -0,0 +1,92 @@
+package cn.tr.module.smart.common.service.impl;
+
+import cn.tr.core.exception.TRExcCode;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+import cn.hutool.core.collection.CollectionUtil;
+import org.springframework.transaction.annotation.Transactional;
+import cn.tr.core.exception.ServiceException;
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import cn.tr.module.smart.common.repository.BizClinicRoomWxUserRepository;
+import cn.tr.module.smart.common.po.BizClinicRoomWxUserPO;
+import cn.tr.module.smart.common.dto.BizClinicRoomWxUserDTO;
+import cn.tr.module.smart.common.dto.BizClinicRoomWxUserQueryDTO;
+import java.util.*;
+import cn.tr.module.smart.common.service.IBizClinicRoomWxUserService;
+import cn.tr.module.smart.common.mapper.BizClinicRoomWxUserMapper;
+/**
+ * 诊室患者绑定idService接口实现类
+ *
+ * @author lf
+ * @date  2025/06/09 11:54
+ **/
+@Service
+public class BizClinicRoomWxUserServiceImpl implements IBizClinicRoomWxUserService {
+    @Autowired
+    private BizClinicRoomWxUserRepository baseRepository;
+
+
+    /**
+    * 根据条件查询诊室患者绑定id
+    * @param    query 查询参数
+    * @author   lf
+    * @date      2025/06/09 11:54
+    */
+    @Override
+    public List<BizClinicRoomWxUserDTO> selectBizClinicRoomWxUserList(BizClinicRoomWxUserQueryDTO query){
+        return BizClinicRoomWxUserMapper.INSTANCE.convertDtoList(
+                baseRepository.selectList(new LambdaQueryWrapper<BizClinicRoomWxUserPO>()
+                )
+        );
+    };
+
+    /**
+    * 根据id查询诊室患者绑定id
+    * @param    id 主键id
+    * @author   lf
+    * @date      2025/06/09 11:54
+    */
+    @Override
+    public BizClinicRoomWxUserDTO selectBizClinicRoomWxUserById(String id){
+        return BizClinicRoomWxUserMapper.INSTANCE.convertDto(baseRepository.selectById(id));
+    };
+
+    /**
+    * 编辑诊室患者绑定id
+    * @param   source 编辑实体类
+    * @author  lf
+    * @date     2025/06/09 11:54
+    */
+    @Transactional(rollbackFor = Exception.class)
+    @Override
+    public boolean updateBizClinicRoomWxUserById(BizClinicRoomWxUserDTO source){
+            return baseRepository.updateById(BizClinicRoomWxUserMapper.INSTANCE.convertPO(source))!=0;
+    };
+
+    /**
+    * 新增诊室患者绑定id
+    * @param   source 新增实体类
+    * @author lf
+    * @date  2025/06/09 11:54
+    */
+    @Override
+    @Transactional(rollbackFor = Exception.class)
+    public boolean insertBizClinicRoomWxUser(BizClinicRoomWxUserDTO source){
+        return baseRepository.insert(BizClinicRoomWxUserMapper.INSTANCE.convertPO(source))!=0;
+    };
+
+    /**
+    * 删除诊室患者绑定id详情
+    * @param  ids 删除主键集合
+    * @author lf
+    * @date    2025/06/09 11:54
+    */
+    @Override
+    @Transactional(rollbackFor = Exception.class)
+    public int removeBizClinicRoomWxUserByIds(Collection<String> ids){
+        if(CollectionUtil.isEmpty(ids)){
+            throw new ServiceException(TRExcCode.SYSTEM_ERROR_B0001,"请选择要删除的数据");
+        }
+        return baseRepository.deleteBatchIds(ids);
+    };
+}

+ 92 - 0
tr-modules/tr-module-smartFollowUp/src/main/java/cn/tr/module/smart/common/service/impl/BizPatientServiceImpl.java

@@ -0,0 +1,92 @@
+package cn.tr.module.smart.common.service.impl;
+
+import cn.tr.core.exception.TRExcCode;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+import cn.hutool.core.collection.CollectionUtil;
+import org.springframework.transaction.annotation.Transactional;
+import cn.tr.core.exception.ServiceException;
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import cn.tr.module.smart.common.repository.BizPatientRepository;
+import cn.tr.module.smart.common.po.BizPatientPO;
+import cn.tr.module.smart.common.dto.BizPatientDTO;
+import cn.tr.module.smart.common.dto.BizPatientQueryDTO;
+import java.util.*;
+import cn.tr.module.smart.common.service.IBizPatientService;
+import cn.tr.module.smart.common.mapper.BizPatientMapper;
+/**
+ * 患者信息Service接口实现类
+ *
+ * @author lf
+ * @date  2025/06/09 15:58
+ **/
+@Service
+public class BizPatientServiceImpl implements IBizPatientService {
+    @Autowired
+    private BizPatientRepository baseRepository;
+
+
+    /**
+    * 根据条件查询患者信息
+    * @param    query 查询参数
+    * @author   lf
+    * @date      2025/06/09 15:58
+    */
+    @Override
+    public List<BizPatientDTO> selectBizPatientList(BizPatientQueryDTO query){
+        return BizPatientMapper.INSTANCE.convertDtoList(
+                baseRepository.selectList(new LambdaQueryWrapper<BizPatientPO>()
+                )
+        );
+    };
+
+    /**
+    * 根据id查询患者信息
+    * @param    id 主键id
+    * @author   lf
+    * @date      2025/06/09 15:58
+    */
+    @Override
+    public BizPatientDTO selectBizPatientById(String id){
+        return BizPatientMapper.INSTANCE.convertDto(baseRepository.selectById(id));
+    };
+
+    /**
+    * 编辑患者信息
+    * @param   source 编辑实体类
+    * @author  lf
+    * @date     2025/06/09 15:58
+    */
+    @Transactional(rollbackFor = Exception.class)
+    @Override
+    public boolean updateBizPatientById(BizPatientDTO source){
+            return baseRepository.updateById(BizPatientMapper.INSTANCE.convertPO(source))!=0;
+    };
+
+    /**
+    * 新增患者信息
+    * @param   source 新增实体类
+    * @author lf
+    * @date  2025/06/09 15:58
+    */
+    @Override
+    @Transactional(rollbackFor = Exception.class)
+    public boolean insertBizPatient(BizPatientDTO source){
+        return baseRepository.insert(BizPatientMapper.INSTANCE.convertPO(source))!=0;
+    };
+
+    /**
+    * 删除患者信息详情
+    * @param  ids 删除主键集合
+    * @author lf
+    * @date    2025/06/09 15:58
+    */
+    @Override
+    @Transactional(rollbackFor = Exception.class)
+    public int removeBizPatientByIds(Collection<String> ids){
+        if(CollectionUtil.isEmpty(ids)){
+            throw new ServiceException(TRExcCode.SYSTEM_ERROR_B0001,"请选择要删除的数据");
+        }
+        return baseRepository.deleteBatchIds(ids);
+    };
+}

+ 80 - 0
tr-modules/tr-module-smartFollowUp/src/main/java/cn/tr/module/smart/web/controller/BizClinicRoomController.java

@@ -0,0 +1,80 @@
+package cn.tr.module.smart.web.controller;
+
+import com.github.xiaoymin.knife4j.annotations.ApiOperationSupport;
+import cn.dev33.satoken.annotation.SaCheckPermission;
+import cn.tr.core.validation.Insert;
+import cn.tr.core.validation.Update;
+import cn.tr.core.pojo.CommonResult;
+import lombok.AllArgsConstructor;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import org.springframework.validation.annotation.Validated;
+import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.RequestBody;
+import org.springframework.web.bind.annotation.RestController;
+import cn.tr.module.smart.common.dto.BizClinicRoomDTO;
+import cn.tr.module.smart.common.service.IBizClinicRoomService;
+import cn.tr.module.smart.common.dto.BizClinicRoomQueryDTO;
+import java.util.*;
+import cn.tr.plugin.mybatis.base.BaseController;
+import org.springframework.web.bind.annotation.*;
+import cn.tr.module.api.sys.log.annotation.OperateLog;
+import cn.tr.core.pojo.TableDataInfo;
+/**
+ * 诊疗室控制器
+ *
+ * @author lf
+ * @date  2025/06/09 10:59
+ */
+@Api(tags = "诊疗室")
+@RestController
+@RequestMapping("/smart/clinicRoom")
+@AllArgsConstructor
+public class BizClinicRoomController extends BaseController{
+
+    private final IBizClinicRoomService bizClinicRoomService;
+
+    @ApiOperationSupport(author = "lf",order = 1)
+    @ApiOperation(value="根据条件查询诊疗室",notes = "权限: 无")
+    @PostMapping("/query/page")
+    public TableDataInfo<BizClinicRoomDTO> selectList(@RequestBody BizClinicRoomQueryDTO query) {
+        startPage();
+        return getDataTable(bizClinicRoomService.selectBizClinicRoomList(query));
+    }
+
+    @ApiOperationSupport(author = "lf",order = 2)
+    @ApiOperation(value = "根据id查询诊疗室",notes = "权限: smart:clinicRoom:query")
+    @GetMapping("/detail/{id}")
+    @SaCheckPermission("smart:clinicRoom:query")
+    public CommonResult<BizClinicRoomDTO> findById(@PathVariable("id") String id){
+        return CommonResult.success(bizClinicRoomService.selectBizClinicRoomById(id));
+    }
+
+    @ApiOperationSupport(author = "lf",order = 3)
+    @ApiOperation(value="添加诊疗室",notes = "权限: smart:clinicRoom:add")
+    @PostMapping("/add")
+    @OperateLog
+    @SaCheckPermission("smart:clinicRoom:add")
+    public CommonResult<Boolean> add(@RequestBody@Validated(Insert.class) BizClinicRoomDTO source) {
+        return CommonResult.success(bizClinicRoomService.insertBizClinicRoom(source));
+    }
+
+    @ApiOperationSupport(author = "lf",order = 4)
+    @ApiOperation(value="通过主键id编辑诊疗室",notes = "权限: smart:clinicRoom:edit")
+    @PostMapping("/edit")
+    @OperateLog
+    @SaCheckPermission("smart:clinicRoom:edit")
+    public CommonResult<Boolean> edit(@RequestBody@Validated(Update.class) BizClinicRoomDTO source) {
+        return CommonResult.success(bizClinicRoomService.updateBizClinicRoomById(source));
+    }
+
+    @ApiOperationSupport(author = "lf",order = 5)
+    @ApiOperation(value="删除诊疗室",notes = "权限: smart:clinicRoom:remove")
+    @PostMapping("/removeByIds")
+    @OperateLog
+    @SaCheckPermission("smart:clinicRoom:remove")
+    public CommonResult<Integer> delete(@RequestBody Collection<String> ids) {
+        return CommonResult.success(bizClinicRoomService.removeBizClinicRoomByIds(ids));
+    }
+}

+ 80 - 0
tr-modules/tr-module-smartFollowUp/src/main/java/cn/tr/module/smart/web/controller/BizClinicRoomWxUserController.java

@@ -0,0 +1,80 @@
+package cn.tr.module.smart.web.controller;
+
+import com.github.xiaoymin.knife4j.annotations.ApiOperationSupport;
+import cn.dev33.satoken.annotation.SaCheckPermission;
+import cn.tr.core.validation.Insert;
+import cn.tr.core.validation.Update;
+import cn.tr.core.pojo.CommonResult;
+import lombok.AllArgsConstructor;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import org.springframework.validation.annotation.Validated;
+import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.RequestBody;
+import org.springframework.web.bind.annotation.RestController;
+import cn.tr.module.smart.common.dto.BizClinicRoomWxUserDTO;
+import cn.tr.module.smart.common.service.IBizClinicRoomWxUserService;
+import cn.tr.module.smart.common.dto.BizClinicRoomWxUserQueryDTO;
+import java.util.*;
+import cn.tr.plugin.mybatis.base.BaseController;
+import org.springframework.web.bind.annotation.*;
+import cn.tr.module.api.sys.log.annotation.OperateLog;
+import cn.tr.core.pojo.TableDataInfo;
+/**
+ * 诊室患者绑定id控制器
+ *
+ * @author lf
+ * @date  2025/06/09 11:54
+ */
+@Api(tags = "诊室患者绑定id")
+@RestController
+@RequestMapping("/smart/clinicRoomWxUser")
+@AllArgsConstructor
+public class BizClinicRoomWxUserController extends BaseController{
+
+    private final IBizClinicRoomWxUserService bizClinicRoomWxUserService;
+
+    @ApiOperationSupport(author = "lf",order = 1)
+    @ApiOperation(value="根据条件查询诊室患者绑定id",notes = "权限: 无")
+    @PostMapping("/query/page")
+    public TableDataInfo<BizClinicRoomWxUserDTO> selectList(@RequestBody BizClinicRoomWxUserQueryDTO query) {
+        startPage();
+        return getDataTable(bizClinicRoomWxUserService.selectBizClinicRoomWxUserList(query));
+    }
+
+    @ApiOperationSupport(author = "lf",order = 2)
+    @ApiOperation(value = "根据id查询诊室患者绑定id",notes = "权限: smart:clinicRoomWxUser:query")
+    @GetMapping("/detail/{id}")
+    @SaCheckPermission("smart:clinicRoomWxUser:query")
+    public CommonResult<BizClinicRoomWxUserDTO> findById(@PathVariable("id") String id){
+        return CommonResult.success(bizClinicRoomWxUserService.selectBizClinicRoomWxUserById(id));
+    }
+
+    @ApiOperationSupport(author = "lf",order = 3)
+    @ApiOperation(value="添加诊室患者绑定id",notes = "权限: smart:clinicRoomWxUser:add")
+    @PostMapping("/add")
+    @OperateLog
+    @SaCheckPermission("smart:clinicRoomWxUser:add")
+    public CommonResult<Boolean> add(@RequestBody@Validated(Insert.class) BizClinicRoomWxUserDTO source) {
+        return CommonResult.success(bizClinicRoomWxUserService.insertBizClinicRoomWxUser(source));
+    }
+
+    @ApiOperationSupport(author = "lf",order = 4)
+    @ApiOperation(value="通过主键id编辑诊室患者绑定id",notes = "权限: smart:clinicRoomWxUser:edit")
+    @PostMapping("/edit")
+    @OperateLog
+    @SaCheckPermission("smart:clinicRoomWxUser:edit")
+    public CommonResult<Boolean> edit(@RequestBody@Validated(Update.class) BizClinicRoomWxUserDTO source) {
+        return CommonResult.success(bizClinicRoomWxUserService.updateBizClinicRoomWxUserById(source));
+    }
+
+    @ApiOperationSupport(author = "lf",order = 5)
+    @ApiOperation(value="删除诊室患者绑定id",notes = "权限: smart:clinicRoomWxUser:remove")
+    @PostMapping("/removeByIds")
+    @OperateLog
+    @SaCheckPermission("smart:clinicRoomWxUser:remove")
+    public CommonResult<Integer> delete(@RequestBody Collection<String> ids) {
+        return CommonResult.success(bizClinicRoomWxUserService.removeBizClinicRoomWxUserByIds(ids));
+    }
+}

+ 80 - 0
tr-modules/tr-module-smartFollowUp/src/main/java/cn/tr/module/smart/web/controller/BizPatientController.java

@@ -0,0 +1,80 @@
+package cn.tr.module.smart.web.controller;
+
+import com.github.xiaoymin.knife4j.annotations.ApiOperationSupport;
+import cn.dev33.satoken.annotation.SaCheckPermission;
+import cn.tr.core.validation.Insert;
+import cn.tr.core.validation.Update;
+import cn.tr.core.pojo.CommonResult;
+import lombok.AllArgsConstructor;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import org.springframework.validation.annotation.Validated;
+import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.RequestBody;
+import org.springframework.web.bind.annotation.RestController;
+import cn.tr.module.smart.common.dto.BizPatientDTO;
+import cn.tr.module.smart.common.service.IBizPatientService;
+import cn.tr.module.smart.common.dto.BizPatientQueryDTO;
+import java.util.*;
+import cn.tr.plugin.mybatis.base.BaseController;
+import org.springframework.web.bind.annotation.*;
+import cn.tr.module.api.sys.log.annotation.OperateLog;
+import cn.tr.core.pojo.TableDataInfo;
+/**
+ * 患者信息控制器
+ *
+ * @author lf
+ * @date  2025/06/09 15:58
+ */
+@Api(tags = "患者信息")
+@RestController
+@RequestMapping("/common/patient")
+@AllArgsConstructor
+public class BizPatientController extends BaseController{
+
+    private final IBizPatientService bizPatientService;
+
+    @ApiOperationSupport(author = "lf",order = 1)
+    @ApiOperation(value="根据条件查询患者信息",notes = "权限: 无")
+    @PostMapping("/query/page")
+    public TableDataInfo<BizPatientDTO> selectList(@RequestBody BizPatientQueryDTO query) {
+        startPage();
+        return getDataTable(bizPatientService.selectBizPatientList(query));
+    }
+
+    @ApiOperationSupport(author = "lf",order = 2)
+    @ApiOperation(value = "根据id查询患者信息",notes = "权限: common:patient:query")
+    @GetMapping("/detail/{id}")
+    @SaCheckPermission("common:patient:query")
+    public CommonResult<BizPatientDTO> findById(@PathVariable("id") String id){
+        return CommonResult.success(bizPatientService.selectBizPatientById(id));
+    }
+
+    @ApiOperationSupport(author = "lf",order = 3)
+    @ApiOperation(value="添加患者信息",notes = "权限: common:patient:add")
+    @PostMapping("/add")
+    @OperateLog
+    @SaCheckPermission("common:patient:add")
+    public CommonResult<Boolean> add(@RequestBody@Validated(Insert.class) BizPatientDTO source) {
+        return CommonResult.success(bizPatientService.insertBizPatient(source));
+    }
+
+    @ApiOperationSupport(author = "lf",order = 4)
+    @ApiOperation(value="通过主键id编辑患者信息",notes = "权限: common:patient:edit")
+    @PostMapping("/edit")
+    @OperateLog
+    @SaCheckPermission("common:patient:edit")
+    public CommonResult<Boolean> edit(@RequestBody@Validated(Update.class) BizPatientDTO source) {
+        return CommonResult.success(bizPatientService.updateBizPatientById(source));
+    }
+
+    @ApiOperationSupport(author = "lf",order = 5)
+    @ApiOperation(value="删除患者信息",notes = "权限: common:patient:remove")
+    @PostMapping("/removeByIds")
+    @OperateLog
+    @SaCheckPermission("common:patient:remove")
+    public CommonResult<Integer> delete(@RequestBody Collection<String> ids) {
+        return CommonResult.success(bizPatientService.removeBizPatientByIds(ids));
+    }
+}

+ 0 - 1
tr-modules/tr-module-smartFollowUp/src/main/java/cn/tr/module/smart/wx/controller/BizWxAppletClinicController.java

@@ -7,7 +7,6 @@ import cn.tr.core.validation.Insert;
 import cn.tr.core.validation.Update;
 import cn.tr.module.smart.common.service.IBizClinicService;
 import cn.tr.module.smart.wx.controller.vo.BizPreSurgeryQuestionVO;
-import cn.tr.module.smart.wx.controller.vo.BizWxDeptQuestionVO;
 import cn.tr.module.smart.wx.dto.BizClinicAddOrEditDTO;
 import cn.tr.module.smart.wx.dto.BizWxAppletClinicQueryDTO;
 import cn.tr.module.smart.wx.dto.BizWxAppletClinicShiftCareDTO;

+ 2 - 0
tr-modules/tr-module-smartFollowUp/src/main/java/cn/tr/module/smart/wx/controller/vo/BizWxAppletClinicVO.java

@@ -1,5 +1,6 @@
 package cn.tr.module.smart.wx.controller.vo;
 
+import com.fasterxml.jackson.annotation.JsonFormat;
 import io.swagger.annotations.ApiModel;
 import io.swagger.annotations.ApiModelProperty;
 import lombok.Data;
@@ -38,6 +39,7 @@ public class BizWxAppletClinicVO implements Serializable {
     private String patientCode;
 
     @ApiModelProperty(value = "手术开始时间", position = 6)
+    @JsonFormat(pattern = "yyyy-MM-dd", timezone = "Asia/Shanghai")
     private Date clinicStartTime;
 
     @ApiModelProperty("科室名称")