SELECT T.LAST_NORMAL_TASK_WORKORDER_NAME,
N.WORKORDER_NAME,
T.LAST_NORMAL_TASK_COLOR_CN,
N.COLOR_CN,
T.LAST_NORMAL_TASK_ITEM_CODE,
N.ITEM_CODE,
T.LAST_NORMAL_TASK_WORK_SERCTION,
N.WORK_SERCTION,
COALESCE (T.LAST_NORMAL_TASK_PLAN_END_TIME, NOW()) AS LAST_NORMAL_TASK_PLAN_END_TIME,
COALESCE (N.LINE_RELEASE_TIME, NOW()) AS LINE_RELEASE_TIME,
(SELECT P.VALUE_INFO
FROM T_BASE_PARAMETER p
WHERE P.SERVICE_NAME = '波次看板'
AND P.KEY_INFO = '拖期缓冲小时数') AS OVERDUE_BUFFER,
L.LINE_NAME,
L.LINE_DESC,
L.DEPT_NAME,
L.DEPT_CODE,
T.LAST_NORMAL_TASK_PROD_LINE_CODE,
N.PROD_LINE_CODE,
T.LAST_NORMAL_TASK_PROD_AREA_CODE,
N.PROD_AREA_CODE,
T.LAST_NORMAL_TASK_PROD_FAMILY_CODE,
N.PROD_FAMILY_CODE,
T.LAST_NORMAL_TASK_PROD_SERIES_CODE,
N.PROD_SERIES_CODE,
T.LAST_NORMAL_TASK_PROD_MODEL_CODE,
N.PROD_MODEL_CODE
FROM T_BASE_LINE_DEPT L
LEFT JOIN (SELECT FACTORY_LINE,
DEPT_NAME AS LAST_NORMAL_TASK_DEPT_NAME,
WORKORDER_NAME AS LAST_NORMAL_TASK_WORKORDER_NAME,
COLOR_CN AS LAST_NORMAL_TASK_COLOR_CN,
ITEM_CODE AS LAST_NORMAL_TASK_ITEM_CODE,
PROD_MODEL_CODE AS LAST_NORMAL_TASK_PROD_MODEL_CODE,
WORK_SERCTION AS LAST_NORMAL_TASK_WORK_SERCTION,
PLAN_END_TIME AS LAST_NORMAL_TASK_PLAN_END_TIME,
PROD_LINE_CODE AS LAST_NORMAL_TASK_PROD_LINE_CODE,
PROD_AREA_CODE AS LAST_NORMAL_TASK_PROD_AREA_CODE,
PROD_FAMILY_CODE AS LAST_NORMAL_TASK_PROD_FAMILY_CODE,
PROD_SERIES_CODE AS LAST_NORMAL_TASK_PROD_SERIES_CODE
FROM (SELECT A.WORKORDER_NAME,
A.FACTORY_LINE,
A.DEPT_NAME,
A.COLOR_CN,
A.ITEM_CODE,
A.PROD_MODEL_CODE,
A.WORK_SERCTION,
A.PLAN_END_TIME,
ROW_NUMBER() OVER(PARTITION BY A.FACTORY_LINE ORDER BY A.PLAN_END_TIME DESC) AS RR,
BPC.PROD_LINE_CODE,
BPC.PROD_AREA_CODE,
BPC.PROD_FAMILY_CODE,
BPC.PROD_SERIES_CODE
FROM T_WAVE_TASKORDER_JUXIN A,
T_WAVE_WORKORDER_INFO B,
T_BASE_PROD_CATALOG BPC
WHERE CAST(A.TASKORDER_STATUS as integer) > 0
AND B.WORKORDER_NAME = A.WORKORDER_NAME
AND A.IS_DELETE <![CDATA[ <> ]]> 1
AND B.WORKORDER_QTY <![CDATA[ > ]]> 0
AND A.PROD_MODEL_CODE = BPC.PROD_MODEL_CODE
AND B.IS_DELETE = 0
AND B.ORDER_TYPE = 'NORMAL') AB
WHERE AB.RR = 1) T
ON T.FACTORY_LINE = L.LINE_NAME
LEFT JOIN (SELECT FACTORY_LINE,
DEPT_NAME,
WORKORDER_NAME,
COLOR_CN,
ITEM_CODE,
PROD_MODEL_CODE,
WORK_SERCTION,
PLAN_END_TIME AS LINE_RELEASE_TIME,
PROD_LINE_CODE,
PROD_AREA_CODE,
PROD_FAMILY_CODE,
PROD_SERIES_CODE
FROM (SELECT A1.WORKORDER_NAME,
A1.FACTORY_LINE,
A1.DEPT_NAME,
A1.COLOR_CN,
A1.ITEM_CODE,
A1.PROD_MODEL_CODE,
A1.WORK_SERCTION,
A1.PLAN_END_TIME,
ROW_NUMBER() OVER(PARTITION BY A1.FACTORY_LINE ORDER BY A1.PLAN_END_TIME DESC) AS RR,
BPC1.PROD_LINE_CODE,
BPC1.PROD_AREA_CODE,
BPC1.PROD_FAMILY_CODE,
BPC1.PROD_SERIES_CODE
FROM T_WAVE_TASKORDER_JUXIN A1,
T_WAVE_WORKORDER_INFO B1,
T_BASE_PROD_CATALOG BPC1
WHERE CAST(A1.TASKORDER_STATUS as integer) > 0
AND B1.WORKORDER_NAME = A1.WORKORDER_NAME
AND A1.IS_DELETE <![CDATA[ <> ]]> 1
AND B1.WORKORDER_QTY <![CDATA[ > ]]> 0
AND A1.PROD_MODEL_CODE = BPC1.PROD_MODEL_CODE
AND B1.IS_DELETE = 0) AB1
WHERE AB1.RR = 1) N
ON N.FACTORY_LINE = L.LINE_NAME
WHERE L.IS_DELETE = 0
AND L.VALID_FLAG = 'Y'
AND L.LINE_NAME IN (
<foreach collection="list" index="index" item="item" open="(" separator="union" close=")">
SELECT #{item,jdbcType=VARCHAR} as val
</foreach>
)
ORDER BY L.LINE_NAME
</select>转化成sql