Files
wace_plm/WebContent/WEB-INF/classes/com/pms/salesmgmt/mapper/inspectionRequest.xml
chpark da06c4684c Initial commit: WACE PLM with database initialization features
- Add Docker Compose configurations for dev, prod, and standalone environments
- Add database initialization scripts (init-db.sh, init-db-docker.sh)
- Add enhanced start-docker-linux.sh with DB init support
- Add comprehensive database initialization guide
- Support for automatic dbexport.pgsql import on first run
- Include safety checks for production environment
2025-08-29 15:46:08 +09:00

558 lines
22 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">
<!--
/**
* 검사의뢰
* @since 2021.11.30
* @author min
* @version 1.0
*
* << 개정 이력 >>
*
* 수정일 수정자 수정내용
* **************** ********************** ********************************************************
* 2021.11.30 민상익 최초작성
**/
-->
<mapper namespace="inspectionRequest">
<!--
/**
* 검사의뢰 목록 조회
* @since 2021.11.30
* @author min
* @version 1.0
*
* << 개정 이력 >>
*
* 수정일 수정자 수정내용
* **************** ********************** ********************************************************
* 2021.11.30 민상익 최초작성
**/
-->
<select id="getInspectionRequestList" parameterType="map" resultType="map">
/* inspectionRequest.getInspectionRequestList */
SELECT *
FROM (
SELECT ROW_NUMBER() OVER (ORDER BY CRET_DATE) AS RNUM
,A.CRequestNo /* 검사의뢰번호 */
,A.CAcntUnit /* 사업부 */
,A.CYyMm /* 의뢰년월 */
,A.CSno /* 일련번호 */
,A.CEndGB /* 검사처리구분 */
,A.CReqDate /* 의뢰일자 */
,A.CReqEndDate /* 완료요청일 */
,A.CSendDept /* 발신부서 */
,(SELECT dept_name FROM DEPT_INFO WHERE dept_code = A.CSendDept) AS SendDeptNm /* 발신부서명 */
,A.CRecDept /* 수신부서 */
,(SELECT dept_name FROM DEPT_INFO WHERE dept_code = A.CRecDept) AS CRecDeptNm /* 수신부서명 */
,A.COrderNo /* 계약번호 */
, (SELECT OrderDate FROM SWSC110A_TBL WHERE OrderNo = A.COrderNo) AS OrderDate
,A.CGoodsCd /* 제품코드 */
,A.CSaleMan /* 계약담당자 */
,(SELECT user_name FROM USER_INFO WHERE user_id = A.CSaleMan) AS CSaleManNm /* 계약담당자 명*/
,A.CEndDate /* 납기일자 */
,(SELECT GoodsNm FROM SWSB110A_TBL WHERE GoodsCd = A.CGoodsCd) AS GoodsNm /* 제품명 */
,(SELECT GoodsSpec FROM SWSB110A_TBL WHERE GoodsCd = A.CGoodsCd) AS GoodsSpec /* 제품규격 */
,(SELECT GoodsUnit FROM SWSB110A_TBL WHERE GoodsCd = A.CGoodsCd) AS GoodsUnit /* 제품단위*/
,(SELECT C_Class FROM SWSB110A_TBL WHERE GoodsCd = A.CGoodsCd) AS GoodsClass /* 제품클래스*/
,A.COrderQty /* 계약수량 */
,A.CReqQty /* 의뢰수량 */
,A.CCustCd /* 고객코드 */
, (SELECT CustNm FROM SWSB210A_TBL WHERE CustCd = A.CCustCd) AS CustNm /* 고객명 */
,A.CColor /* 색상 */
, (SELECT CDNM FROM SWSA050A_TBL WHERE MAJORCD = 'DN' AND MINORCD = A.CColor) AS ColorNm /*색상명 */
,A.CLogo /* 로고 */
, CASE WHEN A.CLogo = '1' THEN '유' ELSE '무' END AS CLogoNm /* 로고 유무 */
,A.CShassis /* 샤시 */
,(SELECT CDNM FROM SWSA050A_TBL WHERE MAJORCD = 'SH' AND MINORCD = A.CShassis) AS CShassisNm /* 샤시명 */
,(SELECT REMARK FROM SWSA050A_TBL WHERE MAJORCD = 'SH' AND MINORCD = A.CShassis) AS CShassisREMARK
,A.CBigo /* 특이사항 */
,A.CNote /* 노트 */
,A.CRET_DATE /* 생성일시 */
,A.CretEmpNo /* 생성자 */
,A.EDIT_DATE /* 수정일시 */
,A.EditEmpNo /* 수정자 */
FROM SWPI200A_TBL A
WHERE 1 = 1
<if test="condAcntUnit != null and condAcntUnit != '' ">
AND A.CAcntUnit = #{condAcntUnit}
</if>
<if test="condCYyMm != null and condCYyMm != '' ">
AND A.CYyMm = #{condCYyMm}
</if>
) T
WHERE 1=1
<if test="PAGE_END != null and PAGE_END != ''">
<![CDATA[ AND RNUM <= #{PAGE_END}::integer ]]>
</if>
<if test="PAGE_START != null and PAGE_START != ''">
<![CDATA[ AND RNUM >= #{PAGE_START}::integer ]]>
</if>
</select>
<!--
/**
* 검사의뢰 로우카운트 조회
* @since 2021.11.01
* @author min
* @version 1.0
*
* << 개정 이력 >>
*
* 수정일 수정자 수정내용
* **************** ********************** ********************************************************
* 2021.11.30 민상익 최초작성
**/
-->
<select id="getInspectionRequestListCnt" parameterType="map" resultType="map">
/* inspectionRequest.getInspectionRequestListCnt */
SELECT CEIL(TOTAL_CNT/#{COUNT_PER_PAGE})::numeric::integer AS MAX_PAGE_SIZE
, TOTAL_CNT::integer
FROM (
SELECT COUNT(1)::float TOTAL_CNT
FROM (
SELECT *
FROM SWPI200A_TBL A
WHERE 1 = 1
<if test="condAcntUnit != null and condAcntUnit != '' ">
AND A.CAcntUnit = #{condAcntUnit}
</if>
<if test="condCYyMm != null and condCYyMm != '' ">
AND A.CYyMm = #{condCYyMm}
</if>
) T
) T
</select>
<!--
/**
* 검사의뢰 조회- 단건
* @since 2021.11.30
* @author min
* @version 1.0
*
* << 개정 이력 >>
*
* 수정일 수정자 수정내용
* **************** ********************** ********************************************************
* 2021.11.30 민상익 최초작성
**/
-->
<select id="getInspectionRequest" parameterType="map" resultType="map">
/* inspectionRequest.getInspectionRequest */
SELECT
A.CRequestNo /* 검사의뢰번호 */
,A.CAcntUnit /* 사업부 */
,A.CYyMm /* 의뢰년월 */
,A.CSno /* 일련번호 */
,A.CEndGB /* 검사처리구분 */
,A.CReqDate /* 의뢰일자 */
,A.CReqEndDate /* 완료요청일 */
,A.CSendDept /* 발신부서 */
,(SELECT dept_name FROM DEPT_INFO WHERE dept_code = A.CSendDept) AS SendDeptNm /* 발신부서명 */
,A.CRecDept /* 수신부서 */
,(SELECT dept_name FROM DEPT_INFO WHERE dept_code = A.CRecDept) AS CRecDeptNm /* 수신부서명 */
,A.COrderNo /* 계약번호 */
, (SELECT OrderDate FROM SWSC110A_TBL WHERE OrderNo = A.COrderNo) AS OrderDate
,A.CGoodsCd /* 제품코드 */
,A.CSaleMan /* 계약담당자 */
,(SELECT user_name FROM USER_INFO WHERE user_id = A.CSaleMan) AS CSaleManNm /* 계약담당자 명*/
,A.CEndDate /* 납기일자 */
,(SELECT GoodsNm FROM SWSB110A_TBL WHERE GoodsCd = A.CGoodsCd) AS CGoodsNm /* 제품명 */
,(SELECT GoodsSpec FROM SWSB110A_TBL WHERE GoodsCd = A.CGoodsCd) AS GoodsSpec /* 제품규격 */
,(SELECT GoodsUnit FROM SWSB110A_TBL WHERE GoodsCd = A.CGoodsCd) AS GoodsUnit /* 제품단위*/
,(SELECT C_Class FROM SWSB110A_TBL WHERE GoodsCd = A.CGoodsCd) AS GoodsClass /* 제품클래스*/
,A.COrderQty /* 계약수량 */
,A.CReqQty /* 의뢰수량 */
,A.CCustCd /* 고객코드 */
, (SELECT CustNm FROM SWSB210A_TBL WHERE CustCd = A.CCustCd) AS CCustNm /* 고객명 */
,A.CColor /* 색상 */
, (SELECT CDNM FROM SWSA050A_TBL WHERE MAJORCD = 'DN' AND MINORCD = A.CColor) AS CColorNm /*색상명 */
,A.CLogo /* 로고 */
, CASE WHEN A.CLogo = '1' THEN '유' ELSE '무' END AS CLogoNm /* 로고 유무 */
,A.CShassis /* 샤시 */
,(SELECT CDNM FROM SWSA050A_TBL WHERE MAJORCD = 'SH' AND MINORCD = A.CShassis) AS CShassisNm /* 샤시명 */
,(SELECT REMARK FROM SWSA050A_TBL WHERE MAJORCD = 'SH' AND MINORCD = A.CShassis) AS CShassisREMARK
,A.CBigo /* 특이사항 */
,A.CNote /* 노트 */
,A.CRET_DATE /* 생성일시 */
,A.CretEmpNo /* 생성자 */
,A.EDIT_DATE /* 수정일시 */
,A.EditEmpNo /* 수정자 */
FROM SWPI200A_TBL A
WHERE 1 = 1
AND CRequestNo = #{cRequestNo} /* 의뢰번호 */
</select>
<!--
/**
* 계약 번호로 내용찾기
* @since 2021.11.30
* @author min
* @version 1.0
* 계약 테이블의 제품명,고객명
* 생산의뢰서에서 색상,로고 샤시 자져옴 생산의로서에서 가져오는지 다른 데서 가져오는지 직접 입력하는지는 나중에 판단,
* << 개정 이력 >>
*
* 수정일 수정자 수정내용
* **************** ********************** ********************************************************
* 2021.11.30 민상익 최초작성
**/
-->
<select id="getInfoByOrderNo" parameterType="map" resultType="map">
/* inspectionRequest.getInfoByOrderNo */
select a.OrderNo as COrderNo
,GoodsCd as CGoodsCd /* 제품코드 */
,(SELECT GoodsNm FROM SWSB110A_TBL WHERE GoodsCd = A.GoodsCd) as CGoodsNm/* 제품명 */
,CustCd as CCustCd /* 고객코드 */
,(SELECT CustNm FROM SWSB210A_TBL WHERE CustCd = A.CustCd) AS CCustNm /* 고객명 */
,Color as CColor /* 섹싱 */
, (SELECT CDNM FROM SWSA050A_TBL WHERE MAJORCD = 'DN' AND MINORCD = B.Color) AS CColorNm /*색상명 */
,B.Logo as CLogo /* 로고 */
,CASE WHEN B.Logo = '1' THEN '유' ELSE '무' END AS CLogoNm /* 로고유무 */
,Shassis AS CShassis /* 샤시 */
from SWSC110A_TBL A
left join SWSB500A_TBL B /* 계약관리 생산의뢰서 */ on A.OrderNo = b.OrderNo
where A.OrderNo = #{cOrderNo} /* '12021113' */
</select>
<!--
/**
* 검사의뢰서 관리 마스터의 일련번호 CSno 찾기
* @since 2021.11.30
* @author min
* @version 1.0
*
* << 개정 이력 >>
*
* 수정일 수정자 수정내용
* **************** ********************** ********************************************************
* 2021.11.30 민상익 최초작성
**/
-->
<select id="getInspectionRequestCSno" parameterType="map" resultType="map">
SELECT lpad( CSno::text, 4,'0')as CSno , YYYYMM
FROM(
SELECT (COALESCE(MAX(CSno::integer),0))+ 1 AS CSno , to_char(now(), 'YYYYMM') AS YYYYMM
FROM SWPI200A_TBL
WHERE CAcntUnit = '50'
AND CYyMm = to_char(now(), 'YYYYMM')
) t
</select>
<!--
/**
* 검사의뢰서 마스터 저장
* @since 2021.11.30
* @author min
* @version 1.0
* 원소스는 의뢰일이 오늘날짜로 완료일이 오늘날짜에서 3일 추가해서 결정되어서 들어간다. 여기서는 파라메터로 받아서 처리 한다 일단.
* << 개정 이력 >>
*
* 수정일 수정자 수정내용
* **************** ********************** ********************************************************
* 2021.11.30 민상익 최초작성
**/
-->
<insert id="insertInspectionRequestMaster" parameterType="map">
/* inspectionRequest.insertInspectionRequestMaster */
INSERT INTO SWPI200A_TBL (
CRequestNo /* 검사의뢰번호 */
,CAcntUnit /* 사업부 */
,CYyMm /* 의뢰년월 */
,CSno /* 일련번호 */
,CEndGB /* 검사처리구분 */
,CReqDate /* 의뢰일자 */
,CReqEndDate /* 완료요청일 */
,CSendDept /* 발신부서 */
,CRecDept /* 수신부서 */
,COrderNo /* 계약번호 */
,CGoodsCd /* 제품코드 */
,CSaleMan /* 계약담당자 */
,CEndDate /* 납기일자 */
,COrderQty /* 계약수량 */
,CReqQty /* 의뢰수량 */
,CCustCd /* 고객코드 */
,CColor /* 색상 */
,CLogo /* 로고 */
,CShassis /* 샤시 */
,CBigo /* 특이사항 */
,CNote /* 노트 */
,CRET_DATE /* 생성일시 */
,CretEmpNo /* 생성자 */
,EDIT_DATE /* 수정일시 */
,EditEmpNo /* 수정자 */
) SELECT
#{cRequestNo} /* 검사의뢰번호 */
,'50' /* 사업부 */
, to_char(now(), 'YYYYMM') /* 의뢰년월 */
,#{cSno} /* 일련번호 */
,'0' /* 검사처리구분 */
,#{cReqDate} /* 의뢰일자 */
,#{cReqEndDate} /* 완료요청일 */
,#{cSendDept} /* 발신부서 */
,#{cRecDept} /* 수신부서 */
,A.OrderNo /* 계약번호 */
,A.GoodsCd /* 제품코드 */
,A.Salesman /* 계약담당자 */
,A.FinishDate /* 납기일자 */
,A.GoodsQty /* 계약수량 */
,CASE WHEN (A.GoodsQty - (SELECT COALESCE(SUM(CReqQty),0) FROM SWPI200A_TBL WHERE COrderNo = A.OrderNo)) > 9 then 9
ELSE (A.GoodsQty - (SELECT COALESCE(SUM(CReqQty),0) FROM SWPI200A_TBL WHERE COrderNo = A.OrderNo)) END /* 의뢰수량 */
,A.CustCd /* 고객코드 */
,COALESCE(B.COLOR,'') /* 색상 */
,COALESCE(B.LOGO,'0') /* 로고 */
,COALESCE(B.SHASSIS,'') /* 샤시 */
,'' /* 특이사항 */
,B.NOTE /* 노트 */
,now() /* 생성일시 */
,#{cretEmpNo} /* 생성자 */
,now() /* 수정일시 */
,#{cretEmpNo} /* 수정자 */
FROM SWSC110A_TBL A /* 계약관리*/
LEFT OUTER JOIN SWSB500A_TBL/*생산의뢰서*/ B ON A.OrderNo = B.OrderNo
WHERE A.OrderNo = #{cOrderNo}
</insert>
<!--
/**
* 검사의뢰의 기본옵션 조회 데이타 유무 확인
* @since 2021.11.30
* @author min
* @version 1.0
*
* << 개정 이력 >>
*
* 수정일 수정자 수정내용
* **************** ********************** ********************************************************
* 2021.11.30 민상익 최초작성
**/
-->
<select id="getInspectionRequestBasicOptionCount" parameterType="map" resultType="int">
/* inspectionRequest.getInspectionRequestBasicOptionCount */
SELECT COUNT(*) CNT
FROM SWPI201A_TBL
WHERE CRequestNo = #{cRequestNo}
</select>
<!--
/**
* 의뢰서 관리의 기본옵션 조회 데이타 유무 확인
* @since 2021.11.30
* @author min
* @version 1.0
*
* << 개정 이력 >>
*
* 수정일 수정자 수정내용
* **************** ********************** ********************************************************
* 2021.11.30 민상익 최초작성
**/
-->
<select id="getBasicOption" parameterType="map" resultType="int">
/* inspectionRequest.getBasicOption */
SELECT COUNT(*) CNT
FROM SWSB400A_TBL
WHERE AcntUnit || OrderYm || OrderSer = #{cOrderNo}
</select>
<!--
/**
* 검사의뢰서 기본옵션 저장
* @since 2021.11.30
* @author min
* @version 1.0
*
* << 개정 이력 >>
*
* 수정일 수정자 수정내용
* **************** ********************** ********************************************************
* 2021.11.30 민상익 최초작성
**/
-->
<insert id="insertInspectionRequestBasicOption" parameterType="map">
/* inspectionRequest.insertInspectionRequestBasicOption */
INSERT SWPI201A_TBL (
CRequestNo
, BoptClass
, BoptCd
, CSno
, CQty
, CretEmpNo
, EditEmpNo
)
(SELECT #{cRequestNo}
, BOPT_Class
, BOPT_CD
, SEQ
, QTY
,#{cretEmpNo}
,#{cretEmpNo}
FROM SWSB400A_TBL /* 의뢰서 관리의 기본옵션 */
WHERE AcntUnit+OrderYm+OrderSer = #{cOrderNo}
)
</insert>
<!--
/**
* 검사의뢰서 추가옵션 데이타 유무
* @since 2021.11.30
* @author min
* @version 1.0
*
* << 개정 이력 >>
*
* 수정일 수정자 수정내용
* **************** ********************** ********************************************************
* 2021.11.30 민상익 최초작성
**/
-->
<select id="getInspectionRequestAddionalOptionCount" parameterType="map" resultType="int">
/* inspectionRequest.getInspectionRequestAddionalOptionCount */
SELECT COUNT(*)
FROM SWPI202A_TBL
WHERE CRequestNo = #{cRequestNo}
</select>
<!--
/**
* 의뢰서 관리 -추가 옵션 조회 데이타 유무 확인
* @since 2021.11.30
* @author min
* @version 1.0
*
* << 개정 이력 >>
*
* 수정일 수정자 수정내용
* **************** ********************** ********************************************************
* 2021.11.30 민상익 최초작성
**/
-->
<select id="getAdditionalOption" parameterType="map" resultType="int">
/* inspectionRequest.getAdditionalOption */
SELECT COUNT(*) CNT
FROM SWSB410A_TBL
WHERE AcntUnit || OrderYm || OrderSer = #{cOrderNo}
</select>
<!--
/**
* 검사의뢰서 추가옵션 저장
* @since 2021.11.30
* @author min
* @version 1.0
*
* << 개정 이력 >>
*
* 수정일 수정자 수정내용
* **************** ********************** ********************************************************
* 2021.11.30 민상익 최초작성
**/
-->
<insert id="insertInspectionRequestAddionalOption" parameterType="map">
/* inspectionRequest.insertInspectionRequestAddionalOption */
INSERT SWPI202A_TBL (
CRequestNo
, CClass
, CoptCd
, CQty
, CretEmpNo
, EditEmpNo
)
(SELECT #{cRequestNo}
, C_Class
, COPT_CD
, QTY
,#{cretEmpNo}
,#{cretEmpNo}
FROM SWSB410A_TBL /* 의뢰서 관리의 추가옵션 */
WHERE AcntUnit+OrderYm+OrderSer = #{cOrderNo}
)
</insert>
<!--
/**
* 검사의뢰서 추가옵션삭제
* @since 2021.11.30
* @author min
* @version 1.0
*
* << 개정 이력 >>
*
* 수정일 수정자 수정내용
* **************** ********************** ********************************************************
* 2021.11.30 민상익 최초작성
**/
-->
<delete id="deleteInspectionRequestAddionalOption" parameterType="map">
/* inspectionRequest.deleteInspectionRequestAddionalOption */
DELETE FROM SWPI202A_TBL
WHERE CRequestNo = #{cRequestNo} /* 검사의뢰번호 */
</delete>
<!--
/**
* 검사의뢰서 기본옵션삭제
* @since 2021.11.30
* @author min
* @version 1.0
*
* << 개정 이력 >>
*
* 수정일 수정자 수정내용
* **************** ********************** ********************************************************
* 2021.11.30 민상익 최초작성
**/
-->
<delete id="deleteInspectionRequestBasicOption" parameterType="map">
/* inspectionRequest.deleteInspectionRequestBasicOption */
DELETE FROM SWPI201A_TBL
WHERE CRequestNo = #{cRequestNo} /* 검사의뢰번호 */
</delete>
<!--
/**
* 검사의뢰서 마스터 삭제
* @since 2021.11.30
* @author min
* @version 1.0
*
* << 개정 이력 >>
*
* 수정일 수정자 수정내용
* **************** ********************** ********************************************************
* 2021.11.30 민상익 최초작성
**/
-->
<delete id="deleteInspectionRequestMaster" parameterType="map">
/* inspectionRequest.deleteInspectionRequestMaster */
DELETE FROM SWPI200A_TBL
WHERE CRequestNo = #{cRequestNo} /* 검사의뢰번호 */
</delete>
</mapper>