package com.hxhq.business.service;

import java.util.List;

import com.hxhq.business.domain.Mjy;
import com.baomidou.mybatisplus.extension.service.IService;
import com.hxhq.business.domain.StudyFormFill;
import com.hxhq.business.domain.Template;
import com.hxhq.business.dto.mjy.DetailDto;
import com.hxhq.business.dto.mjy.ListDto;
import com.hxhq.business.form.mjy.ArchiveForm;
import com.hxhq.business.form.mjy.*;

/**
 * 麻精药Service接口
 *
 * @author hxhq
 * @date 2025-12-18
 */
public interface IMjyService extends IService<Mjy> {

    //region 资源库管理

    /**
     * 查询麻精药列表
     *
     * @param form 麻精药
     * @return 麻精药集合
     */
    public List<ListDto> queryStudyList(SearchForm form);

    /**
     * 查询麻精药列表
     *
     * @param form 麻精药
     * @return 麻精药集合
     */
    public List<ListDto> queryList(SearchForm form);

    /**
     * 查询麻精药
     *
     * @param id
     * @return 麻精药
     */
    public DetailDto queryInfo(Long id);

    /**
     * 解档
     *
     * @param form
     */
    public void jd(JdForm form);

    /**
     * 批量归档
     *
     * @param form
     */
    public void plgd(GdForm form);

    /**
     * 归档
     *
     * @param form
     */
    public void gd(GdForm form);


    /**
     * 批量锁定
     *
     * @param form
     */
    public void plsd(SdForm form);

    /**
     * 锁定
     *
     * @param form
     */
    public void sd(SdForm form);

    /**
     * 解锁
     *
     * @param form
     */
    public void js(JsForm form);

    /**
     * 批量处置药剂
     *
     * @param form
     */
    public void plczyj(PlczyjForm form);

    /**
     * 处置药剂
     *
     * @param form
     */
    public void czyj(CzyjForm form);

    /**
     * 批量处置容器
     *
     * @param form
     */
    public void plczrq(PlczrqForm form);

    /**
     * 处置容器
     *
     * @param form
     */
    public void czrq(CzrqForm form);


    /**
     * 钥匙发放
     *
     * @param form
     */
    public void ysff(YsffForm form);


    /**
     * 发放
     *
     * @param form
     */
    public void ff(FfForm form);


    /**
     * 批量发放
     *
     * @param form
     */
    public void plff(PlffForm form);

    /**
     * 编辑
     *
     * @param form
     */
    public void bj(BjForm form);

    /**
     * 审核编辑
     *
     * @param form
     */
    public void shbj(ShbjForm form);

    /**
     * 修改库存
     *
     * @param form
     */
    public void xgkc(XgkcForm form);

    /**
     * 审核修改库存
     *
     * @param form
     */
    public void shxgkc(ShxgkcForm form);


    /**
     * 借阅
     *
     * @param form
     */
    public void jy(JyForm form);

    /**
     * 归还
     *
     * @param form
     */
    public void gh(GhForm form);

    /**
     * 入库
     *
     * @param form
     */
    public void rk(RkForm form);

    /**
     * 存储
     */
    public void cc(CcForm form);

    /**
     * 取出
     */
    public void qc(CcForm form);

    /**
     * 表单生成
     */
    void genResource(StudyFormFill studyFormFill, Template template,String remark);

    //endregion

    //region 档案管理

    /**
     * 查询麻精药列表
     *
     * @param form 麻精药
     * @return 麻精药集合
     */
    public List<ListDto> queryArchiveList(SearchForm form);

    /**
     * 同意归档
     */
    public void tygd(ArchiveForm form);

    /**
     * 拒绝归档
     */
    public void jjgd(ArchiveForm form);

    /**
     * 同意解档
     */
    public void tyjd(ArchiveForm form);

    /**
     * 拒绝解档
     */
    public void jjjd(ArchiveForm form);

    /**
     * 同意借阅
     */
    public void tyjy(ArchiveForm form);

    /**
     * 拒绝借阅
     */
    public void jjjy(ArchiveForm form);

    /**
     * 确认归还
     */
    public void qrgh(ArchiveForm form);

    //endregion

}
