- 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
310 lines
11 KiB
XML
310 lines
11 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="dealerMgmt">
|
|
|
|
<!--
|
|
/**
|
|
* 딜러관리 목록 조회
|
|
* @since 2021.11.02
|
|
* @author min
|
|
* @version 1.0
|
|
*
|
|
* << 개정 이력 >>
|
|
*
|
|
* 수정일 수정자 수정내용
|
|
* **************** ********************** ********************************************************
|
|
* 2021.11.02 민상익 최초작성
|
|
**/
|
|
-->
|
|
<select id="getDealerMgmtList" parameterType="map" resultType="map">
|
|
/* dealerMgmt.getDealerMgmtList */
|
|
SELECT *
|
|
FROM (
|
|
SELECT ROW_NUMBER() OVER (ORDER BY CRET_DATE) AS RNUM
|
|
,CustCd /* 딜러코드 */
|
|
,CustGB /* 딜러구분 */
|
|
,CustArea /* 딜러지역 */
|
|
,(SELECT CdNm FROM SWSA050A_TBL WHERE MajorCd = 'AR' AND MinorCd = A.CustArea) AS CustAreaNm /* 딜러지역명 */
|
|
,CustSer /* 일련번호 */
|
|
,CustNm /* 딜러명 */
|
|
,TaxNo1 /* 사업자번호 */
|
|
,TaxNo2 /* 법인/주민번호 */
|
|
,CustBoss /* 대표자명 */
|
|
,CustType /* 업태 */
|
|
,CustKind /* 종목 */
|
|
,Adrs /* 주소 */
|
|
,PostNo /* 우편번호 */
|
|
,Tel /* 전화번호 */
|
|
,Fax /* 팩스번호 */
|
|
,DeptCd /* 관리부서 */
|
|
, (SELECT BDeptNm FROM SWSB012A_TBL WHERE BDeptCd = A.DeptCd) AS DeptNm /* 관리부서명 */
|
|
,Salesman /* 관리담당자 */
|
|
,(SELECT NameHan FROM SWHD010A_TBL WHERE EmpNo = A.Salesman) AS SalesmanNm /* 관리담당자명 */
|
|
,RegDate /* 적용일자 */
|
|
,SaleLocate /* 영업지역 */
|
|
,(SELECT CdNm FROM SWSA050A_TBL WHERE MajorCd = 'AR' AND MinorCd = A.SaleLocate) AS SaleLocateNm /* 영업지역명 */
|
|
,CRET_DATE /* 생성일시 */
|
|
,CretEmpNo /* 생성자 */
|
|
,EDIT_DATE /* 수정일시 */
|
|
,EditEmpNo /* 수정자 */
|
|
FROM SWSB010A_TBL A
|
|
WHERE 1 = 1
|
|
<if test="condCustGb != null and condCustGb != '' ">
|
|
AND CustGB = #{condCustGb} /* 딜러구분 */
|
|
</if>
|
|
<if test="condCustArea != null and condCustArea != '' ">
|
|
AND CustArea = #{condCustArea} /* 딜러지역 */
|
|
</if>
|
|
<if test="condNm != null and condNm != '' ">
|
|
AND ( CustNm LIKE CONCAT('%', #{condNm}, '%') OR CustBoss LIKE CONCAT('%', #{condNm}, '%') ) /* 딜러명/대표자 */
|
|
</if>
|
|
<if test="condTaxNo != null and condTaxNo != '' ">
|
|
AND ( TaxNo1 LIKE CONCAT('%', #{condTaxNo}, '%') OR TaxNo2 LIKE CONCAT('%', #{condTaxNo}, '%') ) /* 사업자/법인/주민 */
|
|
</if>
|
|
<if test="condAdrs != null and condAdrs != '' ">
|
|
AND Adrs LIKE CONCAT('%', #{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.02
|
|
* @author min
|
|
* @version 1.0
|
|
*
|
|
* << 개정 이력 >>
|
|
*
|
|
* 수정일 수정자 수정내용
|
|
* **************** ********************** ********************************************************
|
|
* 2021.11.02 민상익 최초작성
|
|
**/
|
|
-->
|
|
<select id="getDealerMgmtListCnt" parameterType="map" resultType="map">
|
|
/* dealerMgmt.getDealerMgmtListCnt */
|
|
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 SWSB010A_TBL
|
|
WHERE 1 = 1
|
|
<if test="condCustGb != null and condCustGb != '' ">
|
|
AND CustGB = #{condCustGb} /* 딜러구분 */
|
|
</if>
|
|
<if test="condAcntUnit != null and condAcntUnit != '' ">
|
|
AND CustArea = #{condCustArea} /* 딜러지역 */
|
|
</if>
|
|
<if test="condNm != null and condNm != '' ">
|
|
AND ( CustNm LIKE CONCAT('%', #{condNm}, '%') OR CustBoss LIKE CONCAT('%', #{condNm}, '%') ) /* 딜러명/대표자 */
|
|
</if>
|
|
<if test="condTaxNo != null and condTaxNo != '' ">
|
|
AND ( TaxNo1 LIKE CONCAT('%', #{condTaxNo}, '%') OR TaxNo2 LIKE CONCAT('%', #{condTaxNo}, '%') ) /* 사업자/법인/주민 */
|
|
</if>
|
|
<if test="condAdrs != null and condAdrs != '' ">
|
|
AND Adrs LIKE CONCAT('%', #{condAdrs}, '%') /* 주소 like 헤애힘? */
|
|
</if>
|
|
) T
|
|
) T
|
|
</select>
|
|
|
|
<!--
|
|
/**
|
|
* 딜러관리 조회
|
|
* @since 2021.11.02
|
|
* @author min
|
|
* @version 1.0
|
|
*
|
|
* << 개정 이력 >>
|
|
*
|
|
* 수정일 수정자 수정내용
|
|
* **************** ********************** ********************************************************
|
|
* 2021.11.02 민상익 최초작성
|
|
**/
|
|
-->
|
|
<select id="getDealerMgmt" parameterType="map" resultType="map">
|
|
/* dealerMgmt.getDealerMgmt */
|
|
SELECT *
|
|
FROM SWSB010A_TBL
|
|
WHERE CustCd = #{custCd} /* 딜러코드 */
|
|
</select>
|
|
|
|
<!--
|
|
/**
|
|
* 딜러관리 일련번호 조회
|
|
* @since 2021.11.02
|
|
* @author min
|
|
* @version 1.0
|
|
*
|
|
* << 개정 이력 >>
|
|
*
|
|
* 수정일 수정자 수정내용
|
|
* **************** ********************** ********************************************************
|
|
* 2021.11.02 민상익 최초작성
|
|
**/
|
|
-->
|
|
<select id="getDealerMgmtCustSer" parameterType="map" resultType="int">
|
|
/* dealerMgmt.getDealerMgmtCustSer */
|
|
SELECT COALESCE(MAX(custSer)::INTEGER, 0) + 1
|
|
FROM SWSB010A_TBL
|
|
WHERE CustArea = #{custArea} /* 고객지역 */
|
|
</select>
|
|
|
|
<!--
|
|
/**
|
|
* 딜러관리 삭제 가능 여부 조회
|
|
* @since 2021.11.15
|
|
* @author min
|
|
* @version 1.0
|
|
*
|
|
* << 개정 이력 >>
|
|
*
|
|
* 수정일 수정자 수정내용
|
|
* **************** ********************** ********************************************************
|
|
* 2021.11.15 김효일 최초작성
|
|
**/
|
|
-->
|
|
<select id="getDealerMgmtRelationCount" parameterType="map" resultType="map">
|
|
/* dealerMgmt.getDealerMgmtRelationCount */
|
|
SELECT (SELECT COUNT(*) FROM SWSC110A_TBL WHERE salesMan = #{custCd}) AS swsc110ACnt /* 계약 */
|
|
, (SELECT COUNT(*) FROM SWSD010A_TBL WHERE salesMan = #{custCd}) AS swsd010ACnt /* 매출 */
|
|
, (SELECT COUNT(*) FROM SWSE010A_TBL WHERE salesMan = #{custCd}) AS swse010ACnt /* 수금 */
|
|
</select>
|
|
|
|
<!--
|
|
/**
|
|
* 딜러관리 저장
|
|
* @since 2021.11.02
|
|
* @author min
|
|
* @version 1.0
|
|
*
|
|
* << 개정 이력 >>
|
|
*
|
|
* 수정일 수정자 수정내용
|
|
* **************** ********************** ********************************************************
|
|
* 2021.11.02 민상익 최초작성
|
|
**/
|
|
-->
|
|
<update id="insertDealerMgmt" parameterType="map">
|
|
/* dealerMgmt.insertDealerMgmt */
|
|
INSERT INTO SWSB010A_TBL (
|
|
CustCd /* 딜러코드 */
|
|
,CustGB /* 딜러구분 */
|
|
,CustArea /* 딜러지역 */
|
|
,CustSer /* 일련번호 */
|
|
,CustNm /* 딜러명 */
|
|
,TaxNo1 /* 사업자번호 */
|
|
,TaxNo2 /* 법인/주민번호 */
|
|
,CustBoss /* 대표자명 */
|
|
,CustType /* 업태 */
|
|
,CustKind /* 종목 */
|
|
,Adrs /* 주소 */
|
|
,PostNo /* 우편번호 */
|
|
,Tel /* 전화번호 */
|
|
,Fax /* 팩스번호 */
|
|
,DeptCd /* 영업부서 */
|
|
,Salesman /* 영업담당자 */
|
|
,RegDate /* 적용일자 */
|
|
,SaleLocate /* - */
|
|
,CRET_DATE /* 생성일시 */
|
|
,CretEmpNo /* 생성자 */
|
|
,EDIT_DATE /* 수정일시 */
|
|
,EditEmpNo /* 수정자 */
|
|
,HandPhone /* 핸드폰 */
|
|
|
|
) VALUES (
|
|
#{custCd} /* 딜러코드 */
|
|
,#{custGb} /* 딜러구분 */
|
|
,#{custArea} /* 딜러지역 */
|
|
,#{custSer} /* 일련번호 */
|
|
,#{custNm} /* 딜러명 */
|
|
,#{taxNo1} /* 사업자번호 */
|
|
,#{taxNo2} /* 법인/주민번호 */
|
|
,#{custBoss} /* 대표자명 */
|
|
,#{custType} /* 업태 */
|
|
,#{custKind} /* 종목 */
|
|
,#{adrs} /* 주소 */
|
|
,#{postNo} /* 우편번호 */
|
|
,#{tel} /* 전화번호 */
|
|
,#{fax} /* 팩스번호 */
|
|
,#{deptCd} /* 영업부서 */
|
|
,#{salesman} /* 영업담당자 */
|
|
,#{regDate} /* 적용일자 */
|
|
,#{saleLocate} /* 영업지역 */
|
|
,now() /* 생성일시 */
|
|
,#{cretEmpNo} /* 생성자 */
|
|
,now() /* 수정일시 */
|
|
,#{cretEmpNo} /* 수정자 */
|
|
,#{handPhone} /* 핸드폰 */
|
|
) ON
|
|
CONFLICT (custCd) DO
|
|
UPDATE SET
|
|
CustGB = #{custGb} /* 딜러구분 */
|
|
,CustArea = #{custArea} /* 딜러지역 */
|
|
,CustNm = #{custNm} /* 딜러명 */
|
|
,TaxNo1 = #{taxNo1} /* 사업자번호 */
|
|
,TaxNo2 = #{taxNo2} /* 법인/주민번호 */
|
|
,CustBoss = #{custBoss} /* 대표자명 */
|
|
,CustType = #{custType} /* 업태 */
|
|
,CustKind = #{custKind} /* 종목 */
|
|
,Adrs = #{adrs} /* 주소 */
|
|
,PostNo = #{postNo} /* 우편번호 */
|
|
,Tel = #{tel} /* 전화번호 */
|
|
,Fax = #{fax} /* 팩스번호 */
|
|
,DeptCd = #{deptCd} /* 영업부서 */
|
|
,Salesman = #{salesman} /* 영업담당자 */
|
|
,RegDate = #{regDate} /* 적용일자 */
|
|
,SaleLocate = #{saleLocate} /* 영업지역 */
|
|
,EDIT_DATE = now() /* 수정일시 */
|
|
,EditEmpNo = #{cretEmpNo} /* 수정자 */
|
|
,HandPhone = #{handPhone} /* 핸드폰 */
|
|
|
|
</update>
|
|
|
|
<!--
|
|
/**
|
|
* 딜러관리 삭제
|
|
* @since 2021.11.02
|
|
* @author min
|
|
* @version 1.0
|
|
*
|
|
* << 개정 이력 >>
|
|
*
|
|
* 수정일 수정자 수정내용
|
|
* **************** ********************** ********************************************************
|
|
* 2021.11.02 민상익 최초작성
|
|
**/
|
|
-->
|
|
<delete id="deleteDealerMgmt" parameterType="map">
|
|
/* dealerMgmt.deleteDealerMgmt */
|
|
Delete FROM SWSB010A_TBL
|
|
WHERE CustCd = #{custCd} /* 딜러코드 */
|
|
</delete>
|
|
|
|
</mapper>
|
|
|