diff --git a/src/main/resources/application.yml b/src/main/resources/application.yml index 0b8db58..105344c 100644 --- a/src/main/resources/application.yml +++ b/src/main/resources/application.yml @@ -1,6 +1,5 @@ server: shutdown: graceful -# port: 51922 port: 9078 servlet: context-path: / @@ -31,7 +30,7 @@ spring: hikari: fims: driver-class-name: net.sf.log4jdbc.sql.jdbcapi.DriverSpy -# jdbc-url: jdbc:log4jdbc:mariadb://211.119.124.3:53306/fims?useUnicode=true&characterEncoding=utf8&serverTimezone=Asia/Seoul&useSSL=false&autocommit=false +# jdbc-url: jdbc:log4jdbc:mariadb://98.1.1.94:53306/fims?useUnicode=true&characterEncoding=utf8&serverTimezone=Asia/Seoul&useSSL=false&autocommit=false jdbc-url: jdbc:log4jdbc:mariadb://211.119.124.9:4407/fims_chongno?useUnicode=true&characterEncoding=utf8&serverTimezone=Asia/Seoul&useSSL=false&autocommit=false username: fimsweb password: xit581!*)& diff --git a/src/main/webapp/WEB-INF/jsp/base/authority/authority-info.jsp b/src/main/webapp/WEB-INF/jsp/base/authority/authority-info.jsp index 3536269..cf36edf 100644 --- a/src/main/webapp/WEB-INF/jsp/base/authority/authority-info.jsp +++ b/src/main/webapp/WEB-INF/jsp/base/authority/authority-info.jsp @@ -4,9 +4,7 @@
- +
@@ -14,9 +12,7 @@
- +
@@ -24,9 +20,7 @@
- +
diff --git a/src/main/webapp/WEB-INF/jsp/fims/crdn/crdn-cctv.jsp b/src/main/webapp/WEB-INF/jsp/fims/crdn/crdn-cctv.jsp new file mode 100644 index 0000000..846a87b --- /dev/null +++ b/src/main/webapp/WEB-INF/jsp/fims/crdn/crdn-cctv.jsp @@ -0,0 +1,189 @@ +<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8" isELIgnored="false" session="false"%> +<%@ include file="/WEB-INF/jsp/include/taglib.jsp"%> +
+
+
+
+
+ + +
+
+
+
+
+
+
+
+ +
+ +
    +
    + + +
    +
    +
    + +
    +
    +
    +
    +
    +
    + +
    + +
    + + +
    +
    +
    + +
    +
    +
    +
    +
    + +pageName = "${pageName}-cctv"; +var $C = pageObject[pageName] = newDoctxFinder(pageName); +dirSet.onDatasetChange = () => { + var t = $C.getGridTemplate("dir-list"); + var trs = Apply.fromDataset.getTbody(dirSet, t.found, t.notFound, t.replacer); + $C.renderDirList("dir-list", dirSet.length, dirSet.length, trs); +}; +dirSet.onCurrentChange = (dataItem) => { + let dir = dataItem ? dataItem.data : null, + empty = !dir || Object.keys(dir).length < 1; + if (empty) return; + + $C.getFiles(dir.name); + + var dataIndex = dataItem.index; + $C.$findn("dir-list").find("tbody").setCurrentRow(dataIndex); + +}; +fileSet.onDatasetChange = () => { + var t = $C.getGridTemplate("file-list"), + trs = Apply.fromDataset.getTbody(fileSet, t.found, t.notFound, t.replacer), + length = fileSet.length; + $C.renderDirList("file-list", length, length, trs); + $C.findn("btnInsertCrdn").disabled = length < 1; + $C.findn("filePagingInfo").innerHTML = "찾은 파일: " + length; +}; +fileSet.onCurrentChange = (dataItem) => { + let dir = dataItem ? dataItem.data : null; + if (!dir || Object.keys(dir).length < 1) return; + + var dataIndex = dataItem.index; + $C.$findn("file-list").find("tbody").setCurrentRow(dataIndex); +}; + +$C.getFiles = dir => { + ajax.get({ + url: wctx.url("/crdn/crdn05/020/files.do"), + data: {dir: dir}, + success: resp => fileSet.setData(resp.fileList, {pagination: {}}) + }); +}; + +$C.createCrdn = () => { + let current = dirSet.getCurrent("item"), + dir = current.data.name; + dialog.alert({ + content: current.getValue("name") + " 디렉토리의 파일로 단속을 등록하시겠습니까?", + onOK: () => { + ajax.post({ + url : wctx.url("/crdn/crdn05/020/upload.do"), + data : { + taskSeCd: "${taskSeCd}", + doExempt: $C.findn('doExempt').checked, + dirs: dir + }, + success : (resp) => { + if (resp.saved) { + $C.getFiles(dir); + if(resp.alertMessage) + dialog.alert(resp.alertMessage); + else + dialog.alert("등록이 완료됐습니다."); + } else { + dialog.alert(resp.failReason); + } + } + }); + } + }); +} + +$C.getGridTemplate = (name) => { + var notFound = [$C.$findn(name).find("template.notFound")[0].innerHTML]; + var found = $C.$findn(name).find("template.found")[0].innerHTML; + var replacer = (str, dataItem) => str + .replace(/{onclick}/gi, "pageObject['" + pageName + "'].clickDirList('{data-index}');"); + + return { + found : found, + notFound : notFound, + replacer : replacer + }; +} +$C.clickDirList = (dataIndex) => { + if (!dataIndex) return; + + dirSet.setCurrent(dataIndex); +}; +$C.renderDirList = (name, total, listLength, trs) => { + $C.$findn(name).find("tbody").html(trs); + let empty = listLength < 1; + if (!empty) + FimsSupport.fnDownsizeCheck($C.$findn(name).find("table")[0]); +} + +$C.$findn("btnInsertCrdn").on("click", function(){ + $C.createCrdn(); +}); + +dirSet.setData(${dirList}); + \ No newline at end of file diff --git a/src/main/webapp/WEB-INF/jsp/fims/crdn/crdn-local.jsp b/src/main/webapp/WEB-INF/jsp/fims/crdn/crdn-local.jsp new file mode 100644 index 0000000..f9ffeaf --- /dev/null +++ b/src/main/webapp/WEB-INF/jsp/fims/crdn/crdn-local.jsp @@ -0,0 +1,221 @@ +<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8" isELIgnored="false" session="false"%> +<%@ include file="/WEB-INF/jsp/include/taglib.jsp"%> +
    +
    +
    +
    +
    + + +
    + +
    +
    +
    +
    +
    +
    +
    + +
    + +
      +
      + + +
      +
      +
      + +
      +
      +
      +
      +
      + +
      +
      + +
      +
      +
      + +
      +
      + +pageName = "${pageName}-local"; +var $L = pageObject[pageName] = newDoctxFinder(pageName); + +uploadSet.onDatasetChange = uploadSet.onRemove = obj => { + var t = $L.getGridTemplate(); + var trs = Apply.fromDataset.getTbody(uploadSet, t.found, t.notFound, t.replacer); + $L.renderParsedInfoList(uploadSet.length, uploadSet.length, trs); + $L.findn("btnInsertCrdn").disabled = $L.findn("btnDelete").disabled = uploadSet.length < 1; +}; +uploadSet.onCurrentChange = (dataItem) => { + $L.$findn("imageArea").html(""); + let file = dataItem ? dataItem.data : null; + if (!file || Object.keys(file).length < 1) return; + + var dataIndex = file.id; + $L.$findn("table-responsive").find("tbody").setCurrentRow(dataIndex); + + if(dataItem.data.FILE_GROUP_TYPE == "BIN"){ + var srcArr = []; + + for(var i=1; i <= dataItem.data.PHOTO_CNT; i++){ + srcArr.push("data:image/jpg;base64," + dataItem.data["B64IMAGE"+i]) + } + + $L.renderImage(srcArr); + } else { + var dataKey = file.name; + if(!dataKey.endsWith(".txt") && !dataKey.endsWith(".TXT")){ + var src = file.url; + $L.renderImage(src); + } + } +}; + +$L.tempGroup = {}; +var ctrl = newCrdn05020Control($L); + +$L.getGridTemplate = () => { + var notFound = [$L.$findn("table-responsive").find("template.notFound")[0].innerHTML]; + var found = $L.$findn("table-responsive").find("template.found")[0].innerHTML; + var replacer = (str, dataItem) => str + .replace(/{onclick}/gi, "pageObject['" + pageName + "'].clickParsedInfoList('{id}');"); + + return { + found : found, + notFound : notFound, + replacer : replacer + }; +} + +//테이블 렌더링 +$L.renderParsedInfoList = (total, listLength, trs) => { + $L.$findn("table-responsive").find("tbody").html(trs); + let empty = listLength < 1; + if (!empty) + FimsSupport.fnDownsizeCheck($L.$findn("table-responsive").find("table")[0]); +} + +//사진 표시 +$L.renderImage = (src) => { + if(Array.isArray(src)){ + var div = document.createElement("div"); + div.style["margin-top"] = div.style["margin-bottom"] = "20px"; + div.style["overflow-y"] = "scroll"; + for(var i=0; i < src.length; i++){ + var span = document.createElement("span"); + span.style["max-width"] = span.style["max-height"] = "260px"; + var img = document.createElement("img"); + img.style["object-fit"] = "contain"; + img.style["max-width"] = img.style["max-height"] = "inherit"; + img.src = src[i]; + span.appendChild(img); + div.appendChild(span); + } + $L.$findn("imageArea").append(div); + } else { + var img = document.createElement("img"); + img.style["object-fit"] = "contain"; + img.src = src; + $L.$findn("imageArea").append(img); + } +} + +$L.clickParsedInfoList = (dataIndex) => { + if (!dataIndex) return; + + uploadSet.setCurrent(dataIndex); +}; + +$L.createCrdn = () => + upload({ + url : wctx.url("/crdn/crdn05/020/upload.do"), + data : { + taskSeCd: "${taskSeCd}", + doExempt: document.querySelector('div[data-doctx="' + pageName + '"] input[name="doExempt"]').checked, + uploadFiles: uploadSet.getDataset() + }, + success : (resp) => { + if (resp.saved) { + uploadSet.setData([]); + if(resp.alertMessage) + dialog.alert(resp.alertMessage); + else + dialog.alert("등록이 완료됐습니다."); + } else { + dialog.alert(resp.failReason); + } + } + }); + +$L.deleteFile = () => { + var current = uploadSet.getCurrent(); + if (!current) return; + + uploadSet.erase(current.id); +} + +$L.removeCallback = (removedFileNameArr) => { + let removedDataIndexArr = []; + for(var i = 0; i < removedFileNameArr.length; i++){ + let dii = ctrl.dataset.getDataset("item").filter(item=>item.data.FILE_NAME == removedFileNameArr[i])[0].index; + removedDataIndexArr.push(dii); + } + + ctrl.dataset.remove(removedDataIndexArr); + $L.removeTableRow(removedDataIndexArr); +} + +$L.removeTableRow = (removedDataIndexArr) => { + var fileListTable = $L.$findn("table-responsive").find("table")[0]; + + for(var i = 0; i < removedDataIndexArr.length; i++){ + var target = removedDataIndexArr[i]; + var tr = $(fileListTable).find("tbody").find("tr[data-index='"+target+"']"); + var trIndex = $(fileListTable).find("tbody tr").index(tr); + fileListTable.deleteRow(trIndex+1); + } +} + +$L.$findn("btnInsertCrdn").on("click", function(){ + $L.createCrdn(); +}); + +$L.$findn("btnDelete").on("click", function(){ $L.deleteFile(); }); + +$L.$findn("direct").on("click", function(){ + if($(this).is(":checked")){ + $("#uploadFilesArea").removeAttr("hidden"); + } else { + $("#uploadFilesArea").attr("hidden","hidden"); + $L.$findn("uploadFiles").val(""); + } +}); + +uploadSet.setData([]); + \ No newline at end of file diff --git a/src/main/webapp/WEB-INF/jsp/fims/crdn/crdn05020-info.jsp b/src/main/webapp/WEB-INF/jsp/fims/crdn/crdn05020-info.jsp index 6c8adf2..d722f27 100644 --- a/src/main/webapp/WEB-INF/jsp/fims/crdn/crdn05020-info.jsp +++ b/src/main/webapp/WEB-INF/jsp/fims/crdn/crdn05020-info.jsp @@ -1,246 +1,36 @@ <%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8" isELIgnored="false" session="false"%> <%@ include file="/WEB-INF/jsp/include/taglib.jsp"%> 단속 파일 등록 -
      -
      -
      -
      - - -
      -
      -
      -
      -
      -
      -
      - -
      - -
        -
        - - -
        -
        -
        - -
        -
        -
        -
        -
        - -
        -
        - - -
        -
        -
        - -
        + - \ No newline at end of file diff --git a/src/sql/clear-tables.sql b/src/sql/clear-tables.sql new file mode 100644 index 0000000..9f57c1b --- /dev/null +++ b/src/sql/clear-tables.sql @@ -0,0 +1,93 @@ +DELETE FROM TB_CNTC_SNDNG_DETAIL; +DELETE FROM TB_CNTC_SNDNG_MASTR; +DELETE FROM TB_CNTC_SNDNG_RESULT; +DELETE FROM TB_CRDN; +DELETE FROM TB_CRDN_ADI; +DELETE FROM TB_CRDN_CVLCPT; +DELETE FROM TB_CRDN_RE_REG; +DELETE FROM TB_CRDN_STTS_HSTRY; +DELETE FROM TB_CVLCPT_ANS_WORDS; +DELETE FROM TB_CVLCPT_BSC_WORDS; +DELETE FROM TB_CVLCPT_DSCSN; +DELETE FROM TB_EPOST_DLVR_RSLT; +DELETE FROM TB_EPOST_MAKE_RSLT; +DELETE FROM TB_EPOST_PROC_LOG; +DELETE FROM TB_EPOST_RCPT_DTL; +DELETE FROM TB_EPOST_RCPT_REG; +DELETE FROM TB_EPOST_RCPT_RSLT; +DELETE FROM TB_EPOST_RCPTN_RSLT; +DELETE FROM TB_EPOST_RG_NO; +DELETE FROM TB_ESB_INTERFACE; +DELETE FROM TB_ESB_INTERFACE_FILE; +DELETE FROM TB_ESB_INTERFACE_TRSM; +DELETE FROM TB_EXMPTN_VHCL; +DELETE FROM TB_EXMPTN_VHCL_HSTRY; +DELETE FROM TB_FILE; +DELETE FROM TB_FILE_MOSC; +DELETE FROM TB_LEVY; +DELETE FROM TB_LEVY_EXCL; +DELETE FROM TB_NIS_INDIV_A01; +DELETE FROM TB_NIS_INDIV_A02; +DELETE FROM TB_NIS_INDIV_A03; +DELETE FROM TB_NIS_INDIV_B01; +DELETE FROM TB_NIS_INDIV_C01; +DELETE FROM TB_NIS_INDIV_D01; +DELETE FROM TB_NIS_INDIV_D02; +DELETE FROM TB_NIS_INDIV_D03; +DELETE FROM TB_NIS_INDIV_D04; +DELETE FROM TB_NIS_INDIV_D05; +DELETE FROM TB_NIS_INDIV_D06; +DELETE FROM TB_NIS_INDIV_D07A; +DELETE FROM TB_NIS_INDIV_D07B; +DELETE FROM TB_NIS_INDIV_D07C; +DELETE FROM TB_NIS_INDIV_D07D; +DELETE FROM TB_NIS_INDIV_D07E; +DELETE FROM TB_NIS_SPCL_B01; +DELETE FROM TB_NIS_SPCL_B01RV; +DELETE FROM TB_NIS_SPCL_B02; +DELETE FROM TB_NIS_SPCL_B02RV; +DELETE FROM TB_NIS_SPCL_B03; +DELETE FROM TB_NIS_SPCL_B03RV; +DELETE FROM TB_NIS_SPCL_B04; +DELETE FROM TB_NIS_SPCL_B04RV; +DELETE FROM TB_NIS_SPCL_B05; +DELETE FROM TB_NIS_SPCL_B05RV; +DELETE FROM TB_NIS_SPCL_B06; +DELETE FROM TB_NIS_SPCL_B06RV; +DELETE FROM TB_NIS_SPCL_B07; +DELETE FROM TB_NIS_SPCL_B07RV; +DELETE FROM TB_NIS_SPCL_B08; +DELETE FROM TB_NIS_SPCL_B08RV; +DELETE FROM TB_NIS_SPCL_B09; +DELETE FROM TB_NIS_SPCL_B09RV; +DELETE FROM TB_NIS_SPCL_B10; +DELETE FROM TB_NIS_SPCL_B10RV; +DELETE FROM TB_NIS_SPCL_B11; +DELETE FROM TB_NIS_SPCL_B11RV; +DELETE FROM TB_NIS_SPCL_B12; +DELETE FROM TB_NIS_SPCL_B12RV; +DELETE FROM TB_NIS_SPCL_B13; +DELETE FROM TB_NIS_SPCL_B13RV; +DELETE FROM TB_NIS_SPCL_B14; +DELETE FROM TB_NIS_SPCL_B14RV; +DELETE FROM TB_NIS_SPCL_B15; +DELETE FROM TB_NIS_SPCL_B15RV; +DELETE FROM TB_NIS_SPCL_B16; +DELETE FROM TB_NIS_SPCL_B16RV; +DELETE FROM TB_NOTICE; +DELETE FROM TB_NXRP_MTCHG; +DELETE FROM TB_OPNN_SBMSN; +DELETE FROM TB_RCVMT; +DELETE FROM TB_RDAMT; +DELETE FROM TB_RDCT; +DELETE FROM TB_SAEOL_CVLCPT_INDIV_DMND; +DELETE FROM TB_SAEOL_CVLCPT_LIST; +DELETE FROM TB_SCHDL; +DELETE FROM TB_SNDNG_DTL; +DELETE FROM TB_SNDNG_HSTRY; +DELETE FROM TB_SNDNG; +DELETE FROM TB_SVBTC; +DELETE FROM TB_SYS_LOG; +DELETE FROM TB_TEAM; + +COMMIT; \ No newline at end of file