Files
wace_plm/WebContent/WEB-INF/classes/com/pms/mapper/mail.xml
chpark da06c4684c Initial commit: WACE PLM with database initialization features
- 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
2025-08-29 15:46:08 +09:00

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>