Преглед на файлове

益寿缘增加常用药品\常用诊断功能

cgp преди 2 дни
родител
ревизия
154471059e

+ 46 - 0
fs-doctor-app/src/main/java/com/fs/app/controller/DoctorCommonDiagnoseController.java

@@ -0,0 +1,46 @@
+package com.fs.app.controller;
+
+
+import com.fs.common.core.domain.R;
+import com.fs.his.param.FsDoctorCommonDiagnose;
+import com.fs.his.service.IFsDoctorCommonDiagnoseService;
+import com.github.pagehelper.PageInfo;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.*;
+
+@RestController
+@RequestMapping("/app/commonDiagnose")
+public class DoctorCommonDiagnoseController extends AppBaseController {
+
+    @Autowired
+    private IFsDoctorCommonDiagnoseService commonDiagnoseService;
+
+    @GetMapping("/list")
+    public R list(
+        @RequestParam(defaultValue = "1") Integer pageNum,
+        @RequestParam(defaultValue = "10") Integer pageSize,
+        String diagnose  // 模糊搜索字段
+    ) {
+        FsDoctorCommonDiagnose param = new FsDoctorCommonDiagnose();
+        param.setDoctorId(Long.parseLong(getDoctorId()));
+        param.setDiagnose(diagnose);
+        PageInfo<FsDoctorCommonDiagnose> page = commonDiagnoseService.getList(param, pageNum, pageSize);
+        return R.ok().put("data", page);
+    }
+
+    @PostMapping("/add")
+    public R add(@RequestBody FsDoctorCommonDiagnose diagnose) {
+        diagnose.setDoctorId(Long.parseLong(getDoctorId()));
+        return commonDiagnoseService.add(diagnose);
+    }
+
+    @PostMapping("/edit")
+    public R edit(@RequestBody FsDoctorCommonDiagnose diagnose) {
+        return commonDiagnoseService.edit(diagnose);
+    }
+
+    @PostMapping("/delete/{id}")
+    public R delete(@PathVariable Long id) {
+        return commonDiagnoseService.delete(id);
+    }
+}

+ 49 - 0
fs-doctor-app/src/main/java/com/fs/app/controller/DoctorCommonDrugController.java

@@ -0,0 +1,49 @@
+package com.fs.app.controller;
+
+import com.fs.app.annotation.Login;
+import com.fs.common.core.domain.R;
+import com.fs.his.param.FsDoctorCommonDrug;
+import com.fs.his.service.IFsDoctorCommonDrugService;
+import com.github.pagehelper.PageInfo;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.*;
+
+@Slf4j
+@RestController
+@RequestMapping("/app/commonDrug")
+public class DoctorCommonDrugController extends AppBaseController {
+
+    @Autowired
+    private IFsDoctorCommonDrugService commonDrugService;
+
+    @GetMapping("/list")
+    public R list(
+        @RequestParam(defaultValue = "1") Integer pageNum,
+        @RequestParam(defaultValue = "10") Integer pageSize,
+        String drugName
+    ) {
+        FsDoctorCommonDrug param = new FsDoctorCommonDrug();
+        param.setDoctorId(Long.parseLong(getDoctorId()));
+        param.setDrugName(drugName);
+
+        PageInfo<FsDoctorCommonDrug> page = commonDrugService.getList(param, pageNum, pageSize);
+        return R.ok().put("data", page);
+    }
+
+    @PostMapping("/add")
+    public R add(@RequestBody FsDoctorCommonDrug drug) {
+        drug.setDoctorId(Long.parseLong(getDoctorId()));
+        return commonDrugService.add(drug);
+    }
+
+    @PostMapping("/edit")
+    public R edit(@RequestBody FsDoctorCommonDrug drug) {
+        return commonDrugService.edit(drug);
+    }
+
+    @PostMapping("/delete/{id}")
+    public R delete(@PathVariable Long id) {
+        return commonDrugService.delete(id);
+    }
+}

+ 14 - 0
fs-service/src/main/java/com/fs/his/mapper/FsDoctorCommonDiagnoseMapper.java

@@ -0,0 +1,14 @@
+package com.fs.his.mapper;
+
+import com.fs.his.param.FsDoctorCommonDiagnose;
+import org.apache.ibatis.annotations.Param;
+
+import java.util.List;
+
+public interface FsDoctorCommonDiagnoseMapper {
+    List<FsDoctorCommonDiagnose> selectList(@Param("param") FsDoctorCommonDiagnose param);
+    int insert(FsDoctorCommonDiagnose record);
+    int updateById(FsDoctorCommonDiagnose record);
+    int deleteById(Long id);
+    int countByDoctorIdAndDiagnose(@Param("doctorId") Long doctorId, @Param("diagnose") String diagnose);
+}

