Commit 3190ded1 authored by hongguangwu's avatar hongguangwu

1.7.21-0申报

parent ae16107d
......@@ -65,13 +65,30 @@ public interface TSalaryZeroMapper extends BaseMapper<TSalaryZero> {
**/
void createSalaryZeroYear(@Param("tableName") String tableName);
// 自动创建每月的0申报视图(1月创建含去年12月的计税月份)(2月更新成当年的上月的计税月份)
void createOrUpdateViewSalaryZeroYear(@Param("viewYearName") String viewYearName, @Param("tableNameOrLastTable") String tableNameOrLastTable);
// 自动创建每日的0申报视图(1月创建含去年12月的计税月份)(2月更新成当年的上月的计税月份)
void createOrUpdateViewSalaryZeroDay(@Param("viewDayName") String viewDayName, @Param("tableName") String tableName, @Param("tableNameOrLastTable") String tableNameOrLastTable);
// 0:自动清理临时表
void clearTempZeroYear();
// 1:自动创建临时表(1月创建含去年12月的计税月份)(2月更新成当年的上月的计税月份)
void createTempZeroYearView(@Param("viewYearName") String viewYearName);
void createTempZeroYear(@Param("viewYearName") String viewYearName);
// 2:更新减除费用与计税月
void updateTempZeroYear(@Param("tableNameOrLastTable") String tableNameOrLastTable);
// 3:复制到0申报表
void insertIntoSalaryZeroYear(@Param("tableName") String tableName);
// 0:自动清理临时表Day
void clearTempZeroDay();
// 1:自动创建临时表(1月创建含去年12月的计税月份)(2月更新成当年的上月的计税月份)
void createTempZeroDayView(@Param("viewDayName") String viewDayName);
void createTempZeroDay(@Param("viewDayName") String viewDayName);
// 2.1:将已存在月度表的数据清理掉
void deleteCurTempZeroDay();
// 2.2:将已存在报账的数据更新掉
void updateTempZeroDayDelete();
// 2.3:更新减除费用与计税月
void updateTempZeroDay(@Param("tableNameOrLastTable") String tableNameOrLastTable);
// 3:复制到0申报表
void insertIntoSalaryZeroDay(@Param("tableName") String tableName);
// 每月1号生成当月0申报表
void insertIntoSalaryZeroYear(@Param("tableName") String tableName, @Param("viewYearName") String viewYearName);
// 每天23点生成当天0申报表
void insertIntoSalaryZeroNowDay(@Param("tableName") String tableName, @Param("viewDayName") String viewDayName);
......
......@@ -592,32 +592,20 @@ public class TSalaryZeroServiceImpl extends ServiceImpl<TSalaryZeroMapper, TSala
tableNameOrLastTable = SalaryConstants.TABLE_NAME_PRE + lastYear;
// 创建0申报表
baseMapper.createSalaryZeroYear(tableName);
// 1:核心逻辑:自动创建每月的0申报视图(1月创建含去年12月的计税月份)(2月更新成当年的上月的计税月份)
baseMapper.createOrUpdateViewSalaryZeroYear(viewYearName, tableNameOrLastTable);
} else if (month == CommonConstants.TWO_INT) {
// 1:核心逻辑:自动创建每月的0申报视图(1月创建含去年12月的计税月份)(2月更新成当年的上月的计税月份)
baseMapper.createOrUpdateViewSalaryZeroYear(viewYearName, tableNameOrLastTable);
}
try {
TSalaryZeroSearchVo searchVo = new TSalaryZeroSearchVo();
searchVo.setSettleMonth(DateUtil.addMonth(0));
long count = baseMapper.getTSalaryZeroCount(tableName, searchVo);
if (count == CommonConstants.ZERO_INT) {
// 2:核心生成数据:生成月度数据
baseMapper.insertIntoSalaryZeroYear(tableName, viewYearName);
}
} catch (Exception e) {
// 保险机制,假如没有生成表与视图,则生成一份再生成数据
baseMapper.createSalaryZeroYear(tableName);
// 1:核心逻辑:自动创建每月的0申报视图(1月创建含去年12月的计税月份)(2月更新成当年的上月的计税月份)
baseMapper.createOrUpdateViewSalaryZeroYear(viewYearName, tableNameOrLastTable);
// 2:核心生成数据:生成月度数据
TSalaryZeroSearchVo searchVo = new TSalaryZeroSearchVo();
searchVo.setSettleMonth(DateUtil.addMonth(0));
long count = baseMapper.getTSalaryZeroCount(tableName, searchVo);
if (count == CommonConstants.ZERO_INT) {
baseMapper.insertIntoSalaryZeroYear(tableName, viewYearName);
}
TSalaryZeroSearchVo searchVo = new TSalaryZeroSearchVo();
searchVo.setSettleMonth(DateUtil.addMonth(0));
long count = baseMapper.getTSalaryZeroCount(tableName, searchVo);
if (count == CommonConstants.ZERO_INT) {
// 0:自动清理临时表
baseMapper.clearTempZeroYear();
// 1:核心逻辑:自动创建临时表(1月创建含去年12月的计税月份)(其他月更新成当年的上月的计税月份)
baseMapper.createTempZeroYearView(viewYearName);
baseMapper.createTempZeroYear(viewYearName);
// 2:更新减除费用与计税月
baseMapper.updateTempZeroYear(tableNameOrLastTable);
// 3:同步到目标表
baseMapper.insertIntoSalaryZeroYear(tableName);
}
}
......@@ -636,24 +624,25 @@ public class TSalaryZeroServiceImpl extends ServiceImpl<TSalaryZeroMapper, TSala
if (month == CommonConstants.ONE_INT) {
int lastYear = year - 1;
tableNameOrLastTable = SalaryConstants.TABLE_NAME_PRE + lastYear;
}
if (day == CommonConstants.ONE_INT) {
if (month == CommonConstants.ONE_INT) {
if (day == CommonConstants.ONE_INT) {
baseMapper.createSalaryZeroYear(tableName);
}
// 1:核心逻辑
baseMapper.createOrUpdateViewSalaryZeroDay(viewDayName, tableName, tableNameOrLastTable);
}
// 2:核心生成数据(今天的数据)
try {
baseMapper.insertIntoSalaryZeroNowDay(tableName, viewDayName);
} catch (Exception e) {
// 保险机制,假如没有生成表与视图,则生成一份再生成数据
baseMapper.createSalaryZeroYear(tableName);
// 1:核心逻辑
baseMapper.createOrUpdateViewSalaryZeroDay(viewDayName, tableName, tableNameOrLastTable);
baseMapper.insertIntoSalaryZeroNowDay(tableName, viewDayName);
}
// 0:自动清理临时表
baseMapper.clearTempZeroDay();
// 1:核心逻辑:自动创建临时表(1月创建含去年12月的计税月份)(其他月更新成当年的上月的计税月份)
baseMapper.createTempZeroDayView(viewDayName);
baseMapper.createTempZeroDay(viewDayName);
// 2.1:将已存在的数据清理掉
baseMapper.deleteCurTempZeroDay();
// 2.2:将已存在报账的数据更新掉
baseMapper.updateTempZeroDayDelete();
// 2.3:更新减除费用与计税月
baseMapper.updateTempZeroDay(tableNameOrLastTable);
// 3:同步到目标表
baseMapper.insertIntoSalaryZeroDay(tableName);
}
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment