의견제출 심의의결서 출력(HWP 파일저장) 추가.

main
jjh 12 months ago
parent 32cdbd5d42
commit 275461c902

@ -51,6 +51,12 @@ public interface OpnnSbmsnMapper extends AbstractMapper {
return !opnnSbmsns.isEmpty() ? opnnSbmsns.get(0) : null; return !opnnSbmsns.isEmpty() ? opnnSbmsns.get(0) : null;
} }
/** .
* @param opnnId ID
* @return
*/
List<DataObject> selectOpnnSbmsnDlbrDecsns(LevyExclQuery req);
/** . /** .
* @param params * @param params
* <ul><li>"opnnSbmsn" - </li> * <ul><li>"opnnSbmsn" - </li>

@ -1,9 +1,11 @@
package cokr.xit.fims.excl.service; package cokr.xit.fims.excl.service;
import java.util.List; import java.util.List;
import java.util.Map;
import cokr.xit.base.file.FileInfo; import cokr.xit.base.file.FileInfo;
import cokr.xit.fims.excl.OpnnSbmsn; import cokr.xit.fims.excl.OpnnSbmsn;
import cokr.xit.fims.sprt.PrintOption;
import cokr.xit.fims.excl.LevyExclQuery; import cokr.xit.fims.excl.LevyExclQuery;
import cokr.xit.foundation.data.DataObject; import cokr.xit.foundation.data.DataObject;
@ -82,4 +84,13 @@ public interface OpnnSbmsnService {
*/ */
String removeOpnnSbmsnList(LevyExclQuery req); String removeOpnnSbmsnList(LevyExclQuery req);
/** .
* @param formatType ,formatName , printOption , opnnIDs
* @return map
* <ul><li>filePath: </li>
* <li>fileName: </li>
* </ul>
*/
Map<String, String> makeDlbrDecsnFileFromHwpFormat(String formatType, String formatName, PrintOption printOption, String... opnnIDs);
} }

