gunshi-project-ss/src/main/java/com/gunshi/project/xyt/controller/AssessTaskController.java

132 lines
4.4 KiB
Java

package com.gunshi.project.xyt.controller;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.gunshi.core.result.R;
import com.gunshi.db.dto.MonthRangeSo;
import com.gunshi.project.xyt.entity.so.AssessTaskPageSo;
import com.gunshi.project.xyt.entity.vo.AssessResultVo;
import com.gunshi.project.xyt.model.AssessTask;
import com.gunshi.project.xyt.service.AssessTaskService;
import com.gunshi.project.xyt.validate.markers.Insert;
import com.gunshi.project.xyt.validate.markers.Update;
import io.swagger.v3.oas.annotations.Operation;
import io.swagger.v3.oas.annotations.Parameter;
import io.swagger.v3.oas.annotations.media.Schema;
import io.swagger.v3.oas.annotations.tags.Tag;
import jakarta.servlet.http.HttpServletResponse;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
import java.util.List;
import java.util.Map;
/**
* 描述: 考核任务
* author: xusan
* date: 2024-09-05 14:19:04
*/
@Tag(name = "考核任务")
@RestController
@RequestMapping(value="/assessTask")
public class AssessTaskController extends AbstractCommonFileController{
@Autowired
private AssessTaskService service;
@Operation(summary = "新增")
@PostMapping("/insert")
public R<AssessTask> insert(@Validated(Insert.class) @RequestBody AssessTask dto) {
return R.ok(service.saveData(dto));
}
@Operation(summary = "修改")
@PostMapping("/update")
public R<AssessTask> update(@Validated(Update.class) @RequestBody AssessTask dto) {
return R.ok(service.updateData(dto));
}
@Operation(summary = "删除")
@GetMapping("/del/{id}")
public R<Boolean> del(@Schema(name = "id") @PathVariable("id") Long id) {
return R.ok(service.delData(id));
}
@Operation(summary = "详情")
@GetMapping("/detail/{id}")
public R<AssessTask> detail(@Schema(name = "id") @PathVariable("id") Long id) {
return R.ok(service.detail(id));
}
@Operation(summary = "考核任务清单")
@PostMapping("/list/page")
public R<Page<AssessTask>> listPage(@Validated @RequestBody AssessTaskPageSo page) {
return R.ok(service.listPage(page));
}
@Operation(summary = "启动")
@GetMapping("/start/{id}")
public R<String> start(@Schema(name = "id") @PathVariable("id") Long id) {
return R.ok(service.start(id));
}
@Operation(summary = "我的待办")
@PostMapping("/myTodo/page")
public R<Page<AssessTask>> myTodo(@Validated @RequestBody AssessTaskPageSo page) {
return R.ok(service.myTodo(page));
}
@Operation(summary = "我的已办")
@PostMapping("/myDone/page")
public R<Page<AssessTask>> myDone(@Validated @RequestBody AssessTaskPageSo page) {
return R.ok(service.myDone(page));
}
@Operation(summary = "审核通过")
@GetMapping("/pass/{id}")
public R<String> pass(@Schema(name = "id") @PathVariable("id") Long id) {
return R.ok(service.pass(id));
}
@Operation(summary = "作废")
@GetMapping("/cancel/{id}")
public R<String> cancel(@Schema(name = "id") @PathVariable("id") Long id) {
return R.ok(service.cancel(id));
}
@Operation(summary = "驳回评分")
@GetMapping("/reject/{id}")
public R<String> reject(@Schema(name = "id") @PathVariable("id") Long id) {
return R.ok(service.reject(id));
}
@Operation(summary = "考核结果")
@GetMapping("/result/{id}")
public R<List<AssessResultVo>> result(@Schema(name = "id") @PathVariable("id") Long id) {
return R.ok(service.result(id));
}
@Operation(summary = "考核结果导出")
@GetMapping("/result/export")
public void resultExport(@RequestParam("id") @Parameter(description = "考核任务id") Long id, HttpServletResponse response) {
service.resultExport(id,response);
}
@Operation(summary = "人员考核结果")
@PostMapping("/result/stat")
public R<List<AssessTask>> resultStat(@Validated @RequestBody MonthRangeSo monthRangeSo) {
return R.ok(service.resultStat(monthRangeSo));
}
@Operation(summary = "等级统计")
@PostMapping("/level/stat")
public R<Map<Integer,Long>> levelStat(@Validated @RequestBody MonthRangeSo monthRangeSo) {
return R.ok(service.levelStat(monthRangeSo));
}
@Override
public String getGroupId() {
return "assessTask";
}
}