package com.ruoyi.finance.service.impl;

import com.ruoyi.common.core.domain.AjaxResult;
import com.ruoyi.common.utils.DateUtils;
import com.ruoyi.finance.domain.TFee;
import com.ruoyi.finance.domain.TFeeDo;
import com.ruoyi.finance.mapper.TFeeDoMapper;
import com.ruoyi.finance.service.ITFeeDoService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

import java.util.List;

/**
 * 财务数据明细Service业务层处理
 *
 * @author ruoyi
 * @date 2021-01-18
 */
@Service
public class TFeeDoServiceImpl implements ITFeeDoService {
    @Autowired
    private TFeeDoMapper tFeeDoMapper;

    /**
     * 查询财务数据明细
     *
     * @param fId 财务数据明细ID
     * @return 财务数据明细
     */
    @Override
    public TFeeDo selectTFeeDoById(Long fId) {
        return tFeeDoMapper.selectTFeeDoById(fId);
    }

    /**
     * 查询财务数据明细列表
     *
     * @param tFeeDo 财务数据明细
     * @return 财务数据明细
     */
    @Override
    public List<TFeeDo> selectTFeeDoList(TFeeDo tFeeDo) {
        return tFeeDoMapper.selectTFeeDoList(tFeeDo);
    }

    /**
     * 新增财务数据明细
     *
     * @param tFeeDo 财务数据明细
     * @return 结果
     */
    @Override
    public int insertTFeeDo(TFeeDo tFeeDo) {
        tFeeDo.setCreateTime(DateUtils.getNowDate());
        return tFeeDoMapper.insertTFeeDo(tFeeDo);
    }

    /**
     * 修改财务数据明细
     *
     * @param tFeeDo 财务数据明细
     * @return 结果
     */
    @Override
    public int updateTFeeDo(TFeeDo tFeeDo) {
        tFeeDo.setUpdateTime(DateUtils.getNowDate());
        return tFeeDoMapper.updateTFeeDo(tFeeDo);
    }

    /**
     * 批量删除财务数据明细
     *
     * @param fIds 需要删除的财务数据明细ID
     * @return 结果
     */
    @Override
    public int deleteTFeeDoByIds(Long[] fIds) {
        return tFeeDoMapper.deleteTFeeDoByIds(fIds);
    }

    /**
     * 删除财务数据明细信息
     *
     * @param fId 财务数据明细ID
     * @return 结果
     */
    @Override
    public int deleteTFeeDoById(Long fId) {
        return tFeeDoMapper.deleteTFeeDoById(fId);
    }

    @Override
    public AjaxResult removeFeeDoById(Long fId) {
        TFeeDo tFeeDo = tFeeDoMapper.selectTFeeDoById(fId);
        if ("4".equals(tFeeDo.getfStatus())
                || "5".equals(tFeeDo.getfStatus())
                ||"6".equals(tFeeDo.getfStatus())){
            return AjaxResult.error("数据已提交审批,暂不能删除");
        }
        Integer i = tFeeDoMapper.deleteTFeeDoById(fId);
        if (i != null && i >0){
            return AjaxResult.success();
        }else {
            return AjaxResult.error("删除失败,请找管理员");
        }
    }
}