@ -78,6 +78,18 @@ public class OpnnSbmsnBean extends AbstractComponent {
return opnnSbmsnMapper.selectOpnnSbmsnInfo(req); return opnnSbmsnMapper.selectOpnnSbmsnInfo(req);
} }
/** .
* @param req
* @return
*/
public List<DataObject> getOpnnSbmsnDlbrDecsns(LevyExclQuery req) {
if (req.getOrderBy() == null) {
req.setOrderBy("OS.REG_DT DESC, OS.OPNN_ID DESC");
}
return opnnSbmsnMapper.selectOpnnSbmsnDlbrDecsns(req);
}
/** . /** .
* @param opnnSbmsn * @param opnnSbmsn
* @return * @return

@ -1,17 +1,32 @@
package cokr.xit.fims.excl.service.bean; package cokr.xit.fims.excl.service.bean;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List; import java.util.List;
import java.util.Map;
import javax.annotation.Resource; import javax.annotation.Resource;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import cokr.xit.base.file.FileInfo; import cokr.xit.base.file.FileInfo;
import cokr.xit.base.file.service.FileQuery;
import cokr.xit.fims.excl.OpnnSbmsn; import cokr.xit.fims.excl.OpnnSbmsn;
import cokr.xit.fims.cmmn.hwp.AddUtil;
import cokr.xit.fims.cmmn.hwp.HWPPrintUtil;
import cokr.xit.fims.cmmn.service.bean.FactionBean;
import cokr.xit.fims.crdn.Crdn;
import cokr.xit.fims.crdn.CrdnQuery;
import cokr.xit.fims.excl.LevyExclQuery; import cokr.xit.fims.excl.LevyExclQuery;
import cokr.xit.fims.excl.service.OpnnSbmsnService; import cokr.xit.fims.excl.service.OpnnSbmsnService;
import cokr.xit.fims.sprt.PrintOption;
import cokr.xit.fims.sprt.SprtQuery;
import cokr.xit.foundation.UserInfo;
import cokr.xit.foundation.component.AbstractServiceBean; import cokr.xit.foundation.component.AbstractServiceBean;
import cokr.xit.foundation.data.DataObject; import cokr.xit.foundation.data.DataObject;
import kr.dogfoot.hwplib.object.HWPFile;
import kr.dogfoot.hwplib.reader.HWPReader;
import kr.dogfoot.hwplib.writer.HWPWriter;
/** . /** .
* *
@ -30,6 +45,10 @@ public class OpnnSbmsnServiceBean extends AbstractServiceBean implements OpnnSbm
@Resource(name = "opnnSbmsnBean") @Resource(name = "opnnSbmsnBean")
protected OpnnSbmsnBean opnnSbmsnBean; protected OpnnSbmsnBean opnnSbmsnBean;
/* Bean */
@Resource(name="factionBean")
protected FactionBean factionBean;
@Override @Override
public List<DataObject> getOpnnSbmsnList(LevyExclQuery req) { public List<DataObject> getOpnnSbmsnList(LevyExclQuery req) {
return opnnSbmsnBean.getOpnnSbmsnList(req); return opnnSbmsnBean.getOpnnSbmsnList(req);
@ -98,4 +117,82 @@ public class OpnnSbmsnServiceBean extends AbstractServiceBean implements OpnnSbm
return retMessage; return retMessage;
} }
@Override
public Map<String, String> makeDlbrDecsnFileFromHwpFormat(String formatType, String formatName, PrintOption printOption, String... opnnIDs) {
Map<String, String> result = new HashMap<>();
HWPPrintUtil printUtil = new HWPPrintUtil();
printUtil.setting(formatType, formatName);
UserInfo userInfo = currentUser();
factionBean.initUserInfo(userInfo);
printUtil.setPrintRequestUserInfo(userInfo);
List<DataObject> dataObjectList = null;
dataObjectList = opnnSbmsnBean.getOpnnSbmsnDlbrDecsns(new LevyExclQuery().setOpnnIDs(opnnIDs));
int totalDataCount = dataObjectList.size();
List<String> partFileList = new ArrayList<>();
printUtil.calcTotalPartFileCount(totalDataCount);
try {
int dataIndex = 0;
for(int partFileIndex = 0; partFileIndex < printUtil.getTotalPartFileCount(); partFileIndex++) {
// 새 파일 생성
String resultHwpPath = printUtil.newFileFromFormatFile();
HWPFile resultFile = HWPReader.fromFile(resultHwpPath);
// 공통사항 세팅
printUtil.setGlobalInfo(printOption, dataObjectList, resultFile);
HWPWriter.toFile(resultFile, resultHwpPath);
// 데이터 건별 처리
for (int recordIndex = 0; recordIndex < printUtil.getRecordPerPartFile(); recordIndex++) {
if (dataIndex < dataObjectList.size()) {
DataObject dataObject = dataObjectList.get(dataIndex);
printUtil.setBySingleData(printOption, dataObject, resultFile);
}
if (formatType.equals("list")) {
dataIndex++;
}
}
if (!formatType.equals("list")) {
dataIndex++;
}
HWPWriter.toFile(resultFile, resultHwpPath);
partFileList.add(resultHwpPath);
}
// 결과 파일 병합
if (partFileList.size() >= 2) {
String basePath = partFileList.get(0);
HWPFile baseFile = HWPReader.fromFile(basePath);
for (int iLoop = 2; iLoop <= partFileList.size(); iLoop++) {
String attachPath = partFileList.get(iLoop - 1);
HWPFile attachFile = HWPReader.fromFile(attachPath);
AddUtil.appendToLast(attachFile, baseFile);
}
HWPWriter.toFile(baseFile, basePath);
}
String downlaodFileName = printUtil.getFormatKorName() + "_" + printUtil.getPrintRequestDt() + ".hwp";
result.put("fileName", downlaodFileName);
result.put("filePath", partFileList.get(0));
} catch (Exception e) {
e.printStackTrace();
throw new RuntimeException("한글 파일 출력 중 오류가 발생하였습니다.");
}
return result;
}
} }

