- 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
322 lines
12 KiB
XML
322 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.04
|
|
* @author min
|
|
* @version 1.0
|
|
*
|
|
* << 개정 이력 >>
|
|
*
|
|
* 수정일 수정자 수정내용
|
|
* **************** ********************** ********************************************************
|
|
* 2021.11.04 민상익 최초작성
|
|
**/
|
|
-->
|
|
<mapper namespace="goodsMgmt">
|
|
|
|
<!--
|
|
/**
|
|
* 제품관리 목록 조회
|
|
* @since 2021.11.04
|
|
* @author min
|
|
* @version 1.0
|
|
*
|
|
* << 개정 이력 >>
|
|
*
|
|
* 수정일 수정자 수정내용
|
|
* **************** ********************** ********************************************************
|
|
* 2021.11.04 민상익 최초작성
|
|
**/
|
|
-->
|
|
<select id="getGoodsMgmtList" parameterType="map" resultType="map">
|
|
/* goodsMgmt.getGoodsMgmtList */
|
|
SELECT *
|
|
FROM (
|
|
SELECT ROW_NUMBER() OVER (ORDER BY CRET_DATE) AS RNUM
|
|
,A.goodsCd /* 제품코드 */
|
|
,A.goodsNm /* 제품명 */
|
|
,A.goodsHanNm /* 제품한글명 */
|
|
,A.goodsSpec /* 규격 */
|
|
,A.goodsUnit /* 단위 */
|
|
,(SELECT CdNm FROM SWSA050A_TBL WHERE MajorCd = 'AA' AND MinorCd = A.AcntUnit) AS AcntUnitNm
|
|
,A.AcntUnit /* 법인 */
|
|
,A.C_Class /* 제품그룹 */
|
|
, CASE WHEN A.c_class IS NOT NULL then
|
|
CONCAT(
|
|
(SELECT ltrim(rtrim(DTL_NM)) from SWSA999A_TBL where COMM_CD = 'S110' AND SUBSTRING(DTL_CD,1,1) = SUBSTRING(A.c_class,1,1)),
|
|
'-',
|
|
(SELECT ltrim(rtrim(DTL_NM)) from SWSA999A_TBL where COMM_CD = 'S120' AND SUBSTRING(DTL_CD,1,3) = SUBSTRING(A.c_class,1,3)),
|
|
'-',
|
|
(SELECT ltrim(rtrim(DTL_NM)) from SWSA999A_TBL where COMM_CD = 'S130' AND DTL_CD = A.c_class )
|
|
)
|
|
ELSE '' END AS c_classNm /* 제품그룹명 */
|
|
,A.Class1 /* */
|
|
,(SELECT COALESCE(DTL_NM,'') FROM SWSA999A_TBL WHERE COMM_CD = 'S170' AND DTL_CD = A.Class1) AS Class1Nm
|
|
,A.Class2 /* */
|
|
,(SELECT COALESCE(DTL_NM,'') FROM SWSA999A_TBL WHERE COMM_CD = 'S171' AND DTL_CD = A.Class2) AS Class2Nm
|
|
,A.GoodsGuarantee /* 보증기간 */
|
|
,A.Cost_Amt /* 판매금액 */
|
|
,A.Sale_Amt /* */
|
|
,A.SaftyQty /* */
|
|
,A.Royalty /* */
|
|
,A.RegYmd /* 등록일자 */
|
|
,A.DelYmd /* 단종일자 */
|
|
,A.Remark /* 비고 */
|
|
,A.CommiYN /* 판매수수료_적용여부 */
|
|
,CASE WHEN A.CommiYN = '0' THEN '미적용'
|
|
WHEN A.CommiYN = '1' THEN '적용'
|
|
ELSE '' END AS CommiYN_NM /* 판매수수료_적용여부명 */
|
|
,A.CommiGB /* 방식/수식 */
|
|
,(SELECT CDNM FROM SWSA050A_TBL WHERE MajorCd = 'FB' and MINORCD = A.CommiGB) AS CommiGB_NM /* 방식/수식_명 */
|
|
,A.CommiGive /* */
|
|
,A.CCommiPer /* 크레인(%) */
|
|
,A.TCommiPer /* 특장(%) */
|
|
,A.CCommiAmt /* 크레인(금액) */
|
|
,A.TCommiAmt /* 특장(금액) */
|
|
,A.GB1 /* 영업소 */
|
|
,CASE WHEN A.GB1 = '0' THEN '비공개'
|
|
WHEN A.GB1 = '1' THEN '공개'
|
|
ELSE '' END AS GB1_NM /* 영업소명 */
|
|
,A.CRET_DATE /* 생성일시 */
|
|
,A.CretEmpNo /* 생성자 */
|
|
,A.EDIT_DATE /* 수정일시 */
|
|
,A.EditEmpNo /* 수정자 */
|
|
FROM SWSB110A_TBL A
|
|
WHERE 1 = 1
|
|
<if test="condGoodsCd != null and condGoodsCd != '' ">
|
|
AND A.goodsCd = #{condGoodsCd} /* 제품코드 */
|
|
</if>
|
|
<if test="condGoodsSpec != null and condGoodsSpec != '' ">
|
|
AND B.goodsSpec LIKE CONCAT('%', #{condGoodsSpec}, '%') /* 규격 */
|
|
</if>
|
|
<if test="condCClass != null and condCClass != '' ">
|
|
AND A.c_class = #{condCClass} /* 제품그룹 */
|
|
</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.04
|
|
* @author min
|
|
* @version 1.0
|
|
*
|
|
* << 개정 이력 >>
|
|
*
|
|
* 수정일 수정자 수정내용
|
|
* **************** ********************** ********************************************************
|
|
* 2021.11.04 민상익 최초작성
|
|
**/
|
|
-->
|
|
<select id="getGoodsMgmtListCnt" parameterType="map" resultType="map">
|
|
/* goodsMgmt.getGoodsMgmtListCnt */
|
|
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 SWSB110A_TBL A
|
|
WHERE 1 = 1
|
|
<if test="condGoodsCd != null and condGoodsCd != '' ">
|
|
AND A.goodsCd = #{condGoodsCd} /* 제품코드 */
|
|
</if>
|
|
<if test="condGoodsSpec != null and condGoodsSpec != '' ">
|
|
AND A.goodsSpec LIKE CONCAT('%', #{condGoodsSpec}, '%') /* 규격 */
|
|
</if>
|
|
<if test="condCClass != null and condCClass != '' ">
|
|
AND A.c_class = #{condCClass} /* 제품그룹 */
|
|
</if>
|
|
) T
|
|
) T
|
|
</select>
|
|
|
|
<!--
|
|
/**
|
|
* 제품관리 조회
|
|
* @since 2021.11.04
|
|
* @author min
|
|
* @version 1.0
|
|
*
|
|
* << 개정 이력 >>
|
|
*
|
|
* 수정일 수정자 수정내용
|
|
* **************** ********************** ********************************************************
|
|
* 2021.11.04 민상익 최초작성
|
|
**/
|
|
-->
|
|
<select id="getGoodsMgmt" parameterType="map" resultType="map">
|
|
/* goodsMgmt.getGoodsMgmt */
|
|
SELECT A.*
|
|
FROM SWSB110A_TBL A
|
|
WHERE A.goodsCd = #{goodsCd} /* 제품번호 */
|
|
</select>
|
|
|
|
<!--
|
|
/**
|
|
* 제품번호 중복 조회
|
|
* @since 2021.11.04
|
|
* @author min
|
|
* @version 1.0
|
|
*
|
|
* << 개정 이력 >>
|
|
*
|
|
* 수정일 수정자 수정내용
|
|
* **************** ********************** ********************************************************
|
|
* 2021.11.04 민상익 최초작성
|
|
**/
|
|
-->
|
|
<select id="getGoodsMgmtCountByGoodsCd" parameterType="map" resultType="int">
|
|
/* goodsMgmt.getGoodsMgmtCountByGoodsCd */
|
|
SELECT COUNT(*)
|
|
FROM SWSB110A_TBL A
|
|
WHERE A.goodsCd = #{goodsCd} /* 제품번호 */
|
|
</select>
|
|
|
|
<!--
|
|
/**
|
|
* 제품관리 저장
|
|
* @since 2021.11.04
|
|
* @author min
|
|
* @version 1.0
|
|
*
|
|
* << 개정 이력 >>
|
|
*
|
|
* 수정일 수정자 수정내용
|
|
* **************** ********************** ********************************************************
|
|
* 2021.11.04 민상익 최초작성
|
|
**/
|
|
-->
|
|
<update id="insertGoodsMgmt" parameterType="map">
|
|
/* goodsMgmt.insertGoodsMgmt */
|
|
INSERT INTO SWSB110A_TBL (
|
|
goodsCd /* 제품코드 */
|
|
,GoodsNm /* 제품명 */
|
|
,GoodsHanNm /* 제품한글명 */
|
|
,GoodsSpec /* 규격 */
|
|
,GoodsUnit /* 단위 */
|
|
,AcntUnit /* 법인 */
|
|
,C_Class /* 제품그룹 */
|
|
,Class1 /* */
|
|
,Class2 /* */
|
|
,GoodsGuarantee /* 보증기간 */
|
|
,Cost_Amt /* 판매금액 */
|
|
,Sale_Amt /* */
|
|
,SaftyQty /* */
|
|
,Royalty /* */
|
|
,RegYmd /* 등록일자 */
|
|
,DelYmd /* 단종일자 */
|
|
,Remark /* 비고 */
|
|
,CommiYN /* 판매수수료적용여부 */
|
|
,CommiGB /* 방식/수식 */
|
|
,CommiGive /* */
|
|
,CCommiPer /* 크레인(%) */
|
|
,TCommiPer /* 특장(%) */
|
|
,CCommiAmt /* 크레인(금액) */
|
|
,TCommiAmt /* 특장(금액) */
|
|
,GB1 /* 영업소 */
|
|
,CRET_DATE /* 생성일시 */
|
|
,CretEmpNo /* 생성자 */
|
|
,EDIT_DATE /* 수정일시 */
|
|
,EditEmpNo /* 수정자 */
|
|
,ObjId /* 양산제품ID */
|
|
,Master_objid /* 양산제품UPG ID */
|
|
) VALUES (
|
|
#{goodsCd} /* 제품코드 */
|
|
,#{goodsNm} /* 제품명 */
|
|
,#{goodsHanNm} /* 제품한글명 */
|
|
,#{goodsSpec} /* 규격 */
|
|
,#{goodsUnit} /* 단위 */
|
|
,#{acntUnit} /* 법인 */
|
|
,#{cClass} /* 제품그룹 */
|
|
,#{class1} /* */
|
|
,#{class2} /* */
|
|
,#{goodsGuarantee}:: INTEGER /* 보증기간 */
|
|
,#{costAmt}:: BIGINT /* 판매금액 */
|
|
,#{saleAmt}:: BIGINT /* */
|
|
,#{saftyQty}:: BIGINT /* */
|
|
,#{royalty}:: BIGINT /* */
|
|
,#{regYmd} /* 등록일자 */
|
|
,#{delYmd} /* 단종일자 */
|
|
,#{remark} /* 비고 */
|
|
,#{commiYn} /* 판매수수료적용여부 */
|
|
,#{commiGb} /* 방식/수식 */
|
|
,#{commiGive} /* */
|
|
,#{cCommiPer}:: BIGINT /* 크레인(%) */
|
|
,#{tCommiPer}:: BIGINT /* 특장(%) */
|
|
,#{cCommiAmt}:: BIGINT /* 크레인(금액) */
|
|
,#{tCommiAmt}:: BIGINT /* 특장(금액) */
|
|
,#{gb1} /* 영업소 */
|
|
,now() /* 생성일시 */
|
|
,#{cretEmpNo} /* 생성자 */
|
|
, now() /* 수정일시 */
|
|
,#{cretEmpNo} /* 수정자 */
|
|
,#{objId}:: NUMERIC /* 양산제품ID */
|
|
,#{masterObjId}:: NUMERIC /* 양산제품UPG ID */
|
|
) ON
|
|
CONFLICT (GoodsCd) DO
|
|
UPDATE SET
|
|
GoodsNm = #{goodsNm} /* 제품명 */
|
|
,GoodsHanNm = #{goodsHanNm} /* 제품한글명 */
|
|
,GoodsSpec = #{goodsSpec} /* 규격 */
|
|
,GoodsUnit = #{goodsUnit} /* 단위 */
|
|
,AcntUnit = #{acntUnit} /* 법인 */
|
|
,C_Class = #{cClass} /* 제품그룹 */
|
|
,Class1 = #{class1} /* */
|
|
,Class2 = #{class2} /* */
|
|
,GoodsGuarantee = #{goodsGuarantee}:: INTEGER /* 보증기간 */
|
|
,Cost_Amt = #{costAmt}:: BIGINT /* 판매금액 */
|
|
,Sale_Amt = #{saleAmt}:: BIGINT /* */
|
|
,SaftyQty = #{saftyQty}:: BIGINT /* */
|
|
,Royalty = #{royalty}:: BIGINT /* */
|
|
,RegYmd = #{regYmd} /* 등록일자 */
|
|
,DelYmd = #{delYmd} /* 단종일자 */
|
|
,Remark = #{remark} /* 비고 */
|
|
,CommiYN = #{commiYn} /* 판매수수료적용여부 */
|
|
,CommiGB = #{commiGb} /* 방식/수식 */
|
|
,CommiGive = #{commiGive} /* */
|
|
,CCommiPer = #{cCommiPer}:: BIGINT /* 크레인(%) */
|
|
,TCommiPer = #{tCommiPer}:: BIGINT /* 특장(%) */
|
|
,CCommiAmt = #{cCommiAmt}:: BIGINT /* 크레인(금액) */
|
|
,TCommiAmt = #{tCommiAmt}:: BIGINT /* 특장(금액) */
|
|
,GB1 = #{gb1} /* 영업소 */
|
|
,EDIT_DATE = now() /* 수정일시 */
|
|
,EditEmpNo = #{cretEmpNo} /* 수정자 */
|
|
,ObjId = #{objId}:: NUMERIC /* 양산제품ID */
|
|
,Master_objid = #{masterObjId}:: NUMERIC /* 양산제품UPG ID */
|
|
</update>
|
|
|
|
<!--
|
|
/**
|
|
* 제품관리 삭제
|
|
* @since 2021.11.04
|
|
* @author min
|
|
* @version 1.0
|
|
*
|
|
* << 개정 이력 >>
|
|
*
|
|
* 수정일 수정자 수정내용
|
|
* **************** ********************** ********************************************************
|
|
* 2021.11.04 민상익 최초작성
|
|
**/
|
|
-->
|
|
<delete id="deleteGoodsMgmt" parameterType="map">
|
|
/* goodsMgmt.deleteGoodsMgmt */
|
|
DELETE FROM SWSB110A_TBL
|
|
WHERE GoodsCd = #{goodsCd} /* 제품코드 */
|
|
</delete>
|
|
|
|
</mapper>
|
|
|