테스트2

main
이범준 1 year ago
parent d677241ddb
commit dca53e9f0e

@ -31,11 +31,15 @@
<dependencies> <dependencies>
<dependency> <dependency>
<groupId>cokr.xit.boot</groupId> <groupId>cokr.xit.boot</groupId>
<artifactId>xit-foundation-starter</artifactId> <artifactId>xit-base-starter</artifactId>
<version>23.04.01-SNAPSHOT</version> <version>23.04.01-SNAPSHOT</version>
</dependency> </dependency>
<dependency>
<groupId>org.mariadb.jdbc</groupId>
<artifactId>mariadb-java-client</artifactId>
<scope>runtime</scope>
</dependency>
</dependencies> </dependencies>
<build> <build>

@ -3,10 +3,10 @@ package cokr.xit;
import org.springframework.boot.SpringApplication; import org.springframework.boot.SpringApplication;
import org.springframework.context.annotation.ImportResource; import org.springframework.context.annotation.ImportResource;
import cokr.xit.foundation.boot.FoundationApplication; import cokr.xit.base.boot.XitBaseApplication;
@ImportResource("classpath:spring/context-*.xml") @ImportResource("classpath:spring/context-*.xml")
public class TsApplication extends FoundationApplication { public class TsApplication extends XitBaseApplication {
public static void main(String[] args) { public static void main(String[] args) {
SpringApplication.run(TsApplication.class, args); SpringApplication.run(TsApplication.class, args);

@ -0,0 +1,6 @@
package cokr.xit.fims.base;
import org.springframework.stereotype.Controller;
@Controller
public class ActionGroupController extends cokr.xit.base.security.access.web.ActionGroupController {}

@ -0,0 +1,6 @@
package cokr.xit.fims.base;
import org.springframework.stereotype.Controller;
@Controller
public class AuthorityController extends cokr.xit.base.security.access.web.AuthorityController {}

@ -0,0 +1,6 @@
package cokr.xit.fims.base;
import org.springframework.stereotype.Controller;
@Controller
public class CodeController extends cokr.xit.base.code.web.CodeController {}

@ -0,0 +1,173 @@
package cokr.xit.fims.base;
import java.io.File;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
import java.io.StringWriter;
import java.net.URISyntaxException;
import java.net.URLDecoder;
import java.util.regex.Matcher;
import javax.annotation.Resource;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.xml.parsers.DocumentBuilder;
import javax.xml.parsers.DocumentBuilderFactory;
import javax.xml.parsers.ParserConfigurationException;
import javax.xml.transform.OutputKeys;
import javax.xml.transform.Transformer;
import javax.xml.transform.TransformerFactory;
import javax.xml.transform.dom.DOMSource;
import javax.xml.transform.stream.StreamResult;
import org.springframework.core.io.ClassPathResource;
import org.springframework.http.HttpHeaders;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.servlet.ModelAndView;
import org.w3c.dom.Document;
import org.w3c.dom.Element;
import org.w3c.dom.NamedNodeMap;
import org.w3c.dom.Node;
import org.w3c.dom.NodeList;
import org.xml.sax.SAXException;
import cokr.xit.base.file.dao.FileMapper;
import cokr.xit.base.file.service.FileQuery;
import cokr.xit.base.file.service.bean.FileBean;
@Controller
public class FileController extends cokr.xit.base.file.web.FileController {
@Resource(name = "fileMapper")
private FileMapper fileMapper;
@Resource(name="fileBean")
private FileBean fileBean;
@Override
public ModelAndView getFileList(FileQuery req) {
return setCollectionInfo(
new ModelAndView("jsonView"),
fileService().getFileList(req),
"file"
);
}
/** .
* @return
* @throws Exception
*/
@GetMapping(name = "메뉴얼 다운로드", value = "/downloadMenual.do")
public ModelAndView downloadMenual() throws Exception {
ModelAndView mav = new ModelAndView("downloadView");
String filePath = ("menual/메뉴얼.pptx");
ClassPathResource cps = new ClassPathResource(filePath);
InputStream menualIS = cps.getInputStream();
mav.addObject("file", menualIS);
mav.addObject("filename", "메뉴얼.pptx");
mav.addObject("contentType", "application/vnd.openxmlformats-officedocument.presentationml.presentation");
mav.addObject("length", menualIS.available());
return mav;
}
@GetMapping(name = "SVG 이미지 파일 색상 변경", value = "/modifySvg/**")
public void modifySvg(HttpServletRequest request, HttpServletResponse response) throws URISyntaxException, IOException, ParserConfigurationException, SAXException {
String requestURI = request.getRequestURI().toString();
String filepath = requestURI.split("modifySvg")[1];
filepath = URLDecoder.decode(filepath, "UTF-8");
filepath = filepath.replaceAll("/", Matcher.quoteReplacement(File.separator));
filepath = "svg" + filepath;
ClassPathResource resource = new ClassPathResource(filepath);
InputStream is = resource.getInputStream();
DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
DocumentBuilder documentBuilder = factory.newDocumentBuilder();
Document document = documentBuilder.parse(is);
Element root = document.getDocumentElement();
NodeList nodeList = root.getChildNodes();
try {
String modify = request.getParameter("modify");
if(modify == null || modify.equals("")){
} else if(modify.equals("active")){
updateTagFillColor(nodeList, "green");
} else if(modify.equals("alert")){
updateTagFillColor(nodeList, "red");
}
String str4 = DocumentToString(document);
byte[] bytes = str4.getBytes();
response.setHeader(HttpHeaders.ACCEPT_RANGES, "bytes");
response.setHeader(HttpHeaders.CONTENT_TYPE, "image/svg+xml");
response.setHeader(HttpHeaders.CONNECTION, "keep-alive");
response.setHeader(HttpHeaders.ACCESS_CONTROL_ALLOW_CREDENTIALS, "true");
response.setHeader("Pragma", "no-cache");
response.setHeader(HttpHeaders.CACHE_CONTROL, "no-cache, must-revalidate");
response.setDateHeader(HttpHeaders.EXPIRES, 0);
response.setHeader(HttpHeaders.CONTENT_LENGTH, Integer.toString(bytes.length));
response.setContentType("image/svg+xml");
OutputStream os = response.getOutputStream();
os.write(bytes);
os.flush();
os.close();
} catch (Exception e){
}
}
public static String DocumentToString( Document doc )
{
try
{
StringWriter clsOutput = new StringWriter( );
Transformer clsTrans = TransformerFactory.newInstance( ).newTransformer( );
clsTrans.setOutputProperty( OutputKeys.OMIT_XML_DECLARATION, "no" );
clsTrans.setOutputProperty( OutputKeys.METHOD, "xml" );
clsTrans.setOutputProperty( OutputKeys.INDENT, "yes" );
clsTrans.setOutputProperty( OutputKeys.ENCODING, "UTF-8" );
clsTrans.transform( new DOMSource( doc ), new StreamResult( clsOutput ) );
return clsOutput.toString( );
}
catch( Exception ex )
{
return "";
}
}
private void updateTagFillColor(NodeList nodeList, String newFillColor) {
for (int i = 0; i < nodeList.getLength(); i++) {
Node node = nodeList.item(i);
NamedNodeMap namedNodeMap = node.getAttributes();
if(namedNodeMap != null && namedNodeMap.getLength() > 0){
for (int j = 0; j < namedNodeMap.getLength(); j++) {
Node namedNode = namedNodeMap.item(j);
if (namedNode.getNodeName().equalsIgnoreCase("fill")) {
namedNode.setNodeValue(newFillColor); // Change the color of the fill attribute.
}
}
}
}
}
}

@ -0,0 +1,6 @@
package cokr.xit.fims.base;
import org.springframework.stereotype.Controller;
@Controller
public class MenuController extends cokr.xit.base.menu.web.MenuController {}

@ -0,0 +1,27 @@
package cokr.xit.fims.base;
import org.springframework.stereotype.Controller;
import org.springframework.web.servlet.ModelAndView;
import cokr.xit.base.user.ManagedUser;
@Controller
public class UserController extends cokr.xit.base.user.web.UserController<ManagedUser> {
@Override
public ModelAndView main() {
ModelAndView mav = super.main();
return mav;
}
@Override
public ModelAndView getInfo(String userID) {
ModelAndView mav = super.getInfo(userID);
return mav;
}
}

@ -2,19 +2,31 @@ server:
port: 39700 port: 39700
servlet: servlet:
context-path: / context-path: /
tomcat:
basedir: "." # ssl:
accesslog: # enabled: true
enabled: true # key-alias: fimskeystore
# key-store: classpath:fimskeystore.pkcs12
# key-store-password: 'Xit5811807@)@#'
# key-password: 'Xit5811807@)@#'
# trust-store: classpath:fimstrust.pkcs12
# trust-store-password: 'Xit5811807@)@#'
# tomcat:
# remoteip:
# protocol-header-https-value: https
spring: spring:
application: application:
name: dummy-external-system name: fims
main: main:
allow-bean-definition-overriding: true allow-bean-definition-overriding: true
# web-application-type: SERVLET
sql: sql:
init: init:
platform: mariadb platform: mariadb
datasource: datasource:
hikari: hikari:
driver-class-name: net.sf.log4jdbc.sql.jdbcapi.DriverSpy driver-class-name: net.sf.log4jdbc.sql.jdbcapi.DriverSpy
@ -22,6 +34,7 @@ spring:
username: fimsweb username: fimsweb
password: fimsweb!@ password: fimsweb!@
auto-commit: false auto-commit: false
mvc: mvc:
static-path-pattern: /resources/**,/files/** static-path-pattern: /resources/**,/files/**
web: web:
@ -43,4 +56,3 @@ propertyService:
extFileName: extFileName:
- encoding: UTF-8 - encoding: UTF-8
filename: classpath*:intf-conf/xit-lvis.properties filename: classpath*:intf-conf/xit-lvis.properties

@ -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="cokr.xit.base.security.access.dao.ActionGroupMapper">
<resultMap id="groupRow" type="cokr.xit.base.security.access.ActionGroup">
<result property="id" column="GRP_ID"/>
<result property="name" column="GRP_NM"/>
<result property="description" column="DSCRP"/>
<result property="createdAt" column="REG_DT"/>
</resultMap>
<sql id="selectGroups"><include refid="utility.paging-prefix" />
SELECT A.*
FROM TB_ACTION_GRP A
<where>
<if test="groupIDs != null">AND GRP_ID IN (<foreach collection="groupIDs" item="groupID" separator=",">#{groupID}</foreach>)</if>
<if test="by != null and term != null">AND ${by} LIKE CONCAT('%', #{term}, '%')</if>
</where>
<include refid="utility.paging-suffix" /></sql>
<select id="getGroupList" parameterType="map" resultType="dataobject">/* 기능그룹 목록 조회(actionGroupMapper.getGroupList) */
<include refid="selectGroups" /></select>
<select id="getGroups" parameterType="map" resultMap="groupRow">/* 기능그룹 가져오기(actionGroupMapper.getGroups) */
<include refid="selectGroups" /></select>
<insert id="insertGroup" parameterType="cokr.xit.base.security.access.ActionGroup">/* 기능그룹 등록(actionGroupMapper.insertGroup) */
INSERT INTO TB_ACTION_GRP (
GRP_ID
, GRP_NM
, DSCRP
, REG_DT
) VALUES (
#{id}
, #{name}
, #{description}
,<include refid="utility.now" />
)</insert>
<update id="updateGroup" parameterType="cokr.xit.base.security.access.ActionGroup">/* 기능그룹 수정(actionGroupMapper.updateGroup) */
UPDATE TB_ACTION_GRP SET
GRP_NM = #{name}
, DSCRP = #{description}
WHERE GRP_ID = #{id}</update>
<delete id="removeGroups" parameterType="map">/* 기능그룹 삭제(actionGroupMapper.removeGroups) */
DELETE FROM TB_ACTION_GRP
WHERE GRP_ID IN (<foreach collection="groupIDs" item="groupID" separator=",">#{groupID}</foreach>)</delete>
<select id="getActionList" parameterType="map" resultType="dataobject">/* 그룹별 기능 가져오기(actionGroupMapper.getActionList) */
SELECT *
FROM TB_GRP_ACTION
<if test="groupIDs != null">WHERE GRP_ID IN (<foreach collection="groupIDs" item="groupID" separator=",">#{groupID}</foreach>)</if>
ORDER BY GRP_ID, ACTION
</select>
<insert id="addActions" parameterType="map">/* 그룹별 기능 추가(actionGroupMapper.addActions) */
INSERT INTO TB_GRP_ACTION (GRP_ID, ACTION, REG_DT, RGTR)
SELECT GRP_ID, ACTION,<include refid="utility.now" />, #{currentUser.id}
FROM (<foreach collection="actions" item="action" separator="UNION">
SELECT #{groupID} GRP_ID, #{action} ACTION FROM DUAL</foreach>
) A
WHERE NOT EXISTS (
SELECT GRP_ID, ACTION
FROM TB_GRP_ACTION B
WHERE B.GRP_ID = A.GRP_ID
AND B.ACTION = A.ACTION
)</insert>
<delete id="removeActions" parameterType="map">/* 그룹별 기능 삭제(actionGroupMapper.removeActions) */
DELETE FROM TB_GRP_ACTION
<where>
<if test="groupIDs != null">AND GRP_ID IN (<foreach collection="groupIDs" item="groupID" separator=",">#{groupID}</foreach>)</if>
<if test="actions != null">AND ACTION IN (<foreach collection="actions" item="action" separator=",">#{action}</foreach>)</if>
</where>
</delete>
</mapper>

@ -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="cokr.xit.base.security.access.dao.AuthorityMapper">
<resultMap id="authRow" type="cokr.xit.base.security.Authority">
<result property="type" column="AUTH_TYPE"/>
<result property="id" column="AUTH_ID"/>
<result property="name" column="AUTH_NM"/>
<result property="infoScope" column="INF_SCP"/>
<result property="userInfoScope" column="USER_INF_SCP"/>
<result property="description" column="DSCRP"/>
<result property="createdAt" column="REG_DT"/>
</resultMap>
<sql id="selectAuthorities"><include refid="utility.paging-prefix" />
SELECT * FROM (
SELECT 0 AUTH_TYPE, 'ROLE_ADMIN' AUTH_ID, '시스템 관리자' AUTH_NM, '시스템 관리자' DSCRP, 'all' INF_SCP, 'all' USER_INF_SCP,<include refid="utility.now"/>REG_DT UNION
SELECT 1 AUTH_TYPE, 'ROLE_ANONYMOUS' AUTH_ID, '익명 사용자' AUTH_NM, '모든 사용자' DSCRP, 'none' INF_SCP, 'none' USER_INF_SCP,<include refid="utility.now"/>REG_DT UNION
SELECT 1 AUTH_TYPE, 'ROLE_USER' AUTH_ID, '시스템 사용자' AUTH_NM, '로그인한 사용자' DSCRP, 'self' INF_SCP, 'self' USER_INF_SCP,<include refid="utility.now"/>REG_DT UNION
SELECT 2 AUTH_TYPE, AUTH_ID, AUTH_NM, DSCRP, INF_SCP, USER_INF_SCP, REG_DT
FROM TB_AUTHORITY
) A
<where>
<if test="authIDs != null">AND AUTH_ID IN (<foreach collection="authIDs" item="authID" separator=",">#{authID}</foreach>)</if>
<if test="by != null and term != null">AND ${by} LIKE CONCAT('%', #{term}, '%')</if>
</where>
<include refid="utility.orderBy"/>
<include refid="utility.paging-suffix" /></sql>
<select id="getAuthorityList" parameterType="map" resultType="dataobject">/* 권한 목록 조회(authorityMapper.getAuthorityList) */
<include refid="selectAuthorities" /></select>
<select id="getAuthorities" parameterType="map" resultMap="authRow">/* 권한 가져오기(authorityMapper.getAuthorities) */
<include refid="selectAuthorities" /></select>
<insert id="insertAuthority" parameterType="cokr.xit.base.security.Authority">/* 권한 등록(authorityMapper.insertAuthority) */
INSERT INTO TB_AUTHORITY (
AUTH_ID
, AUTH_NM
, DSCRP
, INF_SCP
, USER_INF_SCP
, REG_DT
) VALUES (
#{id}
, #{name}
, #{description}
, #{infoScope}
, #{userInfoScope}
,<include refid="utility.now" />
)</insert>
<update id="updateAuthority" parameterType="cokr.xit.base.security.Authority">/* 권한 수정(authorityMapper.updateAuthority) */
UPDATE TB_AUTHORITY SET
AUTH_NM = #{name}
, DSCRP = #{description}
, INF_SCP = #{infoScope}
, USER_INF_SCP = #{userInfoScope}
WHERE AUTH_ID = #{id}</update>
<delete id="removeAuthorities" parameterType="map">/* 권한 삭제(authorityMapper.removeAuthorities) */
DELETE FROM TB_AUTHORITY
WHERE AUTH_ID IN (<foreach collection="authIDs" item="authID" separator=",">#{authID}</foreach>)</delete>
<select id="getActionGroupList" parameterType="map" resultType="dataobject">/* 권한-기능그룹 가져오기(authorityMapper.getActionGroups) */
<include refid="utility.paging-prefix" />
SELECT *
FROM TB_AUTH_ACTION
<if test="authIDs != null">WHERE AUTH_ID IN (<foreach collection="authIDs" item="authID" separator=",">#{authID}</foreach>)</if>
ORDER BY AUTH_ID, GRP_ID
<include refid="utility.paging-suffix" /></select>
<insert id="addActionGroups" parameterType="map">/* 권한-기능그룹 추가(authorityMapper.addActionGroups) */
INSERT INTO TB_AUTH_ACTION (AUTH_ID, GRP_ID, REG_DT)
SELECT AUTH_ID, GRP_ID,<include refid="utility.now" />
FROM (<foreach collection="groupIDs" item="groupID" separator=" UNION">
SELECT #{authID} AUTH_ID, #{groupID} GRP_ID FROM DUAL</foreach>
) A
WHERE NOT EXISTS (
SELECT AUTH_ID, GRP_ID
FROM TB_AUTH_ACTION B
WHERE B.AUTH_ID = A.AUTH_ID
AND B.GRP_ID = A.GRP_ID
)</insert>
<delete id="removeActionGroups" parameterType="map">/* 권한-기능그룹 삭제(authorityMapper.removeActionGroups) */
DELETE FROM TB_AUTH_ACTION
<where>
<if test="authIDs != null">AND AUTH_ID IN (<foreach collection="authIDs" item="authID" separator=",">#{authID}</foreach>)</if>
<if test="groupIDs != null">AND GRP_ID IN (<foreach collection="groupIDs" item="groupID" separator=",">#{groupID}</foreach>)</if>
</where>
</delete>
<select id="getActionList" resultType="dataobject">/* 권한-기능 가져오기(authorityMapper.getActionList) */
SELECT A.AUTH_ID
, A.GRP_ID
, C.ACTION
FROM TB_AUTH_ACTION A
, TB_ACTION_GRP B
, TB_GRP_ACTION C
WHERE A.GRP_ID = B.GRP_ID
AND B.GRP_ID = C.GRP_ID
ORDER BY A.AUTH_ID, A.GRP_ID, C.ACTION</select>
<sql id="selectAuthUser">
<include refid="utility.paging-prefix" />
SELECT A.*, USER_ACNT
FROM TB_AUTH_USER A
, TB_USER B
<where>
<if test="authIDs != null">AND AUTH_ID IN (<foreach collection="authIDs" item="authID" separator=",">#{authID}</foreach>)</if>
<if test="userIDs != null">AND A.USER_ID IN (<foreach collection="userIDs" item="userID" separator=",">#{userID}</foreach>)</if>
AND A.USER_ID = B.USER_ID
</where>
<include refid="utility.orderBy"/>
<include refid="utility.paging-suffix" /></sql>
<select id="getUserList" parameterType="map" resultType="dataobject">/* 권한-사용자 가져오기(authorityMapper.getUserList) */
<include refid="selectAuthUser" /></select>
<select id="getUserAuths" parameterType="map" resultType="dataobject">/* 사용자-권한 가져오기(authorityMapper.getUserAuths) */
<include refid="selectAuthUser" /></select>
<insert id="addUsers" parameterType="map">/* 권한-사용자 추가(authorityMapper.addUsers) */
INSERT INTO TB_AUTH_USER (AUTH_ID, USER_ID, REG_DT)
SELECT AUTH_ID, USER_ID,<include refid="utility.now" />
FROM (<foreach collection="userIDs" item="userID" separator="UNION">
SELECT #{authID} AUTH_ID, #{userID} USER_ID FROM DUAL</foreach>
) A
WHERE NOT EXISTS (
SELECT AUTH_ID, USER_ID
FROM TB_AUTH_USER B
WHERE B.AUTH_ID = A.AUTH_ID
AND B.USER_ID = A.USER_ID
)</insert>
<delete id="removeUsers" parameterType="map">/* 권한-사용자 삭제(authorityMapper.removeUsers) */
DELETE FROM TB_AUTH_USER
<where>
<if test="authIDs != null">AND AUTH_ID IN (<foreach collection="authIDs" item="authID" separator=",">#{authID}</foreach>)</if>
<if test="userIDs != null">AND USER_ID IN (<foreach collection="userIDs" item="userID" separator=",">#{userID}</foreach>)</if>
</where>
</delete>
</mapper>

@ -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="cokr.xit.base.code.dao.CodeMapper">
<resultMap id="categoryRow" type="cokr.xit.base.code.CodeCategory">
<result property="id" column="CTGR_ID"/>
<result property="name" column="CTGR_NM"/>
<result property="description" column="DSCRP"/>
<result property="createdAt" column="REG_DT"/>
<result property="createdBy" column="RGTR"/>
<result property="lastModified" column="MDFCN_DT"/>
<result property="modifiedBy" column="MDFR"/>
<result property="useYN" column="USE_YN"/>
</resultMap>
<resultMap id="groupRow" type="cokr.xit.base.code.CodeGroup">
<result property="id" column="GRP_ID"/>
<result property="name" column="GRP_NM"/>
<result property="categoryID" column="CTGR_ID"/>
<result property="description" column="DSCRP"/>
<result property="createdAt" column="REG_DT"/>
<result property="createdBy" column="RGTR"/>
<result property="lastModified" column="MDFCN_DT"/>
<result property="modifiedBy" column="MDFR"/>
<result property="useYN" column="USE_YN"/>
</resultMap>
<resultMap id="codeRow" type="cokr.xit.base.code.CommonCode">
<result property="groupID" column="GRP_ID"/>
<result property="code" column="CODE"/>
<result property="value" column="CODE_VAL"/>
<result property="description" column="DSCRP"/>
<result property="etc1" column="ETC_1"/>
<result property="etc2" column="ETC_2"/>
<result property="etc3" column="ETC_3"/>
<result property="sortOrder" column="SRT_ORD"/>
<result property="createdAt" column="REG_DT"/>
<result property="createdBy" column="RGTR"/>
<result property="lastModified" column="MDFCN_DT"/>
<result property="modifiedBy" column="MDFR"/>
<result property="useYN" column="USE_YN"/>
</resultMap>
<sql id="selectCategories"><include refid="utility.paging-prefix" />
SELECT *
FROM TB_CODE_CTGR
WHERE USE_YN = 'Y'
<if test="categoryIDs != null"> AND CTGR_ID IN (<foreach collection="categoryIDs" item="categoryID" separator=",">#{categoryID}</foreach>)</if>
<include refid="utility.orderBy" />
<include refid="utility.paging-suffix" /></sql>
<select id="getCategoryList" parameterType="map" resultType="dataobject">/* 코드 카테고리 목록 조회(codeMapper.getCategoryList) */
<include refid="selectCategories" /></select>
<select id="getCategories" parameterType="map" resultMap="categoryRow">/*코드 카테고리 가져오기(codeMapper.getCategories)*/
<include refid="selectCategories" /></select>
<insert id="insertCategory" parameterType="map">/* 코드 카테고리 등록(codeMapper.insertCategory) */
INSERT INTO TB_CODE_CTGR (
CTGR_ID
, CTGR_NM
, DSCRP
, REG_DT
, RGTR
, MDFCN_DT
, MDFR
, USE_YN
) VALUES (
#{category.id}
, #{category.name}
, #{category.description}
,<include refid="utility.now" />
, #{currentUser.id}
,<include refid="utility.now" />
, #{currentUser.id}
, 'Y'
)</insert>
<update id="updateCategory" parameterType="map">/* 코드 카테고리 수정(codeMapper.updateCategory) */
UPDATE TB_CODE_CTGR SET
CTGR_NM = #{category.name}
, DSCRP = #{category.description}
, MDFCN_DT =<include refid="utility.now" />
, MDFR = #{currentUser.id}
WHERE CTGR_ID = #{category.id}</update>
<delete id="removeCategories" parameterType="map">/* 코드 카테고리 제거(codeMapper.removeCategories) */
UPDATE TB_CODE_CTGR SET
MDFCN_DT =<include refid="utility.now" />
, MDFR = #{currentUser.id}
, USE_YN = 'N'
<if test='categoryIDs != null'>WHERE CTGR_ID IN (<foreach collection="categoryIDs" item="categoryID" separator=",">#{categoryID}</foreach>)</if></delete>
<sql id="selectGroups"><include refid="utility.paging-prefix" />
SELECT *
FROM TB_CODE_GRP
WHERE USE_YN = 'Y'
<if test="categoryIDs != null">AND CTGR_ID IN (<foreach collection="categoryIDs" item="categoryID" separator=",">#{categoryID}</foreach>)</if>
<if test="groupIDs != null">AND GRP_ID IN (<foreach collection="groupIDs" item="groupID" separator=",">#{groupID}</foreach>)</if>
<include refid="utility.orderBy" />
<include refid="utility.paging-suffix" /></sql>
<select id="getGroupList" parameterType="dataobject" resultType="dataobject">/* 코드그룹 목록 조회(codeMapper.getGroupList) */
<include refid="selectGroups" /></select>
<select id="getGroups" parameterType="map" resultMap="groupRow">/* 코드그룹 가져오기(codeMapper.getGroups) */
<include refid="selectGroups" /></select>
<insert id="insertGroup" parameterType="map">/* 코드그룹 등록(codeMapper.insertGroup) */
INSERT INTO TB_CODE_GRP (
GRP_ID
, GRP_NM
, CTGR_ID
, DSCRP
, REG_DT
, RGTR
, MDFCN_DT
, MDFR
, USE_YN
) VALUES (
#{group.id}
, #{group.name}
, #{group.categoryID}
, #{group.description}
,<include refid="utility.now" />
, #{currentUser.id}
,<include refid="utility.now" />
, #{currentUser.id}
, 'Y'
)</insert>
<update id="updateGroup" parameterType="map">/* 코드그룹 수정(codeMapper.updateGroup) */
UPDATE TB_CODE_GRP SET
GRP_NM = #{group.name}
, CTGR_ID = #{group.categoryID}
, DSCRP = #{group.description}
, MDFCN_DT =<include refid="utility.now" />
, MDFR = #{currentUser.id}
WHERE GRP_ID = #{group.id}</update>
<update id="removeGroups" parameterType="map">/*코드그룹 제거(codeMapper.removeGroups) */
UPDATE TB_CODE_GRP SET
USE_YN = 'N'
, MDFCN_DT =<include refid="utility.now" />
, MDFR = #{currentUser.id}
<where>
<if test="categoryIDs != null">CTGR_ID IN (<foreach collection="categoryIDs" item="categoryID" separator=",">#{categoryID}</foreach>)</if>
<if test="groupIDs != null">GRP_ID IN (<foreach collection="groupIDs" item="groupID" separator=",">#{groupID}</foreach>)</if>
</where></update>
<sql id="selectCodes"><include refid="utility.paging-prefix" />
SELECT *
FROM TB_CMN_CODE
WHERE USE_YN = 'Y'
<if test='groupIDs != null'>AND GRP_ID IN (<foreach collection="groupIDs" item="groupID" separator=",">#{groupID}</foreach>)</if>
<if test='codes != null'>AND CODE IN (<foreach collection="codes" item="code" separator=",">#{code}</foreach>)</if>
<include refid="utility.orderBy" />
<include refid="utility.paging-suffix" /></sql>
<select id="getCodeList" parameterType="map" resultType="dataobject">/* 그룹별 코드 가져오기(codeMapper.getCodeList) */
<include refid="selectCodes" /></select>
<select id="getCodes" parameterType="map" resultMap="codeRow">/* 코드 가져오기(codeMapper.getCodes) */
<include refid="selectCodes" /></select>
<insert id="insertCode" parameterType="map">/* 코드 등록(codeMapper.insertCode) */
INSERT INTO TB_CMN_CODE (
GRP_ID
, CODE
, CODE_VAL
, DSCRP
, ETC_1
, ETC_2
, ETC_3
, SRT_ORD
, REG_DT
, RGTR
, MDFCN_DT
, MDFR
, USE_YN
) VALUES (
#{code.groupID}
, #{code.code}
, #{code.value}
, #{code.description}
, #{code.etc1}
, #{code.etc2}
, #{code.etc3}
, #{code.sortOrder}
,<include refid="utility.now" />
, #{currentUser.id}
,<include refid="utility.now" />
, #{currentUser.id}
, 'Y'
)</insert>
<update id="updateCode" parameterType="map">/* 코드 수정(codeMapper.updateCode) */
UPDATE TB_CMN_CODE SET
CODE_VAL = #{code.value}
, DSCRP = #{code.description}
, ETC_1 = #{code.etc1}
, ETC_2 = #{code.etc2}
, ETC_3 = #{code.etc3}
, MDFCN_DT =<include refid="utility.now" />
, MDFR = #{currentUser.id}
WHERE GRP_ID = #{code.groupID}
AND CODE = #{code.code}</update>
<update id="reorderCodes" parameterType="map">/* 코드 정렬순서 변경(codeMapper.reorderCodes) */
UPDATE TB_CMN_CODE SET
SRT_ORD = CASE CODE<foreach collection="codes" item="code" index="index" separator=" ">
WHEN #{code} THEN #{index}</foreach>
ELSE SRT_ORD
END
, MDFCN_DT =<include refid="utility.now" />
, MDFR = #{currentUser.id}
WHERE GRP_ID = #{groupID}
AND CODE IN (<foreach collection="codes" item="code" separator=",">#{code}</foreach>)</update>
<update id="removeCodes" parameterType="map">/* 코드 제거(codeMapper.removeCodes) */
UPDATE TB_CMN_CODE SET
MDFCN_DT =<include refid="utility.now" />
, MDFR = #{currentUser.id}
, USE_YN = 'N'
<where>
<if test="groupIDs != null">AND GRP_ID IN (<foreach collection="groupIDs" item="groupID" separator=",">#{groupID}</foreach>)</if>
<if test="codes != null">AND CODE IN (<foreach collection="codes" item="code" separator=",">#{code}</foreach>) </if>
</where></update>
</mapper>

@ -0,0 +1,130 @@
<?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="cokr.xit.base.file.dao.FileMapper">
<resultMap id="fileRow" type="cokr.xit.base.file.FileInfo">
<result property="id" column="FILE_ID"/>
<result property="infoType" column="INF_TYPE"/>
<result property="infoKey" column="INF_KEY"/>
<result property="subType" column="SUB_TYPE"/>
<result property="name" column="FILE_NM"/>
<result property="path" column="FILE_PATH"/>
<result property="url" column="URL"/>
<result property="mimeType" column="MIME_TYPE"/>
<result property="size" column="FILE_SIZE"/>
<result property="downloadCount" column="DNLD_CNT"/>
<result property="sortOrder" column="SRT_ORD"/>
<result property="createdAt" column="REG_DT"/>
<result property="createdBy" column="RGTR"/>
<result property="useYN" column="USE_YN"/>
</resultMap>
<sql id="fileDirs">SELECT INF_TYPE
, CONCAT('files/', DIR, DATE_FORMAT(CURRENT_DATE, '/%Y/%m/%d/')) DIR
FROM (
SELECT '010' INF_TYPE, 'interface/attachment/smg' DIR UNION <!-- 국민 신문고 -->
SELECT '020' INF_TYPE, 'interface/attachment/saeol' DIR UNION <!-- 세올 -->
SELECT '030' INF_TYPE, 'interface/attachment/epost' DIR UNION <!-- epost -->
SELECT '100' INF_TYPE, 'attachment/violation' DIR UNION <!-- 단속 정보 -->
SELECT '110' INF_TYPE, 'attachment/opinion' DIR UNION <!-- 의견 진술 -->
SELECT '190' INF_TYPE, 'attachment/capture' DIR <!-- 캡쳐용 동영상 -->
) FILE_DIRS</sql>
<sql id="selectFiles">
<if test="fileIDs != null">
SELECT A.*, FILE_PATH URL
FROM TB_FILE A
WHERE FILE_ID IN (<foreach collection="fileIDs" item="fileID" separator=",">#{fileID}</foreach>)
ORDER BY FILE_ID</if>
<if test="fileIDs == null"><include refid="utility.paging-prefix" />
SELECT A.*, FILE_PATH URL
FROM TB_FILE A
<where>
<if test="infoType != null"> AND A.INF_TYPE = #{infoType}</if>
<if test="infoKeys != null"> AND INF_KEY IN (<foreach collection="infoKeys" item="infoKey" separator=",">#{infoKey}</foreach>)</if>
AND USE_YN = 'Y'
</where>
<include refid="utility.orderBy" />
<include refid="utility.paging-suffix" /></if></sql>
<select id="getFileList" parameterType="map" resultType="dataobject">/* 파일 목록 조회(fileMapper.getFileList) */
<include refid="selectFiles" /></select>
<select id="getFilesOf" parameterType="map" resultMap="fileRow">/* 파일 가져오기(fileMapper.getFilesOf) */
<include refid="selectFiles" /></select>
<select id="getFiles" parameterType="map" resultMap="fileRow">/* 파일 가져오기(fileMapper.getFiles) */
<include refid="selectFiles" /></select>
<insert id="insertFile" parameterType="map">/* 파일 등록(fileMapper.insertFile) */
<selectKey keyProperty="file.id,file.path" keyColumn="NEW_ID,PATH" resultType="map" order="BEFORE">
SELECT NEW_ID, CONCAT(DIR, NEW_ID, '.', #{file.extension}) PATH
FROM (
SELECT IFNULL(MAX(FILE_ID) + 1, CONCAT(THIS_DAY, '00001')) NEW_ID
FROM TB_FILE A, (<include refid="utility.selectThisDay" />) B
WHERE FILE_ID LIKE CONCAT(THIS_DAY, '%')
) T1, (
<include refid="fileDirs" />
WHERE INF_TYPE = #{file.infoType}
) T2</selectKey>
INSERT INTO TB_FILE (
FILE_ID
, INF_TYPE
, INF_KEY
, SUB_TYPE
, FILE_NM
, FILE_PATH
, MIME_TYPE
, FILE_SIZE
, DNLD_CNT
, SRT_ORD
, RGTR
, REG_DT
, USE_YN
) VALUES (
#{file.id}
, #{file.infoType}
, #{file.infoKey}
, #{file.subType}
, #{file.name}
, #{file.path}
, #{file.mimeType}
, #{file.size}
, #{file.downloadCount}
, #{file.sortOrder}
, #{currentUser.id}
,<include refid="utility.now" />
, 'Y'
)
</insert>
<update id="reorder" parameterType="map">/* 파일 순서 변경(fileMapper.reorder) */
UPDATE TB_FILE SET
SRT_ORD = CASE FILE_ID
<foreach collection="fileIDs" item="fileID" index="index" separator=" ">WHEN #{fileID} THEN #{index}
</foreach>
ELSE SRT_ORD END
WHERE FILE_ID IN (<foreach collection="fileIDs" item="fileID" separator=",">#{fileID}</foreach>)</update>
<update id="updateDownloadCount" parameterType="map">/* 다운로드 횟수 증가(fileMapper.updateDownloadCount) */
UPDATE TB_FILE SET
DNLD_CNT = DNLD_CNT + 1
WHERE USE_YN = 'Y'
AND FILE_ID IN (<foreach collection="fileIDs" item="fileID" separator=",">#{fileID}</foreach>)</update>
<update id="removeFiles" parameterType="map">/* 파일 제거(fileMapper.removeFiles) */
UPDATE TB_FILE SET
USE_YN = 'N'
WHERE USE_YN = 'Y'
<if test="fileIDs != null"> AND FILE_ID IN (<foreach collection="fileIDs" item="fileID" separator=",">#{fileID}</foreach>)</if>
<if test="infoKeys != null">
AND INF_TYPE = #{infoType}
AND INF_KEY IN (<foreach collection="infoKeys" item="infoKey" separator=",">#{infoKey}</foreach>)</if></update>
<delete id="deleteFiles" parameterType="map">/* 파일 삭제(fileMapper.deleteFiles) */
DELETE FROM TB_FILE
<if test="fileIDs != null">WHERE FILE_ID IN (<foreach collection="fileIDs" item="fileID" separator=",">#{fileID}</foreach>)</if>
</delete>
</mapper>

@ -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="cokr.xit.base.menu.dao.MenuMapper">
<resultMap id="menuRow" type="cokr.xit.base.menu.Menu">
<result property="id" column="MENU_NO"/>
<result property="name" column="MENU_NM"/>
<result property="programFilename" column="PGRM_FILE_NM"/>
<result property="action" column="ACTION"/>
<result property="description" column="DSCRP"/>
<result property="parentID" column="PRNT_NO"/>
<result property="imageName" column="IMG_NM"/>
<result property="imageConf" column="IMG_CNF"/>
<result property="sortOrder" column="SRT_ORD"/>
<result property="createdAt" column="REG_DT"/>
<result property="createdBy" column="RGTR"/>
</resultMap>
<sql id="selectMenus">
SELECT A.*
FROM TB_MENU A
<if test='menuID != null'>WHERE MENU_NO = #{menuID}</if>
ORDER BY PRNT_NO, SRT_ORD, MENU_NO</sql>
<select id="getMenus" parameterType="map" resultMap="menuRow">/* 메뉴 정보 조회(menuMapper.getMenus) */
<include refid="selectMenus" /></select>
<select id="getMenu" parameterType="int" resultMap="menuRow">/* 메뉴 가져오기(menuMapper.getMenu) */
<include refid="selectMenus" /></select>
<insert id="insertMenu" parameterType="map">/* 메뉴 등록(menuMapper.insertMenu) */
<selectKey order="BEFORE" resultType="map" keyColumn="NEW_NO,NEW_ORD" keyProperty="menu.id,menu.sortOrder">
SELECT NEW_NO, NEW_ORD
FROM (SELECT IFNULL(MAX(MENU_NO) + 1, 0) NEW_NO FROM TB_MENU) A,
(<include refid="newSortOrder" />) B</selectKey>
INSERT INTO TB_MENU (
MENU_NO
, MENU_NM
, PRNT_NO
, PGRM_FILE_NM
, ACTION
, DSCRP
, IMG_NM
, IMG_CNF
, SRT_ORD
, REG_DT
, RGTR
) VALUES (
#{menu.id}
, #{menu.name}
, #{menu.parentID}
, #{menu.programFilename}
, #{menu.action}
, #{menu.description}
, #{menu.imageName}
, #{menu.imageConf}
, #{menu.sortOrder}
,<include refid="utility.now" />
, #{currentUser.id}
)</insert>
<update id="updateMenu" parameterType="map">/* 메뉴 수정(menuMapper.updateMenu) */
UPDATE TB_MENU SET
MENU_NM = #{menu.name}
, PGRM_FILE_NM = #{menu.programFilename}
, ACTION = #{menu.action}
, DSCRP = #{menu.description}
, IMG_NM = #{menu.imageName}
, IMG_CNF = #{menu.imageConf}
WHERE MENU_NO = #{menu.id}</update>
<sql id="newSortOrder">SELECT IFNULL(MAX(SRT_ORD) + 1, 0) NEW_ORD FROM TB_MENU WHERE PRNT_NO = IFNULL(#{parentID}, IFNULL(#{menu.parentID}, 0))</sql>
<update id="moveMenus" parameterType="map">/* 메뉴 이동(menuMapper.moveMenus) */
UPDATE TB_MENU SET
PRNT_NO = #{parentID}
, SRT_ORD = SRT_ORD + (<include refid="newSortOrder" />)
WHERE MENU_NO IN (<foreach collection="menuIDs" item="menuID" separator=",">#{menuID}</foreach>)
</update>
<update id="reorderMenus" parameterType="map">/* 메뉴 순서 변경(menuMapper.reorderMenus) */
UPDATE TB_MENU SET
SRT_ORD = CASE MENU_NO
<foreach collection="menuIDs" item="menuID" index="index">WHEN #{menuID} THEN #{index}
</foreach>
ELSE MENU_NO END
WHERE MENU_NO IN (<foreach collection="menuIDs" item="menuID" separator=",">#{menuID}</foreach>)</update>
<delete id="removeMenus" parameterType="map">/* 메뉴 제거(menuMapper.removeMenus) */
DELETE FROM TB_MENU
WHERE MENU_NO IN (<foreach collection="menuIDs" item="menuID" separator=",">#{menuID}</foreach>)
</delete>
</mapper>

@ -0,0 +1,70 @@
<?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="cokr.xit.base.security.authentication.dao.PolicyMapper">
<resultMap id="policyRow" type="cokr.xit.base.security.authentication.AuthenticationPolicy">
<result property="userID" column="USER_ID"/>
<result property="ipAddress" column="IP_ADRS"/>
<result property="duplicateYN" column="DPLCT_YN"/>
<result property="limitYN" column="LIMIT_YN"/>
<result property="createdBy" column="RGTR"/>
<result property="createdAt" column="REG_DT"/>
<result property="modifiedBy" column="MDFR"/>
<result property="lastModified" column="MDFCN_DT"/>
</resultMap>
<select id="getPolicyList" parameterType="map" resultType="dataobject">/* 로그인 정책 목록 조회(policyMapper.getPolicyList) */
<include refid="utility.paging-prefix"/>
SELECT A.USER_ID
, USER_NM
, IP_ADRS
, DPLCT_YN
, LIMIT_YN
, MDFR
, MDFCN_DT
FROM TB_USER A LEFT OUTER JOIN TB_LOGIN_POLICY B ON A.USER_ID = B.USER_ID
<if test="term != null">WHERE A.${by} LIKE CONCAT('%', #{term}, '%')</if>
<include refid="utility.orderBy" />
<include refid="utility.paging-suffix"/></select>
<select id="getPolicies" parameterType="map" resultMap="policyRow">/* 로그인 정책 가져오기(policyMapper.getPolicies) */
SELECT *
FROM TB_LOGIN_POLICY
<if test="userIDs != null">WHERE USER_ID IN (<foreach collection="userIDs" item="userID" separator=",">#{userID}</foreach>)</if>
ORDER BY USER_ID</select>
<insert id="insertPolicy" parameterType="map">/* 로그인 정책 등록(policyMapper.insertPolicy) */
INSERT INTO TB_LOGIN_POLICY (
USER_ID
, IP_ADRS
, DPLCT_YN
, LIMIT_YN
, REG_DT
, RGTR
, MDFCN_DT
, MDFR
) VALUES (
#{policy.userID}
, #{policy.ipAddress}
, #{policy.duplicateYN}
, #{policy.limitYN}
,<include refid="utility.now" />
, #{currentUser.id}
,<include refid="utility.now" />
, #{currentUser.id}
)</insert>
<update id="updatePolicy" parameterType="map">/* 로그인 정책 수정(policyMapper.updatePolicy) */
UPDATE TB_LOGIN_POLICY SET
IP_ADRS = #{policy.ipAddress}
, DPLCT_YN = #{policy.duplicateYN}
, LIMIT_YN = #{policy.limitYN}
, MDFR = #{currentUser.id}
, MDFCN_DT =<include refid="utility.now" />
WHERE USER_ID = #{policy.userID}</update>
<delete id="removePolicy" parameterType="map">/* 로그인 정책 삭제(policyMapper.removePolicy) */
DELETE FROM TB_LOGIN_POLICY
WHERE USER_ID IN (<foreach collection="userIDs" item="userID" separator=",">#{userID}</foreach>)</delete>
</mapper>

@ -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="program">
<resultMap id="programRow" type="cokr.xit.base.menu.Program">
<result property="filename" column="PGRM_FILE_NM"/>
<result property="location" column="PGRM_FILE_PATH"/>
<result property="name" column="PGRM_NM"/>
<result property="description" column="DSCRP"/>
<result property="url" column="URL"/>
</resultMap>
<resultMap id="reqRow" type="cokr.xit.base.menu.ChangeRequest">
<result property="filename" column="PGRM_FILE_NM"/>
<result property="id" column="REQ_ID"/>
<result property="subject" column="SUBJECT"/>
<result property="requestorID" column="REQ_USER"/>
<result property="requestDate" column="REQ_DT"/>
<result property="requestDetail" column="REQ_CNTNT"/>
<result property="processorID" column="PRSC_USER"/>
<result property="processDate" column="PRCS_DT"/>
<result property="processDetail" column="PRCS_CNTNT"/>
<result property="status" column="PRCS_STATUS"/>
</resultMap>
<sql id="selectPrograms">
<include refid="utility.paging-prefix"/>
SELECT A.*
FROM TB_PROGRAM A
<where>
<if test="by != null and term != null">${by} LIKE CONCAT('%', #{term}, '%')</if>
<if test='filenames != null'>PGRM_FILE_NM IN (<foreach collection="filenames" item="filename" separator=",">#{filename}</foreach>)</if>
</where>
ORDER BY<if test='by != null'>${by}</if><if test='by == null'>PGRM_FILE_NM</if>
<include refid="utility.paging-suffix"/></sql>
<select id="getProgramList" parameterType="map" resultType="dataobject">/* 프로그램 목록 조회(program.getProgramList) */
<include refid="selectPrograms"/></select>
<select id="getPrograms" parameterType="map" resultMap="programRow">/* 프로그램 가져오기(program.getPrograms) */
<include refid="selectPrograms"/></select>
<insert id="insertProgram" parameterType="cokr.xit.base.menu.Program">/* 프로그램 등록(program.insertProgram) */
INSERT INTO TB_PROGRAM (
PGRM_FILE_NM
, PGRM_FILE_PATH
, PGRM_NM
, DSCRP
, URL
) VALUES (
#{filename}
, #{location}
, #{name}
, #{description}
, #{url}
)</insert>
<update id="updateProgram" parameterType="cokr.xit.base.menu.Program">/* 프로그램 수정(program.updateProgram) */
UPDATE TB_PROGRAM SET
PGRM_FILE_PATH = #{location}
, PGRM_NM = #{name}
, DSCRP = #{description}
, URL = #{url}
WHERE PGRM_FILE_NM = #{filename}</update>
<delete id="removePrograms" parameterType="map">/* 프로그램 삭제(program.removePrograms) */
DELETE FROM TB_PROGRAM
WHERE PGRM_FILE_NM IN (<foreach collection="filenames" item="filename" separator=",">#{filename}</foreach>)</delete>
<delete id="clearPrograms" parameterType="map">/* 프로그램 비우기(program.clearPrograms) */
DELETE FROM TB_PROGRAM
WHERE PGRM_FILE_NM NOT IN (SELECT PGRM_FILE_NM FROM TB_MENU)</delete>
<sql id="selectRequests">
SELECT A.*
FROM TB_PGRM_CHNG_REQ A
<where>
<if test='fromReqDate != null'>REQ_DT >= #{fromReqDate}</if>
<if test='toReqDate != null'>REQ_DT &lt;= #{toReqDate}</if>
<if test="by != null and term != null">${by} LIKE CONCAT('%', #{term}, '%')</if>
<if test='filenames != null'>PGRM_FILE_NAME IN (<foreach collection="filenames" item="filename" separator=",">#{filename}</foreach>)</if>
<if test='reqIDs != null'>REQ_ID IN (<foreach collection="reqIDs" item="reqID" separator=",">#{reqID}</foreach>)</if>
</where>
ORDER BY PGRM_FILE_NM,<if test='by != null'>${by}</if><if test='by == null'>REQ_ID DESC</if></sql>
<select id="getRequestList" parameterType="map" resultType="dataobject">/* 변경요청 목록 조회(program.getRequestList) */
<include refid="selectRequests" /></select>
<select id="getRequests" parameterType="map" resultType="dataobject">/* 프로그램별 변경요청 목록 조회(program.getRequests) */
<include refid="selectRequests" /></select>
<insert id="insertRequest" parameterType="cokr.xit.base.menu.ChangeRequest">/* 프로그램 변경요청 등록(program.insertRequest) */
INSERT INTO TB_PGRM_CHNG_REQ (
PGRM_FILE_NM
, REQ_ID
, SUBJECT
, REQ_USER
, REQ_DT
, REQ_CNTNT
, PRSC_USER
, PRCS_DT
, PRCS_CNTNT
, PRCS_STATUS
) VALUES (
#{filename}
, #{id}
, #{subject}
, #{requestorID}
, #{requestDate}
, #{requestDetail}
, #{processorID}
, #{processDate}
, #{processDetail}
, #{status}
)</insert>
<update id="updateRequest" parameterType="cokr.xit.base.menu.ChangeRequest">/* 프로그램 변경요청 수정(program.updateRequest) */
UPDATE TB_PGRM_CHNG_REQ SET
SUBJECT = #{subject}
, REQ_USER = #{requestorID}
, REQ_DT = #{requestDate}
, REQ_CNTNT = #{requestDetail}
, PRSC_USER = #{processorID}
, PRCS_DT = #{processDate}
, PRCS_CNTNT = #{processDetail}
WHERE PGRM_FILE_NM = #{filename}
AND REQ_ID = #{id}</update>
<update id="setRequestStatus" parameterType="map">/* 프로그램 변경요청 상태 변경(program.setRequestStatus) */
UPDATE TB_PGRM_CHNG_REQ SET
PRCS_STATUS = #{status}
WHERE PGRM_FILE_NM = #{filename}
AND REQ_ID = #{id}</update>
</mapper>

@ -0,0 +1,234 @@
<?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="cokr.xit.base.user.dao.UserMapper">
<resultMap id="userRow" type="cokr.xit.base.user.ManagedUser">
<result property="id" column="USER_ID"/>
<result property="account" column="USER_ACNT"/>
<result property="name" column="USER_NM"/>
<result property="password" column="PASSWD"/>
<result property="passwordHint" column="PASSWD_HINT"/>
<result property="passwordHintAnswer" column="PASSWD_NSR"/>
<result property="empNo" column="EMP_NO"/>
<result property="residentRegNo" column="RSDNT_NO"/>
<result property="gender" column="GENDER"/>
<result property="birthday" column="BRDT"/>
<result property="areaNo" column="AREA_NO"/>
<result property="zipCode" column="ZIP"/>
<result property="address" column="ADDR"/>
<result property="addressDetail" column="DADDR"/>
<result property="phoneNo" column="TELNO"/>
<result property="mobilePhoneNo" column="MBL_TELNO"/>
<result property="faxNo" column="FXNO"/>
<result property="emailAddress" column="EML_ADRS"/>
<result property="positionName" column="POS_NM"/>
<result property="groupID" column="GRP_ID"/>
<result property="orgID" column="ORG_ID"/>
<result property="deptCode" column="DEPT_CD"/>
<result property="institute" column="NSTT_CD"/>
<result property="certificateDn" column="CRTFC_DN"/>
<result property="locked" column="LOCK_YN"/>
<result property="lockCount" column="LOCK_CNT"/>
<result property="lockedDate" column="LOCK_DT"/>
<result property="createdAt" column="REG_DT"/>
<result property="createdBy" column="RGTR"/>
<result property="lastModified" column="MDFCN_DT"/>
<result property="modifiedBy" column="MDFR"/>
<result property="useYN" column="USE_YN"/>
<result property="status" column="STTS"/>
</resultMap>
<sql id="selectUsers"><include refid="utility.paging-prefix" />
SELECT USER_ID
, USER_ACNT
, USER_NM
, PASSWD_HINT
, PASSWD_NSR
, EMP_NO
, RSDNT_NO
, GENDER
, BRDT
, AREA_NO
, ZIP
, ADDR
, DADDR
, TELNO
, MBL_TELNO
, FXNO
, EML_ADRS
, POS_NM
, GRP_ID
, ORG_ID
, DEPT_CD
, (CASE
WHEN A.DEPT_CD = 'default'
THEN '기본 부서'
ELSE (SELECT DEPT_NM FROM TB_DEPT_INFO WHERE DEPT_CD = A.DEPT_CD)
END
) AS DEPT_NM
, NSTT_CD
, (CASE
WHEN A.NSTT_CD = 'default'
THEN '기본 기관'
ELSE (SELECT INST_NM FROM TB_SGG_INFO WHERE INST_CD = A.NSTT_CD)
END
) AS NSTT_NM
, CRTFC_DN
, LOCK_YN
, LOCK_CNT
, LOCK_DT
, REG_DT
, STTS
FROM TB_USER A
<where><if test="by != null and term != null">AND ${by} LIKE CONCAT('%', #{term}, '%')</if>
<if test="userIDs != null">USER_ID IN (<foreach collection="userIDs" item="userID" separator=",">#{userID}</foreach>)</if>
<if test="status == null and userIDs == null">AND STTS != 'D'</if>
<if test="status != null">AND STTS = #{status}</if></where>
<include refid="utility.orderBy" />
<include refid="utility.paging-suffix" /></sql>
<select id="getUserList" parameterType="map" resultType="dataobject">/* 사용자 목록 조회(userMapper.getUserList) */
<include refid="selectUsers"/></select>
<select id="getUsers" parameterType="map" resultMap="userRow">/* 사용자 가져오기(userMapper.getUsers) */
<include refid="selectUsers"/></select>
<select id="getUser" parameterType="map" resultMap="userRow">/* 사용자 계정 가져오기(userMapper.getUser) */
SELECT *
FROM TB_USER
WHERE USER_ACNT = #{account}
AND NSTT_CD = #{institute}</select>
<insert id="insertUser" parameterType="cokr.xit.base.user.ManagedUser">
<selectKey resultType="string" keyProperty="id" keyColumn="NEW_ID" order="BEFORE">SELECT LPAD(IFNULL(MAX(USER_ID) + 1, 1), 10, '0') NEW_ID FROM TB_USER</selectKey>
/* 사용자 정보 등록(userMapper.insertUser) */
INSERT INTO TB_USER (
USER_ID
, USER_ACNT
, USER_NM
, PASSWD
, PASSWD_HINT
, PASSWD_NSR
, EMP_NO
, RSDNT_NO
, GENDER
, BRDT
, AREA_NO
, ZIP
, ADDR
, DADDR
, TELNO
, MBL_TELNO
, FXNO
, EML_ADRS
, POS_NM
, GRP_ID
, ORG_ID
, NSTT_CD
, CRTFC_DN
, LOCK_YN
, LOCK_CNT
, LOCK_DT
, REG_DT
, RGTR
, MDFCN_DT
, MDFR
, USE_YN
, STTS
) VALUES (
#{id}
, #{account}
, #{name}
, #{password}
, #{passwordHint}
, #{passwordHintAnswer}
, #{empNo}
, #{residentRegNo}
, #{gender}
, #{birthday}
, #{areaNo}
, #{zipCode}
, #{address}
, #{addressDetail}
, #{phoneNo}
, #{mobilePhoneNo}
, #{faxNo}
, #{emailAddress}
, #{positionName}
, #{groupID}
, #{orgID}
, #{institute}
, #{certificateDn}
, 'N'
, 0
, NULL
,<include refid="utility.now" />
, #{createdBy}
,<include refid="utility.now" />
, #{createdBy}
, 'Y'
, #{status}
)</insert>
<update id="updateUser" parameterType="cokr.xit.base.user.ManagedUser">/* 사용자 정보 수정(userMapper.updateUser) */
UPDATE TB_USER SET
USER_NM = #{name}
, PASSWD_HINT = #{passwordHint}
, PASSWD_NSR = #{passwordHintAnswer}
, EMP_NO = #{empNo}
, RSDNT_NO = #{residentRegNo}
, GENDER = #{gender}
, BRDT = #{birthday}
, AREA_NO = #{areaNo}
, ZIP = #{zipCode}
, ADDR = #{address}
, DADDR = #{addressDetail}
, TELNO = #{phoneNo}
, MBL_TELNO = #{mobilePhoneNo}
, FXNO = #{faxNo}
, EML_ADRS = #{emailAddress}
, POS_NM = #{positionName}
, GRP_ID = #{groupID}
, ORG_ID = #{orgID}
, NSTT_CD = #{institute}
, DEPT_CD = #{deptCode}
, CRTFC_DN = #{certificateDn}
, MDFCN_DT =<include refid="utility.now" />
, MDFR = #{modifiedBy}
WHERE USER_ID = #{id}</update>
<update id="changePassword" parameterType="map">/* 비밀번호 변경(userMapper.changePassword) */
UPDATE TB_USER SET
PASSWD = CASE USER_ID<foreach collection="userPasswords" item="userPassword" separator=" ">
WHEN #{userPassword.userID} THEN #{userPassword.password}</foreach>
ELSE PASSWD END
, MDFCN_DT =<include refid="utility.now" />
, MDFR = #{currentUser.id}
WHERE USER_ID IN (<foreach collection="userIDs" item="userID" separator=",">#{userID}</foreach>)
</update>
<update id="lockUsers" parameterType="map">/* 사용자 잠김 해제(userMapper.lockUsers) */
UPDATE TB_USER SET
<if test='lock == true'> LOCK_YN = 'Y'
, LOCK_CNT = LOCK_CNT + 1
, LOCK_DT =<include refid="utility.now" /></if>
<if test='lock == false'> LOCK_YN = 'N'
, LOCK_CNT = 0
, LOCK_DT = NULL</if>
, MDFCN_DT =<include refid="utility.now" />
, MDFR = #{currentUser.id}
WHERE USER_ID IN (<foreach collection="userIDs" item="userID" separator=",">#{userID}</foreach>)
</update>
<update id="setStatus" parameterType="map">/* 사용자 상태 변경(userMapper.setStatus) */
UPDATE TB_USER SET
STTS = #{status}
<if test='"D" == status'>, USE_YN = 'N'</if>
, MDFCN_DT =<include refid="utility.now" />
, MDFR = #{currentUser.id}
WHERE USER_ID IN (<foreach collection="userIDs" item="userID" separator=",">#{userID}</foreach>)
AND STTS != #{status}
</update>
</mapper>

@ -0,0 +1,661 @@
/*
* Generated by the Jasper component of Apache Tomcat
* Version: Apache Tomcat/9.0.75
* Generated at: 2023-10-10 04:27:23 UTC
* Note: The last modified time of this file was set to
* the last modified time of the source file after
* generation to assist with modification tracking.
*/
package org.apache.jsp.WEB_002dINF.jsp.include;
import javax.servlet.*;
import javax.servlet.http.*;
import javax.servlet.jsp.*;
public final class dashboard_jsp extends org.apache.jasper.runtime.HttpJspBase
implements org.apache.jasper.runtime.JspSourceDependent,
org.apache.jasper.runtime.JspSourceImports {
private static final javax.servlet.jsp.JspFactory _jspxFactory =
javax.servlet.jsp.JspFactory.getDefaultFactory();
private static java.util.Map<java.lang.String,java.lang.Long> _jspx_dependants;
static {
_jspx_dependants = new java.util.HashMap<java.lang.String,java.lang.Long>(5);
_jspx_dependants.put("/WEB-INF/jsp/include/taglib.jsp", Long.valueOf(1696469747129L));
_jspx_dependants.put("jar:file:/D:/repo/javax/servlet/jstl/1.2/jstl-1.2.jar!/META-INF/fmt.tld", Long.valueOf(1153352682000L));
_jspx_dependants.put("file:/D:/repo/javax/servlet/jstl/1.2/jstl-1.2.jar", Long.valueOf(1678766202128L));
_jspx_dependants.put("jar:file:/D:/repo/javax/servlet/jstl/1.2/jstl-1.2.jar!/META-INF/fn.tld", Long.valueOf(1153352682000L));
_jspx_dependants.put("jar:file:/D:/repo/javax/servlet/jstl/1.2/jstl-1.2.jar!/META-INF/c.tld", Long.valueOf(1153352682000L));
}
private static final java.util.Set<java.lang.String> _jspx_imports_packages;
private static final java.util.Set<java.lang.String> _jspx_imports_classes;
static {
_jspx_imports_packages = new java.util.HashSet<>();
_jspx_imports_packages.add("javax.servlet");
_jspx_imports_packages.add("javax.servlet.http");
_jspx_imports_packages.add("javax.servlet.jsp");
_jspx_imports_classes = null;
}
private org.apache.jasper.runtime.TagHandlerPool _005fjspx_005ftagPool_005fc_005fset_0026_005fvar_005fscope;
private volatile javax.el.ExpressionFactory _el_expressionfactory;
private volatile org.apache.tomcat.InstanceManager _jsp_instancemanager;
public java.util.Map<java.lang.String,java.lang.Long> getDependants() {
return _jspx_dependants;
}
public java.util.Set<java.lang.String> getPackageImports() {
return _jspx_imports_packages;
}
public java.util.Set<java.lang.String> getClassImports() {
return _jspx_imports_classes;
}
public javax.el.ExpressionFactory _jsp_getExpressionFactory() {
if (_el_expressionfactory == null) {
synchronized (this) {
if (_el_expressionfactory == null) {
_el_expressionfactory = _jspxFactory.getJspApplicationContext(getServletConfig().getServletContext()).getExpressionFactory();
}
}
}
return _el_expressionfactory;
}
public org.apache.tomcat.InstanceManager _jsp_getInstanceManager() {
if (_jsp_instancemanager == null) {
synchronized (this) {
if (_jsp_instancemanager == null) {
_jsp_instancemanager = org.apache.jasper.runtime.InstanceManagerFactory.getInstanceManager(getServletConfig());
}
}
}
return _jsp_instancemanager;
}
public void _jspInit() {
_005fjspx_005ftagPool_005fc_005fset_0026_005fvar_005fscope = org.apache.jasper.runtime.TagHandlerPool.getTagHandlerPool(getServletConfig());
}
public void _jspDestroy() {
_005fjspx_005ftagPool_005fc_005fset_0026_005fvar_005fscope.release();
}
public void _jspService(final javax.servlet.http.HttpServletRequest request, final javax.servlet.http.HttpServletResponse response)
throws java.io.IOException, javax.servlet.ServletException {
if (!javax.servlet.DispatcherType.ERROR.equals(request.getDispatcherType())) {
final java.lang.String _jspx_method = request.getMethod();
if ("OPTIONS".equals(_jspx_method)) {
response.setHeader("Allow","GET, HEAD, POST, OPTIONS");
return;
}
if (!"GET".equals(_jspx_method) && !"POST".equals(_jspx_method) && !"HEAD".equals(_jspx_method)) {
response.setHeader("Allow","GET, HEAD, POST, OPTIONS");
response.sendError(HttpServletResponse.SC_METHOD_NOT_ALLOWED, "JSPs only permit GET, POST or HEAD. Jasper also permits OPTIONS");
return;
}
}
final javax.servlet.jsp.PageContext pageContext;
final javax.servlet.ServletContext application;
final javax.servlet.ServletConfig config;
javax.servlet.jsp.JspWriter out = null;
final java.lang.Object page = this;
javax.servlet.jsp.JspWriter _jspx_out = null;
javax.servlet.jsp.PageContext _jspx_page_context = null;
try {
response.setContentType("text/html; charset=UTF-8");
pageContext = _jspxFactory.getPageContext(this, request, response,
null, false, 8192, true);
_jspx_page_context = pageContext;
application = pageContext.getServletContext();
config = pageContext.getServletConfig();
out = pageContext.getOut();
_jspx_out = out;
out.write('\r');
out.write('\n');
out.write('\r');
out.write('\n');
out.write("\r\n");
out.write("\r\n");
out.write("<div class=\"wrapper-dashboard\">\r\n");
out.write(" <div class=\"card dashboard-total\">\r\n");
out.write(" <div class=\"card-body row\">\r\n");
out.write(" <div class=\"col px-4 card-separator d-flex flex-column align-items-center\">\r\n");
out.write(" <p class=\"mb-1\">2/10</p>\r\n");
out.write(" <i class=\"svg-cctv-fixed w-px-30 d-block\" title=\"고정형CCTV\"></i>\r\n");
out.write(" </div>\r\n");
out.write(" <div class=\"col px-4 card-separator d-flex flex-column align-items-center\">\r\n");
out.write(" <p class=\"mb-1\">2/3</p>\r\n");
out.write(" <i class=\"svg-crackdown-road w-px-30 d-block\" title=\"도보단속\"></i>\r\n");
out.write(" </div>\r\n");
out.write(" <div class=\"col px-4 card-separator d-flex flex-column align-items-center\">\r\n");
out.write(" <p class=\"mb-1\">2/3</p>\r\n");
out.write(" <i class=\"svg-cctv-drive w-px-30 d-block\" title=\"이동형CCTV\"></i>\r\n");
out.write(" </div>\r\n");
out.write(" <div class=\"col px-4 d-flex flex-column align-items-center\">\r\n");
out.write(" <p class=\"mb-1\">10/10</p>\r\n");
out.write(" <i class=\"svg-crackdown-minwon w-px-30 d-block\" title=\"민원(즉시단속)\"></i>\r\n");
out.write(" </div>\r\n");
out.write(" </div>\r\n");
out.write(" <div class=\"card-footer ms-auto\">\r\n");
out.write(" 단속관리 바로가기 >\r\n");
out.write(" </div>\r\n");
out.write(" </div>\r\n");
out.write(" \r\n");
out.write(" <div class=\"card dashboard-total\">\r\n");
out.write(" <div class=\"card-body row\">\r\n");
out.write(" <div class=\"col px-4 card-separator d-flex flex-column align-items-center\">\r\n");
out.write(" <p class=\"mb-1\">2/10</p>\r\n");
out.write(" <i class=\"svg-target-lvy w-px-30 d-block\" title=\"등록대상\"></i>\r\n");
out.write(" </div>\r\n");
out.write(" <div class=\"col px-4 d-flex flex-column align-items-center\">\r\n");
out.write(" <p class=\"mb-1\">2/3</p>\r\n");
out.write(" <i class=\"svg-target-transfer w-px-30 d-block\" title=\"이첩대상\"></i>\r\n");
out.write(" </div>\r\n");
out.write(" </div>\r\n");
out.write(" <div class=\"card-footer ms-auto\">\r\n");
out.write(" 부과관리 바로가기 >\r\n");
out.write(" </div>\r\n");
out.write(" </div>\r\n");
out.write(" \r\n");
out.write(" <div class=\"card dashboard-total\">\r\n");
out.write(" <div class=\"card-body row\">\r\n");
out.write(" <div class=\"col px-4 card-separator d-flex flex-column align-items-center\">\r\n");
out.write(" <p class=\"mb-1\">2/10</p>\r\n");
out.write(" <i class=\"svg-sendstat-guide w-px-30 d-block\" title=\"계도장 발송현황\"></i>\r\n");
out.write(" </div>\r\n");
out.write(" <div class=\"col px-4 card-separator d-flex flex-column align-items-center\">\r\n");
out.write(" <p class=\"mb-1\">2/3</p>\r\n");
out.write(" <i class=\"svg-sendstat-before w-px-30 d-block\" title=\"사전통보 발송현황\"></i>\r\n");
out.write(" </div>\r\n");
out.write(" <div class=\"col px-4 d-flex flex-column align-items-center\">\r\n");
out.write(" <p class=\"mb-1\">2/3</p>\r\n");
out.write(" <i class=\"svg-sendstat-nop w-px-30 d-block\" title=\"고지서 발송현황\"></i>\r\n");
out.write(" </div>\r\n");
out.write(" </div>\r\n");
out.write(" <div class=\"card-footer ms-auto\">\r\n");
out.write(" 발송관리 바로가기 >\r\n");
out.write(" </div>\r\n");
out.write(" </div>\r\n");
out.write(" \r\n");
out.write(" <div class=\"card dashboard-total\">\r\n");
out.write(" <div class=\"card-body row\">\r\n");
out.write(" <div class=\"col px-4 card-separator d-flex flex-column align-items-center\">\r\n");
out.write(" <p class=\"mb-1\">2/10</p>\r\n");
out.write(" <i class=\"svg-opn-rcp w-px-30 d-block\" title=\"접수\"></i>\r\n");
out.write(" </div>\r\n");
out.write(" <div class=\"col px-4 card-separator d-flex flex-column align-items-center\">\r\n");
out.write(" <p class=\"mb-1\">2/3</p>\r\n");
out.write(" <i class=\"svg-opn-decision w-px-30 d-block\" title=\"수용/미수용\"></i>\r\n");
out.write(" </div>\r\n");
out.write(" <div class=\"col px-4 d-flex flex-column align-items-center\">\r\n");
out.write(" <p class=\"mb-1\">2/3</p>\r\n");
out.write(" <i class=\"svg-opn-selfdrop w-px-30 d-block\" title=\"자진취하\"></i>\r\n");
out.write(" </div>\r\n");
out.write(" </div>\r\n");
out.write(" <div class=\"card-footer ms-auto\">\r\n");
out.write(" 의견진술관리 바로가기 >\r\n");
out.write(" </div>\r\n");
out.write(" </div>\r\n");
out.write("</div>\r\n");
out.write("<div class=\"wrapper-dashboard\">\r\n");
out.write(" <div class=\"card dashboard-chart\">\r\n");
out.write(" <div class=\"card-header d-flex align-items-center justify-content-between\">\r\n");
out.write(" <h5 class=\"card-title m-0 me-2\">단속 자료 통계(유형별)</h5>\r\n");
out.write(" <div>건수(최근 n일)</div>\r\n");
out.write(" </div>\r\n");
out.write(" <div class=\"card-body d-flex justify-content-center\" id=\"lineChartCardBody\">\r\n");
out.write(" <canvas id=\"lineChart\" class=\"chartjs\" data-height=\"500\" style=\"max-height: 300px;\"></canvas>\r\n");
out.write(" </div>\r\n");
out.write(" <div class=\"card-footer ms-auto\">\r\n");
out.write(" 통계현황 바로가기 >\r\n");
out.write(" </div>\r\n");
out.write(" </div>\r\n");
out.write(" \r\n");
out.write(" <div class=\"card dashboard-chart\">\r\n");
out.write(" <div class=\"card-header d-flex align-items-center justify-content-between\">\r\n");
out.write(" <h5 class=\"card-title m-0 me-2\">단속통계</h5>\r\n");
out.write(" <div>처리유형별(일별)</div>\r\n");
out.write(" </div>\r\n");
out.write(" <div class=\"card-body d-flex justify-content-center\" id=\"doughnutChart1CardBody\">\r\n");
out.write(" <canvas id=\"doughnutChart1\" class=\"chartjs\" data-height=\"350\" style=\"max-height: 300px;\"></canvas>\r\n");
out.write(" </div>\r\n");
out.write(" <div class=\"card-footer ms-auto\">\r\n");
out.write(" 통계현황 바로가기 >\r\n");
out.write(" </div>\r\n");
out.write(" </div>\r\n");
out.write(" \r\n");
out.write(" <div class=\"card dashboard-chart\">\r\n");
out.write(" <div class=\"card-header d-flex align-items-center justify-content-between\">\r\n");
out.write(" <h5 class=\"card-title m-0 me-2\">발송통계</h5>\r\n");
out.write(" <div>발송유형별(일별)</div>\r\n");
out.write(" </div>\r\n");
out.write(" <div class=\"card-body d-flex justify-content-center\" id=\"doughnutChart2CardBody\">\r\n");
out.write(" <canvas id=\"doughnutChart2\" class=\"chartjs\" data-height=\"350\" style=\"max-height: 300px;\"></canvas>\r\n");
out.write(" </div>\r\n");
out.write(" <div class=\"card-footer ms-auto\">\r\n");
out.write(" 통계현황 바로가기 >\r\n");
out.write(" </div>\r\n");
out.write(" </div>\r\n");
out.write(" \r\n");
out.write(" <div class=\"card dashboard-chart\">\r\n");
out.write(" <div class=\"card-header d-flex align-items-center justify-content-between\">\r\n");
out.write(" <h5 class=\"card-title m-0 me-2\">의견진술통계</h5>\r\n");
out.write(" <div>처리유형별(일별)</div>\r\n");
out.write(" </div>\r\n");
out.write(" <div class=\"card-body d-flex justify-content-center\" id=\"doughnutChart3CardBody\">\r\n");
out.write(" <canvas id=\"doughnutChart3\" class=\"chartjs\" data-height=\"350\" style=\"max-height: 300px;\"></canvas>\r\n");
out.write(" </div>\r\n");
out.write(" <div class=\"card-footer ms-auto\">\r\n");
out.write(" 통계현황 바로가기 >\r\n");
out.write(" </div>\r\n");
out.write(" </div>\r\n");
out.write("</div>\r\n");
out.write("\r\n");
if (_jspx_meth_c_005fset_005f0(_jspx_page_context))
return;
} catch (java.lang.Throwable t) {
if (!(t instanceof javax.servlet.jsp.SkipPageException)){
out = _jspx_out;
if (out != null && out.getBufferSize() != 0)
try {
if (response.isCommitted()) {
out.flush();
} else {
out.clearBuffer();
}
} catch (java.io.IOException e) {}
if (_jspx_page_context != null) _jspx_page_context.handlePageException(t);
else throw new ServletException(t);
}
} finally {
_jspxFactory.releasePageContext(_jspx_page_context);
}
}
private boolean _jspx_meth_c_005fset_005f0(javax.servlet.jsp.PageContext _jspx_page_context)
throws java.lang.Throwable {
javax.servlet.jsp.PageContext pageContext = _jspx_page_context;
javax.servlet.jsp.JspWriter out = _jspx_page_context.getOut();
// c:set
org.apache.taglibs.standard.tag.rt.core.SetTag _jspx_th_c_005fset_005f0 = (org.apache.taglibs.standard.tag.rt.core.SetTag) _005fjspx_005ftagPool_005fc_005fset_0026_005fvar_005fscope.get(org.apache.taglibs.standard.tag.rt.core.SetTag.class);
boolean _jspx_th_c_005fset_005f0_reused = false;
try {
_jspx_th_c_005fset_005f0.setPageContext(_jspx_page_context);
_jspx_th_c_005fset_005f0.setParent(null);
// /WEB-INF/jsp/include/dashboard.jsp(139,0) name = var type = java.lang.String reqTime = false required = false fragment = false deferredValue = false expectedTypeName = null deferredMethod = false methodSignature = null
_jspx_th_c_005fset_005f0.setVar("dashboardScript");
// /WEB-INF/jsp/include/dashboard.jsp(139,0) name = scope type = java.lang.String reqTime = false required = false fragment = false deferredValue = false expectedTypeName = null deferredMethod = false methodSignature = null
_jspx_th_c_005fset_005f0.setScope("request");
int _jspx_eval_c_005fset_005f0 = _jspx_th_c_005fset_005f0.doStartTag();
if (_jspx_eval_c_005fset_005f0 != javax.servlet.jsp.tagext.Tag.SKIP_BODY) {
if (_jspx_eval_c_005fset_005f0 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
out = org.apache.jasper.runtime.JspRuntimeLibrary.startBufferedBody(_jspx_page_context, _jspx_th_c_005fset_005f0);
}
do {
out.write("\r\n");
out.write("\r\n");
out.write("var falseLineChart = `<svg xmlns=\"http://www.w3.org/2000/svg\" \r\n");
out.write("height=\"250\" viewBox=\"0 0 24 24\" style=\"fill: rgba(0, 0, 0, 1);transform: ;msFilter:;\">\r\n");
out.write("<path class=\"skeleton\" d=\"M3 3v17a1 1 0 0 0 1 1h17v-2H5V3H3z\"></path>\r\n");
out.write("<path class=\"skeleton\" d=\"M15.293 14.707a.999.999 0 0 0 1.414 0l5-5-1.414-1.414L16 12.586l-2.293-2.293a.999.999 0 0 0-1.414 0l-5 5 1.414 1.414L13 12.414l2.293 2.293z\"></path>\r\n");
out.write("</svg>`;\r\n");
out.write("\r\n");
out.write("var falseDoughnutChart = `<svg xmlns=\"http://www.w3.org/2000/svg\" \r\n");
out.write("height=\"250\" viewBox=\"0 0 24 24\" style=\"fill: rgba(0, 0, 0, 1);transform: ;msFilter:;\">\r\n");
out.write("<path class=\"skeleton\" d=\"M13 6c2.507.423 4.577 2.493 5 5h4c-.471-4.717-4.283-8.529-9-9v4z\"></path>\r\n");
out.write("<path class=\"skeleton\" d=\"M18 13c-.478 2.833-2.982 4.949-5.949 4.949-3.309 0-6-2.691-6-6C6.051 8.982 8.167 6.478 11 6V2c-5.046.504-8.949 4.773-8.949 9.949 0 5.514 4.486 10 10 10 5.176 0 9.445-3.903 9.949-8.949h-4z\"></path>\r\n");
out.write("</svg>`;\r\n");
out.write("\r\n");
out.write("fnMakeSkeleton();\r\n");
out.write("sleep(3000).then(() => fnLoadStatisticsData());\r\n");
out.write("\r\n");
out.write("\r\n");
out.write("//지연\r\n");
out.write("function sleep(ms) {\r\n");
out.write(" return new Promise((r) => setTimeout(r, ms));\r\n");
out.write("}\r\n");
out.write("\r\n");
out.write("//데이터 로딩 전 이미지 표시\r\n");
out.write("function fnMakeSkeleton(){\r\n");
out.write("\r\n");
out.write(" $(\"#lineChart\").hide();\r\n");
out.write(" $(\"#doughnutChart1\").hide();\r\n");
out.write(" $(\"#doughnutChart2\").hide();\r\n");
out.write(" $(\"#doughnutChart3\").hide();\r\n");
out.write(" \r\n");
out.write(" $(\"#lineChartCardBody\").append(falseLineChart);\r\n");
out.write(" $(\"#doughnutChart1CardBody\").append(falseDoughnutChart);\r\n");
out.write(" $(\"#doughnutChart2CardBody\").append(falseDoughnutChart);\r\n");
out.write(" $(\"#doughnutChart3CardBody\").append(falseDoughnutChart);\r\n");
out.write("}\r\n");
out.write("\r\n");
out.write("//통계 데이터 조회\r\n");
out.write("function fnLoadStatisticsData(){\r\n");
out.write("\r\n");
out.write(" //TODO : ajax\r\n");
out.write("\r\n");
out.write(" var data = {};\r\n");
out.write(" fnRenderDashboardContents(data);\r\n");
out.write("}\r\n");
out.write("\r\n");
out.write("//콘텐츠(차트) 표시\r\n");
out.write("function fnRenderDashboardContents(data){\r\n");
out.write(" $(\"#lineChartCardBody svg\").remove();\r\n");
out.write(" $(\"#doughnutChart1CardBody svg\").remove();\r\n");
out.write(" $(\"#doughnutChart2CardBody svg\").remove();\r\n");
out.write(" $(\"#doughnutChart3CardBody svg\").remove();\r\n");
out.write(" \r\n");
out.write(" $(\"#lineChart\").show();\r\n");
out.write(" $(\"#doughnutChart1\").show();\r\n");
out.write(" $(\"#doughnutChart2\").show();\r\n");
out.write(" $(\"#doughnutChart3\").show();\r\n");
out.write(" \r\n");
out.write(" // Color Variables\r\n");
out.write(" const yellowColor = '#ffe800';\r\n");
out.write(" let borderColor, gridColor, tickColor;\r\n");
out.write("\r\n");
out.write(" borderColor = '#f0f0f0';\r\n");
out.write(" gridColor = '#f0f0f0';\r\n");
out.write(" tickColor = 'rgba(0, 0, 0, 0.75)'; // x & y axis tick color\r\n");
out.write("\r\n");
out.write(" const lineChart = document.getElementById('lineChart');\r\n");
out.write(" if (lineChart) {\r\n");
out.write(" const lineChartVar = new Chart(lineChart, {\r\n");
out.write(" type: 'line',\r\n");
out.write(" data: {\r\n");
out.write(" labels: [0, 10, 20, 30, 40, 50, 60, 70, 80, 90, 100, 110, 120, 130, 140],\r\n");
out.write(" datasets: [\r\n");
out.write(" {\r\n");
out.write(" data: [80, 150, 180, 270, 210, 160, 160, 202, 265, 210, 270, 255, 290, 360, 375],\r\n");
out.write(" label: '고정형',\r\n");
out.write(" borderColor: config.colors.danger,\r\n");
out.write(" tension: 0.5,\r\n");
out.write(" pointStyle: 'circle',\r\n");
out.write(" backgroundColor: config.colors.danger,\r\n");
out.write(" fill: false,\r\n");
out.write(" pointRadius: 1,\r\n");
out.write(" pointHoverRadius: 5,\r\n");
out.write(" pointHoverBorderWidth: 5,\r\n");
out.write(" pointBorderColor: 'transparent',\r\n");
out.write(" pointHoverBorderColor: config.colors.cardColor,\r\n");
out.write(" pointHoverBackgroundColor: config.colors.danger\r\n");
out.write(" },\r\n");
out.write(" {\r\n");
out.write(" data: [80, 125, 105, 130, 215, 195, 140, 160, 230, 300, 220, 170, 210, 200, 280],\r\n");
out.write(" label: '도보',\r\n");
out.write(" borderColor: config.colors.primary,\r\n");
out.write(" tension: 0.5,\r\n");
out.write(" pointStyle: 'circle',\r\n");
out.write(" backgroundColor: config.colors.primary,\r\n");
out.write(" fill: false,\r\n");
out.write(" pointRadius: 1,\r\n");
out.write(" pointHoverRadius: 5,\r\n");
out.write(" pointHoverBorderWidth: 5,\r\n");
out.write(" pointBorderColor: 'transparent',\r\n");
out.write(" pointHoverBorderColor: config.colors.cardColor,\r\n");
out.write(" pointHoverBackgroundColor: config.colors.primary\r\n");
out.write(" },\r\n");
out.write(" {\r\n");
out.write(" data: [80, 99, 82, 90, 115, 115, 74, 75, 130, 155, 125, 90, 140, 130, 180],\r\n");
out.write(" label: '민원',\r\n");
out.write(" borderColor: yellowColor,\r\n");
out.write(" tension: 0.5,\r\n");
out.write(" pointStyle: 'circle',\r\n");
out.write(" backgroundColor: yellowColor,\r\n");
out.write(" fill: false,\r\n");
out.write(" pointRadius: 1,\r\n");
out.write(" pointHoverRadius: 5,\r\n");
out.write(" pointHoverBorderWidth: 5,\r\n");
out.write(" pointBorderColor: 'transparent',\r\n");
out.write(" pointHoverBorderColor: config.colors.cardColor,\r\n");
out.write(" pointHoverBackgroundColor: yellowColor\r\n");
out.write(" }\r\n");
out.write(" ]\r\n");
out.write(" },\r\n");
out.write(" options: {\r\n");
out.write(" responsive: true,\r\n");
out.write(" maintainAspectRatio: false,\r\n");
out.write(" scales: {\r\n");
out.write(" x: {\r\n");
out.write(" grid: {\r\n");
out.write(" color: borderColor,\r\n");
out.write(" drawBorder: false,\r\n");
out.write(" borderColor: borderColor\r\n");
out.write(" },\r\n");
out.write(" ticks: {\r\n");
out.write(" color: \"black\"\r\n");
out.write(" }\r\n");
out.write(" },\r\n");
out.write(" y: {\r\n");
out.write(" scaleLabel: {\r\n");
out.write(" display: true\r\n");
out.write(" },\r\n");
out.write(" min: 0,\r\n");
out.write(" max: 400,\r\n");
out.write(" ticks: {\r\n");
out.write(" color: \"black\",\r\n");
out.write(" stepSize: 100\r\n");
out.write(" },\r\n");
out.write(" grid: {\r\n");
out.write(" color: borderColor,\r\n");
out.write(" drawBorder: false,\r\n");
out.write(" borderColor: borderColor\r\n");
out.write(" }\r\n");
out.write(" }\r\n");
out.write(" },\r\n");
out.write(" plugins: {\r\n");
out.write(" tooltip: {\r\n");
out.write(" rtl: true,\r\n");
out.write(" backgroundColor: config.colors.cardColor,\r\n");
out.write(" titleColor: config.colors.headingColor,\r\n");
out.write(" bodyColor: config.colors.bodyColor,\r\n");
out.write(" borderWidth: 1,\r\n");
out.write(" borderColor: borderColor\r\n");
out.write(" },\r\n");
out.write(" legend: {\r\n");
out.write(" position: 'left',\r\n");
out.write(" align: 'stretch',\r\n");
out.write(" rtl: true,\r\n");
out.write(" labels: {\r\n");
out.write(" usePointStyle: true,\r\n");
out.write(" padding: 6,\r\n");
out.write(" boxWidth: 12,\r\n");
out.write(" boxHeight: 30,\r\n");
out.write(" color: \"black\"\r\n");
out.write(" }\r\n");
out.write(" }\r\n");
out.write(" }\r\n");
out.write(" }\r\n");
out.write(" });\r\n");
out.write(" }\r\n");
out.write("\r\n");
out.write("\r\n");
out.write(" // Color Variables\r\n");
out.write(" const cyanColor = '#28dac6',\r\n");
out.write(" orangeLightColor = '#FDAC34';\r\n");
out.write(" let cardColor, headingColor, labelColor, legendColor;\r\n");
out.write("\r\n");
out.write(" cardColor = config.colors.cardColor;\r\n");
out.write(" headingColor = config.colors.headingColor;\r\n");
out.write(" labelColor = config.colors.textMuted;\r\n");
out.write(" legendColor = config.colors.bodyColor;\r\n");
out.write("\r\n");
out.write(" const doughnutChart1 = document.getElementById('doughnutChart1');\r\n");
out.write(" if (doughnutChart1) {\r\n");
out.write(" const doughnutChartVar = new Chart(doughnutChart1, {\r\n");
out.write(" type: 'doughnut',\r\n");
out.write(" data: {\r\n");
out.write(" labels: ['단속', '계고', '서손'],\r\n");
out.write(" datasets: [\r\n");
out.write(" {\r\n");
out.write(" data: [10, 10, 80],\r\n");
out.write(" backgroundColor: [cyanColor, orangeLightColor, config.colors.primary],\r\n");
out.write(" borderWidth: 0,\r\n");
out.write(" pointStyle: 'rectRounded'\r\n");
out.write(" }\r\n");
out.write(" ]\r\n");
out.write(" },\r\n");
out.write(" options: {\r\n");
out.write(" responsive: true,\r\n");
out.write(" animation: {\r\n");
out.write(" duration: 500\r\n");
out.write(" },\r\n");
out.write(" cutout: '68%',\r\n");
out.write(" plugins: {\r\n");
out.write(" legend: {\r\n");
out.write(" display: true,\r\n");
out.write(" position : 'left'\r\n");
out.write(" },\r\n");
out.write(" tooltip: {\r\n");
out.write(" callbacks: {\r\n");
out.write(" label: function (context) {\r\n");
out.write(" const label = context.label || '';\r\n");
out.write(" const value = context.parsed;\r\n");
out.write(" const output = ' ' + label + ' : ' + value + ' %';\r\n");
out.write(" return output;\r\n");
out.write(" }\r\n");
out.write(" },\r\n");
out.write(" // Updated default tooltip UI\r\n");
out.write(" rtl: true,\r\n");
out.write(" backgroundColor: cardColor,\r\n");
out.write(" titleColor: headingColor,\r\n");
out.write(" bodyColor: legendColor,\r\n");
out.write(" borderWidth: 1,\r\n");
out.write(" borderColor: borderColor\r\n");
out.write(" }\r\n");
out.write(" }\r\n");
out.write(" }\r\n");
out.write(" });\r\n");
out.write(" }\r\n");
out.write("\r\n");
out.write(" const doughnutChart2 = document.getElementById('doughnutChart2');\r\n");
out.write(" if (doughnutChart2) {\r\n");
out.write(" const doughnutChartVar = new Chart(doughnutChart2, {\r\n");
out.write(" type: 'doughnut',\r\n");
out.write(" data: {\r\n");
out.write(" labels: ['계고장', '사전통보', '고지서'],\r\n");
out.write(" datasets: [\r\n");
out.write(" {\r\n");
out.write(" data: [10, 10, 80],\r\n");
out.write(" backgroundColor: [cyanColor, orangeLightColor, config.colors.primary],\r\n");
out.write(" borderWidth: 0,\r\n");
out.write(" pointStyle: 'rectRounded'\r\n");
out.write(" }\r\n");
out.write(" ]\r\n");
out.write(" },\r\n");
out.write(" options: {\r\n");
out.write(" responsive: true,\r\n");
out.write(" animation: {\r\n");
out.write(" duration: 500\r\n");
out.write(" },\r\n");
out.write(" cutout: '68%',\r\n");
out.write(" plugins: {\r\n");
out.write(" legend: {\r\n");
out.write(" display: true,\r\n");
out.write(" position : 'left'\r\n");
out.write(" },\r\n");
out.write(" tooltip: {\r\n");
out.write(" callbacks: {\r\n");
out.write(" label: function (context) {\r\n");
out.write(" const label = context.label || '';\r\n");
out.write(" const value = context.parsed;\r\n");
out.write(" const output = ' ' + label + ' : ' + value + ' %';\r\n");
out.write(" return output;\r\n");
out.write(" }\r\n");
out.write(" },\r\n");
out.write(" // Updated default tooltip UI\r\n");
out.write(" rtl: true,\r\n");
out.write(" backgroundColor: cardColor,\r\n");
out.write(" titleColor: headingColor,\r\n");
out.write(" bodyColor: legendColor,\r\n");
out.write(" borderWidth: 1,\r\n");
out.write(" borderColor: borderColor\r\n");
out.write(" }\r\n");
out.write(" }\r\n");
out.write(" }\r\n");
out.write(" });\r\n");
out.write(" }\r\n");
out.write("\r\n");
out.write(" const doughnutChart3 = document.getElementById('doughnutChart3');\r\n");
out.write(" if (doughnutChart3) {\r\n");
out.write(" const doughnutChartVar = new Chart(doughnutChart3, {\r\n");
out.write(" type: 'doughnut',\r\n");
out.write(" data: {\r\n");
out.write(" labels: ['수용', '미수용', '자진취하'],\r\n");
out.write(" datasets: [\r\n");
out.write(" {\r\n");
out.write(" data: [10, 10, 80],\r\n");
out.write(" backgroundColor: [cyanColor, orangeLightColor, config.colors.primary],\r\n");
out.write(" borderWidth: 0,\r\n");
out.write(" pointStyle: 'rectRounded'\r\n");
out.write(" }\r\n");
out.write(" ]\r\n");
out.write(" },\r\n");
out.write(" options: {\r\n");
out.write(" responsive: true,\r\n");
out.write(" animation: {\r\n");
out.write(" duration: 500\r\n");
out.write(" },\r\n");
out.write(" cutout: '68%',\r\n");
out.write(" plugins: {\r\n");
out.write(" legend: {\r\n");
out.write(" display: true,\r\n");
out.write(" position : 'left'\r\n");
out.write(" },\r\n");
out.write(" tooltip: {\r\n");
out.write(" callbacks: {\r\n");
out.write(" label: function (context) {\r\n");
out.write(" const label = context.label || '';\r\n");
out.write(" const value = context.parsed;\r\n");
out.write(" const output = ' ' + label + ' : ' + value + ' %';\r\n");
out.write(" return output;\r\n");
out.write(" }\r\n");
out.write(" },\r\n");
out.write(" // Updated default tooltip UI\r\n");
out.write(" rtl: true,\r\n");
out.write(" backgroundColor: cardColor,\r\n");
out.write(" titleColor: headingColor,\r\n");
out.write(" bodyColor: legendColor,\r\n");
out.write(" borderWidth: 1,\r\n");
out.write(" borderColor: borderColor\r\n");
out.write(" }\r\n");
out.write(" }\r\n");
out.write(" }\r\n");
out.write(" });\r\n");
out.write(" }\r\n");
out.write("}\r\n");
out.write("\r\n");
out.write("\r\n");
int evalDoAfterBody = _jspx_th_c_005fset_005f0.doAfterBody();
if (evalDoAfterBody != javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_AGAIN)
break;
} while (true);
if (_jspx_eval_c_005fset_005f0 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
out = _jspx_page_context.popBody();
}
}
if (_jspx_th_c_005fset_005f0.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
return true;
}
_005fjspx_005ftagPool_005fc_005fset_0026_005fvar_005fscope.reuse(_jspx_th_c_005fset_005f0);
_jspx_th_c_005fset_005f0_reused = true;
} finally {
org.apache.jasper.runtime.JspRuntimeLibrary.releaseTag(_jspx_th_c_005fset_005f0, _jsp_getInstanceManager(), _jspx_th_c_005fset_005f0_reused);
}
return false;
}
}

@ -0,0 +1,621 @@
/*
* Generated by the Jasper component of Apache Tomcat
* Version: Apache Tomcat/9.0.75
* Generated at: 2023-10-10 04:27:22 UTC
* Note: The last modified time of this file was set to
* the last modified time of the source file after
* generation to assist with modification tracking.
*/
package org.apache.jsp.WEB_002dINF.jsp.include;
import javax.servlet.*;
import javax.servlet.http.*;
import javax.servlet.jsp.*;
public final class head_jsp extends org.apache.jasper.runtime.HttpJspBase
implements org.apache.jasper.runtime.JspSourceDependent,
org.apache.jasper.runtime.JspSourceImports {
private static final javax.servlet.jsp.JspFactory _jspxFactory =
javax.servlet.jsp.JspFactory.getDefaultFactory();
private static java.util.Map<java.lang.String,java.lang.Long> _jspx_dependants;
static {
_jspx_dependants = new java.util.HashMap<java.lang.String,java.lang.Long>(5);
_jspx_dependants.put("/WEB-INF/jsp/include/taglib.jsp", Long.valueOf(1696469747129L));
_jspx_dependants.put("jar:file:/D:/repo/javax/servlet/jstl/1.2/jstl-1.2.jar!/META-INF/fmt.tld", Long.valueOf(1153352682000L));
_jspx_dependants.put("file:/D:/repo/javax/servlet/jstl/1.2/jstl-1.2.jar", Long.valueOf(1678766202128L));
_jspx_dependants.put("jar:file:/D:/repo/javax/servlet/jstl/1.2/jstl-1.2.jar!/META-INF/fn.tld", Long.valueOf(1153352682000L));
_jspx_dependants.put("jar:file:/D:/repo/javax/servlet/jstl/1.2/jstl-1.2.jar!/META-INF/c.tld", Long.valueOf(1153352682000L));
}
private static final java.util.Set<java.lang.String> _jspx_imports_packages;
private static final java.util.Set<java.lang.String> _jspx_imports_classes;
static {
_jspx_imports_packages = new java.util.HashSet<>();
_jspx_imports_packages.add("javax.servlet");
_jspx_imports_packages.add("javax.servlet.http");
_jspx_imports_packages.add("javax.servlet.jsp");
_jspx_imports_classes = null;
}
private org.apache.jasper.runtime.TagHandlerPool _005fjspx_005ftagPool_005fc_005furl_0026_005fvalue_005fnobody;
private volatile javax.el.ExpressionFactory _el_expressionfactory;
private volatile org.apache.tomcat.InstanceManager _jsp_instancemanager;
public java.util.Map<java.lang.String,java.lang.Long> getDependants() {
return _jspx_dependants;
}
public java.util.Set<java.lang.String> getPackageImports() {
return _jspx_imports_packages;
}
public java.util.Set<java.lang.String> getClassImports() {
return _jspx_imports_classes;
}
public javax.el.ExpressionFactory _jsp_getExpressionFactory() {
if (_el_expressionfactory == null) {
synchronized (this) {
if (_el_expressionfactory == null) {
_el_expressionfactory = _jspxFactory.getJspApplicationContext(getServletConfig().getServletContext()).getExpressionFactory();
}
}
}
return _el_expressionfactory;
}
public org.apache.tomcat.InstanceManager _jsp_getInstanceManager() {
if (_jsp_instancemanager == null) {
synchronized (this) {
if (_jsp_instancemanager == null) {
_jsp_instancemanager = org.apache.jasper.runtime.InstanceManagerFactory.getInstanceManager(getServletConfig());
}
}
}
return _jsp_instancemanager;
}
public void _jspInit() {
_005fjspx_005ftagPool_005fc_005furl_0026_005fvalue_005fnobody = org.apache.jasper.runtime.TagHandlerPool.getTagHandlerPool(getServletConfig());
}
public void _jspDestroy() {
_005fjspx_005ftagPool_005fc_005furl_0026_005fvalue_005fnobody.release();
}
public void _jspService(final javax.servlet.http.HttpServletRequest request, final javax.servlet.http.HttpServletResponse response)
throws java.io.IOException, javax.servlet.ServletException {
if (!javax.servlet.DispatcherType.ERROR.equals(request.getDispatcherType())) {
final java.lang.String _jspx_method = request.getMethod();
if ("OPTIONS".equals(_jspx_method)) {
response.setHeader("Allow","GET, HEAD, POST, OPTIONS");
return;
}
if (!"GET".equals(_jspx_method) && !"POST".equals(_jspx_method) && !"HEAD".equals(_jspx_method)) {
response.setHeader("Allow","GET, HEAD, POST, OPTIONS");
response.sendError(HttpServletResponse.SC_METHOD_NOT_ALLOWED, "JSPs only permit GET, POST or HEAD. Jasper also permits OPTIONS");
return;
}
}
final javax.servlet.jsp.PageContext pageContext;
final javax.servlet.ServletContext application;
final javax.servlet.ServletConfig config;
javax.servlet.jsp.JspWriter out = null;
final java.lang.Object page = this;
javax.servlet.jsp.JspWriter _jspx_out = null;
javax.servlet.jsp.PageContext _jspx_page_context = null;
try {
response.setContentType("text/html; charset=UTF-8");
pageContext = _jspxFactory.getPageContext(this, request, response,
null, false, 8192, true);
_jspx_page_context = pageContext;
application = pageContext.getServletContext();
config = pageContext.getServletConfig();
out = pageContext.getOut();
_jspx_out = out;
out.write('\r');
out.write('\n');
out.write('\r');
out.write('\n');
out.write("\r\n");
out.write("<!DOCTYPE html>\r\n");
out.write("<html\r\n");
out.write(" lang=\"kr\"\r\n");
out.write(" class=\"light-style layout-navbar-fixed layout-menu-fixed \"\r\n");
out.write(" dir=\"ltr\"\r\n");
out.write(" data-theme=\"theme-default\"\r\n");
out.write(" data-assets-path=\"");
if (_jspx_meth_c_005furl_005f0(_jspx_page_context))
return;
out.write("\"\r\n");
out.write(" data-template=\"vertical-menu-template-starter\">\r\n");
out.write("<head>\r\n");
out.write(" <meta charset=\"UTF-8\">\r\n");
out.write(" <title>과태료통합관리시스템</title>\r\n");
out.write("\r\n");
out.write(" <!-- Favicon -->\r\n");
out.write(" <link rel=\"icon\" type=\"image/x-icon\" href=\"");
if (_jspx_meth_c_005furl_005f1(_jspx_page_context))
return;
out.write("\" />\r\n");
out.write("\r\n");
out.write(" <!-- Fonts -->\r\n");
out.write(" <link rel=\"stylesheet\" href=\"");
if (_jspx_meth_c_005furl_005f2(_jspx_page_context))
return;
out.write("\" />\r\n");
out.write(" \r\n");
out.write(" <!-- Icons. Uncomment required icon fonts -->\r\n");
out.write(" <link rel=\"stylesheet\" href=\"");
if (_jspx_meth_c_005furl_005f3(_jspx_page_context))
return;
out.write("\" />\r\n");
out.write(" <link rel=\"stylesheet\" href=\"");
if (_jspx_meth_c_005furl_005f4(_jspx_page_context))
return;
out.write("\" />\r\n");
out.write(" <link rel=\"stylesheet\" href=\"");
if (_jspx_meth_c_005furl_005f5(_jspx_page_context))
return;
out.write("\" />\r\n");
out.write(" <link rel=\"stylesheet\" href=\"");
if (_jspx_meth_c_005furl_005f6(_jspx_page_context))
return;
out.write("\" />\r\n");
out.write(" <!-- Core CSS -->\r\n");
out.write(" <link rel=\"stylesheet\" href=\"");
if (_jspx_meth_c_005furl_005f7(_jspx_page_context))
return;
out.write("\" />\r\n");
out.write(" <link rel=\"stylesheet\" href=\"");
if (_jspx_meth_c_005furl_005f8(_jspx_page_context))
return;
out.write("\" />\r\n");
out.write(" <link rel=\"stylesheet\" href=\"");
if (_jspx_meth_c_005furl_005f9(_jspx_page_context))
return;
out.write("\" />\r\n");
out.write(" <link rel=\"stylesheet\" href=\"");
if (_jspx_meth_c_005furl_005f10(_jspx_page_context))
return;
out.write("\" />\r\n");
out.write("\r\n");
out.write(" <!-- Vendors CSS -->\r\n");
out.write(" <link rel=\"stylesheet\" href=\"");
if (_jspx_meth_c_005furl_005f11(_jspx_page_context))
return;
out.write("\" />\r\n");
out.write(" <link rel=\"stylesheet\" href=\"");
if (_jspx_meth_c_005furl_005f12(_jspx_page_context))
return;
out.write("\" />\r\n");
out.write("\r\n");
out.write(" <link rel=\"stylesheet\" href=\"");
if (_jspx_meth_c_005furl_005f13(_jspx_page_context))
return;
out.write("\"/>\r\n");
out.write(" <link rel=\"stylesheet\" href=\"");
if (_jspx_meth_c_005furl_005f14(_jspx_page_context))
return;
out.write("\" />\r\n");
out.write(" <link rel=\"stylesheet\" href=\"");
if (_jspx_meth_c_005furl_005f15(_jspx_page_context))
return;
out.write("\" />\r\n");
out.write("\r\n");
out.write("</head>\r\n");
out.write("\r\n");
} catch (java.lang.Throwable t) {
if (!(t instanceof javax.servlet.jsp.SkipPageException)){
out = _jspx_out;
if (out != null && out.getBufferSize() != 0)
try {
if (response.isCommitted()) {
out.flush();
} else {
out.clearBuffer();
}
} catch (java.io.IOException e) {}
if (_jspx_page_context != null) _jspx_page_context.handlePageException(t);
else throw new ServletException(t);
}
} finally {
_jspxFactory.releasePageContext(_jspx_page_context);
}
}
private boolean _jspx_meth_c_005furl_005f0(javax.servlet.jsp.PageContext _jspx_page_context)
throws java.lang.Throwable {
javax.servlet.jsp.PageContext pageContext = _jspx_page_context;
javax.servlet.jsp.JspWriter out = _jspx_page_context.getOut();
// c:url
org.apache.taglibs.standard.tag.rt.core.UrlTag _jspx_th_c_005furl_005f0 = (org.apache.taglibs.standard.tag.rt.core.UrlTag) _005fjspx_005ftagPool_005fc_005furl_0026_005fvalue_005fnobody.get(org.apache.taglibs.standard.tag.rt.core.UrlTag.class);
boolean _jspx_th_c_005furl_005f0_reused = false;
try {
_jspx_th_c_005furl_005f0.setPageContext(_jspx_page_context);
_jspx_th_c_005furl_005f0.setParent(null);
// /WEB-INF/jsp/include/head.jsp(9,20) name = value type = null reqTime = true required = false fragment = false deferredValue = false expectedTypeName = null deferredMethod = false methodSignature = null
_jspx_th_c_005furl_005f0.setValue("/resources/");
int _jspx_eval_c_005furl_005f0 = _jspx_th_c_005furl_005f0.doStartTag();
if (_jspx_th_c_005furl_005f0.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
return true;
}
_005fjspx_005ftagPool_005fc_005furl_0026_005fvalue_005fnobody.reuse(_jspx_th_c_005furl_005f0);
_jspx_th_c_005furl_005f0_reused = true;
} finally {
org.apache.jasper.runtime.JspRuntimeLibrary.releaseTag(_jspx_th_c_005furl_005f0, _jsp_getInstanceManager(), _jspx_th_c_005furl_005f0_reused);
}
return false;
}
private boolean _jspx_meth_c_005furl_005f1(javax.servlet.jsp.PageContext _jspx_page_context)
throws java.lang.Throwable {
javax.servlet.jsp.PageContext pageContext = _jspx_page_context;
javax.servlet.jsp.JspWriter out = _jspx_page_context.getOut();
// c:url
org.apache.taglibs.standard.tag.rt.core.UrlTag _jspx_th_c_005furl_005f1 = (org.apache.taglibs.standard.tag.rt.core.UrlTag) _005fjspx_005ftagPool_005fc_005furl_0026_005fvalue_005fnobody.get(org.apache.taglibs.standard.tag.rt.core.UrlTag.class);
boolean _jspx_th_c_005furl_005f1_reused = false;
try {
_jspx_th_c_005furl_005f1.setPageContext(_jspx_page_context);
_jspx_th_c_005furl_005f1.setParent(null);
// /WEB-INF/jsp/include/head.jsp(16,44) name = value type = null reqTime = true required = false fragment = false deferredValue = false expectedTypeName = null deferredMethod = false methodSignature = null
_jspx_th_c_005furl_005f1.setValue("/resources/image/favicon.ico");
int _jspx_eval_c_005furl_005f1 = _jspx_th_c_005furl_005f1.doStartTag();
if (_jspx_th_c_005furl_005f1.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
return true;
}
_005fjspx_005ftagPool_005fc_005furl_0026_005fvalue_005fnobody.reuse(_jspx_th_c_005furl_005f1);
_jspx_th_c_005furl_005f1_reused = true;
} finally {
org.apache.jasper.runtime.JspRuntimeLibrary.releaseTag(_jspx_th_c_005furl_005f1, _jsp_getInstanceManager(), _jspx_th_c_005furl_005f1_reused);
}
return false;
}
private boolean _jspx_meth_c_005furl_005f2(javax.servlet.jsp.PageContext _jspx_page_context)
throws java.lang.Throwable {
javax.servlet.jsp.PageContext pageContext = _jspx_page_context;
javax.servlet.jsp.JspWriter out = _jspx_page_context.getOut();
// c:url
org.apache.taglibs.standard.tag.rt.core.UrlTag _jspx_th_c_005furl_005f2 = (org.apache.taglibs.standard.tag.rt.core.UrlTag) _005fjspx_005ftagPool_005fc_005furl_0026_005fvalue_005fnobody.get(org.apache.taglibs.standard.tag.rt.core.UrlTag.class);
boolean _jspx_th_c_005furl_005f2_reused = false;
try {
_jspx_th_c_005furl_005f2.setPageContext(_jspx_page_context);
_jspx_th_c_005furl_005f2.setParent(null);
// /WEB-INF/jsp/include/head.jsp(19,30) name = value type = null reqTime = true required = false fragment = false deferredValue = false expectedTypeName = null deferredMethod = false methodSignature = null
_jspx_th_c_005furl_005f2.setValue("/resources/font/publicsans/fontface.css");
int _jspx_eval_c_005furl_005f2 = _jspx_th_c_005furl_005f2.doStartTag();
if (_jspx_th_c_005furl_005f2.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
return true;
}
_005fjspx_005ftagPool_005fc_005furl_0026_005fvalue_005fnobody.reuse(_jspx_th_c_005furl_005f2);
_jspx_th_c_005furl_005f2_reused = true;
} finally {
org.apache.jasper.runtime.JspRuntimeLibrary.releaseTag(_jspx_th_c_005furl_005f2, _jsp_getInstanceManager(), _jspx_th_c_005furl_005f2_reused);
}
return false;
}
private boolean _jspx_meth_c_005furl_005f3(javax.servlet.jsp.PageContext _jspx_page_context)
throws java.lang.Throwable {
javax.servlet.jsp.PageContext pageContext = _jspx_page_context;
javax.servlet.jsp.JspWriter out = _jspx_page_context.getOut();
// c:url
org.apache.taglibs.standard.tag.rt.core.UrlTag _jspx_th_c_005furl_005f3 = (org.apache.taglibs.standard.tag.rt.core.UrlTag) _005fjspx_005ftagPool_005fc_005furl_0026_005fvalue_005fnobody.get(org.apache.taglibs.standard.tag.rt.core.UrlTag.class);
boolean _jspx_th_c_005furl_005f3_reused = false;
try {
_jspx_th_c_005furl_005f3.setPageContext(_jspx_page_context);
_jspx_th_c_005furl_005f3.setParent(null);
// /WEB-INF/jsp/include/head.jsp(22,30) name = value type = null reqTime = true required = false fragment = false deferredValue = false expectedTypeName = null deferredMethod = false methodSignature = null
_jspx_th_c_005furl_005f3.setValue("/resources/3rd-party/sneat/fonts/boxicons.css");
int _jspx_eval_c_005furl_005f3 = _jspx_th_c_005furl_005f3.doStartTag();
if (_jspx_th_c_005furl_005f3.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
return true;
}
_005fjspx_005ftagPool_005fc_005furl_0026_005fvalue_005fnobody.reuse(_jspx_th_c_005furl_005f3);
_jspx_th_c_005furl_005f3_reused = true;
} finally {
org.apache.jasper.runtime.JspRuntimeLibrary.releaseTag(_jspx_th_c_005furl_005f3, _jsp_getInstanceManager(), _jspx_th_c_005furl_005f3_reused);
}
return false;
}
private boolean _jspx_meth_c_005furl_005f4(javax.servlet.jsp.PageContext _jspx_page_context)
throws java.lang.Throwable {
javax.servlet.jsp.PageContext pageContext = _jspx_page_context;
javax.servlet.jsp.JspWriter out = _jspx_page_context.getOut();
// c:url
org.apache.taglibs.standard.tag.rt.core.UrlTag _jspx_th_c_005furl_005f4 = (org.apache.taglibs.standard.tag.rt.core.UrlTag) _005fjspx_005ftagPool_005fc_005furl_0026_005fvalue_005fnobody.get(org.apache.taglibs.standard.tag.rt.core.UrlTag.class);
boolean _jspx_th_c_005furl_005f4_reused = false;
try {
_jspx_th_c_005furl_005f4.setPageContext(_jspx_page_context);
_jspx_th_c_005furl_005f4.setParent(null);
// /WEB-INF/jsp/include/head.jsp(23,30) name = value type = null reqTime = true required = false fragment = false deferredValue = false expectedTypeName = null deferredMethod = false methodSignature = null
_jspx_th_c_005furl_005f4.setValue("/resources/3rd-party/sneat/fonts/fontawesome.css");
int _jspx_eval_c_005furl_005f4 = _jspx_th_c_005furl_005f4.doStartTag();
if (_jspx_th_c_005furl_005f4.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
return true;
}
_005fjspx_005ftagPool_005fc_005furl_0026_005fvalue_005fnobody.reuse(_jspx_th_c_005furl_005f4);
_jspx_th_c_005furl_005f4_reused = true;
} finally {
org.apache.jasper.runtime.JspRuntimeLibrary.releaseTag(_jspx_th_c_005furl_005f4, _jsp_getInstanceManager(), _jspx_th_c_005furl_005f4_reused);
}
return false;
}
private boolean _jspx_meth_c_005furl_005f5(javax.servlet.jsp.PageContext _jspx_page_context)
throws java.lang.Throwable {
javax.servlet.jsp.PageContext pageContext = _jspx_page_context;
javax.servlet.jsp.JspWriter out = _jspx_page_context.getOut();
// c:url
org.apache.taglibs.standard.tag.rt.core.UrlTag _jspx_th_c_005furl_005f5 = (org.apache.taglibs.standard.tag.rt.core.UrlTag) _005fjspx_005ftagPool_005fc_005furl_0026_005fvalue_005fnobody.get(org.apache.taglibs.standard.tag.rt.core.UrlTag.class);
boolean _jspx_th_c_005furl_005f5_reused = false;
try {
_jspx_th_c_005furl_005f5.setPageContext(_jspx_page_context);
_jspx_th_c_005furl_005f5.setParent(null);
// /WEB-INF/jsp/include/head.jsp(24,30) name = value type = null reqTime = true required = false fragment = false deferredValue = false expectedTypeName = null deferredMethod = false methodSignature = null
_jspx_th_c_005furl_005f5.setValue("/resources/3rd-party/sneat/fonts/flag-icons.css");
int _jspx_eval_c_005furl_005f5 = _jspx_th_c_005furl_005f5.doStartTag();
if (_jspx_th_c_005furl_005f5.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
return true;
}
_005fjspx_005ftagPool_005fc_005furl_0026_005fvalue_005fnobody.reuse(_jspx_th_c_005furl_005f5);
_jspx_th_c_005furl_005f5_reused = true;
} finally {
org.apache.jasper.runtime.JspRuntimeLibrary.releaseTag(_jspx_th_c_005furl_005f5, _jsp_getInstanceManager(), _jspx_th_c_005furl_005f5_reused);
}
return false;
}
private boolean _jspx_meth_c_005furl_005f6(javax.servlet.jsp.PageContext _jspx_page_context)
throws java.lang.Throwable {
javax.servlet.jsp.PageContext pageContext = _jspx_page_context;
javax.servlet.jsp.JspWriter out = _jspx_page_context.getOut();
// c:url
org.apache.taglibs.standard.tag.rt.core.UrlTag _jspx_th_c_005furl_005f6 = (org.apache.taglibs.standard.tag.rt.core.UrlTag) _005fjspx_005ftagPool_005fc_005furl_0026_005fvalue_005fnobody.get(org.apache.taglibs.standard.tag.rt.core.UrlTag.class);
boolean _jspx_th_c_005furl_005f6_reused = false;
try {
_jspx_th_c_005furl_005f6.setPageContext(_jspx_page_context);
_jspx_th_c_005furl_005f6.setParent(null);
// /WEB-INF/jsp/include/head.jsp(25,30) name = value type = null reqTime = true required = false fragment = false deferredValue = false expectedTypeName = null deferredMethod = false methodSignature = null
_jspx_th_c_005furl_005f6.setValue("/resources/css/fims/framework/common/xit-icon.css");
int _jspx_eval_c_005furl_005f6 = _jspx_th_c_005furl_005f6.doStartTag();
if (_jspx_th_c_005furl_005f6.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
return true;
}
_005fjspx_005ftagPool_005fc_005furl_0026_005fvalue_005fnobody.reuse(_jspx_th_c_005furl_005f6);
_jspx_th_c_005furl_005f6_reused = true;
} finally {
org.apache.jasper.runtime.JspRuntimeLibrary.releaseTag(_jspx_th_c_005furl_005f6, _jsp_getInstanceManager(), _jspx_th_c_005furl_005f6_reused);
}
return false;
}
private boolean _jspx_meth_c_005furl_005f7(javax.servlet.jsp.PageContext _jspx_page_context)
throws java.lang.Throwable {
javax.servlet.jsp.PageContext pageContext = _jspx_page_context;
javax.servlet.jsp.JspWriter out = _jspx_page_context.getOut();
// c:url
org.apache.taglibs.standard.tag.rt.core.UrlTag _jspx_th_c_005furl_005f7 = (org.apache.taglibs.standard.tag.rt.core.UrlTag) _005fjspx_005ftagPool_005fc_005furl_0026_005fvalue_005fnobody.get(org.apache.taglibs.standard.tag.rt.core.UrlTag.class);
boolean _jspx_th_c_005furl_005f7_reused = false;
try {
_jspx_th_c_005furl_005f7.setPageContext(_jspx_page_context);
_jspx_th_c_005furl_005f7.setParent(null);
// /WEB-INF/jsp/include/head.jsp(27,30) name = value type = null reqTime = true required = false fragment = false deferredValue = false expectedTypeName = null deferredMethod = false methodSignature = null
_jspx_th_c_005furl_005f7.setValue("/resources/css/fims/framework/common/xit-core.css");
int _jspx_eval_c_005furl_005f7 = _jspx_th_c_005furl_005f7.doStartTag();
if (_jspx_th_c_005furl_005f7.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
return true;
}
_005fjspx_005ftagPool_005fc_005furl_0026_005fvalue_005fnobody.reuse(_jspx_th_c_005furl_005f7);
_jspx_th_c_005furl_005f7_reused = true;
} finally {
org.apache.jasper.runtime.JspRuntimeLibrary.releaseTag(_jspx_th_c_005furl_005f7, _jsp_getInstanceManager(), _jspx_th_c_005furl_005f7_reused);
}
return false;
}
private boolean _jspx_meth_c_005furl_005f8(javax.servlet.jsp.PageContext _jspx_page_context)
throws java.lang.Throwable {
javax.servlet.jsp.PageContext pageContext = _jspx_page_context;
javax.servlet.jsp.JspWriter out = _jspx_page_context.getOut();
// c:url
org.apache.taglibs.standard.tag.rt.core.UrlTag _jspx_th_c_005furl_005f8 = (org.apache.taglibs.standard.tag.rt.core.UrlTag) _005fjspx_005ftagPool_005fc_005furl_0026_005fvalue_005fnobody.get(org.apache.taglibs.standard.tag.rt.core.UrlTag.class);
boolean _jspx_th_c_005furl_005f8_reused = false;
try {
_jspx_th_c_005furl_005f8.setPageContext(_jspx_page_context);
_jspx_th_c_005furl_005f8.setParent(null);
// /WEB-INF/jsp/include/head.jsp(28,30) name = value type = null reqTime = true required = false fragment = false deferredValue = false expectedTypeName = null deferredMethod = false methodSignature = null
_jspx_th_c_005furl_005f8.setValue("/resources/3rd-party/sneat/css/theme-default.css");
int _jspx_eval_c_005furl_005f8 = _jspx_th_c_005furl_005f8.doStartTag();
if (_jspx_th_c_005furl_005f8.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
return true;
}
_005fjspx_005ftagPool_005fc_005furl_0026_005fvalue_005fnobody.reuse(_jspx_th_c_005furl_005f8);
_jspx_th_c_005furl_005f8_reused = true;
} finally {
org.apache.jasper.runtime.JspRuntimeLibrary.releaseTag(_jspx_th_c_005furl_005f8, _jsp_getInstanceManager(), _jspx_th_c_005furl_005f8_reused);
}
return false;
}
private boolean _jspx_meth_c_005furl_005f9(javax.servlet.jsp.PageContext _jspx_page_context)
throws java.lang.Throwable {
javax.servlet.jsp.PageContext pageContext = _jspx_page_context;
javax.servlet.jsp.JspWriter out = _jspx_page_context.getOut();
// c:url
org.apache.taglibs.standard.tag.rt.core.UrlTag _jspx_th_c_005furl_005f9 = (org.apache.taglibs.standard.tag.rt.core.UrlTag) _005fjspx_005ftagPool_005fc_005furl_0026_005fvalue_005fnobody.get(org.apache.taglibs.standard.tag.rt.core.UrlTag.class);
boolean _jspx_th_c_005furl_005f9_reused = false;
try {
_jspx_th_c_005furl_005f9.setPageContext(_jspx_page_context);
_jspx_th_c_005furl_005f9.setParent(null);
// /WEB-INF/jsp/include/head.jsp(29,30) name = value type = null reqTime = true required = false fragment = false deferredValue = false expectedTypeName = null deferredMethod = false methodSignature = null
_jspx_th_c_005furl_005f9.setValue("/resources/3rd-party/sneat/css/docs.css");
int _jspx_eval_c_005furl_005f9 = _jspx_th_c_005furl_005f9.doStartTag();
if (_jspx_th_c_005furl_005f9.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
return true;
}
_005fjspx_005ftagPool_005fc_005furl_0026_005fvalue_005fnobody.reuse(_jspx_th_c_005furl_005f9);
_jspx_th_c_005furl_005f9_reused = true;
} finally {
org.apache.jasper.runtime.JspRuntimeLibrary.releaseTag(_jspx_th_c_005furl_005f9, _jsp_getInstanceManager(), _jspx_th_c_005furl_005f9_reused);
}
return false;
}
private boolean _jspx_meth_c_005furl_005f10(javax.servlet.jsp.PageContext _jspx_page_context)
throws java.lang.Throwable {
javax.servlet.jsp.PageContext pageContext = _jspx_page_context;
javax.servlet.jsp.JspWriter out = _jspx_page_context.getOut();
// c:url
org.apache.taglibs.standard.tag.rt.core.UrlTag _jspx_th_c_005furl_005f10 = (org.apache.taglibs.standard.tag.rt.core.UrlTag) _005fjspx_005ftagPool_005fc_005furl_0026_005fvalue_005fnobody.get(org.apache.taglibs.standard.tag.rt.core.UrlTag.class);
boolean _jspx_th_c_005furl_005f10_reused = false;
try {
_jspx_th_c_005furl_005f10.setPageContext(_jspx_page_context);
_jspx_th_c_005furl_005f10.setParent(null);
// /WEB-INF/jsp/include/head.jsp(30,30) name = value type = null reqTime = true required = false fragment = false deferredValue = false expectedTypeName = null deferredMethod = false methodSignature = null
_jspx_th_c_005furl_005f10.setValue("/resources/css/fims/framework/common/xit-core-extend.css");
int _jspx_eval_c_005furl_005f10 = _jspx_th_c_005furl_005f10.doStartTag();
if (_jspx_th_c_005furl_005f10.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
return true;
}
_005fjspx_005ftagPool_005fc_005furl_0026_005fvalue_005fnobody.reuse(_jspx_th_c_005furl_005f10);
_jspx_th_c_005furl_005f10_reused = true;
} finally {
org.apache.jasper.runtime.JspRuntimeLibrary.releaseTag(_jspx_th_c_005furl_005f10, _jsp_getInstanceManager(), _jspx_th_c_005furl_005f10_reused);
}
return false;
}
private boolean _jspx_meth_c_005furl_005f11(javax.servlet.jsp.PageContext _jspx_page_context)
throws java.lang.Throwable {
javax.servlet.jsp.PageContext pageContext = _jspx_page_context;
javax.servlet.jsp.JspWriter out = _jspx_page_context.getOut();
// c:url
org.apache.taglibs.standard.tag.rt.core.UrlTag _jspx_th_c_005furl_005f11 = (org.apache.taglibs.standard.tag.rt.core.UrlTag) _005fjspx_005ftagPool_005fc_005furl_0026_005fvalue_005fnobody.get(org.apache.taglibs.standard.tag.rt.core.UrlTag.class);
boolean _jspx_th_c_005furl_005f11_reused = false;
try {
_jspx_th_c_005furl_005f11.setPageContext(_jspx_page_context);
_jspx_th_c_005furl_005f11.setParent(null);
// /WEB-INF/jsp/include/head.jsp(33,30) name = value type = null reqTime = true required = false fragment = false deferredValue = false expectedTypeName = null deferredMethod = false methodSignature = null
_jspx_th_c_005furl_005f11.setValue("/resources/3rd-party/sneat/libs/perfect-scrollbar/perfect-scrollbar.css");
int _jspx_eval_c_005furl_005f11 = _jspx_th_c_005furl_005f11.doStartTag();
if (_jspx_th_c_005furl_005f11.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
return true;
}
_005fjspx_005ftagPool_005fc_005furl_0026_005fvalue_005fnobody.reuse(_jspx_th_c_005furl_005f11);
_jspx_th_c_005furl_005f11_reused = true;
} finally {
org.apache.jasper.runtime.JspRuntimeLibrary.releaseTag(_jspx_th_c_005furl_005f11, _jsp_getInstanceManager(), _jspx_th_c_005furl_005f11_reused);
}
return false;
}
private boolean _jspx_meth_c_005furl_005f12(javax.servlet.jsp.PageContext _jspx_page_context)
throws java.lang.Throwable {
javax.servlet.jsp.PageContext pageContext = _jspx_page_context;
javax.servlet.jsp.JspWriter out = _jspx_page_context.getOut();
// c:url
org.apache.taglibs.standard.tag.rt.core.UrlTag _jspx_th_c_005furl_005f12 = (org.apache.taglibs.standard.tag.rt.core.UrlTag) _005fjspx_005ftagPool_005fc_005furl_0026_005fvalue_005fnobody.get(org.apache.taglibs.standard.tag.rt.core.UrlTag.class);
boolean _jspx_th_c_005furl_005f12_reused = false;
try {
_jspx_th_c_005furl_005f12.setPageContext(_jspx_page_context);
_jspx_th_c_005furl_005f12.setParent(null);
// /WEB-INF/jsp/include/head.jsp(34,30) name = value type = null reqTime = true required = false fragment = false deferredValue = false expectedTypeName = null deferredMethod = false methodSignature = null
_jspx_th_c_005furl_005f12.setValue("/resources/css/styles.css");
int _jspx_eval_c_005furl_005f12 = _jspx_th_c_005furl_005f12.doStartTag();
if (_jspx_th_c_005furl_005f12.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
return true;
}
_005fjspx_005ftagPool_005fc_005furl_0026_005fvalue_005fnobody.reuse(_jspx_th_c_005furl_005f12);
_jspx_th_c_005furl_005f12_reused = true;
} finally {
org.apache.jasper.runtime.JspRuntimeLibrary.releaseTag(_jspx_th_c_005furl_005f12, _jsp_getInstanceManager(), _jspx_th_c_005furl_005f12_reused);
}
return false;
}
private boolean _jspx_meth_c_005furl_005f13(javax.servlet.jsp.PageContext _jspx_page_context)
throws java.lang.Throwable {
javax.servlet.jsp.PageContext pageContext = _jspx_page_context;
javax.servlet.jsp.JspWriter out = _jspx_page_context.getOut();
// c:url
org.apache.taglibs.standard.tag.rt.core.UrlTag _jspx_th_c_005furl_005f13 = (org.apache.taglibs.standard.tag.rt.core.UrlTag) _005fjspx_005ftagPool_005fc_005furl_0026_005fvalue_005fnobody.get(org.apache.taglibs.standard.tag.rt.core.UrlTag.class);
boolean _jspx_th_c_005furl_005f13_reused = false;
try {
_jspx_th_c_005furl_005f13.setPageContext(_jspx_page_context);
_jspx_th_c_005furl_005f13.setParent(null);
// /WEB-INF/jsp/include/head.jsp(36,30) name = value type = null reqTime = true required = false fragment = false deferredValue = false expectedTypeName = null deferredMethod = false methodSignature = null
_jspx_th_c_005furl_005f13.setValue("/resources/css/fims/framework/common/common.css");
int _jspx_eval_c_005furl_005f13 = _jspx_th_c_005furl_005f13.doStartTag();
if (_jspx_th_c_005furl_005f13.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
return true;
}
_005fjspx_005ftagPool_005fc_005furl_0026_005fvalue_005fnobody.reuse(_jspx_th_c_005furl_005f13);
_jspx_th_c_005furl_005f13_reused = true;
} finally {
org.apache.jasper.runtime.JspRuntimeLibrary.releaseTag(_jspx_th_c_005furl_005f13, _jsp_getInstanceManager(), _jspx_th_c_005furl_005f13_reused);
}
return false;
}
private boolean _jspx_meth_c_005furl_005f14(javax.servlet.jsp.PageContext _jspx_page_context)
throws java.lang.Throwable {
javax.servlet.jsp.PageContext pageContext = _jspx_page_context;
javax.servlet.jsp.JspWriter out = _jspx_page_context.getOut();
// c:url
org.apache.taglibs.standard.tag.rt.core.UrlTag _jspx_th_c_005furl_005f14 = (org.apache.taglibs.standard.tag.rt.core.UrlTag) _005fjspx_005ftagPool_005fc_005furl_0026_005fvalue_005fnobody.get(org.apache.taglibs.standard.tag.rt.core.UrlTag.class);
boolean _jspx_th_c_005furl_005f14_reused = false;
try {
_jspx_th_c_005furl_005f14.setPageContext(_jspx_page_context);
_jspx_th_c_005furl_005f14.setParent(null);
// /WEB-INF/jsp/include/head.jsp(37,30) name = value type = null reqTime = true required = false fragment = false deferredValue = false expectedTypeName = null deferredMethod = false methodSignature = null
_jspx_th_c_005furl_005f14.setValue("/resources/lib/fims/framework/jquery-ui/1.13.2/themes/redmond/jquery-ui.css");
int _jspx_eval_c_005furl_005f14 = _jspx_th_c_005furl_005f14.doStartTag();
if (_jspx_th_c_005furl_005f14.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
return true;
}
_005fjspx_005ftagPool_005fc_005furl_0026_005fvalue_005fnobody.reuse(_jspx_th_c_005furl_005f14);
_jspx_th_c_005furl_005f14_reused = true;
} finally {
org.apache.jasper.runtime.JspRuntimeLibrary.releaseTag(_jspx_th_c_005furl_005f14, _jsp_getInstanceManager(), _jspx_th_c_005furl_005f14_reused);
}
return false;
}
private boolean _jspx_meth_c_005furl_005f15(javax.servlet.jsp.PageContext _jspx_page_context)
throws java.lang.Throwable {
javax.servlet.jsp.PageContext pageContext = _jspx_page_context;
javax.servlet.jsp.JspWriter out = _jspx_page_context.getOut();
// c:url
org.apache.taglibs.standard.tag.rt.core.UrlTag _jspx_th_c_005furl_005f15 = (org.apache.taglibs.standard.tag.rt.core.UrlTag) _005fjspx_005ftagPool_005fc_005furl_0026_005fvalue_005fnobody.get(org.apache.taglibs.standard.tag.rt.core.UrlTag.class);
boolean _jspx_th_c_005furl_005f15_reused = false;
try {
_jspx_th_c_005furl_005f15.setPageContext(_jspx_page_context);
_jspx_th_c_005furl_005f15.setParent(null);
// /WEB-INF/jsp/include/head.jsp(38,30) name = value type = null reqTime = true required = false fragment = false deferredValue = false expectedTypeName = null deferredMethod = false methodSignature = null
_jspx_th_c_005furl_005f15.setValue("/resources/lib/fims/framework/datepicker/datepicker.css");
int _jspx_eval_c_005furl_005f15 = _jspx_th_c_005furl_005f15.doStartTag();
if (_jspx_th_c_005furl_005f15.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
return true;
}
_005fjspx_005ftagPool_005fc_005furl_0026_005fvalue_005fnobody.reuse(_jspx_th_c_005furl_005f15);
_jspx_th_c_005furl_005f15_reused = true;
} finally {
org.apache.jasper.runtime.JspRuntimeLibrary.releaseTag(_jspx_th_c_005furl_005f15, _jsp_getInstanceManager(), _jspx_th_c_005furl_005f15_reused);
}
return false;
}
}

@ -0,0 +1,509 @@
/*
* Generated by the Jasper component of Apache Tomcat
* Version: Apache Tomcat/9.0.75
* Generated at: 2023-10-10 04:27:23 UTC
* Note: The last modified time of this file was set to
* the last modified time of the source file after
* generation to assist with modification tracking.
*/
package org.apache.jsp.WEB_002dINF.jsp.include;
import javax.servlet.*;
import javax.servlet.http.*;
import javax.servlet.jsp.*;
public final class top_jsp extends org.apache.jasper.runtime.HttpJspBase
implements org.apache.jasper.runtime.JspSourceDependent,
org.apache.jasper.runtime.JspSourceImports {
private static final javax.servlet.jsp.JspFactory _jspxFactory =
javax.servlet.jsp.JspFactory.getDefaultFactory();
private static java.util.Map<java.lang.String,java.lang.Long> _jspx_dependants;
static {
_jspx_dependants = new java.util.HashMap<java.lang.String,java.lang.Long>(5);
_jspx_dependants.put("/WEB-INF/jsp/include/taglib.jsp", Long.valueOf(1696469747129L));
_jspx_dependants.put("jar:file:/D:/repo/javax/servlet/jstl/1.2/jstl-1.2.jar!/META-INF/fmt.tld", Long.valueOf(1153352682000L));
_jspx_dependants.put("file:/D:/repo/javax/servlet/jstl/1.2/jstl-1.2.jar", Long.valueOf(1678766202128L));
_jspx_dependants.put("jar:file:/D:/repo/javax/servlet/jstl/1.2/jstl-1.2.jar!/META-INF/fn.tld", Long.valueOf(1153352682000L));
_jspx_dependants.put("jar:file:/D:/repo/javax/servlet/jstl/1.2/jstl-1.2.jar!/META-INF/c.tld", Long.valueOf(1153352682000L));
}
private static final java.util.Set<java.lang.String> _jspx_imports_packages;
private static final java.util.Set<java.lang.String> _jspx_imports_classes;
static {
_jspx_imports_packages = new java.util.HashSet<>();
_jspx_imports_packages.add("javax.servlet");
_jspx_imports_packages.add("javax.servlet.http");
_jspx_imports_packages.add("javax.servlet.jsp");
_jspx_imports_classes = null;
}
private org.apache.jasper.runtime.TagHandlerPool _005fjspx_005ftagPool_005fc_005furl_0026_005fvalue_005fnobody;
private org.apache.jasper.runtime.TagHandlerPool _005fjspx_005ftagPool_005fc_005fset_0026_005fvar_005fscope;
private volatile javax.el.ExpressionFactory _el_expressionfactory;
private volatile org.apache.tomcat.InstanceManager _jsp_instancemanager;
public java.util.Map<java.lang.String,java.lang.Long> getDependants() {
return _jspx_dependants;
}
public java.util.Set<java.lang.String> getPackageImports() {
return _jspx_imports_packages;
}
public java.util.Set<java.lang.String> getClassImports() {
return _jspx_imports_classes;
}
public javax.el.ExpressionFactory _jsp_getExpressionFactory() {
if (_el_expressionfactory == null) {
synchronized (this) {
if (_el_expressionfactory == null) {
_el_expressionfactory = _jspxFactory.getJspApplicationContext(getServletConfig().getServletContext()).getExpressionFactory();
}
}
}
return _el_expressionfactory;
}
public org.apache.tomcat.InstanceManager _jsp_getInstanceManager() {
if (_jsp_instancemanager == null) {
synchronized (this) {
if (_jsp_instancemanager == null) {
_jsp_instancemanager = org.apache.jasper.runtime.InstanceManagerFactory.getInstanceManager(getServletConfig());
}
}
}
return _jsp_instancemanager;
}
public void _jspInit() {
_005fjspx_005ftagPool_005fc_005furl_0026_005fvalue_005fnobody = org.apache.jasper.runtime.TagHandlerPool.getTagHandlerPool(getServletConfig());
_005fjspx_005ftagPool_005fc_005fset_0026_005fvar_005fscope = org.apache.jasper.runtime.TagHandlerPool.getTagHandlerPool(getServletConfig());
}
public void _jspDestroy() {
_005fjspx_005ftagPool_005fc_005furl_0026_005fvalue_005fnobody.release();
_005fjspx_005ftagPool_005fc_005fset_0026_005fvar_005fscope.release();
}
public void _jspService(final javax.servlet.http.HttpServletRequest request, final javax.servlet.http.HttpServletResponse response)
throws java.io.IOException, javax.servlet.ServletException {
if (!javax.servlet.DispatcherType.ERROR.equals(request.getDispatcherType())) {
final java.lang.String _jspx_method = request.getMethod();
if ("OPTIONS".equals(_jspx_method)) {
response.setHeader("Allow","GET, HEAD, POST, OPTIONS");
return;
}
if (!"GET".equals(_jspx_method) && !"POST".equals(_jspx_method) && !"HEAD".equals(_jspx_method)) {
response.setHeader("Allow","GET, HEAD, POST, OPTIONS");
response.sendError(HttpServletResponse.SC_METHOD_NOT_ALLOWED, "JSPs only permit GET, POST or HEAD. Jasper also permits OPTIONS");
return;
}
}
final javax.servlet.jsp.PageContext pageContext;
final javax.servlet.ServletContext application;
final javax.servlet.ServletConfig config;
javax.servlet.jsp.JspWriter out = null;
final java.lang.Object page = this;
javax.servlet.jsp.JspWriter _jspx_out = null;
javax.servlet.jsp.PageContext _jspx_page_context = null;
try {
response.setContentType("text/html; charset=UTF-8");
pageContext = _jspxFactory.getPageContext(this, request, response,
null, false, 8192, true);
_jspx_page_context = pageContext;
application = pageContext.getServletContext();
config = pageContext.getServletConfig();
out = pageContext.getOut();
_jspx_out = out;
out.write('\r');
out.write('\n');
out.write('\r');
out.write('\n');
out.write("\r\n");
out.write("<!-- Navbar -->\r\n");
out.write("<nav class=\"layout-navbar container-xxl navbar navbar-expand-xl navbar-detached align-items-center bg-navbar-theme\"\r\n");
out.write(" id=\"layout-navbar\" style=\"min-width:1500px;flex-wrap:nowrap;margin-top:0px;height:4.5rem\"\r\n");
out.write(">\r\n");
out.write(" <div class=\"layout-menu-toggle navbar-nav align-items-xl-center me-3 me-xl-0 d-xl-none\">\r\n");
out.write(" <a class=\"nav-item nav-link px-0 me-xl-4\" href=\"javascript:void(0)\">\r\n");
out.write(" <i class=\"bx bx-menu bx-sm\"></i>\r\n");
out.write(" </a>\r\n");
out.write(" </div>\r\n");
out.write("\r\n");
out.write(" <div class=\"navbar-nav-right d-flex align-items-center\" id=\"navbar-collapse\">\r\n");
out.write(" <!-- Search -->\r\n");
out.write(" <div class=\"navbar-nav align-items-center\">\r\n");
out.write(" <div class=\"nav-item navbar-search-wrapper mb-0\">\r\n");
out.write(" <a class=\"nav-item nav-link search-toggler px-0\" href=\"javascript:void(0);\">\r\n");
out.write(" <span id=\"pageTitle--top\" class=\"fw-bold\" style=\"font-size:x-large;\"></span>\r\n");
out.write(" </a>\r\n");
out.write(" </div>\r\n");
out.write(" </div>\r\n");
out.write(" <!-- /Search -->\r\n");
out.write(" <div class=\"ms-1 me-1\" style=\"min-width: max-content;\">\r\n");
out.write(" <select id=\"by--top\" class=\"form-select\" title=\"검색구분\">\r\n");
out.write(" <option value=\"vhrno\">차량번호</option>\r\n");
out.write(" <option value=\"rtpyrNm\">납부자명</option>\r\n");
out.write(" <option value=\"rtpyrNo\">납부자번호</option>\r\n");
out.write(" <option value=\"cvlcptAplcntNm\">신고인명</option>\r\n");
out.write(" </select>\r\n");
out.write(" <input type=\"text\" id=\"term--top\" class=\"form-control\" title=\"검색어\" />\r\n");
out.write(" <button type=\"button\" id=\"fastSearch--top\" class=\"btn btn-outline-dark bg-orange\" title=\"통합조회\">\r\n");
out.write(" <i class=\"bx bx-search\"></i>통합조회\r\n");
out.write(" </button>\r\n");
out.write(" </div>\r\n");
out.write(" <div class=\"me-1\" style=\"min-width: max-content;\">\r\n");
out.write(" <div class=\"form-check-inline custom-option custom-option-basic\" style=\"background-color: #d9dee3\">\r\n");
out.write(" <label for=\"securityMode--top\" class=\"form-check-label custom-option-content\">\r\n");
out.write(" <input type=\"checkbox\" id=\"securityMode--top\" name=\"securityMode\" class=\"form-check-input\" value=\"Y\" />\r\n");
out.write(" 보안모드\r\n");
out.write(" </label>\r\n");
out.write(" </div>\r\n");
out.write(" <button type=\"button\" class=\"btn btn-outline-dark\">\r\n");
out.write(" 종합민원관리\r\n");
out.write(" </button>\r\n");
out.write(" <button type=\"button\" class=\"btn btn-outline-dark\">\r\n");
out.write(" 일정관리\r\n");
out.write(" </button>\r\n");
out.write(" <button type=\"button\" class=\"btn btn-outline-dark\">\r\n");
out.write(" 공지사항\r\n");
out.write(" </button>\r\n");
out.write(" <button type=\"button\" id=\"btnDownloadMenual--top\" class=\"btn btn-primary\"\r\n");
out.write(" >사용자 메뉴얼\r\n");
out.write(" </button>\r\n");
out.write(" </div>\r\n");
out.write("\r\n");
out.write(" <ul class=\"navbar-nav flex-row align-items-center\">\r\n");
out.write("\r\n");
out.write(" <!-- Style Switcher -->\r\n");
out.write(" <li class=\"nav-item me-2 me-xl-0\">\r\n");
out.write(" <a class=\"nav-link style-switcher-toggle hide-arrow\" href=\"javascript:void(0);\">\r\n");
out.write(" <i class=\"bx bx-sm\"></i>\r\n");
out.write(" </a>\r\n");
out.write(" </li>\r\n");
out.write(" <!--/ Style Switcher -->\r\n");
out.write("\r\n");
out.write("\r\n");
out.write(" <!-- User -->\r\n");
out.write(" <li class=\"nav-item navbar-dropdown dropdown-user dropdown\">\r\n");
out.write(" <a href=\"javascript:void(0);\" data-bs-toggle=\"dropdown\"\r\n");
out.write(" class=\"d-flex align-items-center nav-link dropdown-toggle hide-arrow\">\r\n");
out.write(" <div class=\"avatar d-flex\">\r\n");
out.write(" <img src=\"");
if (_jspx_meth_c_005furl_005f0(_jspx_page_context))
return;
out.write("\" alt \r\n");
out.write(" class=\"w-px-40 h-auto rounded-circle\" />\r\n");
out.write(" <div class=\"d-flex\" style=\"flex-flow:column\">\r\n");
out.write(" <span class=\"fw-semibold\">");
out.write((java.lang.String) org.apache.jasper.runtime.PageContextImpl.proprietaryEvaluate("${currentUser.name}", java.lang.String.class, (javax.servlet.jsp.PageContext)_jspx_page_context, null));
out.write("</span>\r\n");
out.write(" <small class=\"text-muted\">");
out.write((java.lang.String) org.apache.jasper.runtime.PageContextImpl.proprietaryEvaluate("${currentUser.account}", java.lang.String.class, (javax.servlet.jsp.PageContext)_jspx_page_context, null));
out.write("</small>\r\n");
out.write(" </div>\r\n");
out.write(" </div>\r\n");
out.write(" </a>\r\n");
out.write(" <ul class=\"dropdown-menu dropdown-menu-end\">\r\n");
out.write(" <li>\r\n");
out.write(" <a class=\"dropdown-item\" href=\"#\">\r\n");
out.write(" <div class=\"d-flex\">\r\n");
out.write(" <div class=\"flex-shrink-0 me-3\">\r\n");
out.write(" <div class=\"avatar avatar-online\">\r\n");
out.write(" <img src=\"");
if (_jspx_meth_c_005furl_005f1(_jspx_page_context))
return;
out.write("\" alt class=\"w-px-40 h-auto rounded-circle\" />\r\n");
out.write(" </div>\r\n");
out.write(" </div>\r\n");
out.write(" <div class=\"flex-grow-1\">\r\n");
out.write(" <span class=\"fw-semibold d-block\">");
out.write((java.lang.String) org.apache.jasper.runtime.PageContextImpl.proprietaryEvaluate("${currentUser.name}", java.lang.String.class, (javax.servlet.jsp.PageContext)_jspx_page_context, null));
out.write("</span>\r\n");
out.write(" <small class=\"text-muted\">");
out.write((java.lang.String) org.apache.jasper.runtime.PageContextImpl.proprietaryEvaluate("${currentUser.account}", java.lang.String.class, (javax.servlet.jsp.PageContext)_jspx_page_context, null));
out.write("</small>\r\n");
out.write(" </div>\r\n");
out.write(" </div>\r\n");
out.write(" </a>\r\n");
out.write(" </li>\r\n");
out.write(" <li>\r\n");
out.write(" <div class=\"dropdown-divider\"></div>\r\n");
out.write(" </li>\r\n");
out.write(" <li>\r\n");
out.write(" <a class=\"dropdown-item\" href=\"#\">\r\n");
out.write(" <i class=\"bx bx-user me-2\"></i>\r\n");
out.write(" <span class=\"align-middle\">계정 정보 수정</span>\r\n");
out.write(" </a>\r\n");
out.write(" </li>\r\n");
out.write(" <li>\r\n");
out.write(" <a class=\"dropdown-item\" href=\"#\">\r\n");
out.write(" <i class=\"bx bx-cog me-2\"></i>\r\n");
out.write(" <span class=\"align-middle\">\r\n");
out.write(" 설정\r\n");
out.write(" </span>\r\n");
out.write(" </a>\r\n");
out.write(" </li>\r\n");
out.write(" <li>\r\n");
out.write(" <div class=\"d-flex align-items-center\" style=\"flex-flow:column\">\r\n");
out.write(" <span>\r\n");
out.write(" <input type='radio' id='taskSeCd1--top' name='taskSeCd' value='PVS' title=\"주정차\" />\r\n");
out.write(" <label for=\"taskSeCd1--top\">주정차</label>\r\n");
out.write(" </span>\r\n");
out.write(" <sapn>\r\n");
out.write(" <input type='radio' id='taskSeCd2--top' name='taskSeCd' value='BPV' title=\"전용차로\" />\r\n");
out.write(" <label for=\"taskSeCd2--top\">전용차로</label>\r\n");
out.write(" </sapn>\r\n");
out.write(" <sapn>\r\n");
out.write(" <input type='radio' id='taskSeCd3--top' name='taskSeCd' value='DPV' title=\"장애인\" />\r\n");
out.write(" <label for=\"taskSeCd3--top\">장애인</label>\r\n");
out.write(" </sapn>\r\n");
out.write(" <sapn>\r\n");
out.write(" <input type='radio' id='taskSeCd4--top' name='taskSeCd' value='ECA' title=\"전기차\" />\r\n");
out.write(" <label for=\"taskSeCd4--top\">전기차</label>\r\n");
out.write(" </sapn>\r\n");
out.write(" <sapn>\r\n");
out.write(" <input type='radio' id='taskSeCd5--top' name='taskSeCd' value='TPV' title=\"밤샘주차\" />\r\n");
out.write(" <label for=\"taskSeCd5--top\">밤샘주차</label>\r\n");
out.write(" </sapn>\r\n");
out.write(" <sapn>\r\n");
out.write(" <input type='radio' id='taskSeCd6--top' name='taskSeCd' value='AAA' title=\"미세먼지\" />\r\n");
out.write(" <label for=\"taskSeCd6--top\">미세먼지</label>\r\n");
out.write(" </sapn>\r\n");
out.write(" </div>\r\n");
out.write(" </li>\r\n");
out.write(" <li>\r\n");
out.write(" <div class=\"dropdown-divider\"></div>\r\n");
out.write(" </li>\r\n");
out.write(" <li>\r\n");
out.write(" <a class=\"dropdown-item\" href=\"#\" onclick=\"showHelp();\">\r\n");
out.write(" <i class=\"bx bx-support me-2\"></i>\r\n");
out.write(" <span class=\"align-middle\">Help</span>\r\n");
out.write(" </a>\r\n");
out.write(" </li>\r\n");
out.write(" <li>\r\n");
out.write(" <div class=\"dropdown-divider\"></div>\r\n");
out.write(" </li>\r\n");
out.write(" <li onclick=\"logout();\">\r\n");
out.write(" <a class=\"dropdown-item\">\r\n");
out.write(" <i class=\"bx bx-power-off me-2\"></i>\r\n");
out.write(" <span class=\"align-middle\">로그아웃</span>\r\n");
out.write(" </a>\r\n");
out.write(" </li>\r\n");
out.write(" </ul>\r\n");
out.write(" </li>\r\n");
out.write(" <!--/ User -->\r\n");
out.write(" </ul>\r\n");
out.write(" </div>\r\n");
out.write("\r\n");
out.write("</nav>\r\n");
out.write("\r\n");
if (_jspx_meth_c_005fset_005f0(_jspx_page_context))
return;
out.write("\r\n");
out.write("\r\n");
} catch (java.lang.Throwable t) {
if (!(t instanceof javax.servlet.jsp.SkipPageException)){
out = _jspx_out;
if (out != null && out.getBufferSize() != 0)
try {
if (response.isCommitted()) {
out.flush();
} else {
out.clearBuffer();
}
} catch (java.io.IOException e) {}
if (_jspx_page_context != null) _jspx_page_context.handlePageException(t);
else throw new ServletException(t);
}
} finally {
_jspxFactory.releasePageContext(_jspx_page_context);
}
}
private boolean _jspx_meth_c_005furl_005f0(javax.servlet.jsp.PageContext _jspx_page_context)
throws java.lang.Throwable {
javax.servlet.jsp.PageContext pageContext = _jspx_page_context;
javax.servlet.jsp.JspWriter out = _jspx_page_context.getOut();
// c:url
org.apache.taglibs.standard.tag.rt.core.UrlTag _jspx_th_c_005furl_005f0 = (org.apache.taglibs.standard.tag.rt.core.UrlTag) _005fjspx_005ftagPool_005fc_005furl_0026_005fvalue_005fnobody.get(org.apache.taglibs.standard.tag.rt.core.UrlTag.class);
boolean _jspx_th_c_005furl_005f0_reused = false;
try {
_jspx_th_c_005furl_005f0.setPageContext(_jspx_page_context);
_jspx_th_c_005furl_005f0.setParent(null);
// /WEB-INF/jsp/include/top.jsp(72,22) name = value type = null reqTime = true required = false fragment = false deferredValue = false expectedTypeName = null deferredMethod = false methodSignature = null
_jspx_th_c_005furl_005f0.setValue("/resources/image/user-circle-solid-24.png");
int _jspx_eval_c_005furl_005f0 = _jspx_th_c_005furl_005f0.doStartTag();
if (_jspx_th_c_005furl_005f0.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
return true;
}
_005fjspx_005ftagPool_005fc_005furl_0026_005fvalue_005fnobody.reuse(_jspx_th_c_005furl_005f0);
_jspx_th_c_005furl_005f0_reused = true;
} finally {
org.apache.jasper.runtime.JspRuntimeLibrary.releaseTag(_jspx_th_c_005furl_005f0, _jsp_getInstanceManager(), _jspx_th_c_005furl_005f0_reused);
}
return false;
}
private boolean _jspx_meth_c_005furl_005f1(javax.servlet.jsp.PageContext _jspx_page_context)
throws java.lang.Throwable {
javax.servlet.jsp.PageContext pageContext = _jspx_page_context;
javax.servlet.jsp.JspWriter out = _jspx_page_context.getOut();
// c:url
org.apache.taglibs.standard.tag.rt.core.UrlTag _jspx_th_c_005furl_005f1 = (org.apache.taglibs.standard.tag.rt.core.UrlTag) _005fjspx_005ftagPool_005fc_005furl_0026_005fvalue_005fnobody.get(org.apache.taglibs.standard.tag.rt.core.UrlTag.class);
boolean _jspx_th_c_005furl_005f1_reused = false;
try {
_jspx_th_c_005furl_005f1.setPageContext(_jspx_page_context);
_jspx_th_c_005furl_005f1.setParent(null);
// /WEB-INF/jsp/include/top.jsp(86,30) name = value type = null reqTime = true required = false fragment = false deferredValue = false expectedTypeName = null deferredMethod = false methodSignature = null
_jspx_th_c_005furl_005f1.setValue("/resources/image/user-circle-solid-24.png");
int _jspx_eval_c_005furl_005f1 = _jspx_th_c_005furl_005f1.doStartTag();
if (_jspx_th_c_005furl_005f1.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
return true;
}
_005fjspx_005ftagPool_005fc_005furl_0026_005fvalue_005fnobody.reuse(_jspx_th_c_005furl_005f1);
_jspx_th_c_005furl_005f1_reused = true;
} finally {
org.apache.jasper.runtime.JspRuntimeLibrary.releaseTag(_jspx_th_c_005furl_005f1, _jsp_getInstanceManager(), _jspx_th_c_005furl_005f1_reused);
}
return false;
}
private boolean _jspx_meth_c_005fset_005f0(javax.servlet.jsp.PageContext _jspx_page_context)
throws java.lang.Throwable {
javax.servlet.jsp.PageContext pageContext = _jspx_page_context;
javax.servlet.jsp.JspWriter out = _jspx_page_context.getOut();
// c:set
org.apache.taglibs.standard.tag.rt.core.SetTag _jspx_th_c_005fset_005f0 = (org.apache.taglibs.standard.tag.rt.core.SetTag) _005fjspx_005ftagPool_005fc_005fset_0026_005fvar_005fscope.get(org.apache.taglibs.standard.tag.rt.core.SetTag.class);
boolean _jspx_th_c_005fset_005f0_reused = false;
try {
_jspx_th_c_005fset_005f0.setPageContext(_jspx_page_context);
_jspx_th_c_005fset_005f0.setParent(null);
// /WEB-INF/jsp/include/top.jsp(167,0) name = var type = java.lang.String reqTime = false required = false fragment = false deferredValue = false expectedTypeName = null deferredMethod = false methodSignature = null
_jspx_th_c_005fset_005f0.setVar("topScript");
// /WEB-INF/jsp/include/top.jsp(167,0) name = scope type = java.lang.String reqTime = false required = false fragment = false deferredValue = false expectedTypeName = null deferredMethod = false methodSignature = null
_jspx_th_c_005fset_005f0.setScope("request");
int _jspx_eval_c_005fset_005f0 = _jspx_th_c_005fset_005f0.doStartTag();
if (_jspx_eval_c_005fset_005f0 != javax.servlet.jsp.tagext.Tag.SKIP_BODY) {
if (_jspx_eval_c_005fset_005f0 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
out = org.apache.jasper.runtime.JspRuntimeLibrary.startBufferedBody(_jspx_page_context, _jspx_th_c_005fset_005f0);
}
do {
out.write("\r\n");
out.write("function showHelp(){\r\n");
out.write(" dialog.alert({\r\n");
out.write(" content: '070-4490-74XX',\r\n");
out.write(" timeout: 0\r\n");
out.write(" });\r\n");
out.write("}\r\n");
out.write("\r\n");
out.write("/*\r\n");
out.write(" * 보안모드 토글 처리\r\n");
out.write(" */\r\n");
out.write("function fn_securityModeToggle(flag, elementId){\r\n");
out.write(" \r\n");
out.write(" var executionArea;\r\n");
out.write(" if(elementId){\r\n");
out.write(" executionArea = $(\"#\"+elementId);\r\n");
out.write(" } else {\r\n");
out.write(" executionArea = $(document);\r\n");
out.write(" }\r\n");
out.write("\r\n");
out.write(" var targets = executionArea.find(\"input.privacy\");\r\n");
out.write(" for(let i=0; i< targets.length; i++){\r\n");
out.write(" let originId = targets[i].id;\r\n");
out.write(" let originValue= targets[i].value;\r\n");
out.write(" let maskingValue = originValue.replace(/[0-9a-zA-Z]/g, \"*\");\r\n");
out.write(" document.getElementById(\"mask-\"+originId).value = maskingValue;\r\n");
out.write(" }\r\n");
out.write(" \r\n");
out.write(" if(flag){ //개인정보 숨김\r\n");
out.write("\r\n");
out.write(" //입력상자\r\n");
out.write(" $(\"input.privacy\").attr(\"hidden\",\"hidden\");\r\n");
out.write(" $(\"input.privacy-mask\").removeAttr(\"hidden\");\r\n");
out.write("\r\n");
out.write(" //그리드\r\n");
out.write(" $(\"th.privacy\").attr(\"hidden\",\"hidden\");\r\n");
out.write(" $(\"td.privacy\").attr(\"hidden\",\"hidden\");\r\n");
out.write(" $(\"th.privacy-mask\").removeAttr(\"hidden\");\r\n");
out.write(" $(\"td.privacy-mask\").removeAttr(\"hidden\");\r\n");
out.write("\r\n");
out.write(" } else { //개인정보 표시\r\n");
out.write("\r\n");
out.write(" //입력상자\r\n");
out.write(" $(\"input.privacy\").removeAttr(\"hidden\");\r\n");
out.write(" $(\"input.privacy-mask\").attr(\"hidden\",\"hidden\");\r\n");
out.write("\r\n");
out.write(" $(\"th.privacy\").removeAttr(\"hidden\");\r\n");
out.write(" $(\"td.privacy\").removeAttr(\"hidden\");\r\n");
out.write(" $(\"th.privacy-mask\").attr(\"hidden\",\"hidden\");\r\n");
out.write(" $(\"td.privacy-mask\").attr(\"hidden\",\"hidden\");\r\n");
out.write("\r\n");
out.write(" }\r\n");
out.write("\r\n");
out.write("}\r\n");
out.write("\r\n");
out.write("/*--------------------- 사용자 메뉴얼 클릭 이벤트 ---------------------*/\r\n");
out.write("$(\"#btnDownloadMenual--top\").on( \"click\", function() {\r\n");
out.write("\r\n");
out.write(" ajax.get({\r\n");
out.write(" url : wctx.url(\"/file/downloadMenual.do\"),\r\n");
out.write(" data : { },\r\n");
out.write(" xhrFields:{ responseType: 'blob' },\r\n");
out.write(" success : (resp) => {\r\n");
out.write(" var fileName = \"메뉴얼.pptx\";\r\n");
out.write(" \r\n");
out.write(" var URL = window.URL || window.webkitURL;\r\n");
out.write(" var downloadUrl = URL.createObjectURL(resp);\r\n");
out.write(" \r\n");
out.write(" var a = document.createElement(\"a\");\r\n");
out.write(" a.href = downloadUrl;\r\n");
out.write(" a.download = fileName;\r\n");
out.write(" document.body.appendChild(a);\r\n");
out.write(" a.click();\r\n");
out.write(" document.body.removeChild(a);\r\n");
out.write(" }\r\n");
out.write(" });\r\n");
out.write(" \r\n");
out.write("});\r\n");
out.write("\r\n");
out.write("/*--------------------- 보안모드 체크박스 클릭 이벤트 ---------------------*/\r\n");
out.write("$(\"#securityMode--top\").on( \"click\", function() {\r\n");
out.write(" if($(\"#securityMode--top\").is(\":checked\")){\r\n");
out.write(" fn_securityModeToggle(true);\r\n");
out.write(" } else {\r\n");
out.write(" fn_securityModeToggle(false);\r\n");
out.write(" }\r\n");
out.write("});\r\n");
int evalDoAfterBody = _jspx_th_c_005fset_005f0.doAfterBody();
if (evalDoAfterBody != javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_AGAIN)
break;
} while (true);
if (_jspx_eval_c_005fset_005f0 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
out = _jspx_page_context.popBody();
}
}
if (_jspx_th_c_005fset_005f0.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
return true;
}
_005fjspx_005ftagPool_005fc_005fset_0026_005fvar_005fscope.reuse(_jspx_th_c_005fset_005f0);
_jspx_th_c_005fset_005f0_reused = true;
} finally {
org.apache.jasper.runtime.JspRuntimeLibrary.releaseTag(_jspx_th_c_005fset_005f0, _jsp_getInstanceManager(), _jspx_th_c_005fset_005f0_reused);
}
return false;
}
}

@ -0,0 +1,252 @@
/*
* Generated by the Jasper component of Apache Tomcat
* Version: Apache Tomcat/9.0.75
* Generated at: 2023-10-10 04:27:23 UTC
* Note: The last modified time of this file was set to
* the last modified time of the source file after
* generation to assist with modification tracking.
*/
package org.apache.jsp.WEB_002dINF.jsp.include;
import javax.servlet.*;
import javax.servlet.http.*;
import javax.servlet.jsp.*;
public final class userMenus_jsp extends org.apache.jasper.runtime.HttpJspBase
implements org.apache.jasper.runtime.JspSourceDependent,
org.apache.jasper.runtime.JspSourceImports {
private static final javax.servlet.jsp.JspFactory _jspxFactory =
javax.servlet.jsp.JspFactory.getDefaultFactory();
private static java.util.Map<java.lang.String,java.lang.Long> _jspx_dependants;
static {
_jspx_dependants = new java.util.HashMap<java.lang.String,java.lang.Long>(5);
_jspx_dependants.put("/WEB-INF/jsp/include/taglib.jsp", Long.valueOf(1696469747129L));
_jspx_dependants.put("jar:file:/D:/repo/javax/servlet/jstl/1.2/jstl-1.2.jar!/META-INF/fmt.tld", Long.valueOf(1153352682000L));
_jspx_dependants.put("file:/D:/repo/javax/servlet/jstl/1.2/jstl-1.2.jar", Long.valueOf(1678766202128L));
_jspx_dependants.put("jar:file:/D:/repo/javax/servlet/jstl/1.2/jstl-1.2.jar!/META-INF/fn.tld", Long.valueOf(1153352682000L));
_jspx_dependants.put("jar:file:/D:/repo/javax/servlet/jstl/1.2/jstl-1.2.jar!/META-INF/c.tld", Long.valueOf(1153352682000L));
}
private static final java.util.Set<java.lang.String> _jspx_imports_packages;
private static final java.util.Set<java.lang.String> _jspx_imports_classes;
static {
_jspx_imports_packages = new java.util.HashSet<>();
_jspx_imports_packages.add("javax.servlet");
_jspx_imports_packages.add("javax.servlet.http");
_jspx_imports_packages.add("javax.servlet.jsp");
_jspx_imports_classes = null;
}
private org.apache.jasper.runtime.TagHandlerPool _005fjspx_005ftagPool_005fc_005furl_0026_005fvalue_005fnobody;
private org.apache.jasper.runtime.TagHandlerPool _005fjspx_005ftagPool_005fc_005fset_0026_005fvar_005fscope;
private volatile javax.el.ExpressionFactory _el_expressionfactory;
private volatile org.apache.tomcat.InstanceManager _jsp_instancemanager;
public java.util.Map<java.lang.String,java.lang.Long> getDependants() {
return _jspx_dependants;
}
public java.util.Set<java.lang.String> getPackageImports() {
return _jspx_imports_packages;
}
public java.util.Set<java.lang.String> getClassImports() {
return _jspx_imports_classes;
}
public javax.el.ExpressionFactory _jsp_getExpressionFactory() {
if (_el_expressionfactory == null) {
synchronized (this) {
if (_el_expressionfactory == null) {
_el_expressionfactory = _jspxFactory.getJspApplicationContext(getServletConfig().getServletContext()).getExpressionFactory();
}
}
}
return _el_expressionfactory;
}
public org.apache.tomcat.InstanceManager _jsp_getInstanceManager() {
if (_jsp_instancemanager == null) {
synchronized (this) {
if (_jsp_instancemanager == null) {
_jsp_instancemanager = org.apache.jasper.runtime.InstanceManagerFactory.getInstanceManager(getServletConfig());
}
}
}
return _jsp_instancemanager;
}
public void _jspInit() {
_005fjspx_005ftagPool_005fc_005furl_0026_005fvalue_005fnobody = org.apache.jasper.runtime.TagHandlerPool.getTagHandlerPool(getServletConfig());
_005fjspx_005ftagPool_005fc_005fset_0026_005fvar_005fscope = org.apache.jasper.runtime.TagHandlerPool.getTagHandlerPool(getServletConfig());
}
public void _jspDestroy() {
_005fjspx_005ftagPool_005fc_005furl_0026_005fvalue_005fnobody.release();
_005fjspx_005ftagPool_005fc_005fset_0026_005fvar_005fscope.release();
}
public void _jspService(final javax.servlet.http.HttpServletRequest request, final javax.servlet.http.HttpServletResponse response)
throws java.io.IOException, javax.servlet.ServletException {
if (!javax.servlet.DispatcherType.ERROR.equals(request.getDispatcherType())) {
final java.lang.String _jspx_method = request.getMethod();
if ("OPTIONS".equals(_jspx_method)) {
response.setHeader("Allow","GET, HEAD, POST, OPTIONS");
return;
}
if (!"GET".equals(_jspx_method) && !"POST".equals(_jspx_method) && !"HEAD".equals(_jspx_method)) {
response.setHeader("Allow","GET, HEAD, POST, OPTIONS");
response.sendError(HttpServletResponse.SC_METHOD_NOT_ALLOWED, "JSPs only permit GET, POST or HEAD. Jasper also permits OPTIONS");
return;
}
}
final javax.servlet.jsp.PageContext pageContext;
final javax.servlet.ServletContext application;
final javax.servlet.ServletConfig config;
javax.servlet.jsp.JspWriter out = null;
final java.lang.Object page = this;
javax.servlet.jsp.JspWriter _jspx_out = null;
javax.servlet.jsp.PageContext _jspx_page_context = null;
try {
response.setContentType("text/html; charset=UTF-8");
pageContext = _jspxFactory.getPageContext(this, request, response,
null, false, 8192, true);
_jspx_page_context = pageContext;
application = pageContext.getServletContext();
config = pageContext.getServletConfig();
out = pageContext.getOut();
_jspx_out = out;
out.write('\r');
out.write('\n');
out.write('\r');
out.write('\n');
out.write("\r\n");
out.write("<!-- Menu -->\r\n");
out.write("<aside id=\"layout-menu\" class=\"layout-menu menu-vertical menu bg-menu-theme\">\r\n");
out.write(" <div class=\"app-brand demo\">\r\n");
out.write(" <a href=\"javascript:wctx.home();\" class=\"app-brand-link\">\r\n");
out.write(" <span class=\"app-brand-logo demo\">\r\n");
out.write(" <img src=\"");
if (_jspx_meth_c_005furl_005f0(_jspx_page_context))
return;
out.write("resources/image/fims/framework/login/mainLogo_01.png\" width=\"36px\" height=\"36px\" alt=\"logo\" />\r\n");
out.write(" </span>\r\n");
out.write(" <span class=\"app-brand-text demo menu-text fw-bolder ms-2\">과태료통합관리시스템</span>\r\n");
out.write(" </a>\r\n");
out.write(" <a href=\"javascript:void(0);\" class=\"layout-menu-toggle menu-link text-large ms-auto\">\r\n");
out.write(" <i class=\"bx bx-chevron-left bx-sm align-middle\"></i>\r\n");
out.write(" </a>\r\n");
out.write(" </div>\r\n");
out.write(" <div class=\"menu-inner-shadow\"></div>\r\n");
out.write(" <ul id=\"menus\" class=\"menu-inner py-1\">\r\n");
out.write(" \r\n");
out.write(" </ul>\r\n");
out.write("</aside>\r\n");
out.write("<!-- / Menu -->\r\n");
if (_jspx_meth_c_005fset_005f0(_jspx_page_context))
return;
} catch (java.lang.Throwable t) {
if (!(t instanceof javax.servlet.jsp.SkipPageException)){
out = _jspx_out;
if (out != null && out.getBufferSize() != 0)
try {
if (response.isCommitted()) {
out.flush();
} else {
out.clearBuffer();
}
} catch (java.io.IOException e) {}
if (_jspx_page_context != null) _jspx_page_context.handlePageException(t);
else throw new ServletException(t);
}
} finally {
_jspxFactory.releasePageContext(_jspx_page_context);
}
}
private boolean _jspx_meth_c_005furl_005f0(javax.servlet.jsp.PageContext _jspx_page_context)
throws java.lang.Throwable {
javax.servlet.jsp.PageContext pageContext = _jspx_page_context;
javax.servlet.jsp.JspWriter out = _jspx_page_context.getOut();
// c:url
org.apache.taglibs.standard.tag.rt.core.UrlTag _jspx_th_c_005furl_005f0 = (org.apache.taglibs.standard.tag.rt.core.UrlTag) _005fjspx_005ftagPool_005fc_005furl_0026_005fvalue_005fnobody.get(org.apache.taglibs.standard.tag.rt.core.UrlTag.class);
boolean _jspx_th_c_005furl_005f0_reused = false;
try {
_jspx_th_c_005furl_005f0.setPageContext(_jspx_page_context);
_jspx_th_c_005furl_005f0.setParent(null);
// /WEB-INF/jsp/include/userMenus.jsp(8,19) name = value type = null reqTime = true required = false fragment = false deferredValue = false expectedTypeName = null deferredMethod = false methodSignature = null
_jspx_th_c_005furl_005f0.setValue("/");
int _jspx_eval_c_005furl_005f0 = _jspx_th_c_005furl_005f0.doStartTag();
if (_jspx_th_c_005furl_005f0.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
return true;
}
_005fjspx_005ftagPool_005fc_005furl_0026_005fvalue_005fnobody.reuse(_jspx_th_c_005furl_005f0);
_jspx_th_c_005furl_005f0_reused = true;
} finally {
org.apache.jasper.runtime.JspRuntimeLibrary.releaseTag(_jspx_th_c_005furl_005f0, _jsp_getInstanceManager(), _jspx_th_c_005furl_005f0_reused);
}
return false;
}
private boolean _jspx_meth_c_005fset_005f0(javax.servlet.jsp.PageContext _jspx_page_context)
throws java.lang.Throwable {
javax.servlet.jsp.PageContext pageContext = _jspx_page_context;
javax.servlet.jsp.JspWriter out = _jspx_page_context.getOut();
// c:set
org.apache.taglibs.standard.tag.rt.core.SetTag _jspx_th_c_005fset_005f0 = (org.apache.taglibs.standard.tag.rt.core.SetTag) _005fjspx_005ftagPool_005fc_005fset_0026_005fvar_005fscope.get(org.apache.taglibs.standard.tag.rt.core.SetTag.class);
boolean _jspx_th_c_005fset_005f0_reused = false;
try {
_jspx_th_c_005fset_005f0.setPageContext(_jspx_page_context);
_jspx_th_c_005fset_005f0.setParent(null);
// /WEB-INF/jsp/include/userMenus.jsp(22,0) name = var type = java.lang.String reqTime = false required = false fragment = false deferredValue = false expectedTypeName = null deferredMethod = false methodSignature = null
_jspx_th_c_005fset_005f0.setVar("userMenus");
// /WEB-INF/jsp/include/userMenus.jsp(22,0) name = scope type = java.lang.String reqTime = false required = false fragment = false deferredValue = false expectedTypeName = null deferredMethod = false methodSignature = null
_jspx_th_c_005fset_005f0.setScope("request");
int _jspx_eval_c_005fset_005f0 = _jspx_th_c_005fset_005f0.doStartTag();
if (_jspx_eval_c_005fset_005f0 != javax.servlet.jsp.tagext.Tag.SKIP_BODY) {
if (_jspx_eval_c_005fset_005f0 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
out = org.apache.jasper.runtime.JspRuntimeLibrary.startBufferedBody(_jspx_page_context, _jspx_th_c_005fset_005f0);
}
do {
out.write("\r\n");
out.write("\r\n");
out.write("let userMenus = ");
out.write((java.lang.String) org.apache.jasper.runtime.PageContextImpl.proprietaryEvaluate("${userMenus}", java.lang.String.class, (javax.servlet.jsp.PageContext)_jspx_page_context, null));
out.write(";\r\n");
out.write("\r\n");
out.write("function setUserMenus(menus) {\r\n");
out.write(" let menuSupport = new FimsMenuSupport(\"#layout-menu\").setMenuInfo(menus).setActive(wctx.current());\r\n");
out.write(" let currentMenu = menuSupport.getMenu(wctx.current());\r\n");
out.write("}\r\n");
out.write("\r\n");
out.write("setUserMenus(userMenus);\r\n");
int evalDoAfterBody = _jspx_th_c_005fset_005f0.doAfterBody();
if (evalDoAfterBody != javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_AGAIN)
break;
} while (true);
if (_jspx_eval_c_005fset_005f0 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
out = _jspx_page_context.popBody();
}
}
if (_jspx_th_c_005fset_005f0.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
return true;
}
_005fjspx_005ftagPool_005fc_005fset_0026_005fvar_005fscope.reuse(_jspx_th_c_005fset_005f0);
_jspx_th_c_005fset_005f0_reused = true;
} finally {
org.apache.jasper.runtime.JspRuntimeLibrary.releaseTag(_jspx_th_c_005fset_005f0, _jsp_getInstanceManager(), _jspx_th_c_005fset_005f0_reused);
}
return false;
}
}

@ -0,0 +1,308 @@
/*
* Generated by the Jasper component of Apache Tomcat
* Version: Apache Tomcat/9.0.75
* Generated at: 2023-10-10 04:27:22 UTC
* Note: The last modified time of this file was set to
* the last modified time of the source file after
* generation to assist with modification tracking.
*/
package org.apache.jsp.WEB_002dINF.jsp;
import javax.servlet.*;
import javax.servlet.http.*;
import javax.servlet.jsp.*;
public final class index_jsp extends org.apache.jasper.runtime.HttpJspBase
implements org.apache.jasper.runtime.JspSourceDependent,
org.apache.jasper.runtime.JspSourceImports {
private static final javax.servlet.jsp.JspFactory _jspxFactory =
javax.servlet.jsp.JspFactory.getDefaultFactory();
private static java.util.Map<java.lang.String,java.lang.Long> _jspx_dependants;
static {
_jspx_dependants = new java.util.HashMap<java.lang.String,java.lang.Long>(5);
_jspx_dependants.put("/WEB-INF/jsp/include/taglib.jsp", Long.valueOf(1696469747129L));
_jspx_dependants.put("jar:file:/D:/repo/javax/servlet/jstl/1.2/jstl-1.2.jar!/META-INF/fmt.tld", Long.valueOf(1153352682000L));
_jspx_dependants.put("file:/D:/repo/javax/servlet/jstl/1.2/jstl-1.2.jar", Long.valueOf(1678766202128L));
_jspx_dependants.put("jar:file:/D:/repo/javax/servlet/jstl/1.2/jstl-1.2.jar!/META-INF/fn.tld", Long.valueOf(1153352682000L));
_jspx_dependants.put("jar:file:/D:/repo/javax/servlet/jstl/1.2/jstl-1.2.jar!/META-INF/c.tld", Long.valueOf(1153352682000L));
}
private static final java.util.Set<java.lang.String> _jspx_imports_packages;
private static final java.util.Set<java.lang.String> _jspx_imports_classes;
static {
_jspx_imports_packages = new java.util.HashSet<>();
_jspx_imports_packages.add("javax.servlet");
_jspx_imports_packages.add("javax.servlet.http");
_jspx_imports_packages.add("javax.servlet.jsp");
_jspx_imports_classes = null;
}
private org.apache.jasper.runtime.TagHandlerPool _005fjspx_005ftagPool_005fc_005fset_0026_005fvar;
private volatile javax.el.ExpressionFactory _el_expressionfactory;
private volatile org.apache.tomcat.InstanceManager _jsp_instancemanager;
public java.util.Map<java.lang.String,java.lang.Long> getDependants() {
return _jspx_dependants;
}
public java.util.Set<java.lang.String> getPackageImports() {
return _jspx_imports_packages;
}
public java.util.Set<java.lang.String> getClassImports() {
return _jspx_imports_classes;
}
public javax.el.ExpressionFactory _jsp_getExpressionFactory() {
if (_el_expressionfactory == null) {
synchronized (this) {
if (_el_expressionfactory == null) {
_el_expressionfactory = _jspxFactory.getJspApplicationContext(getServletConfig().getServletContext()).getExpressionFactory();
}
}
}
return _el_expressionfactory;
}
public org.apache.tomcat.InstanceManager _jsp_getInstanceManager() {
if (_jsp_instancemanager == null) {
synchronized (this) {
if (_jsp_instancemanager == null) {
_jsp_instancemanager = org.apache.jasper.runtime.InstanceManagerFactory.getInstanceManager(getServletConfig());
}
}
}
return _jsp_instancemanager;
}
public void _jspInit() {
_005fjspx_005ftagPool_005fc_005fset_0026_005fvar = org.apache.jasper.runtime.TagHandlerPool.getTagHandlerPool(getServletConfig());
}
public void _jspDestroy() {
_005fjspx_005ftagPool_005fc_005fset_0026_005fvar.release();
}
public void _jspService(final javax.servlet.http.HttpServletRequest request, final javax.servlet.http.HttpServletResponse response)
throws java.io.IOException, javax.servlet.ServletException {
if (!javax.servlet.DispatcherType.ERROR.equals(request.getDispatcherType())) {
final java.lang.String _jspx_method = request.getMethod();
if ("OPTIONS".equals(_jspx_method)) {
response.setHeader("Allow","GET, HEAD, POST, OPTIONS");
return;
}
if (!"GET".equals(_jspx_method) && !"POST".equals(_jspx_method) && !"HEAD".equals(_jspx_method)) {
response.setHeader("Allow","GET, HEAD, POST, OPTIONS");
response.sendError(HttpServletResponse.SC_METHOD_NOT_ALLOWED, "JSPs only permit GET, POST or HEAD. Jasper also permits OPTIONS");
return;
}
}
final javax.servlet.jsp.PageContext pageContext;
final javax.servlet.ServletContext application;
final javax.servlet.ServletConfig config;
javax.servlet.jsp.JspWriter out = null;
final java.lang.Object page = this;
javax.servlet.jsp.JspWriter _jspx_out = null;
javax.servlet.jsp.PageContext _jspx_page_context = null;
try {
response.setContentType("text/html; charset=UTF-8");
pageContext = _jspxFactory.getPageContext(this, request, response,
null, false, 8192, true);
_jspx_page_context = pageContext;
application = pageContext.getServletContext();
config = pageContext.getServletConfig();
out = pageContext.getOut();
_jspx_out = out;
out.write('\r');
out.write('\n');
out.write('\r');
out.write('\n');
out.write('\r');
out.write('\n');
org.apache.jasper.runtime.JspRuntimeLibrary.include(request, response, "/WEB-INF/jsp/include/head.jsp", out, false);
out.write("\r\n");
out.write("<body>\r\n");
out.write(" <div class=\"layout-wrapper layout-content-navbar\">\r\n");
out.write(" <div class=\"layout-container\">\r\n");
out.write(" ");
org.apache.jasper.runtime.JspRuntimeLibrary.include(request, response, "/WEB-INF/jsp/include/userMenus.jsp", out, false);
out.write("\r\n");
out.write(" <div class=\"layout-page\">\r\n");
out.write(" ");
org.apache.jasper.runtime.JspRuntimeLibrary.include(request, response, "/WEB-INF/jsp/include/top.jsp", out, false);
out.write("\r\n");
out.write("\r\n");
out.write(" <div id=\"tabsForInnerPage\" class=\"nav-align-top mt-2\">\r\n");
out.write(" <ul class=\"nav nav-tabs nav-tabs-ifr\">\r\n");
out.write(" <li id=\"li-dashboard\" class=\"nav-item\" role=\"presentation\">\r\n");
out.write(" <button type=\"button\" data-bs-toggle=\"tab\" data-bs-target=\"#tab-dashboard\"\r\n");
out.write(" class=\"nav-link nav-link-closeable active\" aria-selected=\"true\" role=\"tab\">\r\n");
out.write(" 대시보드\r\n");
out.write(" </button>\r\n");
out.write(" </li>\r\n");
out.write(" </ul>\r\n");
out.write(" </div>\r\n");
out.write(" <div id=\"innerPageTabContents\" class=\"tab-content\">\r\n");
out.write(" <div id=\"tab-dashboard\" class=\"tab-pane active show\" role=\"tabpanel\">\r\n");
out.write(" <div id=\"divdashboard\" style=\"max-height: 800px;overflow-y:auto;\">\r\n");
out.write(" <div class=\"content-wrapper\">\r\n");
out.write(" <div class=\"container-xxl flex-grow-1 container-p-y\" \r\n");
out.write(" style=\"display: flex;flex-flow: column;align-items: center;\">\r\n");
out.write(" ");
org.apache.jasper.runtime.JspRuntimeLibrary.include(request, response, "/WEB-INF/jsp/include/dashboard.jsp", out, false);
out.write("\r\n");
out.write(" </div>\r\n");
out.write(" </div>\r\n");
out.write(" </div>\r\n");
out.write(" </div>\r\n");
out.write(" </div>\r\n");
out.write(" </div>\r\n");
out.write(" </div>\r\n");
out.write(" </div>\r\n");
out.write("\r\n");
out.write(" ");
org.apache.jasper.runtime.JspRuntimeLibrary.include(request, response, "/WEB-INF/jsp/include/tail.jsp", out, false);
out.write("\r\n");
out.write(" \r\n");
out.write(" ");
if (_jspx_meth_c_005fset_005f0(_jspx_page_context))
return;
out.write("\r\n");
out.write(" \r\n");
out.write(" <script>\r\n");
out.write(" const FETCH_XXS = 10;\r\n");
out.write(" const FETCH_XS = 30;\r\n");
out.write(" const FETCH_SM = 50;\r\n");
out.write(" const FETCH_MD = 100;\r\n");
out.write(" const FETCH_LG = 300;\r\n");
out.write(" const FETCH_XL = 500;\r\n");
out.write(" const FETCH_XXL = 1000;\r\n");
out.write(" \r\n");
out.write(" var pageObject = {};\r\n");
out.write(" pageObject.childReq = [];\r\n");
out.write(" pageObject.parentRes = [];\r\n");
out.write(" \r\n");
out.write(" function getBrowserName() {\r\n");
out.write(" var agent = navigator.userAgent.toUpperCase();\r\n");
out.write(" if (agent.indexOf('TRIDENT') >= 0) {\r\n");
out.write(" return 'IE';\r\n");
out.write(" } else if (agent.indexOf('FIREFOX') >= 0) {\r\n");
out.write(" return 'FIREFOX';\r\n");
out.write(" } else if (agent.indexOf('EDG') >= 0) {\r\n");
out.write(" return 'EDGE';\r\n");
out.write(" } else if (agent.indexOf('CHROME') >= 0) {\r\n");
out.write(" return 'CHROME';\r\n");
out.write(" } else if (agent.indexOf('SAFARI') >= 0) {\r\n");
out.write(" return 'SAFARI';\r\n");
out.write(" } else {\r\n");
out.write(" return '';\r\n");
out.write(" }\r\n");
out.write(" }\r\n");
out.write(" const BROWSER_NAME = getBrowserName();\r\n");
out.write(" var VERTICAL_SCROLL_HEIGHT = 14;\r\n");
out.write(" switch(BROWSER_NAME){\r\n");
out.write(" case \"EDGE\" :\r\n");
out.write(" VERTICAL_SCROLL_HEIGHT = 14;\r\n");
out.write(" break;\r\n");
out.write(" case \"FIREFOX\" :\r\n");
out.write(" VERTICAL_SCROLL_HEIGHT = 15;\r\n");
out.write(" break;\r\n");
out.write(" case \"CHROME\" :\r\n");
out.write(" VERTICAL_SCROLL_HEIGHT = 15;\r\n");
out.write(" break; \r\n");
out.write(" }\r\n");
out.write(" \r\n");
out.write(" ");
out.write((java.lang.String) org.apache.jasper.runtime.PageContextImpl.proprietaryEvaluate("${functions}", java.lang.String.class, (javax.servlet.jsp.PageContext)_jspx_page_context, null));
out.write("\r\n");
out.write("\r\n");
out.write(" ");
out.write((java.lang.String) org.apache.jasper.runtime.PageContextImpl.proprietaryEvaluate("${topScript}", java.lang.String.class, (javax.servlet.jsp.PageContext)_jspx_page_context, null));
out.write("\r\n");
out.write(" \r\n");
out.write(" ");
out.write((java.lang.String) org.apache.jasper.runtime.PageContextImpl.proprietaryEvaluate("${userMenus}", java.lang.String.class, (javax.servlet.jsp.PageContext)_jspx_page_context, null));
out.write("\r\n");
out.write("\r\n");
out.write(" ");
out.write((java.lang.String) org.apache.jasper.runtime.PageContextImpl.proprietaryEvaluate("${dashboardScript}", java.lang.String.class, (javax.servlet.jsp.PageContext)_jspx_page_context, null));
out.write("\r\n");
out.write(" \r\n");
out.write(" $(function(){\r\n");
out.write(" ");
out.write((java.lang.String) org.apache.jasper.runtime.PageContextImpl.proprietaryEvaluate("${onload}", java.lang.String.class, (javax.servlet.jsp.PageContext)_jspx_page_context, null));
out.write("\r\n");
out.write(" });\r\n");
out.write(" </script>\r\n");
out.write("</body>\r\n");
out.write("</html>");
} catch (java.lang.Throwable t) {
if (!(t instanceof javax.servlet.jsp.SkipPageException)){
out = _jspx_out;
if (out != null && out.getBufferSize() != 0)
try {
if (response.isCommitted()) {
out.flush();
} else {
out.clearBuffer();
}
} catch (java.io.IOException e) {}
if (_jspx_page_context != null) _jspx_page_context.handlePageException(t);
else throw new ServletException(t);
}
} finally {
_jspxFactory.releasePageContext(_jspx_page_context);
}
}
private boolean _jspx_meth_c_005fset_005f0(javax.servlet.jsp.PageContext _jspx_page_context)
throws java.lang.Throwable {
javax.servlet.jsp.PageContext pageContext = _jspx_page_context;
javax.servlet.jsp.JspWriter out = _jspx_page_context.getOut();
// c:set
org.apache.taglibs.standard.tag.rt.core.SetTag _jspx_th_c_005fset_005f0 = (org.apache.taglibs.standard.tag.rt.core.SetTag) _005fjspx_005ftagPool_005fc_005fset_0026_005fvar.get(org.apache.taglibs.standard.tag.rt.core.SetTag.class);
boolean _jspx_th_c_005fset_005f0_reused = false;
try {
_jspx_th_c_005fset_005f0.setPageContext(_jspx_page_context);
_jspx_th_c_005fset_005f0.setParent(null);
// /WEB-INF/jsp/index.jsp(39,4) name = var type = java.lang.String reqTime = false required = false fragment = false deferredValue = false expectedTypeName = null deferredMethod = false methodSignature = null
_jspx_th_c_005fset_005f0.setVar("onload");
int _jspx_eval_c_005fset_005f0 = _jspx_th_c_005fset_005f0.doStartTag();
if (_jspx_eval_c_005fset_005f0 != javax.servlet.jsp.tagext.Tag.SKIP_BODY) {
if (_jspx_eval_c_005fset_005f0 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
out = org.apache.jasper.runtime.JspRuntimeLibrary.startBufferedBody(_jspx_page_context, _jspx_th_c_005fset_005f0);
}
do {
out.write("\r\n");
out.write(" $(\"#layout-navbar input[name='taskSeCd'][value='DPV']\").prop(\"checked\",true);\r\n");
out.write(" ");
int evalDoAfterBody = _jspx_th_c_005fset_005f0.doAfterBody();
if (evalDoAfterBody != javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_AGAIN)
break;
} while (true);
if (_jspx_eval_c_005fset_005f0 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
out = _jspx_page_context.popBody();
}
}
if (_jspx_th_c_005fset_005f0.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
return true;
}
_005fjspx_005ftagPool_005fc_005fset_0026_005fvar.reuse(_jspx_th_c_005fset_005f0);
_jspx_th_c_005fset_005f0_reused = true;
} finally {
org.apache.jasper.runtime.JspRuntimeLibrary.releaseTag(_jspx_th_c_005fset_005f0, _jsp_getInstanceManager(), _jspx_th_c_005fset_005f0_reused);
}
return false;
}
}
Loading…
Cancel
Save