@ -18,6 +18,7 @@ import cokr.xit.base.web.ApplicationController;
import cokr.xit.fims.excl.OpnnSbmsn; import cokr.xit.fims.excl.OpnnSbmsn;
import cokr.xit.fims.excl.LevyExclQuery; import cokr.xit.fims.excl.LevyExclQuery;
import cokr.xit.fims.excl.service.OpnnSbmsnService; import cokr.xit.fims.excl.service.OpnnSbmsnService;
import cokr.xit.fims.sprt.PrintOption;
import cokr.xit.foundation.data.DataObject; import cokr.xit.foundation.data.DataObject;
/** /**
@ -45,6 +46,7 @@ public class Excl02Controller extends ApplicationController {
, updateOpinionSubmissionAnswer = "/030/update.do" // 의견제출 대장 심의 수정 , updateOpinionSubmissionAnswer = "/030/update.do" // 의견제출 대장 심의 수정
, removeOpinionSubmission = "/010/remove.do" // 의견제출 대장 삭제 , removeOpinionSubmission = "/010/remove.do" // 의견제출 대장 삭제
, removeOpinionSubmissionList = "/010/removes.do" // 의견제출 대장 목록 삭제 , removeOpinionSubmissionList = "/010/removes.do" // 의견제출 대장 목록 삭제
, makeDlbrDecsnFileFromHwpFormat = "/040/makeDlbrDecsnHwp.do" // 의견제출 심의 의결서 HWP 저장
; ;
} }
@ -289,4 +291,25 @@ public class Excl02Controller extends ApplicationController {
.addObject("retMessage", retMessage); .addObject("retMessage", retMessage);
} }
/** .
* @param opnnSbmsnIDs IDs
* @return jsonView
* <pre><code> {
* "affected":
* "saved": true, false
* }</code></pre>
*/
public ModelAndView makeDlbrDecsnFileFromHwpFormat(LevyExclQuery req) {
Map<String,String> result = null;
PrintOption printOption = new PrintOption();
result = opnnSbmsnService.makeDlbrDecsnFileFromHwpFormat("info", "dlbrDecsn", printOption, req.getOpnnIDs());
ModelAndView mav = new ModelAndView("jsonView");
mav.addAllObjects(result);
return mav;
}
} }

@ -7,6 +7,7 @@ import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.servlet.ModelAndView; import org.springframework.web.servlet.ModelAndView;
import cokr.xit.fims.crdn.Crdn; import cokr.xit.fims.crdn.Crdn;
import cokr.xit.fims.excl.LevyExclQuery;
import cokr.xit.fims.sprt.PrintOption; import cokr.xit.fims.sprt.PrintOption;
import cokr.xit.fims.sprt.SprtQuery; import cokr.xit.fims.sprt.SprtQuery;
import cokr.xit.fims.stat.StatQuery; import cokr.xit.fims.stat.StatQuery;
@ -200,6 +201,15 @@ public class CmnController {
return super.opinionSubmissionMain(); return super.opinionSubmissionMain();
} }
/** .
* @return fims/excl/excl02010-main
*/
@Override
@RequestMapping(name = "의견제출 관리 메인", value = METHOD_URL.makeDlbrDecsnFileFromHwpFormat)
public ModelAndView makeDlbrDecsnFileFromHwpFormat(LevyExclQuery req) {
return super.makeDlbrDecsnFileFromHwpFormat(req);
}
} }
@Controller @Controller

