package com.hxhq.business.service;

import java.util.List;

import com.hxhq.business.domain.StudyFormFill;
import com.hxhq.business.domain.StudyFormPre;
import com.baomidou.mybatisplus.extension.service.IService;
import com.hxhq.business.dto.study.StudyFormPreListDto;
import com.hxhq.business.form.study.StudyFormPreAuditForm;
import com.hxhq.business.form.study.StudyFormPreSearchForm;
import com.hxhq.business.form.study.StudyFormUpdateForm;
import com.hxhq.common.core.web.domain.AjaxResult;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;

/**
 * 试验-预填单Service接口
 *
 * @author hxhq
 * @date 2025-12-29
 */
public interface IStudyFormPreService extends IService<StudyFormPre>
{
    /**
     * 查询试验-预填单列表
     *
     * @param form 试验-预填单
     * @return 试验-预填单集合
     */
    public List<StudyFormPreListDto> queryList(StudyFormPreSearchForm form);

    /**
     * 详情
     *
     * @param id
     * @return 详情
     */
    public StudyFormPre queryInfo(Long id);

    /**
     * 保存
     * @param studyFormPre
     */
    public StudyFormPre bc(StudyFormPre studyFormPre);

    /**
     * 仅保存
     * @param studyFormPre
     */
    public StudyFormPre bcOnly(StudyFormPre studyFormPre);

    /**
     * 提交
     * @param studyFormPre
     */
    public void tj(StudyFormPre studyFormPre);

    /**
     * 通过
     * @param form
     */
    public void tg(StudyFormPreAuditForm form);

    /**
     * 拒绝
     * @param form
     */
    public void jj(StudyFormPreAuditForm form);

    /**
     * 填报
     * @param studyFormPre
     */
    public StudyFormFill tb(StudyFormPre studyFormPre);

    /**
     * 申请关闭
     * @param studyFormPre
     */
    public void sqgb(StudyFormPre studyFormPre);


    /**
     * 关闭同意
     * @param form
     */
    public void tygb(StudyFormPreAuditForm form);

    /**
     * 关闭拒绝
     * @param form
     */
    public void jjgb(StudyFormPreAuditForm form);

    /**
     * 更新表单内容
     */
    public void updateBdnr(StudyFormUpdateForm form);

    /**
     * 更新复核意见
     */
    public void updateFhyjjl(StudyFormUpdateForm form);

    /**
     * 更新字段勾选记录
     */
    public void updateZdgxjl(StudyFormUpdateForm form);
}
