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

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

import java.util.List;
import java.util.Map;
import com.baomidou.mybatisplus.core.metadata.IPage;
/**
 * <p>
 * 汽车出入库-通知单主表 服务类
 * </p>
 *
 * @author TangSong
 * @since 2021-10-13
 */
public interface IDataCrkywTzdxxDefaultService extends IService<DataCrkywTzdxxDefault> {
        /**
         *保存汽车出入库-通知单主表
         * @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(DataCrkywTzdxxDefaultVo pageQuery) ;
        /**
         * 通过id查询回显数据
         *
         * @param id
         * @return
         */
        DataCrkywTzdxxDefault getOne(String id);
        /**
         * 更新汽车入库通知单完成数量、剩余数量 和状态
         * @param editZl
         * @param matherId
         * @return
         */
        JSONObject updateTzdDataQcRk(Double editZl, String matherId,boolean... isCk);
        /**
         * 更新库级通知单完成数量、剩余数量 和状态,
         * @param editZl
         * @param matherId
         * @return
         */
        JSONObject updateTzdDataQcRkByDepot(Double editZl, String matherId,boolean... isCk);

        /**
         * 得到通知单下拉
         * @param unitId
         * @param zylx
         * @return
         */
        List<Map<String,Object>> getTzdList(String unitId, Integer zylx);
}
