|
@@ -14,29 +14,72 @@
|
|
</resultMap>
|
|
</resultMap>
|
|
|
|
|
|
<select id="selectByProjectId" parameterType="string" resultMap="ProjectWorkflowResultMap">
|
|
<select id="selectByProjectId" parameterType="string" resultMap="ProjectWorkflowResultMap">
|
|
- SELECT id, project_id, workflow_id, parent_id, node_id, node_table_name, workflow_name, created_at, updated_at
|
|
|
|
|
|
+ SELECT id,
|
|
|
|
+ project_id,
|
|
|
|
+ workflow_id,
|
|
|
|
+ parent_id,
|
|
|
|
+ node_id,
|
|
|
|
+ node_table_name,
|
|
|
|
+ workflow_name,
|
|
|
|
+ created_at,
|
|
|
|
+ updated_at
|
|
FROM t_project_workflow
|
|
FROM t_project_workflow
|
|
WHERE project_id = #{projectId}
|
|
WHERE project_id = #{projectId}
|
|
ORDER BY created_at
|
|
ORDER BY created_at
|
|
</select>
|
|
</select>
|
|
|
|
|
|
<select id="selectByNodeId" parameterType="string" resultMap="ProjectWorkflowResultMap">
|
|
<select id="selectByNodeId" parameterType="string" resultMap="ProjectWorkflowResultMap">
|
|
- SELECT id, project_id, workflow_id, parent_id, node_id, node_table_name, workflow_name, created_at, updated_at
|
|
|
|
|
|
+ SELECT id,
|
|
|
|
+ project_id,
|
|
|
|
+ workflow_id,
|
|
|
|
+ parent_id,
|
|
|
|
+ node_id,
|
|
|
|
+ node_table_name,
|
|
|
|
+ workflow_name,
|
|
|
|
+ created_at,
|
|
|
|
+ updated_at
|
|
FROM t_project_workflow
|
|
FROM t_project_workflow
|
|
WHERE node_id = #{nodeId}
|
|
WHERE node_id = #{nodeId}
|
|
ORDER BY created_at
|
|
ORDER BY created_at
|
|
</select>
|
|
</select>
|
|
|
|
|
|
|
|
+ <select id="selectCycleByProjectId" parameterType="string"
|
|
|
|
+ resultType="com.siwei.apply.domain.res.ProjectWorkflowRes">
|
|
|
|
+ SELECT project_id as projectId,
|
|
|
|
+ node_id as nodeId,
|
|
|
|
+ workflow_id as workflowId,
|
|
|
|
+ node_table_name as nodeTableName,
|
|
|
|
+ created_at as createdAt
|
|
|
|
+ FROM t_project_workflow
|
|
|
|
+ WHERE project_id = #{projectId}
|
|
|
|
+ ORDER BY created_at
|
|
|
|
+ </select>
|
|
|
|
+
|
|
|
|
+ <select id="isOnchain" parameterType="map" resultType="boolean">
|
|
|
|
+ SELECT COALESCE((SELECT has_onchain
|
|
|
|
+ FROM ${tableName}
|
|
|
|
+ WHERE id = #{id}
|
|
|
|
+ AND project_id = #{projectId}
|
|
|
|
+ LIMIT 1 ), false) AS has_onchain
|
|
|
|
+ </select>
|
|
|
|
+
|
|
<insert id="add" parameterType="com.siwei.apply.domain.ProjectWorkflow">
|
|
<insert id="add" parameterType="com.siwei.apply.domain.ProjectWorkflow">
|
|
- INSERT INTO t_project_workflow (
|
|
|
|
- id, project_id, workflow_id, parent_id, node_id, node_table_name, workflow_name, created_at, updated_at
|
|
|
|
- ) VALUES (
|
|
|
|
- #{id}, #{projectId}, #{workflowId}, #{parentId}, #{nodeId}, #{nodeTableName}, #{workflowName}, now(), now()
|
|
|
|
- )
|
|
|
|
|
|
+ INSERT INTO t_project_workflow (id, project_id, workflow_id, parent_id, node_id, node_table_name, workflow_name,
|
|
|
|
+ created_at, updated_at)
|
|
|
|
+ VALUES (#{id}, #{projectId}, #{workflowId}, #{parentId}, #{nodeId}, #{nodeTableName}, #{workflowName}, now(),
|
|
|
|
+ now())
|
|
</insert>
|
|
</insert>
|
|
|
|
|
|
<select id="selectByProjectIdAndNodeTableName" parameterType="map" resultMap="ProjectWorkflowResultMap">
|
|
<select id="selectByProjectIdAndNodeTableName" parameterType="map" resultMap="ProjectWorkflowResultMap">
|
|
- SELECT id, project_id, workflow_id, parent_id, node_id, node_table_name, workflow_name, created_at, updated_at
|
|
|
|
|
|
+ SELECT id,
|
|
|
|
+ project_id,
|
|
|
|
+ workflow_id,
|
|
|
|
+ parent_id,
|
|
|
|
+ node_id,
|
|
|
|
+ node_table_name,
|
|
|
|
+ workflow_name,
|
|
|
|
+ created_at,
|
|
|
|
+ updated_at
|
|
FROM t_project_workflow
|
|
FROM t_project_workflow
|
|
WHERE project_id = #{projectId}
|
|
WHERE project_id = #{projectId}
|
|
AND node_table_name = #{nodeTableName}
|
|
AND node_table_name = #{nodeTableName}
|
|
@@ -46,19 +89,18 @@
|
|
<!-- 统计:每个项目取最大 workflow_id,若同项目同 workflow_id 多条只计一次;
|
|
<!-- 统计:每个项目取最大 workflow_id,若同项目同 workflow_id 多条只计一次;
|
|
然后按 workflow_name 分组统计数量;返回字段 name(workflow_name)与 count -->
|
|
然后按 workflow_name 分组统计数量;返回字段 name(workflow_name)与 count -->
|
|
<select id="countMaxWorkflowByName" resultType="com.siwei.apply.domain.res.ProjectProcessRes">
|
|
<select id="countMaxWorkflowByName" resultType="com.siwei.apply.domain.res.ProjectProcessRes">
|
|
- SELECT
|
|
|
|
- t.workflow_name AS name,
|
|
|
|
- CAST(COUNT(*) AS varchar) AS count
|
|
|
|
|
|
+ SELECT t.workflow_name AS name,
|
|
|
|
+ CAST(COUNT(*) AS varchar) AS count
|
|
FROM (
|
|
FROM (
|
|
SELECT DISTINCT tpw.project_id, tpw.workflow_id, tpw.workflow_name
|
|
SELECT DISTINCT tpw.project_id, tpw.workflow_id, tpw.workflow_name
|
|
FROM t_project_workflow tpw
|
|
FROM t_project_workflow tpw
|
|
INNER JOIN (
|
|
INNER JOIN (
|
|
- SELECT project_id, MAX(workflow_id) AS max_workflow_id
|
|
|
|
- FROM t_project_workflow
|
|
|
|
- GROUP BY project_id
|
|
|
|
|
|
+ SELECT project_id, MAX (workflow_id) AS max_workflow_id
|
|
|
|
+ FROM t_project_workflow
|
|
|
|
+ GROUP BY project_id
|
|
) m
|
|
) m
|
|
ON m.project_id = tpw.project_id AND m.max_workflow_id = tpw.workflow_id
|
|
ON m.project_id = tpw.project_id AND m.max_workflow_id = tpw.workflow_id
|
|
- ) t
|
|
|
|
|
|
+ ) t
|
|
GROUP BY t.workflow_name
|
|
GROUP BY t.workflow_name
|
|
</select>
|
|
</select>
|
|
</mapper>
|
|
</mapper>
|