- 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
358 lines
9.4 KiB
XML
358 lines
9.4 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">
|
|
<mapper namespace="procurStandMgmt">
|
|
|
|
<!-- //구매품표준관리 대분류 조회 -->
|
|
<select id="mainCategoryGridList" parameterType="map" resultType="map">
|
|
SELECT
|
|
OBJID
|
|
,CODE_NAME
|
|
,CODE_ID
|
|
,DETAIL
|
|
,CATEGORY
|
|
,REGDATE
|
|
,TO_CHAR(REGDATE, 'YYYY-MM-DD') AS REG_DATE
|
|
,WRITER
|
|
,USER_NAME(WRITER) AS WRITER_NAME
|
|
,STATUS
|
|
FROM
|
|
PROCUREMENT_STANDARD
|
|
WHERE 1=1
|
|
<if test="search_category !=null and search_category !=''">
|
|
AND CATEGORY = #{search_category}
|
|
</if>
|
|
<if test="code_name !=null and code_name !=''">
|
|
AND OBJID = #{code_name}
|
|
</if>
|
|
<if test="code_id !=null and code_id !=''">
|
|
AND OBJID = #{code_id}
|
|
</if>
|
|
ORDER BY CODE_ID
|
|
</select>
|
|
|
|
<update id="saveCODE1Info" parameterType="map">
|
|
INSERT INTO
|
|
PROCUREMENT_STANDARD
|
|
(
|
|
OBJID
|
|
,CODE_NAME
|
|
,CODE_ID
|
|
,DETAIL
|
|
,CATEGORY
|
|
,REGDATE
|
|
,WRITER
|
|
,STATUS
|
|
)VALUES(
|
|
#{OBJID}
|
|
,#{CODE_NAME}
|
|
,#{CODE_ID}
|
|
,#{DETAIL}
|
|
,#{CATEGORY}
|
|
,NOW()
|
|
,#{WRITER}
|
|
,#{STATUS}
|
|
)ON CONFLICT (OBJID) DO
|
|
UPDATE
|
|
SET
|
|
CODE_NAME = #{CODE_NAME }
|
|
,CODE_ID = #{CODE_ID }
|
|
,DETAIL = #{DETAIL }
|
|
,CATEGORY = #{CATEGORY }
|
|
<!-- ,REGDATE = NOW()
|
|
,WRITER = #{WRITER } -->
|
|
,STATUS = #{STATUS }
|
|
,EDITDATE = NOW()
|
|
,EDIT_USER = #{WRITER }
|
|
</update>
|
|
|
|
<!-- 구매품 표준 단건 정보를 가져온다. -->
|
|
<select id="getCodeInfo" parameterType="map" resultType="map">
|
|
SELECT
|
|
OBJID
|
|
,CODE_NAME
|
|
,CODE_ID
|
|
,DETAIL
|
|
,CATEGORY
|
|
,REGDATE
|
|
,WRITER
|
|
,STATUS
|
|
FROM PROCUREMENT_STANDARD
|
|
WHERE OBJID = #{OBJID}
|
|
</select>
|
|
|
|
<delete id="deleteCODE1Info" parameterType="map">
|
|
DELETE FROM PROCUREMENT_STANDARD
|
|
WHERE OBJID IN
|
|
<foreach collection="checkArr" item="objkey" index="index" separator="," open="(" close=")">
|
|
#{objkey}
|
|
</foreach>
|
|
</delete>
|
|
|
|
<select id="overlapStandardMng" parameterType="map" resultType="map">
|
|
SELECT
|
|
T.*
|
|
FROM PROCUREMENT_STANDARD T
|
|
WHERE 1=1
|
|
AND T.OBJID != #{OBJID}
|
|
AND (REPLACE(TRIM(UPPER(T.CODE_NAME)), ' ', '') = REPLACE(TRIM(UPPER(#{CODE_NAME})), ' ', '')
|
|
OR REPLACE(TRIM(UPPER(T.CODE_ID)), ' ', '') = replace(TRIM(UPPER(#{CODE_ID})), ' ', ''))
|
|
<!-- OR TRIM(UPPER(T.CODE_ID)) = TRIM(UPPER(#{CODE_ID}))) -->
|
|
</select>
|
|
|
|
<select id="materialCodeGridList" parameterType="map" resultType="map">
|
|
SELECT
|
|
T.*
|
|
,(SELECT CODE_ID FROM PROCUREMENT_STANDARD PS WHERE PS.OBJID = T.CODE1) AS CODE_ID1
|
|
,(SELECT CODE_NAME FROM PROCUREMENT_STANDARD PS WHERE PS.OBJID = T.CODE1) AS CODE_NAME1
|
|
,(SELECT CODE_ID FROM PROCUREMENT_STANDARD PS WHERE PS.OBJID = T.CODE2) AS CODE_ID2
|
|
,(SELECT CODE_NAME FROM PROCUREMENT_STANDARD PS WHERE PS.OBJID = T.CODE2) AS CODE_NAME2
|
|
,(SELECT CODE_ID FROM PROCUREMENT_STANDARD PS WHERE PS.OBJID = T.CODE3) AS CODE_ID3
|
|
,(SELECT CODE_NAME FROM PROCUREMENT_STANDARD PS WHERE PS.OBJID = T.CODE3) AS CODE_NAME3
|
|
,(SELECT CODE_ID FROM PROCUREMENT_STANDARD PS WHERE PS.OBJID = T.CODE4) AS CODE_ID4
|
|
,(SELECT CODE_NAME FROM PROCUREMENT_STANDARD PS WHERE PS.OBJID = T.CODE4) AS CODE_NAME4
|
|
,(SELECT CODE_ID FROM PROCUREMENT_STANDARD PS WHERE PS.OBJID = T.CODE5) AS CODE_ID5
|
|
,(SELECT CODE_NAME FROM PROCUREMENT_STANDARD PS WHERE PS.OBJID = T.CODE5) AS CODE_NAME5
|
|
FROM PART_MNG T
|
|
WHERE 1=1
|
|
AND IS_NEW = '1'
|
|
<!-- AND IS_LONGD = '1' -->
|
|
<if test="SEARCH_PART_NO != null and SEARCH_PART_NO != ''">
|
|
AND UPPER(T.PART_NO) LIKE UPPER('%${SEARCH_PART_NO}%')
|
|
</if>
|
|
<if test="SEARCH_MAJ_CAT != null and SEARCH_MAJ_CAT != ''">
|
|
AND UPPER(T.MAJOR_CATEGORY) LIKE UPPER('%${SEARCH_MAJ_CAT}%')
|
|
</if>
|
|
<if test="SEARCH_SUB_CAT != null and SEARCH_SUB_CAT != ''">
|
|
AND UPPER(T.SUB_CATEGORY) LIKE UPPER('%${SEARCH_SUB_CAT}%')
|
|
</if>
|
|
<if test="SEARCH_MAKER != null and SEARCH_MAKER != ''">
|
|
AND UPPER(T.MAKER) LIKE UPPER('%${SEARCH_MAKER}%')
|
|
</if>
|
|
<if test="SEARCH_PART_NAME != null and SEARCH_PART_NAME != ''">
|
|
AND UPPER(T.PART_NAME) LIKE UPPER('%${SEARCH_PART_NAME}%')
|
|
</if>
|
|
<if test="SEARCH_SPEC != null and SEARCH_SPEC != ''">
|
|
AND UPPER(T.SPEC) LIKE UPPER('%${SEARCH_SPEC}%')
|
|
</if>
|
|
ORDER BY REG_DATE desc
|
|
</select>
|
|
|
|
<select id="overlapMaterialCode" parameterType="map" resultType="map">
|
|
SELECT
|
|
T.*
|
|
FROM PART_MNG T
|
|
WHERE 1=1
|
|
AND T.OBJID != #{OBJID}
|
|
<!-- AND IS_LONGD = '1' -->
|
|
AND REPLACE(TRIM(UPPER(T.PART_NO)), ' ', '') = REPLACE(TRIM(UPPER(#{MATERIAL_CODE})), ' ', '')
|
|
</select>
|
|
|
|
<!-- 자재코드 등록 -->
|
|
<update id="mergeMaterialCode" parameterType="map">
|
|
INSERT INTO PART_MNG
|
|
(
|
|
OBJID,
|
|
PRODUCT_MGMT_OBJID,
|
|
UPG_NO,
|
|
PART_NO,
|
|
PART_NAME,
|
|
UNIT,
|
|
QTY,
|
|
SPEC,
|
|
MATERIAL,
|
|
WEIGHT,
|
|
PART_TYPE,
|
|
REMARK,
|
|
ES_SPEC,
|
|
MS_SPEC,
|
|
CHANGE_TYPE,
|
|
CHANGE_OPTION,
|
|
DESIGN_APPLY_POINT,
|
|
MANAGEMENT_FLAG,
|
|
REVISION,
|
|
STATUS,
|
|
REG_DATE,
|
|
WRITER,
|
|
IS_LAST,
|
|
PARENT_PART_NO,
|
|
SUB_MATERIAL,
|
|
EO_DATE,
|
|
DESIGN_DATE,
|
|
THICKNESS,
|
|
WIDTH,
|
|
HEIGHT,
|
|
OUT_DIAMETER,
|
|
IN_DIAMETER,
|
|
LENGTH,
|
|
SUPPLY_CODE,
|
|
MAKER,
|
|
POST_PROCESSING,
|
|
MAJOR_CATEGORY,
|
|
SUB_CATEGORY,
|
|
IS_NEW,
|
|
IS_LONGD,
|
|
CODE1,
|
|
CODE2,
|
|
CODE3,
|
|
CODE4,
|
|
CODE5,
|
|
EO_NO
|
|
) VALUES (
|
|
#{OBJID}::NUMERIC,
|
|
#{PRODUCT_MGMT_OBJID},
|
|
#{UPG_NO},
|
|
#{MATERIAL_CODE},
|
|
#{CODENAME4},
|
|
#{UNIT},
|
|
#{QTY},
|
|
#{CODENAME5},
|
|
#{MATERIAL},
|
|
#{WEIGHT},
|
|
'0001788',
|
|
#{REMARK},
|
|
#{ES_SPEC},
|
|
#{MS_SPEC},
|
|
#{CHANGE_TYPE},
|
|
#{CHANGE_OPTION},
|
|
#{DESIGN_APPLY_POINT},
|
|
#{MANAGEMENT_FLAG},
|
|
'RE',
|
|
'release',
|
|
NOW(),
|
|
#{WRITER},
|
|
'1',
|
|
#{PARENT_PART_NO},
|
|
#{SUB_MATERIAL},
|
|
TO_CHAR(NOW(),'YYYY-MM-DD'),
|
|
#{DESIGN_DATE},
|
|
#{THICKNESS},
|
|
#{WIDTH},
|
|
#{HEIGHT},
|
|
#{OUT_DIAMETER},
|
|
#{IN_DIAMETER},
|
|
#{LENGTH},
|
|
#{SUPPLY_CODE},
|
|
#{CODENAME3},
|
|
#{POST_PROCESSING},
|
|
#{CODENAME1},
|
|
#{CODENAME2},
|
|
'1',
|
|
'1',
|
|
<!-- #{IS_LONGD}, -->
|
|
#{CODE1},
|
|
#{CODE2},
|
|
#{CODE3},
|
|
#{CODE4},
|
|
#{CODE5},
|
|
(
|
|
SELECT 'EOB'||TO_CHAR(NOW(),'yy')::VARCHAR ||'-'||
|
|
LPAD((
|
|
SELECT COALESCE(SUBSTR(MAX(EO_NO),7,8)::INTEGER+1,1)::VARCHAR
|
|
FROM PART_MNG SP
|
|
WHERE SP.EO_NO IS NOT NULL
|
|
AND SP.EO_NO LIKE 'EOB%'
|
|
)::VARCHAR, 4, '0')
|
|
)
|
|
) ON
|
|
CONFLICT (OBJID) DO
|
|
UPDATE
|
|
SET
|
|
PRODUCT_MGMT_OBJID = #{PRODUCT_MGMT_OBJID},
|
|
UPG_NO = #{UPG_NO},
|
|
PART_NO = #{PART_NO},
|
|
PART_NAME = #{CODENAME4},
|
|
UNIT = #{UNIT},
|
|
QTY = #{QTY},
|
|
SPEC = #{CODENAME5},
|
|
MATERIAL = #{MATERIAL},
|
|
WEIGHT = #{WEIGHT},
|
|
PART_TYPE = '0001788',
|
|
REMARK = #{REMARK},
|
|
ES_SPEC = #{ES_SPEC},
|
|
MS_SPEC = #{MS_SPEC},
|
|
CHANGE_TYPE = #{CHANGE_TYPE},
|
|
CHANGE_OPTION = #{CHANGE_OPTION},
|
|
DESIGN_APPLY_POINT = #{DESIGN_APPLY_POINT},
|
|
MANAGEMENT_FLAG = #{MANAGEMENT_FLAG},
|
|
REVISION = #{REVISION},
|
|
STATUS = #{STATUS},
|
|
EDIT_DATE = NOW(),
|
|
WRITER = #{WRITER},
|
|
PARENT_PART_NO = #{PARENT_PART_NO},
|
|
SUB_MATERIAL = #{SUB_MATERIAL},
|
|
EO_DATE = #{EO_DATE},
|
|
DESIGN_DATE = #{DESIGN_DATE},
|
|
THICKNESS = #{THICKNESS},
|
|
WIDTH = #{WIDTH},
|
|
HEIGHT = #{HEIGHT},
|
|
OUT_DIAMETER = #{OUT_DIAMETER},
|
|
IN_DIAMETER = #{IN_DIAMETER},
|
|
LENGTH = #{LENGTH},
|
|
SUPPLY_CODE = #{SUPPLY_CODE},
|
|
MAKER = #{CODENAME3},
|
|
POST_PROCESSING = #{POST_PROCESSING},
|
|
MAJOR_CATEGORY = #{CODENAME1},
|
|
SUB_CATEGORY = #{CODENAME2},
|
|
CODE1 = #{CODE1},
|
|
CODE2 = #{CODE2},
|
|
CODE3 = #{CODE3},
|
|
CODE4 = #{CODE4},
|
|
CODE5 = #{CODE5}
|
|
<!-- CODE1 = #{MAJOR_CATEGORY},
|
|
CODE2 = #{SUB_CATEGORY},
|
|
CODE3 = #{MAKER},
|
|
CODE4 = #{PART_NAME},
|
|
CODE5 = #{SPEC} -->
|
|
</update>
|
|
|
|
<select id="getMaterialCodeInfo" parameterType="map" resultType="map">
|
|
SELECT
|
|
T.OBJID
|
|
,T.PART_NO
|
|
,'('||T.PART_NO||')' as PART_NO_CODE
|
|
,T.MAJOR_CATEGORY
|
|
,T.SUB_CATEGORY
|
|
,T.MAKER
|
|
,T.PART_NAME
|
|
,T.SPEC
|
|
,T.CODE1
|
|
,T.CODE2
|
|
,T.CODE3
|
|
,T.CODE4
|
|
,T.CODE5
|
|
,(SELECT PS.OBJID FROM PROCUREMENT_STANDARD PS WHERE PS.CODE_ID = T.CODE1) AS CODE_ID1
|
|
,(SELECT PS.OBJID FROM PROCUREMENT_STANDARD PS WHERE PS.CODE_ID = T.CODE2) AS CODE_ID2
|
|
,(SELECT PS.OBJID FROM PROCUREMENT_STANDARD PS WHERE PS.CODE_ID = T.CODE3) AS CODE_ID3
|
|
,(SELECT PS.OBJID FROM PROCUREMENT_STANDARD PS WHERE PS.CODE_ID = T.CODE4) AS CODE_ID4
|
|
,(SELECT PS.OBJID FROM PROCUREMENT_STANDARD PS WHERE PS.CODE_ID = T.CODE5) AS CODE_ID5
|
|
,T.IS_LONGD
|
|
FROM PART_MNG T
|
|
WHERE OBJID = #{OBJID}
|
|
</select>
|
|
|
|
<delete id="deleteMaterialCode" parameterType="map">
|
|
DELETE FROM PART_MNG
|
|
WHERE OBJID IN
|
|
<foreach collection="checkArr" item="objkey" index="index" separator="," open="(" close=")">
|
|
#{objkey}
|
|
</foreach>
|
|
</delete>
|
|
|
|
<select id="sameStdCodeList" parameterType="map" resultType="map">
|
|
SELECT
|
|
T.*
|
|
FROM PART_MNG T
|
|
WHERE 1=1
|
|
<!-- AND T.OBJID != #{OBJID} -->
|
|
AND IS_LAST = '1'
|
|
AND (T.CODE1 = #{CODE_ID} OR T.CODE2 = #{CODE_ID} OR T.CODE3 = #{CODE_ID} OR T.CODE4 = #{CODE_ID} OR T.CODE5 = #{CODE_ID})
|
|
</select>
|
|
|
|
<update id="updateCodeName" parameterType="map">
|
|
UPDATE PROCUREMENT_STANDARD
|
|
SET CODE_NAME = #{CODE_NAME}
|
|
WHERE CODE_ID = #{CODE_ID}
|
|
</update>
|
|
</mapper> |