package com.hxhq.business.service;

import java.util.List;
import com.hxhq.business.domain.StudyFormApply;
import com.baomidou.mybatisplus.extension.service.IService;
import com.hxhq.business.dto.mjy.DetailDto;
import com.hxhq.business.dto.study.StudyFormApplyListDto;
import com.hxhq.business.form.study.StudyFormApplyGcForm;
import com.hxhq.business.form.study.StudyFormApplySearchForm;
import com.hxhq.business.form.study.StudyFormApplyShfzForm;
import com.hxhq.business.form.study.StudyFormUpdateForm;

/**
 * 试验-填报单Service接口
 *
 * @author hxhq
 * @date 2025-12-29
 */
public interface IStudyFormApplyService extends IService<StudyFormApply>
{
    /**
     * 查询试验-填报单列表
     *
     * @param form 试验-填报单
     * @return 试验-填报单集合
     */
    public List<StudyFormApplyListDto> queryList(StudyFormApplySearchForm form);

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

    /**
     * 加签
     * @param studyFormApply
     */
    public void jq(StudyFormApply studyFormApply);

    /**
     * 废止
     * @param studyFormApply
     */
    public void fz(StudyFormApply studyFormApply);


    /**
     * 确认废止
     * @param form
     */
    public void qrfz(StudyFormApplyShfzForm form);


    /**
     * 更换归属人
     * @param studyFormApply
     */
    public void ghgsr(StudyFormApply studyFormApply);

    /**
     * 保存
     * @param studyFormApply
     */
    public StudyFormApply bc(StudyFormApply studyFormApply);

    /**
     * 仅保存
     * @param studyFormApply
     */
    public StudyFormApply bcOnly(StudyFormApply studyFormApply);

    /**
     * 提交
     * @param studyFormApply
     */
    public void tj(StudyFormApply studyFormApply);

    /**
     * 复核通过
     * @param studyFormApply
     */
    public void fhtg(StudyFormApply studyFormApply);

    /**
     * 复核拒绝
     * @param studyFormApply
     */
    public void fhjj(StudyFormApply studyFormApply);

    /**
     * 审阅
     * @param studyFormApply
     */
    public void sy(StudyFormApply studyFormApply);

    /**
     * 审核通过
     * @param studyFormApply
     */
    public void shtg(StudyFormApply studyFormApply);

    /**
     * 审核拒绝
     * @param studyFormApply
     */
    public void shjj(StudyFormApply studyFormApply);

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

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

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