陈昶聿
2026-10-12 038cd34ebd8148a980e1eb42e2f2d8afe17c5329
【丽水】新增专科档案生成配置表及CRUD代码
已添加7个文件
426 ■■■■■ 文件已修改
ruoyi-admin/src/main/java/com/ruoyi/web/controller/smartor/PatSpecificArchiveGenerateConfigController.java 89 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
smartor/src/main/java/com/smartor/domain/PatSpecificArchiveGenerateConfig.java 60 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
smartor/src/main/java/com/smartor/mapper/PatSpecificArchiveGenerateConfigMapper.java 28 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
smartor/src/main/java/com/smartor/service/IPatSpecificArchiveGenerateConfigService.java 26 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
smartor/src/main/java/com/smartor/service/impl/PatSpecificArchiveGenerateConfigServiceImpl.java 61 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
smartor/src/main/resources/mapper/smartor/PatSpecificArchiveGenerateConfigMapper.xml 134 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
sql/pat_specific_archive_generate_config_20261012.sql 28 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-admin/src/main/java/com/ruoyi/web/controller/smartor/PatSpecificArchiveGenerateConfigController.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,89 @@
package com.ruoyi.web.controller.smartor;
import com.ruoyi.common.annotation.AddOrgId;
import com.ruoyi.common.annotation.Log;
import com.ruoyi.common.core.controller.BaseController;
import com.ruoyi.common.core.domain.AjaxResult;
import com.ruoyi.common.core.domain.entity.SysUser;
import com.ruoyi.common.core.page.TableDataInfo;
import com.ruoyi.common.enums.BusinessType;
import com.ruoyi.common.utils.PageUtils;
import com.ruoyi.common.utils.poi.ExcelUtil;
import com.smartor.domain.PatSpecificArchiveGenerateConfig;
import com.smartor.service.IPatSpecificArchiveGenerateConfigService;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import javax.servlet.http.HttpServletResponse;
import java.util.List;
/**
 * ä¸“科档案生成配置Controller
 *
 * @author ruoyi
 * @date 2026-10-12
 */
