diff --git a/pom.xml b/pom.xml
index af35b986..5521d5ef 100644
--- a/pom.xml
+++ b/pom.xml
@@ -2,25 +2,12 @@
4.0.0
-
-
- org.springframework.boot
- spring-boot-starter-parent
- 2.7.18
-
-
-
- xit-app
- fims
+ cokr.xit.app
+ fims-web
1.0.0-SNAPSHOT
- fims
- 과태료통합관리시스템
- war
-
-
- UTF-8
- 17
-
+ fims-web
+ 과태료통합관리시스템 웹리소스
+ jar
@@ -44,79 +31,64 @@
-
-
- cokr.xit.app
- fims-java-all
-
-
- javax
- javaee-api
-
-
-
-
-
- org.egovframe.rte
- org.egovframe.rte.fdl.crypto
-
-
- org.apache.logging.log4j
- log4j-slf4j-impl
-
-
-
-
-
- 3rd-party
- echelon
- compile
-
-
- 3rd-party
- dguard
- compile
-
-
-
- cokr.xit.app
- fims-java-all
- 1.0.0-SNAPSHOT
-
cokr.xit.app
app-support-web
1.0.0-SNAPSHOT
-
-
- cokr.xit.app
- sgg-setting
- ${sgg}
-
+ install
+ ${basedir}/target
+ ${project.artifactId}-${project.version}
+
+
+
+ ${basedir}/src/main/webapp/resources
+ META-INF/resources/webjars
+
+
+ ${basedir}/src/main/webapp/WEB-INF/jsp
+ META-INF/resources/WEB-INF/jsp
+
+
+
- org.springframework.boot
- spring-boot-maven-plugin
+ org.apache.maven.plugins
+ maven-jar-plugin
+ 3.3.0
-
-
- org.projectlombok
- lombok
-
-
+ true
+
+ META-INF/resources/webjars/**
+ META-INF/resources/WEB-INF/jsp/**
+
+
+
+
+
+
+ maven-snapshot
+ https://nas.xit.co.kr:8888/repository/maven-snapshots/
+
+
+ maven-release
+ https://nas.xit.co.kr:8888/repository/maven-releases/
+
+
+
+
\ No newline at end of file
diff --git a/src/main/java/cokr/xit/fims/MainApplication.java b/src/main/java/cokr/xit/fims/MainApplication.java
deleted file mode 100644
index 7d6c4376..00000000
--- a/src/main/java/cokr/xit/fims/MainApplication.java
+++ /dev/null
@@ -1,32 +0,0 @@
-package cokr.xit.fims;
-
-import java.io.BufferedReader;
-import java.io.IOException;
-import java.io.InputStreamReader;
-
-import org.springframework.boot.SpringApplication;
-import org.springframework.boot.autoconfigure.ImportAutoConfiguration;
-import org.springframework.context.annotation.ComponentScan;
-import org.springframework.core.io.ClassPathResource;
-
-import cokr.xit.base.ServletCustomizer;
-import cokr.xit.fims.task.TaskMvcConfig;
-
-@ImportAutoConfiguration({ServletCustomizer.class,TaskMvcConfig.class})
-@ComponentScan(basePackageClasses = cokr.xit.applib.HttpStatusCodeExceptionControllerAdvice.class)
-public class MainApplication extends SpringBootApplicationBridge {
-
- public static void main(String[] args) {
-
- try {
- BufferedReader in = new BufferedReader(new InputStreamReader(new ClassPathResource("sgg.txt").getInputStream()));
- String sgg = in.readLine();
- System.setProperty("sgg", sgg);
- in.close();
- } catch (IOException e) {
- e.printStackTrace();
- }
-
- SpringApplication.run(MainApplication.class, args);
- }
-}
diff --git a/src/main/webapp/WEB-INF/jsp/dashboard.jsp b/src/main/webapp/WEB-INF/jsp/dashboard.jsp
deleted file mode 100644
index 95a353a3..00000000
--- a/src/main/webapp/WEB-INF/jsp/dashboard.jsp
+++ /dev/null
@@ -1,838 +0,0 @@
-<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8" isELIgnored="false" session="false"%>
-<%@ include file="/WEB-INF/jsp/include/taglib.jsp"%>
-
-
-
-
-
-
-LoadScript("chartScript","/webjars/3rd-party/sneat/libs/chartjs/chartjs.js");
-
-
-var falseLineChart = ``;
-
-var falseDoughnutChart = ``;
-
-var statReqArr = [];
-
-fnMakeSkeleton();
-AppSupport.sleep(3000).then(() => fnMakeStatReq($("#layout-navbar input[name='taskSeCd']:checked").val()));
-
-
-//데이터 로딩 전 이미지 표시
-function fnMakeSkeleton(){
-
- $("#lineChart").hide();
- $("#doughnutChart1").hide();
- $("#doughnutChart2").hide();
- $("#doughnutChart3").hide();
-
- $("#lineChartCardBody").append(falseLineChart);
- $("#doughnutChart1CardBody").append(falseDoughnutChart);
- $("#doughnutChart2CardBody").append(falseDoughnutChart);
- $("#doughnutChart3CardBody").append(falseDoughnutChart);
-}
-
-
-//통계 요청 데이터 생성(여러 건)
-function fnMakeStatReq(taskSeCd){
- var lastDay = TODAY().replaceAll("-","");
- var firstDay = DateSupport.getAddDay(-14).replaceAll("-","");
-
- var defaultQuery = {};
-
-
- //단속구분별 전체/완료 건수
- defaultQuery = {
- structureType : "dummy",
- statDomain : "crdn",
- groupInfoList : [
- {
- refCol : "CRDN_SE_CD",
- ctgrType : "code",
- dtlCtgr : "FIM002"
- }
- ],
- codeSubsetInfoList : [
- {
- sourceGroup : "FIM002",
- sourceCodes : ["08","09","10","11"],
- targetCode : "minwon",
- targetCodeVal : "민원"
- },
- {
- sourceGroup : "FIM002",
- sourceCodes : ["06","13"],
- targetCode : "dobo",
- targetCodeVal : "도보"
- }
- ],
- fixedItemId : ["01","02","minwon","dobo"],
- namedNumberValueSeperator : "completeAndTotal",
- globalAggregate : "count",
- taskSeCd : taskSeCd,
- dayColumn : "REG_DT",
- firstDay : firstDay,
- lastDay : lastDay
- };
-
- defaultQuery = FimsSupport.fnJsonToFormData(defaultQuery, "groupInfoList");
- defaultQuery = FimsSupport.fnJsonToFormData(defaultQuery, "numberValueInfoList");
- defaultQuery = FimsSupport.fnJsonToFormData(defaultQuery, "codeSubsetInfoList");
-
- statReqArr.push({
- query : defaultQuery,
- cursor : "card1",
- statType : "progressAndTotal"
- });
-
- //초기자료처리별 전체/완료건수
- defaultQuery = {
- structureType : "dummy",
- statDomain : "crdn",
- groupInfoList : [
- {
- refCol : "등록대상이첩대상구분",
- ctgrType : "code",
- dtlCtgr : "FIM999"
- }
- ],
- fixedItemId : ["등록대상","이첩대상"],
- namedNumberValueSeperator : "completeAndTotal",
- globalAggregate : "count",
- taskSeCd : taskSeCd,
- dayColumn : "REG_DT",
- firstDay : firstDay,
- lastDay : lastDay
- };
-
- defaultQuery = FimsSupport.fnJsonToFormData(defaultQuery, "groupInfoList");
- defaultQuery = FimsSupport.fnJsonToFormData(defaultQuery, "numberValueInfoList");
- defaultQuery = FimsSupport.fnJsonToFormData(defaultQuery, "codeSubsetInfoList");
-
- statReqArr.push({
- query : defaultQuery,
- cursor : "card2",
- statType : "progressAndTotal"
- });
-
- //발송문서별 전체/완료 건수
- defaultQuery = {
- structureType : "dummy",
- statDomain : "sndb",
- groupInfoList : [
- {
- refCol : "SNDNG_SE_CD",
- ctgrType : "code",
- dtlCtgr : "FIM047"
- }
- ],
- codeSubsetInfoList : [
- {
- sourceGroup : "FIM047",
- sourceCodes : ["01","02"],
- targetCode : "satong",
- targetCodeVal : "사전통지서"
- }
- ],
- fixedItemId : ["satong", "03", "11"],
- namedNumberValueSeperator : "completeAndTotal",
- globalAggregate : "count",
- taskSeCd : taskSeCd,
- dayColumn : "REG_DT",
- firstDay : firstDay,
- lastDay : lastDay
- };
-
- defaultQuery = FimsSupport.fnJsonToFormData(defaultQuery, "groupInfoList");
- defaultQuery = FimsSupport.fnJsonToFormData(defaultQuery, "numberValueInfoList");
- defaultQuery = FimsSupport.fnJsonToFormData(defaultQuery, "codeSubsetInfoList");
-
- statReqArr.push({
- query : defaultQuery,
- cursor : "card3",
- statType : "progressAndTotal"
- });
-
- //의견진술자료상태
- defaultQuery = {
- structureType : "dummy",
- statDomain : "excl",
- groupInfoList : [
- {
- refCol : "OPNN_SBMSN_STTS_CD",
- ctgrType : "code",
- dtlCtgr : "FIM031"
- }
- ],
- codeSubsetInfoList : [
- {
- sourceGroup : "FIM031",
- sourceCodes : ["01","02"],
- targetCode : "acceptOrNonAccept",
- targetCodeVal : "수용/미수용"
- }
- ],
- fixedItemId : ["00", "acceptOrNonAccept", "03"],
- namedNumberValueSeperator : "completeAndTotal",
- globalAggregate : "count",
- taskSeCd : taskSeCd,
- dayColumn : "REG_DT",
- firstDay : firstDay,
- lastDay : lastDay
- };
-
- defaultQuery = FimsSupport.fnJsonToFormData(defaultQuery, "groupInfoList");
- defaultQuery = FimsSupport.fnJsonToFormData(defaultQuery, "numberValueInfoList");
- defaultQuery = FimsSupport.fnJsonToFormData(defaultQuery, "codeSubsetInfoList");
-
- statReqArr.push({
- query : defaultQuery,
- cursor : "card4",
- statType : "progressAndTotal"
- });
-
- //단속구분별 최근n일 건수
- defaultQuery = {
- structureType : "aggregate",
- statDomain : "crdn",
- groupInfoList : [
- {
- refCol : "CRDN_SE_CD",
- ctgrType : "code",
- dtlCtgr : "FIM002"
- }
- ],
- codeSubsetInfoList : [
- {
- sourceGroup : "FIM002",
- sourceCodes : ["08","09","10","11"],
- targetCode : "minwon",
- targetCodeVal : "민원"
- },
- {
- sourceGroup : "FIM002",
- sourceCodes : ["06","13"],
- targetCode : "dobo",
- targetCodeVal : "도보"
- }
- ],
- fixedItemId : ["01","02","dobo","minwon"],
- namedNumberValueSeperator : "lastFewDays",
- globalAggregate : "count",
- taskSeCd : taskSeCd,
- dayColumn : "CRDN_YMD",
- dayRange : 15
- };
-
- defaultQuery = FimsSupport.fnJsonToFormData(defaultQuery, "groupInfoList");
- defaultQuery = FimsSupport.fnJsonToFormData(defaultQuery, "numberValueInfoList");
- defaultQuery = FimsSupport.fnJsonToFormData(defaultQuery, "codeSubsetInfoList");
-
- statReqArr.push({
- query : defaultQuery,
- cursor : "lineChart",
- statType : "line"
- });
-
- //초기자료처리별 건수 차트
- defaultQuery = {
- structureType : "aggregate",
- statDomain : "crdnSttsHstry",
- groupInfoList : [
- {
- refCol : "CRDN_STTS_CD",
- ctgrType : "code",
- dtlCtgr : "FIM010"
- }
- ],
- numberValueInfoList : [
- {
- aggregateType : "count"
- }
- ],
- codeSubsetInfoList : [
- {
- sourceGroup : "FIM010",
- sourceCodes : ["21"],
- targetCode : "dansokProcess",
- targetCodeVal : "단속"
- }
- ],
- fixedItemId : ["dansokProcess","81","83"],
- taskSeCd : taskSeCd,
- dayColumn : "REG_DT",
- firstDay : firstDay,
- lastDay : firstDay
- };
-
- defaultQuery = FimsSupport.fnJsonToFormData(defaultQuery, "groupInfoList");
- defaultQuery = FimsSupport.fnJsonToFormData(defaultQuery, "numberValueInfoList");
- defaultQuery = FimsSupport.fnJsonToFormData(defaultQuery, "codeSubsetInfoList");
-
- statReqArr.push({
- query : defaultQuery,
- cursor : "doughnutChart1",
- statType : "doughnut"
- });
-
- //발송문서종류별 건수 차트
- defaultQuery = {
- structureType : "aggregate",
- statDomain : "sndb",
- groupInfoList : [
- {
- refCol : "SNDNG_SE_CD",
- ctgrType : "code",
- dtlCtgr : "FIM047"
- }
- ],
- numberValueInfoList : [
- {
- aggregateType : "count"
- }
- ],
- codeSubsetInfoList : [
- {
- sourceGroup : "FIM047",
- sourceCodes : ["01","02"],
- targetCode : "satong",
- targetCodeVal : "사전통지서"
- }
- ],
- fixedItemId : ["satong", "03", "11"],
- taskSeCd : taskSeCd,
- dayColumn : "SNDNG_YMD",
- firstDay : firstDay,
- lastDay : firstDay
- };
-
- defaultQuery = FimsSupport.fnJsonToFormData(defaultQuery, "groupInfoList");
- defaultQuery = FimsSupport.fnJsonToFormData(defaultQuery, "numberValueInfoList");
- defaultQuery = FimsSupport.fnJsonToFormData(defaultQuery, "codeSubsetInfoList");
-
- statReqArr.push({
- query : defaultQuery,
- cursor : "doughnutChart2",
- statType : "doughnut"
- });
-
- //의견진술결과별 건수 차트
- defaultQuery = {
- structureType : "aggregate",
- statDomain : "excl",
- groupInfoList : [
- {
- refCol : "OPNN_SBMSN_STTS_CD",
- ctgrType : "code",
- dtlCtgr : "FIM031"
- }
- ],
- numberValueInfoList : [
- {
- aggregateType : "count"
- }
- ],
- fixedItemId : ["01", "02", "03"],
- taskSeCd : taskSeCd,
- dayColumn : "REG_DT",
- firstDay : firstDay,
- lastDay : firstDay
- };
-
- defaultQuery = FimsSupport.fnJsonToFormData(defaultQuery, "groupInfoList");
- defaultQuery = FimsSupport.fnJsonToFormData(defaultQuery, "numberValueInfoList");
- defaultQuery = FimsSupport.fnJsonToFormData(defaultQuery, "codeSubsetInfoList");
-
- statReqArr.push({
- query : defaultQuery,
- cursor : "doughnutChart3",
- statType : "doughnut"
- });
-
- fnLoadStatisticsData();
-}
-
-//통계 데이터 조회
-function fnLoadStatisticsData(){
- var statArr = statReqArr.pop();
-
- ajax.get({
- url : wctx.url("/stat/stat01/010/info.do"),
- data : statArr.query,
- success : (resp) => {
- var statData = resp.stat;
-
- if(statData != null && statData.statItems != null){
- fnRenderDashboardContents(statData, statArr.cursor , statArr.statType);
- }
-
- if(statReqArr.length != 0){
- fnLoadStatisticsData();
- }
- }
- });
-
-}
-
-//대시보드 콘텐츠 표시
-function fnRenderDashboardContents(returnData, cursor, statType){
-
- if(statType == "progressAndTotal"){
- fnRenderProgressAndTotal(returnData, cursor);
- return;
- }
-
- if(statType == "line"){
- fnRenderLine(returnData, cursor);
- return;
- }
-
- if(statType == "doughnut"){
- fnRenderDoughnut(returnData, cursor);
- return;
- }
-
-}
-
-//진행건수,전체건수 표시
-function fnRenderProgressAndTotal(returnData, cursor){
-
- for(var i=0; i < returnData.statItems.length; i++){
- var icon = $("#"+cursor).find("i[title='" + returnData.statItems[i].itemName[0] + "']");
- var p = icon.prev("p");
- p.html(returnData.statItems[i].numberValue[0] + "/" + returnData.statItems[i].numberValue[1]);
- }
-
- if(cursor == "card1"){
- FimsSupport.mappingButtonAndMenu("btnGoToCrdn","단속 관리");
- return;
- }
-
- if(cursor == "card2"){
- FimsSupport.mappingButtonAndMenu("btnGoToOpnn","의견제출 관리");
- return;
- }
-}
-
-//라인차트 표시
-function fnRenderLine(returnData, cursor){
- var yellowColor = '#ffe800';
- var cyanColor = '#28dac6';
- var orangeLightColor = '#FDAC34';
- var redColor = '#FF3E1D';
- var indigoColor = '#696CFF';
-
- var ctgrColorSet = [yellowColor,cyanColor,orangeLightColor,redColor,indigoColor];
-
- var borderColor = '#f0f0f0';
- var gridColor = '#f0f0f0';
- var tickColor = 'rgba(0, 0, 0, 0.75)'; // x & y axis tick color
-
- $("#"+cursor).siblings("svg").remove();
-
- $("#"+cursor).show();
-
- var maxOfStat = 0;
- var minOfStat = 0;
-
- var datasets = [];
- for(var i=0; i < returnData.statItems.length; i++){
- var defaultObject = {
- tension: 0.5,
- pointStyle: 'circle',
- fill: false,
- pointRadius: 1,
- pointHoverRadius: 5,
- pointHoverBorderWidth: 5,
- pointBorderColor: 'transparent',
- pointHoverBorderColor: config.colors.cardColor
- };
-
- defaultObject.label = returnData.statItems[i].itemName[0];
-
- defaultObject.data = returnData.statItems[i].numberValue;
-
- var maxOfStatItem = Math.max(defaultObject.data);
- var minOfStatItem = Math.min(defaultObject.data);
-
- if(maxOfStatItem > maxOfStat){
- maxOfStat = maxOfStatItem;
- }
- if(minOfStatItem < minOfStat){
- minOfStat = minOfStatItem;
- }
-
- defaultObject.backgroundColor = ctgrColorSet[i % ctgrColorSet.length];
- defaultObject.pointHoverBackgroundColor = ctgrColorSet[i % ctgrColorSet.length];
- defaultObject.borderColor = ctgrColorSet[i % ctgrColorSet.length];
-
- datasets.push(defaultObject);
- }
-
- var xAxisLabels = returnData.numberValueLabel;
-
- var yAxisConf = initYAxis(maxOfStat, minOfStat);
-
- var lineChart = document.getElementById(cursor);
- if (lineChart) {
- var lineChartVar = new Chart(lineChart, {
- type: 'line',
- data: {
- labels: xAxisLabels,
- datasets: datasets
- },
- options: {
- lineTension : 0,
- responsive: true,
- maintainAspectRatio: false,
- scales: {
- x: {
- grid: {
- color: borderColor,
- drawBorder: false,
- borderColor: borderColor
- },
- ticks: {
- color: "black"
- }
- },
- y: {
- scaleLabel: {
- display: true
- },
- min: yAxisConf.yAxisMin,
- max: yAxisConf.yAxisMax,
- ticks: {
- color: "black",
- stepSize: yAxisConf.yAxisStep
- },
- grid: {
- color: borderColor,
- drawBorder: false,
- borderColor: borderColor
- }
- }
- },
- plugins: {
- tooltip: {
- rtl: true,
- backgroundColor: config.colors.cardColor,
- titleColor: config.colors.headingColor,
- bodyColor: config.colors.bodyColor,
- borderWidth: 1,
- borderColor: borderColor
- },
- legend: {
- position: 'left',
- align: 'stretch',
- rtl: true,
- labels: {
- usePointStyle: true,
- padding: 6,
- boxWidth: 12,
- boxHeight: 30,
- color: "black"
- }
- }
- }
- }
- });
- }
- return;
-
-}
-
-//도넛차트 표시
-function fnRenderDoughnut(returnData, cursor){
- var yellowColor = '#ffe800';
- var cyanColor = '#28dac6';
- var orangeLightColor = '#FDAC34';
- var redColor = '#FF3E1D';
- var indigoColor = '#696CFF';
-
- var ctgrColorSet = [yellowColor,cyanColor,orangeLightColor,redColor,indigoColor];
-
- var borderColor = '#f0f0f0';
- var gridColor = '#f0f0f0';
- var tickColor = 'rgba(0, 0, 0, 0.75)'; // x & y axis tick color
-
- var cardColor = config.colors.cardColor;
- var headingColor = config.colors.headingColor;
- var labelColor = config.colors.textMuted;
- var legendColor = config.colors.bodyColor;
-
- $("#"+cursor).siblings("svg").remove();
- $("#"+cursor).show();
-
-
- var lebels = [];
- var datas = [];
- var colors = [];
- for(var i=0; i < returnData.statItems.length; i++){
- lebels.push(returnData.statItems[i].itemName[0]);
- datas.push(returnData.statItems[i].numberValue[0]);
-
- colors.push(ctgrColorSet[i % ctgrColorSet.length]);
- }
-
-
- var doughnutChart = document.getElementById(cursor);
- if (doughnutChart) {
- var doughnutChartVar = new Chart(doughnutChart, {
- type: 'doughnut',
- data: {
- labels: lebels,
- datasets: [
- {
- data: datas,
- backgroundColor: colors,
- borderWidth: 1,
- pointStyle: 'rectRounded'
- }
- ]
- },
- options: {
- responsive: true,
- animation: {
- duration: 500
- },
- cutout: '68%',
- plugins: {
- legend: {
- display: true,
- position : 'left'
- },
- tooltip: {
- callbacks: {
- label: function (context) {
- const label = context.label || '';
- const value = context.parsed;
- const output = ' ' + label + ' : ' + value + ' 건';
- return output;
- }
- },
- // Updated default tooltip UI
- rtl: true,
- backgroundColor: cardColor,
- titleColor: headingColor,
- bodyColor: legendColor,
- borderWidth: 1,
- borderColor: borderColor
- }
- }
- }
- });
- }
- return;
-
-
-}
-
-//차트y축 표시최대값,표시최소값,간격 설정
-function initYAxis(max, min){
-
- if(max <= 10){
- var yAxisConf = {
- yAxisMax : 10,
- yAxisMin : 0,
- yAxisStep : 2
- };
-
- return yAxisConf;
- }
-
- if(max <= 100){
- var yAxisConf = {
- yAxisMax : 100,
- yAxisMin : 0,
- yAxisStep : 20
- };
-
- return yAxisConf;
- }
-
- var yAxisMax = Math.ceil(max / 100) * 100
- var yAxisMin = Math.floor(min / 100) * 100;
-
- if(yAxisMax - yAxisMin <= 100){
- yAxisMin = yAxisMax - 100;
- }
-
- var yAxisStep = (yAxisMax - yAxisMin)/5;
-
- var yAxisConf = {
- yAxisMax : yAxisMax,
- yAxisMin : yAxisMin,
- yAxisStep : yAxisStep
- };
- return yAxisConf;
-
-}
-
-
-
\ No newline at end of file
diff --git a/src/main/webapp/WEB-INF/jsp/fims/crdn/crdn01010-main.jsp b/src/main/webapp/WEB-INF/jsp/fims/crdn/crdn01010-main.jsp
index c37b2108..3e0b9b6f 100644
--- a/src/main/webapp/WEB-INF/jsp/fims/crdn/crdn01010-main.jsp
+++ b/src/main/webapp/WEB-INF/jsp/fims/crdn/crdn01010-main.jsp
@@ -118,7 +118,7 @@
diff --git a/src/main/webapp/WEB-INF/jsp/fims/rcvm/rcvm01010-main.jsp b/src/main/webapp/WEB-INF/jsp/fims/rcvm/rcvm01010-main.jsp
index c5079fd9..9ce9d550 100644
--- a/src/main/webapp/WEB-INF/jsp/fims/rcvm/rcvm01010-main.jsp
+++ b/src/main/webapp/WEB-INF/jsp/fims/rcvm/rcvm01010-main.jsp
@@ -655,7 +655,7 @@
content: "선택하신 " + selected.length + "건의 " + $P.control.prefixName + " 정보를 삭제하시겠습니까?"
, onOK: async() => {
// 삭제 사유 입력
- let resp = await fetch(wctx.url("/resources/html/inputRsnDialog.html"));
+ let resp = await fetch(wctx.url("/webjars/html/inputRsnDialog.html"));
let template = await resp.text();
dialog.open({
diff --git a/src/main/webapp/WEB-INF/jsp/fims/rdca/rdca01010-main.jsp b/src/main/webapp/WEB-INF/jsp/fims/rdca/rdca01010-main.jsp
index 0a843bc7..c2229281 100644
--- a/src/main/webapp/WEB-INF/jsp/fims/rdca/rdca01010-main.jsp
+++ b/src/main/webapp/WEB-INF/jsp/fims/rdca/rdca01010-main.jsp
@@ -634,7 +634,7 @@
content : "선택하신 " + selected.length + "건의 " + $P.control.prefixName + " 정보를 삭제하시겠습니까?"
, onOK : async() => {
// 삭제 사유 입력
- var resp = await fetch(wctx.url("/resources/html/inputRsnDialog.html"));
+ var resp = await fetch(wctx.url("/webjars/html/inputRsnDialog.html"));
var template = await resp.text();
dialog.open({
diff --git a/src/main/webapp/WEB-INF/jsp/fims/rent/rent01030-info.jsp b/src/main/webapp/WEB-INF/jsp/fims/rent/rent01030-info.jsp
index 7e237e21..f647f945 100644
--- a/src/main/webapp/WEB-INF/jsp/fims/rent/rent01030-info.jsp
+++ b/src/main/webapp/WEB-INF/jsp/fims/rent/rent01030-info.jsp
@@ -176,7 +176,7 @@
**************************************************************************/
// 우편번호 검색
$P.fnZipCode = async() => {
- let resp = await fetch(wctx.url("/resources/html/searchAddr.html"));
+ let resp = await fetch(wctx.url("/webjars/html/searchAddr.html"));
let template = await resp.text();
dialog.open({
diff --git a/src/main/webapp/WEB-INF/jsp/fims/sndb/sndb01030-main.jsp b/src/main/webapp/WEB-INF/jsp/fims/sndb/sndb01030-main.jsp
index f3391341..097bbec2 100644
--- a/src/main/webapp/WEB-INF/jsp/fims/sndb/sndb01030-main.jsp
+++ b/src/main/webapp/WEB-INF/jsp/fims/sndb/sndb01030-main.jsp
@@ -517,7 +517,7 @@
content: "선택하신 " + selected.length + "건의 " + $P.control.prefixName + " 정보를 삭제하시겠습니까?"
, onOK: () => {
// 삭제 사유 입력
- fetch(wctx.url("/resources/html/inputRsnDialog.html"))
+ fetch(wctx.url("/webjars/html/inputRsnDialog.html"))
.then(function(resp) { return resp.text(); })
.then(function(template) {
dialog.open({
diff --git a/src/main/webapp/WEB-INF/jsp/fims/sndb/sndb01070-main.jsp b/src/main/webapp/WEB-INF/jsp/fims/sndb/sndb01070-main.jsp
index b26c0004..f6ed747b 100644
--- a/src/main/webapp/WEB-INF/jsp/fims/sndb/sndb01070-main.jsp
+++ b/src/main/webapp/WEB-INF/jsp/fims/sndb/sndb01070-main.jsp
@@ -520,7 +520,7 @@
content: "선택하신 " + selected.length + "건의 " + $P.control.prefixName + " 정보를 삭제하시겠습니까?"
, onOK: () => {
// 삭제 사유 입력
- fetch(wctx.url("/resources/html/inputRsnDialog.html"))
+ fetch(wctx.url("/webjars/html/inputRsnDialog.html"))
.then(function(resp) { return resp.text(); })
.then(function(template) {
dialog.open({
diff --git a/src/main/webapp/WEB-INF/jsp/fims/sndb/sndb01080-info.jsp b/src/main/webapp/WEB-INF/jsp/fims/sndb/sndb01080-info.jsp
index 72f2214f..98f4a954 100644
--- a/src/main/webapp/WEB-INF/jsp/fims/sndb/sndb01080-info.jsp
+++ b/src/main/webapp/WEB-INF/jsp/fims/sndb/sndb01080-info.jsp
@@ -465,7 +465,7 @@
// validate 확인
if (!AppSupport.customValidate($("#frmEdit--${pageName}").find("input, select, textarea"))) return;
- let resp = await fetch(wctx.url("/resources/html/inputDateDialog.html"));
+ let resp = await fetch(wctx.url("/webjars/html/inputDateDialog.html"));
let template = await resp.text();
dialog.open({
diff --git a/src/main/webapp/WEB-INF/jsp/fims/sndb/sndb01110-main.jsp b/src/main/webapp/WEB-INF/jsp/fims/sndb/sndb01110-main.jsp
index 367ef970..5d031ec9 100644
--- a/src/main/webapp/WEB-INF/jsp/fims/sndb/sndb01110-main.jsp
+++ b/src/main/webapp/WEB-INF/jsp/fims/sndb/sndb01110-main.jsp
@@ -568,7 +568,7 @@
content: "선택하신 " + selected.length + "건의 " + $P.control.prefixName + " 정보를 삭제하시겠습니까?"
, onOK: () => {
// 삭제 사유 입력
- fetch(wctx.url("/resources/html/inputRsnDialog.html"))
+ fetch(wctx.url("/webjars/html/inputRsnDialog.html"))
.then(function(resp) { return resp.text(); })
.then(function(template) {
dialog.open({
diff --git a/src/main/webapp/WEB-INF/jsp/fims/sndb/sndb01240-main.jsp b/src/main/webapp/WEB-INF/jsp/fims/sndb/sndb01240-main.jsp
index 45423045..d7eb06db 100644
--- a/src/main/webapp/WEB-INF/jsp/fims/sndb/sndb01240-main.jsp
+++ b/src/main/webapp/WEB-INF/jsp/fims/sndb/sndb01240-main.jsp
@@ -535,7 +535,7 @@
let textDate = DateSupport.getAddDay(0).date + " ~ " + DateSupport.getAddDay(15) + " (15일간)";
// 문서번호, 제목, 공고기한 입력
- let resp = await fetch(wctx.url("/resources/html/inputDocNoTtlDialog.html"));
+ let resp = await fetch(wctx.url("/webjars/html/inputDocNoTtlDialog.html"));
let template = await resp.text();
dialog.open({
@@ -609,7 +609,7 @@
content: "선택하신 " + selected.length + "건의 " + $P.control.prefixName + " 정보를 삭제하시겠습니까?"
, onOK: async() => {
// 삭제 사유 입력
- let resp = await fetch(wctx.url("/resources/html/inputRsnDialog.html"));
+ let resp = await fetch(wctx.url("/webjars/html/inputRsnDialog.html"));
let template = await resp.text();
dialog.open({
diff --git a/src/main/webapp/WEB-INF/jsp/fims/sndb/sndb01250-info.jsp b/src/main/webapp/WEB-INF/jsp/fims/sndb/sndb01250-info.jsp
index 15e9a4a7..2777dc1d 100644
--- a/src/main/webapp/WEB-INF/jsp/fims/sndb/sndb01250-info.jsp
+++ b/src/main/webapp/WEB-INF/jsp/fims/sndb/sndb01250-info.jsp
@@ -412,7 +412,7 @@
let textDate = DateSupport.getAddDay(0).date + " ~ " + DateSupport.getAddDay(15) + " (15일간)";
// 문서번호, 제목, 공고기한 입력
- let resp = await fetch(wctx.url("/resources/html/inputDocNoTtlDialog.html"));
+ let resp = await fetch(wctx.url("/webjars/html/inputDocNoTtlDialog.html"));
let template = await resp.text();
dialog.open({
@@ -455,7 +455,7 @@
content: "선택하신 " + selected.length + "건의 " + $P.control.prefixName + " 정보를 삭제하시겠습니까?"
, onOK: async() => {
// 삭제 사유 입력
- let resp = await fetch(wctx.url("/resources/html/inputRsnDialog.html"));
+ let resp = await fetch(wctx.url("/webjars/html/inputRsnDialog.html"));
let template = await resp.text();
dialog.open({
diff --git a/src/main/webapp/WEB-INF/jsp/fims/sprt/sprt01010-main.jsp b/src/main/webapp/WEB-INF/jsp/fims/sprt/sprt01010-main.jsp
index ca5ed6a8..921a9424 100644
--- a/src/main/webapp/WEB-INF/jsp/fims/sprt/sprt01010-main.jsp
+++ b/src/main/webapp/WEB-INF/jsp/fims/sprt/sprt01010-main.jsp
@@ -24,7 +24,7 @@
-">
-">
-">
+">
+">
+">
-">
-">
+">
+">
-">
-">
+">
+">
diff --git a/src/main/webapp/WEB-INF/jsp/fims/sprt/sprt04010-main.jsp b/src/main/webapp/WEB-INF/jsp/fims/sprt/sprt04010-main.jsp
index 3464db35..bd87f6ec 100644
--- a/src/main/webapp/WEB-INF/jsp/fims/sprt/sprt04010-main.jsp
+++ b/src/main/webapp/WEB-INF/jsp/fims/sprt/sprt04010-main.jsp
@@ -521,7 +521,7 @@
content: "선택하신 " + selected.length + "건의 " + $P.control.prefixName + " 정보를 삭제하시겠습니까?"
, onOK: () => {
// 삭제 사유 입력
- fetch(wctx.url("/resources/html/inputRsnDialog.html"))
+ fetch(wctx.url("/webjars/html/inputRsnDialog.html"))
.then(function(resp) { return resp.text(); })
.then(function(template) {
dialog.open({
diff --git a/src/main/webapp/WEB-INF/jsp/fims/stat/stat-main.jsp b/src/main/webapp/WEB-INF/jsp/fims/stat/stat-main.jsp
index f21127b7..dcbe6596 100644
--- a/src/main/webapp/WEB-INF/jsp/fims/stat/stat-main.jsp
+++ b/src/main/webapp/WEB-INF/jsp/fims/stat/stat-main.jsp
@@ -169,7 +169,7 @@
\ No newline at end of file
+">
\ No newline at end of file
diff --git a/src/main/webapp/WEB-INF/jsp/fims/stat/stat01020-main.jsp b/src/main/webapp/WEB-INF/jsp/fims/stat/stat01020-main.jsp
index 105ca998..0c6c66ea 100644
--- a/src/main/webapp/WEB-INF/jsp/fims/stat/stat01020-main.jsp
+++ b/src/main/webapp/WEB-INF/jsp/fims/stat/stat01020-main.jsp
@@ -120,5 +120,5 @@
-">
-">
\ No newline at end of file
+">
+">
\ No newline at end of file
diff --git a/src/main/webapp/WEB-INF/jsp/fims/stat/stat01040-main.jsp b/src/main/webapp/WEB-INF/jsp/fims/stat/stat01040-main.jsp
index fb5ca678..9adb45b9 100644
--- a/src/main/webapp/WEB-INF/jsp/fims/stat/stat01040-main.jsp
+++ b/src/main/webapp/WEB-INF/jsp/fims/stat/stat01040-main.jsp
@@ -29,4 +29,4 @@
-">
\ No newline at end of file
+">
\ No newline at end of file
diff --git a/src/main/webapp/WEB-INF/jsp/fims/stat/stat01050-main.jsp b/src/main/webapp/WEB-INF/jsp/fims/stat/stat01050-main.jsp
index 30132d9b..ed413d28 100644
--- a/src/main/webapp/WEB-INF/jsp/fims/stat/stat01050-main.jsp
+++ b/src/main/webapp/WEB-INF/jsp/fims/stat/stat01050-main.jsp
@@ -68,4 +68,4 @@
-">
\ No newline at end of file
+">
\ No newline at end of file
diff --git a/src/main/webapp/WEB-INF/jsp/fims/user/user01010-main.jsp b/src/main/webapp/WEB-INF/jsp/fims/user/user01010-main.jsp
index 905ae1fa..18706cd6 100644
--- a/src/main/webapp/WEB-INF/jsp/fims/user/user01010-main.jsp
+++ b/src/main/webapp/WEB-INF/jsp/fims/user/user01010-main.jsp
@@ -9,12 +9,12 @@
-
+
-
+
" class="template-customizer-core-css" />
" class="template-customizer-theme-css" />
@@ -23,7 +23,7 @@
" />
" />
-" />
+" />
@@ -234,7 +234,7 @@
-
+
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/src/main/webapp/WEB-INF/jsp/include/head.jsp b/src/main/webapp/WEB-INF/jsp/include/head.jsp
deleted file mode 100644
index c61ceb69..00000000
--- a/src/main/webapp/WEB-INF/jsp/include/head.jsp
+++ /dev/null
@@ -1,42 +0,0 @@
-<%@ page contentType="text/html; charset=UTF-8" pageEncoding="UTF-8" isELIgnored="false" session="false"%>
-<%@ include file="/WEB-INF/jsp/include/taglib.jsp"%>
-과태료통합관리시스템
-
-
-
-
-
-
-
- ">
-
-
-
-
-
-
-"
- data-template="vertical-menu-template-starter">
-
-
-
${appName}
-
-
- " />
-
- " />
-
- " />
- " />
- " />
- " />
- " />
-
-
- " class="template-customizer-core-css" />
- " class="template-customizer-theme-css" />
- " />
-
- " />
- " />
- " />
-
-
- " />
- " />
- " />
- " />
- " />
-
-
diff --git a/src/main/webapp/WEB-INF/jsp/include/taglib.jsp b/src/main/webapp/WEB-INF/jsp/include/taglib.jsp
deleted file mode 100644
index 19a0e603..00000000
--- a/src/main/webapp/WEB-INF/jsp/include/taglib.jsp
+++ /dev/null
@@ -1,4 +0,0 @@
-<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8" isELIgnored="false" session="false"
-%><%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"
-%><%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt"
-%><%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions"%>
\ No newline at end of file
diff --git a/src/main/webapp/WEB-INF/jsp/include/tail.jsp b/src/main/webapp/WEB-INF/jsp/include/tail.jsp
deleted file mode 100644
index 11be31dc..00000000
--- a/src/main/webapp/WEB-INF/jsp/include/tail.jsp
+++ /dev/null
@@ -1,102 +0,0 @@
-<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8" isELIgnored="false" session="false"%>
-<%@ include file="/WEB-INF/jsp/include/taglib.jsp"%>
-
- Loading...
-
-
-
-">
-">
-">
-">
-
-">
-">
-">
-">
-">
-">
-">
-">
-
-">
-
-
-">
-">
-">
-">
-">
-">
-">
-">
-">
-">
-">
-">
-
-">
-
-
-">
-">
-">
-">
-">
-
-">
-">
-">
-">
-
-
-">
-">
-">
-
-
-
-wctx.path = "${pageContext.request.contextPath}";
-wctx.version = "${ver}";
-wctx.trace = ${!production};
-wctx.csrf = {
- header:"${_csrf.headerName}",
- token:"${_csrf.token}"
-};
-dialog.title = "과태료통합관리시스템";
-dialog.timeout = 0;
-
-
-function logout() {
- dialog.alert({
- content:"로그아웃 하시겠습니까?",
- onOK:function(){
- var form = $("\", method=\"POST\">");
- $("").appendTo(form);
- form.appendTo("body").submit();
- }
- });
-}
-
-
-async function selectURL(multiple) {
- return new Promise(function(resolve, reject) {
- ajax.get({
- url:wctx.url("/urls.do"),
- data:{multiple:multiple},
- success: resp => {
- dialog.open({
- title:"URL 선택",
- content:resp,
- getData:() => getSelectedURL(),
- onOK:selected => {
- resolve(selected);
- }
- });
- }
- });
- });
-}
-
-
-
diff --git a/src/main/webapp/WEB-INF/jsp/include/top.jsp b/src/main/webapp/WEB-INF/jsp/include/top.jsp
deleted file mode 100644
index 0a38b488..00000000
--- a/src/main/webapp/WEB-INF/jsp/include/top.jsp
+++ /dev/null
@@ -1,576 +0,0 @@
-<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8" isELIgnored="false" session="false"%>
-<%@ include file="/WEB-INF/jsp/include/taglib.jsp"%>
-
-
-
-
-
-
-
-
-
-
-
-
-
-async function fnOpenTempFileUploadWindow(){
-
- var resp = await fetch(wctx.url("/resources/html/fileUpload.html"));
- var template = await resp.text();
-
- dialog.open({
- id : "fileUploadDialog",
- title: "파일 업로드",
- size : "lg",
- content: template,
- init : () => {
- AppSupport.setDialogZindex();
- }
- });
-
-}
-
-/*--------------------- 설정 선택 다이얼로그 표시 ---------------------*/
-function fnOpenSelectStngDialog(){
- dialog.open({
- id : "selectStngDialog",
- title : "설정 선택",
- content : document.getElementById("selectStngButtonsTemplate").innerHTML,
- size : "md",
- init : () => {},
- onClose : () => {}
- });
-}
-
-/*--------------------- 장비단속레이아웃 설정 메인 화면 표시 ---------------------*/
-function fnOpenEqmCrdnLayoutStngDialog(){
- dialog.close("selectStngDialog");
-
- var url = wctx.url("/crdn/crdn01/010/main.do");
-
- ajax.post({
- url : url,
- data : {},
- success : (resp) => {
- let dialogName = "eqmCrdnLayoutStngDialog";
- let dialogId = dialogName+"-"+uuid();
-
- dialog.open({
- id : dialogId,
- title : "장비단속 레이아웃 설정",
- size : "xxl",
- content : resp,
- init : () => {
- $("#"+dialogId).attr("name", dialogName);
- $("#"+dialogId).attr("data-ref-doctx","top");
- let refDlgId = pageObject["top"].refDlgId(dialogName);
-
- $("#"+refDlgId).find("form[name='frmSearch']").find("[name='sggCd']").val(MY_INFO.info.sggCd);
-
- },
- onClose : () => { }
- });
- }
- });
-}
-
-/*--------------------- 출력물 설정 메인 화면 표시 ---------------------*/
-function fnOpenOtptStngDialog(){
-
- dialog.close("selectStngDialog");
-
- var url = wctx.url("/stng/stng01/010/main.do");
-
- ajax.post({
- url : url,
- data : {},
- success : (resp) => {
-
- let dialogName = "otptStngDialog";
- let dialogId = dialogName+"-"+uuid();
-
- dialog.open({
- id : dialogId,
- title : "출력설정",
- size : "xxl",
- content : resp,
- init : () => {
- $("#"+dialogId).attr("name", dialogName);
- $("#"+dialogId).attr("data-ref-doctx","top");
- let refDlgId = pageObject["top"].refDlgId(dialogName);
-
- $("#"+refDlgId).find("form[name='frmSearch']").find("[name='sggCd']").val(MY_INFO.info.sggCd);
-
- },
- onClose : () => { }
- });
- }
- });
-
-}
-
-/*--------------------- 고지서 외주요청파일 서식 설정 ---------------------*/
-function fnOpenOutsourcingStngDialog(){
-
- dialog.close("selectStngDialog");
-
- var url = wctx.url("/stng/stng01/030/main.do");
-
-
- ajax.post({
- url : url,
- data : {},
- success : (resp) => {
-
- let dialogName = "outsourcingStngDialog";
- let dialogId = dialogName+"-"+uuid();
-
- dialog.open({
- id : dialogId,
- title : "외주요청파일 서식 설정",
- size : "xxl",
- content : resp,
- init : () => {
-
- $("#"+dialogId).attr("name", dialogName);
- $("#"+dialogId).attr("data-ref-doctx","top");
- let refDlgId = pageObject["top"].refDlgId(dialogName);
-
- $("#"+refDlgId).find("form[name='frmSearch']").find("[name='sggCd']").val(MY_INFO.info.sggCd);
-
- },
- onClose : () => { }
- });
- }
- });
-
-}
-
-
-/*--------------------- PDF자료 추출 설정 메인 화면 표시 ---------------------*/
-function fnOpenExtrStngDialog(){
- dialog.close("selectStngDialog");
-
- var url = wctx.url("/stng/stng01/020/main.do");
-
- ajax.post({
- url : url,
- data : {},
- success : (resp) => {
-
- let dialogName = "extrStngDialog";
- let dialogId = dialogName+"-"+uuid();
-
- dialog.open({
- id : dialogId,
- title : "PDF자료 추출 설정",
- size : "xxl",
- content : resp,
- init : () => {
- $("#"+dialogId).attr("name", dialogName);
- $("#"+dialogId).attr("data-ref-doctx","top");
- let refDlgId = pageObject["top"].refDlgId(dialogName);
-
- $("#"+refDlgId).find("form[name='frmSearch']").find("[name='sggCd']").val(MY_INFO.info.sggCd);
-
- },
- onClose : () => { }
- });
- }
- });
-}
-
-
-function fnOpenMyInfo(){
- var popupWidth = 950;
- var popupHeight = 500;
- var popupX = (window.screen.width / 2) - (popupWidth / 2);
- var popupY= (window.screen.height / 2) - (popupHeight / 2);
-
- var popup = window.open(
- wctx.url("/user/openMyInfo.do")
- ,"changeMyInfo"
- ,"width="+popupWidth+", height="+popupHeight+", left="+popupX+", top="+popupY
- );
-
- popup.onload = () => {
- popup.addEventListener('beforeunload', function() {
- $.unblockUI();
- });
- };
-}
-
-function fnOpenChangePassword(){
- ajax.get({
- url : wctx.url("/user/changePassword.do"),
- data : { },
- success : (resp) => {
- dialog.open({
- id : "changePasswordDialog",
- title : "비밀번호 변경",
- content : resp,
- size : "md",
- init : () => {},
- onClose : () => {}
- });
- }
- });
-}
-
-async function fnCancelAccount(){
- let ok = await confirm2("탈퇴하시겠습니까?");
- if(ok){
- ajax.get({
- url : wctx.url("/user/cancelAccount.do"),
- data : { },
- success : (resp) => {
- if(resp.saved){
- alert('탈퇴되었습니다.');
- var form = $("
-
diff --git a/src/main/webapp/WEB-INF/jsp/include/userMenus.jsp b/src/main/webapp/WEB-INF/jsp/include/userMenus.jsp
deleted file mode 100644
index e3045d93..00000000
--- a/src/main/webapp/WEB-INF/jsp/include/userMenus.jsp
+++ /dev/null
@@ -1,41 +0,0 @@
-<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8" isELIgnored="false" session="false"%>
-<%@ include file="/WEB-INF/jsp/include/taglib.jsp"%>
-
-
-
-
-function fnHome(){
- top.location.href = wctx.url("/")+"?taskSeCd="+$("#layout-navbar input[name='taskSeCd']:checked").val();
-}
-
-let userMenus = ${userMenus};
-let menuSupport = new MenuSupport("#layout-menu");
-function setUserMenus(menus) {
- menuSupport.setMenuInfo(menus).setActive(wctx.current());
- let currentMenu = menuSupport.getMenu(wctx.current());
- if (currentMenu)
- setPageTitle(currentMenu.name);
-}
-
-setUserMenus(userMenus);
-
\ No newline at end of file
diff --git a/src/main/webapp/WEB-INF/jsp/index.jsp b/src/main/webapp/WEB-INF/jsp/index.jsp
deleted file mode 100644
index 036b37c8..00000000
--- a/src/main/webapp/WEB-INF/jsp/index.jsp
+++ /dev/null
@@ -1,459 +0,0 @@
-<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8" isELIgnored="false" session="false"%>
-<%@ include file="/WEB-INF/jsp/include/taglib.jsp"%>
-
-
-