@@ -389,4 +389,244 @@
|
||||
]]>
|
||||
</update>
|
||||
|
||||
<!-- 출고완료상태의 출고상품 목록 조회 -->
|
||||
<select id="selectBOExportOrderItemInqire">
|
||||
<![CDATA[
|
||||
SELECT
|
||||
EXI.ORDR_GOODS_OPTN_INNB
|
||||
,EXI.OPTN_TY
|
||||
,EXI.SOPMAL_CD
|
||||
,(OIOP.STEP45 + OIOP.STEP55 + OIOP.STEP65 + OIOP.STEP75) AS QY
|
||||
,0 AS PYMNT_PREARNGE_QY -- 지급예정수량
|
||||
,IFNULL((EXI.PYMNT_PREARNGE_QY - OIOP.STEP85), 0) AS ACCMLMNY_PYMNT_QY -- 적립금지급수량
|
||||
,IFNULL(OIOP.STEP85, 0) AS PYMNT_PREARNGE_EXTSH_QY -- 지급예정소멸수량
|
||||
,EX.ORDR_INNB
|
||||
,O.MBR_DV_CD
|
||||
,O.MBR_INNB
|
||||
,OIOP.ORDR_DLVY_INNB
|
||||
,IFNULL(EX.DLIVY_CD_NB, '') AS DLIVY_CD_NB
|
||||
,EX.DLIVY_INNB
|
||||
,IFNULL(OIOP.MLG_VALID_PD, 0) AS MLG_VALID_PD
|
||||
,IFNULL(OIOP.MLG_VALID_PD_AT, 'N') AS MLG_VALID_PD_AT
|
||||
,CASE
|
||||
WHEN OIOP.STEP85 = 0 THEN ROUND(OIOP.MLG_ACCML_UNIT * ( OIOP.ORDR_QY - OIOP.STEP85 ) + OIOP.MLG_ACCML_REST)
|
||||
WHEN OIOP.STEP85 > 0 THEN ROUND(OIOP.MLG_ACCML_UNIT * ( OIOP.ORDR_QY - OIOP.STEP85 ))
|
||||
END AS MLG_ACCML_AMT
|
||||
FROM GC_GOODS_EXPORT_ITEM EXI
|
||||
INNER JOIN GC_GOODS_EXPORT EX ON EXI.SOPMAL_CD = EX.SOPMAL_CD
|
||||
AND EXI.DLIVY_INNB = EX.DLIVY_INNB
|
||||
INNER JOIN GC_ORDER_ITEM_OPTION OIOP ON EXI.SOPMAL_CD = OIOP.SOPMAL_CD
|
||||
AND EXI.OPTN_TY = OIOP.OPTN_TY
|
||||
AND EXI.ORDR_GOODS_OPTN_INNB = OIOP.ORDR_GOODS_OPTN_INNB
|
||||
AND OIOP.PURCHS_DCSN_QY < ( OIOP.ORDR_QY - OIOP.STEP85 )
|
||||
INNER JOIN GC_ORDER O ON EX.SOPMAL_CD = O.SOPMAL_CD
|
||||
AND EX.ORDR_INNB = O.ORDR_INNB
|
||||
WHERE 1 = 1
|
||||
AND EX.SOPMAL_CD = #{sopmalCd}
|
||||
]]>
|
||||
<choose>
|
||||
<when test="@com.wb.domainserver.util.dataaccess.MybaitsUtil@isNotEmpty(dlivyInnb)">
|
||||
<![CDATA[
|
||||
AND EX.DLIVY_INNB = #{dlivyInnb}
|
||||
]]>
|
||||
</when>
|
||||
<when test="@com.wb.domainserver.util.dataaccess.MybaitsUtil@isNotEmpty(ordrGoodsOptnInnb)">
|
||||
<![CDATA[
|
||||
AND EXI.OPTN_TY = #{optnTy}
|
||||
AND EXI.ORDR_GOODS_OPTN_INNB = #{ordrGoodsOptnInnb}
|
||||
]]>
|
||||
</when>
|
||||
<when test="@com.wb.domainserver.util.dataaccess.MybaitsUtil@isNotEmpty(ordrInnb)">
|
||||
<![CDATA[
|
||||
AND EX.ORDR_INNB = #{ordrInnb}
|
||||
]]>
|
||||
</when>
|
||||
</choose>
|
||||
</select>
|
||||
|
||||
<!-- 출고 처리 후 주문 상품 옵션 상태 변경 -->
|
||||
<update id="updateBOOrdrItemStatusUpdt6575">
|
||||
<![CDATA[
|
||||
UPDATE GC_ORDER_ITEM_OPTION SET
|
||||
]]>
|
||||
<choose>
|
||||
<when test="@com.wb.domainserver.util.dataaccess.MybaitsUtil@isEquals(dlivySttusCd, '65')">
|
||||
<![CDATA[
|
||||
ORDR_STTUS_CD =
|
||||
CASE
|
||||
WHEN (ORDR_QY - STEP85) > #{qy} THEN '60'
|
||||
WHEN (ORDR_QY - STEP85) = #{qy} THEN '65'
|
||||
ELSE ORDR_STTUS_CD
|
||||
END
|
||||
,STEP65 = #{qy}
|
||||
,STEP55 = CASE
|
||||
WHEN (STEP55 - #{qy}) < 0 THEN 0
|
||||
ELSE (STEP55 - #{qy})
|
||||
END,
|
||||
]]>
|
||||
</when>
|
||||
<when test="@com.wb.domainserver.util.dataaccess.MybaitsUtil@isEquals(dlivySttusCd, '75')">
|
||||
<![CDATA[
|
||||
ORDR_STTUS_CD =
|
||||
CASE
|
||||
WHEN (ORDR_QY - STEP85) > #{qy} THEN '70'
|
||||
WHEN (ORDR_QY - STEP85) = #{qy} THEN '75'
|
||||
ELSE ORDR_STTUS_CD
|
||||
END
|
||||
,STEP55 = CASE
|
||||
WHEN (STEP55 - #{qy}) < 0 THEN 0
|
||||
ELSE (STEP55 - #{qy})
|
||||
END
|
||||
,STEP65 = CASE
|
||||
WHEN (STEP65 - #{qy}) < 0 THEN 0
|
||||
ELSE (STEP65 - #{qy})
|
||||
END
|
||||
,STEP75 = #{qy},
|
||||
]]>
|
||||
</when>
|
||||
<when test="@com.wb.domainserver.util.dataaccess.MybaitsUtil@isEquals(dlivySttusCd, '55')">
|
||||
<![CDATA[
|
||||
ORDR_STTUS_CD =
|
||||
CASE
|
||||
WHEN (ORDR_QY - STEP85) > #{qy} THEN '50'
|
||||
WHEN (ORDR_QY - STEP85) = #{qy} THEN '55'
|
||||
ELSE ORDR_STTUS_CD
|
||||
END
|
||||
,STEP55 = #{qy},
|
||||
]]>
|
||||
</when>
|
||||
</choose>
|
||||
<![CDATA[
|
||||
STEP45 = 0
|
||||
,UPDT_DT = SYSDATE()
|
||||
WHERE SOPMAL_CD = #{sopmalCd}
|
||||
AND OPTN_TY = #{optnTy}
|
||||
AND ORDR_GOODS_OPTN_INNB = #{ordrGoodsOptnInnb}
|
||||
]]>
|
||||
</update>
|
||||
|
||||
<!-- 출고 처리 후 주문 배송 상태 변경
|
||||
SH.ORDR_STTUS_CD =
|
||||
CASE
|
||||
WHEN EXISTS (
|
||||
SELECT
|
||||
1
|
||||
FROM GC_ORDER_ITEM_OPTION OIOP
|
||||
WHERE OIOP.SOPMAL_CD = SH.SOPMAL_CD
|
||||
AND OIOP.ORDR_DLVY_INNB = SH.ORDR_DLVY_INNB
|
||||
AND OIOP.ORDR_STTUS_CD = '60'
|
||||
) THEN '60'
|
||||
WHEN EXISTS (
|
||||
SELECT
|
||||
1
|
||||
FROM GC_ORDER_ITEM_OPTION OIOP
|
||||
WHERE OIOP.SOPMAL_CD = SH.SOPMAL_CD
|
||||
AND OIOP.ORDR_DLVY_INNB = SH.ORDR_DLVY_INNB
|
||||
AND OIOP.ORDR_STTUS_CD = '65'
|
||||
) THEN '65'
|
||||
ELSE ORDR_STTUS_CD
|
||||
END
|
||||
|
||||
-->
|
||||
<update id="updateBOOrdrDlvyStatusUpdt6575">
|
||||
<![CDATA[
|
||||
UPDATE
|
||||
GC_ORDER_SHIPPING SH,
|
||||
(
|
||||
SELECT CASE WHEN MAX(OIOP.ORDR_STTUS_CD) = MIN(OIOP.ORDR_STTUS_CD) THEN MAX(OIOP.ORDR_STTUS_CD)
|
||||
ELSE CAST(MAX(OIOP.ORDR_STTUS_CD) - 5 AS CHAR(2))
|
||||
END ORDR_STTUS_CD
|
||||
, SH.SOPMAL_CD, SH.ORDR_INNB, SH.ORDR_DLVY_INNB
|
||||
FROM GC_ORDER_SHIPPING SH
|
||||
INNER JOIN GC_ORDER_ITEM_OPTION OIOP
|
||||
ON SH.SOPMAL_CD = OIOP.SOPMAL_CD
|
||||
AND SH.ORDR_DLVY_INNB = OIOP.ORDR_DLVY_INNB
|
||||
AND OIOP.ORDR_QY <> OIOP.STEP85
|
||||
WHERE SH.SOPMAL_CD = #{sopmalCd}
|
||||
AND SH.ORDR_INNB = #{ordrInnb}
|
||||
]]>
|
||||
<choose>
|
||||
<when test="@com.wb.domainserver.util.dataaccess.MybaitsUtil@isNotEmpty(ordrDlvyInnb)">
|
||||
AND SH.ORDR_DLVY_INNB = #{ordrDlvyInnb}
|
||||
</when>
|
||||
<when test="@com.wb.domainserver.util.dataaccess.MybaitsUtil@isNotEmpty(ordrDlvyInnbArr)">
|
||||
<![CDATA[
|
||||
AND SH.ORDR_DLVY_INNB IN
|
||||
]]>
|
||||
<foreach collection="ordrDlvyInnbArr" item="ordrDlvyInnbArr" open="(" close=")" separator=",">
|
||||
#{ordrDlvyInnbArr}
|
||||
</foreach>
|
||||
</when>
|
||||
</choose>
|
||||
<![CDATA[
|
||||
AND SH.USE_AT = 'Y'
|
||||
GROUP BY SH.SOPMAL_CD, SH.ORDR_INNB, SH.ORDR_DLVY_INNB
|
||||
]]>
|
||||
<![CDATA[
|
||||
) STEP
|
||||
SET
|
||||
SH.ORDR_STTUS_CD = STEP.ORDR_STTUS_CD
|
||||
,SH.MNGR_INNB = #{updusr}
|
||||
,SH.UPDT_DT = SYSDATE()
|
||||
WHERE 1 = 1
|
||||
AND SH.SOPMAL_CD = STEP.SOPMAL_CD
|
||||
AND SH.ORDR_INNB = STEP.ORDR_INNB
|
||||
AND SH.ORDR_DLVY_INNB = STEP.ORDR_DLVY_INNB
|
||||
]]>
|
||||
</update>
|
||||
|
||||
<!-- 출고 처리 후 주문 상태 변경
|
||||
UPDATE GC_ORDER O SET
|
||||
O.ORDR_STTUS_CD =
|
||||
CASE
|
||||
WHEN EXISTS (
|
||||
SELECT
|
||||
1
|
||||
FROM GC_ORDER_SHIPPING SH
|
||||
WHERE O.SOPMAL_CD = SH.SOPMAL_CD
|
||||
AND O.ORDR_INNB = SH.ORDR_INNB
|
||||
AND SH.ORDR_STTUS_CD = '60'
|
||||
) THEN '60'
|
||||
WHEN EXISTS (
|
||||
SELECT
|
||||
1
|
||||
FROM GC_ORDER_SHIPPING SH
|
||||
WHERE O.SOPMAL_CD = SH.SOPMAL_CD
|
||||
AND O.ORDR_INNB = SH.ORDR_INNB
|
||||
AND SH.ORDR_STTUS_CD = '65'
|
||||
) THEN '65'
|
||||
ELSE ORDR_STTUS_CD
|
||||
END
|
||||
WHERE O.SOPMAL_CD = #{sopmalCd}
|
||||
AND O.ORDR_INNB = #{ordrInnb}
|
||||
AND O.USE_AT = 'Y'
|
||||
-->
|
||||
<update id="updateBOOrdrStatusUpdt6575">
|
||||
<![CDATA[
|
||||
UPDATE
|
||||
GC_ORDER O,
|
||||
(SELECT CASE WHEN MAX(SH.ORDR_STTUS_CD) = MIN(SH.ORDR_STTUS_CD) THEN MAX(SH.ORDR_STTUS_CD)
|
||||
ELSE CAST(MAX(SH.ORDR_STTUS_CD) - 5 AS CHAR(2))
|
||||
END ORDR_STTUS_CD
|
||||
, O.SOPMAL_CD, O.ORDR_INNB
|
||||
FROM GC_ORDER O
|
||||
INNER JOIN GC_ORDER_SHIPPING SH
|
||||
ON O.SOPMAL_CD = SH.SOPMAL_CD
|
||||
AND O.ORDR_INNB = SH.ORDR_INNB
|
||||
AND SH.ORDR_STTUS_CD <> '85'
|
||||
WHERE O.SOPMAL_CD = #{sopmalCd}
|
||||
AND O.ORDR_INNB = #{ordrInnb}
|
||||
GROUP BY O.SOPMAL_CD, O.ORDR_INNB
|
||||
) STEP
|
||||
SET
|
||||
O.ORDR_STTUS_CD = STEP.ORDR_STTUS_CD
|
||||
,O.MNGR_INNB = #{updusr}
|
||||
,O.UPDT_DT = SYSDATE()
|
||||
WHERE 1 = 1
|
||||
AND O.SOPMAL_CD = STEP.SOPMAL_CD
|
||||
AND O.ORDR_INNB = STEP.ORDR_INNB
|
||||
AND O.USE_AT = 'Y'
|
||||
]]>
|
||||
</update>
|
||||
|
||||
</mapper>
|
||||
|
||||
Reference in New Issue
Block a user