|
|
@ -1,23 +1,26 @@
|
|
|
|
package com.ruoyi.web.controller.system.count;
|
|
|
|
package com.ruoyi.web.controller.system.count;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
import cn.hutool.core.text.StrPool;
|
|
|
|
import com.alibaba.fastjson.JSONObject;
|
|
|
|
import com.alibaba.fastjson.JSONObject;
|
|
|
|
|
|
|
|
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
|
|
|
|
|
|
|
import com.baomidou.mybatisplus.extension.conditions.query.LambdaQueryChainWrapper;
|
|
|
|
import com.ruoyi.common.annotation.Log;
|
|
|
|
import com.ruoyi.common.annotation.Log;
|
|
|
|
import com.ruoyi.common.core.controller.BaseController;
|
|
|
|
import com.ruoyi.common.core.controller.BaseController;
|
|
|
|
import com.ruoyi.common.core.domain.AjaxResult;
|
|
|
|
import com.ruoyi.common.core.domain.AjaxResult;
|
|
|
|
import com.ruoyi.common.core.domain.entity.SysDictData;
|
|
|
|
import com.ruoyi.common.core.domain.entity.SysDictData;
|
|
|
|
import com.ruoyi.common.core.page.TableDataInfo;
|
|
|
|
import com.ruoyi.common.core.page.TableDataInfo;
|
|
|
|
import com.ruoyi.common.enums.BusinessType;
|
|
|
|
import com.ruoyi.common.enums.BusinessType;
|
|
|
|
|
|
|
|
import com.ruoyi.common.utils.ObtainLastSixMonthsUtil;
|
|
|
|
import com.ruoyi.system.domain.TdPropertyEment;
|
|
|
|
import com.ruoyi.system.domain.TdPropertyEment;
|
|
|
|
import com.ruoyi.system.domain.TdPropertyInfo;
|
|
|
|
import com.ruoyi.system.domain.TdPropertyInfo;
|
|
|
|
import com.ruoyi.system.domain.TdPropertyManager;
|
|
|
|
import com.ruoyi.system.domain.TdPropertyManager;
|
|
|
|
import com.ruoyi.system.domain.count.PropertyDesCountDTO;
|
|
|
|
import com.ruoyi.system.domain.check.TdCheckReport;
|
|
|
|
import com.ruoyi.system.domain.count.PropertyStateCountDTO;
|
|
|
|
import com.ruoyi.system.domain.count.*;
|
|
|
|
import com.ruoyi.system.domain.count.UserCountDTO;
|
|
|
|
|
|
|
|
import com.ruoyi.system.domain.count.UserSmCountDTO;
|
|
|
|
|
|
|
|
import com.ruoyi.system.service.ISysDictDataService;
|
|
|
|
import com.ruoyi.system.service.ISysDictDataService;
|
|
|
|
import com.ruoyi.system.service.ITdPropertyInfoService;
|
|
|
|
import com.ruoyi.system.service.ITdPropertyInfoService;
|
|
|
|
import com.ruoyi.system.service.ITdPropertyManagerService;
|
|
|
|
import com.ruoyi.system.service.ITdPropertyManagerService;
|
|
|
|
import com.ruoyi.system.service.TdPropertyEmentService;
|
|
|
|
import com.ruoyi.system.service.TdPropertyEmentService;
|
|
|
|
|
|
|
|
import lombok.val;
|
|
|
|
import org.apache.shiro.authz.annotation.RequiresPermissions;
|
|
|
|
import org.apache.shiro.authz.annotation.RequiresPermissions;
|
|
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
|
|
import org.springframework.stereotype.Controller;
|
|
|
|
import org.springframework.stereotype.Controller;
|
|
|
@ -25,9 +28,9 @@ import org.springframework.ui.ModelMap;
|
|
|
|
import org.springframework.web.bind.annotation.*;
|
|
|
|
import org.springframework.web.bind.annotation.*;
|
|
|
|
|
|
|
|
|
|
|
|
import javax.annotation.Resource;
|
|
|
|
import javax.annotation.Resource;
|
|
|
|
import java.util.ArrayList;
|
|
|
|
import java.time.LocalDate;
|
|
|
|
import java.util.Arrays;
|
|
|
|
import java.time.ZoneId;
|
|
|
|
import java.util.List;
|
|
|
|
import java.util.*;
|
|
|
|
import java.util.concurrent.atomic.AtomicReference;
|
|
|
|
import java.util.concurrent.atomic.AtomicReference;
|
|
|
|
import java.util.stream.Collectors;
|
|
|
|
import java.util.stream.Collectors;
|
|
|
|
|
|
|
|
|
|
|
@ -183,4 +186,41 @@ public class SysPropertynumController extends BaseController {
|
|
|
|
return AjaxResult.success(datas);
|
|
|
|
return AjaxResult.success(datas);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
|
|
|
*
|
|
|
|
|
|
|
|
*检查近6个月统计
|
|
|
|
|
|
|
|
* @return
|
|
|
|
|
|
|
|
*/
|
|
|
|
|
|
|
|
@PostMapping("/countSecretsMonth")
|
|
|
|
|
|
|
|
@ResponseBody
|
|
|
|
|
|
|
|
public AjaxResult countSecretsMonth() {
|
|
|
|
|
|
|
|
List<String> recentlySixMonth = ObtainLastSixMonthsUtil.getRecentlySixMonth();
|
|
|
|
|
|
|
|
List<Long> yAxisData = new ArrayList<>();
|
|
|
|
|
|
|
|
recentlySixMonth.forEach(month -> {
|
|
|
|
|
|
|
|
// 获取指定月份的最大日期
|
|
|
|
|
|
|
|
String lastDayOfMonth = ObtainLastSixMonthsUtil.getLastDayOfMonth(month);
|
|
|
|
|
|
|
|
// 获取指定天的最大时间
|
|
|
|
|
|
|
|
Date date = Date.from(LocalDate.parse(lastDayOfMonth).atStartOfDay().atZone(ZoneId.systemDefault()).toInstant());
|
|
|
|
|
|
|
|
Date maxDayTime = ObtainLastSixMonthsUtil.getEndOfDay(date);
|
|
|
|
|
|
|
|
// 获取最小时间
|
|
|
|
|
|
|
|
date = Date.from(LocalDate.parse(month.concat(StrPool.DASHED).concat("01")).atStartOfDay().atZone(ZoneId.systemDefault()).toInstant());
|
|
|
|
|
|
|
|
Date minDayTime = ObtainLastSixMonthsUtil.getStartOfDay(date);
|
|
|
|
|
|
|
|
AtomicReference<Long> yAxis = new AtomicReference<>(0L);
|
|
|
|
|
|
|
|
PropertyManagerDTO tdPropertyManager = new PropertyManagerDTO();
|
|
|
|
|
|
|
|
tdPropertyManager.setMinDayTime(minDayTime);
|
|
|
|
|
|
|
|
tdPropertyManager.setMaxDayTime(maxDayTime);
|
|
|
|
|
|
|
|
tdPropertyManager.setSecretsType("1");
|
|
|
|
|
|
|
|
Integer count = tdPropertyManagerService.countSecretsMonth(tdPropertyManager);
|
|
|
|
|
|
|
|
if(Objects.isNull(count)){
|
|
|
|
|
|
|
|
count = 0;
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
yAxis.set(Long.valueOf(count));
|
|
|
|
|
|
|
|
yAxisData.add(yAxis.get());
|
|
|
|
|
|
|
|
});
|
|
|
|
|
|
|
|
JSONObject obj = new JSONObject();
|
|
|
|
|
|
|
|
obj.put("xAxisData", recentlySixMonth.toArray());
|
|
|
|
|
|
|
|
obj.put("yAxisData", yAxisData);
|
|
|
|
|
|
|
|
return AjaxResult.success(obj);
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
}
|
|
|
|