package cn.fw.morax.server.controller.erp; import cn.fw.approval.sdk.mq.ApprovalResult; import cn.fw.common.web.annotation.ControllerMethod; import cn.fw.data.base.domain.common.Message; import cn.fw.morax.common.utils.DateUtil; import cn.fw.morax.common.utils.PublicUtil; import cn.fw.morax.domain.dto.query.KpiGroupStaffQueryDTO; import cn.fw.morax.rpc.ehr.EhrRpcService; import cn.fw.morax.rpc.ehr.dto.PerformanceStaffDTO; import cn.fw.morax.server.consumer.FlowConsumer; import cn.fw.morax.server.task.*; import cn.fw.morax.service.biz.eval.EvalCalculateService; import cn.fw.security.auth.client.annotation.Authorization; import cn.fw.security.auth.client.enums.AuthType; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty; import org.springframework.validation.annotation.Validated; import org.springframework.web.bind.annotation.*; import java.time.LocalDate; import java.util.Date; import java.util.List; import static cn.fw.common.web.util.ResultBuilder.success; /** * @author : kurisu * @version : 1.0 * @className : DebugController * @description : 绩效通用调试控制器 * @date : 2022-04-11 10:45 * @ignore */ @Slf4j @RestController @Authorization(AuthType.NONE) @RequiredArgsConstructor @Validated @RequestMapping("/debug/task/eval") @ConditionalOnProperty(prefix = "task", name = "switch", havingValue = "on") public class EvalTaskController { private final EvalCalcTask evalCalcTask; private final EvalGroupTask evalGroupTask; private final EvalGroupUserTask evalGroupUserTask; private final EvalCalculateService evalCalculateService; @GetMapping("/group-user") @ControllerMethod("考评组人员") public Message processEvalUser(Date date) { evalGroupUserTask.processEvalUser(); return success(); } @GetMapping("/calc-cache") @ControllerMethod("缓存要计算的考评") public Message cacheCalculableEvalGroup(Date date) { if (PublicUtil.isEmpty(date)) { evalCalculateService.cacheCalculableEvalGroupIds(LocalDate.now().minusDays(1L)); } else { evalCalculateService.cacheCalculableEvalGroupIds(DateUtil.date2LocalDate(date)); } return success(); } @GetMapping("/calc") @ControllerMethod("计算考评") public Message calculateCacheEvalGroup() { evalCalcTask.calculateCacheEvalGroup(); return success(); } @GetMapping("/calc-cache-rank") @ControllerMethod("缓存要计算的考评排名") public Message cacheCalculableEvalGroupRank() { evalCalcTask.cacheCalculableEvalGroupRank(); return success(); } @GetMapping("/calc-rank") @ControllerMethod("计算考评排名") public Message calcEvalGroupRank() { evalCalcTask.calcEvalGroupRank(); return success(); } @GetMapping("/cache-reward") @ControllerMethod("缓存分配奖惩的考评池") public Message cacheDistEvalShopPoolIds() { evalCalcTask.cacheDistEvalShopPoolIds(); return success(); } @GetMapping("/dist-reward") @ControllerMethod("分配奖惩") public Message distributionEvalReward() { evalCalcTask.distributionEvalReward(); return success(); } @GetMapping("/cache-report") @ControllerMethod("缓存需要上报的考评指标") public Message cacheReportEvalIndicator() { evalCalcTask.cacheReportEvalIndicator(); return success(); } @GetMapping("/persist-report") @ControllerMethod("持久化需要上报的考评指标") public Message kpiReport() { evalCalcTask.persistenceReportTodo(); return success(); } @GetMapping("/push-report") @ControllerMethod("每5分钟检查待办推送") public Message salaryReport() { evalCalcTask.pushReportTodo(); return success(); } @GetMapping("/send-notice") @ControllerMethod("发送业务上报mq通知") public Message sendNotice() { evalGroupTask.sendNotice(); return success(); } // @GetMapping("/eval-group") // @ControllerMethod("处理考评组") // public Message processCurMonthEffectEvals() { // evalGroupTask.processCurMonthEffectEvals(); // return success(); // } }