package com.huimv.admin.service;

import com.huimv.admin.common.utils.Result;
import com.huimv.admin.entity.BillGoodsInventory;
import com.huimv.admin.entity.BillIsolate;
import com.huimv.admin.common.utils.Result;
import com.huimv.admin.entity.BillPersonnelAdmission;
import com.baomidou.mybatisplus.extension.service.IService;
import org.springframework.web.multipart.MultipartFile;

import javax.annotation.Resource;
import javax.servlet.http.HttpServletRequest;
import java.io.IOException;
import java.util.List;
import java.util.Map;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.text.ParseException;
import java.util.Map;

/**
 * <p>
 * 入场申请 服务类
 * </p>
 *
 * @author author
 * @since 2023-07-21
 */
public interface IBillPersonnelAdmissionService extends IService<BillPersonnelAdmission> {
    Result listPrc(HttpServletRequest httpServletRequest, Map<String,String> paramsMap);

    Result listById(HttpServletRequest httpServletRequest, Map<String,String> paramsMap);

    Result editStatus(HttpServletRequest httpServletRequest, Map<String,String> paramsMap) throws ParseException;

    Result listIsolate(HttpServletRequest httpServletRequest, Map<String,String> paramsMap);

    Result isolateById(HttpServletRequest httpServletRequest, Map<String,String> paramsMap);

    Result commitIsolate(HttpServletRequest httpServletRequest, BillIsolate billIsolate);

    Result editIsolate(HttpServletRequest httpServletRequest, Map<String,String> paramsMap) throws ParseException;

    Result listClean(HttpServletRequest httpServletRequest, Map<String,String> paramsMap);

    Result listByIdClean(HttpServletRequest httpServletRequest, Map<String,String> paramsMap);
    Result editClean(HttpServletRequest httpServletRequest, Map<String,String> paramsMap) throws ParseException;
    Result editDry(HttpServletRequest httpServletRequest, Map<String,String> paramsMap) throws ParseException;
    Result addAdmission(HttpServletRequest httpServletRequest, String admissionType, String vistitType, String userName, String phone, String workName, String papersType, String papersCode, MultipartFile imgUrl, String img, String vistitDate, String vistitReson, String destId, String destName, String farmId, String carNum, String source, String goods) throws IOException;

    Result listPersonalAdmission(HttpServletRequest httpServletRequest, Map<String, String> paramsMap);

    Result listAdmission(HttpServletRequest httpServletRequest, Map<String, String> paramsMap);

    Result handleAdmission(HttpServletRequest httpServletRequest, Map<String, String> paramsMap);

    Result listAll(HttpServletRequest httpServletRequest, Map<String, String> paramsMap);

    Result getDetail(HttpServletRequest httpServletRequest, Map<String, String> paramsMap);

    //后台入场申请报表
    Result countAdmission(HttpServletRequest httpServletRequest, Map<String, String> paramsMap);
    //提交申请排名
    Result listTop(HttpServletRequest httpServletRequest, Map<String, String> paramsMap);

    //入场申请数量曲线
    Result admissionTail(HttpServletRequest httpServletRequest, Map<String, String> paramsMap);

    //详细数据查询
    Result selectList(HttpServletRequest httpServletRequest, Map<String, String> paramsMap);

    //导出
    void printAdmission(HttpServletResponse httpServletRequest, Map<String,String> paramsMap) throws Exception;
}
