|
|
|
@ -7,6 +7,7 @@ |
|
|
|
a.id, |
|
|
|
a.site, |
|
|
|
a.bu, |
|
|
|
d.bu_desc, |
|
|
|
a.classification_no, |
|
|
|
a.classification_name, |
|
|
|
a.workflow_id, |
|
|
|
@ -18,41 +19,89 @@ |
|
|
|
a.update_date, |
|
|
|
a.update_by, |
|
|
|
a.remark, |
|
|
|
ISNULL(a.classification_name, a.workflow_id) AS workflow_name, |
|
|
|
ISNULL(a.classification_name, a.workflow_id) AS workflowname, |
|
|
|
b.workflowname AS workflow_name, |
|
|
|
b.workflowname AS workflowname, |
|
|
|
CASE WHEN a.status = 'Y' THEN N'启用' ELSE N'停用' END AS statusDesc, |
|
|
|
m.name |
|
|
|
FROM plm_request_header a |
|
|
|
LEFT JOIN ( |
|
|
|
SELECT workflowid, MAX(workflowname) AS workflowname |
|
|
|
FROM VIEW_Process_management_OA_PLM |
|
|
|
GROUP BY workflowid |
|
|
|
) b ON a.workflow_id = b.workflowid |
|
|
|
LEFT JOIN BU d |
|
|
|
ON a.site = d.site |
|
|
|
AND a.bu = d.bu_no |
|
|
|
LEFT JOIN sys_menu m ON a.menu_id = m.menu_id |
|
|
|
<where> |
|
|
|
<if test="query.site != null and query.site != ''"> |
|
|
|
AND a.site = #{query.site} |
|
|
|
AND a.site LIKE #{query.site} |
|
|
|
</if> |
|
|
|
<if test="query.workflowId != null and query.workflowId != ''"> |
|
|
|
AND a.workflow_id LIKE '%' + #{query.workflowId} + '%' |
|
|
|
</if> |
|
|
|
<if test="query.menuId != null and query.menuId != ''"> |
|
|
|
AND a.menu_id LIKE '%' + #{query.menuId} + '%' |
|
|
|
AND a.workflow_id LIKE #{query.workflowId} |
|
|
|
</if> |
|
|
|
<if test="query.name != null and query.name != ''"> |
|
|
|
AND m.name LIKE '%' + #{query.name} + '%' |
|
|
|
AND m.name LIKE #{query.name} |
|
|
|
</if> |
|
|
|
<if test="query.status != null and query.status != ''"> |
|
|
|
AND a.status = #{query.status} |
|
|
|
</if> |
|
|
|
<if test="query.workflowName != null and query.workflowName != ''"> |
|
|
|
AND ISNULL(a.classification_name, a.workflow_id) LIKE '%' + #{query.workflowName} + '%' |
|
|
|
AND b.workflowname LIKE #{query.workflowName} |
|
|
|
</if> |
|
|
|
<if test="query.workflowname != null and query.workflowname != ''"> |
|
|
|
AND b.workflowname LIKE #{query.workflowname} |
|
|
|
</if> |
|
|
|
</where> |
|
|
|
ORDER BY a.create_date DESC, a.id DESC |
|
|
|
</select> |
|
|
|
|
|
|
|
<select id="countHeaderByWorkflowAndMenu" resultType="java.lang.Integer"> |
|
|
|
SELECT COUNT(1) |
|
|
|
FROM plm_request_header |
|
|
|
WHERE site = #{site} |
|
|
|
AND workflow_id = #{workflowId} |
|
|
|
AND menu_id = #{menuId} |
|
|
|
<select id="getRequestMainDataByList" resultType="com.gaotao.modules.workflow.entity.RequestHeaderConfigEntity"> |
|
|
|
SELECT |
|
|
|
a.id, |
|
|
|
a.site, |
|
|
|
a.bu, |
|
|
|
d.bu_desc, |
|
|
|
a.classification_no, |
|
|
|
a.classification_name, |
|
|
|
a.workflow_id, |
|
|
|
a.menu_id, |
|
|
|
a.status, |
|
|
|
CASE WHEN a.status = 'Y' THEN N'启用' ELSE N'停用' END AS status_desc, |
|
|
|
a.create_date, |
|
|
|
a.create_by, |
|
|
|
a.update_date, |
|
|
|
a.update_by, |
|
|
|
a.remark, |
|
|
|
b.workflowname AS workflow_name, |
|
|
|
b.workflowname AS workflowname, |
|
|
|
CASE WHEN a.status = 'Y' THEN N'启用' ELSE N'停用' END AS statusDesc, |
|
|
|
m.name |
|
|
|
FROM plm_request_header a |
|
|
|
LEFT JOIN ( |
|
|
|
SELECT workflowid, MAX(workflowname) AS workflowname |
|
|
|
FROM VIEW_Process_management_OA_PLM |
|
|
|
GROUP BY workflowid |
|
|
|
) b ON a.workflow_id = b.workflowid |
|
|
|
LEFT JOIN BU d |
|
|
|
ON a.site = d.site |
|
|
|
AND a.bu = d.bu_no |
|
|
|
LEFT JOIN sys_menu m ON a.menu_id = m.menu_id |
|
|
|
<where> |
|
|
|
<if test="query.site != null and query.site != ''"> |
|
|
|
AND a.site LIKE #{query.site} |
|
|
|
</if> |
|
|
|
<if test="query.name != null and query.name != ''"> |
|
|
|
AND m.name LIKE #{query.name} |
|
|
|
</if> |
|
|
|
<if test="query.workflowId != null and query.workflowId != ''"> |
|
|
|
AND a.workflow_id LIKE #{query.workflowId} |
|
|
|
</if> |
|
|
|
<if test="query.classificationNo != null and query.classificationNo != ''"> |
|
|
|
AND a.classification_no LIKE #{query.classificationNo} |
|
|
|
</if> |
|
|
|
</where> |
|
|
|
ORDER BY a.create_date DESC, a.id DESC |
|
|
|
</select> |
|
|
|
|
|
|
|
<insert id="saveRequestHeader" parameterType="com.gaotao.modules.workflow.entity.RequestHeaderConfigEntity"> |
|
|
|
@ -70,10 +119,9 @@ |
|
|
|
menu_id = #{menuId}, |
|
|
|
status = #{status}, |
|
|
|
remark = #{remark}, |
|
|
|
update_date = #{updateDate}, |
|
|
|
update_date = GETDATE(), |
|
|
|
update_by = #{updateBy} |
|
|
|
WHERE site = #{site} |
|
|
|
AND classification_no = #{classificationNo} |
|
|
|
WHERE classification_no = #{classificationNo} |
|
|
|
</update> |
|
|
|
|
|
|
|
<delete id="deleteRequestHeader"> |
|
|
|
@ -111,6 +159,20 @@ |
|
|
|
ORDER BY seq_no ASC, id ASC |
|
|
|
</select> |
|
|
|
|
|
|
|
<select id="getRequestNodeData" resultType="com.gaotao.modules.workflow.entity.RequestNodeEntity"> |
|
|
|
SELECT |
|
|
|
a.nodeid AS nodeId, |
|
|
|
a.nodename AS nodeName, |
|
|
|
a.nodeorder AS seqNo |
|
|
|
FROM VIEW_Process_management_OA_PLM a |
|
|
|
<where> |
|
|
|
<if test="workflowId != null and workflowId != ''"> |
|
|
|
AND a.workflowid LIKE #{workflowId} |
|
|
|
</if> |
|
|
|
</where> |
|
|
|
ORDER BY a.nodeorder |
|
|
|
</select> |
|
|
|
|
|
|
|
<insert id="saveRequestNode"> |
|
|
|
INSERT INTO plm_request_node( |
|
|
|
site, bu, classification_no, node_id, node_name, node_type, is_branch, workflow_id, |
|
|
|
@ -133,8 +195,8 @@ |
|
|
|
a.bu, |
|
|
|
a.classification_no, |
|
|
|
a.workflow_id, |
|
|
|
ISNULL(h.classification_name, a.workflow_id) AS workflow_name, |
|
|
|
ISNULL(h.classification_name, a.workflow_id) AS workflowname, |
|
|
|
c.workflowname AS workflow_name, |
|
|
|
c.workflowname AS workflowname, |
|
|
|
a.node_id, |
|
|
|
a.node_name, |
|
|
|
a.node_type, |
|
|
|
@ -150,22 +212,25 @@ |
|
|
|
a.update_by, |
|
|
|
a.remark |
|
|
|
FROM plm_request_node a |
|
|
|
LEFT JOIN plm_request_header h |
|
|
|
ON a.site = h.site |
|
|
|
AND a.classification_no = h.classification_no |
|
|
|
AND a.workflow_id = h.workflow_id |
|
|
|
LEFT JOIN ( |
|
|
|
SELECT workflowid, nodeid, MAX(workflowname) AS workflowname |
|
|
|
FROM VIEW_Process_management_OA_PLM |
|
|
|
GROUP BY workflowid, nodeid |
|
|
|
) c |
|
|
|
ON a.workflow_id = c.workflowid |
|
|
|
AND a.node_id = c.nodeid |
|
|
|
<where> |
|
|
|
<if test="query.site != null and query.site != ''"> |
|
|
|
AND a.site = #{query.site} |
|
|
|
AND a.site LIKE #{query.site} |
|
|
|
</if> |
|
|
|
<if test="query.classificationNo != null and query.classificationNo != ''"> |
|
|
|
AND a.classification_no = #{query.classificationNo} |
|
|
|
AND a.classification_no LIKE #{query.classificationNo} |
|
|
|
</if> |
|
|
|
<if test="query.workflowId != null and query.workflowId != ''"> |
|
|
|
AND a.workflow_id = #{query.workflowId} |
|
|
|
AND a.workflow_id LIKE #{query.workflowId} |
|
|
|
</if> |
|
|
|
</where> |
|
|
|
ORDER BY a.seq_no ASC, a.id ASC |
|
|
|
ORDER BY a.seq_no ASC |
|
|
|
</select> |
|
|
|
|
|
|
|
<update id="editNodeInfo" parameterType="com.gaotao.modules.workflow.entity.RequestNodeEntity"> |
|
|
|
@ -188,19 +253,18 @@ |
|
|
|
FROM plm_request_node_detail |
|
|
|
<where> |
|
|
|
<if test="query.site != null and query.site != ''"> |
|
|
|
AND site = #{query.site} |
|
|
|
AND site LIKE #{query.site} |
|
|
|
</if> |
|
|
|
<if test="query.classificationNo != null and query.classificationNo != ''"> |
|
|
|
AND classification_no = #{query.classificationNo} |
|
|
|
AND classification_no LIKE #{query.classificationNo} |
|
|
|
</if> |
|
|
|
<if test="query.workflowId != null and query.workflowId != ''"> |
|
|
|
AND workflow_id = #{query.workflowId} |
|
|
|
AND workflow_id LIKE #{query.workflowId} |
|
|
|
</if> |
|
|
|
<if test="query.nodeId != null and query.nodeId != ''"> |
|
|
|
AND node_id = #{query.nodeId} |
|
|
|
AND node_id LIKE #{query.nodeId} |
|
|
|
</if> |
|
|
|
</where> |
|
|
|
ORDER BY seq_no ASC, id ASC |
|
|
|
</select> |
|
|
|
|
|
|
|
<delete id="deleteRequestNodeDetailByLine"> |
|
|
|
@ -213,18 +277,16 @@ |
|
|
|
|
|
|
|
<insert id="saveRequestNodeDetail"> |
|
|
|
INSERT INTO plm_request_node_detail( |
|
|
|
site, bu, classification_no, node_id, node_name, node_type, is_branch, |
|
|
|
create_date, create_by, update_date, update_by, remark, |
|
|
|
plm_field, oa_field, field_value, field_desc, workflow_id, |
|
|
|
order_ref1, order_ref2, order_ref3, order_ref4, plm_table, field_type, review, seq_no, step_id |
|
|
|
site, bu, classification_no, node_id, node_name, |
|
|
|
create_date, create_by, remark, plm_field, oa_field, field_value, |
|
|
|
order_ref1, order_ref2, order_ref3, order_ref4, field_desc, workflow_id, plm_table, field_type, review |
|
|
|
) |
|
|
|
VALUES |
|
|
|
<foreach item="data" index="index" collection="list" separator=","> |
|
|
|
( |
|
|
|
#{data.site}, #{data.bu}, #{data.classificationNo}, #{data.nodeId}, #{data.nodeName}, #{data.nodeType}, #{data.isBranch}, |
|
|
|
#{data.createDate}, #{data.createBy}, #{data.updateDate}, #{data.updateBy}, #{data.remark}, |
|
|
|
#{data.plmField}, #{data.oaField}, #{data.fieldValue}, #{data.fieldDesc}, #{data.workflowId}, |
|
|
|
#{data.orderRef1}, #{data.orderRef2}, #{data.orderRef3}, #{data.orderRef4}, #{data.plmTable}, #{data.fieldType}, #{data.review}, #{data.seqNo}, #{data.stepId} |
|
|
|
#{data.site}, #{data.bu}, #{data.classificationNo}, #{data.nodeId}, #{data.nodeName}, |
|
|
|
GETDATE(), #{data.createBy}, #{data.remark}, #{data.plmField}, #{data.oaField}, #{data.fieldValue}, |
|
|
|
#{data.orderRef1}, #{data.orderRef2}, #{data.orderRef3}, #{data.orderRef4}, #{data.fieldDesc}, #{data.workflowId}, #{data.plmTable}, #{data.fieldType}, #{data.review} |
|
|
|
) |
|
|
|
</foreach> |
|
|
|
</insert> |
|
|
|
@ -232,15 +294,7 @@ |
|
|
|
<select id="getTableList" resultType="com.gaotao.modules.workflow.dto.WorkflowTableData"> |
|
|
|
SELECT name AS tableId |
|
|
|
FROM sys.tables |
|
|
|
WHERE ( |
|
|
|
<choose> |
|
|
|
<when test="data.tableType != null and data.tableType != ''"> |
|
|
|
name LIKE #{data.tableType} + '%' |
|
|
|
</when> |
|
|
|
<otherwise> |
|
|
|
1 = 1 |
|
|
|
</otherwise> |
|
|
|
</choose> |
|
|
|
WHERE (name LIKE #{data.tableType} + '%' |
|
|
|
<if test="data.addTable != null and data.addTable.size() > 0"> |
|
|
|
OR name IN ( |
|
|
|
<foreach collection="data.addTable" item="item" separator=","> |
|
|
|
@ -256,20 +310,28 @@ |
|
|
|
</foreach> |
|
|
|
) |
|
|
|
</if> |
|
|
|
ORDER BY name |
|
|
|
</select> |
|
|
|
|
|
|
|
<select id="getFieldList" resultType="com.gaotao.modules.workflow.dto.WorkflowFieldData"> |
|
|
|
SELECT |
|
|
|
col.name AS fieldId, |
|
|
|
CONVERT(varchar(200), ISNULL(comm.value, col.name)) AS fieldName |
|
|
|
FROM sys.columns col |
|
|
|
INNER JOIN sys.tables tbl ON col.object_id = tbl.object_id |
|
|
|
LEFT JOIN sys.extended_properties comm |
|
|
|
ON comm.major_id = col.object_id |
|
|
|
AND comm.minor_id = col.column_id |
|
|
|
AND comm.name = N'MS_Description' |
|
|
|
CASE |
|
|
|
WHEN tbl.name = 'plm_rohs' AND col.name = 'valid_until_value' THEN '有效期数值/Valid Until Value' |
|
|
|
WHEN tbl.name = 'plm_rohs' AND col.name = 'valid_until' THEN '有效期单位/Valid Until Unit' |
|
|
|
WHEN tbl.name = 'plm_rohs' AND col.name = 'rohs_status' THEN '状态/RoHS Status' |
|
|
|
WHEN tbl.name = 'plm_rohs' AND col.name = 'expiry_date' THEN '失效日期/Expiry Date' |
|
|
|
ELSE CONVERT(varchar(50), comm.value) |
|
|
|
END AS fieldName |
|
|
|
FROM sys.columns AS col |
|
|
|
INNER JOIN sys.tables AS tbl ON col.object_id = tbl.object_id |
|
|
|
INNER JOIN sys.schemas AS scm ON tbl.schema_id = scm.schema_id |
|
|
|
INNER JOIN sys.types AS typ ON col.user_type_id = typ.user_type_id |
|
|
|
LEFT JOIN sys.extended_properties AS comm ON comm.major_id = col.object_id AND comm.minor_id = col.column_id AND comm.name = N'MS_Description' |
|
|
|
WHERE tbl.name = #{tableId} |
|
|
|
AND ( |
|
|
|
(CONVERT(varchar(50), comm.value) IS NOT NULL AND CONVERT(varchar(50), comm.value) <![CDATA[<>]]> '') |
|
|
|
OR (tbl.name = 'plm_rohs' AND col.name IN ('valid_until_value', 'valid_until', 'rohs_status', 'expiry_date')) |
|
|
|
) |
|
|
|
ORDER BY col.column_id |
|
|
|
</select> |
|
|
|
|
|
|
|
@ -279,17 +341,22 @@ |
|
|
|
a.fieldName, |
|
|
|
ISNULL(b.update_flag, 'N') AS updateFlag, |
|
|
|
#{data.tableId} AS tableId, |
|
|
|
ISNULL(b.required, 'N') AS required |
|
|
|
b.required AS required |
|
|
|
FROM ( |
|
|
|
SELECT |
|
|
|
col.name AS fieldId, |
|
|
|
CONVERT(varchar(200), ISNULL(comm.value, col.name)) AS fieldName |
|
|
|
FROM sys.columns col |
|
|
|
INNER JOIN sys.tables tbl ON col.object_id = tbl.object_id |
|
|
|
LEFT JOIN sys.extended_properties comm |
|
|
|
ON comm.major_id = col.object_id |
|
|
|
AND comm.minor_id = col.column_id |
|
|
|
AND comm.name = N'MS_Description' |
|
|
|
CASE |
|
|
|
WHEN tbl.name = 'plm_rohs' AND col.name = 'valid_until_value' THEN '有效期数值/Valid Until Value' |
|
|
|
WHEN tbl.name = 'plm_rohs' AND col.name = 'valid_until' THEN '有效期单位/Valid Until Unit' |
|
|
|
WHEN tbl.name = 'plm_rohs' AND col.name = 'rohs_status' THEN '状态/RoHS Status' |
|
|
|
WHEN tbl.name = 'plm_rohs' AND col.name = 'expiry_date' THEN '失效日期/Expiry Date' |
|
|
|
ELSE CONVERT(varchar(50), comm.value) |
|
|
|
END AS fieldName |
|
|
|
FROM sys.columns AS col |
|
|
|
INNER JOIN sys.tables AS tbl ON col.object_id = tbl.object_id |
|
|
|
INNER JOIN sys.schemas AS scm ON tbl.schema_id = scm.schema_id |
|
|
|
INNER JOIN sys.types AS typ ON col.user_type_id = typ.user_type_id |
|
|
|
LEFT JOIN sys.extended_properties AS comm ON comm.major_id = col.object_id AND comm.minor_id = col.column_id AND comm.name = N'MS_Description' |
|
|
|
WHERE tbl.name = #{data.tableId} |
|
|
|
) a |
|
|
|
LEFT JOIN plm_request_node_authority b |
|
|
|
@ -300,12 +367,12 @@ |
|
|
|
AND b.table_id = #{data.tableId} |
|
|
|
WHERE a.fieldName IS NOT NULL |
|
|
|
AND a.fieldName <> '' |
|
|
|
ORDER BY a.fieldId |
|
|
|
</select> |
|
|
|
|
|
|
|
<delete id="deleteNodeAuthority"> |
|
|
|
DELETE FROM plm_request_node_authority |
|
|
|
WHERE site = #{data.site} |
|
|
|
AND bu = #{data.bu} |
|
|
|
AND classification_no = #{data.classificationNo} |
|
|
|
AND node_id = #{data.nodeId} |
|
|
|
AND table_id = #{data.tableId} |
|
|
|
@ -325,16 +392,13 @@ |
|
|
|
|
|
|
|
<select id="getProcessControlList" resultType="com.gaotao.modules.workflow.dto.WorkflowProcessControlData"> |
|
|
|
SELECT |
|
|
|
id, |
|
|
|
site, |
|
|
|
#{data.site} AS site, |
|
|
|
workflow_id AS workflowId, |
|
|
|
role_id AS roleId, |
|
|
|
remark, |
|
|
|
#{data.nodeId} AS nodeId |
|
|
|
FROM plm_process_controll_base |
|
|
|
WHERE workflow_id = #{data.workflowId} |
|
|
|
AND (site = #{data.site} OR site IS NULL OR site = '') |
|
|
|
ORDER BY role_id |
|
|
|
</select> |
|
|
|
|
|
|
|
<select id="getProcessSelect" resultType="com.gaotao.modules.workflow.dto.WorkflowProcessControlData"> |
|
|
|
@ -349,11 +413,10 @@ |
|
|
|
LEFT JOIN plm_process_controll_base b |
|
|
|
ON a.workflow_id = b.workflow_id |
|
|
|
AND a.role_id = b.role_id |
|
|
|
AND (b.site = a.site OR b.site IS NULL OR b.site = '') |
|
|
|
WHERE a.site = #{data.site} |
|
|
|
AND a.workflow_id = #{data.workflowId} |
|
|
|
AND a.node_id = #{data.nodeId} |
|
|
|
ORDER BY a.role_id |
|
|
|
AND b.remark IS NOT NULL |
|
|
|
</select> |
|
|
|
|
|
|
|
<delete id="deleteProcessControlList"> |
|
|
|
|