470 lines
17 KiB
XML
470 lines
17 KiB
XML
<?xml version="1.0" encoding="UTF-8"?>
|
|
<!DOCTYPE mapper
|
|
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
|
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
|
|
<mapper namespace="eo">
|
|
<update id="mergeEO" parameterType="map">
|
|
MERGE INTO EO_INFO T USING DUAL ON ( T.OBJID = #{objId})
|
|
WHEN MATCHED THEN
|
|
UPDATE
|
|
SET
|
|
T.OEM_OBJID = #{oem},
|
|
T.CAR_OBJID = #{car},
|
|
T.DESIGN_TEAM = #{designTeam},
|
|
T.EO_ISSUE_DATE = #{eoIssueDate},
|
|
T.EO_NO = #{eoNo},
|
|
T.EO_TYPE = #{eoType},
|
|
T.HKMC_DISTRIBUTE_DATE = #{hkmcDistributeDate},
|
|
T.STATUS = #{status},
|
|
T.URGENT_DEGREE = #{urgentDegree}
|
|
WHEN NOT MATCHED THEN
|
|
INSERT
|
|
(
|
|
T.OBJID,
|
|
T.OEM_OBJID,
|
|
T.CAR_OBJID,
|
|
T.DESIGN_TEAM,
|
|
T.EO_ISSUE_DATE,
|
|
T.EO_NO,
|
|
T.EO_TYPE,
|
|
T.HKMC_DISTRIBUTE_DATE,
|
|
T.REGDATE,
|
|
T.STATUS,
|
|
T.URGENT_DEGREE,
|
|
T.WRITER
|
|
)
|
|
VALUES
|
|
(
|
|
#{objId},
|
|
#{oem},
|
|
#{car},
|
|
#{designTeam},
|
|
#{eoIssueDate},
|
|
(SELECT 'New EO:'||to_char(sysdate, 'yyyy-mm-dd')||':'||LTRIM(TO_CHAR((SELECT COUNT(*)+1 FROM EO_INFO WHERE TO_CHAR(REGDATE, 'YYYY-MM-DD') = TO_CHAR(SYSDATE, 'YYYY-MM-DD')), '00')) FROM DUAL),
|
|
#{eoType},
|
|
#{hkmcDistributeDate},
|
|
SYSDATE,
|
|
#{status},
|
|
#{urgentDegree},
|
|
#{writer}
|
|
)
|
|
</update>
|
|
|
|
<!-- EO 내용 변경 시 EO에 연결된 Part 정보도 Update 된다. -->
|
|
<update id="updateConnectedPartEOInfo" parameterType="map">
|
|
UPDATE PART_INFO SET EO_NO = #{eoNo}, EO_ISSUE_DATE = #{eoIssueDate} WHERE EO_OBJID = #{objId}
|
|
</update>
|
|
|
|
<!-- EO와 Part정보를 연결한다. -->
|
|
<update id="connectPart" parameterType="map">
|
|
MERGE INTO REL_EO_PART T USING DUAL ON ( T.MASTER_OBJID = #{eoObjId} AND T.SUB_OBJID = #{partObjId})
|
|
WHEN NOT MATCHED THEN
|
|
INSERT
|
|
(
|
|
OBJID,
|
|
MASTER_OBJID,
|
|
SUB_OBJID,
|
|
WRITER,
|
|
REGDATE
|
|
)
|
|
VALUES
|
|
(
|
|
#{objId},
|
|
#{eoObjId},
|
|
#{partObjId},
|
|
#{writer},
|
|
SYSDATE
|
|
)
|
|
</update>
|
|
|
|
<update id="updateEOObjId" parameterType="map">
|
|
UPDATE PART_INFO
|
|
SET EO_OBJID = #{eoObjId}
|
|
,EO_NO = #{eoNo}
|
|
,EO_ISSUE_DATE = #{eoIssueDate}
|
|
WHERE OBJID = #{partObjId}
|
|
</update>
|
|
|
|
<!-- 파트를 연결해제 한다. -->
|
|
<update id="disConnectPart" parameterType="map">
|
|
DELETE REL_EO_PART WHERE MASTER_OBJID = #{eoObjId} AND SUB_OBJID = #{partObjId}
|
|
</update>
|
|
|
|
<update id="disConnectAllPart" parameterType="map">
|
|
DELETE REL_EO_PART WHERE MASTER_OBJID = #{eoObjId}
|
|
</update>
|
|
|
|
<update id="deleteEO" parameterType="map">
|
|
DELETE EO_INFO WHERE OBJID = #{objId}
|
|
</update>
|
|
|
|
<update id="deleteEORelPartInfo" parameterType="map">
|
|
UPDATE PART_INFO SET EO_OBJID = NULL, EO_ISSUE_DATE = NULL, EO_NO = NULL WHERE EO_OBJID = #{objId}
|
|
</update>
|
|
|
|
<!-- eo에 연결된 part의 목록을 가져온다. -->
|
|
<select id="getConnectPartList" parameterType="map" resultType="map">
|
|
SELECT ROWNUM AS RNUM,
|
|
PART.OBJID,
|
|
(SELECT APPLY_POINT_NAME FROM APPLY_POINT_MNG WHERE OBJID = PART.APPLY_POINT_OBJID) AS APPLY_POINT_NAME,
|
|
PART.APPLY_POINT_OBJID,
|
|
PART.CAR_OBJID,
|
|
PART.DRAWING_NO_OBJID,
|
|
(SELECT PART_NO FROM PART_INFO WHERE OBJID = PART.DRAWING_NO_OBJID) DRAWING_NO,
|
|
PART.DRAWING_RELEASE_TYPE,
|
|
PART.DRAWING_TYPE,
|
|
PART.EO_OBJID,
|
|
PART.IS_LAST,
|
|
PART.MATERIAL_OBJID,
|
|
PART.MATERIAL_TYPE_OBJID,
|
|
PART.MNG_ITEM_TYPE,
|
|
DECODE(UPPER(PART.MNG_ITEM_TYPE),'MANAGEMENT','Y','UNMANAGEMENT','N') MNG_ITEM_TYPE_TITLE,
|
|
(SELECT OBJID FROM ATTACH_FILE_INFO WHERE DOC_TYPE = 'PART_ECD' AND TARGET_OBJID = PART.OBJID AND UPPER(STATUS) = 'ACTIVE') AS ECD_OBJID,
|
|
(SELECT OBJID FROM ATTACH_FILE_INFO WHERE DOC_TYPE = 'PART_MNG_ITEM' AND TARGET_OBJID = PART.OBJID AND UPPER(STATUS) = 'ACTIVE') AS MNG_ITEM_FILE_OBJID,
|
|
(SELECT COUNT(1) FROM ATTACH_FILE_INFO WHERE TARGET_OBJID = PART.OBJID AND UPPER(STATUS) = 'ACTIVE') AS ATTACH_FILE_CNT,
|
|
PART.OEM_OBJID,
|
|
PART.PART_NAME,
|
|
PART.PART_NO,
|
|
PART.PART_OPTION,
|
|
PART.PART_TYPE,
|
|
PART.PRODUCT_GROUP_OBJID,
|
|
PART.PRODUCT_OBJID,
|
|
TO_CHAR(PART.REGDATE,'YYYY-MM-DD') REGDATE,
|
|
PART.REGDATE REGDATE_ORG,
|
|
PART.REV,
|
|
PART.RH_PART_OBJID,
|
|
(SELECT PART_NO FROM PART_INFO WHERE OBJID = PART.RH_PART_OBJID) RH_PART_NO,
|
|
PART.STATUS,
|
|
PART.THICKNESS,
|
|
PART.WEIGHT,
|
|
PART.WRITER,
|
|
(SELECT WM_CONCAT(DECODE(ITEM_NAME,'changeGeometry','형상변경','materialThickChange','재질/두께변경','cycleChange','주기변경','constructChange','구성변경','weldingSpot','용접점','structurGlue','구조용접착제','first','초도','etc','기타','none','해당무')) FROM REL_PART_CHANGE_ITEM WHERE MASTER_OBJID = PART.OBJID) AS CHANGE_ITEM_TITLE
|
|
FROM PART_INFO PART,
|
|
(SELECT SUB_OBJID
|
|
FROM REL_EO_PART
|
|
WHERE MASTER_OBJID = #{objId}
|
|
)REL
|
|
WHERE OBJID = REL.SUB_OBJID
|
|
<if test="drawingType != null and drawingType != '' ">
|
|
AND NVL(PART.DRAWING_TYPE,'shownOn') = #{drawingType}
|
|
</if>
|
|
</select>
|
|
|
|
<!-- 페이징 처리한 EO 목록을 가져온다. -->
|
|
<select id="getEOListPaging" parameterType="map" resultType="map">
|
|
SELECT *
|
|
FROM
|
|
(
|
|
SELECT EO.*,ROWNUM AS RNUM FROM(
|
|
SELECT OBJID,
|
|
OEM_OBJID,
|
|
(SELECT OEM_NAME FROM OEM_MNG WHERE OBJID = T.OEM_OBJID) AS OEM_NAME,
|
|
CAR_OBJID,
|
|
(SELECT CAR_NAME FROM CAR_MNG WHERE OBJID = T.CAR_OBJID) AS CAR_NAME,
|
|
(SELECT CAR_CODE FROM CAR_MNG WHERE OBJID = T.CAR_OBJID) AS CAR_CODE,
|
|
EO_TYPE,
|
|
DECODE(EO_TYPE, 'regular','정규','tempApp','임시적용') AS EO_TYPE_TITLE,
|
|
DESIGN_TEAM,
|
|
EO_NO,
|
|
EO_ISSUE_DATE EO_ISSUE_DATE_ORG,
|
|
TO_CHAR(EO_ISSUE_DATE,'YYYY-MM-DD') AS EO_ISSUE_DATE,
|
|
URGENT_DEGREE,
|
|
HKMC_DISTRIBUTE_DATE AS HKMC_DISTRIBUTE_DATE_ORG,
|
|
TO_CHAR(HKMC_DISTRIBUTE_DATE,'YYYY-MM-DD') AS HKMC_DISTRIBUTE_DATE,
|
|
(SELECT DEPT_NAME||' '||USER_NAME FROM USER_INFO WHERE USER_ID = T.WRITER) AS WRITER,
|
|
WRITER AS WRITER_ORG,
|
|
REGDATE AS REGDATE_ORG,
|
|
TO_CHAR(REGDATE,'YYYY-MM-DD') AS REGDATE,
|
|
STATUS
|
|
, (SELECT OBJID FROM APPROVAL WHERE TARGET_OBJID = T.OBJID) AS APPROVAL_OBJID
|
|
, (SELECT TO_CHAR(COMPLETE_DATE,'YYYY-MM-DD') FROM APPROVAL WHERE TARGET_OBJID = T.OBJID) AS APPROVAL_COMPLETE_DATE
|
|
, (SELECT OBJID FROM ROUTE WHERE TARGET_OBJID = T.OBJID AND UPPER(STATUS) = 'INPROCESS') AS ROUTE_OBJID
|
|
FROM EO_INFO T
|
|
WHERE 1=1
|
|
<if test="search_status != null and search_status != '' ">
|
|
<choose>
|
|
<when test=" 'create' == search_status">
|
|
AND STATUS IN ('create','approval','reject')
|
|
</when>
|
|
<otherwise>
|
|
AND STATUS = #{search_status}
|
|
</otherwise>
|
|
</choose>
|
|
</if>
|
|
ORDER BY T.REGDATE DESC
|
|
) EO WHERE 1=1
|
|
<if test="search_oem != null and search_oem != ''">
|
|
AND EO.OEM_OBJID = #{search_oem}
|
|
</if>
|
|
<if test="search_car != null and search_car != ''">
|
|
AND EO.CAR_OBJID = #{search_car}
|
|
</if>
|
|
<if test="search_eoNo != null and search_eoNo != ''">
|
|
AND UPPER(EO.EO_NO) LIKE UPPER('%${search_eoNo}%')
|
|
</if>
|
|
|
|
<if test="search_eoFromDate != null and search_eoFromDate != ''">
|
|
<![CDATA[ AND EO.EO_ISSUE_DATE >= TO_DATE(#{search_eoFromDate},'YYYY-MM-DD') ]]>
|
|
</if>
|
|
<if test="search_eoToDate != null and search_eoToDate != ''">
|
|
<![CDATA[ AND EO.EO_ISSUE_DATE <= TO_DATE(#{search_eoToDate},'YYYY-MM-DD') ]]>
|
|
</if>
|
|
|
|
<if test="search_completeDate_start != null and search_completeDate_start != ''">
|
|
<![CDATA[ AND EO.APPROVAL_COMPLETE_DATE >= TO_DATE(#{search_completeDate_start},'YYYY-MM-DD') ]]>
|
|
</if>
|
|
<if test="search_completeDate_end != null and search_completeDate_end != ''">
|
|
<![CDATA[ AND EO.APPROVAL_COMPLETE_DATE <= TO_DATE(#{search_completeDate_end},'YYYY-MM-DD') ]]>
|
|
</if>
|
|
)WHERE <![CDATA[ RNUM <= #{PAGE_END} ]]>
|
|
AND <![CDATA[ RNUM >= #{PAGE_START}]]>
|
|
</select>
|
|
|
|
<!-- 페이징 처리한 EO 목록을 가져온다. -->
|
|
<select id="getEOListCnt" parameterType="map" resultType="map">
|
|
SELECT CEIL(TOTAL_CNT/#{COUNT_PER_PAGE}) MAX_PAGE_SIZE,
|
|
TOTAL_CNT
|
|
FROM(
|
|
SELECT
|
|
COUNT(1) TOTAL_CNT
|
|
FROM(
|
|
SELECT OBJID,
|
|
OEM_OBJID,
|
|
(SELECT OEM_NAME FROM OEM_MNG WHERE OBJID = T.OEM_OBJID) AS OEM_NAME,
|
|
CAR_OBJID,
|
|
(SELECT CAR_NAME FROM CAR_MNG WHERE OBJID = T.CAR_OBJID) AS CAR_NAME,
|
|
EO_TYPE,
|
|
DECODE(EO_TYPE, 'regular','정규','tempApp','임시적용') AS EO_TYPE_TITLE,
|
|
DESIGN_TEAM,
|
|
EO_NO,
|
|
EO_ISSUE_DATE EO_ISSUE_DATE_ORG,
|
|
TO_CHAR(EO_ISSUE_DATE,'YYYY-MM-DD') AS EO_ISSUE_DATE,
|
|
URGENT_DEGREE,
|
|
HKMC_DISTRIBUTE_DATE AS HKMC_DISTRIBUTE_DATE_ORG,
|
|
TO_CHAR(HKMC_DISTRIBUTE_DATE,'YYYY-MM-DD') AS HKMC_DISTRIBUTE_DATE,
|
|
(SELECT DEPT_NAME||' '||USER_NAME FROM USER_INFO WHERE USER_ID = T.WRITER) AS WRITER,
|
|
WRITER AS WRITER_ORG,
|
|
REGDATE AS REGDATE_ORG,
|
|
TO_CHAR(REGDATE,'YYYY-MM-DD') AS REGDATE,
|
|
STATUS
|
|
, (SELECT OBJID FROM APPROVAL WHERE TARGET_OBJID = T.OBJID) AS APPROVAL_OBJID
|
|
, (SELECT COMPLETE_DATE FROM APPROVAL WHERE TARGET_OBJID = T.OBJID) AS APPROVAL_COMPLETE_DATE
|
|
<!-- , (SELECT OBJID FROM ROUTE WHERE TARGET_OBJID = T.OBJID AND STATUS = 'inProcess') AS ROUTE_OBJID -->
|
|
FROM EO_INFO T
|
|
WHERE 1=1
|
|
<if test="search_status != null and search_status != '' ">
|
|
<choose>
|
|
<when test=" 'create' == search_status">
|
|
AND STATUS IN ('create','approval','reject')
|
|
</when>
|
|
<otherwise>
|
|
AND STATUS = #{search_status}
|
|
</otherwise>
|
|
</choose>
|
|
</if>
|
|
)EO WHERE 1=1
|
|
|
|
<if test="search_oem != null and search_oem != ''">
|
|
AND EO.OEM_OBJID = #{search_oem}
|
|
</if>
|
|
<if test="search_car != null and search_car != ''">
|
|
AND EO.CAR_OBJID = #{search_car}
|
|
</if>
|
|
<if test="search_eoNo != null and search_eoNo != ''">
|
|
AND UPPER(EO.EO_NO) LIKE UPPER('%${search_eoNo}%')
|
|
</if>
|
|
|
|
<if test="search_eoFromDate != null and search_eoFromDate != ''">
|
|
<![CDATA[ AND EO.EO_ISSUE_DATE >= TO_DATE(#{search_eoFromDate},'YYYY-MM-DD') ]]>
|
|
</if>
|
|
<if test="search_eoToDate != null and search_eoToDate != ''">
|
|
<![CDATA[ AND EO.EO_ISSUE_DATE <= TO_DATE(#{search_eoToDate},'YYYY-MM-DD') ]]>
|
|
</if>
|
|
|
|
<if test="search_completeDate_start != null and search_completeDate_start != ''">
|
|
<![CDATA[ AND EO.APPROVAL_COMPLETE_DATE >= TO_DATE(#{search_completeDate_start},'YYYY-MM-DD') ]]>
|
|
</if>
|
|
<if test="search_completeDate_end != null and search_completeDate_end != ''">
|
|
<![CDATA[ AND EO.APPROVAL_COMPLETE_DATE <= TO_DATE(#{search_completeDate_end},'YYYY-MM-DD') ]]>
|
|
</if>
|
|
)
|
|
</select>
|
|
|
|
<!-- 페이징 처리하지 않은 EO 목록을 가져온다. -->
|
|
<select id="getEOList" parameterType="map" resultType="map">
|
|
SELECT OBJID,
|
|
ROWNUM RNUM,
|
|
OEM_OBJID,
|
|
(SELECT OEM_NAME FROM OEM_MNG WHERE OBJID = T.OEM_OBJID) OEM_NAME,
|
|
CAR_OBJID,
|
|
(SELECT CAR_NAME FROM CAR_MNG WHERE OBJID = T.CAR_OBJID) CAR_NAME,
|
|
EO_TYPE,
|
|
DESIGN_TEAM,
|
|
EO_NO,
|
|
EO_ISSUE_DATE EO_ISSUE_DATE_ORG,
|
|
TO_CHAR(EO_ISSUE_DATE,'YYYY-MM-DD') EO_ISSUE_DATE,
|
|
URGENT_DEGREE,
|
|
HKMC_DISTRIBUTE_DATE HKMC_DISTRIBUTE_DATE_ORG,
|
|
TO_CHAR(HKMC_DISTRIBUTE_DATE,'YYYY-MM-DD') HKMC_DISTRIBUTE_DATE,
|
|
(SELECT DEPT_NAME||' '||USER_NAME FROM USER_INFO WHERE USER_ID = T.WRITER) WRITER,
|
|
WRITER WRITER_ORG,
|
|
REGDATE REGDATE_ORG,
|
|
TO_CHAR(REGDATE,'YYYY-MM-DD') REGDATE,
|
|
STATUS
|
|
FROM EO_INFO T
|
|
WHERE 1=1
|
|
</select>
|
|
|
|
<!-- EO 단건 정보를 가져온다. -->
|
|
<select id="getEOInfo" parameterType="map" resultType="map">
|
|
SELECT OBJID,
|
|
ROWNUM RNUM,
|
|
OEM_OBJID,
|
|
(SELECT OEM_NAME FROM OEM_MNG WHERE OBJID = T.OEM_OBJID) OEM_NAME,
|
|
(SELECT OEM_CODE FROM OEM_MNG WHERE OBJID = T.OEM_OBJID) OEM_CODE,
|
|
CAR_OBJID,
|
|
(SELECT CAR_NAME FROM CAR_MNG WHERE OBJID = T.CAR_OBJID) CAR_NAME,
|
|
(SELECT CAR_CODE FROM CAR_MNG WHERE OBJID = T.CAR_OBJID) CAR_CODE,
|
|
EO_TYPE,
|
|
DECODE(EO_TYPE,'regular','정규','tempApp','임시적용') AS EO_TYPE_STR,
|
|
DESIGN_TEAM,
|
|
EO_NO,
|
|
EO_ISSUE_DATE EO_ISSUE_DATE_ORG,
|
|
TO_CHAR(EO_ISSUE_DATE,'YYYY-MM-DD') EO_ISSUE_DATE,
|
|
URGENT_DEGREE,
|
|
DECODE(URGENT_DEGREE,'normal','보통','emergency','긴급') AS URGENT_DEGREE_STR,
|
|
HKMC_DISTRIBUTE_DATE HKMC_DISTRIBUTE_DATE_ORG,
|
|
TO_CHAR(HKMC_DISTRIBUTE_DATE,'YYYY-MM-DD') HKMC_DISTRIBUTE_DATE,
|
|
(SELECT DEPT_NAME||' '||USER_NAME FROM USER_INFO WHERE USER_ID = T.WRITER) WRITER,
|
|
WRITER WRITER_ORG,
|
|
REGDATE REGDATE_ORG,
|
|
TO_CHAR(REGDATE,'YYYY-MM-DD') REGDATE,
|
|
STATUS
|
|
FROM EO_INFO T
|
|
WHERE 1=1
|
|
AND OBJID = #{objId}
|
|
</select>
|
|
|
|
<!-- //파일목록 조회 -->
|
|
<select id="getPartFileList" resultType="map" parameterType="map">
|
|
SELECT OBJID
|
|
, TARGET_OBJID
|
|
, (SELECT PART_NO FROM PART_INFO A WHERE OBJID = ${targetObjId}) PART_NO
|
|
, (SELECT REV FROM PART_INFO A WHERE OBJID = ${targetObjId}) REV
|
|
, SAVED_FILE_NAME
|
|
, REAL_FILE_NAME
|
|
, DOC_TYPE
|
|
, DOC_TYPE_NAME
|
|
, FILE_SIZE
|
|
, FILE_EXT
|
|
, REPLACE(FILE_PATH, '\', '\\') AS FILE_PATH
|
|
, WRITER
|
|
, TO_CHAR(REGDATE, 'YYYY-MM-DD') AS REGDATE
|
|
, REGDATE AS REGDATE_ORG
|
|
, STATUS
|
|
FROM ATTACH_FILE_INFO
|
|
WHERE 1=1
|
|
AND TARGET_OBJID = ${targetObjId}
|
|
<if test="docType != null and !''.equals(docType)">
|
|
AND DOC_TYPE = #{docType}
|
|
</if>
|
|
|
|
<!-- 일괄다운로드시 여러 DOC_TYPE 조회 시 사용 -->
|
|
<if test="docTypeList != null and docTypeList.size != 0">
|
|
AND DOC_TYPE IN
|
|
<foreach collection="docTypeList" item="docType" index="index" separator="," open="(" close=")">
|
|
#{docType}
|
|
</foreach>
|
|
</if>
|
|
|
|
AND STATUS = 'Active'
|
|
ORDER BY REGDATE_ORG DESC
|
|
</select>
|
|
|
|
<!-- PDF 파싱된 파일의 경우 실재파일명이 부서명이기
|
|
때문에 업로드 후 파싱된 데이터를 통해
|
|
다운로드 되는 파일명을 변경한다. -->
|
|
<update id="updateEOPdfFileName" parameterType="map">
|
|
UPDATE ATTACH_FILE_INFO SET REAL_FILE_NAME = #{realFileName} WHERE OBJID = #{fileObjId}
|
|
</update>
|
|
|
|
<!-- EO 결재 일반에 해당하는 인원의 목록을 가져온다. -->
|
|
<select id="getEOApprovalList" parameterType="map" resultType="map">
|
|
SELECT
|
|
INBOX.OBJID
|
|
,INBOX.APPROVAL_OBJID
|
|
,INBOX.APPROVAL_TYPE
|
|
,INBOX.PROC_DATE
|
|
,TO_CHAR(INBOX.PROC_DATE,'YYYY-MM-DD') AS PROC_DATE_TITLE
|
|
,INBOX.REGDATE
|
|
,INBOX.RESULT
|
|
,INBOX.RESULT_MESSAGE
|
|
,INBOX.ROUTE_OBJID
|
|
,INBOX.SEQ
|
|
,INBOX.STATUS
|
|
,INBOX.TARGET_OBJID
|
|
,INBOX.TARGET_USER_ID
|
|
,(SELECT USER_NAME FROM USER_INFO WHERE USER_ID = INBOX.TARGET_USER_ID) AS USER_NAME
|
|
,(SELECT DEPT_NAME FROM USER_INFO WHERE USER_ID = INBOX.TARGET_USER_ID) AS DEPT_NAME
|
|
FROM APPROVAL AP,
|
|
ROUTE RO,
|
|
INBOXTASK INBOX
|
|
WHERE AP.TARGET_TYPE = 'EO'
|
|
AND AP.TARGET_OBJID = #{objId}
|
|
AND RO.APPROVAL_OBJID = AP.OBJID
|
|
AND INBOX.APPROVAL_OBJID = AP.OBJID
|
|
AND INBOX.ROUTE_OBJID = RO.OBJID
|
|
AND UPPER(INBOX.APPROVAL_TYPE) = 'NORMAL'
|
|
AND RO.REGDATE = (SELECT MAX(REGDATE) FROM ROUTE WHERE ROUTE_OBJID = RO.OBJID AND APPROVAL_OBJID = AP.OBJID)
|
|
ORDER BY INBOX.SEQ
|
|
</select>
|
|
|
|
<!-- EO에 해당하는 배포처의 목록을 가져온다. -->
|
|
<select id="getEODistributeList" parameterType="map" resultType="map">
|
|
SELECT
|
|
OBJID
|
|
,MEMBER_SABUN
|
|
,MEMBER_USER_ID
|
|
,(SELECT EMAIL FROM USER_INFO WHERE USER_ID = T.MEMBER_USER_ID) AS EMAIL
|
|
,CAR_OBJID
|
|
,REGDATE
|
|
,STATUS
|
|
FROM CAR_DISTRIBUTE_MEMBER T
|
|
WHERE EXISTS (
|
|
SELECT COUNT(1) FROM EO_INFO EO WHERE OBJID = #{TARGET_OBJID} AND T.CAR_OBJID = EO.CAR_OBJID
|
|
)
|
|
</select>
|
|
|
|
|
|
<!-- 메인 형황용 쿼리 (확인필요) -->
|
|
<select id="getDistantSOPCarEORelease" parameterType="map" resultType="map">
|
|
SELECT * FROM (
|
|
SELECT
|
|
CAR
|
|
,COUNT(1) CNT
|
|
,MILESTONE_DATE
|
|
,RANK() OVER(ORDER BY CAR,MILESTONE_DATE) LEV
|
|
FROM (
|
|
SELECT
|
|
EO.*
|
|
,(SELECT CAR_CODE FROM CAR_MNG WHERE OBJID = EO.CAR_OBJID) CAR
|
|
,CAR_MILE.MILESTONE_DATE
|
|
FROM
|
|
EO_INFO EO
|
|
,(
|
|
SELECT
|
|
CAR_OBJID
|
|
,(SELECT MILESTONE_NAME FROM OEM_MILESTONE_MNG WHERE OBJID = CAR_MILE.MILESTONE_OBJID) AS MILESTONE_NAME
|
|
,MILESTONE_DATE
|
|
FROM
|
|
CAR_MILESTONE_MNG CAR_MILE
|
|
)CAR_MILE
|
|
WHERE UPPER(STATUS) ='RELEASE'
|
|
AND UPPER(CAR_MILE.MILESTONE_NAME) = 'SOP'
|
|
AND CAR_MILE.CAR_OBJID = EO.CAR_OBJID
|
|
)GROUP BY CAR,MILESTONE_DATE
|
|
)WHERE <![CDATA[ LEV < 11 ]]>
|
|
|
|
</select>
|
|
|
|
</mapper> |