+ 14 - 0
fs-service/src/main/java/com/fs/his/mapper/FsDoctorCommonDrugMapper.java

@@ -0,0 +1,14 @@
+// com/fs/his/mapper/FsDoctorCommonDrugMapper.java
+package com.fs.his.mapper;
+import com.fs.his.param.FsDoctorCommonDrug;
+import org.apache.ibatis.annotations.Param;
+
+import java.util.List;
+
+public interface FsDoctorCommonDrugMapper {
+    List<FsDoctorCommonDrug> selectList(@Param("param") FsDoctorCommonDrug param);
+    int insert(FsDoctorCommonDrug record);
+    int updateById(FsDoctorCommonDrug record);
+    int deleteById(Long commonDrugId);
+    FsDoctorCommonDrug selectById(Long commonDrugId);
+}

+ 14 - 0
fs-service/src/main/java/com/fs/his/param/FsDoctorCommonDiagnose.java

@@ -0,0 +1,14 @@
+// com/fs/his/param/FsDoctorCommonDiagnose.java
+package com.fs.his.param;
+
+import lombok.Data;
+
+import java.util.Date;
+
+@Data
+public class FsDoctorCommonDiagnose {
+    private Long commonDiagnoseId;
+    private Long doctorId;
+    private String diagnose;      // 诊断内容(支持长文本)
+    private Date createTime;
+}

+ 24 - 0
fs-service/src/main/java/com/fs/his/param/FsDoctorCommonDrug.java

@@ -0,0 +1,24 @@
+package com.fs.his.param;
+
+import lombok.Data;
+
+import java.util.Date;
+@Data
+public class FsDoctorCommonDrug {
+    //主键
+    private Long commonDrugId;
+    //医生id
+    private Long doctorId;
+    //药品名称
+    private String drugName;
+    //药品规格
+    private String drugSpec;
+    //用法
+    private String usageMethod;
+    //频次
+    private String usageFrequencyUnit;
+    //用药数量
+    private String usagePerUseCount;
+    //创建时间
+    private Date createTime;
+}

+ 11 - 0
fs-service/src/main/java/com/fs/his/service/IFsDoctorCommonDiagnoseService.java

@@ -0,0 +1,11 @@
+package com.fs.his.service;
+import com.fs.common.core.domain.R;
+import com.fs.his.param.FsDoctorCommonDiagnose;
+import com.github.pagehelper.PageInfo;
+
+public interface IFsDoctorCommonDiagnoseService {
+    PageInfo<FsDoctorCommonDiagnose> getList(FsDoctorCommonDiagnose param, Integer pageNum, Integer pageSize);
+    R add(FsDoctorCommonDiagnose diagnose);
+    R edit(FsDoctorCommonDiagnose diagnose);
+    R delete(Long id);
+}

+ 12 - 0
fs-service/src/main/java/com/fs/his/service/IFsDoctorCommonDrugService.java

@@ -0,0 +1,12 @@
+package com.fs.his.service;
+
+import com.fs.common.core.domain.R;
+import com.fs.his.param.FsDoctorCommonDrug;
+import com.github.pagehelper.PageInfo;
+
+public interface IFsDoctorCommonDrugService {
+    PageInfo<FsDoctorCommonDrug> getList(FsDoctorCommonDrug param, int pageNum, int pageSize);
+    R add(FsDoctorCommonDrug drug);
+    R edit(FsDoctorCommonDrug drug);
+    R delete(Long commonDrugId);
+}

+ 63 - 0
fs-service/src/main/java/com/fs/his/service/impl/FsDoctorCommonDiagnoseServiceImpl.java

