浏览代码

Merge branch 'openIm' of http://1.14.104.71:10880/root/ylrz_his_scrm_java into openIm

caoliqin 5 天之前
父节点
当前提交
f27c673880

+ 103 - 0
fs-admin/src/main/java/com/fs/his/controller/FsFirstDiagnosisController.java

@@ -0,0 +1,103 @@
+package com.fs.his.controller;
+
+import java.util.List;
+import org.springframework.security.access.prepost.PreAuthorize;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.PutMapping;
+import org.springframework.web.bind.annotation.DeleteMapping;
+import org.springframework.web.bind.annotation.PathVariable;
+import org.springframework.web.bind.annotation.RequestBody;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+import com.fs.common.annotation.Log;
+import com.fs.common.core.controller.BaseController;
+import com.fs.common.core.domain.AjaxResult;
+import com.fs.common.enums.BusinessType;
+import com.fs.his.domain.FsFirstDiagnosis;
+import com.fs.his.service.IFsFirstDiagnosisService;
+import com.fs.common.utils.poi.ExcelUtil;
+import com.fs.common.core.page.TableDataInfo;
+
+/**
+ * 初诊单Controller
+ * 
+ * @author fs
+ * @date 2025-09-01
+ */
+@RestController
+@RequestMapping("/his/fsFirstDiagnosis")
+public class FsFirstDiagnosisController extends BaseController
+{
+    @Autowired
+    private IFsFirstDiagnosisService fsFirstDiagnosisService;
+
+    /**
+     * 查询初诊单列表
+     */
+    @PreAuthorize("@ss.hasPermi('his:fsFirstDiagnosis:list')")
+    @GetMapping("/list")
+    public TableDataInfo list(FsFirstDiagnosis fsFirstDiagnosis)
+    {
+        startPage();
+        List<FsFirstDiagnosis> list = fsFirstDiagnosisService.selectFsFirstDiagnosisList(fsFirstDiagnosis);
+        return getDataTable(list);
+    }
+
+    /**
+     * 导出初诊单列表
+     */
+    @PreAuthorize("@ss.hasPermi('his:fsFirstDiagnosis:export')")
+    @Log(title = "初诊单", businessType = BusinessType.EXPORT)
+    @GetMapping("/export")
+    public AjaxResult export(FsFirstDiagnosis fsFirstDiagnosis)
+    {
+        List<FsFirstDiagnosis> list = fsFirstDiagnosisService.selectFsFirstDiagnosisList(fsFirstDiagnosis);
+        ExcelUtil<FsFirstDiagnosis> util = new ExcelUtil<FsFirstDiagnosis>(FsFirstDiagnosis.class);
+        return util.exportExcel(list, "初诊单数据");
+    }
+
+    /**
+     * 获取初诊单详细信息
+     */
+    @PreAuthorize("@ss.hasPermi('his:fsFirstDiagnosis:query')")
+    @GetMapping(value = "/{id}")
+    public AjaxResult getInfo(@PathVariable("id") Long id)
+    {
+        return AjaxResult.success(fsFirstDiagnosisService.selectFsFirstDiagnosisById(id));
+    }
+
+    /**
+     * 新增初诊单
+     */
+    @PreAuthorize("@ss.hasPermi('his:fsFirstDiagnosis:add')")
+    @Log(title = "初诊单", businessType = BusinessType.INSERT)
+    @PostMapping
+    public AjaxResult add(@RequestBody FsFirstDiagnosis fsFirstDiagnosis)
+    {
+        return toAjax(fsFirstDiagnosisService.insertFsFirstDiagnosis(fsFirstDiagnosis));
+    }
+
+    /**
+     * 修改初诊单
+     */
+    @PreAuthorize("@ss.hasPermi('his:fsFirstDiagnosis:edit')")
+    @Log(title = "初诊单", businessType = BusinessType.UPDATE)
+    @PutMapping
+    public AjaxResult edit(@RequestBody FsFirstDiagnosis fsFirstDiagnosis)
+    {
+        return toAjax(fsFirstDiagnosisService.updateFsFirstDiagnosis(fsFirstDiagnosis));
+    }
+
+    /**
+     * 删除初诊单
+     */
+    @PreAuthorize("@ss.hasPermi('his:fsFirstDiagnosis:remove')")
+    @Log(title = "初诊单", businessType = BusinessType.DELETE)
+	@DeleteMapping("/{ids}")
+    public AjaxResult remove(@PathVariable Long[] ids)
+    {
+        return toAjax(fsFirstDiagnosisService.deleteFsFirstDiagnosisByIds(ids));
+    }
+}

