package com.ghsc.partybuild.service;

import com.github.pagehelper.PageInfo;
import com.ghsc.partybuild.controller.jsonmodel.RequsetData;
import com.ghsc.partybuild.model.*;
import com.ghsc.partybuild.vo.*;

import java.util.HashMap;
import java.util.List;
import java.util.Map;

public interface PartyTwoService {

    DjDnpxxx getDnpxxx(String id);

    List<DjDnpxry> getDnpxryList(String dnpxid);

    RequsetData<String> saveDnpxxx(DjDnpxxx model, UserItemVo[] userList);

    int delDnpxxx(String id,String userid);

    PageInfo<HashMap<String, Object>> getDnpxxxList(int page, int rows,String dzzdm, String dzzmc, String username, String userid, Integer honourLevel, String honourName, String beginTime, String endTime, Integer zzfbType,Integer pxlx,String ssdzzdm,Integer honourType);

    int saveDnghbf(DjDnghbf model, List<DjDnghbfmx> recordList, String userId, String userName);

    int saveDnghbfmx(DjDnghbfmx bfmx);

    DjDnghbf getDnghbf(String id);

    PageInfo<HashMap<String, Object>> getDnghbfList(int page, int rows,String dzzdm, String dzzmc, String username,String rybm, Integer careType, Integer zzfbType,String beginTime, String endTime, Integer helpformType);

    PageInfo<HashMap<String, Object>> getDnghbfDetailsList(int page, int rows,String dzzdm, String dzzmc, String username,String rybm, Integer careType, Integer zzfbType);

    PageInfo<HashMap<String, Object>> getDnghbfmxList(int page, int rows, String dnghbId);

    int delDnghbf(String id,String ghmxid);

    Map<String, Object> getDnghbfDetails( String dnghbfid);

    List<Map<String, Object>> importDnghbf(List<Map<String, Object>> dnghbflist) throws Exception;

    DjZtdrxx getZtdrxx(String id);

    RequsetData<String> saveZtdrxx(DjZtdrxx model);

    int delZtdrxx(String id);

    PageInfo<DjZtdrxxVo>  getZtdrxxList(int page, int rows, String dzzdm, String dzzmc, String title, Integer subjectType, String location, String beginTime, String endTime, Integer zzfbType);

    DjZzsr getZzsr(String id);

    RequsetData<String> saveZzsr(DjZzsr model);

    int delZzsr(String id);

    PageInfo<DjZzsrVo>  getZzsrList(int page, int rows, String dzzdm, String dzzmc, String title, Integer subjectType, String location, String beginTime, String endTime, Integer zzfbType);


    DjDjkpxx getDjkpxx(String id);

    RequsetData<String> saveDjkpxx(DjDjkpxx model);

    int saveDjkpxxByList(List<DjDjkpxx> dataList, String userId, String userName);

    int delDjkpxx(String id);

    PageInfo<HashMap<String, Object>> getDjkpxxList(int page, int rows,String dzzdm, String dzzmc, Integer judgeLevel, Integer year,Integer zzfbType ,String ssdzzdm,Integer showdw);

    PageInfo<HashMap<String, Object>> getParyDjkpList(int page, int rows, String dzzdm,String dzzmc,Integer showdxz, Integer year, Integer showdw,Integer showdzb, List<String> selectdzzdmList);

    DjJlcfxx getJlcfxx(String id);

    RequsetData<String> saveJlcfxx(DjJlcfxx model);

    int delJlcfxx(String id);

    PageInfo<DjJlcfxxVo> getJlcfxxList(int page, int rows, String dzzdm, String dzzmc, String username,String rybm, Integer offenceType, Integer punishType, String beginTime, String endTime, Integer zzfbType);

    PageInfo< HashMap<String, Object>> getTaskList(int page, int rows, String username, String taskuserid, String taskName, String beginTime, String endTime,String day,String userid,Integer isreceive);

    List<DjTaskusers> getTaskUserList( String taskid);

    DjTask getTask(String id);

    int isReceiveTask(String id, String userId);

    int receiveTask(String id,String userId);

    int resetSubmit(String id);

    int delTask(String id);

    int terminateTask(String id);

    int saveTask(DjTask model, List<DjTaskusers> userList,  List<QtTaskpubcolumn> columnList,String userId, String userName);

    HashMap<String, Object> getPartyTotalInfo(String dzzdm, String yearMonth, String year);

    DjFundsbudget getfundsBudget(String id);

    RequsetData<String> savefundsBudget(DjFundsbudget model);

    int delfundsBudget(String id);

    PageInfo<HashMap<String, Object>> getfundsBudgetList(int page, int rows,String dzzdm,String dzzmc, Integer year);

    PageInfo<HashMap<String, Object>> getZtdrSummary(int page, int rows, String partyCode, Integer year);

    List<HashMap<String, Object>> getMzpyjgList();

    PageInfo<HashMap<String, Object>> getMzpyxxList(int page, int rows, String username, String rybm, String dzzdm, String beginTime, String endTime, String pyjg);
    ZzMzpyxxVo getMzpyById(String id);
    int saveMzpy(ZzMzpyxxVo data);
    int deleteMzpyById(String id);

    PageInfo<HashMap<String, Object>> getleaderUserList(int page, int rows, String username, Integer usertype);
}