@Api(description = "专科档案生成配置")
@RestController
@RequestMapping("/smartor/specificArchiveGenerateConfig")
public class PatSpecificArchiveGenerateConfigController extends BaseController {
    @Autowired
    private IPatSpecificArchiveGenerateConfigService patSpecificArchiveGenerateConfigService;
    @ApiOperation("查询专科档案生成配置列表")
    //@PreAuthorize("@ss.hasPermi('system:specificArchiveGenerateConfig:list')")
    @AddOrgId(field = "orgid", paramIndex = 0, campusField = "campusid")
    @PostMapping("/selectPatSpecificArchiveGenerateConfigList")
    public TableDataInfo selectPatSpecificArchiveGenerateConfigList(@RequestBody PatSpecificArchiveGenerateConfig patSpecificArchiveGenerateConfig) {
        PageUtils.startPageByPost(patSpecificArchiveGenerateConfig.getPageNum(), patSpecificArchiveGenerateConfig.getPageSize());
        List<PatSpecificArchiveGenerateConfig> list = patSpecificArchiveGenerateConfigService.selectPatSpecificArchiveGenerateConfigList(patSpecificArchiveGenerateConfig);
        return getDataTable(list);
    }
    @ApiOperation("导出专科档案生成配置列表")
    //@PreAuthorize("@ss.hasPermi('system:specificArchiveGenerateConfig:export')")
    @Log(title = "专科档案生成配置", businessType = BusinessType.EXPORT)
    @PostMapping("/export")
    public void export(HttpServletResponse response, PatSpecificArchiveGenerateConfig patSpecificArchiveGenerateConfig) {
        List<PatSpecificArchiveGenerateConfig> list = patSpecificArchiveGenerateConfigService.selectPatSpecificArchiveGenerateConfigList(patSpecificArchiveGenerateConfig);
        ExcelUtil<PatSpecificArchiveGenerateConfig> util = new ExcelUtil<PatSpecificArchiveGenerateConfig>(PatSpecificArchiveGenerateConfig.class);
        util.exportExcel(response, list, "专科档案生成配置数据");
    }
    @ApiOperation("获取专科档案生成配置详细信息")
    //@PreAuthorize("@ss.hasPermi('system:specificArchiveGenerateConfig:query')")
    @GetMapping(value = "/getInfo/{id}")
    public AjaxResult getInfo(@PathVariable("id") Long id) {
        return success(patSpecificArchiveGenerateConfigService.selectPatSpecificArchiveGenerateConfigById(id));
    }
    @ApiOperation("新增专科档案生成配置")
    //@PreAuthorize("@ss.hasPermi('system:specificArchiveGenerateConfig:add')")
    @Log(title = "专科档案生成配置", businessType = BusinessType.INSERT)
    @AddOrgId(field = "orgid", paramIndex = 0, campusField = "campusid")
    @PostMapping("/add")
    public AjaxResult add(@RequestBody PatSpecificArchiveGenerateConfig patSpecificArchiveGenerateConfig) {
        SysUser user = getLoginUser().getUser();
        patSpecificArchiveGenerateConfig.setOrgid(user.getOrgid());
        return toAjax(patSpecificArchiveGenerateConfigService.insertPatSpecificArchiveGenerateConfig(patSpecificArchiveGenerateConfig));
    }
    @ApiOperation("修改专科档案生成配置")
    //@PreAuthorize("@ss.hasPermi('system:specificArchiveGenerateConfig:edit')")
    @Log(title = "专科档案生成配置", businessType = BusinessType.UPDATE)
    @AddOrgId(field = "orgid", paramIndex = 0, campusField = "campusid")
    @PostMapping("/edit")
    public AjaxResult edit(@RequestBody PatSpecificArchiveGenerateConfig patSpecificArchiveGenerateConfig) {
        return toAjax(patSpecificArchiveGenerateConfigService.updatePatSpecificArchiveGenerateConfig(patSpecificArchiveGenerateConfig));
    }
    @ApiOperation("删除专科档案生成配置")
    //@PreAuthorize("@ss.hasPermi('system:specificArchiveGenerateConfig:remove')")
    @Log(title = "专科档案生成配置", businessType = BusinessType.DELETE)
    @GetMapping("/remove/{ids}")
    public AjaxResult remove(@PathVariable Long[] ids) {
        return toAjax(patSpecificArchiveGenerateConfigService.deletePatSpecificArchiveGenerateConfigByIds(ids));
    }
}
smartor/src/main/java/com/smartor/domain/PatSpecificArchiveGenerateConfig.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,60 @@
package com.smartor.domain;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
/**
 * ä¸“科档案生成配置对象 pat_specific_archive_generate_config
 *
 * @author ruoyi
 * @date 2026-10-12
 */
