품질관리 러프하게
This commit is contained in:
@@ -468,4 +468,338 @@
|
||||
WHERE 1=1
|
||||
AND OBJID = #{targetObjId}
|
||||
</select>
|
||||
|
||||
<!-- =====================================================
|
||||
품질관리 기초정보관리
|
||||
===================================================== -->
|
||||
|
||||
<!-- 검사구분 목록 조회 -->
|
||||
<select id="getInspectionTypeList" parameterType="map" resultType="map">
|
||||
SELECT OBJID
|
||||
, INSPECTION_TYPE_NAME
|
||||
, STATUS
|
||||
, TO_CHAR(REG_DATE, 'YYYY-MM-DD') AS REG_DATE
|
||||
FROM PMS_QUALITY_INSPECTION_TYPE
|
||||
WHERE 1=1
|
||||
ORDER BY REG_DATE DESC
|
||||
</select>
|
||||
|
||||
<!-- 검사구분 등록 -->
|
||||
<insert id="insertInspectionType" parameterType="map">
|
||||
INSERT INTO PMS_QUALITY_INSPECTION_TYPE (
|
||||
OBJID
|
||||
, INSPECTION_TYPE_NAME
|
||||
, STATUS
|
||||
, WRITER
|
||||
, REG_DATE
|
||||
) VALUES (
|
||||
#{OBJID}
|
||||
, #{INSPECTION_TYPE_NAME}
|
||||
, #{STATUS}
|
||||
, #{writer}
|
||||
, SYSDATE
|
||||
)
|
||||
</insert>
|
||||
|
||||
<!-- 검사구분 수정 -->
|
||||
<update id="updateInspectionType" parameterType="map">
|
||||
UPDATE PMS_QUALITY_INSPECTION_TYPE
|
||||
SET INSPECTION_TYPE_NAME = #{INSPECTION_TYPE_NAME}
|
||||
, STATUS = #{STATUS}
|
||||
WHERE OBJID = #{OBJID}
|
||||
</update>
|
||||
|
||||
<!-- 검사구분 삭제 -->
|
||||
<delete id="deleteInspectionType" parameterType="map">
|
||||
DELETE FROM PMS_QUALITY_INSPECTION_TYPE
|
||||
WHERE OBJID = #{OBJID}
|
||||
</delete>
|
||||
|
||||
<!-- 불량유형 목록 조회 -->
|
||||
<select id="getDefectTypeList" parameterType="map" resultType="map">
|
||||
SELECT OBJID
|
||||
, DEFECT_TYPE_NAME
|
||||
, STATUS
|
||||
, TO_CHAR(REG_DATE, 'YYYY-MM-DD') AS REG_DATE
|
||||
FROM PMS_QUALITY_DEFECT_TYPE
|
||||
WHERE 1=1
|
||||
ORDER BY REG_DATE DESC
|
||||
</select>
|
||||
|
||||
<!-- 불량유형 등록 -->
|
||||
<insert id="insertDefectType" parameterType="map">
|
||||
INSERT INTO PMS_QUALITY_DEFECT_TYPE (
|
||||
OBJID
|
||||
, DEFECT_TYPE_NAME
|
||||
, STATUS
|
||||
, WRITER
|
||||
, REG_DATE
|
||||
) VALUES (
|
||||
#{OBJID}
|
||||
, #{DEFECT_TYPE_NAME}
|
||||
, #{STATUS}
|
||||
, #{writer}
|
||||
, SYSDATE
|
||||
)
|
||||
</insert>
|
||||
|
||||
<!-- 불량유형 수정 -->
|
||||
<update id="updateDefectType" parameterType="map">
|
||||
UPDATE PMS_QUALITY_DEFECT_TYPE
|
||||
SET DEFECT_TYPE_NAME = #{DEFECT_TYPE_NAME}
|
||||
, STATUS = #{STATUS}
|
||||
WHERE OBJID = #{OBJID}
|
||||
</update>
|
||||
|
||||
<!-- 불량유형 삭제 -->
|
||||
<delete id="deleteDefectType" parameterType="map">
|
||||
DELETE FROM PMS_QUALITY_DEFECT_TYPE
|
||||
WHERE OBJID = #{OBJID}
|
||||
</delete>
|
||||
|
||||
<!-- 불량원인 목록 조회 -->
|
||||
<select id="getDefectReasonList" parameterType="map" resultType="map">
|
||||
SELECT A.OBJID
|
||||
, A.DEFECT_TYPE_OBJID
|
||||
, B.DEFECT_TYPE_NAME
|
||||
, A.DEFECT_REASON_NAME
|
||||
, A.STATUS
|
||||
, TO_CHAR(A.REG_DATE, 'YYYY-MM-DD') AS REG_DATE
|
||||
FROM PMS_QUALITY_DEFECT_REASON A
|
||||
LEFT JOIN PMS_QUALITY_DEFECT_TYPE B ON A.DEFECT_TYPE_OBJID = B.OBJID
|
||||
WHERE 1=1
|
||||
<if test="DEFECT_TYPE_OBJID != null and DEFECT_TYPE_OBJID != ''">
|
||||
AND A.DEFECT_TYPE_OBJID = #{DEFECT_TYPE_OBJID}
|
||||
</if>
|
||||
ORDER BY B.DEFECT_TYPE_NAME, A.REG_DATE DESC
|
||||
</select>
|
||||
|
||||
<!-- 불량원인 등록 -->
|
||||
<insert id="insertDefectReason" parameterType="map">
|
||||
INSERT INTO PMS_QUALITY_DEFECT_REASON (
|
||||
OBJID
|
||||
, DEFECT_TYPE_OBJID
|
||||
, DEFECT_REASON_NAME
|
||||
, STATUS
|
||||
, WRITER
|
||||
, REG_DATE
|
||||
) VALUES (
|
||||
#{OBJID}
|
||||
, #{DEFECT_TYPE_OBJID}
|
||||
, #{DEFECT_REASON_NAME}
|
||||
, #{STATUS}
|
||||
, #{writer}
|
||||
, SYSDATE
|
||||
)
|
||||
</insert>
|
||||
|
||||
<!-- 불량원인 수정 -->
|
||||
<update id="updateDefectReason" parameterType="map">
|
||||
UPDATE PMS_QUALITY_DEFECT_REASON
|
||||
SET DEFECT_REASON_NAME = #{DEFECT_REASON_NAME}
|
||||
, STATUS = #{STATUS}
|
||||
WHERE OBJID = #{OBJID}
|
||||
</update>
|
||||
|
||||
<!-- 불량원인 삭제 -->
|
||||
<delete id="deleteDefectReason" parameterType="map">
|
||||
DELETE FROM PMS_QUALITY_DEFECT_REASON
|
||||
WHERE OBJID = #{OBJID}
|
||||
</delete>
|
||||
|
||||
<!-- 불량유형별 불량원인 일괄 삭제 -->
|
||||
<delete id="deleteDefectReasonByType" parameterType="map">
|
||||
DELETE FROM PMS_QUALITY_DEFECT_REASON
|
||||
WHERE DEFECT_TYPE_OBJID = #{OBJID}
|
||||
</delete>
|
||||
|
||||
<!-- =====================================================
|
||||
수입검사 관리
|
||||
===================================================== -->
|
||||
|
||||
<!-- 품의서 번호 목록 조회 (검색조건용) -->
|
||||
<select id="getProposalNoList" parameterType="map" resultType="map">
|
||||
SELECT DISTINCT PROPOSAL_NO
|
||||
FROM SALES_REQUEST_MASTER
|
||||
WHERE PROPOSAL_NO IS NOT NULL
|
||||
ORDER BY PROPOSAL_NO DESC
|
||||
</select>
|
||||
|
||||
<!-- 발주서 번호 목록 조회 (검색조건용) -->
|
||||
<select id="getPurchaseOrderNoList" parameterType="map" resultType="map">
|
||||
SELECT DISTINCT PURCHASE_ORDER_NO
|
||||
FROM PURCHASE_ORDER_MASTER
|
||||
WHERE PURCHASE_ORDER_NO IS NOT NULL
|
||||
ORDER BY PURCHASE_ORDER_NO DESC
|
||||
</select>
|
||||
|
||||
<!-- 프로젝트 번호 목록 조회 (검색조건용) -->
|
||||
<select id="getProjectNoList" parameterType="map" resultType="map">
|
||||
SELECT DISTINCT PROJECT_NO
|
||||
FROM CONTRACT_MNG
|
||||
WHERE PROJECT_NO IS NOT NULL
|
||||
ORDER BY PROJECT_NO DESC
|
||||
</select>
|
||||
|
||||
<!-- 공급업체 목록 조회 (검색조건용) -->
|
||||
<select id="getPartnerList" parameterType="map" resultType="map">
|
||||
SELECT OBJID::VARCHAR, SUPPLY_NAME AS PARTNER_NAME
|
||||
FROM ADMIN_SUPPLY_MNG
|
||||
WHERE 1=1
|
||||
ORDER BY SUPPLY_NAME
|
||||
</select>
|
||||
|
||||
<!-- 검사자 목록 조회 (검색조건용) -->
|
||||
<select id="getInspectorList" parameterType="map" resultType="map">
|
||||
SELECT USER_ID, USER_NAME
|
||||
FROM USER_INFO
|
||||
WHERE STATUS = 'active'
|
||||
ORDER BY USER_NAME
|
||||
</select>
|
||||
|
||||
<!-- 수입검사 목록 조회 -->
|
||||
<select id="getIncomingInspectionList" parameterType="map" resultType="map">
|
||||
SELECT POM.OBJID
|
||||
, SRM.PROPOSAL_NO
|
||||
, SRM.OBJID AS PROPOSAL_OBJID
|
||||
, POM.PURCHASE_ORDER_NO
|
||||
, CM.PROJECT_NO
|
||||
, POP.PART_NO
|
||||
, POP.PART_NAME
|
||||
, CASE
|
||||
WHEN POM.PARTNER_OBJID LIKE 'C_%' THEN (SELECT CLIENT_NM FROM CLIENT_MNG WHERE 'C_' || OBJID::VARCHAR = POM.PARTNER_OBJID)
|
||||
ELSE (SELECT SUPPLY_NAME FROM ADMIN_SUPPLY_MNG WHERE OBJID::VARCHAR = POM.PARTNER_OBJID)
|
||||
END AS PARTNER_NAME
|
||||
, CASE
|
||||
WHEN COALESCE((SELECT SUM(REAL_ORDER_QTY::NUMERIC) FROM PURCHASE_ORDER_PART WHERE PURCHASE_ORDER_MASTER_OBJID = POM.OBJID::VARCHAR), 0)
|
||||
<![CDATA[ <= ]]> COALESCE((SELECT SUM(RECEIPT_QTY::NUMERIC) FROM ARRIVAL_PLAN WHERE PARENT_OBJID = POM.OBJID), 0)
|
||||
THEN '입고완료'
|
||||
ELSE '입고중'
|
||||
END AS DELIVERY_STATUS
|
||||
, '' AS INSPECTOR_NAME
|
||||
, '' AS INSPECTION_DATE
|
||||
, '' AS INSPECTION_RESULT
|
||||
FROM PURCHASE_ORDER_MASTER POM
|
||||
LEFT JOIN PURCHASE_ORDER_PART POP ON POM.OBJID::VARCHAR = POP.PURCHASE_ORDER_MASTER_OBJID
|
||||
LEFT JOIN SALES_REQUEST_MASTER SRM ON POM.SALES_REQUEST_MASTER_OBJID::VARCHAR = SRM.OBJID::VARCHAR
|
||||
LEFT JOIN CONTRACT_MNG CM ON POM.CONTRACT_OBJID = CM.OBJID
|
||||
WHERE 1=1
|
||||
AND POM.STATUS = 'complete'
|
||||
<if test="search_proposal_no != null and search_proposal_no != ''">
|
||||
AND SRM.PROPOSAL_NO = #{search_proposal_no}
|
||||
</if>
|
||||
<if test="search_purchase_order_no != null and search_purchase_order_no != ''">
|
||||
AND POM.PURCHASE_ORDER_NO = #{search_purchase_order_no}
|
||||
</if>
|
||||
<if test="search_project_no != null and search_project_no != ''">
|
||||
AND CM.PROJECT_NO = #{search_project_no}
|
||||
</if>
|
||||
<if test="search_part_no != null and search_part_no != ''">
|
||||
AND UPPER(POP.PART_NO) LIKE UPPER('%' || #{search_part_no} || '%')
|
||||
</if>
|
||||
<if test="search_part_name != null and search_part_name != ''">
|
||||
AND UPPER(POP.PART_NAME) LIKE UPPER('%' || #{search_part_name} || '%')
|
||||
</if>
|
||||
<if test="search_partner != null and search_partner != ''">
|
||||
AND POM.PARTNER_OBJID = #{search_partner}
|
||||
</if>
|
||||
<if test="search_partner_name != null and search_partner_name != ''">
|
||||
AND (
|
||||
UPPER((SELECT CLIENT_NM FROM CLIENT_MNG WHERE 'C_' || OBJID::VARCHAR = POM.PARTNER_OBJID)) LIKE UPPER('%' || #{search_partner_name} || '%')
|
||||
OR UPPER((SELECT SUPPLY_NAME FROM ADMIN_SUPPLY_MNG WHERE OBJID::VARCHAR = POM.PARTNER_OBJID)) LIKE UPPER('%' || #{search_partner_name} || '%')
|
||||
)
|
||||
</if>
|
||||
<if test="search_delivery_status != null and search_delivery_status != ''">
|
||||
AND CASE
|
||||
WHEN COALESCE((SELECT SUM(REAL_ORDER_QTY::NUMERIC) FROM PURCHASE_ORDER_PART WHERE PURCHASE_ORDER_MASTER_OBJID = POM.OBJID::VARCHAR), 0)
|
||||
<![CDATA[ <= ]]> COALESCE((SELECT SUM(RECEIPT_QTY::NUMERIC) FROM ARRIVAL_PLAN WHERE PARENT_OBJID = POM.OBJID), 0)
|
||||
THEN '입고완료'
|
||||
ELSE '입고중'
|
||||
END = #{search_delivery_status}
|
||||
</if>
|
||||
ORDER BY POM.PURCHASE_ORDER_NO DESC
|
||||
</select>
|
||||
|
||||
<!-- 수입검사 상세 정보 조회 -->
|
||||
<select id="getIncomingInspectionInfo" parameterType="map" resultType="map">
|
||||
SELECT A.OBJID
|
||||
, A.PURCHASE_ORDER_MASTER_OBJID
|
||||
, A.INSPECTOR_ID
|
||||
, (SELECT USER_NAME FROM USER_INFO WHERE USER_ID = A.INSPECTOR_ID) AS INSPECTOR_NAME
|
||||
, TO_CHAR(A.INSPECTION_DATE, 'YYYY-MM-DD') AS INSPECTION_DATE
|
||||
, A.INSPECTION_RESULT
|
||||
, A.INSPECTION_MEMO
|
||||
, A.WRITER
|
||||
, TO_CHAR(A.REG_DATE, 'YYYY-MM-DD') AS REG_DATE
|
||||
FROM PMS_QUALITY_INCOMING_INSPECTION A
|
||||
WHERE A.OBJID = #{OBJID}
|
||||
</select>
|
||||
|
||||
<!-- 수입검사 등록 -->
|
||||
<insert id="insertIncomingInspection" parameterType="map">
|
||||
INSERT INTO PMS_QUALITY_INCOMING_INSPECTION (
|
||||
OBJID
|
||||
, PURCHASE_ORDER_MASTER_OBJID
|
||||
, INSPECTOR_ID
|
||||
, INSPECTION_DATE
|
||||
, INSPECTION_RESULT
|
||||
, INSPECTION_MEMO
|
||||
, WRITER
|
||||
, REG_DATE
|
||||
) VALUES (
|
||||
#{OBJID}
|
||||
, #{PURCHASE_ORDER_MASTER_OBJID}
|
||||
, #{INSPECTOR_ID}
|
||||
, TO_DATE(#{INSPECTION_DATE}, 'YYYY-MM-DD')
|
||||
, #{INSPECTION_RESULT}
|
||||
, #{INSPECTION_MEMO}
|
||||
, #{writer}
|
||||
, SYSDATE
|
||||
)
|
||||
</insert>
|
||||
|
||||
<!-- 수입검사 수정 -->
|
||||
<update id="updateIncomingInspection" parameterType="map">
|
||||
UPDATE PMS_QUALITY_INCOMING_INSPECTION
|
||||
SET INSPECTOR_ID = #{INSPECTOR_ID}
|
||||
, INSPECTION_DATE = TO_DATE(#{INSPECTION_DATE}, 'YYYY-MM-DD')
|
||||
, INSPECTION_RESULT = #{INSPECTION_RESULT}
|
||||
, INSPECTION_MEMO = #{INSPECTION_MEMO}
|
||||
WHERE OBJID = #{OBJID}
|
||||
</update>
|
||||
|
||||
<!-- 수입검사 목록 조회 (엑셀용) -->
|
||||
<select id="getIncomingInspectionListForExcel" parameterType="map" resultType="map">
|
||||
SELECT A.OBJID
|
||||
, A.PROPOSAL_NO
|
||||
, A.PURCHASE_ORDER_NO
|
||||
, A.PROJECT_NO
|
||||
, A.PART_NO
|
||||
, A.PART_NAME
|
||||
, A.PARTNER_NAME
|
||||
, A.DELIVERY_STATUS
|
||||
, B.INSPECTOR_ID
|
||||
, (SELECT USER_NAME FROM USER_INFO WHERE USER_ID = B.INSPECTOR_ID) AS INSPECTOR_NAME
|
||||
, TO_CHAR(B.INSPECTION_DATE, 'YYYY-MM-DD') AS INSPECTION_DATE
|
||||
, B.INSPECTION_RESULT
|
||||
FROM (
|
||||
SELECT POM.OBJID
|
||||
, SRM.PROPOSAL_NO
|
||||
, POM.PURCHASE_ORDER_NO
|
||||
, PJ.PROJECT_NO
|
||||
, POD.PART_NO
|
||||
, POD.PART_NAME
|
||||
, PM.PARTNER_NAME
|
||||
, CASE WHEN NVL(POD.DELIVERY_QTY, 0) >= NVL(POD.ORDER_QTY, 0) THEN '입고완료' ELSE '입고중' END AS DELIVERY_STATUS
|
||||
FROM PMS_PURCHASE_ORDER_MASTER POM
|
||||
LEFT JOIN PMS_PURCHASE_ORDER_DETAIL POD ON POM.OBJID = POD.PURCHASE_ORDER_MASTER_OBJID
|
||||
LEFT JOIN PMS_SALES_REQUEST_MASTER SRM ON POM.SALES_REQUEST_MASTER_OBJID = SRM.OBJID
|
||||
LEFT JOIN PMS_PROJECT_INFO PJ ON POM.PROJECT_OBJID = PJ.OBJID
|
||||
LEFT JOIN PARTNER_MNG PM ON POM.PARTNER_OBJID = PM.OBJID
|
||||
WHERE 1=1
|
||||
) A
|
||||
LEFT JOIN PMS_QUALITY_INCOMING_INSPECTION B ON A.OBJID = B.PURCHASE_ORDER_MASTER_OBJID
|
||||
ORDER BY A.PURCHASE_ORDER_NO DESC
|
||||
</select>
|
||||
|
||||
</mapper>
|
||||
Reference in New Issue
Block a user