From 6061c45849de0f3ac6d05fdfa2bac4b09c21179b Mon Sep 17 00:00:00 2001
From: “djh” <“3298565835@qq.com”>
Date: 星期四, 06 三月 2025 10:11:10 +0800
Subject: [PATCH] 考试缴费统计修改

---
 exam-system/src/main/java/com/gkhy/exam/pay/service/impl/NonCoalCategoryServiceImpl.java |   56 +++++++++++++++++++++++++++++++++++++++++++++++++++++++-
 1 files changed, 55 insertions(+), 1 deletions(-)

diff --git a/exam-system/src/main/java/com/gkhy/exam/pay/service/impl/NonCoalCategoryServiceImpl.java b/exam-system/src/main/java/com/gkhy/exam/pay/service/impl/NonCoalCategoryServiceImpl.java
index f754538..bfcc7cc 100644
--- a/exam-system/src/main/java/com/gkhy/exam/pay/service/impl/NonCoalCategoryServiceImpl.java
+++ b/exam-system/src/main/java/com/gkhy/exam/pay/service/impl/NonCoalCategoryServiceImpl.java
@@ -1,13 +1,19 @@
 package com.gkhy.exam.pay.service.impl;
 
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.gkhy.exam.pay.dto.rep.CateGoryTheory;
+import com.gkhy.exam.pay.dto.rep.CategoryCount;
+import com.gkhy.exam.pay.dto.rep.NonCategoryCount;
+import com.gkhy.exam.pay.dto.req.NonCountCategoryReqDto;
 import com.gkhy.exam.pay.entity.NonCoalCategory;
 import com.gkhy.exam.pay.mapper.NonCoalCategoryMapper;
 import com.gkhy.exam.pay.service.NonCoalCategoryService;
+import com.ruoyi.common.constant.Constants;
 import com.ruoyi.common.utils.SecurityUtils;
 import org.springframework.stereotype.Service;
 
 import javax.annotation.Resource;
+import java.math.BigDecimal;
 import java.util.List;
 
 
@@ -43,7 +49,10 @@
     @Override
     public List<NonCoalCategory> selectNonCoalCategoryList(NonCoalCategory nonCoalCategory) {
         if (!SecurityUtils.isAdmin(SecurityUtils.getUserId())) {
-            nonCoalCategory.setDistrictCode(SecurityUtils.getDeptDistrictCode());
+            if (!Constants.DIS_XINJIANG_CODE.equals(SecurityUtils.getDeptDistrictCode())) {
+                nonCoalCategory.setDistrictCode(SecurityUtils.getDeptDistrictCode());
+            }
+
         }
         return nonCoalCategoryMapper.selectNonCoalCategoryList(nonCoalCategory);
     }
@@ -56,6 +65,15 @@
      */
     @Override
     public int insertNonCoalCategory(NonCoalCategory nonCoalCategory) {
+        if (!nonCoalCategory.getDistrictCode().startsWith(Constants.DIS_XINJIANG_CODE)) {
+            throw new RuntimeException("地州信息错误");
+        }
+        if (!SecurityUtils.isAdmin(SecurityUtils.getUserId())) {
+            if (Constants.DIS_XINJIANG_CODE.equals(nonCoalCategory.getDistrictCode())) {
+                throw new RuntimeException("仅可选择下级地州");
+            }
+
+        }
         checkSubjectName(nonCoalCategory);
         nonCoalCategory.setCreateBy(SecurityUtils.getUsername());
         return nonCoalCategoryMapper.insertNonCoalCategory(nonCoalCategory);
@@ -70,6 +88,7 @@
     @Override
     public int updateNonCoalCategory(NonCoalCategory nonCoalCategory) {
         checkSubjectName(nonCoalCategory);
+        nonCoalCategory.setDistrictCode(null);
         nonCoalCategory.setUpdateBy(SecurityUtils.getUsername());
         return nonCoalCategoryMapper.updateNonCoalCategory(nonCoalCategory);
     }
@@ -103,4 +122,39 @@
     public int deleteNonCoalCategoryById(Long id) {
         return nonCoalCategoryMapper.deleteNonCoalCategoryById(id);
     }
+
+    @Override
+    public List<NonCategoryCount> countCategory(NonCountCategoryReqDto countCategoryReqDto) {
+//        if (!SecurityUtils.isAdmin(SecurityUtils.getUserId())) {
+//            if (!Constants.DIS_XINJIANG_CODE.equals(SecurityUtils.getDeptDistrictCode())) {
+//                countCategoryReqDto.setDistrictCode(SecurityUtils.getDeptDistrictCode());
+//            }
+//
+//        }
+        List<NonCategoryCount> nonCategoryCounts = nonCoalCategoryMapper.selectCountCategory(countCategoryReqDto);
+        List<CateGoryTheory> cateGoryTheories = nonCoalCategoryMapper.selectCountTheory(countCategoryReqDto);
+        for (CateGoryTheory cateGoryTheory : cateGoryTheories) {
+            NonCategoryCount nonCategoryCount = new NonCategoryCount();
+            nonCategoryCount.setCategoryType(1);
+            nonCategoryCount.setAmount(cateGoryTheory.getAmount());
+            nonCategoryCount.setNum(cateGoryTheory.getNum());
+            nonCategoryCount.setSubjectName(cateGoryTheory.getPayTypeName());
+            nonCategoryCounts.add(nonCategoryCount);
+        }
+        for (NonCategoryCount categoryCount : nonCategoryCounts) {
+            categoryCount.setTotalMoney(categoryCount.getAmount().multiply(BigDecimal.valueOf(categoryCount.getNum())));
+            if (categoryCount.getCategoryType()==1){
+                categoryCount.setTurnContent(BigDecimal.valueOf(categoryCount.getNum()*6));
+                categoryCount.setAutonomy(BigDecimal.valueOf(categoryCount.getNum()*8));
+                categoryCount.setPrefecuture(categoryCount.getTotalMoney().subtract(categoryCount.getTurnContent().add(categoryCount.getAutonomy())));
+            }else {
+                categoryCount.setTurnContent(BigDecimal.valueOf(categoryCount.getNum()*3));
+                categoryCount.setAutonomy(BigDecimal.valueOf(categoryCount.getNum()*13));
+                categoryCount.setPrefecuture(categoryCount.getTotalMoney().subtract(categoryCount.getTurnContent().add(categoryCount.getAutonomy())));
+
+            }
+        }
+
+        return nonCategoryCounts;
+    }
 }
\ No newline at end of file

--
Gitblit v1.9.2