@@ -0,0 +1,63 @@
+// com/fs/his/service/impl/FsDoctorCommonDiagnoseServiceImpl.java
+package com.fs.his.service.impl;
+
+import com.fs.common.core.domain.R;
+import com.fs.his.mapper.FsDoctorCommonDiagnoseMapper;
+import com.fs.his.param.FsDoctorCommonDiagnose;
+import com.fs.his.service.IFsDoctorCommonDiagnoseService;
+import com.github.pagehelper.PageHelper;
+import com.github.pagehelper.PageInfo;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+import org.springframework.util.StringUtils;
+
+import java.util.List;
+
+@Service
+public class FsDoctorCommonDiagnoseServiceImpl implements IFsDoctorCommonDiagnoseService {
+
+    @Autowired
+    private FsDoctorCommonDiagnoseMapper mapper;
+
+    @Override
+    public PageInfo<FsDoctorCommonDiagnose> getList(FsDoctorCommonDiagnose param, Integer pageNum, Integer pageSize) {
+        PageHelper.startPage(pageNum, pageSize);
+        List<FsDoctorCommonDiagnose> fsDoctorCommonDiagnoses = mapper.selectList(param);
+        return new PageInfo<>(fsDoctorCommonDiagnoses);
+    }
+
+    @Override
+    public R add(FsDoctorCommonDiagnose diagnose) {
+        if (StringUtils.isEmpty(diagnose.getDiagnose())) {
+            return R.error("诊断内容不能为空");
+        }
+        // 可选:检查是否重复
+        // int count = mapper.countByDoctorIdAndDiagnose(diagnose.getDoctorId(), diagnose.getDiagnose());
+        // if (count > 0) return R.error("该诊断已存在");
+
+        diagnose.setCreateTime(new java.util.Date());
+        int result = mapper.insert(diagnose);
+        return result > 0 ? R.ok() : R.error("新增失败");
+    }
+
+    @Override
+    public R edit(FsDoctorCommonDiagnose diagnose) {
+        if (diagnose.getCommonDiagnoseId() == null) {
+            return R.error("ID不能为空");
+        }
+        if (StringUtils.isEmpty(diagnose.getDiagnose())) {
+            return R.error("诊断内容不能为空");
+        }
+        int result = mapper.updateById(diagnose);
+        return result > 0 ? R.ok() : R.error("编辑失败");
+    }
+
+    @Override
+    public R delete(Long id) {
+        if (id == null) {
+            return R.error("ID不能为空");
+        }
+        int result = mapper.deleteById(id);
+        return result > 0 ? R.ok() : R.error("删除失败");
+    }
+}

+ 44 - 0
fs-service/src/main/java/com/fs/his/service/impl/FsDoctorCommonDrugServiceImpl.java

@@ -0,0 +1,44 @@
+package com.fs.his.service.impl;
+
+import com.fs.common.core.domain.R;
+import com.fs.his.mapper.FsDoctorCommonDrugMapper;
+import com.fs.his.param.FsDoctorCommonDrug;
+import com.fs.his.service.IFsDoctorCommonDrugService;
+import com.github.pagehelper.PageHelper;
+import com.github.pagehelper.PageInfo;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+import java.util.List;
+
+@Service
+public class FsDoctorCommonDrugServiceImpl implements IFsDoctorCommonDrugService {
+
+    @Autowired
+    private FsDoctorCommonDrugMapper mapper;
+
+    @Override
+    public PageInfo<FsDoctorCommonDrug> getList(FsDoctorCommonDrug param, int pageNum, int pageSize) {
+        PageHelper.startPage(pageNum, pageSize);
+        List<FsDoctorCommonDrug> fsDoctorCommonDrugs = mapper.selectList(param);
+        return new PageInfo<>(fsDoctorCommonDrugs);
+    }
+
+    @Override
+    public R add(FsDoctorCommonDrug drug) {
+        mapper.insert(drug);
+        return R.ok("新增成功");
+    }
+
+    @Override
+    public R edit(FsDoctorCommonDrug drug) {
+        mapper.updateById(drug);
+        return R.ok("修改成功");
+    }
+
+    @Override
+    public R delete(Long commonDrugId) {
+        mapper.deleteById(commonDrugId);
+        return R.ok("删除成功");
+    }
+}

+ 1 - 1
fs-service/src/main/java/com/fs/his/service/impl/PrescriptionImageServiceImpl.java