@Data
@ApiModel(value = "专科档案生成配置对象")
public class PatSpecificArchiveGenerateConfig extends BaseEntity {
    private static final long serialVersionUID = 1L;
    /** é…ç½®è¡¨ä¸»é”®ID */
    @ApiModelProperty(value = "配置表主键ID")
    private Long id;
    /** éƒ¨é—¨ç±»åž‹ï¼š1科室,2病区 */
    @Excel(name = "部门类型")
    @ApiModelProperty(value = "部门类型:1科室,2病区")
    private String deptType;
    /** éƒ¨é—¨åˆ†ç±»: 1妇科 2儿科 */
    @Excel(name = "部门分类")
    @ApiModelProperty(value = "部门分类: 1妇科 2儿科")
    private String deptCategory;
    /** æ¡£æ¡ˆç±»åž‹: å¦‡ç§‘档案类型(1 æ—©å­•关爱2 å›´ç»ç»æœŸMHI),儿科档案类型(1营养性疾病 2学习困难 3高危儿专案) */
    @Excel(name = "档案类型")
    @ApiModelProperty(value = "档案类型: å¦‡ç§‘档案类型(1 æ—©å­•关爱2 å›´ç»ç»æœŸMHI),儿科档案类型(1营养性疾病 2学习困难 3高危儿专案)")
    private String archiveType;
    /** ç§‘室Code集合(JSON格式,如 ["D001","D002"]) */
    @ApiModelProperty(value = "科室Code集合(JSON格式,如 [\"D001\",\"D002\"])")
    private String deptCodes;
    /** è¯Šæ–­code集合(JSON格式,如 ["E10.901","E11.901"]) */
    @ApiModelProperty(value = "诊断code集合(JSON格式,如 [\"E10.901\",\"E11.901\"])")
    private String icd10Codes;
    /** åŒ»é™¢æœºæž„ID */
    @Excel(name = "医院机构ID")
    @ApiModelProperty(value = "医院机构ID")
    private String orgid;
    /** é™¢åŒºID */
    @Excel(name = "院区ID")
    @ApiModelProperty(value = "院区ID")
    private String campusid;
    /** åˆ é™¤æ ‡å¿—(0:未删除,1:已删除) */
    @ApiModelProperty(value = "删除标志(0:未删除,1:已删除)")
    private String delFlag;
}
smartor/src/main/java/com/smartor/mapper/PatSpecificArchiveGenerateConfigMapper.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,28 @@
package com.smartor.mapper;
import com.smartor.domain.PatSpecificArchiveGenerateConfig;
import org.apache.ibatis.annotations.Mapper;
import java.util.List;
/**
 * ä¸“科档案生成配置Mapper接口
 *
 * @author ruoyi
 * @date 2026-10-12
 */
@Mapper
public interface PatSpecificArchiveGenerateConfigMapper
{
    public PatSpecificArchiveGenerateConfig selectPatSpecificArchiveGenerateConfigById(Long id);
    public List<PatSpecificArchiveGenerateConfig> selectPatSpecificArchiveGenerateConfigList(PatSpecificArchiveGenerateConfig patSpecificArchiveGenerateConfig);
    public int insertPatSpecificArchiveGenerateConfig(PatSpecificArchiveGenerateConfig patSpecificArchiveGenerateConfig);
    public int updatePatSpecificArchiveGenerateConfig(PatSpecificArchiveGenerateConfig patSpecificArchiveGenerateConfig);
    public int deletePatSpecificArchiveGenerateConfigById(Long id);
    public int deletePatSpecificArchiveGenerateConfigByIds(Long[] ids);
}
smartor/src/main/java/com/smartor/service/IPatSpecificArchiveGenerateConfigService.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,26 @@
package com.smartor.service;
import com.smartor.domain.PatSpecificArchiveGenerateConfig;
import java.util.List;
/**
 * ä¸“科档案生成配置Service接口
 *
 * @author ruoyi
 * @date 2026-10-12
 */
public interface IPatSpecificArchiveGenerateConfigService
{
    public PatSpecificArchiveGenerateConfig selectPatSpecificArchiveGenerateConfigById(Long id);
    public List<PatSpecificArchiveGenerateConfig> selectPatSpecificArchiveGenerateConfigList(PatSpecificArchiveGenerateConfig patSpecificArchiveGenerateConfig);
    public int insertPatSpecificArchiveGenerateConfig(PatSpecificArchiveGenerateConfig patSpecificArchiveGenerateConfig);
    public int updatePatSpecificArchiveGenerateConfig(PatSpecificArchiveGenerateConfig patSpecificArchiveGenerateConfig);
    public int deletePatSpecificArchiveGenerateConfigByIds(Long[] ids);
    public int deletePatSpecificArchiveGenerateConfigById(Long id);
}
smartor/src/main/java/com/smartor/service/impl/PatSpecificArchiveGenerateConfigServiceImpl.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,61 @@
package com.smartor.service.impl;
import com.ruoyi.common.utils.DateUtils;
import com.smartor.domain.PatSpecificArchiveGenerateConfig;
import com.smartor.mapper.PatSpecificArchiveGenerateConfigMapper;
import com.smartor.service.IPatSpecificArchiveGenerateConfigService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.List;
/**
 * ä¸“科档案生成配置Service业务层处理
 *
 * @author ruoyi
 * @date 2026-10-12
 */
