2026-02-14 병원휴일관련 수정

This commit is contained in:
pjs
2026-02-14 15:15:03 +09:00
parent 3899fc47fd
commit 1175eb13c5
8 changed files with 2580 additions and 1365 deletions

View File

@@ -25,6 +25,7 @@ import javax.xml.xpath.XPathFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.scheduling.annotation.Scheduled;
import org.springframework.stereotype.Component;
import org.springframework.transaction.annotation.Transactional;
import org.w3c.dom.Document;
import org.w3c.dom.Node;
import org.w3c.dom.NodeList;
@@ -33,75 +34,99 @@ import org.xml.sax.SAXException;
import com.madeu.dao.web.webpublicholiday.WebPublicHolidaySqlMapDAO;
import org.springframework.context.event.ContextRefreshedEvent;
import org.springframework.context.event.EventListener;
import lombok.extern.slf4j.Slf4j;
@Slf4j
@Component
public class InsertPublicHolidayBatchExcute {
@Autowired
@Autowired
private WebPublicHolidaySqlMapDAO webPublicHolidaySqlMapDAO;
// 21~22년 (공공 api 조회 가능 연도가 내년꺼까지만 가능.) https://www.data.go.kr/dataset/15012690/openapi.do
/**
* [임시 실행용] 서버 시작(또는 리로드) 시 배치를 즉시 1회 실행합니다.
* 실행이 완료된 후에는 다시 주석 처리하거나 삭제하세요.
*/
@EventListener(ContextRefreshedEvent.class)
public void forceRunBatch() {
log.info("============================================================================");
log.info("============== [FORCE START] Public Holiday Batch Execution ==============");
log.info("============================================================================");
try {
go();
} catch (Exception e) {
log.error("Force Batch Error", e);
}
log.info("============================================================================");
log.info("============== [FORCE END] Public Holiday Batch Execution ================");
log.info("============================================================================");
}
// 21~22년 (공공 api 조회 가능 연도가 내년꺼까지만 가능.)
// https://www.data.go.kr/dataset/15012690/openapi.do
@Scheduled(cron = "0 0 03 1 * ?") // 매월 1일 03:00
// @Scheduled(cron = "0 0/1 * * * ?")
// @Scheduled(cron = "0 0/1 * * * ?")
@Transactional
public void go() {
log.debug("InsertPublicHolidayBatchExcute - run start");
List<HashMap<String, Object>> publicHolidayList = new ArrayList<HashMap<String, Object>>();
Calendar c = Calendar.getInstance();
int year = c.get(Calendar.YEAR);
for (int i = year; i <= year+1; i++) {
for (int i = year; i <= year + 1; i++) {
// 공휴일을 가져온다
for(int j=1; j<=12; j++) {
for (int j = 1; j <= 12; j++) {
int month = j;
if(i==year) {
month = c.get(Calendar.MONTH)+j;
if (i == year) {
month = c.get(Calendar.MONTH) + j;
}
if(12 < month) {
}else {
if (12 < month) {
} else {
String yearString = String.valueOf(i);
String monthString = String.valueOf(month);
if(10 > month) {
//한자리수일시 01, 02같이 0을 필요로함, request param이 2자리수
if (10 > month) {
// 한자리수일시 01, 02같이 0을 필요로함, request param이 2자리수
monthString = "0" + monthString;
}
List<HashMap<String, Object>> listTemp = getPublicHolidayMap(yearString, monthString);
log.debug(yearString+""+monthString+"월 결과 : " + listTemp);
List<HashMap<String, Object>> listTemp = getPublicHolidayMap(yearString, monthString);
log.debug(yearString + "" + monthString + "월 결과 : " + listTemp);
publicHolidayList.addAll(listTemp);
}
}
log.debug(i + "년의 totalPublicHolidayCount : " + publicHolidayList.size());
//logger.debug("publicHolidayList : " + publicHolidayList);
// logger.debug("publicHolidayList : " + publicHolidayList);
}
int insertedCount = 0;
for(int i=0; i<publicHolidayList.size(); i++) {
for (int i = 0; i < publicHolidayList.size(); i++) {
HashMap<String, Object> publicHolidayParamMap = publicHolidayList.get(i);
StringBuffer sbTemp = new StringBuffer(String.valueOf(publicHolidayParamMap.get("locdate")));
sbTemp.insert(6, "-");
sbTemp.insert(4, "-");
String dateName = publicHolidayParamMap.get("dateName").toString().replaceAll(" ", "");
publicHolidayParamMap.put("dateName", dateName);
publicHolidayParamMap.put("locDate", sbTemp.toString());
List<Map<String, Object>> listMapTemp = webPublicHolidaySqlMapDAO.selectListPublicHolidayDate(publicHolidayParamMap);
List<Map<String, Object>> listMapTemp = webPublicHolidaySqlMapDAO
.selectListPublicHolidayDate(publicHolidayParamMap);
// 존재하는 공휴일일 경우
if(1 <= listMapTemp.size()) {
}
else{
if (1 <= listMapTemp.size()) {
} else {
String muPublicHolidayId = ("PH").concat(String.valueOf(System.currentTimeMillis()));
publicHolidayParamMap.put("muPublicHolidayId", muPublicHolidayId);
publicHolidayParamMap.put("regId", "BATCH_SYSTEM");
@@ -111,58 +136,61 @@ public class InsertPublicHolidayBatchExcute {
insertedCount++;
}
}
log.debug("InsertPublicHolidayBatchExcute - " + insertedCount + " record inserted");
log.debug("InsertPublicHolidayBatchExcute - run end");
}
// 해당 년/월의 공휴일을 가져오는 메서드
public List<HashMap<String, Object>> getPublicHolidayMap(String year, String month) {
List<HashMap<String, Object>> holidayList = new ArrayList<HashMap<String, Object>>();
List<HashMap<String, Object>> holidayList = new ArrayList<HashMap<String, Object>>();
log.debug("InsertPublicHolidayBatchExcute getPublicHolidayMap START");
DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
factory.setNamespaceAware(true);
DocumentBuilder builder;
Document doc = null;
String addr = "http://apis.data.go.kr/B090041/openapi/service/SpcdeInfoService";
String query = "/getRestDeInfo?";
String addr = "https://apis.data.go.kr/B090041/openapi/service/SpcdeInfoService";
String query = "/getRestDeInfo?";
StringBuffer stringBuffer = new StringBuffer();
stringBuffer.append(addr);
stringBuffer.append(query);
stringBuffer.append("ServiceKey=" + "IMP1dVPnFLL2UYlH8yyENSeLeS5UMLYxnaomTs5L2IHp8qnyd%2FzApTGcCUV9%2FD76wZQzD24HegGoNFotIoh9GA%3D%3D");
stringBuffer.append("ServiceKey="
+ "bd37daa85809e0f1ef330722c6b92dd8ebbe7226a63be7644d9f334662996e7c");
stringBuffer.append("&solYear=" + year);
stringBuffer.append("&solMonth=" + month);
log.debug("stringBuffer.toString() "+ stringBuffer.toString());
log.debug("stringBuffer.toString() " + stringBuffer.toString());
try {
URL url = new URL(stringBuffer.toString());
URLConnection conn = url.openConnection();
BufferedReader rd = null;
rd = new BufferedReader(new InputStreamReader(conn.getInputStream(),"UTF-8"));
rd = new BufferedReader(new InputStreamReader(conn.getInputStream(), "UTF-8"));
StringBuffer result = new StringBuffer();
String line;
while((line=rd.readLine())!=null){
while ((line = rd.readLine()) != null) {
result.append(line.trim());
}
// xml 리절트 출력부분
/*if(0<result.toString().length()){
logger.debug("result :"+result.toString());
}*/
/*
* if(0<result.toString().length()){
* logger.debug("result :"+result.toString());
* }
*/
rd.close();
InputSource is = new InputSource(new StringReader(result.toString()));
builder = factory.newDocumentBuilder();
doc = builder.parse(is);
@@ -182,14 +210,13 @@ public class InsertPublicHolidayBatchExcute {
}
holidayList.add(holidayMapTemp);
}
}
catch (Exception e) {
} catch (Exception e) {
e.printStackTrace();
}
log.debug("InsertPublicHolidayBatchExcute getPublicHolidayMap END");
return holidayList;
}

View File

@@ -21,14 +21,13 @@ import jakarta.servlet.http.HttpServletResponse;
import jakarta.servlet.http.HttpSession;
import lombok.extern.slf4j.Slf4j;
@Slf4j
@Controller
public class WebHospitalController extends ManagerDraftAction{
public class WebHospitalController extends ManagerDraftAction {
@Autowired
private WebHospitalService webHospitalService;
@Autowired
private WebLogHistoryService webLogHistoryService;
@@ -36,76 +35,71 @@ public class WebHospitalController extends ManagerDraftAction{
* 병원 정보 상세 화면으로 이동.
*
* @param request
* @param response
* @param response
* @return
*/
@RequestMapping(value="/webhospital/selectHospitalIntro.do")
public String selectHospitalIntro(HttpSession session,HttpServletRequest request, HttpServletResponse response, Model model) {
@RequestMapping(value = "/webhospital/selectHospitalIntro.do")
public String selectHospitalIntro(HttpSession session, HttpServletRequest request, HttpServletResponse response,
Model model) {
log.debug("WebHospitalController selectHospitalIntro START");
HashMap<String, Object> paramMap = HttpUtil.getParameterMap(request);
HashMap<String, Object> map = new HashMap<String, Object>();
try{
if(!webCheckLogin(session)){
try {
if (!webCheckLogin(session)) {
return "/web/login/logout";
}
else {
} else {
paramMap.put("loginMemberId", String.valueOf(session.getAttribute("loginMemberId")));
map = webHospitalService.selectHospitalIntro(paramMap);
model.addAttribute("selectUseYn", map.get("selectUseYn"));
model.addAttribute("insertUseYn", map.get("insertUseYn"));
model.addAttribute("updateUseYn", map.get("updateUseYn"));
model.addAttribute("deleteUseYn", map.get("deleteUseYn"));
model.addAttribute("downloadUseYn", map.get("downloadUseYn"));
}
}
catch (Exception e) {
} catch (Exception e) {
e.printStackTrace();
return "/web/login/logout";
}
log.debug("WebHospitalController selectHospitalIntro END");
return "/web/hospital/hospitalUpdate";
}
/**
* 병원 정보 상세 조회
*
* @param request
* @param response
* @param response
* @return
*/
@RequestMapping(value="/webhospital/selectHospital.do")
public ModelAndView selectHospital(HttpSession session,HttpServletRequest request, HttpServletResponse response) {
@RequestMapping(value = "/webhospital/selectHospital.do")
public ModelAndView selectHospital(HttpSession session, HttpServletRequest request, HttpServletResponse response) {
log.debug("WebHospitalController selectHospital START");
HashMap<String, Object> paramMap = HttpUtil.getParameterMap(request);
HashMap<String, Object> map = new HashMap<String, Object>();
try{
if(!webCheckLogin(session)){
try {
if (!webCheckLogin(session)) {
return null;
}
else{
} else {
paramMap.put("loginMemberId", String.valueOf(session.getAttribute("loginMemberId")));
map = webHospitalService.selectHospital(paramMap);
}
}
catch (Exception e) {
} catch (Exception e) {
e.printStackTrace();
return null;
}
finally {
if(Constants.OK == map.get("msgCode")) {
} finally {
if (Constants.OK == map.get("msgCode")) {
}
else{
} else {
map.put("msgCode", Constants.FAIL);
map.put("success", false);
if(null == map.get("msgDesc") || ("").equals(map.get("msgDesc"))) {
map.put("msgDesc","정상적으로 수행되지 않았습니다. 관리자에게 문의하시기 바랍니다.");
if (null == map.get("msgDesc") || ("").equals(map.get("msgDesc"))) {
map.put("msgDesc", "정상적으로 수행되지 않았습니다. 관리자에게 문의하시기 바랍니다.");
}
}
}
@@ -120,91 +114,125 @@ public class WebHospitalController extends ManagerDraftAction{
* @param response
* @return
*/
@RequestMapping(value="/webhospital/selectWorkTime.do")
public ModelAndView selectWorkTime(HttpSession session,HttpServletRequest request, HttpServletResponse response) {
@RequestMapping(value = "/webhospital/selectWorkTime.do")
public ModelAndView selectWorkTime(HttpSession session, HttpServletRequest request, HttpServletResponse response) {
log.debug("WebHospitalController selectWorkTime START");
HashMap<String, Object> paramMap = HttpUtil.getParameterMap(request);
HashMap<String, Object> map = new HashMap<String, Object>();
try{
if(!webCheckLogin(session)){
try {
if (!webCheckLogin(session)) {
return null;
}
else{
} else {
paramMap.put("loginMemberId", String.valueOf(session.getAttribute("loginMemberId")));
map = webHospitalService.selectWorkTime(paramMap);
}
}
catch (Exception e) {
} catch (Exception e) {
e.printStackTrace();
return null;
}
finally {
if(Constants.OK == map.get("msgCode")) {
} finally {
if (Constants.OK == map.get("msgCode")) {
}
else{
} else {
map.put("msgCode", Constants.FAIL);
map.put("success", false);
if(null == map.get("msgDesc") || ("").equals(map.get("msgDesc"))) {
map.put("msgDesc","정상적으로 수행되지 않았습니다. 관리자에게 문의하시기 바랍니다.");
if (null == map.get("msgDesc") || ("").equals(map.get("msgDesc"))) {
map.put("msgDesc", "정상적으로 수행되지 않았습니다. 관리자에게 문의하시기 바랍니다.");
}
}
}
log.debug("WebHospitalController selectWorkTime END");
return HttpUtil.makeHashToJsonModelAndView(map);
}
/**
* 병원 휴일 정보 조회 (달력 표출용)
*
* @param request
* @param response
* @return
*/
@RequestMapping(value = "/webhospital/selectHospitalHolidayList.do")
public ModelAndView selectHospitalHolidayList(HttpSession session, HttpServletRequest request,
HttpServletResponse response) {
log.debug("WebHospitalController selectHospitalHolidayList START");
HashMap<String, Object> paramMap = HttpUtil.getParameterMap(request);
HashMap<String, Object> map = new HashMap<String, Object>();
try {
if (!webCheckLogin(session)) {
return null;
} else {
paramMap.put("loginMemberId", String.valueOf(session.getAttribute("loginMemberId")));
map = webHospitalService.selectHospitalHolidayList(paramMap);
}
} catch (Exception e) {
e.printStackTrace();
return null;
} finally {
if (Constants.OK == map.get("msgCode")) {
} else {
map.put("msgCode", Constants.FAIL);
map.put("success", false);
if (null == map.get("msgDesc") || ("").equals(map.get("msgDesc"))) {
map.put("msgDesc", "정상적으로 수행되지 않았습니다. 관리자에게 문의하시기 바랍니다.");
}
}
}
log.debug("WebHospitalController selectHospitalHolidayList END");
return HttpUtil.makeHashToJsonModelAndView(map);
}
/**
* 병원 정보 수정
*
* @param request
* @param response
* @param response
* @return
*/
@RequestMapping(value="/webhospital/updateHospital.do")
public ModelAndView updateHospital(HttpSession session,HttpServletRequest request, HttpServletResponse response, MultipartHttpServletRequest file) {
@RequestMapping(value = "/webhospital/updateHospital.do")
public ModelAndView updateHospital(HttpSession session, HttpServletRequest request, HttpServletResponse response,
MultipartHttpServletRequest file) {
log.debug("WebHospitalController updateHospital START");
HashMap<String, Object> paramMap = HttpUtil.getParameterMap(request);
HashMap<String, Object> map = new HashMap<String, Object>();
StringBuffer errorMsg = new StringBuffer();
try{
if(!webCheckLogin(session)){
try {
if (!webCheckLogin(session)) {
return null;
}
else{
} else {
paramMap.put("loginMemberId", String.valueOf(session.getAttribute("loginMemberId")));
paramMap.put("regId", String.valueOf(session.getAttribute("loginMemberId")));
paramMap.put("modId", String.valueOf(session.getAttribute("loginMemberId")));
map = webHospitalService.updateHospital(paramMap);
}
}
catch (Exception e) {
} catch (Exception e) {
e.printStackTrace();
errorMsg.append(e);
}
finally {
if(Constants.OK == map.get("msgCode")) {
} finally {
if (Constants.OK == map.get("msgCode")) {
}
else{
} else {
map.put("msgCode", Constants.FAIL);
map.put("success", false);
if(null == map.get("msgDesc") || ("").equals(map.get("msgDesc"))) {
map.put("msgDesc","정상적으로 수행되지 않았습니다. 관리자에게 문의하시기 바랍니다.");
if (null == map.get("msgDesc") || ("").equals(map.get("msgDesc"))) {
map.put("msgDesc", "정상적으로 수행되지 않았습니다. 관리자에게 문의하시기 바랍니다.");
}
}
try {
HashMap<String, Object> visitLogParamMap = RequestLogUtil.getVisitLogParameterMap(request);
HashMap<String, Object> insertMap = new HashMap<String, Object>();
insertMap.put("url", "/webhospital/updateHospital.do");
insertMap.put("func", "updateHospital");
insertMap.put("funcName", "병원 수정");
@@ -213,18 +241,17 @@ public class WebHospitalController extends ManagerDraftAction{
insertMap.put("requestValue", String.valueOf(paramMap));
insertMap.put("responseValue", String.valueOf(map));
insertMap.put("tId", map.get("tId"));
if((String.valueOf(errorMsg)).equals("") || (String.valueOf(errorMsg) == null) || String.valueOf(errorMsg).length() == 0){
if ((String.valueOf(errorMsg)).equals("") || (String.valueOf(errorMsg) == null)
|| String.valueOf(errorMsg).length() == 0) {
insertMap.put("resultCode", "SUCCESS");
}
else{
} else {
insertMap.put("resultCode", "ERROR");
}
insertMap.put("resultMsg", String.valueOf(errorMsg));
insertMap.put("muMemberId", paramMap.get("loginMemberId"));
webLogHistoryService.insertLogHistory(insertMap, visitLogParamMap);
}
catch (Exception e) {
} catch (Exception e) {
e.printStackTrace();
}
}

View File

@@ -5,8 +5,13 @@ import java.util.HashMap;
public interface WebHospitalService {
public HashMap<String, Object> selectHospitalIntro(HashMap<String, Object> paramMap) throws Exception;
public HashMap<String, Object> selectHospital(HashMap<String, Object> paramMap) throws Exception;
public HashMap<String, Object> selectWorkTime(HashMap<String, Object> paramMap) throws Exception;
public HashMap<String, Object> updateHospital(HashMap<String, Object> paramMap) throws Exception;
public HashMap<String, Object> selectHospitalHolidayList(HashMap<String, Object> paramMap) throws Exception;
}

View File

@@ -190,22 +190,26 @@
</select>
<select id="selectHospitalHoliday" parameterType="hashmap" resultType="hashmap">
SELECT 'hospitalHoliday' AS dateType
, DATE_FORMAT(LOC_DATE, '%Y.%m.%d') AS locDate
SELECT 'hospitalHoliday' AS "dateType"
, HOSPITAL_HOLIDAY_NAME AS "hospitalHolidayName"
, DATE_FORMAT(LOC_DATE, '%Y-%m-%d') AS "locDate"
FROM MU_HOSPITAL_HOLIDAY MH
WHERE MH.USE_YN = 'Y'
AND MH.MU_HOSPITAL_ID = #{muHospitalId}
AND (
(MH.REPEAT_YN = 'Y')
OR
(MH.REPEAT_YN = 'N' AND DATE_FORMAT( MH.LOC_DATE, '%Y' ) >= DATE_FORMAT( CURDATE( ), '%Y' ))
)
UNION
UNION ALL
(
SELECT 'publicHoliday' AS dateType
, DATE_FORMAT(LOC_DATE, '%Y.%m.%d') AS locDate
SELECT 'publicHoliday' AS "dateType"
, MPH.PUBLIC_HOLIDAY_NAME AS "publicHolidayName"
, DATE_FORMAT(MPH.LOC_DATE, '%Y-%m-%d') AS "locDate"
FROM MU_PUBLIC_HOLIDAY MPH
JOIN MU_HOSPITAL
ON PUBLIC_HOLIDAY_USE_YN='Y'
JOIN MU_HOSPITAL MH
ON MH.MU_HOSPITAL_ID = #{muHospitalId}
AND MH.PUBLIC_HOLIDAY_USE_YN = 'Y'
WHERE MPH.USE_YN = 'Y'
AND DATE_FORMAT( MPH.LOC_DATE, '%Y' ) >= DATE_FORMAT( CURDATE( ), '%Y' )
)

File diff suppressed because it is too large Load Diff

View File

@@ -2,7 +2,7 @@
/****************************************************************************
* 병원 정보 상세 조회
****************************************************************************/
function fn_selectHospitalJson(){
function fn_selectHospitalJson() {
let formData = new FormData();
formData.append("menuClass", menuClass);
@@ -14,15 +14,15 @@ function fn_selectHospitalJson(){
contentType: false,
type: 'POST',
async: true,
success: function(data){
if('0'==data.msgCode){
success: function (data) {
if ('0' == data.msgCode) {
// 병원 정보
let hospitalRows = data.rows[0];
$("#muHospitalId").val(hospitalRows.muHospitalId);
if('Y'==hospitalRows.monOpenYn){
$('#checkMonOpenYn').prop('checked',true).trigger("change");
if ('Y' == hospitalRows.monOpenYn) {
$('#checkMonOpenYn').prop('checked', true).trigger("change");
let CheckMonOpenParent = $('#checkMonOpenYn').closest('li.on');
CheckMonOpenParent.find("#monOpenStartTime").siblings("button").text(hospitalRows.monOpenStartTime);
CheckMonOpenParent.find("#monOpenStartTime").val(hospitalRows.monOpenStartTime);
@@ -33,10 +33,10 @@ function fn_selectHospitalJson(){
CheckMonOpenParent.find("#monBreakEndTime").siblings("button").text(hospitalRows.monBreakEndTime);
CheckMonOpenParent.find("#monBreakEndTime").val(hospitalRows.monBreakEndTime);
}
if('Y'==hospitalRows.tueOpenYn){
$('#checkTueOpenYn').prop('checked',true).trigger("change");
if ('Y' == hospitalRows.tueOpenYn) {
$('#checkTueOpenYn').prop('checked', true).trigger("change");
let CheckTueOpenParent = $('#checkTueOpenYn').closest('li.on');
CheckTueOpenParent.find("#tueOpenStartTime").siblings("button").text(hospitalRows.tueOpenStartTime);
CheckTueOpenParent.find("#tueOpenStartTime").val(hospitalRows.tueOpenStartTime);
@@ -47,10 +47,10 @@ function fn_selectHospitalJson(){
CheckTueOpenParent.find("#tueBreakEndTime").siblings("button").text(hospitalRows.tueBreakEndTime);
CheckTueOpenParent.find("#tueBreakEndTime").val(hospitalRows.tueBreakEndTime);
}
if('Y'==hospitalRows.wedOpenYn){
$('#checkWedOpenYn').prop('checked',true).trigger("change");
if ('Y' == hospitalRows.wedOpenYn) {
$('#checkWedOpenYn').prop('checked', true).trigger("change");
let CheckWedOpenParent = $('#checkWedOpenYn').closest('li.on');
CheckWedOpenParent.find("#wedOpenStartTime").siblings("button").text(hospitalRows.wedOpenStartTime);
CheckWedOpenParent.find("#wedOpenStartTime").val(hospitalRows.wedOpenStartTime);
@@ -62,9 +62,9 @@ function fn_selectHospitalJson(){
CheckWedOpenParent.find("#wedBreakEndTime").val(hospitalRows.wedBreakEndTime);
}
if('Y'==hospitalRows.thuOpenYn){
$('#checkThuOpenYn').prop('checked',true).trigger("change");
if ('Y' == hospitalRows.thuOpenYn) {
$('#checkThuOpenYn').prop('checked', true).trigger("change");
let CheckThuOpenParent = $('#checkThuOpenYn').closest('li.on');
CheckThuOpenParent.find("#thuOpenStartTime").siblings("button").text(hospitalRows.thuOpenStartTime);
CheckThuOpenParent.find("#thuOpenStartTime").val(hospitalRows.thuOpenStartTime);
@@ -75,10 +75,10 @@ function fn_selectHospitalJson(){
CheckThuOpenParent.find("#thuBreakEndTime").siblings("button").text(hospitalRows.thuBreakEndTime);
CheckThuOpenParent.find("#thuBreakEndTime").val(hospitalRows.thuBreakEndTime);
}
if('Y'==hospitalRows.friOpenYn){
$('#checkFriOpenYn').prop('checked',true).trigger("change");
if ('Y' == hospitalRows.friOpenYn) {
$('#checkFriOpenYn').prop('checked', true).trigger("change");
let CheckFriOpenParent = $('#checkFriOpenYn').closest('li.on');
CheckFriOpenParent.find("#friOpenStartTime").siblings("button").text(hospitalRows.friOpenStartTime);
CheckFriOpenParent.find("#friOpenStartTime").val(hospitalRows.friOpenStartTime);
@@ -89,10 +89,10 @@ function fn_selectHospitalJson(){
CheckFriOpenParent.find("#friBreakEndTime").siblings("button").text(hospitalRows.friBreakEndTime);
CheckFriOpenParent.find("#friBreakEndTime").val(hospitalRows.friBreakEndTime);
}
if('Y'==hospitalRows.satOpenYn){
$('#checkSatOpenYn').prop('checked',true).trigger("change");
if ('Y' == hospitalRows.satOpenYn) {
$('#checkSatOpenYn').prop('checked', true).trigger("change");
let CheckSatOpenParent = $('#checkSatOpenYn').closest('li.on');
CheckSatOpenParent.find("#satOpenStartTime").siblings("button").text(hospitalRows.satOpenStartTime);
CheckSatOpenParent.find("#satOpenStartTime").val(hospitalRows.satOpenStartTime);
@@ -104,9 +104,9 @@ function fn_selectHospitalJson(){
CheckSatOpenParent.find("#satBreakEndTime").val(hospitalRows.satBreakEndTime);
}
if('Y'==hospitalRows.sunOpenYn){
$('#checkSunOpenYn').prop('checked',true).trigger("change");
if ('Y' == hospitalRows.sunOpenYn) {
$('#checkSunOpenYn').prop('checked', true).trigger("change");
let CheckSunOpenParent = $('#checkSunOpenYn').closest('li.on');
CheckSunOpenParent.find("#sunOpenStartTime").siblings("button").text(hospitalRows.sunOpenStartTime);
CheckSunOpenParent.find("#sunOpenStartTime").val(hospitalRows.sunOpenStartTime);
@@ -117,29 +117,32 @@ function fn_selectHospitalJson(){
CheckSunOpenParent.find("#sunBreakEndTime").siblings("button").text(hospitalRows.sunBreakEndTime);
CheckSunOpenParent.find("#sunBreakEndTime").val(hospitalRows.sunBreakEndTime);
}
if('Y'==hospitalRows.publicHolidayUseYn){
$('#checkPublicHolidayUseYn').prop('checked',true);
if ('Y' == hospitalRows.publicHolidayUseYn) {
$('#checkPublicHolidayUseYn').prop('checked', true);
}
$("#txt_muMemberId").val(hospitalRows.muMemberId);
$("#txt_memberName").val(hospitalRows.memberName);
// 휴일 상세 정보
fn_addRow2(hospitalRows.holidayRows);
// 달력 조회 (병원 ID 확보 후 실행)
fn_selectHospitalHolidayList();
}
else{
else {
modalEvent.danger("조회 오류", data.msgDesc);
}
},
error : function(xhr, status, error) {
error: function (xhr, status, error) {
modalEvent.danger("조회 오류", "조회 중 오류가 발생하였습니다. 잠시후 다시시도하십시오.");
},
beforeSend:function(){
beforeSend: function () {
},
complete:function(){
complete: function () {
}
});
}
@@ -147,41 +150,41 @@ function fn_selectHospitalJson(){
/****************************************************************************
* 조회 row 추가 이벤트
****************************************************************************/
function fn_addRow2(detailList){
function fn_addRow2(detailList) {
let addRowHtml = '';
if(0<detailList.length){
if (0 < detailList.length) {
addRowHtml += '<li class="list_title_li">';
addRowHtml += ' <span class="list_title">휴일명</span>';
addRowHtml += ' <span class="list_title">날짜</span>';
addRowHtml += ' <span class="list_title">일정반복</span>';
addRowHtml += ' <span class="list_title"></span>';
addRowHtml += '</li>';
for(let i = 0; i < detailList.length; i++){
for (let i = 0; i < detailList.length; i++) {
let hospitalHolidayName = detailList[i].hospitalHolidayName;
let locDate = detailList[i].locDate;
let repeatYn = detailList[i].repeatYn;
let locDate = detailList[i].locDate;
let repeatYn = detailList[i].repeatYn;
addRowHtml += '<li>';
addRowHtml += ' <div class="input_box">';
addRowHtml += ' <input type="text" name="hospitalHolidayName" value="'+hospitalHolidayName+'" placeholder="휴일명" maxlength="50">';
addRowHtml += ' <input type="text" name="hospitalHolidayName" value="' + hospitalHolidayName + '" placeholder="휴일명" maxlength="50">';
addRowHtml += ' </div>';
addRowHtml += ' <div class="calendar_box">';
addRowHtml += ' <div class="date_box">';
addRowHtml += ' <img src="/image/web/calendar.svg" alt="calendar"/>';
addRowHtml += ' <input type="date" class="date_picker" name="dateLocDate" value="'+locDate+'">';
addRowHtml += ' <input type="date" class="date_picker" name="dateLocDate" value="' + locDate + '">';
addRowHtml += ' </div>';
addRowHtml += ' </div>';
addRowHtml += ' <div class="select_list">';
addRowHtml += ' <div class="select_box dropdown">';
if('Y'==repeatYn){
if ('Y' == repeatYn) {
addRowHtml += ' <button type="button" class="label" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">반복</button>';
addRowHtml += ' <input type="hidden" name="repeatYn" value="Y"/>';
}
else{
else {
addRowHtml += ' <button type="button" class="label" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">반복 안함</button>';
addRowHtml += ' <input type="hidden" name="repeatYn" value="N"/>';
}
@@ -191,8 +194,8 @@ function fn_addRow2(detailList){
addRowHtml += ' </ul>';
addRowHtml += ' </div>';
addRowHtml += ' </div>';
if(i==0){
if (i == 0) {
addRowHtml += '<div class="add_box">';
addRowHtml += ' <button onclick="javascript:fn_removeRow2(this);"><img src="/image/web/subtract.svg" alt="삭제"></button>';
addRowHtml += '</div>';
@@ -201,53 +204,53 @@ function fn_addRow2(detailList){
addRowHtml += ' <button onclick="javascript:fn_addRow(this);"><img src="/image/web/add.svg" alt="추가"/></button>';
addRowHtml += '</div>';
}
else{
else {
addRowHtml += '<div class="add_box" style="display:none;">';
addRowHtml += ' <button onclick="javascript:fn_addRow(this);"><img src="/image/web/add.svg" alt="추가"/></button>';
addRowHtml += '</div>';
addRowHtml += '<div class="subtract_box">';
addRowHtml += ' <button onclick="javascript:fn_removeRow(this);"><img src="/image/web/subtract.svg" alt="삭제"></button>';
addRowHtml += '</div>';
}
addRowHtml += '</li>';
}
$('#hospitalHolidayList').empty().html(addRowHtml).trigger("create");
}
else{
else {
fn_addRow();
}
// 날짜 datepicker
fn_datePicker("#hospitalHolidayList input[type='date']");
let parentTable = $("#hospitalHolidayList");
fn_hospitalRefreshOrderNumber(parentTable);
}
/****************************************************************************
* row 추가 이벤트
****************************************************************************/
function fn_addRow(param){
function fn_addRow(param) {
let addRowHtml = '';
addRowHtml += '<li>';
addRowHtml += ' <div class="input_box">';
addRowHtml += ' <input type="text" name="hospitalHolidayName" value="" placeholder="휴일명" maxlength="50">';
addRowHtml += ' </div>';
addRowHtml += ' <div class="calendar_box">';
addRowHtml += ' <div class="date_box">';
addRowHtml += ' <img src="/image/web/calendar.svg" alt="calendar"/>';
addRowHtml += ' <input type="date" class="date_picker" name="dateLocDate">';
addRowHtml += ' </div>';
addRowHtml += ' </div>';
addRowHtml += ' <div class="select_list">';
addRowHtml += ' <div class="select_box dropdown">';
addRowHtml += ' <button type="button" class="label" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">반복 여부</button>';
addRowHtml += ' <input type="hidden" name="repeatYn" value=""/>';
addRowHtml += ' <button type="button" class="label" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">반복 안함</button>';
addRowHtml += ' <input type="hidden" name="repeatYn" value="N"/>';
addRowHtml += ' <ul class="select_option_list dropdown-menu">';
addRowHtml += ' <li class="option_list_item first" onclick="fn_clickSelectValue(this, \'Y\', \'반복\');">반복</li>';
addRowHtml += ' <li class="option_list_item" onclick="fn_clickSelectValue(this, \'N\', \'반복 안함\');">반복 안함</li>';
@@ -265,7 +268,7 @@ function fn_addRow(param){
addRowHtml += '</li>';
$('#hospitalHolidayList').append(addRowHtml).trigger("create");
// 날짜 datepicker
fn_datePicker("#hospitalHolidayList input[type='date']");
@@ -276,14 +279,14 @@ function fn_addRow(param){
/****************************************************************************
* row 삭제 이벤트
****************************************************************************/
function fn_removeRow(param){
function fn_removeRow(param) {
let liLength = $('#hospitalHolidayList').children('li').length;
if(2<liLength){
if (2 < liLength) {
let liNum = $(param).closest('li').prevAll().length;
$('#hospitalHolidayList').children('li').eq(liNum).remove();
}
else{
else {
modalEvent.warning("입력 오류", "더 이상 삭제할 수 없습니다.");
}
}
@@ -291,7 +294,7 @@ function fn_removeRow(param){
/****************************************************************************
* row 삭제 이벤트
****************************************************************************/
function fn_removeRow2(param){
function fn_removeRow2(param) {
let liNum = $(param).closest('li').prevAll().length;
$('#hospitalHolidayList').children('li').eq(liNum).remove();
@@ -301,7 +304,7 @@ function fn_removeRow2(param){
/****************************************************************************
* 전체 row 버튼 변경
****************************************************************************/
function fn_hospitalRefreshOrderNumber(param){
function fn_hospitalRefreshOrderNumber(param) {
// row 추가/삭제 버튼 처리
$(param).find(".add_box").hide();
$(param).find('.subtract_box').show();
@@ -312,148 +315,148 @@ function fn_hospitalRefreshOrderNumber(param){
/****************************************************************************
* 병원 정보 수정
****************************************************************************/
function fn_updateHospital(){
let muHospitalId = $("#muHospitalId").val();
let monOpenYn = $("#checkMonOpenYn").is(':checked')==true?'Y':'N';
let monOpenStartTime = $("#monOpenStartTime").val();
let monOpenEndTime = $("#monOpenEndTime").val();
let monBreakStartTime = $("#monBreakStartTime").val();
let monBreakEndTime = $("#monBreakEndTime").val();
let tueOpenYn = $("#checkTueOpenYn").is(':checked')==true?'Y':'N';
let tueOpenStartTime = $("#tueOpenStartTime").val();
let tueOpenEndTime = $("#tueOpenEndTime").val();
let tueBreakStartTime = $("#tueBreakStartTime").val();
let tueBreakEndTime = $("#tueBreakEndTime").val();
let wedOpenYn = $("#checkWedOpenYn").is(':checked')==true?'Y':'N';
let wedOpenStartTime = $("#wedOpenStartTime").val();
let wedOpenEndTime = $("#wedOpenEndTime").val();
let wedBreakStartTime = $("#wedBreakStartTime").val();
let wedBreakEndTime = $("#wedBreakEndTime").val();
let thuOpenYn = $("#checkThuOpenYn").is(':checked')==true?'Y':'N';
let thuOpenStartTime = $("#thuOpenStartTime").val();
let thuOpenEndTime = $("#thuOpenEndTime").val();
let thuBreakStartTime = $("#thuBreakStartTime").val();
let thuBreakEndTime = $("#thuBreakEndTime").val();
function fn_updateHospital() {
let muHospitalId = $("#muHospitalId").val();
let friOpenYn = $("#checkFriOpenYn").is(':checked')==true?'Y':'N';
let friOpenStartTime = $("#friOpenStartTime").val();
let friOpenEndTime = $("#friOpenEndTime").val();
let friBreakStartTime = $("#friBreakStartTime").val();
let friBreakEndTime = $("#friBreakEndTime").val();
let monOpenYn = $("#checkMonOpenYn").is(':checked') == true ? 'Y' : 'N';
let monOpenStartTime = $("#monOpenStartTime").val();
let monOpenEndTime = $("#monOpenEndTime").val();
let monBreakStartTime = $("#monBreakStartTime").val();
let monBreakEndTime = $("#monBreakEndTime").val();
let tueOpenYn = $("#checkTueOpenYn").is(':checked') == true ? 'Y' : 'N';
let tueOpenStartTime = $("#tueOpenStartTime").val();
let tueOpenEndTime = $("#tueOpenEndTime").val();
let tueBreakStartTime = $("#tueBreakStartTime").val();
let tueBreakEndTime = $("#tueBreakEndTime").val();
let wedOpenYn = $("#checkWedOpenYn").is(':checked') == true ? 'Y' : 'N';
let wedOpenStartTime = $("#wedOpenStartTime").val();
let wedOpenEndTime = $("#wedOpenEndTime").val();
let wedBreakStartTime = $("#wedBreakStartTime").val();
let wedBreakEndTime = $("#wedBreakEndTime").val();
let thuOpenYn = $("#checkThuOpenYn").is(':checked') == true ? 'Y' : 'N';
let thuOpenStartTime = $("#thuOpenStartTime").val();
let thuOpenEndTime = $("#thuOpenEndTime").val();
let thuBreakStartTime = $("#thuBreakStartTime").val();
let thuBreakEndTime = $("#thuBreakEndTime").val();
let friOpenYn = $("#checkFriOpenYn").is(':checked') == true ? 'Y' : 'N';
let friOpenStartTime = $("#friOpenStartTime").val();
let friOpenEndTime = $("#friOpenEndTime").val();
let friBreakStartTime = $("#friBreakStartTime").val();
let friBreakEndTime = $("#friBreakEndTime").val();
let satOpenYn = $("#checkSatOpenYn").is(':checked') == true ? 'Y' : 'N';
let satOpenStartTime = $("#satOpenStartTime").val();
let satOpenEndTime = $("#satOpenEndTime").val();
let satBreakStartTime = $("#satBreakStartTime").val();
let satBreakEndTime = $("#satBreakEndTime").val();
let sunOpenYn = $("#checkSunOpenYn").is(':checked') == true ? 'Y' : 'N';
let sunOpenStartTime = $("#sunOpenStartTime").val();
let sunOpenEndTime = $("#sunOpenEndTime").val();
let sunBreakStartTime = $("#sunBreakStartTime").val();
let sunBreakEndTime = $("#sunBreakEndTime").val();
let publicHolidayUseYn = $("#checkPublicHolidayUseYn").is(':checked') == true ? 'Y' : 'N';
let satOpenYn = $("#checkSatOpenYn").is(':checked')==true?'Y':'N';
let satOpenStartTime = $("#satOpenStartTime").val();
let satOpenEndTime = $("#satOpenEndTime").val();
let satBreakStartTime = $("#satBreakStartTime").val();
let satBreakEndTime = $("#satBreakEndTime").val();
let sunOpenYn = $("#checkSunOpenYn").is(':checked')==true?'Y':'N';
let sunOpenStartTime = $("#sunOpenStartTime").val();
let sunOpenEndTime = $("#sunOpenEndTime").val();
let sunBreakStartTime = $("#sunBreakStartTime").val();
let sunBreakEndTime = $("#sunBreakEndTime").val();
let publicHolidayUseYn = $("#checkPublicHolidayUseYn").is(':checked')==true?'Y':'N';
// 휴일 정보
let detailArray = new Object();
if("Y"!=updateUseYn){
if ("Y" != updateUseYn) {
modalEvent.warning("", "수정 권한이 없습니다.");
return false;
}
if(!muHospitalId){
if (!muHospitalId) {
modalEvent.warning("", "병원 정보가 없습니다.");
return false;
}
if('Y'==monOpenYn){
if(!monOpenStartTime){
if ('Y' == monOpenYn) {
if (!monOpenStartTime) {
modalEvent.warning("", "월요일 운영 시작시간 정보가 없습니다.");
return false;
}
if(!monOpenEndTime){
if (!monOpenEndTime) {
modalEvent.warning("", "월요일 운영 종료시간 정보가 없습니다.");
return false;
}
if(!monBreakStartTime){
if (!monBreakStartTime) {
modalEvent.warning("", "월요일 휴게 시작시간 정보가 없습니다.");
return false;
}
if(!monBreakEndTime){
if (!monBreakEndTime) {
modalEvent.warning("", "월요일 휴게 종료시간 정보가 없습니다.");
return false;
}
}
else{
else {
monOpenYn = 'N'
monOpenStartTime = '00:00';
monOpenEndTime = '00:00';
monBreakStartTime = '00:00';
monBreakEndTime = '00:00';
}
if('Y'==tueOpenYn){
if(!tueOpenStartTime){
if ('Y' == tueOpenYn) {
if (!tueOpenStartTime) {
modalEvent.warning("", "화요일 운영 시작시간 정보가 없습니다.");
return false;
}
if(!tueOpenEndTime){
if (!tueOpenEndTime) {
modalEvent.warning("", "화요일 운영 종료시간 정보가 없습니다.");
return false;
}
if(!tueBreakStartTime){
if (!tueBreakStartTime) {
modalEvent.warning("", "화요일 휴게 시작시간 정보가 없습니다.");
return false;
}
if(!tueBreakEndTime){
if (!tueBreakEndTime) {
modalEvent.warning("", "화요일 휴게 종료시간 정보가 없습니다.");
return false;
}
}
else{
else {
tueOpenYn = 'N'
tueOpenStartTime = '00:00';
tueOpenEndTime = '00:00';
tueBreakStartTime = '00:00';
tueBreakEndTime = '00:00';
}
if('Y'==wedOpenYn){
if(!wedOpenStartTime){
if ('Y' == wedOpenYn) {
if (!wedOpenStartTime) {
modalEvent.warning("", "수요일 운영 시작시간 정보가 없습니다.");
return false;
}
if(!wedOpenEndTime){
if (!wedOpenEndTime) {
modalEvent.warning("", "수요일 운영 종료시간 정보가 없습니다.");
return false;
}
if(!wedBreakStartTime){
if (!wedBreakStartTime) {
modalEvent.warning("", "수요일 휴게 시작시간 정보가 없습니다.");
return false;
}
if(!wedBreakEndTime){
if (!wedBreakEndTime) {
modalEvent.warning("", "수요일 휴게 종료시간 정보가 없습니다.");
return false;
}
}
else{
else {
wedOpenYn = 'N'
wedOpenStartTime = '00:00';
wedOpenEndTime = '00:00';
@@ -461,57 +464,57 @@ function fn_updateHospital(){
wedBreakEndTime = '00:00';
}
if('Y'==thuOpenYn){
if(!thuOpenStartTime){
if ('Y' == thuOpenYn) {
if (!thuOpenStartTime) {
modalEvent.warning("", "목요일 운영 시작시간 정보가 없습니다.");
return false;
}
if(!thuOpenEndTime){
if (!thuOpenEndTime) {
modalEvent.warning("", "목요일 운영 종료시간 정보가 없습니다.");
return false;
}
if(!thuBreakStartTime){
if (!thuBreakStartTime) {
modalEvent.warning("", "목요일 휴게 시작시간 정보가 없습니다.");
return false;
}
if(!thuBreakEndTime){
if (!thuBreakEndTime) {
modalEvent.warning("", "목요일 휴게 종료시간 정보가 없습니다.");
return false;
}
}
else{
else {
thuOpenYn = 'N'
thuOpenStartTime = '00:00';
thuOpenEndTime = '00:00';
thuBreakStartTime = '00:00';
thuBreakEndTime = '00:00';
}
if('Y'==friOpenYn){
if(!friOpenStartTime){
if ('Y' == friOpenYn) {
if (!friOpenStartTime) {
modalEvent.warning("", "금요일 운영 시작시간 정보가 없습니다.");
return false;
}
if(!friOpenEndTime){
if (!friOpenEndTime) {
modalEvent.warning("", "금요일 운영 종료시간 정보가 없습니다.");
return false;
}
if(!friBreakStartTime){
if (!friBreakStartTime) {
modalEvent.warning("", "금요일 휴게 시작시간 정보가 없습니다.");
return false;
}
if(!friBreakEndTime){
if (!friBreakEndTime) {
modalEvent.warning("", "금요일 휴게 종료시간 정보가 없습니다.");
return false;
}
}
else{
else {
friOpenYn = 'N'
friOpenStartTime = '00:00';
friOpenEndTime = '00:00';
@@ -519,28 +522,28 @@ function fn_updateHospital(){
friBreakEndTime = '00:00';
}
if('Y'==satOpenYn){
if(!satOpenStartTime){
if ('Y' == satOpenYn) {
if (!satOpenStartTime) {
modalEvent.warning("", "토요일 운영 시작시간 정보가 없습니다.");
return false;
}
if(!satOpenEndTime){
if (!satOpenEndTime) {
modalEvent.warning("", "토요일 운영 종료시간 정보가 없습니다.");
return false;
}
if(!satBreakStartTime){
if (!satBreakStartTime) {
modalEvent.warning("", "토요일 휴게 시작시간 정보가 없습니다.");
return false;
}
if(!satBreakEndTime){
if (!satBreakEndTime) {
modalEvent.warning("", "토요일 휴게 종료시간 정보가 없습니다.");
return false;
}
}
else{
else {
satOpenYn = 'N'
satOpenStartTime = '00:00';
satOpenEndTime = '00:00';
@@ -548,60 +551,60 @@ function fn_updateHospital(){
satBreakEndTime = '00:00';
}
if('Y'==sunOpenYn){
if(!sunOpenStartTime){
if ('Y' == sunOpenYn) {
if (!sunOpenStartTime) {
modalEvent.warning("", "일요일 운영 시작시간 정보가 없습니다.");
return false;
}
if(!sunOpenEndTime){
if (!sunOpenEndTime) {
modalEvent.warning("", "일요일 운영 종료시간 정보가 없습니다.");
return false;
}
if(!sunBreakStartTime){
if (!sunBreakStartTime) {
modalEvent.warning("", "일요일 휴게 시작시간 정보가 없습니다.");
return false;
}
if(!sunBreakEndTime){
if (!sunBreakEndTime) {
modalEvent.warning("", "일요일 휴게 종료시간 정보가 없습니다.");
return false;
}
}
else{
else {
sunOpenYn = 'N'
sunOpenStartTime = '00:00';
sunOpenEndTime = '00:00';
sunBreakStartTime = '00:00';
sunBreakEndTime = '00:00';
}
if(!publicHolidayUseYn){
if (!publicHolidayUseYn) {
modalEvent.warning("", "법정 공휴일 정보가 없습니다.");
return false;
}
// 휴일정보
let holidayLi = $('#hospitalHolidayList').children('li');
let liLength = holidayLi.length;
let liLength = holidayLi.length;
let tempArray = new Array();
for(let i=1 ; i < liLength ; i++){
for (let i = 1; i < liLength; i++) {
let hospitalHolidayName = holidayLi.eq(i).find('input[name="hospitalHolidayName"]').val();
let locDate = holidayLi.eq(i).find('input[name="dateLocDate"]').val();
let repeatYn = holidayLi.eq(i).find('input[name="repeatYn"]').val();
let locDate = holidayLi.eq(i).find('input[name="dateLocDate"]').val();
let repeatYn = holidayLi.eq(i).find('input[name="repeatYn"]').val();
let arr_sub = new Object();
arr_sub.hospitalHolidayName = hospitalHolidayName;
arr_sub.locDate = locDate;
arr_sub.repeatYn = repeatYn;
arr_sub.locDate = locDate;
arr_sub.repeatYn = repeatYn;
tempArray.push(arr_sub);
detailArray.data = tempArray;
}
modalEvent.info("수정", "선택한 병원 정보를 수정하시겠습니까?", function(){
modalEvent.info("수정", "선택한 병원 정보를 수정하시겠습니까?", function () {
let formData = new FormData();
formData.append("menuClass", menuClass);
formData.append("muHospitalId", muHospitalId);
@@ -641,7 +644,7 @@ function fn_updateHospital(){
formData.append("sunBreakStartTime", sunBreakStartTime);
formData.append("sunBreakEndTime", sunBreakEndTime);
formData.append("publicHolidayUseYn", publicHolidayUseYn);
formData.append("holidayRows",JSON.stringify(detailArray));
formData.append("holidayRows", JSON.stringify(detailArray));
$.ajax({
url: encodeURI('/webhospital/updateHospital.do'),
@@ -651,24 +654,24 @@ function fn_updateHospital(){
contentType: false,
type: 'POST',
async: true,
success: function(data){
if('0'==data.msgCode){
modalEvent.success("수정 성공", data.msgDesc, function(){
success: function (data) {
if ('0' == data.msgCode) {
modalEvent.success("수정 성공", data.msgDesc, function () {
fn_reload();
});
}
else{
else {
modalEvent.danger("수정 오류", data.msgDesc);
}
},
error : function(xhr, status, error) {
error: function (xhr, status, error) {
modalEvent.danger("수정 오류", "수정 중 오류가 발생하였습니다. 잠시후 다시시도하십시오.");
},
beforeSend:function(){
beforeSend: function () {
},
complete:function(){
complete: function () {
}
});
});
@@ -678,23 +681,23 @@ function fn_updateHospital(){
* 운영여부 변경 이벤트
* type : 요일(mon:월요일....)
****************************************************************************/
function fn_changeOpenYn(target, type){
function fn_changeOpenYn(target, type) {
let checked = $(target).is(':checked');
if(checked){
if (checked) {
// 기본 셋팅
fn_setTimeValue("sel"+type+"OpenStartTime", "09:00");
fn_setTimeValue("sel"+type+"OpenEndTime", "19:00");
fn_setTimeValue("sel"+type+"BreakStartTime", "14:00");
fn_setTimeValue("sel"+type+"BreakEndTime", "15:00");
$(target).parents("li").find("button").prop("disabled",false);
fn_setTimeValue("sel" + type + "OpenStartTime", "09:00");
fn_setTimeValue("sel" + type + "OpenEndTime", "19:00");
fn_setTimeValue("sel" + type + "BreakStartTime", "14:00");
fn_setTimeValue("sel" + type + "BreakEndTime", "15:00");
$(target).parents("li").find("button").prop("disabled", false);
$(target).closest('li').addClass('on');
}
else{
else {
// 초기화
$(target).parents("li").find("button").text("00:00");
$(target).parents("li").find("input").text("00:00");
$(target).parents("li").find("button").prop("disabled",true);
$(target).parents("li").find("button").prop("disabled", true);
$(target).closest('li').removeClass('on');
}
}
@@ -702,7 +705,7 @@ function fn_changeOpenYn(target, type){
/****************************************************************************
* select box 선택 값 셋팅
****************************************************************************/
function fn_clickSelectValue(target, param, paramText){
function fn_clickSelectValue(target, param, paramText) {
$(target).parent().siblings("button").text(paramText);
$(target).parent().siblings("input").val(param);
}
@@ -710,60 +713,137 @@ function fn_clickSelectValue(target, param, paramText){
/****************************************************************************
* 페이지 init
****************************************************************************/
function fn_pageInit(){
function fn_pageInit() {
// 병원 상세 조회
fn_selectHospitalJson();
}
/****************************************************************************
* 병원 휴일 정보 조회 (달력용)
****************************************************************************/
function fn_selectHospitalHolidayList() {
let calendarEl = document.getElementById('calendar');
let calendar = new FullCalendar.Calendar(calendarEl, {
initialView: 'dayGridMonth',
fixedWeekCount: false,
contentHeight: 'auto',
headerToolbar: {
left: 'prev,next today',
center: 'title',
right: 'dayGridMonth,listMonth'
},
locale: 'ko',
events: function (info, successCallback, failureCallback) {
let formData = new FormData();
// 필요한 파라미터가 있다면 추가 (예: 검색 년월 등)
// 여기서는 전체 조회를 하거나, FullCalendar가 주는 start/end 날짜를 활용할 수 있음
// 하지만 현재 API는 파라미터 없이 병원 ID 기준으로 다 가져오거나 날짜 조건이 필요함.
// selectHospitalHoliday 쿼리를 보면 locDate 등의 조건이 있을 수 있음.
// 일단 전체 조회 또는 현재 월 기준 조회가 필요하지만, 쿼리 확인 결과 조건이 없거나 locDate 조건이 있을 수 있음.
// 여기서는 단순히 호출하고 결과 매핑.
// FullCalendar는 startStr, endStr을 쿼리스트링으로 보낼 수 있음 (?start=...&end=...)
// API 컨트롤러에서 이를 paramMap으로 받아서 쿼리에 넘겨줘야 함.
// 현재 selectHospitalHoliday 쿼리(WebHospitalSqlMap.xml)를 확인해보지 않았지만,
// 보통 날짜 조건이 없다면 전체를 가져옴.
formData.append("paramStartDate", info.startStr);
formData.append("paramEndDate", info.endStr);
formData.append("muHospitalId", $("#muHospitalId").val());
$.ajax({
url: encodeURI('/webhospital/selectHospitalHolidayList.do'),
data: formData,
dataType: "json",
processData: false,
contentType: false,
type: 'POST',
success: function (data) {
if ('0' == data.msgCode) {
let events = [];
let rows = data.rows;
if (rows) {
for (let i = 0; i < rows.length; i++) {
let row = rows[i];
let color = '#3985EA'; // 기본 파란색 (Theme Blue)
if (row.dateType === 'publicHoliday') {
color = '#FF5252'; // 공휴일 빨간색 (Vibrant Red)
} else if (row.dateType === 'hospitalHoliday') {
color = '#2ECC71'; // 병원휴일 초록색 (Vibrant Green)
}
events.push({
title: row.hospitalHolidayName || row.publicHolidayName || '휴일',
start: row.locDate, // yyyy.MM.dd 포맷이라면 yyyy-MM-dd로 변환 필요할 수 있음
color: color,
allDay: true
});
}
}
successCallback(events);
} else {
failureCallback(data.msgDesc);
}
},
error: function () {
failureCallback('실패');
}
});
}
});
calendar.render();
}
/****************************************************************************
* 페이지 event
****************************************************************************/
function fn_pageEvent(){
function fn_pageEvent() {
// 월요일 운영여부 체크
$("#checkMonOpenYn").change(function () {
fn_changeOpenYn(this, 'Mon');
});
// 화요일 운영여부 체크
$("#checkTueOpenYn").change(function () {
fn_changeOpenYn(this, 'Tue');
});
// 수요일 운영여부 체크
$("#checkWedOpenYn").change(function () {
fn_changeOpenYn(this, 'Wed');
});
// 목요일 운영여부 체크
$("#checkThuOpenYn").change(function () {
fn_changeOpenYn(this, 'Thu');
});
// 금요일 운영여부 체크
$("#checkFriOpenYn").change(function () {
fn_changeOpenYn(this, 'Fri');
});
// 토요일 운영여부 체크
$("#checkSatOpenYn").change(function () {
fn_changeOpenYn(this, 'Sat');
});
// 일요일 운영여부 체크
$("#checkSunOpenYn").change(function () {
fn_changeOpenYn(this, 'Sun');
});
// 저장 버튼
$("#btnUpdateHospital").click(function () {
fn_updateHospital();
});
}
$(function(){
$(function () {
// 페이지 init
fn_pageInit();
// 페이지 event
fn_pageEvent();
});

View File

@@ -1,467 +1,505 @@
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml"
xmlns:th="http://www.thymeleaf.org"
xmlns:layout="http://www.ultraq.net.nz/thymeleaf/layout"
layout:decorate="~{/web/layout/homeLayout}">
<th:block layout:fragment="layout_css">
<link rel="stylesheet" href="/css/web/hospital_info.css?v1.1">
</th:block>
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml" xmlns:th="http://www.thymeleaf.org"
xmlns:layout="http://www.ultraq.net.nz/thymeleaf/layout" layout:decorate="~{/web/layout/homeLayout}">
<th:block layout:fragment="layout_css">
<link rel="stylesheet" href="/css/web/hospital_info.css?v1.1">
<script src='https://cdn.jsdelivr.net/npm/fullcalendar@6.1.10/index.global.min.js'></script>
</th:block>
<th:block layout:fragment="layout_top_script">
<script>
let menuClass = "[[${param.menuClass}]]"==""?"":"[[${param.menuClass}]]";
<script>
let menuClass = "[[${param.menuClass}]]" == "" ? "" : "[[${param.menuClass}]]";
let selectUseYn = "[[${selectUseYn}]]"==""?"N":"[[${selectUseYn}]]";
let insertUseYn = "[[${insertUseYn}]]"==""?"N":"[[${insertUseYn}]]";
let updateUseYn = "[[${updateUseYn}]]"==""?"N":"[[${updateUseYn}]]";
let deleteUseYn = "[[${deleteUseYn}]]"==""?"N":"[[${deleteUseYn}]]";
let downloadUseYn = "[[${downloadUseYn}]]"==""?"N":"[[${downloadUseYn}]]";
let selectUseYn = "[[${selectUseYn}]]" == "" ? "N" : "[[${selectUseYn}]]";
let insertUseYn = "[[${insertUseYn}]]" == "" ? "N" : "[[${insertUseYn}]]";
let updateUseYn = "[[${updateUseYn}]]" == "" ? "N" : "[[${updateUseYn}]]";
let deleteUseYn = "[[${deleteUseYn}]]" == "" ? "N" : "[[${deleteUseYn}]]";
let downloadUseYn = "[[${downloadUseYn}]]" == "" ? "N" : "[[${downloadUseYn}]]";
</script>
</script>
</th:block>
<th:block layout:fragment="layout_content">
<input type="hidden" id="muHospitalId">
<!-- 센터쪽 -->
<div class="center_box">
<p class="page_title">병원 기본정보</p>
<input type="hidden" id="muHospitalId">
<!-- 센터쪽 -->
<div class="center_box">
<p class="page_title">병원 기본정보</p>
<div class="info_box">
<div class="info">
<div class="form_box first">
<p class="title">운영시간</p>
<div class="time_box">
<p class="time_title">운영시간</p>
<ul class="time_list">
<li class="list_title_li">
<span class="list_title">요일</span>
<span class="list_title">운영시간</span>
<span class="list_title">휴게시간</span>
<span class="list_title">운영여부</span>
</li>
<li>
<div class="day_box">
<p class="day">월요일</p>
</div>
<div class="select_time_list_box">
<div class="select_list first">
<div class="select_box dropdown">
<button type="button" class="label" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false" disabled>00:00</button>
<input type="hidden" id="monOpenStartTime">
<ul class="select_option_list dropdown-menu" id="selMonOpenStartTime"></ul>
</div><!--select_box-->
</div>
<span class="slash">~</span>
<div class="select_list">
<div class="select_box dropdown">
<button type="button" class="label" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false" disabled>00:00</button>
<input type="hidden" id="monOpenEndTime">
<ul class="select_option_list dropdown-menu" id="selMonOpenEndTime"></ul>
</div><!--select_box-->
</div>
</div>
<div class="select_time_list_box">
<div class="select_list first">
<div class="select_box dropdown">
<button type="button" class="label" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false" disabled>00:00</button>
<input type="hidden" id="monBreakStartTime">
<ul class="select_option_list dropdown-menu" id="selMonBreakStartTime"></ul>
</div><!--select_box-->
</div>
<span class="slash">~</span>
<div class="select_list">
<div class="select_box dropdown">
<button type="button" class="label" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false" disabled>00:00</button>
<input type="hidden" id="monBreakEndTime">
<ul class="select_option_list dropdown-menu" id="selMonBreakEndTime"></ul>
</div><!--select_box-->
</div>
</div>
<div class="wrapper_box">
<div class="wrapper">
<input type="checkbox" id="checkMonOpenYn" class="switch_input" value="Y">
<label for="checkMonOpenYn" class="switch_label">
<span class="switch_btn"></span>
</label>
</div>
</div>
</li>
<li>
<div class="day_box">
<p class="day">화요일</p>
</div>
<div class="select_time_list_box">
<div class="select_list first">
<div class="select_box dropdown">
<button type="button" class="label" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false" disabled>00:00</button>
<input type="hidden" id="tueOpenStartTime">
<ul class="select_option_list dropdown-menu" id="selTueOpenStartTime"></ul>
</div><!--select_box-->
</div>
<span class="slash">~</span>
<div class="select_list">
<div class="select_box dropdown">
<button type="button" class="label" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false" disabled>00:00</button>
<input type="hidden" id="tueOpenEndTime">
<ul class="select_option_list dropdown-menu" id="selTueOpenEndTime"></ul>
</div><!--select_box-->
</div>
</div>
<div class="select_time_list_box">
<div class="select_list first">
<div class="select_box dropdown">
<button type="button" class="label" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false" disabled>00:00</button>
<input type="hidden" id="tueBreakStartTime">
<ul class="select_option_list dropdown-menu" id="selTueBreakStartTime"></ul>
</div><!--select_box-->
</div>
<span class="slash">~</span>
<div class="select_list">
<div class="select_box dropdown">
<button type="button" class="label" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false" disabled>00:00</button>
<input type="hidden" id="tueBreakEndTime">
<ul class="select_option_list dropdown-menu" id="selTueBreakEndTime"></ul>
</div><!--select_box-->
</div>
</div>
<div class="wrapper_box">
<div class="wrapper">
<input type="checkbox" id="checkTueOpenYn" class="switch_input" value="Y">
<label for="checkTueOpenYn" class="switch_label">
<span class="switch_btn"></span>
</label>
</div>
</div>
</li>
<li>
<div class="day_box">
<p class="day">수요일</p>
</div>
<div class="select_time_list_box">
<div class="select_list first">
<div class="select_box dropdown">
<button type="button" class="label" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false" disabled>00:00</button>
<input type="hidden" id="wedOpenStartTime">
<ul class="select_option_list dropdown-menu" id="selWedOpenStartTime"></ul>
</div><!--select_box-->
</div>
<span class="slash">~</span>
<div class="select_list">
<div class="select_box dropdown">
<button type="button" class="label" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false" disabled>00:00</button>
<input type="hidden" id="wedOpenEndTime">
<ul class="select_option_list dropdown-menu" id="selWedOpenEndTime"></ul>
</div><!--select_box-->
</div>
</div>
<div class="select_time_list_box">
<div class="select_list first">
<div class="select_box dropdown">
<button type="button" class="label" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false" disabled>00:00</button>
<input type="hidden" id="wedBreakStartTime">
<ul class="select_option_list dropdown-menu" id="selWedBreakStartTime"></ul>
</div><!--select_box-->
</div>
<span class="slash">~</span>
<div class="select_list">
<div class="select_box dropdown">
<button type="button" class="label" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false" disabled>00:00</button>
<input type="hidden" id="wedBreakEndTime">
<ul class="select_option_list dropdown-menu" id="selWedBreakEndTime"></ul>
</div><!--select_box-->
</div>
</div>
<div class="wrapper_box">
<div class="wrapper">
<input type="checkbox" id="checkWedOpenYn" class="switch_input" value="Y">
<label for="checkWedOpenYn" class="switch_label">
<span class="switch_btn"></span>
</label>
</div>
</div>
</li>
<li>
<div class="day_box">
<p class="day">목요일</p>
</div>
<div class="select_time_list_box">
<div class="select_list first">
<div class="select_box dropdown">
<button type="button" class="label" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false" disabled>00:00</button>
<input type="hidden" id="thuOpenStartTime">
<ul class="select_option_list dropdown-menu" id="selThuOpenStartTime"></ul>
</div><!--select_box-->
</div>
<span class="slash">~</span>
<div class="select_list">
<div class="select_box dropdown">
<button type="button" class="label" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false" disabled>00:00</button>
<input type="hidden" id="thuOpenEndTime">
<ul class="select_option_list dropdown-menu" id="selThuOpenEndTime"></ul>
</div><!--select_box-->
</div>
</div>
<div class="select_time_list_box">
<div class="select_list first">
<div class="select_box dropdown">
<button type="button" class="label" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false" disabled>00:00</button>
<input type="hidden" id="thuBreakStartTime">
<ul class="select_option_list dropdown-menu" id="selThuBreakStartTime"></ul>
</div><!--select_box-->
</div>
<span class="slash">~</span>
<div class="select_list">
<div class="select_box dropdown">
<button type="button" class="label" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false" disabled>00:00</button>
<input type="hidden" id="thuBreakEndTime">
<ul class="select_option_list dropdown-menu" id="selThuBreakEndTime"></ul>
</div><!--select_box-->
</div>
</div>
<div class="wrapper_box">
<div class="wrapper">
<input type="checkbox" id="checkThuOpenYn" class="switch_input" value="Y">
<label for="checkThuOpenYn" class="switch_label">
<span class="switch_btn"></span>
</label>
</div>
</div>
</li>
<li>
<div class="day_box">
<p class="day">금요일</p>
</div>
<div class="select_time_list_box">
<div class="select_list first">
<div class="select_box dropdown">
<button type="button" class="label" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false" disabled>00:00</button>
<input type="hidden" id="friOpenStartTime">
<ul class="select_option_list dropdown-menu" id="selFriOpenStartTime"></ul>
</div><!--select_box-->
</div>
<span class="slash">~</span>
<div class="select_list">
<div class="select_box dropdown">
<button type="button" class="label" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false" disabled>00:00</button>
<input type="hidden" id="friOpenEndTime">
<ul class="select_option_list dropdown-menu" id="selFriOpenEndTime"></ul>
</div><!--select_box-->
</div>
</div>
<div class="select_time_list_box">
<div class="select_list first">
<div class="select_box dropdown">
<button type="button" class="label" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false" disabled>00:00</button>
<input type="hidden" id="friBreakStartTime">
<ul class="select_option_list dropdown-menu" id="selFriBreakStartTime"></ul>
</div><!--select_box-->
</div>
<span class="slash">~</span>
<div class="select_list">
<div class="select_box dropdown">
<button type="button" class="label" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false" disabled>00:00</button>
<input type="hidden" id="friBreakEndTime">
<ul class="select_option_list dropdown-menu" id="selFriBreakEndTime"></ul>
</div><!--select_box-->
</div>
</div>
<div class="wrapper_box">
<div class="wrapper">
<input type="checkbox" id="checkFriOpenYn" class="switch_input" value="Y">
<label for="checkFriOpenYn" class="switch_label">
<span class="switch_btn"></span>
</label>
</div>
</div>
</li>
<li>
<div class="day_box">
<p class="day">토요일</p>
</div>
<div class="select_time_list_box">
<div class="select_list first">
<div class="select_box dropdown">
<button type="button" class="label" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false" disabled>00:00</button>
<input type="hidden" id="satOpenStartTime">
<ul class="select_option_list dropdown-menu" id="selSatOpenStartTime"></ul>
</div><!--select_box-->
</div>
<span class="slash">~</span>
<div class="select_list">
<div class="select_box dropdown">
<button type="button" class="label" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false" disabled>00:00</button>
<input type="hidden" id="satOpenEndTime">
<ul class="select_option_list dropdown-menu" id="selSatOpenEndTime"></ul>
</div><!--select_box-->
</div>
</div>
<div class="select_time_list_box">
<div class="select_list first">
<div class="select_box dropdown">
<button type="button" class="label" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false" disabled>00:00</button>
<input type="hidden" id="satBreakStartTime">
<ul class="select_option_list dropdown-menu" id="selSatBreakStartTime"></ul>
</div><!--select_box-->
</div>
<span class="slash">~</span>
<div class="select_list">
<div class="select_box dropdown">
<button type="button" class="label" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false" disabled>00:00</button>
<input type="hidden" id="satBreakEndTime">
<ul class="select_option_list dropdown-menu" id="selSatBreakEndTime"></ul>
</div><!--select_box-->
</div>
</div>
<div class="wrapper_box">
<div class="wrapper">
<input type="checkbox" id="checkSatOpenYn" class="switch_input" value="Y">
<label for="checkSatOpenYn" class="switch_label">
<span class="switch_btn"></span>
</label>
</div>
</div>
</li>
<li>
<div class="day_box">
<p class="day">일요일</p>
</div>
<div class="select_time_list_box">
<div class="select_list first">
<div class="select_box dropdown">
<button type="button" class="label" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false" disabled>00:00</button>
<input type="hidden" id="sunOpenStartTime">
<ul class="select_option_list dropdown-menu" id="selSunOpenStartTime"></ul>
</div><!--select_box-->
</div>
<span class="slash">~</span>
<div class="select_list">
<div class="select_box dropdown">
<button type="button" class="label" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false" disabled>00:00</button>
<input type="hidden" id="sunOpenEndTime">
<ul class="select_option_list dropdown-menu" id="selSunOpenEndTime"></ul>
</div><!--select_box-->
</div>
</div>
<div class="select_time_list_box">
<div class="select_list first">
<div class="select_box dropdown">
<button type="button" class="label" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false" disabled>00:00</button>
<input type="hidden" id="sunBreakStartTime">
<ul class="select_option_list dropdown-menu" id="selSunBreakStartTime"></ul>
</div><!--select_box-->
</div>
<span class="slash">~</span>
<div class="select_list">
<div class="select_box dropdown">
<button type="button" class="label" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false" disabled>00:00</button>
<input type="hidden" id="sunBreakEndTime">
<ul class="select_option_list dropdown-menu" id="selSunBreakEndTime"></ul>
</div><!--select_box-->
</div>
</div>
<div class="wrapper_box">
<div class="wrapper">
<input type="checkbox" id="checkSunOpenYn" class="switch_input" value="Y">
<label for="checkSunOpenYn" class="switch_label">
<span class="switch_btn"></span>
</label>
</div>
</div>
</li>
</ul>
</div>
<div class="holiday_box">
<p class="holiday_title">법정 공휴일</p>
<div class="check_holiday_box">
<div class="check_box">
<label for="checkPublicHolidayUseYn">
<input class="select_check_hide" type="checkbox" id="checkPublicHolidayUseYn" name="checkPublicHolidayUseYn" value="Y">
<div class="select_check_show"></div>
</label>
</div>
<span>법정 공휴일 반영</span>
<div class="info_box">
<div class="info_left">
<div class="form_box first">
<div class="hospital_box" style="margin-top: 0;">
<!-- 달력 영역 -->
<div id='calendar' style="margin-bottom: 20px;"></div>
<ul class="hospital_list" id="hospitalHolidayList">
<li class="list_title_li">
<span class="list_title">휴일명</span>
<span class="list_title">날짜</span>
<span class="list_title">일정반복</span>
<span class="list_title"></span>
</li>
</ul>
</div>
</div><!--content_box-->
<div class="hospital_box">
<p class="hospital_title">운영시간</p>
<ul class="hospital_list" id="hospitalHolidayList">
<li class="list_title_li">
<span class="list_title">휴일명</span>
<span class="list_title">날짜</span>
<span class="list_title">일정반복</span>
<span class="list_title"></span>
</li>
</ul>
<div class="holiday_box">
<p class="holiday_title">법정 공휴일</p>
<div class="check_holiday_box">
<div class="check_box">
<label for="checkPublicHolidayUseYn">
<input class="select_check_hide" type="checkbox" id="checkPublicHolidayUseYn"
name="checkPublicHolidayUseYn" value="Y">
<div class="select_check_show"></div>
</label>
</div>
<span>법정 공휴일 반영</span>
</div>
</div><!--content_box-->
</div>
</div>
<!-- <div class="form_box">
<div class="info_right">
<div class="form_box first">
<p class="title">운영시간</p>
<div class="time_box">
<p class="time_title">운영시간</p>
<ul class="time_list">
<li class="list_title_li">
<span class="list_title">요일</span>
<span class="list_title">운영시간</span>
<span class="list_title">휴게시간</span>
<span class="list_title">운영여부</span>
</li>
<li>
<div class="day_box">
<p class="day">월요일</p>
</div>
<div class="select_time_list_box">
<div class="select_list first">
<div class="select_box dropdown">
<button type="button" class="label" data-toggle="dropdown"
aria-haspopup="true" aria-expanded="false" disabled>00:00</button>
<input type="hidden" id="monOpenStartTime">
<ul class="select_option_list dropdown-menu" id="selMonOpenStartTime"></ul>
</div><!--select_box-->
</div>
<span class="slash">~</span>
<div class="select_list">
<div class="select_box dropdown">
<button type="button" class="label" data-toggle="dropdown"
aria-haspopup="true" aria-expanded="false" disabled>00:00</button>
<input type="hidden" id="monOpenEndTime">
<ul class="select_option_list dropdown-menu" id="selMonOpenEndTime"></ul>
</div><!--select_box-->
</div>
</div>
<div class="select_time_list_box">
<div class="select_list first">
<div class="select_box dropdown">
<button type="button" class="label" data-toggle="dropdown"
aria-haspopup="true" aria-expanded="false" disabled>00:00</button>
<input type="hidden" id="monBreakStartTime">
<ul class="select_option_list dropdown-menu" id="selMonBreakStartTime"></ul>
</div><!--select_box-->
</div>
<span class="slash">~</span>
<div class="select_list">
<div class="select_box dropdown">
<button type="button" class="label" data-toggle="dropdown"
aria-haspopup="true" aria-expanded="false" disabled>00:00</button>
<input type="hidden" id="monBreakEndTime">
<ul class="select_option_list dropdown-menu" id="selMonBreakEndTime"></ul>
</div><!--select_box-->
</div>
</div>
<div class="wrapper_box">
<div class="wrapper">
<input type="checkbox" id="checkMonOpenYn" class="switch_input" value="Y">
<label for="checkMonOpenYn" class="switch_label">
<span class="switch_btn"></span>
</label>
</div>
</div>
</li>
<li>
<div class="day_box">
<p class="day">화요일</p>
</div>
<div class="select_time_list_box">
<div class="select_list first">
<div class="select_box dropdown">
<button type="button" class="label" data-toggle="dropdown"
aria-haspopup="true" aria-expanded="false" disabled>00:00</button>
<input type="hidden" id="tueOpenStartTime">
<ul class="select_option_list dropdown-menu" id="selTueOpenStartTime"></ul>
</div><!--select_box-->
</div>
<span class="slash">~</span>
<div class="select_list">
<div class="select_box dropdown">
<button type="button" class="label" data-toggle="dropdown"
aria-haspopup="true" aria-expanded="false" disabled>00:00</button>
<input type="hidden" id="tueOpenEndTime">
<ul class="select_option_list dropdown-menu" id="selTueOpenEndTime"></ul>
</div><!--select_box-->
</div>
</div>
<div class="select_time_list_box">
<div class="select_list first">
<div class="select_box dropdown">
<button type="button" class="label" data-toggle="dropdown"
aria-haspopup="true" aria-expanded="false" disabled>00:00</button>
<input type="hidden" id="tueBreakStartTime">
<ul class="select_option_list dropdown-menu" id="selTueBreakStartTime"></ul>
</div><!--select_box-->
</div>
<span class="slash">~</span>
<div class="select_list">
<div class="select_box dropdown">
<button type="button" class="label" data-toggle="dropdown"
aria-haspopup="true" aria-expanded="false" disabled>00:00</button>
<input type="hidden" id="tueBreakEndTime">
<ul class="select_option_list dropdown-menu" id="selTueBreakEndTime"></ul>
</div><!--select_box-->
</div>
</div>
<div class="wrapper_box">
<div class="wrapper">
<input type="checkbox" id="checkTueOpenYn" class="switch_input" value="Y">
<label for="checkTueOpenYn" class="switch_label">
<span class="switch_btn"></span>
</label>
</div>
</div>
</li>
<li>
<div class="day_box">
<p class="day">수요일</p>
</div>
<div class="select_time_list_box">
<div class="select_list first">
<div class="select_box dropdown">
<button type="button" class="label" data-toggle="dropdown"
aria-haspopup="true" aria-expanded="false" disabled>00:00</button>
<input type="hidden" id="wedOpenStartTime">
<ul class="select_option_list dropdown-menu" id="selWedOpenStartTime"></ul>
</div><!--select_box-->
</div>
<span class="slash">~</span>
<div class="select_list">
<div class="select_box dropdown">
<button type="button" class="label" data-toggle="dropdown"
aria-haspopup="true" aria-expanded="false" disabled>00:00</button>
<input type="hidden" id="wedOpenEndTime">
<ul class="select_option_list dropdown-menu" id="selWedOpenEndTime"></ul>
</div><!--select_box-->
</div>
</div>
<div class="select_time_list_box">
<div class="select_list first">
<div class="select_box dropdown">
<button type="button" class="label" data-toggle="dropdown"
aria-haspopup="true" aria-expanded="false" disabled>00:00</button>
<input type="hidden" id="wedBreakStartTime">
<ul class="select_option_list dropdown-menu" id="selWedBreakStartTime"></ul>
</div><!--select_box-->
</div>
<span class="slash">~</span>
<div class="select_list">
<div class="select_box dropdown">
<button type="button" class="label" data-toggle="dropdown"
aria-haspopup="true" aria-expanded="false" disabled>00:00</button>
<input type="hidden" id="wedBreakEndTime">
<ul class="select_option_list dropdown-menu" id="selWedBreakEndTime"></ul>
</div><!--select_box-->
</div>
</div>
<div class="wrapper_box">
<div class="wrapper">
<input type="checkbox" id="checkWedOpenYn" class="switch_input" value="Y">
<label for="checkWedOpenYn" class="switch_label">
<span class="switch_btn"></span>
</label>
</div>
</div>
</li>
<li>
<div class="day_box">
<p class="day">목요일</p>
</div>
<div class="select_time_list_box">
<div class="select_list first">
<div class="select_box dropdown">
<button type="button" class="label" data-toggle="dropdown"
aria-haspopup="true" aria-expanded="false" disabled>00:00</button>
<input type="hidden" id="thuOpenStartTime">
<ul class="select_option_list dropdown-menu" id="selThuOpenStartTime"></ul>
</div><!--select_box-->
</div>
<span class="slash">~</span>
<div class="select_list">
<div class="select_box dropdown">
<button type="button" class="label" data-toggle="dropdown"
aria-haspopup="true" aria-expanded="false" disabled>00:00</button>
<input type="hidden" id="thuOpenEndTime">
<ul class="select_option_list dropdown-menu" id="selThuOpenEndTime"></ul>
</div><!--select_box-->
</div>
</div>
<div class="select_time_list_box">
<div class="select_list first">
<div class="select_box dropdown">
<button type="button" class="label" data-toggle="dropdown"
aria-haspopup="true" aria-expanded="false" disabled>00:00</button>
<input type="hidden" id="thuBreakStartTime">
<ul class="select_option_list dropdown-menu" id="selThuBreakStartTime"></ul>
</div><!--select_box-->
</div>
<span class="slash">~</span>
<div class="select_list">
<div class="select_box dropdown">
<button type="button" class="label" data-toggle="dropdown"
aria-haspopup="true" aria-expanded="false" disabled>00:00</button>
<input type="hidden" id="thuBreakEndTime">
<ul class="select_option_list dropdown-menu" id="selThuBreakEndTime"></ul>
</div><!--select_box-->
</div>
</div>
<div class="wrapper_box">
<div class="wrapper">
<input type="checkbox" id="checkThuOpenYn" class="switch_input" value="Y">
<label for="checkThuOpenYn" class="switch_label">
<span class="switch_btn"></span>
</label>
</div>
</div>
</li>
<li>
<div class="day_box">
<p class="day">금요일</p>
</div>
<div class="select_time_list_box">
<div class="select_list first">
<div class="select_box dropdown">
<button type="button" class="label" data-toggle="dropdown"
aria-haspopup="true" aria-expanded="false" disabled>00:00</button>
<input type="hidden" id="friOpenStartTime">
<ul class="select_option_list dropdown-menu" id="selFriOpenStartTime"></ul>
</div><!--select_box-->
</div>
<span class="slash">~</span>
<div class="select_list">
<div class="select_box dropdown">
<button type="button" class="label" data-toggle="dropdown"
aria-haspopup="true" aria-expanded="false" disabled>00:00</button>
<input type="hidden" id="friOpenEndTime">
<ul class="select_option_list dropdown-menu" id="selFriOpenEndTime"></ul>
</div><!--select_box-->
</div>
</div>
<div class="select_time_list_box">
<div class="select_list first">
<div class="select_box dropdown">
<button type="button" class="label" data-toggle="dropdown"
aria-haspopup="true" aria-expanded="false" disabled>00:00</button>
<input type="hidden" id="friBreakStartTime">
<ul class="select_option_list dropdown-menu" id="selFriBreakStartTime"></ul>
</div><!--select_box-->
</div>
<span class="slash">~</span>
<div class="select_list">
<div class="select_box dropdown">
<button type="button" class="label" data-toggle="dropdown"
aria-haspopup="true" aria-expanded="false" disabled>00:00</button>
<input type="hidden" id="friBreakEndTime">
<ul class="select_option_list dropdown-menu" id="selFriBreakEndTime"></ul>
</div><!--select_box-->
</div>
</div>
<div class="wrapper_box">
<div class="wrapper">
<input type="checkbox" id="checkFriOpenYn" class="switch_input" value="Y">
<label for="checkFriOpenYn" class="switch_label">
<span class="switch_btn"></span>
</label>
</div>
</div>
</li>
<li>
<div class="day_box">
<p class="day">토요일</p>
</div>
<div class="select_time_list_box">
<div class="select_list first">
<div class="select_box dropdown">
<button type="button" class="label" data-toggle="dropdown"
aria-haspopup="true" aria-expanded="false" disabled>00:00</button>
<input type="hidden" id="satOpenStartTime">
<ul class="select_option_list dropdown-menu" id="selSatOpenStartTime"></ul>
</div><!--select_box-->
</div>
<span class="slash">~</span>
<div class="select_list">
<div class="select_box dropdown">
<button type="button" class="label" data-toggle="dropdown"
aria-haspopup="true" aria-expanded="false" disabled>00:00</button>
<input type="hidden" id="satOpenEndTime">
<ul class="select_option_list dropdown-menu" id="selSatOpenEndTime"></ul>
</div><!--select_box-->
</div>
</div>
<div class="select_time_list_box">
<div class="select_list first">
<div class="select_box dropdown">
<button type="button" class="label" data-toggle="dropdown"
aria-haspopup="true" aria-expanded="false" disabled>00:00</button>
<input type="hidden" id="satBreakStartTime">
<ul class="select_option_list dropdown-menu" id="selSatBreakStartTime"></ul>
</div><!--select_box-->
</div>
<span class="slash">~</span>
<div class="select_list">
<div class="select_box dropdown">
<button type="button" class="label" data-toggle="dropdown"
aria-haspopup="true" aria-expanded="false" disabled>00:00</button>
<input type="hidden" id="satBreakEndTime">
<ul class="select_option_list dropdown-menu" id="selSatBreakEndTime"></ul>
</div><!--select_box-->
</div>
</div>
<div class="wrapper_box">
<div class="wrapper">
<input type="checkbox" id="checkSatOpenYn" class="switch_input" value="Y">
<label for="checkSatOpenYn" class="switch_label">
<span class="switch_btn"></span>
</label>
</div>
</div>
</li>
<li>
<div class="day_box">
<p class="day">일요일</p>
</div>
<div class="select_time_list_box">
<div class="select_list first">
<div class="select_box dropdown">
<button type="button" class="label" data-toggle="dropdown"
aria-haspopup="true" aria-expanded="false" disabled>00:00</button>
<input type="hidden" id="sunOpenStartTime">
<ul class="select_option_list dropdown-menu" id="selSunOpenStartTime"></ul>
</div><!--select_box-->
</div>
<span class="slash">~</span>
<div class="select_list">
<div class="select_box dropdown">
<button type="button" class="label" data-toggle="dropdown"
aria-haspopup="true" aria-expanded="false" disabled>00:00</button>
<input type="hidden" id="sunOpenEndTime">
<ul class="select_option_list dropdown-menu" id="selSunOpenEndTime"></ul>
</div><!--select_box-->
</div>
</div>
<div class="select_time_list_box">
<div class="select_list first">
<div class="select_box dropdown">
<button type="button" class="label" data-toggle="dropdown"
aria-haspopup="true" aria-expanded="false" disabled>00:00</button>
<input type="hidden" id="sunBreakStartTime">
<ul class="select_option_list dropdown-menu" id="selSunBreakStartTime"></ul>
</div><!--select_box-->
</div>
<span class="slash">~</span>
<div class="select_list">
<div class="select_box dropdown">
<button type="button" class="label" data-toggle="dropdown"
aria-haspopup="true" aria-expanded="false" disabled>00:00</button>
<input type="hidden" id="sunBreakEndTime">
<ul class="select_option_list dropdown-menu" id="selSunBreakEndTime"></ul>
</div><!--select_box-->
</div>
</div>
<div class="wrapper_box">
<div class="wrapper">
<input type="checkbox" id="checkSunOpenYn" class="switch_input" value="Y">
<label for="checkSunOpenYn" class="switch_label">
<span class="switch_btn"></span>
</label>
</div>
</div>
</li>
</ul>
</div>
<div class="button_box">
<button id="btnUpdateHospital">저장</button>
</div>
</div>
</div>
</div>
<!-- <div class="form_box">
<p class="title">최고관리자 설정</p>
<div class="admset_box">
@@ -476,18 +514,17 @@ let downloadUseYn = "[[${downloadUseYn}]]"==""?"N":"[[${downloadUseYn}]]";
</div>
</div>
</div> -->
<div class="button_box">
<button id="btnUpdateHospital">저장</button>
</div>
</div>
</div>
</div>
<form id="hospitalUpdateForm" onsubmit="return false;"></form>
</div>
</div>
<form id="hospitalUpdateForm" onsubmit="return false;"></form>
</th:block>
<th:block layout:fragment="layout_popup">
</th:block>
<th:block layout:fragment="layout_script">
<script src="/js/web/hospital/hospitalUpdate.js"></script>
<script src="/js/web/hospital/hospitalUpdate.js"></script>
</th:block>
</html>
</html>