+ 54 - 0
fs-company/src/main/java/com/fs/company/controller/company/FsFirstDiagnosisController.java

@@ -0,0 +1,54 @@
+package com.fs.company.controller.company;
+
+import com.fs.common.annotation.Log;
+import com.fs.common.core.controller.BaseController;
+import com.fs.common.core.domain.AjaxResult;
+import com.fs.common.enums.BusinessType;
+import com.fs.his.domain.FsFirstDiagnosis;
+import com.fs.his.service.IFsFirstDiagnosisService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.security.access.prepost.PreAuthorize;
+import org.springframework.web.bind.annotation.*;
+
+/**
+ * 初诊单Controller
+ */
+@RestController
+@RequestMapping("/his/diagnosis")
+public class FsFirstDiagnosisController extends BaseController {
+
+    @Autowired
+    private IFsFirstDiagnosisService fsFirstDiagnosisService;
+
+    /**
+     * 获取初诊单详细信息
+     */
+    @PreAuthorize("@ss.hasPermi('his:fsFirstDiagnosis:query')")
+    @GetMapping(value = "/{userId}")
+    public AjaxResult getInfo(@PathVariable("userId") Long userId)
+    {
+        return AjaxResult.success(fsFirstDiagnosisService.getByUserId(userId));
+    }
+
+    /**
+     * 新增初诊单
+     */
+    @PreAuthorize("@ss.hasPermi('his:fsFirstDiagnosis:add')")
+    @Log(title = "初诊单", businessType = BusinessType.INSERT)
+    @PostMapping
+    public AjaxResult add(@RequestBody FsFirstDiagnosis fsFirstDiagnosis)
+    {
+        return toAjax(fsFirstDiagnosisService.insertFsFirstDiagnosis(fsFirstDiagnosis));
+    }
+
+    /**
+     * 修改初诊单
+     */
+    @PreAuthorize("@ss.hasPermi('his:fsFirstDiagnosis:edit')")
+    @Log(title = "初诊单", businessType = BusinessType.UPDATE)
+    @PutMapping
+    public AjaxResult edit(@RequestBody FsFirstDiagnosis fsFirstDiagnosis)
+    {
+        return toAjax(fsFirstDiagnosisService.updateFsFirstDiagnosis(fsFirstDiagnosis));
+    }
+}

+ 31 - 0
fs-doctor-app/src/main/java/com/fs/app/controller/DiagnosisController.java

@@ -0,0 +1,31 @@
+package com.fs.app.controller;
+
+import com.fs.common.core.domain.R;
+import com.fs.his.param.FsDiagnosisListDParam;
+import com.fs.his.service.IFsFirstDiagnosisService;
+import com.fs.his.vo.FsDiagnosisListDVO;
+import com.github.pagehelper.PageHelper;
+import com.github.pagehelper.PageInfo;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+import java.util.List;
+
+@RestController
+@RequestMapping("/app/diagnosis")
+public class DiagnosisController extends AppBaseController{
+
+    @Autowired
+    private IFsFirstDiagnosisService diagnosisService;
+
+    @GetMapping("/getDiagnosisList")
+    public R getDiagnosisList(FsDiagnosisListDParam param){
+        param.setDoctorId(Long.parseLong(getDoctorId()));
+        PageHelper.startPage(param.getPageNum(), param.getPageSize());
+        List<FsDiagnosisListDVO> diagnosisList = diagnosisService.getDiagnosisList(param);
+        PageInfo<FsDiagnosisListDVO> pageInfo = new PageInfo<>(diagnosisList);
+        return R.ok().put("data", pageInfo);
+    }
+}

+ 80 - 0
fs-service/src/main/java/com/fs/his/domain/FsFirstDiagnosis.java

