|
|
|
@ -553,8 +553,146 @@ |
|
|
|
and a.site = #{site} and a.workflow_id = #{workflowId} and a.node_id = #{nodeId} and a.role_id = #{roleId} |
|
|
|
</select> |
|
|
|
|
|
|
|
<sql id="processFlowInformationCte"> |
|
|
|
;WITH BaseData AS ( |
|
|
|
SELECT |
|
|
|
p.site, |
|
|
|
p.bu, |
|
|
|
p.request_id, |
|
|
|
p.workflow_id, |
|
|
|
p.node_id, |
|
|
|
p.domain_control_account, |
|
|
|
p.document_no, |
|
|
|
p.document_type, |
|
|
|
p.seq_no, |
|
|
|
p.reject_flag, |
|
|
|
p.reject_node_id, |
|
|
|
p.node_conclusion, |
|
|
|
p.submit_date, |
|
|
|
p.submitted_by, |
|
|
|
p.create_date, |
|
|
|
p.create_by, |
|
|
|
p.update_date, |
|
|
|
p.id, |
|
|
|
p.is_remark, |
|
|
|
p.classification_no, |
|
|
|
p.step_id, |
|
|
|
p.menu_id, |
|
|
|
p.reject_opinion, |
|
|
|
w.workflowname, |
|
|
|
w.nodename, |
|
|
|
u.username AS updateByUserName, |
|
|
|
dbo.get_document_status(p.site, p.document_no, p.document_type) AS calc_status, |
|
|
|
dbo.get_display_no(p.site, p.document_no, p.document_type) AS calc_display_no, |
|
|
|
dbo.get_revision_no(p.site, p.document_no, p.document_type) AS calc_revision_no |
|
|
|
FROM plm_process_form p WITH (NOLOCK) |
|
|
|
LEFT JOIN [VIEW_Process_management_OA_PLM] w |
|
|
|
ON p.workflow_id = w.workflowid AND p.node_id = w.nodeid |
|
|
|
LEFT JOIN sys_user u |
|
|
|
ON p.domain_control_account = u.domain_control_account |
|
|
|
WHERE p.site = #{q.site} |
|
|
|
AND ISNULL(p.process_intervention_flag, ' ') <![CDATA[<>]]> 'Y' |
|
|
|
<if test="q.documentType != null and q.documentType != ''"> |
|
|
|
AND UPPER(p.document_type) LIKE #{q.documentType} |
|
|
|
</if> |
|
|
|
<if test="q.workflowId != null and q.workflowId != ''"> |
|
|
|
AND CAST(p.workflow_id AS NVARCHAR(30)) LIKE #{q.workflowId} |
|
|
|
</if> |
|
|
|
<if test="q.workflowName != null and q.workflowName != ''"> |
|
|
|
AND w.workflowname LIKE #{q.workflowName} |
|
|
|
</if> |
|
|
|
<if test="q.nodeId != null and q.nodeId != ''"> |
|
|
|
AND CAST(p.node_id AS NVARCHAR(30)) LIKE #{q.nodeId} |
|
|
|
</if> |
|
|
|
<if test="q.nodeName != null and q.nodeName != ''"> |
|
|
|
AND w.nodename LIKE #{q.nodeName} |
|
|
|
</if> |
|
|
|
<if test="q.createBy != null and q.createBy != ''"> |
|
|
|
AND p.create_by LIKE #{q.createBy} |
|
|
|
</if> |
|
|
|
<if test="q.updateBy != null and q.updateBy != ''"> |
|
|
|
AND u.username LIKE #{q.updateBy} |
|
|
|
</if> |
|
|
|
<if test="q.documentNo != null and q.documentNo != ''"> |
|
|
|
AND p.document_no LIKE #{q.documentNo} |
|
|
|
</if> |
|
|
|
), |
|
|
|
FilteredData AS ( |
|
|
|
SELECT * FROM BaseData |
|
|
|
WHERE calc_status <![CDATA[<>]]> N'已升版' |
|
|
|
<if test="q.documentStatus != null and q.documentStatus != ''"> |
|
|
|
AND calc_status LIKE #{q.documentStatus} |
|
|
|
</if> |
|
|
|
<if test="q.documentNo != null and q.documentNo != ''"> |
|
|
|
AND calc_display_no LIKE #{q.documentNo} |
|
|
|
</if> |
|
|
|
), |
|
|
|
RankedData AS ( |
|
|
|
SELECT |
|
|
|
*, |
|
|
|
ROW_NUMBER() OVER (PARTITION BY site, classification_no, document_no ORDER BY step_id DESC) AS rn |
|
|
|
FROM FilteredData |
|
|
|
), |
|
|
|
FinalData AS ( |
|
|
|
SELECT * FROM RankedData WHERE rn = 1 |
|
|
|
) |
|
|
|
</sql> |
|
|
|
|
|
|
|
<select id="countProcessFlowInformation" resultType="java.lang.Long"> |
|
|
|
<include refid="processFlowInformationCte"/> |
|
|
|
SELECT COUNT(1) FROM FinalData |
|
|
|
</select> |
|
|
|
|
|
|
|
<select id="getProcessFlowInformation2" resultType="com.spring.modules.change.vo.ProcessFormVo"> |
|
|
|
EXEC dbo.get_process_form_infor #{site}, #{workflowId}, #{documentNo}, #{workflowName}, #{nodeId}, #{nodeName}, #{createBy}, #{updateBy}, #{documentType}, #{documentStatus}, #{page}, #{limit} |
|
|
|
<include refid="processFlowInformationCte"/> |
|
|
|
SELECT |
|
|
|
a.site, |
|
|
|
a.bu, |
|
|
|
CAST(a.request_id AS VARCHAR(50)) AS requestId, |
|
|
|
CAST(a.workflow_id AS VARCHAR(50)) AS workflowId, |
|
|
|
a.workflowname AS workflowName, |
|
|
|
CAST(a.node_id AS VARCHAR(50)) AS nodeId, |
|
|
|
a.nodename AS nodeName, |
|
|
|
a.domain_control_account, |
|
|
|
a.updateByUserName AS updateBy, |
|
|
|
a.document_no, |
|
|
|
a.calc_display_no AS displayNo, |
|
|
|
a.document_type, |
|
|
|
a.seq_no, |
|
|
|
a.reject_flag, |
|
|
|
CASE WHEN a.reject_flag = 'Y' THEN N'是' ELSE N'否' END AS rejectFlagDesc, |
|
|
|
a.reject_node_id, |
|
|
|
a.node_conclusion, |
|
|
|
a.submit_date, |
|
|
|
a.create_date, |
|
|
|
a.create_by, |
|
|
|
a.update_date, |
|
|
|
a.id, |
|
|
|
a.is_remark, |
|
|
|
a.classification_no, |
|
|
|
a.step_id, |
|
|
|
a.menu_id, |
|
|
|
a.reject_opinion, |
|
|
|
a.calc_status AS documentStatus, |
|
|
|
a.calc_revision_no AS revisionNo, |
|
|
|
CASE UPPER(a.document_type) |
|
|
|
WHEN 'BM' THEN N'技术参数卡' |
|
|
|
WHEN 'PROOFING' THEN N'打样申请' |
|
|
|
WHEN 'QUOTATION' THEN N'询价申请' |
|
|
|
WHEN 'TEST' THEN N'测试申请' |
|
|
|
WHEN 'TOOL' THEN N'刀具申请' |
|
|
|
WHEN 'ECN' THEN 'ECN' |
|
|
|
WHEN 'QUOTE' THEN N'销售报价' |
|
|
|
WHEN 'PROJECT' THEN N'项目信息' |
|
|
|
WHEN 'ROHS' THEN 'RoHS' |
|
|
|
WHEN 'LAB' THEN 'Lab' |
|
|
|
ELSE a.document_type |
|
|
|
END AS documentTypeDesc |
|
|
|
FROM FinalData a |
|
|
|
ORDER BY a.document_no |
|
|
|
<if test="limit != null and limit > 0"> |
|
|
|
OFFSET #{startIndex} ROWS FETCH NEXT #{limit} ROWS ONLY |
|
|
|
</if> |
|
|
|
</select> |
|
|
|
|
|
|
|
<update id="updateProcessNodeByIntervention1"> |
|
|
|
|