최초 세팅

This commit is contained in:
bd091
2025-10-18 11:06:19 +09:00
commit bf0778601f
2497 changed files with 572903 additions and 0 deletions

1921
src/main/resources/DB.sql Normal file

File diff suppressed because one or more lines are too long

View File

@@ -0,0 +1,47 @@
{"properties": [
{
"name": "popbill.corp-num",
"type": "java.lang.String",
"description": "A description for 'popbill.corp-num'"
},
{
"name": "popbill.user-id",
"type": "java.lang.String",
"description": "A description for 'popbill.user-id'"
},
{
"name": "popbill.sender-nm",
"type": "java.lang.String",
"description": "A description for 'popbill.sender-nm'"
},
{
"name": "popbill.sender-phone-num",
"type": "java.lang.String",
"description": "A description for 'popbill.sender-phone-num'"
},
{
"name": "fcm.google-credential-file-url-type",
"type": "java.lang.String",
"description": "A description for 'fcm.google-credential-file-url-type'"
},
{
"name": "fcm.project-id-type",
"type": "java.lang.String",
"description": "A description for 'fcm.project-id-type'"
},
{
"name": "url.cdn",
"type": "java.lang.String",
"description": "A description for 'url.cdn'"
},
{
"name": "url.homepage",
"type": "java.lang.String",
"description": "A description for 'url.homepage'"
},
{
"name": "file.upload-path",
"type": "java.lang.String",
"description": "A description for 'file.upload-path'"
}
]}

View File

@@ -0,0 +1,46 @@
server:
port: 8080
servlet:
session:
timeout: -1
spring:
datasource:
hikari:
driver-class-name: org.mariadb.jdbc.Driver
jdbc-url: jdbc:mariadb://vara.iptime.org:3306/madeu?useUnicode=true&characterEncoding=UTF-8&useSSL=false&serverTimezone=Asia/Seoul
username: madeu
password: madeu12#$
thymeleaf:
cache: true
file:
upload-path: /nvme0n1/upload
url:
cdn: http://dcrm.vara.co.kr/cdn/
homepage: http://nrm.madeu.co.kr
inbody:
api:
lbwebid: madeudev
secret: 3txs0aomoTa4UatH5SypKzfLjkBVT0Ahydbh19MhJ0A=
datetimeurl: https://apikr.lookinbody.com/InBody/GetDatetimes
fullinbodyurl: https://apikr.lookinbody.com/InBody/GetFullInBodyData
popbill:
link-id: NTSOFT
secret-key: Wha5GNilXotCWzsZFj4c1VAvFv3pSlnNog5zpZlxsZc=
is-test: false
is-ip-restrict-on-off: false
use-static-ip: false
use-local-time-yn: true
corp-num: "4901201321"
user-id: chanseul
sender-nm: madeu
sender-phone-num: "025474711"
fcm:
google-credential-file-url-type: "D:/bradley/madeucrm/madeu-a97f1-firebase-adminsdk-iwkxq-69a8707fd7.json"
project-id-type: "madeu-a97f1"

View File

@@ -0,0 +1,46 @@
server:
port: 8080
servlet:
session:
timeout: -1
spring:
datasource:
hikari:
driver-class-name: org.mariadb.jdbc.Driver
jdbc-url: jdbc:mariadb://vara.iptime.org:3306/madeu?useUnicode=true&characterEncoding=UTF-8&useSSL=false&serverTimezone=Asia/Seoul&autoReconnect=true&useCompression=true
username: madeu
password: madeu12#$
thymeleaf:
cache: true
file:
upload-path: /nvme0n1/upload
url:
cdn: http://dcrm.vara.co.kr/cdn/
homepage: http://nrm.madeu.co.kr
inbody:
api:
lbwebid: madeudev
secret: 3txs0aomoTa4UatH5SypKzfLjkBVT0Ahydbh19MhJ0A=
datetimeurl: https://apikr.lookinbody.com/InBody/GetDatetimes
fullinbodyurl: https://apikr.lookinbody.com/InBody/GetFullInBodyData
popbill:
link-id: NTSOFT
secret-key: Wha5GNilXotCWzsZFj4c1VAvFv3pSlnNog5zpZlxsZc=
is-test: false
is-ip-restrict-on-off: false
use-static-ip: false
use-local-time-yn: true
corp-num: "4901201321"
user-id: chanseul
sender-nm: madeu
sender-phone-num: "025474711"
fcm:
google-credential-file-url-type: "D:/bradley/madeucrm/madeu-a97f1-firebase-adminsdk-iwkxq-69a8707fd7.json"
project-id-type: "madeu-a97f1"

View File

@@ -0,0 +1,47 @@
server:
port: 8080
servlet:
session:
timeout: -1
spring:
datasource:
hikari:
driver-class-name: org.mariadb.jdbc.Driver
jdbc-url: jdbc:mariadb://localhost:3306/madeu?useUnicode=true&characterEncoding=UTF-8&useSSL=false&serverTimezone=Asia/Seoul
username: madeu
password: apdlemdb12#$
thymeleaf:
cache: true
file:
upload-path: /data/madeu-crm-file
url:
cdn: https://crm.vara.co.kr/cdn/
homepage: http://nrm.madeu.co.kr
inbody:
api:
lbwebid: madeudev
secret: 3txs0aomoTa4UatH5SypKzfLjkBVT0Ahydbh19MhJ0A=
datetimeurl: https://apikr.lookinbody.com/InBody/GetDatetimes
fullinbodyurl: https://apikr.lookinbody.com/InBody/GetFullInBodyData
popbill:
link-id: NTSOFT
secret-key: Wha5GNilXotCWzsZFj4c1VAvFv3pSlnNog5zpZlxsZc=
is-test: false
is-ip-restrict-on-off: false
use-static-ip: false
use-local-time-yn: true
corp-num: "4901201321"
user-id: chanseul
sender-nm: madeu
sender-phone-num: "025474711"
fcm:
google-credential-file-url-type: "D:/bradley/madeucrm/madeu-a97f1-firebase-adminsdk-iwkxq-69a8707fd7.json"
project-id-type: "madeu-a97f1"

View File

@@ -0,0 +1,58 @@
spring:
profiles:
active: local
encoding: UTF-8
thymeleaf:
prefix: classpath:templates/
suffix: .html
check-template-location: true
servlet:
multipart:
maxFileSize: 500MB
maxRequestSize: 500MB
aop:
proxy-target-class: false
mybatis:
mapper-locations: mybatis/mappers/*.xml
configuration:
map-underscore-to-camel-case: true
server:
encoding:
charset: UTF-8
enabled: true
force: true
force-response: true # 응답 인코딩 강제 설정[3]
compression:
enabled: true
server-header: server
error:
whitelabel:
enabled: false
path: /error/errorIntro.do
logging:
level:
root: INFO
com.madeu: DEBUG
org.apache: WARN
org.apache.juli: WARN
org.apache.catalina: WARN
org.apache.tomcat: WARN
org.springframework.web: INFO
org.springframework.boot: INFO
org.hibernate.SQL: DEBUG
org.hibernate.type.descriptor.sql.BasicBinder: TRACE
p6spy: debug
decorator:
datasource:
p6spy:
enable-logging: true
logging: slf4j
tracing:
include-parameter-values: true

View File

@@ -0,0 +1,13 @@
<?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="CrmMemberPay">
<select id="selectListMemberPay" parameterType="hashmap" resultType="hashmap">
SELECT CMP.PID AS "crmMemberPayPid"
,CMP.M_DIVI1_NAME AS "mDivi1Name"
,CMP.M_DIVI2_NAME AS "mDivi2Name"
,CAST(CMP.PAY_MEMBERSHIP AS SIGNED INTEGER ) AS "payMembership"
FROM CRM_MEMBER_PAY AS CMP
WHERE CMP.MB_PID = #{crmMemberPid}
</select>
</mapper>

View File

@@ -0,0 +1,10 @@
<?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="CrmMemberSchedule">
<select id="selectListMemberSchedule" parameterType="hashmap" resultType="hashmap">
SELECT CMS.PID AS "crmMemberSchedulePid"
FROM CRM_MEMBER_SCHEDULE AS CMS
WHERE CMS.MB_PID = #{crmMemberPid}
</select>
</mapper>

View File

@@ -0,0 +1,11 @@
<?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="CrmMember">
<select id="selectListMember" parameterType="hashmap" resultType="hashmap">
SELECT CM.PID AS "pId"
FROM CRM_MEMBER AS CM
ORDER BY CM.REG_DATE DESC
<!--LIMIT 0, 10000-->
</select>
</mapper>

View File

@@ -0,0 +1,230 @@
<?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="DocTalk">
<select id="selectUserId" parameterType="hashMap" resultType="hashMap">
SELECT MU.MU_USER_ID AS "muUserId"
FROM MU_USER AS MU
WHERE MU.USE_YN = 'Y'
AND MU.USER_NAME = #{name}
AND MU.PHONE_NUMBER = #{phone}
ORDER BY MU.WRITE_DATE DESC
,MU.WRITE_TIME DESC
LIMIT 0, 1
</select>
<select id="selectConsultingChartNumber" parameterType="hashmap" resultType="hashmap">
SELECT CONCAT('C', DATE_FORMAT(NOW(), '%Y%m%d'), '-', LPAD(IFNULL(MAX(SUBSTRING(CHART_NUMBER, 11)) + 1, 1), 4, '0')) AS "chartNumber"
FROM MU_USER_CONSULTING_CHART AS MUCC
WHERE CHART_NUMBER LIKE CONCAT('C', DATE_FORMAT(NOW(), '%Y%m%d'), '%')
</select>
<select id="selectMedicalChartNumber" parameterType="hashmap" resultType="hashmap">
SELECT CONCAT('M', DATE_FORMAT(NOW(), '%Y%m%d'), '-', LPAD(IFNULL(MAX(SUBSTRING(CHART_NUMBER, 11)) + 1, 1), 4, '0')) AS "chartNumber"
FROM MU_USER_MEDICAL_CHART AS MUMC
WHERE CHART_NUMBER LIKE CONCAT('M', DATE_FORMAT(NOW(), '%Y%m%d'), '%')
</select>
<insert id="insertUserTemp" parameterType="hashmap">
<selectKey resultType="string" keyProperty="id" order="BEFORE">
SELECT CONCAT(#{muUserId},LPAD((SELECT NEXTVAL(MU_USER_SEQ)), 11, 0))
</selectKey>
INSERT INTO MU_USER (
MU_USER_ID
,USER_NUMBER
,USER_NAME
,USER_TYPE2
,PHONE_NUMBER
,CHANNEL
,EMAIL_YN
,SMS_YN
,WRITE_DATE
,WRITE_TIME
,CUD_FLAG
,USE_YN
,REG_ID
,REG_DATE
,MOD_ID
,MOD_DATE
,T_ID
,T_DATE
) VALUES (
#{id}
,(SELECT CONCAT('U', DATE_FORMAT(NOW(), '%Y%m%d'), '-', LPAD(IFNULL(MAX(SUBSTRING(USER_NUMBER, 11)) + 1, 1), 3, '0'))
FROM MU_USER AS MU
WHERE USER_NUMBER LIKE CONCAT('U', DATE_FORMAT(NOW(), '%Y%m%d'), '%'))
,#{name}
,'T'
,#{phone}
,(SELECT MCI.MU_CATEGORY_ITEM_ID
FROM MU_CATEGORY_ITEM AS MCI
WHERE MCI.USE_YN = 'Y'
AND MCI.CATEGORY_ITEM_NAME LIKE '%네이버%'
LIMIT 0, 1)
,'N'
,'N'
,CURDATE()
,CURTIME()
,'C'
,'Y'
,#{regId}
,NOW()
,#{modId}
,NOW()
,#{tId}
,#{tDate}
)
</insert>
<insert id="insertReserve" parameterType="hashmap">
<selectKey resultType="string" keyProperty="id" order="BEFORE">
SELECT CONCAT(#{muReserveId},LPAD((SELECT NEXTVAL(MU_RESERVE_SEQ)), 11, 0))
</selectKey>
INSERT INTO MU_RESERVE(
MU_RESERVE_ID
,USER_NAME
,MU_USER_ID
,RESERVE_DATE
,RESERVE_TIME
,RESERVE_CATEGORY_ITEM_ID
,RESERVE_CATEGORY_ITEM_NAME
,RESERVE_NAVER_YN
,STATUS
,STATUS2
,WRITE_DATE
,WRITE_TIME
,CUD_FLAG
,USE_YN
,REG_ID
,REG_DATE
,MOD_ID
,MOD_DATE
,T_ID
,T_DATE
,PHONE_NUMBER
,NAVER_RESERVATION_KEY
,NAVER_BOOKING_KEY
,NAVER_DATE_TIME
,NAVER_NAME
,NAVER_PHONE
,NAVER_STATE
,NAVER_USER_ID
)VALUES(
#{id}
,#{name}
,#{muUserId}
,#{reserveDate}
,#{reserveTime}
,(SELECT MCI.MU_CATEGORY_ITEM_ID
FROM MU_CATEGORY_ITEM AS MCI
WHERE MCI.USE_YN = 'Y'
AND MCI.CATEGORY_ITEM_NAME LIKE '%네이버%'
LIMIT 0, 1)
,'네이버'
,'Y'
,#{status,jdbcType=VARCHAR}
,#{status2}
,CURDATE()
,CURTIME()
,'C'
,'Y'
,#{regId}
,NOW()
,#{modId}
,NOW()
,#{tId}
,#{tDate}
,#{phone}
,#{reservationKey}
,#{bookingKey}
,#{datetime}
,#{name}
,#{phone}
,#{state}
,#{naverUserId}
)
</insert>
<insert id="insertConsultingChart" parameterType="hashmap">
<selectKey resultType="string" keyProperty="id" order="BEFORE">
SELECT CONCAT(#{muUserConsultingChartId},LPAD((SELECT NEXTVAL(MU_USER_CONSULTING_CHART_SEQ)), 9, 0))
</selectKey>
INSERT INTO MU_USER_CONSULTING_CHART(
MU_USER_CONSULTING_CHART_ID
,MU_RESERVE_ID
,MU_USER_ID
,CHART_NUMBER
,CONTENT
,WRITE_MEMBER_ID
,WRITE_DATE
,WRITE_TIME
,CUD_FLAG
,USE_YN
,REG_ID
,REG_DATE
,MOD_ID
,MOD_DATE
,T_ID
,T_DATE
)VALUES(
#{id}
,#{muReserveId}
,#{muUserId}
,#{chartNumber,jdbcType=VARCHAR}
,#{content,jdbcType=VARCHAR}
,#{regId}
,CURDATE()
,CURTIME()
,'C'
,'Y'
,#{regId}
,NOW()
,#{modId}
,NOW()
,#{tId}
,#{tDate}
)
</insert>
<insert id="insertMedicalChart" parameterType="hashmap">
<selectKey resultType="string" keyProperty="id" order="BEFORE">
SELECT CONCAT(#{muUserMedicalChartId},LPAD((SELECT NEXTVAL(MU_USER_MEDICAL_CHART_SEQ)), 9, 0))
</selectKey>
INSERT INTO MU_USER_MEDICAL_CHART(
MU_USER_MEDICAL_CHART_ID
,MU_RESERVE_ID
,MU_USER_ID
,CHART_NUMBER
,CONTENT
,WRITE_MEMBER_ID
,WRITE_DATE
,WRITE_TIME
,CUD_FLAG
,USE_YN
,REG_ID
,REG_DATE
,MOD_ID
,MOD_DATE
,T_ID
,T_DATE
)VALUES(
#{id}
,#{muReserveId}
,#{muUserId}
,#{chartNumber,jdbcType=VARCHAR}
,#{content,jdbcType=VARCHAR}
,#{regId}
,CURDATE()
,CURTIME()
,'C'
,'Y'
,#{regId}
,NOW()
,#{modId}
,NOW()
,#{tId}
,#{tDate}
)
</insert>
</mapper>

View File

@@ -0,0 +1,61 @@
<?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="MobileConsultingChart">
<select id="selectConsultingChartNumber" parameterType="hashmap" resultType="hashmap">
SELECT CONCAT('C', DATE_FORMAT(NOW(), '%Y%m%d'), '-', LPAD(IFNULL(MAX(SUBSTRING(CHART_NUMBER, 11)) + 1, 1), 4, '0')) AS "chartNumber"
FROM MU_USER_CONSULTING_CHART AS MUCC
WHERE CHART_NUMBER LIKE CONCAT('C', DATE_FORMAT(NOW(), '%Y%m%d'), '%')
</select>
<insert id="insertConsultingChart" parameterType="hashmap">
<selectKey resultType="string" keyProperty="id" order="BEFORE">
SELECT CONCAT(#{muUserConsultingChartId},LPAD((SELECT NEXTVAL(MU_USER_CONSULTING_CHART_SEQ)), 9, 0))
</selectKey>
INSERT INTO MU_USER_CONSULTING_CHART(
MU_USER_CONSULTING_CHART_ID
,MU_RESERVE_ID
,MU_USER_ID
,CHART_NUMBER
,CONTENT
,WRITE_MEMBER_ID
,WRITE_DATE
,WRITE_TIME
,CUD_FLAG
,USE_YN
,REG_ID
,REG_DATE
,MOD_ID
,MOD_DATE
,T_ID
,T_DATE
)VALUES(
#{id}
,#{muReserveId}
,#{muUserId}
,#{chartNumber,jdbcType=VARCHAR}
,#{content,jdbcType=VARCHAR}
,#{regId}
,CURDATE()
,CURTIME()
,'C'
,'Y'
,#{regId}
,NOW()
,#{modId}
,NOW()
,#{tId}
,#{tDate}
)
</insert>
<update id="deleteConsultingChart" parameterType="hashmap">
UPDATE MU_USER_CONSULTING_CHART
SET MOD_ID = #{modId}
,MOD_DATE = NOW()
,CUD_FLAG = 'D'
,USE_YN = 'N'
WHERE USE_YN = 'Y'
AND MU_RESERVE_ID = #{muReserveId}
</update>
</mapper>

View File

@@ -0,0 +1,149 @@
<?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="MobileDevice">
<select id="selectListDevice" parameterType="hashmap" resultType="hashmap">
SELECT ND.MU_DEVICE_ID AS "muDeviceId"
,ND.PHONE_TYPE AS "phoneType"
,ND.DEVICE_UUID AS "deviceUuid"
,ND.MODEL_NAME AS "modelName"
FROM MU_DEVICE AS ND
WHERE ND.USE_YN = 'Y'
AND ND.STATUS = 'Y'
AND ND.MODEL_NAME = #{modelName}
AND ND.PHONE_TYPE = #{phoneType}
AND ND.DEVICE_UUID = #{deviceUuid}
AND ND.MU_USER_ID = #{muUserId}
</select>
<select id="selectListDevice2" parameterType="hashmap" resultType="hashmap">
SELECT MD.MU_DEVICE_ID AS "muDeviceId"
,MD.PHONE_TYPE AS "phoneType"
,MD.DEVICE_UUID AS "deviceUuid"
,MD.PUSH_KEY AS "pushKey"
,MU.MU_USER_ID AS "muUserId"
,MU.USER_NAME AS "userName"
FROM MU_DEVICE AS MD
INNER JOIN MU_USER AS MU
ON MD.MU_USER_ID = MU.MU_USER_ID
AND MD.USE_YN = 'Y'
AND MU.USE_YN = 'Y'
AND MD.MU_USER_ID = #{muUserId}
AND MD.AUTO_PUSH_YN = 'Y'
</select>
<!-- device 정보 조회 -->
<select id="selectDevice" parameterType="hashmap" resultType="hashmap">
SELECT MD.MU_DEVICE_ID AS "muDeviceId"
,MD.PHONE_TYPE AS "phoneType"
,MD.DEVICE_UUID AS "deviceUuid"
,MD.PUSH_KEY AS "pushKey"
FROM MU_DEVICE AS MD
WHERE MD.USE_YN = 'Y'
AND MD.STATUS = 'Y'
AND MD.MU_USER_ID = #{muUserId}
ORDER BY MD.MOD_DATE DESC
</select>
<!-- 디바이스 푸시 알림 여부 조회 -->
<select id="selectDevicePushYn" parameterType="hashmap" resultType="hashmap">
SELECT MD.MU_DEVICE_ID AS "muDeviceId"
,MD.PHONE_TYPE AS "phoneType"
,MD.DEVICE_UUID AS "deviceUuid"
,MD.PUSH_KEY AS "pushKey"
,MD.AUTO_PUSH_YN AS "autoPushYn"
,MD.MARKETING_PUSH_YN AS "marketingPushYn"
FROM MU_DEVICE AS MD
WHERE MD.USE_YN = 'Y'
AND MD.STATUS = 'Y'
AND MD.MU_USER_ID = #{muUserId}
AND MD.DEVICE_UUID = #{deviceUuid}
</select>
<!-- 디바이스 정보 등록 -->
<insert id="insertDevice" parameterType="hashmap">
<selectKey resultType="string" keyProperty="id" order="BEFORE">
SELECT CONCAT(#{muDeviceId},LPAD((SELECT NEXTVAL(MU_DEVICE_SEQ)), 11, 0))
</selectKey>
INSERT INTO MU_DEVICE(
MU_DEVICE_ID
,MU_USER_ID
,PHONE_TYPE
,APP_VERSION
,DEVICE_UUID
,PUSH_KEY
,MODEL_NAME
,OS_VERSION
,STATUS
,WRITE_DATE
,CUD_FLAG
,USE_YN
,REG_ID
,REG_DATE
,MOD_ID
,MOD_DATE
,T_ID
)VALUES(
#{id}
,#{muUserId}
,#{phoneType}
,#{appVersion, jdbcType=VARCHAR}
,#{deviceUuid, jdbcType=VARCHAR}
,#{pushKey, jdbcType=VARCHAR}
,#{modelName, jdbcType=VARCHAR}
,#{osVersion, jdbcType=VARCHAR}
,#{status}
,NOW()
,'C'
,#{useYn}
,#{regId}
,NOW()
,#{modId}
,NOW()
,#{tId}
)
</insert>
<update id="updateDevice" parameterType="hashmap">
UPDATE MU_DEVICE
SET MOD_ID = #{modId}
,MOD_DATE = NOW()
,CUD_FLAG = 'U'
,PHONE_TYPE = #{phoneType}
,APP_VERSION = #{appVersion}
,PUSH_KEY = #{pushKey}
,MODEL_NAME = #{modelName}
,OS_VERSION = #{osVersion}
WHERE USE_YN = 'Y'
AND MU_DEVICE_ID = #{muDeviceId}
</update>
<update id="updateDevicePushYn" parameterType="hashmap">
UPDATE MU_DEVICE
SET MOD_ID = #{modId}
,MOD_DATE = NOW()
,CUD_FLAG = 'U'
<choose>
<when test="type eq 'auto'.toString()">
,AUTO_PUSH_YN = #{pushYn}
</when>
<when test="type eq 'marketing'.toString()">
,MARKETING_PUSH_YN = #{pushYn}
</when>
</choose>
WHERE USE_YN = 'Y'
AND MU_USER_ID = #{muUserId}
AND DEVICE_UUID = #{deviceUuid}
</update>
<update id="updateDeviceStatus" parameterType="hashmap">
UPDATE MU_DEVICE
SET MOD_ID = #{modId}
,MOD_DATE = NOW()
,CUD_FLAG = 'U'
,STATUS = #{status}
WHERE USE_YN = 'Y'
AND MU_USER_ID = #{muUserId}
AND DEVICE_UUID = #{deviceUuid}
</update>
</mapper>

View File

@@ -0,0 +1,44 @@
<?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="MobileEvent">
<select id="selectListEventCount" parameterType="hashmap" resultType="hashmap">
SELECT COUNT(*) AS "totalCount"
FROM MU_APP_EVENT AS ME
WHERE ME.USE_YN = 'Y'
</select>
<select id="selectListEvent" parameterType="hashmap" resultType="hashmap">
SELECT MAE.MU_APP_EVENT_ID AS "muAppEventId"
,MAE.TITLE AS "title"
,MAE.CONTENT AS "content"
,FILE_PATH AS "filePath"
,FILE_NAME AS "fileName"
,ORIGINAL_FILE_NAME AS "originalFileName"
,DATEDIFF(MAE.EVENT_END_DATE, CURDATE()) AS "daysRemaining"
FROM MU_APP_EVENT MAE
WHERE MAE.USE_YN = 'Y'
<if test="exposedYn != null and exposedYn != ''">
AND MAE.EXPOSED_YN= #{exposedYn}
</if>
ORDER BY MAE.WRITE_DATE DESC
,MAE.WRITE_TIME DESC
</select>
<select id="selectEvent" parameterType="hashmap" resultType="hashmap">
SELECT MAE.MU_APP_EVENT_ID AS "muAppEventId"
,MAE.TITLE AS "title"
,MAE.CONTENT AS "content"
,MAE.DETAIL AS "detail"
,MAE.FILE_PATH AS "filePath"
,MAE.FILE_NAME AS "fileName"
,MAE.ORIGINAL_FILE_NAME AS "originalFileName"
,DATE_FORMAT(MAE.EVENT_START_DATE, '%Y-%m-%d') AS "eventStartDate"
,DATE_FORMAT(MAE.EVENT_END_DATE, '%Y-%m-%d') AS "eventEndDate"
,MAE.EXPOSED_YN AS "exposedYn"
FROM MU_APP_EVENT AS MAE
WHERE MAE.USE_YN = 'Y'
AND MAE.MU_APP_EVENT_ID = #{muAppEventId}
LIMIT 0, 1
</select>
</mapper>

View File

@@ -0,0 +1,56 @@
<?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="MobileHospital">
<select id="selectHospitalHoliday" parameterType="hashmap" resultType="hashmap">
SELECT 'hospitalHoliday' AS dateType
, DATE_FORMAT(LOC_DATE, '%Y.%m.%d') AS locDate
FROM MU_HOSPITAL_HOLIDAY MH
WHERE MH.USE_YN = 'Y'
AND (
(MH.REPEAT_YN = 'Y')
OR
(MH.REPEAT_YN = 'N' AND DATE_FORMAT( MH.LOC_DATE, '%Y' ) >= DATE_FORMAT( CURDATE( ), '%Y' ))
)
UNION
(
SELECT 'publicHoliday' AS dateType
, DATE_FORMAT(LOC_DATE, '%Y.%m.%d') AS locDate
FROM MU_PUBLIC_HOLIDAY MPH
JOIN MU_HOSPITAL
ON PUBLIC_HOLIDAY_USE_YN='Y'
WHERE MPH.USE_YN = 'Y'
AND DATE_FORMAT( MPH.LOC_DATE, '%Y' ) >= DATE_FORMAT( CURDATE( ), '%Y' )
)
</select>
<select id="selectHospitalWorkTime" parameterType="hashmap" resultType="hashmap">
SELECT MH.MU_HOSPITAL_ID AS "muHospitalId"
,MH.HOSPITAL_NAME AS "hospitalName"
,MH.MON_OPEN_YN AS "monOpenYn"
,DATE_FORMAT(MH.MON_OPEN_START_TIME , '%H:%i') AS "monOpenStartTime"
,DATE_FORMAT(MH.MON_OPEN_END_TIME , '%H:%i') AS "monOpenEndTime"
,MH.TUE_OPEN_YN AS "tueOpenYn"
,DATE_FORMAT(MH.TUE_OPEN_START_TIME , '%H:%i') AS "tueOpenStartTime"
,DATE_FORMAT(MH.TUE_OPEN_END_TIME , '%H:%i') AS "tueOpenEndTime"
,MH.WED_OPEN_YN AS "wedOpenYn"
,DATE_FORMAT(MH.WED_OPEN_START_TIME , '%H:%i') AS "wedOpenStartTime"
,DATE_FORMAT(MH.WED_OPEN_END_TIME , '%H:%i') AS "wedOpenEndTime"
,MH.THU_OPEN_YN AS "thuOpenYn"
,DATE_FORMAT(MH.THU_OPEN_START_TIME , '%H:%i') AS "thuOpenStartTime"
,DATE_FORMAT(MH.THU_OPEN_END_TIME , '%H:%i') AS "thuOpenEndTime"
,MH.FRI_OPEN_YN AS "friOpenYn"
,DATE_FORMAT(MH.FRI_OPEN_START_TIME , '%H:%i') AS "friOpenStartTime"
,DATE_FORMAT(MH.FRI_OPEN_END_TIME , '%H:%i') AS "friOpenEndTime"
,MH.SAT_OPEN_YN AS "satOpenYn"
,DATE_FORMAT(MH.SAT_OPEN_START_TIME , '%H:%i') AS "satOpenStartTime"
,DATE_FORMAT(MH.SAT_OPEN_END_TIME , '%H:%i') AS "satOpenEndTime"
,MH.SUN_OPEN_YN AS "sunOpenYn"
,DATE_FORMAT(MH.SUN_OPEN_START_TIME , '%H:%i') AS "sunOpenStartTime"
,DATE_FORMAT(MH.SUN_OPEN_END_TIME , '%H:%i') AS "sunOpenEndTime"
,MH.PUBLIC_HOLIDAY_USE_YN AS "publicHolidayUseYn"
FROM MU_HOSPITAL AS MH
WHERE MH.USE_YN = 'Y'
LIMIT 0, 1
</select>
</mapper>

View File

@@ -0,0 +1,116 @@
<?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="MobileJoin">
<!-- 로그인 아이디 중복체크 -->
<select id="checkMembershipId" parameterType="hashmap" resultType="hashmap">
SELECT MU.MU_USER_ID AS "muUserId"
FROM MU_USER AS MU
WHERE MU.USE_YN = 'Y'
AND MU.MEMBERSHIP_ACCOUNT = #{membershipAccount}
AND APP_USE_YN = 'Y'
AND APP_STATUS = 'C'
</select>
<!-- 기존회원 확인 -->
<select id="selectUserInfo" parameterType="hashmap" resultType="hashmap">
SELECT MU_USER_ID AS "muUserId"
,APP_STATUS AS "appStatus"
,LAST_VISIT_DATE AS "lastVisitDate"
,MEMBERSHIP_YN AS "membershipYn"
FROM MU_USER AS MU
WHERE MU.USE_YN = 'Y'
AND MU.USER_NAME = #{userName}
AND MU.PHONE_NUMBER = #{phoneNumber}
</select>
<update id="updateUserInfo" parameterType="hashmap">
UPDATE MU_USER
SET MOD_ID = #{modId}
,MOD_DATE = NOW()
,CUD_FLAG = 'U'
,APP_STATUS = 'C'
,MEMBERSHIP_ACCOUNT = #{membershipAccount}
,MEMBERSHIP_PASSWORD = #{membershipPassword}
,APP_INTRO_DATE = NOW()
,APP_USE_YN = 'Y'
,APP_INTRO_TYPE = #{appIntroType}
,LEAVE_DATE = NULL
<if test="introUserId != null and introUserId != ''">
,INTRO_USER_ID = #{introUserId}
</if>
WHERE USE_YN = 'Y'
AND USER_NAME = #{userName}
AND PHONE_NUMBER = #{phoneNumber}
</update>
<insert id="insertUser" parameterType="hashmap">
<selectKey resultType="HashMap" keyProperty="userNumber" order="BEFORE">
SELECT USER.id AS id
,USER.number AS number
FROM (
SELECT CONCAT('U'
, DATE_FORMAT(NOW(), '%Y%m%d')
, '-'
, LPAD(IFNULL(MAX(SUBSTRING(USER_NUMBER, 11)) + 1, 1), 3, '0')
) AS number
, CONCAT(#{muUserId}
, LPAD((SELECT NEXTVAL(MU_USER_SEQ)), 11, 0)
) AS id
FROM MU_USER AS MU
WHERE USER_NUMBER LIKE CONCAT('U', DATE_FORMAT(NOW(), '%Y%m%d'), '%')
) AS USER
</selectKey>
INSERT INTO MU_USER (
MU_USER_ID
,USER_NUMBER
,USER_NAME
,LOGIN_TYPE
,PHONE_NUMBER
,MEMBERSHIP_YN
,MEMBERSHIP_ACCOUNT
,MEMBERSHIP_PASSWORD
,APP_INTRO_DATE
,INTRO_USER_ID
,APP_USE_YN
,APP_INTRO_TYPE
,APP_STATUS
,JOIN_DATE
,SMS_YN
,WRITE_DATE
,WRITE_TIME
,REMARK
,CUD_FLAG
,USE_YN
,REG_ID
,REG_DATE
,MOD_ID
,MOD_DATE
) VALUES (
#{userNumber.id}
,#{userNumber.number}
,#{userName}
,#{loginType}
,#{phoneNumber}
,'N'
,#{membershipAccount}
,#{membershipPassword}
,now()
,#{introUserId}
,'Y'
,#{appIntroType}
,'C'
,NOW()
,'Y'
,NOW()
,NOW()
,#{remark}
,'C'
,'Y'
,#{regId}
,NOW()
,#{modId}
,NOW()
)
</insert>
</mapper>

View File

@@ -0,0 +1,254 @@
<?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="MobileKakao">
<select id="selectTotalKakaoCount" parameterType="hashmap" resultType="hashmap">
SELECT COUNT(*) AS "totalCount"
FROM MU_KAKAO AS MK
INNER JOIN MU_USER AS MU
ON MK.MU_USER_ID = MU.MU_USER_ID
AND MK.USE_YN = 'Y'
AND MU.USE_YN = 'Y'
<if test="kakaoSearchStartDate != null and kakaoSearchStartDate != '' and kakaoSearchEndDate != null and kakaoSearchEndDate != ''">
AND DATE_FORMAT(MK.SEND_DATE, '%Y-%m-%d') &gt;= #{kakaoSearchStartDate}
AND DATE_FORMAT(MK.SEND_DATE, '%Y-%m-%d') &lt;= #{kakaoSearchEndDate}
</if>
<if test="kakaoSearchKeywordParam != null and kakaoSearchKeywordParam != ''">
AND MU.USER_NAME LIKE CONCAT('%',TRIM(#{kakaoSearchKeywordParam}),'%')
</if>
</select>
<select id="selectListKakao" parameterType="hashmap" resultType="hashmap">
SELECT MK.*
FROM (
SELECT MK.*
,CAST(@RNUM:=@RNUM + 1 AS CHAR) AS "rowNum"
FROM (
SELECT MK.MU_KAKAO_ID AS "muKakaoId"
,MU.USER_NAME AS "userName"
,(SELECT MCI.CATEGORY_ITEM_NAME
FROM MU_CATEGORY_ITEM AS MCI
WHERE MCI.USE_YN = 'Y'
AND MCI.MU_CATEGORY_ITEM_ID = MU.NATIONALITY
LIMIT 0, 1) AS "nationality"
,DATE_FORMAT(MU.BIRTHDAY, '%Y-%m-%d') AS "birthday"
,TIMESTAMPDIFF(YEAR, MU.BIRTHDAY, CURDATE()) - (DATE_FORMAT(CURDATE(), '%m%d') <![CDATA[ < ]]> DATE_FORMAT(MU.BIRTHDAY, '%m%d'))
AS "age"
,CASE
WHEN MU.GENDER = 'M'
THEN '남'
WHEN MU.GENDER = 'F'
THEN '여'
ELSE ''
END AS "gender"
,IFNULL((SELECT MCI.FILE_PATH
FROM MU_CATEGORY_ITEM AS MCI
WHERE MCI.USE_YN = 'Y'
AND MCI.MU_CATEGORY_ITEM_ID = MU.USER_TYPE
LIMIT 0, 1), MU.USER_TYPE2) AS "userType"
,(SELECT MKT.TITLE
FROM MU_KAKAO_TEMPLATE AS MKT
WHERE MKT.USE_YN = 'Y'
AND MKT.TEMPLATE_CODE = MK.TEMPLATE_CODE
LIMIT 0, 1) AS "kakaoTemplateTitle"
,CASE
WHEN MK.POPBILL_STATE = '0'
THEN '접수'
WHEN MK.POPBILL_STATE = '1'
THEN '대기중'
WHEN MK.POPBILL_STATE = '2'
THEN '처리중'
WHEN MK.POPBILL_STATE = '3'
THEN '완료'
WHEN MK.POPBILL_STATE = '4'
THEN '취소'
ELSE ''
END AS "popbillState"
,MK.POPBILL_RESULT AS "popbillResult"
,(SELECT MM.NAME
FROM MU_MEMBER AS MM
WHERE MM.USE_YN = 'Y'
AND MM.MU_MEMBER_ID = MK.REG_ID
LIMIT 0, 1) AS "memberName"
,DATE_FORMAT(MK.SEND_DATE, '%Y-%m-%d') AS "sendDate"
FROM MU_KAKAO AS MK
INNER JOIN MU_USER AS MU
ON MK.MU_USER_ID = MU.MU_USER_ID
AND MK.USE_YN = 'Y'
AND MU.USE_YN = 'Y'
<if test="kakaoSearchStartDate != null and kakaoSearchStartDate != '' and kakaoSearchEndDate != null and kakaoSearchEndDate != ''">
AND DATE_FORMAT(MK.SEND_DATE, '%Y-%m-%d') &gt;= #{kakaoSearchStartDate}
AND DATE_FORMAT(MK.SEND_DATE, '%Y-%m-%d') &lt;= #{kakaoSearchEndDate}
</if>
<if test="kakaoSearchKeywordParam != null and kakaoSearchKeywordParam != ''">
AND MU.USER_NAME LIKE CONCAT('%',TRIM(#{kakaoSearchKeywordParam}),'%')
</if>
<choose>
<when test="kakaoSort != null and kakaoSort != ''">
ORDER BY ${kakaoSort}
</when>
<otherwise>
ORDER BY MK.SEND_DATE DESC
</otherwise>
</choose>
LIMIT 18446744073709551615
) MK, (SELECT @RNUM:=0) R
WHERE 1 = 1
) MK
WHERE 1 = 1
LIMIT ${kakaoStart}, ${kakaoLimit}
</select>
<!-- Kakao 리스트 조회 Template -->
<select id="selectListKakaoTemplate" parameterType="hashmap" resultType="hashmap">
SELECT MK.SENDER AS "sender"
,MK.TEMPLATE_CODE AS "templateCode"
,MIN(MK.REG_DATE) AS "minRegDate"
FROM MU_KAKAO AS MK
WHERE MK.USE_YN = 'Y'
AND MK.STATE = #{state}
GROUP BY MK.SENDER
,MK.TEMPLATE_CODE
ORDER BY minRegDate ASC
</select>
<!-- Kakao 리스트 조회 State -->
<select id="selectListKakaoState" parameterType="hashmap" resultType="hashmap">
SELECT MK.MU_KAKAO_ID AS "muKakaoId"
,MK.STATE AS "state"
,MK.USER_NAME AS "userName"
,IFNULL(DATE_FORMAT(MK.SEND_DATE, '%Y-%m-%d'), '') AS "sendDate"
,MK.RECEIVER AS "receiver"
,MK.SENDER AS "sender"
,MK.CONTENT AS "content"
,MK.TEMPLATE_CODE AS "templateCode"
FROM MU_KAKAO AS MK
WHERE MK.USE_YN = 'Y'
AND MK.STATE = #{state}
AND MK.SENDER = #{sender}
AND MK.TEMPLATE_CODE = #{templateCode}
</select>
<select id="selectListPopbillState" parameterType="hashmap" resultType="hashmap">
SELECT MK.RECEIPT_NUMBER AS "receiptNumber"
FROM MU_KAKAO AS MK
WHERE MK.USE_YN = 'Y'
AND MK.STATE = 'Y'
AND MK.POPBILL_STATE = #{popbillState}
AND MK.RECEIVER IS NOT NULL
AND MK.RECEIVER NOT IN ('', '010-')
AND MK.RECEIPT_NUMBER IS NOT NULL
GROUP BY MK.RECEIPT_NUMBER
</select>
<select id="selectKakao" parameterType="hashmap" resultType="hashmap">
SELECT MK.MU_KAKAO_ID AS "muKakaoId"
,MK.MU_MEMBER_ID AS "muMemberId"
,MK.TITLE AS "title"
,MK.CONTENT AS "content"
,DATE_FORMAT(MK.OPEN_DATE, '%Y-%m-%d') AS "openDate"
,DATE_FORMAT(MK.OPEN_DATE, '%H:%i') AS "openTime"
,DATE_FORMAT(MK.WRITE_DATE, '%Y-%m-%d') AS "writeDate"
FROM MU_KAKAO AS MK
WHERE MK.USE_YN = 'Y'
AND MK.MU_KAKAO_ID = #{muKakaoId}
LIMIT 0, 1
</select>
<insert id="insertKakao" parameterType="hashmap">
<selectKey resultType="string" keyProperty="id" order="BEFORE">
SELECT CONCAT(#{muKakaoId},LPAD((SELECT NEXTVAL(MU_KAKAO_SEQ)), 11, 0))
</selectKey>
INSERT INTO MU_KAKAO(
MU_KAKAO_ID
,MU_USER_ID
,USER_NAME
,RECEIVER
,TEMPLATE_CODE
,CONTENT
,STATE
,POPBILL_STATE
,SENDER
,WRITE_DATE
,WRITE_TIME
,CUD_FLAG
,USE_YN
,REG_ID
,REG_DATE
,MOD_ID
,MOD_DATE
,T_ID
,T_DATE
)VALUES(
#{id}
,#{muUserId, jdbcType=VARCHAR}
,#{userName, jdbcType=VARCHAR}
,#{phoneNumber, jdbcType=VARCHAR}
,#{templateCode, jdbcType=VARCHAR}
,#{content, jdbcType=VARCHAR}
,#{state, jdbcType=VARCHAR}
,#{popbillState, jdbcType=VARCHAR}
,#{sender, jdbcType=VARCHAR}
,NOW()
,NOW()
,'C'
,'Y'
,#{regId}
,NOW()
,#{modId}
,NOW()
,#{tId}
,#{tDate}
)
</insert>
<update id="updateKakao" parameterType="hashmap">
UPDATE MU_KAKAO
SET MOD_ID = #{modId}
,MOD_DATE = NOW()
,CUD_FLAG = 'U'
,TITLE = #{title}
,CONTENT = #{content}
,OPEN_DATE = #{openDate}
WHERE USE_YN = 'Y'
AND MU_KAKAO_ID = #{muKakaoId}
</update>
<update id="updateKakaoState" parameterType="hashmap">
UPDATE MU_KAKAO
SET USE_YN = 'Y'
,MOD_ID = #{modId}
,MOD_DATE = NOW()
,CUD_FLAG = 'U'
,STATE = #{chgState, jdbcType=VARCHAR}
<choose>
<when test="sendDateYn eq 'Y'.toString()">
,SEND_DATE = NOW()
</when>
<otherwise>
</otherwise>
</choose>
<if test="receiptNum != null and receiptNum != ''">
,RECEIPT_NUMBER = #{receiptNum, jdbcType=VARCHAR}
</if>
WHERE USE_YN = 'Y'
AND MU_KAKAO_ID = #{muKakaoId}
AND STATE = #{oldState}
</update>
<update id="updateKakaoPopbillState" parameterType="hashmap">
UPDATE MU_KAKAO
SET MOD_ID = #{modId}
,MOD_DATE = NOW()
,CUD_FLAG = 'U'
,POPBILL_STATE = #{state, jdbcType=VARCHAR}
,POPBILL_RESULT = #{result, jdbcType=VARCHAR}
WHERE USE_YN = 'Y'
AND POPBILL_STATE = #{popbillState}
AND RECEIPT_NUMBER = #{receiptNumber}
AND REPLACE(RECEIVER, '-', '') = #{receiveNumber}
AND USER_NAME = #{receiveName}
AND TEMPLATE_CODE = #{templateCode}
</update>
</mapper>

View File

@@ -0,0 +1,24 @@
<?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="MobileKakaoTemplate">
<select id="selectListKakaoTemplateOption" parameterType="hashmap" resultType="hashmap">
SELECT MKT.MU_KAKAO_TEMPLATE_ID AS "muKakaoTemplateId"
,MKT.TEMPLATE_CODE AS "templateCode"
,MKT.TITLE AS "title"
FROM MU_KAKAO_TEMPLATE AS MKT
WHERE MKT.USE_YN = 'Y'
ORDER BY TITLE ASC
</select>
<select id="selectKakaoTemplate" parameterType="hashmap" resultType="hashmap">
SELECT MKT.MU_KAKAO_TEMPLATE_ID AS "muKakaoTemplateId"
,MKT.TEMPLATE_CODE AS "templateCode"
,MKT.TITLE AS "title"
,MKT.CONTENT AS "content"
FROM MU_KAKAO_TEMPLATE AS MKT
WHERE MKT.USE_YN = 'Y'
AND MKT.TEMPLATE_CODE = #{templateCode}
LIMIT 0, 1
</select>
</mapper>

View File

@@ -0,0 +1,101 @@
<?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="MobileLogin">
<!-- 사용자 로그인 -->
<select id="userLogin" parameterType="hashmap" resultType="hashmap">
SELECT MU.MU_USER_ID AS "muUserId"
,MU.MEMBERSHIP_ACCOUNT AS "loginId"
,MU.MEMBERSHIP_PASSWORD AS "password"
,MU.USER_NAME AS "name"
,MU.PHONE_NUMBER AS "phoneNumber"
,MU.APP_USE_YN AS "appUseYn"
FROM MU_USER AS MU
WHERE MU.USE_YN = 'Y'
AND APP_USE_YN = 'Y'
AND APP_STATUS = 'C'
AND MU.MEMBERSHIP_ACCOUNT = #{loginId}
AND MU.MEMBERSHIP_PASSWORD = #{password}
</select>
<!-- 사용자 로그인 -->
<select id="snsLogin" parameterType="hashmap" resultType="hashmap">
SELECT MU.MU_USER_ID AS "muUserId"
,MU.MEMBERSHIP_ACCOUNT AS "loginId"
,MU.MEMBERSHIP_PASSWORD AS "password"
,MU.USER_NAME AS "name"
,MU.PHONE_NUMBER AS "phoneNumber"
,MU.APP_USE_YN AS "appUseYn"
FROM MU_USER AS MU
WHERE MU.USE_YN = 'Y'
AND APP_USE_YN = 'Y'
AND APP_STATUS = 'C'
AND MU.MEMBERSHIP_ACCOUNT = #{loginId}
AND MU.LOGIN_TYPE = #{loginType}
</select>
<!-- 로그인 아이디 중복체크 -->
<select id="checkloginId" parameterType="hashmap" resultType="hashmap">
SELECT MU.MU_USER_ID AS "muUserId"
FROM MU_USER AS MU
WHERE MU.USE_YN = 'Y'
AND MU.MEMBERSHIP_ACCOUNT = #{loginId}
AND APP_USE_YN = 'Y'
AND APP_STATUS = 'C'
</select>
<update id="updateLastLoginDate" parameterType="hashmap">
UPDATE MU_USER
SET MOD_DATE = NOW()
,MOD_ID = #{modId}
,LAST_LOGIN_DATE = NOW()
WHERE USE_YN = 'Y'
AND MU_USER_ID = #{muUserId}
</update>
<!-- SNS 연동 수정 -->
<update id="updateSnsLoginYN" parameterType="hashmap">
UPDATE MU_USER
SET MOD_ID = #{modId}
,MOD_DATE = NOW()
,CUD_FLAG = 'U'
<if test="type eq 'K'.toString()">
,KAKAO_YN = 'Y'
,KAKAO_ID = #{email}
</if>
<if test="type eq 'A'.toString()">
,APPLE_YN = 'Y'
,APPLE_ID = #{email}
</if>
<if test="type eq 'G'.toString()">
,GOOGLE_YN = 'Y'
,GOOGLE_ID = #{email}
</if>
<if test="type eq 'N'.toString()">
,NAVER_YN = 'Y'
,NAVER_ID = #{email}
</if>
WHERE USE_YN = 'Y'
AND MU_USER_ID = #{muUserId}
AND EMAIL = #{email}
</update>
<update id="deleteUser" parameterType="hashmap">
UPDATE MU_USER
SET MOD_ID = #{modId}
, MOD_DATE = NOW()
, APP_STATUS = 'D'
, LEAVE_DATE = CURDATE()
WHERE USE_YN = 'Y'
AND MU_USER_ID = #{muUserId}
</update>
<update id="deleteDevice" parameterType="hashmap">
UPDATE MU_DEVICE
SET MOD_ID = #{modId}
, MOD_DATE = NOW()
, USE_YN = 'N'
WHERE USE_YN = 'Y'
AND MU_USER_ID = #{muUserId}
</update>
</mapper>

View File

@@ -0,0 +1,61 @@
<?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="MobileMedicalChart">
<select id="selectMedicalChartNumber" parameterType="hashmap" resultType="hashmap">
SELECT CONCAT('M', DATE_FORMAT(NOW(), '%Y%m%d'), '-', LPAD(IFNULL(MAX(SUBSTRING(CHART_NUMBER, 11)) + 1, 1), 4, '0')) AS "chartNumber"
FROM MU_USER_MEDICAL_CHART AS MUMC
WHERE CHART_NUMBER LIKE CONCAT('M', DATE_FORMAT(NOW(), '%Y%m%d'), '%')
</select>
<insert id="insertMedicalChart" parameterType="hashmap">
<selectKey resultType="string" keyProperty="id" order="BEFORE">
SELECT CONCAT(#{muUserMedicalChartId},LPAD((SELECT NEXTVAL(MU_USER_MEDICAL_CHART_SEQ)), 9, 0))
</selectKey>
INSERT INTO MU_USER_MEDICAL_CHART(
MU_USER_MEDICAL_CHART_ID
,MU_RESERVE_ID
,MU_USER_ID
,CHART_NUMBER
,CONTENT
,WRITE_MEMBER_ID
,WRITE_DATE
,WRITE_TIME
,CUD_FLAG
,USE_YN
,REG_ID
,REG_DATE
,MOD_ID
,MOD_DATE
,T_ID
,T_DATE
)VALUES(
#{id}
,#{muReserveId}
,#{muUserId}
,#{chartNumber,jdbcType=VARCHAR}
,#{content,jdbcType=VARCHAR}
,#{regId}
,CURDATE()
,CURTIME()
,'C'
,'Y'
,#{regId}
,NOW()
,#{modId}
,NOW()
,#{tId}
,#{tDate}
)
</insert>
<update id="deleteMedicalChart" parameterType="hashmap">
UPDATE MU_USER_MEDICAL_CHART
SET MOD_ID = #{modId}
,MOD_DATE = NOW()
,CUD_FLAG = 'D'
,USE_YN = 'N'
WHERE USE_YN = 'Y'
AND MU_RESERVE_ID = #{muReserveId}
</update>
</mapper>

View File

@@ -0,0 +1,78 @@
<?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="MobileMedical">
<select id="selectListMedicalBoardCount" parameterType="hashmap" resultType="hashmap">
SELECT COUNT(*) AS "totalCount"
FROM MU_APP_BOARD AS MAB
WHERE MAB.USE_YN = 'Y'
<if test="exposedYn != null and exposedYn != ''">
AND MAB.EXPOSED_YN= #{exposedYn}
</if>
</select>
<select id="selectListMedicalBoard" parameterType="hashmap" resultType="hashmap">
SELECT MAB.MU_APP_BOARD_ID AS "muAppBoardId"
,MAB.TITLE AS "boardTitle"
,MAB.CONTENT AS "boardContent"
,MAB.EXPOSED_YN AS "exposedYn"
,MBC.MU_BOARD_CONTENT_ID AS "muBoardContentId"
,MBC.MU_APP_CONTENT_ID AS "muAppContentId"
,MBC.TITLE AS "title"
,MBC.CONTENT AS "content"
,MBC.FILE_PATH AS "filePath"
,MBC.FILE_NAME AS "fileName"
,MBC.ORIGINAL_FILE_NAME AS "originalFileName"
,MBC.FILE_PATH2 AS "filePath2"
,MBC.FILE_NAME2 AS "fileName2"
,MBC.ORIGINAL_FILE_NAME2 AS "originalFileName2"
,MBC.CATEGORY_NAME AS "appContentCategoryName"
,DATE_FORMAT(MBC.CONTENT_WRITE_DATE, '%Y-%m-%d') AS "writeDate"
FROM MU_APP_BOARD MAB
JOIN MU_BOARD_CONTENT MBC
ON MAB.MU_APP_BOARD_ID = MBC.MU_APP_BOARD_ID
AND MBC.USE_YN='Y'
WHERE MAB.USE_YN = 'Y'
<if test="exposedYn != null and exposedYn != ''">
AND MAB.EXPOSED_YN= #{exposedYn}
</if>
ORDER BY MAB.WRITE_DATE DESC
,MAB.WRITE_TIME DESC
,MBC.WRITE_DATE DESC
,MBC.WRITE_TIME DESC
,MBC.MU_APP_CONTENT_ID ASC
</select>
<select id="selectListMedical" parameterType="hashmap" resultType="hashmap">
SELECT MAC.MU_APP_CONTENT_ID AS "muAppContentId"
,MAC.TITLE AS "title"
,MAC.CONTENT AS "content"
,MAC.FILE_PATH AS "filePath"
,MAC.FILE_NAME AS "fileName"
,MAC.ORIGINAL_FILE_NAME AS "originalFileName"
,MAC.FILE_PATH2 AS "filePath2"
,MAC.FILE_NAME2 AS "fileName2"
,MAC.ORIGINAL_FILE_NAME2 AS "originalFileName2"
,MAC.CATEGORY_NAME AS "appContentCategoryName"
FROM MU_APP_CONTENT AS MAC
WHERE MAC.USE_YN = 'Y'
AND MAC.CATEGORY_CODE = #{categoryCode}
ORDER BY MAC.WRITE_DATE DESC
,MAC.WRITE_TIME DESC
</select>
<select id="selectMedical" parameterType="hashmap" resultType="hashmap">
SELECT MAC.MU_APP_CONTENT_ID AS "muAppContentId"
, MAC.TITLE AS "title"
, MAC.CONTENT AS "content"
, MAC.DETAIL AS "detail"
, MAC.FILE_PATH AS "filePath"
, MAC.FILE_NAME AS "fileName"
, MAC.ORIGINAL_FILE_NAME AS "originalFileName"
, MAC.CATEGORY_NAME AS "appContentCategoryName"
FROM MU_APP_CONTENT AS MAC
WHERE MAC.USE_YN = 'Y'
AND MAC.MU_APP_CONTENT_ID = #{muAppContentId}
LIMIT 0, 1
</select>
</mapper>

View File

@@ -0,0 +1,190 @@
<?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="MobileMembership">
<select id="selectTotalMembershipBalance" parameterType="hashmap" resultType="hashmap">
SELECT FORMAT(IFNULL(MM.MEMBERSHIP_BALANCE,0),0) AS membershipBalance
FROM MU_MEMBERSHIP MM
WHERE MM.USE_YN = 'Y'
AND MM.MU_USER_ID=#{muUserId}
</select>
<select id="selectListMembershipChargeCount" parameterType="hashmap" resultType="Integer">
SELECT COUNT(1) AS "totalCount"
FROM MU_MEMBERSHIP_HISTORY MMH
WHERE MMH.USE_YN='Y'
AND MMH.MU_USER_ID=#{muUserId}
AND (MMH.USAGE_TYPE='C' OR MMH.USAGE_TYPE = 'P' OR MMH.USAGE_TYPE = 'A' OR MMH.USAGE_TYPE = 'D')
<if test="membershipSearchDate != null and membershipSearchDate != ''">
AND DATE_FORMAT(MMH.WRITE_DATE, '%Y-%m') = #{membershipSearchDate}
</if>
</select>
<select id="selectListMembershipCharge" parameterType="hashmap" resultType="hashmap">
SELECT DATE_FORMAT(MMH.WRITE_DATE, '%Y-%m-%d') AS "writeDate"
, FORMAT(MMH.RECHARGE_AMOUNT,0) AS "rechargeAmount"
, CASE
WHEN MMH.USAGE_TYPE = 'C' THEN '카드 충전'
WHEN MMH.USAGE_TYPE = 'A' THEN '멤버십 적립'
WHEN MMH.USAGE_TYPE = 'D' THEN '환불'
WHEN MMH.USAGE_TYPE = 'P' THEN CONCAT('멤버십 양수', ' (', MU_FROM.USER_NAME, ')')
ELSE ''
END AS "chargePaymentItemName"
FROM MU_MEMBERSHIP_HISTORY MMH
LEFT JOIN MU_USER MU_FROM
ON MMH.TRANSFER_FROM_USER_ID = MU_FROM.MU_USER_ID
WHERE MMH.USE_YN='Y'
AND MMH.MU_USER_ID=#{muUserId}
AND (MMH.USAGE_TYPE='C' OR MMH.USAGE_TYPE = 'P' OR MMH.USAGE_TYPE = 'A' OR MMH.USAGE_TYPE = 'D')
<if test="membershipSearchDate != null and membershipSearchDate != ''">
AND DATE_FORMAT(MMH.WRITE_DATE, '%Y-%m') = #{membershipSearchDate}
</if>
<choose>
<when test="sortBy eq 'amount'.toString()">
ORDER BY MMH.RECHARGE_AMOUNT DESC
</when>
<otherwise>
ORDER BY MMH.REG_DATE DESC
</otherwise>
</choose>
</select>
<select id="selectListMembershipUseCount" parameterType="hashmap" resultType="Integer">
SELECT COUNT(1) AS "totalCount"
FROM MU_MEMBERSHIP_HISTORY MMH
WHERE MMH.USE_YN='Y'
AND MMH.MU_USER_ID = #{muUserId}
AND (MMH.USAGE_TYPE ='U' OR MMH.USAGE_TYPE ='T')
<if test="membershipSearchDate != null and membershipSearchDate != ''">
AND DATE_FORMAT(MMH.WRITE_DATE, '%Y-%m') = #{membershipSearchDate}
</if>
</select>
<select id="selectListMembershipUse" parameterType="hashmap" resultType="hashmap">
SELECT DATE_FORMAT(MMH.WRITE_DATE, '%Y-%m-%d') AS writeDate
, IFNULL(MT.TREATMENT_NAME,'기타') AS treatmentName
, CASE
WHEN MMH.USAGE_TYPE = 'U' THEN '사용'
WHEN MMH.USAGE_TYPE = 'T' THEN CONCAT('멤버십 양도', ' (', MU_TO.USER_NAME, ')')
ELSE MTP.TREATMENT_PROCEDURE_NAME
END AS procedureName
, FORMAT(MMH.USED_AMOUNT,0) AS usedAmount
FROM MU_MEMBERSHIP_HISTORY MMH
LEFT JOIN MU_TREATMENT MT
ON MMH.MU_TREATMENT_ID = MT.MU_TREATMENT_ID
LEFT JOIN MU_TREATMENT_PROCEDURE MTP
ON MTP.MU_TREATMENT_PROCEDURE_ID = MMH.MU_TREATMENT_PROCEDURE_ID
LEFT JOIN MU_USER MU_TO
ON MMH.TRANSFER_TO_USER_ID = MU_TO.MU_USER_ID
WHERE MMH.USE_YN='Y'
AND MMH.MU_USER_ID = #{muUserId}
AND (MMH.USAGE_TYPE ='U' OR MMH.USAGE_TYPE ='T')
<if test="membershipSearchDate != null and membershipSearchDate != ''">
AND DATE_FORMAT(MMH.WRITE_DATE, '%Y-%m') = #{membershipSearchDate}
</if>
<choose>
<when test="sortBy eq 'amount'.toString()">
ORDER BY MMH.USED_AMOUNT DESC
</when>
<otherwise>
ORDER BY MMH.REG_DATE DESC
</otherwise>
</choose>
</select>
<insert id="insertMembership" parameterType="hashmap">
<selectKey resultType="string" keyProperty="id" order="BEFORE">
SELECT CONCAT(#{muMembershipId},LPAD((SELECT NEXTVAL(MU_MEMBERSHIP_SEQ)), 11, 0))
</selectKey>
INSERT INTO MU_MEMBERSHIP(
MU_MEMBERSHIP_ID
,MU_USER_ID
,MEMBERSHIP_BALANCE
,LAST_RECHARGE_DATE
,CUD_FLAG
,USE_YN
,REG_ID
,REG_DATE
,MOD_ID
,MOD_DATE
,T_ID
,T_DATE
)VALUES(
#{id}
,#{muUserId}
,0
,NOW()
,'C'
,'Y'
,#{regId}
,NOW()
,#{modId}
,NOW()
,#{tId}
,NOW()
)
</insert>
<insert id="insertDevice" parameterType="hashmap">
<selectKey resultType="string" keyProperty="id" order="BEFORE">
SELECT CONCAT(#{muDeviceId},LPAD((SELECT NEXTVAL(MU_DEVICE_SEQ)), 11, 0))
</selectKey>
INSERT INTO MU_DEVICE(
MU_DEVICE_ID
, MU_USER_ID
, PHONE_TYPE
, DEVICE_UUID
, PUSH_KEY
, MODEL_NAME
, OS_VERSION
, USE_YN
, REG_ID
, REG_DATE
, MOD_ID
, MOD_DATE
)VALUES(
#{id}
,#{muUserId}
,#{phoneType}
,#{deviceUuid}
,#{pushKey}
,#{modelName}
,#{osVersion}
,'Y'
,#{regId}
,NOW()
,#{modId}
,NOW()
)
</insert>
<update id="updateMembershipYn" parameterType="hashmap">
UPDATE MU_USER
SET MOD_ID = #{modId}
,MOD_DATE = NOW()
,CUD_FLAG = 'U'
,MEMBERSHIP_YN = 'Y'
WHERE USE_YN = 'Y'
AND MU_USER_ID = #{muUserId}
</update>
<update id="updateMembership" parameterType="hashmap">
UPDATE MU_MEMBERSHIP
SET
MEMBERSHIP_BALANCE = #{membershipBalance}
<if test="lastRechargeDate != null and lastRechargeDate != ''">
,LAST_RECHARGE_DATE = #{lastRechargeDate}
</if>
<if test="lastUseDate != null and lastUseDate != ''">
,LAST_USE_DATE = #{lastUseDate}
</if>
,CUD_FLAG = 'U'
,USE_YN = 'Y'
,MOD_ID = #{modId}
,MOD_DATE = NOW()
,T_ID = #{tId}
,T_DATE = NOW()
WHERE MU_USER_ID = #{muUserId}
AND USE_YN = 'Y'
</update>
</mapper>

View File

@@ -0,0 +1,31 @@
<?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="MobileNotice">
<select id="selectTotalNoticeCount" parameterType="hashmap" resultType="hashmap">
SELECT COUNT(*) AS "totalCount"
FROM MU_APP_NOTICE AS MN
WHERE MN.USE_YN = 'Y'
</select>
<select id="selectListNotice" parameterType="hashmap" resultType="hashmap">
SELECT MN.MU_APP_NOTICE_ID AS "muNoticeId"
,MN.TITLE AS "title"
,DATE_FORMAT(MN.WRITE_DATE, '%Y-%m-%d') AS "writeDate"
FROM MU_APP_NOTICE AS MN
WHERE MN.USE_YN = 'Y'
ORDER BY MN.WRITE_DATE DESC
,MN.WRITE_TIME DESC
</select>
<select id="selectNotice" parameterType="hashmap" resultType="hashmap">
SELECT MN.TITLE AS "title"
, MN.CONTENT AS "content"
, DATE_FORMAT(MN.WRITE_DATE, '%Y-%m-%d') AS "writeDate"
, DATE_FORMAT(MN.WRITE_TIME, '%H:%i') AS "writeTime"
FROM MU_APP_NOTICE AS MN
WHERE MN.USE_YN = 'Y'
AND MN.MU_APP_NOTICE_ID = #{muNoticeId}
LIMIT 0, 1
</select>
</mapper>

View File

@@ -0,0 +1,71 @@
<?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="MobilePhoneAuth">
<!-- 휴대폰 인증 수 조회(당일) -->
<select id="selectListPhoneAuthCountToday" resultType="hashmap" parameterType="hashmap">
SELECT COUNT(MPA.MU_PHONE_AUTH_ID) AS "totalCount"
FROM MU_PHONE_AUTH AS MPA
WHERE MPA.USE_YN = 'Y'
AND MPA.PHONE_NUMBER = #{phoneNumber}
AND MPA.SEND_DATE = DATE_FORMAT(NOW(), '%Y-%m-%d')
</select>
<!-- 휴대폰 인증 확인-->
<select id="selectPhoneAuthCheck" resultType="hashmap" parameterType="hashmap">
SELECT COUNT(*) AS "successCount"
FROM (
SELECT MPA.AUTH_NUMBER AS AUTH_NUMBER
FROM MU_PHONE_AUTH AS MPA
WHERE MPA.USE_YN = 'Y'
AND MPA.PHONE_NUMBER = #{phoneNumber}
AND MPA.REG_DATE >= DATE_SUB(NOW(), INTERVAL 3 MINUTE) <!-- 현재 시간보다 3분 이내인 데이터만 조회 -->
ORDER BY MPA.REG_DATE DESC
LIMIT 0, 1
) AS AA
WHERE AA.AUTH_NUMBER = #{authNumber};
</select>
<!-- 인증번호 등록 -->
<insert id="insertPhoneAuth" parameterType="hashmap">
<selectKey resultType="string" keyProperty="id" order="BEFORE">
SELECT CONCAT(#{id},LPAD((SELECT NEXTVAL(MU_PHONE_AUTH_SEQ)), 10, 0))
</selectKey>
INSERT INTO MU_PHONE_AUTH (
MU_PHONE_AUTH_ID
,MU_SMS_ID
,AUTH_TYPE
,MU_USER_ID
,PHONE_NUMBER
,AUTH_NUMBER
,SEND_DATE
,WRITE_DATE
,CUD_FLAG
,USE_YN
,REG_ID
,REG_DATE
,MOD_ID
,MOD_DATE
,T_ID
,T_DATE
)VALUES(
#{id}
,#{sbSmsId, jdbcType=VARCHAR}
,#{authType, jdbcType=VARCHAR}
,#{sbUserId, jdbcType=VARCHAR}
,#{phoneNumber, jdbcType=VARCHAR}
,#{authNumber, jdbcType=VARCHAR}
,NOW()
,NOW()
,'C'
,'Y'
,'SYSTEM'
,NOW()
,'SYSTEM'
,NOW()
,#{tId}
,NOW()
)
</insert>
</mapper>

View File

@@ -0,0 +1,133 @@
<?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="MobilePush">
<select id="selectTotalPushCount" parameterType="hashmap" resultType="hashmap">
SELECT COUNT(*) AS "totalCount"
FROM MU_PUSH AS MP
WHERE MP.USE_YN = 'Y'
AND MP.STATE = 'Y'
AND MP.MU_USER_ID = #{muUserId}
AND MP.DEVICE_UUID = #{deviceUuid}
AND MP.SEND_DATE IS NOT NULL
</select>
<select id="selectListPush" parameterType="hashmap" resultType="hashmap">
SELECT MP.MU_PUSH_ID AS "muPushId"
,IFNULL(MP.MU_APP_EVENT_ID, '') AS "muAppEventId"
,MP.MU_DEVICE_ID AS "muDeviceId"
,MP.MU_USER_ID AS "muUserId"
,MP.TITLE AS "title"
,MP.CONTENT AS "content"
,MP.USER_CHECK_YN AS "userCheckYn"
,IFNULL(MP.LINK_URL, '') AS "linkUrl"
,DATE_FORMAT(MP.SEND_DATE, '%Y-%m-%d') AS "sendDate"
,DATE_FORMAT(MP.SEND_DATE, '%H:%i') AS "sendTime"
FROM MU_PUSH AS MP
WHERE MP.USE_YN = 'Y'
AND MP.STATE = 'Y'
AND MP.MU_USER_ID = #{muUserId}
AND MP.DEVICE_UUID = #{deviceUuid}
AND MP.SEND_DATE IS NOT NULL
ORDER BY MP.SEND_DATE DESC
LIMIT 0, 30
</select>
<select id="selectPush" parameterType="hashmap" resultType="hashmap">
SELECT MP.MU_PUSH_ID AS "muPushId"
,IFNULL(MP.MU_APP_EVENT_ID, '') AS "muAppEventId"
,MP.MU_DEVICE_ID AS "muDeviceId"
,MP.MU_USER_ID AS "muUserId"
,MP.TITLE AS "title"
,MP.CONTENT AS "content"
,MP.USER_CHECK_YN AS "userCheckYn"
,IFNULL(MP.LINK_URL, '') AS "linkUrl"
,DATE_FORMAT(MP.SEND_DATE, '%Y-%m-%d') AS "sendDate"
,DATE_FORMAT(MP.SEND_DATE, '%H:%I') AS "sendTime"
FROM MU_PUSH AS MP
WHERE MP.USE_YN = 'Y'
AND MP.MU_PUSH_ID = #{muPushId}
LIMIT 0, 1
</select>
<select id="selectPushCountCheck" parameterType="hashmap" resultType="hashmap">
SELECT IF(TOTAL_COUNT > CHECK_COUNT, 'Y', 'N') AS "checkYn"
FROM (
SELECT COUNT(*) AS TOTAL_COUNT
,COUNT(CASE WHEN MP.USER_CHECK_YN = 'Y' THEN 1 END) AS CHECK_COUNT
FROM MU_PUSH AS MP
WHERE MP.USE_YN = 'Y'
AND MP.MU_USER_ID = #{muUserId}
AND MP.DEVICE_UUID = #{deviceUuid}
AND MP.SEND_DATE IS NOT NULL
ORDER BY MP.SEND_DATE DESC
LIMIT 0, 30
) AS MP
</select>
<insert id="insertPush" parameterType="hashmap">
<selectKey resultType="string" keyProperty="id" order="BEFORE">
SELECT CONCAT(#{muPushId},LPAD((SELECT NEXTVAL(MU_PUSH_SEQ)), 11, 0))
</selectKey>
INSERT INTO MU_PUSH(
MU_PUSH_ID
,MU_APP_EVENT_ID
,MU_USER_ID
,USER_NAME
,MU_DEVICE_ID
,DEVICE_UUID
,PUSH_KEY
,PUSH_TYPE
,PHONE_TYPE
,TITLE
,CONTENT
,LINK_URL
,STATE
,WRITE_DATE
,WRITE_TIME
,CUD_FLAG
,USE_YN
,REG_ID
,REG_DATE
,MOD_ID
,MOD_DATE
,T_ID
,T_DATE
)VALUES(
#{id}
,#{muAppEventId, jdbcType=VARCHAR}
,#{muUserId, jdbcType=VARCHAR}
,#{userName, jdbcType=VARCHAR}
,#{muDeviceId, jdbcType=VARCHAR}
,#{deviceUuid, jdbcType=VARCHAR}
,#{pushKey, jdbcType=VARCHAR}
,#{pushType, jdbcType=VARCHAR}
,#{phoneType, jdbcType=VARCHAR}
,#{title, jdbcType=VARCHAR}
,#{content, jdbcType=VARCHAR}
,#{linkUrl, jdbcType=VARCHAR}
,#{state, jdbcType=VARCHAR}
,NOW()
,NOW()
,'C'
,'Y'
,#{regId}
,NOW()
,#{modId}
,NOW()
,#{tId}
,#{tDate}
)
</insert>
<update id="updatePushUserCheckYn" parameterType="hashmap">
UPDATE MU_PUSH
SET MOD_ID = #{modId}
,MOD_DATE = NOW()
,CUD_FLAG = 'U'
,USER_CHECK_YN = #{userCheckYn}
WHERE USE_YN = 'Y'
AND MU_PUSH_ID = #{muPushId}
</update>
</mapper>

View File

@@ -0,0 +1,263 @@
<?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="MobileReservation">
<select id="selectListReservationCount" parameterType="hashmap" resultType="hashmap">
SELECT COUNT(*) AS "totalCount"
FROM MU_RESERVE MR
WHERE MU_USER_ID = #{muUserId}
AND DATE_FORMAT(MR.RESERVE_DATE, '%Y-%m-%d') &gt;= CURRENT_DATE
</select>
<select id="selectListReservation" parameterType="hashmap" resultType="hashmap">
SELECT USER_NAME AS 'userName'
, MU_RESERVE_ID AS 'muReserveId'
, DATE_FORMAT(MR.RESERVE_DATE, '%Y-%m-%d') AS 'reserveDate'
, DATE_FORMAT(MR.RESERVE_TIME, '%H:%i') AS 'reserveTime'
, CASE
WHEN MR.TREATMENT_NAME IN ('피부', '쁘띠', '비만')
THEN MR.TREATMENT_NAME
ELSE '기타'
END AS "treatmentName"
, MR.TREATMENT_PROCEDURE_NAME AS 'treatmentProcedureName'
, MR.STATUS AS 'status'
, (
SELECT COUNT(*)
FROM MU_RESERVE MR2
WHERE MR2.STATUS = 'R'
AND MR.STATUS='R'
AND MR2.RESERVE_MEMBER_ID=MR.RESERVE_MEMBER_ID
AND MR2.RESERVE_DATE = MR.RESERVE_DATE
AND (
MR2.RESERVE_TIME &lt; MR.RESERVE_TIME
OR (MR2.RESERVE_TIME = MR.RESERVE_TIME
AND MR2.RECEPTION_DATE &lt; MR.RECEPTION_DATE)
)
) AS 'waitingCount'
FROM MU_RESERVE MR
WHERE MU_USER_ID = #{muUserId}
AND DATE_FORMAT(MR.RESERVE_DATE, '%Y-%m-%d') &gt;= CURRENT_DATE
ORDER BY MR.RESERVE_DATE, MR.RESERVE_TIME
</select>
<select id="selectListReservationHistoryCount" parameterType="hashmap" resultType="hashmap">
SELECT COUNT(*) AS "totalCount"
FROM MU_RESERVE MR
WHERE MU_USER_ID =#{muUserId}
AND DATE_FORMAT(RESERVE_DATE, '%Y-%m') = #{searchDate}
AND CONCAT(RESERVE_DATE,' ',RESERVE_TIME) &lt; CURRENT_TIMESTAMP()
</select>
<select id="selectListReservationHistory" parameterType="hashmap" resultType="hashmap">
SELECT USER_NAME AS 'userName'
, DATE_FORMAT(RESERVE_DATE, '%Y-%m-%d') AS 'reserveDate'
, DATE_FORMAT(RESERVE_TIME, '%H:%i') AS 'reserveTime'
, CASE
WHEN MR.TREATMENT_NAME IN ('피부', '쁘띠', '비만')
THEN MR.TREATMENT_NAME
ELSE '기타'
END AS "treatmentName"
, TREATMENT_PROCEDURE_NAME AS 'treatmentProcedureName'
, STATUS AS 'status'
FROM MU_RESERVE MR
WHERE MU_USER_ID =#{muUserId}
AND DATE_FORMAT(RESERVE_DATE, '%Y-%m') = #{searchDate}
AND CONCAT(RESERVE_DATE,' ',RESERVE_TIME) &lt; CURRENT_TIMESTAMP()
ORDER BY MR.RESERVE_DATE, MR.RESERVE_TIME
</select>
<select id="selectTreatmentProcedure" parameterType="hashmap" resultType="hashmap">
SELECT MTP.MU_TREATMENT_PROCEDURE_ID AS "muTreatmentProcedureId"
,MTP.TREATMENT_PROCEDURE_NAME AS "treatmentProcedureName"
,MT.MU_TREATMENT_ID AS "muTreatmentId"
,MT.TREATMENT_NAME AS "treatmentName"
FROM MU_TREATMENT AS MT
INNER JOIN MU_TREATMENT_PROCEDURE AS MTP
ON MT.MU_TREATMENT_ID = MTP.MU_TREATMENT_ID
AND MT.USE_YN = 'Y'
AND MTP.USE_YN = 'Y'
AND MTP.MU_TREATMENT_PROCEDURE_ID = #{muTreatmentProcedureId}
LIMIT 0, 1
</select>
<select id="selectHospitalHoliday" parameterType="hashmap" resultType="hashmap">
SELECT CASE DAYOFWEEK(DATE_FORMAT(#{searchDate}, '%Y-%m-%d'))
WHEN '2' THEN MH.MON_OPEN_YN
WHEN '3' THEN MH.TUE_OPEN_YN
WHEN '4' THEN MH.WED_OPEN_YN
WHEN '5' THEN MH.THU_OPEN_YN
WHEN '6' THEN MH.FRI_OPEN_YN
WHEN '7' THEN MH.SAT_OPEN_YN
WHEN '1' THEN MH.SUN_OPEN_YN
END AS "openYn"
,CASE
WHEN EXISTS (
SELECT 1
FROM MU_HOSPITAL_HOLIDAY MH
WHERE MH.USE_YN = 'Y'
AND (
(MH.REPEAT_YN = 'Y' AND DATE_FORMAT(MH.LOC_DATE, '%m-%d') = DATE_FORMAT(#{searchDate}, '%m-%d'))
OR
(MH.REPEAT_YN = 'N' AND MH.LOC_DATE = #{searchDate})
)) OR
EXISTS (
SELECT 1
FROM MU_PUBLIC_HOLIDAY MPH
JOIN MU_HOSPITAL
ON PUBLIC_HOLIDAY_USE_YN='Y'
WHERE MPH.USE_YN = 'Y'
AND MPH.LOC_DATE = #{searchDate}
)
THEN 'Y'
ELSE 'N'
END AS "holidayYn"
FROM MU_HOSPITAL AS MH
WHERE MH.USE_YN = 'Y'
LIMIT 0, 1
</select>
<select id="selectReserveCount" parameterType="hashmap" resultType="Integer">
SELECT COUNT(1) AS "totalCount"
FROM MU_RESERVE MR
WHERE MR.USE_YN = 'Y'
AND MR.STATUS NOT IN ('TN', 'RN')
AND MR.RESERVE_DATE = #{reserveDate}
AND DATE_FORMAT(MR.RESERVE_TIME, '%H:%i') = #{reserveTime}
</select>
<select id="selectListReserveYn" parameterType="hashmap" resultType="hashmap">
SELECT MR.MU_RESERVE_ID AS "muReserveId"
FROM MU_RESERVE MR
WHERE MR.USE_YN = 'Y'
AND MR.STATUS NOT IN ('TN', 'RN')
AND MR.RESERVE_DATE = #{reserveDate}
AND DATE_FORMAT(MR.RESERVE_TIME, '%H:%i') = #{reserveTime}
AND MR.USER_NAME = #{userName}
AND MR.PHONE_NUMBER = #{phoneNumber}
AND MR.MU_TREATMENT_PROCEDURE_ID = #{muTreatmentProcedureId}
</select>
<select id="selectReserve" parameterType="hashmap" resultType="hashmap">
SELECT MR.MU_RESERVE_ID AS "muReserveId"
,MR.USER_NAME AS "userName"
,MR.PHONE_NUMBER AS "phoneNumber"
,MR.MU_USER_ID AS "muUserId"
,DATE_FORMAT(MR.RESERVE_DATE,'%Y-%m-%d') AS "reserveDate"
,DATE_FORMAT(MR.RESERVE_TIME, '%H:%i') AS "reserveTime"
,MR.MU_TREATMENT_ID AS "muTreatmentId"
,MR.TREATMENT_NAME AS "treatmentName"
,MR.MU_TREATMENT_PROCEDURE_ID AS "muTreatmentProcedureId"
,MR.TREATMENT_PROCEDURE_NAME AS "treatmentProcedureName"
FROM MU_RESERVE AS MR
LEFT JOIN MU_USER AS MU
ON MR.MU_USER_ID = MU.MU_USER_ID
AND MU.USE_YN = 'Y'
WHERE MR.USE_YN = 'Y'
AND MR.MU_RESERVE_ID = #{muReserveId}
LIMIT 0, 1
</select>
<select id="selectReservationHeader" parameterType="hashmap" resultType="hashmap">
SELECT MR.MU_RESERVE_ID AS "muReserveId"
,MR.MU_USER_ID AS "muUserId"
,DATE_FORMAT(MR.RESERVE_DATE,'%m월 %d일') AS "reserveDate"
,DATE_FORMAT(MR.RESERVE_TIME, '%H:%i') AS "reserveTime"
FROM MU_RESERVE AS MR
WHERE MR.USE_YN = 'Y'
AND MR.MU_USER_ID = #{muUserId}
AND MR.USER_CHECK_YN = 'N'
ORDER BY MR.WRITE_DATE DESC
,MR.WRITE_TIME DESC
LIMIT 0, 1
</select>
<insert id="insertReserve" parameterType="hashmap">
<selectKey resultType="string" keyProperty="id" order="BEFORE">
SELECT CONCAT(#{muReserveId},LPAD((SELECT NEXTVAL(MU_RESERVE_SEQ)), 11, 0))
</selectKey>
INSERT INTO MU_RESERVE(
MU_RESERVE_ID
,USER_NAME
,MU_USER_ID
,RESERVE_DATE
,RESERVE_TIME
,RESERVE_CATEGORY_ITEM_ID
,RESERVE_CATEGORY_ITEM_NAME
,RESERVE_APP_YN
,MU_TREATMENT_ID
,TREATMENT_NAME
,MU_TREATMENT_PROCEDURE_ID
,TREATMENT_PROCEDURE_NAME
,ETC
,STATUS
,STATUS2
,WRITE_DATE
,WRITE_TIME
,CUD_FLAG
,USE_YN
,REG_ID
,REG_DATE
,MOD_ID
,MOD_DATE
,T_ID
,T_DATE
,PHONE_NUMBER
)VALUES(
#{id}
,#{userName}
,#{muUserId,jdbcType=VARCHAR}
,#{reserveDate}
,#{reserveTime}
,(SELECT MCI.MU_CATEGORY_ITEM_ID
FROM MU_CATEGORY_ITEM AS MCI
WHERE MCI.USE_YN = 'Y'
AND MCI.CATEGORY_ITEM_NAME LIKE '%앱%'
LIMIT 0, 1)
,'앱 예약'
,'Y'
,#{muTreatmentId}
,#{treatmentName}
,#{muTreatmentProcedureId}
,#{treatmentProcedureName}
,#{etc,jdbcType=VARCHAR}
,#{status,jdbcType=VARCHAR}
,#{status2}
,CURDATE()
,CURTIME()
,'C'
,'Y'
,#{regId}
,NOW()
,#{modId}
,NOW()
,#{tId}
,#{tDate}
,(
SELECT PHONE_NUMBER
FROM MU_USER
WHERE MU_USER_ID = #{muUserId}
)
)
</insert>
<update id="updateReserveStatus" parameterType="hashmap">
UPDATE MU_RESERVE
SET MOD_ID = #{modId}
,MOD_DATE = NOW()
,CUD_FLAG = 'U'
,STATUS = #{status}
WHERE USE_YN = 'Y'
AND MU_RESERVE_ID = #{muReserveId}
</update>
<update id="updateReserveUserCheckYn" parameterType="hashmap">
UPDATE MU_RESERVE
SET MOD_ID = #{modId}
,MOD_DATE = NOW()
,CUD_FLAG = 'U'
,USER_CHECK_YN = #{userCheckYn}
WHERE USE_YN = 'Y'
AND USER_CHECK_YN = 'N'
AND MU_USER_ID = #{muUserId}
</update>
</mapper>

View File

@@ -0,0 +1,94 @@
<?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="MobileSms">
<insert id="insertSms" parameterType="hashmap">
<selectKey resultType="string" keyProperty="id" order="BEFORE">
SELECT CONCAT(#{id},LPAD((SELECT NEXTVAL(MU_SMS_SEQ)), 11, 0))
</selectKey>
INSERT INTO MU_SMS(
MU_SMS_ID
,MU_USER_ID
,USER_NAME
,RECEIVER
,TYPE
,TITLE
,CONTENT
,STATE
,POPBILL_STATE
,SENDER
,WRITE_DATE
,WRITE_TIME
,CUD_FLAG
,USE_YN
,REG_ID
,REG_DATE
,MOD_ID
,MOD_DATE
,T_ID
,T_DATE
)VALUES(
#{id}
,#{muUserId, jdbcType=VARCHAR}
,#{userName, jdbcType=VARCHAR}
,#{phoneNumber, jdbcType=VARCHAR}
,#{smsType, jdbcType=VARCHAR}
,#{title, jdbcType=VARCHAR}
,#{content, jdbcType=VARCHAR}
,#{state, jdbcType=VARCHAR}
,#{popbillState, jdbcType=VARCHAR}
,#{sender, jdbcType=VARCHAR}
,NOW()
,NOW()
,'C'
,'Y'
,#{regId}
,NOW()
,#{modId}
,NOW()
,#{tId}
,NOW()
)
</insert>
<update id="updateSmsState" parameterType="hashmap">
UPDATE MU_SMS
SET USE_YN = 'Y'
,MOD_ID = #{modId}
,MOD_DATE = NOW()
,CUD_FLAG = 'U'
,STATE = #{chgState, jdbcType=VARCHAR}
<choose>
<when test="sendDateYn eq 'Y'.toString()">
,SEND_DATE = NOW()
</when>
<when test="reserveDateYn eq 'Y'.toString()">
,SEND_DATE = #{reserveDate}
</when>
<otherwise>
</otherwise>
</choose>
<if test="receiptNum != null and receiptNum != ''">
,RECEIPT_NUMBER = #{receiptNum, jdbcType=VARCHAR}
</if>
WHERE USE_YN = 'Y'
AND MU_SMS_ID = #{muSmsId}
AND STATE = #{oldState}
</update>
<update id="updateSmsPopbillState" parameterType="hashmap">
UPDATE MU_SMS
SET MOD_ID = #{modId}
,MOD_DATE = NOW()
,CUD_FLAG = 'U'
,POPBILL_STATE = #{state, jdbcType=VARCHAR}
,POPBILL_RESULT = #{result, jdbcType=VARCHAR}
WHERE USE_YN = 'Y'
AND POPBILL_STATE = #{popbillState}
AND RECEIPT_NUMBER = #{receiptNumber}
AND REPLACE(RECEIVER, '-', '') = #{receiveNumber}
AND USER_NAME = #{receiveName}
</update>
</mapper>

View File

@@ -0,0 +1,17 @@
<?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="MobileSystem">
<!-- 시스템 버전정보 조회 -->
<select id="selectSystemVersion" parameterType="hashmap" resultType="hashmap">
SELECT ID AS "id"
,VERSION AS "version"
,PHONE_TYPE AS "phoneType"
,CHECK_YN AS "checkYn"
,CHECK_MESSAGE AS "checkMessage"
FROM MU_SYSTEM
WHERE PHONE_TYPE = #{phoneType}
AND APP_TYPE = 'US'
AND USE_YN = 'Y'
</select>
</mapper>

View File

@@ -0,0 +1,29 @@
<?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="MobileTreatmentProcedure">
<select id="selectTotalTreatmentProcedureOptionCount" parameterType="hashMap" resultType="hashMap">
SELECT COUNT(*) AS "totalCount"
FROM MU_TREATMENT AS MT
INNER JOIN MU_TREATMENT_PROCEDURE AS MTP
ON MT.MU_TREATMENT_ID = MTP.MU_TREATMENT_ID
AND MT.USE_YN = 'Y'
AND MTP.USE_YN = 'Y'
AND MTP.MU_TREATMENT_ID = #{muTreatmentId}
</select>
<select id="selectListTreatmentProcedureOption" parameterType="hashMap" resultType="hashMap">
SELECT MT.MU_TREATMENT_ID AS "muTreatmentId"
,MT.TREATMENT_NAME AS "treatmentName"
,MTP.MU_TREATMENT_PROCEDURE_ID AS "muTreatmentProcedureId"
,MTP.TREATMENT_PROCEDURE_NAME AS "treatmentProcedureName"
FROM MU_TREATMENT AS MT
INNER JOIN MU_TREATMENT_PROCEDURE AS MTP
ON MT.MU_TREATMENT_ID = MTP.MU_TREATMENT_ID
AND MT.USE_YN = 'Y'
AND MTP.USE_YN = 'Y'
AND MTP.ENABLE_YN = 'Y'
AND MT.MU_TREATMENT_ID = #{muTreatmentId}
WHERE TREATMENT_NAME != '멤버십'
ORDER BY MT.ORDER_NUMBER ASC ,MTP.TREATMENT_PROCEDURE_NAME ASC
</select>
</mapper>

View File

@@ -0,0 +1,13 @@
<?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="MobileTreatment">
<select id="selectListTreatmentOption" parameterType="hashMap" resultType="hashMap">
SELECT MT.MU_TREATMENT_ID AS "muTreatmentId"
,MT.TREATMENT_NAME AS "treatmentName"
FROM MU_TREATMENT AS MT
WHERE MT.USE_YN = 'Y'
AND MT.TREATMENT_NAME != '멤버십'
ORDER BY MT.ORDER_NUMBER ASC
</select>
</mapper>

View File

@@ -0,0 +1,85 @@
<?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="MobileUserInquiry">
<select id="selectTotalUserInquiryCount" parameterType="hashmap" resultType="hashmap">
SELECT COUNT(*) AS "totalCount"
FROM MU_USER_INQUIRY MUI
WHERE MUI.USE_YN = 'Y'
AND MU_USER_ID = #{muUserId}
</select>
<select id="selectListUserInquiry" parameterType="hashmap" resultType="hashmap">
SELECT MUI.MU_USER_INQUIRY_ID AS "muUserInquiryId"
, MUI.TITLE AS "title"
, DATE_FORMAT(MUI.WRITE_DATE, '%Y-%m-%d') AS "writeDate"
, IF(MUI.ANSWER_STATUS='Y','답변 완료','답변 대기') AS "answerStatus"
FROM MU_USER_INQUIRY MUI
WHERE MUI.USE_YN = 'Y'
AND MU_USER_ID = #{muUserId}
</select>
<select id="selectUserInquiry" parameterType="hashmap" resultType="hashmap">
SELECT MUI.MU_USER_INQUIRY_ID AS "muAppUserInquiryId"
, CASE
WHEN MUI.ANSWER_STATUS='Y' THEN DATE_FORMAT(MUI.MOD_DATE, '%Y-%m-%d')
ELSE ''
END AS "answerDate"
, CASE
WHEN MUI.ANSWER_STATUS='Y' THEN DATE_FORMAT(MUI.MOD_DATE, '%H:%i')
ELSE ''
END AS "answerTime"
, DATE_FORMAT(MUI.WRITE_DATE, '%Y-%m-%d') AS "writeDate"
, DATE_FORMAT(MUI.WRITE_TIME, '%H:%i') AS "writeTime"
, TITLE AS "title"
, CONTENT AS "content"
, CASE
WHEN MUI.ANSWER_STATUS='Y' THEN ANSWER
ELSE ''
END AS "answer"
FROM MU_USER_INQUIRY MUI
WHERE MUI.MU_USER_INQUIRY_ID = #{muUserInquiryId}
LIMIT 0, 1
</select>
<insert id="insertUserInquiry" parameterType="hashmap">
<selectKey resultType="string" keyProperty="id" order="BEFORE">
SELECT CONCAT(#{muAppUserInquiryId},LPAD((SELECT NEXTVAL(MU_USER_INQUIRY_SEQ)), 11, 0))
</selectKey>
INSERT INTO MU_USER_INQUIRY(
MU_USER_INQUIRY_ID
,MU_USER_ID
,MEMBERSHIP_ACCOUNT
,PHONE_NUMBER
,TITLE
,CONTENT
,ANSWER_STATUS
,WRITE_DATE
,WRITE_TIME
,USE_YN
,REG_ID
,REG_DATE
,MOD_ID
,MOD_DATE
,T_ID
,T_DATE
)VALUES(
#{id}
,#{muUserId}
,#{membershipAccount}
,#{phoneNumber}
,#{title}
,#{content}
,'N'
,CURDATE()
,CURTIME()
,'Y'
,#{regId}
,NOW()
,#{modId}
,NOW()
,#{tId}
,#{tDate}
)
</insert>
</mapper>

View File

@@ -0,0 +1,40 @@
<?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="MobileUserPhysical">
<select id="selectTotalPhysicalCount" parameterType="hashmap" resultType="integer">
SELECT
COUNT(*) AS "totalCount"
FROM MU_USER_PHYSICAL AS MP
WHERE MP.USE_YN = 'Y'
AND MU_USER_ID = #{muUserId}
<if test="physicalSearchDate != null and physicalSearchDate != ''">
AND DATE_FORMAT(MP.WRITE_DATE, '%Y-%m') = #{physicalSearchDate}
</if>
</select>
<select id="selectUserPhysicalList" parameterType="hashMap" resultType="hashMap">
SELECT MP.HEIGHT AS "height"
, MP.WEIGHT AS "weight"
, MP.BMI AS "bmi"
, DATE_FORMAT(MP.WRITE_DATE, '%Y-%m-%d') AS "writeDate"
FROM MU_USER_PHYSICAL AS MP
LEFT JOIN MU_MEMBER AS MM ON MP.MU_MEMBER_ID = MM.MU_MEMBER_ID
LEFT JOIN MU_USER AS MU ON MP.MU_USER_ID = MU.MU_USER_ID
WHERE MP.USE_YN = 'Y'
AND MP.MU_USER_ID = #{muUserId}
AND DATE_FORMAT(MP.WRITE_DATE, '%Y-%m') = #{physicalSearchDate}
ORDER BY MP.REG_DATE DESC
</select>
<select id="selectRecentUserPhysicalList" parameterType="hashMap" resultType="hashMap">
SELECT MP.HEIGHT AS "height"
, MP.WEIGHT AS "weight"
, MP.BMI AS "bmi"
, CONCAT(DATE_FORMAT(MP.WRITE_DATE, '%m'),'/',DATE_FORMAT(MP.WRITE_DATE, '%d')) AS "writeDate"
FROM MU_USER_PHYSICAL AS MP
WHERE MP.USE_YN = 'Y'
AND MP.MU_USER_ID = #{muUserId}
ORDER BY MP.REG_DATE
LIMIT 6
</select>
</mapper>

View File

@@ -0,0 +1,113 @@
<?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="MobileUser">
<select id="checkUser" parameterType="hashMap" resultType="hashMap">
SELECT MU.USER_NAME AS "userName"
,MU.PHONE_NUMBER AS "phoneNumber"
FROM MU_USER AS MU
WHERE MU.MU_USER_ID = #{muUserId}
</select>
<select id="checkUser2" parameterType="hashMap" resultType="hashMap">
SELECT MU.MU_USER_ID AS muUserId
,MU.USER_NAME AS userName
FROM MU_USER AS MU
WHERE MU.MEMBERSHIP_ACCOUNT = #{membershipAccount}
</select>
<select id="selectUserAccount" parameterType="hashmap" resultType="hashmap">
SELECT MU.MEMBERSHIP_ACCOUNT AS 'membershipAccount'
, MU.PHONE_NUMBER AS 'phoneNumber'
, MU.EMAIL AS 'email'
, CASE
WHEN MU.LOGIN_TYPE = 'MU' THEN '-'
WHEN MU.LOGIN_TYPE = 'K' THEN '카카오'
WHEN MU.LOGIN_TYPE = 'N' THEN '네이버'
WHEN MU.LOGIN_TYPE = 'A' THEN '애플'
ELSE '-'
END AS 'loginType'
, MU.LOGIN_TYPE AS 'email'
,(
SELECT USER_NAME
FROM MU_USER
WHERE MU_USER_ID = MU.INTRO_USER_ID
) AS 'introUserName'
FROM MU_USER MU
WHERE MU.MU_USER_ID = #{muUserId}
AND MU.APP_USE_YN = 'Y'
AND MU.USE_YN = 'Y'
</select>
<!--이메일 계정 중복 확인-->
<select id="selectEmailCheck" parameterType="hashmap" resultType="hashmap">
SELECT MU.MU_USER_ID AS "muUserId"
,MU.MEMBERSHIP_ACCOUNT AS "membershipAccount"
,MU.PHONE_NUMBER AS "phoneNumber"
,MU.EMAIL AS "email"
FROM MU_USER MU
WHERE MU.MEMBERSHIP_ACCOUNT = #{email}
AND MU.LOGIN_TYPE = #{loginType}
AND MU.APP_USE_YN = 'Y'
AND MU.USE_YN = 'Y'
</select>
<select id="selectUserPhoneNumber" parameterType="hashmap" resultType="String">
SELECT MU.PHONE_NUMBER AS 'phoneNumber'
FROM MU_USER MU
WHERE MU.MEMBERSHIP_ACCOUNT = #{membershipAccount}
AND MU.APP_USE_YN = 'Y'
AND MU.USE_YN = 'Y'
</select>
<select id="selectUserId" parameterType="hashmap" resultType="hashmap">
SELECT MU.MEMBERSHIP_ACCOUNT AS 'membershipAccount'
, DATE_FORMAT(MU.JOIN_DATE,'%Y-%m-%d') AS 'joinDate'
, DATE_FORMAT(MU.MOD_DATE,'%Y-%m-%d') AS 'modDate'
FROM MU_USER MU
WHERE MU.USER_NAME = #{userName}
AND MU.PHONE_NUMBER = #{phoneNumber}
AND MU.APP_USE_YN = 'Y'
AND MU.USE_YN = 'Y'
</select>
<select id="selectUserPassword" parameterType="hashMap" resultType="hashMap">
SELECT count(*) AS "totalCount"
FROM MU_USER AS MM
WHERE MM.USE_YN = 'Y'
AND MM.MU_USER_ID = #{muUserId}
AND MM.MEMBERSHIP_PASSWORD = #{password}
</select>
<update id="updatePassword" parameterType="hashmap">
UPDATE MU_USER
SET MOD_ID = #{modId}
,MOD_DATE = NOW()
,CUD_FLAG = 'U'
,MEMBERSHIP_PASSWORD = #{password}
WHERE USE_YN = 'Y'
AND MU_USER_ID = #{muUserId}
</update>
<update id="updateUserPassword" parameterType="hashmap">
UPDATE MU_USER
SET MOD_ID = #{modId}
,MOD_DATE = NOW()
,CUD_FLAG = 'U'
,MEMBERSHIP_PASSWORD = #{password}
WHERE USE_YN = 'Y'
AND MEMBERSHIP_ACCOUNT = #{membershipAccount}
AND PHONE_NUMBER = #{phoneNumber}
</update>
<update id="updateEmail" parameterType="hashmap">
UPDATE MU_USER
SET MOD_ID = #{modId}
,MOD_DATE = NOW()
,CUD_FLAG = 'U'
,EMAIL = #{email}
,PHONE_NUMBER = #{phoneNumber}
WHERE USE_YN = 'Y'
AND MU_USER_ID = #{muUserId}
</update>
</mapper>

View File

@@ -0,0 +1,219 @@
<?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="WebAppBoard">
<select id="selectTotalAppBoardCount" parameterType="hashmap" resultType="hashmap">
SELECT COUNT(*) AS "totalCount"
FROM MU_APP_BOARD AS MAB
WHERE MAB.USE_YN = 'Y'
<if test="appBoardSearchStartDate != null and appBoardSearchStartDate != '' and appBoardSearchEndDate != null and appBoardSearchEndDate != ''">
AND DATE_FORMAT(MAB.WRITE_DATE, '%Y-%m-%d') &gt;= #{appBoardSearchStartDate}
AND DATE_FORMAT(MAB.WRITE_DATE, '%Y-%m-%d') &lt;= #{appBoardSearchEndDate}
</if>
<if test="appBoardSearchKeywordParam != null and appBoardSearchKeywordParam != ''">
AND ((MAB.TITLE LIKE CONCAT('%',TRIM(#{appBoardSearchKeywordParam}),'%'))
OR (MAB.CONTENT LIKE CONCAT('%',TRIM(#{appBoardSearchKeywordParam}),'%')))
</if>
</select>
<select id="selectListAppBoard" parameterType="hashmap" resultType="hashmap">
SELECT MAB.*
FROM (
SELECT MAB.*
, CAST(@RNUM:=@RNUM + 1 AS CHAR) AS "rowNum"
FROM (
SELECT MAB.MU_APP_BOARD_ID AS "muAppBoardId"
, MAB.TITLE AS "title"
, MAB.CONTENT AS "content"
, IFNULL((SELECT COUNT(1)
FROM MU_BOARD_CONTENT
WHERE USE_YN = 'Y'
AND MU_APP_BOARD_ID = MAB.MU_APP_BOARD_ID
LIMIT 0, 1
),0) AS "contentCount"
, CASE
WHEN EXPOSED_YN = 'Y' THEN '사용'
WHEN EXPOSED_YN = 'N' THEN '미사용'
ELSE ''
END AS "exposedYn"
, CONCAT(
DATE_FORMAT(MAB.WRITE_DATE, '%Y-%m-%d')
,', '
,DATE_FORMAT(MAB.WRITE_TIME, '%H:%i')
) AS "writeDate"
FROM MU_APP_BOARD MAB
WHERE MAB.USE_YN = 'Y'
<if test="appBoardSearchStartDate != null and appBoardSearchStartDate != '' and appBoardSearchEndDate != null and appBoardSearchEndDate != ''">
AND DATE_FORMAT(MAB.WRITE_DATE, '%Y-%m-%d') &gt;= #{appBoardSearchStartDate}
AND DATE_FORMAT(MAB.WRITE_DATE, '%Y-%m-%d') &lt;= #{appBoardSearchEndDate}
</if>
<if test="appBoardSearchKeywordParam != null and appBoardSearchKeywordParam != ''">
AND ((MAB.TITLE LIKE CONCAT('%',TRIM(#{appBoardSearchKeywordParam}),'%'))
OR (MAB.CONTENT LIKE CONCAT('%',TRIM(#{appBoardSearchKeywordParam}),'%')))
</if>
<choose>
<when test="appBoardSort != null and appBoardSort != ''">
ORDER BY ${appBoardSort}
</when>
<otherwise>
ORDER BY MAB.WRITE_DATE DESC
</otherwise>
</choose>
LIMIT 18446744073709551615
) MAB, (SELECT @RNUM:=0) R
WHERE 1 = 1
) MAB
WHERE 1 = 1
LIMIT ${appBoardStart}, ${appBoardLimit}
</select>
<select id="selectAppBoard" parameterType="hashmap" resultType="hashmap">
SELECT MAB.MU_APP_BOARD_ID AS "muAppBoardId"
, MAB.TITLE AS "boardTitle"
, MAB.CONTENT AS "boardContent"
, EXPOSED_YN AS "exposedYn"
, MU_BOARD_CONTENT_ID AS "muBoardContentId"
, MU_APP_CONTENT_ID AS "muAppContentId"
, MBC.TITLE AS "title"
, MBC.CONTENT AS "content"
, MBC.FILE_PATH AS "filePath"
, MBC.FILE_NAME AS "fileName"
, MBC.ORIGINAL_FILE_NAME AS "originalFileName"
, MBC.FILE_PATH2 AS "filePath2"
, MBC.FILE_NAME2 AS "fileName2"
, MBC.ORIGINAL_FILE_NAME2 AS "originalFileName2"
, MBC.CATEGORY_NAME AS "appContentCategoryName"
, DATE_FORMAT(MBC.CONTENT_WRITE_DATE, '%Y-%m-%d') AS "writeDate"
, '삭제' AS "management"
FROM MU_APP_BOARD MAB
JOIN MU_BOARD_CONTENT MBC
ON MAB.MU_APP_BOARD_ID = MBC.MU_APP_BOARD_ID
AND MBC.USE_YN='Y'
WHERE MAB.USE_YN = 'Y'
AND MAB.MU_APP_BOARD_ID = #{muAppBoardId}
</select>
<insert id="insertAppBoard" parameterType="hashmap">
<selectKey resultType="string" keyProperty="id" order="BEFORE">
SELECT CONCAT(#{muAppBoardId},LPAD((SELECT NEXTVAL(MU_APP_BOARD_SEQ)), 11, 0))
</selectKey>
INSERT INTO MU_APP_BOARD(
MU_APP_BOARD_ID
,TITLE
,CONTENT
,EXPOSED_YN
,WRITE_DATE
,WRITE_TIME
,CUD_FLAG
,USE_YN
,REG_ID
,REG_DATE
,MOD_ID
,MOD_DATE
,T_ID
,T_DATE
)VALUES(
#{id}
,#{title}
,#{content}
,#{exposedYn}
,CURDATE()
,CURTIME()
,'C'
,'Y'
,#{regId}
,NOW()
,#{modId}
,NOW()
,#{tId}
,#{tDate}
)
</insert>
<insert id="insertBoardContent" parameterType="hashmap">
<selectKey resultType="string" keyProperty="id" order="BEFORE">
SELECT CONCAT(#{muBoardContentId},LPAD((SELECT NEXTVAL(MU_BOARD_CONTENT_SEQ)), 11, 0))
</selectKey>
INSERT INTO MU_BOARD_CONTENT(
MU_BOARD_CONTENT_ID
,MU_APP_BOARD_ID
,MU_APP_CONTENT_ID
,TITLE
,CONTENT
,FILE_PATH
,FILE_NAME
,ORIGINAL_FILE_NAME
,FILE_PATH2
,FILE_NAME2
,ORIGINAL_FILE_NAME2
,CATEGORY_NAME
,CONTENT_WRITE_DATE
,WRITE_DATE
,WRITE_TIME
,CUD_FLAG
,USE_YN
,REG_ID
,REG_DATE
,MOD_ID
,MOD_DATE
,T_ID
,T_DATE
)VALUES(
#{id}
,#{muAppBoardId}
,#{muAppContentId}
,#{title}
,#{content}
,#{filePath}
,#{fileName}
,#{originalFileName}
,#{filePath2}
,#{fileName2}
,#{originalFileName2}
,#{categoryName}
,#{contentWriteDate}
,CURDATE()
,CURTIME()
,'C'
,'Y'
,#{regId}
,NOW()
,#{modId}
,NOW()
,#{tId}
,#{tDate}
)
</insert>
<update id="updateAppBoard" parameterType="hashmap">
UPDATE MU_APP_BOARD
SET MOD_ID = #{modId}
,MOD_DATE = NOW()
,CUD_FLAG = 'U'
,TITLE = #{title}
,CONTENT = #{content}
,EXPOSED_YN = #{exposedYn}
WHERE USE_YN = 'Y'
AND MU_APP_BOARD_ID = #{muAppBoardId}
</update>
<update id="updateAppBoardContent" parameterType="hashmap">
UPDATE MU_BOARD_CONTENT
SET MOD_ID = #{modId}
,MOD_DATE = NOW()
,CUD_FLAG = 'U'
,USE_YN = 'N'
WHERE USE_YN = 'Y'
AND MU_APP_BOARD_ID = #{muAppBoardId}
</update>
<update id="deleteAppBoard" parameterType="hashmap">
UPDATE MU_APP_BOARD
SET MOD_ID = #{modId}
,MOD_DATE = NOW()
,CUD_FLAG = 'D'
,USE_YN = 'N'
WHERE USE_YN = 'Y'
AND MU_APP_BOARD_ID = #{muAppBoardId}
</update>
</mapper>

View File

@@ -0,0 +1,185 @@
<?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="WebAppContents">
<select id="selectTotalAppContentsCount" parameterType="hashmap" resultType="hashmap">
SELECT COUNT(*) AS "totalCount"
FROM MU_APP_CONTENT AS MAC
WHERE MAC.USE_YN = 'Y'
<if test="appContentCategoryName != null and appContentCategoryName != ''">
AND MAC.CATEGORY_NAME= #{appContentCategoryName}
</if>
<if test="appContentSearchStartDate != null and appContentSearchStartDate != '' and appContentSearchEndDate != null and appContentSearchEndDate != ''">
AND DATE_FORMAT(MAC.WRITE_DATE, '%Y-%m-%d') &gt;= #{appContentSearchStartDate}
AND DATE_FORMAT(MAC.WRITE_DATE, '%Y-%m-%d') &lt;= #{appContentSearchEndDate}
</if>
<if test="appContentSearchKeywordParam != null and appContentSearchKeywordParam != ''">
AND ((MAC.TITLE LIKE CONCAT('%',TRIM(#{appContentSearchKeywordParam}),'%'))
OR (MAC.CONTENT LIKE CONCAT('%',TRIM(#{appContentSearchKeywordParam}),'%')))
</if>
</select>
<select id="selectListAppContents" parameterType="hashmap" resultType="hashmap">
SELECT MAC.*
FROM (
SELECT MAC.*
, CAST(@RNUM:=@RNUM + 1 AS CHAR) AS "rowNum"
FROM (
SELECT MAC.MU_APP_CONTENT_ID AS "muAppContentId"
, MAC.CATEGORY_NAME AS "appContentCategoryName"
, MAC.TITLE AS "title"
, MAC.CONTENT AS "content"
, MAC.FILE_PATH AS "filePath"
, MAC.FILE_NAME AS "fileName"
, MAC.ORIGINAL_FILE_NAME AS "originalFileName"
, MAC.FILE_PATH2 AS "filePath2"
, MAC.FILE_NAME2 AS "fileName2"
, MAC.ORIGINAL_FILE_NAME2 AS "originalFileName2"
, CONCAT(
DATE_FORMAT(MAC.WRITE_DATE, '%Y-%m-%d')
,', '
,DATE_FORMAT(MAC.WRITE_TIME, '%H:%i')
) AS "writeDate"
, IFNULL((SELECT MM.NAME
FROM MU_MEMBER AS MM
WHERE MM.USE_YN = 'Y'
AND MM.MU_MEMBER_ID = MAC.REG_ID
LIMIT 0, 1
),'') AS "writeName"
FROM MU_APP_CONTENT MAC
WHERE MAC.USE_YN = 'Y'
<if test="appContentCategoryName != null and appContentCategoryName != ''">
AND MAC.CATEGORY_NAME= #{appContentCategoryName}
</if>
<if test="appContentSearchStartDate != null and appContentSearchStartDate != '' and appContentSearchEndDate != null and appContentSearchEndDate != ''">
AND DATE_FORMAT(MAC.WRITE_DATE, '%Y-%m-%d') &gt;= #{appContentSearchStartDate}
AND DATE_FORMAT(MAC.WRITE_DATE, '%Y-%m-%d') &lt;= #{appContentSearchEndDate}
</if>
<if test="appContentSearchKeywordParam != null and appContentSearchKeywordParam != ''">
AND ((MAC.TITLE LIKE CONCAT('%',TRIM(#{appContentSearchKeywordParam}),'%'))
OR (MAC.CONTENT LIKE CONCAT('%',TRIM(#{appContentSearchKeywordParam}),'%')))
</if>
<choose>
<when test="appContentSort != null and appContentSort != ''">
ORDER BY ${appContentSort}
</when>
<otherwise>
ORDER BY MAC.WRITE_DATE DESC
</otherwise>
</choose>
LIMIT 18446744073709551615
) MAC, (SELECT @RNUM:=0) R
WHERE 1 = 1
) MAC
WHERE 1 = 1
<if test="appContentStart != null and appContentStart != '' and appContentLimit != null and appContentLimit != ''">
LIMIT ${appContentStart}, ${appContentLimit}
</if>
</select>
<select id="selectAppContents" parameterType="hashmap" resultType="hashmap">
SELECT MAC.MU_APP_CONTENT_ID AS "muAppContentId"
, MAC.TITLE AS "title"
, MAC.CONTENT AS "content"
, MAC.DETAIL AS "detail"
, MAC.FILE_PATH AS "filePath"
, MAC.FILE_NAME AS "fileName"
, MAC.ORIGINAL_FILE_NAME AS "originalFileName"
, MAC.FILE_PATH2 AS "filePath2"
, MAC.FILE_NAME2 AS "fileName2"
, MAC.ORIGINAL_FILE_NAME2 AS "originalFileName2"
, MAC.CATEGORY_NAME AS "categoryName"
, MAC.CATEGORY_NAME AS "categoryCode"
FROM MU_APP_CONTENT AS MAC
WHERE MAC.USE_YN = 'Y'
AND MAC.MU_APP_CONTENT_ID = #{muAppContentId}
LIMIT 0, 1
</select>
<insert id="insertAppContents" parameterType="hashmap">
<selectKey resultType="string" keyProperty="id" order="BEFORE">
SELECT CONCAT(#{muAppContentId},LPAD((SELECT NEXTVAL(MU_APP_CONTENT_SEQ)), 11, 0))
</selectKey>
INSERT INTO MU_APP_CONTENT(
MU_APP_CONTENT_ID
,TITLE
,CONTENT
,DETAIL
,FILE_PATH
,FILE_NAME
,ORIGINAL_FILE_NAME
,FILE_PATH2
,FILE_NAME2
,ORIGINAL_FILE_NAME2
,CATEGORY_CODE
,CATEGORY_NAME
,WRITE_DATE
,WRITE_TIME
,CUD_FLAG
,USE_YN
,REG_ID
,REG_DATE
,MOD_ID
,MOD_DATE
,T_ID
,T_DATE
)VALUES(
#{id}
,#{title}
,#{content}
,#{detail}
,#{filePath}
,#{fileName}
,#{originalFileName}
,#{filePath2}
,#{fileName2}
,#{originalFileName2}
,#{categoryCode}
,#{categoryName}
,CURDATE()
,CURTIME()
,'C'
,'Y'
,#{regId}
,NOW()
,#{modId}
,NOW()
,#{tId}
,#{tDate}
)
</insert>
<update id="updateAppContents" parameterType="hashmap">
UPDATE MU_APP_CONTENT
SET MOD_ID = #{modId}
,MOD_DATE = NOW()
,CUD_FLAG = 'U'
,TITLE = #{title}
,CONTENT = #{content}
,DETAIL = #{detail}
<if test="filePath != null and filePath != ''">
,FILE_PATH = #{filePath}
,FILE_NAME = #{fileName}
,ORIGINAL_FILE_NAME = #{originalFileName}
</if>
<if test="filePath2 != null and filePath2 != ''">
,FILE_PATH2 = #{filePath2}
,FILE_NAME2 = #{fileName2}
,ORIGINAL_FILE_NAME2 = #{originalFileName2}
</if>
,CATEGORY_NAME = #{categoryName}
,CATEGORY_CODE = #{categoryCode}
WHERE USE_YN = 'Y'
AND MU_APP_CONTENT_ID = #{muAppContentId}
</update>
<update id="deleteAppContents" parameterType="hashmap">
UPDATE MU_APP_CONTENT
SET MOD_ID = #{modId}
,MOD_DATE = NOW()
,CUD_FLAG = 'D'
,USE_YN = 'N'
WHERE USE_YN = 'Y'
AND MU_APP_CONTENT_ID = #{muAppContentId}
</update>
</mapper>

View File

@@ -0,0 +1,182 @@
<?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="WebAppEvent">
<select id="selectListAppEventOption" parameterType="hashmap" resultType="hashmap">
SELECT MAE.MU_APP_EVENT_ID AS "muAppEventId"
,MAE.TITLE AS "title"
FROM MU_APP_EVENT AS MAE
WHERE MAE.USE_YN = 'Y'
ORDER BY MAE.WRITE_DATE DESC
,MAE.WRITE_TIME DESC
</select>
<select id="selectAppEventExposedCount" parameterType="hashmap" resultType="hashmap">
SELECT COUNT(*) AS "exposedCount"
FROM MU_APP_EVENT AS ME
WHERE ME.EXPOSED_YN = 'Y'
AND ME.USE_YN = 'Y'
</select>
<select id="selectTotalAppEventCount" parameterType="hashmap" resultType="hashmap">
SELECT COUNT(*) AS "totalCount"
FROM MU_APP_EVENT AS ME
WHERE ME.USE_YN = 'Y'
<if test="appEventSearchStartDate != null and appEventSearchStartDate != '' and appEventSearchEndDate != null and appEventSearchEndDate != ''">
AND DATE_FORMAT(ME.WRITE_DATE, '%Y-%m-%d') &gt;= #{appEventSearchStartDate}
AND DATE_FORMAT(ME.WRITE_DATE, '%Y-%m-%d') &lt;= #{appEventSearchEndDate}
</if>
<if test="appEventSearchKeywordParam != null and appEventSearchKeywordParam != ''">
AND ((ME.TITLE LIKE CONCAT('%',TRIM(#{appEventSearchKeywordParam}),'%'))
OR (ME.CONTENT LIKE CONCAT('%',TRIM(#{appEventSearchKeywordParam}),'%')))
</if>
</select>
<select id="selectListAppEvent" parameterType="hashmap" resultType="hashmap">
SELECT MAE.*
FROM (
SELECT MAE.*
, CAST(@RNUM:=@RNUM + 1 AS CHAR) AS "rowNum"
FROM (
SELECT MAE.MU_APP_EVENT_ID AS "muAppEventId"
, MAE.TITLE AS "title"
, MAE.CONTENT AS "content"
, CONCAT(
DATE_FORMAT(MAE.EVENT_START_DATE, '%Y-%m-%d')
,' ~ '
,DATE_FORMAT(MAE.EVENT_END_DATE, '%Y-%m-%d')
) AS "eventDate"
, CASE
WHEN EXPOSED_YN = 'Y' THEN '사용'
WHEN EXPOSED_YN = 'N' THEN '미사용'
ELSE ''
END AS "exposedYn"
, DATE_FORMAT(WRITE_DATE, '%Y-%m-%d') AS "writeDate"
, IFNULL((SELECT MM.NAME
FROM MU_MEMBER AS MM
WHERE MM.USE_YN = 'Y'
AND MM.MU_MEMBER_ID = MAE.REG_ID
LIMIT 0, 1
),'') AS "writeName"
FROM MU_APP_EVENT MAE
WHERE MAE.USE_YN = 'Y'
<if test="appEventSearchStartDate != null and appEventSearchStartDate != '' and appEventSearchEndDate != null and appEventSearchEndDate != ''">
AND DATE_FORMAT(MAE.WRITE_DATE, '%Y-%m-%d') &gt;= #{appEventSearchStartDate}
AND DATE_FORMAT(MAE.WRITE_DATE, '%Y-%m-%d') &lt;= #{appEventSearchEndDate}
</if>
<if test="appEventSearchKeywordParam != null and appEventSearchKeywordParam != ''">
AND ((MAE.TITLE LIKE CONCAT('%',TRIM(#{appEventSearchKeywordParam}),'%'))
OR (MAE.CONTENT LIKE CONCAT('%',TRIM(#{appEventSearchKeywordParam}),'%')))
</if>
<choose>
<when test="appEventSort != null and appEventSort != ''">
ORDER BY ${appEventSort}
</when>
<otherwise>
ORDER BY MAE.WRITE_DATE DESC
</otherwise>
</choose>
LIMIT 18446744073709551615
) MAE, (SELECT @RNUM:=0) R
WHERE 1 = 1
) MAE
WHERE 1 = 1
LIMIT ${appEventStart}, ${appEventLimit}
</select>
<select id="selectAppEvent" parameterType="hashmap" resultType="hashmap">
SELECT MAE.MU_APP_EVENT_ID AS "muAppEventId"
,MAE.TITLE AS "title"
,MAE.CONTENT AS "content"
,MAE.DETAIL AS "detail"
,MAE.FILE_PATH AS "filePath"
,MAE.FILE_NAME AS "fileName"
,MAE.ORIGINAL_FILE_NAME AS "originalFileName"
,DATE_FORMAT(MAE.EVENT_START_DATE, '%Y-%m-%d') AS "eventStartDate"
,DATE_FORMAT(MAE.EVENT_END_DATE, '%Y-%m-%d') AS "eventEndDate"
,MAE.EXPOSED_YN AS "exposedYn"
FROM MU_APP_EVENT AS MAE
WHERE MAE.USE_YN = 'Y'
AND MAE.MU_APP_EVENT_ID = #{muAppEventId}
LIMIT 0, 1
</select>
<insert id="insertAppEvent" parameterType="hashmap">
<selectKey resultType="string" keyProperty="id" order="BEFORE">
SELECT CONCAT(#{muAppEventId},LPAD((SELECT NEXTVAL(MU_APP_EVENT_SEQ)), 11, 0))
</selectKey>
INSERT INTO MU_APP_EVENT(
MU_APP_EVENT_ID
,TITLE
,CONTENT
,DETAIL
,FILE_PATH
,FILE_NAME
,ORIGINAL_FILE_NAME
,EVENT_START_DATE
,EVENT_END_DATE
,EXPOSED_YN
,WRITE_DATE
,WRITE_TIME
,CUD_FLAG
,USE_YN
,REG_ID
,REG_DATE
,MOD_ID
,MOD_DATE
,T_ID
,T_DATE
)VALUES(
#{id}
,#{title}
,#{content}
,#{detail}
,#{filePath}
,#{fileName}
,#{originalFileName}
,#{eventStartDate}
,#{eventEndDate}
,#{exposedYn}
,CURDATE()
,CURTIME()
,'C'
,'Y'
,#{regId}
,NOW()
,#{modId}
,NOW()
,#{tId}
,#{tDate}
)
</insert>
<update id="updateAppEvent" parameterType="hashmap">
UPDATE MU_APP_EVENT
SET MOD_ID = #{modId}
,MOD_DATE = NOW()
,CUD_FLAG = 'U'
,TITLE = #{title}
,CONTENT = #{content}
,DETAIL = #{detail}
<if test="filePath != null and filePath != ''">
,FILE_PATH = #{filePath}
,FILE_NAME = #{fileName}
,ORIGINAL_FILE_NAME = #{originalFileName}
</if>
,EVENT_START_DATE = #{eventStartDate}
,EVENT_END_DATE = #{eventEndDate}
,EXPOSED_YN = #{exposedYn}
WHERE USE_YN = 'Y'
AND MU_APP_EVENT_ID = #{muAppEventId}
</update>
<update id="deleteAppEvent" parameterType="hashmap">
UPDATE MU_APP_EVENT
SET MOD_ID = #{modId}
,MOD_DATE = NOW()
,CUD_FLAG = 'D'
,USE_YN = 'N'
WHERE USE_YN = 'Y'
AND MU_APP_EVENT_ID = #{muAppEventId}
</update>
</mapper>

View File

@@ -0,0 +1,131 @@
<?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="WebAppNotice">
<select id="selectTotalAppNoticeCount" parameterType="hashmap" resultType="hashmap">
SELECT COUNT(*) AS "totalCount"
FROM MU_APP_NOTICE AS MN
WHERE MN.USE_YN = 'Y'
<if test="appNoticeSearchStartDate != null and appNoticeSearchStartDate != '' and appNoticeSearchEndDate != null and appNoticeSearchEndDate != ''">
AND DATE_FORMAT(MN.WRITE_DATE, '%Y-%m-%d') &gt;= #{appNoticeSearchStartDate}
AND DATE_FORMAT(MN.WRITE_DATE, '%Y-%m-%d') &lt;= #{appNoticeSearchEndDate}
</if>
<if test="appNoticeSearchKeywordParam != null and appNoticeSearchKeywordParam != ''">
AND ((MN.TITLE LIKE CONCAT('%',TRIM(#{appNoticeSearchKeywordParam}),'%'))
OR (MN.CONTENT LIKE CONCAT('%',TRIM(#{appNoticeSearchKeywordParam}),'%')))
</if>
</select>
<select id="selectListAppNotice" parameterType="hashmap" resultType="hashmap">
SELECT MN.*
FROM (
SELECT MN.*
,CAST(@RNUM:=@RNUM + 1 AS CHAR) AS "rowNum"
FROM (
SELECT MN.MU_APP_NOTICE_ID AS "muAppNoticeId"
, MN.MU_MEMBER_ID AS "muMemberId"
, IFNULL((SELECT MM.NAME
FROM MU_MEMBER AS MM
WHERE MM.USE_YN = 'Y'
AND MM.MU_MEMBER_ID = MN.MU_MEMBER_ID
LIMIT 0, 1
),'') AS "writeName"
, MN.TITLE AS "title"
, MN.CONTENT AS "content"
, DATE_FORMAT(MN.WRITE_DATE, '%Y-%m-%d') AS "writeDate"
FROM MU_APP_NOTICE MN
WHERE MN.USE_YN = 'Y'
<if test="appNoticeSearchStartDate != null and appNoticeSearchStartDate != '' and appNoticeSearchEndDate != null and appNoticeSearchEndDate != ''">
AND DATE_FORMAT(MN.WRITE_DATE, '%Y-%m-%d') &gt;= #{appNoticeSearchStartDate}
AND DATE_FORMAT(MN.WRITE_DATE, '%Y-%m-%d') &lt;= #{appNoticeSearchEndDate}
</if>
<if test="appNoticeSearchKeywordParam != null and appNoticeSearchKeywordParam != ''">
AND ((MN.TITLE LIKE CONCAT('%',TRIM(#{appNoticeSearchKeywordParam}),'%'))
OR (MN.CONTENT LIKE CONCAT('%',TRIM(#{appNoticeSearchKeywordParam}),'%')))
</if>
<choose>
<when test="appNoticeSort != null and appNoticeSort != ''">
ORDER BY ${appNoticeSort}
</when>
<otherwise>
ORDER BY MN.WRITE_DATE DESC
</otherwise>
</choose>
LIMIT 18446744073709551615
) MN, (SELECT @RNUM:=0) R
WHERE 1 = 1
) MN
WHERE 1 = 1
LIMIT ${appNoticeStart}, ${appNoticeLimit}
</select>
<select id="selectAppNotice" parameterType="hashmap" resultType="hashmap">
SELECT MN.MU_APP_NOTICE_ID AS "muAppNoticeId"
,MN.MU_MEMBER_ID AS "muMemberId"
,MN.TITLE AS "title"
,MN.CONTENT AS "content"
,DATE_FORMAT(MN.WRITE_DATE, '%Y-%m-%d') AS "writeDate"
FROM MU_APP_NOTICE AS MN
WHERE MN.USE_YN = 'Y'
AND MN.MU_APP_NOTICE_ID = #{muAppNoticeId}
LIMIT 0, 1
</select>
<insert id="insertAppNotice" parameterType="hashmap">
<selectKey resultType="string" keyProperty="id" order="BEFORE">
SELECT CONCAT(#{muAppNoticeId},LPAD((SELECT NEXTVAL(MU_APP_NOTICE_SEQ)), 11, 0))
</selectKey>
INSERT INTO MU_APP_NOTICE(
MU_APP_NOTICE_ID
,MU_MEMBER_ID
,TITLE
,CONTENT
,WRITE_DATE
,WRITE_TIME
,CUD_FLAG
,USE_YN
,REG_ID
,REG_DATE
,MOD_ID
,MOD_DATE
,T_ID
,T_DATE
)VALUES(
#{id}
,#{muMemberId}
,#{title}
,#{content}
,CURDATE()
,CURTIME()
,'C'
,'Y'
,#{regId}
,NOW()
,#{modId}
,NOW()
,#{tId}
,#{tDate}
)
</insert>
<update id="updateAppNotice" parameterType="hashmap">
UPDATE MU_APP_NOTICE
SET MOD_ID = #{modId}
,MOD_DATE = NOW()
,CUD_FLAG = 'U'
,TITLE = #{title}
,CONTENT = #{content}
WHERE USE_YN = 'Y'
AND MU_APP_NOTICE_ID = #{muAppNoticeId}
</update>
<update id="deleteAppNotice" parameterType="hashmap">
UPDATE MU_APP_NOTICE
SET MOD_ID = #{modId}
,MOD_DATE = NOW()
,CUD_FLAG = 'D'
,USE_YN = 'N'
WHERE USE_YN = 'Y'
AND MU_APP_NOTICE_ID = #{muAppNoticeId}
</update>
</mapper>

View File

@@ -0,0 +1,142 @@
<?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="WebAppUserInquiry">
<select id="selectTotalAppUserInquiryCount" parameterType="hashmap" resultType="hashmap">
SELECT COUNT(*) AS "totalCount"
FROM MU_USER_INQUIRY MUI
WHERE MUI.USE_YN = 'Y'
<if test="appUserInquirySearchStartDate != null and appUserInquirySearchStartDate != '' and appUserInquirySearchEndDate != null and appUserInquirySearchEndDate != ''">
AND DATE_FORMAT(MUI.WRITE_DATE, '%Y-%m-%d') &gt;= #{appUserInquirySearchStartDate}
AND DATE_FORMAT(MUI.WRITE_DATE, '%Y-%m-%d') &lt;= #{appUserInquirySearchEndDate}
</if>
<if test="appUserInquirySearchKeywordParam != null and appUserInquirySearchKeywordParam != ''">
AND ((MUI.TITLE LIKE CONCAT('%',TRIM(#{appUserInquirySearchKeywordParam}),'%'))
OR (MUI.CONTENT LIKE CONCAT('%',TRIM(#{appUserInquirySearchKeywordParam}),'%')))
</if>
</select>
<select id="selectListAppUserInquiry" parameterType="hashmap" resultType="hashmap">
SELECT MUI.*
FROM (
SELECT MUI.*
, CAST(@RNUM:=@RNUM + 1 AS CHAR) AS "rowNum"
FROM (
SELECT MUI.MU_USER_INQUIRY_ID AS "muAppUserInquiryId"
, MUI.MU_USER_ID AS "muUserId"
, MU.USER_NAME AS "userName"
, MUI.MEMBERSHIP_ACCOUNT AS "membershipAccount"
, MUI.PHONE_NUMBER AS "phoneNumber"
, MUI.TITLE AS "title"
, MUI.CONTENT AS "content"
, DATE_FORMAT(MUI.WRITE_DATE, '%Y-%m-%d') AS "writeDate"
, IF(MUI.ANSWER_STATUS='Y','답변완료','미답변') AS "answerStatus"
, CASE
WHEN MUI.ANSWER_STATUS='Y' THEN DATE_FORMAT(MUI.MOD_DATE, '%Y-%m-%d')
ELSE ''
END AS "answerDate"
, IFNULL((
SELECT MM.NAME
FROM MU_MEMBER AS MM
WHERE MM.USE_YN = 'Y'
AND MM.MU_MEMBER_ID = MUI.MU_MEMBER_ID
LIMIT 0, 1
),'') AS "memberName"
FROM MU_USER_INQUIRY MUI
JOIN MU_USER MU
ON MUI.MU_USER_ID = MU.MU_USER_ID
AND MU.USE_YN = 'Y'
WHERE MUI.USE_YN = 'Y'
<if test="appUserInquirySearchStartDate != null and appUserInquirySearchStartDate != '' and appUserInquirySearchEndDate != null and appUserInquirySearchEndDate != ''">
AND DATE_FORMAT(MUI.WRITE_DATE, '%Y-%m-%d') &gt;= #{appUserInquirySearchStartDate}
AND DATE_FORMAT(MUI.WRITE_DATE, '%Y-%m-%d') &lt;= #{appUserInquirySearchEndDate}
</if>
<if test="appUserInquirySearchKeywordParam != null and appUserInquirySearchKeywordParam != ''">
AND ((MUI.TITLE LIKE CONCAT('%',TRIM(#{appUserInquirySearchKeywordParam}),'%'))
OR (MUI.CONTENT LIKE CONCAT('%',TRIM(#{appUserInquirySearchKeywordParam}),'%')))
</if>
<choose>
<when test="appUserInquirySort != null and appUserInquirySort != ''">
ORDER BY ${appUserInquirySort}
</when>
<otherwise>
ORDER BY MUI.WRITE_DATE DESC
</otherwise>
</choose>
LIMIT 18446744073709551615
) MUI, (SELECT @RNUM:=0) R
WHERE 1 = 1
) MUI
WHERE 1 = 1
LIMIT ${appUserInquiryStart}, ${appUserInquiryLimit}
</select>
<select id="selectAppUserInquiry" parameterType="hashmap" resultType="hashmap">
SELECT MUI.MU_USER_INQUIRY_ID AS "muAppUserInquiryId"
, IFNULL((
SELECT USER_NAME
FROM MU_USER MU
WHERE MU.MU_USER_ID = MUI.MU_USER_ID)
, '') AS "userName"
, TITLE AS "title"
, CONTENT AS "content"
, ANSWER AS "answer"
FROM MU_USER_INQUIRY MUI
WHERE MUI.MU_USER_INQUIRY_ID = #{muAppUserInquiryId}
LIMIT 0, 1
</select>
<insert id="insertAppUserInquiry" parameterType="hashmap">
<selectKey resultType="string" keyProperty="id" order="BEFORE">
SELECT CONCAT(#{muAppUserInquiryId},LPAD((SELECT NEXTVAL(MU_USER_INQUIRY_SEQ)), 11, 0))
</selectKey>
INSERT INTO MU_USER_INQUIRY(
MU_USER_INQUIRY_ID
,MU_USER_ID
,MEMBERSHIP_ACCOUNT
,PHONE_NUMBER
,TITLE
,CONTENT
,ANSWER_STATUS
,WRITE_DATE
,WRITE_TIME
,USE_YN
,REG_ID
,REG_DATE
,MOD_ID
,MOD_DATE
,T_ID
,T_DATE
)VALUES(
#{id}
,#{muUserId}
,#{membershipAccount}
,#{phoneNumber}
,#{title}
,#{content}
,'N'
,CURDATE()
,CURTIME()
,'Y'
,#{regId}
,NOW()
,#{modId}
,NOW()
,#{tId}
,#{tDate}
)
</insert>
<update id="updateAppUserInquiry" parameterType="hashmap">
UPDATE MU_USER_INQUIRY
SET MOD_ID = #{modId}
, MOD_DATE = NOW()
, CUD_FLAG = 'U'
, ANSWER = #{answer}
, ANSWER_STATUS = 'Y'
, MU_MEMBER_ID = #{muMemberId}
WHERE USE_YN = 'Y'
AND MU_USER_INQUIRY_ID = #{muAppUserInquiryId}
</update>
</mapper>

View File

@@ -0,0 +1,98 @@
<?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="WebAppUser">
<select id="selectTotalAppUserCount" parameterType="hashmap" resultType="Integer">
SELECT COUNT(*) AS "totalCount"
FROM MU_USER MU
WHERE MU.USE_YN='Y'
AND MU.APP_USE_YN ='Y'
<if test="appIntroType != null and appIntroType != ''">
AND MU.APP_INTRO_TYPE = #{appIntroType}
</if>
<if test="appUserSearchKeywordParam != null and appUserSearchKeywordParam != ''">
AND (MU.USER_NAME LIKE CONCAT('%',TRIM(#{appUserSearchKeywordParam}),'%')
OR MU.PHONE_NUMBER LIKE CONCAT('%',TRIM(#{appUserSearchKeywordParam}),'%')
OR MU.MEMBERSHIP_ACCOUNT LIKE CONCAT('%',TRIM(#{appUserSearchKeywordParam}),'%'))
</if>
</select>
<select id="selectListAppUser" parameterType="hashmap" resultType="hashmap">
SELECT MU.MU_USER_ID AS muUserId
,MU.USER_NAME AS userName
,MU.MEMBERSHIP_ACCOUNT AS membershipAccount
,MU.PHONE_NUMBER AS phoneNumber
,IF(APP_INTRO_TYPE='C','신규 가입회원','기존 내원회원') AS appIntroType
,(SELECT CASE
WHEN MD.PHONE_TYPE='A' THEN 'Android'
WHEN MD.PHONE_TYPE='I' THEN 'iOS'
ELSE '기타'
END
FROM MU_DEVICE AS MD
WHERE MD.USE_YN='Y'
AND MD.MU_USER_ID=MU.MU_USER_ID
ORDER BY MD.REG_DATE DESC
LIMIT 0,1) AS phoneType
,DATE_FORMAT(APP_INTRO_DATE, '%Y-%m-%d') AS appIntroDate
,IFNULL((SELECT RESERVE_DATE
FROM MU_RESERVE MR
WHERE MU.MU_USER_ID = MR.MU_USER_ID
AND RESERVE_APP_YN='Y'
ORDER BY RESERVE_DATE DESC
LIMIT 0,1),'') AS reserveDate
FROM MU_USER MU
WHERE MU.USE_YN='Y'
AND MU.APP_USE_YN ='Y'
<if test="appIntroType != null and appIntroType != ''">
AND MU.APP_INTRO_TYPE = #{appIntroType}
</if>
<if test="appUserSearchKeywordParam != null and appUserSearchKeywordParam != ''">
AND (MU.USER_NAME LIKE CONCAT('%',TRIM(#{appUserSearchKeywordParam}),'%')
OR MU.PHONE_NUMBER LIKE CONCAT('%',TRIM(#{appUserSearchKeywordParam}),'%')
OR MU.MEMBERSHIP_ACCOUNT LIKE CONCAT('%',TRIM(#{appUserSearchKeywordParam}),'%'))
</if>
<choose>
<when test="appUserSort != null and appUserSort != ''">
ORDER BY ${appUserSort}
</when>
<otherwise>
ORDER BY MU.APP_INTRO_DATE DESC
</otherwise>
</choose>
LIMIT ${appUserStart}, ${appUserLimit}
</select>
<select id="selectListAppUserExcel" parameterType="hashmap" resultType="hashmap">
SELECT MU.MU_USER_ID AS muUserId
, MU.USER_NAME AS userName
, MEMBERSHIP_ACCOUNT AS membershipAccount
, MU.PHONE_NUMBER AS phoneNumber
, IF(APP_INTRO_TYPE='C','신규 가입회원','기존 내원회원') AS appIntroType
, CASE
WHEN PHONE_TYPE='A' THEN 'Android'
WHEN PHONE_TYPE='I' THEN 'iOS'
ELSE '기타'
END AS phoneType
, DATE_FORMAT(APP_INTRO_DATE, '%Y-%m-%d') AS appIntroDate
, IFNULL((SELECT RESERVE_DATE
FROM MU_RESERVE MR
WHERE MU.MU_USER_ID = MR.MU_USER_ID
AND RESERVE_APP_YN='Y'
ORDER BY RESERVE_DATE LIMIT 1),'') AS reserveDate
FROM MU_USER MU
JOIN MU_DEVICE MD
ON MU.MU_USER_ID = MD.MU_USER_ID
WHERE MU.USE_YN='Y'
AND MU.APP_USE_YN ='Y'
AND MD.USE_YN='Y'
<if test="appIntroType != null and appIntroType != ''">
AND MU.APP_INTRO_TYPE = #{appIntroType}
</if>
<if test="appUserSearchKeywordParam != null and appUserSearchKeywordParam != ''">
AND (MU.USER_NAME LIKE CONCAT('%',TRIM(#{appUserSearchKeywordParam}),'%')
OR MU.PHONE_NUMBER LIKE CONCAT('%',TRIM(#{appUserSearchKeywordParam}),'%')
OR MU.MEMBERSHIP_ACCOUNT LIKE CONCAT('%',TRIM(#{appUserSearchKeywordParam}),'%'))
</if>
</select>
</mapper>

View File

@@ -0,0 +1,513 @@
<?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="WebAttendance">
<select id="selectListAttendanceDate" parameterType="hashmap" resultType="hashmap">
WITH RECURSIVE T_TEMP_DATES AS (
SELECT DATE(CONCAT(#{attendanceSearchDate}, '-01')) AS RESULT_DATE
UNION ALL
SELECT DATE_ADD(RESULT_DATE, INTERVAL 1 DAY)
FROM T_TEMP_DATES
WHERE RESULT_DATE &lt; LAST_DAY(CONCAT(#{attendanceSearchDate}, '-01'))
)
SELECT
RESULT_DATE AS "resultDate",
MONTH(RESULT_DATE) AS "month",
DAY(RESULT_DATE) AS "day",
CASE DAYOFWEEK(RESULT_DATE)
WHEN 1 THEN '일'
WHEN 2 THEN '월'
WHEN 3 THEN '화'
WHEN 4 THEN '수'
WHEN 5 THEN '목'
WHEN 6 THEN '금'
WHEN 7 THEN '토'
END AS "dayOfWeek"
FROM T_TEMP_DATES
ORDER BY RESULT_DATE
</select>
<select id="selectListAttendanceMember" parameterType="hashmap" resultType="hashmap">
SELECT MA.MU_MEMBER_ID AS "muMemberId"
,MA.NAME AS "memberName"
,MA.LOGIN_ID AS "loginId"
,MA.MU_GROUP_ID AS "muGroupId"
,IFNULL((SELECT MG.GROUP_NAME
FROM MU_GROUP AS MG
WHERE MG.USE_YN = 'Y'
AND MG.MU_GROUP_ID = MA.MU_GROUP_ID
LIMIT 0, 1
),'') AS "groupName"
,MA.MU_DUTY_ID AS "muDutyId"
,IFNULL((SELECT MD.DUTY_NAME
FROM MU_DUTY AS MD
WHERE MD.USE_YN = 'Y'
AND MD.MU_DUTY_ID = MA.MU_DUTY_ID
LIMIT 0, 1
),'') AS "dutyName"
,MA.MEMBER_CODE AS "memberCode"
FROM (
SELECT DISTINCT MM.MU_MEMBER_ID
,MM.NAME
,MM.LOGIN_ID
,MM.MU_GROUP_ID
,MM.MU_DUTY_ID
,MM.MEMBER_CODE
FROM MU_MEMBER AS MM
LEFT JOIN MU_ATTENDANCE MA
ON MM.MU_MEMBER_ID = MA.MU_MEMBER_ID
AND MM.USE_YN = 'Y'
AND MA.USE_YN = 'Y'
AND MA.STATUS != 'D'
AND ((DATE_FORMAT(MA.START_DATE,'%Y-%m-%d') &lt;= #{attendanceSearchStartDate} AND DATE_FORMAT(MA.END_DATE,'%Y-%m-%d') >= #{attendanceSearchStartDate})
OR (DATE_FORMAT(MA.START_DATE,'%Y-%m-%d') &lt;= #{attendanceSearchEndDate} AND DATE_FORMAT(MA.END_DATE,'%Y-%m-%d') >= #{attendanceSearchEndDate})
OR (DATE_FORMAT(MA.START_DATE,'%Y-%m-%d') > #{attendanceSearchStartDate} AND DATE_FORMAT(MA.END_DATE,'%Y-%m-%d') &lt; #{attendanceSearchEndDate}))
WHERE MM.USE_YN = 'Y'
AND MM.STATUS = 'Y'
) AS MA
WHERE 1 = 1
<if test="attendanceSearchGroupId != null and attendanceSearchGroupId != ''">
AND MA.MU_GROUP_ID = #{attendanceSearchGroupId}
</if>
<if test="attendanceSearchKeywordParam != null and attendanceSearchKeywordParam != ''">
AND (MA.NAME LIKE CONCAT('%',TRIM(#{attendanceSearchKeywordParam}),'%'))
</if>
ORDER BY MA.MEMBER_CODE ASC
</select>
<select id="selectListAttendance" parameterType="hashmap" resultType="hashmap">
SELECT MAX(MU_ATTENDANCE_ID) AS "muAttendanceId"
,MA.MU_MEMBER_ID AS "muMemberId"
,'A' AS "attendanceType"
,#{searchDate} AS "searchDate"
,IFNULL(MAX(START_TIME),'-') AS "startTime"
,MAX(MU_ATTENDANCE_ID2) AS "muAttendanceId2"
,IFNULL(MAX(END_TIME),'-') AS "endTime"
,IFNULL(DATE_FORMAT(TIMEDIFF(MAX(END_TIME), MAX(START_TIME)), '%H시간%i분'),'-') AS "totalWorkHour"
,'' AS "muVacationId"
,'' AS "vacationName"
FROM (
<!-- 출근 -->
SELECT MA.MU_ATTENDANCE_ID AS MU_ATTENDANCE_ID
,MA.MU_MEMBER_ID AS MU_MEMBER_ID
,DATE_FORMAT(MA.ATTENDANCE_TIME, '%H:%i') AS START_TIME
,'' AS MU_ATTENDANCE_ID2
,NULL AS END_TIME
FROM MU_ATTENDANCE AS MA
WHERE MA.USE_YN = 'Y'
AND MA.STATUS != 'D'
AND MA.ATTENDANCE_TYPE = 'A'
AND MA.MU_MEMBER_ID = #{muMemberId}
AND DATE_FORMAT(MA.START_DATE,'%Y-%m-%d') &lt;= #{searchDate}
AND DATE_FORMAT(MA.END_DATE,'%Y-%m-%d') >= #{searchDate}
UNION
<!-- 퇴근 -->
SELECT '' AS MU_ATTENDANCE_ID
,MA.MU_MEMBER_ID AS MU_MEMBER_ID
,NULL AS START_TIME
,MA.MU_ATTENDANCE_ID AS MU_ATTENDANCE_ID2
,DATE_FORMAT(MA.ATTENDANCE_TIME, '%H:%i') AS END_TIME
FROM MU_ATTENDANCE AS MA
WHERE MA.USE_YN = 'Y'
AND MA.STATUS != 'D'
AND MA.ATTENDANCE_TYPE = 'B'
AND MA.MU_MEMBER_ID = #{muMemberId}
AND DATE_FORMAT(MA.START_DATE,'%Y-%m-%d') &lt;= #{searchDate}
AND DATE_FORMAT(MA.END_DATE,'%Y-%m-%d') >= #{searchDate}
) AS MA
GROUP BY MU_MEMBER_ID
UNION
<!-- 휴무 -->
SELECT MA.MU_ATTENDANCE_ID AS "muAttendanceId"
,MA.MU_MEMBER_ID AS "muMemberId"
,MA.ATTENDANCE_TYPE AS "attendanceType"
,#{searchDate} AS "searchDate"
,'' AS "startTime"
,'' AS "muAttendanceId2"
,'' AS "endTime"
,'' AS "totalWorkHour"
,'' AS "muVacationId"
,'' AS "vacationName"
FROM MU_ATTENDANCE AS MA
WHERE MA.USE_YN = 'Y'
AND MA.STATUS != 'D'
AND MA.ATTENDANCE_TYPE = 'C'
AND MA.MU_MEMBER_ID = #{muMemberId}
AND DATE_FORMAT(MA.START_DATE,'%Y-%m-%d') &lt;= #{searchDate}
AND DATE_FORMAT(MA.END_DATE,'%Y-%m-%d') >= #{searchDate}
UNION
<!-- 연차/반차 -->
SELECT MA.MU_ATTENDANCE_ID AS "muAttendanceId"
,MA.MU_MEMBER_ID AS "muMemberId"
,MA.ATTENDANCE_TYPE AS "attendanceType"
,#{searchDate} AS "searchDate"
,DATE_FORMAT(MA.START_TIME, '%H:%i') AS "startTime"
,'' AS "muAttendanceId2"
,DATE_FORMAT(MA.END_TIME, '%H:%i') AS "endTime"
,'' AS "totalWorkHour"
,MA.MU_VACATION_ID AS "muVacationId"
,IFNULL((SELECT MV.VACATION_NAME
FROM MU_VACATION AS MV
WHERE MV.USE_YN = 'Y'
AND MV.MU_VACATION_ID = MA.MU_VACATION_ID
LIMIT 0, 1
),'') AS "vacationName"
FROM MU_ATTENDANCE AS MA
WHERE MA.USE_YN = 'Y'
AND MA.STATUS != 'D'
AND MA.ATTENDANCE_TYPE IN ('D', 'E')
AND MA.MU_MEMBER_ID = #{muMemberId}
AND DATE_FORMAT(MA.START_DATE,'%Y-%m-%d') &lt;= #{searchDate}
AND DATE_FORMAT(MA.END_DATE,'%Y-%m-%d') >= #{searchDate}
</select>
<select id="selectAttendance" parameterType="hashmap" resultType="hashmap">
SELECT MA.MU_ATTENDANCE_ID AS "muAttendanceId"
,MA.MU_MEMBER_ID AS "muMemberId"
,IFNULL((SELECT MM.NAME
FROM MU_MEMBER AS MM
WHERE MM.USE_YN = 'Y'
AND MM.MU_MEMBER_ID = MA.MU_MEMBER_ID
LIMIT 0, 1
),'') AS "memberName"
,IFNULL((SELECT MM.LOGIN_ID
FROM MU_MEMBER AS MM
WHERE MM.USE_YN = 'Y'
AND MM.MU_MEMBER_ID = MA.MU_MEMBER_ID
LIMIT 0, 1
),'') AS "loginId"
,MA.MU_GROUP_ID AS "muGroupId"
,IFNULL((SELECT MG.GROUP_NAME
FROM MU_GROUP AS MG
WHERE MG.USE_YN = 'Y'
AND MG.MU_GROUP_ID = MA.MU_GROUP_ID
LIMIT 0, 1
),'') AS "groupName"
,MA.MU_DUTY_ID AS "muDutyId"
,IFNULL((SELECT MD.DUTY_NAME
FROM MU_DUTY AS MD
WHERE MD.USE_YN = 'Y'
AND MD.MU_DUTY_ID = MA.MU_DUTY_ID
LIMIT 0, 1
),'') AS "dutyName"
,DATE_FORMAT(MA.START_DATE, '%Y-%m-%d') AS "startDate"
,DATE_FORMAT(MA.END_DATE, '%Y-%m-%d') AS "endDate"
,ABS(DATEDIFF(MA.START_DATE, MA.END_DATE))+1 AS "days"
,MA.STATUS AS "status"
,CASE MA.STATUS
WHEN 'C' THEN '등록'
WHEN 'U' THEN '등록(수정)'
WHEN 'D' THEN '취소'
ELSE ''
END AS "statusKorName"
,IFNULL(MA.ETC, '') AS "etc"
,IFNULL(MA.CANCEL_ETC, '') AS "cancelEtc"
,DATE_FORMAT(MA.CANCEL_DATE, '%Y-%m-%d, %H:%i') AS "cancelDate"
,DATE_FORMAT(MA.WRITE_DATE, '%Y-%m-%d') AS "writeDate"
,DATE_FORMAT(MA.WRITE_TIME, '%H:%i') AS "writeTime"
,MA.WRITE_MEMBER_ID AS "writeMemberId"
,IFNULL((SELECT MM.NAME
FROM MU_MEMBER AS MM
WHERE MM.USE_YN = 'Y'
AND MM.MU_MEMBER_ID = MA.WRITE_MEMBER_ID
LIMIT 0, 1
),'') AS "writeMemberName"
,MA.CANCEL_MEMBER_ID AS "cancelMemberId"
,IFNULL((SELECT MM.NAME
FROM MU_MEMBER AS MM
WHERE MM.USE_YN = 'Y'
AND MM.MU_MEMBER_ID = MA.CANCEL_MEMBER_ID
LIMIT 0, 1
),'') AS "cancelMemberName"
FROM MU_ATTENDANCE AS MA
WHERE MA.USE_YN = 'Y'
AND MA.ATTENDANCE_TYPE = 'C'
AND MA.MU_ATTENDANCE_ID = #{muAttendanceId}
LIMIT 0, 1
</select>
<select id="selectAttendanceDate" parameterType="hashmap" resultType="hashmap">
SELECT COUNT(*) AS "totalCount"
FROM MU_ATTENDANCE AS MA
WHERE MA.USE_YN = 'Y'
AND MA.STATUS != 'D'
<choose>
<when test="attendanceType eq 'C'.toString()">
AND MA.ATTENDANCE_TYPE = 'E'
</when>
<when test="attendanceType eq 'E'.toString()">
AND MA.ATTENDANCE_TYPE != 'B'
AND MA.ATTENDANCE_TYPE != 'A'
</when>
<otherwise>
AND MA.ATTENDANCE_TYPE != 'E'
</otherwise>
</choose>
<if test="attendanceType eq 'A'.toString()">
AND MA.ATTENDANCE_TYPE != 'B'
</if>
<if test="attendanceType eq 'B'.toString()">
AND MA.ATTENDANCE_TYPE != 'A'
</if>
<if test="muAttendanceId != null and muAttendanceId != ''">
AND MU_ATTENDANCE_ID != #{muAttendanceId}
</if>
AND MA.MU_MEMBER_ID = #{muMemberId}
AND ((DATE_FORMAT(MA.START_DATE,'%Y-%m-%d') &lt;= #{startDate} AND DATE_FORMAT(MA.END_DATE,'%Y-%m-%d') &gt;= #{startDate})
OR (DATE_FORMAT(MA.START_DATE,'%Y-%m-%d') &lt;= #{endDate} AND DATE_FORMAT(MA.END_DATE,'%Y-%m-%d') &gt;= #{endDate})
OR (DATE_FORMAT(MA.START_DATE,'%Y-%m-%d') &gt; #{startDate} AND DATE_FORMAT(MA.END_DATE,'%Y-%m-%d') &lt; #{endDate}))
</select>
<select id="selectAttendanceCommute" parameterType="hashmap" resultType="hashmap">
SELECT MA.MU_MEMBER_ID AS "muMemberId"
,IFNULL((SELECT MM.NAME
FROM MU_MEMBER AS MM
WHERE MM.USE_YN = 'Y'
AND MM.MU_MEMBER_ID = MA.MU_MEMBER_ID
LIMIT 0, 1
),'') AS "memberName"
,IFNULL((SELECT MM.LOGIN_ID
FROM MU_MEMBER AS MM
WHERE MM.USE_YN = 'Y'
AND MM.MU_MEMBER_ID = MA.MU_MEMBER_ID
LIMIT 0, 1
),'') AS "loginId"
,MAX(MU_ATTENDANCE_ID) AS "muAttendanceId"
,MAX(START_TIME) AS "startTime"
,MAX(ETC) AS "etc"
,MAX(MU_ATTENDANCE_ID2) AS "muAttendanceId2"
,MAX(END_TIME) AS "endTime"
,MAX(ETC2) AS "etc2"
FROM (
SELECT MA.MU_MEMBER_ID AS MU_MEMBER_ID
,MA.MU_ATTENDANCE_ID AS MU_ATTENDANCE_ID
,DATE_FORMAT(MA.ATTENDANCE_TIME, '%H:%i') AS START_TIME
,MA.ETC AS ETC
,'' AS MU_ATTENDANCE_ID2
,NULL AS END_TIME
,'' AS ETC2
FROM MU_ATTENDANCE AS MA
WHERE MA.USE_YN = 'Y'
AND MA.STATUS != 'D'
AND MA.ATTENDANCE_TYPE = 'A'
AND MA.MU_ATTENDANCE_ID = #{muAttendanceId}
UNION
SELECT MA.MU_MEMBER_ID AS MU_MEMBER_ID
,'' AS MU_ATTENDANCE_ID
,NULL AS START_TIME
,'' AS ETC
,MA.MU_ATTENDANCE_ID AS MU_ATTENDANCE_ID2
,DATE_FORMAT(MA.ATTENDANCE_TIME, '%H:%i') AS END_TIME
,MA.ETC AS ETC2
FROM MU_ATTENDANCE AS MA
WHERE MA.USE_YN = 'Y'
AND MA.STATUS != 'D'
AND MA.ATTENDANCE_TYPE = 'B'
AND MA.MU_ATTENDANCE_ID = #{muAttendanceId2}
) AS MA
GROUP BY MU_MEMBER_ID
</select>
<select id="selectAttendanceVacation" parameterType="hashmap" resultType="hashmap">
SELECT MU_ATTENDANCE_ID AS "muAttendanceId"
,MU_MEMBER_ID AS "muMemberId"
,IFNULL((SELECT MM.NAME
FROM MU_MEMBER AS MM
WHERE MM.USE_YN = 'Y'
AND MM.MU_MEMBER_ID = MA.MU_MEMBER_ID
LIMIT 0, 1
),'') AS "memberName"
,IFNULL((SELECT MM.LOGIN_ID
FROM MU_MEMBER AS MM
WHERE MM.USE_YN = 'Y'
AND MM.MU_MEMBER_ID = MA.MU_MEMBER_ID
LIMIT 0, 1
),'') AS "loginId"
,ATTENDANCE_TYPE AS "attendanceType"
,MU_VACATION_ID AS "muVacationId"
,MU_VACATION_MANAGEMENT_ID AS "muVacationManagementId"
,DATE_FORMAT(START_DATE,'%Y-%m-%d') AS "startDate"
,DATE_FORMAT(END_DATE,'%Y-%m-%d') AS "endDate"
,STATUS AS "status"
,CASE
WHEN MA.ATTENDANCE_TYPE = 'E' THEN 0.5
ELSE ABS(DATEDIFF(START_DATE,END_DATE)) + 1
END AS "days"
,DATE_FORMAT(ATTENDANCE_TIME, '%H:%i') AS "attendanceTime"
,DATE_FORMAT(START_TIME, '%H:%i') AS "startTime"
,DATE_FORMAT(END_TIME, '%H:%i') AS "endTime"
,ETC AS "etc"
,CANCEL_ETC AS "cancelEtc"
FROM MU_ATTENDANCE AS MA
WHERE MA.USE_YN = 'Y'
AND MA.ATTENDANCE_TYPE IN ('D', 'E')
AND MA.MU_ATTENDANCE_ID = #{muAttendanceId}
</select>
<select id="selectListTodayAttendance" parameterType="hashmap" resultType="hashmap">
SELECT MU_GROUP_ID AS "muGroupId"
,GROUP_NAME AS "groupName"
,MEMBER_NAME AS "memberName"
FROM (
SELECT MA.MU_GROUP_ID
,IFNULL((SELECT MG.GROUP_NAME
FROM MU_GROUP AS MG
WHERE MG.MU_GROUP_ID = MA.MU_GROUP_ID
LIMIT 0, 1
),'') AS GROUP_NAME
,GROUP_CONCAT(DISTINCT MM.NAME) AS MEMBER_NAME
FROM MU_ATTENDANCE AS MA
INNER JOIN MU_MEMBER AS MM
ON MM.MU_MEMBER_ID = MA.MU_MEMBER_ID
AND MA.USE_YN = 'Y'
AND MM.USE_YN = 'Y'
AND MA.STATUS != 'D'
AND MA.ATTENDANCE_TYPE NOT IN ('C', 'D')
AND DATE_FORMAT(MA.START_DATE,'%Y-%m-%d') &lt;= #{searchDate}
AND DATE_FORMAT(MA.END_DATE,'%Y-%m-%d') >= #{searchDate}
GROUP BY MA.MU_GROUP_ID
) AS MA
WHERE 1=1
ORDER BY GROUP_NAME ASC
</select>
<insert id="insertAttendance" parameterType="hashmap">
<selectKey resultType="string" keyProperty="id" order="BEFORE">
SELECT CONCAT(#{muAttendanceId},LPAD((SELECT NEXTVAL(MU_ATTENDANCE_SEQ)), 11, 0))
</selectKey>
INSERT INTO MU_ATTENDANCE(
MU_ATTENDANCE_ID
,MU_MEMBER_ID
,MU_GROUP_ID
,MU_DUTY_ID
,MU_VACATION_ID
,MU_VACATION_MANAGEMENT_ID
,ATTENDANCE_TYPE
,START_DATE
,END_DATE
<if test="attendanceTime != null and attendanceTime != ''">
,ATTENDANCE_TIME
</if>
<if test="startTime != null and startTime != ''">
,START_TIME
</if>
<if test="endTime != null and endTime != ''">
,END_TIME
</if>
,ETC
,STATUS
,WRITE_MEMBER_ID
,WRITE_DATE
,WRITE_TIME
,CUD_FLAG
,USE_YN
,REG_ID
,REG_DATE
,MOD_ID
,MOD_DATE
,T_ID
,T_DATE
)VALUES(
#{id}
,#{muMemberId}
,#{muGroupId}
,#{muDutyId}
,#{muVacationId, jdbcType=VARCHAR}
,#{muVacationManagementId, jdbcType=VARCHAR}
,#{attendanceType}
,#{startDate}
,#{endDate}
<if test="attendanceTime != null and attendanceTime != ''">
,#{attendanceTime}
</if>
<if test="startTime != null and startTime != ''">
,#{startTime}
</if>
<if test="endTime != null and endTime != ''">
,#{endTime}
</if>
,#{etc, jdbcType=VARCHAR}
,'C'
,#{regId}
,CURDATE()
,CURTIME()
,'C'
,'Y'
,#{regId}
,NOW()
,#{modId}
,NOW()
,#{tId}
,#{tDate}
)
</insert>
<update id="updateAttendanceCommute" parameterType="hashmap">
UPDATE MU_ATTENDANCE
SET MOD_ID = #{modId}
,MOD_DATE = NOW()
,CUD_FLAG = 'U'
,STATUS = 'U'
,ATTENDANCE_TIME = #{attendanceTime}
,ETC = #{etc, jdbcType=VARCHAR}
WHERE USE_YN = 'Y'
AND MU_ATTENDANCE_ID = #{muAttendanceId}
</update>
<update id="updateAttendanceVacation" parameterType="hashmap">
UPDATE MU_ATTENDANCE
SET MOD_ID = #{modId}
,MOD_DATE = NOW()
,CUD_FLAG = 'U'
,STATUS = 'U'
,ATTENDANCE_TYPE = #{attendanceType}
,MU_VACATION_ID = #{muVacationId}
,MU_VACATION_MANAGEMENT_ID = #{muVacationManagementId}
,START_DATE = #{startDate}
,END_DATE = #{endDate}
<if test="startTime != null and startTime != ''">
,START_TIME = #{startTime}
</if>
<if test="endTime != null and endTime != ''">
,END_TIME = #{endTime}
</if>
,ETC = #{etc, jdbcType=VARCHAR}
WHERE USE_YN = 'Y'
AND MU_ATTENDANCE_ID = #{muAttendanceId}
</update>
<update id="updateAttendanceCancel" parameterType="hashmap">
UPDATE MU_ATTENDANCE
SET MOD_ID = #{modId}
,MOD_DATE = NOW()
,CUD_FLAG = 'U'
,STATUS = 'D'
,CANCEL_MEMBER_ID = #{modId}
,CANCEL_DATE = NOW()
,CANCEL_ETC = #{cancelEtc}
WHERE USE_YN = 'Y'
AND MU_ATTENDANCE_ID = #{muAttendanceId}
</update>
<update id="updateAttendanceCancelEtc" parameterType="hashmap">
UPDATE MU_ATTENDANCE
SET MOD_ID = #{modId}
,MOD_DATE = NOW()
,CUD_FLAG = 'U'
,CANCEL_ETC = #{cancelEtc}
WHERE USE_YN = 'Y'
AND MU_ATTENDANCE_ID = #{muAttendanceId}
</update>
<update id="deleteAttendance" parameterType="hashmap">
UPDATE MU_ATTENDANCE
SET MOD_ID = #{modId}
,MOD_DATE = NOW()
,CUD_FLAG = 'D'
,USE_YN = 'N'
WHERE USE_YN = 'Y'
AND MU_ATTENDANCE_ID = #{muAttendanceId}
</update>
</mapper>

View File

@@ -0,0 +1,114 @@
<?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="WebAuthMenuRelation">
<select id="selectAuthMenuRelation" parameterType="hashMap" resultType="hashMap">
SELECT MAMR.MU_AUTH_MENU_RELATION_ID AS "muAuthMenuRelationId"
,MM.MU_MENU_ID AS "muMenuId"
,MA.MU_AUTH_ID AS "muAuthId"
,MAMR.SELECT_USE_YN AS "selectUseYn"
,MAMR.INSERT_USE_YN AS "insertUseYn"
,MAMR.UPDATE_USE_YN AS "updateUseYn"
,MAMR.DELETE_USE_YN AS "deleteUseYn"
,MAMR.DOWNLOAD_USE_YN AS "downloadUseYn"
FROM MU_AUTH_MENU_RELATION AS MAMR
INNER JOIN MU_MENU AS MM
ON MM.MU_MENU_ID = MAMR.MU_MENU_ID
INNER JOIN MU_AUTH AS MA
ON MA.MU_AUTH_ID = MAMR.MU_AUTH_ID
AND MAMR.USE_YN = 'Y'
AND MM.USE_YN = 'Y'
AND MA.USE_YN = 'Y'
AND MM.MENU_CODE = #{menuClass}
AND MA.MU_AUTH_ID = #{muAuthId}
LIMIT 0, 1
</select>
<select id="selectListAuthMenuRelation" parameterType="hashmap" resultType="hashmap">
SELECT MM.MU_MENU_ID AS "muMenuId"
,MM.MENU_CODE AS "menuCode"
,MM.MENU_NAME AS "menuName"
,MAMR.MU_AUTH_MENU_RELATION_ID AS "muAuthMenuRelationId"
,MAMR.MU_AUTH_ID AS "muAuthId"
,MAMR.SELECT_USE_YN AS "selectUseYn"
,MAMR.INSERT_USE_YN AS "insertUseYn"
,MAMR.UPDATE_USE_YN AS "updateUseYn"
,MAMR.DELETE_USE_YN AS "deleteUseYn"
,MAMR.DOWNLOAD_USE_YN AS "downloadUseYn"
,(SELECT COUNT(*)
FROM MU_MENU AS MM2
WHERE MM2.USE_YN = 'Y'
AND LENGTH(MM2.MENU_CODE) > 4
AND LEFT(MM2.MENU_CODE, 2) = MM.MENU_CODE
) AS "subMenuCount"
FROM MU_MENU AS MM
LEFT JOIN MU_AUTH_MENU_RELATION AS MAMR
ON MM.MU_MENU_ID = MAMR.MU_MENU_ID
AND MAMR.USE_YN = 'Y'
AND MAMR.MU_AUTH_ID = #{muAuthId}
WHERE MM.USE_YN = 'Y'
AND LENGTH(MM.MENU_CODE) != 4
AND (SELECT COUNT(*)
FROM MU_MENU AS MM2
WHERE MM2.USE_YN = 'Y'
AND LENGTH(MM2.MENU_CODE) > 8
AND LEFT(MM2.MENU_CODE, 8) = MM.MENU_CODE
) &lt; 1
ORDER BY MM.MENU_CODE ASC
</select>
<insert id="insertAuthMenuRelation" parameterType="hashmap">
<selectKey resultType="string" keyProperty="id" order="BEFORE">
SELECT CONCAT(#{muAuthMenuRelationId},LPAD((SELECT NEXTVAL(MU_AUTH_MENU_RELATION_SEQ)), 9, 0))
</selectKey>
INSERT INTO MU_AUTH_MENU_RELATION(
MU_AUTH_MENU_RELATION_ID
,MU_AUTH_ID
,MU_MENU_ID
,SELECT_USE_YN
,INSERT_USE_YN
,UPDATE_USE_YN
,DELETE_USE_YN
,DOWNLOAD_USE_YN
,WRITE_DATE
,WRITE_TIME
,CUD_FLAG
,USE_YN
,REG_ID
,REG_DATE
,MOD_ID
,MOD_DATE
,T_ID
,T_DATE
)VALUES(
#{id}
,#{muAuthId}
,#{muMenuId}
,#{selectUseYn}
,#{insertUseYn}
,#{updateUseYn}
,#{deleteUseYn}
,#{downloadUseYn}
,CURDATE()
,CURTIME()
,'C'
,'Y'
,#{regId}
,NOW()
,#{modId}
,NOW()
,#{tId}
,#{tDate}
)
</insert>
<update id="deleteAuthMenuRelation" parameterType="hashmap">
UPDATE MU_AUTH_MENU_RELATION
SET MOD_ID = #{modId}
,MOD_DATE = NOW()
,CUD_FLAG = 'D'
,USE_YN = 'N'
WHERE USE_YN = 'Y'
AND MU_AUTH_ID = #{muAuthId}
</update>
</mapper>

View File

@@ -0,0 +1,102 @@
<?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="WebAuth">
<select id="selectListAuthOption" parameterType="hashMap" resultType="hashMap">
SELECT MA.MU_AUTH_ID AS "muAuthId"
,MA.AUTH_NAME AS "authName"
FROM MU_AUTH AS MA
WHERE MA.USE_YN = 'Y'
ORDER BY MA.AUTH_NAME ASC
</select>
<select id="selectTotalAuthCount" parameterType="hashmap" resultType="hashmap">
SELECT COUNT(*) AS "totalCount"
FROM MU_AUTH AS MA
WHERE MA.USE_YN = 'Y'
</select>
<select id="selectListAuth" parameterType="hashmap" resultType="hashmap">
SELECT MA.*
FROM (
SELECT MA.*
,CAST(@RNUM:=@RNUM + 1 AS CHAR) AS "rowNum"
FROM (
SELECT MA.MU_AUTH_ID AS "muAuthId"
,MA.AUTH_NAME AS "authName"
,DATE_FORMAT(MA.WRITE_DATE, '%Y-%m-%d') AS "writeDate"
FROM MU_AUTH AS MA
WHERE MA.USE_YN = 'Y'
ORDER BY MA.ORDER_NUMBER ASC
LIMIT 18446744073709551615
) MA, (SELECT @RNUM:=0) R
WHERE 1 = 1
) MA
WHERE 1 = 1
</select>
<select id="selectAuth" parameterType="hashmap" resultType="hashmap">
SELECT MA.MU_AUTH_ID AS "muAuthId"
,MA.AUTH_NAME AS "authName"
,MA.ORDER_NUMBER AS "orderNumber"
,DATE_FORMAT(MA.WRITE_DATE, '%Y-%m-%d') AS "writeDate"
FROM MU_AUTH AS MA
WHERE MA.USE_YN = 'Y'
AND MA.MU_AUTH_ID = #{muAuthId}
LIMIT 0, 1
</select>
<update id="updateAuth" parameterType="hashmap">
UPDATE MU_AUTH
SET MOD_ID = #{modId}
,MOD_DATE = NOW()
,CUD_FLAG = 'U'
,ORDER_NUMBER = #{orderNumber}
,AUTH_NAME = #{authName}
WHERE USE_YN = 'Y'
AND MU_AUTH_ID = #{muAuthId}
</update>
<insert id="insertAuth" parameterType="hashmap">
<selectKey resultType="string" keyProperty="id" order="BEFORE">
SELECT CONCAT(#{muAuthId},LPAD((SELECT NEXTVAL(MU_AUTH_SEQ)), 11, 0))
</selectKey>
INSERT INTO MU_AUTH(
MU_AUTH_ID
,ORDER_NUMBER
,AUTH_NAME
,WRITE_DATE
,WRITE_TIME
,CUD_FLAG
,USE_YN
,REG_ID
,REG_DATE
,MOD_ID
,MOD_DATE
,T_ID
,T_DATE
)VALUES(
#{id}
,#{orderNumber}
,#{authName}
,CURDATE()
,CURTIME()
,'C'
,'Y'
,#{regId}
,NOW()
,#{modId}
,NOW()
,#{tId}
,#{tDate}
)
</insert>
<update id="deleteAuth" parameterType="hashmap">
UPDATE MU_AUTH
SET MOD_ID = #{modId}
,MOD_DATE = NOW()
,CUD_FLAG = 'D'
,USE_YN = 'N'
WHERE USE_YN = 'Y'
AND MU_AUTH_ID = #{muAuthId}
</update>
</mapper>

View File

@@ -0,0 +1,208 @@
<?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="WebCategory">
<select id="selectCategoryItemList" parameterType="hashmap" resultType="hashmap">
SELECT
MCI.MU_CATEGORY_ITEM_ID AS "muCategoryItemId"
,MCI.CATEGORY_CODE AS "categoryCode"
,MC.CATEGORY_NAME AS "categoryName"
,MCI.CATEGORY_ITEM_CODE AS "categoryItemCode"
,MCI.CATEGORY_ITEM_NAME AS "categoryItemName"
,MCI.FILE_PATH AS "filePath"
,MCI.FILE_NAME AS "fileName"
,MCI.ORIGINAL_FILE_NAME AS "originalFileName"
,MCI.ETC AS "etc"
,MCI.ORDER_NUMBER AS "orderNumber"
FROM
MU_CATEGORY MC,MU_CATEGORY_ITEM MCI
WHERE MC.CATEGORY_CODE=MCI.CATEGORY_CODE
AND MCI.USE_YN = 'Y'
<choose>
<when test="categorySort != null and categorySort != ''">
ORDER BY #{categorySort}
</when>
<otherwise>
order by ORDER_NUMBER
</otherwise>
</choose>
</select>
<select id="selectCategoryItem" parameterType="hashmap" resultType="hashmap">
SELECT
MCI.CATEGORY_CODE AS "categoryCode"
,MC.CATEGORY_NAME AS "categoryName"
,MCI.CATEGORY_ITEM_CODE AS "categoryItemCode"
,MCI.CATEGORY_ITEM_NAME AS "categoryItemName"
,MCI.FILE_PATH AS "filePath"
,MCI.FILE_NAME AS "fileName"
,MCI.ORIGINAL_FILE_NAME AS "originalFileName"
,MCI.ETC AS "etc"
,MCI.ORDER_NUMBER AS "orderNumber"
FROM
MU_CATEGORY MC,MU_CATEGORY_ITEM MCI
WHERE MC.CATEGORY_CODE = MCI.CATEGORY_CODE
AND MCI.USE_YN = 'Y'
AND MC.USE_YN = 'Y'
AND MC.CATEGORY_CODE = #{categoryCode}
ORDER BY ORDER_NUMBER
</select>
<select id="selectCategoryList" parameterType="hashmap" resultType="hashmap">
SELECT
CATEGORY_CODE AS "categoryCode"
,CATEGORY_NAME AS "categoryName"
FROM MU_CATEGORY
WHERE USE_YN = 'Y'
GROUP BY CATEGORY_CODE
ORDER BY CATEGORY_CODE ASC
</select>
<update id="deleteHospitalOther" parameterType="HashMap">
UPDATE MU_CATEGORY_ITEM
SET USE_YN = 'N'
,MOD_ID = #{modId}
,MOD_DATE = NOW()
,T_ID =#{tId}
,T_DATE =#{tDate}
WHERE CATEGORY_ITEM_CODE = #{categoryItemCode}
AND CATEGORY_CODE = #{categoryCode}
</update>
<select id="selectCategoryId" parameterType="HashMap" resultType="String">
SELECT MU_CATEGORY_ID
FROM MU_CATEGORY_ITEM
WHERE CATEGORY_ITEM_CODE = #{categoryItemCode}
AND CATEGORY_CODE = #{muCategoryCode}
AND USE_YN = 'Y'
</select>
<select id="selectCategoryItemId" parameterType="hashmap" resultType="hashmap">
SELECT MCI.MU_CATEGORY_ITEM_ID AS "muCategoryItemId"
,MCI.CATEGORY_ITEM_CODE AS "categoryItemCode"
,MCI.CATEGORY_ITEM_NAME AS "categoryItemName"
FROM MU_CATEGORY AS MC
INNER JOIN MU_CATEGORY_ITEM AS MCI
ON MC.MU_CATEGORY_ID = MCI.MU_CATEGORY_ID
AND MC.USE_YN = 'Y'
AND MCI.USE_YN = 'Y'
AND MCI.CATEGORY_ITEM_CODE = #{categoryItemCode}
LIMIT 0, 1
</select>
<insert id="insertHospitalOther" parameterType="hashmap">
<selectKey resultType="HashMap" keyProperty="categoryKey" order="BEFORE">
SELECT
(SELECT MU_CATEGORY_ID
FROM MU_CATEGORY
WHERE CATEGORY_CODE = #{categoryCode}) AS muCategoryId,
(SELECT CONCAT('C', DATE_FORMAT(NOW(), '%Y%m%d'), LPAD(IFNULL(count(1)+1, 1), 4, '0'))
FROM MU_CATEGORY_ITEM
WHERE CATEGORY_CODE = #{categoryCode}) AS categoryItemCode
</selectKey>
INSERT INTO MU_CATEGORY_ITEM (
MU_CATEGORY_ITEM_ID
,MU_CATEGORY_ID
,CATEGORY_CODE
,CATEGORY_ITEM_CODE
,CATEGORY_ITEM_NAME
,ORDER_NUMBER
<if test="filePath != null and filePath != ''">
,FILE_PATH
</if>
<if test="fileName != null and fileName != ''">
,FILE_NAME
</if>
<if test="originalFileName != null and originalFileName != ''">
,ORIGINAL_FILE_NAME
</if>
<if test="etc != null and etc != ''">
,ETC
</if>
,USE_YN
,REG_ID
,REG_DATE
,MOD_ID
,MOD_DATE
,T_ID
,T_DATE
)
VALUES(
CONCAT(#{id},LPAD((SELECT NEXTVAL(MU_CATEGORY_SEQ)), 9, 0))
,#{categoryKey.muCategoryId}
,#{categoryCode}
,#{categoryKey.categoryItemCode}
,#{categoryItemName}
,#{orderNumber}
<if test="filePath != null and filePath != ''">
,#{filePath}
</if>
<if test="fileName != null and fileName != ''">
,#{fileName}
</if>
<if test="originalFileName != null and originalFileName != ''">
,#{originalFileName}
</if>
<if test="etc != null and etc != ''">
,#{etc}
</if>
,'Y'
,#{regId}
,NOW()
,#{modId}
,NOW()
,#{tId}
,#{tDate}
)
</insert>
<update id="updateHospitalOther" parameterType="hashmap">
<selectKey resultType="String" keyProperty="muCategoryId" order="BEFORE">
SELECT MU_CATEGORY_ID
FROM MU_CATEGORY
WHERE CATEGORY_CODE = #{categoryCode}
</selectKey>
UPDATE MU_CATEGORY_ITEM
SET
MU_CATEGORY_ID = #{muCategoryId}
,CATEGORY_CODE =#{categoryCode}
,CATEGORY_ITEM_NAME =#{categoryItemName}
,ORDER_NUMBER =#{orderNumber}
<if test="filePath != null and filePath != ''">
,FILE_PATH =#{filePath}
</if>
<if test="fileName != null and fileName != ''">
,FILE_NAME =#{fileName}
</if>
<if test="originalFileName != null and originalFileName != ''">
,ORIGINAL_FILE_NAME =#{originalFileName}
</if>
<if test="etc != null and etc != ''">
,ETC =#{etc}
</if>
,CUD_FLAG = 'U'
,USE_YN = 'Y'
,MOD_ID =#{modId}
,MOD_DATE = NOW()
,T_ID =#{tId}
,T_DATE =#{tDate}
WHERE CATEGORY_ITEM_CODE = #{categoryItemCode}
AND CATEGORY_CODE = #{existingCategoryCode}
</update>
<update id="updateCategoryItemOrderNumber" parameterType="hashmap">
UPDATE MU_CATEGORY_ITEM AS MM
SET ORDER_NUMBER = (SELECT NUM.NEW_ORDER_NUMBER AS newOrderNumber
FROM (
SELECT MM2.MU_CATEGORY_ITEM_ID AS MU_CATEGORY_ITEM_ID
,ROW_NUMBER() OVER (ORDER BY MM2.USE_YN DESC
,MM2.ORDER_NUMBER ASC
,MM2.MOD_DATE DESC) AS NEW_ORDER_NUMBER
FROM MU_CATEGORY_ITEM AS MM2
WHERE MM2.USE_YN = 'Y'
AND MM2.CATEGORY_CODE = #{categoryCode}
) AS NUM
WHERE MM.MU_CATEGORY_ITEM_ID = NUM.MU_CATEGORY_ITEM_ID)
WHERE MM.USE_YN = 'Y'
AND MM.CATEGORY_CODE = #{categoryCode}
</update>
</mapper>

View File

@@ -0,0 +1,122 @@
<?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="WebCompanyProduct">
<select id="selectListCompanyProduct" parameterType="hashmap" resultType="hashmap">
SELECT MP.MU_PRODUCT_ID AS "muProductId"
,MP.PRODUCT_NAME AS "productName"
,MP.MU_TREATMENT_ID AS "muTreatmentId"
,IFNULL((SELECT MCI.CATEGORY_ITEM_NAME
FROM MU_CATEGORY_ITEM AS MCI
WHERE MCI.USE_YN = 'Y'
AND MCI.MU_CATEGORY_ITEM_ID = MP.MU_TREATMENT_ID
LIMIT 0, 1
),'') AS "treatmentName"
,MP.VOLUME AS "volume"
,MP.UNIT_CODE AS "unitCode"
,MP.UNIT_NAME AS "unitName"
,DATE_FORMAT(MP.WRITE_DATE, '%Y-%m-%d') AS "writeDate"
,MP.USAGE_VOLUME AS "usage_volume"
,MP.USAGE_UNIT_CODE AS "usage_unitCode"
,MP.USAGE_UNIT_CODE AS "usage_unitName"
FROM MU_PRODUCT AS MP
INNER JOIN MU_COMPANY_PRODUCT AS MCP
ON MP.MU_PRODUCT_ID = MCP.MU_PRODUCT_ID
AND MP.USE_YN = 'Y'
AND MCP.USE_YN = 'Y'
AND MCP.MU_COMPANY_ID = #{muCompanyId}
ORDER BY MCP.ORDER_NUMBER ASC
</select>
<select id="selectCompanyProduct" parameterType="hashmap" resultType="hashmap">
SELECT MP.MU_PRODUCT_ID AS "muProductId"
,MP.PRODUCT_CODE AS "productCode"
,MP.PRODUCT_NAME AS "productName"
,MP.VOLUME AS "volume"
,MP.UNIT_CODE AS "unitCode"
,MP.UNIT_NAME AS "unitName"
,MP.MU_TREATMENT_ID AS "muTreatmentId"
,MP.USAGE_VOLUME AS "usage_volume"
,MP.USAGE_UNIT_CODE AS "usage_unitCode"
,MP.USAGE_UNIT_CODE AS "usage_unitName"
,IFNULL((SELECT MCI.CATEGORY_ITEM_NAME
FROM MU_CATEGORY_ITEM AS MCI
WHERE MCI.USE_YN = 'Y'
AND MCI.MU_CATEGORY_ITEM_ID = MP.MU_TREATMENT_ID
LIMIT 0, 1
),'') AS "treatmentName"
,MC.MU_COMPANY_ID AS "muCompanyId"
,MC.COMPANY_NAME AS "companyName"
,MC.BUSINESS_NUMBER AS "businessNumber"
,MC.USER_NAME AS "userName"
,MC.PHONE_NUMBER AS "phoneNumber"
,MC.EMAIL AS "email"
,IFNULL((SELECT MM.NAME
FROM MU_MEMBER AS MM
WHERE MM.USE_YN = 'Y'
AND MM.MU_MEMBER_ID = #{loginMemberId}
LIMIT 0, 1
),'') AS "memberName"
FROM MU_PRODUCT AS MP
INNER JOIN MU_COMPANY_PRODUCT AS MCP
ON MP.MU_PRODUCT_ID = MCP.MU_PRODUCT_ID
INNER JOIN MU_COMPANY AS MC
ON MC.MU_COMPANY_ID = MCP.MU_COMPANY_ID
AND MP.USE_YN = 'Y'
AND MC.USE_YN = 'Y'
AND MP.MU_TREATMENT_ID = #{muTreatmentId}
AND MP.MU_PRODUCT_ID = #{muProductId}
AND MC.MU_COMPANY_ID = #{muCompanyId}
LIMIT 0, 1
</select>
<insert id="insertCompanyProduct" parameterType="hashmap">
<selectKey resultType="string" keyProperty="id" order="BEFORE">
SELECT CONCAT(#{muCompanyProductId},LPAD((SELECT NEXTVAL(MU_COMPANY_PRODUCT_SEQ)), 10, 0))
</selectKey>
INSERT INTO MU_COMPANY_PRODUCT(
MU_COMPANY_PRODUCT_ID
,MU_COMPANY_ID
,MU_PRODUCT_ID
,ORDER_NUMBER
,WRITE_DATE
,WRITE_TIME
,CUD_FLAG
,USE_YN
,REG_ID
,REG_DATE
,MOD_ID
,MOD_DATE
,T_ID
,T_DATE
)VALUES(
#{id}
,#{muCompanyId}
,#{muProductId}
,#{orderNumber}
,CURDATE()
,CURTIME()
,'C'
,'Y'
,#{regId}
,NOW()
,#{modId}
,NOW()
,#{tId}
,#{tDate}
)
</insert>
<update id="deleteCompanyProduct" parameterType="hashmap">
UPDATE MU_COMPANY_PRODUCT
SET MOD_ID = #{modId}
,MOD_DATE = NOW()
,CUD_FLAG = 'D'
,USE_YN = 'N'
WHERE USE_YN = 'Y'
<if test="selectId != null and selectId != ''">
AND MU_PRODUCT_ID NOT IN (${selectId})
</if>
AND MU_COMPANY_ID = #{muCompanyId}
</update>
</mapper>

View File

@@ -0,0 +1,150 @@
<?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="WebCompany">
<select id="selectListCompanyOption" parameterType="hashMap" resultType="hashMap">
SELECT MC.MU_COMPANY_ID AS "muCompanyId"
,MC.COMPANY_NAME AS "companyName"
FROM MU_COMPANY AS MC
WHERE MC.USE_YN = 'Y'
ORDER BY MC.COMPANY_NAME ASC
</select>
<select id="selectTotalCompanyCount" parameterType="hashmap" resultType="hashmap">
SELECT COUNT(*) AS "totalCount"
FROM MU_COMPANY AS MC
WHERE MC.USE_YN = 'Y'
<if test="companySearchKeywordParam != null and companySearchKeywordParam != ''">
AND ((MC.COMPANY_NAME LIKE CONCAT('%',TRIM(#{companySearchKeywordParam}),'%'))
OR (MC.USER_NAME LIKE CONCAT('%',TRIM(#{companySearchKeywordParam}),'%')))
</if>
</select>
<select id="selectListCompany" parameterType="hashmap" resultType="hashmap">
SELECT MC.*
FROM (
SELECT MC.*
,CAST(@RNUM:=@RNUM + 1 AS CHAR) AS "rowNum"
FROM (
SELECT MC.MU_COMPANY_ID AS "muCompanyId"
,MC.COMPANY_NAME AS "companyName"
,MC.BUSINESS_NUMBER AS "businessNumber"
,MC.USER_NAME AS "userName"
,MC.PHONE_NUMBER AS "phoneNumber"
,MC.EMAIL AS "email"
,MC.MEMO AS "memo"
,IFNULL((SELECT GROUP_CONCAT(MP.PRODUCT_NAME)
FROM MU_PRODUCT AS MP
INNER JOIN MU_COMPANY_PRODUCT AS MCP
ON MP.MU_PRODUCT_ID = MCP.MU_PRODUCT_ID
AND MP.USE_YN = 'Y'
AND MCP.USE_YN = 'Y'
WHERE MCP.MU_COMPANY_ID = MC.MU_COMPANY_ID
ORDER BY MCP.ORDER_NUMBER ASC
),'') AS "productName"
,DATE_FORMAT(MC.WRITE_DATE, '%Y-%m-%d') AS "writeDate"
FROM MU_COMPANY AS MC
WHERE MC.USE_YN = 'Y'
<if test="companySearchKeywordParam != null and companySearchKeywordParam != ''">
AND ((MC.COMPANY_NAME LIKE CONCAT('%',TRIM(#{companySearchKeywordParam}),'%'))
OR (MC.USER_NAME LIKE CONCAT('%',TRIM(#{companySearchKeywordParam}),'%')))
</if>
<choose>
<when test="companySort != null and companySort != ''">
ORDER BY ${companySort}
</when>
<otherwise>
ORDER BY MC.WRITE_DATE DESC
</otherwise>
</choose>
LIMIT 18446744073709551615
) MC, (SELECT @RNUM:=0) R
WHERE 1 = 1
) MC
WHERE 1 = 1
LIMIT ${companyStart}, ${companyLimit}
</select>
<select id="selectCompany" parameterType="hashmap" resultType="hashmap">
SELECT MC.MU_COMPANY_ID AS "muCompanyId"
,MC.COMPANY_NAME AS "companyName"
,MC.BUSINESS_NUMBER AS "businessNumber"
,MC.USER_NAME AS "userName"
,MC.PHONE_NUMBER AS "phoneNumber"
,MC.EMAIL AS "email"
,MC.MEMO AS "memo"
,DATE_FORMAT(MC.WRITE_DATE, '%Y-%m-%d') AS "writeDate"
FROM MU_COMPANY AS MC
WHERE MC.USE_YN = 'Y'
AND MC.MU_COMPANY_ID = #{muCompanyId}
LIMIT 0, 1
</select>
<insert id="insertCompany" parameterType="hashmap">
<selectKey resultType="string" keyProperty="id" order="BEFORE">
SELECT CONCAT(#{muCompanyId},LPAD((SELECT NEXTVAL(MU_COMPANY_SEQ)), 11, 0))
</selectKey>
INSERT INTO MU_COMPANY(
MU_COMPANY_ID
,COMPANY_NAME
,BUSINESS_NUMBER
,USER_NAME
,PHONE_NUMBER
,EMAIL
,MEMO
,WRITE_DATE
,WRITE_TIME
,CUD_FLAG
,USE_YN
,REG_ID
,REG_DATE
,MOD_ID
,MOD_DATE
,T_ID
,T_DATE
)VALUES(
#{id}
,#{companyName}
,#{businessNumber}
,#{userName}
,#{phoneNumber}
,#{email}
,#{memo,jdbcType=VARCHAR}
,CURDATE()
,CURTIME()
,'C'
,'Y'
,#{regId}
,NOW()
,#{modId}
,NOW()
,#{tId}
,#{tDate}
)
</insert>
<update id="updateCompany" parameterType="hashmap">
UPDATE MU_COMPANY
SET MOD_ID = #{modId}
,MOD_DATE = NOW()
,CUD_FLAG = 'U'
,COMPANY_NAME = #{companyName}
,BUSINESS_NUMBER = #{businessNumber}
,USER_NAME = #{userName}
,PHONE_NUMBER = #{phoneNumber}
,EMAIL = #{email}
,MEMO = #{memo,jdbcType=VARCHAR}
WHERE USE_YN = 'Y'
AND MU_COMPANY_ID = #{muCompanyId}
</update>
<update id="deleteCompany" parameterType="hashmap">
UPDATE MU_COMPANY
SET MOD_ID = #{modId}
,MOD_DATE = NOW()
,CUD_FLAG = 'D'
,USE_YN = 'N'
WHERE USE_YN = 'Y'
AND MU_COMPANY_ID = #{muCompanyId}
</update>
</mapper>

View File

@@ -0,0 +1,38 @@
<?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="WebDevice">
<select id="selectListDevice" parameterType="hashmap" resultType="hashmap">
SELECT MD.MU_DEVICE_ID AS "muDeviceId"
,MD.PHONE_TYPE AS "phoneType"
,MD.DEVICE_UUID AS "deviceUuid"
,MD.PUSH_KEY AS "pushKey"
,MU.MU_USER_ID AS "muUserId"
,MU.USER_NAME AS "userName"
FROM MU_DEVICE AS MD
INNER JOIN MU_USER AS MU
ON MD.MU_USER_ID = MU.MU_USER_ID
AND MD.USE_YN = 'Y'
AND MU.USE_YN = 'Y'
AND MD.MU_USER_ID IN (${muUserIdList})
AND MD.MARKETING_PUSH_YN = 'Y'
AND MD.STATUS = 'Y'
</select>
<select id="selectListDevice2" parameterType="hashmap" resultType="hashmap">
SELECT MD.MU_DEVICE_ID AS "muDeviceId"
,MD.PHONE_TYPE AS "phoneType"
,MD.DEVICE_UUID AS "deviceUuid"
,MD.PUSH_KEY AS "pushKey"
,MU.MU_USER_ID AS "muUserId"
,MU.USER_NAME AS "userName"
FROM MU_DEVICE AS MD
INNER JOIN MU_USER AS MU
ON MD.MU_USER_ID = MU.MU_USER_ID
AND MD.USE_YN = 'Y'
AND MU.USE_YN = 'Y'
AND MD.MU_USER_ID = #{muUserId}
AND MD.AUTO_PUSH_YN = 'Y'
AND MD.STATUS = 'Y'
</select>
</mapper>

View File

@@ -0,0 +1,99 @@
<?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="WebDuty">
<select id="selectListDutyOption" parameterType="hashMap" resultType="hashMap">
SELECT MD.MU_DUTY_ID AS "muDutyId"
,MD.DUTY_NAME AS "dutyName"
FROM MU_DUTY AS MD
WHERE MD.USE_YN = 'Y'
ORDER BY MD.DUTY_NAME ASC
</select>
<select id="selectTotalDutyCount" parameterType="hashmap" resultType="hashmap">
SELECT COUNT(*) AS "totalCount"
FROM MU_DUTY AS MD
WHERE MD.USE_YN = 'Y'
</select>
<select id="selectListDuty" parameterType="hashmap" resultType="hashmap">
SELECT MD.MU_DUTY_ID AS "muDutyId"
,MD.ORDER_NUMBER AS "orderNumber"
,MD.DUTY_NAME AS "dutyName"
,IFNULL(MD.ETC, '') AS "etc"
FROM MU_DUTY AS MD
WHERE MD.USE_YN = 'Y'
ORDER BY MD.ORDER_NUMBER ASC
</select>
<select id="selectDuty" parameterType="hashmap" resultType="hashmap">
SELECT MD.MU_DUTY_ID AS "muDutyId"
,MD.ORDER_NUMBER AS "orderNumber"
,MD.DUTY_NAME AS "dutyName"
,IFNULL(MD.ETC,'') AS "etc"
,DATE_FORMAT(MD.WRITE_DATE, '%Y-%m-%d') AS "writeDate"
FROM MU_DUTY AS MD
WHERE MD.USE_YN = 'Y'
AND MD.MU_DUTY_ID = #{muDutyId}
LIMIT 0, 1
</select>
<insert id="insertDuty" parameterType="hashmap">
<selectKey resultType="string" keyProperty="id" order="BEFORE">
SELECT CONCAT(#{muDutyId},LPAD((SELECT NEXTVAL(MU_DUTY_SEQ)), 11, 0))
</selectKey>
INSERT INTO MU_DUTY(
MU_DUTY_ID
,ORDER_NUMBER
,DUTY_NAME
,ETC
,WRITE_DATE
,WRITE_TIME
,CUD_FLAG
,USE_YN
,REG_ID
,REG_DATE
,MOD_ID
,MOD_DATE
,T_ID
,T_DATE
)VALUES(
#{id}
,#{orderNumber}
,#{dutyName}
,#{etc,jdbcType=VARCHAR}
,CURDATE()
,CURTIME()
,'C'
,'Y'
,#{regId}
,NOW()
,#{modId}
,NOW()
,#{tId}
,#{tDate}
)
</insert>
<update id="updateDuty" parameterType="hashmap">
UPDATE MU_DUTY
SET MOD_ID = #{modId}
,MOD_DATE = NOW()
,CUD_FLAG = 'U'
,ORDER_NUMBER = #{orderNumber}
,DUTY_NAME = #{dutyName}
,ETC = #{etc,jdbcType=VARCHAR}
WHERE USE_YN = 'Y'
AND MU_DUTY_ID = #{muDutyId}
</update>
<update id="deleteDuty" parameterType="hashmap">
UPDATE MU_DUTY
SET MOD_ID = #{modId}
,MOD_DATE = NOW()
,CUD_FLAG = 'D'
,USE_YN = 'N'
WHERE USE_YN = 'Y'
AND MU_DUTY_ID = #{muDutyId}
</update>
</mapper>

View File

@@ -0,0 +1,368 @@
<?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="WebEventDiet">
<select id="selectTotalWebEventDietCount" parameterType="hashmap" resultType="hashmap">
SELECT COUNT(*) AS "totalCount" from (SELECT HCB.POST_NO, HCB.TITLE, HCB.CONTENT
FROM HP_CONTENTS_BBS AS HCB
LEFT OUTER JOIN HP_CONTENTS_BBS_PROCEDURE HCBP ON HCB.CATEGORY_DIV_CD = HCBP.CATEGORY_DIV_CD AND HCB.CATEGORY_NO = HCBP.CATEGORY_NO
LEFT OUTER JOIN HP_CATEGORY HC ON HCB.CATEGORY_DIV_CD = HC.CATEGORY_DIV_CD AND HCB.CATEGORY_NO = HC.CATEGORY_NO
LEFT OUTER JOIN MU_TREATMENT_PROCEDURE MTP ON HCBP.MU_TREATMENT_PROCEDURE_ID = MTP.MU_TREATMENT_PROCEDURE_ID
WHERE HCB.USE_YN = 'Y'
AND HCB.CATEGORY_DIV_CD = '02'
<!--
<if test="webEventDietSearchStartDate != null and webEventDietSearchStartDate != '' and webEventDietSearchEndDate != null and webEventDietSearchEndDate != ''">
AND DATE_FORMAT(HCB.REG_DATE, '%Y-%m-%d') &gt;= #{webEventDietSearchStartDate}
AND DATE_FORMAT(HCB.REG_DATE, '%Y-%m-%d') &lt;= #{webEventDietSearchEndDate}
</if>
-->
<if test="webEventDietSearchKeywordParam0 != null and webEventDietSearchKeywordParam0 != ''">
AND (
(HC.CATEGORY_NM LIKE CONCAT('%',TRIM(#{webEventDietSearchKeywordParam0}),'%'))
)
</if>
<if test="webEventDietSearchKeywordParam1 != null and webEventDietSearchKeywordParam1 != ''">
AND (
(HCB.TITLE LIKE CONCAT('%',TRIM(#{webEventDietSearchKeywordParam1}),'%'))
)
</if>
<if test="webEventDietSearchKeywordParam2 != null and webEventDietSearchKeywordParam2 != ''">
AND (
(IFNULL((SELECT MM.NAME FROM MU_MEMBER AS MM
WHERE MM.USE_YN = 'Y'
AND MM.MU_MEMBER_ID = HCB.REG_ID
LIMIT 0, 1
),'') LIKE CONCAT('%',TRIM(#{webEventDietSearchKeywordParam2}),'%'))
)
</if>
<if test="webEventDietSearchKeywordParam3 != null and webEventDietSearchKeywordParam3 != ''">
AND (
(MTP.TREATMENT_PROCEDURE_NAME LIKE CONCAT('%',TRIM(#{webEventDietSearchKeywordParam3}),'%'))
)
</if>
GROUP BY HCB.POST_NO, HCB.TITLE, HCB.CONTENT) as HCB
</select>
<select id="selectListWebEventDiet" parameterType="hashmap" resultType="hashmap">
SELECT HCB.*
FROM (
SELECT HCB.*
,CAST(@RNUM:=@RNUM + 1 AS CHAR) AS "rowNum"
FROM (
SELECT HCB.POST_NO AS "muWebEventDietId"
,HCB.TITLE AS "title"
,HCB.CONTENT AS "content"
,HC.CATEGORY_NM AS "category"
,HC.CATEGORY_NO AS "categorylist"
,HCB.THUMBNAIL_BOTTOM_TXT AS "thumbnail"
,HCB.HASHTAG AS "hashtag"
,CONCAT(DATE_FORMAT(HCB.REG_DATE, '%Y-%m-%d')
,' ~ '
,DATE_FORMAT(HCB.REG_DATE, '%Y-%m-%d')) AS "eventdietDate"
,DATE_FORMAT(HCB.REG_DATE, '%Y-%m-%d') AS "writeDate"
,IFNULL((SELECT MM.NAME
FROM MU_MEMBER AS MM
WHERE MM.USE_YN = 'Y'
AND MM.MU_MEMBER_ID = HCB.REG_ID
LIMIT 0, 1
),'') AS "writeName"
FROM HP_CONTENTS_BBS HCB
LEFT OUTER JOIN HP_CATEGORY HC ON HCB.CATEGORY_DIV_CD = HC.CATEGORY_DIV_CD AND HCB.CATEGORY_NO = HC.CATEGORY_NO
LEFT OUTER JOIN HP_CONTENTS_BBS_PROCEDURE HCBP ON HCB.CATEGORY_DIV_CD = HCBP.CATEGORY_DIV_CD AND HCB.CATEGORY_NO = HCBP.CATEGORY_NO
LEFT OUTER JOIN MU_TREATMENT_PROCEDURE MTP ON HCBP.MU_TREATMENT_PROCEDURE_ID = MTP.MU_TREATMENT_PROCEDURE_ID
WHERE HCB.USE_YN = 'Y'
AND HCB.CATEGORY_DIV_CD = '02'
<!--
<if test="webEventDietSearchStartDate != null and webEventDietSearchStartDate != '' and webEventDietSearchEndDate != null and webEventDietSearchEndDate != ''">
AND DATE_FORMAT(HCB.REG_DATE, '%Y-%m-%d') &gt;= #{webEventDietSearchStartDate}
AND DATE_FORMAT(HCB.REG_DATE, '%Y-%m-%d') &lt;= #{webEventDietSearchEndDate}
</if>
-->
<if test="webEventDietSearchKeywordParam0 != null and webEventDietSearchKeywordParam0 != ''">
AND (
(HC.CATEGORY_NM LIKE CONCAT('%',TRIM(#{webEventDietSearchKeywordParam0}),'%'))
)
</if>
<if test="webEventDietSearchKeywordParam1 != null and webEventDietSearchKeywordParam1 != ''">
AND (
(HCB.TITLE LIKE CONCAT('%',TRIM(#{webEventDietSearchKeywordParam1}),'%'))
)
</if>
<if test="webEventDietSearchKeywordParam2 != null and webEventDietSearchKeywordParam2 != ''">
AND (
(IFNULL((SELECT MM.NAME FROM MU_MEMBER AS MM
WHERE MM.USE_YN = 'Y'
AND MM.MU_MEMBER_ID = HCB.REG_ID
LIMIT 0, 1
),'') LIKE CONCAT('%',TRIM(#{webEventDietSearchKeywordParam2}),'%'))
)
</if>
<if test="webEventDietSearchKeywordParam3 != null and webEventDietSearchKeywordParam3 != ''">
AND (
(MTP.TREATMENT_PROCEDURE_NAME LIKE CONCAT('%',TRIM(#{webEventDietSearchKeywordParam3}),'%'))
)
</if>
GROUP BY muWebEventDietId, title, content
<choose>
<when test="webEventDietSort != null and webEventDietSort != ''">
ORDER BY ${webEventDietSort}
</when>
<otherwise>
ORDER BY HCB.REG_DATE DESC
</otherwise>
</choose>
LIMIT 18446744073709551615
) HCB, (SELECT @RNUM:=0) R
WHERE 1 = 1
) HCB
WHERE 1 = 1
LIMIT ${webEventDietStart}, ${webEventDietLimit}
</select>
<select id="selectWebEventDiet" parameterType="hashmap" resultType="hashmap">
SELECT HCB.POST_NO AS "muWebEventDietId"
,HCB.CATEGORY_NO AS "categorylist"
,HCB.TITLE AS "title"
,HCB.CONTENT AS "content"
,HCB.HASHTAG AS "hashtag"
,HCB.THUMBNAIL_BOTTOM_TXT AS "thumbnail_bottom_txt"
,HAF2.FILE_PATH AS "file"
,HAF.FILE_PATH AS "content_file"
FROM HP_CONTENTS_BBS AS HCB
LEFT OUTER JOIN HP_ATTACH_FILE HAF ON HAF.ATTACHFILE_ID = HCB.CONTENTS_ATTACHFILE_ID
LEFT OUTER JOIN HP_ATTACH_FILE HAF2 ON HAF2.ATTACHFILE_ID = HCB.THUMBNAIL_ATTACHFILE_ID
WHERE HCB.USE_YN = 'Y'
AND HCB.CATEGORY_DIV_CD = '02'
AND HCB.CATEGORY_NO = #{categoryNo}
AND HCB.POST_NO = #{muWebEventDietId}
LIMIT 0, 1
</select>
<select id="selectWebEventListDiet" parameterType="hashmap" resultType="hashmap">
SELECT HCBP.POST_NO AS "muWebEventDietId"
,HCBP.CATEGORY_NO AS "categorylist"
,HCBP.MU_TREATMENT_ID AS "eventid"
,HCBP.MU_TREATMENT_PROCEDURE_ID AS "eventprocedureid"
,MTP.TREATMENT_PROCEDURE_NAME AS "eventnm"
,MTPP.PRICE AS "price"
,IFNULL(MTPP.DISCOUNT_PRICE, 0) AS "discountprice"
FROM HP_CONTENTS_BBS_PROCEDURE AS HCBP
LEFT OUTER JOIN MU_TREATMENT_PROCEDURE MTP ON HCBP.MU_TREATMENT_ID = MTP.MU_TREATMENT_ID AND HCBP.MU_TREATMENT_PROCEDURE_ID = MTP.MU_TREATMENT_PROCEDURE_ID
LEFT OUTER JOIN MU_TREATMENT_PROCEDURE_PRICE MTPP ON MTP.MU_TREATMENT_PROCEDURE_ID = MTPP.MU_TREATMENT_PROCEDURE_ID
WHERE HCBP.USE_YN = 'Y'
AND HCBP.CATEGORY_DIV_CD = '02'
AND HCBP.CATEGORY_NO = #{categorylist}
AND HCBP.POST_NO = #{muWebEventDietId}
</select>
<insert id="insertWebEventDiet" parameterType="hashmap">
<selectKey resultType="string" keyProperty="id" order="BEFORE">
SELECT (MAX(POST_NO) + 1) FROM HP_CONTENTS_BBS WHERE CATEGORY_DIV_CD = '02' AND CATEGORY_NO = ${categorylist}
</selectKey>
INSERT INTO HP_CONTENTS_BBS(
CATEGORY_DIV_CD
,CATEGORY_NO
,POST_NO
,TITLE
,CONTENT
,THUMBNAIL_BOTTOM_TXT
,THUMBNAIL_ATTACHFILE_ID
,CONTENTS_ATTACHFILE_ID
,HASHTAG
,USE_YN
,REG_ID
,REG_DATE
,MOD_ID
,MOD_DATE
)VALUES(
'02'
,${categorylist}
,#{id}
,#{title}
,#{content}
,#{thumbnail_bottom_txt}
,#{thumbnailId}
,#{contentId}
,#{hashtag}
,'Y'
,#{regId}
,NOW()
,#{modId}
,NOW()
)
</insert>
<insert id="insertWebEventDietContentFile" parameterType="hashmap">
<selectKey resultType="string" keyProperty="contentId" order="BEFORE">
SELECT CONCAT('ATF-', LPAD(NEXTVAL(seq_attachfile_id), 21, '0'))
</selectKey>
INSERT INTO HP_ATTACH_FILE(
ATTACHFILE_ID
,ATTACHFILE_NM
,FILE_PATH
,FILE_SIZE
,FILE_TYPE
,REG_ID
,REG_DATE
,MOD_ID
,MOD_DATE
)VALUES(
#{contentId}
,#{fileName2}
,#{filePath2}
,'0'
,#{fileType2}
,#{regId}
,NOW()
,#{modId}
,NOW()
)
</insert>
<insert id="insertWebEventDietThumbnailFile" parameterType="hashmap">
<selectKey resultType="string" keyProperty="thumbnailId" order="BEFORE">
SELECT CONCAT('ATF-', LPAD(NEXTVAL(seq_attachfile_id), 21, '0'))
</selectKey>
INSERT INTO HP_ATTACH_FILE(
ATTACHFILE_ID
,ATTACHFILE_NM
,FILE_PATH
,FILE_SIZE
,FILE_TYPE
,REG_ID
,REG_DATE
,MOD_ID
,MOD_DATE
)VALUES(
#{thumbnailId}
,#{fileName}
,#{filePath}
,'0'
,#{fileType}
,#{regId}
,NOW()
,#{modId}
,NOW()
)
</insert>
<update id="updateWebEventListDiet" parameterType="hashmap">
UPDATE HP_CONTENTS_BBS_PROCEDURE SET
USE_YN = 'N'
WHERE CATEGORY_DIV_CD = '02'
AND CATEGORY_NO = ${categoryNo}
AND POST_NO = #{muWebEventDietId}
</update>
<insert id="insertWebEventListDiet" parameterType="hashmap">
INSERT INTO HP_CONTENTS_BBS_PROCEDURE(
CATEGORY_DIV_CD
,CATEGORY_NO
,POST_NO
,MU_TREATMENT_ID
,MU_TREATMENT_PROCEDURE_ID
,USE_YN
,REG_ID
,REG_DATE
,MOD_ID
,MOD_DATE
)VALUES(
'02'
,#{categoryNo}
,#{muWebEventDietId}
,#{eventid}
,#{eventprocedureid}
,'Y'
,#{regId}
,NOW()
,#{modId}
,NOW()
)ON DUPLICATE KEY UPDATE
USE_YN = 'Y';
</insert>
<update id="updateWebEventDiet" parameterType="hashmap">
UPDATE HP_CONTENTS_BBS
SET
TITLE = #{title}
,CONTENT = #{content}
,THUMBNAIL_BOTTOM_TXT = #{thumbnail_bottom_txt}
,HASHTAG = #{hashtag}
<if test="thumbnailId != null and thumbnailId != ''">
,THUMBNAIL_ATTACHFILE_ID = #{thumbnailId}
</if>
<if test="contentId != null and contentId != ''">
,CONTENTS_ATTACHFILE_ID = #{contentId}
</if>
,MOD_ID = #{modId}
,MOD_DATE = NOW()
WHERE USE_YN = 'Y'
AND CATEGORY_DIV_CD = '02'
AND CATEGORY_NO = #{categoryNo}
AND POST_NO = #{postNo}
</update>
<update id="deleteWebEventDiet" parameterType="hashmap">
UPDATE HP_CONTENTS_BBS
SET MOD_ID = #{modId}
,MOD_DATE = NOW()
,USE_YN = 'N'
WHERE USE_YN = 'Y'
AND CATEGORY_DIV_CD = '02'
AND CATEGORY_NO = #{categoryNo}
AND POST_NO = #{muWebEventDietId}
</update>
<select id="selectTotalEventCount" parameterType="hashmap" resultType="Integer">
SELECT COUNT(*) AS "totalCount"
FROM MU_TREATMENT_PROCEDURE AS MTP
WHERE MTP.USE_YN = 'Y'
<if test="userSearchKeywordParam != null and userSearchKeywordParam != ''">
AND (MTP.TREATMENT_PROCEDURE_NAME LIKE CONCAT('%',TRIM(#{userSearchKeywordParam}),'%'))
</if>
</select>
<select id="selectListEvent" parameterType="hashmap" resultType="hashmap">
SELECT ROW_NUMBER() OVER (ORDER BY MTP.REG_DATE DESC) AS "rowNum"
,MTP.MU_TREATMENT_PROCEDURE_ID AS "eventProcedureId"
,MTP.MU_TREATMENT_ID AS "eventId"
,MTP.TREATMENT_PROCEDURE_NAME AS "eventNm"
,MTPP.PRICE AS "price"
,IFNULL(MTPP.DISCOUNT_PRICE, 0) AS "discountPrice"
FROM MU_TREATMENT_PROCEDURE AS MTP
LEFT OUTER JOIN MU_TREATMENT_PROCEDURE_PRICE MTPP ON MTP.MU_TREATMENT_PROCEDURE_ID = MTPP.MU_TREATMENT_PROCEDURE_ID
WHERE MTP.USE_YN = 'Y'
AND MTPP.USE_YN = 'Y'
<if test="userSearchKeywordParam != null and userSearchKeywordParam != ''">
AND (MTP.TREATMENT_PROCEDURE_NAME LIKE CONCAT('%',TRIM(#{userSearchKeywordParam}),'%'))
</if>
<choose>
<when test="userSort != null and userSort != ''">
ORDER BY ${userSort}
</when>
<otherwise>
ORDER BY MTP.REG_DATE DESC
</otherwise>
</choose>
<if test="userStart != null and userStart != ''">
LIMIT ${userStart}
<if test="userLimit != null and userLimit != ''">
,${userLimit}
</if>
</if>
</select>
<select id="selectListEventCategory" parameterType="hashmap" resultType="hashmap">
SELECT ROW_NUMBER() OVER (ORDER BY HC.REG_DATE DESC) AS "rowNum"
,HC.CATEGORY_NO AS "categoryNo"
,HC.CATEGORY_NM AS "categoryNm"
FROM HP_CATEGORY AS HC
WHERE HC.USE_YN = 'Y'
AND HC.CATEGORY_DIV_CD = '02'
ORDER BY HC.CATEGORY_NO ASC
</select>
</mapper>

View File

@@ -0,0 +1,367 @@
<?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="WebEventPetit">
<select id="selectTotalWebEventPetitCount" parameterType="hashmap" resultType="hashmap">
SELECT COUNT(*) AS "totalCount" from (SELECT HCB.POST_NO, HCB.TITLE, HCB.CONTENT
FROM HP_CONTENTS_BBS AS HCB
LEFT OUTER JOIN HP_CONTENTS_BBS_PROCEDURE HCBP ON HCB.CATEGORY_DIV_CD = HCBP.CATEGORY_DIV_CD AND HCB.CATEGORY_NO = HCBP.CATEGORY_NO
LEFT OUTER JOIN HP_CATEGORY HC ON HCB.CATEGORY_DIV_CD = HC.CATEGORY_DIV_CD AND HCB.CATEGORY_NO = HC.CATEGORY_NO
LEFT OUTER JOIN MU_TREATMENT_PROCEDURE MTP ON HCBP.MU_TREATMENT_PROCEDURE_ID = MTP.MU_TREATMENT_PROCEDURE_ID
WHERE HCB.USE_YN = 'Y'
AND HCB.CATEGORY_DIV_CD = '04'
<!--
<if test="webEventPetitSearchStartDate != null and webEventPetitSearchStartDate != '' and webEventPetitSearchEndDate != null and webEventPetitSearchEndDate != ''">
AND DATE_FORMAT(HCB.REG_DATE, '%Y-%m-%d') &gt;= #{webEventPetitSearchStartDate}
AND DATE_FORMAT(HCB.REG_DATE, '%Y-%m-%d') &lt;= #{webEventPetitSearchEndDate}
</if>
-->
<if test="webEventPetitSearchKeywordParam0 != null and webEventPetitSearchKeywordParam0 != ''">
AND (
(HC.CATEGORY_NM LIKE CONCAT('%',TRIM(#{webEventPetitSearchKeywordParam0}),'%'))
)
</if>
<if test="webEventPetitSearchKeywordParam1 != null and webEventPetitSearchKeywordParam1 != ''">
AND (
(HCB.TITLE LIKE CONCAT('%',TRIM(#{webEventPetitSearchKeywordParam1}),'%'))
)
</if>
<if test="webEventPetitSearchKeywordParam2 != null and webEventPetitSearchKeywordParam2 != ''">
AND (
(IFNULL((SELECT MM.NAME FROM MU_MEMBER AS MM
WHERE MM.USE_YN = 'Y'
AND MM.MU_MEMBER_ID = HCB.REG_ID
LIMIT 0, 1
),'') LIKE CONCAT('%',TRIM(#{webEventPetitSearchKeywordParam2}),'%'))
)
</if>
<if test="webEventPetitSearchKeywordParam3 != null and webEventPetitSearchKeywordParam3 != ''">
AND (
(MTP.TREATMENT_PROCEDURE_NAME LIKE CONCAT('%',TRIM(#{webEventPetitSearchKeywordParam3}),'%'))
)
</if>
GROUP BY HCB.POST_NO, HCB.TITLE, HCB.CONTENT) as HCB
</select>
<select id="selectListWebEventPetit" parameterType="hashmap" resultType="hashmap">
SELECT HCB.*
FROM (
SELECT HCB.*
,CAST(@RNUM:=@RNUM + 1 AS CHAR) AS "rowNum"
FROM (
SELECT HCB.POST_NO AS "muWebEventPetitId"
,HCB.TITLE AS "title"
,HCB.CONTENT AS "content"
,HC.CATEGORY_NM AS "category"
,HC.CATEGORY_NO AS "categorylist"
,HCB.THUMBNAIL_BOTTOM_TXT AS "thumbnail"
,HCB.HASHTAG AS "hashtag"
,CONCAT(DATE_FORMAT(HCB.REG_DATE, '%Y-%m-%d')
,' ~ '
,DATE_FORMAT(HCB.REG_DATE, '%Y-%m-%d')) AS "eventpetitDate"
,DATE_FORMAT(HCB.REG_DATE, '%Y-%m-%d') AS "writeDate"
,IFNULL((SELECT MM.NAME
FROM MU_MEMBER AS MM
WHERE MM.USE_YN = 'Y'
AND MM.MU_MEMBER_ID = HCB.REG_ID
LIMIT 0, 1
),'') AS "writeName"
FROM HP_CONTENTS_BBS HCB
LEFT OUTER JOIN HP_CATEGORY HC ON HCB.CATEGORY_DIV_CD = HC.CATEGORY_DIV_CD AND HCB.CATEGORY_NO = HC.CATEGORY_NO
LEFT OUTER JOIN HP_CONTENTS_BBS_PROCEDURE HCBP ON HCB.CATEGORY_DIV_CD = HCBP.CATEGORY_DIV_CD AND HCB.CATEGORY_NO = HCBP.CATEGORY_NO
LEFT OUTER JOIN MU_TREATMENT_PROCEDURE MTP ON HCBP.MU_TREATMENT_PROCEDURE_ID = MTP.MU_TREATMENT_PROCEDURE_ID
WHERE HCB.USE_YN = 'Y'
AND HCB.CATEGORY_DIV_CD = '04'
<!--
<if test="webEventPetitSearchStartDate != null and webEventPetitSearchStartDate != '' and webEventPetitSearchEndDate != null and webEventPetitSearchEndDate != ''">
AND DATE_FORMAT(HCB.REG_DATE, '%Y-%m-%d') &gt;= #{webEventPetitSearchStartDate}
AND DATE_FORMAT(HCB.REG_DATE, '%Y-%m-%d') &lt;= #{webEventPetitSearchEndDate}
</if>
-->
<if test="webEventPetitSearchKeywordParam0 != null and webEventPetitSearchKeywordParam0 != ''">
AND (
(HC.CATEGORY_NM LIKE CONCAT('%',TRIM(#{webEventPetitSearchKeywordParam0}),'%'))
)
</if>
<if test="webEventPetitSearchKeywordParam1 != null and webEventPetitSearchKeywordParam1 != ''">
AND (
(HCB.TITLE LIKE CONCAT('%',TRIM(#{webEventPetitSearchKeywordParam1}),'%'))
)
</if>
<if test="webEventPetitSearchKeywordParam2 != null and webEventPetitSearchKeywordParam2 != ''">
AND (
(IFNULL((SELECT MM.NAME FROM MU_MEMBER AS MM
WHERE MM.USE_YN = 'Y'
AND MM.MU_MEMBER_ID = HCB.REG_ID
LIMIT 0, 1
),'') LIKE CONCAT('%',TRIM(#{webEventPetitSearchKeywordParam2}),'%'))
)
</if>
<if test="webEventPetitSearchKeywordParam3 != null and webEventPetitSearchKeywordParam3 != ''">
AND (
(MTP.TREATMENT_PROCEDURE_NAME LIKE CONCAT('%',TRIM(#{webEventPetitSearchKeywordParam3}),'%'))
)
</if>
GROUP BY muWebEventPetitId, title, content
<choose>
<when test="webEventPetitSort != null and webEventPetitSort != ''">
ORDER BY ${webEventPetitSort}
</when>
<otherwise>
ORDER BY HCB.REG_DATE DESC
</otherwise>
</choose>
LIMIT 18446744073709551615
) HCB, (SELECT @RNUM:=0) R
WHERE 1 = 1
) HCB
WHERE 1 = 1
LIMIT ${webEventPetitStart}, ${webEventPetitLimit}
</select>
<select id="selectWebEventPetit" parameterType="hashmap" resultType="hashmap">
SELECT HCB.POST_NO AS "muWebEventPetitId"
,HCB.CATEGORY_NO AS "categorylist"
,HCB.TITLE AS "title"
,HCB.CONTENT AS "content"
,HCB.HASHTAG AS "hashtag"
,HCB.THUMBNAIL_BOTTOM_TXT AS "thumbnail_bottom_txt"
,HAF2.FILE_PATH AS "file"
,HAF.FILE_PATH AS "content_file"
FROM HP_CONTENTS_BBS AS HCB
LEFT OUTER JOIN HP_ATTACH_FILE HAF ON HAF.ATTACHFILE_ID = HCB.CONTENTS_ATTACHFILE_ID
LEFT OUTER JOIN HP_ATTACH_FILE HAF2 ON HAF2.ATTACHFILE_ID = HCB.THUMBNAIL_ATTACHFILE_ID
WHERE HCB.USE_YN = 'Y'
AND HCB.CATEGORY_DIV_CD = '04'
AND HCB.CATEGORY_NO = #{categoryNo}
AND HCB.POST_NO = #{muWebEventPetitId}
LIMIT 0, 1
</select>
<select id="selectWebEventListPetit" parameterType="hashmap" resultType="hashmap">
SELECT HCBP.POST_NO AS "muWebEventPetitId"
,HCBP.CATEGORY_NO AS "categorylist"
,HCBP.MU_TREATMENT_ID AS "eventid"
,HCBP.MU_TREATMENT_PROCEDURE_ID AS "eventprocedureid"
,MTP.TREATMENT_PROCEDURE_NAME AS "eventnm"
,MTPP.PRICE AS "price"
,IFNULL(MTPP.DISCOUNT_PRICE, 0) AS "discountprice"
FROM HP_CONTENTS_BBS_PROCEDURE AS HCBP
LEFT OUTER JOIN MU_TREATMENT_PROCEDURE MTP ON HCBP.MU_TREATMENT_ID = MTP.MU_TREATMENT_ID AND HCBP.MU_TREATMENT_PROCEDURE_ID = MTP.MU_TREATMENT_PROCEDURE_ID
LEFT OUTER JOIN MU_TREATMENT_PROCEDURE_PRICE MTPP ON MTP.MU_TREATMENT_PROCEDURE_ID = MTPP.MU_TREATMENT_PROCEDURE_ID
WHERE HCBP.USE_YN = 'Y'
AND HCBP.CATEGORY_DIV_CD = '04'
AND HCBP.CATEGORY_NO = #{categoryNo}
AND HCBP.POST_NO = #{muWebEventPetitId}
</select>
<insert id="insertWebEventPetit" parameterType="hashmap">
<selectKey resultType="string" keyProperty="id" order="BEFORE">
SELECT (MAX(POST_NO) + 1) FROM HP_CONTENTS_BBS WHERE CATEGORY_DIV_CD = '01' AND CATEGORY_NO = #{categoryNo}
</selectKey>
INSERT INTO HP_CONTENTS_BBS(
CATEGORY_DIV_CD
,CATEGORY_NO
,POST_NO
,TITLE
,CONTENT
,THUMBNAIL_BOTTOM_TXT
,THUMBNAIL_ATTACHFILE_ID
,CONTENTS_ATTACHFILE_ID
,HASHTAG
,USE_YN
,REG_ID
,REG_DATE
,MOD_ID
,MOD_DATE
)VALUES(
'04'
,#{categoryNo}
,#{id}
,#{title}
,#{content}
,#{thumbnail_bottom_txt}
,#{thumbnailId}
,#{contentId}
,#{hashtag}
,'Y'
,#{regId}
,NOW()
,#{modId}
,NOW()
)
</insert>
<insert id="insertWebEventPetitContentFile" parameterType="hashmap">
<selectKey resultType="string" keyProperty="contentId" order="BEFORE">
SELECT CONCAT('ATF-', LPAD(NEXTVAL(seq_attachfile_id), 21, '0'))
</selectKey>
INSERT INTO HP_ATTACH_FILE(
ATTACHFILE_ID
,ATTACHFILE_NM
,FILE_PATH
,FILE_SIZE
,FILE_TYPE
,REG_ID
,REG_DATE
,MOD_ID
,MOD_DATE
)VALUES(
#{contentId}
,#{fileName2}
,#{filePath2}
,'0'
,#{fileType2}
,#{regId}
,NOW()
,#{modId}
,NOW()
)
</insert>
<insert id="insertWebEventPetitThumbnailFile" parameterType="hashmap">
<selectKey resultType="string" keyProperty="thumbnailId" order="BEFORE">
SELECT CONCAT('ATF-', LPAD(NEXTVAL(seq_attachfile_id), 21, '0'))
</selectKey>
INSERT INTO HP_ATTACH_FILE(
ATTACHFILE_ID
,ATTACHFILE_NM
,FILE_PATH
,FILE_SIZE
,FILE_TYPE
,REG_ID
,REG_DATE
,MOD_ID
,MOD_DATE
)VALUES(
#{thumbnailId}
,#{fileName}
,#{filePath}
,'0'
,#{fileType}
,#{regId}
,NOW()
,#{modId}
,NOW()
)
</insert>
<update id="updateWebEventListPetit" parameterType="hashmap">
UPDATE HP_CONTENTS_BBS_PROCEDURE
SET USE_YN = 'N'
WHERE CATEGORY_DIV_CD = '04'
AND CATEGORY_NO = #{categoryNo}
AND POST_NO = #{muWebEventPetitId}
</update>
<insert id="insertWebEventListPetit" parameterType="hashmap">
INSERT INTO HP_CONTENTS_BBS_PROCEDURE(
CATEGORY_DIV_CD
,CATEGORY_NO
,POST_NO
,MU_TREATMENT_ID
,MU_TREATMENT_PROCEDURE_ID
,USE_YN
,REG_ID
,REG_DATE
,MOD_ID
,MOD_DATE
)VALUES(
'04'
,#{categoryNo}
,#{muWebEventPetitId}
,#{eventid}
,#{eventprocedureid}
,'Y'
,#{regId}
,NOW()
,#{modId}
,NOW()
)ON DUPLICATE KEY UPDATE
USE_YN = 'Y';
</insert>
<update id="updateWebEventPetit" parameterType="hashmap">
UPDATE HP_CONTENTS_BBS
SET
TITLE = #{title}
,CONTENT = #{content}
,THUMBNAIL_BOTTOM_TXT = #{thumbnail_bottom_txt}
,HASHTAG = #{hashtag}
<if test="thumbnailId != null and thumbnailId != ''">
,THUMBNAIL_ATTACHFILE_ID = #{thumbnailId}
</if>
<if test="contentId != null and contentId != ''">
,CONTENTS_ATTACHFILE_ID = #{contentId}
</if>
,MOD_ID = #{modId}
,MOD_DATE = NOW()
WHERE USE_YN = 'Y'
AND CATEGORY_DIV_CD = '04'
AND POST_NO = #{post_no}
</update>
<update id="deleteWebEventPetit" parameterType="hashmap">
UPDATE HP_CONTENTS_BBS
SET MOD_ID = #{modId}
,MOD_DATE = NOW()
,USE_YN = 'N'
WHERE USE_YN = 'Y'
AND CATEGORY_DIV_CD = '04'
AND CATEGORY_NO = #{categoryNo}
AND POST_NO = #{muWebEventPetitId}
</update>
<select id="selectTotalEventCount" parameterType="hashmap" resultType="Integer">
SELECT COUNT(*) AS "totalCount"
FROM MU_TREATMENT_PROCEDURE AS MTP
WHERE MTP.USE_YN = 'Y'
<if test="userSearchKeywordParam != null and userSearchKeywordParam != ''">
AND (MTP.TREATMENT_PROCEDURE_NAME LIKE CONCAT('%',TRIM(#{userSearchKeywordParam}),'%'))
</if>
</select>
<select id="selectListEvent" parameterType="hashmap" resultType="hashmap">
SELECT ROW_NUMBER() OVER (ORDER BY MTP.REG_DATE DESC) AS "rowNum"
,MTP.MU_TREATMENT_PROCEDURE_ID AS "eventProcedureId"
,MTP.MU_TREATMENT_ID AS "eventId"
,MTP.TREATMENT_PROCEDURE_NAME AS "eventNm"
,MTPP.PRICE AS "price"
,IFNULL(MTPP.DISCOUNT_PRICE, 0) AS "discountPrice"
FROM MU_TREATMENT_PROCEDURE AS MTP
LEFT OUTER JOIN MU_TREATMENT_PROCEDURE_PRICE MTPP ON MTP.MU_TREATMENT_PROCEDURE_ID = MTPP.MU_TREATMENT_PROCEDURE_ID
WHERE MTP.USE_YN = 'Y'
AND MTPP.USE_YN = 'Y'
<if test="userSearchKeywordParam != null and userSearchKeywordParam != ''">
AND (MTP.TREATMENT_PROCEDURE_NAME LIKE CONCAT('%',TRIM(#{userSearchKeywordParam}),'%'))
</if>
<choose>
<when test="userSort != null and userSort != ''">
ORDER BY ${userSort}
</when>
<otherwise>
ORDER BY MTP.REG_DATE DESC
</otherwise>
</choose>
<if test="userStart != null and userStart != ''">
LIMIT ${userStart}
<if test="userLimit != null and userLimit != ''">
,${userLimit}
</if>
</if>
</select>
<select id="selectListEventCategory" parameterType="hashmap" resultType="hashmap">
SELECT ROW_NUMBER() OVER (ORDER BY HC.REG_DATE DESC) AS "rowNum"
,HC.CATEGORY_NO AS "categoryNo"
,HC.CATEGORY_NM AS "categoryNm"
FROM HP_CATEGORY AS HC
WHERE HC.USE_YN = 'Y'
AND HC.CATEGORY_DIV_CD = '04'
ORDER BY HC.CATEGORY_NO ASC
</select>
</mapper>

View File

@@ -0,0 +1,154 @@
<?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="WebEvent">
<select id="selectTotalWebEventCount" parameterType="hashmap" resultType="hashmap">
SELECT COUNT(*) AS "totalCount"
FROM MU_WEB_EVENT AS ME
WHERE ME.USE_YN = 'Y'
<if test="webEventSearchStartDate != null and webEventSearchStartDate != '' and webEventSearchEndDate != null and webEventSearchEndDate != ''">
AND DATE_FORMAT(ME.WRITE_DATE, '%Y-%m-%d') &gt;= #{webEventSearchStartDate}
AND DATE_FORMAT(ME.WRITE_DATE, '%Y-%m-%d') &lt;= #{webEventSearchEndDate}
</if>
<if test="webEventSearchKeywordParam != null and webEventSearchKeywordParam != ''">
AND ((ME.TITLE LIKE CONCAT('%',TRIM(#{webEventSearchKeywordParam}),'%'))
OR (ME.CONTENT LIKE CONCAT('%',TRIM(#{webEventSearchKeywordParam}),'%')))
</if>
</select>
<select id="selectListWebEvent" parameterType="hashmap" resultType="hashmap">
SELECT MWE.*
FROM (
SELECT MWE.*
,CAST(@RNUM:=@RNUM + 1 AS CHAR) AS "rowNum"
FROM (
SELECT MWE.MU_WEB_EVENT_ID AS "muWebEventId"
,MWE.TITLE AS "title"
,MWE.CONTENT AS "content"
,CONCAT(DATE_FORMAT(MWE.EVENT_START_DATE, '%Y-%m-%d')
,' ~ '
,DATE_FORMAT(MWE.EVENT_END_DATE, '%Y-%m-%d')) AS "eventDate"
,DATE_FORMAT(WRITE_DATE, '%Y-%m-%d') AS "writeDate"
,IFNULL((SELECT MM.NAME
FROM MU_MEMBER AS MM
WHERE MM.USE_YN = 'Y'
AND MM.MU_MEMBER_ID = MWE.REG_ID
LIMIT 0, 1
),'') AS "writeName"
FROM MU_WEB_EVENT MWE
WHERE MWE.USE_YN = 'Y'
<if test="webEventSearchStartDate != null and webEventSearchStartDate != '' and webEventSearchEndDate != null and webEventSearchEndDate != ''">
AND DATE_FORMAT(MWE.WRITE_DATE, '%Y-%m-%d') &gt;= #{webEventSearchStartDate}
AND DATE_FORMAT(MWE.WRITE_DATE, '%Y-%m-%d') &lt;= #{webEventSearchEndDate}
</if>
<if test="webEventSearchKeywordParam != null and webEventSearchKeywordParam != ''">
AND ((MWE.TITLE LIKE CONCAT('%',TRIM(#{webEventSearchKeywordParam}),'%'))
OR (MWE.CONTENT LIKE CONCAT('%',TRIM(#{webEventSearchKeywordParam}),'%')))
</if>
<choose>
<when test="webEventSort != null and webEventSort != ''">
ORDER BY ${webEventSort}
</when>
<otherwise>
ORDER BY MWE.WRITE_DATE DESC
</otherwise>
</choose>
LIMIT 18446744073709551615
) MWE, (SELECT @RNUM:=0) R
WHERE 1 = 1
) MWE
WHERE 1 = 1
LIMIT ${webEventStart}, ${webEventLimit}
</select>
<select id="selectWebEvent" parameterType="hashmap" resultType="hashmap">
SELECT MWE.MU_WEB_EVENT_ID AS "muWebEventId"
,MWE.TITLE AS "title"
,MWE.CONTENT AS "content"
,MWE.FILE_PATH AS "filePath"
,MWE.FILE_NAME AS "fileName"
,MWE.ORIGINAL_FILE_NAME AS "originalFileName"
,DATE_FORMAT(MWE.EVENT_START_DATE, '%Y-%m-%d') AS "eventStartDate"
,DATE_FORMAT(MWE.EVENT_END_DATE, '%Y-%m-%d') AS "eventEndDate"
FROM MU_WEB_EVENT AS MWE
WHERE MWE.USE_YN = 'Y'
AND MWE.MU_WEB_EVENT_ID = #{muWebEventId}
LIMIT 0, 1
</select>
<insert id="insertWebEvent" parameterType="hashmap">
<selectKey resultType="string" keyProperty="id" order="BEFORE">
SELECT CONCAT(#{muWebEventId},LPAD((SELECT NEXTVAL(MU_WEB_EVENT_SEQ)), 11, 0))
</selectKey>
INSERT INTO MU_WEB_EVENT(
MU_WEB_EVENT_ID
,TITLE
,CONTENT
,CDN_URL
,FILE_PATH
,FILE_NAME
,ORIGINAL_FILE_NAME
,EVENT_START_DATE
,EVENT_END_DATE
,WRITE_DATE
,WRITE_TIME
,CUD_FLAG
,USE_YN
,REG_ID
,REG_DATE
,MOD_ID
,MOD_DATE
,T_ID
,T_DATE
)VALUES(
#{id}
,#{title}
,#{content}
,#{cdnUrl}
,#{filePath}
,#{fileName}
,#{originalFileName}
,#{eventStartDate}
,#{eventEndDate}
,NOW()
,NOW()
,'C'
,'Y'
,#{regId}
,NOW()
,#{modId}
,NOW()
,#{tId}
,#{tDate}
)
</insert>
<update id="updateWebEvent" parameterType="hashmap">
UPDATE MU_WEB_EVENT
SET MOD_ID = #{modId}
,MOD_DATE = NOW()
,CUD_FLAG = 'U'
,TITLE = #{title}
,CONTENT = #{content}
<if test="filePath != null and filePath != ''">
,CDN_URL = #{cdnUrl}
,FILE_PATH = #{filePath}
,FILE_NAME = #{fileName}
,ORIGINAL_FILE_NAME = #{originalFileName}
</if>
,EVENT_START_DATE = #{eventStartDate}
,EVENT_END_DATE = #{eventEndDate}
WHERE USE_YN = 'Y'
AND MU_WEB_EVENT_ID = #{muWebEventId}
</update>
<update id="deleteWebEvent" parameterType="hashmap">
UPDATE MU_WEB_EVENT
SET MOD_ID = #{modId}
,MOD_DATE = NOW()
,CUD_FLAG = 'D'
,USE_YN = 'N'
WHERE USE_YN = 'Y'
AND MU_WEB_EVENT_ID = #{muWebEventId}
</update>
</mapper>

View File

@@ -0,0 +1,99 @@
<?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="WebGroup">
<select id="selectListGroupOption" parameterType="hashMap" resultType="hashMap">
SELECT MG.MU_GROUP_ID AS "muGroupId"
,MG.GROUP_NAME AS "groupName"
FROM MU_GROUP AS MG
WHERE MG.USE_YN = 'Y'
ORDER BY MG.GROUP_NAME ASC
</select>
<select id="selectTotalGroupCount" parameterType="hashmap" resultType="hashmap">
SELECT COUNT(*) AS "totalCount"
FROM MU_GROUP AS MG
WHERE MG.USE_YN = 'Y'
</select>
<select id="selectListGroup" parameterType="hashmap" resultType="hashmap">
SELECT MU_GROUP_ID AS "muGroupId"
,ORDER_NUMBER AS "orderNumber"
,GROUP_NAME AS "groupName"
,IFNULL(ETC, '') AS "etc"
FROM MU_GROUP AS MG
WHERE MG.USE_YN = 'Y'
ORDER BY MG.ORDER_NUMBER ASC
</select>
<select id="selectGroup" parameterType="hashmap" resultType="hashmap">
SELECT MG.MU_GROUP_ID AS "muGroupId"
,MG.ORDER_NUMBER AS "orderNumber"
,MG.GROUP_NAME AS "groupName"
,IFNULL(MG.ETC,'') AS "etc"
,DATE_FORMAT(MG.WRITE_DATE, '%Y-%m-%d') AS "writeDate"
FROM MU_GROUP AS MG
WHERE MG.USE_YN = 'Y'
AND MG.MU_GROUP_ID = #{muGroupId}
LIMIT 0, 1
</select>
<insert id="insertGroup" parameterType="hashmap">
<selectKey resultType="string" keyProperty="id" order="BEFORE">
SELECT CONCAT(#{muGroupId},LPAD((SELECT NEXTVAL(MU_GROUP_SEQ)), 11, 0))
</selectKey>
INSERT INTO MU_GROUP(
MU_GROUP_ID
,ORDER_NUMBER
,GROUP_NAME
,ETC
,WRITE_DATE
,WRITE_TIME
,CUD_FLAG
,USE_YN
,REG_ID
,REG_DATE
,MOD_ID
,MOD_DATE
,T_ID
,T_DATE
)VALUES(
#{id}
,#{orderNumber}
,#{groupName}
,#{etc,jdbcType=VARCHAR}
,CURDATE()
,CURTIME()
,'C'
,'Y'
,#{regId}
,NOW()
,#{modId}
,NOW()
,#{tId}
,#{tDate}
)
</insert>
<update id="updateGroup" parameterType="hashmap">
UPDATE MU_GROUP
SET MOD_ID = #{modId}
,MOD_DATE = NOW()
,CUD_FLAG = 'U'
,GROUP_NAME = #{groupName}
,ORDER_NUMBER = #{orderNumber}
,ETC = #{etc,jdbcType=VARCHAR}
WHERE USE_YN = 'Y'
AND MU_GROUP_ID = #{muGroupId}
</update>
<update id="deleteGroup" parameterType="hashmap">
UPDATE MU_GROUP
SET MOD_ID = #{modId}
,MOD_DATE = NOW()
,CUD_FLAG = 'D'
,USE_YN = 'N'
WHERE USE_YN = 'Y'
AND MU_GROUP_ID = #{muGroupId}
</update>
</mapper>

View File

@@ -0,0 +1,438 @@
<?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="WebHolidayManagement">
<select id="selectTotalHolidayManagementCount" parameterType="hashmap" resultType="hashmap">
SELECT COUNT(*) AS "totalCount"
FROM (
SELECT MA.MU_ATTENDANCE_ID
,MA.MU_MEMBER_ID
,IFNULL((SELECT MM.NAME
FROM MU_MEMBER AS MM
WHERE MM.USE_YN = 'Y'
AND MM.MU_MEMBER_ID = MA.MU_MEMBER_ID
LIMIT 0, 1
),'') AS MEMBER_NAME
,MA.MU_GROUP_ID
,MA.MU_DUTY_ID
,DATE_FORMAT(MA.START_DATE, '%Y-%m-%d') AS START_DATE
,DATE_FORMAT(MA.END_DATE, '%Y-%m-%d') AS END_DATE
,MA.ETC
,MA.CANCEL_ETC
,MA.WRITE_MEMBER_ID
,IFNULL((SELECT MM.NAME
FROM MU_MEMBER AS MM
WHERE MM.USE_YN = 'Y'
AND MM.MU_MEMBER_ID = MA.WRITE_MEMBER_ID
LIMIT 0, 1
),'') AS WRITE_MEMBER_NAME
FROM MU_ATTENDANCE AS MA
WHERE MA.USE_YN = 'Y'
AND MA.ATTENDANCE_TYPE = 'C'
AND DATE_FORMAT(MA.START_DATE,'%Y-%m') &lt;= #{holidayManagementSearchDate}
AND DATE_FORMAT(MA.END_DATE,'%Y-%m') &gt;= #{holidayManagementSearchDate}
) AS MA
WHERE 1=1
<if test="holidayManagementSearchGroupId != null and holidayManagementSearchGroupId != ''">
AND MU_GROUP_ID = #{holidayManagementSearchGroupId}
</if>
<if test="holidayManagementSearchDutyId != null and holidayManagementSearchDutyId != ''">
AND MU_DUTY_ID = #{holidayManagementSearchDutyId}
</if>
<if test="holidayManagementSearchKeywordParam != null and holidayManagementSearchKeywordParam != ''">
AND ((MEMBER_NAME LIKE CONCAT('%',TRIM(#{holidayManagementSearchKeywordParam}),'%'))
OR (WRITE_MEMBER_NAME LIKE CONCAT('%',TRIM(#{holidayManagementSearchKeywordParam}),'%'))
OR (ETC LIKE CONCAT('%',TRIM(#{holidayManagementSearchKeywordParam}),'%'))
OR (CANCEL_ETC LIKE CONCAT('%',TRIM(#{holidayManagementSearchKeywordParam}),'%')))
</if>
</select>
<select id="selectListHolidayManagement" parameterType="hashmap" resultType="hashmap">
SELECT MA.*
FROM (
SELECT MA.*
,CAST(@RNUM:=@RNUM + 1 AS CHAR) AS "rowNum"
FROM (
SELECT MU_ATTENDANCE_ID AS "muAttendanceId"
,MU_MEMBER_ID AS "muMemberId"
,MEMBER_NAME AS "memberName"
,LOGIN_ID AS "loginId"
,CONCAT(MEMBER_NAME, '(', LOGIN_ID, ')') AS "memberNameId"
,MU_GROUP_ID AS "muGroupId"
,IFNULL((SELECT MG.GROUP_NAME
FROM MU_GROUP AS MG
WHERE MG.USE_YN = 'Y'
AND MG.MU_GROUP_ID = MA.MU_GROUP_ID
LIMIT 0, 1
),'') AS "groupName"
,MA.MU_DUTY_ID AS "muDutyId"
,IFNULL((SELECT MD.DUTY_NAME
FROM MU_DUTY AS MD
WHERE MD.USE_YN = 'Y'
AND MD.MU_DUTY_ID = MA.MU_DUTY_ID
LIMIT 0, 1
),'') AS "dutyName"
,DATE_FORMAT(START_DATE, '%Y-%m-%d') AS "startDate"
,DATE_FORMAT(END_DATE, '%Y-%m-%d') AS "endDate"
,CASE WHEN (START_DATE = END_DATE) THEN DATE_FORMAT(START_DATE, '%Y-%m-%d')
ELSE CONCAT(DATE_FORMAT(START_DATE, '%Y-%m-%d')
,'~'
,DATE_FORMAT(END_DATE, '%Y-%m-%d'))
END AS "startEndDate"
,ABS(DATEDIFF(START_DATE, END_DATE))+1 AS "days"
,MA.STATUS AS "status"
,CASE MA.STATUS
WHEN 'C' THEN '등록'
WHEN 'U' THEN '등록(수정)'
WHEN 'D' THEN '취소'
ELSE ''
END AS "statusKorName"
,IFNULL(ETC, '') AS "etc"
,IFNULL(CANCEL_ETC, '') AS "cancelEtc"
,DATE_FORMAT(CANCEL_DATE, '%Y-%m-%d') AS "cancelDate"
,DATE_FORMAT(WRITE_DATE, '%Y-%m-%d') AS "writeDate"
FROM (
SELECT MA.MU_ATTENDANCE_ID
,MA.MU_MEMBER_ID
,IFNULL((SELECT MM.NAME
FROM MU_MEMBER AS MM
WHERE MM.USE_YN = 'Y'
AND MM.MU_MEMBER_ID = MA.MU_MEMBER_ID
LIMIT 0, 1
),'') AS MEMBER_NAME
,IFNULL((SELECT MM.LOGIN_ID
FROM MU_MEMBER AS MM
WHERE MM.USE_YN = 'Y'
AND MM.MU_MEMBER_ID = MA.MU_MEMBER_ID
LIMIT 0, 1
),'') AS LOGIN_ID
,MM.MU_GROUP_ID
,MM.MU_DUTY_ID
,MA.ATTENDANCE_TYPE
,MA.START_DATE
,MA.END_DATE
,MA.ATTENDANCE_TIME
,MA.ETC
,MA.STATUS
,MA.CANCEL_DATE
,MA.CANCEL_ETC
,MA.WRITE_DATE
,MA.WRITE_MEMBER_ID
,IFNULL((SELECT MM.NAME
FROM MU_MEMBER AS MM
WHERE MM.USE_YN = 'Y'
AND MM.MU_MEMBER_ID = MA.WRITE_MEMBER_ID
LIMIT 0, 1
),'') AS WRITE_MEMBER_NAME
FROM MU_ATTENDANCE AS MA
JOIN MU_MEMBER MM
ON MA.MU_MEMBER_ID = MM.MU_MEMBER_ID
AND MM.USE_YN='Y'
WHERE MA.USE_YN = 'Y'
AND MA.ATTENDANCE_TYPE = 'C'
AND DATE_FORMAT(MA.START_DATE,'%Y-%m') &lt;= #{holidayManagementSearchDate}
AND DATE_FORMAT(MA.END_DATE,'%Y-%m') &gt;= #{holidayManagementSearchDate}
) AS MA
WHERE 1=1
<if test="holidayManagementSearchGroupId != null and holidayManagementSearchGroupId != ''">
AND MU_GROUP_ID = #{holidayManagementSearchGroupId}
</if>
<if test="holidayManagementSearchDutyId != null and holidayManagementSearchDutyId != ''">
AND MU_DUTY_ID = #{holidayManagementSearchDutyId}
</if>
<if test="holidayManagementSearchKeywordParam != null and holidayManagementSearchKeywordParam != ''">
AND ((MEMBER_NAME LIKE CONCAT('%',TRIM(#{holidayManagementSearchKeywordParam}),'%'))
OR (WRITE_MEMBER_NAME LIKE CONCAT('%',TRIM(#{holidayManagementSearchKeywordParam}),'%'))
OR (ETC LIKE CONCAT('%',TRIM(#{holidayManagementSearchKeywordParam}),'%'))
OR (CANCEL_ETC LIKE CONCAT('%',TRIM(#{holidayManagementSearchKeywordParam}),'%')))
</if>
<choose>
<when test="holidayManagementSort != null and holidayManagementSort != ''">
ORDER BY ${holidayManagementSort}
</when>
<otherwise>
ORDER BY MA.WRITE_DATE DESC
</otherwise>
</choose>
LIMIT 18446744073709551615
) MA, (SELECT @RNUM:=0) R
WHERE 1 = 1
) MA
WHERE 1 = 1
LIMIT ${holidayManagementStart}, ${holidayManagementLimit}
</select>
<select id="selectListHolidayManagementExcel" parameterType="hashmap" resultType="hashmap">
SELECT MA.*
FROM (
SELECT MA.*
,CAST(@RNUM:=@RNUM + 1 AS CHAR) AS "rowNum"
FROM (
SELECT MU_ATTENDANCE_ID AS "muAttendanceId"
,MU_MEMBER_ID AS "muMemberId"
,MEMBER_NAME AS "memberName"
,LOGIN_ID AS "loginId"
,CONCAT(MEMBER_NAME, '(', LOGIN_ID, ')') AS "memberNameId"
,MU_GROUP_ID AS "muGroupId"
,IFNULL((SELECT MG.GROUP_NAME
FROM MU_GROUP AS MG
WHERE MG.USE_YN = 'Y'
AND MG.MU_GROUP_ID = MA.MU_GROUP_ID
LIMIT 0, 1
),'') AS "groupName"
,MU_DUTY_ID AS "muDutyId"
,IFNULL((SELECT MD.DUTY_NAME
FROM MU_DUTY AS MD
WHERE MD.USE_YN = 'Y'
AND MD.MU_DUTY_ID = MA.MU_DUTY_ID
LIMIT 0, 1
),'') AS "dutyName"
,DATE_FORMAT(START_DATE, '%Y-%m-%d') AS "startDate"
,DATE_FORMAT(END_DATE, '%Y-%m-%d') AS "endDate"
,CASE WHEN (START_DATE = END_DATE) THEN DATE_FORMAT(START_DATE, '%Y-%m-%d')
ELSE CONCAT(DATE_FORMAT(START_DATE, '%Y-%m-%d')
,'~'
,DATE_FORMAT(END_DATE, '%Y-%m-%d'))
END AS "startEndDate"
,ABS(DATEDIFF(START_DATE, END_DATE))+1 AS "days"
,MA.STATUS AS "status"
,CASE MA.STATUS
WHEN 'C' THEN '등록'
WHEN 'U' THEN '등록(수정)'
WHEN 'D' THEN '취소'
ELSE ''
END AS "statusKorName"
,IFNULL(ETC, '') AS "etc"
,IFNULL(CANCEL_ETC, '') AS "cancelEtc"
,DATE_FORMAT(CANCEL_DATE, '%Y-%m-%d') AS "cancelDate"
,DATE_FORMAT(WRITE_DATE, '%Y-%m-%d') AS "writeDate"
FROM (
SELECT MA.MU_ATTENDANCE_ID
,MA.MU_MEMBER_ID
,IFNULL((SELECT MM.NAME
FROM MU_MEMBER AS MM
WHERE MM.USE_YN = 'Y'
AND MM.MU_MEMBER_ID = MA.MU_MEMBER_ID
LIMIT 0, 1
),'') AS MEMBER_NAME
,IFNULL((SELECT MM.LOGIN_ID
FROM MU_MEMBER AS MM
WHERE MM.USE_YN = 'Y'
AND MM.MU_MEMBER_ID = MA.MU_MEMBER_ID
LIMIT 0, 1
),'') AS LOGIN_ID
,MM.MU_GROUP_ID
,MM.MU_DUTY_ID
,MA.ATTENDANCE_TYPE
,MA.START_DATE
,MA.END_DATE
,MA.ATTENDANCE_TIME
,MA.ETC
,MA.STATUS
,MA.CANCEL_DATE
,MA.CANCEL_ETC
,MA.WRITE_DATE
,MA.WRITE_MEMBER_ID
,IFNULL((SELECT MM.NAME
FROM MU_MEMBER AS MM
WHERE MM.USE_YN = 'Y'
AND MM.MU_MEMBER_ID = MA.WRITE_MEMBER_ID
LIMIT 0, 1
),'') AS WRITE_MEMBER_NAME
FROM MU_ATTENDANCE AS MA
JOIN MU_MEMBER MM
ON MA.MU_MEMBER_ID = MM.MU_MEMBER_ID
AND MM.USE_YN='Y'
WHERE MA.USE_YN = 'Y'
AND MA.ATTENDANCE_TYPE = 'C'
AND DATE_FORMAT(MA.START_DATE,'%Y-%m') &lt;= #{holidayManagementSearchDate}
AND DATE_FORMAT(MA.END_DATE,'%Y-%m') &gt;= #{holidayManagementSearchDate}
) AS MA
WHERE 1=1
<if test="holidayManagementSearchGroupId != null and holidayManagementSearchGroupId != ''">
AND MU_GROUP_ID = #{holidayManagementSearchGroupId}
</if>
<if test="holidayManagementSearchDutyId != null and holidayManagementSearchDutyId != ''">
AND MU_DUTY_ID = #{holidayManagementSearchDutyId}
</if>
<if test="holidayManagementSearchKeywordParam != null and holidayManagementSearchKeywordParam != ''">
AND ((MEMBER_NAME LIKE CONCAT('%',TRIM(#{holidayManagementSearchKeywordParam}),'%'))
OR (WRITE_MEMBER_NAME LIKE CONCAT('%',TRIM(#{holidayManagementSearchKeywordParam}),'%'))
OR (ETC LIKE CONCAT('%',TRIM(#{holidayManagementSearchKeywordParam}),'%'))
OR (CANCEL_ETC LIKE CONCAT('%',TRIM(#{holidayManagementSearchKeywordParam}),'%')))
</if>
<choose>
<when test="holidayManagementSort != null and holidayManagementSort != ''">
ORDER BY ${holidayManagementSort}
</when>
<otherwise>
ORDER BY MA.WRITE_DATE DESC
</otherwise>
</choose>
LIMIT 18446744073709551615
) MA, (SELECT @RNUM:=0) R
WHERE 1 = 1
) MA
WHERE 1 = 1
</select>
<select id="selectHolidayManagement" parameterType="hashmap" resultType="hashmap">
SELECT MA.MU_ATTENDANCE_ID AS "muAttendanceId"
,MA.MU_MEMBER_ID AS "muMemberId"
,IFNULL((SELECT MM.NAME
FROM MU_MEMBER AS MM
WHERE MM.USE_YN = 'Y'
AND MM.MU_MEMBER_ID = MA.MU_MEMBER_ID
LIMIT 0, 1
),'') AS "memberName"
,IFNULL((SELECT MM.LOGIN_ID
FROM MU_MEMBER AS MM
WHERE MM.USE_YN = 'Y'
AND MM.MU_MEMBER_ID = MA.MU_MEMBER_ID
LIMIT 0, 1
),'') AS "loginId"
,MA.MU_GROUP_ID AS "muGroupId"
,IFNULL((SELECT MG.GROUP_NAME
FROM MU_GROUP AS MG
WHERE MG.USE_YN = 'Y'
AND MG.MU_GROUP_ID = MA.MU_GROUP_ID
LIMIT 0, 1
),'') AS "groupName"
,MA.MU_DUTY_ID AS "muDutyId"
,IFNULL((SELECT MD.DUTY_NAME
FROM MU_DUTY AS MD
WHERE MD.USE_YN = 'Y'
AND MD.MU_DUTY_ID = MA.MU_DUTY_ID
LIMIT 0, 1
),'') AS "dutyName"
,DATE_FORMAT(MA.START_DATE, '%Y-%m-%d') AS "startDate"
,DATE_FORMAT(MA.END_DATE, '%Y-%m-%d') AS "endDate"
,ABS(DATEDIFF(MA.START_DATE, MA.END_DATE))+1 AS "days"
,MA.STATUS AS "status"
,CASE MA.STATUS
WHEN 'C' THEN '등록'
WHEN 'U' THEN '등록(수정)'
WHEN 'D' THEN '취소'
ELSE ''
END AS "statusKorName"
,IFNULL(MA.ETC, '') AS "etc"
,IFNULL(MA.CANCEL_ETC, '') AS "cancelEtc"
,DATE_FORMAT(MA.CANCEL_DATE, '%Y-%m-%d, %H:%i') AS "cancelDate"
,DATE_FORMAT(MA.WRITE_DATE, '%Y-%m-%d') AS "writeDate"
,DATE_FORMAT(MA.WRITE_TIME, '%H:%i') AS "writeTime"
,MA.WRITE_MEMBER_ID AS "writeMemberId"
,IFNULL((SELECT MM.NAME
FROM MU_MEMBER AS MM
WHERE MM.USE_YN = 'Y'
AND MM.MU_MEMBER_ID = MA.WRITE_MEMBER_ID
LIMIT 0, 1
),'') AS "writeMemberName"
,MA.CANCEL_MEMBER_ID AS "cancelMemberId"
,IFNULL((SELECT MM.NAME
FROM MU_MEMBER AS MM
WHERE MM.USE_YN = 'Y'
AND MM.MU_MEMBER_ID = MA.CANCEL_MEMBER_ID
LIMIT 0, 1
),'') AS "cancelMemberName"
FROM MU_ATTENDANCE AS MA
WHERE MA.USE_YN = 'Y'
AND MA.ATTENDANCE_TYPE = 'C'
AND MA.MU_ATTENDANCE_ID = #{muAttendanceId}
LIMIT 0, 1
</select>
<insert id="insertHolidayManagement" parameterType="hashmap">
<selectKey resultType="string" keyProperty="id" order="BEFORE">
SELECT CONCAT(#{muAttendanceId},LPAD((SELECT NEXTVAL(MU_ATTENDANCE_SEQ)), 11, 0))
</selectKey>
INSERT INTO MU_ATTENDANCE(
MU_ATTENDANCE_ID
,MU_MEMBER_ID
,MU_GROUP_ID
,MU_DUTY_ID
,ATTENDANCE_TYPE
,START_DATE
,END_DATE
,ETC
,STATUS
,WRITE_MEMBER_ID
,WRITE_DATE
,WRITE_TIME
,CUD_FLAG
,USE_YN
,REG_ID
,REG_DATE
,MOD_ID
,MOD_DATE
,T_ID
,T_DATE
)VALUES(
#{id}
,#{muMemberId}
,#{muGroupId}
,#{muDutyId}
,'C'
,#{startDate}
,#{endDate}
,#{etc, jdbcType=VARCHAR}
,'C'
,#{regId}
,CURDATE()
,CURTIME()
,'C'
,'Y'
,#{regId}
,NOW()
,#{modId}
,NOW()
,#{tId}
,#{tDate}
)
</insert>
<update id="updateHolidayManagement" parameterType="hashmap">
UPDATE MU_ATTENDANCE
SET MOD_ID = #{modId}
,MOD_DATE = NOW()
,CUD_FLAG = 'U'
,STATUS = 'U'
,START_DATE = #{startDate}
,ETC = #{etc, jdbcType=VARCHAR}
,END_DATE = #{endDate}
WHERE USE_YN = 'Y'
AND MU_ATTENDANCE_ID = #{muAttendanceId}
</update>
<update id="updateHolidayManagementCancel" parameterType="hashmap">
UPDATE MU_ATTENDANCE
SET MOD_ID = #{modId}
,MOD_DATE = NOW()
,CUD_FLAG = 'U'
,STATUS = 'D'
,CANCEL_MEMBER_ID = #{modId}
,CANCEL_DATE = NOW()
,CANCEL_ETC = #{cancelEtc}
WHERE USE_YN = 'Y'
AND MU_ATTENDANCE_ID = #{muAttendanceId}
</update>
<update id="updateHolidayManagementCancelEtc" parameterType="hashmap">
UPDATE MU_ATTENDANCE
SET MOD_ID = #{modId}
,MOD_DATE = NOW()
,CUD_FLAG = 'U'
,CANCEL_ETC = #{cancelEtc}
WHERE USE_YN = 'Y'
AND MU_ATTENDANCE_ID = #{muAttendanceId}
</update>
<update id="deleteHolidayManagement" parameterType="hashmap">
UPDATE MU_ATTENDANCE
SET MOD_ID = #{modId}
,MOD_DATE = NOW()
,CUD_FLAG = 'D'
,USE_YN = 'N'
WHERE USE_YN = 'Y'
AND MU_ATTENDANCE_ID = #{muAttendanceId}
</update>
</mapper>

View File

@@ -0,0 +1,86 @@
<?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="WebHospitalHoliday">
<select id="selectListHospitalHoliday" parameterType="hashmap" resultType="hashmap">
SELECT MHH.MU_HOSPITAL_HOLIDAY_ID AS "muHospitalHolidayId"
,MHH.MU_HOSPITAL_ID AS "muHospitalId"
,MHH.HOSPITAL_HOLIDAY_NAME AS "hospitalHolidayName"
,DATE_FORMAT(MHH.LOC_DATE, '%Y-%m-%d') AS "locDate"
,MHH.REPEAT_YN AS "repeatYn"
FROM MU_HOSPITAL_HOLIDAY AS MHH
WHERE MHH.USE_YN = 'Y'
AND MHH.MU_HOSPITAL_ID = #{muHospitalId}
</select>
<select id="selectHospitalHolidayDate" parameterType="hashmap" resultType="hashmap">
SELECT COUNT(*) AS "totalCount"
FROM MU_HOSPITAL_HOLIDAY AS MHH
WHERE MHH.USE_YN = 'Y'
AND MHH.MU_HOSPITAL_ID = #{muHospitalId}
AND MHH.LOC_DATE = #{locDate}
</select>
<insert id="insertHospitalHoliday" parameterType="hashmap">
<selectKey resultType="string" keyProperty="id" order="BEFORE">
SELECT CONCAT(#{muHospitalHolidayId},LPAD((SELECT NEXTVAL(MU_HOSPITAL_HOLIDAY_SEQ)), 10, 0))
</selectKey>
INSERT INTO MU_HOSPITAL_HOLIDAY(
MU_HOSPITAL_HOLIDAY_ID
,MU_HOSPITAL_ID
,HOSPITAL_HOLIDAY_NAME
,LOC_DATE
,REPEAT_YN
,WRITE_DATE
,WRITE_TIME
,CUD_FLAG
,USE_YN
,REG_ID
,REG_DATE
,MOD_ID
,MOD_DATE
,T_ID
,T_DATE
)VALUES(
#{id}
,#{muHospitalId}
,#{hospitalHolidayName}
,#{locDate}
,#{repeatYn}
,CURDATE()
,CURTIME()
,'C'
,'Y'
,#{regId}
,NOW()
,#{modId}
,NOW()
,#{tId}
,#{tDate}
)
</insert>
<update id="updateHospitalHoliday" parameterType="hashmap">
UPDATE MU_HOSPITAL_HOLIDAY
SET MOD_ID = #{modId}
,MOD_DATE = NOW()
,CUD_FLAG = 'U'
,HOSPITAL_HOLIDAY_NAME = #{hospitalHolidayName}
,LOC_DATE = #{locDate}
,REPEAT_YN = #{repeatYn}
WHERE USE_YN = 'Y'
AND MU_HOSPITAL_ID = #{muHospitalId}
AND MU_HOSPITAL_HOLIDAY_ID = #{muHospitalHolidayId}
</update>
<update id="deleteHospitalHoliday" parameterType="hashmap">
UPDATE MU_HOSPITAL_HOLIDAY
SET MOD_ID = #{modId}
,MOD_DATE = NOW()
,CUD_FLAG = 'D'
,USE_YN = 'N'
WHERE USE_YN = 'Y'
AND MU_HOSPITAL_ID = #{muHospitalId}
</update>
</mapper>

View File

@@ -0,0 +1,258 @@
<?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="WebHospital">
<select id="selectHospital" parameterType="hashmap" resultType="hashmap">
SELECT MH.MU_HOSPITAL_ID AS "muHospitalId"
,MH.HOSPITAL_NAME AS "hospitalName"
,MH.MON_OPEN_YN AS "monOpenYn"
,DATE_FORMAT(MH.MON_OPEN_START_TIME , '%H:%i') AS "monOpenStartTime"
,DATE_FORMAT(MH.MON_OPEN_END_TIME , '%H:%i') AS "monOpenEndTime"
,DATE_FORMAT(MH.MON_BREAK_START_TIME, '%H:%i') AS "monBreakStartTime"
,DATE_FORMAT(MH.MON_BREAK_END_TIME , '%H:%i') AS "monBreakEndTime"
,MH.TUE_OPEN_YN AS "tueOpenYn"
,DATE_FORMAT(MH.TUE_OPEN_START_TIME , '%H:%i') AS "tueOpenStartTime"
,DATE_FORMAT(MH.TUE_OPEN_END_TIME , '%H:%i') AS "tueOpenEndTime"
,DATE_FORMAT(MH.TUE_BREAK_START_TIME, '%H:%i') AS "tueBreakStartTime"
,DATE_FORMAT(MH.TUE_BREAK_END_TIME , '%H:%i') AS "tueBreakEndTime"
,MH.WED_OPEN_YN AS "wedOpenYn"
,DATE_FORMAT(MH.WED_OPEN_START_TIME , '%H:%i') AS "wedOpenStartTime"
,DATE_FORMAT(MH.WED_OPEN_END_TIME , '%H:%i') AS "wedOpenEndTime"
,DATE_FORMAT(MH.WED_BREAK_START_TIME, '%H:%i') AS "wedBreakStartTime"
,DATE_FORMAT(MH.WED_BREAK_END_TIME , '%H:%i') AS "wedBreakEndTime"
,MH.THU_OPEN_YN AS "thuOpenYn"
,DATE_FORMAT(MH.THU_OPEN_START_TIME , '%H:%i') AS "thuOpenStartTime"
,DATE_FORMAT(MH.THU_OPEN_END_TIME , '%H:%i') AS "thuOpenEndTime"
,DATE_FORMAT(MH.THU_BREAK_START_TIME, '%H:%i') AS "thuBreakStartTime"
,DATE_FORMAT(MH.THU_BREAK_END_TIME , '%H:%i') AS "thuBreakEndTime"
,MH.FRI_OPEN_YN AS "friOpenYn"
,DATE_FORMAT(MH.FRI_OPEN_START_TIME , '%H:%i') AS "friOpenStartTime"
,DATE_FORMAT(MH.FRI_OPEN_END_TIME , '%H:%i') AS "friOpenEndTime"
,DATE_FORMAT(MH.FRI_BREAK_START_TIME, '%H:%i') AS "friBreakStartTime"
,DATE_FORMAT(MH.FRI_BREAK_END_TIME , '%H:%i') AS "friBreakEndTime"
,MH.SAT_OPEN_YN AS "satOpenYn"
,DATE_FORMAT(MH.SAT_OPEN_START_TIME , '%H:%i') AS "satOpenStartTime"
,DATE_FORMAT(MH.SAT_OPEN_END_TIME , '%H:%i') AS "satOpenEndTime"
,DATE_FORMAT(MH.SAT_BREAK_START_TIME, '%H:%i') AS "satBreakStartTime"
,DATE_FORMAT(MH.SAT_BREAK_END_TIME , '%H:%i') AS "satBreakEndTime"
,MH.SUN_OPEN_YN AS "sunOpenYn"
,DATE_FORMAT(MH.SUN_OPEN_START_TIME , '%H:%i') AS "sunOpenStartTime"
,DATE_FORMAT(MH.SUN_OPEN_END_TIME , '%H:%i') AS "sunOpenEndTime"
,DATE_FORMAT(MH.SUN_BREAK_START_TIME, '%H:%i') AS "sunBreakStartTime"
,DATE_FORMAT(MH.SUN_BREAK_END_TIME , '%H:%i') AS "sunBreakEndTime"
,MH.PUBLIC_HOLIDAY_USE_YN AS "publicHolidayUseYn"
,IFNULL((SELECT CONCAT(MM.NAME,'(',MM.LOGIN_ID,')') AS MEMBER_NAME
FROM MU_MEMBER AS MM
WHERE MM.USE_YN = 'Y'
AND MM.MU_MEMBER_ID = MH.MU_MEMBER_ID
LIMIT 0, 1
),'') AS "memberName"
FROM MU_HOSPITAL AS MH
WHERE MH.USE_YN = 'Y'
LIMIT 0, 1
</select>
<select id="selectHospitalWeek" parameterType="hashmap" resultType="hashmap">
SELECT MH.MU_HOSPITAL_ID AS "muHospitalId"
,MH.HOSPITAL_NAME AS "hospitalName"
,CASE DAYOFWEEK(DATE_FORMAT(#{searchDate}, '%Y-%m-%d'))
WHEN '2' THEN MH.MON_OPEN_YN
WHEN '3' THEN MH.TUE_OPEN_YN
WHEN '4' THEN MH.WED_OPEN_YN
WHEN '5' THEN MH.THU_OPEN_YN
WHEN '6' THEN MH.FRI_OPEN_YN
WHEN '7' THEN MH.SAT_OPEN_YN
WHEN '1' THEN MH.SUN_OPEN_YN
END AS "openYn"
,CASE
WHEN EXISTS (
SELECT 1
FROM MU_HOSPITAL_HOLIDAY MH
WHERE MH.USE_YN = 'Y'
AND (
(MH.REPEAT_YN = 'Y' AND DATE_FORMAT(MH.LOC_DATE, '%m-%d') = DATE_FORMAT(#{searchDate}, '%m-%d'))
OR
(MH.REPEAT_YN = 'N' AND MH.LOC_DATE = #{searchDate})
)) OR
EXISTS (
SELECT 1
FROM MU_PUBLIC_HOLIDAY MPH
JOIN MU_HOSPITAL
ON PUBLIC_HOLIDAY_USE_YN='Y'
WHERE MPH.USE_YN = 'Y'
AND MPH.LOC_DATE = #{searchDate}
)
THEN 'Y'
ELSE 'N'
END AS "holidayYn"
,CASE DAYOFWEEK(DATE_FORMAT(#{searchDate}, '%Y-%m-%d'))
WHEN '2' THEN MH.MON_OPEN_START_TIME
WHEN '3' THEN MH.TUE_OPEN_START_TIME
WHEN '4' THEN MH.WED_OPEN_START_TIME
WHEN '5' THEN MH.THU_OPEN_START_TIME
WHEN '6' THEN MH.FRI_OPEN_START_TIME
WHEN '7' THEN MH.SAT_OPEN_START_TIME
WHEN '1' THEN MH.SUN_OPEN_START_TIME
END AS "openStartTime"
,CASE DAYOFWEEK(DATE_FORMAT(#{searchDate}, '%Y-%m-%d'))
WHEN '2' THEN MH.MON_OPEN_END_TIME
WHEN '3' THEN MH.TUE_OPEN_END_TIME
WHEN '4' THEN MH.WED_OPEN_END_TIME
WHEN '5' THEN MH.THU_OPEN_END_TIME
WHEN '6' THEN MH.FRI_OPEN_END_TIME
WHEN '7' THEN MH.SAT_OPEN_END_TIME
WHEN '1' THEN MH.SUN_OPEN_END_TIME
END AS "openEndTime"
,CASE DAYOFWEEK(DATE_FORMAT(#{searchDate}, '%Y-%m-%d'))
WHEN '2' THEN MH.MON_BREAK_START_TIME
WHEN '3' THEN MH.TUE_BREAK_START_TIME
WHEN '4' THEN MH.WED_BREAK_START_TIME
WHEN '5' THEN MH.THU_BREAK_START_TIME
WHEN '6' THEN MH.FRI_BREAK_START_TIME
WHEN '7' THEN MH.SAT_BREAK_START_TIME
WHEN '1' THEN MH.SUN_BREAK_START_TIME
END AS "breakStartTime"
,CASE DAYOFWEEK(DATE_FORMAT(#{searchDate}, '%Y-%m-%d'))
WHEN '2' THEN MH.MON_BREAK_END_TIME
WHEN '3' THEN MH.TUE_BREAK_END_TIME
WHEN '4' THEN MH.WED_BREAK_END_TIME
WHEN '5' THEN MH.THU_BREAK_END_TIME
WHEN '6' THEN MH.FRI_BREAK_END_TIME
WHEN '7' THEN MH.SAT_BREAK_END_TIME
WHEN '1' THEN MH.SUN_BREAK_END_TIME
END AS "breakEndTime"
FROM MU_HOSPITAL AS MH
WHERE MH.USE_YN = 'Y'
LIMIT 0, 1
</select>
<select id="selectHospitalWeek2" parameterType="hashmap" resultType="hashmap">
WITH RECURSIVE T_TEMP_DATES AS (
SELECT #{startDate} AS RESULT_DATE
UNION ALL
SELECT DATE_ADD(RESULT_DATE, INTERVAL 1 DAY)
FROM T_TEMP_DATES
WHERE RESULT_DATE &lt; #{endDate}
)
SELECT TTD.OPEN_YN AS "openYn"
,TTD.HOLIDAY_YN AS "holidayYn"
FROM (
SELECT TTD.RESULT_DATE AS RESULT_DATE
,TTD.DAY_OF_WEEK AS DAY_OF_WEEK
,CASE
WHEN TTD.DAY_OF_WEEK = '1'
THEN MH.SUN_OPEN_YN
WHEN TTD.DAY_OF_WEEK = '2'
THEN MH.MON_OPEN_YN
WHEN TTD.DAY_OF_WEEK = '3'
THEN MH.TUE_OPEN_YN
WHEN TTD.DAY_OF_WEEK = '4'
THEN MH.WED_OPEN_YN
WHEN TTD.DAY_OF_WEEK = '5'
THEN MH.THU_OPEN_YN
WHEN TTD.DAY_OF_WEEK = '6'
THEN MH.FRI_OPEN_YN
WHEN TTD.DAY_OF_WEEK = '7'
THEN MH.SAT_OPEN_YN
ELSE 'N'
END AS OPEN_YN
,CASE
WHEN EXISTS(
SELECT 1
FROM MU_HOSPITAL_HOLIDAY AS MH
WHERE MH.USE_YN = 'Y'
AND ((MH.REPEAT_YN = 'Y' AND DATE_FORMAT(MH.LOC_DATE, '%m-%d') = DATE_FORMAT(TTD.RESULT_DATE, '%m-%d'))
OR
(MH.REPEAT_YN = 'N' AND MH.LOC_DATE = TTD.RESULT_DATE))
)
OR EXISTS(
SELECT 1
FROM MU_PUBLIC_HOLIDAY AS MPH
JOIN MU_HOSPITAL
ON PUBLIC_HOLIDAY_USE_YN='Y'
WHERE MPH.USE_YN = 'Y'
AND MPH.LOC_DATE = TTD.RESULT_DATE
)
THEN 'Y'
ELSE 'N'
END AS HOLIDAY_YN
FROM (
SELECT TTD.RESULT_DATE AS RESULT_DATE
,DAYOFWEEK(TTD.RESULT_DATE) AS DAY_OF_WEEK
FROM T_TEMP_DATES AS TTD
ORDER BY TTD.RESULT_DATE ASC
) AS TTD
LEFT JOIN MU_HOSPITAL AS MH
ON 1 = 1
) AS TTD
</select>
<select id="selectHospitalHoliday" parameterType="hashmap" resultType="hashmap">
SELECT 'hospitalHoliday' AS dateType
, DATE_FORMAT(LOC_DATE, '%Y.%m.%d') AS locDate
FROM MU_HOSPITAL_HOLIDAY MH
WHERE MH.USE_YN = 'Y'
AND (
(MH.REPEAT_YN = 'Y')
OR
(MH.REPEAT_YN = 'N' AND DATE_FORMAT( MH.LOC_DATE, '%Y' ) >= DATE_FORMAT( CURDATE( ), '%Y' ))
)
UNION
(
SELECT 'publicHoliday' AS dateType
, DATE_FORMAT(LOC_DATE, '%Y.%m.%d') AS locDate
FROM MU_PUBLIC_HOLIDAY MPH
JOIN MU_HOSPITAL
ON PUBLIC_HOLIDAY_USE_YN='Y'
WHERE MPH.USE_YN = 'Y'
AND DATE_FORMAT( MPH.LOC_DATE, '%Y' ) >= DATE_FORMAT( CURDATE( ), '%Y' )
)
</select>
<update id="updateHospital" parameterType="hashmap">
UPDATE MU_HOSPITAL
SET MOD_ID = #{modId}
,MOD_DATE = NOW()
,CUD_FLAG = 'U'
,MON_OPEN_YN = #{monOpenYn}
,MON_OPEN_START_TIME = #{monOpenStartTime}
,MON_OPEN_END_TIME = #{monOpenEndTime}
,MON_BREAK_START_TIME = #{monBreakStartTime}
,MON_BREAK_END_TIME = #{monBreakEndTime}
,TUE_OPEN_YN = #{tueOpenYn}
,TUE_OPEN_START_TIME = #{tueOpenStartTime}
,TUE_OPEN_END_TIME = #{tueOpenEndTime}
,TUE_BREAK_START_TIME = #{tueBreakStartTime}
,TUE_BREAK_END_TIME = #{tueBreakEndTime}
,WED_OPEN_YN = #{wedOpenYn}
,WED_OPEN_START_TIME = #{wedOpenStartTime}
,WED_OPEN_END_TIME = #{wedOpenEndTime}
,WED_BREAK_START_TIME = #{wedBreakStartTime}
,WED_BREAK_END_TIME = #{wedBreakEndTime}
,THU_OPEN_YN = #{thuOpenYn}
,THU_OPEN_START_TIME = #{thuOpenStartTime}
,THU_OPEN_END_TIME = #{thuOpenEndTime}
,THU_BREAK_START_TIME = #{thuBreakStartTime}
,THU_BREAK_END_TIME = #{thuBreakEndTime}
,FRI_OPEN_YN = #{friOpenYn}
,FRI_OPEN_START_TIME = #{friOpenStartTime}
,FRI_OPEN_END_TIME = #{friOpenEndTime}
,FRI_BREAK_START_TIME = #{friBreakStartTime}
,FRI_BREAK_END_TIME = #{friBreakEndTime}
,SAT_OPEN_YN = #{satOpenYn}
,SAT_OPEN_START_TIME = #{satOpenStartTime}
,SAT_OPEN_END_TIME = #{satOpenEndTime}
,SAT_BREAK_START_TIME = #{satBreakStartTime}
,SAT_BREAK_END_TIME = #{satBreakEndTime}
,SUN_OPEN_YN = #{sunOpenYn}
,SUN_OPEN_START_TIME = #{sunOpenStartTime}
,SUN_OPEN_END_TIME = #{sunOpenEndTime}
,SUN_BREAK_START_TIME = #{sunBreakStartTime}
,SUN_BREAK_END_TIME = #{sunBreakEndTime}
,PUBLIC_HOLIDAY_USE_YN = #{publicHolidayUseYn}
WHERE USE_YN = 'Y'
AND MU_HOSPITAL_ID = #{muHospitalId}
</update>
</mapper>

View File

@@ -0,0 +1,254 @@
<?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="WebKakao">
<select id="selectTotalKakaoCount" parameterType="hashmap" resultType="hashmap">
SELECT COUNT(*) AS "totalCount"
FROM MU_KAKAO AS MK
INNER JOIN MU_USER AS MU
ON MK.MU_USER_ID = MU.MU_USER_ID
AND MK.USE_YN = 'Y'
AND MU.USE_YN = 'Y'
<if test="kakaoSearchStartDate != null and kakaoSearchStartDate != '' and kakaoSearchEndDate != null and kakaoSearchEndDate != ''">
AND DATE_FORMAT(MK.SEND_DATE, '%Y-%m-%d') &gt;= #{kakaoSearchStartDate}
AND DATE_FORMAT(MK.SEND_DATE, '%Y-%m-%d') &lt;= #{kakaoSearchEndDate}
</if>
<if test="kakaoSearchKeywordParam != null and kakaoSearchKeywordParam != ''">
AND MU.USER_NAME LIKE CONCAT('%',TRIM(#{kakaoSearchKeywordParam}),'%')
</if>
</select>
<select id="selectListKakao" parameterType="hashmap" resultType="hashmap">
SELECT MK.*
FROM (
SELECT MK.*
,CAST(@RNUM:=@RNUM + 1 AS CHAR) AS "rowNum"
FROM (
SELECT MK.MU_KAKAO_ID AS "muKakaoId"
,MU.USER_NAME AS "userName"
,(SELECT MCI.CATEGORY_ITEM_NAME
FROM MU_CATEGORY_ITEM AS MCI
WHERE MCI.USE_YN = 'Y'
AND MCI.MU_CATEGORY_ITEM_ID = MU.NATIONALITY
LIMIT 0, 1) AS "nationality"
,DATE_FORMAT(MU.BIRTHDAY, '%Y-%m-%d') AS "birthday"
,TIMESTAMPDIFF(YEAR, MU.BIRTHDAY, CURDATE()) - (DATE_FORMAT(CURDATE(), '%m%d') <![CDATA[ < ]]> DATE_FORMAT(MU.BIRTHDAY, '%m%d'))
AS "age"
,CASE
WHEN MU.GENDER = 'M'
THEN '남'
WHEN MU.GENDER = 'F'
THEN '여'
ELSE ''
END AS "gender"
,IFNULL((SELECT MCI.FILE_PATH
FROM MU_CATEGORY_ITEM AS MCI
WHERE MCI.USE_YN = 'Y'
AND MCI.MU_CATEGORY_ITEM_ID = MU.USER_TYPE
LIMIT 0, 1), MU.USER_TYPE2) AS "userType"
,(SELECT MKT.TITLE
FROM MU_KAKAO_TEMPLATE AS MKT
WHERE MKT.USE_YN = 'Y'
AND MKT.TEMPLATE_CODE = MK.TEMPLATE_CODE
LIMIT 0, 1) AS "kakaoTemplateTitle"
,CASE
WHEN MK.POPBILL_STATE = '0'
THEN '접수'
WHEN MK.POPBILL_STATE = '1'
THEN '대기중'
WHEN MK.POPBILL_STATE = '2'
THEN '처리중'
WHEN MK.POPBILL_STATE = '3'
THEN '완료'
WHEN MK.POPBILL_STATE = '4'
THEN '취소'
ELSE ''
END AS "popbillState"
,MK.POPBILL_RESULT AS "popbillResult"
,(SELECT MM.NAME
FROM MU_MEMBER AS MM
WHERE MM.USE_YN = 'Y'
AND MM.MU_MEMBER_ID = MK.REG_ID
LIMIT 0, 1) AS "memberName"
,DATE_FORMAT(MK.SEND_DATE, '%Y-%m-%d') AS "sendDate"
FROM MU_KAKAO AS MK
INNER JOIN MU_USER AS MU
ON MK.MU_USER_ID = MU.MU_USER_ID
AND MK.USE_YN = 'Y'
AND MU.USE_YN = 'Y'
<if test="kakaoSearchStartDate != null and kakaoSearchStartDate != '' and kakaoSearchEndDate != null and kakaoSearchEndDate != ''">
AND DATE_FORMAT(MK.SEND_DATE, '%Y-%m-%d') &gt;= #{kakaoSearchStartDate}
AND DATE_FORMAT(MK.SEND_DATE, '%Y-%m-%d') &lt;= #{kakaoSearchEndDate}
</if>
<if test="kakaoSearchKeywordParam != null and kakaoSearchKeywordParam != ''">
AND MU.USER_NAME LIKE CONCAT('%',TRIM(#{kakaoSearchKeywordParam}),'%')
</if>
<choose>
<when test="kakaoSort != null and kakaoSort != ''">
ORDER BY ${kakaoSort}
</when>
<otherwise>
ORDER BY MK.SEND_DATE DESC
</otherwise>
</choose>
LIMIT 18446744073709551615
) MK, (SELECT @RNUM:=0) R
WHERE 1 = 1
) MK
WHERE 1 = 1
LIMIT ${kakaoStart}, ${kakaoLimit}
</select>
<!-- Kakao 리스트 조회 Template -->
<select id="selectListKakaoTemplate" parameterType="hashmap" resultType="hashmap">
SELECT MK.SENDER AS "sender"
,MK.TEMPLATE_CODE AS "templateCode"
,MIN(MK.REG_DATE) AS "minRegDate"
FROM MU_KAKAO AS MK
WHERE MK.USE_YN = 'Y'
AND MK.STATE = #{state}
GROUP BY MK.SENDER
,MK.TEMPLATE_CODE
ORDER BY minRegDate ASC
</select>
<!-- Kakao 리스트 조회 State -->
<select id="selectListKakaoState" parameterType="hashmap" resultType="hashmap">
SELECT MK.MU_KAKAO_ID AS "muKakaoId"
,MK.STATE AS "state"
,MK.USER_NAME AS "userName"
,IFNULL(DATE_FORMAT(MK.SEND_DATE, '%Y-%m-%d'), '') AS "sendDate"
,MK.RECEIVER AS "receiver"
,MK.SENDER AS "sender"
,MK.CONTENT AS "content"
,MK.TEMPLATE_CODE AS "templateCode"
FROM MU_KAKAO AS MK
WHERE MK.USE_YN = 'Y'
AND MK.STATE = #{state}
AND MK.SENDER = #{sender}
AND MK.TEMPLATE_CODE = #{templateCode}
</select>
<select id="selectListPopbillState" parameterType="hashmap" resultType="hashmap">
SELECT MK.RECEIPT_NUMBER AS "receiptNumber"
FROM MU_KAKAO AS MK
WHERE MK.USE_YN = 'Y'
AND MK.STATE = 'Y'
AND MK.POPBILL_STATE = #{popbillState}
AND MK.RECEIVER IS NOT NULL
AND MK.RECEIVER NOT IN ('', '010-')
AND MK.RECEIPT_NUMBER IS NOT NULL
GROUP BY MK.RECEIPT_NUMBER
</select>
<select id="selectKakao" parameterType="hashmap" resultType="hashmap">
SELECT MK.MU_KAKAO_ID AS "muKakaoId"
,MK.MU_MEMBER_ID AS "muMemberId"
,MK.TITLE AS "title"
,MK.CONTENT AS "content"
,DATE_FORMAT(MK.OPEN_DATE, '%Y-%m-%d') AS "openDate"
,DATE_FORMAT(MK.OPEN_DATE, '%H:%i') AS "openTime"
,DATE_FORMAT(MK.WRITE_DATE, '%Y-%m-%d') AS "writeDate"
FROM MU_KAKAO AS MK
WHERE MK.USE_YN = 'Y'
AND MK.MU_KAKAO_ID = #{muKakaoId}
LIMIT 0, 1
</select>
<insert id="insertKakao" parameterType="hashmap">
<selectKey resultType="string" keyProperty="id" order="BEFORE">
SELECT CONCAT(#{muKakaoId},LPAD((SELECT NEXTVAL(MU_KAKAO_SEQ)), 11, 0))
</selectKey>
INSERT INTO MU_KAKAO(
MU_KAKAO_ID
,MU_USER_ID
,USER_NAME
,RECEIVER
,TEMPLATE_CODE
,CONTENT
,STATE
,POPBILL_STATE
,SENDER
,WRITE_DATE
,WRITE_TIME
,CUD_FLAG
,USE_YN
,REG_ID
,REG_DATE
,MOD_ID
,MOD_DATE
,T_ID
,T_DATE
)VALUES(
#{id}
,#{muUserId, jdbcType=VARCHAR}
,#{userName, jdbcType=VARCHAR}
,#{phoneNumber, jdbcType=VARCHAR}
,#{templateCode, jdbcType=VARCHAR}
,#{content, jdbcType=VARCHAR}
,#{state, jdbcType=VARCHAR}
,#{popbillState, jdbcType=VARCHAR}
,#{sender, jdbcType=VARCHAR}
,NOW()
,NOW()
,'C'
,'Y'
,#{regId}
,NOW()
,#{modId}
,NOW()
,#{tId}
,#{tDate}
)
</insert>
<update id="updateKakao" parameterType="hashmap">
UPDATE MU_KAKAO
SET MOD_ID = #{modId}
,MOD_DATE = NOW()
,CUD_FLAG = 'U'
,TITLE = #{title}
,CONTENT = #{content}
,OPEN_DATE = #{openDate}
WHERE USE_YN = 'Y'
AND MU_KAKAO_ID = #{muKakaoId}
</update>
<update id="updateKakaoState" parameterType="hashmap">
UPDATE MU_KAKAO
SET USE_YN = 'Y'
,MOD_ID = #{modId}
,MOD_DATE = NOW()
,CUD_FLAG = 'U'
,STATE = #{chgState, jdbcType=VARCHAR}
<choose>
<when test="sendDateYn eq 'Y'.toString()">
,SEND_DATE = NOW()
</when>
<otherwise>
</otherwise>
</choose>
<if test="receiptNum != null and receiptNum != ''">
,RECEIPT_NUMBER = #{receiptNum, jdbcType=VARCHAR}
</if>
WHERE USE_YN = 'Y'
AND MU_KAKAO_ID = #{muKakaoId}
AND STATE = #{oldState}
</update>
<update id="updateKakaoPopbillState" parameterType="hashmap">
UPDATE MU_KAKAO
SET MOD_ID = #{modId}
,MOD_DATE = NOW()
,CUD_FLAG = 'U'
,POPBILL_STATE = #{state, jdbcType=VARCHAR}
,POPBILL_RESULT = #{result, jdbcType=VARCHAR}
WHERE USE_YN = 'Y'
AND POPBILL_STATE = #{popbillState}
AND RECEIPT_NUMBER = #{receiptNumber}
AND REPLACE(RECEIVER, '-', '') = #{receiveNumber}
AND USER_NAME = #{receiveName}
AND TEMPLATE_CODE = #{templateCode}
</update>
</mapper>

View File

@@ -0,0 +1,24 @@
<?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="WebKakaoTemplate">
<select id="selectListKakaoTemplateOption" parameterType="hashmap" resultType="hashmap">
SELECT MKT.MU_KAKAO_TEMPLATE_ID AS "muKakaoTemplateId"
,MKT.TEMPLATE_CODE AS "templateCode"
,MKT.TITLE AS "title"
FROM MU_KAKAO_TEMPLATE AS MKT
WHERE MKT.USE_YN = 'Y'
ORDER BY TITLE ASC
</select>
<select id="selectKakaoTemplate" parameterType="hashmap" resultType="hashmap">
SELECT MKT.MU_KAKAO_TEMPLATE_ID AS "muKakaoTemplateId"
,MKT.TEMPLATE_CODE AS "templateCode"
,MKT.TITLE AS "title"
,MKT.CONTENT AS "content"
FROM MU_KAKAO_TEMPLATE AS MKT
WHERE MKT.USE_YN = 'Y'
AND MKT.TEMPLATE_CODE = #{templateCode}
LIMIT 0, 1
</select>
</mapper>

View File

@@ -0,0 +1,124 @@
<?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="WebLogHistory">
<select id="selectTotalLogHistoryCount" parameterType="hashmap" resultType="hashmap">
SELECT COUNT(*) AS "totalCount"
FROM MU_LOG_HISTORY AS MLH
WHERE MLH.USE_YN = 'Y'
</select>
<select id="selectListLogHistory" parameterType="hashmap" resultType="hashmap">
SELECT MU_LOG_HISTORY_ID AS "muLogHistoryId"
,WRITE_DATE AS "writeDate"
,RNUM AS "rowNum"
FROM (
SELECT MU_LOG_HISTORY_ID
,WRITE_DATE
,CAST(@RNUM:=@RNUM + 1 AS CHAR) AS RNUM
FROM (
SELECT MLH.MU_LOG_HISTORY_ID
,DATE_FORMAT(MLH.WRITE_DATE, '%Y-%m-%d') AS WRITE_DATE
FROM MU_LOG_HISTORY MLH
WHERE MLH.USE_YN = 'Y'
ORDER BY MLH.WRITE_DATE DESC
LIMIT 18446744073709551615
) MLH, (SELECT @RNUM:=0) R
WHERE 1 = 1
) MLH
WHERE 1 = 1
LIMIT ${start}, ${limit}
</select>
<select id="selectLogHistory" parameterType="hashmap" resultType="hashmap">
SELECT MLH.MU_LOG_HISTORY_ID AS "muLogHistoryId"
,MLH.MU_MEMBER_ID AS "muMemberId"
,DATE_FORMAT(MLH.WRITE_DATE, '%Y-%m-%d') AS "writeDate"
FROM MU_LOG_HISTORY MLH
WHERE MLH.USE_YN = 'Y'
AND MLH.MU_LOG_HISTORY_ID = #{muLogHistoryId}
LIMIT 0, 1
</select>
<insert id="insertLogHistory" parameterType="hashmap">
<selectKey resultType="string" keyProperty="id" order="BEFORE">
SELECT CONCAT(#{muLogHistoryId},LPAD((SELECT NEXTVAL(MU_LOG_HISTORY_SEQ)), 11, 0))
</selectKey>
INSERT INTO MU_LOG_HISTORY(
MU_LOG_HISTORY_ID
,MU_MEMBER_ID
,VISIT_IP
,VISIT_ORIGIN_AGENT
,VISIT_AGENT
,VISIT_OS
,URL
,FUNC
,SERVICE
,FUNC_NAME
,SERVICE_NAME
,REQUEST_VALUE
,RESPONSE_VALUE
,RESULT_CODE
,RESULT_MSG
,WRITE_DATE
,WRITE_TIME
,CUD_FLAG
,USE_YN
,REG_ID
,REG_DATE
,MOD_ID
,MOD_DATE
,T_ID
,T_DATE
)VALUES(
#{id}
,#{muMemberId}
,#{visitIp,jdbcType=VARCHAR}
,#{visitOriginAgent,jdbcType=VARCHAR}
,#{visitAgent,jdbcType=VARCHAR}
,#{visitOs,jdbcType=VARCHAR}
,#{url,jdbcType=VARCHAR}
,#{func,jdbcType=VARCHAR}
,#{service,jdbcType=VARCHAR}
,#{funcName,jdbcType=VARCHAR}
,#{serviceName,jdbcType=VARCHAR}
,#{requestValue}
,#{responseValue}
,#{resultCode,jdbcType=VARCHAR}
,#{resultMsg,jdbcType=VARCHAR}
,CURDATE()
,CURTIME()
,'C'
,'Y'
,#{regId}
,NOW()
,#{modId}
,NOW()
,#{tId}
,#{tDate}
)
</insert>
<update id="updateLogHistory" parameterType="hashmap">
UPDATE MU_LOG_HISTORY
SET MOD_ID = #{modId}
,MOD_DATE = NOW()
,CUD_FLAG = 'U'
,TITLE = #{title}
,CONTENT = #{content}
,WRITE_NAME = #{writeName}
,WRITE_DATE = #{writeDate}
WHERE USE_YN = 'Y'
AND MU_LOG_HISTORY_ID = #{muLogHistoryId}
</update>
<update id="deleteLogHistory" parameterType="hashmap">
UPDATE MU_LOG_HISTORY
SET MOD_ID = #{modId}
,MOD_DATE = NOW()
,CUD_FLAG = 'D'
,USE_YN = 'N'
WHERE USE_YN = 'Y'
AND MU_LOG_HISTORY_ID = #{muLogHistoryId}
</update>
</mapper>

View File

@@ -0,0 +1,41 @@
<?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="WebLogin">
<!-- 사용자 로그인 -->
<select id="memberLogin" parameterType="hashmap" resultType="hashmap">
SELECT MU.MU_MEMBER_ID AS "muMemberId"
,MU.LOGIN_ID AS "loginId"
,MU.PASSWORD AS "password"
,MU.NAME AS "name"
,MU.PHONE_NUMBER AS "phoneNumber"
,MU.MU_AUTH_ID AS "type"
,MU.STATUS AS "status"
FROM MU_MEMBER AS MU
WHERE MU.USE_YN = 'Y'
AND MU.LOGIN_ID = #{loginId}
AND MU.PASSWORD = #{password}
</select>
<!-- 로그인 아이디 중복체크 -->
<select id="checkloginId" parameterType="hashmap" resultType="hashmap">
SELECT MU.MU_MEMBER_ID AS "muMemberId"
FROM MU_MEMBER AS MU
WHERE MU.USE_YN = 'Y'
AND MU.LOGIN_ID = #{loginId}
<if test="muMemberId != null and muMemberId != ''">
AND MU.MU_MEMBER_ID != #{muMemberId}
</if>
</select>
<update id="updateLastLoginDate" parameterType="hashmap">
UPDATE MU_MEMBER
SET MOD_DATE = NOW()
,MOD_ID = #{modId}
,LAST_LOGIN_DATE = NOW()
,IP = #{visitIp,jdbcType=VARCHAR}
WHERE USE_YN = 'Y'
AND MU_MEMBER_ID = #{muMemberId}
</update>
</mapper>

View File

@@ -0,0 +1,203 @@
<?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="WebMainBanner">
<select id="selectTotalWebMainBannerCount" parameterType="hashmap" resultType="hashmap">
SELECT COUNT(*) AS "totalCount"
FROM MU_WEB_MAIN_BANNER AS MWMB
WHERE MWMB.USE_YN = 'Y'
<if test="webMainBannerSearchType != null and webMainBannerSearchType != ''">
AND MWMB.BANNER_TYPE = #{webMainBannerSearchType}
</if>
<if test="webMainBannerSearchStartDate != null and webMainBannerSearchStartDate != '' and webMainBannerSearchEndDate != null and webMainBannerSearchEndDate != ''">
AND DATE_FORMAT(MWMB.WRITE_DATE, '%Y-%m-%d') &gt;= #{webMainBannerSearchStartDate}
AND DATE_FORMAT(MWMB.WRITE_DATE, '%Y-%m-%d') &lt;= #{webMainBannerSearchEndDate}
</if>
<if test="webMainBannerSearchKeywordParam != null and webMainBannerSearchKeywordParam != ''">
AND MWMB.TITLE LIKE CONCAT('%',TRIM(#{webMainBannerSearchKeywordParam}),'%')
</if>
</select>
<select id="selectListWebMainBanner" parameterType="hashmap" resultType="hashmap">
SELECT MWMB.*
FROM (
SELECT MWMB.*
,CAST(@RNUM:=@RNUM + 1 AS CHAR) AS "rowNum"
FROM (
SELECT MWMB.MU_WEB_MAIN_BANNER_ID AS "muWebMainBannerId"
,CASE
WHEN MWMB.BANNER_TYPE = 'DT'
THEN '다이어트 상단'
WHEN MWMB.BANNER_TYPE = 'DB'
THEN '다이어트 하단'
WHEN MWMB.BANNER_TYPE = 'PT'
THEN '쁘띠 상단'
WHEN MWMB.BANNER_TYPE = 'PB'
THEN '쁘띠 하단'
ELSE ''
END AS "bannerType"
,MWMB.TITLE AS "title"
,MWMB.FILE_PATH AS "filePath"
,MWMB.FILE_NAME AS "fileName"
,MWMB.ORIGINAL_FILE_NAME AS "originalFileName"
,MWMB.FILE_PATH2 AS "filePath2"
,MWMB.FILE_NAME2 AS "fileName2"
,MWMB.ORIGINAL_FILE_NAME2 AS "originalFileName2"
,CONCAT(DATE_FORMAT(MWMB.WRITE_DATE, '%Y-%m-%d')
,', '
,DATE_FORMAT(MWMB.WRITE_TIME, '%H:%i')) AS "writeDate"
,IFNULL((SELECT MM.NAME
FROM MU_MEMBER AS MM
WHERE MM.USE_YN = 'Y'
AND MM.MU_MEMBER_ID = MWMB.REG_ID
LIMIT 0, 1
),'') AS "writeName"
FROM MU_WEB_MAIN_BANNER AS MWMB
WHERE MWMB.USE_YN = 'Y'
<if test="webMainBannerSearchType != null and webMainBannerSearchType != ''">
AND MWMB.BANNER_TYPE = #{webMainBannerSearchType}
</if>
<if test="webMainBannerSearchStartDate != null and webMainBannerSearchStartDate != '' and webMainBannerSearchEndDate != null and webMainBannerSearchEndDate != ''">
AND DATE_FORMAT(MWMB.WRITE_DATE, '%Y-%m-%d') &gt;= #{webMainBannerSearchStartDate}
AND DATE_FORMAT(MWMB.WRITE_DATE, '%Y-%m-%d') &lt;= #{webMainBannerSearchEndDate}
</if>
<if test="webMainBannerSearchKeywordParam != null and webMainBannerSearchKeywordParam != ''">
AND MWMB.TITLE LIKE CONCAT('%',TRIM(#{webMainBannerSearchKeywordParam}),'%')
</if>
<choose>
<when test="webMainBannerSort != null and webMainBannerSort != ''">
ORDER BY ${webMainBannerSort}
</when>
<otherwise>
ORDER BY MWMB.WRITE_DATE DESC
</otherwise>
</choose>
LIMIT 18446744073709551615
) AS MWMB, (SELECT @RNUM:=0) R
WHERE 1 = 1
) AS MWMB
WHERE 1 = 1
<if test="webMainBannerStart != null and webMainBannerStart != '' and webMainBannerLimit != null and webMainBannerLimit != ''">
LIMIT ${webMainBannerStart}, ${webMainBannerLimit}
</if>
</select>
<select id="selectWebMainBanner" parameterType="hashmap" resultType="hashmap">
SELECT MWMB.MU_WEB_MAIN_BANNER_ID AS "muWebMainBannerId"
,MWMB.BANNER_TYPE AS "bannerType"
,CASE
WHEN MWMB.BANNER_TYPE = 'DT'
THEN '다이어트 상단'
WHEN MWMB.BANNER_TYPE = 'DB'
THEN '다이어트 하단'
WHEN MWMB.BANNER_TYPE = 'PT'
THEN '쁘띠 상단'
WHEN MWMB.BANNER_TYPE = 'PB'
THEN '쁘띠 하단'
ELSE ''
END AS "bannerTypeName"
,MWMB.TITLE AS "title"
,MWMB.URL AS "url"
,MWMB.FILE_PATH AS "filePath"
,MWMB.FILE_NAME AS "fileName"
,MWMB.ORIGINAL_FILE_NAME AS "originalFileName"
,MWMB.FILE_PATH2 AS "filePath2"
,MWMB.FILE_NAME2 AS "fileName2"
,MWMB.ORIGINAL_FILE_NAME2 AS "originalFileName2"
FROM MU_WEB_MAIN_BANNER AS MWMB
WHERE MWMB.USE_YN = 'Y'
AND MWMB.MU_WEB_MAIN_BANNER_ID = #{muWebMainBannerId}
LIMIT 0, 1
</select>
<select id="selectWebMainBannerCount" parameterType="hashmap" resultType="hashmap">
SELECT COUNT(*) AS "count"
FROM MU_WEB_MAIN_BANNER AS MWMB
WHERE MWMB.USE_YN = 'Y'
AND MWMB.BANNER_TYPE = #{bannerType}
</select>
<insert id="insertWebMainBanner" parameterType="hashmap">
<selectKey resultType="string" keyProperty="id" order="BEFORE">
SELECT CONCAT(#{muWebMainBannerId},LPAD((SELECT NEXTVAL(MU_WEB_MAIN_BANNER_SEQ)), 10, 0))
</selectKey>
INSERT INTO MU_WEB_MAIN_BANNER(
MU_WEB_MAIN_BANNER_ID
,BANNER_TYPE
,TITLE
,URL
,CDN_URL
,FILE_PATH
,FILE_NAME
,ORIGINAL_FILE_NAME
,FILE_PATH2
,FILE_NAME2
,ORIGINAL_FILE_NAME2
,WRITE_DATE
,WRITE_TIME
,CUD_FLAG
,USE_YN
,REG_ID
,REG_DATE
,MOD_ID
,MOD_DATE
,T_ID
,T_DATE
)VALUES(
#{id}
,#{bannerType}
,#{title}
,#{url}
,#{cdnUrl}
,#{filePath}
,#{fileName}
,#{originalFileName}
,#{filePath2}
,#{fileName2}
,#{originalFileName2}
,NOW()
,NOW()
,'C'
,'Y'
,#{regId}
,NOW()
,#{modId}
,NOW()
,#{tId}
,#{tDate}
)
</insert>
<update id="updateWebMainBanner" parameterType="hashmap">
UPDATE MU_WEB_MAIN_BANNER
SET MOD_ID = #{modId}
,MOD_DATE = NOW()
,CUD_FLAG = 'U'
,BANNER_TYPE = #{bannerType}
,TITLE = #{title}
,URL = #{url}
<if test="filePath != null and filePath != ''">
,CDN_URL = #{cdnUrl}
,FILE_PATH = #{filePath}
,FILE_NAME = #{fileName}
,ORIGINAL_FILE_NAME = #{originalFileName}
</if>
<if test="filePath2 != null and filePath2 != ''">
,FILE_PATH2 = #{filePath2}
,FILE_NAME2 = #{fileName2}
,ORIGINAL_FILE_NAME2 = #{originalFileName2}
</if>
WHERE USE_YN = 'Y'
AND MU_WEB_MAIN_BANNER_ID = #{muWebMainBannerId}
</update>
<update id="deleteWebMainBanner" parameterType="hashmap">
UPDATE MU_WEB_MAIN_BANNER
SET MOD_ID = #{modId}
,MOD_DATE = NOW()
,CUD_FLAG = 'D'
,USE_YN = 'N'
WHERE USE_YN = 'Y'
AND MU_WEB_MAIN_BANNER_ID = #{muWebMainBannerId}
</update>
</mapper>

View File

@@ -0,0 +1,531 @@
<?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="WebMember">
<select id="selectMemberId" parameterType="String" resultType="String">
SELECT MU_MEMBER_ID as muMemberId
FROM MU_MEMBER AS MM
WHERE MM.USE_YN = 'Y'
AND MM.LOGIN_ID = #{loginId}
limit 0,1
</select>
<select id="checkMember" parameterType="hashMap" resultType="hashMap">
SELECT MM.MU_MEMBER_ID AS "muMemberId"
,MM.LOGIN_ID AS "loginId"
,MM.NAME AS "memberName"
,MM.PHONE_NUMBER AS "phoneNumber"
,MM.EMAIL AS "email"
,MM.MU_AUTH_ID AS "muAuthId"
FROM MU_MEMBER AS MM
WHERE MM.USE_YN = 'Y'
AND MM.STATUS = 'Y'
AND MM.MU_MEMBER_ID = #{loginMemberId}
LIMIT 0, 1
</select>
<select id="selectListMemberDoctorOption" parameterType="hashMap" resultType="hashMap">
SELECT MM.MU_MEMBER_ID AS "muMemberId"
,MM.NAME AS "memberName"
,MM.MU_GROUP_ID AS "muGroupId"
,IFNULL((SELECT MG.GROUP_NAME
FROM MU_GROUP AS MG
WHERE MG.USE_YN = 'Y'
AND MG.MU_GROUP_ID = MM.MU_GROUP_ID
LIMIT 0, 1
),'') AS "groupName"
,MM.TYPE AS "type"
,CASE MM.TYPE
WHEN 'D' THEN '닥터'
WHEN 'A' THEN '상담'
WHEN 'E' THEN '직원'
ELSE ''
END AS "typeName"
FROM MU_MEMBER AS MM
WHERE MM.USE_YN = 'Y'
AND MM.STATUS = 'Y'
AND MM.TYPE = 'D'
ORDER BY MM.NAME ASC
</select>
<select id="selectListMemberDoctorConsultingOption" parameterType="hashMap" resultType="hashMap">
SELECT MM.MU_MEMBER_ID AS "muMemberId"
,MM.NAME AS "memberName"
,MM.TYPE AS "type"
,CASE MM.TYPE
WHEN 'D' THEN '닥터'
WHEN 'A' THEN '상담'
WHEN 'E' THEN '직원'
ELSE ''
END AS "typeName"
FROM (
<!-- 해당 시술 닥터 -->
SELECT MM.MU_MEMBER_ID
,MM.NAME
,MM.TYPE
,MM.ORDER_NUMBER
FROM MU_MEMBER AS MM
INNER JOIN MU_TREATMENT_PROCEDURE_DOCTOR AS MTPD
ON MM.MU_MEMBER_ID = MTPD.MU_MEMBER_ID
AND MM.USE_YN = 'Y'
AND MM.STATUS = 'Y'
AND MM.TYPE = 'D'
AND MTPD.USE_YN = 'Y'
AND MTPD.MU_TREATMENT_PROCEDURE_ID IN(${muTreatmentProcedureIdList})
UNION
<!-- 상담자 -->
SELECT MM.MU_MEMBER_ID
,MM.NAME
,MM.TYPE
,MM.ORDER_NUMBER
FROM MU_MEMBER AS MM
WHERE MM.USE_YN = 'Y'
AND MM.STATUS = 'Y'
AND MM.TYPE = 'A'
AND MM.MU_GROUP_ID IN (SELECT MU_GROUP_ID
FROM MU_GROUP MG
WHERE MG.USE_YN='Y'
AND MG.GROUP_NAME IN (SELECT TREATMENT_NAME
FROM MU_TREATMENT AS MT
JOIN MU_TREATMENT_PROCEDURE MTP
ON MT.MU_TREATMENT_ID=MTP.MU_TREATMENT_ID
AND MT.USE_YN = 'Y'
AND MTP.MU_TREATMENT_PROCEDURE_ID IN (${muTreatmentProcedureIdList})))
) AS MM
<!-- 휴무/연차 아닌 직원 -->
<if test="searchDate != null and searchDate != ''">
WHERE MM.MU_MEMBER_ID NOT IN (SELECT MA.MU_MEMBER_ID
FROM MU_ATTENDANCE AS MA
WHERE MA.USE_YN = 'Y'
AND MA.STATUS != 'D'
AND MA.ATTENDANCE_TYPE IN ('C', 'D')
AND DATE_FORMAT(MA.START_DATE, '%Y-%m-%d') &lt;= #{searchDate}
AND DATE_FORMAT(MA.END_DATE, '%Y-%m-%d') &gt;= #{searchDate}
UNION ALL
SELECT MA.MU_MEMBER_ID
FROM MU_ATTENDANCE AS MA
WHERE MA.USE_YN = 'Y'
AND MA.STATUS != 'D'
AND MA.ATTENDANCE_TYPE IN ('E')
AND DATE_FORMAT(CONCAT(MA.START_DATE, ' ', MA.START_TIME), '%Y-%m-%d %H:%i') &lt;= CONCAT(#{searchDate}, ' ', #{searchTime})
AND DATE_FORMAT(CONCAT(MA.END_DATE, ' ', MA.END_TIME), '%Y-%m-%d %H:%i') &gt;= CONCAT(#{searchDate}, ' ', #{searchTime})
)
</if>
ORDER BY MM.TYPE DESC, MM.ORDER_NUMBER ASC
</select>
<select id="selectListMemberDoctorConsultingOption2" parameterType="hashMap" resultType="hashMap">
SELECT MM.MU_MEMBER_ID AS "muMemberId"
,MM.MEMBER_CODE AS "memberCode"
,MM.NAME AS "memberName"
,MM.TYPE AS "type"
,CASE MM.TYPE
WHEN 'D' THEN '닥터'
WHEN 'A' THEN '상담'
WHEN 'E' THEN '직원'
ELSE ''
END AS "typeName"
FROM MU_MEMBER AS MM
WHERE MM.USE_YN = 'Y'
AND MM.STATUS = 'Y'
AND MM.TYPE IN ('A', 'D')
ORDER BY MM.ORDER_NUMBER DESC, MM.NAME ASC
</select>
<select id="selectTotalMemberCount" parameterType="hashmap" resultType="hashmap">
SELECT COUNT(*) AS "totalCount"
FROM MU_MEMBER AS MM
WHERE MM.USE_YN = 'Y'
<if test="memberSearchKeywordParam != null and memberSearchKeywordParam != ''">
AND (MM.NAME LIKE CONCAT('%',TRIM(#{memberSearchKeywordParam}),'%')
OR MM.EMAIL LIKE CONCAT('%',TRIM(#{memberSearchKeywordParam}),'%')
OR MM.PHONE_NUMBER LIKE CONCAT('%',TRIM(#{memberSearchKeywordParam}),'%'))
</if>
<if test="memberSearchGroupId != null and memberSearchGroupId != ''">
AND MM.MU_GROUP_ID = #{memberSearchGroupId}
</if>
<if test="memberSearchDutyId != null and memberSearchDutyId != ''">
AND MM.MU_DUTY_ID = #{memberSearchDutyId}
</if>
<if test="memberSearchAuthId != null and memberSearchAuthId != ''">
AND MM.MU_AUTH_ID = #{memberSearchAuthId}
</if>
</select>
<select id="selectListMember" parameterType="hashmap" resultType="hashmap">
SELECT MM.MU_MEMBER_ID AS "muMemberId"
,MM.ORDER_NUMBER AS "orderNumber"
,MM.MEMBER_CODE AS "memberCode"
,MM.LOGIN_ID AS "loginId"
,MM.NAME AS "memberName"
,MM.PHONE_NUMBER AS "phoneNumber"
,MM.EMAIL AS "email"
,CASE MM.STATUS
WHEN 'Y' THEN '활성'
WHEN 'N' THEN '비활성'
END AS "status"
,MM.MU_AUTH_ID AS "muAuthId"
,IFNULL((SELECT MA.AUTH_NAME
FROM MU_AUTH AS MA
WHERE MA.USE_YN = 'Y'
AND MA.MU_AUTH_ID = MM.MU_AUTH_ID
LIMIT 0, 1
),'') AS "authName"
,MM.MU_GROUP_ID AS "muGroupId"
,IFNULL((SELECT MG.GROUP_NAME
FROM MU_GROUP AS MG
WHERE MG.USE_YN = 'Y'
AND MG.MU_GROUP_ID = MM.MU_GROUP_ID
LIMIT 0, 1
),'') AS "groupName"
,MM.MU_DUTY_ID AS "muDutyId"
,IFNULL((SELECT MD.DUTY_NAME
FROM MU_DUTY AS MD
WHERE MD.USE_YN = 'Y'
AND MD.MU_DUTY_ID = MM.MU_DUTY_ID
LIMIT 0, 1
),'') AS "dutyName"
,CASE MM.TYPE
WHEN 'D' THEN '닥터'
WHEN 'A' THEN '상담'
WHEN 'E' THEN '직원'
ELSE ''
END AS "typeName"
,DATE_FORMAT(MM.WRITE_DATE, '%Y-%m-%d') AS "writeDate"
FROM MU_MEMBER AS MM
WHERE MM.USE_YN = 'Y'
<if test="memberSearchKeywordParam != null and memberSearchKeywordParam != ''">
AND (MM.NAME LIKE CONCAT('%',TRIM(#{memberSearchKeywordParam}),'%')
OR MM.EMAIL LIKE CONCAT('%',TRIM(#{memberSearchKeywordParam}),'%')
OR MM.PHONE_NUMBER LIKE CONCAT('%',TRIM(#{memberSearchKeywordParam}),'%'))
</if>
<if test="memberSearchGroupId != null and memberSearchGroupId != ''">
AND MM.MU_GROUP_ID = #{memberSearchGroupId}
</if>
<if test="memberSearchDutyId != null and memberSearchDutyId != ''">
AND MM.MU_DUTY_ID = #{memberSearchDutyId}
</if>
<if test="memberSearchAuthId != null and memberSearchAuthId != ''">
AND MM.MU_AUTH_ID = #{memberSearchAuthId}
</if>
<choose>
<when test="memberSort != null and memberSort != ''">
ORDER BY ${memberSort}
</when>
<otherwise>
ORDER BY MM.ORDER_NUMBER
</otherwise>
</choose>
<if test="memberStart != null and memberStart != ''">
LIMIT ${memberStart}
<if test="memberLimit != null and memberLimit != ''">
,${memberLimit}
</if>
</if>
</select>
<select id="selectMember" parameterType="hashMap" resultType="hashMap">
SELECT MM.MU_MEMBER_ID AS "muMemberId"
,MM.ORDER_NUMBER AS "orderNumber"
,MM.MEMBER_CODE AS "memberCode"
,MM.LOGIN_ID AS "loginId"
,MM.NAME AS "memberName"
,MM.PHONE_NUMBER AS "phoneNumber"
,MM.EMAIL AS "email"
,MM.STATUS AS "status"
,MM.MU_AUTH_ID AS "muAuthId"
,IFNULL((SELECT MA.AUTH_NAME
FROM MU_AUTH AS MA
WHERE MA.USE_YN = 'Y'
AND MA.MU_AUTH_ID = MM.MU_AUTH_ID
LIMIT 0, 1
),'') AS "authName"
,MM.MU_GROUP_ID AS "muGroupId"
,IFNULL((SELECT MG.GROUP_NAME
FROM MU_GROUP AS MG
WHERE MG.USE_YN = 'Y'
AND MG.MU_GROUP_ID = MM.MU_GROUP_ID
LIMIT 0, 1
),'') AS "groupName"
,MM.MU_DUTY_ID AS "muDutyId"
,IFNULL((SELECT MD.DUTY_NAME
FROM MU_DUTY AS MD
WHERE MD.USE_YN = 'Y'
AND MD.MU_DUTY_ID = MM.MU_DUTY_ID
LIMIT 0, 1
),'') AS "dutyName"
,MM.TYPE AS "type"
,CASE MM.TYPE
WHEN 'D' THEN '닥터'
WHEN 'A' THEN '상담'
WHEN 'E' THEN '직원'
ELSE ''
END AS "typeName"
,DATE_FORMAT(MM.WRITE_DATE, '%Y-%m-%d') AS "writeDate"
FROM MU_MEMBER AS MM
WHERE MM.USE_YN = 'Y'
AND MM.MU_MEMBER_ID = #{muMemberId}
</select>
<select id="selectListMemberExcel" parameterType="hashmap" resultType="hashmap">
SELECT MM.*
FROM (
SELECT MM.*
,CAST(@RNUM:=@RNUM + 1 AS CHAR) AS "rowNum"
FROM (
SELECT MM.MU_MEMBER_ID AS "muMemberId"
,MM.MEMBER_CODE AS "memberCode"
,MM.LOGIN_ID AS "loginId"
,MM.NAME AS "memberName"
,MM.PHONE_NUMBER AS "phoneNumber"
,MM.EMAIL AS "email"
,CASE MM.STATUS
WHEN 'Y' THEN '활성'
WHEN 'N' THEN '비활성'
END AS "status"
,MM.MU_AUTH_ID AS "muAuthId"
,IFNULL((SELECT MA.AUTH_NAME
FROM MU_AUTH AS MA
WHERE MA.USE_YN = 'Y'
AND MA.MU_AUTH_ID = MM.MU_AUTH_ID
LIMIT 0, 1
),'') AS "authName"
,MM.MU_GROUP_ID AS "muGroupId"
,IFNULL((SELECT MG.GROUP_NAME
FROM MU_GROUP AS MG
WHERE MG.USE_YN = 'Y'
AND MG.MU_GROUP_ID = MM.MU_GROUP_ID
LIMIT 0, 1
),'') AS "groupName"
,MM.MU_DUTY_ID AS "muDutyId"
,IFNULL((SELECT MD.DUTY_NAME
FROM MU_DUTY AS MD
WHERE MD.USE_YN = 'Y'
AND MD.MU_DUTY_ID = MM.MU_DUTY_ID
LIMIT 0, 1
),'') AS "dutyName"
,CASE MM.TYPE
WHEN 'D' THEN '닥터'
WHEN 'A' THEN '상담'
WHEN 'E' THEN '직원'
ELSE ''
END AS "typeName"
,DATE_FORMAT(MM.WRITE_DATE, '%Y-%m-%d') AS "writeDate"
FROM MU_MEMBER AS MM
WHERE MM.USE_YN = 'Y'
<if test="memberSearchKeywordParam != null and memberSearchKeywordParam != ''">
AND (MM.NAME LIKE CONCAT('%',TRIM(#{memberSearchKeywordParam}),'%')
OR MM.EMAIL LIKE CONCAT('%',TRIM(#{memberSearchKeywordParam}),'%')
OR MM.PHONE_NUMBER LIKE CONCAT('%',TRIM(#{memberSearchKeywordParam}),'%'))
</if>
<if test="memberSearchGroupId != null and memberSearchGroupId != ''">
AND MM.MU_GROUP_ID = #{memberSearchGroupId}
</if>
<if test="memberSearchDutyId != null and memberSearchDutyId != ''">
AND MM.MU_DUTY_ID = #{memberSearchDutyId}
</if>
<if test="memberSearchAuthId != null and memberSearchAuthId != ''">
AND MM.MU_AUTH_ID = #{memberSearchAuthId}
</if>
<choose>
<when test="memberSort != null and memberSort != ''">
ORDER BY ${memberSort}
</when>
<otherwise>
ORDER BY MM.WRITE_DATE DESC
</otherwise>
</choose>
LIMIT 18446744073709551615
) MM, (SELECT @RNUM:=0) R
WHERE 1 = 1
) MM
WHERE 1 = 1
</select>
<select id="selectMemberPassword" parameterType="hashMap" resultType="hashMap">
SELECT count(*) AS "totalCount"
FROM MU_MEMBER AS MM
WHERE MM.USE_YN = 'Y'
AND MM.MU_MEMBER_ID = #{muMemberId}
AND MM.PASSWORD = #{password}
</select>
<select id="selectMemberAvailableYn" parameterType="hashMap" resultType="hashMap">
SELECT MM.MU_MEMBER_ID AS "muMemberId"
,MM.NAME AS "memberName"
,MM.TYPE AS "type"
,CASE MM.TYPE
WHEN 'D' THEN '닥터'
WHEN 'A' THEN '상담'
WHEN 'E' THEN '직원'
ELSE ''
END AS "typeName"
FROM (
<!-- 해당 시술 닥터 -->
SELECT MM.MU_MEMBER_ID
,MM.NAME
,MM.TYPE
FROM MU_MEMBER AS MM
INNER JOIN MU_TREATMENT_PROCEDURE_DOCTOR AS MTPD
ON MM.MU_MEMBER_ID = MTPD.MU_MEMBER_ID
AND MM.USE_YN = 'Y'
AND MM.STATUS = 'Y'
AND MM.TYPE = 'D'
AND MTPD.USE_YN = 'Y'
AND MTPD.MU_TREATMENT_PROCEDURE_ID = #{muTreatmentProcedureId}
AND MM.MEMBER_CODE = #{memberCode}
UNION
<!-- 상담자 -->
SELECT MM.MU_MEMBER_ID
,MM.NAME
,MM.TYPE
FROM MU_MEMBER AS MM
WHERE MM.USE_YN = 'Y'
AND MM.STATUS = 'Y'
AND MM.TYPE = 'A'
AND MM.MEMBER_CODE = #{memberCode}
AND MM.MU_GROUP_ID IN (SELECT MU_GROUP_ID
FROM MU_GROUP MG
WHERE MG.USE_YN='Y'
AND MG.GROUP_NAME IN(SELECT TREATMENT_NAME
FROM MU_TREATMENT AS MT
JOIN MU_TREATMENT_PROCEDURE MTP
ON MT.MU_TREATMENT_ID=MTP.MU_TREATMENT_ID
AND MT.USE_YN = 'Y'
AND MTP.MU_TREATMENT_PROCEDURE_ID = #{muTreatmentProcedureId}
)
)
) AS MM
WHERE MM.MU_MEMBER_ID NOT IN (SELECT MA.MU_MEMBER_ID
FROM MU_ATTENDANCE AS MA
WHERE MA.USE_YN = 'Y'
AND MA.STATUS != 'D'
AND MA.ATTENDANCE_TYPE IN ('C', 'D')
AND DATE_FORMAT(MA.START_DATE, '%Y-%m-%d') &lt;= #{searchDate}
AND DATE_FORMAT(MA.END_DATE, '%Y-%m-%d') &gt;= #{searchDate}
)
ORDER BY MM.TYPE DESC, MM.NAME ASC
LIMIT 0, 1
</select>
<select id="selectMemberCountSeq" parameterType="hashmap" resultType="hashmap">
SELECT CONCAT('M', LPAD((SELECT NEXTVAL(MU_MEMBER_COUNT_SEQ)), 4, 0)) AS "memberCode"
</select>
<insert id="insertMember" parameterType="hashmap">
<selectKey resultType="string" keyProperty="id" order="BEFORE">
SELECT CONCAT(#{muMemberId},LPAD((SELECT NEXTVAL(MU_MEMBER_SEQ)), 11, 0))
</selectKey>
INSERT INTO MU_MEMBER(
ORDER_NUMBER
,MU_MEMBER_ID
,MEMBER_CODE
,LOGIN_ID
,PASSWORD
,NAME
,PHONE_NUMBER
,EMAIL
,STATUS
,MU_GROUP_ID
,MU_DUTY_ID
,MU_AUTH_ID
,TYPE
,WRITE_DATE
,WRITE_TIME
,CUD_FLAG
,USE_YN
,REG_ID
,REG_DATE
,MOD_ID
,MOD_DATE
,T_ID
,T_DATE
)VALUES(
#{orderNumber}
,#{id}
,#{memberCode}
,#{loginId}
,#{password}
,#{memberName}
,#{phoneNumber}
,#{email}
,#{status}
,#{muGroupId}
,#{muDutyId}
,#{muAuthId}
,#{type}
,CURDATE()
,CURTIME()
,'C'
,'Y'
,#{regId}
,NOW()
,#{modId}
,NOW()
,#{tId}
,#{tDate}
)
</insert>
<update id="updateMember" parameterType="hashmap">
UPDATE MU_MEMBER
SET MOD_ID = #{modId}
,MOD_DATE = NOW()
,CUD_FLAG = 'U'
,NAME = #{memberName}
,ORDER_NUMBER = #{orderNumber}
,PHONE_NUMBER = #{phoneNumber}
,EMAIL = #{email}
,MU_GROUP_ID = #{muGroupId}
,MU_DUTY_ID = #{muDutyId}
,MU_AUTH_ID = #{muAuthId}
,TYPE = #{type}
WHERE USE_YN = 'Y'
AND MU_MEMBER_ID = #{muMemberId}
</update>
<update id="updateMemberOrderNumber" parameterType="hashmap">
UPDATE MU_MEMBER AS MM
SET ORDER_NUMBER = (SELECT NUM.NEW_ORDER_NUMBER AS newOrderNumber
FROM (
SELECT MM2.MU_MEMBER_ID AS MU_MEMBER_ID
,ROW_NUMBER() OVER (ORDER BY MM2.ORDER_NUMBER ASC
,MM2.MOD_DATE DESC) AS NEW_ORDER_NUMBER
FROM MU_MEMBER AS MM2
) AS NUM
WHERE MM.MU_MEMBER_ID = NUM.MU_MEMBER_ID)
WHERE 1 = 1
</update>
<update id="updateMemberStatus" parameterType="hashmap">
UPDATE MU_MEMBER
SET MOD_ID = #{modId}
,MOD_DATE = NOW()
,CUD_FLAG = 'U'
,STATUS = #{status}
WHERE USE_YN = 'Y'
AND MU_MEMBER_ID = #{muMemberId}
</update>
<update id="updateMemberPassword" parameterType="hashmap">
UPDATE MU_MEMBER
SET MOD_ID = #{modId}
,MOD_DATE = NOW()
,CUD_FLAG = 'U'
,PASSWORD = #{password}
WHERE USE_YN = 'Y'
AND MU_MEMBER_ID = #{muMemberId}
</update>
<update id="deleteMember" parameterType="hashmap">
UPDATE MU_MEMBER
SET MOD_ID = #{modId}
,MOD_DATE = NOW()
,CUD_FLAG = 'D'
,USE_YN = 'N'
WHERE USE_YN = 'Y'
AND MU_MEMBER_ID = #{muMemberId}
</update>
</mapper>

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,72 @@
<?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="WebMenu">
<select id="selectListMenu" parameterType="hashMap" resultType="hashMap">
SELECT MM.MENU_CODE AS "menuCode"
,MM.MENU_NAME AS "menuName"
,MM.ICON AS "icon"
,MM.ICON2 AS "icon2"
,MM.ACTION AS "action"
<if test="type eq 'A'.toString()">
,IFNULL((SELECT MM2.ACTION
FROM MU_MENU AS MM2
WHERE MM2.USE_YN = 'Y'
AND LENGTH(MM2.MENU_CODE) > 4
AND LEFT(MM2.MENU_CODE, 2) = MM.MENU_CODE
ORDER BY MM2.MENU_CODE ASC
LIMIT 0, 1
),'') AS "subAction"
,IFNULL((SELECT MM2.MENU_CODE
FROM MU_MENU AS MM2
WHERE MM2.USE_YN = 'Y'
AND LENGTH(MM2.MENU_CODE) > 4
AND LEFT(MM2.MENU_CODE, 2) = MM.MENU_CODE
ORDER BY MM2.MENU_CODE ASC
LIMIT 0, 1
),'') AS "subMenuCode"
</if>
<if test="type eq 'C'.toString()">
,IFNULL((SELECT MM2.ACTION
FROM MU_MENU AS MM2
WHERE MM2.USE_YN = 'Y'
AND LENGTH(MM2.MENU_CODE) > 8
AND LEFT(MM2.MENU_CODE, 8) = MM.MENU_CODE
ORDER BY MM2.MENU_CODE ASC
LIMIT 0, 1
),'') AS "subAction"
,IFNULL((SELECT MM2.MENU_CODE
FROM MU_MENU AS MM2
WHERE MM2.USE_YN = 'Y'
AND LENGTH(MM2.MENU_CODE) > 8
AND LEFT(MM2.MENU_CODE, 8) = MM.MENU_CODE
ORDER BY MM2.MENU_CODE ASC
LIMIT 0, 1
),'') AS "subMenuCode"
</if>
FROM MU_MENU AS MM
WHERE MM.USE_YN = 'Y'
<if test="type eq 'A'.toString()">
AND LENGTH(MM.MENU_CODE) = 2
</if>
<if test="type eq 'B'.toString()">
AND LEFT(MM.MENU_CODE, 2) = #{groupCode}
AND (LENGTH(MM.MENU_CODE) = 4
OR LENGTH(MM.MENU_CODE) = 6)
</if>
<if test="type eq 'C'.toString()">
AND LEFT(MM.MENU_CODE, 2) = #{groupCode}
AND LENGTH(MM.MENU_CODE) > 6
</if>
ORDER BY MM.MENU_CODE ASC
</select>
<select id="selectMenuCode" parameterType="hashMap" resultType="String">
SELECT MM.MENU_CODE AS "menuCode"
FROM MU_MENU MM
WHERE MENU_NAME = #{menuName}
AND USE_YN='Y'
LIMIT 0,1
</select>
</mapper>

View File

@@ -0,0 +1,151 @@
<?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="WebNotice">
<select id="selectTotalNoticeCount" parameterType="hashmap" resultType="hashmap">
SELECT COUNT(*) AS "totalCount"
FROM MU_NOTICE AS MN
WHERE MN.USE_YN = 'Y'
<if test="noticeSearchStartDate != null and noticeSearchStartDate != '' and noticeSearchEndDate != null and noticeSearchEndDate != ''">
AND DATE_FORMAT(MN.OPEN_DATE, '%Y-%m-%d') &gt;= #{noticeSearchStartDate}
AND DATE_FORMAT(MN.OPEN_DATE, '%Y-%m-%d') &lt;= #{noticeSearchEndDate}
</if>
<if test="noticeSearchKeywordParam != null and noticeSearchKeywordParam != ''">
AND ((MN.TITLE LIKE CONCAT('%',TRIM(#{noticeSearchKeywordParam}),'%'))
OR (MN.CONTENT LIKE CONCAT('%',TRIM(#{noticeSearchKeywordParam}),'%')))
</if>
</select>
<select id="selectListNotice" parameterType="hashmap" resultType="hashmap">
SELECT MN.*
FROM (
SELECT MN.*
,CAST(@RNUM:=@RNUM + 1 AS CHAR) AS "rowNum"
FROM (
SELECT MN.MU_NOTICE_ID AS "muNoticeId"
,MN.MU_MEMBER_ID AS "muMemberId"
,IFNULL((SELECT MM.NAME
FROM MU_MEMBER AS MM
WHERE MM.USE_YN = 'Y'
AND MM.MU_MEMBER_ID = MN.MU_MEMBER_ID
LIMIT 0, 1
),'') AS "writeName"
,MN.TITLE AS "title"
,MN.CONTENT AS "content"
,DATE_FORMAT(MN.OPEN_DATE, '%Y-%m-%d') AS "openDate"
,DATE_FORMAT(MN.WRITE_DATE, '%Y-%m-%d') AS "writeDate"
FROM MU_NOTICE MN
WHERE MN.USE_YN = 'Y'
<if test="noticeSearchStartDate != null and noticeSearchStartDate != '' and noticeSearchEndDate != null and noticeSearchEndDate != ''">
AND DATE_FORMAT(MN.OPEN_DATE, '%Y-%m-%d') &gt;= #{noticeSearchStartDate}
AND DATE_FORMAT(MN.OPEN_DATE, '%Y-%m-%d') &lt;= #{noticeSearchEndDate}
</if>
<if test="noticeSearchKeywordParam != null and noticeSearchKeywordParam != ''">
AND ((MN.TITLE LIKE CONCAT('%',TRIM(#{noticeSearchKeywordParam}),'%'))
OR (MN.CONTENT LIKE CONCAT('%',TRIM(#{noticeSearchKeywordParam}),'%')))
</if>
<choose>
<when test="noticeSort != null and noticeSort != ''">
ORDER BY ${noticeSort}
</when>
<otherwise>
ORDER BY MN.WRITE_DATE DESC
</otherwise>
</choose>
LIMIT 18446744073709551615
) MN, (SELECT @RNUM:=0) R
WHERE 1 = 1
) MN
WHERE 1 = 1
LIMIT ${noticeStart}, ${noticeLimit}
</select>
<select id="selectNotice" parameterType="hashmap" resultType="hashmap">
SELECT MN.MU_NOTICE_ID AS "muNoticeId"
,MN.MU_MEMBER_ID AS "muMemberId"
,MN.TITLE AS "title"
,MN.CONTENT AS "content"
,DATE_FORMAT(MN.OPEN_DATE, '%Y-%m-%d') AS "openDate"
,DATE_FORMAT(MN.OPEN_DATE, '%H:%i') AS "openTime"
,DATE_FORMAT(MN.WRITE_DATE, '%Y-%m-%d') AS "writeDate"
FROM MU_NOTICE AS MN
WHERE MN.USE_YN = 'Y'
AND MN.MU_NOTICE_ID = #{muNoticeId}
LIMIT 0, 1
</select>
<select id="selectListTodayNotice" parameterType="hashmap" resultType="hashmap">
SELECT MN.MU_NOTICE_ID AS "muNoticeId"
,MN.MU_MEMBER_ID AS "muMemberId"
,MN.TITLE AS "title"
,MN.CONTENT AS "content"
,DATE_FORMAT(MN.OPEN_DATE, '%Y-%m-%d') AS "openDate"
,DATE_FORMAT(MN.OPEN_DATE, '%H:%i') AS "openTime"
,DATE_FORMAT(MN.WRITE_DATE, '%Y-%m-%d') AS "writeDate"
FROM MU_NOTICE AS MN
WHERE MN.USE_YN = 'Y'
AND DATE_FORMAT(MN.OPEN_DATE, '%Y-%m-%d') = #{searchDate}
AND DATE_FORMAT(MN.OPEN_DATE, '%Y-%m-%d %H:%i') &lt;= DATE_FORMAT(NOW(), '%Y-%m-%d %H:%i')
</select>
<insert id="insertNotice" parameterType="hashmap">
<selectKey resultType="string" keyProperty="id" order="BEFORE">
SELECT CONCAT(#{muNoticeId},LPAD((SELECT NEXTVAL(MU_NOTICE_SEQ)), 11, 0))
</selectKey>
INSERT INTO MU_NOTICE(
MU_NOTICE_ID
,MU_MEMBER_ID
,TITLE
,CONTENT
,OPEN_DATE
,WRITE_DATE
,WRITE_TIME
,CUD_FLAG
,USE_YN
,REG_ID
,REG_DATE
,MOD_ID
,MOD_DATE
,T_ID
,T_DATE
)VALUES(
#{id}
,#{muMemberId}
,#{title}
,#{content}
,#{openDate}
,CURDATE()
,CURTIME()
,'C'
,'Y'
,#{regId}
,NOW()
,#{modId}
,NOW()
,#{tId}
,#{tDate}
)
</insert>
<update id="updateNotice" parameterType="hashmap">
UPDATE MU_NOTICE
SET MOD_ID = #{modId}
,MOD_DATE = NOW()
,CUD_FLAG = 'U'
,TITLE = #{title}
,CONTENT = #{content}
,OPEN_DATE = #{openDate}
WHERE USE_YN = 'Y'
AND MU_NOTICE_ID = #{muNoticeId}
</update>
<update id="deleteNotice" parameterType="hashmap">
UPDATE MU_NOTICE
SET MOD_ID = #{modId}
,MOD_DATE = NOW()
,CUD_FLAG = 'D'
,USE_YN = 'N'
WHERE USE_YN = 'Y'
AND MU_NOTICE_ID = #{muNoticeId}
</update>
</mapper>

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,251 @@
<?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="WebPhotoDiet">
<select id="selectTotalWebPhotoDietCount" parameterType="hashmap" resultType="hashmap">
SELECT COUNT(*) AS "totalCount" from (SELECT HBFPB.POST_NO, HBFPB.TITLE, HBFPB.CONTENT
FROM HP_BEFORE_AFTER_PHOTO_BBS AS HBFPB
LEFT OUTER JOIN HP_CATEGORY HC ON HBFPB.CATEGORY_DIV_CD = HC.CATEGORY_DIV_CD AND HBFPB.CATEGORY_NO = HC.CATEGORY_NO
WHERE HBFPB.USE_YN = 'Y'
AND HBFPB.CATEGORY_DIV_CD = '05'
<if test="webPhotoDietSearchKeywordParam0 != null and webPhotoDietSearchKeywordParam0 != ''">
AND (
(HC.CATEGORY_NM LIKE CONCAT('%',TRIM(#{webPhotoDietSearchKeywordParam0}),'%'))
)
</if>
<if test="webPhotoDietSearchKeywordParam1 != null and webPhotoDietSearchKeywordParam1 != ''">
AND (
(HBFPB.TITLE LIKE CONCAT('%',TRIM(#{webPhotoDietSearchKeywordParam1}),'%'))
)
</if>
<if test="webPhotoDietSearchKeywordParam2 != null and webPhotoDietSearchKeywordParam2 != ''">
AND (
(IFNULL((SELECT MM.NAME FROM MU_MEMBER AS MM
WHERE MM.USE_YN = 'Y'
AND MM.MU_MEMBER_ID = HBFPB.REG_ID
LIMIT 0, 1
),'') LIKE CONCAT('%',TRIM(#{webPhotoDietSearchKeywordParam2}),'%'))
)
</if>
GROUP BY HBFPB.POST_NO, HBFPB.TITLE, HBFPB.CONTENT) as HBFPB
</select>
<select id="selectListWebPhotoDiet" parameterType="hashmap" resultType="hashmap">
SELECT HBFPB.*
FROM (
SELECT HBFPB.*
,CAST(@RNUM:=@RNUM + 1 AS CHAR) AS "rowNum"
FROM (
SELECT HBFPB.POST_NO AS "muWebPhotoDietId"
,HBFPB.TITLE AS "title"
,HBFPB.CONTENT AS "content"
,HC.CATEGORY_NM AS "category"
,HC.CATEGORY_NO AS "categoryno"
,HBFPB.HASHTAG AS "hashtag"
,CONCAT(DATE_FORMAT(HBFPB.REG_DATE, '%Y-%m-%d')
,' ~ '
,DATE_FORMAT(HBFPB.REG_DATE, '%Y-%m-%d')) AS "photodietDate"
,DATE_FORMAT(HBFPB.REG_DATE, '%Y-%m-%d') AS "writeDate"
,IFNULL((SELECT MM.NAME
FROM MU_MEMBER AS MM
WHERE MM.USE_YN = 'Y'
AND MM.MU_MEMBER_ID = HBFPB.REG_ID
LIMIT 0, 1
),'') AS "writeName"
FROM HP_BEFORE_AFTER_PHOTO_BBS HBFPB
LEFT OUTER JOIN HP_CATEGORY HC ON HBFPB.CATEGORY_DIV_CD = HC.CATEGORY_DIV_CD AND HBFPB.CATEGORY_NO = HC.CATEGORY_NO
WHERE HBFPB.USE_YN = 'Y'
AND HBFPB.CATEGORY_DIV_CD = '05'
<!--
<if test="webPhotoDietSearchStartDate != null and webPhotoDietSearchStartDate != '' and webPhotoDietSearchEndDate != null and webPhotoDietSearchEndDate != ''">
AND DATE_FORMAT(HCB.REG_DATE, '%Y-%m-%d') &gt;= #{webPhotoDietSearchStartDate}
AND DATE_FORMAT(HCB.REG_DATE, '%Y-%m-%d') &lt;= #{webPhotoDietSearchEndDate}
</if>
-->
<if test="webPhotoDietSearchKeywordParam0 != null and webPhotoDietSearchKeywordParam0 != ''">
AND (
(HC.CATEGORY_NM LIKE CONCAT('%',TRIM(#{webPhotoDietSearchKeywordParam0}),'%'))
)
</if>
<if test="webPhotoDietSearchKeywordParam1 != null and webPhotoDietSearchKeywordParam1 != ''">
AND (
(HBFPB.TITLE LIKE CONCAT('%',TRIM(#{webPhotoDietSearchKeywordParam1}),'%'))
)
</if>
<if test="webPhotoDietSearchKeywordParam2 != null and webPhotoDietSearchKeywordParam2 != ''">
AND (
(IFNULL((SELECT MM.NAME FROM MU_MEMBER AS MM
WHERE MM.USE_YN = 'Y'
AND MM.MU_MEMBER_ID = HBFPB.REG_ID
LIMIT 0, 1
),'') LIKE CONCAT('%',TRIM(#{webPhotoDietSearchKeywordParam2}),'%'))
)
</if>
GROUP BY muWebPhotoDietId, title, content
<choose>
<when test="webPhotoDietSort != null and webPhotoDietSort != ''">
ORDER BY ${webPhotoDietSort}
</when>
<otherwise>
ORDER BY HBFPB.REG_DATE DESC
</otherwise>
</choose>
LIMIT 18446744073709551615
) HBFPB, (SELECT @RNUM:=0) R
WHERE 1 = 1
) HBFPB
WHERE 1 = 1
LIMIT ${webPhotoDietStart}, ${webPhotoDietLimit}
</select>
<select id="selectWebPhotoDiet" parameterType="hashmap" resultType="hashmap">
SELECT HBFPB.POST_NO AS "muWebPhotoDietId"
,HBFPB.CATEGORY_NO AS "categoryno"
,HBFPB.TITLE AS "title"
,HBFPB.CONTENT AS "content"
,HBFPB.HASHTAG AS "hashtag"
,HAF2.FILE_PATH AS "beforefile"
,HAF.FILE_PATH AS "afterfile"
FROM HP_BEFORE_AFTER_PHOTO_BBS AS HBFPB
LEFT OUTER JOIN HP_ATTACH_FILE HAF ON HAF.ATTACHFILE_ID = HBFPB.BEFORE_PHOTO_ATTACHFILE_ID
LEFT OUTER JOIN HP_ATTACH_FILE HAF2 ON HAF2.ATTACHFILE_ID = HBFPB.AFTER_PHOTO_ATTACHFILE_ID
WHERE HBFPB.USE_YN = 'Y'
AND HBFPB.CATEGORY_DIV_CD = '05'
AND HBFPB.CATEGORY_NO = #{categoryno}
AND HBFPB.POST_NO = #{muWebPhotoDietId}
LIMIT 0, 1
</select>
<insert id="insertWebPhotoDiet" parameterType="hashmap">
<selectKey resultType="string" keyProperty="id" order="BEFORE">
SELECT (MAX(POST_NO) + 1) FROM HP_BEFORE_AFTER_PHOTO_BBS WHERE CATEGORY_DIV_CD = '05' AND CATEGORY_NO = ${categoryno}
</selectKey>
INSERT INTO HP_BEFORE_AFTER_PHOTO_BBS(
CATEGORY_DIV_CD
,CATEGORY_NO
,POST_NO
,TITLE
,CONTENT
,BEFORE_PHOTO_ATTACHFILE_ID
,AFTER_PHOTO_ATTACHFILE_ID
,HASHTAG
,USE_YN
,REG_ID
,REG_DATE
,MOD_ID
,MOD_DATE
)VALUES(
'05'
,${categoryno}
,#{id}
,#{title}
,#{content}
,#{beforeId}
,#{afterId}
,#{hashtag}
,'Y'
,#{regId}
,NOW()
,#{modId}
,NOW()
)
</insert>
<insert id="insertWebPhotoDietBeforeFile" parameterType="hashmap">
<selectKey resultType="string" keyProperty="beforeId" order="BEFORE">
SELECT CONCAT('ATF-', LPAD(NEXTVAL(seq_attachfile_id), 21, '0'))
</selectKey>
INSERT INTO HP_ATTACH_FILE(
ATTACHFILE_ID
,ATTACHFILE_NM
,FILE_PATH
,FILE_SIZE
,FILE_TYPE
,REG_ID
,REG_DATE
,MOD_ID
,MOD_DATE
)VALUES(
#{beforeId}
,#{beforeFileName}
,#{beforeFilePath}
,'0'
,'img'
,#{regId}
,NOW()
,#{modId}
,NOW()
)
</insert>
<insert id="insertWebPhotoDietAfterFile" parameterType="hashmap">
<selectKey resultType="string" keyProperty="afterId" order="BEFORE">
SELECT CONCAT('ATF-', LPAD(NEXTVAL(seq_attachfile_id), 21, '0'))
</selectKey>
INSERT INTO HP_ATTACH_FILE(
ATTACHFILE_ID
,ATTACHFILE_NM
,FILE_PATH
,FILE_SIZE
,FILE_TYPE
,REG_ID
,REG_DATE
,MOD_ID
,MOD_DATE
)VALUES(
#{afterId}
,#{afterFileName}
,#{afterFilePath}
,'0'
,'img'
,#{regId}
,NOW()
,#{modId}
,NOW()
)
</insert>
<update id="updateWebPhotoDiet" parameterType="hashmap">
UPDATE HP_BEFORE_AFTER_PHOTO_BBS
SET
TITLE = #{title}
,CONTENT = #{content}
,HASHTAG = #{hashtag}
,CATEGORY_NO = #{categoryNo}
<if test="beforeId != null and beforeId != ''">
,BEFORE_PHOTO_ATTACHFILE_ID = #{beforeId}
</if>
<if test="afterId != null and afterId != ''">
,AFTER_PHOTO_ATTACHFILE_ID = #{afterId}
</if>
,MOD_ID = #{modId}
,MOD_DATE = NOW()
WHERE USE_YN = 'Y'
AND CATEGORY_DIV_CD = '05'
AND CATEGORY_NO = #{originalCategoryNo}
AND POST_NO = #{muWebPhotoDietId}
</update>
<update id="deleteWebPhotoDiet" parameterType="hashmap">
UPDATE HP_BEFORE_AFTER_PHOTO_BBS
SET MOD_ID = #{modId}
,MOD_DATE = NOW()
,USE_YN = 'N'
WHERE USE_YN = 'Y'
AND CATEGORY_NO = #{categoryno}
AND POST_NO = #{muWebPhotoDietId}
</update>
<select id="selectListPhotoCategory" parameterType="hashmap" resultType="hashmap">
SELECT ROW_NUMBER() OVER (ORDER BY HC.REG_DATE DESC) AS "rowNum"
,HC.CATEGORY_NO AS "categoryNo"
,HC.CATEGORY_NM AS "categoryNm"
FROM HP_CATEGORY AS HC
WHERE HC.USE_YN = 'Y'
AND HC.CATEGORY_DIV_CD = '05'
ORDER BY HC.CATEGORY_NO ASC
</select>
</mapper>

View File

@@ -0,0 +1,251 @@
<?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="WebPhotoPetit">
<select id="selectTotalWebPhotoPetitCount" parameterType="hashmap" resultType="hashmap">
SELECT COUNT(*) AS "totalCount" from (SELECT HBFPB.POST_NO, HBFPB.TITLE, HBFPB.CONTENT
FROM HP_BEFORE_AFTER_PHOTO_BBS AS HBFPB
LEFT OUTER JOIN HP_CATEGORY HC ON HBFPB.CATEGORY_DIV_CD = HC.CATEGORY_DIV_CD AND HBFPB.CATEGORY_NO = HC.CATEGORY_NO
WHERE HBFPB.USE_YN = 'Y'
AND HBFPB.CATEGORY_DIV_CD = '06'
<if test="webPhotoPetitSearchKeywordParam0 != null and webPhotoPetitSearchKeywordParam0 != ''">
AND (
(HC.CATEGORY_NM LIKE CONCAT('%',TRIM(#{webPhotoPetitSearchKeywordParam0}),'%'))
)
</if>
<if test="webPhotoPetitSearchKeywordParam1 != null and webPhotoPetitSearchKeywordParam1 != ''">
AND (
(HBFPB.TITLE LIKE CONCAT('%',TRIM(#{webPhotoPetitSearchKeywordParam1}),'%'))
)
</if>
<if test="webPhotoPetitSearchKeywordParam2 != null and webPhotoPetitSearchKeywordParam2 != ''">
AND (
(IFNULL((SELECT MM.NAME FROM MU_MEMBER AS MM
WHERE MM.USE_YN = 'Y'
AND MM.MU_MEMBER_ID = HBFPB.REG_ID
LIMIT 0, 1
),'') LIKE CONCAT('%',TRIM(#{webPhotoPetitSearchKeywordParam2}),'%'))
)
</if>
GROUP BY HBFPB.POST_NO, HBFPB.TITLE, HBFPB.CONTENT) as HBFPB
</select>
<select id="selectListWebPhotoPetit" parameterType="hashmap" resultType="hashmap">
SELECT HBFPB.*
FROM (
SELECT HBFPB.*
,CAST(@RNUM:=@RNUM + 1 AS CHAR) AS "rowNum"
FROM (
SELECT HBFPB.POST_NO AS "muWebPhotoPetitId"
,HBFPB.TITLE AS "title"
,HBFPB.CONTENT AS "content"
,HC.CATEGORY_NM AS "category"
,HC.CATEGORY_NO AS "categoryno"
,HBFPB.HASHTAG AS "hashtag"
,CONCAT(DATE_FORMAT(HBFPB.REG_DATE, '%Y-%m-%d')
,' ~ '
,DATE_FORMAT(HBFPB.REG_DATE, '%Y-%m-%d')) AS "photopetitDate"
,DATE_FORMAT(HBFPB.REG_DATE, '%Y-%m-%d') AS "writeDate"
,IFNULL((SELECT MM.NAME
FROM MU_MEMBER AS MM
WHERE MM.USE_YN = 'Y'
AND MM.MU_MEMBER_ID = HBFPB.REG_ID
LIMIT 0, 1
),'') AS "writeName"
FROM HP_BEFORE_AFTER_PHOTO_BBS HBFPB
LEFT OUTER JOIN HP_CATEGORY HC ON HBFPB.CATEGORY_DIV_CD = HC.CATEGORY_DIV_CD AND HBFPB.CATEGORY_NO = HC.CATEGORY_NO
WHERE HBFPB.USE_YN = 'Y'
AND HBFPB.CATEGORY_DIV_CD = '06'
<!--
<if test="webPhotoPetitSearchStartDate != null and webPhotoPetitSearchStartDate != '' and webPhotoPetitSearchEndDate != null and webPhotoPetitSearchEndDate != ''">
AND DATE_FORMAT(HCB.REG_DATE, '%Y-%m-%d') &gt;= #{webPhotoPetitSearchStartDate}
AND DATE_FORMAT(HCB.REG_DATE, '%Y-%m-%d') &lt;= #{webPhotoPetitSearchEndDate}
</if>
-->
<if test="webPhotoPetitSearchKeywordParam0 != null and webPhotoPetitSearchKeywordParam0 != ''">
AND (
(HC.CATEGORY_NM LIKE CONCAT('%',TRIM(#{webPhotoPetitSearchKeywordParam0}),'%'))
)
</if>
<if test="webPhotoPetitSearchKeywordParam1 != null and webPhotoPetitSearchKeywordParam1 != ''">
AND (
(HBFPB.TITLE LIKE CONCAT('%',TRIM(#{webPhotoPetitSearchKeywordParam1}),'%'))
)
</if>
<if test="webPhotoPetitSearchKeywordParam2 != null and webPhotoPetitSearchKeywordParam2 != ''">
AND (
(IFNULL((SELECT MM.NAME FROM MU_MEMBER AS MM
WHERE MM.USE_YN = 'Y'
AND MM.MU_MEMBER_ID = HBFPB.REG_ID
LIMIT 0, 1
),'') LIKE CONCAT('%',TRIM(#{webPhotoPetitSearchKeywordParam2}),'%'))
)
</if>
GROUP BY muWebPhotoPetitId, title, content
<choose>
<when test="webPhotoPetitSort != null and webPhotoPetitSort != ''">
ORDER BY ${webPhotoPetitSort}
</when>
<otherwise>
ORDER BY HBFPB.REG_DATE DESC
</otherwise>
</choose>
LIMIT 18446744073709551615
) HBFPB, (SELECT @RNUM:=0) R
WHERE 1 = 1
) HBFPB
WHERE 1 = 1
LIMIT ${webPhotoPetitStart}, ${webPhotoPetitLimit}
</select>
<select id="selectWebPhotoPetit" parameterType="hashmap" resultType="hashmap">
SELECT HBFPB.POST_NO AS "muWebPhotoPetitId"
,HBFPB.CATEGORY_NO AS "categoryno"
,HBFPB.TITLE AS "title"
,HBFPB.CONTENT AS "content"
,HBFPB.HASHTAG AS "hashtag"
,HAF2.FILE_PATH AS "beforefile"
,HAF.FILE_PATH AS "afterfile"
FROM HP_BEFORE_AFTER_PHOTO_BBS AS HBFPB
LEFT OUTER JOIN HP_ATTACH_FILE HAF ON HAF.ATTACHFILE_ID = HBFPB.BEFORE_PHOTO_ATTACHFILE_ID
LEFT OUTER JOIN HP_ATTACH_FILE HAF2 ON HAF2.ATTACHFILE_ID = HBFPB.AFTER_PHOTO_ATTACHFILE_ID
WHERE HBFPB.USE_YN = 'Y'
AND HBFPB.CATEGORY_DIV_CD = '06'
AND HBFPB.CATEGORY_NO = #{categoryno}
AND HBFPB.POST_NO = #{muWebPhotoPetitId}
LIMIT 0, 1
</select>
<insert id="insertWebPhotoPetit" parameterType="hashmap">
<selectKey resultType="string" keyProperty="id" order="BEFORE">
SELECT (MAX(POST_NO) + 1) FROM HP_BEFORE_AFTER_PHOTO_BBS WHERE CATEGORY_DIV_CD = '06' AND CATEGORY_NO = ${categoryno}
</selectKey>
INSERT INTO HP_BEFORE_AFTER_PHOTO_BBS(
CATEGORY_DIV_CD
,CATEGORY_NO
,POST_NO
,TITLE
,CONTENT
,BEFORE_PHOTO_ATTACHFILE_ID
,AFTER_PHOTO_ATTACHFILE_ID
,HASHTAG
,USE_YN
,REG_ID
,REG_DATE
,MOD_ID
,MOD_DATE
)VALUES(
'06'
,${categoryno}
,#{id}
,#{title}
,#{content}
,#{beforeId}
,#{afterId}
,#{hashtag}
,'Y'
,#{regId}
,NOW()
,#{modId}
,NOW()
)
</insert>
<insert id="insertWebPhotoPetitBeforeFile" parameterType="hashmap">
<selectKey resultType="string" keyProperty="beforeId" order="BEFORE">
SELECT CONCAT('ATF-', LPAD(NEXTVAL(seq_attachfile_id), 21, '0'))
</selectKey>
INSERT INTO HP_ATTACH_FILE(
ATTACHFILE_ID
,ATTACHFILE_NM
,FILE_PATH
,FILE_SIZE
,FILE_TYPE
,REG_ID
,REG_DATE
,MOD_ID
,MOD_DATE
)VALUES(
#{beforeId}
,#{beforeFileName}
,#{beforeFilePath}
,'0'
,'img'
,#{regId}
,NOW()
,#{modId}
,NOW()
)
</insert>
<insert id="insertWebPhotoPetitAfterFile" parameterType="hashmap">
<selectKey resultType="string" keyProperty="afterId" order="BEFORE">
SELECT CONCAT('ATF-', LPAD(NEXTVAL(seq_attachfile_id), 21, '0'))
</selectKey>
INSERT INTO HP_ATTACH_FILE(
ATTACHFILE_ID
,ATTACHFILE_NM
,FILE_PATH
,FILE_SIZE
,FILE_TYPE
,REG_ID
,REG_DATE
,MOD_ID
,MOD_DATE
)VALUES(
#{afterId}
,#{afterFileName}
,#{afterFilePath}
,'0'
,'img'
,#{regId}
,NOW()
,#{modId}
,NOW()
)
</insert>
<update id="updateWebPhotoPetit" parameterType="hashmap">
UPDATE HP_BEFORE_AFTER_PHOTO_BBS
SET
TITLE = #{title}
,CONTENT = #{content}
,HASHTAG = #{hashtag}
,CATEGORY_NO = #{categoryNo}
<if test="beforeId != null and beforeId != ''">
,BEFORE_PHOTO_ATTACHFILE_ID = #{beforeId}
</if>
<if test="afterId != null and afterId != ''">
,AFTER_PHOTO_ATTACHFILE_ID = #{afterId}
</if>
,MOD_ID = #{modId}
,MOD_DATE = NOW()
WHERE USE_YN = 'Y'
AND CATEGORY_DIV_CD = '06'
AND CATEGORY_NO = #{originalCategoryNo}
AND POST_NO = #{muWebPhotoPetitId}
</update>
<update id="deleteWebPhotoPetit" parameterType="hashmap">
UPDATE HP_BEFORE_AFTER_PHOTO_BBS
SET MOD_ID = #{modId}
,MOD_DATE = NOW()
,USE_YN = 'N'
WHERE USE_YN = 'Y'
AND CATEGORY_NO = #{categoryno}
AND POST_NO = #{muWebPhotoPetitId}
</update>
<select id="selectListPhotoCategory" parameterType="hashmap" resultType="hashmap">
SELECT ROW_NUMBER() OVER (ORDER BY HC.REG_DATE DESC) AS "rowNum"
,HC.CATEGORY_NO AS "categoryNo"
,HC.CATEGORY_NM AS "categoryNm"
FROM HP_CATEGORY AS HC
WHERE HC.USE_YN = 'Y'
AND HC.CATEGORY_DIV_CD = '06'
ORDER BY HC.CATEGORY_NO ASC
</select>
</mapper>

View File

@@ -0,0 +1,164 @@
<?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="WebPopup">
<select id="selectTotalWebPopupCount" parameterType="hashmap" resultType="hashmap">
SELECT COUNT(*) AS "totalCount"
FROM MU_WEB_POPUP AS MWP
WHERE MWP.USE_YN = 'Y'
<if test="homepageDivCd != null and homepageDivCd != ''">
AND MWP.HOMEPAGE_DIV_CD = #{homepageDivCd}
</if>
<if test="webPopupSearchStartDate != null and webPopupSearchStartDate != '' and webPopupSearchEndDate != null and webPopupSearchEndDate != ''">
AND DATE_FORMAT(MWP.WRITE_DATE, '%Y-%m-%d') &gt;= #{webPopupSearchStartDate}
AND DATE_FORMAT(MWP.WRITE_DATE, '%Y-%m-%d') &lt;= #{webPopupSearchEndDate}
</if>
<if test="webPopupSearchKeywordParam != null and webPopupSearchKeywordParam != ''">
AND MWP.TITLE LIKE CONCAT('%',TRIM(#{webPopupSearchKeywordParam}),'%')
</if>
</select>
<select id="selectListWebPopup" parameterType="hashmap" resultType="hashmap">
SELECT MWP.*
FROM (
SELECT MWP.*
,CAST(@RNUM:=@RNUM + 1 AS CHAR) AS "rowNum"
FROM (
SELECT MWP.MU_WEB_POPUP_ID AS "muWebPopupId"
,MWP.TITLE AS "title"
,MWP.FILE_PATH AS "filePath"
,MWP.FILE_NAME AS "fileName"
,MWP.ORIGINAL_FILE_NAME AS "originalFileName"
,CONCAT(DATE_FORMAT(MWP.WRITE_DATE, '%Y-%m-%d')
,', '
,DATE_FORMAT(MWP.WRITE_TIME, '%H:%i')) AS "writeDate"
,IFNULL((SELECT MM.NAME
FROM MU_MEMBER AS MM
WHERE MM.USE_YN = 'Y'
AND MM.MU_MEMBER_ID = MWP.REG_ID
LIMIT 0, 1
),'') AS "writeName"
,MWP.HOMEPAGE_DIV_CD AS "homepageDivCd"
FROM MU_WEB_POPUP MWP
WHERE MWP.USE_YN = 'Y'
<if test="webPopupSearchStartDate != null and webPopupSearchStartDate != '' and webPopupSearchEndDate != null and webPopupSearchEndDate != ''">
AND DATE_FORMAT(MWP.WRITE_DATE, '%Y-%m-%d') &gt;= #{webPopupSearchStartDate}
AND DATE_FORMAT(MWP.WRITE_DATE, '%Y-%m-%d') &lt;= #{webPopupSearchEndDate}
</if>
<if test="webPopupSearchKeywordParam != null and webPopupSearchKeywordParam != ''">
AND MWP.TITLE LIKE CONCAT('%',TRIM(#{webPopupSearchKeywordParam}),'%')
</if>
<choose>
<when test="webPopupSort != null and webPopupSort != ''">
ORDER BY ${webPopupSort}
</when>
<otherwise>
ORDER BY MWP.WRITE_DATE DESC
</otherwise>
</choose>
LIMIT 18446744073709551615
) AS MWP, (SELECT @RNUM:=0) R
WHERE 1 = 1
) AS MWP
WHERE 1 = 1
<if test="webPopupStart != null and webPopupStart != '' and webPopupLimit != null and webPopupLimit != ''">
LIMIT ${webPopupStart}, ${webPopupLimit}
</if>
</select>
<select id="selectWebPopup" parameterType="hashmap" resultType="hashmap">
SELECT MWP.MU_WEB_POPUP_ID AS "muWebPopupId"
,MWP.TITLE AS "title"
,MWP.URL AS "url"
,MWP.FILE_PATH AS "filePath"
,MWP.FILE_NAME AS "fileName"
,MWP.ORIGINAL_FILE_NAME AS "originalFileName"
,MWP.HOMEPAGE_DIV_CD AS "homepageDivCd"
FROM MU_WEB_POPUP AS MWP
WHERE MWP.USE_YN = 'Y'
AND MWP.MU_WEB_POPUP_ID = #{muWebPopupId}
LIMIT 0, 1
</select>
<select id="selectWebPopupCount" parameterType="hashmap" resultType="hashmap">
SELECT COUNT(*) AS "count"
FROM MU_WEB_POPUP AS MWP
WHERE MWP.USE_YN = 'Y'
<if test="homepageDivCd != null and homepageDivCd != ''">
AND MWP.HOMEPAGE_DIV_CD = #{homepageDivCd}
</if>
</select>
<insert id="insertWebPopup" parameterType="hashmap">
<selectKey resultType="string" keyProperty="id" order="BEFORE">
SELECT CONCAT(#{muWebPopupId},LPAD((SELECT NEXTVAL(MU_WEB_POPUP_SEQ)), 11, 0))
</selectKey>
INSERT INTO MU_WEB_POPUP(
MU_WEB_POPUP_ID
,TITLE
,URL
,CDN_URL
,FILE_PATH
,FILE_NAME
,ORIGINAL_FILE_NAME
,WRITE_DATE
,WRITE_TIME
,CUD_FLAG
,USE_YN
,REG_ID
,REG_DATE
,MOD_ID
,MOD_DATE
,T_ID
,T_DATE
,HOMEPAGE_DIV_CD
)VALUES(
#{id}
,#{title}
,#{url}
,#{cdnUrl}
,#{filePath}
,#{fileName}
,#{originalFileName}
,NOW()
,NOW()
,'C'
,'Y'
,#{regId}
,NOW()
,#{modId}
,NOW()
,#{tId}
,#{tDate}
,#{homepageDivCd}
)
</insert>
<update id="updateWebPopup" parameterType="hashmap">
UPDATE MU_WEB_POPUP
SET MOD_ID = #{modId}
,MOD_DATE = NOW()
,CUD_FLAG = 'U'
,TITLE = #{title}
,URL = #{url}
,HOMEPAGE_DIV_CD = #{homepageDivCd}
<if test="filePath != null and filePath != ''">
,CDN_URL = #{cdnUrl}
,FILE_PATH = #{filePath}
,FILE_NAME = #{fileName}
,ORIGINAL_FILE_NAME = #{originalFileName}
</if>
WHERE USE_YN = 'Y'
AND MU_WEB_POPUP_ID = #{muWebPopupId}
</update>
<update id="deleteWebPopup" parameterType="hashmap">
UPDATE MU_WEB_POPUP
SET MOD_ID = #{modId}
,MOD_DATE = NOW()
,CUD_FLAG = 'D'
,USE_YN = 'N'
WHERE USE_YN = 'Y'
AND MU_WEB_POPUP_ID = #{muWebPopupId}
</update>
</mapper>

View File

@@ -0,0 +1,222 @@
<?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="WebProduct">
<select id="selectTotalProductOptionCount" parameterType="hashmap" resultType="hashmap">
SELECT COUNT(*) AS "totalCount"
FROM (
SELECT MU_PRODUCT_ID AS "muProductId"
,PRODUCT_NAME AS "productName"
,MU_COMPANY_ID AS "muCompanyId"
,COMPANY_NAME AS "companyName"
,MU_TREATMENT_ID AS "muTreatmentId"
,CATEGORY_ITEM_NAME AS "treatmentName"
,FORMAT(IFNULL(price,0),0) AS "price"
,CASE
WHEN FLOOR(QUANTITY) = QUANTITY THEN FORMAT(IFNULL(QUANTITY,0),0)
ELSE IFNULL(TRIM(TRAILING '0' FROM CAST(FORMAT(QUANTITY, 2) AS FLOAT)),0)
END AS "quantity"
,VOLUME AS "volume"
,UNIT_CODE AS "unitCode"
,UNIT_NAME AS "unitName"
,DATE_FORMAT(WRITE_DATE, '%Y-%m-%d') AS "writeDate"
FROM (
SELECT MP.MU_PRODUCT_ID
,MP.PRODUCT_NAME
,MC.MU_COMPANY_ID
,MC.COMPANY_NAME
,MP.MU_TREATMENT_ID
,CATEGORY_ITEM_NAME
,MSS.PRICE
,SUM(MSS.QUANTITY) AS QUANTITY
,MP.VOLUME
,MP.UNIT_CODE
,MP.UNIT_NAME
,MP.WRITE_DATE
FROM MU_PRODUCT AS MP
INNER JOIN MU_COMPANY_PRODUCT AS MCP
ON MP.MU_PRODUCT_ID = MCP.MU_PRODUCT_ID
LEFT JOIN MU_STOCK_SUM MSS
ON MP.MU_PRODUCT_ID = MSS.MU_PRODUCT_ID
AND MSS.USE_YN='Y'
INNER JOIN MU_CATEGORY_ITEM AS MCI
ON MCI.MU_CATEGORY_ITEM_ID = MP.MU_TREATMENT_ID
AND MCI.USE_YN = 'Y'
LEFT JOIN MU_COMPANY AS MC
ON MC.MU_COMPANY_ID = MCP.MU_COMPANY_ID
WHERE MP.USE_YN = 'Y'
<if test="productSearchKeywordParam != null and productSearchKeywordParam != ''">
AND MP.PRODUCT_NAME LIKE CONCAT('%',TRIM(#{productSearchKeywordParam}),'%')
</if>
GROUP BY MU_PRODUCT_ID
) AS MCP
) AS MCP
WHERE 1 = 1
AND MCP.quantity > 0
</select>
<select id="selectListProductOption" parameterType="hashmap" resultType="hashmap">
SELECT MCP.*
FROM (
SELECT MCP.*
,CAST(@RNUM:=@RNUM + 1 AS CHAR) AS "rowNum"
FROM (
SELECT MU_PRODUCT_ID AS "muProductId"
,PRODUCT_NAME AS "productName"
,MU_COMPANY_ID AS "muCompanyId"
,COMPANY_NAME AS "companyName"
,MU_TREATMENT_ID AS "muTreatmentId"
,CATEGORY_ITEM_NAME AS "treatmentName"
,FORMAT(IFNULL(price,0),0) AS "price"
,CASE
WHEN FLOOR(QUANTITY) = QUANTITY THEN FORMAT(IFNULL(QUANTITY,0),0)
ELSE IFNULL(TRIM(TRAILING '0' FROM CAST(FORMAT(QUANTITY, 2) AS FLOAT)),0)
END AS "quantity"
,VOLUME AS "volume"
,UNIT_CODE AS "unitCode"
,UNIT_NAME AS "unitName"
,DATE_FORMAT(WRITE_DATE, '%Y-%m-%d') AS "writeDate"
FROM (
SELECT MP.MU_PRODUCT_ID
,MP.PRODUCT_NAME
,MC.MU_COMPANY_ID
,MC.COMPANY_NAME
,MP.MU_TREATMENT_ID
,CATEGORY_ITEM_NAME
,MSS.PRICE
,SUM(MSS.QUANTITY) AS QUANTITY
,MP.VOLUME
,MP.UNIT_CODE
,MP.UNIT_NAME
,MP.WRITE_DATE
FROM MU_PRODUCT AS MP
INNER JOIN MU_COMPANY_PRODUCT AS MCP
ON MP.MU_PRODUCT_ID = MCP.MU_PRODUCT_ID
LEFT JOIN MU_STOCK_SUM MSS
ON MP.MU_PRODUCT_ID = MSS.MU_PRODUCT_ID
AND MSS.USE_YN='Y'
INNER JOIN MU_CATEGORY_ITEM AS MCI
ON MCI.MU_CATEGORY_ITEM_ID = MP.MU_TREATMENT_ID
AND MCI.USE_YN = 'Y'
LEFT JOIN MU_COMPANY AS MC
ON MC.MU_COMPANY_ID = MCP.MU_COMPANY_ID
WHERE MP.USE_YN = 'Y'
<if test="productSearchKeywordParam != null and productSearchKeywordParam != ''">
AND MP.PRODUCT_NAME LIKE CONCAT('%',TRIM(#{productSearchKeywordParam}),'%')
</if>
GROUP BY MU_PRODUCT_ID
) AS MCP
<choose>
<when test="productSort != null and productSort != ''">
ORDER BY ${productSort}
</when>
<otherwise>
ORDER BY MCP.CATEGORY_ITEM_NAME ASC
</otherwise>
</choose>
LIMIT 18446744073709551615
) AS MCP, (SELECT @RNUM:=0) R
WHERE 1 = 1
AND MCP.quantity > 0
) AS MCP
WHERE 1 = 1
</select>
<select id="checkProduct" parameterType="hashmap" resultType="hashmap">
SELECT COUNT(*) AS "totalCount"
FROM MU_PRODUCT AS MP
WHERE MP.USE_YN = 'Y'
AND MP.MU_PRODUCT_ID = #{muProductId}
AND MP.MU_TREATMENT_ID = #{muTreatmentId}
AND MP.PRODUCT_NAME = #{productName}
AND MP.VOLUME = #{volume}
AND MP.UNIT_CODE = #{unitCode}
AND MP.UNIT_NAME = #{unitName}
AND MP.USAGE_VOLUME = #{usage_volume}
AND MP.USAGE_UNIT_CODE = #{usage_unitName}
</select>
<select id="selectProductCountSeq" parameterType="hashmap" resultType="hashmap">
SELECT CONCAT('P', DATE_FORMAT(CURRENT_DATE() ,'%Y%m%d'), LPAD((SELECT NEXTVAL(MU_PRODUCT_COUNT_SEQ)), 4, 0)) AS "productCode"
</select>
<insert id="insertProduct" parameterType="hashmap">
<selectKey resultType="hashmap" keyProperty="id" order="BEFORE">
SELECT
productId
,categoryId
FROM (
SELECT
CONCAT(#{muProductId}, LPAD((SELECT NEXTVAL(MU_PRODUCT_SEQ)), 11, 0)) AS productId,
(
SELECT MU_CATEGORY_ITEM_ID
FROM MU_CATEGORY_ITEM MCI
JOIN MU_CATEGORY MC
ON MCI.MU_CATEGORY_ID = MC.MU_CATEGORY_ID
WHERE MC.CATEGORY_NAME = '재고구분'
AND MCI.CATEGORY_ITEM_CODE =#{categoryCode} OR MCI.MU_CATEGORY_ITEM_ID = #{categoryCode}) AS categoryId
)as subquery
</selectKey>
INSERT INTO MU_PRODUCT(
MU_PRODUCT_ID
,PRODUCT_CODE
,PRODUCT_NAME
,MU_TREATMENT_ID
,VOLUME
,UNIT_CODE
,UNIT_NAME
,WRITE_DATE
,WRITE_TIME
,CUD_FLAG
,USE_YN
,REG_ID
,REG_DATE
,MOD_ID
,MOD_DATE
,T_ID
,T_DATE
,USAGE_VOLUME
,USAGE_UNIT_CODE
)VALUES(
#{id.productId}
,#{productCode}
,#{productName}
,#{id.categoryId}
,#{volume}
,#{unitCode}
,#{unitName}
,CURDATE()
,CURTIME()
,'C'
,'Y'
,#{regId}
,NOW()
,#{modId}
,NOW()
,#{tId}
,#{tDate}
,#{usage_volume}
,#{usage_unitName}
)
</insert>
<update id="deleteProduct" parameterType="hashmap">
UPDATE MU_PRODUCT
SET MOD_ID = #{modId}
,MOD_DATE = NOW()
,CUD_FLAG = 'D'
,USE_YN = 'N'
WHERE USE_YN = 'Y'
<if test="selectId != null and selectId != ''">
AND MU_PRODUCT_ID NOT IN (${selectId})
</if>
AND MU_PRODUCT_ID IN (SELECT MCP.MU_PRODUCT_ID
FROM MU_COMPANY AS CM
INNER JOIN MU_COMPANY_PRODUCT AS MCP
ON CM.MU_COMPANY_ID = MCP.MU_COMPANY_ID
AND CM.USE_YN = 'Y'
AND MCP.USE_YN = 'Y'
AND CM.MU_COMPANY_ID = #{muCompanyId}
)
</update>
</mapper>

View File

@@ -0,0 +1,61 @@
<?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="WebPublicHoliday">
<!-- 공휴일 total count 조회 -->
<select id="selectListPublicHolidayDate" parameterType="hashmap" resultType="hashmap">
SELECT MU_PUBLIC_HOLIDAY_ID AS "muPublicHolidayId"
FROM MU_PUBLIC_HOLIDAY KPH
WHERE USE_YN = 'Y'
AND LOC_DATE = #{locDate}
</select>
<!-- 공휴일 등록 -->
<insert id="insertPublicHoliday" parameterType="hashmap">
<selectKey resultType="string" keyProperty="id" order="BEFORE">
SELECT CONCAT(#{muPublicHolidayId},LPAD((SELECT NEXTVAL(MU_PUBLIC_HOLIDAY_SEQ)), 10, 0))
</selectKey>
INSERT INTO MU_PUBLIC_HOLIDAY(
MU_PUBLIC_HOLIDAY_ID
,PUBLIC_HOLIDAY_NAME
,LOC_DATE
,DATE_KIND
,WRITE_DATE
,WRITE_TIME
,CUD_FLAG
,USE_YN
,REG_ID
,REG_DATE
,MOD_ID
,MOD_DATE
,T_ID
,T_DATE
)VALUES(
#{id}
,#{dateName}
,#{locDate}
,#{dateKind}
,CURDATE()
,CURTIME()
,'C'
,'Y'
,#{regId}
,NOW()
,#{modId}
,NOW()
,#{tId}
,#{tDate}
)
</insert>
<!-- 공휴일 수정 -->
<update id="updatePublicHoliday" parameterType="hashmap">
UPDATE MU_PUBLIC_HOLIDAY
SET MOD_ID = #{modId}
,MOD_DATE = NOW()
,CUD_FLAG = 'U'
,LOC_DATE = #{locDate}
,REMARK = #{remark}
WHERE MU_PUBLIC_HOLIDAY_ID = #{muPublicHolidayId}
</update>
</mapper>

View File

@@ -0,0 +1,258 @@
<?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="WebPush">
<select id="selectTotalPushCount" parameterType="hashmap" resultType="hashmap">
SELECT COUNT(*) AS "totalCount"
FROM MU_PUSH AS MP
INNER JOIN MU_USER AS MU
ON MP.MU_USER_ID = MU.MU_USER_ID
AND MP.USE_YN = 'Y'
AND MU.USE_YN = 'Y'
<if test="pushSearchStartDate != null and pushSearchStartDate != '' and pushSearchEndDate != null and pushSearchEndDate != ''">
AND DATE_FORMAT(MP.SEND_DATE, '%Y-%m-%d') &gt;= #{pushSearchStartDate}
AND DATE_FORMAT(MP.SEND_DATE, '%Y-%m-%d') &lt;= #{pushSearchEndDate}
</if>
<if test="pushSearchKeywordParam != null and pushSearchKeywordParam != ''">
AND MU.USER_NAME LIKE CONCAT('%',TRIM(#{pushSearchKeywordParam}),'%')
</if>
</select>
<select id="selectListPush" parameterType="hashmap" resultType="hashmap">
SELECT MP.*
FROM (
SELECT MP.*
,CAST(@RNUM:=@RNUM + 1 AS CHAR) AS "rowNum"
FROM (
SELECT MP.MU_PUSH_ID AS "muPushId"
,MU.USER_NAME AS "userName"
,(SELECT MCI.CATEGORY_ITEM_NAME
FROM MU_CATEGORY_ITEM AS MCI
WHERE MCI.USE_YN = 'Y'
AND MCI.MU_CATEGORY_ITEM_ID = MU.NATIONALITY
LIMIT 0, 1) AS "nationality"
,DATE_FORMAT(MU.BIRTHDAY, '%Y-%m-%d') AS "birthday"
,TIMESTAMPDIFF(YEAR, MU.BIRTHDAY, CURDATE()) - (DATE_FORMAT(CURDATE(), '%m%d') <![CDATA[ < ]]> DATE_FORMAT(MU.BIRTHDAY, '%m%d'))
AS "age"
,CASE
WHEN MU.GENDER = 'M'
THEN '남'
WHEN MU.GENDER = 'F'
THEN '여'
ELSE ''
END AS "gender"
,IFNULL((SELECT MCI.FILE_PATH
FROM MU_CATEGORY_ITEM AS MCI
WHERE MCI.USE_YN = 'Y'
AND MCI.MU_CATEGORY_ITEM_ID = MU.USER_TYPE
LIMIT 0, 1), MU.USER_TYPE2) AS "userType"
,MP.TITLE AS "title"
,MP.CONTENT AS "content"
,CASE
WHEN MP.STATE = 'R'
THEN '대기'
WHEN MP.STATE = 'G'
THEN '진행'
WHEN MP.STATE = 'Y'
THEN '완료'
ELSE ''
END AS "state"
,IFNULL((SELECT MM.NAME
FROM MU_MEMBER AS MM
WHERE MM.USE_YN = 'Y'
AND MM.MU_MEMBER_ID = MP.REG_ID
LIMIT 0, 1), '시스템') AS "memberName"
,DATE_FORMAT(MP.SEND_DATE, '%Y-%m-%d') AS "sendDate"
FROM MU_PUSH AS MP
INNER JOIN MU_USER AS MU
ON MP.MU_USER_ID = MU.MU_USER_ID
AND MP.USE_YN = 'Y'
AND MU.USE_YN = 'Y'
<if test="pushSearchStartDate != null and pushSearchStartDate != '' and pushSearchEndDate != null and pushSearchEndDate != ''">
AND DATE_FORMAT(MP.SEND_DATE, '%Y-%m-%d') &gt;= #{pushSearchStartDate}
AND DATE_FORMAT(MP.SEND_DATE, '%Y-%m-%d') &lt;= #{pushSearchEndDate}
</if>
<if test="pushSearchKeywordParam != null and pushSearchKeywordParam != ''">
AND MU.USER_NAME LIKE CONCAT('%',TRIM(#{pushSearchKeywordParam}),'%')
</if>
<choose>
<when test="pushSort != null and pushSort != ''">
ORDER BY ${pushSort}
</when>
<otherwise>
ORDER BY MP.SEND_DATE DESC
</otherwise>
</choose>
LIMIT 18446744073709551615
) MP, (SELECT @RNUM:=0) R
WHERE 1 = 1
) MP
WHERE 1 = 1
LIMIT ${pushStart}, ${pushLimit}
</select>
<select id="selectListPushTimeGroup" parameterType="hashmap" resultType="hashmap">
SELECT MP.TITLE AS "title"
,MP.CONTENT AS "content"
,MP.LINK_URL AS "linkUrl"
,MP.T_ID AS "tId"
FROM MU_PUSH AS MP
WHERE MP.USE_YN = 'Y'
AND MP.STATE = #{state}
AND MP.PUSH_TYPE = #{pushType}
GROUP BY MP.TITLE
,MP.CONTENT
,MP.LINK_URL
,MP.T_ID
ORDER BY MP.T_ID ASC
LIMIT 0, 1
</select>
<select id="selectListPushTimeGroup2" parameterType="hashmap" resultType="hashmap">
SELECT MP.TITLE AS "title"
,MP.CONTENT AS "content"
,MP.LINK_URL AS "linkUrl"
,MP.T_ID AS "tId"
FROM MU_PUSH AS MP
WHERE MP.USE_YN = 'Y'
AND MP.STATE = #{state}
AND MP.PUSH_TYPE = #{pushType}
GROUP BY MP.TITLE
,MP.CONTENT
,MP.LINK_URL
,MP.T_ID
ORDER BY MP.T_ID ASC
LIMIT 0, 100
</select>
<select id="selectListPushTime" parameterType="hashmap" resultType="hashmap">
SELECT MP.MU_PUSH_ID AS "muPushId"
,MP.MU_USER_ID AS "muUserId"
,MP.MU_DEVICE_ID AS "muDeviceId"
,MP.DEVICE_UUID AS "deviceUuid"
,MP.PUSH_KEY AS "pushKey"
,MP.PUSH_TYPE AS "pushType"
,MP.PHONE_TYPE AS "phoneType"
,MP.TITLE AS "title"
,MP.CONTENT AS "content"
,MP.LINK_URL AS "linkUrl"
,MP.T_ID AS "tId"
FROM MU_PUSH AS MP
WHERE MP.USE_YN = 'Y'
AND MP.STATE = #{state}
AND MP.PUSH_TYPE = #{pushType}
AND MP.TITLE = #{title}
AND MP.CONTENT = #{content}
AND MP.LINK_URL = #{linkUrl}
AND MP.T_ID = #{tId}
ORDER BY MP.REG_DATE ASC
LIMIT 0, 1000
</select>
<select id="selectListPushTime2" parameterType="hashmap" resultType="hashmap">
SELECT MP.MU_PUSH_ID AS "muPushId"
,MP.MU_USER_ID AS "muUserId"
,MP.MU_DEVICE_ID AS "muDeviceId"
,MP.DEVICE_UUID AS "deviceUuid"
,MP.PUSH_KEY AS "pushKey"
,MP.PUSH_TYPE AS "pushType"
,MP.PHONE_TYPE AS "phoneType"
,MP.TITLE AS "title"
,MP.CONTENT AS "content"
,MP.LINK_URL AS "linkUrl"
,MP.T_ID AS "tId"
FROM MU_PUSH AS MP
WHERE MP.USE_YN = 'Y'
AND MP.STATE = #{state}
AND MP.PUSH_TYPE = #{pushType}
AND TIMESTAMPDIFF(MINUTE, MP.REG_DATE, NOW()) >= 1
ORDER BY MP.REG_DATE ASC
LIMIT 0, 1000
</select>
<select id="selectPush" parameterType="hashmap" resultType="hashmap">
SELECT MP.MU_PUSH_ID AS "muPushId"
,MP.TITLE AS "title"
,MP.CONTENT AS "content"
,DATE_FORMAT(MP.WRITE_DATE, '%Y-%m-%d') AS "writeDate"
FROM MU_PUSH AS MP
WHERE MP.USE_YN = 'Y'
AND MP.MU_PUSH_ID = #{muPushId}
LIMIT 0, 1
</select>
<insert id="insertPush" parameterType="hashmap">
<selectKey resultType="string" keyProperty="id" order="BEFORE">
SELECT CONCAT(#{muPushId},LPAD((SELECT NEXTVAL(MU_PUSH_SEQ)), 11, 0))
</selectKey>
INSERT INTO MU_PUSH(
MU_PUSH_ID
,MU_APP_EVENT_ID
,MU_USER_ID
,USER_NAME
,MU_DEVICE_ID
,DEVICE_UUID
,PUSH_KEY
,PUSH_TYPE
,PHONE_TYPE
,TITLE
,CONTENT
,LINK_URL
,STATE
,WRITE_DATE
,WRITE_TIME
,CUD_FLAG
,USE_YN
,REG_ID
,REG_DATE
,MOD_ID
,MOD_DATE
,T_ID
,T_DATE
)VALUES(
#{id}
,#{muAppEventId, jdbcType=VARCHAR}
,#{muUserId, jdbcType=VARCHAR}
,#{userName, jdbcType=VARCHAR}
,#{muDeviceId, jdbcType=VARCHAR}
,#{deviceUuid, jdbcType=VARCHAR}
,#{pushKey, jdbcType=VARCHAR}
,#{pushType, jdbcType=VARCHAR}
,#{phoneType, jdbcType=VARCHAR}
,#{title, jdbcType=VARCHAR}
,#{content, jdbcType=VARCHAR}
,#{linkUrl, jdbcType=VARCHAR}
,#{state, jdbcType=VARCHAR}
,NOW()
,NOW()
,'C'
,'Y'
,#{regId}
,NOW()
,#{modId}
,NOW()
,#{tId}
,#{tDate}
)
</insert>
<update id="updatePushState" parameterType="hashmap">
UPDATE MU_PUSH
SET USE_YN = 'Y'
,MOD_ID = #{modId}
,MOD_DATE = NOW()
,CUD_FLAG = 'U'
,STATE = #{chgState, jdbcType=VARCHAR}
<choose>
<when test="sendDateYn eq 'Y'.toString()">
,SEND_DATE = NOW()
</when>
<otherwise>
</otherwise>
</choose>
WHERE USE_YN = 'Y'
AND MU_PUSH_ID = #{muPushId}
AND STATE = #{oldState}
</update>
</mapper>

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,305 @@
<?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="WebSms">
<select id="selectTotalSmsCount" parameterType="hashmap" resultType="hashmap">
SELECT COUNT(*) AS "totalCount"
FROM MU_SMS AS MS
INNER JOIN MU_USER AS MU
ON MS.MU_USER_ID = MU.MU_USER_ID
AND MS.USE_YN = 'Y'
AND MU.USE_YN = 'Y'
<if test="smsSearchStartDate != null and smsSearchStartDate != '' and smsSearchEndDate != null and smsSearchEndDate != ''">
AND DATE_FORMAT(MS.SEND_DATE, '%Y-%m-%d') &gt;= #{smsSearchStartDate}
AND DATE_FORMAT(MS.SEND_DATE, '%Y-%m-%d') &lt;= #{smsSearchEndDate}
</if>
<if test="smsSearchKeywordParam != null and smsSearchKeywordParam != ''">
AND MU.USER_NAME LIKE CONCAT('%',TRIM(#{smsSearchKeywordParam}),'%')
</if>
</select>
<select id="selectListSms" parameterType="hashmap" resultType="hashmap">
SELECT MS.*
FROM (
SELECT MS.*
,CAST(@RNUM:=@RNUM + 1 AS CHAR) AS "rowNum"
FROM (
SELECT MS.MU_SMS_ID AS "muSmsId"
,MU.USER_NAME AS "userName"
,(SELECT MCI.CATEGORY_ITEM_NAME
FROM MU_CATEGORY_ITEM AS MCI
WHERE MCI.USE_YN = 'Y'
AND MCI.MU_CATEGORY_ITEM_ID = MU.NATIONALITY
LIMIT 0, 1) AS "nationality"
,DATE_FORMAT(MU.BIRTHDAY, '%Y-%m-%d') AS "birthday"
,TIMESTAMPDIFF(YEAR, MU.BIRTHDAY, CURDATE()) - (DATE_FORMAT(CURDATE(), '%m%d') <![CDATA[ < ]]> DATE_FORMAT(MU.BIRTHDAY, '%m%d'))
AS "age"
,CASE
WHEN MU.GENDER = 'M'
THEN '남'
WHEN MU.GENDER = 'F'
THEN '여'
ELSE ''
END AS "gender"
,IFNULL((SELECT MCI.FILE_PATH
FROM MU_CATEGORY_ITEM AS MCI
WHERE MCI.USE_YN = 'Y'
AND MCI.MU_CATEGORY_ITEM_ID = MU.USER_TYPE
LIMIT 0, 1), MU.USER_TYPE2) AS "userType"
,MS.CONTENT AS "smsContent"
,CASE
WHEN MS.POPBILL_STATE = '0'
THEN '접수'
WHEN MS.POPBILL_STATE = '1'
THEN '대기중'
WHEN MS.POPBILL_STATE = '2'
THEN '처리중'
WHEN MS.POPBILL_STATE = '3'
THEN '완료'
WHEN MS.POPBILL_STATE = '4'
THEN '취소'
ELSE ''
END AS "popbillState"
,MS.POPBILL_RESULT AS "popbillResult"
,(SELECT MM.NAME
FROM MU_MEMBER AS MM
WHERE MM.USE_YN = 'Y'
AND MM.MU_MEMBER_ID = MS.REG_ID
LIMIT 0, 1) AS "memberName"
,DATE_FORMAT(MS.SEND_DATE, '%Y-%m-%d') AS "sendDate"
FROM MU_SMS AS MS
INNER JOIN MU_USER AS MU
ON MS.MU_USER_ID = MU.MU_USER_ID
AND MS.USE_YN = 'Y'
AND MU.USE_YN = 'Y'
<if test="smsSearchStartDate != null and smsSearchStartDate != '' and smsSearchEndDate != null and smsSearchEndDate != ''">
AND DATE_FORMAT(MS.SEND_DATE, '%Y-%m-%d') &gt;= #{smsSearchStartDate}
AND DATE_FORMAT(MS.SEND_DATE, '%Y-%m-%d') &lt;= #{smsSearchEndDate}
</if>
<if test="smsSearchKeywordParam != null and smsSearchKeywordParam != ''">
AND MU.USER_NAME LIKE CONCAT('%',TRIM(#{smsSearchKeywordParam}),'%')
</if>
<choose>
<when test="smsSort != null and smsSort != ''">
ORDER BY ${smsSort}
</when>
<otherwise>
ORDER BY MS.SEND_DATE DESC
</otherwise>
</choose>
LIMIT 18446744073709551615
) MS, (SELECT @RNUM:=0) R
WHERE 1 = 1
) MS
WHERE 1 = 1
LIMIT ${smsStart}, ${smsLimit}
</select>
<!-- SMS 리스트 조회 TIME-->
<select id="selectListSmsTime" parameterType="hashmap" resultType="hashmap">
SELECT MS.SENDER AS "sender"
,MS.CONTENT AS "content"
,MS.T_ID AS "tId"
,MIN(MS.REG_DATE) AS "minRegDate"
FROM MU_SMS AS MS
WHERE MS.USE_YN = 'Y'
AND MS.STATE = #{state}
AND MS.TYPE = #{type}
GROUP BY MS.SENDER
,MS.CONTENT
,MS.T_ID
ORDER BY minRegDate ASC
</select>
<!-- SMS 리스트 조회 State-->
<select id="selectListSmsState" parameterType="hashmap" resultType="hashmap">
SELECT MS.MU_SMS_ID AS "muSmsId"
,MS.STATE AS "state"
,IFNULL(DATE_FORMAT(MS.SEND_DATE, '%Y-%m-%d'), '') AS "sendDate"
,MS.SENDER AS "sender"
,MS.RECEIVER AS "receiver"
,MS.USER_NAME AS "userName"
,IFNULL(MS.TITLE, '') AS "title"
,MS.CONTENT AS "content"
,MS.TYPE AS "type"
FROM MU_SMS AS MS
WHERE MS.USE_YN = 'Y'
AND MS.STATE = #{state}
AND MS.TYPE = #{type}
AND MS.SENDER = #{sender}
AND MS.CONTENT = #{content}
</select>
<select id="selectListPopbillState" parameterType="hashmap" resultType="hashmap">
SELECT MS.RECEIPT_NUMBER AS "receiptNumber"
FROM MU_SMS AS MS
WHERE MS.USE_YN = 'Y'
AND MS.STATE = 'Y'
AND MS.TYPE = #{type}
AND MS.POPBILL_STATE = #{popbillState}
AND MS.RECEIVER IS NOT NULL
AND MS.RECEIVER NOT IN ('', '010-')
AND MS.RECEIPT_NUMBER IS NOT NULL
GROUP BY MS.RECEIPT_NUMBER
</select>
<select id="selectSms" parameterType="hashmap" resultType="hashmap">
SELECT MS.MU_SMS_ID AS "muSmsId"
,MS.TITLE AS "title"
,MS.CONTENT AS "content"
FROM MU_SMS AS MS
WHERE MS.USE_YN = 'Y'
AND MS.MU_SMS_ID = #{muSmsId}
LIMIT 0, 1
</select>
<insert id="insertSms" parameterType="hashmap">
<selectKey resultType="string" keyProperty="id" order="BEFORE">
SELECT CONCAT(#{muSmsId},LPAD((SELECT NEXTVAL(MU_SMS_SEQ)), 11, 0))
</selectKey>
INSERT INTO MU_SMS(
MU_SMS_ID
,MU_USER_ID
,USER_NAME
,RECEIVER
,TYPE
,TITLE
,CONTENT
,STATE
,POPBILL_STATE
,SENDER
,WRITE_DATE
,WRITE_TIME
,CUD_FLAG
,USE_YN
,REG_ID
,REG_DATE
,MOD_ID
,MOD_DATE
,T_ID
,T_DATE
)VALUES(
#{id}
,#{muUserId, jdbcType=VARCHAR}
,#{userName, jdbcType=VARCHAR}
,#{phoneNumber, jdbcType=VARCHAR}
,#{smsType, jdbcType=VARCHAR}
,#{title, jdbcType=VARCHAR}
,#{content, jdbcType=VARCHAR}
,#{state, jdbcType=VARCHAR}
,#{popbillState, jdbcType=VARCHAR}
,#{sender, jdbcType=VARCHAR}
,NOW()
,NOW()
,'C'
,'Y'
,#{regId}
,NOW()
,#{modId}
,NOW()
,#{tId}
,NOW()
)
</insert>
<insert id="insertSmsConsultingChart" parameterType="hashmap">
<selectKey resultType="string" keyProperty="id" order="BEFORE">
SELECT CONCAT(#{muSmsId},LPAD((SELECT NEXTVAL(MU_SMS_SEQ)), 11, 0))
</selectKey>
INSERT INTO MU_SMS(
MU_SMS_ID
,MU_USER_ID
,USER_NAME
,RECEIVER
,TYPE
,TITLE
,CONTENT
,STATE
,POPBILL_STATE
,SENDER
,WRITE_DATE
,WRITE_TIME
,CUD_FLAG
,USE_YN
,REG_ID
,REG_DATE
,MOD_ID
,MOD_DATE
,T_ID
,T_DATE
)VALUES(
#{id}
,#{muUserId, jdbcType=VARCHAR}
,#{userName, jdbcType=VARCHAR}
,#{phoneNumber, jdbcType=VARCHAR}
,#{smsType, jdbcType=VARCHAR}
,#{title, jdbcType=VARCHAR}
,#{content, jdbcType=VARCHAR}
,#{state, jdbcType=VARCHAR}
,#{popbillState, jdbcType=VARCHAR}
,#{sender, jdbcType=VARCHAR}
,NOW()
,NOW()
,'C'
,'Y'
,#{regId}
,NOW()
,#{modId}
,NOW()
,#{tId}
,NOW()
)
</insert>
<update id="updateSms" parameterType="hashmap">
UPDATE MU_SMS
SET MOD_ID = #{modId}
,MOD_DATE = NOW()
,CUD_FLAG = 'U'
,TITLE = #{title}
,CONTENT = #{content}
,OPEN_DATE = #{openDate}
WHERE USE_YN = 'Y'
AND MU_SMS_ID = #{muSmsId}
</update>
<update id="updateSmsState" parameterType="hashmap">
UPDATE MU_SMS
SET USE_YN = 'Y'
,MOD_ID = #{modId}
,MOD_DATE = NOW()
,CUD_FLAG = 'U'
,STATE = #{chgState, jdbcType=VARCHAR}
<choose>
<when test="sendDateYn eq 'Y'.toString()">
,SEND_DATE = NOW()
</when>
<when test="reserveDateYn eq 'Y'.toString()">
,SEND_DATE = #{reserveDate}
</when>
<otherwise>
</otherwise>
</choose>
<if test="receiptNum != null and receiptNum != ''">
,RECEIPT_NUMBER = #{receiptNum, jdbcType=VARCHAR}
</if>
WHERE USE_YN = 'Y'
AND MU_SMS_ID = #{muSmsId}
AND STATE = #{oldState}
</update>
<update id="updateSmsPopbillState" parameterType="hashmap">
UPDATE MU_SMS
SET MOD_ID = #{modId}
,MOD_DATE = NOW()
,CUD_FLAG = 'U'
,POPBILL_STATE = #{state, jdbcType=VARCHAR}
,POPBILL_RESULT = #{result, jdbcType=VARCHAR}
WHERE USE_YN = 'Y'
AND POPBILL_STATE = #{popbillState}
AND RECEIPT_NUMBER = #{receiptNumber}
AND REPLACE(RECEIVER, '-', '') = #{receiveNumber}
AND USER_NAME = #{receiveName}
</update>
</mapper>

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,309 @@
<?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="WebStockCloseDetail">
<select id="selectTotalStockCloseDetailCount" parameterType="hashmap" resultType="hashmap">
SELECT COUNT(*) AS "totalCount"
FROM (
SELECT MSCD.MU_TREATMENT_ID
,MSCD.TREATMENT_NAME
,MSCD.MU_COMPANY_ID
,MSCD.COMPANY_NAME
,MSCD.MU_PRODUCT_ID
,MSCD.PRODUCT_CODE
,MSCD.PRODUCT_NAME
FROM MU_STOCK_CLOSE_DETAIL AS MSCD
WHERE MSCD.USE_YN = 'Y'
AND MSCD.MU_STOCK_CLOSE_ID = #{muStockCloseId}
<if test="stockCloseDetailTreatmentId != null and stockCloseDetailTreatmentId != ''">
AND MSCD.MU_TREATMENT_ID = (
SELECT MU_CATEGORY_ITEM_ID
FROM MU_CATEGORY_ITEM mci
JOIN MU_CATEGORY mc
ON mci.mu_category_id = mc.mu_category_id
WHERE mc.CATEGORY_NAME = '재고구분'
AND mci.CATEGORY_ITEM_CODE = #{stockCloseDetailTreatmentId}
)
</if>
<if test="stockCloseDetailCompanyId != null and stockCloseDetailCompanyId != ''">
AND MSCD.MU_COMPANY_ID = #{stockCloseDetailCompanyId}
</if>
<if test="stockCloseDetailSearchKeywordParam != null and stockCloseDetailSearchKeywordParam != ''">
AND (
MSCD.COMPANY_NAME LIKE CONCAT('%', TRIM(#{stockCloseDetailSearchKeywordParam}), '%')
OR MSCD.PRODUCT_NAME LIKE CONCAT('%', TRIM(#{stockCloseDetailSearchKeywordParam}), '%')
)
</if>
GROUP BY MSCD.MU_TREATMENT_ID
,MSCD.TREATMENT_NAME
,MSCD.MU_COMPANY_ID
,MSCD.COMPANY_NAME
,MSCD.MU_PRODUCT_ID
,MSCD.PRODUCT_CODE
,MSCD.PRODUCT_NAME
) AS MSCD
</select>
<select id="selectListStockCloseDetail" parameterType="hashmap" resultType="hashmap">
SELECT MSS.*
FROM (
SELECT MSS.*
,CAST(@RNUM:=@RNUM + 1 AS CHAR) AS "rowNum"
FROM (
SELECT
MSS.MU_TREATMENT_ID AS "muTreatmentId"
,MSS.TREATMENT_NAME AS "treatmentName"
,MSS.MU_COMPANY_ID AS "muCompanyId"
,MSS.COMPANY_NAME AS "companyName"
,MSS.MU_PRODUCT_ID AS "muProductId"
,MSS.PRODUCT_CODE AS "productCode"
,MSS.PRODUCT_NAME AS "productName"
,IFNULL(FORMAT(AVG(MSCD.PRICE), 0), 0) AS "r_price"
,CASE
WHEN FLOOR(SUM(MSCD.QUANTITY)) = SUM(MSCD.QUANTITY) THEN FORMAT(IFNULL(SUM(MSCD.QUANTITY),0),0)
ELSE IFNULL(TRIM(TRAILING '0' FROM CAST(FORMAT(SUM(MSCD.QUANTITY), 2) AS FLOAT)), 0)
END AS "r_quantity"
,IFNULL(MSS.PRICE * SUM(MSCD.QUANTITY), 0) AS "r_totalAmount"
,IFNULL(FORMAT(AVG(MSH_I.PRICE), 0), 0) AS "i_price"
,CASE
WHEN FLOOR(SUM(MSH_I.QUANTITY)) = SUM(MSH_I.QUANTITY) THEN FORMAT(IFNULL(SUM(MSH_I.QUANTITY),0),0)
ELSE IFNULL(TRIM(TRAILING '0' FROM CAST(FORMAT(SUM(MSH_I.QUANTITY), 2) AS FLOAT)), 0)
END AS "i_quantity"
,IFNULL(MSS.PRICE * SUM(MSH_I.QUANTITY), 0) AS "i_totalAmount"
,IFNULL(FORMAT(AVG(MSH_U.PRICE), 0), 0) AS "u_price"
,CASE
WHEN FLOOR(SUM(MSH_U.QUANTITY)) = SUM(MSH_U.QUANTITY) THEN FORMAT(IFNULL(SUM(MSH_U.QUANTITY),0),0)
ELSE IFNULL(TRIM(TRAILING '0' FROM CAST(FORMAT(SUM(MSH_U.QUANTITY), 2) AS FLOAT)), 0)
END AS "u_quantity"
,IFNULL(MSS.PRICE * SUM(MSH_U.QUANTITY), 0) AS "u_totalAmount"
,0 AS "m_price"
,0 AS "m_quantity"
,0 AS "m_totalAmount"
,IFNULL(FORMAT(AVG(MSS.PRICE), 0), 0) AS "price"
,CASE
WHEN FLOOR(SUM(MSS.QUANTITY)) = SUM(MSS.QUANTITY) THEN FORMAT(IFNULL(SUM(MSS.QUANTITY),0),0)
ELSE IFNULL(TRIM(TRAILING '0' FROM CAST(FORMAT(SUM(MSS.QUANTITY), 2) AS FLOAT)), 0)
END AS "quantity"
,MSS.PRICE * SUM(MSS.QUANTITY) AS "totalAmount"
,MSS.ETC AS "ETC"
FROM MU_STOCK_SUM AS MSS
LEFT OUTER JOIN MU_STOCK_HISTORY AS MSH_I ON MSS.MU_STOCK_HISTORY_ID = MSH_I.MU_STOCK_HISTORY_ID AND (MSH_I.TYPE = 'I' OR MSH_I.TYPE = 'O')
LEFT OUTER JOIN MU_STOCK_HISTORY AS MSH_U ON MSS.MU_STOCK_HISTORY_ID = MSH_U.MU_STOCK_HISTORY_ID AND MSH_U.TYPE = 'U'
LEFT OUTER JOIN MU_STOCK_CLOSE_DETAIL AS MSCD ON MSS.MU_STOCK_HISTORY_ID = MSCD.MU_STOCK_HISTORY_ID AND LEFT(MSS.IN_DATE, 7) = #{R_YEAR_MONTH}
WHERE MSS.USE_YN = 'Y'
AND LEFT(MSS.IN_DATE, 7) = #{YEAR_MONTH}
<if test="stockCloseDetailTreatmentId != null and stockCloseDetailTreatmentId != ''">
AND MSS.MU_TREATMENT_ID = (SELECT MU_CATEGORY_ITEM_ID
FROM MU_CATEGORY_ITEM mci
JOIN MU_CATEGORY mc
ON mci.mu_category_id = mc.mu_category_id
WHERE mc.CATEGORY_NAME = '재고구분'
AND mci.CATEGORY_ITEM_CODE =#{stockCloseDetailTreatmentId})
</if>
<if test="stockCloseDetailCompanyId != null and stockCloseDetailCompanyId != ''">
AND MSS.MU_COMPANY_ID = #{stockCloseDetailCompanyId}
</if>
<if test="stockCloseDetailSearchKeywordParam != null and stockCloseDetailSearchKeywordParam != ''">
AND ((MSS.COMPANY_NAME LIKE CONCAT('%',TRIM(#{stockCloseDetailSearchKeywordParam}),'%'))
OR (MSS.PRODUCT_NAME LIKE CONCAT('%',TRIM(#{stockCloseDetailSearchKeywordParam}),'%')))
</if>
GROUP BY MSS.MU_TREATMENT_ID
,MSS.TREATMENT_NAME
,MSS.MU_COMPANY_ID
,MSS.COMPANY_NAME
,MSS.MU_PRODUCT_ID
,MSS.PRODUCT_CODE
,MSS.PRODUCT_NAME
ORDER BY MSS.MU_TREATMENT_ID ASC
LIMIT 18446744073709551615
) MSS, (SELECT @RNUM:=0) R
WHERE 1 = 1
) MSS
WHERE 1 = 1
-- LIMIT ${stockCloseDetailStart}, ${stockCloseDetailLimit}
</select>
<select id="selectListStockCloseDetailExcel" parameterType="hashmap" resultType="hashmap">
SELECT MSS.*
FROM (
SELECT MSS.*
,CAST(@RNUM:=@RNUM + 1 AS CHAR) AS "rowNum"
FROM (
SELECT
MSS.MU_TREATMENT_ID AS "muTreatmentId"
,MSS.TREATMENT_NAME AS "treatmentName"
,MSS.MU_COMPANY_ID AS "muCompanyId"
,MSS.COMPANY_NAME AS "companyName"
,MSS.MU_PRODUCT_ID AS "muProductId"
,MSS.PRODUCT_CODE AS "productCode"
,MSS.PRODUCT_NAME AS "productName"
,IFNULL(FORMAT(AVG(MSCD.PRICE), 0), 0) AS "r_price"
,CASE
WHEN FLOOR(SUM(MSCD.QUANTITY)) = SUM(MSCD.QUANTITY) THEN FORMAT(IFNULL(SUM(MSCD.QUANTITY),0),0)
ELSE IFNULL(TRIM(TRAILING '0' FROM CAST(FORMAT(SUM(MSCD.QUANTITY), 2) AS FLOAT)), 0)
END AS "r_quantity"
,IFNULL(MSS.PRICE * SUM(MSCD.QUANTITY), 0) AS "r_totalAmount"
,IFNULL(FORMAT(AVG(MSH_I.PRICE), 0), 0) AS "i_price"
,CASE
WHEN FLOOR(SUM(MSH_I.QUANTITY)) = SUM(MSH_I.QUANTITY) THEN FORMAT(IFNULL(SUM(MSH_I.QUANTITY),0),0)
ELSE IFNULL(TRIM(TRAILING '0' FROM CAST(FORMAT(SUM(MSH_I.QUANTITY), 2) AS FLOAT)), 0)
END AS "i_quantity"
,IFNULL(MSS.PRICE * SUM(MSH_I.QUANTITY), 0) AS "i_totalAmount"
,IFNULL(FORMAT(AVG(MSH_U.PRICE), 0), 0) AS "u_price"
,CASE
WHEN FLOOR(SUM(MSH_U.QUANTITY)) = SUM(MSH_U.QUANTITY) THEN FORMAT(IFNULL(SUM(MSH_U.QUANTITY),0),0)
ELSE IFNULL(TRIM(TRAILING '0' FROM CAST(FORMAT(SUM(MSH_U.QUANTITY), 2) AS FLOAT)), 0)
END AS "u_quantity"
,IFNULL(MSS.PRICE * SUM(MSH_U.QUANTITY), 0) AS "u_totalAmount"
,0 AS "m_price"
,0 AS "m_quantity"
,0 AS "m_totalAmount"
,IFNULL(FORMAT(AVG(MSS.PRICE), 0), 0) AS "price"
,CASE
WHEN FLOOR(SUM(MSS.QUANTITY)) = SUM(MSS.QUANTITY) THEN FORMAT(IFNULL(SUM(MSS.QUANTITY),0),0)
ELSE IFNULL(TRIM(TRAILING '0' FROM CAST(FORMAT(SUM(MSS.QUANTITY), 2) AS FLOAT)), 0)
END AS "quantity"
,MSS.PRICE * SUM(MSS.QUANTITY) AS "totalAmount"
,MSS.ETC AS "ETC"
FROM MU_STOCK_SUM AS MSS
LEFT OUTER JOIN MU_STOCK_HISTORY AS MSH_I ON MSS.MU_STOCK_HISTORY_ID = MSH_I.MU_STOCK_HISTORY_ID AND (MSH_I.TYPE = 'I' OR MSH_I.TYPE = 'O')
LEFT OUTER JOIN MU_STOCK_HISTORY AS MSH_U ON MSS.MU_STOCK_HISTORY_ID = MSH_U.MU_STOCK_HISTORY_ID AND MSH_U.TYPE = 'U'
LEFT OUTER JOIN MU_STOCK_CLOSE_DETAIL AS MSCD ON MSS.MU_STOCK_HISTORY_ID = MSCD.MU_STOCK_HISTORY_ID AND LEFT(MSS.IN_DATE, 7) = #{R_YEAR_MONTH}
WHERE MSS.USE_YN = 'Y'
AND LEFT(MSS.IN_DATE, 7) = #{YEAR_MONTH}
<if test="stockCloseDetailTreatmentId != null and stockCloseDetailTreatmentId != ''">
AND MSS.MU_TREATMENT_ID = (SELECT MU_CATEGORY_ITEM_ID
FROM MU_CATEGORY_ITEM mci
JOIN MU_CATEGORY mc
ON mci.mu_category_id = mc.mu_category_id
WHERE mc.CATEGORY_NAME = '재고구분'
AND mci.CATEGORY_ITEM_CODE =#{stockCloseDetailTreatmentId})
</if>
<if test="stockCloseDetailCompanyId != null and stockCloseDetailCompanyId != ''">
AND MSS.MU_COMPANY_ID = #{stockCloseDetailCompanyId}
</if>
<if test="stockCloseDetailSearchKeywordParam != null and stockCloseDetailSearchKeywordParam != ''">
AND ((MSS.COMPANY_NAME LIKE CONCAT('%',TRIM(#{stockCloseDetailSearchKeywordParam}),'%'))
OR (MSS.PRODUCT_NAME LIKE CONCAT('%',TRIM(#{stockCloseDetailSearchKeywordParam}),'%')))
</if>
GROUP BY MSS.MU_TREATMENT_ID
,MSS.TREATMENT_NAME
,MSS.MU_COMPANY_ID
,MSS.COMPANY_NAME
,MSS.MU_PRODUCT_ID
,MSS.PRODUCT_CODE
,MSS.PRODUCT_NAME
ORDER BY MSS.MU_TREATMENT_ID ASC
LIMIT 18446744073709551615
) MSS, (SELECT @RNUM:=0) R
WHERE 1 = 1
) MSS
WHERE 1 = 1
</select>
<insert id="insertStockCloseDetail" parameterType="hashmap">
<selectKey resultType="string" keyProperty="id" order="BEFORE">
SELECT CONCAT(#{muStockCloseDetailId},LPAD((SELECT NEXTVAL(MU_STOCK_CLOSE_DETAIL_SEQ)), 9, 0))
</selectKey>
INSERT INTO MU_STOCK_CLOSE_DETAIL(
MU_STOCK_CLOSE_DETAIL_ID
,MU_STOCK_CLOSE_ID
,MU_TREATMENT_ID
,TREATMENT_NAME
,MU_PRODUCT_ID
,PRODUCT_CODE
,PRODUCT_NAME
,MU_COMPANY_ID
,COMPANY_NAME
,MU_STOCK_HISTORY_ID
,IN_DATE
,PRICE
,QUANTITY
,TOTAL_AMOUNT
,WRITE_DATE
,WRITE_TIME
,CUD_FLAG
,USE_YN
,REG_ID
,REG_DATE
,MOD_ID
,MOD_DATE
,T_ID
,T_DATE
)VALUES(
#{id}
,#{muStockCloseId}
,#{muTreatmentId}
,#{treatmentName}
,#{muProductId}
,#{productCode}
,#{productName}
,#{muCompanyId}
,#{companyName}
,#{muStockHistoryId}
,#{inDate}
,#{price}
,#{quantity}
,#{totalAmount}
,CURDATE()
,CURTIME()
,'C'
,'Y'
,#{regId}
,NOW()
,#{modId}
,NOW()
,#{tId}
,#{tDate}
)
</insert>
<select id="selectTotalStockCloseDetail" parameterType="hashmap" resultType="hashmap">
SELECT
COUNT(*) AS treatmentCount,
IFNULL(
(
SELECT GROUP_CONCAT(CONCAT(MCI.CATEGORY_ITEM_NAME, IFNULL(SumAmounts.totalQuantity, 0)))
FROM MU_CATEGORY_ITEM AS MCI
JOIN (
SELECT MCI2.CATEGORY_ITEM_NAME,
MCI2.MU_CATEGORY_ITEM_ID,
SUM(MSCD.QUANTITY) AS totalQuantity
FROM MU_CATEGORY_ITEM MCI2
left JOIN MU_STOCK_CLOSE_DETAIL MSCD
ON MCI2.MU_CATEGORY_ITEM_ID = MSCD.MU_TREATMENT_ID
AND MSCD.USE_YN = 'Y'
AND MSCD.MU_STOCK_CLOSE_ID = #{muStockCloseId}
JOIN MU_CATEGORY
ON MU_CATEGORY.MU_CATEGORY_ID = MCI2.MU_CATEGORY_ID
AND MU_CATEGORY.CATEGORY_NAME = '재고구분'
GROUP BY MCI2.MU_CATEGORY_ITEM_ID, MSCD.MU_TREATMENT_ID
) AS SumAmounts ON MCI.MU_CATEGORY_ITEM_ID = SumAmounts.MU_CATEGORY_ITEM_ID
WHERE MCI.USE_YN = 'Y'
), ''
) AS groupTreatmentCount,
COUNT(DISTINCT MSCD.MU_COMPANY_ID) AS companyCount,
FORMAT(SUM(MSCD.totalAmount), 0) AS stockAmount
FROM (
SELECT
MSCD.MU_TREATMENT_ID,
MSCD.MU_COMPANY_ID,
SUM(MSCD.QUANTITY) AS totalQuantity,
SUM(MSCD.TOTAL_AMOUNT) AS totalAmount
FROM MU_STOCK_CLOSE_DETAIL AS MSCD
WHERE MSCD.USE_YN = 'Y'
AND MSCD.MU_STOCK_CLOSE_ID = #{muStockCloseId}
GROUP BY MSCD.MU_TREATMENT_ID, MSCD.MU_COMPANY_ID,MSCD.MU_PRODUCT_ID
) AS MSCD;
</select>
<select id="selectDate" parameterType="hashmap" resultType="hashmap">
SELECT LEFT(MSC.END_DATE, 4) AS YEAR, SUBSTRING(MSC.END_DATE, 6, 2) AS MONTH
FROM MU_STOCK_CLOSE AS MSC
WHERE MSC.MU_STOCK_CLOSE_ID = #{muStockCloseId}
</select>
</mapper>

View File

@@ -0,0 +1,145 @@
<?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="WebStockClose">
<select id="selectTotalStockCloseCount" parameterType="hashmap" resultType="hashmap">
SELECT COUNT(*) AS "totalCount"
FROM MU_STOCK_CLOSE AS MSC
WHERE MSC.USE_YN = 'Y'
<if test="stockCloseSearchStartDate != null and stockCloseSearchStartDate != '' and stockCloseSearchEndDate != null and stockCloseSearchEndDate != ''">
AND DATE_FORMAT(MSC.CLOSE_DATE, '%Y-%m-%d') &gt;= #{stockCloseSearchStartDate}
AND DATE_FORMAT(MSC.CLOSE_DATE, '%Y-%m-%d') &lt;= #{stockCloseSearchEndDate}
</if>
</select>
<select id="selectIdBeforeUpdate" resultType="hashmap" parameterType="hashmap">
SELECT MU_STOCK_CLOSE_ID AS muStockCloseId
FROM MU_STOCK_CLOSE
WHERE USE_YN = 'Y'
AND DATE_FORMAT(END_DATE, '%Y-%m') = DATE_FORMAT(#{endDate}, '%Y-%m');
</select>
<update id="updateStockClose" parameterType="hashmap">
UPDATE MU_STOCK_CLOSE
SET MOD_ID = #{modId},
MOD_DATE = NOW(),
CUD_FLAG = 'D',
USE_YN = 'N'
WHERE USE_YN = 'Y'
AND DATE_FORMAT(END_DATE, '%Y-%m') = DATE_FORMAT(#{endDate}, '%Y-%m')
</update>
<update id="updateStockCloseDetail" parameterType="hashmap">
UPDATE MU_STOCK_CLOSE_DETAIL
SET MOD_ID = #{modId},
MOD_DATE = NOW(),
CUD_FLAG = 'D',
USE_YN = 'N'
WHERE USE_YN = 'Y'
AND MU_STOCK_CLOSE_ID = #{muStockCloseId}
</update>
<select id="selectListStockClose" parameterType="hashmap" resultType="hashmap">
SELECT MSC.*
FROM (
SELECT MSC.*
,CAST(@RNUM:=@RNUM + 1 AS CHAR) AS "rowNum"
FROM (
SELECT MSC.MU_STOCK_CLOSE_ID AS "muStockCloseId"
,DATE_FORMAT(MSC.END_DATE, '%Y-%m') AS "endDate"
,DATE_FORMAT(MSC.CLOSE_DATE, '%Y-%m-%d') AS "closeDate"
,FORMAT(MSC.COMPANY_COUNT, 0) AS "companyCount"
,FORMAT(MSC.PRODUCT_COUNT, 0) AS "productCount"
,FORMAT(MSC.TOTAL_AMOUNT, 0) AS "totalAmount"
FROM MU_STOCK_CLOSE AS MSC
WHERE MSC.USE_YN = 'Y'
<if test="stockCloseSearchStartDate != null and stockCloseSearchStartDate != '' and stockCloseSearchEndDate != null and stockCloseSearchEndDate != ''">
AND DATE_FORMAT(MSC.CLOSE_DATE, '%Y-%m-%d') &gt;= #{stockCloseSearchStartDate}
AND DATE_FORMAT(MSC.CLOSE_DATE, '%Y-%m-%d') &lt;= #{stockCloseSearchEndDate}
</if>
<choose>
<when test="stockCloseSort != null and stockCloseSort != ''">
ORDER BY ${stockCloseSort}
</when>
<otherwise>
ORDER BY MSC.CLOSE_DATE DESC
</otherwise>
</choose>
LIMIT 18446744073709551615
) MSC, (SELECT @RNUM:=0) R
WHERE 1 = 1
) MSC
WHERE 1 = 1
LIMIT ${stockCloseStart}, ${stockCloseLimit}
</select>
<select id="selectListStockCloseExcel" parameterType="hashmap" resultType="hashmap">
SELECT MSC.*
FROM (
SELECT MSC.*
,CAST(@RNUM:=@RNUM + 1 AS CHAR) AS "rowNum"
FROM (
SELECT MSC.MU_STOCK_CLOSE_ID AS "muStockCloseId"
,DATE_FORMAT(MSC.END_DATE, '%Y-%m') AS "endDate"
,DATE_FORMAT(MSC.CLOSE_DATE, '%Y-%m-%d') AS "closeDate"
,FORMAT(MSC.COMPANY_COUNT, 0) AS "companyCount"
,FORMAT(MSC.PRODUCT_COUNT, 0) AS "productCount"
,FORMAT(MSC.TOTAL_AMOUNT, 0) AS "totalAmount"
FROM MU_STOCK_CLOSE AS MSC
WHERE MSC.USE_YN = 'Y'
<if test="stockCloseSearchStartDate != null and stockCloseSearchStartDate != '' and stockCloseSearchEndDate != null and stockCloseSearchEndDate != ''">
AND DATE_FORMAT(MSC.CLOSE_DATE, '%Y-%m-%d') &gt;= #{stockCloseSearchStartDate}
AND DATE_FORMAT(MSC.CLOSE_DATE, '%Y-%m-%d') &lt;= #{stockCloseSearchEndDate}
</if>
<choose>
<when test="stockCloseSort != null and stockCloseSort != ''">
ORDER BY ${stockCloseSort}
</when>
<otherwise>
ORDER BY MSC.CLOSE_DATE DESC
</otherwise>
</choose>
LIMIT 18446744073709551615
) MSC, (SELECT @RNUM:=0) R
WHERE 1 = 1
) MSC
WHERE 1 = 1
</select>
<insert id="insertStockClose" parameterType="hashmap">
<selectKey resultType="string" keyProperty="id" order="BEFORE">
SELECT CONCAT(#{muStockCloseId},LPAD((SELECT NEXTVAL(MU_STOCK_CLOSE_SEQ)), 10, 0))
</selectKey>
INSERT INTO MU_STOCK_CLOSE(
MU_STOCK_CLOSE_ID
,END_DATE
,COMPANY_COUNT
,PRODUCT_COUNT
,TOTAL_AMOUNT
,CLOSE_DATE
,WRITE_DATE
,WRITE_TIME
,CUD_FLAG
,USE_YN
,REG_ID
,REG_DATE
,MOD_ID
,MOD_DATE
,T_ID
,T_DATE
)VALUES(
#{id}
,#{endDate}
,#{companyCount}
,#{productCount}
,#{totalAmount}
,CURDATE()
,CURDATE()
,CURTIME()
,'C'
,'Y'
,#{regId}
,NOW()
,#{modId}
,NOW()
,#{tId}
,#{tDate}
)
</insert>
</mapper>

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,705 @@
<?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="WebStockSum">
<!-- 현재고 재고품목수, 품목별 재고수, 거래처수, 재고총액 조회 -->
<select id="selectTotalStockSumCompany" parameterType="hashmap" resultType="hashmap">
SELECT (SELECT COUNT(1)
FROM(
select MU_PRODUCT_ID
FROM MU_STOCK_SUM AS MSS
WHERE MSS.USE_YN='Y'
GROUP BY MSS.MU_TREATMENT_ID
,MSS.TREATMENT_NAME
,MSS.MU_PRODUCT_ID
,MSS.PRODUCT_CODE
,MSS.PRODUCT_NAME
,MSS.MU_COMPANY_ID
,MSS.COMPANY_NAME) as mpi
) AS "treatmentCount"
,IFNULL((SELECT GROUP_CONCAT(CONCAT(MCI.CATEGORY_ITEM_NAME, IFNULL(SumQuantities.SumQuantity, 0)))
FROM MU_CATEGORY_ITEM AS MCI
JOIN (
SELECT
MCI2.CATEGORY_ITEM_NAME
,MU_CATEGORY_ITEM_ID
,CASE
WHEN FLOOR(SUM(MSS.QUANTITY)) = SUM(MSS.QUANTITY) THEN FORMAT(IFNULL(SUM(MSS.QUANTITY),0),0)
ELSE IFNULL(TRIM(TRAILING '0' FROM CAST(FORMAT(SUM(MSS.QUANTITY), 2) AS FLOAT)),0)
END AS "SumQuantity"
FROM MU_CATEGORY_ITEM AS MCI2
LEFT JOIN MU_STOCK_SUM AS MSS ON MCI2.MU_CATEGORY_ITEM_ID = MSS.MU_TREATMENT_ID AND MSS.USE_YN = 'Y'
JOIN MU_CATEGORY ON MU_CATEGORY.MU_CATEGORY_ID = MCI2.MU_CATEGORY_ID AND MU_CATEGORY.CATEGORY_NAME = '재고구분'
GROUP BY MCI2.MU_CATEGORY_ITEM_ID
) AS SumQuantities ON MCI.MU_CATEGORY_ITEM_ID = SumQuantities.MU_CATEGORY_ITEM_ID
WHERE MCI.USE_YN = 'Y'
),'') AS "groupTreatmentCount"
,(SELECT COUNT(MC.MU_COMPANY_ID)
FROM MU_COMPANY AS MC
WHERE MC.USE_YN = 'Y'
) AS "companyCount"
,IFNULL((SELECT SUM(MSS.PRICE*MSS.QUANTITY)
FROM MU_STOCK_SUM AS MSS
WHERE MSS.USE_YN = 'Y'
),0) AS "stockAmount"
</select>
<select id="selectTotalStockSumCompanyCount" parameterType="hashmap" resultType="hashmap">
SELECT COUNT(*) AS "totalCount"
FROM
(SELECT MU_PRODUCT_ID
FROM MU_STOCK_SUM AS MSS
WHERE MSS.USE_YN='Y'
<if test="stockSumTreatmentId != null and stockSumTreatmentId != ''">
AND MSS.MU_TREATMENT_ID IN (SELECT MU_CATEGORY_ITEM_ID
FROM MU_CATEGORY_ITEM mci
JOIN MU_CATEGORY mc
ON mci.mu_category_id = mc.mu_category_id
WHERE mc.CATEGORY_NAME = '재고구분'
AND mci.CATEGORY_ITEM_CODE =#{stockSumTreatmentId})
</if>
<if test="stockSumCompanyId != null and stockSumCompanyId != ''">
AND MSS.MU_COMPANY_ID = #{stockSumCompanyId}
</if>
<if test="stockSumSearchKeywordParam != null and stockSumSearchKeywordParam != ''">
AND ((MSS.COMPANY_NAME LIKE CONCAT('%',TRIM(#{stockSumSearchKeywordParam}),'%'))
OR (MSS.PRODUCT_NAME LIKE CONCAT('%',TRIM(#{stockSumSearchKeywordParam}),'%')))
</if>
GROUP BY MSS.MU_TREATMENT_ID
,MSS.TREATMENT_NAME
,MSS.MU_PRODUCT_ID
,MSS.PRODUCT_CODE
,MSS.PRODUCT_NAME
,MSS.MU_COMPANY_ID
,MSS.COMPANY_NAME) as MPI
</select>
<select id="selectListStockSumCompany" parameterType="hashmap" resultType="hashmap">
SELECT MSH.*
FROM (
SELECT MSH.*
,CAST(@RNUM:=@RNUM + 1 AS CHAR) AS "rowNum"
FROM (
SELECT MCI.MU_CATEGORY_ITEM_ID AS "muTreatmentId"
,CATEGORY_ITEM_NAME AS "treatmentName"
,MU_PRODUCT_ID AS "muProductId"
,PRODUCT_CODE AS "productCode"
,PRODUCT_NAME AS "productName"
,MU_COMPANY_ID AS "muCompanyId"
,COMPANY_NAME AS "companyName"
,FORMAT(TOTAL_AVG_PRICE, 0) AS "totalAvgPrice"
,CASE
WHEN FLOOR(TOTAL_QUANTITY) = TOTAL_QUANTITY THEN FORMAT(IFNULL(TOTAL_QUANTITY,0),0)
ELSE TRIM(TRAILING '0' FROM CAST(FORMAT(TOTAL_QUANTITY, 2) AS FLOAT))
END AS "totalQuantity"
FROM (
SELECT MSS.MU_TREATMENT_ID
,MSS.MU_PRODUCT_ID
,MSS.PRODUCT_CODE
,MSS.PRODUCT_NAME
,MSS.MU_COMPANY_ID
,MSS.COMPANY_NAME
,IFNULL(AVG(MSS.PRICE),0) AS TOTAL_AVG_PRICE
,IFNULL(SUM(MSS.QUANTITY),0) AS TOTAL_QUANTITY
FROM MU_STOCK_SUM AS MSS
WHERE MSS.USE_YN='Y'
<if test="stockSumTreatmentId != null and stockSumTreatmentId != ''">
AND MSS.MU_TREATMENT_ID IN (SELECT MU_CATEGORY_ITEM_ID
FROM MU_CATEGORY_ITEM mci
JOIN MU_CATEGORY mc
ON mci.mu_category_id = mc.mu_category_id
WHERE mc.CATEGORY_NAME = '재고구분'
AND mci.CATEGORY_ITEM_CODE =#{stockSumTreatmentId})
</if>
<if test="stockSumCompanyId != null and stockSumCompanyId != ''">
AND MSS. MU_COMPANY_ID = #{stockSumCompanyId}
</if>
<if test="stockSumSearchKeywordParam != null and stockSumSearchKeywordParam != ''">
AND ((MSS.COMPANY_NAME LIKE CONCAT('%',TRIM(#{stockSumSearchKeywordParam}),'%'))
OR (MSS.PRODUCT_NAME LIKE CONCAT('%',TRIM(#{stockSumSearchKeywordParam}),'%')))
</if>
GROUP BY MSS.MU_TREATMENT_ID
,MSS.TREATMENT_NAME
,MSS.MU_PRODUCT_ID
,MSS.PRODUCT_CODE
,MSS.PRODUCT_NAME
,MSS.MU_COMPANY_ID
,MSS.COMPANY_NAME
) AS MSH
INNER JOIN MU_CATEGORY_ITEM AS MCI
ON MCI.MU_CATEGORY_ITEM_ID = MSH.MU_TREATMENT_ID
AND MCI.USE_YN = 'Y'
<choose>
<when test="stockSumSort != null and stockSumSort != ''">
ORDER BY ${stockSumSort}
</when>
<otherwise>
ORDER BY PRODUCT_NAME ASC
</otherwise>
</choose>
-- LIMIT ${stockSumStart}, ${stockSumLimit}
)MSH, (SELECT @RNUM:=0) R
WHERE 1 = 1
) MSH
WHERE 1 = 1
</select>
<select id="selectListStockSumCompanyExcel" parameterType="hashmap" resultType="hashmap">
SELECT MCI.MU_CATEGORY_ITEM_ID AS "muTreatmentId"
,CATEGORY_ITEM_NAME AS "treatmentName"
,MU_PRODUCT_ID AS "muProductId"
,PRODUCT_CODE AS "productCode"
,PRODUCT_NAME AS "productName"
,MU_COMPANY_ID AS "muCompanyId"
,COMPANY_NAME AS "companyName"
,FORMAT(TOTAL_AVG_PRICE, 0) AS "totalAvgPrice"
,CASE
WHEN FLOOR(TOTAL_QUANTITY) = TOTAL_QUANTITY THEN FORMAT(IFNULL(TOTAL_QUANTITY,0),0)
ELSE TRIM(TRAILING '0' FROM CAST(FORMAT(TOTAL_QUANTITY, 2) AS FLOAT))
END AS "totalQuantity"
FROM (
SELECT MSS.MU_TREATMENT_ID
,MSS.MU_PRODUCT_ID
,MSS.PRODUCT_CODE
,MSS.PRODUCT_NAME
,MSS.MU_COMPANY_ID
,MSS.COMPANY_NAME
,IFNULL(AVG(MSS.PRICE),0) AS TOTAL_AVG_PRICE
,IFNULL(SUM(MSS.QUANTITY),0) AS TOTAL_QUANTITY
FROM MU_STOCK_SUM AS MSS
WHERE MSS.USE_YN='Y'
<if test="stockSumTreatmentId != null and stockSumTreatmentId != ''">
AND MSS.MU_TREATMENT_ID IN (SELECT MU_CATEGORY_ITEM_ID
FROM MU_CATEGORY_ITEM mci
JOIN MU_CATEGORY mc
ON mci.mu_category_id = mc.mu_category_id
WHERE mc.CATEGORY_NAME = '재고구분'
AND mci.CATEGORY_ITEM_CODE =#{stockSumTreatmentId})
</if>
<if test="stockSumCompanyId != null and stockSumCompanyId != ''">
AND MSS. MU_COMPANY_ID = #{stockSumCompanyId}
</if>
<if test="stockSumSearchKeywordParam != null and stockSumSearchKeywordParam != ''">
AND ((MSS.COMPANY_NAME LIKE CONCAT('%',TRIM(#{stockSumSearchKeywordParam}),'%'))
OR (MSS.PRODUCT_NAME LIKE CONCAT('%',TRIM(#{stockSumSearchKeywordParam}),'%')))
</if>
GROUP BY MSS.MU_TREATMENT_ID
,MSS.TREATMENT_NAME
,MSS.MU_PRODUCT_ID
,MSS.PRODUCT_CODE
,MSS.PRODUCT_NAME
,MSS.MU_COMPANY_ID
,MSS.COMPANY_NAME
) AS MSH
INNER JOIN MU_CATEGORY_ITEM AS MCI
ON MCI.MU_CATEGORY_ITEM_ID = MSH.MU_TREATMENT_ID
AND MCI.USE_YN = 'Y'
<choose>
<when test="stockSumSort != null and stockSumSort != ''">
ORDER BY ${stockSumSort}
</when>
<otherwise>
ORDER BY PRODUCT_NAME ASC
</otherwise>
</choose>
</select>
<!-- 현재고 상세 제품명, 거래처, 평균 입고단가, 재고수량, 재고총액 조회 -->
<select id="selectTotalStockSumCompanyHistory" parameterType="hashmap" resultType="hashmap">
SELECT COMPANY_NAME AS companyName
,PRODUCT_NAME AS productName
,TREATMENT_NAME AS treatmentName
,AVG_PRICE AS avgPrice
,TOTAL_QUANTITY AS totalQuantity
,PRICE*TOTAL_QUANTITY AS totalAmount
FROM (
SELECT MSS.COMPANY_NAME AS "COMPANY_NAME"
,IFNULL((SELECT CONCAT(MP.PRODUCT_NAME, '(', VOLUME,MP.UNIT_NAME, ')')
FROM MU_PRODUCT AS MP
WHERE MP.MU_PRODUCT_ID = MSS.MU_PRODUCT_ID
),'') AS "PRODUCT_NAME"
,MSS.TREATMENT_NAME AS "TREATMENT_NAME"
,ROUND(AVG(MSS.PRICE)) AS "AVG_PRICE"
,SUM(CASE
WHEN FLOOR(MSS.QUANTITY) = MSS.QUANTITY THEN FORMAT(IFNULL(MSS.QUANTITY,0),0)
ELSE IFNULL(TRIM(TRAILING '0' FROM CAST(FORMAT(MSS.QUANTITY, 2) AS FLOAT)),0)
END) AS "TOTAL_QUANTITY"
,SUM(MSS.PRICE) AS "PRICE"
FROM MU_STOCK_SUM AS MSS
JOIN MU_PRODUCT MP ON MSS.MU_PRODUCT_ID = MP.MU_PRODUCT_ID
WHERE MSS.USE_YN = 'Y'
AND MSS.MU_TREATMENT_ID = #{muTreatmentId}
AND MSS.MU_PRODUCT_ID = #{muProductId}
AND MSS.MU_COMPANY_ID = #{muCompanyId}
GROUP BY MSS.MU_TREATMENT_ID
,MSS.MU_PRODUCT_ID
,MSS.MU_COMPANY_ID
) AS MSS
</select>
<select id="selectTotalStockSumCompanyHistoryCount" parameterType="hashmap" resultType="hashmap">
SELECT COUNT(*) AS "totalCount"
FROM MU_STOCK_SUM AS MSS
WHERE MSS.USE_YN = 'Y'
AND MSS.MU_TREATMENT_ID = #{muTreatmentId}
AND MSS.MU_PRODUCT_ID = #{muProductId}
AND MSS.MU_COMPANY_ID = #{muCompanyId}
</select>
<select id="selectListStockSumCompanyHistory" parameterType="hashmap" resultType="hashmap">
SELECT MSS.*
FROM (
SELECT MSS.*
,CAST(@RNUM:=@RNUM + 1 AS CHAR) AS "rowNum"
FROM (
SELECT MU_STOCK_SUM_ID AS "muStockSumId"
,MU_STOCK_HISTORY_ID AS "muStockHistoryId"
,MU_TREATMENT_ID AS "muTreatmentId"
,IFNULL((SELECT MT.TREATMENT_NAME
FROM MU_TREATMENT AS MT
WHERE MT.USE_YN = 'Y'
AND MT.MU_TREATMENT_ID = MSS.MU_TREATMENT_ID
),'') AS "treatmentName"
,MU_PRODUCT_ID AS "muProductId"
,IFNULL((SELECT MP.PRODUCT_NAME
FROM MU_PRODUCT AS MP
WHERE MP.MU_PRODUCT_ID = MSS.MU_PRODUCT_ID
),'') AS "productName"
,MU_COMPANY_ID AS "muCompanyId"
,IFNULL((SELECT MC.COMPANY_NAME
FROM MU_COMPANY AS MC
WHERE MC.MU_COMPANY_ID = MSS.MU_COMPANY_ID
),'') AS "companyName"
,DATE_FORMAT(IN_DATE, '%Y-%m-%d') AS "inDate"
,'입고' AS "typeName"
,FORMAT(PRICE, 0) AS "price"
,CASE
WHEN FLOOR(QUANTITY) = QUANTITY THEN FORMAT(IFNULL(QUANTITY,0),0)
ELSE TRIM(TRAILING '0' FROM CAST(FORMAT(QUANTITY, 2) AS FLOAT))
END AS "quantity"
,FORMAT(PRICE*QUANTITY, 0) AS "amount"
,ETC AS "etc"
FROM (
SELECT MSS.MU_STOCK_SUM_ID
,MSS.MU_STOCK_HISTORY_ID
,MSS.MU_TREATMENT_ID
,MSS.MU_PRODUCT_ID
,MSS.MU_COMPANY_ID
,MSS.IN_DATE
,MSS.PRICE
,MSS.QUANTITY
,MSS.REG_DATE
,MSS.ETC
FROM MU_STOCK_SUM AS MSS
WHERE MSS.USE_YN = 'Y'
AND MSS.MU_TREATMENT_ID = #{muTreatmentId}
AND MSS.MU_PRODUCT_ID = #{muProductId}
AND MSS.MU_COMPANY_ID = #{muCompanyId}
) AS MSS
WHERE 1=1
<choose>
<when test="stockSumHistorySort != null and stockSumHistorySort != ''">
ORDER BY ${stockSumHistorySort}
</when>
<otherwise>
ORDER BY MSS.IN_DATE DESC, REG_DATE DESC
</otherwise>
</choose>
LIMIT 18446744073709551615
) MSS, (SELECT @RNUM:=0) R
WHERE 1 = 1
) MSS
WHERE 1 = 1
-- LIMIT ${stockSumHistoryStart}, ${stockSumHistoryLimit}
</select>
<!-- 제품별 실시간 재고 현황 총갯수 (재고조정 화면) -->
<select id="selectTotalStockSumAdjustmentCount" parameterType="hashmap" resultType="hashmap">
SELECT COUNT(*) AS "totalCount"
FROM (
SELECT MSS.MU_TREATMENT_ID
,MSS.MU_PRODUCT_ID
,MSS.MU_COMPANY_ID
FROM MU_STOCK_SUM AS MSS
WHERE MSS.USE_YN = 'Y'
<if test="stockSumAdjustmentTreatmentId != null and stockSumAdjustmentTreatmentId != ''">
AND MSS.MU_TREATMENT_ID = (SELECT MU_CATEGORY_ITEM_ID
FROM MU_CATEGORY_ITEM mci
JOIN MU_CATEGORY mc
ON mci.mu_category_id = mc.mu_category_id
WHERE mc.CATEGORY_NAME = '재고구분'
AND mci.CATEGORY_ITEM_CODE =#{stockSumAdjustmentTreatmentId})
</if>
<if test="stockSumAdjustmentCompanyId != null and stockSumAdjustmentCompanyId != ''">
AND MSS.MU_COMPANY_ID = #{stockSumAdjustmentCompanyId}
</if>
<if test="stockSumAdjustmentSearchKeywordParam != null and stockSumAdjustmentSearchKeywordParam != ''">
AND ((MSS.COMPANY_NAME LIKE CONCAT('%',TRIM(#{stockSumAdjustmentSearchKeywordParam}),'%'))
OR (MSS.PRODUCT_NAME LIKE CONCAT('%',TRIM(#{stockSumAdjustmentSearchKeywordParam}),'%')))
</if>
GROUP BY MSS.MU_TREATMENT_ID
,MSS.TREATMENT_NAME
,MSS.MU_PRODUCT_ID
,MSS.PRODUCT_CODE
,MSS.PRODUCT_NAME
,MSS.MU_COMPANY_ID
,MSS.COMPANY_NAME
) MSS
WHERE 1=1
</select>
<!-- 제품별 실시간 재고 현황 리스트 (재고조정 화면) -->
<select id="selectListStockSumAdjustment" parameterType="hashmap" resultType="hashmap">
SELECT MSS.*
FROM (
SELECT MSS.*
,CAST(@RNUM:=@RNUM + 1 AS CHAR) AS "rowNum"
FROM (
SELECT MU_TREATMENT_ID AS "muTreatmentId"
,TREATMENT_NAME AS "treatmentName"
,MU_PRODUCT_ID AS "muProductId"
,PRODUCT_CODE AS "productCode"
,PRODUCT_NAME AS "productName"
,MU_COMPANY_ID AS "muCompanyId"
,COMPANY_NAME AS "companyName"
,CASE
WHEN FLOOR(SUM(MSS.QUANTITY)) = SUM(MSS.QUANTITY) THEN FORMAT(IFNULL(SUM(MSS.QUANTITY),0),0)
ELSE TRIM(TRAILING '0' FROM CAST(FORMAT(SUM(MSS.QUANTITY), 2) AS FLOAT))
END AS "quantity"
,FORMAT(SUM(MSS.PRICE * MSS.QUANTITY), 0) AS "amount"
,IFNULL((SELECT FORMAT(AVG(MSS2.PRICE), 0)
FROM MU_STOCK_SUM AS MSS2
WHERE MSS2.USE_YN = 'Y'
AND MSS2.QUANTITY > 0
AND MSS2.MU_TREATMENT_ID = MSS.MU_TREATMENT_ID
AND MSS2.MU_PRODUCT_ID = MSS.MU_PRODUCT_ID
AND MSS2.MU_COMPANY_ID = MSS.MU_COMPANY_ID
), 0) AS "avgPrice"
FROM MU_STOCK_SUM AS MSS
WHERE MSS.USE_YN = 'Y'
<if test="stockSumAdjustmentTreatmentId != null and stockSumAdjustmentTreatmentId != ''">
AND MSS.MU_TREATMENT_ID = (SELECT MU_CATEGORY_ITEM_ID
FROM MU_CATEGORY_ITEM mci
JOIN MU_CATEGORY mc
ON mci.mu_category_id = mc.mu_category_id
WHERE mc.CATEGORY_NAME = '재고구분'
AND mci.CATEGORY_ITEM_CODE =#{stockSumAdjustmentTreatmentId})
</if>
<if test="stockSumAdjustmentCompanyId != null and stockSumAdjustmentCompanyId != ''">
AND MSS.MU_COMPANY_ID = #{stockSumAdjustmentCompanyId}
</if>
<if test="stockSumAdjustmentSearchKeywordParam != null and stockSumAdjustmentSearchKeywordParam != ''">
AND ((MSS.COMPANY_NAME LIKE CONCAT('%',TRIM(#{stockSumAdjustmentSearchKeywordParam}),'%'))
OR (MSS.PRODUCT_NAME LIKE CONCAT('%',TRIM(#{stockSumAdjustmentSearchKeywordParam}),'%')))
</if>
GROUP BY MSS.MU_TREATMENT_ID
,MSS.TREATMENT_NAME
,MSS.MU_PRODUCT_ID
,MSS.PRODUCT_CODE
,MSS.PRODUCT_NAME
,MSS.MU_COMPANY_ID
,MSS.COMPANY_NAME
<choose>
<when test="stockSumAdjustmentSort != null and stockSumAdjustmentSort != ''">
ORDER BY ${stockSumAdjustmentSort}
</when>
<otherwise>
ORDER BY PRODUCT_NAME ASC
</otherwise>
</choose>
LIMIT 18446744073709551615
) MSS, (SELECT @RNUM:=0) R
WHERE 1 = 1
) MSS
WHERE 1 = 1
-- LIMIT ${stockSumAdjustmentStart}, ${stockSumAdjustmentLimit}
</select>
<select id="selectListStockSumAdjustmentExcel" parameterType="hashmap" resultType="hashmap">
SELECT MSS.*
FROM (
SELECT MSS.*
,CAST(@RNUM:=@RNUM + 1 AS CHAR) AS "rowNum"
FROM (
SELECT MU_TREATMENT_ID AS "muTreatmentId"
,TREATMENT_NAME AS "treatmentName"
,MU_PRODUCT_ID AS "muProductId"
,PRODUCT_CODE AS "productCode"
,PRODUCT_NAME AS "productName"
,MU_COMPANY_ID AS "muCompanyId"
,COMPANY_NAME AS "companyName"
,CASE
WHEN FLOOR(SUM(MSS.QUANTITY)) = SUM(MSS.QUANTITY) THEN FORMAT(IFNULL(SUM(MSS.QUANTITY),0),0)
ELSE TRIM(TRAILING '0' FROM CAST(FORMAT(SUM(MSS.QUANTITY), 2) AS FLOAT))
END AS "quantity"
,FORMAT(SUM(MSS.PRICE * MSS.QUANTITY), 0) AS "amount"
,IFNULL((SELECT FORMAT(AVG(MSS2.PRICE), 0)
FROM MU_STOCK_SUM AS MSS2
WHERE MSS2.USE_YN = 'Y'
AND MSS2.QUANTITY > 0
AND MSS2.MU_TREATMENT_ID = MSS.MU_TREATMENT_ID
AND MSS2.MU_PRODUCT_ID = MSS.MU_PRODUCT_ID
AND MSS2.MU_COMPANY_ID = MSS.MU_COMPANY_ID
), 0) AS "avgPrice"
FROM MU_STOCK_SUM AS MSS
WHERE MSS.USE_YN = 'Y'
<if test="stockSumAdjustmentTreatmentId != null and stockSumAdjustmentTreatmentId != ''">
AND MSS.MU_TREATMENT_ID = (SELECT MU_CATEGORY_ITEM_ID
FROM MU_CATEGORY_ITEM mci
JOIN MU_CATEGORY mc
ON mci.mu_category_id = mc.mu_category_id
WHERE mc.CATEGORY_NAME = '재고구분'
AND mci.CATEGORY_ITEM_CODE =#{stockSumAdjustmentTreatmentId})
</if>
<if test="stockSumAdjustmentCompanyId != null and stockSumAdjustmentCompanyId != ''">
AND MSS.MU_COMPANY_ID = #{stockSumAdjustmentCompanyId}
</if>
<if test="stockSumAdjustmentSearchKeywordParam != null and stockSumAdjustmentSearchKeywordParam != ''">
AND ((MSS.COMPANY_NAME LIKE CONCAT('%',TRIM(#{stockSumAdjustmentSearchKeywordParam}),'%'))
OR (MSS.PRODUCT_NAME LIKE CONCAT('%',TRIM(#{stockSumAdjustmentSearchKeywordParam}),'%')))
</if>
GROUP BY MSS.MU_TREATMENT_ID
,MSS.TREATMENT_NAME
,MSS.MU_PRODUCT_ID
,MSS.PRODUCT_CODE
,MSS.PRODUCT_NAME
,MSS.MU_COMPANY_ID
,MSS.COMPANY_NAME
<choose>
<when test="stockSumAdjustmentSort != null and stockSumAdjustmentSort != ''">
ORDER BY ${stockSumAdjustmentSort}
</when>
<otherwise>
ORDER BY PRODUCT_NAME ASC
</otherwise>
</choose>
LIMIT 18446744073709551615
) MSS, (SELECT @RNUM:=0) R
WHERE 1 = 1
) MSS
WHERE 1 = 1
</select>
<!-- 제품별 실시간 재고 현황 상세 총갯수 (재고조정 팝업 화면) -->
<select id="selectTotalStockSumAdjustmentDetailCount" parameterType="hashmap" resultType="hashmap">
SELECT COUNT(*) AS "totalCount"
FROM MU_STOCK_SUM AS MSS
WHERE MSS.USE_YN = 'Y'
AND MSS.MU_TREATMENT_ID = #{muTreatmentId}
AND MSS.MU_PRODUCT_ID = #{muProductId}
AND MSS.MU_COMPANY_ID = #{muCompanyId}
</select>
<!-- 제품별 실시간 재고 현황 상세 리스트 (재고조정 팝업 화면) -->
<select id="selectListStockSumAdjustmentDetail" parameterType="hashmap" resultType="hashmap">
SELECT MSS.*
FROM (
SELECT MSS.*
,CAST(@RNUM:=@RNUM + 1 AS CHAR) AS "rowNum"
FROM (
SELECT MSS.MU_STOCK_SUM_ID AS "muStockSumId"
,MU_STOCK_HISTORY_ID AS "muStockHistoryId"
,MU_TREATMENT_ID AS "muTreatmentId"
,TREATMENT_NAME AS "treatmentName"
,MU_PRODUCT_ID AS "muProductId"
,PRODUCT_CODE AS "productCode"
,PRODUCT_NAME AS "productName"
,MU_COMPANY_ID AS "muCompanyId"
,COMPANY_NAME AS "companyName"
,DATE_FORMAT(MSS.IN_DATE, '%Y-%m-%d') AS "inDate"
,FORMAT(MSS.PRICE, 0) AS "price"
,CASE
WHEN FLOOR(MSS.QUANTITY) = MSS.QUANTITY
THEN FORMAT(ROUND(MSS.QUANTITY, 0), 0)
ELSE TRIM(TRAILING '.00' FROM FORMAT(ROUND(MSS.QUANTITY, 2), 2))
END AS "quantity"
,FORMAT(MSS.PRICE * MSS.QUANTITY, 0) AS "amount"
,IFNULL(MSS.ETC, 0) AS "etc"
FROM MU_STOCK_SUM AS MSS
WHERE MSS.USE_YN = 'Y'
AND MSS.MU_TREATMENT_ID = #{muTreatmentId}
AND MSS.MU_PRODUCT_ID = #{muProductId}
AND MSS.MU_COMPANY_ID = #{muCompanyId}
ORDER BY IN_DATE DESC, TREATMENT_NAME ASC, PRODUCT_NAME ASC, COMPANY_NAME ASC
LIMIT 18446744073709551615
) MSS, (SELECT @RNUM:=0) R
WHERE 1 = 1
) MSS
WHERE 1 = 1
</select>
<!-- 현재 재고 확인 -->
<select id="selectListStockSum" parameterType="hashmap" resultType="hashmap">
SELECT MSS.MU_STOCK_SUM_ID AS "muStockSumId"
,MSS.MU_STOCK_HISTORY_ID AS "muStockHistoryId"
,MSS.COMPANY_NAME AS "companyName"
,MSS.IN_DATE AS "inDate"
,MSS.PRICE AS "price"
,MSS.QUANTITY AS "quantity"
FROM MU_STOCK_SUM AS MSS
WHERE MSS.USE_YN = 'Y'
AND MSS.QUANTITY > 0
AND MSS.MU_TREATMENT_ID = #{muTreatmentId}
AND MSS.MU_PRODUCT_ID = #{muProductId}
AND MSS.MU_COMPANY_ID = #{muCompanyId}
ORDER BY MSS.IN_DATE ASC, REG_DATE ASC
</select>
<!-- 현재 재고 수량 확인 -->
<select id="selectTotalStockSumQuantity" parameterType="hashmap" resultType="hashmap">
SELECT SUM(MSS.QUANTITY) AS "totalQuantity"
FROM MU_STOCK_SUM AS MSS
WHERE MSS.USE_YN = 'Y'
AND MSS.MU_TREATMENT_ID = #{muTreatmentId}
AND MSS.MU_PRODUCT_ID = #{muProductId}
AND MSS.MU_COMPANY_ID = #{muCompanyId}
</select>
<!-- 입고일자에 등록된 게 잇는 지 확인 -->
<select id="checkStockSumIn" parameterType="hashmap" resultType="hashmap">
SELECT COUNT(*) AS "totalCount"
FROM MU_STOCK_SUM AS MSS
WHERE MSS.USE_YN = 'Y'
AND MSS.MU_TREATMENT_ID = #{muTreatmentId}
AND MSS.MU_PRODUCT_ID = #{muProductId}
AND MSS.MU_COMPANY_ID = #{muCompanyId}
AND DATE_FORMAT(MSS.IN_DATE, '%Y-%m-%d') = #{inDate}
</select>
<insert id="insertStockSum" parameterType="hashmap">
<selectKey resultType="string" keyProperty="id" order="BEFORE">
SELECT CONCAT(#{muStockSumId},LPAD((SELECT NEXTVAL(MU_STOCK_SUM_SEQ)), 10, 0))
</selectKey>
INSERT INTO MU_STOCK_SUM(
MU_STOCK_SUM_ID
,MU_STOCK_HISTORY_ID
,MU_TREATMENT_ID
,TREATMENT_NAME
,MU_PRODUCT_ID
,PRODUCT_CODE
,PRODUCT_NAME
,MU_COMPANY_ID
,COMPANY_NAME
,IN_DATE
,PRICE
,QUANTITY
,ETC
,WRITE_DATE
,WRITE_TIME
,CUD_FLAG
,USE_YN
,REG_ID
,REG_DATE
,MOD_ID
,MOD_DATE
,T_ID
,T_DATE
)VALUES(
#{id}
,#{muStockHistoryId}
,#{muTreatmentId}
,#{treatmentName}
,#{muProductId}
,#{productCode}
,#{productName}
,#{muCompanyId}
,#{companyName}
,#{inDate}
,#{price}
,#{quantity}
,#{etc,jdbcType=VARCHAR}
,CURDATE()
,CURTIME()
,'C'
,'Y'
,#{regId}
,NOW()
,#{modId}
,NOW()
,#{tId}
,#{tDate}
)
</insert>
<insert id="insertStockSum2" parameterType="hashmap">
<selectKey resultType="string" keyProperty="id" order="BEFORE">
SELECT CONCAT(#{muStockSumId},LPAD((SELECT NEXTVAL(MU_STOCK_SUM_SEQ)), 10, 0))
</selectKey>
INSERT INTO MU_STOCK_SUM(
MU_STOCK_SUM_ID
,MU_STOCK_HISTORY_ID
,MU_TREATMENT_ID
,TREATMENT_NAME
,MU_PRODUCT_ID
,PRODUCT_CODE
,PRODUCT_NAME
,MU_COMPANY_ID
,COMPANY_NAME
,IN_DATE
,PRICE
,QUANTITY
,ETC
,WRITE_DATE
,WRITE_TIME
,CUD_FLAG
,USE_YN
,REG_ID
,REG_DATE
,MOD_ID
,MOD_DATE
,T_ID
,T_DATE
)VALUES(
#{id}
,#{muStockHistoryId}
,#{muTreatmentId}
,#{treatmentName}
,#{muProductId}
,#{productCode}
,#{productName}
,#{muCompanyId}
,#{companyName}
,CURDATE()
,#{price}
,#{quantity}
,#{etc,jdbcType=VARCHAR}
,CURDATE()
,CURTIME()
,'C'
,'Y'
,#{regId}
,NOW()
,#{modId}
,NOW()
,#{tId}
,#{tDate}
)
</insert>
<update id="updateStockSum" parameterType="hashmap">
UPDATE MU_STOCK_SUM
SET MOD_ID = #{modId}
,MOD_DATE = NOW()
,CUD_FLAG = 'U'
,QUANTITY = #{quantity}
WHERE USE_YN = 'Y'
AND MU_STOCK_SUM_ID = #{muStockSumId}
</update>
<update id="updateStockSum2" parameterType="hashmap">
UPDATE MU_STOCK_SUM
SET MOD_ID = #{modId}
,MOD_DATE = NOW()
,CUD_FLAG = 'U'
,QUANTITY = QUANTITY +
(CASE
WHEN #{type} = 'AA' THEN #{quantity}
WHEN #{type} = 'AD' THEN -#{quantity}
ELSE 0
END)
WHERE USE_YN = 'Y'
AND MU_STOCK_SUM_ID = #{muStockSumId}
</update>
</mapper>

View File

@@ -0,0 +1,370 @@
<?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="WebTreatmentDiet">
<select id="selectTotalWebTreatmentDietCount" parameterType="hashmap" resultType="hashmap">
SELECT COUNT(*) AS "totalCount"
from (SELECT HCB.POST_NO, HCB.TITLE, HCB.CONTENT
FROM HP_CONTENTS_BBS AS HCB
LEFT OUTER JOIN HP_CONTENTS_BBS_PROCEDURE HCBP ON HCB.CATEGORY_DIV_CD = HCBP.CATEGORY_DIV_CD AND HCB.CATEGORY_NO = HCBP.CATEGORY_NO
LEFT OUTER JOIN HP_CATEGORY HC ON HCB.CATEGORY_DIV_CD = HC.CATEGORY_DIV_CD AND HCB.CATEGORY_NO = HC.CATEGORY_NO
LEFT OUTER JOIN MU_TREATMENT_PROCEDURE MTP ON HCBP.MU_TREATMENT_PROCEDURE_ID = MTP.MU_TREATMENT_PROCEDURE_ID
WHERE HCB.USE_YN = 'Y'
AND HCB.CATEGORY_DIV_CD = '01'
<!--
<if test="webTreatmentDietSearchStartDate != null and webTreatmentDietSearchStartDate != '' and webTreatmentDietSearchEndDate != null and webTreatmentDietSearchEndDate != ''">
AND DATE_FORMAT(HCB.REG_DATE, '%Y-%m-%d') &gt;= #{webTreatmentDietSearchStartDate}
AND DATE_FORMAT(HCB.REG_DATE, '%Y-%m-%d') &lt;= #{webTreatmentDietSearchEndDate}
</if>
-->
<if test="webTreatmentDietSearchKeywordParam0 != null and webTreatmentDietSearchKeywordParam0 != ''">
AND (
(HC.CATEGORY_NM LIKE CONCAT('%',TRIM(#{webTreatmentDietSearchKeywordParam0}),'%'))
)
</if>
<if test="webTreatmentDietSearchKeywordParam1 != null and webTreatmentDietSearchKeywordParam1 != ''">
AND (
(HCB.TITLE LIKE CONCAT('%',TRIM(#{webTreatmentDietSearchKeywordParam1}),'%'))
)
</if>
<if test="webTreatmentDietSearchKeywordParam2 != null and webTreatmentDietSearchKeywordParam2 != ''">
AND (
(IFNULL((SELECT MM.NAME FROM MU_MEMBER AS MM
WHERE MM.USE_YN = 'Y'
AND MM.MU_MEMBER_ID = HCB.REG_ID
LIMIT 0, 1
),'') LIKE CONCAT('%',TRIM(#{webTreatmentDietSearchKeywordParam2}),'%'))
)
</if>
<if test="webTreatmentDietSearchKeywordParam3 != null and webTreatmentDietSearchKeywordParam3 != ''">
AND (
(MTP.TREATMENT_PROCEDURE_NAME LIKE CONCAT('%',TRIM(#{webTreatmentDietSearchKeywordParam3}),'%'))
)
</if>
GROUP BY HCB.POST_NO, HCB.TITLE, HCB.CONTENT) as HCB
</select>
<select id="selectListWebTreatmentDiet" parameterType="hashmap" resultType="hashmap">
SELECT HCB.*
FROM (
SELECT HCB.*
,CAST(@RNUM:=@RNUM + 1 AS CHAR) AS "rowNum"
FROM (
SELECT HCB.POST_NO AS "muWebTreatmentDietId"
,HCB.TITLE AS "title"
,HCB.CONTENT AS "content"
,HC.CATEGORY_NM AS "category"
,HC.CATEGORY_NO AS "categorylist"
,HCB.THUMBNAIL_BOTTOM_TXT AS "thumbnail"
,HCB.HASHTAG AS "hashtag"
,CONCAT(DATE_FORMAT(HCB.REG_DATE, '%Y-%m-%d')
,' ~ '
,DATE_FORMAT(HCB.REG_DATE, '%Y-%m-%d')) AS "treatmentdietDate"
,DATE_FORMAT(HCB.REG_DATE, '%Y-%m-%d') AS "writeDate"
,IFNULL((SELECT MM.NAME
FROM MU_MEMBER AS MM
WHERE MM.USE_YN = 'Y'
AND MM.MU_MEMBER_ID = HCB.REG_ID
LIMIT 0, 1
),'') AS "writeName"
FROM HP_CONTENTS_BBS HCB
LEFT OUTER JOIN HP_CATEGORY HC ON HCB.CATEGORY_DIV_CD = HC.CATEGORY_DIV_CD AND HCB.CATEGORY_NO = HC.CATEGORY_NO
LEFT OUTER JOIN HP_CONTENTS_BBS_PROCEDURE HCBP ON HCB.CATEGORY_DIV_CD = HCBP.CATEGORY_DIV_CD AND HCB.CATEGORY_NO = HCBP.CATEGORY_NO
LEFT OUTER JOIN MU_TREATMENT_PROCEDURE MTP ON HCBP.MU_TREATMENT_PROCEDURE_ID = MTP.MU_TREATMENT_PROCEDURE_ID
WHERE HCB.USE_YN = 'Y'
AND HCB.CATEGORY_DIV_CD = '01'
<!--
<if test="webTreatmentDietSearchStartDate != null and webTreatmentDietSearchStartDate != '' and webTreatmentDietSearchEndDate != null and webTreatmentDietSearchEndDate != ''">
AND DATE_FORMAT(HCB.REG_DATE, '%Y-%m-%d') &gt;= #{webTreatmentDietSearchStartDate}
AND DATE_FORMAT(HCB.REG_DATE, '%Y-%m-%d') &lt;= #{webTreatmentDietSearchEndDate}
</if>
-->
<if test="webTreatmentDietSearchKeywordParam0 != null and webTreatmentDietSearchKeywordParam0 != ''">
AND (
(HC.CATEGORY_NM LIKE CONCAT('%',TRIM(#{webTreatmentDietSearchKeywordParam0}),'%'))
)
</if>
<if test="webTreatmentDietSearchKeywordParam1 != null and webTreatmentDietSearchKeywordParam1 != ''">
AND (
(HCB.TITLE LIKE CONCAT('%',TRIM(#{webTreatmentDietSearchKeywordParam1}),'%'))
)
</if>
<if test="webTreatmentDietSearchKeywordParam2 != null and webTreatmentDietSearchKeywordParam2 != ''">
AND (
(IFNULL((SELECT MM.NAME FROM MU_MEMBER AS MM
WHERE MM.USE_YN = 'Y'
AND MM.MU_MEMBER_ID = HCB.REG_ID
LIMIT 0, 1
),'') LIKE CONCAT('%',TRIM(#{webTreatmentDietSearchKeywordParam2}),'%'))
)
</if>
<if test="webTreatmentDietSearchKeywordParam3 != null and webTreatmentDietSearchKeywordParam3 != ''">
AND (
(MTP.TREATMENT_PROCEDURE_NAME LIKE CONCAT('%',TRIM(#{webTreatmentDietSearchKeywordParam3}),'%'))
)
</if>
GROUP BY muWebTreatmentDietId, title, content
<choose>
<when test="webTreatmentDietSort != null and webTreatmentDietSort != ''">
ORDER BY ${webTreatmentDietSort}
</when>
<otherwise>
ORDER BY HCB.REG_DATE DESC
</otherwise>
</choose>
LIMIT 18446744073709551615
) HCB, (SELECT @RNUM:=0) R
WHERE 1 = 1
) HCB
WHERE 1 = 1
LIMIT ${webTreatmentDietStart}, ${webTreatmentDietLimit}
</select>
<select id="selectWebTreatmentDiet" parameterType="hashmap" resultType="hashmap">
SELECT HCB.POST_NO AS "muWebTreatmentDietId"
,HCB.CATEGORY_NO AS "categorylist"
,HCB.TITLE AS "title"
,HCB.CONTENT AS "content"
,HCB.HASHTAG AS "hashtag"
,HCB.THUMBNAIL_BOTTOM_TXT AS "thumbnail_bottom_txt"
,HAF2.FILE_PATH AS "file"
,HAF.FILE_PATH AS "content_file"
FROM HP_CONTENTS_BBS AS HCB
LEFT OUTER JOIN HP_ATTACH_FILE HAF ON HAF.ATTACHFILE_ID = HCB.CONTENTS_ATTACHFILE_ID
LEFT OUTER JOIN HP_ATTACH_FILE HAF2 ON HAF2.ATTACHFILE_ID = HCB.THUMBNAIL_ATTACHFILE_ID
WHERE HCB.USE_YN = 'Y'
AND HCB.CATEGORY_DIV_CD = '01'
AND HCB.CATEGORY_NO = #{categorylist}
AND HCB.POST_NO = #{muWebTreatmentDietId}
LIMIT 0, 1
</select>
<select id="selectWebTreatmentListDiet" parameterType="hashmap" resultType="hashmap">
SELECT HCBP.POST_NO AS "muWebTreatmentDietId"
,HCBP.CATEGORY_NO AS "categorylist"
,HCBP.MU_TREATMENT_ID AS "treatmentid"
,HCBP.MU_TREATMENT_PROCEDURE_ID AS "treatmentprocedureid"
,MTP.TREATMENT_PROCEDURE_NAME AS "treatmentnm"
,MTPP.PRICE AS "price"
,IFNULL(MTPP.DISCOUNT_PRICE, 0) AS "discountprice"
FROM HP_CONTENTS_BBS_PROCEDURE AS HCBP
LEFT OUTER JOIN MU_TREATMENT_PROCEDURE MTP ON HCBP.MU_TREATMENT_ID = MTP.MU_TREATMENT_ID AND HCBP.MU_TREATMENT_PROCEDURE_ID = MTP.MU_TREATMENT_PROCEDURE_ID
LEFT OUTER JOIN MU_TREATMENT_PROCEDURE_PRICE MTPP ON MTP.MU_TREATMENT_PROCEDURE_ID = MTPP.MU_TREATMENT_PROCEDURE_ID
WHERE HCBP.USE_YN = 'Y'
AND HCBP.CATEGORY_DIV_CD = '01'
AND HCBP.CATEGORY_NO = #{categorylist}
AND HCBP.POST_NO = #{muWebTreatmentDietId}
</select>
<insert id="insertWebTreatmentDiet" parameterType="hashmap">
<selectKey resultType="string" keyProperty="id" order="BEFORE">
SELECT (MAX(POST_NO) + 1) FROM HP_CONTENTS_BBS WHERE CATEGORY_DIV_CD = '01' AND CATEGORY_NO = ${categorylist}
</selectKey>
INSERT INTO HP_CONTENTS_BBS(
CATEGORY_DIV_CD
,CATEGORY_NO
,POST_NO
,TITLE
,CONTENT
,THUMBNAIL_BOTTOM_TXT
,THUMBNAIL_ATTACHFILE_ID
,CONTENTS_ATTACHFILE_ID
,HASHTAG
,USE_YN
,REG_ID
,REG_DATE
,MOD_ID
,MOD_DATE
)VALUES(
'01'
,${categorylist}
,#{id}
,#{title}
,#{content}
,#{thumbnail_bottom_txt}
,#{thumbnailId}
,#{contentId}
,#{hashtag}
,'Y'
,#{regId}
,NOW()
,#{modId}
,NOW()
)
</insert>
<insert id="insertWebTreatmentDietContentFile" parameterType="hashmap">
<selectKey resultType="string" keyProperty="contentId" order="BEFORE">
SELECT CONCAT('ATF-', LPAD(NEXTVAL(seq_attachfile_id), 21, '0'))
</selectKey>
INSERT INTO HP_ATTACH_FILE(
ATTACHFILE_ID
,ATTACHFILE_NM
,FILE_PATH
,FILE_SIZE
,FILE_TYPE
,REG_ID
,REG_DATE
,MOD_ID
,MOD_DATE
)VALUES(
#{contentId}
,#{fileName2}
,#{filePath2}
,'0'
,#{fileType2}
,#{regId}
,NOW()
,#{modId}
,NOW()
)
</insert>
<insert id="insertWebTreatmentDietThumbnailFile" parameterType="hashmap">
<selectKey resultType="string" keyProperty="thumbnailId" order="BEFORE">
SELECT CONCAT('ATF-', LPAD(NEXTVAL(seq_attachfile_id), 21, '0'))
</selectKey>
INSERT INTO HP_ATTACH_FILE(
ATTACHFILE_ID
,ATTACHFILE_NM
,FILE_PATH
,FILE_SIZE
,FILE_TYPE
,REG_ID
,REG_DATE
,MOD_ID
,MOD_DATE
)VALUES(
#{thumbnailId}
,#{fileName}
,#{filePath}
,'0'
,#{fileType}
,#{regId}
,NOW()
,#{modId}
,NOW()
)
</insert>
<update id="updateWebTreatmentListDiet" parameterType="hashmap">
UPDATE HP_CONTENTS_BBS_PROCEDURE SET
USE_YN = 'N'
WHERE CATEGORY_DIV_CD = '01'
AND CATEGORY_NO = #{categoryNo}
AND POST_NO = #{postNo}
</update>
<insert id="insertWebTreatmentListDiet" parameterType="hashmap">
INSERT INTO HP_CONTENTS_BBS_PROCEDURE(
CATEGORY_DIV_CD
,CATEGORY_NO
,POST_NO
,MU_TREATMENT_ID
,MU_TREATMENT_PROCEDURE_ID
,USE_YN
,REG_ID
,REG_DATE
,MOD_ID
,MOD_DATE
)VALUES(
'01'
,#{categoryNo}
,#{muWebTreatmentDietId}
,#{treatmentid}
,#{treatmentprocedureid}
,'Y'
,#{regId}
,NOW()
,#{modId}
,NOW()
)ON DUPLICATE KEY UPDATE
USE_YN = 'Y';
</insert>
<update id="updateWebTreatmentDiet" parameterType="hashmap">
UPDATE HP_CONTENTS_BBS
SET
TITLE = #{title}
,CONTENT = #{content}
,THUMBNAIL_BOTTOM_TXT = #{thumbnail_bottom_txt}
,HASHTAG = #{hashtag}
<if test="thumbnailId != null and thumbnailId != ''">
,THUMBNAIL_ATTACHFILE_ID = #{thumbnailId}
</if>
<if test="contentId != null and contentId != ''">
,CONTENTS_ATTACHFILE_ID = #{contentId}
</if>
,MOD_ID = #{modId}
,MOD_DATE = NOW()
WHERE USE_YN = 'Y'
AND CATEGORY_DIV_CD = '01'
AND CATEGORY_NO = #{categoryNo}
AND POST_NO = #{postNo}
</update>
<update id="deleteWebTreatmentDiet" parameterType="hashmap">
UPDATE HP_CONTENTS_BBS
SET MOD_ID = #{modId}
,MOD_DATE = NOW()
,USE_YN = 'N'
WHERE USE_YN = 'Y'
AND CATEGORY_NO = #{categorylist}
AND POST_NO = #{muWebTreatmentDietId}
</update>
<select id="selectTotalTreatmentCount" parameterType="hashmap" resultType="Integer">
SELECT COUNT(*) AS "totalCount"
FROM MU_TREATMENT_PROCEDURE AS MTP
WHERE MTP.USE_YN = 'Y'
AND MTP.ENABLE_YN = 'Y'
<if test="userSearchKeywordParam != null and userSearchKeywordParam != ''">
AND (MTP.TREATMENT_PROCEDURE_NAME LIKE CONCAT('%',TRIM(#{userSearchKeywordParam}),'%'))
</if>
</select>
<select id="selectListTreatment" parameterType="hashmap" resultType="hashmap">
SELECT ROW_NUMBER() OVER (ORDER BY MTP.REG_DATE DESC) AS "rowNum"
,MTP.MU_TREATMENT_PROCEDURE_ID AS "treatmentProcedureId"
,MTP.MU_TREATMENT_ID AS "treatmentId"
,MTP.TREATMENT_PROCEDURE_NAME AS "treatmentNm"
,MTPP.PRICE AS "price"
,IFNULL(MTPP.DISCOUNT_PRICE, 0) AS "discountPrice"
FROM MU_TREATMENT_PROCEDURE AS MTP
LEFT OUTER JOIN MU_TREATMENT_PROCEDURE_PRICE MTPP ON MTP.MU_TREATMENT_PROCEDURE_ID = MTPP.MU_TREATMENT_PROCEDURE_ID
WHERE MTP.USE_YN = 'Y'
AND MTPP.USE_YN = 'Y'
AND MTP.ENABLE_YN = 'Y'
<if test="userSearchKeywordParam != null and userSearchKeywordParam != ''">
AND (MTP.TREATMENT_PROCEDURE_NAME LIKE CONCAT('%',TRIM(#{userSearchKeywordParam}),'%'))
</if>
<choose>
<when test="userSort != null and userSort != ''">
ORDER BY ${userSort}
</when>
<otherwise>
ORDER BY MTP.REG_DATE DESC
</otherwise>
</choose>
<if test="userStart != null and userStart != ''">
LIMIT ${userStart}
<if test="userLimit != null and userLimit != ''">
,${userLimit}
</if>
</if>
</select>
<select id="selectListTreatmentCategory" parameterType="hashmap" resultType="hashmap">
SELECT ROW_NUMBER() OVER (ORDER BY HC.REG_DATE DESC) AS "rowNum"
,HC.CATEGORY_NO AS "categoryNo"
,HC.CATEGORY_NM AS "categoryNm"
FROM HP_CATEGORY AS HC
WHERE HC.USE_YN = 'Y'
AND HC.CATEGORY_DIV_CD = '01'
ORDER BY HC.CATEGORY_NO ASC
</select>
</mapper>

View File

@@ -0,0 +1,333 @@
<?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="WebTreatmentPetit">
<select id="selectTotalWebTreatmentPetitCount" resultType="Integer">
/** WebTreatmentPetit.selectTotalWebTreatmentPetitCount **/
SELECT COUNT(*) as TOTAL_COUNT
FROM (SELECT HCB.CATEGORY_DIV_CD, HCB.CATEGORY_NO, HCB.POST_NO
FROM HP_CATEGORY HC,
HP_CONTENTS_BBS HCB
WHERE HC.CATEGORY_DIV_CD = HCB.CATEGORY_DIV_CD
AND HC.CATEGORY_NO = HCB.CATEGORY_NO
AND HCB.USE_YN = 'Y'
AND HCB.CATEGORY_DIV_CD = '03'
<if test="@org.springframework.util.StringUtils@hasLength(categoryNm)">
AND HCB.CATEGORY_NM LIKE CONCAT('%', #{categoryNm}, '%')
</if>
<if test="@org.springframework.util.StringUtils@hasLength(title)">
AND HCB.TITLE LIKE CONCAT('%', #{title}, '%')
</if>
<if test="@org.springframework.util.StringUtils@hasLength(regNm)">
AND MM.NAME = #{regNm}
</if>
) total
</select>
<select id="selectListWebTreatmentPetit" parameterType="hashmap" resultType="hashmap">
/** WebTreatmentPetit.selectListWebTreatmentPetit **/
SELECT HCB.*
FROM (
SELECT HCB.*
,CAST(@RNUM:=@RNUM + 1 AS CHAR) as ROW_NUM
FROM (
SELECT HCB.POST_NO
,HCB.TITLE
,HCB.CONTENT
,HC.CATEGORY_NM
,HC.CATEGORY_NO
,HCB.THUMBNAIL_BOTTOM_TXT
,HCB.HASHTAG
,DATE_FORMAT(HCB.REG_DATE, '%Y-%m-%d') as REG_DT
,MM.NAME as REG_NM
FROM HP_CATEGORY HC,
HP_CONTENTS_BBS HCB,
(SELECT * FROM MU_MEMBER WHERE USE_YN = 'Y') MM
WHERE HC.CATEGORY_DIV_CD = HCB.CATEGORY_DIV_CD
AND HCB.REG_ID = MM.MU_MEMBER_ID
AND HC.CATEGORY_NO = HCB.CATEGORY_NO
AND HCB.USE_YN = 'Y'
AND HCB.CATEGORY_DIV_CD = '03'
<if test="@org.springframework.util.StringUtils@hasLength(categoryNm)">
AND HCB.CATEGORY_NM LIKE CONCAT('%', #{categoryNm}, '%')
</if>
<if test="@org.springframework.util.StringUtils@hasLength(title)">
AND HCB.TITLE LIKE CONCAT('%', #{title}, '%')
</if>
<if test="@org.springframework.util.StringUtils@hasLength(regNm)">
AND MM.NAME = #{regNm}
</if>
<choose>
<when test="@org.springframework.util.StringUtils@hasLength(webTreatmentPetitSort)">
ORDER BY ${webTreatmentPetitSort}
</when>
<otherwise>
ORDER BY CATEGORY_NO, POST_NO DESC
</otherwise>
</choose>
LIMIT 18446744073709551615
) HCB, (SELECT @RNUM:=0) R
WHERE 1 = 1
) HCB
WHERE 1 = 1
LIMIT ${webTreatmentPetitStart}, ${webTreatmentPetitLimit}
</select>
<select id="selectWebTreatmentPetit" parameterType="hashmap" resultType="hashmap">
/** WebTreatmentPetit.selectWebTreatmentPetit **/
SELECT HCB.POST_NO
,HCB.CATEGORY_NO
,HCB.TITLE
,HCB.CONTENT
,HCB.HASHTAG
,HCB.THUMBNAIL_BOTTOM_TXT
,HAF2.FILE_PATH as THUMBNAIL_IMG_PATH
,HAF.FILE_PATH as CONTENT_IMG_PATH
FROM HP_CONTENTS_BBS AS HCB
LEFT OUTER JOIN HP_ATTACH_FILE HAF ON HAF.ATTACHFILE_ID = HCB.CONTENTS_ATTACHFILE_ID
LEFT OUTER JOIN HP_ATTACH_FILE HAF2 ON HAF2.ATTACHFILE_ID = HCB.THUMBNAIL_ATTACHFILE_ID
WHERE HCB.USE_YN = 'Y'
AND HCB.CATEGORY_DIV_CD = '03'
AND HCB.CATEGORY_NO = #{categoryNo}
AND HCB.POST_NO = #{postNo}
LIMIT 0, 1
</select>
<select id="selectWebTreatmentListPetit" parameterType="hashmap" resultType="hashmap">
/** WebTreatmentPetit.selectWebTreatmentListPetit **/
SELECT HCBP.POST_NO
,HCBP.CATEGORY_NO
,HCBP.MU_TREATMENT_ID
,HCBP.MU_TREATMENT_PROCEDURE_ID
,MTP.TREATMENT_PROCEDURE_NAME
,MTPP.PRICE
,IFNULL(MTPP.DISCOUNT_PRICE, 0) as DISCOUNT_PRICE
FROM HP_CONTENTS_BBS_PROCEDURE AS HCBP
LEFT OUTER JOIN MU_TREATMENT_PROCEDURE MTP ON HCBP.MU_TREATMENT_ID = MTP.MU_TREATMENT_ID AND HCBP.MU_TREATMENT_PROCEDURE_ID = MTP.MU_TREATMENT_PROCEDURE_ID
LEFT OUTER JOIN MU_TREATMENT_PROCEDURE_PRICE MTPP ON MTP.MU_TREATMENT_PROCEDURE_ID = MTPP.MU_TREATMENT_PROCEDURE_ID
WHERE HCBP.USE_YN = 'Y'
AND HCBP.CATEGORY_DIV_CD = '03'
AND HCBP.CATEGORY_NO = #{categoryNo}
AND HCBP.POST_NO = #{postNo}
</select>
<insert id="insertWebTreatmentPetit" parameterType="hashmap">
<selectKey resultType="string" keyProperty="id" order="BEFORE">
SELECT (MAX(POST_NO) + 1) FROM HP_CONTENTS_BBS WHERE CATEGORY_DIV_CD = '03' AND CATEGORY_NO = ${categorylist}
</selectKey>
/** WebTreatmentPetit.insertWebTreatmentPetit **/
INSERT INTO HP_CONTENTS_BBS(
CATEGORY_DIV_CD
,CATEGORY_NO
,POST_NO
,TITLE
,CONTENT
,THUMBNAIL_BOTTOM_TXT
,THUMBNAIL_ATTACHFILE_ID
,CONTENTS_ATTACHFILE_ID
,HASHTAG
,USE_YN
,REG_ID
,REG_DATE
,MOD_ID
,MOD_DATE
)VALUES(
'03'
,${categorylist}
,#{id}
,#{title}
,#{content}
,#{thumbnail_bottom_txt}
,#{thumbnailId}
,#{contentId}
,#{hashtag}
,'Y'
,#{regId}
,NOW()
,#{modId}
,NOW()
)
</insert>
<insert id="insertWebTreatmentPetitContentFile" parameterType="hashmap">
<selectKey resultType="string" keyProperty="contentId" order="BEFORE">
SELECT CONCAT('ATF-', LPAD(NEXTVAL(seq_attachfile_id), 21, '0'))
</selectKey>
/** WebTreatmentPetit.insertWebTreatmentPetitContentFile **/
INSERT INTO HP_ATTACH_FILE(
ATTACHFILE_ID
,ATTACHFILE_NM
,FILE_PATH
,FILE_SIZE
,FILE_TYPE
,REG_ID
,REG_DATE
,MOD_ID
,MOD_DATE
)VALUES(
#{contentId}
,#{fileName2}
,#{filePath2}
,'0'
,#{fileType2}
,#{regId}
,NOW()
,#{modId}
,NOW()
)
</insert>
<insert id="insertWebTreatmentPetitThumbnailFile" parameterType="hashmap">
<selectKey resultType="string" keyProperty="thumbnailId" order="BEFORE">
SELECT CONCAT('ATF-', LPAD(NEXTVAL(seq_attachfile_id), 21, '0'))
</selectKey>
/** WebTreatmentPetit.insertWebTreatmentPetitThumbnailFile **/
INSERT INTO HP_ATTACH_FILE(
ATTACHFILE_ID
,ATTACHFILE_NM
,FILE_PATH
,FILE_SIZE
,FILE_TYPE
,REG_ID
,REG_DATE
,MOD_ID
,MOD_DATE
)VALUES(
#{thumbnailId}
,#{fileName}
,#{filePath}
,'0'
,#{fileType}
,#{regId}
,NOW()
,#{modId}
,NOW()
)
</insert>
<update id="updateWebTreatmentListPetit" parameterType="hashmap">
/** WebTreatmentPetit.updateWebTreatmentListPetit **/
UPDATE HP_CONTENTS_BBS_PROCEDURE SET
USE_YN = 'N'
WHERE CATEGORY_DIV_CD = '03'
AND CATEGORY_NO = ${categorylist}
AND POST_NO = #{muWebTreatmentDietId}
</update>
<insert id="insertWebTreatmentListPetit" parameterType="hashmap">
/** WebTreatmentPetit.insertWebTreatmentListPetit **/
INSERT INTO HP_CONTENTS_BBS_PROCEDURE(
CATEGORY_DIV_CD
,CATEGORY_NO
,POST_NO
,MU_TREATMENT_ID
,MU_TREATMENT_PROCEDURE_ID
,USE_YN
,REG_ID
,REG_DATE
,MOD_ID
,MOD_DATE
)VALUES(
'03'
,${categorylist}
,#{muWebTreatmentPetitId}
,#{treatmentid}
,#{treatmentprocedureid}
,'Y'
,#{regId}
,NOW()
,#{modId}
,NOW()
)ON DUPLICATE KEY UPDATE
USE_YN = 'Y';
</insert>
<update id="updateWebTreatmentPetit" parameterType="hashmap">
/** WebTreatmentPetit.updateWebTreatmentPetit **/
UPDATE HP_CONTENTS_BBS
SET
TITLE = #{title}
,CONTENT = #{content}
,THUMBNAIL_BOTTOM_TXT = #{thumbnail_bottom_txt}
,HASHTAG = #{hashtag}
<if test="thumbnailId != null and thumbnailId != ''">
,THUMBNAIL_ATTACHFILE_ID = #{thumbnailId}
</if>
<if test="contentId != null and contentId != ''">
,CONTENTS_ATTACHFILE_ID = #{contentId}
</if>
,MOD_ID = #{modId}
,MOD_DATE = NOW()
WHERE USE_YN = 'Y'
AND CATEGORY_DIV_CD = '03'
AND CATEGORY_NO = #{categorylist}
AND POST_NO = #{post_no}
</update>
<update id="deleteContentsBbs" parameterType="map">
/** WebTreatmentPetit.deleteContentsBbs **/
UPDATE HP_CONTENTS_BBS
SET MOD_ID = #{modId}
, MOD_DATE = NOW()
, USE_YN = 'N'
WHERE USE_YN = 'Y'
AND CATEGORY_DIV_CD = '03'
AND (CATEGORY_NO, POST_NO) IN
<foreach collection="delList" item="item" open="(" separator="," close=")">
(#{item.categoryNo}, #{item.postNo})
</foreach>
</update>
<select id="selectTotalTreatmentCount" parameterType="hashmap" resultType="Integer">
SELECT COUNT(*) AS "totalCount"
FROM MU_TREATMENT_PROCEDURE AS MTP
WHERE MTP.USE_YN = 'Y'
AND MTP.ENABLE_YN = 'Y'
<if test="userSearchKeywordParam != null and userSearchKeywordParam != ''">
AND (MTP.TREATMENT_PROCEDURE_NAME LIKE CONCAT('%',TRIM(#{userSearchKeywordParam}),'%'))
</if>
</select>
<select id="selectListTreatment" parameterType="hashmap" resultType="hashmap">
SELECT ROW_NUMBER() OVER (ORDER BY MTP.REG_DATE DESC) AS "rowNum"
,MTP.MU_TREATMENT_PROCEDURE_ID AS "treatmentProcedureId"
,MTP.MU_TREATMENT_ID AS "treatmentId"
,MTP.TREATMENT_PROCEDURE_NAME AS "treatmentNm"
,MTPP.PRICE AS "price"
,IFNULL(MTPP.DISCOUNT_PRICE, 0) AS "discountPrice"
FROM MU_TREATMENT_PROCEDURE AS MTP
LEFT OUTER JOIN MU_TREATMENT_PROCEDURE_PRICE MTPP ON MTP.MU_TREATMENT_PROCEDURE_ID = MTPP.MU_TREATMENT_PROCEDURE_ID
WHERE MTP.USE_YN = 'Y'
AND MTPP.USE_YN = 'Y'
AND MTP.ENABLE_YN = 'Y'
<if test="userSearchKeywordParam != null and userSearchKeywordParam != ''">
AND (MTP.TREATMENT_PROCEDURE_NAME LIKE CONCAT('%',TRIM(#{userSearchKeywordParam}),'%'))
</if>
<choose>
<when test="userSort != null and userSort != ''">
ORDER BY ${userSort}
</when>
<otherwise>
ORDER BY MTP.REG_DATE DESC
</otherwise>
</choose>
<if test="userStart != null and userStart != ''">
LIMIT ${userStart}
<if test="userLimit != null and userLimit != ''">
,${userLimit}
</if>
</if>
</select>
<select id="selectListTreatmentCategory" parameterType="hashmap" resultType="hashmap">
SELECT HC.CATEGORY_NO
,HC.CATEGORY_NM
FROM HP_CATEGORY AS HC
WHERE HC.USE_YN = 'Y'
AND HC.CATEGORY_DIV_CD = '03'
ORDER BY HC.CATEGORY_NO ASC
</select>
</mapper>

View File

@@ -0,0 +1,62 @@
<?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="WebTreatmentProcedureArea">
<select id="selectListTreatmentProcedureArea" parameterType="hashmap" resultType="hashmap">
SELECT MTPA.MU_TREATMENT_PROCEDURE_AREA_ID AS "muTreatmentProcedureAreaId"
,MTPA.MU_TREATMENT_PROCEDURE_ID AS "muTreatmentProcedureId"
,MTPA.ORDER_NUMBER AS "orderNumber"
,MTPA.PROCEDURE_AREA_NAME AS "procedureAreaName"
FROM MU_TREATMENT_PROCEDURE_AREA AS MTPA
WHERE MTPA.USE_YN = 'Y'
AND MTPA.MU_TREATMENT_PROCEDURE_ID = #{muTreatmentProcedureId}
</select>
<insert id="insertTreatmentProcedureArea" parameterType="hashmap">
<selectKey resultType="string" keyProperty="id" order="BEFORE">
SELECT CONCAT(#{muTreatmentProcedureAreaId},LPAD((SELECT NEXTVAL(MU_TREATMENT_PROCEDURE_AREA_SEQ)), 9, 0))
</selectKey>
INSERT INTO MU_TREATMENT_PROCEDURE_AREA(
MU_TREATMENT_PROCEDURE_AREA_ID
,MU_TREATMENT_PROCEDURE_ID
,ORDER_NUMBER
,PROCEDURE_AREA_NAME
,WRITE_DATE
,WRITE_TIME
,CUD_FLAG
,USE_YN
,REG_ID
,REG_DATE
,MOD_ID
,MOD_DATE
,T_ID
,T_DATE
)VALUES(
#{id}
,#{muTreatmentProcedureId}
,#{orderNumber}
,#{procedureAreaName}
,CURDATE()
,CURTIME()
,'C'
,'Y'
,#{regId}
,NOW()
,#{modId}
,NOW()
,#{tId}
,#{tDate}
)
</insert>
<update id="deleteTreatmentProcedureArea" parameterType="hashmap">
UPDATE MU_TREATMENT_PROCEDURE_AREA
SET MOD_ID = #{modId}
,MOD_DATE = NOW()
,CUD_FLAG = 'D'
,USE_YN = 'N'
WHERE USE_YN = 'Y'
AND MU_TREATMENT_PROCEDURE_ID = #{muTreatmentProcedureId}
</update>
</mapper>

View File

@@ -0,0 +1,85 @@
<?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="WebTreatmentProcedureDoctor">
<select id="selectListTreatmentProcedureDoctor" parameterType="hashmap" resultType="hashmap">
SELECT MTPD.MU_TREATMENT_PROCEDURE_DOCTOR_ID AS "muTreatmentProcedureDoctorId"
,MTPD.MU_TREATMENT_PROCEDURE_ID AS "muTreatmentProcedureId"
,MTPD.ORDER_NUMBER AS "orderNumber"
,MTPD.MU_MEMBER_ID AS "muMemberId"
,IFNULL((SELECT MM.NAME
FROM MU_MEMBER AS MM
WHERE MM.USE_YN = 'Y'
AND MM.MU_MEMBER_ID = MTPD.MU_MEMBER_ID
LIMIT 0, 1
),'') AS "memberName"
,IFNULL((SELECT MG.GROUP_NAME
FROM MU_GROUP AS MG
INNER JOIN MU_MEMBER AS MM
ON MG.MU_GROUP_ID = MM.MU_GROUP_ID
AND MG.USE_YN = 'Y'
AND MM.USE_YN = 'Y'
WHERE MM.MU_MEMBER_ID = MTPD.MU_MEMBER_ID
LIMIT 0, 1
),'') AS "groupName"
FROM MU_TREATMENT_PROCEDURE_DOCTOR AS MTPD
WHERE MTPD.USE_YN = 'Y'
AND MTPD.MU_TREATMENT_PROCEDURE_ID = #{muTreatmentProcedureId}
</select>
<select id="checkTreatmentProcedureDoctor" parameterType="hashmap" resultType="hashmap">
SELECT count(*) AS "totalCount"
FROM MU_TREATMENT_PROCEDURE_DOCTOR AS MTPD
WHERE MTPD.USE_YN = 'Y'
AND MTPD.MU_TREATMENT_PROCEDURE_ID = #{muTreatmentProcedureId}
AND MTPD.MU_MEMBER_ID = #{muMemberId}
</select>
<insert id="insertTreatmentProcedureDoctor" parameterType="hashmap">
<selectKey resultType="string" keyProperty="id" order="BEFORE">
SELECT CONCAT(#{muTreatmentProcedureDoctorId},LPAD((SELECT NEXTVAL(MU_TREATMENT_PROCEDURE_DOCTOR_SEQ)), 9, 0))
</selectKey>
INSERT INTO MU_TREATMENT_PROCEDURE_DOCTOR(
MU_TREATMENT_PROCEDURE_DOCTOR_ID
,MU_TREATMENT_PROCEDURE_ID
,ORDER_NUMBER
,MU_MEMBER_ID
,WRITE_DATE
,WRITE_TIME
,CUD_FLAG
,USE_YN
,REG_ID
,REG_DATE
,MOD_ID
,MOD_DATE
,T_ID
,T_DATE
)VALUES(
#{id}
,#{muTreatmentProcedureId}
,#{orderNumber}
,#{muMemberId}
,CURDATE()
,CURTIME()
,'C'
,'Y'
,#{regId}
,NOW()
,#{modId}
,NOW()
,#{tId}
,#{tDate}
)
</insert>
<update id="deleteTreatmentProcedureDoctor" parameterType="hashmap">
UPDATE MU_TREATMENT_PROCEDURE_DOCTOR
SET MOD_ID = #{modId}
,MOD_DATE = NOW()
,CUD_FLAG = 'D'
,USE_YN = 'N'
WHERE USE_YN = 'Y'
AND MU_TREATMENT_PROCEDURE_ID = #{muTreatmentProcedureId}
</update>
</mapper>

View File

@@ -0,0 +1,73 @@
<?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="WebTreatmentProcedurePrice">
<select id="selectListTreatmentProcedurePrice" parameterType="hashmap" resultType="hashmap">
SELECT MTPP.MU_TREATMENT_PROCEDURE_PRICE_ID AS "muTreatmentProcedurePriceId"
,MTPP.MU_TREATMENT_PROCEDURE_ID AS "muTreatmentProcedureId"
,CASE INSURANCE_TYPE
WHEN 'Y' THEN '급여'
WHEN 'N' THEN '비급여'
ELSE ''
END AS "insuranceType"
,MTPP.PRICE AS "price"
,MTPP.VAT AS "vat"
,(MTPP.PRICE + MTPP.VAT ) AS "totalPrice"
,MTPP.DISCOUNT_PRICE AS "discountprice"
FROM MU_TREATMENT_PROCEDURE_PRICE AS MTPP
WHERE MTPP.USE_YN = 'Y'
AND MTPP.MU_TREATMENT_PROCEDURE_ID = #{muTreatmentProcedureId}
</select>
<insert id="insertTreatmentProcedurePrice" parameterType="hashmap">
<selectKey resultType="string" keyProperty="id" order="BEFORE">
SELECT CONCAT(#{muTreatmentProcedurePriceId},LPAD((SELECT NEXTVAL(MU_TREATMENT_PROCEDURE_PRICE_SEQ)), 9, 0))
</selectKey>
INSERT INTO MU_TREATMENT_PROCEDURE_PRICE(
MU_TREATMENT_PROCEDURE_PRICE_ID
,MU_TREATMENT_PROCEDURE_ID
,INSURANCE_TYPE
,PRICE
,VAT
,WRITE_DATE
,WRITE_TIME
,CUD_FLAG
,USE_YN
,REG_ID
,REG_DATE
,MOD_ID
,MOD_DATE
,T_ID
,T_DATE
,DISCOUNT_PRICE
)VALUES(
#{id}
,#{muTreatmentProcedureId}
,#{insuranceType}
,#{price}
,#{vat}
,CURDATE()
,CURTIME()
,'C'
,'Y'
,#{regId}
,NOW()
,#{modId}
,NOW()
,#{tId}
,#{tDate}
,#{discountprice}
)
</insert>
<update id="deleteTreatmentProcedurePrice" parameterType="hashmap">
UPDATE MU_TREATMENT_PROCEDURE_PRICE
SET MOD_ID = #{modId}
,MOD_DATE = NOW()
,CUD_FLAG = 'D'
,USE_YN = 'N'
WHERE USE_YN = 'Y'
AND MU_TREATMENT_PROCEDURE_ID = #{muTreatmentProcedureId}
</update>
</mapper>

View File

@@ -0,0 +1,163 @@
<?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="WebTreatmentProcedureProduct">
<select id="selectListTreatmentProcedureProduct" parameterType="hashmap" resultType="hashmap">
SELECT
MU_TREATMENT_PROCEDURE_PRODUCT_ID AS "muTreatmentProcedureId"
,ORDER_NUMBER AS "orderNumber"
,MU_PRODUCT_ID AS "muProductId"
,IFNULL(PRODUCT_NAME, '') AS "productName"
,price AS "price"
,IFNULL((SELECT MC.COMPANY_NAME
FROM MU_PRODUCT AS MP
INNER JOIN MU_COMPANY_PRODUCT MCP
ON MP.MU_PRODUCT_ID = MCP.MU_PRODUCT_ID
INNER JOIN MU_COMPANY MC
ON MC.MU_COMPANY_ID = MCP.MU_COMPANY_ID
AND MP.USE_YN = 'Y'
AND MCP.USE_YN = 'Y'
WHERE MP.MU_PRODUCT_ID = MTPP.MU_PRODUCT_ID
LIMIT 0, 1
),'') AS "companyName"
,IFNULL(VOLUME, '') AS "volume"
,IFNULL(useVOLUME, '') AS "useVolume"
,UNIT_CODE
,UNIT_NAME AS "unitName"
,useUnitName AS "useUnit"
FROM (
SELECT
MU_TREATMENT_PROCEDURE_PRODUCT_ID
,MTPP.ORDER_NUMBER
,MTPP.MU_PRODUCT_ID
,MTPP.PRODUCT_NAME
,MTPP.VOLUME AS "useVolume"
,MTPP.UNIT_CODE AS "useUnitCode"
,MTPP.UNIT_NAME AS "useUnitName"
,MP.VOLUME
,MP.UNIT_CODE
,MP.UNIT_NAME
,FORMAT(IFNULL(MSS.price,0),0) AS "price"
FROM MU_TREATMENT_PROCEDURE_PRODUCT MTPP
INNER JOIN MU_COMPANY_PRODUCT AS MCP
ON MTPP.MU_PRODUCT_ID = MCP.MU_PRODUCT_ID
LEFT JOIN MU_STOCK_SUM MSS
ON MTPP.MU_PRODUCT_ID = MSS.MU_PRODUCT_ID
AND MSS.USE_YN='Y'
LEFT JOIN MU_COMPANY AS MC
ON MC.MU_COMPANY_ID = MCP.MU_COMPANY_ID
LEFT JOIN MU_PRODUCT AS MP
ON MTPP.MU_PRODUCT_ID = MP.MU_PRODUCT_ID
WHERE MTPP.USE_YN = 'Y'
AND MTPP.MU_TREATMENT_PROCEDURE_ID = #{muTreatmentProcedureId}
GROUP BY MTPP.MU_PRODUCT_ID
) AS MTPP
WHERE 1 = 1
</select>
<select id="selectTreatmentProcedureProduct" parameterType="hashmap" resultType="hashmap">
SELECT MP.MU_TREATMENT_ID AS muTreatmentId
,CATEGORY_ITEM_NAME AS treatmentName
,MP.MU_PRODUCT_ID AS muProductId
,MP.PRODUCT_CODE AS productCode
,MP.PRODUCT_NAME AS productName
,MCP.MU_COMPANY_ID AS muCompanyId
,COMPANY_NAME AS companyName
,MTPP.VOLUME / MP.VOLUME AS useQuantity
,MU_STOCK_SUM_ID AS muStockSumId
,MU_STOCK_HISTORY_ID AS stockStockHistoryId
,MSS.PRICE AS price
,QUANTITY AS quantity
,CONCAT('고객명: ', USER_NAME, '/ 시술명: ', TREATMENT_PROCEDURE_NAME) AS etc
FROM MU_TREATMENT_PROCEDURE_PRODUCT MTPP
JOIN MU_TREATMENT_PROCEDURE MTP
ON MTPP.MU_TREATMENT_PROCEDURE_ID = MTP.MU_TREATMENT_PROCEDURE_ID
JOIN MU_COMPANY_PRODUCT MCP
ON MTPP.MU_PRODUCT_ID = MCP.MU_PRODUCT_ID
JOIN MU_PRODUCT MP
ON MTPP.MU_PRODUCT_ID = MP.MU_PRODUCT_ID
JOIN MU_CATEGORY_ITEM MCI
ON MP.MU_TREATMENT_ID = MCI.MU_CATEGORY_ITEM_ID
JOIN (
SELECT MU_PRODUCT_ID
, PRICE
, COMPANY_NAME
, REG_DATE
, MU_STOCK_HISTORY_ID
, MU_STOCK_SUM_ID
, QUANTITY
FROM MU_STOCK_SUM MSS
WHERE USE_YN = 'Y'
AND REG_DATE = (
SELECT MAX(REG_DATE)
FROM MU_STOCK_SUM
WHERE USE_YN = 'Y'
AND MU_PRODUCT_ID = MSS.MU_PRODUCT_ID
)
) MSS ON MP.MU_PRODUCT_ID = MSS.MU_PRODUCT_ID
JOIN MU_USER MU
ON MU.MU_USER_ID = #{muUserId}
WHERE MTPP.MU_TREATMENT_PROCEDURE_ID = #{muTreatmentProcedureId}
AND MTPP.USE_YN = 'Y'
AND MCP.USE_YN = 'Y'
AND MP.USE_YN = 'Y'
AND MU.USE_YN = 'Y'
AND MTP.USE_YN = 'Y'
</select>
<insert id="insertTreatmentProcedureProduct" parameterType="hashmap">
<selectKey resultType="string" keyProperty="id" order="BEFORE">
SELECT CONCAT(#{muTreatmentProcedureProductId},LPAD((SELECT NEXTVAL(MU_TREATMENT_PROCEDURE_PRODUCT_SEQ)), 9, 0))
</selectKey>
INSERT INTO MU_TREATMENT_PROCEDURE_PRODUCT(
MU_TREATMENT_PROCEDURE_PRODUCT_ID
,MU_TREATMENT_PROCEDURE_ID
,ORDER_NUMBER
,MU_PRODUCT_ID
,PRODUCT_NAME
,UNIT_CODE
,UNIT_NAME
,VOLUME
,WRITE_DATE
,WRITE_TIME
,CUD_FLAG
,USE_YN
,REG_ID
,REG_DATE
,MOD_ID
,MOD_DATE
,T_ID
,T_DATE
)VALUES(
#{id}
,#{muTreatmentProcedureId}
,#{orderNumber}
,#{muProductId}
,#{productName}
,#{unitCode}
,#{unitName}
,#{productUseVolume}
,CURDATE()
,CURTIME()
,'C'
,'Y'
,#{regId}
,NOW()
,#{modId}
,NOW()
,#{tId}
,#{tDate}
)
</insert>
<update id="deleteTreatmentProcedureProduct" parameterType="hashmap">
UPDATE MU_TREATMENT_PROCEDURE_PRODUCT
SET MOD_ID = #{modId}
,MOD_DATE = NOW()
,CUD_FLAG = 'D'
,USE_YN = 'N'
WHERE USE_YN = 'Y'
AND MU_TREATMENT_PROCEDURE_ID = #{muTreatmentProcedureId}
</update>
</mapper>

View File

@@ -0,0 +1,363 @@
<?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="WebTreatmentProcedure">
<select id="selectTotalTreatmentProcedureOptionCount" parameterType="hashMap" resultType="hashMap">
SELECT COUNT(*) AS "totalCount"
FROM MU_TREATMENT AS MT
INNER JOIN MU_TREATMENT_PROCEDURE AS MTP
ON MT.MU_TREATMENT_ID = MTP.MU_TREATMENT_ID
AND MT.USE_YN = 'Y'
AND MTP.USE_YN = 'Y'
</select>
<select id="selectListTreatmentProcedureOption" parameterType="hashMap" resultType="hashMap">
SELECT MTP.*
FROM (
SELECT MTP.*
,CAST(@RNUM:=@RNUM + 1 AS CHAR) AS "rowNum"
FROM (
SELECT MT.MU_TREATMENT_ID AS "muTreatmentId"
,MT.TREATMENT_NAME AS "treatmentName"
,MTP.MU_TREATMENT_PROCEDURE_ID AS "muTreatmentProcedureId"
,MTP.TREATMENT_PROCEDURE_NAME AS "treatmentProcedureName"
FROM MU_TREATMENT AS MT
INNER JOIN MU_TREATMENT_PROCEDURE AS MTP
ON MT.MU_TREATMENT_ID = MTP.MU_TREATMENT_ID
AND MT.USE_YN = 'Y'
AND MTP.USE_YN = 'Y'
AND MTP.ENABLE_YN = 'Y'
<if test="treatmentProcedureSearchKeywordParam != null and treatmentProcedureSearchKeywordParam != ''">
AND MTP.TREATMENT_PROCEDURE_NAME LIKE CONCAT('%',TRIM(#{treatmentProcedureSearchKeywordParam}),'%')
</if>
WHERE TREATMENT_NAME != '멤버십'
<choose>
<when test="treatmentProcedureSort != null and treatmentProcedureSort != ''">
ORDER BY ${treatmentProcedureSort}
</when>
<otherwise>
ORDER BY MT.ORDER_NUMBER ASC ,MTP.TREATMENT_PROCEDURE_NAME ASC
</otherwise>
</choose>
LIMIT 18446744073709551615
) MTP, (SELECT @RNUM:=0) R
WHERE 1 = 1
) MTP
WHERE 1 = 1
LIMIT ${treatmentProcedureStart}, ${treatmentProcedureLimit}
</select>
<select id="selectListTreatmentProcedureOption2" parameterType="hashMap" resultType="hashMap">
SELECT MT.MU_TREATMENT_ID AS "muTreatmentId"
,MT.TREATMENT_NAME AS "treatmentName"
,MTP.MU_TREATMENT_PROCEDURE_ID AS "muTreatmentProcedureId"
,MTP.TREATMENT_PROCEDURE_NAME AS "treatmentProcedureName"
FROM MU_TREATMENT AS MT
INNER JOIN MU_TREATMENT_PROCEDURE AS MTP
ON MT.MU_TREATMENT_ID = MTP.MU_TREATMENT_ID
AND MT.USE_YN = 'Y'
AND MTP.USE_YN = 'Y'
AND MTP.ENABLE_YN = 'Y'
AND MT.MU_TREATMENT_ID IN (${muTreatmentIdList})
WHERE TREATMENT_NAME != '멤버십'
ORDER BY MT.ORDER_NUMBER ASC ,MTP.TREATMENT_PROCEDURE_NAME ASC
</select>
<select id="selectListTreatmentProcedureOption3" parameterType="hashMap" resultType="hashMap">
SELECT MT.MU_TREATMENT_ID AS "muTreatmentId"
,MT.TREATMENT_NAME AS "treatmentName"
,MTP.MU_TREATMENT_PROCEDURE_ID AS "muTreatmentProcedureId"
,MTP.TREATMENT_PROCEDURE_NAME AS "treatmentProcedureName"
FROM MU_TREATMENT AS MT
INNER JOIN MU_TREATMENT_PROCEDURE AS MTP
ON MT.MU_TREATMENT_ID = MTP.MU_TREATMENT_ID
AND MT.USE_YN = 'Y'
AND MTP.USE_YN = 'Y'
AND MTP.ENABLE_YN = 'Y'
WHERE TREATMENT_NAME != '멤버십'
ORDER BY MT.ORDER_NUMBER ASC ,MTP.TREATMENT_PROCEDURE_NAME ASC
</select>
<select id="selectTotalTreatmentProcedureCount" parameterType="hashmap" resultType="hashmap">
SELECT COUNT(*) AS "totalCount"
FROM (
SELECT MTP.MU_TREATMENT_PROCEDURE_ID
FROM MU_TREATMENT_PROCEDURE MTP
LEFT JOIN MU_TREATMENT_PROCEDURE_PRODUCT MTPP
ON MTP.MU_TREATMENT_PROCEDURE_ID = MTPP.MU_TREATMENT_PROCEDURE_ID
AND MTPP.USE_YN = 'Y'
WHERE MTP.USE_YN = 'Y'
AND MTP.MU_TREATMENT_ID = #{muTreatmentId}
GROUP BY MTP.MU_TREATMENT_PROCEDURE_ID, MTP.TREATMENT_PROCEDURE_NAME
<if test="treatmentProcedureSearchKeywordParam != null and treatmentProcedureSearchKeywordParam != ''">
HAVING (
MTP.TREATMENT_PROCEDURE_NAME LIKE CONCAT('%', TRIM(#{treatmentProcedureSearchKeywordParam}), '%')
OR IFNULL(GROUP_CONCAT(MTPP.PRODUCT_NAME SEPARATOR ', '), '') LIKE CONCAT('%', TRIM(#{treatmentProcedureSearchKeywordParam}), '%')
OR IFNULL((SELECT GROUP_CONCAT(MM.NAME)
FROM MU_TREATMENT_PROCEDURE_DOCTOR AS MTPD
INNER JOIN MU_MEMBER AS MM
ON MM.MU_MEMBER_ID = MTPD.MU_MEMBER_ID
AND MM.USE_YN = 'Y'
AND MTPD.USE_YN = 'Y'
WHERE MTPD.MU_TREATMENT_PROCEDURE_ID = MTP.MU_TREATMENT_PROCEDURE_ID
), '') LIKE CONCAT('%', TRIM(#{treatmentProcedureSearchKeywordParam}), '%')
)
</if>
) AS MTP
</select>
<select id="selectListTreatmentProcedure" parameterType="hashmap" resultType="hashmap">
SELECT MTP.*
FROM (
SELECT MTP.*
,CAST(@RNUM:=@RNUM + 1 AS CHAR) AS "rowNum"
FROM (
SELECT MU_TREATMENT_PROCEDURE_ID AS "muTreatmentProcedureId"
,MU_TREATMENT_ID AS "muTreatmentId"
,TREATMENT_PROCEDURE_NAME AS "procedureName"
,MU_PRODUCT_ID AS "muProductId"
,PRODUCT_NAME AS "productName"
,PRODUCT_VOLUME AS "productVolume"
,FORMAT(PROCEDURE_PRICE, 0) AS "procedurePrice"
,FORMAT(PROCEDURE_PRICE_VAT, 0) AS "procedurePriceVat"
,FORMAT(ADDITIONAL_AMOUNT, 0) AS "additionalAmount"
,FORMAT(
(PROCEDURE_PRICE_VAT
+PROCEDURE_PRICE), 0) AS "procedurePriceTotal"
,INSURANCE_TYPE AS "insuranceType"
,DOCTOR_NAME AS "doctorName"
,ENABLE_YN AS "enableYn"
,DATE_FORMAT(WRITE_DATE, '%Y-%m-%d') AS "writeDate"
FROM (
SELECT MTP.MU_TREATMENT_PROCEDURE_ID
,MTP.MU_TREATMENT_ID
,MTP.TREATMENT_PROCEDURE_NAME
,GROUP_CONCAT(MTPP.MU_PRODUCT_ID) AS MU_PRODUCT_ID
,IFNULL((GROUP_CONCAT(MTPP.PRODUCT_NAME SEPARATOR ', ')
),'') AS PRODUCT_NAME
,IFNULL((GROUP_CONCAT(CONCAT(MTPP.VOLUME,MTPP.UNIT_NAME) SEPARATOR ', ')
),'') AS PRODUCT_VOLUME
,IFNULL((SELECT SUM(MTPP.PRICE)
FROM MU_TREATMENT_PROCEDURE_PRICE AS MTPP
WHERE MTPP.USE_YN = 'Y'
AND MTPP.MU_TREATMENT_PROCEDURE_ID = MTP.MU_TREATMENT_PROCEDURE_ID
),0) AS PROCEDURE_PRICE
,IFNULL((SELECT SUM(MTPP.VAT)
FROM MU_TREATMENT_PROCEDURE_PRICE AS MTPP
WHERE MTPP.USE_YN = 'Y'
AND MTPP.MU_TREATMENT_PROCEDURE_ID = MTP.MU_TREATMENT_PROCEDURE_ID
),0) AS PROCEDURE_PRICE_VAT
,IFNULL((SELECT
CASE INSURANCE_TYPE
WHEN 'Y' THEN '급여'
WHEN 'N' THEN '비급여'
ELSE ''
END
FROM MU_TREATMENT_PROCEDURE_PRICE AS MTPP
WHERE MTPP.USE_YN = 'Y'
AND MTPP.MU_TREATMENT_PROCEDURE_ID = MTP.MU_TREATMENT_PROCEDURE_ID
),0) AS INSURANCE_TYPE
,IFNULL((SELECT GROUP_CONCAT(MM.NAME)
FROM MU_TREATMENT_PROCEDURE_DOCTOR AS MTPD
INNER JOIN MU_MEMBER AS MM
ON MM.MU_MEMBER_ID = MTPD.MU_MEMBER_ID
AND MM.USE_YN = 'Y'
AND MTPD.USE_YN = 'Y'
WHERE MTPD.MU_TREATMENT_PROCEDURE_ID = MTP.MU_TREATMENT_PROCEDURE_ID
),'') AS DOCTOR_NAME
,IFNULL((SELECT SUM(MTPP.ADDITIONAL_AMOUNT)
FROM MU_TREATMENT_PROCEDURE_PRICE AS MTPP
WHERE MTPP.USE_YN = 'Y'
AND MTPP.MU_TREATMENT_PROCEDURE_ID = MTP.MU_TREATMENT_PROCEDURE_ID
),0) AS ADDITIONAL_AMOUNT
,MTP.ENABLE_YN
,MTP.WRITE_DATE
FROM MU_TREATMENT_PROCEDURE MTP
LEFT JOIN MU_TREATMENT_PROCEDURE_PRODUCT MTPP
ON MTP.MU_TREATMENT_PROCEDURE_ID = MTPP.MU_TREATMENT_PROCEDURE_ID
AND MTPP.USE_YN='Y'
WHERE MTP.USE_YN = 'Y'
AND MTP.MU_TREATMENT_ID = #{muTreatmentId}
GROUP BY
MTP.MU_TREATMENT_PROCEDURE_ID, MTP.TREATMENT_PROCEDURE_NAME
) AS MTP
WHERE 1=1
<if test="treatmentProcedureSearchKeywordParam != null and treatmentProcedureSearchKeywordParam != ''">
AND ((TREATMENT_PROCEDURE_NAME LIKE CONCAT('%',TRIM(#{treatmentProcedureSearchKeywordParam}),'%'))
OR (PRODUCT_NAME LIKE CONCAT('%',TRIM(#{treatmentProcedureSearchKeywordParam}),'%'))
OR (DOCTOR_NAME LIKE CONCAT('%',TRIM(#{treatmentProcedureSearchKeywordParam}),'%')))
</if>
<choose>
<when test="treatmentProcedureSort != null and treatmentProcedureSort != ''">
ORDER BY ${treatmentProcedureSort}
</when>
<otherwise>
ORDER BY ENABLE_YN DESC, WRITE_DATE DESC
</otherwise>
</choose>
LIMIT 18446744073709551615
) MTP, (SELECT @RNUM:=0) R
WHERE 1 = 1
) MTP
WHERE 1 = 1
<if test="treatmentProcedureStart != null and treatmentProcedureStart != ''">
LIMIT ${treatmentProcedureStart}, ${treatmentProcedureLimit}
</if>
</select>
<select id="selectTreatmentProcedureCount" parameterType="hashmap" resultType="Integer">
SELECT COUNT(1)
FROM (
SELECT GROUP_CONCAT(IF(PRODUCT_NAME='',NULL,PRODUCT_NAME)
ORDER BY PRODUCT_NAME SEPARATOR ', ') AS productNames
,GROUP_CONCAT(IF(UNIT_NAME='',NULL,UNIT_NAME)
ORDER BY UNIT_NAME SEPARATOR ', ') AS unitNames
,GROUP_CONCAT(IF(VOLUME='',NULL,VOLUME)
ORDER BY PRODUCT_NAME SEPARATOR ', ') AS volumes
FROM MU_TREATMENT_PROCEDURE MTP
JOIN MU_TREATMENT_PROCEDURE_PRICE MTPP
ON MTP.MU_TREATMENT_PROCEDURE_ID = MTPP.MU_TREATMENT_PROCEDURE_ID
AND MTPP.USE_YN='Y'
LEFT JOIN MU_TREATMENT_PROCEDURE_PRODUCT MTPP2
ON MTPP2.MU_TREATMENT_PROCEDURE_ID = MTP.MU_TREATMENT_PROCEDURE_ID
AND MTPP2.USE_YN='Y'
WHERE MTP.USE_YN='Y'
AND MTP.TREATMENT_PROCEDURE_NAME =#{procedureName}
AND INSURANCE_TYPE = #{insuranceType}
AND PRICE = #{price}
AND VAT = #{vat}
GROUP BY MTP.MU_TREATMENT_PROCEDURE_ID
, MTP.TREATMENT_PROCEDURE_NAME
, INSURANCE_TYPE
, PRICE
, VAT
HAVING 1=1
<if test="productNames != null and productNames != ''">
AND productNames = #{productNames}
</if>
<if test="volumes != null and volumes != ''">
AND volumes = #{volumes}
</if>
<if test="unitNames != null and unitNames != ''">
AND unitNames = #{unitNames}
</if>
)AS MTP
</select>
<select id="selectTreatmentProcedure" parameterType="hashmap" resultType="hashmap">
SELECT MU_TREATMENT_PROCEDURE_ID AS "muTreatmentProcedureId"
,MU_TREATMENT_ID AS "muTreatmentId"
,TREATMENT_PROCEDURE_NAME AS "procedureName"
,ENABLE_YN AS "enableYn"
,DATE_FORMAT(WRITE_DATE, '%Y-%m-%d') AS "writeDate"
FROM (
SELECT MTP.MU_TREATMENT_PROCEDURE_ID
,MTP.MU_TREATMENT_ID
,MTP.TREATMENT_PROCEDURE_NAME
,MTP.ENABLE_YN
,MTP.WRITE_DATE
FROM MU_TREATMENT_PROCEDURE AS MTP
LEFT OUTER JOIN MU_TREATMENT_PROCEDURE_PRODUCT AS MP
ON MTP.MU_TREATMENT_PROCEDURE_ID = MP.MU_TREATMENT_PROCEDURE_ID
AND MP.USE_YN = 'Y'
WHERE MTP.USE_YN = 'Y'
AND MTP.MU_TREATMENT_PROCEDURE_ID = #{muTreatmentProcedureId}
) AS MTP
WHERE 1 = 1
LIMIT 0, 1
</select>
<select id="selectTreatmentProcedure2" parameterType="hashmap" resultType="hashmap">
SELECT MTP.MU_TREATMENT_PROCEDURE_ID AS "muTreatmentProcedureId"
,MTP.TREATMENT_PROCEDURE_NAME AS "treatmentProcedureName"
,MT.MU_TREATMENT_ID AS "muTreatmentId"
,MT.TREATMENT_NAME AS "treatmentName"
FROM MU_TREATMENT AS MT
INNER JOIN MU_TREATMENT_PROCEDURE AS MTP
ON MT.MU_TREATMENT_ID = MTP.MU_TREATMENT_ID
AND MT.USE_YN = 'Y'
AND MTP.USE_YN = 'Y'
AND MTP.ENABLE_YN = 'Y'
AND MTP.MU_TREATMENT_PROCEDURE_ID = #{muTreatmentProcedureId}
LIMIT 0, 1
</select>
<insert id="insertTreatmentProcedure" parameterType="hashmap">
<selectKey resultType="string" keyProperty="id" order="BEFORE">
SELECT CONCAT(#{muTreatmentProcedureId},LPAD((SELECT NEXTVAL(MU_TREATMENT_PROCEDURE_SEQ)), 10, 0))
</selectKey>
INSERT INTO MU_TREATMENT_PROCEDURE(
MU_TREATMENT_PROCEDURE_ID
,MU_TREATMENT_ID
,TREATMENT_PROCEDURE_NAME
,ENABLE_YN
,WRITE_DATE
,WRITE_TIME
,CUD_FLAG
,USE_YN
,REG_ID
,REG_DATE
,MOD_ID
,MOD_DATE
,T_ID
,T_DATE
)VALUES(
#{id}
,#{muTreatmentId}
,#{procedureName}
,#{enableYn}
,CURDATE()
,CURTIME()
,'C'
,'Y'
,#{regId}
,NOW()
,#{modId}
,NOW()
,#{tId}
,#{tDate}
)
</insert>
<select id="selectTreatmentProdureNumber" resultType="String">
select CONCAT('TP', DATE_FORMAT(NOW(), '%Y%m%d'), '-', LPAD(IFNULL(MAX(SUBSTRING(MU_TREATMENT_PROCEDURE_NUMBER, 11)) + 1, 1), 3, '0')) AS number
FROM MU_TREATMENT_PROCEDURE AS MTP
WHERE MU_TREATMENT_PROCEDURE_NUMBER LIKE CONCAT('TP', DATE_FORMAT(NOW(), '%Y%m%d'), '%')
</select>
<update id="updateTreatmentProcedure" parameterType="hashmap">
UPDATE MU_TREATMENT_PROCEDURE
SET MOD_ID = #{modId}
,MOD_DATE = NOW()
,CUD_FLAG = 'U'
,TREATMENT_PROCEDURE_NAME = #{procedureName}
WHERE USE_YN = 'Y'
AND MU_TREATMENT_PROCEDURE_ID = #{muTreatmentProcedureId}
</update>
<update id="updateTreatmentProcedureEnableYn" parameterType="hashmap">
UPDATE MU_TREATMENT_PROCEDURE
SET MOD_ID = #{modId}
,MOD_DATE = NOW()
,CUD_FLAG = 'U'
,ENABLE_YN = #{enableYn}
WHERE USE_YN = 'Y'
AND MU_TREATMENT_PROCEDURE_ID = #{muTreatmentProcedureId}
</update>
<update id="updateTreatmentProcedureTreatmentId" parameterType="hashmap">
UPDATE MU_TREATMENT_PROCEDURE
SET MOD_ID = #{modId}
,MOD_DATE = NOW()
,CUD_FLAG = 'U'
,MU_TREATMENT_ID = #{muTreatmentId}
WHERE USE_YN = 'Y'
AND MU_TREATMENT_PROCEDURE_ID = #{muTreatmentProcedureId}
</update>
<update id="deleteTreatmentProcedure" parameterType="hashmap">
UPDATE MU_TREATMENT_PROCEDURE
SET MOD_ID = #{modId}
,MOD_DATE = NOW()
,CUD_FLAG = 'D'
,USE_YN = 'N'
WHERE USE_YN = 'Y'
AND MU_TREATMENT_PROCEDURE_ID = #{muTreatmentProcedureId}
</update>
</mapper>

View File

@@ -0,0 +1,135 @@
<?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="WebTreatment">
<select id="selectListTreatmentOption" parameterType="hashMap" resultType="hashMap">
SELECT MT.MU_TREATMENT_ID AS "muTreatmentId"
,MT.TREATMENT_NAME AS "treatmentName"
FROM MU_TREATMENT AS MT
WHERE MT.USE_YN = 'Y'
AND MT.TREATMENT_NAME != '멤버십'
ORDER BY MT.ORDER_NUMBER ASC
</select>
<select id="selectListTreatmentOption2" parameterType="hashMap" resultType="hashMap">
SELECT MT.MU_TREATMENT_ID AS "muTreatmentId"
,MT.TREATMENT_NAME AS "treatmentName"
FROM MU_TREATMENT AS MT
WHERE MT.USE_YN = 'Y'
AND MT.MU_TREATMENT_ID != 'T172059821942700000000019'
ORDER BY MT.ORDER_NUMBER ASC
</select>
<select id="selectMembershipOption" parameterType="hashmap" resultType="hashmap">
SELECT MT.MU_TREATMENT_ID AS "muTreatmentId"
,MT.TREATMENT_NAME AS "treatmentName"
,MT.ORDER_NUMBER AS "orderNumber"
FROM MU_TREATMENT AS MT
WHERE MT.USE_YN = 'Y'
AND MT.TREATMENT_NAME = '멤버십'
LIMIT 0, 1
</select>
<select id="selectTotalTreatmentCount" parameterType="hashmap" resultType="hashmap">
SELECT COUNT(*) AS "totalCount"
FROM MU_TREATMENT AS MT
WHERE MT.USE_YN = 'Y'
</select>
<select id="selectListTreatment" parameterType="hashmap" resultType="hashmap">
SELECT MT.*
FROM (
SELECT MT.*
,CAST(@RNUM:=@RNUM + 1 AS CHAR) AS "rowNum"
FROM (
SELECT MT.MU_TREATMENT_ID AS "muTreatmentId"
,MT.TREATMENT_NAME AS "treatmentName"
,(SELECT COUNT(*)
FROM MU_TREATMENT_PROCEDURE AS MTP
WHERE MTP.USE_YN = 'Y'
AND MTP.MU_TREATMENT_ID = MT.MU_TREATMENT_ID
) AS "procedureCount"
FROM MU_TREATMENT AS MT
WHERE MT.USE_YN = 'Y'
AND MT.TREATMENT_NAME !='멤버십'
ORDER BY MT.ORDER_NUMBER ASC
LIMIT 18446744073709551615
) MT, (SELECT @RNUM:=0) R
WHERE 1 = 1
) MT
WHERE 1 = 1
</select>
<select id="selectTreatment" parameterType="hashmap" resultType="hashmap">
SELECT MT.MU_TREATMENT_ID AS "muTreatmentId"
,MT.TREATMENT_NAME AS "treatmentName"
,MT.ORDER_NUMBER AS "orderNumber"
FROM MU_TREATMENT AS MT
WHERE MT.USE_YN = 'Y'
AND MT.MU_TREATMENT_ID = #{muTreatmentId}
LIMIT 0, 1
</select>
<select id="selectTreatmentOrderNumber" parameterType="hashmap" resultType="hashmap">
SELECT IFNULL(MAX(MT.ORDER_NUMBER), 1) AS "orderNumber"
FROM MU_TREATMENT AS MT
WHERE MT.USE_YN = 'Y'
AND MT.MU_TREATMENT_ID = #{muTreatmentId}
</select>
<insert id="insertTreatment" parameterType="hashmap">
<selectKey resultType="string" keyProperty="id" order="BEFORE">
SELECT CONCAT(#{muTreatmentId},LPAD((SELECT NEXTVAL(MU_TREATMENT_SEQ)), 11, 0))
</selectKey>
INSERT INTO MU_TREATMENT(
MU_TREATMENT_ID
,ORDER_NUMBER
,TREATMENT_NAME
,WRITE_DATE
,WRITE_TIME
,CUD_FLAG
,USE_YN
,REG_ID
,REG_DATE
,MOD_ID
,MOD_DATE
,T_ID
,T_DATE
)VALUES(
#{id}
,(SELECT IFNULL(MAX(MT.ORDER_NUMBER), 1)
FROM MU_TREATMENT AS MT
WHERE MT.USE_YN = 'Y'
)
,#{treatmentName}
,CURDATE()
,CURTIME()
,'C'
,'Y'
,#{regId}
,NOW()
,#{modId}
,NOW()
,#{tId}
,#{tDate}
)
</insert>
<update id="deleteTreatmentOrderNumber" parameterType="hashmap">
UPDATE MU_TREATMENT
SET MOD_ID = #{modId}
,MOD_DATE = NOW()
,CUD_FLAG = 'U'
,ORDER_NUMBER = #{orderNumber}
WHERE USE_YN = 'Y'
AND MU_TREATMENT_ID = #{muTreatmentId}
</update>
<update id="deleteTreatment" parameterType="hashmap">
UPDATE MU_TREATMENT
SET MOD_ID = #{modId}
,MOD_DATE = NOW()
,CUD_FLAG = 'D'
,USE_YN = 'N'
WHERE USE_YN = 'Y'
AND MU_TREATMENT_ID = #{muTreatmentId}
</update>
</mapper>

View File

@@ -0,0 +1,443 @@
<?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="WebUserConsultingChart">
<select id="selectTotalUserConsultingChartCount" parameterType="hashmap" resultType="hashmap">
SELECT COUNT(*) AS "totalCount"
FROM (
SELECT MR.MU_RESERVE_ID
,MR.USER_NAME
,MR.PHONE_NUMBER
,MR.MU_USER_ID
,MR.RESERVE_DATE
,MR.RESERVE_TIME
,MR.RESERVE_CATEGORY_ITEM_ID
,MR.RESERVE_CATEGORY_ITEM_NAME
,MR.MU_TREATMENT_ID
,MR.TREATMENT_NAME
,MR.MU_TREATMENT_PROCEDURE_ID
,MR.TREATMENT_PROCEDURE_NAME
,MR.RESERVE_MEMBER_ID
,IFNULL((SELECT MM.NAME
FROM MU_MEMBER AS MM
WHERE MM.MU_MEMBER_ID = MR.RESERVE_MEMBER_ID
LIMIT 0, 1
), '') AS RESERVE_MEMBER_NAME
,MR.ETC
,MUCC.MU_USER_CONSULTING_CHART_ID
,MUCC.CHART_NUMBER
,MUCC.CONTENT
,MUCC.WRITE_MEMBER_ID
,IFNULL((SELECT MM.NAME
FROM MU_MEMBER AS MM
WHERE MM.MU_MEMBER_ID = MUCC.WRITE_MEMBER_ID
LIMIT 0, 1
), '') AS WRITE_MEMBER_NAME
,MUCC.WRITE_DATE
FROM MU_RESERVE AS MR
INNER JOIN MU_USER_CONSULTING_CHART AS MUCC
ON MR.MU_RESERVE_ID = MUCC.MU_RESERVE_ID
AND MR.USE_YN = 'Y'
AND MUCC.USE_YN = 'Y'
AND MUCC.MU_USER_ID = #{muUserId}
<if test="muTreatmentId != null and muTreatmentId != ''">
AND MR.MU_TREATMENT_ID = #{muTreatmentId}
</if>
<if test="muTreatmentProcedureId != null and muTreatmentProcedureId != ''">
AND MR.MU_TREATMENT_PROCEDURE_ID = #{muTreatmentProcedureId}
</if>
) AS MR
WHERE 1=1
<if test="searchKeywordParam != null and searchKeywordParam != ''">
AND (WRITE_MEMBER_NAME LIKE CONCAT('%',TRIM(#{searchKeywordParam}),'%')
OR CHART_NUMBER LIKE CONCAT('%',TRIM(#{searchKeywordParam}),'%'))
</if>
</select>
<select id="selectListUserConsultingChart" parameterType="hashmap" resultType="hashmap">
SELECT MR.*
FROM (
SELECT MR.*
,CAST(@RNUM:=@RNUM + 1 AS CHAR) AS "rowNum"
FROM (
SELECT MU_RESERVE_ID AS "muReserveId"
,USER_NAME AS "userName"
,PHONE_NUMBER AS "phoneNumber"
,MU_USER_ID AS "muUserId"
,DATE_FORMAT(RESERVE_DATE,'%Y-%m-%d') AS "reserveDate"
,DATE_FORMAT(RESERVE_TIME, '%H:%i') AS "reserveTime"
,RESERVE_CATEGORY_ITEM_ID AS "reserveCategoryItemId"
,RESERVE_CATEGORY_ITEM_NAME AS "reserveCategoryItemName"
,MU_TREATMENT_ID AS "muTreatmentId"
,TREATMENT_NAME AS "treatmentName"
,MU_TREATMENT_PROCEDURE_ID AS "muTreatmentProcedureId"
,TREATMENT_PROCEDURE_NAME AS "treatmentProcedureName"
,RESERVE_MEMBER_ID AS "reserveMemberId"
,RESERVE_MEMBER_NAME AS "reserveMemberName"
,MU_USER_CONSULTING_CHART_ID AS "muUserConsultingChartId"
,IFNULL(CHART_NUMBER, '') AS "chartNumber"
,IFNULL(CONTENT, '') AS "content"
,IFNULL(ETC, '') AS "etc"
,CASE STATUS
WHEN 'T' THEN '예약'
WHEN 'TN' THEN '예약취소'
WHEN 'R' THEN '접수'
WHEN 'RN' THEN '접수취소'
WHEN 'G' THEN '진료중'
WHEN 'Y' THEN '진료완료'
ELSE ''
END AS "statusName"
,WRITE_MEMBER_ID AS "writeMemberId"
,WRITE_MEMBER_NAME AS "writeMemberName"
,DATE_FORMAT(WRITE_DATE,'%Y-%m-%d') AS "writeDate"
,IFNULL((SELECT MU.ETC
FROM MU_USER AS MU
WHERE MU.MU_USER_ID = MR.MU_USER_ID
LIMIT 0, 1
), '') AS "userEtc"
FROM (
SELECT MR.MU_RESERVE_ID
,MR.USER_NAME
,MR.PHONE_NUMBER
,MR.MU_USER_ID
,MR.RESERVE_DATE
,MR.RESERVE_TIME
,MR.RESERVE_CATEGORY_ITEM_ID
,MR.RESERVE_CATEGORY_ITEM_NAME
,MR.MU_TREATMENT_ID
,MR.TREATMENT_NAME
,MR.MU_TREATMENT_PROCEDURE_ID
,MR.TREATMENT_PROCEDURE_NAME
,MR.RESERVE_MEMBER_ID
,IFNULL((SELECT MM.NAME
FROM MU_MEMBER AS MM
WHERE MM.MU_MEMBER_ID = MR.RESERVE_MEMBER_ID
LIMIT 0, 1
), '') AS RESERVE_MEMBER_NAME
,MR.ETC
,MR.STATUS
,MUCC.MU_USER_CONSULTING_CHART_ID
,MUCC.CHART_NUMBER
,MUCC.CONTENT
,MUCC.WRITE_MEMBER_ID
,IFNULL((SELECT MM.NAME
FROM MU_MEMBER AS MM
WHERE MM.MU_MEMBER_ID = MUCC.WRITE_MEMBER_ID
LIMIT 0, 1
), '') AS WRITE_MEMBER_NAME
,MUCC.WRITE_DATE
,MUCC.WRITE_TIME
FROM MU_RESERVE AS MR
INNER JOIN MU_USER_CONSULTING_CHART AS MUCC
ON MR.MU_RESERVE_ID = MUCC.MU_RESERVE_ID
AND MR.USE_YN = 'Y'
AND MUCC.USE_YN = 'Y'
AND MUCC.MU_USER_ID = #{muUserId}
<if test="muTreatmentId != null and muTreatmentId != ''">
AND MR.MU_TREATMENT_ID = #{muTreatmentId}
</if>
<if test="muTreatmentProcedureId != null and muTreatmentProcedureId != ''">
AND MR.MU_TREATMENT_PROCEDURE_ID = #{muTreatmentProcedureId}
</if>
) AS MR
WHERE 1=1
<if test="searchKeywordParam != null and searchKeywordParam != ''">
AND (WRITE_MEMBER_NAME LIKE CONCAT('%',TRIM(#{searchKeywordParam}),'%')
OR CHART_NUMBER LIKE CONCAT('%',TRIM(#{searchKeywordParam}),'%'))
</if>
<choose>
<when test="sort != null and sort != ''">
ORDER BY ${sort}
</when>
<otherwise>
ORDER BY MR.RESERVE_DATE DESC, MR.RESERVE_TIME DESC, MR.WRITE_DATE DESC, MR.WRITE_TIME DESC
</otherwise>
</choose>
LIMIT 18446744073709551615
) MR, (SELECT @RNUM:=0) R
WHERE 1 = 1
) MR
WHERE 1 = 1
LIMIT ${start}, ${limit}
</select>
<select id="selectListUserConsultingChartExcel" parameterType="hashmap" resultType="hashmap">
SELECT MR.*
FROM (
SELECT MR.*
,CAST(@RNUM:=@RNUM + 1 AS CHAR) AS "rowNum"
FROM (
SELECT MU_RESERVE_ID AS "muReserveId"
,USER_NAME AS "userName"
,PHONE_NUMBER AS "phoneNumber"
,MU_USER_ID AS "muUserId"
,DATE_FORMAT(RESERVE_DATE,'%Y-%m-%d') AS "reserveDate"
,DATE_FORMAT(RESERVE_TIME, '%H:%i') AS "reserveTime"
,RESERVE_CATEGORY_ITEM_ID AS "reserveCategoryItemId"
,RESERVE_CATEGORY_ITEM_NAME AS "reserveCategoryItemName"
,MU_TREATMENT_ID AS "muTreatmentId"
,TREATMENT_NAME AS "treatmentName"
,MU_TREATMENT_PROCEDURE_ID AS "muTreatmentProcedureId"
,TREATMENT_PROCEDURE_NAME AS "treatmentProcedureName"
,RESERVE_MEMBER_ID AS "reserveMemberId"
,RESERVE_MEMBER_NAME AS "reserveMemberName"
,MU_USER_CONSULTING_CHART_ID AS "muUserConsultingChartId"
,IFNULL(CHART_NUMBER, '') AS "chartNumber"
,IFNULL(CONTENT, '') AS "content"
,IFNULL(ETC, '') AS "etc"
,CASE STATUS
WHEN 'T' THEN '예약'
WHEN 'TN' THEN '예약취소'
WHEN 'R' THEN '접수'
WHEN 'RN' THEN '접수취소'
WHEN 'G' THEN '진료중'
WHEN 'Y' THEN '진료완료'
ELSE ''
END AS "statusName"
,WRITE_MEMBER_ID AS "writeMemberId"
,WRITE_MEMBER_NAME AS "writeMemberName"
,DATE_FORMAT(WRITE_DATE,'%Y-%m-%d') AS "writeDate"
,IFNULL((SELECT MU.ETC
FROM MU_USER AS MU
WHERE MU.MU_USER_ID = MR.MU_USER_ID
LIMIT 0, 1
), '') AS "userEtc"
FROM (
SELECT MR.MU_RESERVE_ID
,MR.USER_NAME
,MR.PHONE_NUMBER
,MR.MU_USER_ID
,MR.RESERVE_DATE
,MR.RESERVE_TIME
,MR.RESERVE_CATEGORY_ITEM_ID
,MR.RESERVE_CATEGORY_ITEM_NAME
,MR.MU_TREATMENT_ID
,MR.TREATMENT_NAME
,MR.MU_TREATMENT_PROCEDURE_ID
,MR.TREATMENT_PROCEDURE_NAME
,MR.RESERVE_MEMBER_ID
,IFNULL((SELECT MM.NAME
FROM MU_MEMBER AS MM
WHERE MM.MU_MEMBER_ID = MR.RESERVE_MEMBER_ID
LIMIT 0, 1
), '') AS RESERVE_MEMBER_NAME
,MR.ETC
,MR.STATUS
,MUCC.MU_USER_CONSULTING_CHART_ID
,MUCC.CHART_NUMBER
,MUCC.CONTENT
,MUCC.WRITE_MEMBER_ID
,IFNULL((SELECT MM.NAME
FROM MU_MEMBER AS MM
WHERE MM.MU_MEMBER_ID = MUCC.WRITE_MEMBER_ID
LIMIT 0, 1
), '') AS WRITE_MEMBER_NAME
,MUCC.WRITE_DATE
,MUCC.WRITE_TIME
FROM MU_RESERVE AS MR
INNER JOIN MU_USER_CONSULTING_CHART AS MUCC
ON MR.MU_RESERVE_ID = MUCC.MU_RESERVE_ID
AND MR.USE_YN = 'Y'
AND MUCC.USE_YN = 'Y'
AND MUCC.MU_USER_ID = #{muUserId}
<if test="muTreatmentId != null and muTreatmentId != ''">
AND MR.MU_TREATMENT_ID = #{muTreatmentId}
</if>
<if test="muTreatmentProcedureId != null and muTreatmentProcedureId != ''">
AND MR.MU_TREATMENT_PROCEDURE_ID = #{muTreatmentProcedureId}
</if>
) AS MR
WHERE 1=1
<if test="searchKeywordParam != null and searchKeywordParam != ''">
AND (WRITE_MEMBER_NAME LIKE CONCAT('%',TRIM(#{searchKeywordParam}),'%')
OR CHART_NUMBER LIKE CONCAT('%',TRIM(#{searchKeywordParam}),'%'))
</if>
<choose>
<when test="sort != null and sort != ''">
ORDER BY ${sort}
</when>
<otherwise>
ORDER BY MR.RESERVE_DATE DESC, MR.RESERVE_TIME DESC, MR.WRITE_DATE DESC, MR.WRITE_TIME DESC
</otherwise>
</choose>
LIMIT 18446744073709551615
) MR, (SELECT @RNUM:=0) R
WHERE 1 = 1
) MR
WHERE 1 = 1
</select>
<select id="selectListUserConsultingChartTop5" parameterType="hashmap" resultType="hashmap">
SELECT MUCC.MU_USER_CONSULTING_CHART_ID AS "muUserConsultingChartId"
,MR.MU_RESERVE_ID AS "muReserveId"
,DATE_FORMAT(MR.RESERVE_DATE,'%Y-%m-%d') AS "reserveDate"
,DATE_FORMAT(MR.RESERVE_TIME, '%H:%i') AS "reserveTime"
,MR.RESERVE_CATEGORY_ITEM_ID AS "reserveCategoryItemId"
,MR.RESERVE_CATEGORY_ITEM_NAME AS "reserveCategoryItemName"
,MR.MU_TREATMENT_ID AS "muTreatmentId"
,MR.TREATMENT_NAME AS "treatmentName"
,MR.MU_TREATMENT_PROCEDURE_ID AS "muTreatmentProcedureId"
,MR.TREATMENT_PROCEDURE_NAME AS "treatmentProcedureName"
,MU.USER_NAME AS "userName"
,IFNULL(MU.MU_USER_ID, '') AS "muUserId"
,IFNULL(MUCC.WRITE_MEMBER_ID, '') AS "writeMemberId"
,IFNULL((SELECT MM.NAME
FROM MU_MEMBER AS MM
WHERE MM.MU_MEMBER_ID = MUCC.WRITE_MEMBER_ID
LIMIT 0, 1
), '') AS "writeMemberName"
,DATE_FORMAT(MUCC.WRITE_DATE, '%Y-%m-%d') AS "writeDate"
FROM MU_RESERVE AS MR
INNER JOIN MU_USER_CONSULTING_CHART AS MUCC
ON MR.MU_RESERVE_ID = MUCC.MU_RESERVE_ID
LEFT OUTER JOIN MU_USER AS MU
ON MUCC.MU_USER_ID = MU.MU_USER_ID
AND MU.USE_YN = 'Y'
WHERE MR.USE_YN = 'Y'
AND MUCC.USE_YN = 'Y'
AND MUCC.MU_USER_ID = #{muUserId}
ORDER BY MUCC.WRITE_DATE DESC
LIMIT 0, 5
</select>
<select id="selectUserConsultingChart" parameterType="hashmap" resultType="hashmap">
SELECT MUCC.MU_USER_CONSULTING_CHART_ID AS "muUserConsultingChartId"
,MUCC.MU_RESERVE_ID AS "muReserveId"
,IFNULL(MUCC.CHART_NUMBER, '') AS "chartNumber"
,MU.USER_NAME AS "userName"
,IFNULL(MU.MU_USER_ID, '') AS "muUserId"
,IFNULL((SELECT MCIT.FILE_PATH
FROM MU_CATEGORY_ITEM AS MCIT
WHERE MCIT.USE_YN = 'Y'
AND MCIT.MU_CATEGORY_ITEM_ID = MU.USER_TYPE
LIMIT 0, 1
), '') AS "userType"
,IFNULL(MU.BIRTHDAY, '') AS "birthday"
,CASE MU.GENDER
WHEN 'M' THEN '남'
WHEN 'F' THEN '여'
END AS "gender"
,IFNULL((SELECT MCIT.CATEGORY_ITEM_NAME
FROM MU_CATEGORY_ITEM AS MCIT
WHERE MCIT.USE_YN = 'Y'
AND MCIT.MU_CATEGORY_ITEM_ID = MU.NATIONALITY
LIMIT 0, 1
), '') AS "nationality"
,IFNULL(MU.PHONE_NUMBER, '') AS "phoneNumber"
,IFNULL(MEMBERSHIP_BALANCE,0) AS "membershipBalance"
,IFNULL(MU.ETC, '') AS "etc"
,IFNULL(MUCC.CONTENT, '') AS "content"
,IFNULL(MUCC.WRITE_MEMBER_ID, '') AS "writeMemberId"
,IFNULL((SELECT MM.NAME
FROM MU_MEMBER AS MM
WHERE MM.MU_MEMBER_ID = MUCC.WRITE_MEMBER_ID
LIMIT 0, 1
), '') AS "writeMemberName"
,DATE_FORMAT(MUCC.WRITE_DATE, '%Y-%m-%d') AS "writeDate"
,DATE_FORMAT(MR.RESERVE_DATE, '%Y-%m-%d') AS "reserveDate"
,DATE_FORMAT(MR.RESERVE_TIME, '%H:%i') AS "reserveTime"
,DATE_FORMAT(MR.RECEPTION_DATE,'%Y-%m-%d, %H:%i') AS "receptionDateTime"
,MR.TREATMENT_NAME AS "treatmentName"
,MR.TREATMENT_PROCEDURE_NAME AS "treatmentProcedureName"
,IFNULL(MR.RESERVE_MEMBER_ID, '') AS "reserveMemberId"
,IFNULL((SELECT MM.NAME
FROM MU_MEMBER AS MM
WHERE MM.MU_MEMBER_ID = MR.RESERVE_MEMBER_ID
LIMIT 0, 1
), '') AS "reserveMemberName"
,CASE MR.STATUS
WHEN 'T' THEN '예약'
WHEN 'TN' THEN '예약취소'
WHEN 'R' THEN '접수'
WHEN 'RN' THEN '접수취소'
WHEN 'G' THEN '진료중'
WHEN 'Y' THEN '진료완료'
ELSE ''
END AS "statusName"
,IF(IFNULL((SELECT COUNT(*)
FROM MU_RESERVE AS MR2
WHERE MR2.USE_YN = 'Y'
AND MR2.STATUS = 'Y'
AND DATE_FORMAT(MR2.RESERVE_DATE, '%Y-%m-%d') &lt; MR.WRITE_DATE
AND MR2.MU_USER_ID = MR.MU_USER_ID)
, 0) > 0, 'Y', 'N') AS "visitYn"
FROM MU_USER_CONSULTING_CHART AS MUCC
LEFT OUTER JOIN MU_RESERVE AS MR
ON MR.MU_RESERVE_ID = MUCC.MU_RESERVE_ID
LEFT OUTER JOIN MU_USER AS MU
ON MUCC.MU_USER_ID = MU.MU_USER_ID
AND MU.USE_YN = 'Y'
LEFT OUTER JOIN MU_MEMBERSHIP MM
ON MUCC.MU_USER_ID = MM.MU_USER_ID
WHERE MUCC.USE_YN = 'Y'
AND MUCC.MU_USER_CONSULTING_CHART_ID = #{muUserConsultingChartId}
LIMIT 0, 1
</select>
<select id="selectUserConsultingChartNumber" parameterType="hashmap" resultType="hashmap">
SELECT CONCAT('C', DATE_FORMAT(NOW(), '%Y%m%d'), '-', LPAD(IFNULL(MAX(SUBSTRING(CHART_NUMBER, 11)) + 1, 1), 4, '0')) AS "chartNumber"
FROM MU_USER_CONSULTING_CHART AS MUCC
WHERE CHART_NUMBER LIKE CONCAT('C', DATE_FORMAT(NOW(), '%Y%m%d'), '%')
</select>
<insert id="insertUserConsultingChart" parameterType="hashmap">
<selectKey resultType="string" keyProperty="id" order="BEFORE">
SELECT CONCAT(#{muUserConsultingChartId},LPAD((SELECT NEXTVAL(MU_USER_CONSULTING_CHART_SEQ)), 9, 0))
</selectKey>
INSERT INTO MU_USER_CONSULTING_CHART(
MU_USER_CONSULTING_CHART_ID
,MU_RESERVE_ID
,MU_USER_ID
,CHART_NUMBER
,CONTENT
,WRITE_MEMBER_ID
,WRITE_DATE
,WRITE_TIME
,CUD_FLAG
,USE_YN
,REG_ID
,REG_DATE
,MOD_ID
,MOD_DATE
,T_ID
,T_DATE
)VALUES(
#{id}
,#{muReserveId}
,#{muUserId}
,#{chartNumber,jdbcType=VARCHAR}
,#{content,jdbcType=VARCHAR}
,#{regId}
,CURDATE()
,CURTIME()
,'C'
,'Y'
,#{regId}
,NOW()
,#{modId}
,NOW()
,#{tId}
,#{tDate}
)
</insert>
<update id="updateUserConsultingChart" parameterType="hashmap">
UPDATE MU_USER_CONSULTING_CHART
SET MOD_ID = #{modId}
,MOD_DATE = NOW()
,CUD_FLAG = 'U'
,CONTENT = #{content,jdbcType=VARCHAR}
WHERE USE_YN = 'Y'
AND MU_USER_CONSULTING_CHART_ID = #{muUserConsultingChartId}
</update>
<update id="deleteUserConsultingChart" parameterType="hashmap">
UPDATE MU_USER_CONSULTING_CHART
SET MOD_ID = #{modId}
,MOD_DATE = NOW()
,CUD_FLAG = 'D'
,USE_YN = 'N'
WHERE USE_YN = 'Y'
AND MU_RESERVE_ID = #{muReserveId}
</update>
</mapper>

View File

@@ -0,0 +1,453 @@
<?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="WebUserMedicalChart">
<select id="selectTotalUserMedicalChartCount" parameterType="hashmap" resultType="hashmap">
SELECT COUNT(*) AS "totalCount"
FROM (
SELECT MR.MU_RESERVE_ID
,MR.USER_NAME
,MR.PHONE_NUMBER
,MR.MU_USER_ID
,MR.RESERVE_DATE
,MR.RESERVE_TIME
,MR.RESERVE_CATEGORY_ITEM_ID
,MR.RESERVE_CATEGORY_ITEM_NAME
,MR.MU_TREATMENT_ID
,MR.TREATMENT_NAME
,MR.MU_TREATMENT_PROCEDURE_ID
,MR.TREATMENT_PROCEDURE_NAME
,MR.RESERVE_MEMBER_ID
,IFNULL((SELECT MM.NAME
FROM MU_MEMBER AS MM
WHERE MM.MU_MEMBER_ID = MR.RESERVE_MEMBER_ID
LIMIT 0, 1
), '') AS RESERVE_MEMBER_NAME
,MR.ETC
,MUMC.MU_USER_MEDICAL_CHART_ID
,MUMC.CHART_NUMBER
,MUMC.CONTENT
,MUMC.WRITE_MEMBER_ID
,IFNULL((SELECT MM.NAME
FROM MU_MEMBER AS MM
WHERE MM.MU_MEMBER_ID = MUMC.WRITE_MEMBER_ID
LIMIT 0, 1
), '') AS WRITE_MEMBER_NAME
,MUMC.WRITE_DATE
FROM MU_RESERVE AS MR
INNER JOIN MU_USER_MEDICAL_CHART AS MUMC
ON MR.MU_RESERVE_ID = MUMC.MU_RESERVE_ID
AND MR.USE_YN = 'Y'
AND MUMC.USE_YN = 'Y'
AND MUMC.MU_USER_ID = #{muUserId}
<if test="muTreatmentId != null and muTreatmentId != ''">
AND MR.MU_TREATMENT_ID = #{muTreatmentId}
</if>
<if test="muTreatmentProcedureId != null and muTreatmentProcedureId != ''">
AND MR.MU_TREATMENT_PROCEDURE_ID = #{muTreatmentProcedureId}
</if>
) AS MR
WHERE 1=1
<if test="searchKeywordParam != null and searchKeywordParam != ''">
AND (WRITE_MEMBER_NAME LIKE CONCAT('%',TRIM(#{searchKeywordParam}),'%')
OR CHART_NUMBER LIKE CONCAT('%',TRIM(#{searchKeywordParam}),'%'))
</if>
</select>
<select id="selectListUserMedicalChart" parameterType="hashmap" resultType="hashmap">
SELECT MR.*
FROM (
SELECT MR.*
,CAST(@RNUM:=@RNUM + 1 AS CHAR) AS "rowNum"
FROM (
SELECT MU_RESERVE_ID AS "muReserveId"
,USER_NAME AS "userName"
,PHONE_NUMBER AS "phoneNumber"
,MU_USER_ID AS "muUserId"
,DATE_FORMAT(RESERVE_DATE,'%Y-%m-%d') AS "reserveDate"
,DATE_FORMAT(RESERVE_TIME, '%H:%i') AS "reserveTime"
,RESERVE_CATEGORY_ITEM_ID AS "reserveCategoryItemId"
,RESERVE_CATEGORY_ITEM_NAME AS "reserveCategoryItemName"
,MU_TREATMENT_ID AS "muTreatmentId"
,TREATMENT_NAME AS "treatmentName"
,MU_TREATMENT_PROCEDURE_ID AS "muTreatmentProcedureId"
,TREATMENT_PROCEDURE_NAME AS "treatmentProcedureName"
,RESERVE_MEMBER_ID AS "reserveMemberId"
,RESERVE_MEMBER_NAME AS "reserveMemberName"
,MU_USER_MEDICAL_CHART_ID AS "muUserMedicalChartId"
,IFNULL(CHART_NUMBER, '') AS "chartNumber"
,IFNULL(CONTENT, '') AS "content"
,IFNULL(ETC, '') AS "etc"
,CASE STATUS
WHEN 'T' THEN '예약'
WHEN 'TN' THEN '예약취소'
WHEN 'R' THEN '접수'
WHEN 'RN' THEN '접수취소'
WHEN 'G' THEN '진료중'
WHEN 'Y' THEN '진료완료'
ELSE ''
END AS "statusName"
,WRITE_MEMBER_ID AS "writeMemberId"
,WRITE_MEMBER_NAME AS "writeMemberName"
,DATE_FORMAT(WRITE_DATE,'%Y-%m-%d') AS "writeDate"
,IFNULL((SELECT MU.ETC
FROM MU_USER AS MU
WHERE MU.MU_USER_ID = MR.MU_USER_ID
LIMIT 0, 1
), '') AS "userEtc"
FROM (
SELECT MR.MU_RESERVE_ID
,MR.USER_NAME
,MR.PHONE_NUMBER
,MR.MU_USER_ID
,MR.RESERVE_DATE
,MR.RESERVE_TIME
,MR.RESERVE_CATEGORY_ITEM_ID
,MR.RESERVE_CATEGORY_ITEM_NAME
,MR.MU_TREATMENT_ID
,MR.TREATMENT_NAME
,MR.MU_TREATMENT_PROCEDURE_ID
,MR.TREATMENT_PROCEDURE_NAME
,MR.RESERVE_MEMBER_ID
,IFNULL((SELECT MM.NAME
FROM MU_MEMBER AS MM
WHERE MM.MU_MEMBER_ID = MR.RESERVE_MEMBER_ID
LIMIT 0, 1
), '') AS RESERVE_MEMBER_NAME
,MR.ETC
,MR.STATUS
,MUMC.MU_USER_MEDICAL_CHART_ID
,MUMC.CHART_NUMBER
,MUMC.CONTENT
,MUMC.WRITE_MEMBER_ID
,IFNULL((SELECT MM.NAME
FROM MU_MEMBER AS MM
WHERE MM.MU_MEMBER_ID = MUMC.WRITE_MEMBER_ID
LIMIT 0, 1
), '') AS WRITE_MEMBER_NAME
,MUMC.WRITE_DATE
,MUMC.WRITE_TIME
FROM MU_RESERVE AS MR
INNER JOIN MU_USER_MEDICAL_CHART AS MUMC
ON MR.MU_RESERVE_ID = MUMC.MU_RESERVE_ID
AND MR.USE_YN = 'Y'
AND MUMC.USE_YN = 'Y'
AND MUMC.MU_USER_ID = #{muUserId}
<if test="muTreatmentId != null and muTreatmentId != ''">
AND MR.MU_TREATMENT_ID = #{muTreatmentId}
</if>
<if test="muTreatmentProcedureId != null and muTreatmentProcedureId != ''">
AND MR.MU_TREATMENT_PROCEDURE_ID = #{muTreatmentProcedureId}
</if>
) AS MR
WHERE 1=1
<if test="searchKeywordParam != null and searchKeywordParam != ''">
AND (WRITE_MEMBER_NAME LIKE CONCAT('%',TRIM(#{searchKeywordParam}),'%')
OR CHART_NUMBER LIKE CONCAT('%',TRIM(#{searchKeywordParam}),'%'))
</if>
<choose>
<when test="sort != null and sort != ''">
ORDER BY ${sort}
</when>
<otherwise>
ORDER BY MR.RESERVE_DATE DESC, MR.RESERVE_TIME DESC, MR.WRITE_DATE DESC, MR.WRITE_TIME DESC
</otherwise>
</choose>
LIMIT 18446744073709551615
) MR, (SELECT @RNUM:=0) R
WHERE 1 = 1
) MR
WHERE 1 = 1
LIMIT ${start}, ${limit}
</select>
<select id="selectListUserMedicalChartExcel" parameterType="hashmap" resultType="hashmap">
SELECT MR.*
FROM (
SELECT MR.*
,CAST(@RNUM:=@RNUM + 1 AS CHAR) AS "rowNum"
FROM (
SELECT MU_RESERVE_ID AS "muReserveId"
,USER_NAME AS "userName"
,PHONE_NUMBER AS "phoneNumber"
,MU_USER_ID AS "muUserId"
,DATE_FORMAT(RESERVE_DATE,'%Y-%m-%d') AS "reserveDate"
,DATE_FORMAT(RESERVE_TIME, '%H:%i') AS "reserveTime"
,RESERVE_CATEGORY_ITEM_ID AS "reserveCategoryItemId"
,RESERVE_CATEGORY_ITEM_NAME AS "reserveCategoryItemName"
,MU_TREATMENT_ID AS "muTreatmentId"
,TREATMENT_NAME AS "treatmentName"
,MU_TREATMENT_PROCEDURE_ID AS "muTreatmentProcedureId"
,TREATMENT_PROCEDURE_NAME AS "treatmentProcedureName"
,RESERVE_MEMBER_ID AS "reserveMemberId"
,RESERVE_MEMBER_NAME AS "reserveMemberName"
,MU_USER_MEDICAL_CHART_ID AS "muUserMedicalChartId"
,IFNULL(CHART_NUMBER, '') AS "chartNumber"
,IFNULL(CONTENT, '') AS "content"
,IFNULL(ETC, '') AS "etc"
,CASE STATUS
WHEN 'T' THEN '예약'
WHEN 'TN' THEN '예약취소'
WHEN 'R' THEN '접수'
WHEN 'RN' THEN '접수취소'
WHEN 'G' THEN '진료중'
WHEN 'Y' THEN '진료완료'
ELSE ''
END AS "statusName"
,WRITE_MEMBER_ID AS "writeMemberId"
,WRITE_MEMBER_NAME AS "writeMemberName"
,DATE_FORMAT(WRITE_DATE,'%Y-%m-%d') AS "writeDate"
,IFNULL((SELECT MU.ETC
FROM MU_USER AS MU
WHERE MU.MU_USER_ID = MR.MU_USER_ID
LIMIT 0, 1
), '') AS "userEtc"
FROM (
SELECT MR.MU_RESERVE_ID
,MR.USER_NAME
,MR.PHONE_NUMBER
,MR.MU_USER_ID
,MR.RESERVE_DATE
,MR.RESERVE_TIME
,MR.RESERVE_CATEGORY_ITEM_ID
,MR.RESERVE_CATEGORY_ITEM_NAME
,MR.MU_TREATMENT_ID
,MR.TREATMENT_NAME
,MR.MU_TREATMENT_PROCEDURE_ID
,MR.TREATMENT_PROCEDURE_NAME
,MR.RESERVE_MEMBER_ID
,IFNULL((SELECT MM.NAME
FROM MU_MEMBER AS MM
WHERE MM.MU_MEMBER_ID = MR.RESERVE_MEMBER_ID
LIMIT 0, 1
), '') AS RESERVE_MEMBER_NAME
,MR.ETC
,MR.STATUS
,MUMC.MU_USER_MEDICAL_CHART_ID
,MUMC.CHART_NUMBER
,MUMC.CONTENT
,MUMC.WRITE_MEMBER_ID
,IFNULL((SELECT MM.NAME
FROM MU_MEMBER AS MM
WHERE MM.MU_MEMBER_ID = MUMC.WRITE_MEMBER_ID
LIMIT 0, 1
), '') AS WRITE_MEMBER_NAME
,MUMC.WRITE_DATE
,MUMC.WRITE_TIME
FROM MU_RESERVE AS MR
INNER JOIN MU_USER_MEDICAL_CHART AS MUMC
ON MR.MU_RESERVE_ID = MUMC.MU_RESERVE_ID
AND MR.USE_YN = 'Y'
AND MUMC.USE_YN = 'Y'
AND MUMC.MU_USER_ID = #{muUserId}
<if test="muTreatmentId != null and muTreatmentId != ''">
AND MR.MU_TREATMENT_ID = #{muTreatmentId}
</if>
<if test="muTreatmentProcedureId != null and muTreatmentProcedureId != ''">
AND MR.MU_TREATMENT_PROCEDURE_ID = #{muTreatmentProcedureId}
</if>
) AS MR
WHERE 1=1
<if test="searchKeywordParam != null and searchKeywordParam != ''">
AND (WRITE_MEMBER_NAME LIKE CONCAT('%',TRIM(#{searchKeywordParam}),'%')
OR CHART_NUMBER LIKE CONCAT('%',TRIM(#{searchKeywordParam}),'%'))
</if>
<choose>
<when test="sort != null and sort != ''">
ORDER BY ${sort}
</when>
<otherwise>
ORDER BY MR.RESERVE_DATE DESC, MR.RESERVE_TIME DESC, MR.WRITE_DATE DESC, MR.WRITE_TIME DESC
</otherwise>
</choose>
LIMIT 18446744073709551615
) MR, (SELECT @RNUM:=0) R
WHERE 1 = 1
) MR
WHERE 1 = 1
</select>
<select id="selectListUserMedicalChartTop5" parameterType="hashmap" resultType="hashmap">
SELECT MUMC.MU_USER_MEDICAL_CHART_ID AS "muUserMedicalChartId"
,MR.MU_RESERVE_ID AS "muReserveId"
,DATE_FORMAT(MR.RESERVE_DATE,'%Y-%m-%d') AS "reserveDate"
,DATE_FORMAT(MR.RESERVE_TIME, '%H:%i') AS "reserveTime"
,MR.RESERVE_CATEGORY_ITEM_ID AS "reserveCategoryItemId"
,MR.RESERVE_CATEGORY_ITEM_NAME AS "reserveCategoryItemName"
,MR.MU_TREATMENT_ID AS "muTreatmentId"
,MR.TREATMENT_NAME AS "treatmentName"
,MR.MU_TREATMENT_PROCEDURE_ID AS "muTreatmentProcedureId"
,MR.TREATMENT_PROCEDURE_NAME AS "treatmentProcedureName"
,MU.USER_NAME AS "userName"
,IFNULL(MU.MU_USER_ID, '') AS "muUserId"
,IFNULL(MUMC.WRITE_MEMBER_ID, '') AS "writeMemberId"
,IFNULL((SELECT MM.NAME
FROM MU_MEMBER AS MM
WHERE MM.MU_MEMBER_ID = MUMC.WRITE_MEMBER_ID
LIMIT 0, 1
), '') AS "writeMemberName"
,DATE_FORMAT(MUMC.WRITE_DATE, '%Y-%m-%d') AS "writeDate"
FROM MU_RESERVE AS MR
INNER JOIN MU_USER_MEDICAL_CHART AS MUMC
ON MR.MU_RESERVE_ID = MUMC.MU_RESERVE_ID
LEFT OUTER JOIN MU_USER AS MU
ON MUMC.MU_USER_ID = MU.MU_USER_ID
AND MU.USE_YN = 'Y'
WHERE MR.USE_YN = 'Y'
AND MUMC.USE_YN = 'Y'
AND MUMC.MU_USER_ID = #{muUserId}
ORDER BY MUMC.WRITE_DATE DESC
LIMIT 0, 5
</select>
<select id="selectUserMedicalChart" parameterType="hashmap" resultType="hashmap">
SELECT MUMC.MU_USER_MEDICAL_CHART_ID AS "muUserMedicalChartId"
,MR.MU_RESERVE_ID AS "muReserveId"
,IFNULL(MUMC.CHART_NUMBER, '') AS "chartNumber"
,DATE_FORMAT(MR.RESERVE_DATE,'%Y-%m-%d') AS "reserveDate"
,DATE_FORMAT(MR.RESERVE_TIME, '%H:%i') AS "reserveTime"
,DATE_FORMAT(MR.RECEPTION_DATE,'%Y.%m.%d %H:%i') AS "receptionDateTime"
,MR.RESERVE_CATEGORY_ITEM_ID AS "reserveCategoryItemId"
,MR.RESERVE_CATEGORY_ITEM_NAME AS "reserveCategoryItemName"
,MR.MU_TREATMENT_ID AS "muTreatmentId"
,MR.TREATMENT_NAME AS "treatmentName"
,MR.MU_TREATMENT_PROCEDURE_ID AS "muTreatmentProcedureId"
,MR.TREATMENT_PROCEDURE_NAME AS "treatmentProcedureName"
,IFNULL((SELECT MM.NAME
FROM MU_MEMBER AS MM
WHERE MM.MU_MEMBER_ID = MR.RESERVE_MEMBER_ID
LIMIT 0, 1
), '') AS "reserveMemberName"
,CASE STATUS
WHEN 'T' THEN '예약'
WHEN 'TN' THEN '예약취소'
WHEN 'R' THEN '접수'
WHEN 'RN' THEN '접수취소'
WHEN 'G' THEN '진료중'
WHEN 'Y' THEN '진료완료'
ELSE ''
END AS "statusName"
,IF(IFNULL((SELECT COUNT(*)
FROM MU_RESERVE AS MR2
WHERE MR2.USE_YN = 'Y'
AND MR2.STATUS = 'Y'
AND DATE_FORMAT(MR2.RESERVE_DATE, '%Y-%m-%d') &lt; MR.WRITE_DATE
AND MR2.MU_USER_ID = MR.MU_USER_ID)
, 0) > 0, 'Y', 'N') AS "visitYn"
,MU.USER_NAME AS "userName"
,IFNULL(MU.MU_USER_ID, '') AS "muUserId"
,IFNULL((SELECT MCIT.FILE_PATH
FROM MU_CATEGORY_ITEM AS MCIT
WHERE MCIT.USE_YN = 'Y'
AND MCIT.MU_CATEGORY_ITEM_ID = MU.USER_TYPE
LIMIT 0, 1
), '') AS "userType"
,IFNULL(MU.BIRTHDAY, '') AS "birthday"
,CASE MU.GENDER
WHEN 'M' THEN '남'
WHEN 'F' THEN '여'
END AS "gender"
,IFNULL((SELECT MCIT.CATEGORY_ITEM_NAME
FROM MU_CATEGORY_ITEM AS MCIT
WHERE MCIT.USE_YN = 'Y'
AND MCIT.MU_CATEGORY_ITEM_ID = MU.NATIONALITY
LIMIT 0, 1
), '') AS "nationality"
,IFNULL(MU.PHONE_NUMBER, '') AS "phoneNumber"
,IFNULL(MEMBERSHIP_BALANCE,0) AS "membershipBalance"
,IFNULL(MU.ETC, '') AS "etc"
,IFNULL(MUMC.CONTENT, '') AS "content"
,IFNULL(MUMC.WRITE_MEMBER_ID, '') AS "writeMemberId"
,IFNULL((SELECT MM.NAME
FROM MU_MEMBER AS MM
WHERE MM.MU_MEMBER_ID = MUMC.WRITE_MEMBER_ID
LIMIT 0, 1
), '') AS "writeMemberName"
,DATE_FORMAT(MUMC.WRITE_DATE, '%Y-%m-%d') AS "writeDate"
,IFNULL((SELECT IFNULL(MUCC.CONTENT, '')
FROM MU_USER_CONSULTING_CHART AS MUCC
WHERE MUCC.MU_RESERVE_ID = MUMC.MU_RESERVE_ID
AND MUCC.MU_USER_ID = MUMC.MU_USER_ID
LIMIT 0, 1
), '') AS "userConsultingChartContent"
FROM MU_RESERVE AS MR
INNER JOIN MU_USER_MEDICAL_CHART AS MUMC
ON MR.MU_RESERVE_ID = MUMC.MU_RESERVE_ID
LEFT OUTER JOIN MU_USER AS MU
ON MUMC.MU_USER_ID = MU.MU_USER_ID
AND MU.USE_YN = 'Y'
LEFT OUTER JOIN MU_MEMBERSHIP MM
ON MUMC.MU_USER_ID = MM.MU_USER_ID
WHERE MR.USE_YN = 'Y'
AND MUMC.USE_YN = 'Y'
AND MUMC.MU_USER_MEDICAL_CHART_ID = #{muUserMedicalChartId}
LIMIT 0, 1
</select>
<select id="selectUserMedicalChartNumber" parameterType="hashmap" resultType="hashmap">
SELECT CONCAT('M', DATE_FORMAT(NOW(), '%Y%m%d'), '-', LPAD(IFNULL(MAX(SUBSTRING(CHART_NUMBER, 11)) + 1, 1), 4, '0')) AS "chartNumber"
FROM MU_USER_MEDICAL_CHART AS MUMC
WHERE CHART_NUMBER LIKE CONCAT('M', DATE_FORMAT(NOW(), '%Y%m%d'), '%')
</select>
<insert id="insertUserMedicalChart" parameterType="hashmap">
<selectKey resultType="string" keyProperty="id" order="BEFORE">
SELECT CONCAT(#{muUserMedicalChartId},LPAD((SELECT NEXTVAL(MU_USER_MEDICAL_CHART_SEQ)), 9, 0))
</selectKey>
INSERT INTO MU_USER_MEDICAL_CHART(
MU_USER_MEDICAL_CHART_ID
,MU_RESERVE_ID
,MU_USER_ID
,CHART_NUMBER
,CONTENT
,WRITE_MEMBER_ID
,WRITE_DATE
,WRITE_TIME
,CUD_FLAG
,USE_YN
,REG_ID
,REG_DATE
,MOD_ID
,MOD_DATE
,T_ID
,T_DATE
)VALUES(
#{id}
,#{muReserveId}
,#{muUserId}
,#{chartNumber,jdbcType=VARCHAR}
,#{content,jdbcType=VARCHAR}
,#{regId}
,CURDATE()
,CURTIME()
,'C'
,'Y'
,#{regId}
,NOW()
,#{modId}
,NOW()
,#{tId}
,#{tDate}
)
</insert>
<update id="updateUserMedicalChart" parameterType="hashmap">
UPDATE MU_USER_MEDICAL_CHART
SET MOD_ID = #{modId}
,MOD_DATE = NOW()
,CUD_FLAG = 'U'
,CONTENT = #{content,jdbcType=VARCHAR}
WHERE USE_YN = 'Y'
AND MU_USER_MEDICAL_CHART_ID = #{muUserMedicalChartId}
</update>
<update id="deleteUserMedicalChart" parameterType="hashmap">
UPDATE MU_USER_MEDICAL_CHART
SET MOD_ID = #{modId}
,MOD_DATE = NOW()
,CUD_FLAG = 'D'
,USE_YN = 'N'
WHERE USE_YN = 'Y'
AND MU_RESERVE_ID = #{muReserveId}
</update>
</mapper>

View File

@@ -0,0 +1,106 @@
<?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="WebUserOriginalChart">
<select id="selectTotalUserOriginalChartCount" parameterType="hashmap" resultType="hashmap">
SELECT COUNT(*) AS "totalCount"
FROM (
SELECT CH.PID AS PID
,CH.CHART_DIVI AS CHART_DIVI
,DATE_FORMAT(CH.WRITE_DATE, '%Y-%m-%d') AS WRITE_DATE
,MU.USER_NAME AS USER_NAME
,IFNULL((SELECT CSL.STAFF_NAME
FROM CRM_STAFF_LIST AS CSL
WHERE CSL.PID = CH.CRM_DOC
LIMIT 0, 1), '') AS CRM_DOC_NAME
,IFNULL((SELECT CSL.STAFF_NAME
FROM CRM_STAFF_LIST AS CSL
WHERE CSL.PID = CH.CRM_STAFF
LIMIT 0, 1), '') AS CRM_STAFF_NAME
,IFNULL(CH.PIC_NAME, '') AS PIC_NAME
,IFNULL(CH.PIC_TITLE, '') AS PIC_TITLE
FROM CHART_001 AS CH
INNER JOIN MU_USER AS MU
ON CH.CRM_MB_PID = MU.CRM_MEMBER_PID
AND CH.LIST_DEL = 'N'
AND MU.USE_YN = 'Y'
AND MU.MU_USER_ID = #{muUserId}
LIMIT 18446744073709551615
) AS CH
WHERE 1 = 1
<if test="searchChartDivi != '' and searchChartDivi">
AND CH.CHART_DIVI = #{searchChartDivi}
</if>
</select>
<select id="selectListUserOriginalChart" parameterType="hashmap" resultType="hashmap">
SELECT CH.PID AS "pId"
,CH.CHART_DIVI AS "chartDivi"
,CH.WRITE_DATE AS "writeDate"
,CH.USER_NAME AS "userName"
,CH.CRM_DOC_NAME AS "crmDocName"
,CH.CRM_STAFF_NAME AS "crmStaffName"
,CH.PIC_NAME AS "picName"
,CH.PIC_TITLE AS "picTitle"
,CAST(@RNUM:=@RNUM + 1 AS CHAR) AS "rowNum"
FROM (
SELECT CH.PID AS PID
,CH.CHART_DIVI AS CHART_DIVI
,DATE_FORMAT(CH.WRITE_DATE, '%Y-%m-%d') AS WRITE_DATE
,MU.USER_NAME AS USER_NAME
,IFNULL((SELECT CSL.STAFF_NAME
FROM CRM_STAFF_LIST AS CSL
WHERE CSL.PID = CH.CRM_DOC
LIMIT 0, 1), '') AS CRM_DOC_NAME
,IFNULL((SELECT CSL.STAFF_NAME
FROM CRM_STAFF_LIST AS CSL
WHERE CSL.PID = CH.CRM_STAFF
LIMIT 0, 1), '') AS CRM_STAFF_NAME
,IFNULL(CH.PIC_NAME, '') AS PIC_NAME
,IFNULL(CH.PIC_TITLE, '') AS PIC_TITLE
FROM CHART_001 AS CH
INNER JOIN MU_USER AS MU
ON CH.CRM_MB_PID = MU.CRM_MEMBER_PID
AND CH.LIST_DEL = 'N'
AND MU.USE_YN = 'Y'
AND MU.MU_USER_ID = #{muUserId}
LIMIT 18446744073709551615
) AS CH, (SELECT @RNUM:=0) R
WHERE 1 = 1
<if test="searchChartDivi != '' and searchChartDivi">
AND CH.CHART_DIVI = #{searchChartDivi}
</if>
LIMIT ${start}, ${limit}
</select>
<select id="selectUserOriginalChart" parameterType="hashmap" resultType="hashmap">
SELECT CH.PID AS "pId"
,CH.CHART_DIVI AS "chartDivi"
,DATE_FORMAT(CH.WRITE_DATE, '%Y-%m-%d') AS "writeDate"
,MU.USER_NAME AS "userName"
,IFNULL((SELECT CSL.STAFF_NAME
FROM CRM_STAFF_LIST AS CSL
WHERE CSL.PID = CH.CRM_DOC
LIMIT 0, 1), '-') AS "crmDocName"
,IFNULL((SELECT CSL.STAFF_NAME
FROM CRM_STAFF_LIST AS CSL
WHERE CSL.PID = CH.CRM_STAFF
LIMIT 0, 1), '-') AS "crmStaffName"
,IFNULL(CH.PIC_NAME, '-') AS "picName"
,IFNULL(CH.PIC_FILE, '-') AS "picFile"
,IFNULL(CH.PIC_TITLE, '-') AS "picTitle"
,IFNULL(CH.CHART_MSG_01, '') AS "chartMsg01"
,IFNULL(CH.CHART_MSG_03, '') AS "chartMsg03"
,IFNULL(DATE_FORMAT(CH.DATE_02, '%Y-%m-%d'), '-') AS "date02"
,IFNULL(DATE_FORMAT(CH.SURGERY_DATE, '%Y-%m-%d'), '-') AS "surgeryDate"
,IFNULL(CH.MEDICAL_DIVI, '-') AS "medicalDivi"
,IFNULL(CH.SURGERY_MSG, '-') AS "surgeryMsg"
FROM CHART_001 AS CH
INNER JOIN MU_USER AS MU
ON CH.CRM_MB_PID = MU.CRM_MEMBER_PID
AND CH.LIST_DEL = 'N'
AND MU.USE_YN = 'Y'
AND CH.PID = #{pId}
LIMIT 0, 1
</select>
</mapper>

View File

@@ -0,0 +1,326 @@
<?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="WebUserPushHistory">
<select id="selectTotalUserPushHistoryCount" parameterType="hashmap" resultType="hashmap">
SELECT COUNT(*) AS "totalCount"
FROM (
SELECT MS.MU_SMS_ID AS PUSH_ID
,MS.CONTENT AS CONTENT
,MS.POPBILL_STATE AS POPBILL_STATE
,MS.POPBILL_RESULT AS POPBILL_RESULT
,MS.REG_ID AS REG_ID
,MS.SEND_DATE AS SEND_DATE
,'SMS' AS TYPE
FROM MU_SMS AS MS
WHERE MS.USE_YN = 'Y'
AND MS.MU_USER_ID = #{muUserId}
UNION ALL
SELECT MK.MU_KAKAO_ID AS PUSH_ID
,(SELECT MKT.TITLE
FROM MU_KAKAO_TEMPLATE AS MKT
WHERE MKT.USE_YN = 'Y'
AND MKT.TEMPLATE_CODE = MK.TEMPLATE_CODE
LIMIT 0, 1) AS CONTENT
,MK.POPBILL_STATE AS POPBILL_STATE
,MK.POPBILL_RESULT AS POPBILL_RESULT
,MK.REG_ID AS REG_ID
,MK.SEND_DATE AS SEND_DATE
,'KAKAO' AS TYPE
FROM MU_KAKAO AS MK
WHERE MK.USE_YN = 'Y'
AND MK.MU_USER_ID = #{muUserId}
UNION ALL
SELECT MUPH.MU_USER_PUSH_HISTORY_ID AS PUSH_ID
,MESSAGE AS CONTENT
,CASE
WHEN MUPH.STATUS = 'R'
THEN '1'
WHEN MUPH.STATUS = 'G'
THEN '2'
WHEN MUPH.STATUS = 'Y'
THEN '3'
WHEN MUPH.STATUS = 'N'
THEN '4'
END AS POPBILL_STATE
,'' AS POPBILL_RESULT
,MUPH.REG_ID AS REG_ID
,MUPH.PUSH_DATE AS SEND_DATE
,'PUSH' AS TYPE
FROM MU_USER_PUSH_HISTORY AS MUPH
WHERE MUPH.USE_YN = 'Y'
AND MUPH.MU_USER_ID = #{muUserId}
) AS MSKP
WHERE 1 = 1
<if test="searchStartDate != null and searchStartDate != '' and searchEndDate != null and searchEndDate != ''">
AND DATE_FORMAT(MSKP.SEND_DATE, '%Y-%m-%d') &gt;= #{searchStartDate}
AND DATE_FORMAT(MSKP.SEND_DATE, '%Y-%m-%d') &lt;= #{searchEndDate}
</if>
<if test="searchKeywordParam != null and searchKeywordParam != ''">
AND (MSKP.CONTENT LIKE CONCAT('%',TRIM(#{searchKeywordParam}),'%'))
</if>
<if test="searchType != null and searchType != ''">
AND MSKP.TYPE = #{searchType}
</if>
</select>
<select id="selectListUserPushHistory" parameterType="hashmap" resultType="hashmap">
SELECT MSKP.*
FROM (
SELECT MSKP.*
,CAST(@RNUM:=@RNUM + 1 AS CHAR) AS "rowNum"
FROM (
SELECT MSKP.PUSH_ID AS "pushId"
,MSKP.CONTENT AS "content"
,CASE
WHEN MSKP.POPBILL_STATE = '0'
THEN '접수'
WHEN MSKP.POPBILL_STATE = '1'
THEN '대기중'
WHEN MSKP.POPBILL_STATE = '2'
THEN '처리중'
WHEN MSKP.POPBILL_STATE = '3'
THEN '완료'
WHEN MSKP.POPBILL_STATE = '4'
THEN '취소'
ELSE ''
END AS "popbillState"
,MSKP.POPBILL_RESULT AS "popbillResult"
,(SELECT MM.NAME
FROM MU_MEMBER AS MM
WHERE MM.USE_YN = 'Y'
AND MM.MU_MEMBER_ID = MSKP.REG_ID
LIMIT 0, 1) AS "memberName"
,DATE_FORMAT(MSKP.SEND_DATE, '%Y-%m-%d') AS "sendDate"
,MSKP.TYPE AS "type"
FROM (
SELECT MS.MU_SMS_ID AS PUSH_ID
,MS.CONTENT AS CONTENT
,MS.POPBILL_STATE AS POPBILL_STATE
,MS.POPBILL_RESULT AS POPBILL_RESULT
,MS.REG_ID AS REG_ID
,MS.SEND_DATE AS SEND_DATE
,'SMS' AS TYPE
FROM MU_SMS AS MS
WHERE MS.USE_YN = 'Y'
AND MS.MU_USER_ID = #{muUserId}
UNION ALL
SELECT MK.MU_KAKAO_ID AS PUSH_ID
,(SELECT MKT.TITLE
FROM MU_KAKAO_TEMPLATE AS MKT
WHERE MKT.USE_YN = 'Y'
AND MKT.TEMPLATE_CODE = MK.TEMPLATE_CODE
LIMIT 0, 1) AS CONTENT
,MK.POPBILL_STATE AS POPBILL_STATE
,MK.POPBILL_RESULT AS POPBILL_RESULT
,MK.REG_ID AS REG_ID
,MK.SEND_DATE AS SEND_DATE
,'KAKAO' AS TYPE
FROM MU_KAKAO AS MK
WHERE MK.USE_YN = 'Y'
AND MK.MU_USER_ID = #{muUserId}
UNION ALL
SELECT MUPH.MU_USER_PUSH_HISTORY_ID AS PUSH_ID
,MESSAGE AS CONTENT
,CASE
WHEN MUPH.STATUS = 'R'
THEN '1'
WHEN MUPH.STATUS = 'G'
THEN '2'
WHEN MUPH.STATUS = 'Y'
THEN '3'
WHEN MUPH.STATUS = 'N'
THEN '4'
END AS POPBILL_STATE
,'' AS POPBILL_RESULT
,MUPH.REG_ID AS REG_ID
,MUPH.PUSH_DATE AS SEND_DATE
,'PUSH' AS TYPE
FROM MU_USER_PUSH_HISTORY AS MUPH
WHERE MUPH.USE_YN = 'Y'
AND MUPH.MU_USER_ID = #{muUserId}
) AS MSKP
WHERE 1 = 1
<if test="searchStartDate != null and searchStartDate != '' and searchEndDate != null and searchEndDate != ''">
AND DATE_FORMAT(MSKP.SEND_DATE, '%Y-%m-%d') &gt;= #{searchStartDate}
AND DATE_FORMAT(MSKP.SEND_DATE, '%Y-%m-%d') &lt;= #{searchEndDate}
</if>
<if test="searchKeywordParam != null and searchKeywordParam != ''">
AND (MSKP.CONTENT LIKE CONCAT('%',TRIM(#{searchKeywordParam}),'%'))
</if>
<if test="searchType != null and searchType != ''">
AND MSKP.TYPE = #{searchType}
</if>
<choose>
<when test="sort != null and sort != ''">
ORDER BY ${sort}
</when>
<otherwise>
ORDER BY MSKP.SEND_DATE DESC
</otherwise>
</choose>
LIMIT 18446744073709551615
) MSKP, (SELECT @RNUM:=0) R
WHERE 1 = 1
) MSKP
WHERE 1 = 1
LIMIT ${start}, ${limit}
</select>
<select id="selectListUserPushHistoryExcel" parameterType="hashmap" resultType="hashmap">
SELECT MSKP.*
FROM (
SELECT MSKP.*
,CAST(@RNUM:=@RNUM + 1 AS CHAR) AS "rowNum"
FROM (
SELECT MSKP.PUSH_ID AS "pushId"
,MSKP.CONTENT AS "content"
,CASE
WHEN MSKP.POPBILL_STATE = '0'
THEN '접수'
WHEN MSKP.POPBILL_STATE = '1'
THEN '대기중'
WHEN MSKP.POPBILL_STATE = '2'
THEN '처리중'
WHEN MSKP.POPBILL_STATE = '3'
THEN '완료'
WHEN MSKP.POPBILL_STATE = '4'
THEN '취소'
ELSE ''
END AS "popbillState"
,MSKP.POPBILL_RESULT AS "popbillResult"
,(SELECT MM.NAME
FROM MU_MEMBER AS MM
WHERE MM.USE_YN = 'Y'
AND MM.MU_MEMBER_ID = MSKP.REG_ID
LIMIT 0, 1) AS "memberName"
,DATE_FORMAT(MSKP.SEND_DATE, '%Y-%m-%d') AS "sendDate"
,MSKP.TYPE AS "type"
FROM (
SELECT MS.MU_SMS_ID AS PUSH_ID
,MS.CONTENT AS CONTENT
,MS.POPBILL_STATE AS POPBILL_STATE
,MS.POPBILL_RESULT AS POPBILL_RESULT
,MS.REG_ID AS REG_ID
,MS.SEND_DATE AS SEND_DATE
,'SMS' AS TYPE
FROM MU_SMS AS MS
WHERE MS.USE_YN = 'Y'
AND MS.MU_USER_ID = #{muUserId}
UNION ALL
SELECT MK.MU_KAKAO_ID AS PUSH_ID
,(SELECT MKT.TITLE
FROM MU_KAKAO_TEMPLATE AS MKT
WHERE MKT.USE_YN = 'Y'
AND MKT.TEMPLATE_CODE = MK.TEMPLATE_CODE
LIMIT 0, 1) AS CONTENT
,MK.POPBILL_STATE AS POPBILL_STATE
,MK.POPBILL_RESULT AS POPBILL_RESULT
,MK.REG_ID AS REG_ID
,MK.SEND_DATE AS SEND_DATE
,'KAKAO' AS TYPE
FROM MU_KAKAO AS MK
WHERE MK.USE_YN = 'Y'
AND MK.MU_USER_ID = #{muUserId}
UNION ALL
SELECT MUPH.MU_USER_PUSH_HISTORY_ID AS PUSH_ID
,MESSAGE AS CONTENT
,CASE
WHEN MUPH.STATUS = 'R'
THEN '1'
WHEN MUPH.STATUS = 'G'
THEN '2'
WHEN MUPH.STATUS = 'Y'
THEN '3'
WHEN MUPH.STATUS = 'N'
THEN '4'
END AS POPBILL_STATE
,'' AS POPBILL_RESULT
,MUPH.REG_ID AS REG_ID
,MUPH.PUSH_DATE AS SEND_DATE
,'PUSH' AS TYPE
FROM MU_USER_PUSH_HISTORY AS MUPH
WHERE MUPH.USE_YN = 'Y'
AND MUPH.MU_USER_ID = #{muUserId}
) AS MSKP
WHERE 1 = 1
<if test="searchStartDate != null and searchStartDate != '' and searchEndDate != null and searchEndDate != ''">
AND DATE_FORMAT(MSKP.SEND_DATE, '%Y-%m-%d') &gt;= #{searchStartDate}
AND DATE_FORMAT(MSKP.SEND_DATE, '%Y-%m-%d') &lt;= #{searchEndDate}
</if>
<if test="searchKeywordParam != null and searchKeywordParam != ''">
AND (MSKP.CONTENT LIKE CONCAT('%',TRIM(#{searchKeywordParam}),'%'))
</if>
<if test="searchType != null and searchType != ''">
AND MSKP.TYPE = #{searchType}
</if>
<choose>
<when test="sort != null and sort != ''">
ORDER BY ${sort}
</when>
<otherwise>
ORDER BY MSKP.SEND_DATE DESC
</otherwise>
</choose>
LIMIT 18446744073709551615
) MSKP, (SELECT @RNUM:=0) R
WHERE 1 = 1
) MSKP
WHERE 1 = 1
</select>
<insert id="insertUserPushHistory" parameterType="hashmap">
<selectKey resultType="string" keyProperty="id" order="BEFORE">
SELECT CONCAT(#{muUserPushHistoryChartId},LPAD((SELECT NEXTVAL(MU_USER_PUSH_HISTORY_SEQ)), 9, 0))
</selectKey>
INSERT INTO MU_USER_PUSH_HISTORY(
MU_USER_PUSH_HISTORY_ID
,MU_USER_ID
,MU_DEVICE_ID
,MESSAGE
,STATUS
,READ_YN
,TYPE
,WRITE_DATE
,WRITE_TIME
,CUD_FLAG
,USE_YN
,REG_ID
,REG_DATE
,MOD_ID
,MOD_DATE
,T_ID
,T_DATE
)VALUES(
#{id}
,#{muUserId}
,#{muDeviceId}
,#{message}
,'R'
,'N'
,#{type}
,CURDATE()
,CURTIME()
,'C'
,'Y'
,#{regId}
,NOW()
,#{modId}
,NOW()
,#{tId}
,#{tDate}
)
</insert>
</mapper>

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,582 @@
<?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="WebVacationManagement">
<select id="selectTotalVacationManagementCount" parameterType="hashmap" resultType="hashmap">
SELECT COUNT(*) AS "totalCount"
FROM (
SELECT MVM.MU_VACATION_MANAGEMENT_ID
,MVM.MU_MEMBER_ID
,IFNULL((SELECT MM.NAME
FROM MU_MEMBER AS MM
WHERE MM.USE_YN = 'Y'
AND MM.MU_MEMBER_ID = MVM.MU_MEMBER_ID
LIMIT 0, 1
),'') AS MEMBER_NAME
,IFNULL((SELECT MM.LOGIN_ID
FROM MU_MEMBER AS MM
WHERE MM.USE_YN = 'Y'
AND MM.MU_MEMBER_ID = MVM.MU_MEMBER_ID
LIMIT 0, 1
),'') AS LOGIN_ID
,MVM.MU_GROUP_ID
,MVM.MU_DUTY_ID
,MVM.YEAR
,MVM.DAYS
,MVM.START_DATE
,MVM.END_DATE
,MVM.ETC
FROM MU_VACATION_MANAGEMENT AS MVM
WHERE MVM.USE_YN = 'Y'
AND MVM.YEAR = #{vacationManagementSearchYear}
) AS MVM
WHERE 1=1
<if test="vacationManagementSearchGroupId != null and vacationManagementSearchGroupId != ''">
AND MU_GROUP_ID = #{vacationManagementSearchGroupId}
</if>
<if test="vacationManagementSearchKeywordParam != null and vacationManagementSearchKeywordParam != ''">
AND ((MEMBER_NAME LIKE CONCAT('%',TRIM(#{vacationManagementSearchKeywordParam}),'%'))
OR (ETC LIKE CONCAT('%',TRIM(#{vacationManagementSearchKeywordParam}),'%')))
</if>
</select>
<select id="selectListVacationManagement" parameterType="hashmap" resultType="hashmap">
SELECT MVM.*
FROM (
SELECT MVM.*
,CAST(@RNUM:=@RNUM + 1 AS CHAR) AS "rowNum"
FROM (
SELECT MU_VACATION_MANAGEMENT_ID AS "muVacationManagementId"
,MU_MEMBER_ID AS "muMemberId"
,MEMBER_NAME AS "memberName"
,LOGIN_ID AS "loginId"
,CONCAT(MEMBER_NAME, '(', LOGIN_ID, ')') AS "memberNameId"
,MU_GROUP_ID AS "muGroupId"
,IFNULL((SELECT MG.GROUP_NAME
FROM MU_GROUP AS MG
WHERE MG.USE_YN = 'Y'
AND MG.MU_GROUP_ID = MVM.MU_GROUP_ID
LIMIT 0, 1
),'') AS "groupName"
,MU_DUTY_ID AS "muDutyId"
,IFNULL((SELECT MD.DUTY_NAME
FROM MU_DUTY AS MD
WHERE MD.USE_YN = 'Y'
AND MD.MU_DUTY_ID = MVM.MU_DUTY_ID
LIMIT 0, 1
),'') AS "dutyName"
,YEAR AS "year"
,DAYS AS "days"
,DATE_FORMAT(START_DATE, '%Y-%m-%d') AS "startDate"
,DATE_FORMAT(END_DATE, '%Y-%m-%d') AS "endDate"
,CONCAT(DATE_FORMAT(START_DATE, '%Y-%m-%d')
,'~'
,DATE_FORMAT(END_DATE, '%Y-%m-%d')) AS "startEndDate"
,IFNULL(ETC, '') AS "etc"
,DATE_FORMAT(WRITE_DATE, '%Y-%m-%d') AS "writeDate"
,CASE
WHEN LAPSE>0 AND LEFT_DAYS>0 THEN DAYS - LEFT_DAYS
ELSE 0
END AS "useAttendanceCount"
,LAPSE AS "unuseAttendanceCount"
FROM (
SELECT MVM.MU_VACATION_MANAGEMENT_ID
,MVM.MU_MEMBER_ID
,IFNULL((SELECT MM.NAME
FROM MU_MEMBER AS MM
WHERE MM.USE_YN = 'Y'
AND MM.MU_MEMBER_ID = MVM.MU_MEMBER_ID
LIMIT 0, 1
),'') AS MEMBER_NAME
,IFNULL((SELECT MM.LOGIN_ID
FROM MU_MEMBER AS MM
WHERE MM.USE_YN = 'Y'
AND MM.MU_MEMBER_ID = MVM.MU_MEMBER_ID
LIMIT 0, 1
),'') AS LOGIN_ID
,MM.MU_GROUP_ID
,MM.MU_DUTY_ID
,MVM.YEAR
,MVM.DAYS
,LEFT_DAYS
,CASE
WHEN END_DATE>=CURDATE() THEN MVM.LEFT_DAYS
ELSE 0
END AS LAPSE
,MVM.START_DATE
,MVM.END_DATE
,MVM.WRITE_DATE
,MVM.ETC
FROM MU_VACATION_MANAGEMENT AS MVM
JOIN MU_MEMBER MM
ON MVM.MU_MEMBER_ID = MM.MU_MEMBER_ID
AND MM.USE_YN ='Y'
WHERE MVM.USE_YN = 'Y'
AND MVM.YEAR = #{vacationManagementSearchYear}
) AS MVM
WHERE 1=1
<if test="vacationManagementSearchGroupId != null and vacationManagementSearchGroupId != ''">
AND MU_GROUP_ID = #{vacationManagementSearchGroupId}
</if>
<if test="vacationManagementSearchKeywordParam != null and vacationManagementSearchKeywordParam != ''">
AND ((MEMBER_NAME LIKE CONCAT('%',TRIM(#{vacationManagementSearchKeywordParam}),'%'))
OR (ETC LIKE CONCAT('%',TRIM(#{vacationManagementSearchKeywordParam}),'%')))
</if>
<choose>
<when test="vacationManagementSort != null and vacationManagementSort != ''">
ORDER BY ${vacationManagementSort}
</when>
<otherwise>
ORDER BY MVM.WRITE_DATE DESC
</otherwise>
</choose>
LIMIT 18446744073709551615
) MVM, (SELECT @RNUM:=0) R
WHERE 1 = 1
) MVM
WHERE 1 = 1
LIMIT ${vacationManagementStart}, ${vacationManagementLimit}
</select>
<select id="selectListVacationManagementExcel" parameterType="hashmap" resultType="hashmap">
SELECT MVM.*
FROM (
SELECT MVM.*
,CAST(@RNUM:=@RNUM + 1 AS CHAR) AS "rowNum"
FROM (
SELECT MU_VACATION_MANAGEMENT_ID AS "muVacationManagementId"
,MU_MEMBER_ID AS "muMemberId"
,MEMBER_NAME AS "memberName"
,LOGIN_ID AS "loginId"
,CONCAT(MEMBER_NAME, '(', LOGIN_ID, ')') AS "memberNameId"
,MU_GROUP_ID AS "muGroupId"
,IFNULL((SELECT MG.GROUP_NAME
FROM MU_GROUP AS MG
WHERE MG.USE_YN = 'Y'
AND MG.MU_GROUP_ID = MVM.MU_GROUP_ID
LIMIT 0, 1
),'') AS "groupName"
,MU_DUTY_ID AS "muDutyId"
,IFNULL((SELECT MD.DUTY_NAME
FROM MU_DUTY AS MD
WHERE MD.USE_YN = 'Y'
AND MD.MU_DUTY_ID = MVM.MU_DUTY_ID
LIMIT 0, 1
),'') AS "dutyName"
,YEAR AS "year"
,DAYS AS "days"
,START_DATE AS "startDate"
,END_DATE AS "endDate"
,CONCAT(DATE_FORMAT(START_DATE, '%Y-%m-%d')
,'~'
,DATE_FORMAT(END_DATE, '%Y-%m-%d')) AS "startEndDate"
,IFNULL(ETC, '') AS "etc"
,DATE_FORMAT(WRITE_DATE, '%Y-%m-%d') AS "writeDate"
,(DAYS - LEFT_DAYS) AS "useAttendanceCount"
,LEFT_DAYS AS "unuseAttendanceCount"
FROM (
SELECT MVM.MU_VACATION_MANAGEMENT_ID
,MVM.MU_MEMBER_ID
,IFNULL((SELECT MM.NAME
FROM MU_MEMBER AS MM
WHERE MM.USE_YN = 'Y'
AND MM.MU_MEMBER_ID = MVM.MU_MEMBER_ID
LIMIT 0, 1
),'') AS MEMBER_NAME
,IFNULL((SELECT MM.LOGIN_ID
FROM MU_MEMBER AS MM
WHERE MM.USE_YN = 'Y'
AND MM.MU_MEMBER_ID = MVM.MU_MEMBER_ID
LIMIT 0, 1
),'') AS LOGIN_ID
,MVM.MU_GROUP_ID
,MVM.MU_DUTY_ID
,MVM.YEAR
,MVM.DAYS
,MVM.LEFT_DAYS
,DATE_FORMAT(MVM.START_DATE, '%Y-%m-%d') AS START_DATE
,DATE_FORMAT(MVM.END_DATE, '%Y-%m-%d') AS END_DATE
,MVM.ETC
,MVM.WRITE_DATE
FROM MU_VACATION_MANAGEMENT AS MVM
WHERE MVM.USE_YN = 'Y'
AND MVM.YEAR = #{vacationManagementSearchYear}
) AS MVM
WHERE 1=1
<if test="vacationManagementSearchGroupId != null and vacationManagementSearchGroupId != ''">
AND MU_GROUP_ID = #{vacationManagementSearchGroupId}
</if>
<if test="vacationManagementSearchKeywordParam != null and vacationManagementSearchKeywordParam != ''">
AND ((MEMBER_NAME LIKE CONCAT('%',TRIM(#{vacationManagementSearchKeywordParam}),'%'))
OR (ETC LIKE CONCAT('%',TRIM(#{vacationManagementSearchKeywordParam}),'%')))
</if>
<choose>
<when test="vacationManagementSort != null and vacationManagementSort != ''">
ORDER BY ${vacationManagementSort}
</when>
<otherwise>
ORDER BY MVM.WRITE_DATE DESC
</otherwise>
</choose>
LIMIT 18446744073709551615
) MVM, (SELECT @RNUM:=0) R
WHERE 1 = 1
) MVM
WHERE 1 = 1
</select>
<select id="selectVacationManagement" parameterType="hashmap" resultType="hashmap">
SELECT MU_VACATION_MANAGEMENT_ID AS "muVacationManagementId"
,MU_ATTENDANCE_ID AS "muAttendanceId"
,ATTENDANCE_TYPE AS "attendanceType"
,CASE ATTENDANCE_TYPE
WHEN 'D' THEN '연차(전일)'
WHEN 'E' THEN '반차(오전)'
WHEN 'F' THEN '반차(오후)'
END AS "attendanceTypeKorName"
,DATE_FORMAT(START_DATE, '%Y-%m-%d') AS "startDate"
,DATE_FORMAT(END_DATE, '%Y-%m-%d') AS "endDate"
,CASE
WHEN START_DATE = END_DATE THEN DATE_FORMAT(START_DATE, '%Y-%m-%d')
ELSE CONCAT(DATE_FORMAT(START_DATE, '%Y-%m-%d'), '~', DATE_FORMAT(END_DATE, '%Y-%m-%d'))
END AS "startEndDate"
,USE_ATTENDANCE_COUNT AS "useDays"
,SUM(USE_ATTENDANCE_COUNT) OVER (ORDER BY RN) AS "sumUseDays"
,(DAYS + SUM(USE_ATTENDANCE_COUNT) OVER (ORDER BY RN)) AS "days"
,ETC AS "etc"
,CANCEL_ETC AS "cancelEtc"
,STATUS AS "status"
,STATUS_TYPE AS "statusType"
FROM (
SELECT *
,ROW_NUMBER() OVER (ORDER BY START_DATE) AS RN
FROM (
SELECT MVM.MU_VACATION_MANAGEMENT_ID
,MA.MU_ATTENDANCE_ID
,MA.ATTENDANCE_TYPE
,MA.START_DATE
,MA.END_DATE
,CASE
WHEN MA.ATTENDANCE_TYPE = 'E' THEN -0.5
ELSE -(ABS(DATEDIFF(MA.END_DATE, MA.START_DATE)) + 1)
END AS USE_ATTENDANCE_COUNT
,MVM.DAYS
,MA.ETC
,MA.MOD_DATE
,'' AS CANCEL_ETC
,CASE
WHEN MA.STATUS = 'U' THEN '연차 수정'
ELSE '연차 신청'
END AS STATUS
,STATUS AS STATUS_TYPE
,MA.WRITE_DATE AS WRITE_DATE
FROM MU_VACATION_MANAGEMENT AS MVM
INNER JOIN MU_ATTENDANCE MA
ON MVM.MU_VACATION_MANAGEMENT_ID = MA.MU_VACATION_MANAGEMENT_ID
AND MA.USE_YN = 'Y'
AND MVM.USE_YN = 'Y'
AND MVM.YEAR = #{year}
AND MVM.MU_VACATION_MANAGEMENT_ID = #{muVacationManagementId}
UNION ALL
SELECT MVM.MU_VACATION_MANAGEMENT_ID
,MA.MU_ATTENDANCE_ID
,MA.ATTENDANCE_TYPE
,MA.START_DATE
,MA.END_DATE
,CASE
WHEN MA.ATTENDANCE_TYPE = 'E' THEN 0.5
ELSE (ABS(DATEDIFF(MA.END_DATE, MA.START_DATE)) + 1)
END AS USE_ATTENDANCE_COUNT
,MVM.DAYS
,MA.ETC
,MA.MOD_DATE
,MA.CANCEL_ETC
,CASE
WHEN MA.STATUS = 'D' THEN '연차 취소'
ELSE ''
END AS STATUS
,STATUS AS STATUS_TYPE
,MA.WRITE_DATE AS WRITE_DATE
FROM MU_VACATION_MANAGEMENT AS MVM
INNER JOIN MU_ATTENDANCE MA
ON MVM.MU_VACATION_MANAGEMENT_ID = MA.MU_VACATION_MANAGEMENT_ID
AND MA.USE_YN = 'Y'
AND MVM.USE_YN = 'Y'
AND MVM.YEAR = #{year}
AND MVM.MU_VACATION_MANAGEMENT_ID = #{muVacationManagementId}
AND MA.STATUS = 'D'
) AS CombinedData
) AS NumberedData
<choose>
<when test="vacationManagementSubSort != null and vacationManagementSubSort != ''">
ORDER BY ${vacationManagementSubSort}
</when>
<otherwise>
ORDER BY RN DESC, START_DATE
</otherwise>
</choose>
LIMIT 18446744073709551615
</select>
<select id="selectVacationManagementMember" parameterType="hashmap" resultType="hashmap">
SELECT MVM.MU_VACATION_MANAGEMENT_ID AS "muVacationManagementId"
,MVM.MU_MEMBER_ID AS "muMemberId"
,IFNULL((SELECT MM.NAME
FROM MU_MEMBER AS MM
WHERE MM.USE_YN = 'Y'
AND MM.MU_MEMBER_ID = MVM.MU_MEMBER_ID
LIMIT 0, 1
),'') AS "memberName"
,IFNULL((SELECT MM.LOGIN_ID
FROM MU_MEMBER AS MM
WHERE MM.USE_YN = 'Y'
AND MM.MU_MEMBER_ID = MVM.MU_MEMBER_ID
LIMIT 0, 1
),'') AS "loginId"
,MM.MU_GROUP_ID AS "muGroupId"
,IFNULL((SELECT MG.GROUP_NAME
FROM MU_GROUP AS MG
WHERE MG.USE_YN = 'Y'
AND MG.MU_GROUP_ID = MVM.MU_GROUP_ID
LIMIT 0, 1
),'') AS "groupName"
,MM.MU_DUTY_ID AS "muDutyId"
,IFNULL((SELECT MD.DUTY_NAME
FROM MU_DUTY AS MD
WHERE MD.USE_YN = 'Y'
AND MD.MU_DUTY_ID = MVM.MU_DUTY_ID
LIMIT 0, 1
),'') AS "dutyName"
FROM MU_VACATION_MANAGEMENT AS MVM
JOIN MU_MEMBER AS MM
ON MVM.MU_MEMBER_ID = MM.MU_MEMBER_ID
WHERE MVM.USE_YN = 'Y'
AND MVM.YEAR = #{year}
AND MVM.MU_VACATION_MANAGEMENT_ID = #{muVacationManagementId}
</select>
<select id="downloadVacationManagementDetailExcel" parameterType="hashmap" resultType="hashmap">
SELECT
MU_VACATION_MANAGEMENT_ID AS "muVacationManagementId"
,MU_ATTENDANCE_ID AS "muAttendanceId"
,ATTENDANCE_TYPE AS "attendanceType"
,CASE ATTENDANCE_TYPE
WHEN 'D' THEN '연차(전일)'
WHEN 'E' THEN '반차(오전)'
WHEN 'F' THEN '반차(오후)'
END AS "attendanceTypeKorName"
,DATE_FORMAT(START_DATE, '%Y-%m-%d') AS "startDate"
,DATE_FORMAT(END_DATE, '%Y-%m-%d') AS "endDate"
,CASE
WHEN START_DATE = END_DATE THEN DATE_FORMAT(START_DATE, '%Y-%m-%d')
ELSE CONCAT(DATE_FORMAT(START_DATE, '%Y-%m-%d'), '~', DATE_FORMAT(END_DATE, '%Y-%m-%d'))
END AS "startEndDate"
,USE_ATTENDANCE_COUNT AS "useDays"
,SUM(USE_ATTENDANCE_COUNT) OVER (ORDER BY RN) AS "sumUseDays"
,(DAYS + SUM(USE_ATTENDANCE_COUNT) OVER (ORDER BY RN)) AS "days"
,ETC AS "etc"
,CANCEL_ETC AS "cancelEtc"
FROM (
SELECT *,
ROW_NUMBER() OVER (ORDER BY START_DATE) AS RN
FROM (
SELECT
MVM.MU_VACATION_MANAGEMENT_ID
,MA.MU_ATTENDANCE_ID
,MA.ATTENDANCE_TYPE
,MA.START_DATE
,MA.END_DATE
,MA.STATUS
,CASE
WHEN MA.ATTENDANCE_TYPE = 'E' THEN -0.5
ELSE -(ABS(DATEDIFF(MA.END_DATE, MA.START_DATE)) + 1)
END AS USE_ATTENDANCE_COUNT
,MVM.DAYS
,MA.ETC
,MA.MOD_DATE
,'' AS CANCEL_ETC
FROM MU_VACATION_MANAGEMENT MVM
INNER JOIN MU_ATTENDANCE MA
ON MVM.MU_VACATION_MANAGEMENT_ID = MA.MU_VACATION_MANAGEMENT_ID
AND MA.USE_YN = 'Y'
AND MVM.USE_YN = 'Y'
AND MVM.YEAR = #{vacationManagementSearchYear}
AND MVM.MU_VACATION_MANAGEMENT_ID = #{muVacationManagementId}
UNION ALL
SELECT
MVM.MU_VACATION_MANAGEMENT_ID
,MA.MU_ATTENDANCE_ID
,MA.ATTENDANCE_TYPE
,MA.START_DATE
,MA.END_DATE
,MA.STATUS
,CASE
WHEN MA.ATTENDANCE_TYPE = 'E' THEN 0.5
ELSE (ABS(DATEDIFF(MA.END_DATE, MA.START_DATE)) + 1)
END AS USE_ATTENDANCE_COUNT
,MVM.DAYS
,MA.ETC
,MA.MOD_DATE
,MA.CANCEL_ETC
FROM MU_VACATION_MANAGEMENT MVM
INNER JOIN MU_ATTENDANCE MA
ON MVM.MU_VACATION_MANAGEMENT_ID = MA.MU_VACATION_MANAGEMENT_ID
AND MA.USE_YN = 'Y'
AND MVM.USE_YN = 'Y'
AND MVM.YEAR = #{vacationManagementSearchYear}
AND MVM.MU_VACATION_MANAGEMENT_ID = #{muVacationManagementId}
AND MA.STATUS = 'D'
) CombinedData
) NumberedData
<choose>
<when test="vacationManagementSubSort != null and vacationManagementSubSort != ''">
ORDER BY ${vacationManagementSubSort}
</when>
<otherwise>
ORDER BY RN DESC, START_DATE
</otherwise>
</choose>
LIMIT 18446744073709551615
</select>
<select id="selectListMemberExcel" parameterType="hashmap" resultType="hashmap">
SELECT
NAME AS "memberName"
,LOGIN_ID AS "loginId"
,GROUP_NAME AS "groupName"
,DUTY_NAME AS "dutyName"
FROM MU_MEMBER MM
JOIN MU_GROUP MG
ON MM.MU_GROUP_ID = MG.MU_GROUP_ID
JOIN MU_DUTY MD
ON MM.MU_DUTY_ID = MD.MU_DUTY_ID
WHERE MM.USE_YN='Y'
</select>
<select id="selectVacationManagementDate" parameterType="hashmap" resultType="hashmap">
SELECT COUNT(*) AS "totalCount"
FROM MU_VACATION_MANAGEMENT AS MVM
WHERE MVM.USE_YN = 'Y'
AND MVM.MU_MEMBER_ID = #{muMemberId}
AND ((DATE_FORMAT(MVM.START_DATE,'%Y-%m-%d') &lt;= #{startDate} AND DATE_FORMAT(MVM.END_DATE,'%Y-%m-%d') >= #{startDate})
OR (DATE_FORMAT(MVM.START_DATE,'%Y-%m-%d') &lt;= #{endDate} AND DATE_FORMAT(MVM.END_DATE,'%Y-%m-%d') >= #{endDate})
OR (DATE_FORMAT(MVM.START_DATE,'%Y-%m-%d') > #{startDate} AND DATE_FORMAT(MVM.END_DATE,'%Y-%m-%d') &lt; #{endDate}))
<if test="muVacationManagementId != null and muVacationManagementId != ''">
AND MU_VACATION_MANAGEMENT_ID != #{muVacationManagementId}
</if>
</select>
<select id="selectVacationManagementLeftDays" parameterType="hashmap" resultType="hashmap">
SELECT MVM.MU_VACATION_MANAGEMENT_ID AS "muVacationManagementId"
,MVM.DAYS AS "days"
,MVM.LEFT_DAYS AS "leftDays"
,DATE_FORMAT(MVM.START_DATE,'%Y-%m-%d') AS "startDate"
,DATE_FORMAT(MVM.END_DATE,'%Y-%m-%d') AS "endDate"
FROM MU_VACATION_MANAGEMENT AS MVM
WHERE MVM.USE_YN = 'Y'
AND MVM.MU_MEMBER_ID = #{muMemberId}
AND DATE_FORMAT(MVM.START_DATE, '%Y-%m-%d') &lt;= #{startDate}
AND DATE_FORMAT(MVM.END_DATE, '%Y-%m-%d') >= #{endDate}
LIMIT 0, 1
</select>
<select id="selectVacationManagementDays" parameterType="hashmap" resultType="hashmap">
SELECT MVM.MU_VACATION_MANAGEMENT_ID AS "muVacationManagementId"
,MVM.DAYS AS "days"
,CASE
WHEN DATE_FORMAT(MVM.END_DATE, '%Y-%m-%d') &lt; CURDATE() THEN 0
ELSE LEFT_DAYS
END AS "leftDays"
,DATE_FORMAT(MVM.START_DATE,'%Y-%m-%d') AS "startDate"
,DATE_FORMAT(MVM.END_DATE,'%Y-%m-%d') AS "endDate"
FROM MU_VACATION_MANAGEMENT AS MVM
WHERE MVM.USE_YN = 'Y'
AND MVM.MU_MEMBER_ID = #{muMemberId}
AND MVM.END_DATE = #{endDate}
AND MVM.START_DATE = #{startDate}
</select>
<insert id="insertVacationManagement" parameterType="hashmap">
<selectKey resultType="string" keyProperty="id" order="BEFORE">
SELECT CONCAT(#{muVacationManagementId},LPAD((SELECT NEXTVAL(MU_VACATION_MANAGEMENT_SEQ)), 10, 0))
</selectKey>
INSERT INTO MU_VACATION_MANAGEMENT(
MU_VACATION_MANAGEMENT_ID
,MU_MEMBER_ID
,MU_GROUP_ID
,MU_DUTY_ID
,YEAR
,DAYS
,LEFT_DAYS
,START_DATE
,END_DATE
,ETC
,WRITE_DATE
,WRITE_TIME
,CUD_FLAG
,USE_YN
,REG_ID
,REG_DATE
,MOD_ID
,MOD_DATE
,T_ID
,T_DATE
)VALUES(
#{id}
,#{muMemberId}
,#{muGroupId}
,#{muDutyId}
,#{year}
,#{days}
,#{days}
,#{startDate}
,#{endDate}
,#{etc, jdbcType=VARCHAR}
,CURDATE()
,CURTIME()
,'C'
,'Y'
,#{regId}
,NOW()
,#{modId}
,NOW()
,#{tId}
,#{tDate}
)
</insert>
<update id="updateVacationManagement" parameterType="hashmap">
UPDATE MU_VACATION_MANAGEMENT
SET MOD_ID = #{modId}
,MOD_DATE = NOW()
,CUD_FLAG = 'U'
,DAYS = #{days}
,START_DATE = #{startDate}
,END_DATE = #{endDate}
,YEAR = #{year}
,DAYS = #{days}
,LEFT_DAYS = #{leftDays}
,ETC = #{etc}
WHERE USE_YN = 'Y'
AND MU_VACATION_MANAGEMENT_ID = #{muVacationManagementId}
AND MU_MEMBER_ID = #{muMemberId}
</update>
<update id="updateVacationManagementLeftDays" parameterType="hashmap">
UPDATE MU_VACATION_MANAGEMENT
SET MOD_ID = #{modId}
,MOD_DATE = NOW()
,CUD_FLAG = 'U'
,LEFT_DAYS = LEFT_DAYS - #{days}
WHERE USE_YN = 'Y'
AND MU_VACATION_MANAGEMENT_ID = #{muVacationManagementId}
AND MU_MEMBER_ID = #{muMemberId}
</update>
<update id="deleteVacationManagement" parameterType="hashmap">
UPDATE MU_VACATION_MANAGEMENT
SET MOD_ID = #{modId}
,MOD_DATE = NOW()
,CUD_FLAG = 'D'
,USE_YN = 'N'
WHERE USE_YN = 'Y'
AND MU_VACATION_MANAGEMENT_ID = #{muVacationManagementId}
</update>
</mapper>

View File

@@ -0,0 +1,156 @@
<?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="WebVacation">
<select id="selectListVacationOption" parameterType="hashMap" resultType="hashMap">
SELECT MV.MU_VACATION_ID AS "muVacationId"
,MV.VACATION_NAME AS "vacationName"
,MV.HOUR_TYPE AS "hourType"
FROM MU_VACATION AS MV
WHERE MV.USE_YN = 'Y'
ORDER BY MV.VACATION_NAME ASC
</select>
<select id="selectTotalVacationCount" parameterType="hashmap" resultType="hashmap">
SELECT COUNT(*) AS "totalCount"
FROM MU_VACATION AS MV
WHERE MV.USE_YN = 'Y'
</select>
<select id="selectListVacation" parameterType="hashmap" resultType="hashmap">
SELECT MV.*
FROM (
SELECT MV.*
,CAST(@RNUM:=@RNUM + 1 AS CHAR) AS "rowNum"
FROM (
SELECT MV.MU_VACATION_ID AS "muVacationId"
,MV.VACATION_NAME AS "vacationName"
,CASE HOUR_TYPE
WHEN 'A' THEN '전일'
-- ELSE CONCAT(DATE_FORMAT(START_TIME , '%H:%i'), '시 ~',DATE_FORMAT(END_TIME, '%H:%i'), '시')
ELSE CONCAT(HOUR, '시간')
END AS "hourType"
,IFNULL(MV.AVAILABLE_DAYS, '제한없음') AS "availableDays"
,IFNULL(MV.ETC, '') AS "etc"
,DATE_FORMAT(MV.WRITE_DATE, '%Y-%m-%d') AS "writeDate"
FROM MU_VACATION AS MV
WHERE MV.USE_YN = 'Y'
<choose>
<when test="vacationSort != null and vacationSort != ''">
ORDER BY ${vacationSort}
</when>
<otherwise>
ORDER BY MV.WRITE_DATE DESC
</otherwise>
</choose>
LIMIT 18446744073709551615
) MV, (SELECT @RNUM:=0) R
WHERE 1 = 1
) MV
WHERE 1 = 1
<!-- LIMIT ${vacationStart}, ${vacationLimit} -->
</select>
<select id="selectVacation" parameterType="hashmap" resultType="hashmap">
SELECT MV.MU_VACATION_ID AS "muVacationId"
,MV.VACATION_NAME AS "vacationName"
,MV.HOUR_TYPE AS "hourType"
,MV.HOUR AS "hour"
,MV.AVAILABLE_DAYS AS "availableDays"
,IFNULL(MV.ETC, '') AS "etc"
,DATE_FORMAT(MV.WRITE_DATE, '%Y-%m-%d') AS "writeDate"
FROM MU_VACATION AS MV
WHERE MV.USE_YN = 'Y'
AND MV.MU_VACATION_ID = #{muVacationId}
LIMIT 0, 1
</select>
<insert id="insertVacation" parameterType="hashmap">
<selectKey resultType="string" keyProperty="id" order="BEFORE">
SELECT CONCAT(#{muVacationId},LPAD((SELECT NEXTVAL(MU_VACATION_SEQ)), 11, 0))
</selectKey>
INSERT INTO MU_VACATION(
MU_VACATION_ID
,VACATION_NAME
,HOUR_TYPE
<!-- <if test="startTime != null and startTime != ''">-->
<!-- ,START_TIME-->
<!-- </if>-->
<!-- <if test="endTime != null and endTime != ''">-->
<!-- ,END_TIME-->
<!-- </if>-->
<if test="hour != null and hour != ''">
,HOUR
</if>
<if test="availableDays != null and availableDays != ''">
,AVAILABLE_DAYS
</if>
,ETC
,WRITE_DATE
,WRITE_TIME
,CUD_FLAG
,USE_YN
,REG_ID
,REG_DATE
,MOD_ID
,MOD_DATE
,T_ID
,T_DATE
)VALUES(
#{id}
,#{vacationName}
,#{hourType}
<!-- <if test="startTime != null and startTime != ''">-->
<!-- ,#{startTime}-->
<!-- </if>-->
<!-- <if test="endTime != null and endTime != ''">-->
<!-- ,#{endTime}-->
<!-- </if>-->
<if test="hour != null and hour != ''">
,#{hour}
</if>
<if test="availableDays != null and availableDays != ''">
,#{availableDays}
</if>
,#{etc, jdbcType=VARCHAR}
,CURDATE()
,CURTIME()
,'C'
,'Y'
,#{regId}
,NOW()
,#{modId}
,NOW()
,#{tId}
,#{tDate}
)
</insert>
<update id="updateVacation" parameterType="hashmap">
UPDATE MU_VACATION
SET MOD_ID = #{modId}
,MOD_DATE = NOW()
,CUD_FLAG = 'U'
,VACATION_NAME = #{vacationName}
,HOUR_TYPE = #{hourType}
<if test="hour != null and hour != ''">
,HOUR = #{hour}
</if>
<if test="availableDays != null and availableDays != ''">
,AVAILABLE_DAYS = #{availableDays}
</if>
,ETC = #{etc, jdbcType=VARCHAR}
WHERE USE_YN = 'Y'
AND MU_VACATION_ID = #{muVacationId}
</update>
<update id="deleteVacation" parameterType="hashmap">
UPDATE MU_VACATION
SET MOD_ID = #{modId}
,MOD_DATE = NOW()
,CUD_FLAG = 'D'
,USE_YN = 'N'
WHERE USE_YN = 'Y'
AND MU_VACATION_ID = #{muVacationId}
</update>
</mapper>

View File

@@ -0,0 +1,172 @@
<?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="WebWork">
<select id="selectTotalWorkCount" parameterType="hashmap" resultType="hashmap">
SELECT COUNT(*) AS "totalCount"
FROM MU_WORK AS MW
WHERE MW.USE_YN = 'Y'
<if test="workSearchGroupId != null and workSearchGroupId != ''">
AND MW.MU_GROUP_ID = #{workSearchGroupId}
</if>
<if test="workSearchDutyId != null and workSearchDutyId != ''">
AND MW.MU_DUTY_ID = #{workSearchDutyId}
</if>
<if test="workSearchKeywordParam != null and workSearchKeywordParam != ''">
AND ((MW.WORK_NAME LIKE CONCAT('%',TRIM(#{workSearchKeywordParam}),'%'))
OR (MW.ETC LIKE CONCAT('%',TRIM(#{workSearchKeywordParam}),'%')))
</if>
</select>
<select id="selectListWork" parameterType="hashmap" resultType="hashmap">
SELECT MW.*
FROM (
SELECT MW.*
,CAST(@RNUM:=@RNUM + 1 AS CHAR) AS "rowNum"
FROM (
SELECT MW.MU_WORK_ID AS "muWorkId"
,MW.WORK_NAME AS "workName"
,DATE_FORMAT(MW.START_TIME, '%H:%i') AS "startTime"
,DATE_FORMAT(MW.END_TIME, '%H:%i') AS "endTime"
,CONCAT(DATE_FORMAT(MW.START_TIME, '%H:%i')
,'~'
,DATE_FORMAT(MW.END_TIME, '%H:%i')) AS "startEndTime"
,MW.MU_GROUP_ID AS "muGroupId"
,IFNULL((SELECT MG.GROUP_NAME
FROM MU_GROUP AS MG
WHERE MG.USE_YN = 'Y'
AND MG.MU_GROUP_ID = MW.MU_GROUP_ID
LIMIT 0, 1
),'') AS "groupName"
,MW.MU_DUTY_ID AS "muDutyId"
,IFNULL((SELECT MD.DUTY_NAME
FROM MU_DUTY AS MD
WHERE MD.USE_YN = 'Y'
AND MD.MU_DUTY_ID = MW.MU_DUTY_ID
LIMIT 0, 1
),'') AS "dutyName"
,IFNULL(MW.ETC, '') AS "etc"
,DATE_FORMAT(MW.WRITE_DATE, '%Y-%m-%d') AS "writeDate"
FROM MU_WORK AS MW
WHERE MW.USE_YN = 'Y'
<if test="workSearchGroupId != null and workSearchGroupId != ''">
AND MW.MU_GROUP_ID = #{workSearchGroupId}
</if>
<if test="workSearchDutyId != null and workSearchDutyId != ''">
AND MW.MU_DUTY_ID = #{workSearchDutyId}
</if>
<if test="workSearchKeywordParam != null and workSearchKeywordParam != ''">
AND ((MW.WORK_NAME LIKE CONCAT('%',TRIM(#{workSearchKeywordParam}),'%'))
OR (MW.ETC LIKE CONCAT('%',TRIM(#{workSearchKeywordParam}),'%')))
</if>
<choose>
<when test="workSort != null and workSort != ''">
ORDER BY ${workSort}
</when>
<otherwise>
ORDER BY MW.WRITE_DATE DESC
</otherwise>
</choose>
LIMIT 18446744073709551615
) MW, (SELECT @RNUM:=0) R
WHERE 1 = 1
) MW
WHERE 1 = 1
LIMIT ${workStart}, ${workLimit}
</select>
<select id="selectWork" parameterType="hashmap" resultType="hashmap">
SELECT MW.MU_WORK_ID AS "muWorkId"
,MW.WORK_NAME AS "workName"
,DATE_FORMAT(MW.START_TIME, '%H:%i') AS "startTime"
,DATE_FORMAT(MW.END_TIME, '%H:%i') AS "endTime"
,MW.MU_GROUP_ID AS "muGroupId"
,IFNULL((SELECT MG.GROUP_NAME
FROM MU_GROUP AS MG
WHERE MG.USE_YN = 'Y'
AND MG.MU_GROUP_ID = MW.MU_GROUP_ID
LIMIT 0, 1
),'') AS "groupName"
,MW.MU_DUTY_ID AS "muDutyId"
,IFNULL((SELECT MD.DUTY_NAME
FROM MU_DUTY AS MD
WHERE MD.USE_YN = 'Y'
AND MD.MU_DUTY_ID = MW.MU_DUTY_ID
LIMIT 0, 1
),'') AS "dutyName"
,IFNULL(MW.ETC, '') AS "etc"
,DATE_FORMAT(MW.WRITE_DATE, '%Y-%m-%d') AS "writeDate"
FROM MU_WORK AS MW
WHERE MW.USE_YN = 'Y'
AND MW.MU_WORK_ID = #{muWorkId}
LIMIT 0, 1
</select>
<insert id="insertWork" parameterType="hashmap">
<selectKey resultType="string" keyProperty="id" order="BEFORE">
SELECT CONCAT(#{muWorkId},LPAD((SELECT NEXTVAL(MU_WORK_SEQ)), 11, 0))
</selectKey>
INSERT INTO MU_WORK(
MU_WORK_ID
,WORK_NAME
,START_TIME
,END_TIME
,MU_GROUP_ID
,MU_DUTY_ID
,ETC
,WRITE_DATE
,WRITE_TIME
,CUD_FLAG
,USE_YN
,REG_ID
,REG_DATE
,MOD_ID
,MOD_DATE
,T_ID
,T_DATE
)VALUES(
#{id}
,#{workName}
,#{startTime}
,#{endTime}
,#{muGroupId}
,#{muDutyId}
,#{etc, jdbcType=VARCHAR}
,CURDATE()
,CURTIME()
,'C'
,'Y'
,#{regId}
,NOW()
,#{modId}
,NOW()
,#{tId}
,#{tDate}
)
</insert>
<update id="updateWork" parameterType="hashmap">
UPDATE MU_WORK
SET MOD_ID = #{modId}
,MOD_DATE = NOW()
,CUD_FLAG = 'U'
,WORK_NAME = #{workName}
,START_TIME = #{startTime}
,END_TIME = #{endTime}
,MU_GROUP_ID = #{muGroupId}
,MU_DUTY_ID = #{muDutyId}
,ETC = #{etc, jdbcType=VARCHAR}
WHERE USE_YN = 'Y'
AND MU_WORK_ID = #{muWorkId}
</update>
<update id="deleteWork" parameterType="hashmap">
UPDATE MU_WORK
SET MOD_ID = #{modId}
,MOD_DATE = NOW()
,CUD_FLAG = 'D'
,USE_YN = 'N'
WHERE USE_YN = 'Y'
AND MU_WORK_ID = #{muWorkId}
</update>
</mapper>

View File

@@ -0,0 +1,129 @@
<?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="WebYouTube">
<select id="selectTotalWebYouTubeCount" parameterType="hashmap" resultType="hashmap">
SELECT COUNT(*) AS "totalCount"
FROM MU_WEB_YOUTUBE AS MWY
WHERE MWY.USE_YN = 'Y'
<if test="webYouTubeSearchStartDate != null and webYouTubeSearchStartDate != '' and webYouTubeSearchEndDate != null and webYouTubeSearchEndDate != ''">
AND DATE_FORMAT(MWY.WRITE_DATE, '%Y-%m-%d') &gt;= #{webYouTubeSearchStartDate}
AND DATE_FORMAT(MWY.WRITE_DATE, '%Y-%m-%d') &lt;= #{webYouTubeSearchEndDate}
</if>
<if test="webYouTubeSearchKeywordParam != null and webYouTubeSearchKeywordParam != ''">
AND MWY.TITLE LIKE CONCAT('%',TRIM(#{webYouTubeSearchKeywordParam}),'%')
</if>
</select>
<select id="selectListWebYouTube" parameterType="hashmap" resultType="hashmap">
SELECT MWY.*
FROM (
SELECT MWY.*
,CAST(@RNUM:=@RNUM + 1 AS CHAR) AS "rowNum"
FROM (
SELECT MWY.MU_WEB_YOUTUBE_ID AS "muWebYouTubeId"
,MWY.TITLE AS "title"
,MWY.URL AS "url"
,CONCAT(DATE_FORMAT(MWY.WRITE_DATE, '%Y-%m-%d')
,', '
,DATE_FORMAT(MWY.WRITE_TIME, '%H:%i')) AS "writeDate"
,IFNULL((SELECT MM.NAME
FROM MU_MEMBER AS MM
WHERE MM.USE_YN = 'Y'
AND MM.MU_MEMBER_ID = MWY.REG_ID
LIMIT 0, 1
),'') AS "writeName"
FROM MU_WEB_YOUTUBE AS MWY
WHERE MWY.USE_YN = 'Y'
<if test="webYouTubeSearchStartDate != null and webYouTubeSearchStartDate != '' and webYouTubeSearchEndDate != null and webYouTubeSearchEndDate != ''">
AND DATE_FORMAT(MWY.WRITE_DATE, '%Y-%m-%d') &gt;= #{webYouTubeSearchStartDate}
AND DATE_FORMAT(MWY.WRITE_DATE, '%Y-%m-%d') &lt;= #{webYouTubeSearchEndDate}
</if>
<if test="webYouTubeSearchKeywordParam != null and webYouTubeSearchKeywordParam != ''">
AND MWY.TITLE LIKE CONCAT('%',TRIM(#{webYouTubeSearchKeywordParam}),'%')
</if>
<choose>
<when test="webYouTubeSort != null and webYouTubeSort != ''">
ORDER BY ${webYouTubeSort}
</when>
<otherwise>
ORDER BY MWY.WRITE_DATE DESC
</otherwise>
</choose>
LIMIT 18446744073709551615
) AS MWY, (SELECT @RNUM:=0) R
WHERE 1 = 1
) AS MWY
WHERE 1 = 1
<if test="webYouTubeStart != null and webYouTubeStart != '' and webYouTubeLimit != null and webYouTubeLimit != ''">
LIMIT ${webYouTubeStart}, ${webYouTubeLimit}
</if>
</select>
<select id="selectWebYouTube" parameterType="hashmap" resultType="hashmap">
SELECT MWY.MU_WEB_YOUTUBE_ID AS "muWebYouTubeId"
,MWY.TITLE AS "title"
,MWY.CONTENT AS "content"
,MWY.URL AS "url"
FROM MU_WEB_YOUTUBE AS MWY
WHERE MWY.USE_YN = 'Y'
AND MWY.MU_WEB_YOUTUBE_ID = #{muWebYouTubeId}
LIMIT 0, 1
</select>
<insert id="insertWebYouTube" parameterType="hashmap">
<selectKey resultType="string" keyProperty="id" order="BEFORE">
SELECT CONCAT(#{muWebYouTubeId},LPAD((SELECT NEXTVAL(MU_WEB_YOUTUBE_SEQ)), 10, 0))
</selectKey>
INSERT INTO MU_WEB_YOUTUBE(
MU_WEB_YOUTUBE_ID
,TITLE
,URL
,WRITE_DATE
,WRITE_TIME
,CUD_FLAG
,USE_YN
,REG_ID
,REG_DATE
,MOD_ID
,MOD_DATE
,T_ID
,T_DATE
)VALUES(
#{id}
,#{title}
,#{url}
,NOW()
,NOW()
,'C'
,'Y'
,#{regId}
,NOW()
,#{modId}
,NOW()
,#{tId}
,#{tDate}
)
</insert>
<update id="updateWebYouTube" parameterType="hashmap">
UPDATE MU_WEB_YOUTUBE
SET MOD_ID = #{modId}
,MOD_DATE = NOW()
,CUD_FLAG = 'U'
,TITLE = #{title}
,URL = #{url}
WHERE USE_YN = 'Y'
AND MU_WEB_YOUTUBE_ID = #{muWebYouTubeId}
</update>
<update id="deleteWebYouTube" parameterType="hashmap">
UPDATE MU_WEB_YOUTUBE
SET MOD_ID = #{modId}
,MOD_DATE = NOW()
,CUD_FLAG = 'D'
,USE_YN = 'N'
WHERE USE_YN = 'Y'
AND MU_WEB_YOUTUBE_ID = #{muWebYouTubeId}
</update>
</mapper>

View File

@@ -0,0 +1,34 @@
<?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="AttachFileSql">
<insert id="saveAttachFile" parameterType="hashmap">
<selectKey resultType="string" keyProperty="attachfileId" order="BEFORE">
SELECT CONCAT('ATF-', LPAD(NEXTVAL(seq_attachfile_id), 21, '0'))
</selectKey>
/** AttachFileSql.saveAttachFile **/
INSERT INTO HP_ATTACH_FILE(
ATTACHFILE_ID
,ATTACHFILE_NM
,FILE_PATH
,FILE_SIZE
,FILE_TYPE
,REG_ID
,REG_DATE
,MOD_ID
,MOD_DATE
)VALUES(
#{attachfileId}
,#{attachfileNm}
,#{filePath}
,#{fileSize}
,#{fileType}
,#{regId}
,NOW()
,#{modId}
,NOW()
)
</insert>
</mapper>

View File

@@ -0,0 +1,84 @@
<?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="AppointmentSql">
<select id="getAppointmentCnt" resultType="Integer">
/** AppointmentSql.getAppointmentCnt **/
SELECT COUNT(*) as TOTAL_COUNT
FROM (SELECT 1
FROM MU_RESERVE A, MU_TREATMENT_PROCEDURE_PRICE B
WHERE A.MU_TREATMENT_PROCEDURE_ID = B.MU_TREATMENT_PROCEDURE_ID
AND A.RESERVE_HOMEPAGE_YN = 'Y'
<where>
<if test="@org.springframework.util.StringUtils@hasLength(userName)">
AND A.USER_NAME LIKE CONCAT('%',#{userName},'%')
</if>
<if test="@org.springframework.util.StringUtils@hasLength(treatmentName)">
AND A.TREATMENT_NAME LIKE CONCAT('%', #{treatmentName}, '%')
</if>
<if test="@org.springframework.util.StringUtils@hasLength(treatmentProcedureName)">
AND A.TREATMENT_PROCEDURE_NAME LIKE CONCAT('%', #{treatmentProcedureName}, '%')
</if>
<if test="@org.springframework.util.StringUtils@hasLength(phoneNumber)">
AND A.PHONE_NUMBER = CONCAT('%', #{phoneNumber}, '%')
</if>
</where>
) total
</select>
<select id="getAppointmentList" parameterType="hashmap" resultType="hashmap">
/** AppointmentSql.getAppointmentList **/
SELECT R.*
FROM (
SELECT R.*
,CAST(@RNUM:=@RNUM + 1 AS CHAR) as ROW_NUM
FROM (
SELECT A.MU_RESERVE_ID
, A.USER_NAME
, A.RESERVE_DATE
, A.RESERVE_TIME
, A.MU_TREATMENT_ID
, A.TREATMENT_NAME
, A.MU_TREATMENT_PROCEDURE_ID
, A.TREATMENT_PROCEDURE_NAME
, A.PHONE_NUMBER
, B.PRICE
, B.VAT
, B.DISCOUNT_PRICE
FROM MU_RESERVE A, MU_TREATMENT_PROCEDURE_PRICE B
WHERE A.MU_TREATMENT_PROCEDURE_ID = B.MU_TREATMENT_PROCEDURE_ID
AND A.RESERVE_HOMEPAGE_YN = 'Y'
<where>
<if test="@org.springframework.util.StringUtils@hasLength(userName)">
AND A.USER_NAME LIKE CONCAT('%',#{userName},'%')
</if>
<if test="@org.springframework.util.StringUtils@hasLength(treatmentName)">
AND A.TREATMENT_NAME LIKE CONCAT('%', #{treatmentName}, '%')
</if>
<if test="@org.springframework.util.StringUtils@hasLength(treatmentProcedureName)">
AND A.TREATMENT_PROCEDURE_NAME LIKE CONCAT('%', #{treatmentProcedureName}, '%')
</if>
<if test="@org.springframework.util.StringUtils@hasLength(phoneNumber)">
AND A.PHONE_NUMBER = CONCAT('%', #{phoneNumber}, '%')
</if>
</where>
<choose>
<when test="@org.springframework.util.StringUtils@hasLength(gridSort)">
ORDER BY ${gridSort}
</when>
<otherwise>
ORDER BY REG_DATE
</otherwise>
</choose>
LIMIT 18446744073709551615
) R, (SELECT @RNUM:=0) R
WHERE 1 = 1
) R
WHERE 1 = 1
LIMIT ${gridLimitStart}, ${gridLimitEnd}
</select>
</mapper>

View File

@@ -0,0 +1,114 @@
<?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="CategoryManagementSql">
<select id="getCategoryManagementCnt" resultType="Integer">
/** CategoryManagementSql.getCategoryManagementCnt **/
SELECT COUNT(*) as TOTAL_COUNT
FROM (SELECT CATEGORY_NO
, CATEGORY_DIV_CD
, CATEGORY_NM
, REG_DATE
FROM madeu.HP_CATEGORY
<where>
<if test="@org.springframework.util.StringUtils@hasLength(searchCategoryDivCd)">
AND CATEGORY_DIV_CD = #{searchCategoryDivCd}
</if>
<if test="@org.springframework.util.StringUtils@hasLength(searchCategoryNm)">
AND CATEGORY_NM LIKE CONCAT('%', #{searchCategoryNm}, '%')
</if>
AND USE_YN = 'Y'
</where>
) total
</select>
<select id="getCategoryManagementList" parameterType="hashmap" resultType="hashmap">
/** CategoryManagementSql.getCategoryManagementList **/
SELECT HC.*
FROM (
SELECT HC.*
,CAST(@RNUM:=@RNUM + 1 AS CHAR) as ROW_NUM
FROM (
SELECT CATEGORY_NO
, CATEGORY_DIV_CD
, CATEGORY_NM
, DATE_FORMAT(REG_DATE, '%Y-%m-%d %H:%i') AS REG_DATE
FROM madeu.HP_CATEGORY
<where>
<if test="@org.springframework.util.StringUtils@hasLength(searchCategoryDivCd)">
AND CATEGORY_DIV_CD = #{searchCategoryDivCd}
</if>
<if test="@org.springframework.util.StringUtils@hasLength(searchCategoryNm)">
AND CATEGORY_NM LIKE CONCAT('%', #{searchCategoryNm}, '%')
</if>
AND USE_YN = 'Y'
</where>
<choose>
<when test="@org.springframework.util.StringUtils@hasLength(gridSort)">
ORDER BY ${gridSort}
</when>
<otherwise>
ORDER BY CATEGORY_DIV_CD, CATEGORY_NO
</otherwise>
</choose>
LIMIT 18446744073709551615
) HC, (SELECT @RNUM:=0) R
WHERE 1 = 1
) HC
WHERE 1 = 1
ORDER BY HC.CATEGORY_DIV_CD, HC.REG_DATE ASC
LIMIT ${gridLimitStart}, ${gridLimitEnd}
</select>
<insert id="putCategoryManagement" parameterType="hashmap">
<selectKey resultType="string" keyProperty="categoryNo" order="BEFORE">
SELECT NVL(MAX(CATEGORY_NO),0) + 1 FROM HP_CATEGORY WHERE CATEGORY_DIV_CD = #{categoryDivCd}
</selectKey>
/** CategoryManagementSql.putCategoryManagement **/
INSERT INTO HP_CATEGORY(
CATEGORY_NO
, CATEGORY_DIV_CD
, CATEGORY_NM
, USE_YN
, REG_ID
, REG_DATE
, MOD_ID
, MOD_DATE
) VALUES (
#{categoryNo},
#{categoryDivCd},
#{categoryNm},
'Y',
#{regId},
NOW(),
#{regId},
NOW()
)
</insert>
<update id="modCategoryManagement" parameterType="hashmap">
/** CategoryManagementSql.modCategoryManagement **/
UPDATE HP_CATEGORY
SET CATEGORY_NM = #{categoryNm}
,MOD_ID = #{modId}
,MOD_DATE = NOW()
WHERE CATEGORY_NO = #{categoryNo}
AND CATEGORY_DIV_CD = #{categoryDivCd}
AND USE_YN = 'Y'
</update>
<update id="delCategoryManagement" parameterType="hashmap">
/** CategoryManagementSql.delCategoryManagement **/
UPDATE HP_CATEGORY
SET USE_YN = 'N'
,MOD_ID = #{modId}
,MOD_DATE = NOW()
WHERE CATEGORY_NO = #{categoryNo}
AND CATEGORY_DIV_CD = #{categoryDivCd}
AND USE_YN = 'Y'
</update>
</mapper>

View File

@@ -0,0 +1,302 @@
<?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="ContentsBbsSql">
<select id="getContentsBbsCnt" resultType="Integer">
/** "ContentsBbsSql".getContentsBbsCnt **/
SELECT COUNT(*) as TOTAL_COUNT
FROM (SELECT HCB.CATEGORY_DIV_CD, HCB.CATEGORY_NO, HCB.POST_NO
FROM HP_CATEGORY HC,
HP_CONTENTS_BBS HCB
WHERE HC.CATEGORY_DIV_CD = HCB.CATEGORY_DIV_CD
AND HC.CATEGORY_NO = HCB.CATEGORY_NO
AND HCB.USE_YN = 'Y'
AND HCB.CATEGORY_DIV_CD = #{categoryDivCd}
<if test="@org.springframework.util.StringUtils@hasLength(categoryNm)">
AND HCB.CATEGORY_NM LIKE CONCAT('%', #{categoryNm}, '%')
</if>
<if test="@org.springframework.util.StringUtils@hasLength(title)">
AND HCB.TITLE LIKE CONCAT('%', #{title}, '%')
</if>
<if test="@org.springframework.util.StringUtils@hasLength(regNm)">
AND MM.NAME = #{regNm}
</if>
) total
</select>
<select id="getContentsBbsList" parameterType="hashmap" resultType="hashmap">
/** ContentsBbsSql.getContentsBbsList **/
SELECT HCB.*
FROM (
SELECT HCB.*
,CAST(@RNUM:=@RNUM + 1 AS CHAR) as ROW_NUM
FROM (
SELECT HCB.POST_NO
,HCB.TITLE
,HCB.CONTENT
,HC.CATEGORY_NM
,HC.CATEGORY_NO
,HCB.THUMBNAIL_BOTTOM_TXT
,HCB.HASHTAG
,DATE_FORMAT(HCB.REG_DATE, '%Y-%m-%d') as REG_DT
,MM.NAME as REG_NM
FROM HP_CATEGORY HC,
HP_CONTENTS_BBS HCB,
(SELECT * FROM MU_MEMBER WHERE USE_YN = 'Y') MM
WHERE HC.CATEGORY_DIV_CD = HCB.CATEGORY_DIV_CD
AND HCB.REG_ID = MM.MU_MEMBER_ID
AND HC.CATEGORY_NO = HCB.CATEGORY_NO
AND HCB.USE_YN = 'Y'
AND HC.USE_YN = 'Y'
AND HCB.CATEGORY_DIV_CD = #{categoryDivCd}
<if test="@org.springframework.util.StringUtils@hasLength(categoryNm)">
AND HCB.CATEGORY_NM LIKE CONCAT('%', #{categoryNm}, '%')
</if>
<if test="@org.springframework.util.StringUtils@hasLength(title)">
AND HCB.TITLE LIKE CONCAT('%', #{title}, '%')
</if>
<if test="@org.springframework.util.StringUtils@hasLength(regNm)">
AND MM.NAME = #{regNm}
</if>
<choose>
<when test="@org.springframework.util.StringUtils@hasLength(webTreatmentPetitSort)">
ORDER BY ${webTreatmentPetitSort}
</when>
<otherwise>
ORDER BY CATEGORY_NO, POST_NO ASC
</otherwise>
</choose>
LIMIT 18446744073709551615
) HCB, (SELECT @RNUM:=0) R
WHERE 1 = 1
) HCB
WHERE 1 = 1
LIMIT ${webTreatmentPetitStart}, ${webTreatmentPetitLimit}
</select>
<select id="getContentsBbs" parameterType="hashmap" resultType="hashmap">
/** ContentsBbsSql.getContentsBbs **/
SELECT HCB.POST_NO
,HCB.CATEGORY_NO
,HCB.TITLE
,HCB.CONTENT
,HCB.HASHTAG
,HCB.THUMBNAIL_BOTTOM_TXT
,HAF2.FILE_PATH as THUMBNAIL_IMG_PATH
,HAF.FILE_PATH as CONTENT_IMG_PATH
,HCB.OLD_CRM_ITEM_ID
FROM HP_CONTENTS_BBS AS HCB
LEFT OUTER JOIN HP_ATTACH_FILE HAF ON HAF.ATTACHFILE_ID = HCB.CONTENTS_ATTACHFILE_ID
LEFT OUTER JOIN HP_ATTACH_FILE HAF2 ON HAF2.ATTACHFILE_ID = HCB.THUMBNAIL_ATTACHFILE_ID
WHERE HCB.USE_YN = 'Y'
AND HCB.CATEGORY_DIV_CD = #{categoryDivCd}
AND HCB.CATEGORY_NO = #{categoryNo}
AND HCB.POST_NO = #{postNo}
LIMIT 0, 1
</select>
<select id="getProcedureList" parameterType="hashmap" resultType="hashmap">
/** ContentsBbsSql.getProcedureList **/
SELECT HCBP.POST_NO
,HCBP.CATEGORY_NO
,HCBP.MU_TREATMENT_ID
,HCBP.MU_TREATMENT_PROCEDURE_ID
,MTP.TREATMENT_PROCEDURE_NAME
,MTPP.PRICE
,IFNULL(MTPP.DISCOUNT_PRICE, 0) as DISCOUNT_PRICE
FROM HP_CONTENTS_BBS_PROCEDURE AS HCBP
LEFT OUTER JOIN MU_TREATMENT_PROCEDURE MTP ON HCBP.MU_TREATMENT_ID = MTP.MU_TREATMENT_ID AND HCBP.MU_TREATMENT_PROCEDURE_ID = MTP.MU_TREATMENT_PROCEDURE_ID
LEFT OUTER JOIN MU_TREATMENT_PROCEDURE_PRICE MTPP ON MTP.MU_TREATMENT_PROCEDURE_ID = MTPP.MU_TREATMENT_PROCEDURE_ID
WHERE HCBP.USE_YN = 'Y'
AND MTP.USE_YN = 'Y'
AND MTP.ENABLE_YN = 'Y'
AND MTPP.USE_YN = 'Y'
AND HCBP.CATEGORY_DIV_CD = #{categoryDivCd}
AND HCBP.CATEGORY_NO = #{categoryNo}
AND HCBP.POST_NO = #{postNo}
</select>
<insert id="putContentsBbs" parameterType="hashmap">
<selectKey resultType="string" keyProperty="postNo" order="BEFORE">
SELECT NVL(MAX(POST_NO),0) + 1 FROM HP_CONTENTS_BBS WHERE CATEGORY_DIV_CD = #{categoryDivCd} AND CATEGORY_NO = ${categoryNo}
</selectKey>
/** ContentsBbsSql.putContentsBbs **/
INSERT INTO HP_CONTENTS_BBS(
CATEGORY_DIV_CD
,CATEGORY_NO
,POST_NO
,TITLE
,CONTENT
,THUMBNAIL_BOTTOM_TXT
,THUMBNAIL_ATTACHFILE_ID
,CONTENTS_ATTACHFILE_ID
,HASHTAG
,USE_YN
,REG_ID
,REG_DATE
,MOD_ID
,MOD_DATE
,OLD_CRM_ITEM_ID
)VALUES(
#{categoryDivCd}
,#{categoryNo}
,#{postNo}
,#{title}
,#{content}
,#{thumbnail_bottom_txt}
,#{thumbnailAttachfileId}
,#{contentsAttachfileId}
,#{hashtag}
,'Y'
,#{regId}
,NOW()
,#{modId}
,NOW()
,#{oldCrmItemId}
)
</insert>
<insert id="insertWebTreatmentPetitContentFile" parameterType="hashmap">
<selectKey resultType="string" keyProperty="contentId" order="BEFORE">
SELECT CONCAT('ATF-', LPAD(NEXTVAL(seq_attachfile_id), 21, '0'))
</selectKey>
/** ContentsBbsSql.insertWebTreatmentPetitContentFile **/
INSERT INTO HP_ATTACH_FILE(
ATTACHFILE_ID
,ATTACHFILE_NM
,FILE_PATH
,FILE_SIZE
,FILE_TYPE
,REG_ID
,REG_DATE
,MOD_ID
,MOD_DATE
)VALUES(
#{contentId}
,#{fileName2}
,#{filePath2}
,'0'
,#{fileType2}
,#{regId}
,NOW()
,#{modId}
,NOW()
)
</insert>
<insert id="insertWebTreatmentPetitThumbnailFile" parameterType="hashmap">
<selectKey resultType="string" keyProperty="thumbnailId" order="BEFORE">
SELECT CONCAT('ATF-', LPAD(NEXTVAL(seq_attachfile_id), 21, '0'))
</selectKey>
/** ContentsBbsSql.insertWebTreatmentPetitThumbnailFile **/
INSERT INTO HP_ATTACH_FILE(
ATTACHFILE_ID
,ATTACHFILE_NM
,FILE_PATH
,FILE_SIZE
,FILE_TYPE
,REG_ID
,REG_DATE
,MOD_ID
,MOD_DATE
)VALUES(
#{thumbnailId}
,#{fileName}
,#{filePath}
,'0'
,#{fileType}
,#{regId}
,NOW()
,#{modId}
,NOW()
)
</insert>
<update id="delContentsBbsProcedure" parameterType="hashmap">
/** ContentsBbsSql.delContentsBbsProcedure **/
UPDATE HP_CONTENTS_BBS_PROCEDURE
SET USE_YN = 'N'
WHERE CATEGORY_DIV_CD = #{categoryDivCd}
AND CATEGORY_NO = ${categoryNo}
AND POST_NO = #{postNo}
</update>
<insert id="putContentsBbsProcedure" parameterType="hashmap">
/** ContentsBbsSql.putContentsBbsProcedure **/
INSERT INTO HP_CONTENTS_BBS_PROCEDURE(
CATEGORY_DIV_CD
,CATEGORY_NO
,POST_NO
,MU_TREATMENT_ID
,MU_TREATMENT_PROCEDURE_ID
,USE_YN
,REG_ID
,REG_DATE
,MOD_ID
,MOD_DATE
)VALUES(
#{categoryDivCd}
,#{categoryNo}
,#{postNo}
,#{muTreatmentId}
,#{muTreatmentProcedureId}
,'Y'
,#{regId}
,NOW()
,#{modId}
,NOW()
)ON DUPLICATE KEY UPDATE
USE_YN = 'Y';
</insert>
<update id="modContentsBbs" parameterType="hashmap">
/** ContentsBbsSql.modContentsBbs **/
UPDATE HP_CONTENTS_BBS
SET TITLE = #{title}
,CONTENT = #{content}
,THUMBNAIL_BOTTOM_TXT = #{thumbnailBottomTxt}
,HASHTAG = #{hashtag}
<if test="@org.springframework.util.StringUtils@hasLength(thumbnailAttachfileId)">
,THUMBNAIL_ATTACHFILE_ID = #{thumbnailAttachfileId}
</if>
<if test="@org.springframework.util.StringUtils@hasLength(contentsAttachfileId)">
,CONTENTS_ATTACHFILE_ID = #{contentsAttachfileId}
</if>
,MOD_ID = #{modId}
,MOD_DATE = NOW()
<if test="@org.springframework.util.StringUtils@hasLength(oldCrmItemId)">
,OLD_CRM_ITEM_ID = #{oldCrmItemId}
</if>
WHERE USE_YN = 'Y'
AND CATEGORY_DIV_CD = #{categoryDivCd}
AND CATEGORY_NO = #{categoryNo}
AND POST_NO = #{postNo}
</update>
<update id="delContentsBbs" parameterType="hashmap">
/** ContentsBbsSql.delContentsBbs **/
UPDATE HP_CONTENTS_BBS
SET MOD_ID = #{modId}
, MOD_DATE = NOW()
, USE_YN = 'N'
WHERE USE_YN = 'Y'
AND CATEGORY_DIV_CD = #{categoryDivCd}
AND (CATEGORY_NO, POST_NO) IN
<foreach collection="delList" item="item" open="(" separator="," close=")">
(#{item.categoryNo}, #{item.postNo})
</foreach>
</update>
<select id="getCategoryList" parameterType="hashmap" resultType="hashmap">
/** ContentsBbsSql.getCategoryList **/
SELECT HC.CATEGORY_NO
,HC.CATEGORY_NM
FROM HP_CATEGORY AS HC
WHERE HC.USE_YN = 'Y'
AND HC.CATEGORY_DIV_CD = #{categoryDivCd}
ORDER BY HC.CATEGORY_NO ASC
</select>
</mapper>

View File

@@ -0,0 +1,161 @@
<?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="FeedbackReceptionSql">
<select id="getFeedbackReceptionCnt" resultType="Integer">
/** FeedbackReceptionSql.getFeedbackReceptionCnt **/
SELECT COUNT(*) as TOTAL_COUNT
FROM (SELECT POST_NO
, BRANCH_OFFICE_CD
, MB_NAME
, MB_HP
, OPINION_CLASSIFICATION_CD
, CONTENT
, REG_DATE
FROM madeu.HP_CMP_CPL_BBS
<where>
<if test="@org.springframework.util.StringUtils@hasLength(branchOfficeCd)">
AND BRANCH_OFFICE_CD = #{branchOfficeCd}
</if>
<if test="@org.springframework.util.StringUtils@hasLength(mbName)">
AND MB_NAME LIKE CONCAT('%', #{mbName}, '%')
</if>
<if test="@org.springframework.util.StringUtils@hasLength(mbHp)">
AND MB_HP LIKE CONCAT('%', #{mbHp}, '%')
</if>
<if test="@org.springframework.util.StringUtils@hasLength(opinionClassificationCd)">
AND OPINION_CLASSIFICATION_CD = #{opinionClassificationCd}
</if>
</where>
) total
</select>
<select id="getFeedbackReceptionList" parameterType="hashmap" resultType="hashmap">
/** FeedbackReceptionSql.getFeedbackReceptionList **/
SELECT HCCB.*
FROM (
SELECT HCCB.*
,CAST(@RNUM:=@RNUM + 1 AS CHAR) as ROW_NUM
FROM (
SELECT A.POST_NO
, A.BRANCH_OFFICE_CD
, A.MB_NAME
, A.MB_HP
, A.OPINION_CLASSIFICATION_CD
, A.CONTENT
, DATE_FORMAT(A.REG_DATE, '%Y-%m-%d %H:%i') AS REG_DATE
, DATE_FORMAT(B.REG_DATE, '%Y-%m-%d %H:%i') AS REPLY_REG_DATE
, (SELECT NAME FROM madeu.MU_MEMBER WHERE MU_MEMBER_ID = B.REG_ID) AS REPLY_REG_NM
, B.CONTENT AS REPLY_CONTENT
FROM madeu.HP_CMP_CPL_BBS A
LEFT OUTER JOIN madeu.HP_CMP_CPL_BBS_REPLY B
ON A.POST_NO = B.POST_NO
AND B.REPLY_NO = (
SELECT MAX(REPLY_NO)
FROM madeu.HP_CMP_CPL_BBS_REPLY
WHERE POST_NO = A.POST_NO
)
<where>
<if test="@org.springframework.util.StringUtils@hasLength(branchOfficeCd)">
AND A.BRANCH_OFFICE_CD = #{branchOfficeCd}
</if>
<if test="@org.springframework.util.StringUtils@hasLength(mbName)">
AND A.MB_NAME LIKE CONCAT('%', #{mbName}, '%')
</if>
<if test="@org.springframework.util.StringUtils@hasLength(mbHp)">
AND A.MB_HP LIKE CONCAT('%', #{mbHp}, '%')
</if>
<if test="@org.springframework.util.StringUtils@hasLength(opinionClassificationCd)">
AND A.OPINION_CLASSIFICATION_CD = #{opinionClassificationCd}
</if>
</where>
<choose>
<when test="@org.springframework.util.StringUtils@hasLength(gridSort)">
ORDER BY ${gridSort}
</when>
<otherwise>
ORDER BY REG_DATE
</otherwise>
</choose>
LIMIT 18446744073709551615
) HCCB, (SELECT @RNUM:=0) R
WHERE 1 = 1
) HCCB
WHERE 1 = 1
LIMIT ${gridLimitStart}, ${gridLimitEnd}
</select>
<select id="getFeedbackReception" parameterType="hashmap" resultType="hashmap">
/** FeedbackReceptionSql.getFeedbackReception **/
SELECT POST_NO
, BRANCH_OFFICE_CD
, MB_NAME
, MB_HP
, OPINION_CLASSIFICATION_CD
, CONTENT
, DATE_FORMAT(REG_DATE, '%Y-%m-%d %H:%i') AS REG_DATE
FROM madeu.HP_CMP_CPL_BBS
WHERE POST_NO = #{postNo}
</select>
<insert id="putFeedbackReception" parameterType="hashmap">
<selectKey resultType="string" keyProperty="postNo" order="BEFORE">
SELECT NVL(MAX(POST_NO),0) + 1 FROM HP_CMP_CPL_BBS
</selectKey>
/** FeedbackReceptionSql.putFeedbackReception **/
INSERT INTO HP_CMP_CPL_BBS(
POST_NO,
BRANCH_OFFICE_CD,
MB_NAME,
MB_HP,
OPINION_CLASSIFICATION_CD,
CONTENT,
REG_DATE
) VALUES (
#{postNo},
#{branchOfficeCd},
#{mbName},
#{mbHp},
#{opinionClassificationCd},
#{content},
NOW()
)
</insert>
<update id="modFeedbackReception" parameterType="hashmap">
/** FeedbackReceptionSql.modFeedbackReception **/
UPDATE HP_CMP_CPL_BBS
SET BRANCH_OFFICE_CD = #{branchOfficeCd}
,MB_NAME = #{mbName}
,MB_HP = #{mbHp}
,OPINION_CLASSIFICATION_CD = #{opinionClassificationCd}
,CONTENT = #{content}
WHERE POST_NO = #{postNo}
</update>
<insert id="putFeedbackReceptionReply" parameterType="hashmap">
<selectKey resultType="string" keyProperty="replyNo" order="BEFORE">
SELECT NVL(MAX(REPLY_NO),0) + 1 FROM HP_CMP_CPL_BBS_REPLY WHERE POST_NO = #{postNo}
</selectKey>
/** FeedbackReceptionSql.putFeedbackReceptionReply **/
INSERT INTO HP_CMP_CPL_BBS_REPLY(
POST_NO,
REG_ID,
REG_DATE,
REPLY_NO,
CONTENT,
MSG_SEND_YN
) VALUES (
#{postNo},
#{loginMemberId},
NOW(),
#{replyNo},
#{replyContent},
#{msgSendYn}
)
</insert>
</mapper>

View File

@@ -0,0 +1,614 @@
<?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="KioskSql">
<select id="getTreatmentOptionList" parameterType="hashmap" resultType="hashmap">
/** KioskSql.getTreatmentOptionList **/
SELECT MT.MU_TREATMENT_ID AS "muTreatmentId"
,MT.TREATMENT_NAME AS "treatmentName"
FROM MU_TREATMENT AS MT
WHERE MT.USE_YN = 'Y'
AND MT.TREATMENT_NAME != '멤버십'
ORDER BY MT.ORDER_NUMBER ASC
</select>
<select id="getCategoryList" parameterType="hashmap" resultType="hashmap">
/** KioskSql.getCategoryList **/
SELECT
CATEGORY_CODE AS "categoryCode"
,CATEGORY_NAME AS "categoryName"
FROM MU_CATEGORY
WHERE USE_YN = 'Y'
GROUP BY CATEGORY_CODE
ORDER BY CATEGORY_CODE ASC
</select>
<select id="getCategoryItem" parameterType="hashmap" resultType="hashmap">
/** KioskSql.getCategoryItem **/
SELECT
MCI.CATEGORY_CODE AS "categoryCode"
,MC.CATEGORY_NAME AS "categoryName"
,MCI.CATEGORY_ITEM_CODE AS "categoryItemCode"
,MCI.CATEGORY_ITEM_NAME AS "categoryItemName"
,MCI.FILE_PATH AS "filePath"
,MCI.FILE_NAME AS "fileName"
,MCI.ORIGINAL_FILE_NAME AS "originalFileName"
,MCI.ETC AS "etc"
,MCI.ORDER_NUMBER AS "orderNumber"
FROM
MU_CATEGORY MC,MU_CATEGORY_ITEM MCI
WHERE MC.CATEGORY_CODE = MCI.CATEGORY_CODE
AND MCI.USE_YN = 'Y'
AND MC.USE_YN = 'Y'
AND MC.CATEGORY_CODE = #{categoryCode}
ORDER BY ORDER_NUMBER
</select>
<select id="getUserOptionListCnt" resultType="Integer">
/** KioskSql.getUserOptionListCnt **/
SELECT COUNT(*) AS "totalCount"
FROM MU_USER AS MU
LEFT JOIN MU_CATEGORY_ITEM AS MCIN
ON MCIN.MU_CATEGORY_ITEM_ID = MU.NATIONALITY
LEFT JOIN MU_CATEGORY_ITEM AS MCIT
ON MCIT.MU_CATEGORY_ITEM_ID = MU.USER_TYPE
WHERE MU.USE_YN = 'Y'
<if test="userType != null and userType != ''">
AND MCIT.CATEGORY_ITEM_CODE = #{userType}
AND MCIT.CATEGORY_CODE = #{userTypeCode}
</if>
<if test="nationality != null and nationality != ''">
AND MCIN.CATEGORY_ITEM_CODE = #{nationality}
AND MCIN.CATEGORY_CODE = #{nationalityCode}
</if>
<if test="membershipYn != null and membershipYn != ''">
AND MU.MEMBERSHIP_YN = #{membershipYn}
</if>
<if test="userSearchKeywordParam != null and userSearchKeywordParam != ''">
AND (MU.USER_NAME LIKE CONCAT('%',TRIM(#{userSearchKeywordParam}),'%')
OR MU.PHONE_NUMBER LIKE CONCAT('%',TRIM(#{userSearchKeywordParam}),'%')
OR DATE_FORMAT(MU.BIRTHDAY,'%Y%m%d') LIKE CONCAT('%',TRIM(#{userSearchKeywordParam}),'%'))
</if>
</select>
<select id="getUserOptionList" parameterType="hashmap" resultType="hashmap">
/** KioskSql.getUserOptionList **/
SELECT ROW_NUMBER() OVER (ORDER BY MU.REG_DATE DESC) AS "rowNum"
,MU.MU_USER_ID AS "muUserId"
,MU.USER_NAME AS "userName"
,MCIN.CATEGORY_ITEM_NAME AS "nationality"
,DATE_FORMAT(MU.BIRTHDAY, '%Y-%m-%d') AS "birthday"
,TIMESTAMPDIFF(YEAR, MU.BIRTHDAY, CURDATE()) - (DATE_FORMAT(CURDATE(), '%m%d') <![CDATA[ < ]]> DATE_FORMAT(MU.BIRTHDAY, '%m%d'))
AS "age"
,CASE MU.GENDER
WHEN 'M' THEN '남'
WHEN 'F' THEN '여'
ELSE ''
END AS "gender"
,IFNULL(MCIT.FILE_PATH,MU.USER_TYPE2) AS "userType"
,MU.USER_TYPE2 AS "userType2"
,MU.PHONE_NUMBER AS "phoneNumber"
,CASE MU.MEMBERSHIP_YN
WHEN 'Y' THEN '가입'
WHEN 'N' THEN '미가입'
END AS "membershipYn"
,MU.ETC AS "etc"
,MU.MEMO AS "memo"
,IFNULL(DATE_FORMAT(MU.LAST_VISIT_DATE, '%Y-%m-%d'), '') AS "lastVisitDate"
,CASE IFNULL(APP_USE_YN,'N')
WHEN 'Y' THEN
CASE APP_STATUS
WHEN 'C' THEN '가입'
WHEN 'D' THEN '탈퇴'
ELSE '미가입'
END
WHEN 'N' THEN '미가입'
END AS "appUseYn"
FROM MU_USER AS MU
LEFT JOIN MU_CATEGORY_ITEM AS MCIN
ON MCIN.MU_CATEGORY_ITEM_ID = MU.NATIONALITY
LEFT JOIN MU_CATEGORY_ITEM AS MCIT
ON MCIT.MU_CATEGORY_ITEM_ID = MU.USER_TYPE
WHERE MU.USE_YN = 'Y'
<if test="userType != null and userType != ''">
AND MCIT.CATEGORY_ITEM_CODE = #{userType}
AND MCIT.CATEGORY_CODE = #{userTypeCode}
</if>
<if test="nationality != null and nationality != ''">
AND MCIN.CATEGORY_ITEM_CODE = #{nationality}
AND MCIN.CATEGORY_CODE = #{nationalityCode}
</if>
<if test="membershipYn != null and membershipYn != ''">
AND MU.MEMBERSHIP_YN = #{membershipYn}
</if>
<if test="appUseYn != null and appUseYn != ''">
AND (
(#{appUseYn} = 'Y' AND MU.APP_STATUS = 'C' AND MU.APP_USE_YN = 'Y') OR
(#{appUseYn} = 'N' AND MU.APP_USE_YN = 'N') OR
(#{appUseYn} = 'D' AND MU.APP_USE_YN = 'Y' AND MU.APP_STATUS = 'D')
)
</if>
<if test="userSearchKeywordParam != null and userSearchKeywordParam != ''">
AND (MU.USER_NAME LIKE CONCAT('%',TRIM(#{userSearchKeywordParam}),'%')
OR MU.PHONE_NUMBER LIKE CONCAT('%',TRIM(#{userSearchKeywordParam}),'%')
OR DATE_FORMAT(MU.BIRTHDAY,'%Y%m%d') LIKE CONCAT('%',TRIM(#{userSearchKeywordParam}),'%'))
</if>
<choose>
<when test="userSort != null and userSort != ''">
ORDER BY ${userSort}
</when>
<otherwise>
ORDER BY MU.REG_DATE DESC
</otherwise>
</choose>
<if test="userStart != null and userStart != ''">
LIMIT ${userStart}
<if test="userLimit != null and userLimit != ''">
,${userLimit}
</if>
</if>
</select>
<insert id="putUser" parameterType="hashmap">
/** KioskSql.insertUser **/
<selectKey resultType="HashMap" keyProperty="userNumber" order="BEFORE">
SELECT USER.id AS id
,USER.NUMBER AS number
,MCIN.MU_CATEGORY_ITEM_ID AS nationality
,MCIT.MU_CATEGORY_ITEM_ID AS userType
,MCIC.MU_CATEGORY_ITEM_ID AS channel
FROM (SELECT CONCAT('U', DATE_FORMAT(NOW(), '%Y%m%d'), '-', LPAD(IFNULL(MAX(SUBSTRING(USER_NUMBER, 11)) + 1, 1), 3, '0')) AS NUMBER
,CONCAT(#{muUserId},LPAD((SELECT NEXTVAL(MU_USER_SEQ)), 11, 0)) AS id
FROM MU_USER AS MU
WHERE USER_NUMBER LIKE CONCAT('U', DATE_FORMAT(NOW(), '%Y%m%d'), '%')
) AS USER
LEFT JOIN MU_CATEGORY_ITEM AS MCIN
ON MCIN.CATEGORY_CODE = #{nationalityCode}
AND MCIN.CATEGORY_ITEM_CODE = #{nationality}
LEFT JOIN MU_CATEGORY_ITEM AS MCIT
ON MCIT.CATEGORY_CODE = #{userTypeCode}
AND MCIT.CATEGORY_ITEM_CODE = #{userType}
LEFT JOIN MU_CATEGORY_ITEM AS MCIC
ON MCIC.CATEGORY_CODE = #{channelCode}
AND MCIC.CATEGORY_ITEM_CODE = #{channel}
</selectKey>
INSERT INTO MU_USER (
MU_USER_ID
,USER_NUMBER
,USER_NAME
,NATIONALITY
,BIRTHDAY
,GENDER
,USER_RRN1
,USER_RRN2
,USER_PNO
,USER_ARC1
,USER_ARC2
,USER_TYPE
,PHONE_NUMBER
,PHONE_NUMBER2
,MU_GROUP_ID
,CHANNEL
,INTRO_USER_ID
,INTRO_MEMBER_ID
,ETC
,MEMO
,SMS_YN
,REFUSE_PHOTO_YN
,WRITE_DATE
,WRITE_TIME
,REMARK
,CUD_FLAG
,USE_YN
,REG_ID
,REG_DATE
,MOD_ID
,MOD_DATE
) VALUES (
#{userNumber.id}
,#{userNumber.number}
,#{userName}
,#{userNumber.nationality}
,#{birthday}
,#{gender}
,#{userRrn1}
,#{userRrn2}
,#{userPno}
,#{userArc1}
,#{userArc2}
,#{userNumber.userType}
,#{phoneNumber}
,#{phoneNumber2}
,#{muGroupId}
,#{userNumber.channel}
,#{introUserId}
,#{introMemberId}
,#{etc}
,#{memo}
,#{smsYn}
,#{refusePhotoYn}
,NOW()
,NOW()
,#{remark}
,'C'
,'Y'
,#{modId}
,NOW()
,#{regId}
,NOW()
)
</insert>
<select id="getUser" parameterType="hashmap" resultType="hashmap">
/** KioskSql.getUser **/
SELECT MU.MU_USER_ID AS "muUserId"
,MU.USER_NUMBER AS "userNumber"
,MU.USER_NAME AS "userName"
,MCIN.CATEGORY_ITEM_CODE AS "nationality"
,MCIN.CATEGORY_ITEM_NAME AS "nationalityName"
,DATE_FORMAT(MU.BIRTHDAY, '%Y-%m-%d') AS "birthday"
,MU.USER_RRN1 AS "userRrn1"
,MU.USER_RRN2 AS "userRrn2"
,MU.GENDER AS "gender"
,CONCAT(
'만 '
,TIMESTAMPDIFF(YEAR, DATE_FORMAT(MU.BIRTHDAY, '%Y-%m-%d'), CURDATE())
,'세'
) AS "identity"
,MU.USER_PNO AS "userPno"
,MU.USER_ARC1 AS "userArc1"
,MU.USER_ARC2 AS "userArc2"
,MCIT.CATEGORY_ITEM_CODE AS "userType"
,MCIT.FILE_PATH AS "filePath"
,MU.USER_TYPE2 AS "userType2"
,MU.PHONE_NUMBER AS "phoneNumber"
,MU.PHONE_NUMBER2 AS "phoneNumber2"
,MU.EMAIL AS "email"
,MU.ZIP_CODE AS "zipCode"
,MU.ADDRESS AS "address"
,MU.ADDRESS_DETAILS AS "addressDetails"
,CASE MU.MEMBERSHIP_YN
WHEN 'Y' THEN '가입'
WHEN 'N' THEN '미가입'
END AS "membershipYn"
,MU.MEMBERSHIP_ACCOUNT AS "membershipAccount"
,MU.MU_GROUP_ID AS "muGroupId"
,MCIC.CATEGORY_ITEM_CODE AS "channel"
,MCIC.CATEGORY_ITEM_NAME AS "channelName"
,MU.INTRO_USER_ID AS "introUserId"
,MU.INTRO_MEMBER_ID AS "introMemberId"
,MU.ETC AS "etc"
,MU.MEMO AS "memo"
,MU.EMAIL_YN AS "emailYn"
,MU.SMS_YN AS "smsYn"
,MU.REFUSE_PHOTO_YN AS "refusePhotoYn"
,CASE IFNULL(APP_USE_YN,'N')
WHEN 'Y'
THEN CASE APP_STATUS
WHEN 'C' THEN '가입'
WHEN 'D' THEN '탈퇴'
ELSE '미가입'
END
WHEN 'N'
THEN '미가입'
END AS "appUseYn"
,DATE_FORMAT(MU.APP_INTRO_DATE, '%Y-%m-%d') AS "appIntroDate"
,DATE_FORMAT(MU.LEAVE_DATE, '%Y-%m-%d') AS "leaveDate"
FROM MU_USER AS MU
LEFT JOIN MU_CATEGORY_ITEM AS MCIN
ON MCIN.MU_CATEGORY_ITEM_ID = MU.NATIONALITY
LEFT JOIN MU_CATEGORY_ITEM AS MCIT
ON MCIT.MU_CATEGORY_ITEM_ID = MU.USER_TYPE
LEFT JOIN MU_CATEGORY_ITEM AS MCIC
ON MCIC.MU_CATEGORY_ITEM_ID = MU.CHANNEL
WHERE MU.USE_YN = 'Y'
AND MU.MU_USER_ID = #{muUserId}
</select>
<select id="getHospital" parameterType="hashmap" resultType="hashmap">
/** KioskSql.getHospital **/
SELECT MH.MU_HOSPITAL_ID AS "muHospitalId"
,MH.HOSPITAL_NAME AS "hospitalName"
,MH.MON_OPEN_YN AS "monOpenYn"
,DATE_FORMAT(MH.MON_OPEN_START_TIME , '%H:%i') AS "monOpenStartTime"
,DATE_FORMAT(MH.MON_OPEN_END_TIME , '%H:%i') AS "monOpenEndTime"
,DATE_FORMAT(MH.MON_BREAK_START_TIME, '%H:%i') AS "monBreakStartTime"
,DATE_FORMAT(MH.MON_BREAK_END_TIME , '%H:%i') AS "monBreakEndTime"
,MH.TUE_OPEN_YN AS "tueOpenYn"
,DATE_FORMAT(MH.TUE_OPEN_START_TIME , '%H:%i') AS "tueOpenStartTime"
,DATE_FORMAT(MH.TUE_OPEN_END_TIME , '%H:%i') AS "tueOpenEndTime"
,DATE_FORMAT(MH.TUE_BREAK_START_TIME, '%H:%i') AS "tueBreakStartTime"
,DATE_FORMAT(MH.TUE_BREAK_END_TIME , '%H:%i') AS "tueBreakEndTime"
,MH.WED_OPEN_YN AS "wedOpenYn"
,DATE_FORMAT(MH.WED_OPEN_START_TIME , '%H:%i') AS "wedOpenStartTime"
,DATE_FORMAT(MH.WED_OPEN_END_TIME , '%H:%i') AS "wedOpenEndTime"
,DATE_FORMAT(MH.WED_BREAK_START_TIME, '%H:%i') AS "wedBreakStartTime"
,DATE_FORMAT(MH.WED_BREAK_END_TIME , '%H:%i') AS "wedBreakEndTime"
,MH.THU_OPEN_YN AS "thuOpenYn"
,DATE_FORMAT(MH.THU_OPEN_START_TIME , '%H:%i') AS "thuOpenStartTime"
,DATE_FORMAT(MH.THU_OPEN_END_TIME , '%H:%i') AS "thuOpenEndTime"
,DATE_FORMAT(MH.THU_BREAK_START_TIME, '%H:%i') AS "thuBreakStartTime"
,DATE_FORMAT(MH.THU_BREAK_END_TIME , '%H:%i') AS "thuBreakEndTime"
,MH.FRI_OPEN_YN AS "friOpenYn"
,DATE_FORMAT(MH.FRI_OPEN_START_TIME , '%H:%i') AS "friOpenStartTime"
,DATE_FORMAT(MH.FRI_OPEN_END_TIME , '%H:%i') AS "friOpenEndTime"
,DATE_FORMAT(MH.FRI_BREAK_START_TIME, '%H:%i') AS "friBreakStartTime"
,DATE_FORMAT(MH.FRI_BREAK_END_TIME , '%H:%i') AS "friBreakEndTime"
,MH.SAT_OPEN_YN AS "satOpenYn"
,DATE_FORMAT(MH.SAT_OPEN_START_TIME , '%H:%i') AS "satOpenStartTime"
,DATE_FORMAT(MH.SAT_OPEN_END_TIME , '%H:%i') AS "satOpenEndTime"
,DATE_FORMAT(MH.SAT_BREAK_START_TIME, '%H:%i') AS "satBreakStartTime"
,DATE_FORMAT(MH.SAT_BREAK_END_TIME , '%H:%i') AS "satBreakEndTime"
,MH.SUN_OPEN_YN AS "sunOpenYn"
,DATE_FORMAT(MH.SUN_OPEN_START_TIME , '%H:%i') AS "sunOpenStartTime"
,DATE_FORMAT(MH.SUN_OPEN_END_TIME , '%H:%i') AS "sunOpenEndTime"
,DATE_FORMAT(MH.SUN_BREAK_START_TIME, '%H:%i') AS "sunBreakStartTime"
,DATE_FORMAT(MH.SUN_BREAK_END_TIME , '%H:%i') AS "sunBreakEndTime"
,MH.PUBLIC_HOLIDAY_USE_YN AS "publicHolidayUseYn"
,IFNULL((SELECT CONCAT(MM.NAME,'(',MM.LOGIN_ID,')') AS MEMBER_NAME
FROM MU_MEMBER AS MM
WHERE MM.USE_YN = 'Y'
AND MM.MU_MEMBER_ID = MH.MU_MEMBER_ID
LIMIT 0, 1
),'') AS "memberName"
FROM MU_HOSPITAL AS MH
WHERE MH.USE_YN = 'Y'
LIMIT 0, 1
</select>
<select id="getHospitalHolidayList" parameterType="hashmap" resultType="hashmap">
/** KioskSql.getHospitalHolidayList **/
SELECT MHH.MU_HOSPITAL_HOLIDAY_ID AS "muHospitalHolidayId"
,MHH.MU_HOSPITAL_ID AS "muHospitalId"
,MHH.HOSPITAL_HOLIDAY_NAME AS "hospitalHolidayName"
,DATE_FORMAT(MHH.LOC_DATE, '%Y-%m-%d') AS "locDate"
,MHH.REPEAT_YN AS "repeatYn"
FROM MU_HOSPITAL_HOLIDAY AS MHH
WHERE MHH.USE_YN = 'Y'
AND MHH.MU_HOSPITAL_ID = #{muHospitalId}
</select>
<select id="getTotalTreatmentProcedureOptionCount" resultType="Integer">
/** KioskSql.getTotalTreatmentProcedureOptionCount **/
SELECT COUNT(*) AS "totalCount"
FROM MU_TREATMENT AS MT
INNER JOIN MU_TREATMENT_PROCEDURE AS MTP
ON MT.MU_TREATMENT_ID = MTP.MU_TREATMENT_ID
AND MT.USE_YN = 'Y'
AND MTP.USE_YN = 'Y'
</select>
<select id="getTreatmentProcedureOptionList" parameterType="hashMap" resultType="hashMap">
/** KioskSql.getTreatmentProcedureOptionList **/
SELECT MTP.*
FROM (
SELECT MTP.*
,CAST(@RNUM:=@RNUM + 1 AS CHAR) AS "rowNum"
FROM (
SELECT MT.MU_TREATMENT_ID AS "muTreatmentId"
,MT.TREATMENT_NAME AS "treatmentName"
,MTP.MU_TREATMENT_PROCEDURE_ID AS "muTreatmentProcedureId"
,MTP.TREATMENT_PROCEDURE_NAME AS "treatmentProcedureName"
,MT.ORDER_NUMBER AS "treatmentOrderNumber"
FROM MU_TREATMENT AS MT
INNER JOIN MU_TREATMENT_PROCEDURE AS MTP
ON MT.MU_TREATMENT_ID = MTP.MU_TREATMENT_ID
AND MT.USE_YN = 'Y'
AND MTP.USE_YN = 'Y'
AND MTP.ENABLE_YN = 'Y'
<if test="treatmentProcedureSearchKeywordParam != null and treatmentProcedureSearchKeywordParam != ''">
AND MTP.TREATMENT_PROCEDURE_NAME LIKE CONCAT('%',TRIM(#{treatmentProcedureSearchKeywordParam}),'%')
</if>
WHERE TREATMENT_NAME != '멤버십'
<choose>
<when test="treatmentProcedureSort != null and treatmentProcedureSort != ''">
ORDER BY ${treatmentProcedureSort}
</when>
<otherwise>
ORDER BY MT.ORDER_NUMBER ASC, MTP.TREATMENT_PROCEDURE_NAME ASC
</otherwise>
</choose>
LIMIT 18446744073709551615
) MTP, (SELECT @RNUM:=0) R
WHERE 1 = 1
) MTP
WHERE 1 = 1
LIMIT ${treatmentProcedureStart}, ${treatmentProcedureLimit}
</select>
<select id="getMemberDoctorConsultingOptionList" parameterType="hashMap" resultType="hashMap">
/** KioskSql.getMemberDoctorConsultingOptionList **/
SELECT MM.MU_MEMBER_ID AS "muMemberId"
,MM.NAME AS "memberName"
,MM.TYPE AS "type"
,CASE MM.TYPE
WHEN 'D' THEN '닥터'
WHEN 'A' THEN '상담'
WHEN 'E' THEN '직원'
ELSE ''
END AS "typeName"
FROM (
<!-- 해당 시술 닥터 -->
SELECT MM.MU_MEMBER_ID
,MM.NAME
,MM.TYPE
,MM.ORDER_NUMBER
FROM MU_MEMBER AS MM
INNER JOIN MU_TREATMENT_PROCEDURE_DOCTOR AS MTPD
ON MM.MU_MEMBER_ID = MTPD.MU_MEMBER_ID
AND MM.USE_YN = 'Y'
AND MM.STATUS = 'Y'
AND MM.TYPE = 'D'
AND MTPD.USE_YN = 'Y'
AND MTPD.MU_TREATMENT_PROCEDURE_ID IN(${muTreatmentProcedureIdList})
UNION
<!-- 상담자 -->
SELECT MM.MU_MEMBER_ID
,MM.NAME
,MM.TYPE
,MM.ORDER_NUMBER
FROM MU_MEMBER AS MM
WHERE MM.USE_YN = 'Y'
AND MM.STATUS = 'Y'
AND MM.TYPE = 'A'
AND MM.MU_GROUP_ID IN (SELECT MU_GROUP_ID
FROM MU_GROUP MG
WHERE MG.USE_YN='Y'
AND MG.GROUP_NAME IN (SELECT TREATMENT_NAME
FROM MU_TREATMENT AS MT
JOIN MU_TREATMENT_PROCEDURE MTP
ON MT.MU_TREATMENT_ID=MTP.MU_TREATMENT_ID
AND MT.USE_YN = 'Y'
AND MTP.MU_TREATMENT_PROCEDURE_ID IN (${muTreatmentProcedureIdList})))
) AS MM
<!-- 휴무/연차 아닌 직원 -->
<if test="searchDate != null and searchDate != ''">
WHERE MM.MU_MEMBER_ID NOT IN (SELECT MA.MU_MEMBER_ID
FROM MU_ATTENDANCE AS MA
WHERE MA.USE_YN = 'Y'
AND MA.STATUS != 'D'
AND MA.ATTENDANCE_TYPE IN ('C', 'D')
AND DATE_FORMAT(MA.START_DATE, '%Y-%m-%d') &lt;= #{searchDate}
AND DATE_FORMAT(MA.END_DATE, '%Y-%m-%d') &gt;= #{searchDate}
UNION ALL
SELECT MA.MU_MEMBER_ID
FROM MU_ATTENDANCE AS MA
WHERE MA.USE_YN = 'Y'
AND MA.STATUS != 'D'
AND MA.ATTENDANCE_TYPE IN ('E')
AND DATE_FORMAT(CONCAT(MA.START_DATE, ' ', MA.START_TIME), '%Y-%m-%d %H:%i') &lt;= CONCAT(#{searchDate}, ' ', #{searchTime})
AND DATE_FORMAT(CONCAT(MA.END_DATE, ' ', MA.END_TIME), '%Y-%m-%d %H:%i') &gt;= CONCAT(#{searchDate}, ' ', #{searchTime})
)
</if>
ORDER BY MM.TYPE DESC, MM.ORDER_NUMBER ASC
</select>
<select id="getMemberListCnt" parameterType="hashMap" resultType="hashMap">
/** KioskSql.getMemberListCnt **/
SELECT COUNT(*) AS "totalCount"
FROM MU_MEMBER AS MM
WHERE MM.USE_YN = 'Y'
<if test="memberSearchKeywordParam != null and memberSearchKeywordParam != ''">
AND (MM.NAME LIKE CONCAT('%',TRIM(#{memberSearchKeywordParam}),'%')
OR MM.EMAIL LIKE CONCAT('%',TRIM(#{memberSearchKeywordParam}),'%')
OR MM.PHONE_NUMBER LIKE CONCAT('%',TRIM(#{memberSearchKeywordParam}),'%'))
</if>
<if test="memberSearchGroupId != null and memberSearchGroupId != ''">
AND MM.MU_GROUP_ID = #{memberSearchGroupId}
</if>
<if test="memberSearchDutyId != null and memberSearchDutyId != ''">
AND MM.MU_DUTY_ID = #{memberSearchDutyId}
</if>
<if test="memberSearchAuthId != null and memberSearchAuthId != ''">
AND MM.MU_AUTH_ID = #{memberSearchAuthId}
</if>
</select>
<select id="getMemberList" parameterType="hashMap" resultType="hashMap">
/** KioskSql.getMemberList **/
SELECT MM.MU_MEMBER_ID AS "muMemberId"
,MM.ORDER_NUMBER AS "orderNumber"
,MM.MEMBER_CODE AS "memberCode"
,MM.LOGIN_ID AS "loginId"
,MM.NAME AS "memberName"
,MM.PHONE_NUMBER AS "phoneNumber"
,MM.EMAIL AS "email"
,CASE MM.STATUS
WHEN 'Y' THEN '활성'
WHEN 'N' THEN '비활성'
END AS "status"
,MM.MU_AUTH_ID AS "muAuthId"
,IFNULL((SELECT MA.AUTH_NAME
FROM MU_AUTH AS MA
WHERE MA.USE_YN = 'Y'
AND MA.MU_AUTH_ID = MM.MU_AUTH_ID
LIMIT 0, 1
),'') AS "authName"
,MM.MU_GROUP_ID AS "muGroupId"
,IFNULL((SELECT MG.GROUP_NAME
FROM MU_GROUP AS MG
WHERE MG.USE_YN = 'Y'
AND MG.MU_GROUP_ID = MM.MU_GROUP_ID
LIMIT 0, 1
),'') AS "groupName"
,MM.MU_DUTY_ID AS "muDutyId"
,IFNULL((SELECT MD.DUTY_NAME
FROM MU_DUTY AS MD
WHERE MD.USE_YN = 'Y'
AND MD.MU_DUTY_ID = MM.MU_DUTY_ID
LIMIT 0, 1
),'') AS "dutyName"
,CASE MM.TYPE
WHEN 'D' THEN '닥터'
WHEN 'A' THEN '상담'
WHEN 'E' THEN '직원'
ELSE ''
END AS "typeName"
,DATE_FORMAT(MM.WRITE_DATE, '%Y-%m-%d') AS "writeDate"
FROM MU_MEMBER AS MM
WHERE MM.USE_YN = 'Y'
<if test="memberSearchKeywordParam != null and memberSearchKeywordParam != ''">
AND (MM.NAME LIKE CONCAT('%',TRIM(#{memberSearchKeywordParam}),'%')
OR MM.EMAIL LIKE CONCAT('%',TRIM(#{memberSearchKeywordParam}),'%')
OR MM.PHONE_NUMBER LIKE CONCAT('%',TRIM(#{memberSearchKeywordParam}),'%'))
</if>
<if test="memberSearchGroupId != null and memberSearchGroupId != ''">
AND MM.MU_GROUP_ID = #{memberSearchGroupId}
</if>
<if test="memberSearchDutyId != null and memberSearchDutyId != ''">
AND MM.MU_DUTY_ID = #{memberSearchDutyId}
</if>
<if test="memberSearchAuthId != null and memberSearchAuthId != ''">
AND MM.MU_AUTH_ID = #{memberSearchAuthId}
</if>
<choose>
<when test="memberSort != null and memberSort != ''">
ORDER BY ${memberSort}
</when>
<otherwise>
ORDER BY MM.ORDER_NUMBER
</otherwise>
</choose>
<if test="memberStart != null and memberStart != ''">
LIMIT ${memberStart}
<if test="memberLimit != null and memberLimit != ''">
,${memberLimit}
</if>
</if>
</select>
<select id="getReserveUserOptionList" parameterType="hashMap" resultType="hashMap">
/** KioskSql.getReserveUserOptionList **/
SELECT MR.MU_RESERVE_ID AS "muReserveId"
,DATE_FORMAT(MR.RESERVE_DATE,'%Y-%m-%d') AS "reserveDate"
,DATE_FORMAT(MR.RESERVE_TIME, '%H:%i') AS "reserveTime"
,MR.MU_USER_ID AS "muUserId"
,MR.USER_NAME AS "userName"
,MR.TREATMENT_NAME AS "treatmentName"
,MR.MU_TREATMENT_ID AS "muTreatmentId"
,MR.TREATMENT_NAME AS "treatmentName"
,MR.MU_TREATMENT_PROCEDURE_ID AS "muTreatmentProcedureId"
,MR.TREATMENT_PROCEDURE_NAME AS "treatmentProcedureName"
,MR.RESERVE_MEMBER_ID AS "reserveMemberId"
,IFNULL((SELECT MM.NAME
FROM MU_MEMBER AS MM
WHERE MM.MU_MEMBER_ID = MR.RESERVE_MEMBER_ID
LIMIT 0, 1
), '') AS "reserveMemberName"
,MP.PAYMENT_AMOUNT AS "totalAmount"
,MP.PAYMENT_CATEGORY_ITEM_NAME AS "paymentCategoryItemName"
FROM MU_RESERVE MR
INNER JOIN MU_PAYMENT_DETAIL MPD
ON MR.MU_RESERVE_ID = MPD.MU_RESERVE_ID
AND MR.USE_YN = 'Y'
AND MR.STATUS2 = 'Y'
AND MR.MU_USER_ID = #{muUserId}
INNER JOIN MU_PAYMENT MP
ON MPD.MU_PAYMENT_ID = MP.MU_PAYMENT_ID
AND MP.USE_YN = 'Y'
AND MP.STATUS IN ('Y', 'C', 'R')
ORDER BY MR.RECEPTION_DATE DESC
,RESERVE_TIME ASC
</select>
</mapper>

View File

@@ -0,0 +1,587 @@
/*!
* Bootstrap v3.4.1 (https://getbootstrap.com/)
* Copyright 2011-2019 Twitter, Inc.
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
*/
.btn-default,
.btn-primary,
.btn-success,
.btn-info,
.btn-warning,
.btn-danger {
text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.2);
-webkit-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.15), 0 1px 1px rgba(0, 0, 0, 0.075);
box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.15), 0 1px 1px rgba(0, 0, 0, 0.075);
}
.btn-default:active,
.btn-primary:active,
.btn-success:active,
.btn-info:active,
.btn-warning:active,
.btn-danger:active,
.btn-default.active,
.btn-primary.active,
.btn-success.active,
.btn-info.active,
.btn-warning.active,
.btn-danger.active {
-webkit-box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
}
.btn-default.disabled,
.btn-primary.disabled,
.btn-success.disabled,
.btn-info.disabled,
.btn-warning.disabled,
.btn-danger.disabled,
.btn-default[disabled],
.btn-primary[disabled],
.btn-success[disabled],
.btn-info[disabled],
.btn-warning[disabled],
.btn-danger[disabled],
fieldset[disabled] .btn-default,
fieldset[disabled] .btn-primary,
fieldset[disabled] .btn-success,
fieldset[disabled] .btn-info,
fieldset[disabled] .btn-warning,
fieldset[disabled] .btn-danger {
-webkit-box-shadow: none;
box-shadow: none;
}
.btn-default .badge,
.btn-primary .badge,
.btn-success .badge,
.btn-info .badge,
.btn-warning .badge,
.btn-danger .badge {
text-shadow: none;
}
.btn:active,
.btn.active {
background-image: none;
}
.btn-default {
background-image: -webkit-linear-gradient(top, #fff 0%, #e0e0e0 100%);
background-image: -o-linear-gradient(top, #fff 0%, #e0e0e0 100%);
background-image: -webkit-gradient(linear, left top, left bottom, from(#fff), to(#e0e0e0));
background-image: linear-gradient(to bottom, #fff 0%, #e0e0e0 100%);
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffffffff', endColorstr='#ffe0e0e0', GradientType=0);
filter: progid:DXImageTransform.Microsoft.gradient(enabled = false);
background-repeat: repeat-x;
border-color: #dbdbdb;
text-shadow: 0 1px 0 #fff;
border-color: #ccc;
}
.btn-default:hover,
.btn-default:focus {
background-color: #e0e0e0;
background-position: 0 -15px;
}
.btn-default:active,
.btn-default.active {
background-color: #e0e0e0;
border-color: #dbdbdb;
}
.btn-default.disabled,
.btn-default[disabled],
fieldset[disabled] .btn-default,
.btn-default.disabled:hover,
.btn-default[disabled]:hover,
fieldset[disabled] .btn-default:hover,
.btn-default.disabled:focus,
.btn-default[disabled]:focus,
fieldset[disabled] .btn-default:focus,
.btn-default.disabled.focus,
.btn-default[disabled].focus,
fieldset[disabled] .btn-default.focus,
.btn-default.disabled:active,
.btn-default[disabled]:active,
fieldset[disabled] .btn-default:active,
.btn-default.disabled.active,
.btn-default[disabled].active,
fieldset[disabled] .btn-default.active {
background-color: #e0e0e0;
background-image: none;
}
.btn-primary {
background-image: -webkit-linear-gradient(top, #337ab7 0%, #265a88 100%);
background-image: -o-linear-gradient(top, #337ab7 0%, #265a88 100%);
background-image: -webkit-gradient(linear, left top, left bottom, from(#337ab7), to(#265a88));
background-image: linear-gradient(to bottom, #337ab7 0%, #265a88 100%);
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff337ab7', endColorstr='#ff265a88', GradientType=0);
filter: progid:DXImageTransform.Microsoft.gradient(enabled = false);
background-repeat: repeat-x;
border-color: #245580;
}
.btn-primary:hover,
.btn-primary:focus {
background-color: #265a88;
background-position: 0 -15px;
}
.btn-primary:active,
.btn-primary.active {
background-color: #265a88;
border-color: #245580;
}
.btn-primary.disabled,
.btn-primary[disabled],
fieldset[disabled] .btn-primary,
.btn-primary.disabled:hover,
.btn-primary[disabled]:hover,
fieldset[disabled] .btn-primary:hover,
.btn-primary.disabled:focus,
.btn-primary[disabled]:focus,
fieldset[disabled] .btn-primary:focus,
.btn-primary.disabled.focus,
.btn-primary[disabled].focus,
fieldset[disabled] .btn-primary.focus,
.btn-primary.disabled:active,
.btn-primary[disabled]:active,
fieldset[disabled] .btn-primary:active,
.btn-primary.disabled.active,
.btn-primary[disabled].active,
fieldset[disabled] .btn-primary.active {
background-color: #265a88;
background-image: none;
}
.btn-success {
background-image: -webkit-linear-gradient(top, #5cb85c 0%, #419641 100%);
background-image: -o-linear-gradient(top, #5cb85c 0%, #419641 100%);
background-image: -webkit-gradient(linear, left top, left bottom, from(#5cb85c), to(#419641));
background-image: linear-gradient(to bottom, #5cb85c 0%, #419641 100%);
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff5cb85c', endColorstr='#ff419641', GradientType=0);
filter: progid:DXImageTransform.Microsoft.gradient(enabled = false);
background-repeat: repeat-x;
border-color: #3e8f3e;
}
.btn-success:hover,
.btn-success:focus {
background-color: #419641;
background-position: 0 -15px;
}
.btn-success:active,
.btn-success.active {
background-color: #419641;
border-color: #3e8f3e;
}
.btn-success.disabled,
.btn-success[disabled],
fieldset[disabled] .btn-success,
.btn-success.disabled:hover,
.btn-success[disabled]:hover,
fieldset[disabled] .btn-success:hover,
.btn-success.disabled:focus,
.btn-success[disabled]:focus,
fieldset[disabled] .btn-success:focus,
.btn-success.disabled.focus,
.btn-success[disabled].focus,
fieldset[disabled] .btn-success.focus,
.btn-success.disabled:active,
.btn-success[disabled]:active,
fieldset[disabled] .btn-success:active,
.btn-success.disabled.active,
.btn-success[disabled].active,
fieldset[disabled] .btn-success.active {
background-color: #419641;
background-image: none;
}
.btn-info {
background-image: -webkit-linear-gradient(top, #5bc0de 0%, #2aabd2 100%);
background-image: -o-linear-gradient(top, #5bc0de 0%, #2aabd2 100%);
background-image: -webkit-gradient(linear, left top, left bottom, from(#5bc0de), to(#2aabd2));
background-image: linear-gradient(to bottom, #5bc0de 0%, #2aabd2 100%);
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff5bc0de', endColorstr='#ff2aabd2', GradientType=0);
filter: progid:DXImageTransform.Microsoft.gradient(enabled = false);
background-repeat: repeat-x;
border-color: #28a4c9;
}
.btn-info:hover,
.btn-info:focus {
background-color: #2aabd2;
background-position: 0 -15px;
}
.btn-info:active,
.btn-info.active {
background-color: #2aabd2;
border-color: #28a4c9;
}
.btn-info.disabled,
.btn-info[disabled],
fieldset[disabled] .btn-info,
.btn-info.disabled:hover,
.btn-info[disabled]:hover,
fieldset[disabled] .btn-info:hover,
.btn-info.disabled:focus,
.btn-info[disabled]:focus,
fieldset[disabled] .btn-info:focus,
.btn-info.disabled.focus,
.btn-info[disabled].focus,
fieldset[disabled] .btn-info.focus,
.btn-info.disabled:active,
.btn-info[disabled]:active,
fieldset[disabled] .btn-info:active,
.btn-info.disabled.active,
.btn-info[disabled].active,
fieldset[disabled] .btn-info.active {
background-color: #2aabd2;
background-image: none;
}
.btn-warning {
background-image: -webkit-linear-gradient(top, #f0ad4e 0%, #eb9316 100%);
background-image: -o-linear-gradient(top, #f0ad4e 0%, #eb9316 100%);
background-image: -webkit-gradient(linear, left top, left bottom, from(#f0ad4e), to(#eb9316));
background-image: linear-gradient(to bottom, #f0ad4e 0%, #eb9316 100%);
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff0ad4e', endColorstr='#ffeb9316', GradientType=0);
filter: progid:DXImageTransform.Microsoft.gradient(enabled = false);
background-repeat: repeat-x;
border-color: #e38d13;
}
.btn-warning:hover,
.btn-warning:focus {
background-color: #eb9316;
background-position: 0 -15px;
}
.btn-warning:active,
.btn-warning.active {
background-color: #eb9316;
border-color: #e38d13;
}
.btn-warning.disabled,
.btn-warning[disabled],
fieldset[disabled] .btn-warning,
.btn-warning.disabled:hover,
.btn-warning[disabled]:hover,
fieldset[disabled] .btn-warning:hover,
.btn-warning.disabled:focus,
.btn-warning[disabled]:focus,
fieldset[disabled] .btn-warning:focus,
.btn-warning.disabled.focus,
.btn-warning[disabled].focus,
fieldset[disabled] .btn-warning.focus,
.btn-warning.disabled:active,
.btn-warning[disabled]:active,
fieldset[disabled] .btn-warning:active,
.btn-warning.disabled.active,
.btn-warning[disabled].active,
fieldset[disabled] .btn-warning.active {
background-color: #eb9316;
background-image: none;
}
.btn-danger {
background-image: -webkit-linear-gradient(top, #d9534f 0%, #c12e2a 100%);
background-image: -o-linear-gradient(top, #d9534f 0%, #c12e2a 100%);
background-image: -webkit-gradient(linear, left top, left bottom, from(#d9534f), to(#c12e2a));
background-image: linear-gradient(to bottom, #d9534f 0%, #c12e2a 100%);
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffd9534f', endColorstr='#ffc12e2a', GradientType=0);
filter: progid:DXImageTransform.Microsoft.gradient(enabled = false);
background-repeat: repeat-x;
border-color: #b92c28;
}
.btn-danger:hover,
.btn-danger:focus {
background-color: #c12e2a;
background-position: 0 -15px;
}
.btn-danger:active,
.btn-danger.active {
background-color: #c12e2a;
border-color: #b92c28;
}
.btn-danger.disabled,
.btn-danger[disabled],
fieldset[disabled] .btn-danger,
.btn-danger.disabled:hover,
.btn-danger[disabled]:hover,
fieldset[disabled] .btn-danger:hover,
.btn-danger.disabled:focus,
.btn-danger[disabled]:focus,
fieldset[disabled] .btn-danger:focus,
.btn-danger.disabled.focus,
.btn-danger[disabled].focus,
fieldset[disabled] .btn-danger.focus,
.btn-danger.disabled:active,
.btn-danger[disabled]:active,
fieldset[disabled] .btn-danger:active,
.btn-danger.disabled.active,
.btn-danger[disabled].active,
fieldset[disabled] .btn-danger.active {
background-color: #c12e2a;
background-image: none;
}
.thumbnail,
.img-thumbnail {
-webkit-box-shadow: 0 1px 2px rgba(0, 0, 0, 0.075);
box-shadow: 0 1px 2px rgba(0, 0, 0, 0.075);
}
.dropdown-menu > li > a:hover,
.dropdown-menu > li > a:focus {
background-image: -webkit-linear-gradient(top, #f5f5f5 0%, #e8e8e8 100%);
background-image: -o-linear-gradient(top, #f5f5f5 0%, #e8e8e8 100%);
background-image: -webkit-gradient(linear, left top, left bottom, from(#f5f5f5), to(#e8e8e8));
background-image: linear-gradient(to bottom, #f5f5f5 0%, #e8e8e8 100%);
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff5f5f5', endColorstr='#ffe8e8e8', GradientType=0);
background-repeat: repeat-x;
background-color: #e8e8e8;
}
.dropdown-menu > .active > a,
.dropdown-menu > .active > a:hover,
.dropdown-menu > .active > a:focus {
background-image: -webkit-linear-gradient(top, #337ab7 0%, #2e6da4 100%);
background-image: -o-linear-gradient(top, #337ab7 0%, #2e6da4 100%);
background-image: -webkit-gradient(linear, left top, left bottom, from(#337ab7), to(#2e6da4));
background-image: linear-gradient(to bottom, #337ab7 0%, #2e6da4 100%);
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff337ab7', endColorstr='#ff2e6da4', GradientType=0);
background-repeat: repeat-x;
background-color: #2e6da4;
}
.navbar-default {
background-image: -webkit-linear-gradient(top, #ffffff 0%, #f8f8f8 100%);
background-image: -o-linear-gradient(top, #ffffff 0%, #f8f8f8 100%);
background-image: -webkit-gradient(linear, left top, left bottom, from(#ffffff), to(#f8f8f8));
background-image: linear-gradient(to bottom, #ffffff 0%, #f8f8f8 100%);
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffffffff', endColorstr='#fff8f8f8', GradientType=0);
background-repeat: repeat-x;
filter: progid:DXImageTransform.Microsoft.gradient(enabled = false);
border-radius: 4px;
-webkit-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.15), 0 1px 5px rgba(0, 0, 0, 0.075);
box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.15), 0 1px 5px rgba(0, 0, 0, 0.075);
}
.navbar-default .navbar-nav > .open > a,
.navbar-default .navbar-nav > .active > a {
background-image: -webkit-linear-gradient(top, #dbdbdb 0%, #e2e2e2 100%);
background-image: -o-linear-gradient(top, #dbdbdb 0%, #e2e2e2 100%);
background-image: -webkit-gradient(linear, left top, left bottom, from(#dbdbdb), to(#e2e2e2));
background-image: linear-gradient(to bottom, #dbdbdb 0%, #e2e2e2 100%);
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffdbdbdb', endColorstr='#ffe2e2e2', GradientType=0);
background-repeat: repeat-x;
-webkit-box-shadow: inset 0 3px 9px rgba(0, 0, 0, 0.075);
box-shadow: inset 0 3px 9px rgba(0, 0, 0, 0.075);
}
.navbar-brand,
.navbar-nav > li > a {
text-shadow: 0 1px 0 rgba(255, 255, 255, 0.25);
}
.navbar-inverse {
background-image: -webkit-linear-gradient(top, #3c3c3c 0%, #222 100%);
background-image: -o-linear-gradient(top, #3c3c3c 0%, #222 100%);
background-image: -webkit-gradient(linear, left top, left bottom, from(#3c3c3c), to(#222));
background-image: linear-gradient(to bottom, #3c3c3c 0%, #222 100%);
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff3c3c3c', endColorstr='#ff222222', GradientType=0);
background-repeat: repeat-x;
filter: progid:DXImageTransform.Microsoft.gradient(enabled = false);
border-radius: 4px;
}
.navbar-inverse .navbar-nav > .open > a,
.navbar-inverse .navbar-nav > .active > a {
background-image: -webkit-linear-gradient(top, #080808 0%, #0f0f0f 100%);
background-image: -o-linear-gradient(top, #080808 0%, #0f0f0f 100%);
background-image: -webkit-gradient(linear, left top, left bottom, from(#080808), to(#0f0f0f));
background-image: linear-gradient(to bottom, #080808 0%, #0f0f0f 100%);
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff080808', endColorstr='#ff0f0f0f', GradientType=0);
background-repeat: repeat-x;
-webkit-box-shadow: inset 0 3px 9px rgba(0, 0, 0, 0.25);
box-shadow: inset 0 3px 9px rgba(0, 0, 0, 0.25);
}
.navbar-inverse .navbar-brand,
.navbar-inverse .navbar-nav > li > a {
text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25);
}
.navbar-static-top,
.navbar-fixed-top,
.navbar-fixed-bottom {
border-radius: 0;
}
@media (max-width: 767px) {
.navbar .navbar-nav .open .dropdown-menu > .active > a,
.navbar .navbar-nav .open .dropdown-menu > .active > a:hover,
.navbar .navbar-nav .open .dropdown-menu > .active > a:focus {
color: #fff;
background-image: -webkit-linear-gradient(top, #337ab7 0%, #2e6da4 100%);
background-image: -o-linear-gradient(top, #337ab7 0%, #2e6da4 100%);
background-image: -webkit-gradient(linear, left top, left bottom, from(#337ab7), to(#2e6da4));
background-image: linear-gradient(to bottom, #337ab7 0%, #2e6da4 100%);
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff337ab7', endColorstr='#ff2e6da4', GradientType=0);
background-repeat: repeat-x;
}
}
.alert {
text-shadow: 0 1px 0 rgba(255, 255, 255, 0.2);
-webkit-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.25), 0 1px 2px rgba(0, 0, 0, 0.05);
box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.25), 0 1px 2px rgba(0, 0, 0, 0.05);
}
.alert-success {
background-image: -webkit-linear-gradient(top, #dff0d8 0%, #c8e5bc 100%);
background-image: -o-linear-gradient(top, #dff0d8 0%, #c8e5bc 100%);
background-image: -webkit-gradient(linear, left top, left bottom, from(#dff0d8), to(#c8e5bc));
background-image: linear-gradient(to bottom, #dff0d8 0%, #c8e5bc 100%);
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffdff0d8', endColorstr='#ffc8e5bc', GradientType=0);
background-repeat: repeat-x;
border-color: #b2dba1;
}
.alert-info {
background-image: -webkit-linear-gradient(top, #d9edf7 0%, #b9def0 100%);
background-image: -o-linear-gradient(top, #d9edf7 0%, #b9def0 100%);
background-image: -webkit-gradient(linear, left top, left bottom, from(#d9edf7), to(#b9def0));
background-image: linear-gradient(to bottom, #d9edf7 0%, #b9def0 100%);
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffd9edf7', endColorstr='#ffb9def0', GradientType=0);
background-repeat: repeat-x;
border-color: #9acfea;
}
.alert-warning {
background-image: -webkit-linear-gradient(top, #fcf8e3 0%, #f8efc0 100%);
background-image: -o-linear-gradient(top, #fcf8e3 0%, #f8efc0 100%);
background-image: -webkit-gradient(linear, left top, left bottom, from(#fcf8e3), to(#f8efc0));
background-image: linear-gradient(to bottom, #fcf8e3 0%, #f8efc0 100%);
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fffcf8e3', endColorstr='#fff8efc0', GradientType=0);
background-repeat: repeat-x;
border-color: #f5e79e;
}
.alert-danger {
background-image: -webkit-linear-gradient(top, #f2dede 0%, #e7c3c3 100%);
background-image: -o-linear-gradient(top, #f2dede 0%, #e7c3c3 100%);
background-image: -webkit-gradient(linear, left top, left bottom, from(#f2dede), to(#e7c3c3));
background-image: linear-gradient(to bottom, #f2dede 0%, #e7c3c3 100%);
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff2dede', endColorstr='#ffe7c3c3', GradientType=0);
background-repeat: repeat-x;
border-color: #dca7a7;
}
.progress {
background-image: -webkit-linear-gradient(top, #ebebeb 0%, #f5f5f5 100%);
background-image: -o-linear-gradient(top, #ebebeb 0%, #f5f5f5 100%);
background-image: -webkit-gradient(linear, left top, left bottom, from(#ebebeb), to(#f5f5f5));
background-image: linear-gradient(to bottom, #ebebeb 0%, #f5f5f5 100%);
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffebebeb', endColorstr='#fff5f5f5', GradientType=0);
background-repeat: repeat-x;
}
.progress-bar {
background-image: -webkit-linear-gradient(top, #337ab7 0%, #286090 100%);
background-image: -o-linear-gradient(top, #337ab7 0%, #286090 100%);
background-image: -webkit-gradient(linear, left top, left bottom, from(#337ab7), to(#286090));
background-image: linear-gradient(to bottom, #337ab7 0%, #286090 100%);
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff337ab7', endColorstr='#ff286090', GradientType=0);
background-repeat: repeat-x;
}
.progress-bar-success {
background-image: -webkit-linear-gradient(top, #5cb85c 0%, #449d44 100%);
background-image: -o-linear-gradient(top, #5cb85c 0%, #449d44 100%);
background-image: -webkit-gradient(linear, left top, left bottom, from(#5cb85c), to(#449d44));
background-image: linear-gradient(to bottom, #5cb85c 0%, #449d44 100%);
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff5cb85c', endColorstr='#ff449d44', GradientType=0);
background-repeat: repeat-x;
}
.progress-bar-info {
background-image: -webkit-linear-gradient(top, #5bc0de 0%, #31b0d5 100%);
background-image: -o-linear-gradient(top, #5bc0de 0%, #31b0d5 100%);
background-image: -webkit-gradient(linear, left top, left bottom, from(#5bc0de), to(#31b0d5));
background-image: linear-gradient(to bottom, #5bc0de 0%, #31b0d5 100%);
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff5bc0de', endColorstr='#ff31b0d5', GradientType=0);
background-repeat: repeat-x;
}
.progress-bar-warning {
background-image: -webkit-linear-gradient(top, #f0ad4e 0%, #ec971f 100%);
background-image: -o-linear-gradient(top, #f0ad4e 0%, #ec971f 100%);
background-image: -webkit-gradient(linear, left top, left bottom, from(#f0ad4e), to(#ec971f));
background-image: linear-gradient(to bottom, #f0ad4e 0%, #ec971f 100%);
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff0ad4e', endColorstr='#ffec971f', GradientType=0);
background-repeat: repeat-x;
}
.progress-bar-danger {
background-image: -webkit-linear-gradient(top, #d9534f 0%, #c9302c 100%);
background-image: -o-linear-gradient(top, #d9534f 0%, #c9302c 100%);
background-image: -webkit-gradient(linear, left top, left bottom, from(#d9534f), to(#c9302c));
background-image: linear-gradient(to bottom, #d9534f 0%, #c9302c 100%);
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffd9534f', endColorstr='#ffc9302c', GradientType=0);
background-repeat: repeat-x;
}
.progress-bar-striped {
background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
}
.list-group {
border-radius: 4px;
-webkit-box-shadow: 0 1px 2px rgba(0, 0, 0, 0.075);
box-shadow: 0 1px 2px rgba(0, 0, 0, 0.075);
}
.list-group-item.active,
.list-group-item.active:hover,
.list-group-item.active:focus {
text-shadow: 0 -1px 0 #286090;
background-image: -webkit-linear-gradient(top, #337ab7 0%, #2b669a 100%);
background-image: -o-linear-gradient(top, #337ab7 0%, #2b669a 100%);
background-image: -webkit-gradient(linear, left top, left bottom, from(#337ab7), to(#2b669a));
background-image: linear-gradient(to bottom, #337ab7 0%, #2b669a 100%);
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff337ab7', endColorstr='#ff2b669a', GradientType=0);
background-repeat: repeat-x;
border-color: #2b669a;
}
.list-group-item.active .badge,
.list-group-item.active:hover .badge,
.list-group-item.active:focus .badge {
text-shadow: none;
}
.panel {
-webkit-box-shadow: 0 1px 2px rgba(0, 0, 0, 0.05);
box-shadow: 0 1px 2px rgba(0, 0, 0, 0.05);
}
.panel-default > .panel-heading {
background-image: -webkit-linear-gradient(top, #f5f5f5 0%, #e8e8e8 100%);
background-image: -o-linear-gradient(top, #f5f5f5 0%, #e8e8e8 100%);
background-image: -webkit-gradient(linear, left top, left bottom, from(#f5f5f5), to(#e8e8e8));
background-image: linear-gradient(to bottom, #f5f5f5 0%, #e8e8e8 100%);
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff5f5f5', endColorstr='#ffe8e8e8', GradientType=0);
background-repeat: repeat-x;
}
.panel-primary > .panel-heading {
background-image: -webkit-linear-gradient(top, #337ab7 0%, #2e6da4 100%);
background-image: -o-linear-gradient(top, #337ab7 0%, #2e6da4 100%);
background-image: -webkit-gradient(linear, left top, left bottom, from(#337ab7), to(#2e6da4));
background-image: linear-gradient(to bottom, #337ab7 0%, #2e6da4 100%);
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff337ab7', endColorstr='#ff2e6da4', GradientType=0);
background-repeat: repeat-x;
}
.panel-success > .panel-heading {
background-image: -webkit-linear-gradient(top, #dff0d8 0%, #d0e9c6 100%);
background-image: -o-linear-gradient(top, #dff0d8 0%, #d0e9c6 100%);
background-image: -webkit-gradient(linear, left top, left bottom, from(#dff0d8), to(#d0e9c6));
background-image: linear-gradient(to bottom, #dff0d8 0%, #d0e9c6 100%);
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffdff0d8', endColorstr='#ffd0e9c6', GradientType=0);
background-repeat: repeat-x;
}
.panel-info > .panel-heading {
background-image: -webkit-linear-gradient(top, #d9edf7 0%, #c4e3f3 100%);
background-image: -o-linear-gradient(top, #d9edf7 0%, #c4e3f3 100%);
background-image: -webkit-gradient(linear, left top, left bottom, from(#d9edf7), to(#c4e3f3));
background-image: linear-gradient(to bottom, #d9edf7 0%, #c4e3f3 100%);
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffd9edf7', endColorstr='#ffc4e3f3', GradientType=0);
background-repeat: repeat-x;
}
.panel-warning > .panel-heading {
background-image: -webkit-linear-gradient(top, #fcf8e3 0%, #faf2cc 100%);
background-image: -o-linear-gradient(top, #fcf8e3 0%, #faf2cc 100%);
background-image: -webkit-gradient(linear, left top, left bottom, from(#fcf8e3), to(#faf2cc));
background-image: linear-gradient(to bottom, #fcf8e3 0%, #faf2cc 100%);
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fffcf8e3', endColorstr='#fffaf2cc', GradientType=0);
background-repeat: repeat-x;
}
.panel-danger > .panel-heading {
background-image: -webkit-linear-gradient(top, #f2dede 0%, #ebcccc 100%);
background-image: -o-linear-gradient(top, #f2dede 0%, #ebcccc 100%);
background-image: -webkit-gradient(linear, left top, left bottom, from(#f2dede), to(#ebcccc));
background-image: linear-gradient(to bottom, #f2dede 0%, #ebcccc 100%);
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff2dede', endColorstr='#ffebcccc', GradientType=0);
background-repeat: repeat-x;
}
.well {
background-image: -webkit-linear-gradient(top, #e8e8e8 0%, #f5f5f5 100%);
background-image: -o-linear-gradient(top, #e8e8e8 0%, #f5f5f5 100%);
background-image: -webkit-gradient(linear, left top, left bottom, from(#e8e8e8), to(#f5f5f5));
background-image: linear-gradient(to bottom, #e8e8e8 0%, #f5f5f5 100%);
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffe8e8e8', endColorstr='#fff5f5f5', GradientType=0);
background-repeat: repeat-x;
border-color: #dcdcdc;
-webkit-box-shadow: inset 0 1px 3px rgba(0, 0, 0, 0.05), 0 1px 0 rgba(255, 255, 255, 0.1);
box-shadow: inset 0 1px 3px rgba(0, 0, 0, 0.05), 0 1px 0 rgba(255, 255, 255, 0.1);
}
/*# sourceMappingURL=bootstrap-theme.css.map */

Some files were not shown because too many files have changed in this diff Show More