Update partMng.xml
This commit is contained in:
@@ -2610,6 +2610,32 @@ SELECT T1.LEV, T1.BOM_REPORT_OBJID, T1.ROOT_PART_NO, T1.PATH, T1.LEAF, T2.*
|
||||
AND T.OBJID = #{OBJID}
|
||||
</select>
|
||||
|
||||
<!-- PART Detail 수정 저장 -->
|
||||
<update id="updatePartDetail" parameterType="map">
|
||||
UPDATE PART_MNG
|
||||
SET
|
||||
PART_NAME = #{PART_NAME},
|
||||
MATERIAL = #{MATERIAL},
|
||||
HEAT_TREATMENT_HARDNESS = #{HEAT_TREATMENT_HARDNESS},
|
||||
HEAT_TREATMENT_METHOD = #{HEAT_TREATMENT_METHOD},
|
||||
SURFACE_TREATMENT = #{SURFACE_TREATMENT},
|
||||
SUPPLY_CODE = #{SUPPLY_CODE},
|
||||
PART_TYPE = #{PART_TYPE},
|
||||
REMARK = #{REMARK},
|
||||
EDIT_DATE = NOW()
|
||||
WHERE OBJID = #{OBJID}
|
||||
</update>
|
||||
|
||||
<!-- 품번 중복 체크 (PART_BOM_REPORT 테이블 - 헤더 품번) -->
|
||||
<select id="checkDuplicatePartNo" parameterType="map" resultType="int">
|
||||
SELECT COUNT(*)
|
||||
FROM PART_BOM_REPORT
|
||||
WHERE PART_NO = #{partNo}
|
||||
<if test="bomReportObjid != null and bomReportObjid != ''">
|
||||
AND OBJID != #{bomReportObjid}
|
||||
</if>
|
||||
</select>
|
||||
|
||||
<!-- //구조등록 목록조회 -->
|
||||
<select id="getBOMStandardStructureList" parameterType="map" resultType="map">
|
||||
SELECT * FROM
|
||||
@@ -2679,7 +2705,7 @@ SELECT T1.LEV, T1.BOM_REPORT_OBJID, T1.ROOT_PART_NO, T1.PATH, T1.LEAF, T2.*
|
||||
</if>
|
||||
<if test="SEARCH_DEPLOY_DATE_TO != null and SEARCH_DEPLOY_DATE_TO != ''">
|
||||
AND T.DEPLOY_DATE IS NOT NULL
|
||||
AND TO_DATE(T.DEPLOY_DATE,'YYYY-MM-DD') <![CDATA[ <= ]]> #{SEARCH_DEPLOY_DATE_TO}::TIMESTAMP
|
||||
AND T.DEPLOY_DATE::DATE <![CDATA[ <= ]]> #{SEARCH_DEPLOY_DATE_TO}::TIMESTAMP
|
||||
</if>
|
||||
|
||||
<if test="status != null and !''.equals(status)">
|
||||
@@ -2744,12 +2770,29 @@ SELECT T1.LEV, T1.BOM_REPORT_OBJID, T1.ROOT_PART_NO, T1.PATH, T1.LEAF, T2.*
|
||||
,T.MULTI_BREAK_YN
|
||||
,T.MULTI_MASTER_OBJID
|
||||
,(SELECT COUNT(*) FROM BOM_PART_QTY AS A WHERE A.BOM_REPORT_OBJID = T.OBJID) AS BOM_CNT
|
||||
,PRODUCT_CD
|
||||
,CODE_NAME(PRODUCT_CD) as PRODUCT_NAME
|
||||
,PART_NO
|
||||
,PART_NAME
|
||||
FROM
|
||||
PART_BOM_REPORT AS T
|
||||
WHERE 1=1
|
||||
<if test="SEARCH_PART_NO != null and !''.equals(SEARCH_PART_NO)">
|
||||
AND UPPER(T.PART_NO) LIKE UPPER('%${SEARCH_PART_NO}%')
|
||||
</if>
|
||||
<if test="SEARCH_PART_NAME != null and !''.equals(SEARCH_PART_NAME)">
|
||||
AND UPPER(T.PART_NAME) LIKE UPPER('%${SEARCH_PART_NAME}%')
|
||||
</if>
|
||||
<if test="product_cd != null and product_cd != ''">
|
||||
AND T.PRODUCT_CD = #{product_cd}
|
||||
</if>
|
||||
<if test="search_fromDate != null and search_fromDate != ''">
|
||||
AND REGDATE::DATE <![CDATA[ >= ]]> TO_DATE(#{search_fromDate}, 'YYYY-MM-DD')
|
||||
</if>
|
||||
<if test="search_toDate != null and search_toDate != ''">
|
||||
AND REGDATE::DATE <![CDATA[ <= ]]> TO_DATE(#{search_toDate}, 'YYYY-MM-DD')
|
||||
</if>
|
||||
|
||||
<if test="customer_cd != null and customer_cd != ''">
|
||||
AND T.CUSTOMER_OBJID = #{customer_cd}
|
||||
</if>
|
||||
@@ -2885,6 +2928,48 @@ SELECT T1.LEV, T1.BOM_REPORT_OBJID, T1.ROOT_PART_NO, T1.PATH, T1.LEAF, T2.*
|
||||
|
||||
|
||||
<!-- //bomObjId를 통해 BOM 구조등록 기본정보 조회 -->
|
||||
<!-- 활성화된 BOM 목록 조회 (셀렉트박스용) -->
|
||||
<select id="getActiveBomList" parameterType="map" resultType="map">
|
||||
SELECT
|
||||
OBJID AS CODE,
|
||||
COALESCE(PART_NO, '') || ' - ' || COALESCE(PART_NAME, '') ||
|
||||
CASE WHEN REVISION IS NOT NULL AND REVISION != '' THEN ' (Rev.' || REVISION || ')' ELSE '' END AS NAME
|
||||
FROM PART_BOM_REPORT
|
||||
WHERE STATUS = 'Y'
|
||||
ORDER BY REGDATE DESC
|
||||
</select>
|
||||
|
||||
<!-- BOM 복사를 위한 파트 목록 조회 -->
|
||||
<select id="getBomPartListForCopy" parameterType="map" resultType="map">
|
||||
SELECT
|
||||
BPQ.PARENT_PART_NO,
|
||||
PM.PART_NO,
|
||||
PM.PART_NAME,
|
||||
BPQ.QTY,
|
||||
BPQ.ITEM_QTY,
|
||||
PM.MATERIAL,
|
||||
PM.HEAT_TREATMENT_HARDNESS,
|
||||
PM.HEAT_TREATMENT_METHOD,
|
||||
PM.SURFACE_TREATMENT,
|
||||
BPQ.SUPPLIER,
|
||||
PM.PART_TYPE
|
||||
FROM BOM_PART_QTY BPQ
|
||||
LEFT JOIN PART_MNG PM ON BPQ.PART_NO = PM.OBJID::VARCHAR AND PM.IS_LAST = '1'
|
||||
WHERE BPQ.BOM_REPORT_OBJID = #{BOM_REPORT_OBJID}
|
||||
AND (BPQ.STATUS IS NULL OR BPQ.STATUS != 'deleted')
|
||||
ORDER BY BPQ.SEQ
|
||||
</select>
|
||||
|
||||
<!-- OBJID로 파트 정보 조회 -->
|
||||
<select id="getPartInfoByObjid" parameterType="map" resultType="map">
|
||||
SELECT
|
||||
PART_NO,
|
||||
PART_NAME
|
||||
FROM PART_MNG
|
||||
WHERE OBJID = #{OBJID}
|
||||
AND IS_LAST = '1'
|
||||
</select>
|
||||
|
||||
<select id="getBOMStructureStandardInfoByObjId" parameterType="string" resultType="map">
|
||||
SELECT
|
||||
OBJID,
|
||||
@@ -2978,28 +3063,53 @@ SELECT T1.LEV, T1.BOM_REPORT_OBJID, T1.ROOT_PART_NO, T1.PATH, T1.LEAF, T2.*
|
||||
, STATUS
|
||||
, WRITER
|
||||
, REGDATE
|
||||
,MULTI_YN
|
||||
,MULTI_MASTER_YN
|
||||
,MULTI_BREAK_YN
|
||||
,MULTI_MASTER_OBJID
|
||||
, MULTI_YN
|
||||
, MULTI_MASTER_YN
|
||||
, MULTI_BREAK_YN
|
||||
, MULTI_MASTER_OBJID
|
||||
, PRODUCT_CD
|
||||
, PART_NO
|
||||
, PART_NAME
|
||||
, REVISION
|
||||
) VALUES (
|
||||
#{OBJID}
|
||||
, #{CUSTOMER_OBJID}
|
||||
, #{CONTRACT_OBJID}
|
||||
, #{UNIT_CODE}
|
||||
, 'create'
|
||||
, 'N'
|
||||
, #{WRITER}
|
||||
, NOW()
|
||||
,#{MULTI_YN }
|
||||
,#{MULTI_MASTER_YN }
|
||||
,#{MULTI_BREAK_YN }
|
||||
,#{MULTI_MASTER_OBJID }
|
||||
, #{MULTI_YN}
|
||||
, #{MULTI_MASTER_YN}
|
||||
, #{MULTI_BREAK_YN}
|
||||
, #{MULTI_MASTER_OBJID}
|
||||
, #{PRODUCT_CD}
|
||||
, #{PART_NO}
|
||||
, #{PART_NAME}
|
||||
, #{REVISION}
|
||||
) ON
|
||||
CONFLICT (OBJID) DO
|
||||
UPDATE
|
||||
SET WRITER = #{WRITER}
|
||||
SET WRITER = #{WRITER}
|
||||
, PRODUCT_CD = #{PRODUCT_CD}
|
||||
, PART_NO = #{PART_NO}
|
||||
, PART_NAME = #{PART_NAME}
|
||||
, REVISION = #{REVISION}
|
||||
</insert>
|
||||
|
||||
<!-- 기존 BOM의 파트 데이터 삭제 -->
|
||||
<delete id="deleteBomPartQtyByBomObjid" parameterType="string">
|
||||
DELETE FROM BOM_PART_QTY
|
||||
WHERE BOM_REPORT_OBJID = #{BOM_REPORT_OBJID}
|
||||
</delete>
|
||||
|
||||
<!-- 기존 BOM 상태 초기화 -->
|
||||
<update id="resetBomReportStatus" parameterType="string">
|
||||
UPDATE PART_BOM_REPORT
|
||||
SET STATUS = 'N'
|
||||
WHERE OBJID = #{OBJID}
|
||||
</update>
|
||||
|
||||
<insert id="createBOMReportStructureStandardInfo_old" parameterType="map">
|
||||
INSERT INTO PART_BOM_REPORT (
|
||||
OBJID
|
||||
@@ -3213,15 +3323,15 @@ SELECT T1.LEV, T1.BOM_REPORT_OBJID, T1.ROOT_PART_NO, T1.PATH, T1.LEAF, T2.*
|
||||
,P.OUT_DIAMETER
|
||||
,P.IN_DIAMETER
|
||||
,P.LENGTH
|
||||
,P.SOURCING_CODE
|
||||
,P.HEAT_TREATMENT_HARDNESS
|
||||
,P.HEAT_TREATMENT_METHOD
|
||||
,P.SURFACE_TREATMENT
|
||||
,(SELECT COUNT(1) FROM ATTACH_FILE_INFO F WHERE P.OBJID = F.TARGET_OBJID <!--AND STATUS = 'Active'--> AND F.DOC_TYPE IN ('3D_CAD')) AS CU01_CNT
|
||||
,(SELECT COUNT(1) FROM ATTACH_FILE_INFO F WHERE P.OBJID = F.TARGET_OBJID <!--AND STATUS = 'Active'--> AND F.DOC_TYPE IN ('2D_DRAWING_CAD')) AS CU02_CNT
|
||||
,(SELECT COUNT(1) FROM ATTACH_FILE_INFO F WHERE P.OBJID = F.TARGET_OBJID <!--AND STATUS = 'Active'--> AND F.DOC_TYPE IN ('2D_PDF_CAD')) AS CU03_CNT
|
||||
|
||||
,V.LEV
|
||||
,P.SOURCING_CODE
|
||||
,P.HEAT_TREATMENT_HARDNESS
|
||||
,P.HEAT_TREATMENT_METHOD
|
||||
,P.SURFACE_TREATMENT
|
||||
,(SELECT COUNT(1) FROM ATTACH_FILE_INFO F WHERE P.OBJID = F.TARGET_OBJID <!--AND STATUS = 'Active'--> AND F.DOC_TYPE IN ('3D_CAD')) AS CU01_CNT
|
||||
,(SELECT COUNT(1) FROM ATTACH_FILE_INFO F WHERE P.OBJID = F.TARGET_OBJID <!--AND STATUS = 'Active'--> AND F.DOC_TYPE IN ('2D_DRAWING_CAD')) AS CU02_CNT
|
||||
,(SELECT COUNT(1) FROM ATTACH_FILE_INFO F WHERE P.OBJID = F.TARGET_OBJID <!--AND STATUS = 'Active'--> AND F.DOC_TYPE IN ('2D_PDF_CAD')) AS CU03_CNT
|
||||
|
||||
,V.LEV
|
||||
,(SELECT OBJID FROM VIEW_BOM VT WHERE V.BOM_REPORT_OBJID = VT.BOM_REPORT_OBJID AND VT.LEV = 1 ORDER BY SEQ LIMIT 1) AS ROOT_OBJID
|
||||
,(SELECT OBJID FROM VIEW_BOM VT WHERE V.BOM_REPORT_OBJID = VT.BOM_REPORT_OBJID AND VT.LEV = 1 ORDER BY SEQ LIMIT 1) AS SUB_ROOT_OBJID
|
||||
,( SELECT
|
||||
|
||||
Reference in New Issue
Block a user