Files
mp-java/src/main/java/com/gxwebsoft/clinic/mapper/xml/ClinicPrescriptionMapper.xml
赵忠林 a66fd838ac feat(clinic):优化处方相关功能并调整菜单排序- 修改 ClinicPatientUser 实体中的 sex 字段类型为 Integer
- 移除 ClinicPatientUser 中 age 字段的 @TableField 注解
- 在 ClinicPrescription 实体中新增患者和医生相关信息字段
- 更新处方主表关联查询 SQL,增加患者和医生信息关联
- 处方控制器中启用当前登录用户作为医生,并生成订单号- 保存处方后返回包含处方 ID 的完整数据
- 调整处方明细接口权限注解,统一使用处方主表权限
- 新增获取最新一条处方记录的服务方法
- 菜单服务中将插件菜单排序号从0 调整为 100
2025-11-03 06:05:50 +08:00

93 lines
3.7 KiB
XML

<?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.gxwebsoft.clinic.mapper.ClinicPrescriptionMapper">
<!-- 关联查询sql -->
<sql id="selectSql">
SELECT a.*, b.real_name, b.age, b.sex, b.height, b.weight, c.real_name as doctorName, c.qualification
FROM clinic_prescription a
LEFT JOIN clinic_patient_user b ON a.user_id = b.user_id
LEFT JOIN clinic_doctor_user c ON a.doctor_id = c.user_id
<where>
<if test="param.id != null">
AND a.id = #{param.id}
</if>
<if test="param.userId != null">
AND a.user_id = #{param.userId}
</if>
<if test="param.doctorId != null">
AND a.doctor_id = #{param.doctorId}
</if>
<if test="param.orderNo != null">
AND a.order_no LIKE CONCAT('%', #{param.orderNo}, '%')
</if>
<if test="param.visitRecordId != null">
AND a.visit_record_id = #{param.visitRecordId}
</if>
<if test="param.prescriptionType != null">
AND a.prescription_type = #{param.prescriptionType}
</if>
<if test="param.diagnosis != null">
AND a.diagnosis LIKE CONCAT('%', #{param.diagnosis}, '%')
</if>
<if test="param.treatmentPlan != null">
AND a.treatment_plan LIKE CONCAT('%', #{param.treatmentPlan}, '%')
</if>
<if test="param.decoctionInstructions != null">
AND a.decoction_instructions LIKE CONCAT('%', #{param.decoctionInstructions}, '%')
</if>
<if test="param.orderPrice != null">
AND a.order_price = #{param.orderPrice}
</if>
<if test="param.price != null">
AND a.price = #{param.price}
</if>
<if test="param.payPrice != null">
AND a.pay_price = #{param.payPrice}
</if>
<if test="param.isInvalid != null">
AND a.is_invalid = #{param.isInvalid}
</if>
<if test="param.isSettled != null">
AND a.is_settled = #{param.isSettled}
</if>
<if test="param.ids != null">
AND a.id IN
<foreach collection="param.ids" item="item" separator="," open="(" close=")">
#{item}
</foreach>
</if>
<if test="param.settleTime != null">
AND a.settle_time LIKE CONCAT('%', #{param.settleTime}, '%')
</if>
<if test="param.status != null">
AND a.status = #{param.status}
</if>
<if test="param.comments != null">
AND a.comments LIKE CONCAT('%', #{param.comments}, '%')
</if>
<if test="param.createTimeStart != null">
AND a.create_time &gt;= #{param.createTimeStart}
</if>
<if test="param.createTimeEnd != null">
AND a.create_time &lt;= #{param.createTimeEnd}
</if>
<if test="param.keywords != null">
AND (a.comments LIKE CONCAT('%', #{param.keywords}, '%')
)
</if>
</where>
</sql>
<!-- 分页查询 -->
<select id="selectPageRel" resultType="com.gxwebsoft.clinic.entity.ClinicPrescription">
<include refid="selectSql"></include>
</select>
<!-- 查询全部 -->
<select id="selectListRel" resultType="com.gxwebsoft.clinic.entity.ClinicPrescription">
<include refid="selectSql"></include>
</select>
</mapper>