@ -326,6 +326,53 @@
<include refid="utility.orderBy" /> <include refid="utility.orderBy" />
</select> </select>
<select id="selectOpnnSbmsnDlbrDecsns" parameterType="map" resultType="dataobject">/* 의견제출 심의 의결서 가져오기(opnnSbmsnMapper.selectOpnnSbmsns) */
SELECT C.CRDN_ID <!-- 단속 ID -->
, C.SGG_CD <!-- 시군구 코드 -->
, C.TASK_SE_CD <!-- 업무 구분 코드 -->
, C.CRDN_YMD <!-- 단속 일자 -->
, C.CRDN_TM <!-- 단속 시각 -->
, C.VHRNO <!-- 차량번호 -->
, C.CRDN_STTS_CD <!-- 단속 상태 코드 -->
, C.CRDN_STTS_CHG_DT <!-- 단속 상태 변경 일시 -->
, (SELECT GET_CODE_NM('FIM054', C.TASK_SE_CD) FROM DUAL) AS TASK_SE_NM <!-- 업무 구분 명 -->
, (SELECT GET_MASK_DATETIME(C.CRDN_YMD, '-', C.CRDN_TM, ':') FROM DUAL) AS CRDN_YMD_TM_MASK <!-- 단속 일시 마스크 -->
, (SELECT GET_CODE_NM('FIM010', C.CRDN_STTS_CD) FROM DUAL) AS CRDN_STTS_NM <!-- 단속 상태 명 -->
, OS.OPNN_ID <!-- 의견 ID -->
, OS.RCPT_NO <!-- 접수 번호 -->
, OS.RCPT_YMD <!-- 접수 일자 -->
, OS.RCPT_SE_CD <!-- 접수 구분 코드 -->
, OS.OWNR_REL_CD <!-- 소유주 관계 코드 -->
, OS.STTR_NM <!-- 진술자 명 -->
, OS.STTR_BRDT <!-- 진술자 생년월일 -->
, OS.STTR_RRNO <!-- 진술자 주민등록번호 -->
, OS.STTR_ADDR <!-- 진술자 주소 -->
, OS.STTR_DADDR <!-- 진술자 상세주소 -->
, OS.STTR_ZIP <!-- 진술자 우편번호 -->
, OS.STTR_CTTPC <!-- 진술자 연락처 -->
, OS.STTR_EML <!-- 진술자 이메일 -->
, OS.OPNN_SBMSN_CN <!-- 의견 제출 내용 -->
, OS.OPNN_SBMSN_SE_CD <!-- 의견 제출 구분 코드 -->
, OS.OPNN_SBMSN_GIST <!-- 의견 제출 요지 -->
, OS.ATCH_FILE_CNT <!-- 첨부 파일 수 -->
, OS.DOC_NO <!-- 문서 번호 -->
, OS.NTFCTN_SE_CD <!-- 통보 구분 코드 -->
, OS.PIC_RVW_OPNN <!-- 담당자 검토 의견 -->
, OS.OPNN_SBMSN_STTS_CD <!-- 의견 제출 상태 코드 -->
, (SELECT GET_MASK_DATE(OS.RCPT_YMD, '-') FROM DUAL) AS RCPT_YMD_MASK <!-- 접수 일자 마스크 -->
, (SELECT GET_CODE_NM('FIM032', OS.OWNR_REL_CD) FROM DUAL) AS OWNR_REL_NM <!-- 소유주 관계 코드 -->
, (SELECT GET_BRDT_FORMAT(OS.STTR_BRDT, '-') FROM DUAL) AS STTR_BRDT_FORMAT <!-- 납부자 생년월일 -->
, (SELECT GET_CODE_NM('FIM033', OS.OPNN_SBMSN_SE_CD) FROM DUAL) AS OPNN_SBMSN_SE_NM <!-- 의견 제출 구분 명 -->
, (SELECT GET_CODE_NM('FIM031', OS.OPNN_SBMSN_STTS_CD) FROM DUAL) AS OPNN_SBMSN_STTS_NM <!-- 의견 제출 상태 명 -->
FROM TB_CRDN C
LEFT OUTER JOIN TB_OPNN_SBMSN OS ON (C.CRDN_ID = OS.CRDN_ID AND OS.DEL_YN = 'N')
WHERE OS.OPNN_ID IN (
<foreach collection="opnnIDs" item="opnnId" separator=","> #{opnnId} </foreach>
)
AND OS.DEL_YN = 'N'
<include refid="utility.orderBy" />
</select>
<insert id="insertOpnnSbmsn" parameterType="map">/* 의견제출 대장 등록(opnnSbmsnMapper.insertOpnnSbmsn) */ <insert id="insertOpnnSbmsn" parameterType="map">/* 의견제출 대장 등록(opnnSbmsnMapper.insertOpnnSbmsn) */
<selectKey resultType="hashmap" keyProperty="opnnSbmsn.opnnId,opnnSbmsn.rcptNo" keyColumn="NEW_ID,NEW_RCPT_NO" order="BEFORE"> <selectKey resultType="hashmap" keyProperty="opnnSbmsn.opnnId,opnnSbmsn.rcptNo" keyColumn="NEW_ID,NEW_RCPT_NO" order="BEFORE">
SELECT CONCAT(DATE_FORMAT(CURRENT_DATE, '%Y'), LPAD(CAST(IFNULL(MAX(SUBSTRING(OPNN_ID, 5)) + 1, 1) AS INT), 16, '0')) AS NEW_ID SELECT CONCAT(DATE_FORMAT(CURRENT_DATE, '%Y'), LPAD(CAST(IFNULL(MAX(SUBSTRING(OPNN_ID, 5)) + 1, 1) AS INT), 16, '0')) AS NEW_ID

