package com.unis.crk.business.kcgl.mapper;

import com.unis.crk.business.kcgl.entity.DataKcglFcbgzDefault;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.core.toolkit.Constants;
import org.apache.ibatis.annotations.Param;

import java.util.List;
import java.util.Map;

/**
 * <p>
 * 库存管理-分库保管账表 Mapper 接口
 * </p>
 *
 * @author TangSong
 * @since 2021-10-11
 */
public interface DataKcglFcbgzDefaultMapper extends BaseMapper<DataKcglFcbgzDefault> {
        /**
         * 自定义sql分页
         * @param page
         * @param queryWrapper 看这里看这里，如果自定义的方法中需要用到wrapper查询条件，需要这样写
         * @return
         */
        IPage<Map<String,Object>> selectMyMapsPage(IPage<DataKcglFcbgzDefault> page, @Param(Constants.WRAPPER) QueryWrapper<DataKcglFcbgzDefault> queryWrapper);
        /**
         * 查询分库保管账相关数据
         * @param dataId
         * @return
         */
        List<Map<String,Object>> queryFcbgzByid(@Param("dataId") String dataId);
        /**
         *
         * @param sl
         * @param zcsl
         * @param srsl
         * @param zje
         * @param unitId
         * @param ch
         * @param hwh
         * @param pz
         * @param hwxz
         * @param rq
         * @param dataId
         * @return
         */
        int updateFcbgzByWrapper(@Param("sl")Double sl, @Param("zcsl")Double zcsl, @Param("srsl")Double srsl, @Param("unitId")String unitId, @Param("ch")String ch, @Param("hwh")String hwh, @Param("pz")String pz, @Param("hwxz")String hwxz, @Param("rq")String rq, @Param("dataId")String dataId);

        /**
         * 用形成库存生成分库保管账
         * @param userName
         * @param inNum
         * @param outNum
         * @param kcsl
         * @param ljsrsl
         * @param ljzcsl
         * @param srsjsl
         * @param zcsjsl
         * @param kcsjsl
         * @param ljsrsjsl
         * @param ljzcsjsl
         * @return
         */
       int addFfcbgz(@Param("userName")String userName,
                     @Param("inNum")double inNum,
                     @Param("outNum")double outNum,
                     @Param("kcsl")double kcsl,
                     @Param("ljsrsl")double ljsrsl,
                     @Param("ljzcsl")double ljzcsl,
                     @Param("srsjsl")double srsjsl,
                     @Param("zcsjsl")double zcsjsl,
                     @Param("kcsjsl")double kcsjsl,
                     @Param("ljsrsjsl")double ljsrsjsl,
                     @Param("ljzcsjsl")double ljzcsjsl,
                     @Param("dataId")String dataId);
}
