package com.unis.crk.business.qcrk.service;

import com.unis.crk.business.qcrk.entity.DataCrkywJsxxDefault;
import com.baomidou.mybatisplus.extension.service.IService;
import com.unis.crk.business.qcrk.entity.vo.DataCrkywCmzDefaultVo;
import com.unis.crk.business.qcrk.entity.vo.DataCrkywJsxxDefaultVo;
import com.unis.crk.business.qcrk.entity.vo.Qcrk;
import cn.hutool.json.JSONObject;

import java.io.Serializable;
import java.util.List;
import java.util.Map;

import com.baomidou.mybatisplus.core.metadata.IPage;

/**
 * <p>
 * 汽车入库-结算主表 服务类
 * </p>
 *
 * @author TangSong
 * @since 2021-10-11
 */
public interface IDataCrkywJsxxDefaultService extends IService<DataCrkywJsxxDefault> {
    /**
     * 保存汽车入库-结算主表
     *
     * @param qcrk 汽车入库-结算主表业务数据
     * @return
     */
    JSONObject save(Qcrk qcrk) throws Exception;

    /**
     * 修改汽车入库-结算主表
     *
     * @param qcrk 汽车入库-结算主表业务数据
     * @return
     */
    JSONObject update(Qcrk qcrk) throws Exception;

    /**
     * 删除汽车入库-结算主表数据
     *
     * @param id 汽车入库-结算主表主键尖
     * @return
     */
    JSONObject delete(String id) throws Exception;

    /**
     * 按照条件查询汽车入库-结算主表信息
     *
     * @param pageQuery
     * @throws Exception
     */
    IPage<Map<String, Object>> findPageVo(DataCrkywJsxxDefaultVo pageQuery);

    /**
     * 通过id得到主从表信息
     * @param id
     * @return
     */
    DataCrkywJsxxDefault getAllById(Serializable id);

    /**
     * 得到待处理列表数据
     * @param pageQuery
     * @return
     */
    List<Map<String,Object>> getPerData(DataCrkywCmzDefaultVo pageQuery);

    /**
     * 根据ID.bizNo查询数据,进行表单回显
     * @param bizNo
     * @param id
     * @return
     */
    Map<String,Object> getOne(java.lang.String bizNo, java.lang.String id);
}
