Leeyh1121 4 months ago
commit e9b6259f38

@ -237,8 +237,8 @@ public class AddsNimsController extends ApplicationController {
// 폐기증거사진 - 폐기증거사진 등록 정보 조회
mav.addObject("dsuseRsltImgList","[]");
// 폐기일자가 있는 경우 - 폐기증거사진 등록 정보 조회
if(!isEmpty(dsuseRsltInfo.getDsuseDe())) {
// 신청서접수상태가 아닌 경우 - 폐기증거사진 등록 정보 조회
if(!"01".equals(dsuseRsltInfo.getPrgrsSttsCd())) {
mav.addObject(
"dsuseRsltImgList",
toJson(
@ -252,6 +252,8 @@ public class AddsNimsController extends ApplicationController {
)
)
);
}else {
mav.addObject("dsuseRsltImgList", "[]");
}
return mav
@ -273,7 +275,6 @@ public class AddsNimsController extends ApplicationController {
//-------------------------------------------------------------------------------------------------
// 보고 확인 처리
//-------------------------------------------------------------------------------------------------
// dsuseMgtMappingList = "/dsuseMgtMapping-list.do"
@RequestMapping(value = "/dsuseMgtMapping-info.do", name = "페기 보고 확인 등록")
public ModelAndView getDsuseMgtMappingInfo(DsuseMappingInfo dsuseMappingInfo) {
ModelAndView mav = new ModelAndView("adds/nims/dsuseMgtMapping-info");
@ -368,23 +369,24 @@ public class AddsNimsController extends ApplicationController {
XLSWriter xlsx = new XLSWriter().worksheet(0);
Format format = new Format(xlsx);
CellStyle center = format.cellStyle(Style.CENTER);
CellStyle right = format.cellStyle(Style.RIGHT);
CellStyle numeric = format.n_nn0();
List<DataObject> list = addsNimsService.getDsuseMgtNcrdAndPrtmStatistics(query);
Map<String, Object> valueMap = new HashMap<String, Object>();
Map<String, Object> valueMap = new HashMap<>();
valueMap.put("관할관청", format.of("dept_nm").style(center));
valueMap.put("대마", format.of("대마").style(numeric));
valueMap.put("마약", format.of("마약").style(numeric));
valueMap.put("한외마약", format.of("한외마약").style(numeric));
valueMap.put("향정", format.of("향정").style(numeric));
valueMap.put("향정제외", format.of("향정제외").style(numeric));
valueMap.put("기타", format.of("기타").style(numeric));
valueMap.put("마약향정 계", format.of("마약향정계").style(numeric));
valueMap.put("비마약류", format.of("비마약류").style(numeric));
valueMap.put("일반관리대상", format.of("일반관리대상").style(numeric));
valueMap.put("중점관리대상", format.of("중점관리대상").style(numeric));
valueMap.put("중점일반 계", format.of("중점일반계").style(numeric));
valueMap.put("대마", a_slash_ab(format, "대마", "Qy").style(numeric));
valueMap.put("마약", a_slash_ab(format, "마약", "Qy").style(right));
valueMap.put("한외마약", a_slash_ab(format, "한외마약", "Qy").style(right));
valueMap.put("향정", a_slash_ab(format, "향정", "Qy").style(right));
valueMap.put("향정제외", a_slash_ab(format, "향정제외", "Qy").style(right));
valueMap.put("기타", a_slash_ab(format, "기타", "Qy").style(right));
valueMap.put("마약향정계", a_slash_ab(format, "마약향정계", "Qy").style(right));
valueMap.put("비마약류", a_slash_ab(format, "비마약류", "Qy").style(right));
valueMap.put("일반관리대상", a_slash_ab(format, "일반관리대상", "Qy").style(right));
valueMap.put("중점관리대상", a_slash_ab(format, "중점관리대상", "Qy").style(right));
valueMap.put("중점일반계", a_slash_ab(format, "중점일반계", "Qy").style(right));
CellDef.setValues(cellDefs, valueMap);
@ -423,7 +425,7 @@ public class AddsNimsController extends ApplicationController {
Map<String, Object> valueMap = new HashMap<String, Object>();
valueMap.put("관할관청", format.of("dept_nm").style(center));
valueMap.put("대마", format.of("대마").style(numeric));
valueMap.put("제품코드", format.of("prduct_cd").style(numeric));
valueMap.put("마약", format.of("마약").style(numeric));
valueMap.put("한외마약", format.of("한외마약").style(numeric));
valueMap.put("향정", format.of("향정").style(numeric));
@ -1080,6 +1082,14 @@ public class AddsNimsController extends ApplicationController {
byteOut.write(("Content-Type: application/json; charset=UTF-8" + lineSeparator + lineSeparator).getBytes(StandardCharsets.UTF_8));
byteOut.write((dsuseMgtJsonStr + lineSeparator).getBytes(StandardCharsets.UTF_8));
}
private static Format a_slash_ab(Format format, String a, String b) {
return format.of(a).value((o) -> {
Number aa = (Number)((Map<?,?>)o).get(a);
Number bb = (Number)((Map<?,?>)o).get(a + b);
return aa.intValue() + " / " + bb.intValue();
});
}
//-------------------------------------------------------------------------------------------------
// private method
//-------------------------------------------------------------------------------------------------

@ -6,16 +6,24 @@
/* 마약/항정 and 중점/일반 별 통계 */
WITH tgt AS (
SELECT tdm.dept_cd
, IF(tpi.nrcd_se_nm = '대마', '1', '0') AS 대마
, IF(tpi.nrcd_se_nm = '마약', '1', '0') AS 마약
, IF(tpi.nrcd_se_nm = '한외마약', '1', '0') AS 한외마약
, IF(tpi.nrcd_se_nm = '향정', '1', '0') AS 향정
, IF(tpi.nrcd_se_nm = '향정제외', '1', '0') AS 향정제외
, IF(tpi.nrcd_se_nm IS NULL, '1', '0') AS 기타
, IF(tpi.nrcd_se_nm = '대마', 1, '0') AS 대마
, IF(tpi.nrcd_se_nm = '마약', 1, '0') AS 마약
, IF(tpi.nrcd_se_nm = '한외마약', 1, '0') AS 한외마약
, IF(tpi.nrcd_se_nm = '향정', 1, '0') AS 향정
, IF(tpi.nrcd_se_nm = '향정제외', 1, '0') AS 향정제외
, IF(tpi.nrcd_se_nm IS NULL, 1, '0') AS 기타
, IF(tpi.prtm_se_nm = '비마약류', 1, 0) AS 비마약류
, IF(tpi.prtm_se_nm = '일반관리대상', 1, 0) AS 일반관리대상
, IF(tpi.prtm_se_nm = '중점관리대상', 1, 0) AS 중점관리대상
, COUNT(tpi.prduct_cd) OVER(PARTITION BY tdm.dept_cd) AS TOTAL
, IF(tpi.nrcd_se_nm = '대마', tdmd.dsuse_qy, '0') AS 대마qy
, IF(tpi.nrcd_se_nm = '마약', tdmd.dsuse_qy, '0') AS 마약qy
, IF(tpi.nrcd_se_nm = '한외마약', tdmd.dsuse_qy, '0') AS 한외마약qy
, IF(tpi.nrcd_se_nm = '향정', tdmd.dsuse_qy, '0') AS 향정qy
, IF(tpi.nrcd_se_nm = '향정제외', tdmd.dsuse_qy, '0') AS 향정제외qy
, IF(tpi.nrcd_se_nm IS NULL, tdmd.dsuse_qy, '0') AS 기타qy
, IF(tpi.prtm_se_nm = '비마약류', tdmd.dsuse_qy, 0) AS 비마약류qy
, IF(tpi.prtm_se_nm = '일반관리대상', tdmd.dsuse_qy, 0) AS 일반관리대상qy
, IF(tpi.prtm_se_nm = '중점관리대상', tdmd.dsuse_qy, 0) AS 중점관리대상qy
FROM tb_dsuse_mgt tdm
JOIN tb_dsuse_mgt_dtl tdmd ON tdm.dscdmng_id = tdmd.dscdmng_id
JOIN tb_prduct_info tpi ON tdmd.prduct_cd = tpi.prduct_cd
@ -49,6 +57,17 @@
, SUM(tgt.일반관리대상) AS 일반관리대상
, SUM(tgt.중점관리대상) AS 중점관리대상
, SUM(tgt.비마약류 + tgt.일반관리대상 + tgt.중점관리대상) AS 중점일반계
, SUM(tgt.대마qy) AS 대마qy
, SUM(tgt.마약qy) AS 마약qy
, SUM(tgt.한외마약qy) AS 한외마약qy
, SUM(tgt.향정qy) AS 향정qy
, SUM(tgt.향정제외qy) AS 향정제외qy
, SUM(tgt.기타qy) AS 기타qy
, SUM(tgt.대마qy + tgt.마약qy + tgt.한외마약qy + tgt.향정qy + tgt.향정제외qy + tgt.기타qy) AS 마약향정계qy
, SUM(tgt.비마약류qy) AS 비마약류qy
, SUM(tgt.일반관리대상qy) AS 일반관리대상qy
, SUM(tgt.중점관리대상qy) AS 중점관리대상qy
, SUM(tgt.비마약류qy + tgt.일반관리대상qy + tgt.중점관리대상qy) AS 중점일반계qy
FROM tgt
GROUP BY tgt.dept_cd
UNION ALL
@ -64,6 +83,17 @@
, SUM(tgt.일반관리대상) AS 일반관리대상
, SUM(tgt.중점관리대상) AS 중점관리대상
, SUM(tgt.비마약류 + tgt.일반관리대상 + tgt.중점관리대상) AS 중점일반계
, SUM(tgt.대마qy) AS 대마qy
, SUM(tgt.마약qy) AS 마약qy
, SUM(tgt.한외마약qy) AS 한외마약qy
, SUM(tgt.향정qy) AS 향정qy
, SUM(tgt.향정제외qy) AS 향정제외qy
, SUM(tgt.기타qy) AS 기타qy
, SUM(tgt.대마qy + tgt.마약qy + tgt.한외마약qy + tgt.향정qy + tgt.향정제외qy + tgt.기타qy) AS 마약향정계qy
, SUM(tgt.비마약류qy) AS 비마약류qy
, SUM(tgt.일반관리대상qy) AS 일반관리대상qy
, SUM(tgt.중점관리대상qy) AS 중점관리대상qy
, SUM(tgt.비마약류qy + tgt.일반관리대상qy + tgt.중점관리대상qy) AS 중점일반계qy
FROM tgt
) T
LEFT JOIN tb_dept td
@ -82,6 +112,10 @@
, IF(tdm.prgrs_stts_cd = '06', 1, 0) AS rslt
, IF(tdm.prgrs_stts_cd = '21', 1, 0) AS mapping
, IF(tdm.prgrs_stts_cd = '99', 1, 0) AS cplt
, IF(tdm.prgrs_stts_cd = '01', tdmd.dsuse_qy, 0) AS receiptQy
, IF(tdm.prgrs_stts_cd = '06', tdmd.dsuse_qy, 0) AS rsltQy
, IF(tdm.prgrs_stts_cd = '21', tdmd.dsuse_qy, 0) AS mappingQy
, IF(tdm.prgrs_stts_cd = '99', tdmd.dsuse_qy, 0) AS cpltQy
FROM tb_dsuse_mgt tdm
JOIN tb_dsuse_mgt_dtl tdmd
ON tdm.dscdmng_id = tdmd.dscdmng_id
@ -102,7 +136,6 @@
</if>
)
SELECT T.*
-- , ROW_NUMBER() over (order by prduct_nm) AS ROW_NUM
, ROW_NUMBER() OVER (ORDER BY T.dept_cd, T.prduct_nm, T.prduct_cd) AS ROW_NUM
, IF(td.dept_nm IS NULL, T.dept_cd, dept_nm) AS dept_nm
FROM (
@ -113,6 +146,10 @@
, SUM(tgt.rslt) AS rsltCnt
, SUM(tgt.mapping) AS mappingCnt
, SUM(tgt.cplt) AS cpltCnt
, SUM(tgt.receiptQy) AS receiptQy
, SUM(tgt.rsltQy) AS rsltQy
, SUM(tgt.mappingQy) AS mappingQy
, SUM(tgt.cpltQy) AS cpltQy
, COUNT(tgt.dscdmng_id) AS dsuseCnt
, SUM(tgt.dsuse_qy) AS dsuseQy
FROM tgt
@ -125,6 +162,10 @@
, SUM(tgt.rslt) AS rsltCnt
, SUM(tgt.mapping) AS mappingCnt
, SUM(tgt.cplt) AS cpltCnt
, SUM(tgt.receiptQy) AS receiptQy
, SUM(tgt.rsltQy) AS rsltQy
, SUM(tgt.mappingQy) AS mappingQy
, SUM(tgt.cpltQy) AS cpltQy
, count(tgt.dscdmng_id) AS dsuseCnt
, sum(tgt.dsuse_qy) AS dsuseQy
FROM tgt
@ -149,6 +190,13 @@
, IF(tbi.induty_nm = '마약류제조업', 1, 0) AS 마약류제조업
, IF(tbi.induty_nm = '마약류취급의료업', 1, 0) AS 마약류취급의료업
, IF(tbi.induty_nm = '마약류취급학술연구', 1, 0) AS 마약류취급학술연구
, IF(tbi.induty_nm = '마약류도매업', tdmd.dsuse_qy, 0) AS 마약류도매업Qy
, IF(tbi.induty_nm = '마약류소매업', tdmd.dsuse_qy, 0) AS 마약류소매업Qy
, IF(tbi.induty_nm = '마약류수출입업', tdmd.dsuse_qy, 0) AS 마약류수출입업Qy
, IF(tbi.induty_nm = '마약류원료사용', tdmd.dsuse_qy, 0) AS 마약류원료사용Qy
, IF(tbi.induty_nm = '마약류제조업', tdmd.dsuse_qy, 0) AS 마약류제조업Qy
, IF(tbi.induty_nm = '마약류취급의료업', tdmd.dsuse_qy, 0) AS 마약류취급의료업Qy
, IF(tbi.induty_nm = '마약류취급학술연구', tdmd.dsuse_qy, 0) AS 마약류취급학술연구Qy
FROM tb_dsuse_mgt tdm
JOIN tb_dsuse_mgt_dtl tdmd
ON tdm.dscdmng_id = tdmd.dscdmng_id
@ -180,7 +228,13 @@
, SUM(tgt.마약류제조업) AS 마약류제조업
, SUM(tgt.마약류취급의료업) AS 마약류취급의료업
, SUM(tgt.마약류취급학술연구) AS 마약류취급학술연구
-- , SUM(tgt.마약류도매업 + tgt.마약류소매업 + tgt.마약류수출입업 + tgt.마약류원료사용 + tgt.마약류제조업 + tgt.마약류취급의료업 + tgt.마약류취급학술연구) AS 계
, SUM(tgt.마약류도매업Qy) AS 마약류도매업Qy
, SUM(tgt.마약류소매업Qy) AS 마약류소매업Qy
, SUM(tgt.마약류수출입업Qy) AS 마약류수출입업Qy
, SUM(tgt.마약류원료사용Qy) AS 마약류원료사용Qy
, SUM(tgt.마약류제조업Qy) AS 마약류제조업Qy
, SUM(tgt.마약류취급의료업Qy) AS 마약류취급의료업Qy
, SUM(tgt.마약류취급학술연구Qy) AS 마약류취급학술연구Qy
, COUNT(tgt.dscdmng_id) as dsuseCnt
, SUM(tgt.dsuse_qy) as dsuseQy
FROM tgt
@ -194,7 +248,13 @@
, SUM(tgt.마약류제조업) AS 마약류제조업
, SUM(tgt.마약류취급의료업) AS 마약류취급의료업
, SUM(tgt.마약류취급학술연구) AS 마약류취급학술연구
-- , SUM(tgt.마약류도매업 + tgt.마약류소매업 + tgt.마약류수출입업 + tgt.마약류원료사용 + tgt.마약류제조업 + tgt.마약류취급의료업 + tgt.마약류취급학술연구) AS 계
, SUM(tgt.마약류도매업Qy) AS 마약류도매업Qy
, SUM(tgt.마약류소매업Qy) AS 마약류소매업Qy
, SUM(tgt.마약류수출입업Qy) AS 마약류수출입업Qy
, SUM(tgt.마약류원료사용Qy) AS 마약류원료사용Qy
, SUM(tgt.마약류제조업Qy) AS 마약류제조업Qy
, SUM(tgt.마약류취급의료업Qy) AS 마약류취급의료업Qy
, SUM(tgt.마약류취급학술연구Qy) AS 마약류취급학술연구Qy
, COUNT(tgt.dscdmng_id) AS dsuseCnt
, SUM(tgt.dsuse_qy) AS dsuseQy
FROM tgt
@ -217,6 +277,10 @@
, IF(tdm.prgrs_stts_cd = '06', 1, 0) AS rslt
, IF(tdm.prgrs_stts_cd = '21', 1, 0) AS mapping
, IF(tdm.prgrs_stts_cd = '99', 1, 0) AS cplt
, IF(tdm.prgrs_stts_cd = '01', tdmd.dsuse_qy, 0) AS receiptQy
, IF(tdm.prgrs_stts_cd = '06', tdmd.dsuse_qy, 0) AS rsltQy
, IF(tdm.prgrs_stts_cd = '21', tdmd.dsuse_qy, 0) AS mappingQy
, IF(tdm.prgrs_stts_cd = '99', tdmd.dsuse_qy, 0) AS cpltQy
FROM tb_dsuse_mgt tdm
JOIN tb_dsuse_mgt_dtl tdmd
ON tdm.dscdmng_id = tdmd.dscdmng_id
@ -248,6 +312,10 @@
, SUM(tgt.rslt) AS rsltCnt
, SUM(tgt.mapping) AS mappingCnt
, SUM(tgt.cplt) AS cpltCnt
, SUM(tgt.receiptQy) AS receiptQy
, SUM(tgt.rsltQy) AS rsltQy
, SUM(tgt.mappingQy) AS mappingQy
, SUM(tgt.cpltQy) AS cpltQy
, COUNT(tgt.dscdmng_id) AS dsuseCnt
, SUM(tgt.dsuse_qy) AS dsuseQy
FROM tgt
@ -261,6 +329,10 @@
, SUM(tgt.rslt) AS rsltCnt
, SUM(tgt.mapping) AS mappingCnt
, SUM(tgt.cplt) AS cpltCnt
, SUM(tgt.receiptQy) AS receiptQy
, SUM(tgt.rsltQy) AS rsltQy
, SUM(tgt.mappingQy) AS mappingQy
, SUM(tgt.cpltQy) AS cpltQy
, count(tgt.dscdmng_id) AS dsuseCnt
, sum(tgt.dsuse_qy) AS dsuseQy
FROM tgt

@ -88,16 +88,16 @@
<th class="cmn align-content-center p-1" style="width: 140px;" rowspan="2">취급자번호</th>
<th class="cmn align-content-center p-1" style="width: 280px;" rowspan="2">취급업체명</th>
<th class="cmn align-content-center p-1" style="width: 120px;" rowspan="2">대표자</th>
<th class="cmn fw-bold" colspan="4">처리상태별 건수</th>
<th class="cmn fw-bold" colspan="4">처리상태 (폐기건수 / 폐기수량)</th>
<th class="cmn align-content-center p-1 text-blue" style="width: 100px;" rowspan="2">폐기건수</th>
<th class="cmn align-content-center p-1 text-blue" style="width: 100px;" rowspan="2">폐기수량</th>
</tr>
<tr id="theadTr--${pageName}"
data-by="by--${pageName}" data-by-output="byOutput--${pageName}" data-main-option="mainOption--${pageName}" data-sub-option="subOption--${pageName}">
<th class="cmn" style="width: 100px;">접수건수</th>
<th class="cmn" style="width: 100px;">결과처리건수</th>
<th class="cmn" style="width: 100px;">보고확인건수</th>
<th class="cmn" style="width: 100px;">완료건수</th>
<th class="cmn" style="width: 100px;">신청서접수</th>
<th class="cmn" style="width: 100px;">폐기결과[통보]처리</th>
<th class="cmn" style="width: 100px;">폐기보고확인</th>
<th class="cmn" style="width: 100px;">보고완료</th>
</tr>
</thead>
<tbody id="tbody--${pageName}">
@ -109,10 +109,10 @@
<td class="text-center" onclick="{onclick}" ondblclick="{ondblclick}">{bssh_cd}</td>
<td class="text-start" onclick="{onclick}" ondblclick="{ondblclick}">{bssh_nm}</td>
<td class="text-start" onclick="{onclick}" ondblclick="{ondblclick}">{rprsntv_nm}</td>
<td class="text-end" onclick="{onclick}" ondblclick="{ondblclick}">{receiptCnt}</td>
<td class="text-end" onclick="{onclick}" ondblclick="{ondblclick}">{rsltCnt}</td>
<td class="text-end" onclick="{onclick}" ondblclick="{ondblclick}">{mappingCnt}</td>
<td class="text-end" onclick="{onclick}" ondblclick="{ondblclick}">{cpltCnt}</td>
<td class="text-end" onclick="{onclick}" ondblclick="{ondblclick}">{receiptCnt} / {receiptQy}</td>
<td class="text-end" onclick="{onclick}" ondblclick="{ondblclick}">{rsltCnt} / {rsltQy}</td>
<td class="text-end" onclick="{onclick}" ondblclick="{ondblclick}">{mappingCnt} / {mappingQy}</td>
<td class="text-end" onclick="{onclick}" ondblclick="{ondblclick}">{cpltCnt} / {cpltQy}</td>
<td class="text-end text-blue" onclick="{onclick}" ondblclick="{ondblclick}">{dsuseCnt}</td>
<td class="text-end text-blue" onclick="{onclick}" ondblclick="{ondblclick}">{dsuseQy}</td>
</tr>
@ -339,10 +339,6 @@
$("#btnBsshSearch--${pageName}").on("click", function() {
$P.fnSearchBssh();
});
// DataTables width 변경 조정 (업무별 그리드가 존재 한다면.. crdn06010-main.jsp 참고)
fnMakeResizableTable($("#table-responsive--${pageName}")[0]);
}
// 초기 화면 설정

@ -82,9 +82,14 @@
<div class="table-responsive ox-scroll oy-scroll" style="height: 580px !important;" id="table-responsive--${pageName}">
<table class="table-layout-fixed dataTable datatables-ajax table table-bordered no-footer" id="DataTables_Table_0--${pageName}" aria-describedby="DataTables_Table_0_info">
<thead class="sticky-thead">
<tr id="theadTr0--${pageName}">
<th class="cmn align-content-center p-1" style="width: 170px;" rowspan="2">관할관청</th>
<th class="cmn fw-bold" colspan="7">업종별 구분 (폐기건수 / 폐기수량)</th>
<th class="cmn align-content-center p-1 text-blue" style="width: 100px;" rowspan="2">폐기건수</th>
<th class="cmn align-content-center p-1 text-blue" style="width: 100px;" rowspan="2">폐기수량</th>
</tr>
<tr id="theadTr--${pageName}"
data-by="by--${pageName}" data-by-output="byOutput--${pageName}" data-main-option="mainOption--${pageName}" data-sub-option="subOption--${pageName}">
<th class="cmn" style="width: 170px;">관할관청</th>
<th class="cmn" style="width: 120px;">마약류취급의료업</th>
<th class="cmn" style="width: 100px;">마약류소매업</th>
<th class="cmn" style="width: 100px;">마약류도매업</th>
@ -92,8 +97,6 @@
<th class="cmn" style="width: 100px;">마약류수출입업</th>
<th class="cmn" style="width: 100px;">마약류원료사용</th>
<th class="cmn" style="width: 120px;">마약류취급학술연구</th>
<th class="cmn text-blue" style="width: 100px;">폐기건수</th>
<th class="cmn text-blue" style="width: 100px;">폐기수량</th>
</tr>
</thead>
<tbody id="tbody--${pageName}">
@ -101,13 +104,13 @@
<template id="${infoPrefix}Row--${pageName}">
<tr data-key="{dept_cd}" class="{fw-bold-if-total}">
<td class="cmn text-center" onclick="{onclick}" ondblclick="{ondblclick}">{dept_nm}</td>
<td class="text-end" onclick="{onclick}" ondblclick="{ondblclick}">{마약류취급의료업}</td>
<td class="text-end" onclick="{onclick}" ondblclick="{ondblclick}">{마약류소매업}</td>
<td class="text-end" onclick="{onclick}" ondblclick="{ondblclick}">{마약류도매업}</td>
<td class="text-end" onclick="{onclick}" ondblclick="{ondblclick}">{마약류제조업}</td>
<td class="text-end" onclick="{onclick}" ondblclick="{ondblclick}">{마약류수출입업}</td>
<td class="text-end" onclick="{onclick}" ondblclick="{ondblclick}">{마약류원료사용}</td>
<td class="text-end" onclick="{onclick}" ondblclick="{ondblclick}">{마약류취급학술연구}</td>
<td class="text-end" onclick="{onclick}" ondblclick="{ondblclick}">{마약류취급의료업} / {마약류취급의료업Qy}</td>
<td class="text-end" onclick="{onclick}" ondblclick="{ondblclick}">{마약류소매업} / {마약류소매업Qy}</td>
<td class="text-end" onclick="{onclick}" ondblclick="{ondblclick}">{마약류도매업} / {마약류도매업Qy}</td>
<td class="text-end" onclick="{onclick}" ondblclick="{ondblclick}">{마약류제조업} / {마약류제조업Qy}</td>
<td class="text-end" onclick="{onclick}" ondblclick="{ondblclick}">{마약류수출입업} / {마약류수출입업Qy}</td>
<td class="text-end" onclick="{onclick}" ondblclick="{ondblclick}">{마약류원료사용} / {마약류원료사용Qy}</td>
<td class="text-end" onclick="{onclick}" ondblclick="{ondblclick}">{마약류취급학술연구} / {마약류취급학술연구Qy}</td>
<td class="text-end text-blue" onclick="{onclick}" ondblclick="{ondblclick}">{dsuseCnt}</td>
<td class="text-end text-blue" onclick="{onclick}" ondblclick="{ondblclick}">{dsuseQy}</td>
</tr>
@ -345,10 +348,6 @@
$("#btnBsshSearch--${pageName}").on("click", function() {
$P.fnSearchBssh();
});
// DataTables width 변경 조정 (업무별 그리드가 존재 한다면.. crdn06010-main.jsp 참고)
fnMakeResizableTable($("#table-responsive--${pageName}")[0]);
}
// 초기 화면 설정

@ -85,18 +85,18 @@
<tr id="theadTr0--${pageName}">
<th class="cmn text-center align-content-center p-1" style="width: 60px;" rowspan="2">NO.</th>
<th class="cmn align-content-center p-1" style="width: 170px;" rowspan="2">관할관청</th>
<th class="cmn align-content-center p-1" style="width: 350px;" rowspan="2">제품명</th>
<th class="cmn align-content-center p-1" style="width: 146px;" rowspan="2">제품코드</th>
<th class="cmn fw-bold" colspan="4">처리상태별 건수</th>
<th class="cmn align-content-center p-1" style="width: 350px;" rowspan="2">제품명</th>
<th class="cmn fw-bold" colspan="4">처리상태 별 (폐기건수 / 폐기수량)</th>
<th class="cmn align-content-center p-1 text-blue" style="width: 100px;" rowspan="2">폐기건수</th>
<th class="cmn align-content-center p-1 text-blue" style="width: 100px;" rowspan="2">폐기수량</th>
</tr>
<tr id="theadTr--${pageName}"
data-by="by--${pageName}" data-by-output="byOutput--${pageName}" data-main-option="mainOption--${pageName}" data-sub-option="subOption--${pageName}">
<th class="cmn" style="width: 100px;">접수건수</th>
<th class="cmn" style="width: 100px;">결과처리건수</th>
<th class="cmn" style="width: 100px;">보고확인건수</th>
<th class="cmn" style="width: 100px;">완료건수</th>
<th class="cmn" style="width: 100px;">신청서접수</th>
<th class="cmn" style="width: 100px;">결과[통보]처리</th>
<th class="cmn" style="width: 100px;">폐기보고확인</th>
<th class="cmn" style="width: 100px;">보고완료</th>
</tr>
</thead>
<tbody id="tbody--${pageName}">
@ -105,12 +105,12 @@
<tr data-key="{prduct_cd}" class="{fw-bold-if-total}">
<td class="cmn text-center" onclick="{onclick}" ondblclick="{ondblclick}">{ROW_NUM}</td>
<td class="cmn text-center" onclick="{onclick}" ondblclick="{ondblclick}">{dept_nm}</td>
<td class="text-start" onclick="{onclick}" ondblclick="{ondblclick}">{prduct_nm}</td>
<td class="text-center" onclick="{onclick}" ondblclick="{ondblclick}">{prduct_cd}</td>
<td class="text-end" onclick="{onclick}" ondblclick="{ondblclick}">{receiptCnt}</td>
<td class="text-end" onclick="{onclick}" ondblclick="{ondblclick}">{rsltCnt}</td>
<td class="text-end" onclick="{onclick}" ondblclick="{ondblclick}">{mappingCnt}</td>
<td class="text-end" onclick="{onclick}" ondblclick="{ondblclick}">{cpltCnt}</td>
<td class="text-start" onclick="{onclick}" ondblclick="{ondblclick}">{prduct_nm}</td>
<td class="text-end" onclick="{onclick}" ondblclick="{ondblclick}">{receiptCnt} / {receiptQy}</td>
<td class="text-end" onclick="{onclick}" ondblclick="{ondblclick}">{rsltCnt} / {rsltQy}</td>
<td class="text-end" onclick="{onclick}" ondblclick="{ondblclick}">{mappingCnt} / {mappingQy}</td>
<td class="text-end" onclick="{onclick}" ondblclick="{ondblclick}">{cpltCnt} / {cpltQy}</td>
<td class="text-end text-blue" onclick="{onclick}" ondblclick="{ondblclick}">{dsuseCnt}</td>
<td class="text-end text-blue" onclick="{onclick}" ondblclick="{ondblclick}">{dsuseQy}</td>
</tr>

@ -87,8 +87,8 @@
<thead class="sticky-thead">
<tr id="theadTr0--${pageName}">
<th class="cmn align-content-center p-1" style="width: 170px;" rowspan="2">관할관청</th>
<th class="cmn fw-bold" colspan="7">마약 / 향정 구분</th>
<th class="cmn fw-bold" colspan="4">중점 / 일반 구분</th>
<th class="cmn fw-bold" colspan="7">마약 / 향정 구분 (폐기건수 / 폐기수량)</th>
<th class="cmn fw-bold" colspan="4">중점 / 일반 구분 (폐기건수 / 폐기수량)</th>
</tr>
<tr id="theadTr--${pageName}"
data-by="by--${pageName}" data-by-output="byOutput--${pageName}" data-main-option="mainOption--${pageName}" data-sub-option="subOption--${pageName}">
@ -98,11 +98,11 @@
<th class="cmn" style="width: 90px;">향정</th>
<th class="cmn" style="width: 90px;">향정제외</th>
<th class="cmn" style="width: 90px;">기타</th>
<th class="cmn text-blue" style="width: 90px;">계</th>
<th class="cmn text-blue" style="width: 90px;">마약향정계</th>
<th class="cmn" style="width: 90px;">비마약류</th>
<th class="cmn" style="width: 120px;">일반관리대상</th>
<th class="cmn" style="width: 120px;">중점관리대상</th>
<th class="cmn text-blue" style="width: 90px;">계</th>
<th class="cmn text-blue" style="width: 90px;">중점일반계</th>
</tr>
</thead>
<tbody id="tbody--${pageName}">
@ -110,17 +110,17 @@
<template id="${infoPrefix}Row--${pageName}">
<tr data-key="{dept_cd}" class="{fw-bold-if-total}">
<td class="cmn text-center" onclick="{onclick}" ondblclick="{ondblclick}">{dept_nm}</td>
<td class="text-end" onclick="{onclick}" ondblclick="{ondblclick}">{대마}</td>
<td class="text-end" onclick="{onclick}" ondblclick="{ondblclick}">{마약}</td>
<td class="text-end" onclick="{onclick}" ondblclick="{ondblclick}">{한외마약}</td>
<td class="text-end" onclick="{onclick}" ondblclick="{ondblclick}">{향정}</td>
<td class="text-end" onclick="{onclick}" ondblclick="{ondblclick}">{향정제외}</td>
<td class="text-end" onclick="{onclick}" ondblclick="{ondblclick}">{기타}</td>
<td class="text-end text-blue" onclick="{onclick}" ondblclick="{ondblclick}">{마약향정계}</td>
<td class="text-end" onclick="{onclick}" ondblclick="{ondblclick}">{비마약류}</td>
<td class="text-end" onclick="{onclick}" ondblclick="{ondblclick}">{일반관리대상}</td>
<td class="text-end" onclick="{onclick}" ondblclick="{ondblclick}">{중점관리대상}</td>
<td class="text-end text-blue" onclick="{onclick}" ondblclick="{ondblclick}">{중점일반계}</td>
<td class="text-end" onclick="{onclick}" ondblclick="{ondblclick}">{대마} / {대마qy}</td>
<td class="text-end" onclick="{onclick}" ondblclick="{ondblclick}">{마약} / {마약qy}</td>
<td class="text-end" onclick="{onclick}" ondblclick="{ondblclick}">{한외마약} / {한외마약qy}</td>
<td class="text-end" onclick="{onclick}" ondblclick="{ondblclick}">{향정} / {향정qy}</td>
<td class="text-end" onclick="{onclick}" ondblclick="{ondblclick}">{향정제외} / {향정제외qy}</td>
<td class="text-end" onclick="{onclick}" ondblclick="{ondblclick}">{기타} / {기타qy}</td>
<td class="text-end text-blue" onclick="{onclick}" ondblclick="{ondblclick}">{마약향정계} / {마약향정계qy}</td>
<td class="text-end" onclick="{onclick}" ondblclick="{ondblclick}">{비마약류} / {비마약류qy}</td>
<td class="text-end" onclick="{onclick}" ondblclick="{ondblclick}">{일반관리대상} / {일반관리대상qy}</td>
<td class="text-end" onclick="{onclick}" ondblclick="{ondblclick}">{중점관리대상} / {중점관리대상qy}</td>
<td class="text-end text-blue" onclick="{onclick}" ondblclick="{ondblclick}">{중점일반계} / {중점일반계qy}</td>
</tr>
</template>
<template id="${infoPrefix}NotFound--${pageName}">
@ -314,11 +314,10 @@
// DataTables(그리드)
let cellDefs = getCellDefs(
$("#theadTr0--${pageName} th, #theadTr--${pageName} th")
.not(".dummy-th").not(":eq(0)").not("[colspan]"),
.not(".dummy-th").not("[colspan]"),
$($("#${infoPrefix}Row--${pageName}")[0].content).find("td")
.not(".dummy-td").not(":eq(0)").not("[colspan]"));
debugger
debug.log("cellDefs", cellDefs);
console.table("cellDefs", cellDefs);
$P.control.query.cellDefs = cellDefs;
$P.control.download();

@ -47,13 +47,13 @@
<%-- <label for="bssh--${pageName}">폐기 정보</label>--%>
<div class="row my-1 mx-4 g-1 border-card rounded-3">
<div class="col-md-4">
<label for="hdrDe--${pageName}" class="w-px-130 bg-lighter pe-2 col-form-label text-sm-end">폐기일자</label>
<input type="text" class="form-control w-45 form-date" id="hdrDe--${pageName}" name="hdrDe" data-fmt-type="day" data-map="hdrDe" autocomplete="off" title="종료 날짜 선택" />
<label for="hdrDe--${pageName}" class="w-px-130 bg-lighter pe-2 col-form-label text-sm-end">취급일자</label>
<input type="text" class="form-control w-45 form-date" id="hdrDe--${pageName}" name="hdrDe" data-fmt-type="day" data-map="hdrDe" autocomplete="off" title="취급일자 선택" />
<button type="button" class="bx bx-lg bx-calendar bg-white"></button>
</div>
<div class="col-md-8">
<label for="dsuseDe--${pageName}" class="w-px-130 bg-lighter pe-2 col-form-label text-sm-end">폐기일자</label>
<input type="text" class="form-control w-px-130 form-date" id="dsuseDe--${pageName}" name="dsuseDe" data-fmt-type="day" data-map="dsuseDe" autocomplete="off" title="종료 날짜 선택" />
<input type="text" class="form-control w-px-130 form-date" id="dsuseDe--${pageName}" name="dsuseDe" data-fmt-type="day" data-map="dsuseDe" autocomplete="off" title="폐기일자 선택" />
<button type="button" class="bx bx-lg bx-calendar bg-white"></button>
<span style="display: none; padding-left: 10px; font-weight: bold; color: red; align-items: center" id="spnDsuseDe">폐기일자 변경 불가[다른 폐기관리에서 폐기사진 사용중]</span>
</div>
@ -183,7 +183,7 @@
*/
const fnRsltImgList = (list, isOnload) => {
// onload시 이미지가 있는지 여부 체크
if(isOnload) isOnloadExistRsltImg = list[0].SELF_YN === 'Y';
if(isOnload) isOnloadExistRsltImg = list[0]?.SELF_YN === 'Y';
if(!list || list.length === 0) return;
// 폐기결과 이미지를 등록한 폐기관리 ID면 skip - 이미지 추가 삭제 가능
@ -410,8 +410,6 @@
// DataTables에 스크롤이 맨 밑으로 이동했을 때 이벤트
$P.scrollDataList = () => {
$P.control.load($P.control.query.pageNum + 1);
}
@ -589,9 +587,10 @@
// 폐기결과이미지 저장 목록 조회 셋
fnRsltImgList(${dsuseRsltImgList}, true);
// 취급일자 및 페기일자에 값이 없는 경우 당일로 초기화.
if (($P.control.getValue("dsuseDe") == null || $P.control.getValue("dsuseDe") == "") &&
($P.control.getValue("hdrDe") == null || $P.control.getValue("hdrDe") == "")){
if (($P.control.getValue("dsuseDe") === null || $P.control.getValue("dsuseDe") === "") &&
($P.control.getValue("hdrDe") === null || $P.control.getValue("hdrDe") === "")){
$("#hdrDe--${pageName}").datepicker("setDate", new Date()); // 취급 일자
$("#dsuseDe--${pageName}").datepicker("setDate", new Date()); // 폐기 일자
}

Loading…
Cancel
Save