|
@@ -42,14 +42,11 @@ public class EvaluationWarningSchedule {
|
|
|
//月度考评
|
|
|
private final String TYPE_YDKP = "YDKP";
|
|
|
|
|
|
- //考评周期
|
|
|
- private final String PERIOD = "ZB";
|
|
|
-
|
|
|
|
|
|
/**
|
|
|
* 年度考评
|
|
|
*/
|
|
|
- //@Scheduled(cron = "30 40 23 0 0 5") // cron表达式:每周一 23:40:30 执行
|
|
|
+ @Scheduled(cron = "0 0 23 * * ?") // cron表达式: 每天23点触发
|
|
|
public void warningRuleResolveNDKP(){
|
|
|
List<EvaluationWarningRule> list = warningRuleService.warningRuleList(null, null, TYPE_NDKP, true);
|
|
|
List<Map<String, Object>> companys = evaluationService.getCompanyWarning(TYPE_NDKP);
|
|
@@ -63,6 +60,7 @@ public class EvaluationWarningSchedule {
|
|
|
/**
|
|
|
* 季度考评
|
|
|
*/
|
|
|
+ @Scheduled(cron = "0 0 23 * * ?") // cron表达式: 每天23点触发
|
|
|
public void warningRuleResolveJDKP(){
|
|
|
List<EvaluationWarningRule> list = warningRuleService.warningRuleList(null, null, TYPE_JDKP, true);
|
|
|
List<Map<String, Object>> companys = evaluationService.getCompanyWarning(TYPE_JDKP);
|
|
@@ -76,6 +74,7 @@ public class EvaluationWarningSchedule {
|
|
|
/**
|
|
|
* 月度考评
|
|
|
*/
|
|
|
+ @Scheduled(cron = "0 0 23 * * ?") // cron表达式: 每天23点触发
|
|
|
public void warningRuleResolveYDKP(){
|
|
|
List<EvaluationWarningRule> list = warningRuleService.warningRuleList(null, null, TYPE_YDKP,true);
|
|
|
List<Map<String, Object>> companys = evaluationService.getCompanyWarning(TYPE_YDKP);
|
|
@@ -86,9 +85,12 @@ public class EvaluationWarningSchedule {
|
|
|
calculate(list, companys);
|
|
|
}
|
|
|
|
|
|
+
|
|
|
+
|
|
|
/**
|
|
|
* 单位年度考评
|
|
|
*/
|
|
|
+ @Scheduled(cron = "* * 8 1 4 ? 2023-2050") // cron表达式: 每年4月1号8点触发
|
|
|
public void warningEvaluationNDKP(){
|
|
|
Calendar cal = Calendar.getInstance();
|
|
|
String year = String.valueOf(cal.get(Calendar.YEAR));
|
|
@@ -108,6 +110,7 @@ public class EvaluationWarningSchedule {
|
|
|
/**
|
|
|
* 单位季度考评
|
|
|
*/
|
|
|
+ @Scheduled(cron = "0 5 20 1 1,4,7,10 ?") // cron表达式: 每个季度的第一个月的20号的5执行一次
|
|
|
public void warningEvaluationJDKP(){
|
|
|
Calendar cal = Calendar.getInstance();
|
|
|
String year = String.valueOf(cal.get(Calendar.YEAR));
|
|
@@ -128,6 +131,7 @@ public class EvaluationWarningSchedule {
|
|
|
/**
|
|
|
* 单位月度考评
|
|
|
*/
|
|
|
+ @Scheduled(cron = "0 0 7 5 * ?") // cron表达式: 每月5日上午7点触发
|
|
|
public void warningEvaluationYDKP(){
|
|
|
Calendar cal = Calendar.getInstance();
|
|
|
String year = String.valueOf(cal.get(Calendar.YEAR));
|
|
@@ -149,6 +153,7 @@ public class EvaluationWarningSchedule {
|
|
|
/**
|
|
|
* 部门年度考评
|
|
|
*/
|
|
|
+ @Scheduled(cron = "* * 8 1 4 ? 2023,2050") // cron表达式: 每年4月1号8点触发
|
|
|
public void warningEvaluationDeptYDKP(){
|
|
|
Calendar cal = Calendar.getInstance();
|
|
|
String year = String.valueOf(cal.get(Calendar.YEAR));
|
|
@@ -168,8 +173,12 @@ public class EvaluationWarningSchedule {
|
|
|
|
|
|
|
|
|
private void calculate(List<EvaluationWarningRule> rules, List<Map<String, Object>> companys){
|
|
|
+ Calendar cal = Calendar.getInstance();
|
|
|
Map<Object, List<Map<String, Object>>> collect = companys.stream().collect(Collectors.groupingBy(m -> m.get("indicator_id")));
|
|
|
for (EvaluationWarningRule rule : rules){
|
|
|
+ if (!cal.getTime().equals(rule.getCronTime())){
|
|
|
+ continue;
|
|
|
+ }
|
|
|
double targetValue = 0;
|
|
|
double completeValue = 0;
|
|
|
String expression = rule.getExpression();
|