package com.engine.salary.service.impl; import com.engine.core.impl.Service; import com.engine.salary.entity.salarysob.bo.SalarySobInitEnv; import com.engine.salary.entity.salarysob.param.SalarySobBasicSaveParam; import com.engine.salary.entity.salarysob.po.SalarySobPO; import com.engine.salary.service.SalarySobInitService; /** * @description: 薪资账套初始化 * @author: xiajun * @modified By: xiajun * @date: Created in 2023/5/18 15:23 * @version:v1.0 */ public abstract class AbstractSalarySobInitService extends Service implements SalarySobInitService { @Override public SalarySobPO init(SalarySobBasicSaveParam saveParam) { SalarySobInitEnv env = new SalarySobInitEnv(); env.setSaveParam(saveParam); env.setCurrentUser(user); // 初始化基础设置 initBasic(env); // 初始化员工信息字段 initEmpField(env); // 初始化薪资项目、薪资项目分组 initItem(env); // 初始化回算薪资项目 initBackItem(env); // 初始化累计字段对应规则 initAddUpRule(env); // 初始化个税申报表字段对应规则 initTaxReportRule(env); return env.getSalarySob(); } /** * 初始化基础设置 * * @param env 公共变量 */ protected abstract void initBasic(SalarySobInitEnv env); /** * 初始化人员信息字段 * * @param env 公共变量 */ protected abstract void initEmpField(SalarySobInitEnv env); /** * 初始化薪资项目、薪资项目分组 * * @param env 公共变量 */ protected abstract void initItem(SalarySobInitEnv env); /** * 初始化回算薪资项目 * * @param env 公共变量 */ protected abstract void initBackItem(SalarySobInitEnv env); /** * 初始化累计字段对应规则 * * @param env 公共变量 */ protected abstract void initAddUpRule(SalarySobInitEnv env); /** * 初始化个税申报表字段对应规则 * * @param env 公共变量 */ protected abstract void initTaxReportRule(SalarySobInitEnv env); }