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.SalaryAcctResultDetailDTO;
import com.engine.salary.entity.salaryacct.dto.SalaryAcctResultListColumnDTO;
import com.engine.salary.entity.salaryacct.param.*;
import com.engine.salary.wrapper.SalaryAcctResultWrapper;
import com.engine.salary.wrapper.proxy.SalaryAcctResultWrapperProxy;

import java.util.Map;

/**
 * 薪资核算结果
 * <p>Copyright: Copyright (c) 2022</p>
 * <p>Company: 泛微软件</p>
 *
 * @author qiantao
 * @version 1.0
 **/
@ServiceDynamicProxy(target = SalaryAcctResultWrapper.class, desc = "核算结果")
public class CustomSalaryAcctResultWrapper extends AbstractServiceProxy implements SalaryAcctResultWrapperProxy {

    @Override
    public Map<String, Object> listPage(SalaryAcctResultQueryParam queryParam) {
        return (Map<String, Object>)executeMethod(queryParam);
    }

    @Override
    public SalaryAcctResultDetailDTO getForm(Long salaryAcctEmployeeId) {
        return (SalaryAcctResultDetailDTO)executeMethod(salaryAcctEmployeeId);
    }

    @Override
    public Map<String, SalaryAcctResultListColumnDTO> getColumnBySalaryAcctRecordId(Long salaryAcctRecordId) {
        return (Map<String, SalaryAcctResultListColumnDTO>)executeMethod(salaryAcctRecordId);
    }

    @Override
    public void save(SalaryAcctResultSaveParam saveParam) {
        //todo do some thing
        executeMethod(saveParam);
        //todo do some thing
    }

    @Override
    public void updateLockStatusByParam(SalaryAcctResultUpdateLockStatusParam updateParam) {
        executeMethod(updateParam);
    }

    @Override
    public void calculate(SalaryAcctCalculateParam calculateParam) {
        executeMethod(calculateParam);
    }

    @Override
    public void batchUpdate(SalaryAcctResultBatchUpdateParam param) {
        executeMethod(param);
    }
}
