ソースを参照

收费统计:各年级的教材费、住宿费、军训费缴费统计

dzx 9 ヶ月 前
コミット
a9a303f1e7

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

@@ -26,6 +26,7 @@ import com.xjrsoft.module.student.vo.BaseClassQfCountVo;
 import com.xjrsoft.module.student.vo.BaseClassTreeVo;
 import com.xjrsoft.module.student.vo.ClassQfPageVo;
 import com.xjrsoft.module.student.vo.FeeDetailListVo;
+import com.xjrsoft.module.student.vo.PbFeeitemStatVo;
 import com.xjrsoft.module.student.vo.PbStduyStatusVo;
 import com.xjrsoft.module.student.vo.PbStudentCategoryVo;
 import com.xjrsoft.module.student.vo.PbVXssfdetailPageVo;
@@ -187,7 +188,14 @@ public class ConsumptionController {
         return RT.ok(pageOutput);
     }
 
-    @GetMapping(value = "/class-qf-expert")
+    @GetMapping(value = "/feeitem-stat")
+    @ApiOperation(value="各年级的教材费、住宿费、军训费缴费统计")
+    @SaCheckPermission("consumption:detail")
+    public RT<PbFeeitemStatVo> feeitemStat(@Valid PbVXsxxsfytbStatDto dto){
+        return RT.ok(pbVXsxxsfytbService.feeitemStat(dto));
+    }
+
+    @GetMapping(value = "/class-qf-expert-query")
     @ApiOperation(value="班级欠费排序-导出")
     @SaCheckPermission("consumption:detail")
     public RT<PageOutput<ClassQfPageVo>> classQfExpert(@Valid PbVXsxxsfytbStatDto dto){

+ 4 - 0
src/main/java/com/xjrsoft/module/student/mapper/PbVXsxxsfytbMapper.java

@@ -10,6 +10,7 @@ import com.xjrsoft.module.student.entity.PbVXsxxsfytb;
 import com.xjrsoft.module.student.vo.BaseClassQfCountVo;
 import com.xjrsoft.module.student.vo.ClassQfPageVo;
 import com.xjrsoft.module.student.vo.FeeDetailListVo;
+import com.xjrsoft.module.student.vo.NameFee2Vo;
 import com.xjrsoft.module.student.vo.PbVXsxxsfytbFeeitemVo;
 import com.xjrsoft.module.student.vo.PbVXsxxsfytbSpecnameCountVo;
 import com.xjrsoft.module.student.vo.PbVXsxxsfytbVo;
@@ -43,4 +44,7 @@ public interface PbVXsxxsfytbMapper extends MPJBaseMapper<PbVXsxxsfytb> {
     List<StringCountVo> stduyStatusStat(@Param("dto") PbVXsxxsfytbStatDto dto);
 
     Page<ClassQfPageVo> getClassQfPage(Page<ClassQfPageVo> page, @Param("dto") PbVXsxxsfytbStatDto dto);
+
+
+    List<NameFee2Vo> feeitemStat(@Param("dto") PbVXsxxsfytbStatDto dto);
 }

+ 2 - 0
src/main/java/com/xjrsoft/module/student/service/IPbVXsxxsfytbService.java

@@ -43,4 +43,6 @@ public interface IPbVXsxxsfytbService extends MPJBaseService<PbVXsxxsfytb> {
     PbStduyStatusVo stduyStatusStat(PbVXsxxsfytbStatDto dto);
 
     Page<ClassQfPageVo> getClassQfPage(Page<ClassQfPageVo> page, PbVXsxxsfytbStatDto dto);
+
+    PbFeeitemStatVo feeitemStat(PbVXsxxsfytbStatDto dto);
 }

+ 25 - 0
src/main/java/com/xjrsoft/module/student/service/impl/PbVXsxxsfytbServiceImpl.java

@@ -25,6 +25,8 @@ import com.xjrsoft.module.student.service.IPbVXsxxsfytbService;
 import com.xjrsoft.module.student.vo.BaseClassQfCountVo;
 import com.xjrsoft.module.student.vo.ClassQfPageVo;
 import com.xjrsoft.module.student.vo.FeeDetailListVo;
+import com.xjrsoft.module.student.vo.NameFee2Vo;
+import com.xjrsoft.module.student.vo.PbFeeitemStatVo;
 import com.xjrsoft.module.student.vo.PbStduyStatusVo;
 import com.xjrsoft.module.student.vo.PbStudentCategoryVo;
 import com.xjrsoft.module.student.vo.PbVXsxxsfytbExcelVo;
@@ -324,4 +326,27 @@ public class PbVXsxxsfytbServiceImpl extends MPJBaseServiceImpl<PbVXsxxsfytbMapp
     public Page<ClassQfPageVo> getClassQfPage(Page<ClassQfPageVo> page, PbVXsxxsfytbStatDto dto) {
         return pbVXsxxsfytbMapper.getClassQfPage(page, dto);
     }
+
+    @Override
+    public PbFeeitemStatVo feeitemStat(PbVXsxxsfytbStatDto dto) {
+        List<NameFee2Vo> nameFee2Vos = pbVXsxxsfytbMapper.feeitemStat(dto);
+
+        PbFeeitemStatVo result = new PbFeeitemStatVo();
+        for (NameFee2Vo stringCountVo : nameFee2Vos) {
+            if("教材费".equals(stringCountVo.getFeeName())){
+                result.setJcfName(stringCountVo.getFeeName());
+                result.setJcfYj(stringCountVo.getMoney1());
+                result.setJcfQf(stringCountVo.getMoney2());
+            }else if("军训费".equals(stringCountVo.getFeeName())){
+                result.setJxfName(stringCountVo.getFeeName());
+                result.setJxfYj(stringCountVo.getMoney1());
+                result.setJxfQf(stringCountVo.getMoney2());
+            }else if("住宿费".equals(stringCountVo.getFeeName())){
+                result.setZsfName(stringCountVo.getFeeName());
+                result.setZsfYj(stringCountVo.getMoney1());
+                result.setZsfQf(stringCountVo.getMoney2());
+            }
+        }
+        return result;
+    }
 }