@ -102,7 +102,7 @@
, C.CRDN_YMD <!-- 단속 일자 --> , C.CRDN_YMD <!-- 단속 일자 -->
, C.CRDN_TM <!-- 단속 시각 --> , C.CRDN_TM <!-- 단속 시각 -->
, (CONCAT(C.CRDN_YMD, C.CRDN_TM)) AS CRDN_YMD_TM <!-- 단속 일시 --> , (CONCAT(C.CRDN_YMD, C.CRDN_TM)) AS CRDN_YMD_TM <!-- 단속 일시 -->
, GET_MASK_DATETIME(C.CRDN_YMD, '-', C.CRDN_TM, ':') AS CRDN_YMD_TM_MASK <!-- 단속 일시 마스크 --> , (SELECT GET_MASK_DATETIME(C.CRDN_YMD, '-', C.CRDN_TM, ':') FROM DUAL) AS CRDN_YMD_TM_MASK <!-- 단속 일시 마스크 -->
, C.VHRNO <!-- 차량번호 --> , C.VHRNO <!-- 차량번호 -->
, C.CRDN_STDG_NM <!-- 단속 법정동 명 --> , C.CRDN_STDG_NM <!-- 단속 법정동 명 -->
, C.CRDN_ROAD_NM <!-- 단속 도로 명 --> , C.CRDN_ROAD_NM <!-- 단속 도로 명 -->
@ -650,7 +650,7 @@
, VI.SPCL_BIZ_CD <!-- 특별회계 사업 코드 --> , VI.SPCL_BIZ_CD <!-- 특별회계 사업 코드 -->
, L.LEVY_ID <!-- 부과 ID --> , L.LEVY_ID <!-- 부과 ID -->
, <include refid="utility.today" /> AS TODAY <!-- 오늘 일자 --> , <include refid="utility.today" /> AS TODAY <!-- 오늘 일자 -->
, GET_MASK_DATETIME(CRDN_YMD, '-', CRDN_TM, ':') AS CRDN_YMD_TM_MASK <!-- 납기 일자(한글표기) --> , (SELECT GET_MASK_DATETIME(C.CRDN_YMD, '-', C.CRDN_TM, ':') FROM DUAL) AS CRDN_YMD_TM_MASK <!-- 단속 일시 마스크 -->
, (SELECT GET_CODE_NM('FIM010', C.CRDN_STTS_CD) FROM DUAL) AS CRDN_STTS_NM <!-- 단속 상태 명 --> , (SELECT GET_CODE_NM('FIM010', C.CRDN_STTS_CD) FROM DUAL) AS CRDN_STTS_NM <!-- 단속 상태 명 -->
FROM TB_CRDN C FROM TB_CRDN C
INNER JOIN TB_VLTN_INFO VI ON (C.VLTN_ID = VI.VLTN_ID AND C.SGG_CD = VI.SGG_CD AND C.TASK_SE_CD = VI.TASK_SE_CD AND VI.USE_YN = 'Y') INNER JOIN TB_VLTN_INFO VI ON (C.VLTN_ID = VI.VLTN_ID AND C.SGG_CD = VI.SGG_CD AND C.TASK_SE_CD = VI.TASK_SE_CD AND VI.USE_YN = 'Y')

