package com.fs.his.service;

import java.util.List;

import com.fs.common.core.domain.R;
import com.baomidou.mybatisplus.extension.service.IService;
import com.fs.his.domain.FsPhysicalReportTemplateField;
import com.fs.his.dto.FsPhysicalReportTemplateFieldDTO;

/**
 * 体检报告模板字段Service接口
 * 
 * @author fs
 * @date 2025-07-24
 */
public interface IFsPhysicalReportTemplateFieldService extends IService<FsPhysicalReportTemplateField>{
    /**
     * 查询体检报告模板字段
     * 
     * @param id 体检报告模板字段主键
     * @return 体检报告模板字段
     */
    FsPhysicalReportTemplateField selectFsPhysicalReportTemplateFieldById(String id);

    /**
     * 查询体检报告模板字段列表
     * 
     * @param fsPhysicalReportTemplateField 体检报告模板字段
     * @return 体检报告模板字段集合
     */
    List<FsPhysicalReportTemplateField> selectFsPhysicalReportTemplateFieldList(FsPhysicalReportTemplateField fsPhysicalReportTemplateField);

    /**
     * 新增体检报告模板字段
     * 
     * @param fsPhysicalReportTemplateField 体检报告模板字段
     * @return 结果
     */
    int insertFsPhysicalReportTemplateField(FsPhysicalReportTemplateField fsPhysicalReportTemplateField);

    /**
     * 修改体检报告模板字段
     * 
     * @param fsPhysicalReportTemplateField 体检报告模板字段
     * @return 结果
     */
    int updateFsPhysicalReportTemplateField(FsPhysicalReportTemplateField fsPhysicalReportTemplateField);

    /**
     * 批量删除体检报告模板字段
     * 
     * @param ids 需要删除的体检报告模板字段主键集合
     * @return 结果
     */
    int deleteFsPhysicalReportTemplateFieldByIds(String[] ids);

    /**
     * 删除体检报告模板字段信息
     * 
     * @param id 体检报告模板字段主键
     * @return 结果
     */
    int deleteFsPhysicalReportTemplateFieldById(String id);

    /**
     * 获取模板自定义字段
     * @param templateId 模板ID
     * @return R
     * **/
    R getTemplateField(String templateId);


    /**
     * 新增体检报告模板字段
     *
     * @param fieldDTO 体检报告模板字段
     * @return 结果
     */
    int saveFsPhysicalReportTemplateField(FsPhysicalReportTemplateFieldDTO fieldDTO);
}
