diff --git a/jeecg-module-supervision/src/main/java/org/jeecg/modules/demo/dqinspectproblem/controller/DqInspectProblemController.java b/jeecg-module-supervision/src/main/java/org/jeecg/modules/demo/dqinspectproblem/controller/DqInspectProblemController.java index 3c1b7a0..19ca86d 100644 --- a/jeecg-module-supervision/src/main/java/org/jeecg/modules/demo/dqinspectproblem/controller/DqInspectProblemController.java +++ b/jeecg-module-supervision/src/main/java/org/jeecg/modules/demo/dqinspectproblem/controller/DqInspectProblemController.java @@ -204,6 +204,15 @@ public class DqInspectProblemController extends JeecgController>> parentOptions(@RequestParam(name = "nodeType") String nodeType) { return Result.OK(dqInspectProblemService.queryParentOptions(nodeType)); } + + /** + * 任务清单选择具体问题时使用,分类和面上问题仅用于分组展示,不可选择。 + */ + @Operation(summary="dq_inspect_problem-具体问题候选") + @GetMapping(value = "/specificOptions") + public Result>> specificOptions() { + return Result.OK(dqInspectProblemService.querySpecificOptions()); + } /** * 添加 diff --git a/jeecg-module-supervision/src/main/java/org/jeecg/modules/demo/dqinspectproblem/service/IDqInspectProblemService.java b/jeecg-module-supervision/src/main/java/org/jeecg/modules/demo/dqinspectproblem/service/IDqInspectProblemService.java index 6645066..3acd86b 100644 --- a/jeecg-module-supervision/src/main/java/org/jeecg/modules/demo/dqinspectproblem/service/IDqInspectProblemService.java +++ b/jeecg-module-supervision/src/main/java/org/jeecg/modules/demo/dqinspectproblem/service/IDqInspectProblemService.java @@ -86,4 +86,11 @@ public interface IDqInspectProblemService extends IService { */ List> queryParentOptions(String nodeType); + /** + * 返回任务清单可选择的具体问题树:问题分类 -> 面上问题 -> 具体问题。 + * + * @return 具体问题候选树 + */ + List> querySpecificOptions(); + } diff --git a/jeecg-module-supervision/src/main/java/org/jeecg/modules/demo/dqinspectproblem/service/impl/DqInspectProblemServiceImpl.java b/jeecg-module-supervision/src/main/java/org/jeecg/modules/demo/dqinspectproblem/service/impl/DqInspectProblemServiceImpl.java index a04f6c3..d61643e 100644 --- a/jeecg-module-supervision/src/main/java/org/jeecg/modules/demo/dqinspectproblem/service/impl/DqInspectProblemServiceImpl.java +++ b/jeecg-module-supervision/src/main/java/org/jeecg/modules/demo/dqinspectproblem/service/impl/DqInspectProblemServiceImpl.java @@ -156,6 +156,11 @@ public class DqInspectProblemServiceImpl extends ServiceImpl(); } + @Override + public List> querySpecificOptions() { + return querySpecificProblemTree(); + } + /** * 问题清单固定为三层:问题分类 -> 面上问题 -> 具体问题。 * 服务层兜底校验层级,避免绕过前端直接提交非法关系。 @@ -264,6 +269,43 @@ public class DqInspectProblemServiceImpl extends ServiceImpl> querySpecificProblemTree() { + List categories = baseMapper.selectList( + new QueryWrapper() + .eq("node_type", NODE_TYPE_CATEGORY) + .orderByAsc("sort_no", "create_time") + ); + List> result = new ArrayList<>(); + for (DqInspectProblem category : categories) { + Map categoryOption = toTreeOption(category, true); + List surfaces = baseMapper.selectList( + new QueryWrapper() + .eq("pid", category.getId()) + .eq("node_type", NODE_TYPE_SURFACE) + .orderByAsc("sort_no", "create_time") + ); + List> surfaceOptions = new ArrayList<>(); + for (DqInspectProblem surface : surfaces) { + Map surfaceOption = toTreeOption(surface, true); + List specifics = baseMapper.selectList( + new QueryWrapper() + .eq("pid", surface.getId()) + .eq("node_type", NODE_TYPE_SPECIFIC) + .orderByAsc("sort_no", "create_time") + ); + List> specificOptions = new ArrayList<>(); + for (DqInspectProblem specific : specifics) { + specificOptions.add(toTreeOption(specific, false)); + } + surfaceOption.put("children", specificOptions); + surfaceOptions.add(surfaceOption); + } + categoryOption.put("children", surfaceOptions); + result.add(categoryOption); + } + return result; + } + private Map toTreeOption(DqInspectProblem node, boolean disabled) { Map option = new HashMap<>(); option.put("key", node.getId()); diff --git a/jeecg-module-supervision/src/main/java/org/jeecg/modules/demo/dqinspecttask/entity/DqInspectTask.java b/jeecg-module-supervision/src/main/java/org/jeecg/modules/demo/dqinspecttask/entity/DqInspectTask.java index c55e0c3..12df303 100644 --- a/jeecg-module-supervision/src/main/java/org/jeecg/modules/demo/dqinspecttask/entity/DqInspectTask.java +++ b/jeecg-module-supervision/src/main/java/org/jeecg/modules/demo/dqinspecttask/entity/DqInspectTask.java @@ -53,7 +53,8 @@ public class DqInspectTask implements Serializable { @Schema(description = "所属部门") private java.lang.String sysOrgCode; /**具体问题ID*/ - @Excel(name = "具体问题ID", width = 15) + @Excel(name = "具体问题", width = 15, dictTable = "dq_inspect_problem", dicText = "problem_name", dicCode = "id") + @Dict(dictTable = "dq_inspect_problem", dicText = "problem_name", dicCode = "id") @Schema(description = "具体问题ID") private java.lang.String problemId; /**密级*/ diff --git a/jeecg-module-supervision/src/main/java/org/jeecg/modules/demo/dqinspecttask/service/impl/DqInspectTaskServiceImpl.java b/jeecg-module-supervision/src/main/java/org/jeecg/modules/demo/dqinspecttask/service/impl/DqInspectTaskServiceImpl.java index 4386c7c..48627f2 100644 --- a/jeecg-module-supervision/src/main/java/org/jeecg/modules/demo/dqinspecttask/service/impl/DqInspectTaskServiceImpl.java +++ b/jeecg-module-supervision/src/main/java/org/jeecg/modules/demo/dqinspecttask/service/impl/DqInspectTaskServiceImpl.java @@ -1,5 +1,9 @@ package org.jeecg.modules.demo.dqinspecttask.service.impl; +import org.jeecg.common.exception.JeecgBootException; +import org.jeecg.common.util.oConvertUtils; +import org.jeecg.modules.demo.dqinspectproblem.entity.DqInspectProblem; +import org.jeecg.modules.demo.dqinspectproblem.service.IDqInspectProblemService; import org.jeecg.modules.demo.dqinspecttask.entity.DqInspectTask; import org.jeecg.modules.demo.dqinspecttask.entity.DqInspectProgress; import org.jeecg.modules.demo.dqinspecttask.mapper.DqInspectProgressMapper; @@ -26,10 +30,13 @@ public class DqInspectTaskServiceImpl extends ServiceImpl dqInspectProgressList) { + validateProblemId(dqInspectTask); dqInspectTaskMapper.insert(dqInspectTask); if(dqInspectProgressList!=null && dqInspectProgressList.size()>0) { for(DqInspectProgress entity:dqInspectProgressList) { @@ -43,6 +50,7 @@ public class DqInspectTaskServiceImpl extends ServiceImpl dqInspectProgressList) { + validateProblemId(dqInspectTask); dqInspectTaskMapper.updateById(dqInspectTask); //1.先删除子表数据 @@ -73,5 +81,21 @@ public class DqInspectTaskServiceImpl extends ServiceImpl