From 064839e17865239a4a8a82b122f7b6dcd4051e52 Mon Sep 17 00:00:00 2001 From: ye1023 <12588209+ye1023@user.noreply.gitee.com> Date: Thu, 28 May 2026 15:31:41 +0800 Subject: [PATCH] =?UTF-8?q?yxk-20260527-=E5=B7=A1=E8=A7=86=E6=95=B4?= =?UTF-8?q?=E6=94=B9=E6=8F=90=E5=8D=87=E5=8F=B0=E8=B4=A6=EF=BC=8C=E4=BB=BB?= =?UTF-8?q?=E5=8A=A1=E6=B8=85=E5=8D=95=E6=96=B0=E5=A2=9E=201=E3=80=81?= =?UTF-8?q?=E4=BB=BB=E5=8A=A1=E6=B8=85=E5=8D=95=20dq=5Finspect=5Ftask.prob?= =?UTF-8?q?lem=5Fid=20=E5=BF=85=E9=A1=BB=E5=85=B3=E8=81=94=20dq=5Finspect?= =?UTF-8?q?=5Fproblem.id=EF=BC=8C=E4=B8=94=E8=A2=AB=E5=85=B3=E8=81=94?= =?UTF-8?q?=E7=9A=84=E9=97=AE=E9=A2=98=E8=8A=82=E7=82=B9=20node=5Ftype=20?= =?UTF-8?q?=3D=20specific=E3=80=82=202=E3=80=81=E5=89=8D=E7=AB=AF=E6=8A=8A?= =?UTF-8?q?=E5=BD=93=E5=89=8D=E6=89=8B=E5=A1=AB=E2=80=9C=E5=85=B7=E4=BD=93?= =?UTF-8?q?=E9=97=AE=E9=A2=98ID=E2=80=9D=E6=94=B9=E6=88=90=E6=A0=91?= =?UTF-8?q?=E5=BD=A2=E9=80=89=E6=8B=A9=EF=BC=8C=E5=8F=AA=E5=85=81=E8=AE=B8?= =?UTF-8?q?=E9=80=89=E6=8B=A9=E2=80=9C=E5=85=B7=E4=BD=93=E9=97=AE=E9=A2=98?= =?UTF-8?q?=E2=80=9D=E8=8A=82=E7=82=B9=E3=80=82=20=E5=90=8E=E7=AB=AF?= =?UTF-8?q?=E5=9C=A8=E6=96=B0=E5=A2=9E=E3=80=81=E7=BC=96=E8=BE=91=E3=80=81?= =?UTF-8?q?=E5=AF=BC=E5=85=A5=E6=97=B6=E7=BB=9F=E4=B8=80=E6=A0=A1=E9=AA=8C?= =?UTF-8?q?=EF=BC=8C=E9=98=B2=E6=AD=A2=E7=BB=95=E8=BF=87=E5=89=8D=E7=AB=AF?= =?UTF-8?q?=E6=8F=90=E4=BA=A4=E9=9D=9E=E6=B3=95=20problemId=E3=80=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../DqInspectProblemController.java | 9 ++++ .../service/IDqInspectProblemService.java | 7 ++++ .../impl/DqInspectProblemServiceImpl.java | 42 +++++++++++++++++++ .../dqinspecttask/entity/DqInspectTask.java | 3 +- .../impl/DqInspectTaskServiceImpl.java | 24 +++++++++++ .../dqinspecttask/vo/DqInspectTaskPage.java | 3 +- 6 files changed, 86 insertions(+), 2 deletions(-) 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