@Service
public class PatSpecificArchiveGenerateConfigServiceImpl implements IPatSpecificArchiveGenerateConfigService
{
    @Autowired
    private PatSpecificArchiveGenerateConfigMapper patSpecificArchiveGenerateConfigMapper;
    @Override
    public PatSpecificArchiveGenerateConfig selectPatSpecificArchiveGenerateConfigById(Long id)
    {
        return patSpecificArchiveGenerateConfigMapper.selectPatSpecificArchiveGenerateConfigById(id);
    }
    @Override
    public List<PatSpecificArchiveGenerateConfig> selectPatSpecificArchiveGenerateConfigList(PatSpecificArchiveGenerateConfig patSpecificArchiveGenerateConfig)
    {
        return patSpecificArchiveGenerateConfigMapper.selectPatSpecificArchiveGenerateConfigList(patSpecificArchiveGenerateConfig);
    }
    @Override
    public int insertPatSpecificArchiveGenerateConfig(PatSpecificArchiveGenerateConfig patSpecificArchiveGenerateConfig)
    {
        patSpecificArchiveGenerateConfig.setCreateTime(DateUtils.getNowDate());
        return patSpecificArchiveGenerateConfigMapper.insertPatSpecificArchiveGenerateConfig(patSpecificArchiveGenerateConfig);
    }
    @Override
    public int updatePatSpecificArchiveGenerateConfig(PatSpecificArchiveGenerateConfig patSpecificArchiveGenerateConfig)
    {
        patSpecificArchiveGenerateConfig.setUpdateTime(DateUtils.getNowDate());
        return patSpecificArchiveGenerateConfigMapper.updatePatSpecificArchiveGenerateConfig(patSpecificArchiveGenerateConfig);
    }
    @Override
    public int deletePatSpecificArchiveGenerateConfigByIds(Long[] ids)
    {
        return patSpecificArchiveGenerateConfigMapper.deletePatSpecificArchiveGenerateConfigByIds(ids);
    }
    @Override
    public int deletePatSpecificArchiveGenerateConfigById(Long id)
    {
        return patSpecificArchiveGenerateConfigMapper.deletePatSpecificArchiveGenerateConfigById(id);
    }
}
smartor/src/main/resources/mapper/smartor/PatSpecificArchiveGenerateConfigMapper.xml
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,134 @@
<?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.smartor.mapper.PatSpecificArchiveGenerateConfigMapper">
    <resultMap type="com.smartor.domain.PatSpecificArchiveGenerateConfig" id="PatSpecificArchiveGenerateConfigResult">
        <result property="id" column="id"/>
        <result property="deptType" column="dept_type"/>
        <result property="deptCategory" column="dept_category"/>
        <result property="archiveType" column="archive_type"/>
        <result property="deptCodes" column="dept_codes"/>
        <result property="icd10Codes" column="icd10_codes"/>
        <result property="remark" column="remark"/>
        <result property="orgid" column="orgid"/>
        <result property="campusid" column="campusid"/>
        <result property="updateBy" column="update_by"/>
        <result property="updateTime" column="update_time"/>
        <result property="createBy" column="create_by"/>
        <result property="createTime" column="create_time"/>
        <result property="delFlag" column="del_flag"/>
    </resultMap>
    <sql id="selectPatSpecificArchiveGenerateConfigVo">
        select id,
               dept_type,
               dept_category,
               archive_type,
               dept_codes,
               icd10_codes,
               remark,
               orgid,
               campusid,
               update_by,
               update_time,
               create_by,
               create_time,
               del_flag
        from pat_specific_archive_generate_config
    </sql>
    <select id="selectPatSpecificArchiveGenerateConfigList" parameterType="com.smartor.domain.PatSpecificArchiveGenerateConfig"
            resultMap="PatSpecificArchiveGenerateConfigResult">
        <include refid="selectPatSpecificArchiveGenerateConfigVo"/>
        where 1=1
            and del_flag = '0'
            <if test="deptType != null and deptType != ''">and dept_type = #{deptType}</if>
            <if test="deptCategory != null and deptCategory != ''">and dept_category = #{deptCategory}</if>
            <if test="archiveType != null and archiveType != ''">and archive_type = #{archiveType}</if>
            <if test="orgid != null and orgid != ''">and orgid = #{orgid}</if>
            <if test="campusid != null and campusid != ''">and campusid = #{campusid}</if>
            <if test="params.beginTime != null and params.beginTime != ''">
                and date_format(create_time, '%y%m%d') &gt;= date_format(#{params.beginTime}, '%y%m%d')
            </if>
            <if test="params.endTime != null and params.endTime != ''">
                and date_format(create_time, '%y%m%d') &lt;= date_format(#{params.endTime}, '%y%m%d')
            </if>
    </select>
    <select id="selectPatSpecificArchiveGenerateConfigById" parameterType="Long" resultMap="PatSpecificArchiveGenerateConfigResult">
        <include refid="selectPatSpecificArchiveGenerateConfigVo"/>
        where id = #{id}
    </select>
    <insert id="insertPatSpecificArchiveGenerateConfig" parameterType="com.smartor.domain.PatSpecificArchiveGenerateConfig"
            useGeneratedKeys="true" keyProperty="id">
        insert into pat_specific_archive_generate_config
        <trim prefix="(" suffix=")" suffixOverrides=",">
            <if test="deptType != null">dept_type,</if>
            <if test="deptCategory != null">dept_category,</if>
            <if test="archiveType != null">archive_type,</if>
            <if test="deptCodes != null">dept_codes,</if>
            <if test="icd10Codes != null">icd10_codes,</if>
            <if test="remark != null">remark,</if>
            <if test="orgid != null">orgid,</if>
            <if test="campusid != null">campusid,</if>
            <if test="updateBy != null">update_by,</if>
            <if test="updateTime != null">update_time,</if>
            <if test="createBy != null">create_by,</if>
            <if test="createTime != null">create_time,</if>
            <if test="delFlag != null and delFlag != ''">del_flag,</if>
        </trim>
        <trim prefix="values (" suffix=")" suffixOverrides=",">
            <if test="deptType != null">#{deptType},</if>
            <if test="deptCategory != null">#{deptCategory},</if>
            <if test="archiveType != null">#{archiveType},</if>
            <if test="deptCodes != null">#{deptCodes},</if>
            <if test="icd10Codes != null">#{icd10Codes},</if>
            <if test="remark != null">#{remark},</if>
            <if test="orgid != null">#{orgid},</if>
            <if test="campusid != null">#{campusid},</if>
            <if test="updateBy != null">#{updateBy},</if>
            <if test="updateTime != null">#{updateTime},</if>
            <if test="createBy != null">#{createBy},</if>
            <if test="createTime != null">#{createTime},</if>
            <if test="delFlag != null and delFlag != ''">#{delFlag},</if>
        </trim>
    </insert>
    <update id="updatePatSpecificArchiveGenerateConfig" parameterType="com.smartor.domain.PatSpecificArchiveGenerateConfig">
        update pat_specific_archive_generate_config
        <trim prefix="SET" suffixOverrides=",">
            <if test="deptType != null">dept_type = #{deptType},</if>
            <if test="deptCategory != null">dept_category = #{deptCategory},</if>
            <if test="archiveType != null">archive_type = #{archiveType},</if>
            <if test="deptCodes != null">dept_codes = #{deptCodes},</if>
            <if test="icd10Codes != null">icd10_codes = #{icd10Codes},</if>
            <if test="remark != null">remark = #{remark},</if>
            <if test="orgid != null">orgid = #{orgid},</if>
            <if test="campusid != null">campusid = #{campusid},</if>
            <if test="updateBy != null">update_by = #{updateBy},</if>
            <if test="updateTime != null">update_time = #{updateTime},</if>
            <if test="createBy != null">create_by = #{createBy},</if>
            <if test="createTime != null">create_time = #{createTime},</if>
            <if test="delFlag != null and delFlag != ''">del_flag = #{delFlag},</if>
        </trim>
        where id = #{id}
    </update>
    <update id="deletePatSpecificArchiveGenerateConfigById" parameterType="Long">
        update pat_specific_archive_generate_config
        <trim prefix="SET" suffixOverrides=",">
            del_flag = '1'
        </trim>
        where id = #{id}
    </update>
    <update id="deletePatSpecificArchiveGenerateConfigByIds" parameterType="String">
        update pat_specific_archive_generate_config set del_flag = '1' where id in
        <foreach item="id" collection="array" open="(" separator="," close=")">
            #{id}
        </foreach>
    </update>
</mapper>
sql/pat_specific_archive_generate_config_20261012.sql
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,28 @@
-- =============================================================================
-- ä¸“科档案生成配置表
-- author : æ™ºèƒ½éšè®¿
-- date   : 2026-10-12
-- è¯´æ˜Ž   : é…ç½®å“ªäº›ç§‘室/病区 + è¯Šæ–­ç»„合可自动生成对应类型的专科档案
-- =============================================================================
DROP TABLE IF EXISTS pat_specific_archive_generate_config;
CREATE TABLE pat_specific_archive_generate_config
(
    id           INT(11)      NOT NULL AUTO_INCREMENT COMMENT '配置表主键ID',
    dept_type    CHAR(1)      NULL DEFAULT NULL COMMENT '部门类型:1科室,2病区',
    dept_category CHAR(1)     NULL DEFAULT NULL COMMENT '部门分类: 1妇科 2儿科',
    archive_type VARCHAR(255) NULL DEFAULT NULL COMMENT '档案类型: å¦‡ç§‘档案类型(1 æ—©å­•关爱2 å›´ç»ç»æœŸMHI),儿科档案类型(1营养性疾病 2学习困难 3高危儿专案)',
    dept_codes   TEXT         NULL DEFAULT NULL COMMENT '科室Code集合(JSON格式,如 ["D001","D002"])',
    icd10_codes  TEXT         NULL DEFAULT NULL COMMENT '诊断code集合(JSON格式,如 ["E10.901","E11.901"])',
    remark       VARCHAR(500) NULL DEFAULT NULL COMMENT '备注',
    orgid        VARCHAR(500) NULL DEFAULT NULL COMMENT '医院机构ID',
    campusid     VARCHAR(255) NULL DEFAULT NULL COMMENT '院区ID',
    update_by    VARCHAR(32)  NULL DEFAULT NULL COMMENT '更新人',
    update_time  DATETIME     NULL DEFAULT NULL COMMENT '更新时间',
    create_by    VARCHAR(32)  NULL DEFAULT NULL COMMENT '创建人',
    create_time  DATETIME     NULL DEFAULT NULL COMMENT '创建时间',
    del_flag     CHAR(1)      NULL DEFAULT '0' COMMENT '删除标志(0:未删除,1:已删除)',
    PRIMARY KEY (`id`) USING BTREE,
    INDEX `idx_specific_archive_generate_config_query` (`orgid`, `dept_type`, `archive_type`) USING BTREE,
    INDEX `idx_specific_archive_generate_config_org` (`orgid`, `del_flag`) USING BTREE
) ENGINE = INNODB DEFAULT CHARSET = utf8mb4 COMMENT = '专科档案生成配置表';