@ -855,7 +855,7 @@
, C.MDFR <!-- 수정자 --> , C.MDFR <!-- 수정자 -->
, (SELECT GET_CODE_NM('FIM003', C.CRDN_INPT_SE_CD) FROM DUAL) AS CRDN_INPT_SE_NM <!-- 단속 입력 구분 명 --> , (SELECT GET_CODE_NM('FIM003', C.CRDN_INPT_SE_CD) FROM DUAL) AS CRDN_INPT_SE_NM <!-- 단속 입력 구분 명 -->
, (CONCAT(C.CRDN_YMD, C.CRDN_TM)) AS CRDN_YMD_TM <!-- 단속 일시 --> , (CONCAT(C.CRDN_YMD, C.CRDN_TM)) AS CRDN_YMD_TM <!-- 단속 일시 -->
, GET_MASK_DATETIME(C.CRDN_YMD, '-', C.CRDN_TM, ':') AS CRDN_YMD_TM_MASK <!-- 단속 일시 마스크 --> , (SELECT GET_MASK_DATETIME(C.CRDN_YMD, '-', C.CRDN_TM, ':') FROM DUAL) AS CRDN_YMD_TM_MASK <!-- 단속 일시 마스크 -->
, (SELECT GET_CODE_NM('FIM010', C.CRDN_STTS_CD) FROM DUAL) AS CRDN_STTS_NM <!-- 단속 상태 명 --> , (SELECT GET_CODE_NM('FIM010', C.CRDN_STTS_CD) FROM DUAL) AS CRDN_STTS_NM <!-- 단속 상태 명 -->
, (SELECT USER_NM FROM TB_USER X WHERE X.USER_ID = C.RGTR) AS RGTR_NM <!-- 등록자 --> , (SELECT USER_NM FROM TB_USER X WHERE X.USER_ID = C.RGTR) AS RGTR_NM <!-- 등록자 -->
, (SELECT USER_NM FROM TB_USER X WHERE X.USER_ID = C.MDFR) AS MDFR_NM <!-- 수정자 --> , (SELECT USER_NM FROM TB_USER X WHERE X.USER_ID = C.MDFR) AS MDFR_NM <!-- 수정자 -->
@ -989,7 +989,7 @@
, C.CRDN_PLC <!-- 단속 장소 --> , C.CRDN_PLC <!-- 단속 장소 -->
, C.FFNLG_CRDN_AMT <!-- 과태료 단속 금액 --> , C.FFNLG_CRDN_AMT <!-- 과태료 단속 금액 -->
, C.CRDN_STTS_CD <!-- 단속 상태 코드 --> , C.CRDN_STTS_CD <!-- 단속 상태 코드 -->
, GET_MASK_DATETIME(C.CRDN_YMD, '-', C.CRDN_TM, ':') AS CRDN_YMD_TM_MASK <!-- 단속 일시 마스크 --> , (SELECT GET_MASK_DATETIME(C.CRDN_YMD, '-', C.CRDN_TM, ':') FROM DUAL) AS CRDN_YMD_TM_MASK <!-- 단속 일시 마스크 -->
, (SELECT GET_CODE_NM('FIM010', C.CRDN_STTS_CD) FROM DUAL) AS CRDN_STTS_NM <!-- 단속 상태 명 --> , (SELECT GET_CODE_NM('FIM010', C.CRDN_STTS_CD) FROM DUAL) AS CRDN_STTS_NM <!-- 단속 상태 명 -->
, P.RTPYR_ID <!-- 납부자 ID --> , P.RTPYR_ID <!-- 납부자 ID -->
, P.RTPYR_NO <!-- 납부자 번호 --> , P.RTPYR_NO <!-- 납부자 번호 -->

