From 084e24ddbddea5d4d974f371beed62af61bf2d9e Mon Sep 17 00:00:00 2001 From: zth <1205836521@qq.com> Date: Mon, 17 Jun 2024 18:54:23 +0800 Subject: [PATCH] =?UTF-8?q?BUG=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...sSgcJsjdBuiSalaryStatisticsController.java | 5 +- .../domain/BsSgcJsjdBuiSalaryStatistics.java | 5 ++ .../BsSgcJsjdBuiSalaryStatisticsService.java | 78 +++++++++++++++++++ .../BsSgcJsjdBuiSalaryStatisticsMapper.xml | 13 ++++ 4 files changed, 99 insertions(+), 2 deletions(-) create mode 100644 jwtech-system/src/main/resources/mapper/statistics/BsSgcJsjdBuiSalaryStatisticsMapper.xml diff --git a/jwtech-system/src/main/java/com/kms/statistics/controller/BsSgcJsjdBuiSalaryStatisticsController.java b/jwtech-system/src/main/java/com/kms/statistics/controller/BsSgcJsjdBuiSalaryStatisticsController.java index a5166f95..bdcd75bb 100644 --- a/jwtech-system/src/main/java/com/kms/statistics/controller/BsSgcJsjdBuiSalaryStatisticsController.java +++ b/jwtech-system/src/main/java/com/kms/statistics/controller/BsSgcJsjdBuiSalaryStatisticsController.java @@ -3,6 +3,7 @@ package com.kms.statistics.controller; import java.util.Arrays; import java.util.List; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.jianwei.common.core.controller.BaseController; import com.jianwei.common.core.domain.SearchParam; import com.jianwei.common.utils.poi.ExcelUtil; @@ -50,9 +51,9 @@ public class BsSgcJsjdBuiSalaryStatisticsController extends BaseController */ @PostMapping("/list") @ApiOperation("工资统计列表") - public IPage list(@RequestBody SearchParam sp) + public Page list(@RequestBody SearchParam sp) { - return bsSgcJsjdBuiSalaryStatisticsService.selectPage(sp); + return bsSgcJsjdBuiSalaryStatisticsService.select(sp); } /** diff --git a/jwtech-system/src/main/java/com/kms/statistics/domain/BsSgcJsjdBuiSalaryStatistics.java b/jwtech-system/src/main/java/com/kms/statistics/domain/BsSgcJsjdBuiSalaryStatistics.java index 512180a6..01157a0a 100644 --- a/jwtech-system/src/main/java/com/kms/statistics/domain/BsSgcJsjdBuiSalaryStatistics.java +++ b/jwtech-system/src/main/java/com/kms/statistics/domain/BsSgcJsjdBuiSalaryStatistics.java @@ -1,5 +1,6 @@ package com.kms.statistics.domain; +import com.baomidou.mybatisplus.annotation.TableField; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import lombok.Data; @@ -35,6 +36,10 @@ public class BsSgcJsjdBuiSalaryStatistics extends BaseEntity @ApiModelProperty("${comment}") private String proCode; + /** 统计年月 */ + @TableField(exist = false) + private String statisticsDate; + /** 当期应发 */ @Excel(name = "当期应发") @ApiModelProperty("当期应发") diff --git a/jwtech-system/src/main/java/com/kms/statistics/service/BsSgcJsjdBuiSalaryStatisticsService.java b/jwtech-system/src/main/java/com/kms/statistics/service/BsSgcJsjdBuiSalaryStatisticsService.java index adbb875b..156e9df1 100644 --- a/jwtech-system/src/main/java/com/kms/statistics/service/BsSgcJsjdBuiSalaryStatisticsService.java +++ b/jwtech-system/src/main/java/com/kms/statistics/service/BsSgcJsjdBuiSalaryStatisticsService.java @@ -1,10 +1,20 @@ package com.kms.statistics.service; +import cn.hutool.core.date.DateUtil; +import cn.hutool.core.util.ObjectUtil; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.jianwei.common.core.domain.SearchParam; +import com.kms.build.domain.BsSgcJsjdBuiSalaryPayable; +import com.kms.build.mapper.BsSgcJsjdBuiSalaryPayableMapper; +import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import com.jianwei.common.core.service.BaseService; import com.kms.statistics.mapper.BsSgcJsjdBuiSalaryStatisticsMapper; import com.kms.statistics.domain.BsSgcJsjdBuiSalaryStatistics; +import java.util.*; + /** * 工资统计Service接口 * @@ -13,5 +23,73 @@ import com.kms.statistics.domain.BsSgcJsjdBuiSalaryStatistics; */ @Service public class BsSgcJsjdBuiSalaryStatisticsService extends BaseService{ + @Autowired + BsSgcJsjdBuiSalaryStatisticsMapper bsSgcJsjdBuiSalaryStatisticsMapper; + + @Autowired + BsSgcJsjdBuiSalaryPayableMapper bsSgcJsjdBuiSalaryPayableMapper; + + public Page select(SearchParam sp){ + String proCode=sp.getData().getProCode(); + String proNo=sp.getData().getProNo(); + Pagepage=new Page<>(sp.getPageNum(),sp.getPageSize()); + QueryWrapperqw=new QueryWrapper<>(); + List bsSgcJsjdBuiSalaryPayables = bsSgcJsjdBuiSalaryPayableMapper + .selectList(qw.eq("pro_no", proNo) + .eq("pro_code", proCode)); + ListbsSgcJsjdBuiSalaryStatistics=new ArrayList<>(); + Mapmap=new HashMap<>(); + for (BsSgcJsjdBuiSalaryPayable bsSgcJsjdBuiSalaryPayable:bsSgcJsjdBuiSalaryPayables){ + String date= DateUtil.format(bsSgcJsjdBuiSalaryPayable.getSalaryTime(),"yyyy-MM"); + map.put(date,""); + } + map.forEach((key,value)->{ + BsSgcJsjdBuiSalaryStatistics bsSgcJsjdBuiSalaryStatistics1=new BsSgcJsjdBuiSalaryStatistics(); + bsSgcJsjdBuiSalaryStatistics1.setStatisticsDate(key); + bsSgcJsjdBuiSalaryStatistics1.setCurrentArrears("0"); + bsSgcJsjdBuiSalaryStatistics1.setCurrentNetPay("0"); + bsSgcJsjdBuiSalaryStatistics1.setCurrentPayable("0"); + bsSgcJsjdBuiSalaryStatistics1.setCumulativeArrears("0"); + bsSgcJsjdBuiSalaryStatistics.add(bsSgcJsjdBuiSalaryStatistics1); + }); + Integer num=0; + if (ObjectUtil.isNotEmpty(bsSgcJsjdBuiSalaryStatistics)){ + for (BsSgcJsjdBuiSalaryPayable bsSgcJsjdBuiSalaryPayable:bsSgcJsjdBuiSalaryPayables){ + String date= DateUtil.format(bsSgcJsjdBuiSalaryPayable.getSalaryTime(),"yyyy-MM"); + for (BsSgcJsjdBuiSalaryStatistics item:bsSgcJsjdBuiSalaryStatistics){ + if (ObjectUtil.isNotEmpty(date)){ + if (item.getStatisticsDate().equals(date)){ + if (ObjectUtil.isNotEmpty(item.getCurrentPayable())&&ObjectUtil.isNotEmpty(bsSgcJsjdBuiSalaryPayable.getMonthlySalaryPayable())) { + item.setCurrentPayable(String.valueOf(Integer.parseInt(item.getCurrentPayable()) + Integer.parseInt(bsSgcJsjdBuiSalaryPayable.getMonthlySalaryPayable()))); + } + if (ObjectUtil.isNotEmpty(item.getCurrentNetPay())&&ObjectUtil.isNotEmpty(bsSgcJsjdBuiSalaryPayable.getMonthlySalaryCurrent())){ + item.setCurrentNetPay(String.valueOf(Integer.parseInt(item.getCurrentNetPay()) + Integer.parseInt(bsSgcJsjdBuiSalaryPayable.getMonthlySalaryCurrent()))); + } + if (ObjectUtil.isNotEmpty(item.getCurrentArrears())&&ObjectUtil.isNotEmpty(bsSgcJsjdBuiSalaryPayable.getMonthlySalaryDeduct())) { + item.setCurrentArrears(String.valueOf(Integer.parseInt(item.getCurrentArrears()) + Integer.parseInt(bsSgcJsjdBuiSalaryPayable.getMonthlySalaryDeduct()))); + num+=Integer.parseInt(bsSgcJsjdBuiSalaryPayable.getMonthlySalaryDeduct()); + } + } + } + }; + } + } + for (BsSgcJsjdBuiSalaryStatistics bs:bsSgcJsjdBuiSalaryStatistics){ + bs.setCumulativeArrears(String.valueOf(num)); + } + if (ObjectUtil.isNotEmpty(sp.getData().getStatisticsDate())&&ObjectUtil.isNotEmpty(bsSgcJsjdBuiSalaryStatistics)){ + Listlist=new ArrayList<>(); + for (BsSgcJsjdBuiSalaryStatistics bsSgcJsjdBuiSalaryStatistics1:bsSgcJsjdBuiSalaryStatistics){ + if (bsSgcJsjdBuiSalaryStatistics1.getStatisticsDate().equals(sp.getData().getStatisticsDate())){ + list.add(bsSgcJsjdBuiSalaryStatistics1); + } } + PageiPage=new Page<>(); + iPage.setRecords(list); + return iPage; + } + PageiPage=new Page<>(); + iPage.setRecords(bsSgcJsjdBuiSalaryStatistics); + return iPage; + } } diff --git a/jwtech-system/src/main/resources/mapper/statistics/BsSgcJsjdBuiSalaryStatisticsMapper.xml b/jwtech-system/src/main/resources/mapper/statistics/BsSgcJsjdBuiSalaryStatisticsMapper.xml new file mode 100644 index 00000000..af2413bb --- /dev/null +++ b/jwtech-system/src/main/resources/mapper/statistics/BsSgcJsjdBuiSalaryStatisticsMapper.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + \ No newline at end of file