소스 검색

Merge remote-tracking branch 'origin/dev' into dev

dzx 1 년 전
부모
커밋
d870467548
17개의 변경된 파일583개의 추가작업 그리고 96개의 파일을 삭제
  1. 5 5
      src/main/java/com/xjrsoft/module/student/controller/ConsumptionController.java
  2. 1 0
      src/main/java/com/xjrsoft/module/student/controller/PbSemesterConfigController.java
  3. 5 1
      src/main/java/com/xjrsoft/module/student/dto/AddPbSemesterConfigDto.java
  4. 5 2
      src/main/java/com/xjrsoft/module/student/dto/PbSemesterConfigPageDto.java
  5. 1 1
      src/main/java/com/xjrsoft/module/student/dto/PbVXssfdetailExcelDto.java
  6. 26 0
      src/main/java/com/xjrsoft/module/student/dto/PbVXsxxsfytbExcelDto.java
  7. 5 0
      src/main/java/com/xjrsoft/module/student/entity/PbSemesterConfig.java
  8. 5 8
      src/main/java/com/xjrsoft/module/student/service/IPbVXsxxsfytbService.java
  9. 2 1
      src/main/java/com/xjrsoft/module/student/service/IStudentManagerService.java
  10. 69 30
      src/main/java/com/xjrsoft/module/student/service/impl/PbVXsxxsfytbServiceImpl.java
  11. 6 2
      src/main/java/com/xjrsoft/module/student/service/impl/StudentManagerServiceImpl.java
  12. 5 0
      src/main/java/com/xjrsoft/module/student/vo/PbSemesterConfigPageVo.java
  13. 332 0
      src/main/java/com/xjrsoft/module/student/vo/PbVXsxxsfytbExcelVo.java
  14. 5 0
      src/main/java/com/xjrsoft/module/student/vo/PbVXsxxsfytbPageVo.java
  15. 69 0
      src/main/java/com/xjrsoft/module/student/vo/PbVXsxxsfytbPersonal.java
  16. 32 0
      src/main/java/com/xjrsoft/module/student/vo/PbVXsxxsfytbPersonalMap.java
  17. 10 46
      src/main/java/com/xjrsoft/module/student/vo/PersonalPortraitFeeInformationVo.java

+ 5 - 5
src/main/java/com/xjrsoft/module/student/controller/ConsumptionController.java

