package com.jjt.inventory.service.impl;

import com.jjt.inventory.domain.TwinCalcDayBp;
import com.jjt.inventory.mapper.TwinCalcDayBpMapper;
import com.jjt.inventory.service.ITwinCalcDayBpService;
import org.springframework.stereotype.Service;

import javax.annotation.Resource;
import java.time.LocalDate;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

/**
 * 白坯库日统计数据Service业务层处理
 *
 * @author wukai
 * @date 2025-06-13
 */
@Service
public class TwinCalcDayBpServiceImpl implements ITwinCalcDayBpService {
    @Resource
    private TwinCalcDayBpMapper twinCalcDayBpMapper;

    /**
     * 查询白坯库日统计数据
     *
     * @param id 白坯库日统计数据主键
     * @return 白坯库日统计数据
     */
    @Override
    public TwinCalcDayBp selectTwinCalcDayBpById(Long id) {
        return twinCalcDayBpMapper.selectTwinCalcDayBpById(id);
    }

    /**
     * 查询白坯库日统计数据列表
     *
     * @param twinCalcDayBp 白坯库日统计数据
     * @return 白坯库日统计数据
     */
    @Override
    public List<TwinCalcDayBp> selectTwinCalcDayBpList(TwinCalcDayBp twinCalcDayBp) {
        return twinCalcDayBpMapper.selectTwinCalcDayBpList(twinCalcDayBp);
    }

    /**
     * 新增白坯库日统计数据
     *
     * @param twinCalcDayBp 白坯库日统计数据
     * @return 结果
     */
    @Override
    public int insertTwinCalcDayBp(TwinCalcDayBp twinCalcDayBp) {
        return twinCalcDayBpMapper.insertTwinCalcDayBp(twinCalcDayBp);
    }

    /**
     * 修改白坯库日统计数据
     *
     * @param twinCalcDayBp 白坯库日统计数据
     * @return 结果
     */
    @Override
    public int updateTwinCalcDayBp(TwinCalcDayBp twinCalcDayBp) {
        return twinCalcDayBpMapper.updateTwinCalcDayBp(twinCalcDayBp);
    }

    /**
     * 批量删除白坯库日统计数据
     *
     * @param ids 需要删除的白坯库日统计数据主键
     * @return 结果
     */
    @Override
    public int deleteTwinCalcDayBpByIds(Long[] ids) {
        return twinCalcDayBpMapper.deleteTwinCalcDayBpByIds(ids);
    }

    /**
     * 删除白坯库日统计数据信息
     *
     * @param id 白坯库日统计数据主键
     * @return 结果
     */
    @Override
    public int deleteTwinCalcDayBpById(Long id) {
        return twinCalcDayBpMapper.deleteTwinCalcDayBpById(id);
    }

    /**
     * 删除白坯库日统计数据信息
     *
     * @param date 白坯库日统计数据主键
     */
    @Override
    public void delete4date(String date) {
        twinCalcDayBpMapper.delete4date(date);
    }

    /**
     * 查询指定日期之后的白坯库日统计数据列表
     *
     * @param date 白坯库日统计数据主键
     */
    @Override
    public List<TwinCalcDayBp> selectStartDate(LocalDate date) {
        TwinCalcDayBp query = new TwinCalcDayBp();
        Map<String, Object> params = new HashMap<>(16);
        params.put("time", date);
        query.setParams(params);
        return selectTwinCalcDayBpList(query);
    }
}