@@ -0,0 +1,80 @@
+package com.fs.his.domain;
+
+import java.util.Date;
+import com.fasterxml.jackson.annotation.JsonFormat;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.fs.common.annotation.Excel;
+import lombok.Data;
+import com.fs.common.core.domain.BaseEntity;
+import lombok.EqualsAndHashCode;
+
+/**
+ * 初诊单对象 fs_first_diagnosis
+ *
+ * @author fs
+ * @date 2025-09-01
+ */
+@Data
+@EqualsAndHashCode(callSuper = true)
+public class FsFirstDiagnosis extends BaseEntity{
+
+    /** $column.columnComment */
+    private Long id;
+
+    /** 患者姓名 */
+    @Excel(name = "患者姓名")
+    private String patientName;
+
+    /** 年龄 */
+    @Excel(name = "年龄")
+    private String age;
+
+    /** 0-未知 1-男性 2-女性 */
+    @Excel(name = "0-未知 1-男性 2-女性")
+    private Long gender;
+
+    /** 电话 */
+    @Excel(name = "电话")
+    private String phone;
+
+    /** 身体状况 */
+    @Excel(name = "身体状况")
+    private String physicalCondition;
+
+    /** 日期 */
+    @JsonFormat(pattern = "yyyy-MM-dd")
+    @Excel(name = "日期", width = 30, dateFormat = "yyyy-MM-dd")
+    private Date dateTime;
+
+    /** 出版诊断 */
+    @Excel(name = "出版诊断")
+    private String firstDiagnosis;
+
+    /** 医生id */
+    @Excel(name = "医生id")
+    private Long doctorId;
+
+    /** 医生名称 */
+    @Excel(name = "医生名称")
+    private String doctorName;
+
+    /** 职称 */
+    @Excel(name = "职称")
+    private String doctorDep;
+
+    /** 用户id */
+    @Excel(name = "用户id")
+    private Long userId;
+
+    /** 医生证号 */
+    @Excel(name = "医生证号")
+    private String doctorCertificate;
+
+    /** 医生是否填写:0-未填写 1-已填写 */
+    private Integer doctorStatus;
+
+    /** 用户是否答复:0-未答复 1-已答复 */
+    private Integer userStatus;
+
+    private Long qwUserId;
+}

+ 1 - 1
fs-service/src/main/java/com/fs/his/mapper/FsDoctorMapper.java

@@ -195,7 +195,7 @@ public interface FsDoctorMapper
     List<OptionsVO> selectAllfollowDoctorList();
     @Select("select account from fs_doctor where doctor_id=#{id} ")
     String selectFsDoctorNameByDoctorId(Long id);
-    @Select("select doctor_id id,doctor_name name from fs_doctor where doctor_type =1 ")
+    @Select("select doctor_id id,doctor_name name,position,certificate_code from fs_doctor where doctor_type =1 ")
     List<UserVo> selectAllDocVoList();
 
     @Select("SELECT doctor_id id,doctor_name name  FROM fs_doctor WHERE FIND_IN_SET(doctor_id, (select doctor_ids from company where company_id=#{companyId})); ")

+ 81 - 0
fs-service/src/main/java/com/fs/his/mapper/FsFirstDiagnosisMapper.java

