package com.srs.workstudy.service;

import java.util.Date;
import java.util.List;
import java.util.Map;

import com.baomidou.mybatisplus.extension.service.IService;
import com.srs.common.core.domain.AjaxResult;
import com.srs.workstudy.domain.QgzxMoney;
import com.srs.workstudy.domain.QgzxStuPost;
import com.srs.workstudy.domain.dto.ManyMoney;
import com.srs.workstudy.domain.vo.DeptPostCount;
import org.springframework.web.bind.annotation.RequestBody;

/**
 * 勤工助学薪资填报Service接口
 *
 * @author srs
 * @date 2024-06-11
 */

public interface IQgzxMoneyService extends IService<QgzxMoney> {

    public AjaxResult editMonth(QgzxMoney param);

    List<QgzxStuPost> listTeacherCanSelectPostAndMonthTime(QgzxStuPost param);

    Map<String, Object> computeMonthTime(QgzxMoney param);

    public AjaxResult editPostTypeMoney(QgzxMoney param);

    public AjaxResult checkDeptAll(QgzxMoney param);

    public AjaxResult oneClickAudit();
    public AjaxResult zzbOneClickAudit();

    public AjaxResult zzbldEdit( QgzxMoney param);


    public AjaxResult zzbldAdd( QgzxMoney param);

    List<DeptPostCount> listCount();

    public AjaxResult finalDeptAudit(List<String> deptCodes, String applyStatus);

    public AjaxResult highDeptAudit(List<String> deptCodes, String applyStatus);

    List<DeptPostCount> listAuditByDept(QgzxMoney param);

    public AjaxResult doMany(ManyMoney param);

    public Map<String, Object> countUnMoney(QgzxMoney param);

    public AjaxResult manyAudit(List<QgzxMoney> param);

    public AjaxResult doAudit(QgzxMoney param);

    public AjaxResult cancelApply(Long id);

    public AjaxResult doApply(QgzxMoney param);

    public AjaxResult doReply(QgzxMoney param);

    public List<QgzxMoney> listView(QgzxMoney param);


    /**
     * 查询勤工助学薪资填报
     *
     * @param id 勤工助学薪资填报主键
     * @return 勤工助学薪资填报
     */
    public QgzxMoney selectQgzxMoneyById(Long id);

    /**
     * 查询勤工助学薪资填报列表
     *
     * @param qgzxMoney 勤工助学薪资填报
     * @return 勤工助学薪资填报集合
     */
    List<QgzxMoney> selectQgzxMoneyList(QgzxMoney qgzxMoney);

    /**
     * 新增勤工助学薪资填报
     *
     * @param qgzxMoney 勤工助学薪资填报
     * @return 结果
     */
    int insertQgzxMoney(QgzxMoney qgzxMoney);

    /**
     * 修改勤工助学薪资填报
     *
     * @param qgzxMoney 勤工助学薪资填报
     * @return 结果
     */
    int updateQgzxMoney(QgzxMoney qgzxMoney);

    /**
     * 批量删除勤工助学薪资填报
     *
     * @param ids 需要删除的勤工助学薪资填报主键集合
     * @return 结果
     */
    int deleteQgzxMoneyByIds(Long[] ids);

    /**
     * 删除勤工助学薪资填报信息
     *
     * @param id 勤工助学薪资填报主键
     * @return 结果
     */
    int deleteQgzxMoneyById(Long id);
}
