From f5e3323be3ce83280c48cd1856bea88c6aed8ffa Mon Sep 17 00:00:00 2001
From: “djh” <“3298565835@qq.com”>
Date: 星期四, 06 三月 2025 13:40:47 +0800
Subject: [PATCH] 统计修改

---
 exam-system/src/main/java/com/gkhy/exam/pay/service/impl/NonCoalCategoryServiceImpl.java |   46 ++++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 46 insertions(+), 0 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 e638391..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,6 +1,10 @@
 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;
@@ -9,6 +13,7 @@
 import org.springframework.stereotype.Service;
 
 import javax.annotation.Resource;
+import java.math.BigDecimal;
 import java.util.List;
 
 
@@ -63,6 +68,12 @@
         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);
@@ -111,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