localhost-back/src/main/resources/mapper/CommutersMapper.xml
2025-03-13 12:13:31 +09:00

89 lines
2.7 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="io.company.localhost.mapper.CommutersMapper">
<!-- 출퇴근 등록 -->
<insert id="insertCommuters" useGeneratedKeys="true" keyProperty="COMMUTSEQ">
INSERT INTO commuters (
COMMUTSEQ,
MEMBERSEQ,
PROJCTSEQ,
COMMUTCMT,
COMMUTLVE,
COMMUTDAY,
COMMUTARR
) VALUES (
#{commutSeq},
#{memberSeq},
#{projctSeq},
#{commutCme},
#{commutLve},
#{commutDay},
#{commutArr}
)
</insert>
<!-- 퇴근 시간 업데이트 -->
<update id="updateLeaveTime">
UPDATE commuters
SET COMMUTLVE = #{commutLve}
WHERE MEMBERSEQ = #{memberSeq}
AND COMMUTDAY = CURDATE()
</update>
<!-- 현재 달의 모든 출근 정보 조회 -->
<select id="selectCommutersByMonth" parameterType="map" resultType="map">
SELECT
c.COMMUTSEQ,
c.MEMBERSEQ,
c.PROJCTSEQ,
c.COMMUTCMT,
c.COMMUTLVE,
c.COMMUTDAY,
c.COMMUTARR,
m.MEMBERNAM as memberName,
m.MEMBERPRF as profile,
p.PROJCTNAM,
cc.CMNCODNAM AS projctcolor
FROM
commuters c
JOIN
netmember m ON c.MEMBERSEQ = m.MEMBERSEQ
JOIN
netprojct p ON c.PROJCTSEQ = p.PROJCTSEQ
LEFT JOIN commoncod cc ON p.PROJCTCOL = cc.CMNCODVAL AND cc.CMNCODYNP = '1'
WHERE
YEAR(c.COMMUTDAY) = #{year}
AND MONTH(c.COMMUTDAY) = #{month}
</select>
<!-- 사용자 오늘 출근 정보 조회 -->
<select id="selectTodayCommuterInfo" parameterType="Integer" resultType="map">
SELECT c.COMMUTCMT, c.COMMUTLVE
FROM commuters c
WHERE c.MEMBERSEQ = #{memberSeq}
AND c.COMMUTDAY = CURDATE()
</select>
<!-- 오늘 출근 모든 사용자 조회 -->
<select id="selectTodayCommuter">
SELECT c.COMMUTCMT, m.MEMBERSEQ, m.MEMBERPRF as profile, p.PROJCTNAM
FROM commuters c
JOIN netmember m ON c.MEMBERSEQ = m.MEMBERSEQ
JOIN netprojct p ON c.PROJCTSEQ = p.PROJCTSEQ
WHERE c.COMMUTDAY = CURDATE()
</select>
<!-- 출근 프로젝트 업데이트 -->
<update id="updateCommuterProject">
UPDATE commuters
SET PROJCTSEQ = #{projctSeq}
WHERE MEMBERSEQ = #{memberSeq}
AND COMMUTDAY = CURDATE()
</update>
<delete id="deleteCommuters" parameterType="int">
DELETE FROM commuters WHERE PROJCTSEQ = #{projctSeq}
</delete>
</mapper>