package com.chushang.inspection.work.service;

import com.chushang.common.mybatis.utils.PageResult;
import com.chushang.inspection.project.dto.AuditDTO;
import com.chushang.inspection.terminal.po.Store;
import com.chushang.inspection.terminal.po.Terminal;
import com.chushang.inspection.terminal.po.TerminalIns;
import com.chushang.inspection.work.dto.WrkInfoDTO;
import com.chushang.inspection.work.po.WrkInfo;
import com.baomidou.mybatisplus.extension.service.IService;
import com.chushang.inspection.work.query.DispatchQuery;
import com.chushang.inspection.work.query.ReviewedQuery;
import com.chushang.inspection.work.query.WrkAppQuery;
import com.chushang.inspection.work.query.WrkInfoQuery;
import com.chushang.inspection.work.vo.WrkInfoDetailsVO;

import javax.servlet.http.HttpServletResponse;
import java.util.List;

/**
 * @auther: zhao
 * @date: 2024/6/26 17:13
 */
public interface WrkInfoService extends IService<WrkInfo> {


    PageResult queryDispatchPage(WrkInfoQuery query);

    PageResult queryArchivePage(ReviewedQuery query);

    PageResult queryAppPage(WrkAppQuery query);

    WrkInfoDetailsVO queryWorkOrderDetails(Long wrkId);

    List<WrkInfo> dispatch(DispatchQuery query, int i);

    Long downInsTemplate(ReviewedQuery query);

    void submit(WrkInfoDTO info);

    void withdraw(List<Long> ids) throws Exception;

    void audit(AuditDTO audit);

    void exportDispatchPage(HttpServletResponse response, WrkInfoQuery query);

    Long dispatch(WrkInfo wrkInfo, Store store, Terminal terminal, TerminalIns terminalIns);

}