@@ -124,18 +124,18 @@ public class ConsumptionController {
     @GetMapping(value = "/cost-information")
     @ApiOperation(value="费用信息")
     @SaCheckPermission("consumption:detail")
-    public RT<List<PersonalPortraitFeeInformationVo>> costInformation(@Valid PersonalPortraitFeeInformationDto dto){
+    public RT<PersonalPortraitFeeInformationVo> costInformation(@Valid PersonalPortraitFeeInformationDto dto){
 
         return RT.ok(pbVXsxxsfytbService.listCostInformation(dto));
     }
 
     @PostMapping("/export-query")
     @ApiOperation(value = "有参导出")
-    public ResponseEntity<byte[]> exportData(@Valid PbVXssfdetailExcelDto dto) {
-        List<PbVXssfdetailExcelVo> dataList = pbVXssfdetailService.getList(dto);
+    public ResponseEntity<byte[]> exportData(@RequestBody PbVXsxxsfytbExcelDto dto) {
+        List<PbVXsxxsfytbExcelVo> dataList = pbVXsxxsfytbService.getList(dto);
         ByteArrayOutputStream bot = new ByteArrayOutputStream();
-        EasyExcel.write(bot, PbVXssfdetailExcelVo.class).automaticMergeHead(false).excelType(ExcelTypeEnum.XLSX).sheet().doWrite(dataList);
+        EasyExcel.write(bot, PbVXsxxsfytbExcelVo.class).automaticMergeHead(false).excelType(ExcelTypeEnum.XLSX).sheet().doWrite(dataList);
 
-        return RT.fileStream(bot.toByteArray(), "PbVXssfdetailExcelVo" + ExcelTypeEnum.XLSX.getValue());
+        return RT.fileStream(bot.toByteArray(), "PbVXsxxsfytbExcel" + ExcelTypeEnum.XLSX.getValue());
     }
 }

+ 1 - 0
src/main/java/com/xjrsoft/module/student/controller/PbSemesterConfigController.java

@@ -96,6 +96,7 @@ public class PbSemesterConfigController {
         LambdaQueryWrapper<PbSemesterConfig> queryWrapper = new LambdaQueryWrapper<>();
         queryWrapper
                     .orderByDesc(PbSemesterConfig::getId)
+                .eq(dto.getBaseSemesterId() != null && dto.getBaseSemesterId() > 0, PbSemesterConfig::getBaseSemesterId, dto.getBaseSemesterId())
                 .select(PbSemesterConfig.class,x -> VoToColumnUtil.fieldsToColumns(PbSemesterConfigPageVo.class).contains(x.getProperty()));
         IPage<PbSemesterConfig> page = pbSemesterConfigService.page(ConventPage.getPage(dto), queryWrapper);
         PageOutput<PbSemesterConfigPageVo> pageOutput = ConventPage.getPageOutput(page, PbSemesterConfigPageVo.class);

+ 5 - 1
src/main/java/com/xjrsoft/module/student/dto/AddPbSemesterConfigDto.java

@@ -34,5 +34,9 @@ public class AddPbSemesterConfigDto implements Serializable {
     */
     @ApiModelProperty("攀宝学期code")
     private String beltcode;
-
+    /**
+     * 收费区间名称
+     */
+    @ApiModelProperty("收费区间名称")
+    private String beltname;
 }

+ 5 - 2
src/main/java/com/xjrsoft/module/student/dto/PbSemesterConfigPageDto.java

@@ -21,6 +21,9 @@ import java.util.Date;
 @Data
 @EqualsAndHashCode(callSuper = false)
 public class PbSemesterConfigPageDto extends PageInput {
-
-
+    /**
+     * 学期
+     */
+    @ApiModelProperty("学期")
+    private Long baseSemesterId;
 }

+ 1 - 1
src/main/java/com/xjrsoft/module/student/dto/PbVXssfdetailExcelDto.java

@@ -16,7 +16,7 @@ import java.util.List;
 */
 @Data
 @EqualsAndHashCode(callSuper = false)
-public class PbVXssfdetailExcelDto extends PageInput {
+public class PbVXssfdetailExcelDto {
 
     @ApiModelProperty("学期Id")
     private Long semesterId;

+ 26 - 0
src/main/java/com/xjrsoft/module/student/dto/PbVXsxxsfytbExcelDto.java

@@ -0,0 +1,26 @@
+package com.xjrsoft.module.student.dto;
+
+import com.xjrsoft.common.page.PageInput;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+
+import java.util.List;
+
+
+/**
+* @title: 分页查询入参
+* @Author dzx
+* @Date: 2024-03-13
+* @Version 1.0
+*/
+@Data
+@EqualsAndHashCode(callSuper = false)
+public class PbVXsxxsfytbExcelDto {
+
+    /**
+     * 主键
+     */
+    @ApiModelProperty("主键")
+    private List<String> pksfxxytbs;
+}

+ 5 - 0
src/main/java/com/xjrsoft/module/student/entity/PbSemesterConfig.java

@@ -83,6 +83,11 @@ public class PbSemesterConfig implements Serializable {
     */
     @ApiModelProperty("攀宝学期code")
     private String beltcode;
+    /**
+     * 收费区间名称
+     */
+    @ApiModelProperty("收费区间名称")
+    private String beltname;
 
 
 }

+ 5 - 8
src/main/java/com/xjrsoft/module/student/service/IPbVXsxxsfytbService.java

@@ -3,14 +3,9 @@ package com.xjrsoft.module.student.service;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.github.yulichang.base.MPJBaseService;
-import com.xjrsoft.module.student.dto.PbVXssfdetailPageDto;
-import com.xjrsoft.module.student.dto.PbVXsxxsfytbPageDto;
-import com.xjrsoft.module.student.dto.PersonalPortraitFeeInformationDto;
+import com.xjrsoft.module.student.dto.*;
 import com.xjrsoft.module.student.entity.PbVXsxxsfytb;
-import com.xjrsoft.module.student.vo.PbVXssfdetailPageVo;
-import com.xjrsoft.module.student.vo.PbVXsxxsfytbPageVo;
-import com.xjrsoft.module.student.vo.PersonalPortraitFeeInformationVo;
-import com.xjrsoft.module.student.vo.PersonalPortraitPersonalInfoVo;
+import com.xjrsoft.module.student.vo.*;
 
 import java.util.List;
 
@@ -22,7 +17,9 @@ import java.util.List;
 */
 
 public interface IPbVXsxxsfytbService extends MPJBaseService<PbVXsxxsfytb> {
-    List<PersonalPortraitFeeInformationVo> listCostInformation(PersonalPortraitFeeInformationDto dto);
+    PersonalPortraitFeeInformationVo listCostInformation(PersonalPortraitFeeInformationDto dto);
 
     IPage<PbVXsxxsfytbPageVo> getPage(PbVXsxxsfytbPageDto dto);
+
+    List<PbVXsxxsfytbExcelVo> getList(PbVXsxxsfytbExcelDto dto);
 }

+ 2 - 1
src/main/java/com/xjrsoft/module/student/service/IStudentManagerService.java

@@ -3,6 +3,7 @@ package com.xjrsoft.module.student.service;
 import com.github.yulichang.base.MPJBaseService;
 import com.xjrsoft.module.student.entity.BaseStudentUser;
 import com.xjrsoft.module.student.vo.BaseStudentClassVo;
+import com.xjrsoft.module.student.vo.PersonalPortraitPersonalInfoVo;
 import com.xjrsoft.module.student.vo.StudentPersonalInfoVo;
 
 import java.util.List;
@@ -46,5 +47,5 @@ public interface IStudentManagerService extends MPJBaseService<BaseStudentUser>
      * @param userId
      * @return
      */
-    StudentPersonalInfoVo getPersonalInfo(Long userId);
+    PersonalPortraitPersonalInfoVo getPersonalInfo(Long userId);
 }

+ 69 - 30
src/main/java/com/xjrsoft/module/student/service/impl/PbVXsxxsfytbServiceImpl.java

@@ -1,5 +1,6 @@
 package com.xjrsoft.module.student.service.impl;
 
+import camundajar.impl.scala.concurrent.impl.FutureConvertersImpl;
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
@@ -12,24 +13,20 @@ import com.xjrsoft.module.base.entity.BaseSemester;
 import com.xjrsoft.module.base.service.IBaseGradeService;
 import com.xjrsoft.module.base.service.IBaseSemesterService;
 import com.xjrsoft.module.material.entity.MaterialTaskAssign;
+import com.xjrsoft.module.student.dto.PbVXsxxsfytbExcelDto;
 import com.xjrsoft.module.student.dto.PbVXsxxsfytbPageDto;
 import com.xjrsoft.module.student.dto.PersonalPortraitFeeInformationDto;
 import com.xjrsoft.module.student.entity.*;
 import com.xjrsoft.module.student.mapper.PbVXsxxsfytbMapper;
 import com.xjrsoft.module.student.service.IPbSemesterConfigService;
 import com.xjrsoft.module.student.service.IPbVXsxxsfytbService;
-import com.xjrsoft.module.student.vo.BaseClassMajorSetPageVo;
-import com.xjrsoft.module.student.vo.PbSemesterConfigVo;
-import com.xjrsoft.module.student.vo.PbVXsxxsfytbPageVo;
-import com.xjrsoft.module.student.vo.PersonalPortraitFeeInformationVo;
+import com.xjrsoft.module.student.vo.*;
 import com.xjrsoft.module.teacher.entity.XjrUser;
 import lombok.AllArgsConstructor;
 import org.springframework.stereotype.Service;
 
-import java.util.Arrays;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
+import java.math.BigDecimal;
+import java.util.*;
 import java.util.stream.Collectors;
 
 /**
@@ -42,42 +39,63 @@ import java.util.stream.Collectors;
 @AllArgsConstructor
 public class PbVXsxxsfytbServiceImpl extends MPJBaseServiceImpl<PbVXsxxsfytbMapper, PbVXsxxsfytb> implements IPbVXsxxsfytbService {
 
-    private final IPbSemesterConfigService pbSemesterConfigService;
     @Override
-    public List<PersonalPortraitFeeInformationVo> listCostInformation(PersonalPortraitFeeInformationDto dto) {
+    public PersonalPortraitFeeInformationVo listCostInformation(PersonalPortraitFeeInformationDto dto) {
+
         //查出所有的消费记录
         MPJLambdaWrapper<PbVXsxxsfytb> pbVXsxxsfytbMPJLambdaWrapper = new MPJLambdaWrapper<>();
         pbVXsxxsfytbMPJLambdaWrapper
-                .select(PbVXsxxsfytb.class, x -> VoToColumnUtil.fieldsToColumns(PersonalPortraitFeeInformationVo.class).contains(x.getProperty()))
+                .selectAs(BaseSemester::getId, PbVXsxxsfytbPersonal::getBaseSemester)
+                .selectAs(BaseSemester::getName, PbVXsxxsfytbPersonal::getBaseSemesterCn)
+                .select(PbVXsxxsfytb.class, x -> VoToColumnUtil.fieldsToColumns(PbVXsxxsfytbPersonal.class).contains(x.getProperty()))
                 .leftJoin(XjrUser.class, XjrUser::getCredentialNumber, PbVXsxxsfytb::getPersonalid)
+                .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())
                 ;
-        List<PersonalPortraitFeeInformationVo> personalPortraitFeeInformationVoList = this.selectJoinList(PersonalPortraitFeeInformationVo.class, pbVXsxxsfytbMPJLambdaWrapper);
+        List<PbVXsxxsfytbPersonal> pbVXsxxsfytbPersonalList = this.selectJoinList(PbVXsxxsfytbPersonal.class, pbVXsxxsfytbMPJLambdaWrapper);
 
-        //查出学期集合
-        MPJLambdaWrapper<PbSemesterConfig> pbSemesterConfigMPJLambdaWrapper = new MPJLambdaWrapper<>();
-        pbSemesterConfigMPJLambdaWrapper
-                .selectAs(BaseSemester::getName, PbSemesterConfigVo::getBaseSemesterIdCn)
-                .select(PbSemesterConfig.class, x -> VoToColumnUtil.fieldsToColumns(PbSemesterConfigVo.class).contains(x.getProperty()))
-                .leftJoin(BaseSemester.class, BaseSemester::getId, PbSemesterConfig::getBaseSemesterId)
-        ;
-        List<PbSemesterConfigVo> pbSemesterConfigVoList = pbSemesterConfigService.selectJoinList(PbSemesterConfigVo.class, pbSemesterConfigMPJLambdaWrapper);
+        BigDecimal totalConsumption = new BigDecimal("0");
 
-        Map<String, PbSemesterConfigVo> pbSemesterConfigMap = new HashMap<>();
-        for (PbSemesterConfigVo pbSemesterConfigVo : pbSemesterConfigVoList){
-            pbSemesterConfigMap.put(pbSemesterConfigVo.getBeltcode(), pbSemesterConfigVo);
-        }
+        Map<String, List<PbVXsxxsfytbPersonal>> PbVXsxxsfytbPersonalBySemesterMap = pbVXsxxsfytbPersonalList.stream()
+                .collect(Collectors.groupingBy(PbVXsxxsfytbPersonal::getBaseSemester));
+
+        List<PbVXsxxsfytbPersonalMap> pbVXsxxsfytbPersonalMapList = new ArrayList<>();
+        for (Map.Entry<String, List<PbVXsxxsfytbPersonal>> entry : PbVXsxxsfytbPersonalBySemesterMap.entrySet()) {
+            String baseSemester = entry.getKey();
+            List<PbVXsxxsfytbPersonal> pbVXsxxsfytbPersonals = entry.getValue();
 
-        for (PersonalPortraitFeeInformationVo personalPortraitFeeInformationVo : personalPortraitFeeInformationVoList){
-            String beltcode = personalPortraitFeeInformationVo.getBeltcode();
-            if(beltcode != null){
-                personalPortraitFeeInformationVo.setBaseSemester(String.valueOf(pbSemesterConfigMap.get(beltcode).getBaseSemesterId()));
-                personalPortraitFeeInformationVo.setBaseSemesterCn(pbSemesterConfigMap.get(beltcode).getBaseSemesterIdCn());
+            Map<String, PbVXsxxsfytbPersonal> pbVXsxxsfytbPersonalByItemMap = new HashMap<>();
+            for (PbVXsxxsfytbPersonal pbVXsxxsfytbPersonal : pbVXsxxsfytbPersonals){
+                //统计总的消费金额
+                totalConsumption = totalConsumption.add(pbVXsxxsfytbPersonal.getFactrecarmny());
+                totalConsumption = totalConsumption.add(pbVXsxxsfytbPersonal.getArrearagemny());
+
+                //将相同缴费项目合并
+                if (pbVXsxxsfytbPersonalByItemMap.containsKey(pbVXsxxsfytbPersonal.getFeeitemcode())){
+                    PbVXsxxsfytbPersonal p = pbVXsxxsfytbPersonalByItemMap.get(pbVXsxxsfytbPersonal.getFeeitemcode());
+                    p.setFactar(p.getFactar().add(pbVXsxxsfytbPersonal.getFactar()));
+                    p.setFactrecarmny(p.getFactrecarmny().add(pbVXsxxsfytbPersonal.getFactrecarmny()));
+                    p.setAdjustmny(p.getAdjustmny().add(pbVXsxxsfytbPersonal.getAdjustmny()));
+                    p.setArrearagemny(p.getArrearagemny().add(pbVXsxxsfytbPersonal.getArrearagemny()));
+                }else {
+                    pbVXsxxsfytbPersonalByItemMap.put(pbVXsxxsfytbPersonal.getFeeitemcode(), pbVXsxxsfytbPersonal);
+                }
             }
+
+            PbVXsxxsfytbPersonalMap pbVXsxxsfytbPersonalMap = new PbVXsxxsfytbPersonalMap();
+            pbVXsxxsfytbPersonalMap.setBaseSemester(baseSemester);
+            pbVXsxxsfytbPersonalMap.setBaseSemesterCn(pbVXsxxsfytbPersonals.get(0).getBaseSemesterCn());
+            pbVXsxxsfytbPersonalMap.setPbVXsxxsfytbPersonalList(pbVXsxxsfytbPersonals);
+            pbVXsxxsfytbPersonalMapList.add(pbVXsxxsfytbPersonalMap);
         }
 
-        return personalPortraitFeeInformationVoList;
+        PersonalPortraitFeeInformationVo p = new PersonalPortraitFeeInformationVo();
+        p.setTotalConsumption(totalConsumption);
+        p.setPbVXsxxsfytbPersonalMapList(pbVXsxxsfytbPersonalMapList);
+
+        return p;
     }
 
     @Override
@@ -105,10 +123,31 @@ public class PbVXsxxsfytbServiceImpl extends MPJBaseServiceImpl<PbVXsxxsfytbMapp
                 .leftJoin(PbSemesterConfig.class, PbSemesterConfig::getBeltcode, PbVXsxxsfytb::getBeltcode)
                 .leftJoin(BaseSemester.class, BaseSemester::getId, PbSemesterConfig::getBaseSemesterId)
                 .selectAs(BaseSemester::getId, PbVXsxxsfytbPageVo::getBaseSemester)
+                .selectAs(XjrUser::getId, PbVXsxxsfytbPageVo::getUserId)
                 .selectAs(BaseSemester::getName, PbVXsxxsfytbPageVo::getBaseSemesterCn)
                 .select(PbVXsxxsfytb.class, x -> VoToColumnUtil.fieldsToColumns(PbVXsxxsfytbPageVo.class).contains(x.getProperty()))
                 ;
 
         return this.selectJoinListPage(ConventPage.getPage(dto), PbVXsxxsfytbPageVo.class, pbVXsxxsfytbMPJLambdaWrapper);
     }
+
+    @Override
+    public List<PbVXsxxsfytbExcelVo> getList(PbVXsxxsfytbExcelDto dto) {
+        MPJLambdaWrapper<PbVXsxxsfytb> pbVXsxxsfytbMPJLambdaWrapper = new MPJLambdaWrapper<>();
+
+        pbVXsxxsfytbMPJLambdaWrapper
+                .disableSubLogicDel()
+                .in(dto.getPksfxxytbs() != null && !dto.getPksfxxytbs().isEmpty(), PbVXsxxsfytb::getPksfxxytb, dto.getPksfxxytbs())
+                .leftJoin(XjrUser.class, XjrUser::getCredentialNumber, PbVXsxxsfytb::getPersonalid)
+                .leftJoin(BaseStudentSchoolRoll.class, BaseStudentSchoolRoll::getUserId, XjrUser::getId)
+                .leftJoin(PbSemesterConfig.class, PbSemesterConfig::getBeltcode, PbVXsxxsfytb::getBeltcode)
+                .leftJoin(BaseSemester.class, BaseSemester::getId, PbSemesterConfig::getBaseSemesterId)
+                .selectAs(BaseSemester::getId, PbVXsxxsfytbPageVo::getBaseSemester)
+                .selectAs(XjrUser::getId, PbVXsxxsfytbPageVo::getUserId)
+                .selectAs(BaseSemester::getName, PbVXsxxsfytbPageVo::getBaseSemesterCn)
+                .select(PbVXsxxsfytb.class, x -> VoToColumnUtil.fieldsToColumns(PbVXsxxsfytbExcelVo.class).contains(x.getProperty()))
+        ;
+
+        return this.selectJoinList(PbVXsxxsfytbExcelVo.class, pbVXsxxsfytbMPJLambdaWrapper);
+    }
 }

+ 6 - 2
src/main/java/com/xjrsoft/module/student/service/impl/StudentManagerServiceImpl.java

@@ -28,8 +28,10 @@ import com.xjrsoft.module.student.mapper.BaseStudentSubsidizeMapper;
 import com.xjrsoft.module.student.mapper.BaseStudentUserMapper;
 import com.xjrsoft.module.student.service.IStudentManagerService;
 import com.xjrsoft.module.student.vo.BaseStudentClassVo;
+import com.xjrsoft.module.student.vo.PersonalPortraitPersonalInfoVo;
 import com.xjrsoft.module.student.vo.StudentPersonalInfoVo;
 import lombok.AllArgsConstructor;
+import org.springframework.beans.BeanUtils;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
 
@@ -311,8 +313,10 @@ public class StudentManagerServiceImpl extends MPJBaseServiceImpl<BaseStudentUse
      * @return
      */
     @Override
-    public StudentPersonalInfoVo getPersonalInfo(Long userId) {
+    public PersonalPortraitPersonalInfoVo getPersonalInfo(Long userId) {
         StudentPersonalInfoVo info = studentbaseManagerBaseStudentMapper.getPersonalInfo(userId);
+        PersonalPortraitPersonalInfoVo p = new PersonalPortraitPersonalInfoVo();
+        BeanUtils.copyProperties(info, p);
         List<BaseStudentFamilyMember> members = studentbaseManagerBaseStudentFamilyMemberMapper.selectList(
             new QueryWrapper<BaseStudentFamilyMember>().lambda()
             .eq(BaseStudentFamilyMember::getUserId, userId)
@@ -328,6 +332,6 @@ public class StudentManagerServiceImpl extends MPJBaseServiceImpl<BaseStudentUse
         if(StrUtil.isNotEmpty(guardianPhone)){
             info.setGuardianPhone(guardianPhone);
         }
-        return info;
+        return p;
     }
 }

+ 5 - 0
src/main/java/com/xjrsoft/module/student/vo/PbSemesterConfigPageVo.java

@@ -65,5 +65,10 @@ public class PbSemesterConfigPageVo {
     */
     @ApiModelProperty("攀宝学期code")
     private String beltcode;
+    /**
+     * 收费区间名称
+     */
+    @ApiModelProperty("收费区间名称")
+    private String beltname;
 
 }

+ 332 - 0
src/main/java/com/xjrsoft/module/student/vo/PbVXsxxsfytbExcelVo.java

@@ -0,0 +1,332 @@
+package com.xjrsoft.module.student.vo;
+
+import com.alibaba.excel.annotation.ExcelIgnore;
+import com.alibaba.excel.annotation.ExcelProperty;
+import com.alibaba.excel.annotation.write.style.ContentStyle;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.math.BigDecimal;
+
+/**
+* @title: 分页列表出参
+* @Author dzx
+* @Date: 2024-03-13
+* @Version 1.0
+*/
+@Data
+public class PbVXsxxsfytbExcelVo {
+
+    /**
+    * 学生主键
+    */
+    @ContentStyle(dataFormat = 49)
+    @ExcelProperty("学生主键")
+    @ApiModelProperty("学生主键")
+    private String pkfeeobj;
+    /**
+    * 学号
+    */
+    @ContentStyle(dataFormat = 49)
+    @ExcelProperty("学号")
+    @ApiModelProperty("学号")
+    private String Studentcode;
+    /**
+    * 姓名
+    */
+    @ContentStyle(dataFormat = 49)
+    @ExcelProperty("姓名")
+    @ApiModelProperty("姓名")
+    private String feeobjname;
+    /**
+    * 所属班级名称
+    */
+    @ContentStyle(dataFormat = 49)
+    @ExcelProperty("所属班级名称")
+    @ApiModelProperty("所属班级名称")
+    private String classname;
+    /**
+    * 所属班级编码
+    */
+    @ContentStyle(dataFormat = 49)
+    @ExcelProperty("所属班级编码")
+    @ApiModelProperty("所属班级编码")
+    private String classcode;
+    /**
+    * 所属专业名称
+    */
+    @ContentStyle(dataFormat = 49)
+    @ExcelProperty("所属专业名称")
+    @ApiModelProperty("所属专业名称")
+    private String specname;
+    /**
+    * 所属专业编码
+    */
+    @ContentStyle(dataFormat = 49)
+    @ExcelProperty("所属专业编码")
+    @ApiModelProperty("所属专业编码")
+    private String speccode;
+    /**
+    * 所属院系名称
+    */
+    @ContentStyle(dataFormat = 49)
+    @ExcelProperty("所属院系名称")
+    @ApiModelProperty("所属院系名称")
+    private String deptname;
+    /**
+    * 所属院系编码
+    */
+    @ContentStyle(dataFormat = 49)
+    @ExcelProperty("所属院系编码")
+    @ApiModelProperty("所属院系编码")
+    private String deptcode;
+    /**
+    * 入校年度
+    */
+    @ContentStyle(dataFormat = 49)
+    @ExcelProperty("入校年度")
+    @ApiModelProperty("入校年度")
+    private String enteryear;
+    /**
+    * 离校年度
+    */
+    @ContentStyle(dataFormat = 49)
+    @ExcelProperty("离校年度")
+    @ApiModelProperty("离校年度")
+    private String leaveyear;
+    /**
+    * 身份证号
+    */
+    @ContentStyle(dataFormat = 49)
+    @ExcelProperty("身份证号")
+    @ApiModelProperty("身份证号")
+    private String personalid;
+    /**
+    *
+    */
+    @ContentStyle(dataFormat = 49)
+    @ExcelProperty("")
+    @ApiModelProperty("")
+    private String userdef1;
+    /**
+    * 招生老师
+    */
+    @ContentStyle(dataFormat = 49)
+    @ExcelProperty("招生老师")
+    @ApiModelProperty("招生老师")
+    private String recruiters;
+    /**
+    * 
+    */
+    @ContentStyle(dataFormat = 49)
+    @ExcelProperty("")
+    @ApiModelProperty("")
+    private String userdef2;
+    /**
+    * 录取号
+    */
+    @ContentStyle(dataFormat = 49)
+    @ExcelProperty("录取号")
+    @ApiModelProperty("录取号")
+    private String admissions;
+    /**
+    * 地址
+    */
+    @ContentStyle(dataFormat = 49)
+    @ExcelProperty("地址")
+    @ApiModelProperty("地址")
+    private String address;
+    /**
+    * 电话
+    */
+    @ContentStyle(dataFormat = 49)
+    @ExcelProperty("电话")
+    @ApiModelProperty("电话")
+    private String telephone;
+    /**
+    * 民族
+    */
+    @ContentStyle(dataFormat = 49)
+    @ExcelProperty("民族")
+    @ApiModelProperty("民族")
+    private String nationality;
+    /**
+    * 政治面貌
+    */
+    @ContentStyle(dataFormat = 49)
+    @ExcelProperty("政治面貌")
+    @ApiModelProperty("政治面貌")
+    private String property;
+    /**
+    * 备注
+    */
+    @ContentStyle(dataFormat = 49)
+    @ExcelProperty("备注")
+    @ApiModelProperty("备注")
+    private String remarks;
+    /**
+    * 毕业学校
+    */
+    @ContentStyle(dataFormat = 49)
+    @ExcelProperty("毕业学校")
+    @ApiModelProperty("毕业学校")
+    private String graduations;
+    /**
+    * 学生状态
+    */
+    @ContentStyle(dataFormat = 49)
+    @ExcelProperty("学生状态")
+    @ApiModelProperty("学生状态")
+    private String state;
+    /**
+    * 姓名
+    */
+    @ContentStyle(dataFormat = 49)
+    @ExcelProperty("姓名")
+    @ApiModelProperty("姓名")
+    private String sex;
+    /**
+    * 收费标准金额
+    */
+    @ContentStyle(dataFormat = 49)
+    @ExcelProperty("收费标准金额")
+    @ApiModelProperty("收费标准金额")
+    private BigDecimal standardar;
+    /**
+    * 应缴金额
+    */
+    @ContentStyle(dataFormat = 49)
+    @ExcelProperty("应缴金额")
+    @ApiModelProperty("应缴金额 ")
+    private BigDecimal factar;
+    /**
+    * 调整(减免)金额
+    */
+    @ContentStyle(dataFormat = 49)
+    @ExcelProperty("调整(减免)金额")
+    @ApiModelProperty("调整(减免)金额")
+    private BigDecimal adjustmny;
+    /**
+    * 减免金额
+    */
+    @ContentStyle(dataFormat = 49)
+    @ExcelProperty("减免金额")
+    @ApiModelProperty("减免金额")
+    private BigDecimal jmje;
+    /**
+    * 欠费金额
+    */
+    @ContentStyle(dataFormat = 49)
+    @ExcelProperty("欠费金额")
+    @ApiModelProperty("欠费金额")
+    private BigDecimal arrearagemny;
+    /**
+    * 实缴金额
+    */
+    @ContentStyle(dataFormat = 49)
+    @ExcelProperty("实缴金额")
+    @ApiModelProperty("实缴金额")
+    private BigDecimal factrecarmny;
+    /**
+    * 退款金额
+    */
+    @ContentStyle(dataFormat = 49)
+    @ExcelProperty("退款金额")
+    @ApiModelProperty("退款金额")
+    private BigDecimal refundmny;
+    /**
+    * 欠费金额
+    */
+    @ContentStyle(dataFormat = 49)
+    @ExcelProperty("欠费金额")
+    @ApiModelProperty("欠费金额")
+    private BigDecimal qfje;
+    /**
+    * 缴费状态
+    */
+    @ContentStyle(dataFormat = 49)
+    @ExcelProperty("缴费状态")
+    @ApiModelProperty("缴费状态")
+    private String jfzt;
+    /**
+    * 收费项目编码
+    */
+    @ContentStyle(dataFormat = 49)
+    @ExcelProperty("收费项目编码")
+    @ApiModelProperty("收费项目编码")
+    private String feeitemcode;
+    /**
+    * 收费项目名称
+    */
+    @ContentStyle(dataFormat = 49)
+    @ExcelProperty("收费项目名称")
+    @ApiModelProperty("收费项目名称")
+    private String feeitemname;
+    /**
+    * 收费区间编码
+    */
+    @ContentStyle(dataFormat = 49)
+    @ExcelProperty("收费区间编码")
+    @ApiModelProperty("收费区间编码")
+    private String beltcode;
+    /**
+    * 收费区间名称
+    */
+    @ContentStyle(dataFormat = 49)
+    @ExcelProperty("收费区间名称")
+    @ApiModelProperty("收费区间名称")
+    private String beltname;
+    /**
+     * 学期Id
+     */
+    @ContentStyle(dataFormat = 49)
+    @ExcelProperty("学期Id")
+    @ExcelIgnore
+    @ApiModelProperty("学期Id")
+    private String baseSemester;
+    /**
+     * 学期Id
+     */
+    @ContentStyle(dataFormat = 49)
+    @ExcelProperty("学期Id")
+    @ApiModelProperty("学期Id")
+    private String baseSemesterCn;
+    /**
+    * 学制
+    */
+    @ContentStyle(dataFormat = 49)
+    @ExcelProperty("学制")
+    @ApiModelProperty("学制")
+    private String ratetypename;
+    /**
+     * 学生Id
+     */
+    @ContentStyle(dataFormat = 49)
+    @ExcelProperty("学生Id")
+    @ExcelIgnore
+    @ApiModelProperty("学生Id")
+    private String userId;
+    /**
+    * 学生来源
+    */
+    @ContentStyle(dataFormat = 49)
+    @ExcelProperty("学生来源")
+    @ApiModelProperty("学生来源")
+    private String resourcename;
+    /**
+    * 住宿类型
+    */
+    @ContentStyle(dataFormat = 49)
+    @ExcelProperty("住宿类型")
+    @ApiModelProperty("住宿类型")
+    private String quartername;
+    /**
+    * 主键
+    */
+    @ContentStyle(dataFormat = 49)
+    @ExcelProperty("主键")
+    @ExcelIgnore
+    @ApiModelProperty("主键")
+    private String pksfxxytb;
+
+}

+ 5 - 0
src/main/java/com/xjrsoft/module/student/vo/PbVXsxxsfytbPageVo.java

@@ -214,6 +214,11 @@ public class PbVXsxxsfytbPageVo {
     */
     @ApiModelProperty("学制")
     private String ratetypename;
+    /**
+     * 学生Id
+     */
+    @ApiModelProperty("学生Id")
+    private String userId;
     /**
     * 学生来源
     */

+ 69 - 0
src/main/java/com/xjrsoft/module/student/vo/PbVXsxxsfytbPersonal.java

@@ -0,0 +1,69 @@
+package com.xjrsoft.module.student.vo;
+
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.math.BigDecimal;
+
+/**
+* 个人消费记录
+*/
+@Data
+public class PbVXsxxsfytbPersonal {
+
+    /**
+     * 学期Id
+     */
+    @ApiModelProperty("学期Id")
+    private String baseSemester;
+    /**
+     * 学期Id
+     */
+    @ApiModelProperty("学期Id")
+    private String baseSemesterCn;
+    /**
+     * 收费区间编码
+     */
+    @ApiModelProperty("收费区间编码")
+    private String beltcode;
+    /**
+     * 收费区间名称
+     */
+    @ApiModelProperty("收费区间名称")
+    private String beltname;
+    /**
+     * 收费项目名称
+     */
+    @ApiModelProperty("收费项目名称")
+    private String feeitemname;
+    /**
+     * 收费项目编码
+     */
+    @ApiModelProperty("收费项目编码")
+    private String feeitemcode;
+    /**
+     * 应缴金额
+     */
+    @ApiModelProperty("应缴金额 ")
+    private BigDecimal factar;
+    /**
+     * 实缴金额
+     */
+    @ApiModelProperty("实缴金额")
+    private BigDecimal factrecarmny;
+    /**
+     * 调整(减免)金额
+     */
+    @ApiModelProperty("调整(减免)金额")
+    private BigDecimal adjustmny;
+    /**
+     * 应缴金额
+     */
+    @ApiModelProperty("欠费金额")
+    private BigDecimal arrearagemny;
+    /**
+     * 缴费状态
+     */
+    @ApiModelProperty("缴费状态")
+    private String jfzt;
+}

+ 32 - 0
src/main/java/com/xjrsoft/module/student/vo/PbVXsxxsfytbPersonalMap.java

@@ -0,0 +1,32 @@
+package com.xjrsoft.module.student.vo;
+
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.math.BigDecimal;
+import java.util.List;
+
+/**
+* 个人消费记录
+*/
+@Data
+public class PbVXsxxsfytbPersonalMap {
+
+    /**
+     * 学期Id
+     */
+    @ApiModelProperty("学期Id")
+    private String baseSemester;
+    /**
+     * 学期Id
+     */
+    @ApiModelProperty("学期Id")
+    private String baseSemesterCn;
+
+    /**
+     * 消息记录
+     */
+    @ApiModelProperty("消息记录 ")
+    private List<PbVXsxxsfytbPersonal> pbVXsxxsfytbPersonalList;
+
+}

+ 10 - 46
src/main/java/com/xjrsoft/module/student/vo/PersonalPortraitFeeInformationVo.java

@@ -4,60 +4,24 @@ import io.swagger.annotations.ApiModelProperty;
 import lombok.Data;
 
 import java.math.BigDecimal;
+import java.util.List;
+import java.util.Map;
 
 /**
  * 费用信息出参
  */
 @Data
 public class PersonalPortraitFeeInformationVo {
+
     /**
-     * 学期Id
-     */
-    @ApiModelProperty("学期Id")
-    private String baseSemester;
-    /**
-     * 学期Id
-     */
-    @ApiModelProperty("学期Id")
-    private String baseSemesterCn;
-    /**
-     * 收费区间编码
-     */
-    @ApiModelProperty("收费区间编码")
-    private String beltcode;
-    /**
-     * 收费区间名称
-     */
-    @ApiModelProperty("收费区间名称")
-    private String beltname;
-    /**
-     * 收费项目名称
-     */
-    @ApiModelProperty("收费项目名称")
-    private BigDecimal feeitemname;
-    /**
-     * 应缴金额
-     */
-    @ApiModelProperty("应缴金额 ")
-    private BigDecimal factar;
-    /**
-     * 实缴金额
-     */
-    @ApiModelProperty("实缴金额")
-    private BigDecimal factrecarmny;
-    /**
-     * 调整(减免)金额
-     */
-    @ApiModelProperty("调整(减免)金额 ")
-    private BigDecimal adjustmny;
-    /**
-     * 缴费状态
+     * 消费总额
      */
-    @ApiModelProperty("缴费状态")
-    private BigDecimal jfzt;
+    @ApiModelProperty("消费总额 ")
+    private BigDecimal totalConsumption;
+
     /**
-     * 应缴金额
+     * 消费信息
      */
-    @ApiModelProperty("欠费金额 ")
-    private BigDecimal arrearagemny;
+    @ApiModelProperty("消费信息 ")
+    private List<PbVXsxxsfytbPersonalMap> pbVXsxxsfytbPersonalMapList;
 }