Просмотр исходного кода

拆分 教育培训任务、预案演练任务 、演练范本库 APP端 单独接口

zhulu 1 год назад
Родитель
Сommit
5739ee4392

+ 98 - 0
soc-modules/soc-modules-core/src/main/java/com/xunmei/core/drill/controller/CoreDrillDictionaryAppController.java

@@ -0,0 +1,98 @@
+package com.xunmei.core.drill.controller;
+
+
+import com.xunmei.common.core.domain.drill.dto.CoreDrillDictionaryInsertDto;
+import com.xunmei.common.core.domain.drill.dto.CoreDrillDictionaryPageDto;
+import com.xunmei.common.core.domain.drill.dto.CoreDrillDictionaryUpdateDto;
+import com.xunmei.common.core.domain.drill.vo.CoreDrillDictionaryPageVo;
+import com.xunmei.common.core.web.controller.BaseController;
+import com.xunmei.common.core.web.domain.AjaxResult;
+import com.xunmei.common.core.web.page.TableDataInfo;
+import com.xunmei.common.log.annotation.Log;
+import com.xunmei.common.log.enums.BusinessType;
+import com.xunmei.common.security.annotation.RequiresPermissions;
+import com.xunmei.core.drill.service.ICoreDrillDictionaryService;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.validation.annotation.Validated;
+import org.springframework.web.bind.annotation.*;
+
+/**
+ * 预案演练库Controller
+ *
+ * @author xunmei
+ * @date 2023-09-06
+ */
+@Api(tags = {"CoreDrillDictionary"})
+@RestController
+@RequestMapping("/app/drillDictionary")
+public class CoreDrillDictionaryAppController extends BaseController {
+    @Autowired
+    private ICoreDrillDictionaryService coreDrillDictionaryService;
+
+    /**
+     * 查询预案演练库列表
+     */
+    @ApiOperation(value = "查询CoreDrillDictionary列表")
+//    @RequiresPermissions("core:drillDictionary:list")
+    @GetMapping("/list")
+    public TableDataInfo<CoreDrillDictionaryPageVo> list(CoreDrillDictionaryPageDto coreDrillDictionary) {
+        return coreDrillDictionaryService.selectPage(coreDrillDictionary);
+    }
+
+
+    /**
+     * 获取预案演练库详细信息
+     */
+    @ApiOperation(value = "获取CoreDrillDictionary详细信息")
+//    @RequiresPermissions("core:drillDictionary:query")
+    @GetMapping(value = "/{id}")
+    public AjaxResult getInfo(@PathVariable("id") Long id) {
+        return success(coreDrillDictionaryService.selectCoreDrillDictionaryById(id));
+    }
+
+    /**
+     * 新增预案演练库
+     */
+    @ApiOperation(value = "新增CoreDrillDictionary")
+//    @RequiresPermissions("core:drillDictionary:add")
+    @Log(title = "预案演练库", businessType = BusinessType.INSERT)
+    @PostMapping
+    public AjaxResult add(@RequestBody CoreDrillDictionaryInsertDto coreDrillDictionary) {
+        return toAjax(coreDrillDictionaryService.insertCoreDrillDictionary(coreDrillDictionary));
+    }
+
+    /**
+     * 修改预案演练库
+     */
+    @ApiOperation(value = "修改CoreDrillDictionary")
+//    @RequiresPermissions("core:drillDictionary:edit")
+    @Log(title = "预案演练库", businessType = BusinessType.UPDATE)
+    @PutMapping
+    public AjaxResult edit(@RequestBody @Validated CoreDrillDictionaryUpdateDto request) {
+        return toAjax(coreDrillDictionaryService.updateCoreDrillDictionary(request));
+    }
+
+    /**
+     * 删除预案演练库
+     */
+    @ApiOperation(value = "删除CoreDrillDictionary")
+//    @RequiresPermissions("core:drillDictionary:remove")
+    @Log(title = "预案演练库", businessType = BusinessType.DELETE)
+    @DeleteMapping("/{ids}")
+    public AjaxResult remove(@PathVariable Long[] ids) {
+        return toAjax(coreDrillDictionaryService.deleteCoreDrillDictionaryByIds(ids));
+    }
+
+    /**
+     * 查询预案演练库列表
+     */
+    @ApiOperation(value = "查询CoreDrillDictionary列表")
+//    @RequiresPermissions("core:drillDictionary:list")
+    @GetMapping("/listData")
+    public AjaxResult list(@RequestParam(value = "orgId") Long orgId, @RequestParam(value = "dictValue",required = false) String dictValue) {
+        return success(coreDrillDictionaryService.selectCoreDrillDictionaryList(orgId, dictValue));
+    }
+
+}