@@ -0,0 +1,81 @@
+package com.fs.his.mapper;
+
+import java.util.List;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.fs.his.domain.FsFirstDiagnosis;
+import com.fs.his.param.FsDiagnosisListDParam;
+import com.fs.his.vo.FsDiagnosisListDVO;
+import org.apache.ibatis.annotations.Param;
+import org.apache.ibatis.annotations.Select;
+
+/**
+ * 初诊单Mapper接口
+ * 
+ * @author fs
+ * @date 2025-09-01
+ */
+public interface FsFirstDiagnosisMapper extends BaseMapper<FsFirstDiagnosis>{
+    /**
+     * 查询初诊单
+     * 
+     * @param id 初诊单主键
+     * @return 初诊单
+     */
+    FsFirstDiagnosis selectFsFirstDiagnosisById(Long id);
+
+    /**
+     * 查询初诊单列表
+     * 
+     * @param fsFirstDiagnosis 初诊单
+     * @return 初诊单集合
+     */
+    List<FsFirstDiagnosis> selectFsFirstDiagnosisList(FsFirstDiagnosis fsFirstDiagnosis);
+
+    /**
+     * 新增初诊单
+     * 
+     * @param fsFirstDiagnosis 初诊单
+     * @return 结果
+     */
+    int insertFsFirstDiagnosis(FsFirstDiagnosis fsFirstDiagnosis);
+
+    /**
+     * 修改初诊单
+     * 
+     * @param fsFirstDiagnosis 初诊单
+     * @return 结果
+     */
+    int updateFsFirstDiagnosis(FsFirstDiagnosis fsFirstDiagnosis);
+
+    /**
+     * 删除初诊单
+     * 
+     * @param id 初诊单主键
+     * @return 结果
+     */
+    int deleteFsFirstDiagnosisById(Long id);
+
+    /**
+     * 批量删除初诊单
+     * 
+     * @param ids 需要删除的数据主键集合
+     * @return 结果
+     */
+    int deleteFsFirstDiagnosisByIds(Long[] ids);
+
+    /**
+     * 根据用户id查询初诊单
+     * @param userId 用户id
+     * @return 初诊单数据
+     */
+    FsFirstDiagnosis getByUserId(Long userId);
+
+    @Select({"<script> " +
+            "SELECT id,doctor_id,patient_name,gender,age,phone,date_time FROM fs_first_diagnosis " +
+            "WHERE 1 = 1" +
+            "<if test='maps.type == 0' > and  doctor_status = 0 and doctor_id is null</if>" +
+            "<if test='maps.type == 1' > and  doctor_id = #{maps.doctorId}</if>" +
+            "ORDER BY create_time desc" +
+            "</script>"})
+    List<FsDiagnosisListDVO> selectFsDiagnosisListDVO(@Param("maps") FsDiagnosisListDParam param);
+}

+ 13 - 0
fs-service/src/main/java/com/fs/his/param/FsDiagnosisListDParam.java

@@ -0,0 +1,13 @@
+package com.fs.his.param;
+
+import lombok.Data;
+
+@Data
+public class FsDiagnosisListDParam extends BaseParam{
+    Long doctorId;
+
+    /**
+     * 0-全部 1-我的
+     */
+    private Integer type;
+}

+ 73 - 0
fs-service/src/main/java/com/fs/his/service/IFsFirstDiagnosisService.java

@@ -0,0 +1,73 @@
+package com.fs.his.service;
+
+import java.util.List;
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.fs.his.domain.FsFirstDiagnosis;
+import com.fs.his.param.FsDiagnosisListDParam;
+import com.fs.his.vo.FsDiagnosisListDVO;
+
+/**
+ * 初诊单Service接口
+ * 
+ * @author fs
+ * @date 2025-09-01
+ */
+public interface IFsFirstDiagnosisService extends IService<FsFirstDiagnosis>{
+    /**
+     * 查询初诊单
+     * 
+     * @param id 初诊单主键
+     * @return 初诊单
+     */
+    FsFirstDiagnosis selectFsFirstDiagnosisById(Long id);
+
+    /**
+     * 查询初诊单列表
+     * 
+     * @param fsFirstDiagnosis 初诊单
+     * @return 初诊单集合
+     */
+    List<FsFirstDiagnosis> selectFsFirstDiagnosisList(FsFirstDiagnosis fsFirstDiagnosis);
+
+    /**
+     * 新增初诊单
+     * 
+     * @param fsFirstDiagnosis 初诊单
+     * @return 结果
+     */
+    int insertFsFirstDiagnosis(FsFirstDiagnosis fsFirstDiagnosis);
+
+    /**
+     * 修改初诊单
+     * 
+     * @param fsFirstDiagnosis 初诊单
+     * @return 结果
+     */
+    int updateFsFirstDiagnosis(FsFirstDiagnosis fsFirstDiagnosis);
+
+    /**
+     * 批量删除初诊单
+     * 
+     * @param ids 需要删除的初诊单主键集合
+     * @return 结果
+     */
+    int deleteFsFirstDiagnosisByIds(Long[] ids);
+
+    /**
+     * 删除初诊单信息
+     * 
+     * @param id 初诊单主键
+     * @return 结果
+     */
+    int deleteFsFirstDiagnosisById(Long id);
+
+    /**
+     * 根据用户ID获取首次诊断信息
+     * @param userId 用户ID
+     * @return 返回对应的首次诊断信息对象,如果不存在则可能返回null
+     */
+    FsFirstDiagnosis getByUserId(Long userId);
+
+
+    List<FsDiagnosisListDVO> getDiagnosisList(FsDiagnosisListDParam param);
+}