+ 25 - 0
src/main/java/com/xjrsoft/module/student/vo/NameFee2Vo.java

@@ -0,0 +1,25 @@
+package com.xjrsoft.module.student.vo;
+
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+/**
+* @title: 学生贫困类型统计
+* @Author dzx
+* @Date: 2024-04-03
+* @Version 1.0
+*/
+@Data
+public class NameFee2Vo {
+
+
+    @ApiModelProperty("军训费名称")
+    private String feeName;
+
+    @ApiModelProperty("军训服已缴")
+    private Double money1;
+
+    @ApiModelProperty("军训服欠费")
+    private Double money2;
+
+}

+ 44 - 0
src/main/java/com/xjrsoft/module/student/vo/PbFeeitemStatVo.java

@@ -0,0 +1,44 @@
+package com.xjrsoft.module.student.vo;
+
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+/**
+* @title: 学生贫困类型统计
+* @Author dzx
+* @Date: 2024-04-03
+* @Version 1.0
+*/
+@Data
+public class PbFeeitemStatVo {
+
+
+    @ApiModelProperty("军训费名称")
+    private String jxfName;
+
+    @ApiModelProperty("军训服已缴")
+    private Double jxfYj;
+
+    @ApiModelProperty("军训服欠费")
+    private Double jxfQf;
+
+    @ApiModelProperty("教材费名称")
+    private String jcfName;
+
+    @ApiModelProperty("教材服已缴")
+    private Double jcfYj;
+
+    @ApiModelProperty("教材服欠费")
+    private Double jcfQf;
+
+    @ApiModelProperty("住宿费名称")
+    private String zsfName;
+
+    @ApiModelProperty("住宿服已缴")
+    private Double zsfYj;
+
+    @ApiModelProperty("住宿服欠费")
+    private Double zsfQf;
+
+
+}

+ 13 - 0
src/main/resources/mapper/student/PbVXsxxsfytbMapper.xml

@@ -88,4 +88,17 @@
         </if>
         ORDER BY qfzje DESC
     </select>
+
+    <select id="feeitemStat" parameterType="com.xjrsoft.module.student.dto.PbVXsxxsfytbStatDto" resultType="com.xjrsoft.module.student.vo.NameFee2Vo">
+        SELECT t4.shortname as fee_name,SUM(factar) as money1,SUM(qfje) as money2 FROM pb_v_xsxxsfytb t1
+        INNER JOIN pb_cse_feeitem2 t4 ON t4.feeitemcode = t1.feeitemcode
+        INNER JOIN xjr_user t2 ON t1.Studentcode = t2.credential_number
+        INNER JOIN base_student_school_roll t3 ON t3.user_id = t2.id
+        WHERE t3.delete_mark = 0 AND t2.delete_mark = 0
+        AND t1.feeitemcode IN ('999010604','103042766003001','999010603')
+        <if test="dto.gradeId != null">
+            and t3.grade_id = #{dto.gradeId}
+        </if>
+        GROUP BY t4.shortname
+    </select>
 </mapper>