From 3f1316a538427208ddc670c5508b9aad4fdd33bb Mon Sep 17 00:00:00 2001 From: zjh <15615273395@163.com> Date: Fri, 5 Dec 2025 15:42:13 +0800 Subject: [PATCH] =?UTF-8?q?=E5=B0=8F=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../pojo/view/TodoAndTemplateView.java | 2 +- .../impl/BenchmarkingReportServiceImpl.java | 4 +- .../impl/TemplateApprovalServiceImpl.java | 2 +- src/main/resources/sql.sql | 126 ++++++++++-------- 4 files changed, 72 insertions(+), 62 deletions(-) diff --git a/src/main/java/com/xdap/self_development/pojo/view/TodoAndTemplateView.java b/src/main/java/com/xdap/self_development/pojo/view/TodoAndTemplateView.java index f4802d0..2f5fb53 100644 --- a/src/main/java/com/xdap/self_development/pojo/view/TodoAndTemplateView.java +++ b/src/main/java/com/xdap/self_development/pojo/view/TodoAndTemplateView.java @@ -13,7 +13,7 @@ import java.util.List; @SQL(view = "getApprovalByUserIdAndIds", sql = "SELECT af.id AS \"flowId\", t.id AS \"templateId\", t.template_name AS \"templateName\", t.version AS \"version\", t.status AS \"status\" , af.create_by AS \"createBy\", af.created_time AS \"createdTime\" , CASE WHEN current_node = 'PROOFREAD' THEN proofread_users WHEN current_node = 'REVIEW' THEN review_users WHEN current_node = 'COUNTERSIGN' THEN countersign_users WHEN current_node = 'APPROVE' THEN approve_users END AS current_users FROM yfsjglpt_model_approval_flow af JOIN yfsjglpt_model_template t ON af.template_id = t.id WHERE t.template_name like CONCAT('%',#templateName, '%') and t.status like CONCAT('%',#status, '%') and af.flow_type = 1 and af.id NOT IN (#ids) AND af.create_by = #createBy"), @SQL(view = "getTodoAndTemplate", - sql = "SELECT af.id AS \"flowId\", t.id AS \"templateId\", t.template_name AS \"templateName\", t.version AS \"version\", t.status AS \"status\" , af.create_by AS \"createBy\" , xu.username AS \"username\", af.created_time AS \"createdTime\" , CASE WHEN current_node = 'PROOFREAD' THEN proofread_users WHEN current_node = 'REVIEW' THEN review_users WHEN current_node = 'COUNTERSIGN' THEN countersign_users WHEN current_node = 'APPROVE' THEN approve_users END AS current_users FROM yfsjglpt_model_approval_flow af JOIN yfsjglpt_model_template t ON af.template_id = t.id LEFT JOIN xdap_users xu ON xu.id = af.create_by WHERE t.template_name LIKE CONCAT('%', #templateName, '%') AND t.status LIKE CONCAT('%', #status, '%') AND DATE(af.created_time) = #createdTime AND xu.username LIKE CONCAT('%', #username, '%') AND af.flow_type = 1 AND (af.id IN (#ids) OR af.create_by = #createBy)") + sql = "SELECT af.id AS \"flowId\", t.id AS \"templateId\", t.template_name AS \"templateName\", t.version AS \"version\", t.status AS \"status\" , af.create_by AS \"createBy\" , xu.username AS \"username\", af.created_time AS \"createdTime\" , CASE WHEN current_node = 'PROOFREAD' THEN proofread_users WHEN current_node = 'REVIEW' THEN review_users WHEN current_node = 'COUNTERSIGN' THEN countersign_users WHEN current_node = 'APPROVE' THEN approve_users END AS current_users FROM yfsjglpt_model_approval_flow af JOIN yfsjglpt_model_template t ON af.template_id = t.id LEFT JOIN xdap_users xu ON xu.id = af.create_by WHERE t.template_name LIKE CONCAT('%', #templateName, '%') AND t.status LIKE CONCAT('%', #status, '%') AND t.created_time LIKE CONCAT('%', #createdTime, '%') AND xu.username LIKE CONCAT('%', #username, '%') AND af.flow_type = 1 AND (af.id IN (#ids) OR af.create_by = #createBy) ORDER BY CASE af.status WHEN 'COMPLETE' THEN 1 WHEN 'APPROVING' THEN 2 WHEN 'DRAFT' THEN 3 WHEN 'RETURNED' THEN 4 WHEN 'REJECTED' THEN 5 ELSE 6 END ASC") }) @Data public class TodoAndTemplateView { diff --git a/src/main/java/com/xdap/self_development/service/impl/BenchmarkingReportServiceImpl.java b/src/main/java/com/xdap/self_development/service/impl/BenchmarkingReportServiceImpl.java index 43dd22e..bb5d12f 100644 --- a/src/main/java/com/xdap/self_development/service/impl/BenchmarkingReportServiceImpl.java +++ b/src/main/java/com/xdap/self_development/service/impl/BenchmarkingReportServiceImpl.java @@ -192,6 +192,7 @@ public class BenchmarkingReportServiceImpl implements BenchmarkingReportService .eq("id", request.getFlowId()) .eq("flow_type", 2) .doQueryFirst(ApprovalFlow.class); + if (flow == null || !"APPROVING".equals(flow.getFlowStatus())) { throw new CommonException("流程不存在或已结束"); } @@ -303,9 +304,6 @@ public class BenchmarkingReportServiceImpl implements BenchmarkingReportService if ("REJECT".equals(request.getResult())) { cancelProcess(flow, "REJECTED"); return; - } else if ("RETURN".equals(request.getResult())) { - cancelProcess(flow, "RETURNED"); - return; } // 处理通过逻辑,流转到下一节点 processNextNode(flow, currentNode); diff --git a/src/main/java/com/xdap/self_development/service/impl/TemplateApprovalServiceImpl.java b/src/main/java/com/xdap/self_development/service/impl/TemplateApprovalServiceImpl.java index 5200362..7d8a45a 100644 --- a/src/main/java/com/xdap/self_development/service/impl/TemplateApprovalServiceImpl.java +++ b/src/main/java/com/xdap/self_development/service/impl/TemplateApprovalServiceImpl.java @@ -122,7 +122,7 @@ public class TemplateApprovalServiceImpl implements TemplateApprovalService { .setVar("createBy", form.getUserId()) .setVar("templateName", form.getTemplateName()) .setVar("status", form.getStatus()) - .setVar("createdTime", form.getCreateDate()) + .setVar("createdTime", form.getCreateDate() == null ? "" : form.getCreateDate()) .setVar("username",form.getUsername()) .doQuery(TodoAndTemplateView.class); setCurrentApprovers(approvalList, todoList); diff --git a/src/main/resources/sql.sql b/src/main/resources/sql.sql index c138cf3..4641cb0 100644 --- a/src/main/resources/sql.sql +++ b/src/main/resources/sql.sql @@ -1,78 +1,90 @@ +-- 新增机型参数常用参数表 +CREATE TABLE yfsjglpt_model_common_parameter ( + `id` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT 'ID', + `subsystem` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '子系统', + `parameter_id` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '参数ID', + `user_id` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '用户ID', + PRIMARY KEY (`id`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci COMMENT='机型参数常用参数表'; + + -- 新增分析常用参数表 -CREATE TABLE `analysis_common_parameters` ( - `id` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT 'ID', - `parameter_id` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '参数ID', - `user_id` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '用户ID', - PRIMARY KEY (`id`) -) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci COMMENT='查询分析常用参数表'; +CREATE TABLE yfsjglpt_analysis_common_parameter ( + `id` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT 'ID', + `model_name` varchar(100) COLLATE utf8mb4_general_ci NOT NULL COMMENT '产品型号', + `plate` varchar(100) COLLATE utf8mb4_general_ci NOT NULL COMMENT '板块', + `platform` varchar(100) COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT '平台', + `series` varchar(100) COLLATE utf8mb4_general_ci NOT NULL COMMENT '系列', + `project_name` varchar(100) COLLATE utf8mb4_general_ci NOT NULL COMMENT '项目名称', + `project_number` varchar(100) COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT '项目编号', + `emission` varchar(100) COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT '排放', + `displacement_min` varchar(100) COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT '排放下限', + `displacement_max` varchar(100) COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT '排放上限', + `combustion_type` varchar(100) COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT '燃烧类型', + `user_id` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '用户ID', + PRIMARY KEY (`id`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci COMMENT='统计分析常用参数表'; - ---删除1版权限 -drop table yfsjglpt_model_role_permissions -drop table yfsjglpt_model_roles -drop table yfsjglpt_model_user_roles -drop table yfsjglpt_model_permissions - ---角色表 +-- 角色表 DROP TABLE IF EXISTS yfsjglpt_model_roles; CREATE TABLE yfsjglpt_model_roles( - `id` VARCHAR(64) NOT NULL COMMENT 'ID', - `role_name` VARCHAR(128) NOT NULL COMMENT '角色名称', - `role_code` VARCHAR(128) COMMENT '角色代号', - `role_description` VARCHAR(128) COMMENT '角色描述', - `is_enabled` INT(128) DEFAULT 1 COMMENT '是否启用', - `created_by` VARCHAR(64) COMMENT '创建人', - `creation_date` DATETIME COMMENT '创建时间', - `last_updated_by` VARCHAR(64) COMMENT '最后更新人', - `last_update_date` DATETIME COMMENT '最后更新时间', - PRIMARY KEY (`id`) + `id` VARCHAR(64) NOT NULL COMMENT 'ID', + `role_name` VARCHAR(128) NOT NULL COMMENT '角色名称', + `role_code` VARCHAR(128) COMMENT '角色代号', + `role_description` VARCHAR(128) COMMENT '角色描述', + `is_enabled` INT(128) DEFAULT 1 COMMENT '是否启用', + `created_by` VARCHAR(64) COMMENT '创建人', + `creation_date` DATETIME COMMENT '创建时间', + `last_updated_by` VARCHAR(64) COMMENT '最后更新人', + `last_update_date` DATETIME COMMENT '最后更新时间', + PRIMARY KEY (`id`) ) COMMENT '角色表'; ----菜单权限 +-- 菜单权限 DROP TABLE IF EXISTS yfsjglpt_model_menu_permission; CREATE TABLE yfsjglpt_model_menu_permission( - `id` VARCHAR(64) NOT NULL COMMENT 'ID', - `parent_id` VARCHAR(64) COMMENT '上级ID', - `menu_name` VARCHAR(64) COMMENT '菜单名称', - `menu_code` VARCHAR(64) COMMENT '菜单代码', - `menu_desc` VARCHAR(128) COMMENT '菜单描述', - `is_enable` INT DEFAULT 1 COMMENT '是否可用', - `created_by` VARCHAR(64) COMMENT '创建人', - `creation_date` DATETIME COMMENT '创建时间', - `last_updated_by` VARCHAR(64) COMMENT '最后更新人', - `last_update_date` DATETIME COMMENT '最后更新时间', - PRIMARY KEY (`id`) + `id` VARCHAR(64) NOT NULL COMMENT 'ID', + `parent_id` VARCHAR(64) COMMENT '上级ID', + `menu_name` VARCHAR(64) COMMENT '菜单名称', + `menu_code` VARCHAR(64) COMMENT '菜单代码', + `menu_desc` VARCHAR(128) COMMENT '菜单描述', + `is_enable` INT DEFAULT 1 COMMENT '是否可用', + `created_by` VARCHAR(64) COMMENT '创建人', + `creation_date` DATETIME COMMENT '创建时间', + `last_updated_by` VARCHAR(64) COMMENT '最后更新人', + `last_update_date` DATETIME COMMENT '最后更新时间', + PRIMARY KEY (`id`) ) COMMENT '菜单权限'; ---菜单参数关联表 +-- 菜单参数关联表 DROP TABLE IF EXISTS yfsjglpt_model_menu_parameter; CREATE TABLE yfsjglpt_model_menu_parameter( - `id` VARCHAR(64) NOT NULL COMMENT 'ID', - `menu_id` VARCHAR(128) COMMENT '菜单ID', - `subsystem` VARCHAR(64) COMMENT '子系统', - `parameter_id` VARCHAR(64) COMMENT '参数ID', - `parameter_per` INT COMMENT '参数权限;1:查看;2:编辑', - `created_by` VARCHAR(64) COMMENT '创建人', - `creation_date` DATETIME COMMENT '创建时间', - `last_updated_by` VARCHAR(64) COMMENT '最后更新人', - `last_update_date` DATETIME COMMENT '最后更新时间', - PRIMARY KEY (`id`) + `id` VARCHAR(64) NOT NULL COMMENT 'ID', + `menu_id` VARCHAR(128) COMMENT '菜单ID', + `subsystem` VARCHAR(64) COMMENT '子系统', + `parameter_id` VARCHAR(64) COMMENT '参数ID', + `parameter_per` INT COMMENT '参数权限;1:查看;2:编辑', + `created_by` VARCHAR(64) COMMENT '创建人', + `creation_date` DATETIME COMMENT '创建时间', + `last_updated_by` VARCHAR(64) COMMENT '最后更新人', + `last_update_date` DATETIME COMMENT '最后更新时间', + PRIMARY KEY (`id`) ) COMMENT '菜单参数关联表'; ---部门或用户关联角色表 +-- 部门或用户关联角色表 DROP TABLE IF EXISTS yfsjglpt_model_dep_user_role; CREATE TABLE yfsjglpt_model_dep_user_role( - `id` VARCHAR(64) NOT NULL COMMENT 'ID', - `user_or_dep` VARCHAR(64) COMMENT '用户或部门ID', - `role_id` VARCHAR(64) COMMENT '角色ID', - `is_dep` INT COMMENT '是否是部门;0:个人;1:部门', - `created_by` VARCHAR(64) COMMENT '创建人', - `creation_date` DATETIME COMMENT '创建时间', - `last_updated_by` VARCHAR(64) COMMENT '最后更新人', - `last_update_date` DATETIME COMMENT '最后更新时间', - PRIMARY KEY (`id`) + `id` VARCHAR(64) NOT NULL COMMENT 'ID', + `user_or_dep` VARCHAR(64) COMMENT '用户或部门ID', + `role_id` VARCHAR(64) COMMENT '角色ID', + `is_dep` INT COMMENT '是否是部门;0:个人;1:部门', + `created_by` VARCHAR(64) COMMENT '创建人', + `creation_date` DATETIME COMMENT '创建时间', + `last_updated_by` VARCHAR(64) COMMENT '最后更新人', + `last_update_date` DATETIME COMMENT '最后更新时间', + PRIMARY KEY (`id`) ) COMMENT '部门或用户关联角色表';