From 43f47ec34d2dcd0cef3c576bc04e9554ecf97456 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=96=B9=E4=BA=AE?= Date: Thu, 25 Sep 2025 15:39:13 +0800 Subject: [PATCH] =?UTF-8?q?=E4=B8=89=E8=A1=A8=E4=B8=80=E5=86=8C=E6=95=B0?= =?UTF-8?q?=E6=8D=AE=E6=9D=A5=E6=BA=90?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/bonus/job/domain/AttProMonthPo.java | 18 ++++++++ .../com/bonus/job/mapper/WorkerJobMapper.java | 13 ++++-- .../job/task/ThreeTableOneRosterTask.java | 11 +++++ .../resources/mapper/job/WorkerJobMapper.xml | 41 +++++++++++++++++++ 4 files changed, 79 insertions(+), 4 deletions(-) create mode 100644 bonus-modules/bonus-job/src/main/java/com/bonus/job/domain/AttProMonthPo.java diff --git a/bonus-modules/bonus-job/src/main/java/com/bonus/job/domain/AttProMonthPo.java b/bonus-modules/bonus-job/src/main/java/com/bonus/job/domain/AttProMonthPo.java new file mode 100644 index 0000000..f5a1ddd --- /dev/null +++ b/bonus-modules/bonus-job/src/main/java/com/bonus/job/domain/AttProMonthPo.java @@ -0,0 +1,18 @@ +package com.bonus.job.domain; + +import lombok.Data; + +@Data +public class AttProMonthPo { + private Integer proId; + private String month; + private Integer rosterNum; + private Integer attendanceNum; + private Integer repairNum; + private Integer salaryNum; + private Integer subNum; + private Integer teamNum; + private Double grossSalary; + private Double netSalary; + private Integer payNum; +} diff --git a/bonus-modules/bonus-job/src/main/java/com/bonus/job/mapper/WorkerJobMapper.java b/bonus-modules/bonus-job/src/main/java/com/bonus/job/mapper/WorkerJobMapper.java index 6ed99c7..393aba5 100644 --- a/bonus-modules/bonus-job/src/main/java/com/bonus/job/mapper/WorkerJobMapper.java +++ b/bonus-modules/bonus-job/src/main/java/com/bonus/job/mapper/WorkerJobMapper.java @@ -1,9 +1,6 @@ package com.bonus.job.mapper; -import com.bonus.job.domain.BmWorkerBlackJob; -import com.bonus.job.domain.MapBeanVo; -import com.bonus.job.domain.PmWorkerJob; -import com.bonus.job.domain.ThreeTableOneRosterPo; +import com.bonus.job.domain.*; import org.apache.ibatis.annotations.Param; import java.util.List; @@ -92,4 +89,12 @@ public interface WorkerJobMapper { boolean getThreeTableOneRosterDataByLastMonth(String string); void deleteWorkerPay(String lastMonth); + + List getProMonthData(String lastMonth); + + boolean getProMonthDataByTable(AttProMonthPo attProMonthPo); + + void insertProMonthData(AttProMonthPo attProMonthPo); + + void updateProMonthData(AttProMonthPo attProMonthPo); } diff --git a/bonus-modules/bonus-job/src/main/java/com/bonus/job/task/ThreeTableOneRosterTask.java b/bonus-modules/bonus-job/src/main/java/com/bonus/job/task/ThreeTableOneRosterTask.java index 5f068e7..a759db5 100644 --- a/bonus-modules/bonus-job/src/main/java/com/bonus/job/task/ThreeTableOneRosterTask.java +++ b/bonus-modules/bonus-job/src/main/java/com/bonus/job/task/ThreeTableOneRosterTask.java @@ -2,6 +2,7 @@ package com.bonus.job.task; import com.alibaba.fastjson2.JSON; import com.alibaba.fastjson2.JSONArray; +import com.bonus.job.domain.AttProMonthPo; import com.bonus.job.domain.MapBeanVo; import com.bonus.job.domain.ThreeTableOneRosterPo; import com.bonus.job.domain.WorkerAttDayVo; @@ -133,6 +134,16 @@ public class ThreeTableOneRosterTask { mapper.deleteWorkerPay(lastMonth.toString()); } mapper.insertWorkerPay(listRosterAll); + //获取整合数据 + List listRosterMonthAll = mapper.getProMonthData(lastMonth.toString()); + for (AttProMonthPo attProMonthPo : listRosterMonthAll) { + boolean isExistMonth =mapper.getProMonthDataByTable(attProMonthPo); + if(isExistMonth){ + mapper.updateProMonthData(attProMonthPo); + }else{ + mapper.insertProMonthData(attProMonthPo); + } + } } }catch (Exception e){ logger.error("人员入场更新表失败,{}",e.getMessage()); diff --git a/bonus-modules/bonus-job/src/main/resources/mapper/job/WorkerJobMapper.xml b/bonus-modules/bonus-job/src/main/resources/mapper/job/WorkerJobMapper.xml index f8e6655..cfe55fc 100644 --- a/bonus-modules/bonus-job/src/main/resources/mapper/job/WorkerJobMapper.xml +++ b/bonus-modules/bonus-job/src/main/resources/mapper/job/WorkerJobMapper.xml @@ -299,4 +299,45 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" delete from tb_pro_month_table_roster where month = #{lastMonth} + + + + + + + insert into tb_pro_month_table(pro_id,table_month,roster_num,attendance_num,repair_num,salary_num,sub_num,team_num,gross_salary,net_salary,pay_num) + values(#{proId},#{month},#{rosterNum},#{attendanceNum},#{repairNum},#{salaryNum},#{subNum},#{teamNum},#{grossSalary},#{netSalary},#{payNum}) + + + + update tb_pro_month_table set roster_num=#{rosterNum},attendance_num=#{attendanceNum},repair_num=#{repairNum},salary_num=#{salaryNum}, + sub_num=#{subNum},team_num=#{teamNum},gross_salary=#{grossSalary},net_salary=#{netSalary},pay_num=#{payNum} + where pro_id=#{proId} and table_month=#{month} +