package com.customization.salary;

import com.engine.core.cfg.annotation.ServiceDynamicProxy;
import com.engine.core.impl.aop.AbstractServiceProxy;
import com.engine.salary.entity.salaryacct.dto.SalaryAcctRecordListDTO;
import com.engine.salary.entity.salaryacct.param.SalaryAcctRecordQueryParam;
import com.engine.salary.entity.salaryacct.param.SalaryAcctRecordSaveParam;
import com.engine.salary.util.page.PageInfo;
import com.engine.salary.wrapper.SalaryAcctRecordWrapper;
import com.engine.salary.wrapper.proxy.SalaryAcctRecordWrapperProxy;

import java.util.Collection;
import java.util.Map;

/**
 * 薪资核算记录
 * <p>Copyright: Copyright (c) 2022</p>
 * <p>Company: 泛微软件</p>
 *
 * @author qiantao
 * @version 1.0
 **/
@ServiceDynamicProxy(target = SalaryAcctRecordWrapper.class, desc = "核算记录")
public class CustomSalaryAcctRecordWrapper extends AbstractServiceProxy implements SalaryAcctRecordWrapperProxy {

    @Override
    @ServiceMethodDynamicProxy(desc = "拦截核算记录列表")
    public PageInfo<SalaryAcctRecordListDTO> listPage(SalaryAcctRecordQueryParam queryParam) {
        PageInfo<SalaryAcctRecordListDTO> salaryAcctRecordListDTOPageInfo = (PageInfo<SalaryAcctRecordListDTO>) executeMethod(queryParam);

        //todo do some thing
        return salaryAcctRecordListDTOPageInfo;
    }

    @Override
    public Map<String, Object> getForm(Long id) {
        return (Map<String, Object>)executeMethod(id);
    }

    @Override
    public Long save(SalaryAcctRecordSaveParam saveParam) {
        return (Long)executeMethod(saveParam);
    }

    @Override
    public void delete(Collection<Long> ids) {
        executeMethod(ids);
    }

    @Override
    public void file(Long id) {
        executeMethod(id);
    }

    @Override
    public void reCalculate(Long id) {
        executeMethod(id);
    }
}
