- 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
331 lines
12 KiB
XML
331 lines
12 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.02
|
|
* @author min
|
|
* @version 1.0
|
|
*
|
|
* << 개정 이력 >>
|
|
*
|
|
* 수정일 수정자 수정내용
|
|
* **************** ********************** ********************************************************
|
|
* 2021.11.02 민상익 최초작성
|
|
**/
|
|
-->
|
|
<mapper namespace="customerMgmt">
|
|
|
|
<!--
|
|
/**
|
|
* 고객관리 목록 조회
|
|
* @since 2021.11.02
|
|
* @author min
|
|
* @version 1.0
|
|
*
|
|
* << 개정 이력 >>
|
|
*
|
|
* 수정일 수정자 수정내용
|
|
* **************** ********************** ********************************************************
|
|
* 2021.11.02 민상익 최초작성
|
|
**/
|
|
-->
|
|
<select id="getCustomerMgmtList" parameterType="map" resultType="map">
|
|
/* customerMgmt.getCustomerMgmtList */
|
|
SELECT *
|
|
FROM (
|
|
SELECT ROW_NUMBER() OVER (ORDER BY CRET_DATE) AS RNUM
|
|
,CustCd /* 고객코드 */
|
|
,CustArea /* 고객지역 */
|
|
, (SELECT CdNm FROM SWSA050A_TBL WHERE MajorCd = 'AR'
|
|
AND MinorCd = A.CustArea) AS CustAreaNm /* 고객지역명 */
|
|
,CustSer /* 일련번호 */
|
|
,CustNm /* 고객명 */
|
|
,TaxNo1 /* 사업자번호 */
|
|
,TaxNo2 /* 법인/주민번호 */
|
|
,CustBoss /* 대표자명 */
|
|
,CustUse /* 실사용자 */
|
|
,CustType /* 업태 */
|
|
,CustKind /* 종목 */
|
|
,Adrs /* 주소 */
|
|
,PostNo /* 우편번호 */
|
|
,Tel /* 전화번호 */
|
|
,Fax /* 팩스번호 */
|
|
,DeptCd /* 영업부서 */
|
|
, (SELECT dept_name FROM DEPT_INFO WHERE dept_code = A.DeptCd) AS DeptNm /* 영업부서명 */
|
|
,Salesman /* 영업담당자 */
|
|
, (SELECT user_name FROM USER_INFO WHERE user_id = A.Salesman) AS SalesmanNm /* 영업담당자명 */
|
|
,RegDate /* 적용일자 */
|
|
,Mark /* - */
|
|
,CRET_DATE /* 생성일시 */
|
|
,CretEmpNo /* 생성자 */
|
|
,EDIT_DATE /* 수정일시 */
|
|
,EditEmpNo /* 수정자 */
|
|
,HandPhone /* 핸드폰번호 */
|
|
FROM SWSB210A_TBL A
|
|
WHERE 1 = 1
|
|
<if test="condCustArea != null and condCustArea != '' ">
|
|
AND CustArea = #{condCustArea} /* 고객지역 */
|
|
</if>
|
|
<if test="condNm != null and condNm != '' ">
|
|
AND ( CustNm = #{condNm} OR CustBoss = #{condNm} ) /* 고객명/대표자 */
|
|
</if>
|
|
<if test="condTaxNo != null and condTaxNo != '' ">
|
|
AND ( TaxNo1 = #{condTaxNo} OR TaxNo2 = #{condTaxNo} ) /* 사업자/법인/주민 */
|
|
</if>
|
|
<if test="condAdrs != null and condAdrs != '' ">
|
|
AND Adrs = #{condAdrs} /* 주소 like 헤애힘? */
|
|
</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.02 민상익 최초작성
|
|
**/
|
|
-->
|
|
<select id="getCustomerMgmtListCnt" parameterType="map" resultType="map">
|
|
/* customerMgmt.getCustomerMgmtListCnt */
|
|
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 SWSB210A_TBL
|
|
WHERE 1 = 1
|
|
<if test="condAcntUnit != null and condAcntUnit != '' ">
|
|
AND CustArea = #{condCustArea} /* 고객지역 */
|
|
</if>
|
|
<if test="condNm != null and condNm != '' ">
|
|
AND ( CustNm = #{condNm} OR CustBoss = #{condNm} ) /* 고객명/대표자 */
|
|
</if>
|
|
<if test="condTaxNo != null and condTaxNo != '' ">
|
|
AND ( TaxNo1 = #{condTaxNo} OR TaxNo2 = #{condTaxNo} ) /* 사업자/법인/주민 */
|
|
</if>
|
|
<if test="condAdrs != null and condAdrs != '' ">
|
|
AND Adrs = #{condAdrs} /* 주소 like 헤애힘? */
|
|
</if>
|
|
) T
|
|
) T
|
|
</select>
|
|
|
|
<!--
|
|
/**
|
|
* 고객관리 조회
|
|
* @since 2021.11.02
|
|
* @author min
|
|
* @version 1.0
|
|
*
|
|
* << 개정 이력 >>
|
|
*
|
|
* 수정일 수정자 수정내용
|
|
* **************** ********************** ********************************************************
|
|
* 2021.11.02 민상익 최초작성
|
|
**/
|
|
-->
|
|
<select id="getCustomerMgmt" parameterType="map" resultType="map">
|
|
/* customerMgmt.getCustomerMgmt */
|
|
SELECT *
|
|
FROM SWSB210A_TBL
|
|
WHERE CustCd = #{custCd} /* 고객코드 */
|
|
</select>
|
|
|
|
<!--
|
|
/**
|
|
* 고객관리 일련번호 조회
|
|
* @since 2021.11.02
|
|
* @author min
|
|
* @version 1.0
|
|
*
|
|
* << 개정 이력 >>
|
|
*
|
|
* 수정일 수정자 수정내용
|
|
* **************** ********************** ********************************************************
|
|
* 2021.11.02 민상익 최초작성
|
|
**/
|
|
select lpad(cnt::text ,3,'0')
|
|
from(
|
|
SELECT COUNT(*) +1 as cnt /*자리수 맞춰야 한다면 LPAD 함수 써서 하자 */
|
|
FROM SWSB210A_TBL
|
|
WHERE CustArea = '1'
|
|
) a
|
|
-->
|
|
<select id="getCustomerMgmtCustSer" parameterType="map" resultType="int">
|
|
/* customerMgmt.getCustomerMgmtCustSer */
|
|
SELECT COALESCE(MAX(custSer)::INTEGER, 0) + 1 /*자리수 맞춰야 한다면 LPAD 함수 써서 하자 */
|
|
FROM SWSB210A_TBL
|
|
WHERE CustArea = #{custArea} /* 고객지역 */
|
|
</select>
|
|
|
|
<!--
|
|
/**
|
|
* 사업자 번호 중복 확인
|
|
* @since 2021.11.15
|
|
* @author kim
|
|
* @version 1.0
|
|
*
|
|
* << 개정 이력 >>
|
|
*
|
|
* 수정일 수정자 수정내용
|
|
* **************** ********************** ********************************************************
|
|
* 2021.11.15 김효일 최초작성
|
|
**/
|
|
-->
|
|
<select id="getCustomerMgmtCountByTaxNo1" parameterType="map" resultType="int">
|
|
/* customerMgmt.getCustomerMgmtCountByTaxNo1 */
|
|
SELECT COUNT(*)
|
|
FROM SWSB210A_TBL
|
|
WHERE taxNo1 = #{taxNo1} /* 사업자번호 */
|
|
AND custCd <![CDATA[ <> ]]> #{custCd} /* 고객코드 */
|
|
</select>
|
|
|
|
<!--
|
|
/**
|
|
* 법인/주민번호 중복 확인
|
|
* @since 2021.11.15
|
|
* @author kim
|
|
* @version 1.0
|
|
*
|
|
* << 개정 이력 >>
|
|
*
|
|
* 수정일 수정자 수정내용
|
|
* **************** ********************** ********************************************************
|
|
* 2021.11.15 김효일 최초작성
|
|
**/
|
|
-->
|
|
<select id="getCustomerMgmtCountByTaxNo2" parameterType="map" resultType="int">
|
|
/* customerMgmt.getCustomerMgmtCountByTaxNo2 */
|
|
SELECT COUNT(*)
|
|
FROM SWSB210A_TBL
|
|
WHERE taxNo2 = #{taxNo2} /* 사업자번호 */
|
|
AND custCd <![CDATA[ <> ]]> #{custCd} /* 고객코드 */
|
|
</select>
|
|
|
|
<!--
|
|
/**
|
|
* 계약관리 저장
|
|
* @since 2021.11.02
|
|
* @author kim
|
|
* @version 1.0
|
|
*
|
|
* << 개정 이력 >>
|
|
*
|
|
* 수정일 수정자 수정내용
|
|
* **************** ********************** ********************************************************
|
|
* 2021.11.02 민상익 최초작성
|
|
**/
|
|
-->
|
|
<update id="insertCustomerMgmt" parameterType="map">
|
|
/* customerMgmt.insertCustomerMgmt */
|
|
INSERT INTO SWSB210A_TBL (
|
|
CustCd /* 고객코드 */
|
|
,CustArea /* 고객지역 */
|
|
,CustSer /* 일련번호 */
|
|
,CustNm /* 고객명 */
|
|
,TaxNo1 /* 사업자번호 */
|
|
,TaxNo2 /* 법인/주민번호 */
|
|
,CustBoss /* 대표자명 */
|
|
,CustUse /* 실사용자 */
|
|
,CustType /* 업태 */
|
|
,CustKind /* 종목 */
|
|
,Adrs /* 주소 */
|
|
,PostNo /* 우편번호 */
|
|
,Tel /* 전화번호 */
|
|
,Fax /* 팩스번호 */
|
|
,DeptCd /* 영업부서 */
|
|
,Salesman /* 영업담당자 */
|
|
,RegDate /* 적용일자 */
|
|
,Mark /* - */
|
|
,CRET_DATE /* 생성일시 */
|
|
,CretEmpNo /* 생성자 */
|
|
,EDIT_DATE /* 수정일시 */
|
|
,EditEmpNo /* 수정자 */
|
|
,HandPhone /* 핸드폰번호 */
|
|
) VALUES (
|
|
#{custCd} /* 고객코드 */
|
|
,#{custArea} /* 고객지역 */
|
|
,#{custSer} /* 일련번호 */
|
|
,#{custNm} /* 고객명 */
|
|
,#{taxNo1} /* 사업자번호 */
|
|
,#{taxNo2} /* 법인/주민번호 */
|
|
,#{custBoss} /* 대표자명 */
|
|
,#{custUse} /* 실사용자 */
|
|
,#{custType} /* 업태 */
|
|
,#{custKind} /* 종목 */
|
|
,#{adrs} /* 주소 */
|
|
,#{postNo} /* 우편번호 */
|
|
,#{tel} /* 전화번호 */
|
|
,#{fax} /* 팩스번호 */
|
|
,#{deptCd} /* 영업부서 */
|
|
,#{salesman} /* 영업담당자 */
|
|
,#{regDate} /* 적용일자 */
|
|
,#{mark} /* - */
|
|
,now() /* 생성일시 */
|
|
,#{cretEmpNo} /* 생성자 */
|
|
,now() /* 수정일시 */
|
|
,#{cretEmpNo} /* 수정자 */
|
|
,#{handPhone} /* 핸드폰번호 */
|
|
) ON CONFLICT (custCd) DO /* 고객코드 */
|
|
UPDATE SET
|
|
CustArea = #{custArea} /* 고객지역 */
|
|
,CustNm = #{custNm} /* 고객명 */
|
|
,TaxNo1 = #{taxNo1} /* 사업자번호 */
|
|
,TaxNo2 = #{taxNo2} /* 법인/주민번호 */
|
|
,CustBoss = #{custBoss} /* 대표자명 */
|
|
,CustUse = #{custUse} /* 실사용자 */
|
|
,CustType = #{custType} /* 업태 */
|
|
,CustKind = #{custKind} /* 종목 */
|
|
,Adrs = #{adrs} /* 주소 */
|
|
,PostNo = #{postNo} /* 우편번호 */
|
|
,Tel = #{tel} /* 전화번호 */
|
|
,Fax = #{fax} /* 팩스번호 */
|
|
,DeptCd = #{deptCd} /* 영업부서 */
|
|
,Salesman = #{salesman} /* 영업담당자 */
|
|
,RegDate = #{regDate} /* 적용일자 */
|
|
,Mark = #{mark} /* - */
|
|
,EDIT_DATE = now() /* 수정일시 */
|
|
,EditEmpNo = #{cretEmpNo} /* 수정자 */
|
|
,HandPhone = #{handPhone} /* 핸드폰번호 */
|
|
</update>
|
|
|
|
<!--
|
|
/**
|
|
* 계약관리 삭제
|
|
* @since 2021.11.02
|
|
* @author min
|
|
* @version 1.0
|
|
*
|
|
* << 개정 이력 >>
|
|
*
|
|
* 수정일 수정자 수정내용
|
|
* **************** ********************** ********************************************************
|
|
* 2021.11.02 민상익 최초작성
|
|
**/
|
|
-->
|
|
<delete id="deleteCustomerMgmt" parameterType="map">
|
|
/* customerMgmt.deleteCustomerMgmt */
|
|
DELETE FROM SWSB210A_TBL
|
|
WHERE CustCd = #{custCd} /* 고객코드 */
|
|
</delete>
|
|
|
|
</mapper>
|
|
|