package com.ruoyi.tc.mapper;

import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.ruoyi.tc.entity.AssetCurrent;
import com.ruoyi.tc.entity.po.AssetCurrentCpPo;
import com.ruoyi.tc.entity.request.AssetAuditPageRequest;
import org.apache.ibatis.annotations.Delete;
import org.apache.ibatis.annotations.Param;
import org.apache.ibatis.annotations.Select;
import org.apache.ibatis.annotations.Update;

import java.util.List;

/**
 * 现有资产复制表(AssetCurrentResponse)表数据库访问层
 *
 * @author makejava
 * @since 2024-11-15 10:03:56
 */
public interface AssetCurrentCpMapper extends BaseMapper<AssetCurrentCpPo> {
    /**
     * @param assetId
     * @param taskId
     */
    @Delete("delete from asset_current_cp where id=#{assetId} and task_id =#{taskId}  ")
    void deletByAssetIdandTaskId(@Param("assetId") Long assetId, @Param("taskId") Integer taskId);


    /**
     * 根据资产id查询查询数据
     *
     * @param assetId 资产id
     * @return
     */
    @Select("select * from  asset_current_cp where id=#{assetId}")
    AssetCurrentCpPo findByTaskId(int assetId);


    /**
     * 修改不通过原因
     *
     * @param assetId 资产id
     * @param taskId  任务id
     * @param btgyy   不通过原因
     * @param newThcs 退回次数
     */
    @Update("update asset_current_cp set btgyy=#{btgyy},count=#{newThcs} where id=#{assetId} and task_id =#{taskId} ")
    void updateByAssetId(@Param("assetId") Integer assetId, @Param("taskId") Integer taskId, @Param("btgyy") String btgyy, @Param("newThcs") Integer newThcs);


    /**
     * @param assetId 资产id
     * @param taskId  任务id
     * @return
     */
    @Select("select * from asset_current_cp where id=#{assetId} and task_id =#{taskId}")
    AssetCurrentCpPo findByassetIdandTaskId(@Param("assetId") Integer assetId, @Param("taskId") Integer taskId);



    @Select(" select * from  asset_current_cp  where id = #{id} ")
    List<AssetCurrentCpPo> findDwmc(Long id);


    /**
     * 根据资产id和任务id删除数据
     *
     * @param assetId 资产id
     */
    @Delete("delete from asset_current_cp where id=#{assetId}  ")
    void deletByAssetId(@Param("assetId") Long assetId);

}