@@ -278,7 +278,7 @@ public class PrescriptionImageServiceImpl implements PrescriptionImageService {
 
             String firstLine = line1.toString().trim();
             if (StringUtils.isNotBlank(firstLine)) {
-                y = drawDrugTextLine(pen, firstLine, x, y, 1000, innerLineSpacing);
+                y = drawDrugTextLine(pen, firstLine, x, y, 1100, innerLineSpacing);
             }
             y += innerLineSpacing; // 第一行占位(即使无内容也占)
 

+ 54 - 0
fs-service/src/main/resources/mapper/his/FsDoctorCommonDiagnoseMapper.xml

@@ -0,0 +1,54 @@
+<?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.FsDoctorCommonDiagnoseMapper">
+
+    <resultMap id="BaseResultMap" type="com.fs.his.param.FsDoctorCommonDiagnose">
+        <id column="common_diagnose_id" property="commonDiagnoseId"/>
+        <result column="doctor_id" property="doctorId"/>
+        <result column="diagnose" property="diagnose"/>
+        <result column="create_time" property="createTime"/>
+    </resultMap>
+
+    <sql id="Base_Column_List">
+        common_diagnose_id, doctor_id, diagnose, create_time
+    </sql>
+
+    <!-- 查询列表(支持模糊搜索) -->
+    <select id="selectList" resultMap="BaseResultMap">
+        SELECT <include refid="Base_Column_List"/>
+        FROM fs_doctor_common_diagnose
+        WHERE doctor_id = #{param.doctorId}
+        <if test="param.diagnose != null and param.diagnose != ''">
+            AND diagnose LIKE CONCAT('%', #{param.diagnose}, '%')
+        </if>
+        ORDER BY create_time DESC
+    </select>
+
+    <!-- 新增 -->
+    <insert id="insert" useGeneratedKeys="true" keyProperty="commonDiagnoseId">
+        INSERT INTO fs_doctor_common_diagnose (doctor_id, diagnose, create_time)
+        VALUES (#{doctorId}, #{diagnose}, NOW())
+    </insert>
+
+    <!-- 编辑 -->
+    <update id="updateById">
+        UPDATE fs_doctor_common_diagnose
+        SET diagnose = #{diagnose}
+        WHERE common_diagnose_id = #{commonDiagnoseId}
+    </update>
+
+    <!-- 删除 -->
+    <delete id="deleteById">
+        DELETE FROM fs_doctor_common_diagnose
+        WHERE common_diagnose_id = #{id}
+    </delete>
+
+    <!-- 检查重复(可选,用于新增时去重) -->
+    <select id="countByDoctorIdAndDiagnose" resultType="int">
+        SELECT COUNT(1)
+        FROM fs_doctor_common_diagnose
+        WHERE doctor_id = #{doctorId}
+          AND diagnose = #{diagnose}
+    </select>
+
+</mapper>

+ 63 - 0
fs-service/src/main/resources/mapper/his/FsDoctorCommonDrugMapper.xml

@@ -0,0 +1,63 @@
+<?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.FsDoctorCommonDrugMapper">
+
+    <resultMap id="BaseResultMap" type="com.fs.his.param.FsDoctorCommonDrug">
+        <id property="commonDrugId" column="common_drug_id"/>
+        <result property="doctorId" column="doctor_id"/>
+        <result property="drugName" column="drug_name"/>
+        <result property="drugSpec" column="drug_spec"/>
+        <result property="usageMethod" column="usage_method"/>
+        <result property="usageFrequencyUnit" column="usage_frequency_unit"/>
+        <result property="usagePerUseCount" column="usage_per_use_count"/>
+        <result property="createTime" column="create_time"/>
+    </resultMap>
+
+    <sql id="baseColumn">
+        common_drug_id, doctor_id, drug_name, drug_spec,
+        usage_method, usage_frequency_unit, usage_per_use_count, create_time
+    </sql>
+
+    <select id="selectList" resultMap="BaseResultMap">
+        SELECT <include refid="baseColumn"/>
+        FROM fs_doctor_common_drug
+        WHERE doctor_id = #{param.doctorId}
+        <if test="param.drugName != null and param.drugName != ''">
+            AND drug_name LIKE CONCAT('%', #{param.drugName}, '%')
+        </if>
+        ORDER BY create_time DESC
+    </select>
+
+    <insert id="insert" useGeneratedKeys="true" keyProperty="commonDrugId">
+        INSERT INTO fs_doctor_common_drug (
+            doctor_id, drug_name, drug_spec,
+            usage_method, usage_frequency_unit, usage_per_use_count, create_time
+        ) VALUES (
+                     #{doctorId}, #{drugName}, #{drugSpec},
+                     #{usageMethod}, #{usageFrequencyUnit}, #{usagePerUseCount}, NOW()
+                 )
+    </insert>
+
+    <update id="updateById">
+        UPDATE fs_doctor_common_drug
+        SET
+            drug_name = #{drugName},
+            drug_spec = #{drugSpec},
+            usage_method = #{usageMethod},
+            usage_frequency_unit = #{usageFrequencyUnit},
+            usage_per_use_count = #{usagePerUseCount}
+        WHERE common_drug_id = #{commonDrugId}
+    </update>
+
+    <delete id="deleteById">
+        DELETE FROM fs_doctor_common_drug WHERE common_drug_id = #{commonDrugId}
+    </delete>
+
+    <select id="selectById" resultMap="BaseResultMap">
+        SELECT <include refid="baseColumn"/>
+        FROM fs_doctor_common_drug
+        WHERE common_drug_id = #{commonDrugId}
+    </select>
+
+</mapper>