三表一册生成修改
This commit is contained in:
parent
cf7b9087f9
commit
5da3559551
|
|
@ -81,7 +81,9 @@ public class ThreeTableOneRosterTask {
|
|||
listPro.forEach(mapBeanVo -> {
|
||||
//每个工程去循环生成
|
||||
//1.花名册
|
||||
logger.error("工资册:月份-》{},开始时间-》{},结束时间-》{},工程编号-》{}",lastMonth.toString(),startTime,endTime,mapBeanVo.getId());
|
||||
List<ThreeTableOneRosterPo> listRoster = mapper.getWorkerRosterData(lastMonth.toString(),startTime,endTime,mapBeanVo.getId());
|
||||
logger.error("工资册:工程编号-》{},条数-》{}",mapBeanVo.getId(),listRoster.size());
|
||||
//2.农民工实名制工资信息报审表
|
||||
List<ThreeTableOneRosterPo> listApply = mapper.getWorkerApplyData(lastMonth.toString(),mapBeanVo.getId());
|
||||
//3.考勤明细表
|
||||
|
|
@ -147,14 +149,24 @@ public class ThreeTableOneRosterTask {
|
|||
});
|
||||
listRosterAll.addAll(listRoster);
|
||||
});
|
||||
logger.error("数据:总条数-》{}",listRosterAll.size());
|
||||
if(!listRosterAll.isEmpty()){
|
||||
//插入数据
|
||||
if(isExist){
|
||||
logger.error("二次生成删除旧数据:月份-》{}",lastMonth.toString());
|
||||
mapper.deleteWorkerPay(lastMonth.toString(),"");
|
||||
}
|
||||
mapper.insertWorkerPay(listRosterAll);
|
||||
logger.error("数据插入详情表:条数-》{}",listRosterAll.size());
|
||||
// 数据量过大时,可以使用批量插入来提高性能
|
||||
int batchSize = 1200;
|
||||
for (int i = 0; i < listRosterAll.size(); i += batchSize) {
|
||||
List<ThreeTableOneRosterPo> batch = listRosterAll.subList(i, Math.min(i + batchSize, listRosterAll.size()));
|
||||
// MyBatis 批量插入
|
||||
mapper.insertWorkerPay(batch);
|
||||
}
|
||||
//获取整合数据
|
||||
List<AttProMonthPo> listRosterMonthAll = mapper.getProMonthData(lastMonth.toString());
|
||||
logger.error("查询详情表整合数据,插入主表:条数-》{}",listRosterMonthAll.size());
|
||||
for (AttProMonthPo attProMonthPo : listRosterMonthAll) {
|
||||
Integer id =mapper.getProMonthDataByTable(attProMonthPo);
|
||||
if(id!=null && id>0){
|
||||
|
|
@ -184,7 +196,7 @@ public class ThreeTableOneRosterTask {
|
|||
|
||||
}
|
||||
}catch (Exception e){
|
||||
logger.error("人员入场更新表失败,{}",e.getMessage());
|
||||
logger.error("三表一册生成,{}",e.getMessage());
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -285,7 +297,13 @@ public class ThreeTableOneRosterTask {
|
|||
if(isExist){
|
||||
mapper.deleteWorkerPay(month, String.valueOf(proId));
|
||||
}
|
||||
mapper.insertWorkerPay(listRosterAll);
|
||||
// 数据量过大时,可以使用批量插入来提高性能
|
||||
int batchSize = 1200;
|
||||
for (int i = 0; i < listRosterAll.size(); i += batchSize) {
|
||||
List<ThreeTableOneRosterPo> batch = listRosterAll.subList(i, Math.min(i + batchSize, listRosterAll.size()));
|
||||
// MyBatis 批量插入
|
||||
mapper.insertWorkerPay(batch);
|
||||
}
|
||||
//获取整合数据
|
||||
List<AttProMonthPo> listRosterMonthAll = mapper.getProMonthData(month);
|
||||
for (AttProMonthPo attProMonthPo : listRosterMonthAll) {
|
||||
|
|
@ -300,7 +318,7 @@ public class ThreeTableOneRosterTask {
|
|||
}
|
||||
}
|
||||
}catch (Exception e){
|
||||
logger.error("人员入场更新表失败,{}",e.getMessage());
|
||||
logger.error("三表一册更新手动,{}",e.getMessage());
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Reference in New Issue