package com.zehong.system.service.impl.track;

import java.util.List;
import com.zehong.common.utils.DateUtils;
import com.zehong.common.utils.SecurityUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import com.zehong.system.mapper.track.TProductPlanMapper;
import com.zehong.system.domain.track.TProductPlan;
import com.zehong.system.service.track.ITProductPlanService;

/**
 * 生产计划Service业务层处理
 * 
 * @author zehong
 * @date 2024-08-24
 */
@Service
public class TProductPlanServiceImpl implements ITProductPlanService 
{
    @Autowired
    private TProductPlanMapper tProductPlanMapper;

    /**
     * 查询生产计划
     * 
     * @param id 生产计划ID
     * @return 生产计划
     */
    @Override
    public TProductPlan selectTProductPlanById(Long id)
    {
        return tProductPlanMapper.selectTProductPlanById(id);
    }

    /**
     * 查询生产计划列表
     * 
     * @param tProductPlan 生产计划
     * @return 生产计划
     */
    @Override
    public List<TProductPlan> selectTProductPlanList(TProductPlan tProductPlan)
    {
        return tProductPlanMapper.selectTProductPlanList(tProductPlan);
    }

    /**
     * 新增生产计划
     * 
     * @param tProductPlan 生产计划
     * @return 结果
     */
    @Override
    public int insertTProductPlan(TProductPlan tProductPlan)
    {
        tProductPlan.setCreateTime(DateUtils.getNowDate());
        tProductPlan.setCreateId(SecurityUtils.getLoginUser().getUser().getUserId());
        return tProductPlanMapper.insertTProductPlan(tProductPlan);
    }

    /**
     * 修改生产计划
     * 
     * @param tProductPlan 生产计划
     * @return 结果
     */
    @Override
    public int updateTProductPlan(TProductPlan tProductPlan)
    {
        return tProductPlanMapper.updateTProductPlan(tProductPlan);
    }

    /**
     * 批量删除生产计划
     * 
     * @param ids 需要删除的生产计划ID
     * @return 结果
     */
    @Override
    public int deleteTProductPlanByIds(Long[] ids)
    {
        return tProductPlanMapper.deleteTProductPlanByIds(ids);
    }

    /**
     * 删除生产计划信息
     * 
     * @param id 生产计划ID
     * @return 结果
     */
    @Override
    public int deleteTProductPlanById(Long id)
    {
        return tProductPlanMapper.deleteTProductPlanById(id);
    }
}
