|
@@ -3,6 +3,7 @@ package com.xjrsoft.module.databoard.controller;
|
|
|
import cn.dev33.satoken.annotation.SaCheckPermission;
|
|
|
import cn.hutool.core.util.ObjectUtil;
|
|
|
import cn.hutool.core.util.StrUtil;
|
|
|
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
|
|
import com.github.yulichang.toolkit.MPJWrappers;
|
|
|
import com.github.yulichang.wrapper.MPJLambdaWrapper;
|
|
|
import com.xjrsoft.common.enums.GenderDictionaryEnum;
|
|
@@ -11,6 +12,7 @@ import com.xjrsoft.common.model.result.RT;
|
|
|
import com.xjrsoft.common.mybatis.SqlRunnerAdapter;
|
|
|
import com.xjrsoft.common.utils.VoToColumnUtil;
|
|
|
import com.xjrsoft.module.databoard.dto.StatisticsDetailDto;
|
|
|
+import com.xjrsoft.module.databoard.vo.CourseStatisticsDetailVo;
|
|
|
import com.xjrsoft.module.databoard.vo.DistributionVo;
|
|
|
import com.xjrsoft.module.databoard.vo.DurationVo;
|
|
|
import com.xjrsoft.module.databoard.vo.HealthItemCountVo;
|
|
@@ -53,6 +55,7 @@ import java.text.SimpleDateFormat;
|
|
|
import java.time.Duration;
|
|
|
import java.time.LocalDate;
|
|
|
import java.time.Period;
|
|
|
+import java.time.format.DateTimeFormatter;
|
|
|
import java.util.ArrayList;
|
|
|
import java.util.Collections;
|
|
|
import java.util.Comparator;
|
|
@@ -551,7 +554,10 @@ public class DatadetailController {
|
|
|
@SaCheckPermission("datadetail:detail")
|
|
|
public RT<SubscriptionStatisticsDetailVo> subscriptionStatistics(@Valid StatisticsDetailDto dto) {
|
|
|
SubscriptionStatisticsDetailVo result = new SubscriptionStatisticsDetailVo();
|
|
|
- List<WfSubscription> list = subscriptionService.list();
|
|
|
+ List<WfSubscription> list = subscriptionService.list(
|
|
|
+ new QueryWrapper<WfSubscription>().lambda()
|
|
|
+ .between((dto.getStartDate() != null && dto.getEndDate() != null), WfSubscription::getShenQingRiQi4752, dto.getStartDate(), dto.getEndDate())
|
|
|
+ );
|
|
|
double totalAmount = list.stream().filter(x -> x.getTotalAmount() != null).mapToDouble(WfSubscription::getTotalAmount).sum();
|
|
|
result.setTotalAmount(totalAmount);
|
|
|
|
|
@@ -565,7 +571,12 @@ public class DatadetailController {
|
|
|
" INNER JOIN wf_subscription t2 ON t1.parent_id = t2.id" +
|
|
|
" LEFT JOIN xjr_dictionary_detail t3 ON t1.item_type = t3.code" +
|
|
|
" AND t3.item_id = 1752140413593518081" +
|
|
|
- " WHERE t2.status = 1 GROUP BY t3.name";
|
|
|
+ " WHERE t2.status = 1";
|
|
|
+ DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd");
|
|
|
+ if(dto.getStartDate() != null && dto.getEndDate() != null){
|
|
|
+ sql += " and t2.shen_qing_ri_qi4752 between '" + dto.getStartDate().format(formatter) + "' and '" + dto.getEndDate().format(formatter) + "'";
|
|
|
+ }
|
|
|
+ sql += " GROUP BY t3.name";
|
|
|
List<Map<String, Object>> datalist = SqlRunnerAdapter.db().selectList(sql);
|
|
|
List<ItemCountVo> categoryCountList = new ArrayList<>();
|
|
|
List<ItemDoubleVo> categoryAmountList = new ArrayList<>();
|
|
@@ -590,7 +601,11 @@ public class DatadetailController {
|
|
|
sql = "SELECT IFNULL(t3.name, '未填写') AS item,COUNT(t1.id) AS a_count,SUM(t1.amount) as a_sum FROM wf_subscription_list t1" +
|
|
|
" INNER JOIN wf_subscription t2 ON t1.parent_id = t2.id" +
|
|
|
" LEFT JOIN xjr_department t3 ON t2.application_department = t3.id" +
|
|
|
- " WHERE t2.status = 1 GROUP BY t3.name";
|
|
|
+ " WHERE t2.status = 1";
|
|
|
+ if(dto.getStartDate() != null && dto.getEndDate() != null){
|
|
|
+ sql += " and t2.shen_qing_ri_qi4752 between '" + dto.getStartDate().format(formatter) + "' and '" + dto.getEndDate().format(formatter) + "'";
|
|
|
+ }
|
|
|
+ sql += " GROUP BY t3.name";
|
|
|
datalist = SqlRunnerAdapter.db().selectList(sql);
|
|
|
List<ItemCountAmountVo> deptList = new ArrayList<>();
|
|
|
for (Map<String, Object> objectMap : datalist) {
|
|
@@ -606,4 +621,12 @@ public class DatadetailController {
|
|
|
return RT.ok(result);
|
|
|
}
|
|
|
|
|
|
+ @GetMapping(value = "/course-statistics")
|
|
|
+ @ApiOperation(value="课表详情数据统计")
|
|
|
+ @SaCheckPermission("datadetail:detail")
|
|
|
+ public RT<CourseStatisticsDetailVo> courseStatistics(@Valid StatisticsDetailDto dto) {
|
|
|
+ CourseStatisticsDetailVo result = new CourseStatisticsDetailVo();
|
|
|
+ return RT.ok(result);
|
|
|
+ }
|
|
|
+
|
|
|
}
|