核算基础公式
This commit is contained in:
parent
a069447f02
commit
43d97d87b3
|
|
@ -2,7 +2,7 @@ package com.engine.salary.biz;
|
|||
|
||||
import com.engine.salary.entity.salarysob.po.SalarySobPO;
|
||||
import com.engine.salary.mapper.salarysob.SalarySobMapper;
|
||||
import com.engine.salary.util.db.SqlProxyHandle;
|
||||
import com.engine.salary.util.db.MapperProxyFactory;
|
||||
import org.apache.ibatis.session.SqlSession;
|
||||
import weaver.conn.mybatis.MyBatisFactory;
|
||||
|
||||
|
|
@ -11,7 +11,7 @@ import java.util.List;
|
|||
|
||||
public class SalarySobBiz {
|
||||
public SalarySobPO getById(Long id) {
|
||||
SalarySobMapper mapper = SqlProxyHandle.getProxy(SalarySobMapper.class);
|
||||
SalarySobMapper mapper = MapperProxyFactory.getProxy(SalarySobMapper.class);
|
||||
return mapper.getById(id);
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -20,7 +20,7 @@ import com.engine.salary.mapper.datacollection.AttendQuoteFieldMapper;
|
|||
import com.engine.salary.service.*;
|
||||
import com.engine.salary.util.SalaryEntityUtil;
|
||||
import com.engine.salary.util.SalaryI18nUtil;
|
||||
import com.engine.salary.util.db.SqlProxyHandle;
|
||||
import com.engine.salary.util.db.MapperProxyFactory;
|
||||
import com.google.common.collect.Lists;
|
||||
import com.weaver.excel.formula.api.entity.FormulaVar;
|
||||
import org.apache.commons.collections4.CollectionUtils;
|
||||
|
|
@ -43,7 +43,7 @@ public class RemoteExcelServiceImpl extends Service implements RemoteExcelServic
|
|||
// private SIAccountService siAccountService;
|
||||
|
||||
private AttendQuoteFieldMapper getAttendQuoteFieldMapper() {
|
||||
return SqlProxyHandle.getProxy(AttendQuoteFieldMapper.class);
|
||||
return MapperProxyFactory.getProxy(AttendQuoteFieldMapper.class);
|
||||
}
|
||||
|
||||
|
||||
|
|
|
|||
|
|
@ -19,7 +19,7 @@ import com.engine.salary.service.*;
|
|||
import com.engine.salary.util.SalaryDateUtil;
|
||||
import com.engine.salary.util.SalaryEntityUtil;
|
||||
import com.engine.salary.util.SalaryI18nUtil;
|
||||
import com.engine.salary.util.db.SqlProxyHandle;
|
||||
import com.engine.salary.util.db.MapperProxyFactory;
|
||||
import com.engine.salary.util.page.PageInfo;
|
||||
import com.engine.salary.util.page.PageUtil;
|
||||
import com.engine.salary.util.valid.ValidUtil;
|
||||
|
|
@ -45,7 +45,7 @@ public class SalaryAcctEmployeeServiceImpl extends Service implements SalaryAcct
|
|||
private SalaryAcctEmployeeMapper salaryAcctEmployeeMapper;
|
||||
|
||||
private SalaryAcctEmployeeMapper getSalaryAcctEmployeeMapper() {
|
||||
return SqlProxyHandle.getProxy(SalaryAcctEmployeeMapper.class);
|
||||
return MapperProxyFactory.getProxy(SalaryAcctEmployeeMapper.class);
|
||||
}
|
||||
|
||||
private SalaryAcctRecordService getSalaryAcctRecordService(User user) {
|
||||
|
|
|
|||
|
|
@ -21,7 +21,7 @@ import com.engine.salary.service.SalarySobService;
|
|||
import com.engine.salary.util.SalaryDateUtil;
|
||||
import com.engine.salary.util.SalaryEntityUtil;
|
||||
import com.engine.salary.util.SalaryI18nUtil;
|
||||
import com.engine.salary.util.db.SqlProxyHandle;
|
||||
import com.engine.salary.util.db.MapperProxyFactory;
|
||||
import com.engine.salary.util.page.PageInfo;
|
||||
import com.engine.salary.util.page.PageUtil;
|
||||
import com.engine.salary.util.valid.ValidUtil;
|
||||
|
|
@ -46,7 +46,7 @@ public class SalaryAcctRecordServiceImpl extends Service implements SalaryAcctRe
|
|||
|
||||
|
||||
private SalaryAcctRecordMapper getSalaryAcctRecordMapper() {
|
||||
return SqlProxyHandle.getProxy(SalaryAcctRecordMapper.class);
|
||||
return MapperProxyFactory.getProxy(SalaryAcctRecordMapper.class);
|
||||
}
|
||||
|
||||
private SalarySobService getSalarySobService(User user) {
|
||||
|
|
|
|||
|
|
@ -4,7 +4,7 @@ import com.engine.core.impl.Service;
|
|||
import com.engine.salary.entity.salaryacct.po.SalaryAcctResultTempPO;
|
||||
import com.engine.salary.mapper.salaryacct.SalaryAcctResultTempMapper;
|
||||
import com.engine.salary.service.SalaryAcctResultTempService;
|
||||
import com.engine.salary.util.db.SqlProxyHandle;
|
||||
import com.engine.salary.util.db.MapperProxyFactory;
|
||||
import com.google.common.collect.Lists;
|
||||
import org.apache.commons.collections4.CollectionUtils;
|
||||
import org.apache.commons.lang3.StringUtils;
|
||||
|
|
@ -23,7 +23,7 @@ import java.util.List;
|
|||
public class SalaryAcctResultTempServiceImpl extends Service implements SalaryAcctResultTempService {
|
||||
|
||||
private SalaryAcctResultTempMapper getSalaryAcctResultTempMapper(){
|
||||
return SqlProxyHandle.getProxy(SalaryAcctResultTempMapper.class);
|
||||
return MapperProxyFactory.getProxy(SalaryAcctResultTempMapper.class);
|
||||
}
|
||||
|
||||
|
||||
|
|
|
|||
|
|
@ -17,7 +17,7 @@ import com.engine.salary.mapper.archive.SalaryArchiveMapper;
|
|||
import com.engine.salary.mapper.archive.SalaryArchiveTaxAgentMapper;
|
||||
import com.engine.salary.service.SalaryArchiveTaxAgentService;
|
||||
import com.engine.salary.util.SalaryI18nUtil;
|
||||
import com.engine.salary.util.db.SqlProxyHandle;
|
||||
import com.engine.salary.util.db.MapperProxyFactory;
|
||||
import com.engine.salary.util.excel.ExcelUtil;
|
||||
import com.engine.salary.util.page.PageInfo;
|
||||
import com.engine.salary.util.page.PageUtil;
|
||||
|
|
@ -43,7 +43,7 @@ public class SalaryArchiveTaxAgentServiceImpl extends Service implements SalaryA
|
|||
private static final Logger log = LoggerFactory.getLogger(SalaryArchiveTaxAgentServiceImpl.class);
|
||||
|
||||
private SalaryArchiveTaxAgentMapper getSalaryArchiveTaxAgentMapper() {
|
||||
return SqlProxyHandle.getProxy(SalaryArchiveTaxAgentMapper.class);
|
||||
return MapperProxyFactory.getProxy(SalaryArchiveTaxAgentMapper.class);
|
||||
}
|
||||
|
||||
private TaxAgentBiz taxAgentService = new TaxAgentBiz();
|
||||
|
|
@ -97,7 +97,7 @@ public class SalaryArchiveTaxAgentServiceImpl extends Service implements SalaryA
|
|||
SalaryArchiveTaxAgentSaveParam.checkParam(saveParam);
|
||||
|
||||
// 薪资档案
|
||||
SalaryArchiveMapper salaryArchiveMapper = SqlProxyHandle.getProxy(SalaryArchiveMapper.class);
|
||||
SalaryArchiveMapper salaryArchiveMapper = MapperProxyFactory.getProxy(SalaryArchiveMapper.class);
|
||||
SalaryArchivePO salaryArchive = salaryArchiveMapper.getById(saveParam.getSalaryArchiveId());
|
||||
// 获取当前已生效
|
||||
SalaryArchiveTaxAgentPO effectiveTaxAgent = getEffectiveTaxAgent(saveParam.getSalaryArchiveId());
|
||||
|
|
|
|||
|
|
@ -11,7 +11,7 @@ import com.engine.salary.mapper.salarysob.SalarySobAdjustRuleMapper;
|
|||
import com.engine.salary.mapper.salarysob.SalarySobMapper;
|
||||
import com.engine.salary.service.SalarySobAdjustRuleService;
|
||||
import com.engine.salary.util.SalaryI18nUtil;
|
||||
import com.engine.salary.util.db.SalarySqlProxyHandle;
|
||||
import com.engine.salary.util.db.MapperProxyFactory;
|
||||
import com.engine.salary.util.valid.ValidUtil;
|
||||
import org.apache.commons.collections4.CollectionUtils;
|
||||
import org.apache.ibatis.session.SqlSession;
|
||||
|
|
@ -54,7 +54,7 @@ public class SalarySobAdjustRuleServiceImpl extends Service implements SalarySob
|
|||
//开启事务
|
||||
SqlSession sqlSession = MyBatisFactory.sqlSessionFactory.openSession();
|
||||
try {
|
||||
SalarySobMapper salarySobMapper = SalarySqlProxyHandle.getProxy(SalarySobMapper.class, sqlSession);
|
||||
SalarySobMapper salarySobMapper = MapperProxyFactory.getProxy(SalarySobMapper.class);
|
||||
|
||||
// 查询薪资账套
|
||||
SalarySobPO salarySobPO = salarySobMapper.getById(saveParam.getSalarySobId());
|
||||
|
|
@ -62,7 +62,7 @@ public class SalarySobAdjustRuleServiceImpl extends Service implements SalarySob
|
|||
throw new SalaryRunTimeException(SalaryI18nUtil.getI18nLabel(98379, "参数错误,薪资账套不存在或者已被删除"));
|
||||
}
|
||||
// 删除之前的调薪计薪规则
|
||||
SalarySobAdjustRuleMapper salarySobAdjustRuleMapper = SalarySqlProxyHandle.getProxy(SalarySobAdjustRuleMapper.class, sqlSession);
|
||||
SalarySobAdjustRuleMapper salarySobAdjustRuleMapper = MapperProxyFactory.getProxy(SalarySobAdjustRuleMapper.class);
|
||||
salarySobAdjustRuleMapper.deleteBySalarySobIds(Collections.singleton(saveParam.getSalarySobId()));
|
||||
// 保存参数转换成薪资账套的调薪计薪规则po
|
||||
List<SalarySobAdjustRulePO> salarySobAdjustRulePOS = SalarySobAdjustRuleBO.convert2PO(saveParam, (long)user.getUID());
|
||||
|
|
|
|||
|
|
@ -7,7 +7,7 @@ import com.engine.salary.entity.taxrate.TaxRateBase;
|
|||
import com.engine.salary.mapper.SysTaxRateBaseMapper;
|
||||
import com.engine.salary.mapper.TaxRateBaseMapper;
|
||||
import com.engine.salary.service.TaxRateBaseService;
|
||||
import com.engine.salary.util.db.SqlProxyHandle;
|
||||
import com.engine.salary.util.db.MapperProxyFactory;
|
||||
import com.google.common.collect.Lists;
|
||||
import org.springframework.beans.BeanUtils;
|
||||
|
||||
|
|
@ -20,12 +20,12 @@ public class TaxRateBaseServiceImpl extends Service implements TaxRateBaseServic
|
|||
|
||||
|
||||
private SysTaxRateBaseMapper getSysTaxRateBaseMapper(){
|
||||
return SqlProxyHandle.getProxy(SysTaxRateBaseMapper.class);
|
||||
return MapperProxyFactory.getProxy(SysTaxRateBaseMapper.class);
|
||||
}
|
||||
|
||||
|
||||
private TaxRateBaseMapper getTaxRateBaseMapper(){
|
||||
return SqlProxyHandle.getProxy(TaxRateBaseMapper.class);
|
||||
return MapperProxyFactory.getProxy(TaxRateBaseMapper.class);
|
||||
}
|
||||
|
||||
@Override
|
||||
|
|
|
|||
|
|
@ -6,7 +6,7 @@ import com.engine.salary.entity.taxrate.TaxRateDetail;
|
|||
import com.engine.salary.mapper.SysTaxRateDetailMapper;
|
||||
import com.engine.salary.mapper.TaxRateDetailMapper;
|
||||
import com.engine.salary.service.TaxRateDetailService;
|
||||
import com.engine.salary.util.db.SqlProxyHandle;
|
||||
import com.engine.salary.util.db.MapperProxyFactory;
|
||||
import org.apache.commons.collections4.CollectionUtils;
|
||||
import org.springframework.beans.BeanUtils;
|
||||
|
||||
|
|
@ -25,11 +25,11 @@ import java.util.stream.Collectors;
|
|||
public class TaxRateDetailServiceImpl extends Service implements TaxRateDetailService {
|
||||
|
||||
private TaxRateDetailMapper getTaxRateDetailMapper(){
|
||||
return SqlProxyHandle.getProxy(TaxRateDetailMapper.class);
|
||||
return MapperProxyFactory.getProxy(TaxRateDetailMapper.class);
|
||||
}
|
||||
|
||||
private SysTaxRateDetailMapper getSysTaxRateDetailMapper(){
|
||||
return SqlProxyHandle.getProxy(SysTaxRateDetailMapper.class);
|
||||
return MapperProxyFactory.getProxy(SysTaxRateDetailMapper.class);
|
||||
}
|
||||
|
||||
|
||||
|
|
|
|||
|
|
@ -10,16 +10,13 @@ import java.lang.reflect.InvocationHandler;
|
|||
import java.lang.reflect.Method;
|
||||
import java.lang.reflect.Proxy;
|
||||
|
||||
/**
|
||||
* @author zhangjian
|
||||
* @date 2017-8-25 下午5:41:17
|
||||
*/
|
||||
public class SqlProxyHandle implements InvocationHandler {
|
||||
|
||||
public class MapperProxyFactory implements InvocationHandler {
|
||||
private Class clazz;
|
||||
private boolean isAutoCommit = true;
|
||||
private boolean enableTransactions = false;
|
||||
private SqlSession session;
|
||||
|
||||
public SqlProxyHandle(Class clazz) {
|
||||
public MapperProxyFactory(Class clazz) {
|
||||
this.clazz = clazz;
|
||||
}
|
||||
|
||||
|
|
@ -28,12 +25,11 @@ public class SqlProxyHandle implements InvocationHandler {
|
|||
if (this.session == null) {
|
||||
this.session = MyBatisFactory.sqlSessionFactory.openSession();
|
||||
}
|
||||
// System.out.println(MyBatisFactory.getSql(this.clazz, method.getName(), args[0]));
|
||||
try {
|
||||
Object target = session.getMapper(clazz);
|
||||
return method.invoke(target, args);
|
||||
} finally {
|
||||
if (isAutoCommit) {
|
||||
if (!enableTransactions) {
|
||||
session.commit();
|
||||
session.close();
|
||||
}
|
||||
|
|
@ -41,7 +37,7 @@ public class SqlProxyHandle implements InvocationHandler {
|
|||
}
|
||||
|
||||
public Object getProxy() {
|
||||
if (!isAutoCommit)
|
||||
if (enableTransactions)
|
||||
this.session = MyBatisFactory.sqlSessionFactory.openSession();
|
||||
ClassLoader loader = Thread.currentThread().getContextClassLoader();
|
||||
Class<?>[] interfaces = new Class<?>[1];
|
||||
|
|
@ -50,7 +46,7 @@ public class SqlProxyHandle implements InvocationHandler {
|
|||
}
|
||||
|
||||
public Object getProxy(boolean isAutoCommit) {
|
||||
this.isAutoCommit = isAutoCommit;
|
||||
this.enableTransactions = isAutoCommit;
|
||||
return this.getProxy();
|
||||
}
|
||||
|
||||
|
|
@ -69,12 +65,12 @@ public class SqlProxyHandle implements InvocationHandler {
|
|||
}
|
||||
|
||||
public static <T> T getProxy(Class<T> clazz) {
|
||||
SqlProxyHandle handle = new SqlProxyHandle(clazz);
|
||||
MapperProxyFactory handle = new MapperProxyFactory(clazz);
|
||||
return (T) handle.getProxy();
|
||||
}
|
||||
|
||||
public static <T> T getProxy(Class<T> clazz, boolean isAutoSubmit) {
|
||||
SqlProxyHandle handle = new SqlProxyHandle(clazz);
|
||||
return (T) handle.getProxy(isAutoSubmit);
|
||||
public static <T> T getProxy(Class<T> clazz, boolean enableTransactions) {
|
||||
MapperProxyFactory handle = new MapperProxyFactory(clazz);
|
||||
return (T) handle.getProxy(enableTransactions);
|
||||
}
|
||||
}
|
||||
|
|
@ -1,83 +0,0 @@
|
|||
package com.engine.salary.util.db;
|
||||
|
||||
import org.apache.ibatis.session.SqlSession;
|
||||
import weaver.conn.mybatis.MyBatisFactory;
|
||||
|
||||
import java.lang.reflect.InvocationHandler;
|
||||
import java.lang.reflect.Method;
|
||||
import java.lang.reflect.Proxy;
|
||||
|
||||
public class SalarySqlProxyHandle implements InvocationHandler {
|
||||
private Class clazz;
|
||||
private boolean enableTransactions = false;
|
||||
private SqlSession session;
|
||||
|
||||
public SalarySqlProxyHandle() {
|
||||
}
|
||||
|
||||
public SalarySqlProxyHandle(Class clazz) {
|
||||
this.clazz = clazz;
|
||||
}
|
||||
|
||||
public SalarySqlProxyHandle(Class clazz, boolean enableTransactions) {
|
||||
this.clazz = clazz;
|
||||
this.enableTransactions = enableTransactions;
|
||||
}
|
||||
|
||||
public SalarySqlProxyHandle(Class clazz, boolean enableTransactions, SqlSession session) {
|
||||
this.clazz = clazz;
|
||||
this.enableTransactions = enableTransactions;
|
||||
this.session = session;
|
||||
}
|
||||
|
||||
@Override
|
||||
public Object invoke(Object proxy, Method method, Object[] args) throws Exception {
|
||||
if (this.session == null) {
|
||||
this.session = MyBatisFactory.sqlSessionFactory.openSession();
|
||||
}
|
||||
try {
|
||||
Object target = session.getMapper(clazz);
|
||||
Object invoke = method.invoke(target, args);
|
||||
if (!enableTransactions) {
|
||||
session.commit();
|
||||
}
|
||||
return invoke;
|
||||
} finally {
|
||||
if (!enableTransactions) {
|
||||
this.session.close();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public Object getProxy() {
|
||||
ClassLoader loader = Thread.currentThread().getContextClassLoader();
|
||||
Class<?>[] interfaces = new Class<?>[1];
|
||||
interfaces[0] = this.clazz;
|
||||
return Proxy.newProxyInstance(loader, interfaces, this);
|
||||
}
|
||||
|
||||
|
||||
public void commit() {
|
||||
if (this.session != null) {
|
||||
this.session.commit();
|
||||
this.session.close();
|
||||
}
|
||||
}
|
||||
|
||||
public void rollback() {
|
||||
if (this.session != null) {
|
||||
this.session.rollback();
|
||||
this.session.close();
|
||||
}
|
||||
}
|
||||
|
||||
public static <T> T getProxy(Class<T> clazz) {
|
||||
SalarySqlProxyHandle handle = new SalarySqlProxyHandle(clazz);
|
||||
return (T) handle.getProxy();
|
||||
}
|
||||
|
||||
public static <T> T getProxy(Class<T> clazz, SqlSession sqlSession) {
|
||||
SalarySqlProxyHandle handle = new SalarySqlProxyHandle(clazz, true, sqlSession);
|
||||
return (T) handle.getProxy();
|
||||
}
|
||||
}
|
||||
Loading…
Reference in New Issue