package com.gci.boot.modules.projects.service;

import com.baomidou.mybatisplus.core.conditions.Wrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.gci.boot.modules.basedata.entity.TbVehicle;
import com.gci.boot.modules.driver.vo.DriverUserVo;
import com.gci.boot.modules.projects.entity.Projects;
import com.baomidou.mybatisplus.extension.service.IService;

import java.util.List;

/**
 * <p>
 * 项目基础信息表 服务类
 * </p>
 *
 * @author xushuhan
 * @since 2023-08-25
 */
public interface IProjectsService extends IService<Projects> {

	void saveItem(Projects item,String createBy);

	void initBusId(Projects item);

	void initUserId(Projects item);

	void updateStatus(Projects item,String createBy);

	List<String> queryProjectListOfUser();

	List<Projects> listAll();

	/**
	 * 识别当前用户的身份（所属的机构类别 1普通部门，2维修厂，3客户公司（租赁方），0根节点）
	 * @return
	 */
	Integer judgeDepartCategory();


	String getVehicleTypeNumStr(String vehicleIdsStr );

	/**
	 * 分页查--区分数据权限
	 */
	IPage<Projects> getPage(IPage page, Wrapper wrapper);

	/**
	 * 获取所有项目,加一层用于数据权限注解,创建时间升序
	 */
	List<Projects> getAllProjectsAuth();

	/**
	 * 获取用户所有权限项目id,超级管理员PM0000返回全部数据
	 */
	List<String> queryAllProjectListOfUser();
	/**
	 * 获取用户所有权限的车牌号,超级管理员PM0000返回全部数据
	 */
	List<String> queryAllPlateNumberListOfUser();

	/**
	 * 获取用户所有权限的车牌号,超级管理员PM0000返回全部数据
	 */
	List<TbVehicle> queryAllVehicleListOfUser();
}
