package com.zcloud.primeport.api;

import com.alibaba.cola.dto.PageResponse;
import com.alibaba.cola.dto.SingleResponse;
import com.zcloud.primeport.dto.*;
import com.zcloud.primeport.dto.clientobject.PersonApplyCO;
import com.zcloud.primeport.dto.clientobject.PersonCountCO;
import com.zcloud.primeport.dto.clientobject.XgfPersonApplyCO;
import com.zcloud.primeport.dto.clientobject.XgfPersonCountCO;

/**
 * web-client
 *
 * @Author makejava
 * @Date 2026-03-05 11:33:22
 */
public interface PersonApplyServiceI {
    PageResponse<XgfPersonApplyCO> listPage(PersonApplyPageQry qry);

    SingleResponse<PersonApplyCO> add(PersonApplyAddCmd cmd);

    void edit(PersonApplyUpdateCmd cmd);

    void remove(Long id);

    void removeBatch(Long[] ids);

    Long xgfPersonSave(XgfPersonApplyAddCmd cmd);

    PageResponse<XgfPersonApplyCO> xgfPersonAuditList(XgfApplyPersonPageQry qry);

    PageResponse<XgfPersonApplyCO> xgfPersonApplyList(XgfApplyPersonPageQry qry);

    PageResponse<PersonApplyCO> tmpPersonApplyH5List(XgfApplyPersonPageQry qry);

    void xgfPersonAudit(XgfPersonApplyAuditCmd cmd) throws Exception;

    PageResponse<PersonCountCO> personnelVehicleManagementList(PersonCountPageQry qry);

    void authorization(PersonAuthCmd cmd) throws Exception;

    XgfPersonApplyCO xgfPersonApplyInfoById(Long id);

    PageResponse<PersonApplyCO> xgfPersonPermissionsList(XgfApplyPersonPageQry qry);

    PageResponse<XgfPersonCountCO> xgfPersonnelVehicleManagementList(PersonCountPageQry qry);

    void xgfPersonAuthorization(PersonAuthCmd cmd);

    SingleResponse<PersonApplyCO> xgfPersonPermissionsInfo(Long id);
}