+ 115 - 0
fs-service/src/main/java/com/fs/his/service/impl/FsFirstDiagnosisServiceImpl.java

@@ -0,0 +1,115 @@
+package com.fs.his.service.impl;
+
+import java.util.Collections;
+import java.util.List;
+import com.fs.common.utils.DateUtils;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.fs.his.param.FsDiagnosisListDParam;
+import com.fs.his.vo.FsDiagnosisListDVO;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+import com.fs.his.mapper.FsFirstDiagnosisMapper;
+import com.fs.his.domain.FsFirstDiagnosis;
+import com.fs.his.service.IFsFirstDiagnosisService;
+
+/**
+ * 初诊单Service业务层处理
+ * 
+ * @author fs
+ * @date 2025-09-01
+ */
+@Service
+public class FsFirstDiagnosisServiceImpl extends ServiceImpl<FsFirstDiagnosisMapper, FsFirstDiagnosis> implements IFsFirstDiagnosisService {
+
+
+    @Autowired
+    private FsFirstDiagnosisMapper diagnosisMapper;
+
+    /**
+     * 查询初诊单
+     * 
+     * @param id 初诊单主键
+     * @return 初诊单
+     */
+    @Override
+    public FsFirstDiagnosis selectFsFirstDiagnosisById(Long id)
+    {
+        return baseMapper.selectFsFirstDiagnosisById(id);
+    }
+
+    /**
+     * 查询初诊单列表
+     * 
+     * @param fsFirstDiagnosis 初诊单
+     * @return 初诊单
+     */
+    @Override
+    public List<FsFirstDiagnosis> selectFsFirstDiagnosisList(FsFirstDiagnosis fsFirstDiagnosis)
+    {
+        return baseMapper.selectFsFirstDiagnosisList(fsFirstDiagnosis);
+    }
+
+    /**
+     * 新增初诊单
+     * 
+     * @param fsFirstDiagnosis 初诊单
+     * @return 结果
+     */
+    @Override
+    public int insertFsFirstDiagnosis(FsFirstDiagnosis fsFirstDiagnosis)
+    {
+        fsFirstDiagnosis.setCreateTime(DateUtils.getNowDate());
+        return baseMapper.insertFsFirstDiagnosis(fsFirstDiagnosis);
+    }
+
+    /**
+     * 修改初诊单
+     * 
+     * @param fsFirstDiagnosis 初诊单
+     * @return 结果
+     */
+    @Override
+    public int updateFsFirstDiagnosis(FsFirstDiagnosis fsFirstDiagnosis)
+    {
+        fsFirstDiagnosis.setUpdateTime(DateUtils.getNowDate());
+        return baseMapper.updateFsFirstDiagnosis(fsFirstDiagnosis);
+    }
+
+    /**
+     * 批量删除初诊单
+     * 
+     * @param ids 需要删除的初诊单主键
+     * @return 结果
+     */
+    @Override
+    public int deleteFsFirstDiagnosisByIds(Long[] ids)
+    {
+        return baseMapper.deleteFsFirstDiagnosisByIds(ids);
+    }
+
+    /**
+     * 删除初诊单信息
+     * 
+     * @param id 初诊单主键
+     * @return 结果
+     */
+    @Override
+    public int deleteFsFirstDiagnosisById(Long id)
+    {
+        return baseMapper.deleteFsFirstDiagnosisById(id);
+    }
+
+    @Override
+    public FsFirstDiagnosis getByUserId(Long userId) {
+        FsFirstDiagnosis firstDiagnosis = baseMapper.getByUserId(userId);
+        if (firstDiagnosis == null) {
+            firstDiagnosis = new FsFirstDiagnosis();
+        }
+        return firstDiagnosis;
+    }
+
+    @Override
+    public List<FsDiagnosisListDVO> getDiagnosisList(FsDiagnosisListDParam param) {
+        return diagnosisMapper.selectFsDiagnosisListDVO(param);
+    }
+}

+ 26 - 0
fs-service/src/main/java/com/fs/his/vo/FsDiagnosisListDVO.java

