UPDATE
INCONTROL.ZHCX_PMQ_MANAGEMENT_RECORED
SET
DISPATCHSTATUS = #{status},MODIFYDATE = #{nowDate}
WHERE
ID = #{id}
WITH SplitConfirmers AS (SELECT a.ID,
a.DELETED,
a.REMARK,
a.PID,
a.PROJECTID,
a.MACHINEID,
a.MACHINENO,
a.PROJECTNO,
a.PROJECTNAME,
SUBSTRING_INDEX(SUBSTRING_INDEX(a.CONFIRMERID, ',', n.n), ',',-1) AS CONFIRMERID,
SUBSTRING_INDEX(SUBSTRING_INDEX(a.CONFIRMER, ',', n.n), ',', -1) AS CONFIRMER,
a.ESTIMATEDCLOSEDATA,
a.STATUS,
a.SERIALNUMBER,
a.SUPPLEMENT
FROM INCONTROL.ZHCX_PMQ_MANAGEMENT_DISTRIBUTION a
CROSS JOIN (SELECT LEVEL AS n
FROM DUAL CONNECT BY LEVEL <= 100) AS n
WHERE a.DELETED = '0'
AND a.PID = #{pid}
AND a.CONFIRMERID IS NOT NULL
AND LENGTH(a.CONFIRMERID) - LENGTH(REPLACE(a.CONFIRMERID, ',', '')) >= n.n - 1
AND LENGTH(a.CONFIRMER) - LENGTH(REPLACE(a.CONFIRMER, ',', '')) >= n.n - 1)
SELECT *
FROM SplitConfirmers
WHERE CONFIRMERID != ''
SELECT a.*
FROM INCONTROL.ZHCX_PMQ_MANAGEMENT_DISTRIBUTION a
WHERE a.DELETED = '0'
AND a.PID = #{pid}
AND a.CONFIRMERID IS NOT NULL
SELECT a.*
FROM INCONTROL.ZHCX_PMQ_MANAGEMENT_DISTRIBUTION a
WHERE a.DELETED = '0' AND a.PID = #{pid}
AND a.CONFIRMERID IS NULL
SELECT
*
FROM
INCONTROL.ZHCX_PMQ_MANAGEMENT_DISTRIBUTION_DETAIL detail
WHERE
detail.DELETED = '0'
AND detail.DISTRIBUTID = #{distributid}
AND detail.PID = #{pid}
AND detail.MACHINEID = #{machineid}
AND detail.CONFIRMERID = #{confirmerid}
SELECT
n.DEVICE_NUMBER AS MACHINENO
FROM
INCONTROL.ZHCX_PROJECT_DEVICE_NUMBER n
JOIN INCONTROL.ZHCX_PROJECT_MANAGE p ON
p.ID = n.PID
AND p.DELETED = '0'
WHERE
n.DELETED = '0' AND p.ID = #{projectId}
ORDER BY
TO_NUMBER(REPLACE(n.DEVICE_NUMBER, '#', ''))
SELECT
recored.ID AS id,
manage.ID AS pid,
recored.SEQNO AS seqno,
recored.DEPTID AS deptId,
m.PARENTNXDEPTNAME ||'/'||recored.DEPTNAME AS deptName
FROM
INCONTROL.ZHCX_PMQ_MANAGEMENT_RECORED recored
LEFT JOIN INCONTROL.ZHCX_PMQ_MANAGEMENT manage ON manage.ID = recored.PMQMID AND manage.DELETED = '0'
LEFT JOIN INCONTROL.ZHCX_PMQ_MANAGEMENT_MAP m ON recored.DEPTID = m.NXDEPTID
WHERE
recored.DELETED = '0'
AND recored.PMQMID = #{id}
ORDER BY m.SORTORDER
SELECT
n.ID AS machineid,
n.DEVICE_NUMBER AS machineno,
e.PID AS pid,
e.ID AS id,
CASE
WHEN e.STATUS IS NULL THEN '未关闭'
ELSE e.STATUS
END AS STATUS
FROM
INCONTROL.ZHCX_PROJECT_DEVICE_NUMBER n
JOIN INCONTROL.ZHCX_PROJECT_MANAGE p ON
p.ID = n.PID
AND p.DELETED = '0'
LEFT JOIN (
SELECT
t.MACHINEID,
WM_CONCAT(t.ID) AS ID,
t.PID,
t.PROJECTID,
t.MACHINENO,
CASE
WHEN SUM(CASE WHEN t.STATUS = '已关闭' THEN 1 ELSE 0 END) = COUNT(*) THEN '已关闭'
WHEN SUM(CASE WHEN t.STATUS = '未关闭' THEN 1 ELSE 0 END) >0 THEN '未关闭'
WHEN (SUM(CASE WHEN t.STATUS = '已关闭' THEN 1 ELSE 0 END) > 0 AND SUM(CASE WHEN t.STATUS!= '已关闭' THEN 1 ELSE 0 END) = COUNT(*) - SUM(CASE WHEN t.STATUS = '已关闭' THEN 1 ELSE 0 END)) THEN '已关闭'
WHEN SUM(CASE WHEN t.STATUS = 'NA' THEN 1 ELSE 0 END) = COUNT(*) THEN 'NA'
ELSE THEN '未关闭'
END AS STATUS
FROM
(
SELECT
x.ID,
x.PID,
x.PROJECTID,
x.MACHINEID,
x.MACHINENO,
CASE
WHEN x.STATUS IS NULL THEN '未关闭'
WHEN x.STATUS = 'NA' THEN 'NA'
WHEN x.STATUS = '已关闭' THEN '已关闭'
ELSE '未关闭'
END AS STATUS
FROM
INCONTROL.ZHCX_PMQ_MANAGEMENT_DISTRIBUTION_DETAIL x
WHERE
x.PID = #{id}
AND x.DELETED = '0'
) AS t
GROUP BY
t.MACHINEID,
t.PID,
t.PROJECTID,
t.MACHINENO
)e ON
e.PROJECTID = p.ID
AND n.ID = e.MACHINEID
WHERE
n.DELETED = '0'
AND p.ID = #{projectId}
ORDER BY
TO_NUMBER(REPLACE(n.DEVICE_NUMBER, '#', ''))
UPDATE
INCONTROL.ZHCX_PMQ_MANAGEMENT_DISTRIBUTION_DETAIL
SET
DELETED = '1',REMARK = '改派删除',MODIFYDATE = #{nowDate}
WHERE
ID IN
#{id}