package com.hzya.frame.sys.voucher.service;

import com.alibaba.fastjson.JSONObject;
import com.hzya.frame.basedao.service.IBaseService;
import com.hzya.frame.sys.voucher.entity.VoucherEntity;
import com.hzya.frame.web.entity.JsonResultEntity;

/**
 * @description: 凭证单据  service
 * @tableName: sys_voucher
 * @entityName: VoucherEntity
 * @author: gjh
 * @history: 1.0
 */
public interface IVoucherService extends IBaseService<VoucherEntity, String> {
    /**
     * @Author lvleigang
     * @Description  查询数据分页
     * @Date 1:33 下午 2023/7/12
     * @param jsonObject
     * @return com.hzya.frame.web.entity.JsonResultEntity
     **/
    JsonResultEntity queryVoucherPage(JSONObject jsonObject);

    /**
     * @Author lvleigang
     * @Description  凭证制单
     * @Date 1:33 下午 2023/7/12
     * @param jsonObject
     * @return com.hzya.frame.web.entity.JsonResultEntity
     **/
    JsonResultEntity proofPrepare(JSONObject jsonObject);

    /**
     * @Author lvleigang
     * @Description  凭证制单
     * @Date 1:33 下午 2023/7/12
     * @param jsonObject
     * @return com.hzya.frame.web.entity.JsonResultEntity
     **/
    JsonResultEntity proofPrepareall(JSONObject jsonObject);
    /**
     * @Author lvleigang
     * @Description  保存凭证
     * @Date 1:33 下午 2023/7/12
     * @param jsonObject
     * @return com.hzya.frame.web.entity.JsonResultEntity
     **/
    JsonResultEntity saveProofPrepare(JSONObject jsonObject);
    /**
     * @Author lvleigang
     * @Description  查询需要获取凭证号的数据
     * @Date 1:33 下午 2023/7/12
     * @param jsonObject
     * @return com.hzya.frame.web.entity.JsonResultEntity
     **/
    JsonResultEntity queryProofPrepare(JSONObject jsonObject);

    /**
     * @Author lvleigang
     * @Description  保存凭证号
     * @Date 1:33 下午 2023/7/12
     * @param jsonObject
     * @return com.hzya.frame.web.entity.JsonResultEntity
     **/
    JsonResultEntity saveVoucherNumber(JSONObject jsonObject);
    /**
     * @Author lvleigang
     * @Description  不制单
     * @Date 1:33 下午 2023/7/12
     * @param jsonObject
     * @return com.hzya.frame.web.entity.JsonResultEntity
     **/
    JsonResultEntity notProofPrepare(JSONObject jsonObject);

    /**
     * @Author lvleigang
     * @Description  重新制单
     * @Date 1:33 下午 2023/7/12
     * @param jsonObject
     * @return com.hzya.frame.web.entity.JsonResultEntity
     **/
    JsonResultEntity anewProofPrepare(JSONObject jsonObject);

    /**
     * @Author lvleigang
     * @Description  根据科目查询是否显示
     * @Date 1:33 下午 2023/7/12
     * @param jsonObject
     * @return com.hzya.frame.web.entity.JsonResultEntity
     **/
    JsonResultEntity account(JSONObject jsonObject);
}
