package com.unis.base.server.dao;

import com.unis.base.common.vo.*;
import com.unis.base.server.entity.*;
import org.apache.ibatis.annotations.Param;
import org.springframework.stereotype.Repository;
import org.springframework.transaction.annotation.Transactional;

import java.util.List;

@Transactional(rollbackFor = Exception.class)
@org.apache.ibatis.annotations.Mapper
@Repository
public interface FacilityDao {

    //设备报废记录
    List<DsbbfxxVO> findFacility(@Param("vo") DSbxxsjyQueryVO vo,
                                 @Param("lx") Integer lx);

    //设备报废记录详情
    List<DsbbfxxVO> findFacilityById(@Param("vo") DSbxxsjyQueryVO vo);

    //设备维护分页
    List<DsbwhxxVO> findVindicate(@Param("vo") DSbxxsjyQueryVO vo,
                                  @Param("lx") Integer lx);

    //设备维护详情
    List<DsbwhxxVO> findVindicateById(@Param("vo") DSbxxsjyQueryVO vo);

    //设备维修分页
    List<DSbwxxxVO> findMaintain(@Param("vo") DSbxxsjyQueryVO vo,
                                 @Param("lx") Integer lx);

    //设备维修详情
    List<DSbwxxxVO> findMaintainById(@Param("vo") DSbxxsjyQueryVO vo);

    //设备领用
    List<DsblyxxVO> findReceive(@Param("vo") DSbxxsjyQueryVO vo,
                                @Param("lx") Integer lx);

    //设备领用详情
    List<DsblyxxVO> findReceiveById(@Param("vo") DSbxxsjyQueryVO vo);

    //设备入库
    List<DSbxxsjyVO> findStorage(@Param("vo") DSbxxsjyQueryVO vo,
                                 @Param("lx") Integer lx);

    //设备入库详情
    List<DSbxxsjyVO> findStorageById(@Param("vo") DSbxxsjyQueryVO vo);

    //设备申购分页
    List<DSbsgxxVO> findPurchase(@Param("vo") DSbxxsjyQueryVO vo,
                                 @Param("lx") Integer lx);

    //设备申购详情
    List<DSbsgxxVO> findPurchaseById(@Param("vo") DSbxxsjyQueryVO vo);

    //归还
    List<DsblyxxVO> findGuiHuan(@Param("vo") DSbxxsjyQueryVO vo);

    //机械设备统计分析
    List<DSbtjfxVO> findSbtjfx(@Param("vo") DSbtjfxVO vo,
                               @Param("lx") Integer lx);

    //获取企业名称
    String findQymc(@Param("tyshxydm") String tyshxydm);

    Integer findSblysl(@Param("kddm") String kddm,
                       @Param("sbyqmc") String sbyqmc,
                       @Param("sbfl") String sbfl,
                       @Param("lx") Integer lx);

    /*String findKddm(@Param("kdmc") String kdmc);*/
}