@ -17,6 +17,9 @@
<button type="button" class="btn btn-search w-px-120" id="btnSearch--${pageName}" title="검색" onclick="fnSearchList${pageName}();"> <button type="button" class="btn btn-search w-px-120" id="btnSearch--${pageName}" title="검색" onclick="fnSearchList${pageName}();">
검색 검색
</button> </button>
<button type="button" class="btn btn-excel w-px-120" id="btnExcel--${pageName}" title="엑셀" onclick="fnExcel${pageName}();">
엑셀
</button>
</span> </span>
</span> </span>
</div> <!-- / 업무 버튼 표시 --> </div> <!-- / 업무 버튼 표시 -->
@ -87,7 +90,6 @@
<div class="col-12"> <div class="col-12">
<label for="sndngSeCd--${pageName}" class="w-px-120 bg-lighter pe-2 col-form-label text-sm-end required">발송구분</label> <label for="sndngSeCd--${pageName}" class="w-px-120 bg-lighter pe-2 col-form-label text-sm-end required">발송구분</label>
<select class="form-select" id="sndngSeCd--${pageName}" name="sndngSeCd"> <select class="form-select" id="sndngSeCd--${pageName}" name="sndngSeCd">
<option value="">전체</option>
<c:forEach items="${FIM047List}" var="item"> <c:forEach items="${FIM047List}" var="item">
<option value="${item.code}">${item.value}</option> <option value="${item.code}">${item.value}</option>
</c:forEach> </c:forEach>
@ -115,12 +117,12 @@
<!-- 제목 명 --> <!-- 제목 명 -->
<div class="col-md-12"> <div class="col-md-12">
<label for="ttlNm--${pageName}" class="w-px-120 bg-lighter pe-2 col-form-label text-sm-end">제목</label> <label for="ttlNm--${pageName}" class="w-px-120 bg-lighter pe-2 col-form-label text-sm-end">제목</label>
<input type="text" class="form-control w-87" id="ttlNm--${pageName}" name="ttlNm" /> <input type="text" class="form-control w-85" id="ttlNm--${pageName}" name="ttlNm" />
</div> </div>
<!-- 기타 내용 --> <!-- 기타 내용 -->
<div class="col-md-12"> <div class="col-md-12">
<label for="etcCn--${pageName}" class="w-px-120 bg-lighter pe-2 col-form-label text-sm-end">기타내용</label> <label for="etcCn--${pageName}" class="w-px-120 bg-lighter pe-2 col-form-label text-sm-end">기타내용</label>
<textarea type="text" class="form-control w-87" id="etcCn--${pageName}" name="etcCn" rows="2" data-maxlengthb="1000"></textarea> <textarea type="text" class="form-control w-85" id="etcCn--${pageName}" name="etcCn" rows="2" data-maxlengthb="1000"></textarea>
</div> </div>
</div> </div>
</form> <!-- /입력 영역 --> </form> <!-- /입력 영역 -->
@ -185,6 +187,7 @@
} }
} }
// 저장 // 저장
${pageName}Control.save = (info) => { ${pageName}Control.save = (info) => {
if (!info) return; if (!info) return;
@ -246,12 +249,18 @@
$("#schVltnId--${pageName}").append("<option value='" + vltnIdCode[index].code +"'>" + vltnIdCode[index].value + "</option>"); $("#schVltnId--${pageName}").append("<option value='" + vltnIdCode[index].code +"'>" + vltnIdCode[index].value + "</option>");
}); });
// 달력 초기화 // 조회 달력 초기화
initDatepicker("frmSearch--${pageName}"); initDatepicker("frmSearch--${pageName}");
$("#schLevyYmd--${pageName}").datepicker("setDate", DateUtil.getDateDay(-365).date); $("#schLevyYmd--${pageName}").datepicker("setDate", DateUtil.getDateDay(-365).date);
$("#schFrstDudtYmd--${pageName}").datepicker("setDate", new Date()); $("#schFrstDudtYmd--${pageName}").datepicker("setDate", new Date());
$("#schFyr--${pageName}").val(new Date().getFullYear()); $("#schFyr--${pageName}").val(new Date().getFullYear());
// 등록 달력 초기화
initDatepicker("frmEdit--${pageName}");
$("#sndngYmd--${pageName}").datepicker("setDate", new Date());
$("#sndngEndYmd--${pageName}").datepicker("setDate", getLastDate($("#sndngYmd--${pageName}").val()));
} }
// URL 설정 // URL 설정
@ -274,7 +283,12 @@
${pageName}Control.load(); ${pageName}Control.load();
} }
// 저장 // 엑셀 버튼 이벤트
fnExcel${pageName} = () => {
}
// 저장 버튼 이벤트
fnSave${pageName} = () => { fnSave${pageName} = () => {
// validate 확인 // validate 확인
if (!customValidate($("#frmEdit--${pageName}").find("input, select, textarea"))) return; if (!customValidate($("#frmEdit--${pageName}").find("input, select, textarea"))) return;

@ -7,6 +7,7 @@
<form id="frmEdit--${pageName}" name="frmEdit"> <form id="frmEdit--${pageName}" name="frmEdit">
<!-- hidden --> <!-- hidden -->
<input type="hidden" id="opnnId--${pageName}" name="opnnId" data-map="OPNN_ID" /> <input type="hidden" id="opnnId--${pageName}" name="opnnId" data-map="OPNN_ID" />
<input type="text" name="dialogId" hidden />
<div class="d-flex flex-row justify-content-evenly"> <div class="d-flex flex-row justify-content-evenly">
<!-- 화면 왼쪽 --> <!-- 화면 왼쪽 -->
@ -170,7 +171,10 @@
</div> <!-- 심의 정보 <div class="card"> --> </div> <!-- 심의 정보 <div class="card"> -->
</div> <!-- <div class="col-xl-3 mx-0"> --> </div> <!-- <div class="col-xl-3 mx-0"> -->
</div> <!-- <div class="d-flex flex-row justify-content-evenly"> --> </div> <!-- <div class="d-flex flex-row justify-content-evenly"> -->
<span id="tempArea--${pageName}" hidden></span>
</form> </form>
</div> </div>
<script> <script>
@ -264,8 +268,32 @@
/************************************************************************** /**************************************************************************
* function * function
**************************************************************************/ **************************************************************************/
// 심의의결서 출력
getOpnnDlbrDecsnForm${pageName} = (params) => {
if (!params) return;
ajax.get({
url : wctx.url("/excl/excl02/040/makeDlbrDecsnHwp.do")
, data : params || {}
, success : resp => {
if (resp.filePath != null && resp.filePath != "") {
let a = document.createElement("a");
a.href = resp.filePath;
a.download = resp.fileName;
document.getElementById("tempArea--${pageName}").appendChild(a);
a.click();
document.getElementById("tempArea--${pageName}").removeChild(a);
}
}
});
}
// 심의 dialog // 심의 dialog
getInfoOpnnSbmsnDlbrt${pageName} = (params) => { getOpnnSbmsnDlbrtInfo${pageName} = (params) => {
if (!params) return; if (!params) return;
ajax.get({ ajax.get({
@ -425,7 +453,21 @@
// 심의의결서출력 버튼 이벤트 // 심의의결서출력 버튼 이벤트
fnPrintDlbrtLtfr${pageName} = () => { fnPrintDlbrtLtfr${pageName} = () => {
alert("심의의결서 출력"); let opnnId = ${pageName}Control.dataset.getValue("OPNN_ID");
// 의견제출 ID 가 없다면.. return
if (opnnId == null || opnnId == "") {
return;
}
let params = {
callPurpose : "update"
, sggCd : ${pageName}Control.dataset.getValue("SGG_CD") // 시군구 코드
, taskSeCd : ${pageName}Control.dataset.getValue("TASK_SE_CD") // 업무 구분 코드
, opnnIDs : opnnId // 의견제출 ID
};
getOpnnDlbrDecsnForm${pageName}(params);
} }
// 의견제출심의 버튼 이벤트 // 의견제출심의 버튼 이벤트
@ -445,7 +487,7 @@
, opnnId : opnnId // 의견제출 ID , opnnId : opnnId // 의견제출 ID
}; };
getInfoOpnnSbmsnDlbrt${pageName}(params); getOpnnSbmsnDlbrtInfo${pageName}(params);
} }
// 첨부파일 조회 // 첨부파일 조회

Loading…
Cancel
Save