package cn.estsh.i3plus.ext.mes.api.base;

import cn.estsh.i3plus.ext.mes.pojo.bean.MesAccidentDate;
import cn.estsh.i3plus.ext.mes.pojo.model.MesAccidentDateModel;
import cn.estsh.i3plus.pojo.base.bean.ListPager;
import cn.estsh.i3plus.pojo.base.common.Pager;

import java.text.ParseException;
import java.util.List;

/**
 * @Author: xiangming.liao
 * @CreateDate: 2021/01/17 17:56 下午
 * @Description:
 **/
public interface IMesAccidentDateService {
    /**
     * 新增事故日期
     *
     * @param accidentDate
     * @return
     */
    MesAccidentDate insertAccidentDate(MesAccidentDate accidentDate) throws ParseException;

    /**
     * 新增事故日期
     *
     * @param accidentDate
     * @return
     */
    MesAccidentDate insertBuAccidentDate(MesAccidentDate accidentDate) throws ParseException;

    /**
     * 修改事故日期
     *
     * @param accidentDate
     * @return
     */
    MesAccidentDate updateAccidentDate(MesAccidentDate accidentDate);

    /**
     * 修改事故日期
     *
     * @param accidentDate
     * @return
     */
    MesAccidentDate updateBuAccidentDate(MesAccidentDate accidentDate) throws ParseException;

    /**
     * 启用禁用事故日期
     *
     * @param id
     * @param status
     * @return
     */
    int updateStatusAccidentDate(long id, Integer status);

    /**
     * 查询事故日期分页
     *
     * @param accidentDate
     * @param pager
     * @return
     */
    ListPager<MesAccidentDate> queryAccidentDateByPager(MesAccidentDate accidentDate, Pager pager);

    /**
     * @return cn.estsh.i3plus.ext.mes.pojo.bean.MesAccidentDate
     * @Description: 查询最新的事故日期
     * @Param []
     * @Date 2021/7/1 15:13
     **/
    MesAccidentDate queryAccidentDateByNewest();

    /**
     * @Description: 看板-查询当年累计事故总数
     * @Param []
     * @return int
     * @Date 2021/7/1 15:46
     **/
    MesAccidentDateModel queryAccidentDaysBoard(String organizeCode);

    /**
     * @Description: 看板-查询当年累计事故总数
     * @Param []
     * @return int
     * @Date 2021/7/1 15:46
     **/
    MesAccidentDateModel queryBuAccidentDaysBoard(String organizeCode);
}