@@ -0,0 +1,26 @@
+package com.fs.his.vo;
+
+import com.fasterxml.jackson.annotation.JsonFormat;
+import lombok.Data;
+
+import java.util.Date;
+
+@Data
+public class FsDiagnosisListDVO {
+
+    private Long id;
+
+    private Long doctorId;
+
+    private String patientName;
+
+    private Integer gender;
+
+    private String phone;
+
+    private String firstDiagnosis;
+
+    /** 日期 */
+    @JsonFormat(pattern = "yyyy-MM-dd")
+    private Date dateTime;
+}

+ 2 - 0
fs-service/src/main/java/com/fs/his/vo/UserVo.java

@@ -6,4 +6,6 @@ import lombok.Data;
 public class UserVo {
     Long id;
     String name;
+    String position;
+    String certificateCode;
 }

+ 138 - 0
fs-service/src/main/resources/mapper/his/FsFirstDiagnosisMapper.xml

@@ -0,0 +1,138 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!DOCTYPE mapper
+PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
+"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.fs.his.mapper.FsFirstDiagnosisMapper">
+    
+    <resultMap type="FsFirstDiagnosis" id="FsFirstDiagnosisResult">
+        <result property="id"    column="id"    />
+        <result property="patientName"    column="patient_name"    />
+        <result property="age"    column="age"    />
+        <result property="gender"    column="gender"    />
+        <result property="phone"    column="phone"    />
+        <result property="physicalCondition"    column="physical_condition"    />
+        <result property="dateTime"    column="date_time"    />
+        <result property="firstDiagnosis"    column="first_diagnosis"    />
+        <result property="doctorId"    column="doctor_id"    />
+        <result property="doctorName"    column="doctor_name"    />
+        <result property="doctorDep"    column="doctor_dep"    />
+        <result property="createTime"    column="create_time"    />
+        <result property="updateTime"    column="update_time"    />
+        <result property="userId"    column="user_id"    />
+        <result property="doctorCertificate"    column="doctor_certificate"    />
+        <result property="doctorStatus"    column="doctor_status"    />
+        <result property="userStatus"    column="user_status"    />
+        <result property="qwUserId"    column="qw_user_id"    />
+    </resultMap>
+
+    <sql id="selectFsFirstDiagnosisVo">
+        select id, patient_name, age, gender, phone, physical_condition, date_time, first_diagnosis, doctor_id, doctor_name, doctor_dep, create_time, update_time, user_id, doctor_certificate,qw_user_id,doctor_status,user_status from fs_first_diagnosis
+    </sql>
+
+    <select id="selectFsFirstDiagnosisList" parameterType="FsFirstDiagnosis" resultMap="FsFirstDiagnosisResult">
+        <include refid="selectFsFirstDiagnosisVo"/>
+        <where>  
+            <if test="patientName != null  and patientName != ''"> and patient_name like concat('%', #{patientName}, '%')</if>
+            <if test="age != null  and age != ''"> and age = #{age}</if>
+            <if test="gender != null "> and gender = #{gender}</if>
+            <if test="phone != null  and phone != ''"> and phone = #{phone}</if>
+            <if test="physicalCondition != null  and physicalCondition != ''"> and physical_condition = #{physicalCondition}</if>
+            <if test="dateTime != null "> and date_time = #{dateTime}</if>
+            <if test="firstDiagnosis != null  and firstDiagnosis != ''"> and first_diagnosis = #{firstDiagnosis}</if>
+            <if test="doctorId != null "> and doctor_id = #{doctorId}</if>
+            <if test="doctorName != null  and doctorName != ''"> and doctor_name like concat('%', #{doctorName}, '%')</if>
+            <if test="doctorDep != null  and doctorDep != ''"> and doctor_dep = #{doctorDep}</if>
+            <if test="userId != null "> and user_id = #{userId}</if>
+            <if test="doctorCertificate != null  and doctorCertificate != ''"> and doctor_certificate = #{doctorCertificate}</if>
+        </where>
+    </select>
+    
+    <select id="selectFsFirstDiagnosisById" parameterType="Long" resultMap="FsFirstDiagnosisResult">
+        <include refid="selectFsFirstDiagnosisVo"/>
+        where id = #{id}
+    </select>
+        
+    <insert id="insertFsFirstDiagnosis" parameterType="FsFirstDiagnosis">
+        insert into fs_first_diagnosis
+        <trim prefix="(" suffix=")" suffixOverrides=",">
+            <if test="id != null">id,</if>
+            <if test="patientName != null">patient_name,</if>
+            <if test="age != null">age,</if>
+            <if test="gender != null">gender,</if>
+            <if test="phone != null">phone,</if>
+            <if test="physicalCondition != null">physical_condition,</if>
+            <if test="dateTime != null">date_time,</if>
+            <if test="firstDiagnosis != null">first_diagnosis,</if>
+            <if test="doctorId != null">doctor_id,</if>
+            <if test="doctorName != null">doctor_name,</if>
+            <if test="doctorDep != null">doctor_dep,</if>
+            <if test="createTime != null">create_time,</if>
+            <if test="updateTime != null">update_time,</if>
+            <if test="userId != null">user_id,</if>
+            <if test="doctorCertificate != null">doctor_certificate,</if>
+            <if test="qwUserId != null">qw_user_id,</if>
+            <if test="doctorStatus != null">doctor_status,</if>
+            <if test="userStatus != null">user_status,</if>
+         </trim>
+        <trim prefix="values (" suffix=")" suffixOverrides=",">
+            <if test="id != null">#{id},</if>
+            <if test="patientName != null">#{patientName},</if>
+            <if test="age != null">#{age},</if>
+            <if test="gender != null">#{gender},</if>
+            <if test="phone != null">#{phone},</if>
+            <if test="physicalCondition != null">#{physicalCondition},</if>
+            <if test="dateTime != null">#{dateTime},</if>
+            <if test="firstDiagnosis != null">#{firstDiagnosis},</if>
+            <if test="doctorId != null">#{doctorId},</if>
+            <if test="doctorName != null">#{doctorName},</if>
+            <if test="doctorDep != null">#{doctorDep},</if>
+            <if test="createTime != null">#{createTime},</if>
+            <if test="updateTime != null">#{updateTime},</if>
+            <if test="userId != null">#{userId},</if>
+            <if test="doctorCertificate != null">#{doctorCertificate},</if>
+            <if test="qwUserId != null">#{qwUserId},</if>
+            <if test="doctorStatus != null">#{doctorStatus},</if>
+            <if test="userStatus != null">#{userStatus},</if>
+         </trim>
+    </insert>
+
+    <update id="updateFsFirstDiagnosis" parameterType="FsFirstDiagnosis">
+        update fs_first_diagnosis
+        <trim prefix="SET" suffixOverrides=",">
+            <if test="patientName != null">patient_name = #{patientName},</if>
+            <if test="age != null">age = #{age},</if>
+            <if test="gender != null">gender = #{gender},</if>
+            <if test="phone != null">phone = #{phone},</if>
+            <if test="physicalCondition != null">physical_condition = #{physicalCondition},</if>
+            <if test="dateTime != null">date_time = #{dateTime},</if>
+            <if test="firstDiagnosis != null">first_diagnosis = #{firstDiagnosis},</if>
+            <if test="doctorId != null">doctor_id = #{doctorId},</if>
+            <if test="doctorName != null">doctor_name = #{doctorName},</if>
+            <if test="doctorDep != null">doctor_dep = #{doctorDep},</if>
+            <if test="createTime != null">create_time = #{createTime},</if>
+            <if test="updateTime != null">update_time = #{updateTime},</if>
+            <if test="userId != null">user_id = #{userId},</if>
+            <if test="doctorCertificate != null">doctor_certificate = #{doctorCertificate},</if>
+            <if test="qwUserId != null">qw_user_id = #{qwUserId},</if>
+            <if test="doctorStatus != null">doctor_status = #{doctorStatus},</if>
+            <if test="userStatus != null">user_status = #{userStatus},</if>
+        </trim>
+        where id = #{id}
+    </update>
+
+    <delete id="deleteFsFirstDiagnosisById" parameterType="Long">
+        delete from fs_first_diagnosis where id = #{id}
+    </delete>
+
+    <delete id="deleteFsFirstDiagnosisByIds" parameterType="String">
+        delete from fs_first_diagnosis where id in 
+        <foreach item="id" collection="array" open="(" separator="," close=")">
+            #{id}
+        </foreach>
+    </delete>
+
+    <select id="getByUserId" parameterType="Long" resultMap="FsFirstDiagnosisResult">
+        <include refid="selectFsFirstDiagnosisVo"/>
+        where user_id = #{userId}
+    </select>
+</mapper>