계도장 현황 화면 수정

master
mjkhan21 3 months ago
parent 8a40979f22
commit 98298bcb1b

@ -44,24 +44,31 @@ public class JasperController extends AbstractController {
@RequestMapping(name="계도장 미리보기", value="/warning.do")
public ModelAndView previewWarning(SndbQuery req) {
List<DataObject> crdnList = getCrdnList(req);
crdnList.forEach(row -> {
row.set("CRDN_YMD_TM", DataFormat.yyyy_mm_dd(row.get("CRDN_YMD")) + " " + DataFormat.hh_mm_ss(row.get("CRDN_TM")));
});
List<String> crdnIdList = crdnList.stream().map(row -> row.string("CRDN_ID")).toList();
List<Crdn> crdns = crdnService.getCrackdowns(crdnIdList);
List<Crdn> upds = crdns.stream()
.filter(crdn -> {
return true;
})
.toList();
String[] crdnIds = crdnIdList.toArray(new String[crdnList.size()]);
Map<String, List<FileInfo>> crdnFiles = fileBean.getFilesOf(Crdn.INF_TYPE, crdnIds).stream()
List<DataObject> result = sndngDtlService.getSndngDtlList(req.setFetchSize(0));
List<String> crdnIdList = result.stream().map(row -> row.string("CRDN_ID")).distinct().toList();
String[] crdnIDs = crdnIdList.toArray(new String[crdnIdList.size()]);
Map<String, DataObject> crdns = getCrdnList(new SndbQuery().setCrdnIds(crdnIDs)).stream()
.collect(Collectors.toMap(row -> row.string("CRDN_ID"), row -> row));
result.forEach(row -> {
String crdnId = row.string("CRDN_ID");
DataObject crdn = crdns.get(crdnId);
if (crdn == null) return;
row.set("CRDN_YMD_TM", DataFormat.yyyy_mm_dd(crdn.get("CRDN_YMD")) + " " + DataFormat.hh_mm_ss(crdn.get("CRDN_TM")))
.set("RTPYR_ADDR", crdn.get("RTPYR_ADDR"))
.set("RTPYR_DTL_ADDR", crdn.get("RTPYR_DTL_ADDR"))
.set("RTPYR_ZIP", crdn.get("RTPYR_ZIP"))
.set("RTPYR_NM", crdn.get("RTPYR_NM"))
.set("RTPYR_NM", crdn.get("RTPYR_NM"))
.set("VLTN_ARTCL", crdn.get("VLTN_ARTCL"))
.set("VLTN_LAW_NM", crdn.get("VLTN_LAW_NM"))
;
});
Map<String, List<FileInfo>> crdnFiles = fileBean.getFilesOf(Crdn.INF_TYPE, crdnIDs).stream()
.collect(Collectors.groupingBy(row -> row.getInfoKey()));
List<InputStream> inputStreams = crdnList.stream()
List<InputStream> inputStreams = result.stream()
.flatMap(crdn -> {
crdn.set("CRDN_YMD_TM", DataFormat.yyyy_mm_dd(crdn.get("CRDN_YMD")) + " " + DataFormat.hh_mm_ss(crdn.get("CRDN_TM")));
List<FileInfo> files = crdnFiles.get(crdn.string("CRDN_ID"));
List<InputStream> inputs = isEmpty(files) ? Collections.emptyList() :
files.stream()
@ -88,7 +95,7 @@ public class JasperController extends AbstractController {
return new ModelAndView("jasperView")
.addObject("jasper", "warning.jasper")
.addObject("params", params)
.addObject("dataMap", crdnList)
.addObject("dataMap", result)
.addObject("filename", "warning.pdf")
.addObject("closables", inputStreams);
}

@ -347,7 +347,8 @@ $(document).ready(function(){
$P.$findn("byOutput").val("동적 검색");
$P.$findn("schRgtrNm").prop("readonly", true); // 사용자 이름
$P.$findn("schCrdnYmdFrom").datepicker('setDate', DateSupport.getAddDay(-365));
$P.$findn("schCrdnYmdFrom").datepicker('setDate', DateSupport.getAddDay(-1));
<%-- $P.$findn("schCrdnYmdFrom").datepicker('setDate', DateSupport.getAddDay(-365));--%>
$P.$findn("schCrdnYmdTo").datepicker('setDate', TODAY());
ctrl.dataset.setData([]);
}

@ -343,33 +343,43 @@
tabName = $P.$findn("tabMain").find("button.active").text().trim();
// 탭 선택에 따른 우편 처리 상태(POST_PROC_STT) 설정.
if (tabName == "발송대기") { // 발송대기
$P.ctrl.query.postPrcsSttsCdFrom = "01";
switch (tabName) {
case "발송대기":
$P.ctrl.query.postPrcsSttsCdFrom =
$P.ctrl.query.postPrcsSttsCdTo = "01";
} else if (tabName == "발송취소") { // 발송취소
$P.ctrl.query.postPrcsSttsCdFrom = "02";
break;
case "발송취소":
$P.ctrl.query.postPrcsSttsCdFrom =
$P.ctrl.query.postPrcsSttsCdTo = "02";
} else if (tabName == "전송") { // 전송
$P.ctrl.query.postPrcsSttsCdFrom = "03";
break;
case "전송":
$P.ctrl.query.postPrcsSttsCdFrom =
$P.ctrl.query.postPrcsSttsCdTo = "03";
} else if (tabName == "접수") { // 접수
$P.ctrl.query.postPrcsSttsCdFrom = "05";
break;
case "접수":
$P.ctrl.query.postPrcsSttsCdFrom =
$P.ctrl.query.postPrcsSttsCdTo = "05";
} else if (tabName == "제작불가") { // 제작불가
break;
case "제작불가":
$P.ctrl.query.postPrcsSttsCdFrom = "21";
$P.ctrl.query.postPrcsSttsCdTo = "79";
} else if (tabName == "제작완료") { // 제작완료
$P.ctrl.query.postPrcsSttsCdFrom = "80";
break;
case "제작완료":
$P.ctrl.query.postPrcsSttsCdFrom =
$P.ctrl.query.postPrcsSttsCdTo = "80";
} else if (tabName == "배달중") { // 배달중
$P.ctrl.query.postPrcsSttsCdFrom = "90";
break;
case "배달중":
$P.ctrl.query.postPrcsSttsCdFrom =
$P.ctrl.query.postPrcsSttsCdTo = "90";
} else if (tabName == "배달완료") { // 배달완료
$P.ctrl.query.postPrcsSttsCdFrom = "95";
break;
case "배달완료":
$P.ctrl.query.postPrcsSttsCdFrom =
$P.ctrl.query.postPrcsSttsCdTo = "95";
} else { // 전체
break;
default:
$P.ctrl.query.postPrcsSttsCdFrom = "01";
$P.ctrl.query.postPrcsSttsCdTo = "99";
$P.ctrl.query.postPrcsSttsCdTo = "99";
break;
}
$P.ctrl.load(1);

@ -48,7 +48,8 @@
<th class="cmn" style="width: 160px;">등기번호</th>
<th class="cmn" style="width: 120px;">발송일자</th>
<th class="cmn" style="width: 120px;">납기일자</th>
<th class="cmn" style="width: 42rem;">수취인</th>
<th class="cmn" style="width: 200px;">수취인</th>
<th class="cmn" style="width: 380px;">주소</th>
<th class="cmn" style="width: 160px;">배달일시</th>
<th class="cmn" style="width: 200px;">미배달사유</th>
<th class="cmn" style="width: 200px;">수령인</th>
@ -70,10 +71,8 @@
<td class="cmn text-center" onclick ondblclick>{RG_NO}</td>
<td class="cmn text-center" onclick ondblclick>{SNDNG_YMD}</td>
<td class="cmn text-center" onclick ondblclick>{DUDT_YMD}</td>
<td class="cmn text-start" onclick ondblclick>
<span style="display: inline-block; min-width: 12rem;">{RCPN_NM}</span>
{RCPN_ZIP}, {RCPN_ADDR} {RCPN_DTL_ADDR}
</td>
<td class="cmn text-start" onclick ondblclick>{RCPN_NM}</td>
<td class="cmn text-start" onclick ondblclick>{RCPN_ZIP}, {RCPN_ADDR} {RCPN_DTL_ADDR}</td>
<td class="cmn text-center" onclick ondblclick>{DLVR_YMD} {DLVR_TM}</td>
<td class="cmn text-start" onclick ondblclick>{UNDLVR_RSN_NM}</td>
<td class="cmn text-start" onclick ondblclick>{ACTL_RCPN_NM}</td>
@ -211,7 +210,7 @@
fetch(url + "?" + parameter)
.then((response) => {
var header = response.headers.get('Content-Disposition');
if(!header){
if (!header){
response.json().then((responseJson)=>{
dialog.alert({
content: fileTypeName+" 생성 중 오류가 발생하였습니다."

@ -52,7 +52,8 @@
<th class="cmn" style="width: 160px;">등기번호</th>
<th class="cmn" style="width: 120px;">발송일자</th>
<th class="cmn" style="width: 120px;">발송종료일자</th>
<th class="cmn" style="width: 42rem;">수취인</th>
<th class="cmn" style="width: 200px;">수취인</th>
<th class="cmn" style="width: 380px;">주소</th>
<th class="cmn" style="width: 160px;">배달일시</th>
<th class="cmn" style="width: 200px;">미배달사유</th>
<th class="cmn" style="width: 200px;">수령인</th>
@ -81,10 +82,8 @@
<td class="cmn text-center" onclick ondblclick>{RG_NO}</td>
<td class="cmn text-center" onclick ondblclick>{SNDNG_YMD}</td>
<td class="cmn text-center" onclick ondblclick>{SNDNG_END_YMD}</td>
<td class="cmn text-start" onclick ondblclick>
<span style="display: inline-block; min-width: 12rem;">{RCPN_NM}</span>
{RCPN_ZIP}, {RCPN_ADDR}, {RCPN_DTL_ADDR}
</td>
<td class="cmn text-start" onclick ondblclick>{RCPN_NM}</td>
<td class="cmn text-start" onclick ondblclick>{RCPN_ZIP}, {RCPN_ADDR} {RCPN_DTL_ADDR}</td>
<td class="cmn text-center" onclick ondblclick>{DLVR_YMD} {DLVR_TM}</td>
<td class="cmn text-start" onclick ondblclick>{UNDLVR_RSN_NM}</td>
<td class="cmn text-start" onclick ondblclick>{ACTL_RCPN_NM}</td>

@ -247,10 +247,10 @@
<input is="id-input" type="text" class="form-control w-25" style="margin-left: .3rem;" name="rtpyrNo" data-map="RTPYR_NO" placeholder="번호" readonly />
</div>
<div class="row col-6">
<label is="name-label" class="col-form-label bg-lighter pe-2 w-px-120 text-sm-end" for="rtpyrNm">연락처</label>
<label is="name-label" class="col-form-label bg-lighter pe-2 w-px-100 text-sm-end" for="rtpyrNm">연락처</label>
<input is="id-input" type="text" class="form-control w-25" style="margin-left: .3rem;" name="rtpyrMblTelno" data-map="RTPYR_MBL_TELNO" placeholder="휴대전화번호" readonly />
<input is="id-input" type="text" class="form-control w-20" style="margin-left: .3rem;" name="rtpyrTelno" data-map="RTPYR_TELNO" placeholder="전화번호" readonly />
<input is="id-input" type="text" class="form-control w-25" style="margin-left: .3rem;" name="rtpyrTelno" data-map="RTPYR_TELNO" placeholder="전화번호" readonly />
<input is="id-input" type="text" class="form-control w-25" style="margin-left: .3rem;" name="rtpyrEml" data-map="RTPYR_EML" placeholder="이메일" readonly />
</div>
</div>

@ -4,10 +4,11 @@
<footer class="content-footer footer bg-footer-theme align-self-stretch" style="height:1.5rem">
<div class="container-xxl d-flex flex-wrap justify-content-between py-0 flex-md-row flex-column">
<div class="mb-2 mb-md-0 w-100">
<%-- © <span id="footerYear"></span> --%>
<%-- © <span id="footerYear"></span>
<script>
document.getElementById("footerYear").innerText = new Date().getFullYear();
</script>
--%>
<a target="_blank" class="footer-link fw-bold" href="https://www.jongno.go.kr/">종로구청</a>
<%-- <a target="_blank" class="footer-link fw-bold" href="https://xit.co.kr">(주)엑스아이티</a>--%>
<span class="float-end">

Loading…
Cancel
Save