+ 174 - 0
soc-modules/soc-modules-core/src/main/java/com/xunmei/core/drill/controller/CoreDrillTaskAppController.java

@@ -0,0 +1,174 @@
+package com.xunmei.core.drill.controller;
+
+
+import com.alibaba.nacos.shaded.com.google.gson.Gson;
+import com.xunmei.common.core.domain.drill.domain.CoreDrillTask;
+import com.xunmei.common.core.domain.drill.dto.*;
+import com.xunmei.common.core.domain.drill.vo.CoreDrillTaskPageVo;
+import com.xunmei.common.core.domain.drill.vo.CoreDrillTaskRecPageVo;
+import com.xunmei.common.core.domain.drill.vo.CoreDrillTaskRecTaskPageVo;
+import com.xunmei.common.core.event.WorkTimeChangeEvent;
+import com.xunmei.common.core.web.controller.BaseController;
+import com.xunmei.common.core.web.domain.AjaxResult;
+import com.xunmei.common.core.web.page.TableDataInfo;
+import com.xunmei.common.log.annotation.Log;
+import com.xunmei.common.log.enums.BusinessType;
+import com.xunmei.common.security.annotation.InnerAuth;
+import com.xunmei.common.security.annotation.RequiresPermissions;
+import com.xunmei.core.drill.service.ICoreDrillTaskService;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.validation.annotation.Validated;
+import org.springframework.web.bind.annotation.*;
+
+import javax.servlet.http.HttpServletResponse;
+import java.io.IOException;
+import java.util.Date;
+
+/**
+ * 演练任务Controller
+ *
+ * @author xunmei
+ * @date 2023-09-11
+ */
+@Api(tags = {"CoreDrillTask"})
+@RestController
+@RequestMapping("/app/drill/task")
+public class CoreDrillTaskAppController extends BaseController {
+    @Autowired
+    private ICoreDrillTaskService coreDrillTaskService;
+
+
+    @ApiOperation(value = "查询预案任务分页")
+//    @RequiresPermissions("core:drillTask:list")
+    @GetMapping("/list")
+    public TableDataInfo<CoreDrillTaskPageVo> list(CoreDrillTaskPageDto coreDrillTask) {
+        return coreDrillTaskService.selectPage(coreDrillTask);
+    }
+
+    @ApiOperation(value = "获取预案任务详细信息")
+//    @RequiresPermissions("core:drillTask:query")
+    @GetMapping(value = "/{id}")
+    public AjaxResult getInfo(@PathVariable("id") Long id) {
+        return success(coreDrillTaskService.selectCoreDrillTaskById(id));
+    }
+
+    @ApiOperation(value = "新增预案任务")
+//    @RequiresPermissions("core:drillTask:add")
+    @Log(title = "预案任务", businessType = BusinessType.INSERT)
+    @PostMapping
+    public AjaxResult add(@RequestBody CoreDrillTask coreDrillTask) {
+        return toAjax(coreDrillTaskService.insertCoreDrillTask(coreDrillTask));
+    }
+
+    @ApiOperation(value = "任务登记")
+//    @RequiresPermissions("core:drillTask:edit")
+    @Log(title = "预案任务", businessType = BusinessType.UPDATE)
+    @PutMapping
+    public AjaxResult edit(@RequestBody @Validated CoreDrillTaskEditDto coreDrillTask) {
+        return toAjax(coreDrillTaskService.updateCoreDrillTask(coreDrillTask));
+    }
+
+    @ApiOperation(value = "ApiOperation")
+//    @RequiresPermissions("core:drillTask:remove")
+    @Log(title = "预案任务", businessType = BusinessType.DELETE)
+    @DeleteMapping("/{ids}")
+    public AjaxResult remove(@PathVariable Long[] ids) {
+        return toAjax(coreDrillTaskService.deleteCoreDrillTaskByIds(ids));
+    }
+
+    @ApiOperation(value = "预案演练排行")
+//    @RequiresPermissions("core:drillTask:list")
+    @PostMapping("report")
+    public AjaxResult report(@RequestBody @Validated CoreDrillTaskReportDto request) {
+        return success(coreDrillTaskService.selectCoreDrillTaskReport(request));
+    }
+
+    @ApiOperation(value = "导出预案演练排行报表")
+//    @RequiresPermissions("core:drillTask:list")
+    @PostMapping("exportReport")
+    public void exportReport(@Validated CoreDrillTaskReportDto request,HttpServletResponse response) {
+          coreDrillTaskService.exportReport(request,response);
+    }
+
+    @ApiOperation(value = "预案培训签名")
+//    @RequiresPermissions("core:drillTask:sign")
+    @PostMapping("sign")
+    public AjaxResult sign(@RequestBody @Validated CoreDrillTaskSignDto request) {
+        return success(coreDrillTaskService.sign(request));
+    }
+
+    @ApiOperation(value = "App端获取签名情况")
+//    @RequiresPermissions("core:drillTask:list")
+    @GetMapping("/signUserList/{id}")
+    public AjaxResult signUserList(@PathVariable Long id) {
+        return success(coreDrillTaskService.signUserList(id));
+    }
+
+    @ApiOperation(value = "生成预案培训登记簿")
+    @GetMapping("build/{id}")
+    public AjaxResult pdf(@PathVariable("id") Long id) {
+        return coreDrillTaskService.buildDrillTaskPdf(id);
+    }
+
+    @ApiOperation(value = "生成任务")
+    @GetMapping(value = "/buildDrillTask")
+    AjaxResult buildDrillTask(@RequestParam(required = false, value = "cycle") Integer cycle, @RequestParam(required = false, value = "date") Date date) {
+        return success(coreDrillTaskService.buildDrillTask(cycle, date));
+    }
+
+
+    @ApiOperation(value = "预案演练任务评价")
+//    @RequiresPermissions("core:drillTask:evaluate")
+    @PostMapping("/evaluate")
+    public AjaxResult evaluate(@RequestBody @Validated CoreDrillTaskEvaluateDto request) {
+        return success(coreDrillTaskService.evaluate(request));
+    }
+
+    @ApiOperation(value = "优秀案例管理分页",notes = "需要被确认的优秀案例")
+//    @RequiresPermissions("core:drillTask:list")
+    @PostMapping("/recList")
+    public TableDataInfo<CoreDrillTaskRecPageVo> recList(@RequestBody @Validated CoreDrillTaskRecPageDto request) {
+        return coreDrillTaskService.recList(request);
+    }
+
+    @ApiOperation(value = "优秀案例分页",notes = "已经被确认的优秀案例")
+//    @RequiresPermissions("core:drillTask:list")
+    @PostMapping("/recTaskList")
+    public TableDataInfo<CoreDrillTaskRecTaskPageVo> recTaskList(@RequestBody @Validated CoreDrillTaskRecPageDto request) {
+        return coreDrillTaskService.recTaskList(request);
+    }
+
+    @ApiOperation(value = "优秀案例推荐",notes = "推荐优秀案例")
+    //@RequiresPermissions("core:drillTask:edit")
+    @PostMapping("/doRecTask")
+    public AjaxResult doRecTask(@RequestBody @Validated CoreDrillTaskDoRec request) {
+        return success(coreDrillTaskService.doRecTask(request));
+    }
+
+    @ApiOperation(value = "未完成任务修改成已过期")
+    @GetMapping("/updateDrillTaskStatus")
+    public AjaxResult updateDrillTaskStatus() {
+        return toAjax(coreDrillTaskService.updateDrillTaskStatus());
+    }
+
+
+    /**
+     * 导出excel
+     */
+    @ApiOperation(value = "导出演练任务")
+    //@RequiresPermissions("core:eduTask:export")
+    @Log(title = "导出培训任务", businessType = BusinessType.EXPORT)
+    @PostMapping("/export")
+    public void export(CoreDrillTaskPageDto request, HttpServletResponse response) throws IOException {
+        coreDrillTaskService.export(request, response);
+    }
+
+    @PostMapping(value = "/change")
+    @InnerAuth
+    void rebuildTask(@RequestBody String event){
+        coreDrillTaskService.taskChangeForTimeWorkChange(new Gson().fromJson(event, WorkTimeChangeEvent.class));
+    }
+
+}

