@ -23,6 +23,33 @@
</resultMap>
</resultMap>
<resultMap id= "FullResultMap" type= "com.foreverwin.mesnac.production.dto.AccessoryConsumDto" >
<result column= "USER" property= "user" />
<result column= "ROLE" property= "role" />
<result column= "IS_COMPLETED" property= "isCompleted" />
<result column= "ITEM_BO" property= "itemBo" />
<result column= "SFC" property= "sfc" />
<result column= "ITEM" property= "item" />
<result column= "STATUS_NAME" property= "statusName" />
<result column= "IS_MAJOR" property= "isMajor" />
<result column= "COMMENTS" property= "comments" />
<result column= "WORK_ORDER" property= "workOrder" />
<result column= "SHOP_ORDER_TYPE" property= "shopOrderType" />
<result column= "ITEM_DESCRIPTION" property= "itemDescription" />
<result column= "COMPONENT" property= "component" />
<result column= "COMPONENT_DESCRIPTION" property= "componentDescription" />
<result column= "TEXTURE" property= "texture" />
<result column= "MAT_SPEC" property= "matSpec" />
<result column= "COMPLETED_QTY" property= "completedQty" />
<result column= "RESOURCE_DESCRIPTION" property= "resourceDescription" />
<result column= "COMPONENT_DESCRIPTION" property= "componentDescription" />
<result column= "OPERATION_DESCRIPTION" property= "operationDescription" />
<result column= "RESOURCE_WORK_CENTER" property= "resourceWorkCenter" />
<result column= "ACCESSORY_ITEM" property= "accessoryItem" />
<result column= "ACCESSORY_DESCRIPTION" property= "accessoryDescription" />
<result column= "ACCESSORY_QTY" property= "accessoryQty" />
<result column= "WORK_CENTER_DESCRIPTION" property= "workCenterDescription" />
</resultMap>
<!-- 通用查询结果列 -->
<!-- 通用查询结果列 -->
<sql id= "Base_Column_List" >
<sql id= "Base_Column_List" >
HANDLE, SITE, WORK_CENTER, SHOP_ORDER, SFC, OPERATION, STEP_ID, RESRCE, LABEL, BATCH, ITEM, REVISION, QTY, CREATE_USER, CREATED_DATE_TIME
HANDLE, SITE, WORK_CENTER, SHOP_ORDER, SFC, OPERATION, STEP_ID, RESRCE, LABEL, BATCH, ITEM, REVISION, QTY, CREATE_USER, CREATED_DATE_TIME
@ -487,4 +514,138 @@
WHERE zal.sfc=#{sfc} AND zal.SITE=#{site} AND zal.STEP_ID=#{stepId}
WHERE zal.sfc=#{sfc} AND zal.SITE=#{site} AND zal.STEP_ID=#{stepId}
ORDER BY zal.CREATED_DATE_TIME DESC
ORDER BY zal.CREATED_DATE_TIME DESC
</select>
</select>
<select id= "getItems" resultMap= "FullResultMap" >
SELECT DISTINCT(ZAL.ITEM) ACCESSORY_ITEM,IT.DESCRIPTION ACCESSORY_DESCRIPTION FROM Z_ACCESSORY_LOG ZAL
LEFT JOIN ITEM IM ON ZAL.ITEM = IM.ITEM
LEFT JOIN ITEM_T IT ON IM.HANDLE=IT.ITEM_BO
</select>
<select id= "selectAccessory" resultMap= "FullResultMap" >
SELECT WIP.*
FROM (
SELECT WIP.*, V1.STEP_ID PREPOSITION_STEP_ID, V1.OPERATION PREPOSITION_OPERATION,
CASE WHEN WIP.DISPATCH_SEQ = 1 OR V1.DISPATCH_STATUS = 'COMPLETE' THEN N'是' ELSE N'否' END IS_COMPLETED,
CASE WHEN WIP.DISPATCH_STATUS = 'NEW' THEN N'新建' WHEN WIP.DISPATCH_STATUS = 'CANCEL' THEN N'取消'
WHEN WIP.DISPATCH_STATUS = 'PAUSE' THEN N'暂停' WHEN WIP.DISPATCH_STATUS = 'RELEASE' THEN N'发布'
END AS STATUS_NAME, 'ADMINISTRATOR' AS ROLE
FROM (
SELECT SD.HANDLE, SD.SITE, SD.SHOP_ORDER, SD.DISPATCH_NO, SD.ROUTER_BO, C2.VALUE ITEM_NUMBER, C1.VALUE WORK_ORDER, IM.HANDLE ITEM_BO, IM.ITEM, IT.DESCRIPTION ITEM_DESCRIPTION, SD.SFC, SD.DISPATCH_STATUS,SD.DRAWINGS_REVISION,
SD.STEP_ID, SD.OPERATION, OT.DESCRIPTION OPERATION_DESCRIPTION, SD.RESOURCE_TYPE, SD.RESRCE, SD.EMPLOYEE, SD.EMPLOYEE USER_NAME, SD.DISPATCH_QTY, SD.PROD_HOURS, RS.DESCRIPTION RESOURCE_DESCRIPTION,
CASE WHEN SD.DISPATCH_STATUS = 'COMPLETE' THEN SD.DISPATCH_QTY ELSE 0 END COMPLETED_QTY, SD.PLANNED_START_DATE, SD.PLANNED_COMP_DATE, SD.WORK_CENTER, SD.IS_DISPATCH, SD.EMPLOYEE_DESCRIPTION,
SD.ACTUAL_START_DATE, SD.ACTUAL_COMPLETE_DATE, SD.REMARK, SD.DISPATCH_SEQ, SD.DISPATCH_SEQ-1 BEFORE_SEQ, SD.DISPATCH_SEQ+1 AFTER_SEQ, SD.EARLIEST_START_DATE, SD.LATEST_END_DATE,
CASE WHEN CC.VALUE = '9' THEN N'是' ELSE N'否' END IS_MAJOR, CASE WHEN SD.TURN_OPERATION = 'true' THEN N'是' ELSE N'否' END TURN_OPERATION, SD.IS_UPDATE_ZJH_COMPLETE, SD.BLANKING_SIZE, MAX(BC.COMPONENT_GBO) COMPONENT_BO,
WR.WORK_CENTER RESOURCE_WORK_CENTER,WT.DESCRIPTION WORK_CENTER_DESCRIPTION, MAX(CP.ITEM) COMPONENT, MAX(CT.DESCRIPTION) COMPONENT_DESCRIPTION, MAX(C3.VALUE) TEXTURE, MAX(C4.VALUE) MAT_SPEC ,SD.OTHER_2,
ZAL.ITEM ACCESSORY_ITEM,NVL2(ZAL.ITEM, IT.DESCRIPTION, NULL) ACCESSORY_DESCRIPTION,ZAL.QTY ACCESSORY_QTY
FROM Z_SFC_DISPATCH SD
INNER JOIN SFC SC ON SC.SITE = SD.SITE AND SC.SFC = SD.SFC
LEFT JOIN RESRCE RS ON SD.SITE = RS.SITE AND SD.RESRCE = RS.RESRCE
INNER JOIN SHOP_ORDER SO ON SO.SITE = SD.SITE AND SO.SHOP_ORDER = SD.SHOP_ORDER
LEFT JOIN CUSTOM_FIELDS C1 ON C1.HANDLE = SO.HANDLE AND C1."ATTRIBUTE" = 'WORK_ORDER'
LEFT JOIN CUSTOM_FIELDS C2 ON C2.HANDLE = SO.HANDLE AND C2."ATTRIBUTE" = 'ITEM_NUMBER'
INNER JOIN ITEM IM ON IM.HANDLE = SO.ITEM_BO
LEFT JOIN ITEM_T IT ON IT.ITEM_BO = IM.HANDLE AND IT.LOCALE = 'zh'
LEFT JOIN CUSTOM_FIELDS CC ON CC.HANDLE = IM.HANDLE AND CC.ATTRIBUTE = 'ACCESSORY_TYPE'
INNER JOIN OPERATION O ON O.SITE = SD.SITE AND O.OPERATION = SD.OPERATION AND O.CURRENT_REVISION = 'true'
LEFT JOIN OPERATION_T OT ON OT.OPERATION_BO = O.HANDLE AND OT.LOCALE = 'zh'
INNER JOIN SFC_BOM SB ON SB.SFC_BO = SC.HANDLE
INNER JOIN BOM_COMPONENT BC ON BC.BOM_BO = SB.BOM_BO
LEFT JOIN ITEM CP ON CP.HANDLE = BC.COMPONENT_GBO
LEFT JOIN ITEM_T CT ON CT.ITEM_BO = CP.HANDLE AND CT.LOCALE = 'zh'
LEFT JOIN CUSTOM_FIELDS C3 ON C3.HANDLE = CP.HANDLE AND C3.ATTRIBUTE = 'TEXTTURE'
LEFT JOIN CUSTOM_FIELDS C4 ON C4.HANDLE = CP.HANDLE AND C4.ATTRIBUTE = 'MAT_SPEC'
LEFT JOIN WORK_CENTER_MEMBER WCM ON WCM.WORK_CENTER_OR_RESOURCE_GBO = 'ResourceBO:' || SD.SITE || ',' || SD.RESRCE
LEFT JOIN WORK_CENTER WR ON WR.HANDLE = WCM.WORK_CENTER_BO
LEFT JOIN WORK_CENTER WR1 ON WR1.WORK_CENTER = SD.WORK_CENTER
LEFT JOIN WORK_CENTER_T WT ON WT.WORK_CENTER_BO = WR1.HANDLE AND WT.LOCALE = 'zh'
LEFT JOIN Z_ACCESSORY_LOG ZAL ON ZAL.SFC = SD.SFC AND ZAL.SHOP_ORDER = SD.SHOP_ORDER AND ZAL.STEP_ID = SD.STEP_ID
WHERE SD.SITE = #{site}
<if test= "workCenter != null and workCenter != ''" >
AND SD.OPERATION LIKE #{workCenter}||'%'
</if>
<if test= "dispatchStatus != null and dispatchStatus != ''" >
AND SD.DISPATCH_STATUS = #{dispatchStatus}
</if>
<if test= "status != null and status != ''" >
AND SD.DISPATCH_STATUS IN ${status}
</if>
<if test= "item != null and item != ''" >
AND IM.ITEM = #{item}
</if>
<if test= "itemDescription !=null and itemDescription!=''" >
AND IT.DESCRIPTION like '%' ||#{itemDescription}|| '%'
</if>
<if test= "workOrder != null and workOrder != ''" >
AND C1.VALUE LIKE '%' ||#{workOrder}|| '%'
</if>
<if test= "itemNumber != null and itemNumber != ''" >
AND C2.VALUE LIKE '%' ||#{itemNumber}|| '%'
</if>
<if test= "shopOrder != null and shopOrder != ''" >
AND SD.SHOP_ORDER = #{shopOrder}
</if>
<if test= "resourceType != null and resourceType != ''" >
AND SD.RESOURCE_TYPE = #{resourceType}
</if>
<if test= "resrce != null and resrce != ''" >
AND SD.RESRCE = #{resrce}
</if>
<if test= "operation != null and operation != ''" >
AND SD.OPERATION = #{operation}
</if>
<if test= "operationDescription != null and operationDescription != ''" >
AND OT.DESCRIPTION = #{operationDescription}
</if>
<if test= "sfc != null and sfc != ''" >
AND SD.SFC = #{sfc}
</if>
<if test= "turnOperation != null and turnOperation != ''" >
AND SD.TURN_OPERATION = #{turnOperation}
</if>
<if test= "isDispatch != null and isDispatch != ''" >
AND SD.IS_DISPATCH = #{isDispatch}
</if>
<if test= "blankingSize != null and blankingSize != ''" >
AND SD.BLANKING_SIZE LIKE '%'||#{blankingSize}||'%'
</if>
<if test= "component != null and component != ''" >
AND CP.ITEM = #{component}
</if>
<if test= "componentDescription != null and componentDescription != ''" >
AND CT.DESCRIPTION LIKE '%' || #{componentDescription} || '%'
</if>
<if test= "texture != null and texture != ''" >
AND C3.VALUE LIKE '%'|| #{texture} ||'%'
</if>
<if test= "matSpec != null and matSpec != ''" >
AND C4.VALUE = #{matSpec}
</if>
<if test= "startFromDate != null" >
AND SD.ACTUAL_START_DATE >= TO_DATE(#{startFromDate}, 'YYYY-MM-DD')
</if>
<if test= "startToDate != null" >
AND SD.ACTUAL_START_DATE < = TO_DATE(#{startToDate}|| '23:59:59', 'YYYY-MM-DD HH24:MI:SS')
</if>
<if test= "completeFromDate != null" >
AND SD.ACTUAL_COMPLETE_DATE >= TO_DATE(#{completeFromDate}, 'YYYY-MM-DD')
</if>
<if test= "completeToDate != null" >
AND SD.ACTUAL_COMPLETE_DATE < = TO_DATE(#{completeToDate}|| '23:59:59', 'YYYY-MM-DD HH24:MI:SS')
</if>
<if test= "accessory != null and accessory != ''" >
AND ZAL.ITEM = #{accessory}
</if>
GROUP BY SD.HANDLE, SD.SITE, SD.SHOP_ORDER, SD.DISPATCH_NO, SD.ROUTER_BO, C2.VALUE, C1.VALUE, IM.HANDLE, IM.ITEM, IT.DESCRIPTION, SD.SFC, SD.DISPATCH_STATUS,SD.DRAWINGS_REVISION,
SD.STEP_ID, SD.OPERATION, OT.DESCRIPTION, SD.RESOURCE_TYPE, SD.RESRCE, SD.EMPLOYEE, SD.EMPLOYEE, SD.DISPATCH_QTY, SD.PROD_HOURS, RS.DESCRIPTION,
SD.DISPATCH_STATUS, SD.DISPATCH_QTY, SD.PLANNED_START_DATE, SD.PLANNED_COMP_DATE, SD.WORK_CENTER, SD.IS_DISPATCH, SD.EMPLOYEE_DESCRIPTION,
SD.ACTUAL_START_DATE, SD.ACTUAL_COMPLETE_DATE, SD.REMARK, SD.DISPATCH_SEQ, SD.EARLIEST_START_DATE, SD.LATEST_END_DATE,
CC.VALUE, SD.TURN_OPERATION,SD.IS_UPDATE_ZJH_COMPLETE, SD.BLANKING_SIZE, WR.WORK_CENTER ,SD.OTHER_2,ZAL.ITEM ,ZAL.QTY,WT.DESCRIPTION
) WIP
LEFT JOIN Z_SFC_DISPATCH V1 ON V1.SITE = WIP.SITE AND V1.SFC = WIP.SFC AND V1.ROUTER_BO = WIP.ROUTER_BO AND V1.DISPATCH_SEQ = WIP.BEFORE_SEQ
LEFT JOIN Z_SFC_DISPATCH V2 ON V2.SITE = WIP.SITE AND V2.SFC = WIP.SFC AND V2.ROUTER_BO = WIP.ROUTER_BO AND V2.DISPATCH_SEQ = WIP.AFTER_SEQ
) WIP
<if test= "isCompleted != null and isCompleted != ''" >
WHERE WIP.IS_COMPLETED = #{isCompleted}
</if>
ORDER BY WIP.SHOP_ORDER,WIP.SFC,WIP.STEP_ID,TO_NUMBER(WIP.DISPATCH_SEQ)
</select>
</mapper>
</mapper>