package com.yanzhu.manage.service.impl;

import java.util.List;

import com.yanzhu.common.core.context.SecurityContextHolder;
import com.yanzhu.common.core.utils.DateUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import com.yanzhu.manage.mapper.ProProjectInfoDeptsMapper;
import com.yanzhu.manage.domain.ProProjectInfoDepts;
import com.yanzhu.manage.service.IProProjectInfoDeptsService;

/**
 * 参建单位Service业务层处理
 * 
 * @author JiangYuQi
 * @date 2024-08-25
 */
@Service
public class ProProjectInfoDeptsServiceImpl implements IProProjectInfoDeptsService 
{
    @Autowired
    private ProProjectInfoDeptsMapper proProjectInfoDeptsMapper;

    /**
     * 查询参建单位
     * 
     * @param id 参建单位主键
     * @return 建设单位
     */
    @Override
    public ProProjectInfoDepts selectProProjectInfoDeptsById(Long id)
    {
        return proProjectInfoDeptsMapper.selectProProjectInfoDeptsById(id);
    }

    /**
     * 查询参建单位列表
     * 
     * @param proProjectInfoDepts 建设单位
     * @return 建设单位
     */
    @Override
    public List<ProProjectInfoDepts> selectProProjectInfoDeptsList(ProProjectInfoDepts proProjectInfoDepts)
    {
        return proProjectInfoDeptsMapper.selectProProjectInfoDeptsList(proProjectInfoDepts);
    }

    /**
     * 新增参建单位
     * 
     * @param proProjectInfoDepts 建设单位
     * @return 结果
     */
    @Override
    public int insertProProjectInfoDepts(ProProjectInfoDepts proProjectInfoDepts)
    {
        proProjectInfoDepts.setCreateTime(DateUtils.getNowDate());
        proProjectInfoDepts.setCreateBy(SecurityContextHolder.getUserName());
        return proProjectInfoDeptsMapper.insertProProjectInfoDepts(proProjectInfoDepts);
    }

    /**
     * 修改参建单位
     * 
     * @param proProjectInfoDepts 建设单位
     * @return 结果
     */
    @Override
    public int updateProProjectInfoDepts(ProProjectInfoDepts proProjectInfoDepts)
    {
        proProjectInfoDepts.setUpdateTime(DateUtils.getNowDate());
        proProjectInfoDepts.setUpdateBy(SecurityContextHolder.getUserName());
        return proProjectInfoDeptsMapper.updateProProjectInfoDepts(proProjectInfoDepts);
    }

    /**
     * 批量删除参建单位
     * 
     * @param ids 需要删除的参建单位主键
     * @return 结果
     */
    @Override
    public int deleteProProjectInfoDeptsByIds(Long[] ids)
    {
        return proProjectInfoDeptsMapper.deleteProProjectInfoDeptsByIds(ids);
    }

    /**
     * 删除参建单位信息
     * 
     * @param id 参建单位主键
     * @return 结果
     */
    @Override
    public int deleteProProjectInfoDeptsById(Long id)
    {
        return proProjectInfoDeptsMapper.deleteProProjectInfoDeptsById(id);
    }
}
