package cn.timer.api.dao.zcgl;

import java.util.List;

import org.apache.ibatis.annotations.Param;
import org.springframework.stereotype.Repository;

import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;

import cn.timer.api.bean.zcgl.ZcglAssoZcda;
import cn.timer.api.config.annotation.CurrentUser;
import cn.timer.api.dto.zcgl.ZcglCartogramDto;
import cn.timer.api.dto.zcgl.ZcglDetailsDto;

/**
 * 资产出入库管理表
 * 
 * @author dsc 2019-11-26
 */
@Repository
public interface ZcglAssoZcdaMapper extends BaseMapper<ZcglAssoZcda> {

	/**
	 * 各类别的资产数量
	 * 
	 * @param empNum
	 * @return
	 */
	ZcglCartogramDto queryCategory(@CurrentUser @Param(value = "orgCode") Integer orgCode,
			@Param(value = "id") Integer lbid);

	/**
	 * 个人资产
	 * 
	 * @return
	 */
	List<ZcglAssoZcda> personalassets(@Param(value = "orgCode") Integer orgCode,
			@Param(value = "empNum") Integer empNum, @Param(value = "query") String query,
			@Param(value = "startTime") String startTime, @Param(value = "endTime") String endTime
//			,@Param(value = "currPage") Integer currPage, @Param(value = "pageSize") Integer pageSize
			);

	/**
	 * 资产分类查询(多级)
	 * 
	 * @param userBean
	 * @param id       资产类别id
	 * @return
	 */
	List<ZcglAssoZcda> queryDetails(Page<ZcglDetailsDto> page, @CurrentUser @Param(value = "orgCode") Integer orgCode,
			@Param(value = "id") Integer id, @Param(value = "query") String query);

	/**
	 * 删除资产(按上级id)
	 * 
	 * @return
	 */
	Integer deleteDetails(@CurrentUser @Param(value = "orgCode") Integer orgCode, @Param(value = "id") Integer id);

	/**
	 * 资产总价查询条件(分类)
	 * 
	 * @param orgCode
	 * @param id
	 * @return
	 */
	List<ZcglDetailsDto> queryZczj(@CurrentUser @Param(value = "orgCode") Integer orgCode,
			@Param(value = "id") Integer id);

	/**
	 * 手机端固定与消耗资产查询
	 * 
	 * @param currPage
	 * @param pageSize
	 * @return
	 */
	List<ZcglDetailsDto> queryGdzc(@CurrentUser @Param(value = "orgCode") Integer orgCode,
			@Param(value = "currPage") Integer currPage, @Param(value = "pageSize") Integer pageSize);

	List<ZcglDetailsDto> queryXhzc(@CurrentUser @Param(value = "orgCode") Integer orgCode,
			@Param(value = "currPage") Integer currPage, @Param(value = "pageSize") Integer pageSize);
}