|
|
@@ -1,6 +1,7 @@
|
|
|
package com.xjrsoft.module.student.service.impl;
|
|
|
|
|
|
import cn.hutool.core.util.StrUtil;
|
|
|
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
|
|
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
|
|
import com.baomidou.mybatisplus.core.metadata.IPage;
|
|
|
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
|
|
@@ -13,6 +14,7 @@ import com.xjrsoft.common.page.ConventPage;
|
|
|
import com.xjrsoft.common.utils.VoToColumnUtil;
|
|
|
import com.xjrsoft.module.base.entity.BaseClass;
|
|
|
import com.xjrsoft.module.base.entity.BaseSemester;
|
|
|
+import com.xjrsoft.module.base.mapper.BaseSemesterMapper;
|
|
|
import com.xjrsoft.module.student.dto.*;
|
|
|
import com.xjrsoft.module.student.entity.BaseStudent;
|
|
|
import com.xjrsoft.module.student.entity.BaseStudentSchoolRoll;
|
|
|
@@ -24,10 +26,14 @@ import com.xjrsoft.module.student.service.IPbVXsxxsfytbService;
|
|
|
import com.xjrsoft.module.student.vo.*;
|
|
|
import com.xjrsoft.module.teacher.entity.XjrUser;
|
|
|
import lombok.AllArgsConstructor;
|
|
|
+import org.apache.commons.collections.CollectionUtils;
|
|
|
+import org.apache.commons.lang3.ObjectUtils;
|
|
|
+import org.apache.commons.lang3.StringUtils;
|
|
|
import org.springframework.stereotype.Service;
|
|
|
|
|
|
import java.math.BigDecimal;
|
|
|
import java.math.RoundingMode;
|
|
|
+import java.time.LocalDate;
|
|
|
import java.util.ArrayList;
|
|
|
import java.util.Arrays;
|
|
|
import java.util.List;
|
|
|
@@ -47,10 +53,26 @@ public class PbVXsxxsfytbServiceImpl extends MPJBaseServiceImpl<PbVXsxxsfytbMapp
|
|
|
private final PbVXsxxsfytbMapper pbVXsxxsfytbMapper;
|
|
|
private final PbSemesterConfigMapper pbSemesterConfigMapper;
|
|
|
|
|
|
+ private final BaseSemesterMapper baseSemesterMapper;
|
|
|
+
|
|
|
@Override
|
|
|
public PersonalPortraitFeeInformationVo listCostInformation(PersonalPortraitFeeInformationDto dto) {
|
|
|
+ LocalDate currentDate = LocalDate.now();
|
|
|
+
|
|
|
+ // 获取年份
|
|
|
+ int year = currentDate.getYear();
|
|
|
+ if(StringUtils.isEmpty(dto.getYear())){
|
|
|
+ dto.setYear(year + "");
|
|
|
+ }
|
|
|
+
|
|
|
+ LambdaQueryWrapper<BaseSemester> baseSemesterLambdaQueryWrapper = new LambdaQueryWrapper<>();
|
|
|
+ baseSemesterLambdaQueryWrapper
|
|
|
+ .select(BaseSemester.class, x -> VoToColumnUtil.fieldsToColumns(BaseSemester.class).contains(x.getProperty()))
|
|
|
+ .like(BaseSemester::getName, dto.getYear())
|
|
|
+ ;
|
|
|
+ List<BaseSemester> baseSemesters = baseSemesterMapper.selectList(baseSemesterLambdaQueryWrapper);
|
|
|
|
|
|
- //查出所有的消费记录
|
|
|
+ // 查出所有的消费记录
|
|
|
MPJLambdaWrapper<PbVXsxxsfytb> pbVXsxxsfytbMPJLambdaWrapper = new MPJLambdaWrapper<>();
|
|
|
pbVXsxxsfytbMPJLambdaWrapper
|
|
|
.selectAs(BaseSemester::getId, PbVXsxxsfytbPersonal::getBaseSemester)
|
|
|
@@ -60,10 +82,29 @@ public class PbVXsxxsfytbServiceImpl extends MPJBaseServiceImpl<PbVXsxxsfytbMapp
|
|
|
.leftJoin(PbSemesterConfig.class, PbSemesterConfig::getBeltcode, PbVXsxxsfytb::getBeltcode)
|
|
|
.leftJoin(BaseSemester.class, BaseSemester::getId, PbSemesterConfig::getBaseSemesterId)
|
|
|
.eq(dto.getUserId() != null && dto.getUserId() > 0, XjrUser::getId, dto.getUserId())
|
|
|
- .like(dto.getYear() != null && !dto.getYear().equals(""), PbVXsxxsfytb::getBeltcode, dto.getYear())
|
|
|
+ .like(dto.getYear() != null && !dto.getYear().isEmpty(), PbVXsxxsfytb::getBeltcode, dto.getYear())
|
|
|
;
|
|
|
List<PbVXsxxsfytbPersonal> pbVXsxxsfytbPersonalList = this.selectJoinList(PbVXsxxsfytbPersonal.class, pbVXsxxsfytbMPJLambdaWrapper);
|
|
|
|
|
|
+ if(CollectionUtils.isEmpty(pbVXsxxsfytbPersonalList)){
|
|
|
+ pbVXsxxsfytbPersonalList = new ArrayList<>();
|
|
|
+ for (BaseSemester b : baseSemesters){
|
|
|
+ PbVXsxxsfytbPersonal pbVXsxxsfytbPersonal = new PbVXsxxsfytbPersonal();
|
|
|
+ pbVXsxxsfytbPersonal.setBaseSemester(b.getId().toString());
|
|
|
+ pbVXsxxsfytbPersonal.setBaseSemesterCn(b.getName());
|
|
|
+ pbVXsxxsfytbPersonal.setBeltcode("无缴费");
|
|
|
+ pbVXsxxsfytbPersonal.setBeltname("无缴费");
|
|
|
+ pbVXsxxsfytbPersonal.setFeeitemcode("无缴费");
|
|
|
+ pbVXsxxsfytbPersonal.setFeeitemname("无缴费");
|
|
|
+ pbVXsxxsfytbPersonal.setFactar(BigDecimal.ZERO);
|
|
|
+ pbVXsxxsfytbPersonal.setFactrecarmny(BigDecimal.ZERO);
|
|
|
+ pbVXsxxsfytbPersonal.setAdjustmny(BigDecimal.ZERO);
|
|
|
+ pbVXsxxsfytbPersonal.setArrearagemny(BigDecimal.ZERO);
|
|
|
+ pbVXsxxsfytbPersonal.setJfzt("已缴费");
|
|
|
+ pbVXsxxsfytbPersonalList.add(pbVXsxxsfytbPersonal);
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
// 统计总消费金额
|
|
|
BigDecimal totalConsumption = pbVXsxxsfytbPersonalList.stream()
|
|
|
.map(p -> p.getFactrecarmny().add((p.getArrearagemny() == null ? BigDecimal.ZERO : p.getArrearagemny())))
|