+ 142 - 0
soc-modules/soc-modules-core/src/main/java/com/xunmei/core/edu/controller/CoreEduTrainingTaskAppController.java

@@ -0,0 +1,142 @@
+package com.xunmei.core.edu.controller;
+
+
+import com.alibaba.nacos.shaded.com.google.gson.Gson;
+import com.xunmei.common.core.domain.edu.dto.*;
+import com.xunmei.common.core.domain.edu.vo.CoreEduTrainingTaskPageVo;
+import com.xunmei.common.core.event.WorkTimeChangeEvent;
+import com.xunmei.common.core.web.controller.BaseController;
+import com.xunmei.common.core.web.domain.AjaxResult;
+import com.xunmei.common.core.web.page.TableDataInfo;
+import com.xunmei.common.log.annotation.Log;
+import com.xunmei.common.log.enums.BusinessType;
+import com.xunmei.common.security.annotation.InnerAuth;
+import com.xunmei.common.security.annotation.RequiresPermissions;
+import com.xunmei.core.edu.service.ICoreEduTrainingTaskService;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.validation.annotation.Validated;
+import org.springframework.web.bind.annotation.*;
+
+import javax.servlet.http.HttpServletResponse;
+import java.io.IOException;
+import java.util.Date;
+
+/**
+ * 教育任务Controller
+ *
+ * @author xunmei
+ * @date 2023-08-27
+ */
+@Api(tags = {"CoreEduTrainingTask"})
+@RestController
+@RequestMapping("/app/eduTask")
+public class CoreEduTrainingTaskAppController extends BaseController {
+    @Autowired
+    private ICoreEduTrainingTaskService coreEduTrainingTaskService;
+
+
+    @ApiOperation(value = "查询教育任务分页")
+//    @RequiresPermissions("core:eduTask:list")
+    @GetMapping("/list")
+    public TableDataInfo<CoreEduTrainingTaskPageVo> list(CoreEduTrainingTaskPageDto coreEduTrainingTask) {
+        return coreEduTrainingTaskService.selectPage(coreEduTrainingTask);
+    }
+
+
+    @ApiOperation(value = "App端获取签名情况")
+//    @RequiresPermissions("core:eduTask:list")
+    @GetMapping("/signUserList/{id}")
+    public AjaxResult signUserList(@PathVariable Long id) {
+        return success(coreEduTrainingTaskService.signUserList(id));
+    }
+
+    @ApiOperation(value = "获取教育任务详细信息")
+//    @RequiresPermissions("core:eduTask:list")
+    @GetMapping(value = "/{id}")
+    public AjaxResult getInfo(@PathVariable("id") Long id) {
+        return success(coreEduTrainingTaskService.selectCoreEduTrainingTaskById(id));
+    }
+
+    @ApiOperation(value = "新增教育任务,任务补录")
+//    @RequiresPermissions("core:eduTask:add")
+    @Log(title = "教育任务", businessType = BusinessType.INSERT)
+    @PostMapping("/add")
+    public AjaxResult add(@RequestBody CoreEduTrainingTaskInsertDto coreEduTrainingTask) {
+        return toAjax(coreEduTrainingTaskService.insertCoreEduTrainingTask(coreEduTrainingTask));
+    }
+
+    @ApiOperation(value = "任务登记")
+//    @RequiresPermissions("core:eduTask:edit")
+    @Log(title = "教育任务", businessType = BusinessType.UPDATE)
+    @PutMapping
+    public AjaxResult edit(@RequestBody @Validated CoreEduTrainingTaskEditDto coreEduTrainingTask) {
+        return toAjax(coreEduTrainingTaskService.updateCoreEduTrainingTask(coreEduTrainingTask));
+    }
+
+    @ApiOperation(value = "ApiOperation")
+//    @RequiresPermissions("core:eduTask:remove")
+    @Log(title = "教育任务", businessType = BusinessType.DELETE)
+    @DeleteMapping("/{ids}")
+    public AjaxResult remove(@PathVariable Long[] ids) {
+        return toAjax(coreEduTrainingTaskService.deleteCoreEduTrainingTaskByIds(ids));
+    }
+
+    @ApiOperation(value = "教育培训统计报表")
+//    @RequiresPermissions("core:eduTask:list")
+    @PostMapping("report")
+    public AjaxResult report(@RequestBody @Validated CoreEduTrainingTaskReportDto request) {
+        return success(coreEduTrainingTaskService.selectCoreEduTrainingTaskReport(request));
+    }
+
+    @ApiOperation(value = "导出教育培训统计报表")
+//    @RequiresPermissions("core:eduTask:list")
+    @PostMapping("exportReport")
+    public void exportReport(CoreEduTrainingTaskReportDto request,HttpServletResponse response) {
+         coreEduTrainingTaskService.exportReport(request,response);
+    }
+
+    @ApiOperation(value = "教育培训签名")
+//    @RequiresPermissions("core:eduTask:edit")
+    @PostMapping("sign")
+    public AjaxResult sign(@RequestBody @Validated CoreEduTrainingTaskSignDto request) {
+        return success(coreEduTrainingTaskService.sign(request));
+    }
+
+    @ApiOperation(value = "生成教育培训登记簿")
+//    @GetMapping("build/{id}")
+    public AjaxResult pdf(@PathVariable("id") Long id) {
+        return coreEduTrainingTaskService.buildEduPdf(id);
+    }
+
+    @ApiOperation(value = "生成任务")
+//    @GetMapping(value = "/buildEduTask")
+    AjaxResult buildEduTask(@RequestParam(required = false, value = "cycle") Integer cycle, @RequestParam(required = false, value = "date") Date date) {
+        return success(coreEduTrainingTaskService.buildEduTask(cycle, date));
+    }
+
+    @ApiOperation(value = "修改未完成的数据为已逾期")
+//    @GetMapping(value = "/updateEduTaskStatus")
+    AjaxResult updateEduTaskStatus() {
+        return success(coreEduTrainingTaskService.updateEduTaskStatus());
+    }
+
+
+    @PostMapping(value = "/change")
+    @InnerAuth
+    void rebuildTask(@RequestBody String event){
+        coreEduTrainingTaskService.taskChangeForTimeWorkChange(new Gson().fromJson(event,WorkTimeChangeEvent.class));
+    }
+
+    /**
+     * 导出excel
+     */
+    @ApiOperation(value = "导出培训任务")
+    //@RequiresPermissions("core:eduTask:export")
+    @Log(title = "导出培训任务", businessType = BusinessType.EXPORT)
+    @PostMapping("/export")
+    public void export( CoreEduTrainingTaskPageDto request, HttpServletResponse response) throws IOException {
+        coreEduTrainingTaskService.export(request, response);
+    }
+}