package com.hxhq.business.service;

import java.util.List;

import com.hxhq.business.domain.*;
import com.baomidou.mybatisplus.extension.service.IService;
import com.hxhq.system.api.domain.SysUser;

/**
 * 供试品管理-稽查轨迹Service接口
 *
 * @author hxhq
 * @date 2025-12-30
 */
public interface IGspJcgjService extends IService<GspJcgj>
{
    /**
     * 查询供试品管理-稽查轨迹列表
     *
     * @param gspJcgj 供试品管理-稽查轨迹
     * @return 供试品管理-稽查轨迹集合
     */
    public List<GspJcgj> queryList(GspJcgj gspJcgj);

    /**
     * 新增稽查轨迹
     * @param gsp 供试品
     * @param jcgjlx 稽查轨迹类型:1:流程；3：编辑
     * @param jcmc 稽查名称
     * @param jcmcEn 稽查名称-英文
     * @param jcmcys 稽查名称颜色：1：蓝色；3：红色；5：绿色；7：橙色
     * @param jcnr 稽查内容
     * @param jcnrEn 稽查内容-英文
     * @param qmr 签名人
     */
    public  void saveJcgj(Gsp gsp, Integer jcgjlx, String jcmc, String jcmcEn, Integer jcmcys, String jcnr, String jcnrEn, SysUser qmr);

    /**
     * 批量保存稽查轨迹-并保留日志
     * @param gsp
     * @param jcgjList
     */
    void saveBatchWithLog(Gsp gsp, List<GspJcgj> jcgjList);

    /**
     * 批量保存稽查轨迹-并保留日志
     * @param jcgjList
     */
    void saveBatchWithLog(List<GspJcgj> jcgjList);

    /**
     * 保存稽查轨迹-并保留日志
     * @param gsp
     * @param jcgj
     */
    void saveWithLog(Gsp gsp, GspJcgj jcgj);


    /**
     * 新增稽查轨迹
     * @param gsp 供试品
     * @param jcgjlx 稽查轨迹类型:1:流程；3：编辑
     * @param jcmc 稽查名称
     * @param jcmcys 稽查名称颜色：1：蓝色；3：红色；5：绿色；7：橙色
     * @param jcnr 稽查内容
     * @param jcnrEn 稽查内容英文
     * @param qmr 签名人
     * @param remark 备注
     * @return
     */
    public GspJcgj getJcgj(Gsp gsp, Integer jcgjlx, String jcmc, Integer jcmcys, String jcnr, String jcnrEn, SysUser qmr, String remark);
}
