- 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
197 lines
8.8 KiB
XML
197 lines
8.8 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="mail">
|
|
<insert id="insertMailLog" parameterType="map">
|
|
INSERT INTO MAIL_LOG (
|
|
OBJID
|
|
, SYSTEM_NAME
|
|
, SEND_USER_ID
|
|
, FROM_ADDR
|
|
, RECEPTION_USER_ID
|
|
, RECEIVER_TO
|
|
, TITLE
|
|
, CONTENTS
|
|
, LOG_TIME
|
|
, MAIL_TYPE
|
|
) VALUES (
|
|
#{objId}
|
|
, #{systemName}
|
|
, #{sendUserId}
|
|
, #{fromAddr}
|
|
, #{receptionUserId}
|
|
, #{receiverTo}
|
|
, #{title}
|
|
, #{contents}
|
|
, NOW()
|
|
, #{mailType}
|
|
)
|
|
</insert>
|
|
<update id="updateMailSendedSuccess" parameterType="map">
|
|
UPDATE MAIL_LOG SET IS_SEND = 'Y', LOG_TIME = NOW() WHERE OBJID = #{objId}
|
|
</update>
|
|
<update id="updateMailSendedFailed" parameterType="map">
|
|
UPDATE MAIL_LOG SET IS_SEND = 'N', ERROR_LOG = #{errorLog} WHERE OBJID = #{objId}
|
|
</update>
|
|
|
|
<!-- //수주활동 제품별 협업자료 요청메일 제품정보조회 -->
|
|
<select id="getProjectConceptProductInfo" parameterType="map" resultType="map">
|
|
SELECT A.OBJID CONCEPT_OBJID
|
|
, B.OBJID CONCEPT_PROD_OBJID
|
|
, A.CAR_OBJID
|
|
, (SELECT CAR_NAME FROM CAR_MNG WHERE OBJID = A.CAR_OBJID) AS CAR_NAME
|
|
, (SELECT CAR_CODE FROM CAR_MNG WHERE OBJID = A.CAR_OBJID) AS CAR_CODE
|
|
, (SELECT MODEL_CODE FROM CAR_MNG WHERE OBJID = A.CAR_OBJID) AS MODEL_CODE
|
|
, B.PROD_OBJID
|
|
, (SELECT PRODUCT_GROUP_NAME FROM PRODUCT_GROUP_MNG WHERE OBJID = (SELECT PRODUCT_GROUP_OBJID FROM PRODUCT_MNG WHERE OBJID = B.PROD_OBJID)) AS PRODUCT_GROUP_NAME
|
|
, (SELECT PRODUCT_NAME FROM PRODUCT_MNG WHERE OBJID = B.PROD_OBJID) AS PROD_NAME
|
|
, B.WRITER
|
|
, (SELECT DEPT_NAME FROM USER_INFO WHERE USER_ID = B.WRITER) AS WRITER_DEPT_NAME
|
|
, (SELECT USER_NAME FROM USER_INFO WHERE USER_ID = B.WRITER) AS WRITER_USER_NAME
|
|
, (SELECT EMAIL FROM USER_INFO WHERE USER_ID = B.WRITER) AS WRITER_EMAIL
|
|
FROM PMS_PJT_CONCEPT_INFO A, PMS_REL_PJT_CONCEPT_PROD B
|
|
WHERE 1=1
|
|
AND A.OBJID = B.TARGET_OBJID
|
|
AND B.OBJID = #{targetObjId}
|
|
</select>
|
|
|
|
<!-- //수주활동 제품별 협업자료 요청메일 제품별 협조부서 목록조회 -->
|
|
<select id="getProjectConceptProductRelDeptList" parameterType="map" resultType="map">
|
|
SELECT A.OBJID
|
|
, A.TARGET_OBJID
|
|
, A.DEPT_CODE
|
|
, (SELECT DEPT_NAME FROM DEPT_INFO WHERE DEPT_CODE = A.DEPT_CODE) AS DEPT_NAME
|
|
, TO_CHAR(REPLY_REQ_DATE, 'YYYY-MM-DD') AS REPLY_REQ_DATE
|
|
FROM PMS_REL_PROD_REF_DEPT A
|
|
WHERE 1=1
|
|
AND A.TARGET_OBJID = #{targetObjId}
|
|
</select>
|
|
|
|
<!-- //수주활동 QNA 정보조회 -->
|
|
<select id="getProjectConceptQNAInfo" parameterType="map" resultType="map">
|
|
SELECT A.OBJID
|
|
, A.FOREIGN_TYPE
|
|
, A.OEM_OBJID
|
|
, (SELECT OEM_NAME FROM OEM_MNG WHERE OBJID = A.OEM_OBJID) AS OEM_NAME
|
|
, A.CAR_OBJID
|
|
, (SELECT CAR_NAME FROM CAR_MNG WHERE OBJID = A.CAR_OBJID) AS CAR_NAME
|
|
, (SELECT CAR_CODE FROM CAR_MNG WHERE OBJID = A.CAR_OBJID) AS CAR_CODE
|
|
, (SELECT MODEL_CODE FROM CAR_MNG WHERE OBJID = A.CAR_OBJID) AS MODEL_CODE
|
|
, A.PROD_GROUP_OBJID
|
|
, (SELECT PRODUCT_GROUP_NAME FROM PRODUCT_GROUP_MNG WHERE OBJID = A.PROD_GROUP_OBJID) AS PROD_GROUP_NAME
|
|
, A.PROD_OBJID
|
|
, (SELECT PRODUCT_NAME FROM PRODUCT_MNG WHERE OBJID = A.PROD_OBJID) AS PROD_NAME
|
|
, A.WRITER
|
|
, (SELECT DEPT_NAME FROM USER_INFO WHERE USER_ID = A.WRITER) AS WRITER_DEPT_NAME
|
|
, (SELECT USER_NAME FROM USER_INFO WHERE USER_ID = A.WRITER) AS WRITER_USER_NAME
|
|
, (SELECT EMAIL FROM USER_INFO WHERE USER_ID = A.WRITER) AS WRITER_EMAIL
|
|
FROM PMS_PJT_CONCEPT_QNA A
|
|
WHERE 1=1
|
|
AND OBJID = #{targetObjId}
|
|
</select>
|
|
|
|
<!-- //통합문제점 제기완료 메일용 -->
|
|
<select id="getProblemGroupInfo" parameterType="map" resultType="map">
|
|
SELECT A.OBJID
|
|
, CASE WHEN A.STEP1 = 'design' THEN '설계'
|
|
WHEN A.STEP1 = 'develop' THEN '개발'
|
|
WHEN A.STEP1 = 'production' THEN '양산'
|
|
ELSE A.STEP1
|
|
END AS STEP1
|
|
, A.STEP2
|
|
, (SELECT TEST_TYPE_NAME FROM TEST_TYPE_MNG WHERE OBJID = A.TEST_TYPE_OBJID) AS TEST_TYPE_NAME
|
|
, (SELECT CAR_NAME FROM CAR_MNG WHERE OBJID = A.CAR_OBJID) AS CAR_NAME
|
|
, (SELECT CAR_CODE FROM CAR_MNG WHERE OBJID = A.CAR_OBJID) AS CAR_CODE
|
|
, (SELECT PRODUCT_GROUP_NAME FROM PRODUCT_GROUP_MNG WHERE OBJID = (SELECT PRODUCT_GROUP_OBJID FROM PRODUCT_MNG WHERE OBJID = A.PROD_OBJID)) AS PROD_GROUP_NAME
|
|
, (SELECT PRODUCT_NAME FROM PRODUCT_MNG WHERE OBJID = A.PROD_OBJID) AS PROD_NAME
|
|
, A.WRITER
|
|
, (SELECT DEPT_NAME FROM USER_INFO WHERE USER_ID = A.WRITER) AS WRITER_DEPT_NAME
|
|
, (SELECT USER_NAME FROM USER_INFO WHERE USER_ID = A.WRITER) AS WRITER_USER_NAME
|
|
, (SELECT EMAIL FROM USER_INFO WHERE USER_ID = A.WRITER) AS WRITER_EMAIL
|
|
, (SELECT COUNT(*) FROM PMS_PROBLEM_INFO WHERE TARGET_OBJID = A.OBJID) AS PROBLEM_CNT
|
|
, A.RES_PIC
|
|
, (SELECT DEPT_NAME FROM USER_INFO WHERE USER_ID = A.RES_PIC) AS RES_PIC_DEPT_NAME
|
|
, (SELECT USER_NAME FROM USER_INFO WHERE USER_ID = A.RES_PIC) AS RES_PIC_USER_NAME
|
|
, (SELECT EMAIL FROM USER_INFO WHERE USER_ID = A.RES_PIC) AS RES_PIC_EMAIL
|
|
FROM PMS_PROBLEM_GROUP A
|
|
WHERE 1=1
|
|
AND A.OBJID = #{targetObjId}
|
|
</select>
|
|
|
|
<!-- 개발 마스터 저장,수정 메일용 -->
|
|
<select id="getDevMasterInfo" parameterType="map" resultType="map">
|
|
SELECT
|
|
DEV_MST.OBJID
|
|
,DEV_MST.TARGET_OBJID
|
|
,DEV_MST.ASSAY_PART_NO
|
|
,DEV_MST.OEM_OBJID
|
|
,DEV_MST.CAR_OBJID
|
|
,DEV_MST.PROD_GROUP_OBJID
|
|
,DEV_MST.PROD_OBJID
|
|
,(SELECT OEM_NAME FROM OEM_MNG WHERE OBJID = DEV_MST.OEM_OBJID) AS OEM_NAME
|
|
,(SELECT CAR_CODE FROM CAR_MNG WHERE OBJID = DEV_MST.CAR_OBJID) AS CAR_CODE
|
|
,(SELECT CAR_NAME FROM CAR_MNG WHERE OBJID = DEV_MST.CAR_OBJID) AS CAR_NAME
|
|
,(SELECT PRODUCT_GROUP_NAME FROM PRODUCT_GROUP_MNG WHERE OBJID = DEV_MST.PROD_GROUP_OBJID) AS PRODUCT_GROUP_NAME
|
|
,(SELECT PRODUCT_NAME FROM PRODUCT_MNG WHERE OBJID = DEV_MST.PROD_OBJID) AS PRODUCT_NAME
|
|
,(SELECT DEPT_NAME FROM USER_INFO WHERE USER_ID = DEV_MST.WRITER) AS DEPT_NAME
|
|
,(SELECT USER_NAME FROM USER_INFO WHERE USER_ID = DEV_MST.WRITER) AS USER_NAME
|
|
,(SELECT EMAIL FROM USER_INFO WHERE USER_ID = DEV_MST.WRITER) AS WRITER_EMAIL
|
|
,DEV_MST.REGDATE
|
|
,TO_CHAR(DEV_MST.REGDATE,'YYYY-MM-DD') AS REGDATE_TITLE
|
|
,PART_MST.OEM_NAME||'-'||PART_MST.CAR_NAME||'-'||PART_MST.PRODUCT_GROUP_NAME||'-'||PART_MST.PRODUCT_NAME AS PART_MASTER_TITLE
|
|
FROM PMS_DEV_MASTER DEV_MST,
|
|
(
|
|
SELECT
|
|
PART_MST.OBJID
|
|
,PART_MST.OEM_OBJID
|
|
,(SELECT OEM_NAME FROM OEM_MNG WHERE OBJID = PART_MST.OEM_OBJID) AS OEM_NAME
|
|
,PART_MST.CAR_OBJID
|
|
,(SELECT CAR_NAME FROM CAR_MNG WHERE OBJID = PART_MST.CAR_OBJID) AS CAR_NAME
|
|
,PART_MST.PROD_GROUP_OBJID
|
|
,(SELECT PRODUCT_GROUP_NAME FROM PRODUCT_GROUP_MNG WHERE OBJID = PART_MST.PROD_GROUP_OBJID) AS PRODUCT_GROUP_NAME
|
|
,PART_MST.PROD_OBJID
|
|
,(SELECT PRODUCT_NAME FROM PRODUCT_MNG WHERE OBJID = PART_MST.PROD_OBJID) AS PRODUCT_NAME
|
|
,PART_MST.TITLE
|
|
,PART_MST.WRITER
|
|
,(SELECT DEPT_NAME FROM USER_INFO WHERE USER_ID = PART_MST.WRITER) AS DEPT_NAME
|
|
,(SELECT USER_NAME FROM USER_INFO WHERE USER_ID = PART_MST.WRITER) AS USER_NAME
|
|
,PART_MST.REGDATE
|
|
,TO_CHAR(PART_MST.REGDATE,'YYYY-MM-DD') AS REGDATE_TITLE
|
|
FROM PMS_PART_MASTER PART_MST
|
|
WHERE 1=1
|
|
) PART_MST
|
|
WHERE 1=1
|
|
AND PART_MST.OBJID(+)=DEV_MST.TARGET_OBJID
|
|
AND DEV_MST.OBJID = #{objId}
|
|
</select>
|
|
|
|
<!-- 개발 마스터 가소요 저장,수정 메일용 -->
|
|
<select id="getDevMasterApplyEOInfo" parameterType="map" resultType="map">
|
|
SELECT
|
|
(SELECT CAR_NAME FROM CAR_MNG WHERE OBJID = MASTER.CAR_OBJID) AS CAR_NAME,
|
|
(SELECT CAR_CODE FROM CAR_MNG WHERE OBJID = MASTER.CAR_OBJID) AS CAR_CODE,
|
|
(SELECT PRODUCT_NAME FROM PRODUCT_MNG WHERE OBJID = MASTER.PROD_OBJID) AS PRODUCT_NAME,
|
|
(SELECT PRODUCT_GROUP_NAME FROM PRODUCT_GROUP_MNG WHERE OBJID = MASTER.PROD_GROUP_OBJID) AS PRODUCT_GROUP_NAME
|
|
FROM
|
|
PMS_DEV_MASTER_EO_HISTORY HISTORY,
|
|
PMS_DEV_MASTER_REL_PART_INFO PART_INFO,
|
|
PMS_DEV_MASTER MASTER
|
|
WHERE HISTORY.TARGET_OBJID = #{objId}
|
|
AND HISTORY.TARGET_OBJID = PART_INFO.OBJID
|
|
AND PART_INFO.TARGET_OBJID = MASTER.OBJID
|
|
</select>
|
|
|
|
|
|
<!--TASK 반려 담당자 메일 -->
|
|
<select id="getsendTaskNgMail" parameterType="map" resultType="map">
|
|
SELECT
|
|
(SELECT O1.OEM_NAME FROM OEM_MNG O1 WHERE O1.OBJID = (SELECT O.OEM_OBJID FROM PMS_PJT_INFO O WHERE O.OBJID = T.TARGET_OBJID)) AS OEM_NAME
|
|
,(SELECT O2.CAR_CODE || '(' || O2.CAR_NAME || ')' FROM CAR_MNG O2 WHERE O2.OBJID=(SELECT O.CAR_OBJID FROM PMS_PJT_INFO O WHERE O.OBJID = T.TARGET_OBJID)) AS CAR_NAME
|
|
,T.TASK_NAME
|
|
,(SELECT O.EMAIL FROM USER_INFO O WHERE O.USER_ID = T.TASK_CHARGER_ID) AS SENDMAIL
|
|
FROM PMS_WBS_TASK t
|
|
WHERE t.OBJID=#{targetObjId}
|
|
</select>
|
|
|
|
</mapper> |