From a0106903192d7669e68c2c9ecfd66191b1b246df Mon Sep 17 00:00:00 2001 From: zth <1205836521@qq.com> Date: Tue, 25 Jun 2024 10:42:23 +0800 Subject: [PATCH] =?UTF-8?q?=E6=A0=87=E6=AE=B5=E5=AF=BC=E5=87=BA?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../BsSgcJsjdBuiSectionInfoController.java | 2 +- .../service/BsSgcJsjdBuiGzjbService.java | 1 + .../service/BsSgcjsjdBuiProInfoService.java | 5 +- .../domain/BsSgcJsjdNmgStatisticVo.java | 4 +- .../BsSgcJsjdBuiNmgStatisticsService.java | 105 ++++++++++++++++-- 5 files changed, 102 insertions(+), 15 deletions(-) diff --git a/jwtech-system/src/main/java/com/kms/build/controller/BsSgcJsjdBuiSectionInfoController.java b/jwtech-system/src/main/java/com/kms/build/controller/BsSgcJsjdBuiSectionInfoController.java index 216cc72c..e25fe9fb 100644 --- a/jwtech-system/src/main/java/com/kms/build/controller/BsSgcJsjdBuiSectionInfoController.java +++ b/jwtech-system/src/main/java/com/kms/build/controller/BsSgcJsjdBuiSectionInfoController.java @@ -116,7 +116,7 @@ public class BsSgcJsjdBuiSectionInfoController extends BaseController @GetMapping("/exportTemplate") @ApiOperation("标段基本信息导入模板导出") public AjaxResult exportTemplate(){ - ExcelUtilutil=new ExcelUtil<>(BsSgcJsjdBuiRealNameExcel.class); + ExcelUtilutil=new ExcelUtil<>(BsSgcJsjdBuiSectionExcel.class); return util.exportExcel(new ArrayList<>(),"标段基本信息入模板"); } diff --git a/jwtech-system/src/main/java/com/kms/build/service/BsSgcJsjdBuiGzjbService.java b/jwtech-system/src/main/java/com/kms/build/service/BsSgcJsjdBuiGzjbService.java index d09fa947..1949527f 100644 --- a/jwtech-system/src/main/java/com/kms/build/service/BsSgcJsjdBuiGzjbService.java +++ b/jwtech-system/src/main/java/com/kms/build/service/BsSgcJsjdBuiGzjbService.java @@ -92,6 +92,7 @@ public class BsSgcJsjdBuiGzjbService extends BaseService page = new Page<>(); page.setRecords(list); - page.setTotal(list.size()); + page.setTotal(i); List records = page.getRecords(); for (BsSgcjsjdBuiProInfo record : records) { @@ -200,7 +200,6 @@ public class BsSgcjsjdBuiProInfoService extends BaseServicechildren; + private ListchildrenYear; + + private ListchildrenMonth; } diff --git a/jwtech-system/src/main/java/com/kms/statistics/service/BsSgcJsjdBuiNmgStatisticsService.java b/jwtech-system/src/main/java/com/kms/statistics/service/BsSgcJsjdBuiNmgStatisticsService.java index ce56ebc1..6b3c1b73 100644 --- a/jwtech-system/src/main/java/com/kms/statistics/service/BsSgcJsjdBuiNmgStatisticsService.java +++ b/jwtech-system/src/main/java/com/kms/statistics/service/BsSgcJsjdBuiNmgStatisticsService.java @@ -18,6 +18,7 @@ import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import java.time.LocalDate; +import java.time.Month; import java.time.ZoneId; import java.util.ArrayList; import java.util.HashMap; @@ -53,11 +54,16 @@ public class BsSgcJsjdBuiNmgStatisticsService { .eq(BsSgcJsjdBuiSalaryPayable::getProCode, bs.getProCode())); Mapmap=new HashMap<>(); + MapchildrenMap=new HashMap<>(); for (BsSgcJsjdBuiRealName bsSgcJsjdBuiRealName:bsSgcJsjdBuiRealNames){ if (ObjectUtil.isNotEmpty(bsSgcJsjdBuiRealName.getAdmissionTime())){ LocalDate localDate = bsSgcJsjdBuiRealName.getAdmissionTime().toInstant().atZone(ZoneId.systemDefault()).toLocalDate(); String year= String.valueOf(localDate.getYear()); + String yearMonth=localDate.getYear()+"-"+localDate.getMonth(); + String month= String.valueOf(localDate.getMonthValue()); BsSgcJsjdNmgStatisticVo bsSgcJsjdNmgStatisticVo1=new BsSgcJsjdNmgStatisticVo(); + BsSgcJsjdNmgStatisticVo bsSgcJsjdNmgStatisticVo2=new BsSgcJsjdNmgStatisticVo(); + //年统计 if (map.containsKey(year)){ BsSgcJsjdNmgStatisticVo o = (BsSgcJsjdNmgStatisticVo) map.get(year); o.setTotalNum(String.valueOf(Integer.parseInt(o.getTotalNum())+1)); @@ -83,13 +89,45 @@ public class BsSgcJsjdBuiNmgStatisticsService { bsSgcJsjdNmgStatisticVo1.setPresentNum("0"); } map.put(year,bsSgcJsjdNmgStatisticVo1); + + //月统计 + if (map.containsKey(yearMonth)){ + BsSgcJsjdNmgStatisticVo o = (BsSgcJsjdNmgStatisticVo) map.get(yearMonth); + o.setTotalNum(String.valueOf(Integer.parseInt(o.getTotalNum())+1)); + if (ObjectUtil.isNotEmpty(bsSgcJsjdBuiRealName.getExitTime())){ + o.setExitNum(String.valueOf(Integer.parseInt(o.getExitNum())+1)); + } + if (ObjectUtil.isNotEmpty(bsSgcJsjdBuiRealName.getAdmissionTime())){ + o.setPresentNum(String.valueOf(Integer.parseInt(o.getPresentNum()+1))); + } + map.put(yearMonth,o); + }else { + bsSgcJsjdNmgStatisticVo2.setProjectName(bs.getProjectName()); + bsSgcJsjdNmgStatisticVo2.setTotalNum("1"); + bsSgcJsjdNmgStatisticVo2.setCurrentTime(yearMonth); + if (ObjectUtil.isNotEmpty(bsSgcJsjdBuiRealName.getExitTime())){ + bsSgcJsjdNmgStatisticVo2.setExitNum("1"); + }else { + bsSgcJsjdNmgStatisticVo2.setExitNum("0"); + } + if (ObjectUtil.isNotEmpty(bsSgcJsjdBuiRealName.getAdmissionTime())){ + bsSgcJsjdNmgStatisticVo2.setPresentNum("1"); + }else { + bsSgcJsjdNmgStatisticVo2.setPresentNum("0"); + } + childrenMap.put(yearMonth,bsSgcJsjdNmgStatisticVo2); + } + } + + //年农民工递增统计 if (ObjectUtil.isNotEmpty(bsSgcJsjdBuiRealName.getExitTime())){ long l = DateUtil.betweenYear(bsSgcJsjdBuiRealName.getAdmissionTime(), bsSgcJsjdBuiRealName.getExitTime(), true); + Integer yearValue=Integer.valueOf(year); for (int i=1;l>i;i++){ - year=year+1; - if (map.containsKey(year)){ - BsSgcJsjdNmgStatisticVo o = (BsSgcJsjdNmgStatisticVo) map.get(year); + yearValue=yearValue+1; + if (map.containsKey(String.valueOf(yearValue))){ + BsSgcJsjdNmgStatisticVo o = (BsSgcJsjdNmgStatisticVo) map.get(String.valueOf(yearValue)); o.setTotalNum(String.valueOf(Integer.parseInt(o.getTotalNum())+1)); if (ObjectUtil.isNotEmpty(bsSgcJsjdBuiRealName.getExitTime())){ o.setExitNum(String.valueOf(Integer.parseInt(o.getExitNum())+1)); @@ -97,11 +135,11 @@ public class BsSgcJsjdBuiNmgStatisticsService { if (ObjectUtil.isNotEmpty(bsSgcJsjdBuiRealName.getAdmissionTime())){ o.setPresentNum(String.valueOf(Integer.parseInt(o.getPresentNum()+1))); } - map.put(year,o); + map.put(String.valueOf(yearValue),o); }else { bsSgcJsjdNmgStatisticVo1.setProjectName(bs.getProjectName()); bsSgcJsjdNmgStatisticVo1.setTotalNum("1"); - bsSgcJsjdNmgStatisticVo1.setCurrentTime(year); + bsSgcJsjdNmgStatisticVo1.setCurrentTime(String.valueOf(yearValue)); if (ObjectUtil.isNotEmpty(bsSgcJsjdBuiRealName.getExitTime())){ bsSgcJsjdNmgStatisticVo1.setExitNum("1"); }else { @@ -116,6 +154,46 @@ public class BsSgcJsjdBuiNmgStatisticsService { } } } + + //月农民工递增统计 + if (ObjectUtil.isNotEmpty(bsSgcJsjdBuiRealName.getExitTime())){ + long l = DateUtil.betweenMonth(bsSgcJsjdBuiRealName.getAdmissionTime(), bsSgcJsjdBuiRealName.getExitTime(), true); + int monthValue=Integer.parseInt(month); + Integer yearValue=Integer.valueOf(year); + for (int i=1;l>i;i++){ + monthValue=monthValue+1; + if (monthValue>12){ + yearValue=yearValue+1; + } + yearMonth=yearValue+"-"+monthValue; + if (map.containsKey(yearMonth)){ + BsSgcJsjdNmgStatisticVo o = (BsSgcJsjdNmgStatisticVo) map.get(yearMonth); + o.setTotalNum(String.valueOf(Integer.parseInt(o.getTotalNum())+1)); + if (ObjectUtil.isNotEmpty(bsSgcJsjdBuiRealName.getExitTime())){ + o.setExitNum(String.valueOf(Integer.parseInt(o.getExitNum())+1)); + } + if (ObjectUtil.isNotEmpty(bsSgcJsjdBuiRealName.getAdmissionTime())){ + o.setPresentNum(String.valueOf(Integer.parseInt(o.getPresentNum()+1))); + } + childrenMap.put(yearMonth,o); + }else { + bsSgcJsjdNmgStatisticVo2.setProjectName(bs.getProjectName()); + bsSgcJsjdNmgStatisticVo2.setTotalNum("1"); + bsSgcJsjdNmgStatisticVo2.setCurrentTime(yearMonth); + if (ObjectUtil.isNotEmpty(bsSgcJsjdBuiRealName.getExitTime())){ + bsSgcJsjdNmgStatisticVo2.setExitNum("1"); + }else { + bsSgcJsjdNmgStatisticVo2.setExitNum("0"); + } + if (ObjectUtil.isNotEmpty(bsSgcJsjdBuiRealName.getAdmissionTime())){ + bsSgcJsjdNmgStatisticVo2.setPresentNum("1"); + }else { + bsSgcJsjdNmgStatisticVo2.setPresentNum("0"); + } + childrenMap.put(year,bsSgcJsjdNmgStatisticVo2); + } + } + } } } @@ -123,9 +201,10 @@ public class BsSgcJsjdBuiNmgStatisticsService { for (BsSgcJsjdBuiSalaryPayable bsSgcJsjdBuiSalaryPayable:bsSgcJsjdBuiSalaryPayables){ LocalDate localDate = bsSgcJsjdBuiSalaryPayable.getSalaryTime().toInstant().atZone(ZoneId.systemDefault()).toLocalDate(); String year= String.valueOf(localDate.getYear()); - BsSgcJsjdNmgStatisticVo bsSgcJsjdNmgStatisticVo1=new BsSgcJsjdNmgStatisticVo(); - if (map.containsKey(year)){ - BsSgcJsjdNmgStatisticVo o = (BsSgcJsjdNmgStatisticVo) map.get(year); + String month = String.valueOf(localDate.getMonthValue()); + String yearMonth=year+"-"+month; + if (map.containsKey(yearMonth)){ + BsSgcJsjdNmgStatisticVo o = (BsSgcJsjdNmgStatisticVo) map.get(yearMonth); if (ObjectUtil.isNotEmpty(o.getTotalSalary())){ o.setTotalSalary(String.valueOf(Integer.parseInt(bsSgcJsjdBuiSalaryPayable.getMonthlySalaryCurrent())+Integer.parseInt(o.getTotalSalary()))); }else { @@ -142,8 +221,9 @@ public class BsSgcJsjdBuiNmgStatisticsService { o.setUnpaidWages("1"); } }else { + BsSgcJsjdNmgStatisticVo bsSgcJsjdNmgStatisticVo1=new BsSgcJsjdNmgStatisticVo(); bsSgcJsjdNmgStatisticVo1.setProjectName(bs.getProjectName()); - bsSgcJsjdNmgStatisticVo1.setCurrentTime(year); + bsSgcJsjdNmgStatisticVo1.setCurrentTime(yearMonth); bsSgcJsjdNmgStatisticVo1.setTotalSalary(bsSgcJsjdBuiSalaryPayable.getMonthlySalaryCurrent()); bsSgcJsjdNmgStatisticVo1.setUnpaidWagesAmount(bsSgcJsjdBuiSalaryPayable.getMonthlySalaryDeduct()); if (!bsSgcJsjdNmgStatisticVo1.getUnpaidWagesAmount().equals("0")){ @@ -155,10 +235,15 @@ public class BsSgcJsjdBuiNmgStatisticsService { } } Listlist1=new ArrayList<>(); + Listlist2=new ArrayList<>(); map.forEach((key,value)->{ list1.add((BsSgcJsjdNmgStatisticVo) value); }); - bsSgcJsjdNmgStatisticVo.setChildren(list1); + childrenMap.forEach((key,value)->{ + list2.add((BsSgcJsjdNmgStatisticVo) value); + }); + bsSgcJsjdNmgStatisticVo.setChildrenYear(list1); + bsSgcJsjdNmgStatisticVo.setChildrenMonth(list2); list.add(bsSgcJsjdNmgStatisticVo); } Page page1=new Page<>();