From da8b5fbed029e8d2d8766cd8ea867b683e6b5f42 Mon Sep 17 00:00:00 2001 From: leebj Date: Fri, 26 Jul 2024 16:32:13 +0900 Subject: [PATCH] no message --- pom.xml | 211 +- .../cokr/xit/base/ResponseHeaderFilter.java | 75 - .../java/cokr/xit/base/ServletCustomizer.java | 20 - .../java/cokr/xit/fims/FimsLogFilter.java | 37 - src/main/java/cokr/xit/fims/base/Backup.java | 13 - .../cokr/xit/fims/base/FimsDepartment.java | 120 - .../java/cokr/xit/fims/base/FimsSigungu.java | 31 - .../java/cokr/xit/fims/base/FimsUser.java | 93 - .../java/cokr/xit/fims/base/OgdpQuery.java | 63 - .../java/cokr/xit/fims/base/SseEntity.java | 25 - .../cokr/xit/fims/base/dao/AdminMapper.java | 30 - .../cokr/xit/fims/base/dao/OgdpMapper.java | 235 -- .../xit/fims/base/service/bean/AdminBean.java | 72 - .../xit/fims/base/service/bean/OgdpBean.java | 225 -- .../xit/fims/base/service/bean/SseBean.java | 189 -- .../fims/base/web/ActionGroupController.java | 18 - .../xit/fims/base/web/AdminController.java | 277 -- .../fims/base/web/AuthorityController.java | 18 - .../xit/fims/base/web/CodeController.java | 74 - .../xit/fims/base/web/FileController.java | 437 --- .../xit/fims/base/web/LoggingController.java | 129 - .../xit/fims/base/web/MainController.java | 219 -- .../xit/fims/base/web/MenuController.java | 6 - .../xit/fims/base/web/OgdpController.java | 321 --- .../xit/fims/base/web/UserController.java | 241 -- .../java/cokr/xit/fims/cmmn/CmmnQuery.java | 225 -- .../java/cokr/xit/fims/cmmn/CmmnUtil.java | 639 ----- .../cokr/xit/fims/cmmn/CodeConverter.java | 168 -- .../cokr/xit/fims/cmmn/CrdnPayerHstry.java | 35 - .../xit/fims/cmmn/CrdnPayerHstryQuery.java | 48 - .../cokr/xit/fims/cmmn/CrdnSttsHstry.java | 87 - .../xit/fims/cmmn/CrdnSttsHstryQuery.java | 62 - .../fims/cmmn/DirectoryStructureToJson.java | 65 - .../cokr/xit/fims/cmmn/ExtrArtclStng.java | 23 - .../java/cokr/xit/fims/cmmn/ExtrForm.java | 19 - .../cokr/xit/fims/cmmn/ExtrStngQuery.java | 18 - .../cokr/xit/fims/cmmn/FimsPrintOption.java | 16 - src/main/java/cokr/xit/fims/cmmn/Hangul.java | 217 -- .../cokr/xit/fims/cmmn/OtptArtclStng.java | 30 - .../java/cokr/xit/fims/cmmn/OtptForm.java | 23 - .../cokr/xit/fims/cmmn/OtptStngQuery.java | 31 - .../xit/fims/cmmn/OutsourcingArtclStng.java | 21 - .../xit/fims/cmmn/OutsourcingFileMaker.java | 317 --- .../cokr/xit/fims/cmmn/OutsourcingForm.java | 20 - .../xit/fims/cmmn/OutsourcingStngQuery.java | 19 - .../cokr/xit/fims/cmmn/PredefinedSet.java | 26 - src/main/java/cokr/xit/fims/cmmn/Pstn.java | 20 - .../java/cokr/xit/fims/cmmn/PstnAndSize.java | 75 - src/main/java/cokr/xit/fims/cmmn/Size.java | 20 - .../java/cokr/xit/fims/cmmn/UnnamedItems.java | 13 - .../fims/cmmn/dao/CrdnPayerHstryMapper.java | 98 - .../fims/cmmn/dao/CrdnSttsHstryMapper.java | 89 - .../xit/fims/cmmn/dao/ExtrStngMapper.java | 39 - .../cokr/xit/fims/cmmn/dao/LinkMapper.java | 23 - .../xit/fims/cmmn/dao/OtptStngMapper.java | 40 - .../fims/cmmn/dao/OutsourcingStngMapper.java | 28 - .../cokr/xit/fims/cmmn/dao/StngMapper.java | 55 - .../java/cokr/xit/fims/cmmn/ftp/FTPUtil.java | 164 -- .../xit/fims/cmmn/ftp/RemoteSystemInfo.java | 15 - .../xit/fims/cmmn/hwp/format/CrdnConfirm.java | 79 - .../xit/fims/cmmn/hwp/format/CrdnList.java | 96 - .../xit/fims/cmmn/hwp/format/CvlcptOrgn.java | 139 - .../fims/cmmn/hwp/format/DlbrDecsnList.java | 77 - .../fims/cmmn/hwp/format/RcvmtConfirm.java | 80 - .../fims/cmmn/hwp/format/ReportOnClaims.java | 112 - .../cmmn/hwp/format/RequestForDelivery.java | 115 - .../xit/fims/cmmn/hwp/format/SvbtcList.java | 85 - .../pdf/extraction/ExtractImageEngine.java | 113 - .../fims/cmmn/pdf/extraction/ExtractText.java | 72 - .../fims/cmmn/pdf/extraction/Extraction.java | 29 - .../pdf/extraction/PDFExtractionUtil.java | 84 - .../extraction/format/ElectronicNotice.java | 24 - .../extraction/format/PDFExtractFormat.java | 37 - .../cmmn/pdf/print/DefaultOtptArtclStng.java | 142 - .../cokr/xit/fims/cmmn/pdf/print/PDF.java | 16 - .../xit/fims/cmmn/pdf/print/PDFColors.java | 46 - .../fims/cmmn/pdf/print/PDFCoordinate.java | 21 - .../xit/fims/cmmn/pdf/print/PDFWriter.java | 138 - .../fims/cmmn/pdf/print/format/Advntce.java | 364 --- .../xit/fims/cmmn/pdf/print/format/Nht.java | 446 --- .../cmmn/pdf/print/format/PDFPrintFormat.java | 913 ------- .../cmmn/service/CrdnPayerHstryService.java | 49 - .../cmmn/service/CrdnSttsHstryService.java | 60 - .../xit/fims/cmmn/service/LinkService.java | 5 - .../xit/fims/cmmn/service/StngService.java | 26 - .../cmmn/service/bean/CrdnPayerHstryBean.java | 137 - .../bean/CrdnPayerHstryServiceBean.java | 50 - .../cmmn/service/bean/CrdnSttsHstryBean.java | 224 -- .../bean/CrdnSttsHstryServiceBean.java | 58 - .../fims/cmmn/service/bean/ExtrStngBean.java | 129 - .../xit/fims/cmmn/service/bean/LinkBean.java | 75 - .../cmmn/service/bean/LinkServiceBean.java | 82 - .../fims/cmmn/service/bean/OtptStngBean.java | 146 - .../service/bean/OutsourcingStngBean.java | 111 - .../xit/fims/cmmn/service/bean/StngBean.java | 198 -- .../cmmn/service/bean/StngServiceBean.java | 102 - .../cmmn/web/CrdnPayerHstryController.java | 75 - .../cmmn/web/CrdnSttsHstryController.java | 104 - .../fims/cmmn/web/InterfaceController.java | 40 - .../xit/fims/cmmn/web/LinkController.java | 62 - .../xit/fims/cmmn/web/StngController.java | 361 --- .../cokr/xit/fims/cmmn/xls/FormatMaker.java | 68 - .../cokr/xit/fims/cmmn/xls/StyleMaker.java | 24 - src/main/java/cokr/xit/fims/crdn/Crdn.java | 400 --- .../java/cokr/xit/fims/crdn/CrdnQuery.java | 447 --- .../java/cokr/xit/fims/crdn/ExmptnVhcl.java | 99 - src/main/java/cokr/xit/fims/crdn/Team.java | 88 - .../xit/fims/crdn/dao/CrdnInfoMapper.java | 20 - .../xit/fims/crdn/dao/CrdnInstMapper.java | 32 - .../xit/fims/crdn/dao/CrdnListMapper.java | 65 - .../xit/fims/crdn/dao/CrdnStngMapper.java | 89 - .../xit/fims/crdn/dao/CrdnTeamMapper.java | 57 - .../xit/fims/crdn/dao/CrdnUpdtMapper.java | 95 - .../xit/fims/crdn/dao/ExmptnVhclMapper.java | 57 - .../cokr/xit/fims/crdn/dao/ImportMapper.java | 78 - .../receive/eqpmnt/AttachedTxtParser.java | 92 - .../crdn/receive/eqpmnt/LayoutDescriptor.java | 110 - .../receive/eqpmnt/LayoutDiscriminator.java | 136 - .../crdn/receive/eqpmnt/LayoutParser.java | 434 --- .../crdn/receive/eqpmnt/OnlyImageParser.java | 21 - .../crdn/receive/eqpmnt/SingleFileParser.java | 143 - .../xit/fims/crdn/service/CrdnService.java | 101 - .../fims/crdn/service/CrdnStngService.java | 116 - .../xit/fims/crdn/service/ImportService.java | 24 - .../xit/fims/crdn/service/bean/CrdnBean.java | 415 --- .../crdn/service/bean/CrdnServiceBean.java | 374 --- .../fims/crdn/service/bean/CrdnStngBean.java | 661 ----- .../service/bean/CrdnStngServiceBean.java | 130 - .../fims/crdn/service/bean/ImportBean.java | 286 -- .../crdn/service/bean/ImportServiceBean.java | 343 --- .../xit/fims/crdn/web/Crdn01Controller.java | 179 -- .../xit/fims/crdn/web/Crdn02Controller.java | 186 -- .../xit/fims/crdn/web/Crdn03Controller.java | 139 - .../xit/fims/crdn/web/Crdn05Controller.java | 516 ---- .../xit/fims/crdn/web/Crdn06Controller.java | 402 --- .../xit/fims/crdn/web/Crdn07Controller.java | 168 -- .../xit/fims/crdn/web/Crdn08Controller.java | 244 -- .../java/cokr/xit/fims/cvlc/CrdnCvlcpt.java | 221 -- .../xit/fims/cvlc/dao/AnswerWordsMapper.java | 77 - .../xit/fims/cvlc/dao/CrdnCvlcptMapper.java | 129 - .../cvlc/dao/SaCvlcptIndviDmndMapper.java | 37 - .../xit/fims/cvlc/dao/WarningWordsMapper.java | 36 - .../fims/cvlc/service/CrdnCvlcptService.java | 125 - .../cvlc/service/bean/CrdnCvlcptMainBean.java | 400 --- .../service/bean/CrdnCvlcptServiceBean.java | 562 ---- .../cvlc/service/bean/CrdnCvlcptSubBean.java | 405 --- .../xit/fims/cvlc/web/Cvlc01Controller.java | 417 --- .../xit/fims/cvlc/web/Cvlc02Controller.java | 261 -- .../xit/fims/cvlc/web/Cvlc03Controller.java | 132 - .../xit/fims/cvlc/web/Cvlc04Controller.java | 132 - .../xit/fims/cvlc/web/Cvlc05Controller.java | 158 -- .../xit/fims/cvlc/web/Cvlc06Controller.java | 102 - .../cokr/xit/fims/epst/EpostDlvrRslt.java | 80 - .../java/cokr/xit/fims/epst/EpostGdntc.java | 56 - .../java/cokr/xit/fims/epst/EpostQuery.java | 470 ---- .../java/cokr/xit/fims/epst/EpostRcptDtl.java | 344 --- .../java/cokr/xit/fims/epst/EpostRcptReg.java | 250 -- .../cokr/xit/fims/epst/EpostRcptRslt.java | 81 - .../fims/epst/dao/EpostDlvrRsltMapper.java | 110 - .../xit/fims/epst/dao/EpostGdntcMapper.java | 83 - .../xit/fims/epst/dao/EpostRcptDtlMapper.java | 106 - .../xit/fims/epst/dao/EpostRcptRegMapper.java | 140 - .../fims/epst/dao/EpostRcptRsltMapper.java | 105 - .../epst/service/EpostDlvrRsltService.java | 61 - .../fims/epst/service/EpostGdntcService.java | 67 - .../epst/service/EpostRcptDtlService.java | 59 - .../epst/service/EpostRcptRegService.java | 82 - .../epst/service/EpostRcptRsltService.java | 67 - .../epst/service/bean/EpostDlvrRsltBean.java | 81 - .../bean/EpostDlvrRsltServiceBean.java | 58 - .../epst/service/bean/EpostGdntcBean.java | 138 - .../service/bean/EpostGdntcServiceBean.java | 63 - .../epst/service/bean/EpostRcptDtlBean.java | 107 - .../service/bean/EpostRcptDtlServiceBean.java | 58 - .../epst/service/bean/EpostRcptRegBean.java | 219 -- .../service/bean/EpostRcptRegServiceBean.java | 73 - .../epst/service/bean/EpostRcptRsltBean.java | 107 - .../bean/EpostRcptRsltServiceBean.java | 63 - .../xit/fims/epst/web/Epst01Controller.java | 86 - .../xit/fims/epst/web/Epst02Controller.java | 591 ---- .../java/cokr/xit/fims/excl/CrdnReReg.java | 68 - .../java/cokr/xit/fims/excl/LevyExcl.java | 66 - .../cokr/xit/fims/excl/LevyExclQuery.java | 375 --- .../java/cokr/xit/fims/excl/OpnnDlbrMbr.java | 100 - .../java/cokr/xit/fims/excl/OpnnSbmsn.java | 193 -- .../xit/fims/excl/dao/CrdnReRegMapper.java | 61 - .../xit/fims/excl/dao/LevyExclMapper.java | 90 - .../xit/fims/excl/dao/OpnnDlbrMbrMapper.java | 61 - .../xit/fims/excl/dao/OpnnSbmsnMapper.java | 108 - .../fims/excl/service/CrdnReRegService.java | 42 - .../fims/excl/service/LevyExclService.java | 66 - .../fims/excl/service/OpnnDlbrMbrService.java | 57 - .../fims/excl/service/OpnnSbmsnService.java | 82 - .../fims/excl/service/bean/CrdnReRegBean.java | 186 -- .../service/bean/CrdnReRegServiceBean.java | 47 - .../fims/excl/service/bean/LevyExclBean.java | 293 -- .../service/bean/LevyExclServiceBean.java | 62 - .../excl/service/bean/OpnnDlbrMbrBean.java | 113 - .../service/bean/OpnnDlbrMbrServiceBean.java | 57 - .../fims/excl/service/bean/OpnnSbmsnBean.java | 430 --- .../service/bean/OpnnSbmsnServiceBean.java | 73 - .../xit/fims/excl/web/Excl01Controller.java | 304 --- .../xit/fims/excl/web/Excl02Controller.java | 512 ---- .../xit/fims/excl/web/Excl03Controller.java | 180 -- src/main/java/cokr/xit/fims/levy/Levy.java | 466 ---- .../java/cokr/xit/fims/levy/LevyQuery.java | 428 --- src/main/java/cokr/xit/fims/levy/Rdct.java | 70 - .../cokr/xit/fims/levy/dao/LevyMapper.java | 140 - .../cokr/xit/fims/levy/dao/RdctMapper.java | 108 - .../xit/fims/levy/service/LevyService.java | 62 - .../xit/fims/levy/service/RdctService.java | 68 - .../xit/fims/levy/service/bean/LevyBean.java | 312 --- .../levy/service/bean/LevyServiceBean.java | 67 - .../xit/fims/levy/service/bean/RdctBean.java | 301 -- .../levy/service/bean/RdctServiceBean.java | 71 - .../xit/fims/levy/web/Levy01Controller.java | 346 --- .../xit/fims/levy/web/Levy02Controller.java | 291 -- src/main/java/cokr/xit/fims/mngt/Ntc.java | 43 - .../java/cokr/xit/fims/mngt/NtcQuery.java | 19 - .../java/cokr/xit/fims/mngt/OgdpUtil.java | 35 - src/main/java/cokr/xit/fims/mngt/Schdl.java | 49 - .../java/cokr/xit/fims/mngt/SchdlQuery.java | 29 - src/main/java/cokr/xit/fims/mngt/Task.java | 82 - src/main/java/cokr/xit/fims/mngt/Vltn.java | 100 - .../java/cokr/xit/fims/mngt/VltnQuery.java | 80 - .../cokr/xit/fims/mngt/dao/NtcMapper.java | 91 - .../cokr/xit/fims/mngt/dao/SchdlMapper.java | 97 - .../cokr/xit/fims/mngt/dao/TaskMapper.java | 119 - .../cokr/xit/fims/mngt/dao/VltnMapper.java | 108 - .../xit/fims/mngt/service/NtcService.java | 50 - .../xit/fims/mngt/service/SchdlService.java | 48 - .../xit/fims/mngt/service/bean/NtcBean.java | 73 - .../mngt/service/bean/NtcServiceBean.java | 46 - .../xit/fims/mngt/service/bean/SchdlBean.java | 73 - .../mngt/service/bean/SchdlServiceBean.java | 45 - .../xit/fims/mngt/service/bean/TaskBean.java | 97 - .../xit/fims/mngt/service/bean/VltnBean.java | 89 - .../xit/fims/mngt/web/Mngt01Controller.java | 171 -- .../xit/fims/mngt/web/Mngt02Controller.java | 163 -- src/main/java/cokr/xit/fims/nxrp/A01.java | 460 ---- src/main/java/cokr/xit/fims/nxrp/A02.java | 555 ---- src/main/java/cokr/xit/fims/nxrp/A03.java | 575 ---- src/main/java/cokr/xit/fims/nxrp/A03Rqst.java | 40 - src/main/java/cokr/xit/fims/nxrp/B01.java | 63 - src/main/java/cokr/xit/fims/nxrp/C01.java | 63 - .../cokr/xit/fims/nxrp/NisIndivQuery.java | 83 - .../cokr/xit/fims/nxrp/dao/NisA01Mapper.java | 105 - .../cokr/xit/fims/nxrp/dao/NisA02Mapper.java | 120 - .../cokr/xit/fims/nxrp/dao/NisA03Mapper.java | 119 - .../fims/nxrp/service/NisIndivService.java | 82 - .../fims/nxrp/service/bean/NisIndivBean.java | 767 ------ .../service/bean/NisIndivServiceBean.java | 76 - .../fims/nxrp/support/AttachedTxtMaker.java | 191 -- .../xit/fims/nxrp/support/LinkFileMaker.java | 32 - .../xit/fims/nxrp/support/OnlyImageMaker.java | 107 - .../xit/fims/nxrp/web/Nxrp01Controller.java | 115 - src/main/java/cokr/xit/fims/payer/Payer.java | 191 -- .../java/cokr/xit/fims/payer/PayerQuery.java | 233 -- .../xit/fims/payer/dao/PayerAddrMapper.java | 67 - .../cokr/xit/fims/payer/dao/PayerMapper.java | 117 - .../xit/fims/payer/service/PayerService.java | 102 - .../fims/payer/service/bean/PayerBean.java | 409 --- .../payer/service/bean/PayerServiceBean.java | 97 - .../xit/fims/payer/web/PayerController.java | 194 -- src/main/java/cokr/xit/fims/rcvm/Rcvmt.java | 181 -- .../java/cokr/xit/fims/rcvm/RcvmtQuery.java | 645 ----- .../cokr/xit/fims/rcvm/dao/RcvmtMapper.java | 98 - .../xit/fims/rcvm/service/RcvmtService.java | 66 - .../xit/fims/rcvm/service/bean/RcvmtBean.java | 340 --- .../rcvm/service/bean/RcvmtServiceBean.java | 73 - .../xit/fims/rcvm/web/Rcvm01Controller.java | 285 -- src/main/java/cokr/xit/fims/rdca/Rdamt.java | 85 - .../java/cokr/xit/fims/rdca/RdamtQuery.java | 110 - .../cokr/xit/fims/rdca/dao/RdamtMapper.java | 117 - .../xit/fims/rdca/service/RdamtService.java | 66 - .../xit/fims/rdca/service/bean/RdamtBean.java | 207 -- .../rdca/service/bean/RdamtServiceBean.java | 62 - .../xit/fims/rdca/web/Rdca01Controller.java | 227 -- src/main/java/cokr/xit/fims/rent/RentEnt.java | 75 - .../java/cokr/xit/fims/rent/RentQuery.java | 105 - .../cokr/xit/fims/rent/UserRentEntMpng.java | 30 - .../cokr/xit/fims/rent/dao/RentEntMapper.java | 78 - .../fims/rent/dao/UserRentEntMpngMapper.java | 64 - .../xit/fims/rent/service/RentEntService.java | 66 - .../fims/rent/service/bean/RentEntBean.java | 107 - .../rent/service/bean/RentEntServiceBean.java | 62 - .../service/bean/UserRentEntMpngBean.java | 82 - .../xit/fims/rent/web/Rent01Controller.java | 262 -- .../java/cokr/xit/fims/sndb/SndbQuery.java | 648 ----- src/main/java/cokr/xit/fims/sndb/Sndng.java | 155 -- .../java/cokr/xit/fims/sndb/SndngDtl.java | 456 ---- .../java/cokr/xit/fims/sndb/SndngHstry.java | 76 - src/main/java/cokr/xit/fims/sndb/Svbtc.java | 91 - .../xit/fims/sndb/dao/SndngDtlMapper.java | 220 -- .../xit/fims/sndb/dao/SndngHstryMapper.java | 99 - .../cokr/xit/fims/sndb/dao/SndngMapper.java | 184 -- .../cokr/xit/fims/sndb/dao/SvbtcMapper.java | 101 - .../fims/sndb/service/SndngDtlService.java | 100 - .../fims/sndb/service/SndngHstryService.java | 61 - .../xit/fims/sndb/service/SndngService.java | 132 - .../xit/fims/sndb/service/SvbtcService.java | 87 - .../xit/fims/sndb/service/bean/SndngBean.java | 1603 ----------- .../fims/sndb/service/bean/SndngDtlBean.java | 743 ----- .../service/bean/SndngDtlServiceBean.java | 92 - .../sndb/service/bean/SndngHstryBean.java | 81 - .../service/bean/SndngHstryServiceBean.java | 56 - .../sndb/service/bean/SndngServiceBean.java | 116 - .../xit/fims/sndb/service/bean/SvbtcBean.java | 292 -- .../sndb/service/bean/SvbtcServiceBean.java | 77 - .../xit/fims/sndb/web/Sndb01Controller.java | 2432 ----------------- .../java/cokr/xit/fims/sprt/CvlcptDscsn.java | 96 - .../cokr/xit/fims/sprt/CvlcptDscsnQuery.java | 226 -- src/main/java/cokr/xit/fims/sprt/Keyword.java | 14 - .../java/cokr/xit/fims/sprt/MediaUtil.java | 49 - src/main/java/cokr/xit/fims/sprt/Sprt.java | 18 - .../java/cokr/xit/fims/sprt/SprtQuery.java | 241 -- .../xit/fims/sprt/dao/CvlcptDscsnMapper.java | 90 - .../sprt/dao/IntegrationSearchMapper.java | 35 - .../cokr/xit/fims/sprt/dao/MediaMapper.java | 25 - .../xit/fims/sprt/dao/TotalInfoMapper.java | 57 - .../fims/sprt/service/CvlcptDscsnService.java | 72 - .../service/IntegrationSearchService.java | 32 - .../xit/fims/sprt/service/Sprt02Service.java | 52 - .../sprt/service/bean/CvlcptDscsnBean.java | 156 -- .../service/bean/CvlcptDscsnServiceBean.java | 71 - .../service/bean/IntegrationSearchBean.java | 67 - .../bean/IntegrationSearchServiceBean.java | 71 - .../xit/fims/sprt/service/bean/MediaBean.java | 133 - .../fims/sprt/service/bean/Sprt02Bean.java | 140 - .../sprt/service/bean/Sprt02ServiceBean.java | 80 - .../xit/fims/sprt/web/Sprt01Controller.java | 1111 -------- .../xit/fims/sprt/web/Sprt02Controller.java | 446 --- .../xit/fims/sprt/web/Sprt03Controller.java | 72 - .../xit/fims/sprt/web/Sprt04Controller.java | 266 -- .../cokr/xit/fims/stat/CodeSubsetInfo.java | 45 - .../java/cokr/xit/fims/stat/CompositeKey.java | 47 - .../java/cokr/xit/fims/stat/GroupInfo.java | 44 - .../cokr/xit/fims/stat/NumberValueInfo.java | 96 - src/main/java/cokr/xit/fims/stat/Stat.java | 51 - .../java/cokr/xit/fims/stat/StatItem.java | 33 - .../java/cokr/xit/fims/stat/StatQuery.java | 275 -- .../xit/fims/stat/service/StatService.java | 14 - .../xit/fims/stat/service/bean/StatBean.java | 682 ----- .../stat/service/bean/StatServiceBean.java | 269 -- .../xit/fims/stat/web/Stat01Controller.java | 265 -- src/main/java/cokr/xit/fims/task/Task.java | 12 - .../cokr/xit/fims/task/TaskMvcConfig.java | 22 - .../TaskRequestMappingHandlerMapping.java | 69 - 348 files changed, 4 insertions(+), 55088 deletions(-) delete mode 100644 src/main/java/cokr/xit/base/ResponseHeaderFilter.java delete mode 100644 src/main/java/cokr/xit/base/ServletCustomizer.java delete mode 100644 src/main/java/cokr/xit/fims/FimsLogFilter.java delete mode 100644 src/main/java/cokr/xit/fims/base/Backup.java delete mode 100644 src/main/java/cokr/xit/fims/base/FimsDepartment.java delete mode 100644 src/main/java/cokr/xit/fims/base/FimsSigungu.java delete mode 100644 src/main/java/cokr/xit/fims/base/FimsUser.java delete mode 100644 src/main/java/cokr/xit/fims/base/OgdpQuery.java delete mode 100644 src/main/java/cokr/xit/fims/base/SseEntity.java delete mode 100644 src/main/java/cokr/xit/fims/base/dao/AdminMapper.java delete mode 100644 src/main/java/cokr/xit/fims/base/dao/OgdpMapper.java delete mode 100644 src/main/java/cokr/xit/fims/base/service/bean/AdminBean.java delete mode 100644 src/main/java/cokr/xit/fims/base/service/bean/OgdpBean.java delete mode 100644 src/main/java/cokr/xit/fims/base/service/bean/SseBean.java delete mode 100644 src/main/java/cokr/xit/fims/base/web/ActionGroupController.java delete mode 100644 src/main/java/cokr/xit/fims/base/web/AdminController.java delete mode 100644 src/main/java/cokr/xit/fims/base/web/AuthorityController.java delete mode 100644 src/main/java/cokr/xit/fims/base/web/CodeController.java delete mode 100644 src/main/java/cokr/xit/fims/base/web/FileController.java delete mode 100644 src/main/java/cokr/xit/fims/base/web/LoggingController.java delete mode 100644 src/main/java/cokr/xit/fims/base/web/MainController.java delete mode 100644 src/main/java/cokr/xit/fims/base/web/MenuController.java delete mode 100644 src/main/java/cokr/xit/fims/base/web/OgdpController.java delete mode 100644 src/main/java/cokr/xit/fims/base/web/UserController.java delete mode 100644 src/main/java/cokr/xit/fims/cmmn/CmmnQuery.java delete mode 100644 src/main/java/cokr/xit/fims/cmmn/CmmnUtil.java delete mode 100644 src/main/java/cokr/xit/fims/cmmn/CodeConverter.java delete mode 100644 src/main/java/cokr/xit/fims/cmmn/CrdnPayerHstry.java delete mode 100644 src/main/java/cokr/xit/fims/cmmn/CrdnPayerHstryQuery.java delete mode 100644 src/main/java/cokr/xit/fims/cmmn/CrdnSttsHstry.java delete mode 100644 src/main/java/cokr/xit/fims/cmmn/CrdnSttsHstryQuery.java delete mode 100644 src/main/java/cokr/xit/fims/cmmn/DirectoryStructureToJson.java delete mode 100644 src/main/java/cokr/xit/fims/cmmn/ExtrArtclStng.java delete mode 100644 src/main/java/cokr/xit/fims/cmmn/ExtrForm.java delete mode 100644 src/main/java/cokr/xit/fims/cmmn/ExtrStngQuery.java delete mode 100644 src/main/java/cokr/xit/fims/cmmn/FimsPrintOption.java delete mode 100644 src/main/java/cokr/xit/fims/cmmn/Hangul.java delete mode 100644 src/main/java/cokr/xit/fims/cmmn/OtptArtclStng.java delete mode 100644 src/main/java/cokr/xit/fims/cmmn/OtptForm.java delete mode 100644 src/main/java/cokr/xit/fims/cmmn/OtptStngQuery.java delete mode 100644 src/main/java/cokr/xit/fims/cmmn/OutsourcingArtclStng.java delete mode 100644 src/main/java/cokr/xit/fims/cmmn/OutsourcingFileMaker.java delete mode 100644 src/main/java/cokr/xit/fims/cmmn/OutsourcingForm.java delete mode 100644 src/main/java/cokr/xit/fims/cmmn/OutsourcingStngQuery.java delete mode 100644 src/main/java/cokr/xit/fims/cmmn/PredefinedSet.java delete mode 100644 src/main/java/cokr/xit/fims/cmmn/Pstn.java delete mode 100644 src/main/java/cokr/xit/fims/cmmn/PstnAndSize.java delete mode 100644 src/main/java/cokr/xit/fims/cmmn/Size.java delete mode 100644 src/main/java/cokr/xit/fims/cmmn/UnnamedItems.java delete mode 100644 src/main/java/cokr/xit/fims/cmmn/dao/CrdnPayerHstryMapper.java delete mode 100644 src/main/java/cokr/xit/fims/cmmn/dao/CrdnSttsHstryMapper.java delete mode 100644 src/main/java/cokr/xit/fims/cmmn/dao/ExtrStngMapper.java delete mode 100644 src/main/java/cokr/xit/fims/cmmn/dao/LinkMapper.java delete mode 100644 src/main/java/cokr/xit/fims/cmmn/dao/OtptStngMapper.java delete mode 100644 src/main/java/cokr/xit/fims/cmmn/dao/OutsourcingStngMapper.java delete mode 100644 src/main/java/cokr/xit/fims/cmmn/dao/StngMapper.java delete mode 100644 src/main/java/cokr/xit/fims/cmmn/ftp/FTPUtil.java delete mode 100644 src/main/java/cokr/xit/fims/cmmn/ftp/RemoteSystemInfo.java delete mode 100644 src/main/java/cokr/xit/fims/cmmn/hwp/format/CrdnConfirm.java delete mode 100644 src/main/java/cokr/xit/fims/cmmn/hwp/format/CrdnList.java delete mode 100644 src/main/java/cokr/xit/fims/cmmn/hwp/format/CvlcptOrgn.java delete mode 100644 src/main/java/cokr/xit/fims/cmmn/hwp/format/DlbrDecsnList.java delete mode 100644 src/main/java/cokr/xit/fims/cmmn/hwp/format/RcvmtConfirm.java delete mode 100644 src/main/java/cokr/xit/fims/cmmn/hwp/format/ReportOnClaims.java delete mode 100644 src/main/java/cokr/xit/fims/cmmn/hwp/format/RequestForDelivery.java delete mode 100644 src/main/java/cokr/xit/fims/cmmn/hwp/format/SvbtcList.java delete mode 100644 src/main/java/cokr/xit/fims/cmmn/pdf/extraction/ExtractImageEngine.java delete mode 100644 src/main/java/cokr/xit/fims/cmmn/pdf/extraction/ExtractText.java delete mode 100644 src/main/java/cokr/xit/fims/cmmn/pdf/extraction/Extraction.java delete mode 100644 src/main/java/cokr/xit/fims/cmmn/pdf/extraction/PDFExtractionUtil.java delete mode 100644 src/main/java/cokr/xit/fims/cmmn/pdf/extraction/format/ElectronicNotice.java delete mode 100644 src/main/java/cokr/xit/fims/cmmn/pdf/extraction/format/PDFExtractFormat.java delete mode 100644 src/main/java/cokr/xit/fims/cmmn/pdf/print/DefaultOtptArtclStng.java delete mode 100644 src/main/java/cokr/xit/fims/cmmn/pdf/print/PDF.java delete mode 100644 src/main/java/cokr/xit/fims/cmmn/pdf/print/PDFColors.java delete mode 100644 src/main/java/cokr/xit/fims/cmmn/pdf/print/PDFCoordinate.java delete mode 100644 src/main/java/cokr/xit/fims/cmmn/pdf/print/PDFWriter.java delete mode 100644 src/main/java/cokr/xit/fims/cmmn/pdf/print/format/Advntce.java delete mode 100644 src/main/java/cokr/xit/fims/cmmn/pdf/print/format/Nht.java delete mode 100644 src/main/java/cokr/xit/fims/cmmn/pdf/print/format/PDFPrintFormat.java delete mode 100644 src/main/java/cokr/xit/fims/cmmn/service/CrdnPayerHstryService.java delete mode 100644 src/main/java/cokr/xit/fims/cmmn/service/CrdnSttsHstryService.java delete mode 100644 src/main/java/cokr/xit/fims/cmmn/service/LinkService.java delete mode 100644 src/main/java/cokr/xit/fims/cmmn/service/StngService.java delete mode 100644 src/main/java/cokr/xit/fims/cmmn/service/bean/CrdnPayerHstryBean.java delete mode 100644 src/main/java/cokr/xit/fims/cmmn/service/bean/CrdnPayerHstryServiceBean.java delete mode 100644 src/main/java/cokr/xit/fims/cmmn/service/bean/CrdnSttsHstryBean.java delete mode 100644 src/main/java/cokr/xit/fims/cmmn/service/bean/CrdnSttsHstryServiceBean.java delete mode 100644 src/main/java/cokr/xit/fims/cmmn/service/bean/ExtrStngBean.java delete mode 100644 src/main/java/cokr/xit/fims/cmmn/service/bean/LinkBean.java delete mode 100644 src/main/java/cokr/xit/fims/cmmn/service/bean/LinkServiceBean.java delete mode 100644 src/main/java/cokr/xit/fims/cmmn/service/bean/OtptStngBean.java delete mode 100644 src/main/java/cokr/xit/fims/cmmn/service/bean/OutsourcingStngBean.java delete mode 100644 src/main/java/cokr/xit/fims/cmmn/service/bean/StngBean.java delete mode 100644 src/main/java/cokr/xit/fims/cmmn/service/bean/StngServiceBean.java delete mode 100644 src/main/java/cokr/xit/fims/cmmn/web/CrdnPayerHstryController.java delete mode 100644 src/main/java/cokr/xit/fims/cmmn/web/CrdnSttsHstryController.java delete mode 100644 src/main/java/cokr/xit/fims/cmmn/web/InterfaceController.java delete mode 100644 src/main/java/cokr/xit/fims/cmmn/web/LinkController.java delete mode 100644 src/main/java/cokr/xit/fims/cmmn/web/StngController.java delete mode 100644 src/main/java/cokr/xit/fims/cmmn/xls/FormatMaker.java delete mode 100644 src/main/java/cokr/xit/fims/cmmn/xls/StyleMaker.java delete mode 100644 src/main/java/cokr/xit/fims/crdn/Crdn.java delete mode 100644 src/main/java/cokr/xit/fims/crdn/CrdnQuery.java delete mode 100644 src/main/java/cokr/xit/fims/crdn/ExmptnVhcl.java delete mode 100644 src/main/java/cokr/xit/fims/crdn/Team.java delete mode 100644 src/main/java/cokr/xit/fims/crdn/dao/CrdnInfoMapper.java delete mode 100644 src/main/java/cokr/xit/fims/crdn/dao/CrdnInstMapper.java delete mode 100644 src/main/java/cokr/xit/fims/crdn/dao/CrdnListMapper.java delete mode 100644 src/main/java/cokr/xit/fims/crdn/dao/CrdnStngMapper.java delete mode 100644 src/main/java/cokr/xit/fims/crdn/dao/CrdnTeamMapper.java delete mode 100644 src/main/java/cokr/xit/fims/crdn/dao/CrdnUpdtMapper.java delete mode 100644 src/main/java/cokr/xit/fims/crdn/dao/ExmptnVhclMapper.java delete mode 100644 src/main/java/cokr/xit/fims/crdn/dao/ImportMapper.java delete mode 100644 src/main/java/cokr/xit/fims/crdn/receive/eqpmnt/AttachedTxtParser.java delete mode 100644 src/main/java/cokr/xit/fims/crdn/receive/eqpmnt/LayoutDescriptor.java delete mode 100644 src/main/java/cokr/xit/fims/crdn/receive/eqpmnt/LayoutDiscriminator.java delete mode 100644 src/main/java/cokr/xit/fims/crdn/receive/eqpmnt/LayoutParser.java delete mode 100644 src/main/java/cokr/xit/fims/crdn/receive/eqpmnt/OnlyImageParser.java delete mode 100644 src/main/java/cokr/xit/fims/crdn/receive/eqpmnt/SingleFileParser.java delete mode 100644 src/main/java/cokr/xit/fims/crdn/service/CrdnService.java delete mode 100644 src/main/java/cokr/xit/fims/crdn/service/CrdnStngService.java delete mode 100644 src/main/java/cokr/xit/fims/crdn/service/ImportService.java delete mode 100644 src/main/java/cokr/xit/fims/crdn/service/bean/CrdnBean.java delete mode 100644 src/main/java/cokr/xit/fims/crdn/service/bean/CrdnServiceBean.java delete mode 100644 src/main/java/cokr/xit/fims/crdn/service/bean/CrdnStngBean.java delete mode 100644 src/main/java/cokr/xit/fims/crdn/service/bean/CrdnStngServiceBean.java delete mode 100644 src/main/java/cokr/xit/fims/crdn/service/bean/ImportBean.java delete mode 100644 src/main/java/cokr/xit/fims/crdn/service/bean/ImportServiceBean.java delete mode 100644 src/main/java/cokr/xit/fims/crdn/web/Crdn01Controller.java delete mode 100644 src/main/java/cokr/xit/fims/crdn/web/Crdn02Controller.java delete mode 100644 src/main/java/cokr/xit/fims/crdn/web/Crdn03Controller.java delete mode 100644 src/main/java/cokr/xit/fims/crdn/web/Crdn05Controller.java delete mode 100644 src/main/java/cokr/xit/fims/crdn/web/Crdn06Controller.java delete mode 100644 src/main/java/cokr/xit/fims/crdn/web/Crdn07Controller.java delete mode 100644 src/main/java/cokr/xit/fims/crdn/web/Crdn08Controller.java delete mode 100644 src/main/java/cokr/xit/fims/cvlc/CrdnCvlcpt.java delete mode 100644 src/main/java/cokr/xit/fims/cvlc/dao/AnswerWordsMapper.java delete mode 100644 src/main/java/cokr/xit/fims/cvlc/dao/CrdnCvlcptMapper.java delete mode 100644 src/main/java/cokr/xit/fims/cvlc/dao/SaCvlcptIndviDmndMapper.java delete mode 100644 src/main/java/cokr/xit/fims/cvlc/dao/WarningWordsMapper.java delete mode 100644 src/main/java/cokr/xit/fims/cvlc/service/CrdnCvlcptService.java delete mode 100644 src/main/java/cokr/xit/fims/cvlc/service/bean/CrdnCvlcptMainBean.java delete mode 100644 src/main/java/cokr/xit/fims/cvlc/service/bean/CrdnCvlcptServiceBean.java delete mode 100644 src/main/java/cokr/xit/fims/cvlc/service/bean/CrdnCvlcptSubBean.java delete mode 100644 src/main/java/cokr/xit/fims/cvlc/web/Cvlc01Controller.java delete mode 100644 src/main/java/cokr/xit/fims/cvlc/web/Cvlc02Controller.java delete mode 100644 src/main/java/cokr/xit/fims/cvlc/web/Cvlc03Controller.java delete mode 100644 src/main/java/cokr/xit/fims/cvlc/web/Cvlc04Controller.java delete mode 100644 src/main/java/cokr/xit/fims/cvlc/web/Cvlc05Controller.java delete mode 100644 src/main/java/cokr/xit/fims/cvlc/web/Cvlc06Controller.java delete mode 100644 src/main/java/cokr/xit/fims/epst/EpostDlvrRslt.java delete mode 100644 src/main/java/cokr/xit/fims/epst/EpostGdntc.java delete mode 100644 src/main/java/cokr/xit/fims/epst/EpostQuery.java delete mode 100644 src/main/java/cokr/xit/fims/epst/EpostRcptDtl.java delete mode 100644 src/main/java/cokr/xit/fims/epst/EpostRcptReg.java delete mode 100644 src/main/java/cokr/xit/fims/epst/EpostRcptRslt.java delete mode 100644 src/main/java/cokr/xit/fims/epst/dao/EpostDlvrRsltMapper.java delete mode 100644 src/main/java/cokr/xit/fims/epst/dao/EpostGdntcMapper.java delete mode 100644 src/main/java/cokr/xit/fims/epst/dao/EpostRcptDtlMapper.java delete mode 100644 src/main/java/cokr/xit/fims/epst/dao/EpostRcptRegMapper.java delete mode 100644 src/main/java/cokr/xit/fims/epst/dao/EpostRcptRsltMapper.java delete mode 100644 src/main/java/cokr/xit/fims/epst/service/EpostDlvrRsltService.java delete mode 100644 src/main/java/cokr/xit/fims/epst/service/EpostGdntcService.java delete mode 100644 src/main/java/cokr/xit/fims/epst/service/EpostRcptDtlService.java delete mode 100644 src/main/java/cokr/xit/fims/epst/service/EpostRcptRegService.java delete mode 100644 src/main/java/cokr/xit/fims/epst/service/EpostRcptRsltService.java delete mode 100644 src/main/java/cokr/xit/fims/epst/service/bean/EpostDlvrRsltBean.java delete mode 100644 src/main/java/cokr/xit/fims/epst/service/bean/EpostDlvrRsltServiceBean.java delete mode 100644 src/main/java/cokr/xit/fims/epst/service/bean/EpostGdntcBean.java delete mode 100644 src/main/java/cokr/xit/fims/epst/service/bean/EpostGdntcServiceBean.java delete mode 100644 src/main/java/cokr/xit/fims/epst/service/bean/EpostRcptDtlBean.java delete mode 100644 src/main/java/cokr/xit/fims/epst/service/bean/EpostRcptDtlServiceBean.java delete mode 100644 src/main/java/cokr/xit/fims/epst/service/bean/EpostRcptRegBean.java delete mode 100644 src/main/java/cokr/xit/fims/epst/service/bean/EpostRcptRegServiceBean.java delete mode 100644 src/main/java/cokr/xit/fims/epst/service/bean/EpostRcptRsltBean.java delete mode 100644 src/main/java/cokr/xit/fims/epst/service/bean/EpostRcptRsltServiceBean.java delete mode 100644 src/main/java/cokr/xit/fims/epst/web/Epst01Controller.java delete mode 100644 src/main/java/cokr/xit/fims/epst/web/Epst02Controller.java delete mode 100644 src/main/java/cokr/xit/fims/excl/CrdnReReg.java delete mode 100644 src/main/java/cokr/xit/fims/excl/LevyExcl.java delete mode 100644 src/main/java/cokr/xit/fims/excl/LevyExclQuery.java delete mode 100644 src/main/java/cokr/xit/fims/excl/OpnnDlbrMbr.java delete mode 100644 src/main/java/cokr/xit/fims/excl/OpnnSbmsn.java delete mode 100644 src/main/java/cokr/xit/fims/excl/dao/CrdnReRegMapper.java delete mode 100644 src/main/java/cokr/xit/fims/excl/dao/LevyExclMapper.java delete mode 100644 src/main/java/cokr/xit/fims/excl/dao/OpnnDlbrMbrMapper.java delete mode 100644 src/main/java/cokr/xit/fims/excl/dao/OpnnSbmsnMapper.java delete mode 100644 src/main/java/cokr/xit/fims/excl/service/CrdnReRegService.java delete mode 100644 src/main/java/cokr/xit/fims/excl/service/LevyExclService.java delete mode 100644 src/main/java/cokr/xit/fims/excl/service/OpnnDlbrMbrService.java delete mode 100644 src/main/java/cokr/xit/fims/excl/service/OpnnSbmsnService.java delete mode 100644 src/main/java/cokr/xit/fims/excl/service/bean/CrdnReRegBean.java delete mode 100644 src/main/java/cokr/xit/fims/excl/service/bean/CrdnReRegServiceBean.java delete mode 100644 src/main/java/cokr/xit/fims/excl/service/bean/LevyExclBean.java delete mode 100644 src/main/java/cokr/xit/fims/excl/service/bean/LevyExclServiceBean.java delete mode 100644 src/main/java/cokr/xit/fims/excl/service/bean/OpnnDlbrMbrBean.java delete mode 100644 src/main/java/cokr/xit/fims/excl/service/bean/OpnnDlbrMbrServiceBean.java delete mode 100644 src/main/java/cokr/xit/fims/excl/service/bean/OpnnSbmsnBean.java delete mode 100644 src/main/java/cokr/xit/fims/excl/service/bean/OpnnSbmsnServiceBean.java delete mode 100644 src/main/java/cokr/xit/fims/excl/web/Excl01Controller.java delete mode 100644 src/main/java/cokr/xit/fims/excl/web/Excl02Controller.java delete mode 100644 src/main/java/cokr/xit/fims/excl/web/Excl03Controller.java delete mode 100644 src/main/java/cokr/xit/fims/levy/Levy.java delete mode 100644 src/main/java/cokr/xit/fims/levy/LevyQuery.java delete mode 100644 src/main/java/cokr/xit/fims/levy/Rdct.java delete mode 100644 src/main/java/cokr/xit/fims/levy/dao/LevyMapper.java delete mode 100644 src/main/java/cokr/xit/fims/levy/dao/RdctMapper.java delete mode 100644 src/main/java/cokr/xit/fims/levy/service/LevyService.java delete mode 100644 src/main/java/cokr/xit/fims/levy/service/RdctService.java delete mode 100644 src/main/java/cokr/xit/fims/levy/service/bean/LevyBean.java delete mode 100644 src/main/java/cokr/xit/fims/levy/service/bean/LevyServiceBean.java delete mode 100644 src/main/java/cokr/xit/fims/levy/service/bean/RdctBean.java delete mode 100644 src/main/java/cokr/xit/fims/levy/service/bean/RdctServiceBean.java delete mode 100644 src/main/java/cokr/xit/fims/levy/web/Levy01Controller.java delete mode 100644 src/main/java/cokr/xit/fims/levy/web/Levy02Controller.java delete mode 100644 src/main/java/cokr/xit/fims/mngt/Ntc.java delete mode 100644 src/main/java/cokr/xit/fims/mngt/NtcQuery.java delete mode 100644 src/main/java/cokr/xit/fims/mngt/OgdpUtil.java delete mode 100644 src/main/java/cokr/xit/fims/mngt/Schdl.java delete mode 100644 src/main/java/cokr/xit/fims/mngt/SchdlQuery.java delete mode 100644 src/main/java/cokr/xit/fims/mngt/Task.java delete mode 100644 src/main/java/cokr/xit/fims/mngt/Vltn.java delete mode 100644 src/main/java/cokr/xit/fims/mngt/VltnQuery.java delete mode 100644 src/main/java/cokr/xit/fims/mngt/dao/NtcMapper.java delete mode 100644 src/main/java/cokr/xit/fims/mngt/dao/SchdlMapper.java delete mode 100644 src/main/java/cokr/xit/fims/mngt/dao/TaskMapper.java delete mode 100644 src/main/java/cokr/xit/fims/mngt/dao/VltnMapper.java delete mode 100644 src/main/java/cokr/xit/fims/mngt/service/NtcService.java delete mode 100644 src/main/java/cokr/xit/fims/mngt/service/SchdlService.java delete mode 100644 src/main/java/cokr/xit/fims/mngt/service/bean/NtcBean.java delete mode 100644 src/main/java/cokr/xit/fims/mngt/service/bean/NtcServiceBean.java delete mode 100644 src/main/java/cokr/xit/fims/mngt/service/bean/SchdlBean.java delete mode 100644 src/main/java/cokr/xit/fims/mngt/service/bean/SchdlServiceBean.java delete mode 100644 src/main/java/cokr/xit/fims/mngt/service/bean/TaskBean.java delete mode 100644 src/main/java/cokr/xit/fims/mngt/service/bean/VltnBean.java delete mode 100644 src/main/java/cokr/xit/fims/mngt/web/Mngt01Controller.java delete mode 100644 src/main/java/cokr/xit/fims/mngt/web/Mngt02Controller.java delete mode 100644 src/main/java/cokr/xit/fims/nxrp/A01.java delete mode 100644 src/main/java/cokr/xit/fims/nxrp/A02.java delete mode 100644 src/main/java/cokr/xit/fims/nxrp/A03.java delete mode 100644 src/main/java/cokr/xit/fims/nxrp/A03Rqst.java delete mode 100644 src/main/java/cokr/xit/fims/nxrp/B01.java delete mode 100644 src/main/java/cokr/xit/fims/nxrp/C01.java delete mode 100644 src/main/java/cokr/xit/fims/nxrp/NisIndivQuery.java delete mode 100644 src/main/java/cokr/xit/fims/nxrp/dao/NisA01Mapper.java delete mode 100644 src/main/java/cokr/xit/fims/nxrp/dao/NisA02Mapper.java delete mode 100644 src/main/java/cokr/xit/fims/nxrp/dao/NisA03Mapper.java delete mode 100644 src/main/java/cokr/xit/fims/nxrp/service/NisIndivService.java delete mode 100644 src/main/java/cokr/xit/fims/nxrp/service/bean/NisIndivBean.java delete mode 100644 src/main/java/cokr/xit/fims/nxrp/service/bean/NisIndivServiceBean.java delete mode 100644 src/main/java/cokr/xit/fims/nxrp/support/AttachedTxtMaker.java delete mode 100644 src/main/java/cokr/xit/fims/nxrp/support/LinkFileMaker.java delete mode 100644 src/main/java/cokr/xit/fims/nxrp/support/OnlyImageMaker.java delete mode 100644 src/main/java/cokr/xit/fims/nxrp/web/Nxrp01Controller.java delete mode 100644 src/main/java/cokr/xit/fims/payer/Payer.java delete mode 100644 src/main/java/cokr/xit/fims/payer/PayerQuery.java delete mode 100644 src/main/java/cokr/xit/fims/payer/dao/PayerAddrMapper.java delete mode 100644 src/main/java/cokr/xit/fims/payer/dao/PayerMapper.java delete mode 100644 src/main/java/cokr/xit/fims/payer/service/PayerService.java delete mode 100644 src/main/java/cokr/xit/fims/payer/service/bean/PayerBean.java delete mode 100644 src/main/java/cokr/xit/fims/payer/service/bean/PayerServiceBean.java delete mode 100644 src/main/java/cokr/xit/fims/payer/web/PayerController.java delete mode 100644 src/main/java/cokr/xit/fims/rcvm/Rcvmt.java delete mode 100644 src/main/java/cokr/xit/fims/rcvm/RcvmtQuery.java delete mode 100644 src/main/java/cokr/xit/fims/rcvm/dao/RcvmtMapper.java delete mode 100644 src/main/java/cokr/xit/fims/rcvm/service/RcvmtService.java delete mode 100644 src/main/java/cokr/xit/fims/rcvm/service/bean/RcvmtBean.java delete mode 100644 src/main/java/cokr/xit/fims/rcvm/service/bean/RcvmtServiceBean.java delete mode 100644 src/main/java/cokr/xit/fims/rcvm/web/Rcvm01Controller.java delete mode 100644 src/main/java/cokr/xit/fims/rdca/Rdamt.java delete mode 100644 src/main/java/cokr/xit/fims/rdca/RdamtQuery.java delete mode 100644 src/main/java/cokr/xit/fims/rdca/dao/RdamtMapper.java delete mode 100644 src/main/java/cokr/xit/fims/rdca/service/RdamtService.java delete mode 100644 src/main/java/cokr/xit/fims/rdca/service/bean/RdamtBean.java delete mode 100644 src/main/java/cokr/xit/fims/rdca/service/bean/RdamtServiceBean.java delete mode 100644 src/main/java/cokr/xit/fims/rdca/web/Rdca01Controller.java delete mode 100644 src/main/java/cokr/xit/fims/rent/RentEnt.java delete mode 100644 src/main/java/cokr/xit/fims/rent/RentQuery.java delete mode 100644 src/main/java/cokr/xit/fims/rent/UserRentEntMpng.java delete mode 100644 src/main/java/cokr/xit/fims/rent/dao/RentEntMapper.java delete mode 100644 src/main/java/cokr/xit/fims/rent/dao/UserRentEntMpngMapper.java delete mode 100644 src/main/java/cokr/xit/fims/rent/service/RentEntService.java delete mode 100644 src/main/java/cokr/xit/fims/rent/service/bean/RentEntBean.java delete mode 100644 src/main/java/cokr/xit/fims/rent/service/bean/RentEntServiceBean.java delete mode 100644 src/main/java/cokr/xit/fims/rent/service/bean/UserRentEntMpngBean.java delete mode 100644 src/main/java/cokr/xit/fims/rent/web/Rent01Controller.java delete mode 100644 src/main/java/cokr/xit/fims/sndb/SndbQuery.java delete mode 100644 src/main/java/cokr/xit/fims/sndb/Sndng.java delete mode 100644 src/main/java/cokr/xit/fims/sndb/SndngDtl.java delete mode 100644 src/main/java/cokr/xit/fims/sndb/SndngHstry.java delete mode 100644 src/main/java/cokr/xit/fims/sndb/Svbtc.java delete mode 100644 src/main/java/cokr/xit/fims/sndb/dao/SndngDtlMapper.java delete mode 100644 src/main/java/cokr/xit/fims/sndb/dao/SndngHstryMapper.java delete mode 100644 src/main/java/cokr/xit/fims/sndb/dao/SndngMapper.java delete mode 100644 src/main/java/cokr/xit/fims/sndb/dao/SvbtcMapper.java delete mode 100644 src/main/java/cokr/xit/fims/sndb/service/SndngDtlService.java delete mode 100644 src/main/java/cokr/xit/fims/sndb/service/SndngHstryService.java delete mode 100644 src/main/java/cokr/xit/fims/sndb/service/SndngService.java delete mode 100644 src/main/java/cokr/xit/fims/sndb/service/SvbtcService.java delete mode 100644 src/main/java/cokr/xit/fims/sndb/service/bean/SndngBean.java delete mode 100644 src/main/java/cokr/xit/fims/sndb/service/bean/SndngDtlBean.java delete mode 100644 src/main/java/cokr/xit/fims/sndb/service/bean/SndngDtlServiceBean.java delete mode 100644 src/main/java/cokr/xit/fims/sndb/service/bean/SndngHstryBean.java delete mode 100644 src/main/java/cokr/xit/fims/sndb/service/bean/SndngHstryServiceBean.java delete mode 100644 src/main/java/cokr/xit/fims/sndb/service/bean/SndngServiceBean.java delete mode 100644 src/main/java/cokr/xit/fims/sndb/service/bean/SvbtcBean.java delete mode 100644 src/main/java/cokr/xit/fims/sndb/service/bean/SvbtcServiceBean.java delete mode 100644 src/main/java/cokr/xit/fims/sndb/web/Sndb01Controller.java delete mode 100644 src/main/java/cokr/xit/fims/sprt/CvlcptDscsn.java delete mode 100644 src/main/java/cokr/xit/fims/sprt/CvlcptDscsnQuery.java delete mode 100644 src/main/java/cokr/xit/fims/sprt/Keyword.java delete mode 100644 src/main/java/cokr/xit/fims/sprt/MediaUtil.java delete mode 100644 src/main/java/cokr/xit/fims/sprt/Sprt.java delete mode 100644 src/main/java/cokr/xit/fims/sprt/SprtQuery.java delete mode 100644 src/main/java/cokr/xit/fims/sprt/dao/CvlcptDscsnMapper.java delete mode 100644 src/main/java/cokr/xit/fims/sprt/dao/IntegrationSearchMapper.java delete mode 100644 src/main/java/cokr/xit/fims/sprt/dao/MediaMapper.java delete mode 100644 src/main/java/cokr/xit/fims/sprt/dao/TotalInfoMapper.java delete mode 100644 src/main/java/cokr/xit/fims/sprt/service/CvlcptDscsnService.java delete mode 100644 src/main/java/cokr/xit/fims/sprt/service/IntegrationSearchService.java delete mode 100644 src/main/java/cokr/xit/fims/sprt/service/Sprt02Service.java delete mode 100644 src/main/java/cokr/xit/fims/sprt/service/bean/CvlcptDscsnBean.java delete mode 100644 src/main/java/cokr/xit/fims/sprt/service/bean/CvlcptDscsnServiceBean.java delete mode 100644 src/main/java/cokr/xit/fims/sprt/service/bean/IntegrationSearchBean.java delete mode 100644 src/main/java/cokr/xit/fims/sprt/service/bean/IntegrationSearchServiceBean.java delete mode 100644 src/main/java/cokr/xit/fims/sprt/service/bean/MediaBean.java delete mode 100644 src/main/java/cokr/xit/fims/sprt/service/bean/Sprt02Bean.java delete mode 100644 src/main/java/cokr/xit/fims/sprt/service/bean/Sprt02ServiceBean.java delete mode 100644 src/main/java/cokr/xit/fims/sprt/web/Sprt01Controller.java delete mode 100644 src/main/java/cokr/xit/fims/sprt/web/Sprt02Controller.java delete mode 100644 src/main/java/cokr/xit/fims/sprt/web/Sprt03Controller.java delete mode 100644 src/main/java/cokr/xit/fims/sprt/web/Sprt04Controller.java delete mode 100644 src/main/java/cokr/xit/fims/stat/CodeSubsetInfo.java delete mode 100644 src/main/java/cokr/xit/fims/stat/CompositeKey.java delete mode 100644 src/main/java/cokr/xit/fims/stat/GroupInfo.java delete mode 100644 src/main/java/cokr/xit/fims/stat/NumberValueInfo.java delete mode 100644 src/main/java/cokr/xit/fims/stat/Stat.java delete mode 100644 src/main/java/cokr/xit/fims/stat/StatItem.java delete mode 100644 src/main/java/cokr/xit/fims/stat/StatQuery.java delete mode 100644 src/main/java/cokr/xit/fims/stat/service/StatService.java delete mode 100644 src/main/java/cokr/xit/fims/stat/service/bean/StatBean.java delete mode 100644 src/main/java/cokr/xit/fims/stat/service/bean/StatServiceBean.java delete mode 100644 src/main/java/cokr/xit/fims/stat/web/Stat01Controller.java delete mode 100644 src/main/java/cokr/xit/fims/task/Task.java delete mode 100644 src/main/java/cokr/xit/fims/task/TaskMvcConfig.java delete mode 100644 src/main/java/cokr/xit/fims/task/TaskRequestMappingHandlerMapping.java diff --git a/pom.xml b/pom.xml index 3238842b..a109bf48 100644 --- a/pom.xml +++ b/pom.xml @@ -2,19 +2,12 @@ 4.0.0 - - - org.springframework.boot - spring-boot-starter-parent - 2.7.18 - - cokr.xit.app - fims-java + sgg-setting 0.0.1-SNAPSHOT - fims-java - 과태료통합관리시스템java + sgg-setting + sgg-setting jar @@ -43,175 +36,9 @@ - - - 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.boot - xit-base-starter - 23.04.01-SNAPSHOT - - - - - - cokr.xit.base - xit-syslog - 23.04.01-SNAPSHOT - - - - - org.egovframe.rte - org.egovframe.rte.fdl.crypto - 4.1.0 - - - cokr.xit.base - xit-crypto - 23.04.01-SNAPSHOT - - - - - org.mariadb.jdbc - mariadb-java-client - runtime - - - - - com.ibm.icu - icu4j - 75.1 - - - - - cokr.xit.interfaces - xit-lvis - 0.0.1-SNAPSHOT - - - - cokr.xit.interfaces - xit-disabled-parking - 23.04.01-SNAPSHOT - - - - - - - - - - - cokr.xit.interfaces - xit-smg - 23.04.01-SNAPSHOT - - - - - - - - cokr.xit.interfaces.lntris - xit-lntris-basic - 23.04.01-SNAPSHOT - - - - cokr.xit.interfaces.lntris - xit-lntris-special - 23.04.01-SNAPSHOT - - - - - cokr.xit.interfaces - xit-epost - 23.04.01-SNAPSHOT - - - - - org.apache.pdfbox - pdfbox - 3.0.2 - - - - - commons-net - commons-net - 3.10.0 - - - commons-discovery - commons-discovery - 0.5 - - - - - com.google.zxing - core - 3.5.3 - - - com.google.zxing - javase - 3.5.3 - - - - cokr.xit.app - app-support - 0.0.1-SNAPSHOT - - - cokr.xit.app - app-support-res - 0.0.1-SNAPSHOT - @@ -332,35 +159,5 @@ - - + \ No newline at end of file diff --git a/src/main/java/cokr/xit/base/ResponseHeaderFilter.java b/src/main/java/cokr/xit/base/ResponseHeaderFilter.java deleted file mode 100644 index b45e4f12..00000000 --- a/src/main/java/cokr/xit/base/ResponseHeaderFilter.java +++ /dev/null @@ -1,75 +0,0 @@ -package cokr.xit.base; - -import java.io.IOException; - -import javax.servlet.Filter; -import javax.servlet.FilterChain; -import javax.servlet.ServletException; -import javax.servlet.ServletRequest; -import javax.servlet.ServletResponse; -import javax.servlet.http.Cookie; -import javax.servlet.http.HttpServletResponse; -import javax.servlet.http.HttpServletResponseWrapper; - -import org.springframework.core.annotation.Order; -import org.springframework.stereotype.Component; - -@Component -@Order(-10001) -public class ResponseHeaderFilter implements Filter { - - public ResponseHeaderFilter() {} - - @Override - public void destroy() {} - - @Override - public void doFilter(ServletRequest request, ServletResponse response, - FilterChain chain) throws IOException, ServletException { - - chain.doFilter(request, new HttpServletResponseWrapper((HttpServletResponse) response) { - - @Override - public void addCookie(Cookie cookie) { - - if(cookie.getValue().equals("") && cookie.getMaxAge() == 0) { - cookie.setValue("null"); - } - - cookie.setHttpOnly(true); - - super.addCookie(cookie); - - } - - @Override - public void setContentType(String type) { - if(type.equals("text/css") - || type.equals("application/javascript") - || type.equals("image/svg+xml") - || type.equals("text/html")) { - type = type+";charset=UTF-8"; - } - super.setContentType(type); - } - - @Override - public void setHeader(String name, String value) { - - if(name.equalsIgnoreCase("X-Xss-Protection")) { - if(super.containsHeader("Content-Type")) { - if(super.getContentType() != null) { - if(super.getContentType().startsWith("application/json")) { - return; - } - } - } - } - - super.setHeader(name, value); - return; - } - }); - - } -} diff --git a/src/main/java/cokr/xit/base/ServletCustomizer.java b/src/main/java/cokr/xit/base/ServletCustomizer.java deleted file mode 100644 index badb9cdc..00000000 --- a/src/main/java/cokr/xit/base/ServletCustomizer.java +++ /dev/null @@ -1,20 +0,0 @@ -package cokr.xit.base; - - -import org.springframework.boot.web.embedded.tomcat.TomcatServletWebServerFactory; -import org.springframework.boot.web.server.MimeMappings; -import org.springframework.boot.web.server.WebServerFactoryCustomizer; -import org.springframework.context.annotation.Configuration; - -@Configuration -public class ServletCustomizer implements WebServerFactoryCustomizer { - @Override - public void customize(TomcatServletWebServerFactory factory) { - MimeMappings mappings = new MimeMappings(MimeMappings.DEFAULT); - mappings.add("woff", "font/woff"); - mappings.add("woff2", "font/woff2"); - mappings.add("otf", "font/otf"); - mappings.add("ico", "image/x-icon"); - factory.setMimeMappings(mappings); - } -} diff --git a/src/main/java/cokr/xit/fims/FimsLogFilter.java b/src/main/java/cokr/xit/fims/FimsLogFilter.java deleted file mode 100644 index b67b0b0b..00000000 --- a/src/main/java/cokr/xit/fims/FimsLogFilter.java +++ /dev/null @@ -1,37 +0,0 @@ -package cokr.xit.fims; - -import org.springframework.stereotype.Component; - -import cokr.xit.base.syslog.ServiceLog; -import cokr.xit.base.syslog.service.bean.LogFilter; - -/**FIMS 서비스 로그 필터 - * @author mjkhan - */ -@Component("logFilter") -public class FimsLogFilter extends LogFilter { - private String[] ignore = { - "login.do", "logout.do", - "/user/", "/authority/", "/code/", "/menu/", "/syslog/", "/error/", - "/stat/stat01/010/info.do" - }; - - @Override - protected boolean customFilter(ServiceLog log) { - switch (log.getType()) { - case ServiceLog.LOG_INOUT: - case ServiceLog.DOWNLOAD: return true; - case ServiceLog.WEB: - String url = blankIfEmpty(log.getUrl()); - for (String str: ignore) { - if (url.contains(str)) - return false; - } - if ("modifySvg".equals(log.getMethodName())) - return false; - - return true; - default: return false; - } - } -} \ No newline at end of file diff --git a/src/main/java/cokr/xit/fims/base/Backup.java b/src/main/java/cokr/xit/fims/base/Backup.java deleted file mode 100644 index a96db785..00000000 --- a/src/main/java/cokr/xit/fims/base/Backup.java +++ /dev/null @@ -1,13 +0,0 @@ -package cokr.xit.fims.base; - -import lombok.Getter; -import lombok.Setter; - -@Getter -@Setter -public class Backup { - String originalTable; - String backupTable; - String pkName; - String[] pks; -} diff --git a/src/main/java/cokr/xit/fims/base/FimsDepartment.java b/src/main/java/cokr/xit/fims/base/FimsDepartment.java deleted file mode 100644 index c82ff5b2..00000000 --- a/src/main/java/cokr/xit/fims/base/FimsDepartment.java +++ /dev/null @@ -1,120 +0,0 @@ -package cokr.xit.fims.base; - -import cokr.xit.base.user.Department; -import lombok.Getter; -import lombok.Setter; - -/** - * 부서 정보 - * @author JoJH - */ -@Getter -@Setter -public class FimsDepartment extends Department { - - /** - * 민원 연계 구분 코드 - */ - private String cvlcptLinkSeCd; - - /** - * 가상계좌 연계 구분 코드 - */ - private String vrbacntLinkSeCd; - - /** - * 우체국 명 - */ - private String pstofcNm; - - /** - * 등기 번호 헤더 - */ - private String rgNoHeader; - - /** - * 발송 연계 구분 코드 - */ - private String sndngLinkSeCd; - - /** - * E그린 외부기관구분코드 - */ - private String egpConOrg; - - /** - * E그린 접수우체국국기호 - */ - private String egpRceptId; - - /** - * E그린 후납계약승인번호 - */ - private String egpApvlNb; - - /** - * E그린 ESB경로 - */ - private String egpEsbPath; - - /** - * E그린 우정정보센터 기관ID - */ - private String egpPostInstId; - - /** - * E그린 인증서CN - */ - private String egpCertCn; - - /** - * 세외수입 인터페이스ID - */ - private String ensInterfaceId; - - /** - * 세외수입 소스코드 - */ - private String ensSourceCd; - - /** - * 세외수입 타겟코드 - */ - private String ensTargetCd; - - /** - * 세외수입 URL - */ - private String ensUrl; - - /** - * 세외수입 연계 여부 - */ - private String nxrpLinkYn; - - /** - * 세외수입 지역 구분 코드 - */ - private String nxrpRgnSeCd; - - /** - * 교부 은행 명 - */ - private String dtbnBankNm; - - /** - * 교부 계좌번호 - */ - private String dtbnActno; - - /** - * 문서 머릿말 - */ - private String docHeader; - - /** - * 서버 OS - */ - private String srvrOs; - -} diff --git a/src/main/java/cokr/xit/fims/base/FimsSigungu.java b/src/main/java/cokr/xit/fims/base/FimsSigungu.java deleted file mode 100644 index c0494685..00000000 --- a/src/main/java/cokr/xit/fims/base/FimsSigungu.java +++ /dev/null @@ -1,31 +0,0 @@ -package cokr.xit.fims.base; - -import cokr.xit.base.user.Sigungu; -import lombok.Getter; -import lombok.Setter; - -@Getter -@Setter -public class FimsSigungu extends Sigungu { - - /** - * 상징 파일 경로 - */ - private String symbolFilepath; - - /** - * 상징 파일 명 - */ - private String symbolFilename; - - /** - * 로고 파일 경로 - */ - private String logoFilepath; - - /** - * 로고 파일 명 - */ - private String logoFilename; - -} diff --git a/src/main/java/cokr/xit/fims/base/FimsUser.java b/src/main/java/cokr/xit/fims/base/FimsUser.java deleted file mode 100644 index 120dc4ec..00000000 --- a/src/main/java/cokr/xit/fims/base/FimsUser.java +++ /dev/null @@ -1,93 +0,0 @@ -package cokr.xit.fims.base; - -import cokr.xit.base.user.GenericUser; - -public class FimsUser extends GenericUser { - - private static final long serialVersionUID = 1L; - - @Override - public String getType() { - return "USR00"; - } - - @Override - public String getAccount() { - String account = super.getAccount(); - return account != null ? account.toUpperCase() : null; - } - - @Override - public void setAccount(String account) { - if(account != null) { - account = account.toUpperCase(); - } - super.setAccount(account); - } - - /** - * 직위 이름 - */ - private String positionName; - - /** - * 인증 DN 값 - */ - private String certificateDn; - - /** - * 접속구분코드 - */ - private String cntnSeCd; - - /** - * 사용자구분코드 - */ - private String userSeCd; - - - /**직위이름을 반환한다. - * @return 직위이름 - */ - public String getPositionName() { - return positionName; - } - - /**직위이름을 설정한다. - * @param positionName 직위이름 - */ - public void setPositionName(String positionName) { - this.positionName = positionName; - } - - /**인증 DN값을 반환한다. - * @return 인증 DN값 - */ - public String getCertificateDn() { - return certificateDn; - } - - /**인증 DN값을 설정한다. - * @param certificateDn 인증 DN값 - */ - public void setCertificateDn(String certificateDn) { - this.certificateDn = certificateDn; - } - - public String getCntnSeCd() { - return cntnSeCd; - } - - public void setCntnSeCd(String cntnSeCd) { - this.cntnSeCd = cntnSeCd; - } - - public String getUserSeCd() { - return userSeCd; - } - - public void setUserSeCd(String userSeCd) { - this.userSeCd = userSeCd; - } - -} diff --git a/src/main/java/cokr/xit/fims/base/OgdpQuery.java b/src/main/java/cokr/xit/fims/base/OgdpQuery.java deleted file mode 100644 index 6c8177bb..00000000 --- a/src/main/java/cokr/xit/fims/base/OgdpQuery.java +++ /dev/null @@ -1,63 +0,0 @@ -package cokr.xit.fims.base; - - -import cokr.xit.foundation.component.QueryRequest; - -public class OgdpQuery extends QueryRequest { - private static final long serialVersionUID = 1L; - - - private String sggCd; // 시군구 코드 - private String deptCd; // 부서 코드 - private String instCd; // 기관 코드 - private String useYn; // 사용 여부 - private String delYn; // 삭제 여부 - - - public String getSggCd() { - return ifEmpty(sggCd, () -> null); - } - - public T setSggCd(String sggCd) { - this.sggCd = sggCd; - return self(); - } - - public String getDeptCd() { - return ifEmpty(deptCd, () -> null); - } - - public T setDeptCd(String deptCd) { - this.deptCd = deptCd; - return self(); - } - - public String getInstCd() { - return ifEmpty(instCd, () -> null); - } - - public T setInstCd(String instCd) { - this.instCd = instCd; - return self(); - } - - public String getUseYn() { - return ifEmpty(useYn, () -> null); - } - - public T setUseYn(String useYn) { - this.useYn = useYn; - return self(); - } - - public String getDelYn() { - return ifEmpty(delYn, () -> null); - } - - public T setDelYn(String delYn) { - this.delYn = delYn; - return self(); - } - - -} diff --git a/src/main/java/cokr/xit/fims/base/SseEntity.java b/src/main/java/cokr/xit/fims/base/SseEntity.java deleted file mode 100644 index ecdb880a..00000000 --- a/src/main/java/cokr/xit/fims/base/SseEntity.java +++ /dev/null @@ -1,25 +0,0 @@ -package cokr.xit.fims.base; - -import org.springframework.web.servlet.mvc.method.annotation.SseEmitter; - -import cokr.xit.foundation.data.DataObject; -import lombok.Getter; -import lombok.Setter; - -@Setter -@Getter -public class SseEntity { - - private long createdAt; - - private SseEmitter emitter; - - private DataObject progress; - - public SseEntity(SseEmitter emitter) { - this.createdAt = System.currentTimeMillis(); - this.emitter = emitter; - this.progress = new DataObject(); - } - -} diff --git a/src/main/java/cokr/xit/fims/base/dao/AdminMapper.java b/src/main/java/cokr/xit/fims/base/dao/AdminMapper.java deleted file mode 100644 index 01ef1d02..00000000 --- a/src/main/java/cokr/xit/fims/base/dao/AdminMapper.java +++ /dev/null @@ -1,30 +0,0 @@ -package cokr.xit.fims.base.dao; - -import java.util.List; -import java.util.Map; - -import org.egovframe.rte.psl.dataaccess.mapper.Mapper; - -import cokr.xit.fims.base.Backup; -import cokr.xit.foundation.component.AbstractMapper; -import cokr.xit.foundation.data.DataObject; - -@Mapper("adminMapper") -public interface AdminMapper extends AbstractMapper { - - List selectAllList(Map map); - - int insertOriginalData(Backup backup); - - int deleteOriginalData(Backup backup); - - int insertBackupData(Backup backup); - - int deleteBackupData(Backup backup); - - int copyTask(Map param); - - List selectVltnList(Map param); - - int copyVltn(Map param); -} diff --git a/src/main/java/cokr/xit/fims/base/dao/OgdpMapper.java b/src/main/java/cokr/xit/fims/base/dao/OgdpMapper.java deleted file mode 100644 index 9c53f502..00000000 --- a/src/main/java/cokr/xit/fims/base/dao/OgdpMapper.java +++ /dev/null @@ -1,235 +0,0 @@ -package cokr.xit.fims.base.dao; - -import java.util.List; -import java.util.Map; - -import org.apache.ibatis.annotations.Select; -import org.apache.ibatis.annotations.Update; -import org.egovframe.rte.psl.dataaccess.mapper.Mapper; - -import cokr.xit.applib.SQLUtil; -import cokr.xit.fims.base.FimsSigungu; -import cokr.xit.fims.base.OgdpQuery; -import cokr.xit.foundation.component.AbstractMapper; -import cokr.xit.foundation.data.DataObject; - -@Mapper("ogdpMapper") -public interface OgdpMapper extends AbstractMapper { - public static String select = """ - SELECT D.DEPT_CD - , D.SGG_CD - , (SELECT SGG_NM FROM TB_SGG WHERE SGG_CD = D.SGG_CD) AS SGG_NM - , D.INST_CD - , (SELECT INST_NM FROM TB_SGG WHERE INST_CD = D.INST_CD) AS INST_NM - , D.DEPT_NM - , D.DEPT_TELNO - , D.DEPT_FXNO - , D.USE_YN - , (CASE D.USE_YN WHEN 'Y' THEN '사용' WHEN 'N' THEN '미사용' ELSE '' END) AS USE_YN_NM - , D.REG_DT - , D.RGTR - , D.MDFCN_DT - , D.MDFR - , D.CVLCPT_LINK_SE_CD - , D.VRBACNT_LINK_SE_CD - , D.PSTOFC_NM - , D.RG_NO_HEADER - , D.SNDNG_LINK_SE_CD - , D.EGP_CON_ORG - , D.EGP_RCEPT_ID - , D.EGP_APVL_NB - , D.EGP_ESB_PATH - , D.EGP_POST_INST_ID - , D.EGP_CERT_CN - , D.ENS_INTERFACE_ID - , D.ENS_SOURCE_CD - , D.ENS_TARGET_CD - , D.ENS_URL - , D.NXRP_LINK_YN - , D.NXRP_LINK_SRVC_URL - , D.NXRP_RGN_SE_CD - , D.DTBN_BANK_NM - , D.DTBN_ACTNO - , D.DOC_HEADER - , D.SRVR_OS - FROM TB_DEPT D - - - AND D.SGG_CD = #{sggCd} - - - AND D.DEPT_CD = #{deptCd} - - - AND D.INST_CD = #{instCd} - - - AND D.USE_YN = #{useYn} - - - """; - - - - @Select(SQLUtil.SCRIPT_START+""" - /* 유저 수 조회(ogdpMapper.countUser) */ - SELECT COUNT(*) - FROM TB_SGG A - WHERE USE_YN = 'Y' - AND SGG_CD = #{sggCd} - """+SQLUtil.SCRIPT_END) - int countUser(String sggCd); - - /**시군구 설정 정보를 수정한다. - * @param sgg 시군구 - * @return 저장 여부 - *
  • 저장됐으면 true
  • - *
  • 그렇지 않으면 false
  • - *
- */ - default boolean updateSggStng(FimsSigungu sgg) { - return sgg != null && updateSggStng(params().set("sgg", sgg)) == 1; - } - - /**시군구 설정 정보를 수정한다. - * @param params 파라미터 - *
  • "sgg" - 시군구 설정 정보
  • - *
  • "currentUser" - 현재 접속한 사용자
  • - *
- * @return 저장된 정보수 - */ - @Update(SQLUtil.SCRIPT_START+""" - /* 시군구 설정 정보 수정 (ogdpMapper.updateSggStng) */ - UPDATE TB_SGG - SET MDFCN_DT = - """ - +SQLUtil.now - +""" - , MDFR = #{sgg.modifiedBy} - - , SYMBOL_FILE_PATH = #{sgg.symbolFilepath} - , SYMBOL_FILE_NM = #{sgg.symbolFilename} - - - , LOGO_FILE_PATH = #{sgg.logoFilepath} - , LOGO_FILE_NM = #{sgg.logoFilename} - - - , OFFCS_FILE_PATH = #{sgg.officialSealFilepath} - , OFFCS_FILE_NM = #{sgg.officialSealFilename} - - WHERE SGG_CD = #{sgg.sggID} - """+SQLUtil.SCRIPT_END) - int updateSggStng(Map params); - - /**지정한 조건에 따라 시군구 설정 객체를 반환한다. - * @param req 시군구 조회 조건 - * @return 시군구 객체 - */ - default DataObject selectSggStngInfo(OgdpQuery req) { - - // 사용 여부 확인 - if (req.getUseYn() == null) { - req.setUseYn("Y"); - } - - return selectSggStng(req); - } - - /**지정한 조건에 따라 시군구 설정 객체들을 반환한다. - * @param req 시군구 조회 조건 - * @return 시군구 객체 목록 - */ - @Select(SQLUtil.SCRIPT_START+""" - /* 시군구 설정 객체 가져오기(ogdpMapper.selectSgg) */ - SELECT S.SGG_CD - , S.SGG_NM - , S.INST_SE_CD - , S.INST_CD - , S.INST_NM - , (CASE - WHEN S.INST_DADDR IS NULL OR S.INST_DADDR = '' - THEN S.INST_ADDR - ELSE CONCAT(S.INST_ADDR,' ',S.INST_DADDR) - END) AS INST_FULL_ADDR - , S.INST_ADDR - , S.INST_DADDR - , S.INST_ZIP - , S.SYMBOL_FILE_PATH - , S.SYMBOL_FILE_NM - , S.LOGO_FILE_PATH - , S.LOGO_FILE_NM - , S.OFFCS_FILE_PATH - , S.OFFCS_FILE_NM - FROM TB_SGG S - - - AND S.SGG_CD = #{sggCd} - - - AND S.USE_YN = #{useYn} - - - """+SQLUtil.SCRIPT_END) - DataObject selectSggStng(OgdpQuery req); - - - - - - @Update(SQLUtil.SCRIPT_START+""" - /* 부서 설정 수정(ogdpMapper.updateDeptStng) */ - UPDATE TB_DEPT - SET MDFCN_DT = - """+SQLUtil.now+""" - - , MDFR = #{dept.modifiedBy} - , CVLCPT_LINK_SE_CD = #{dept.cvlcptLinkSeCd} - , VRBACNT_LINK_SE_CD = #{dept.vrbacntLinkSeCd} - , PSTOFC_NM = #{dept.pstofcNm} - , RG_NO_HEADER = #{dept.rgNoHeader} - , SNDNG_LINK_SE_CD = #{dept.sndngLinkSeCd} - , EGP_CON_ORG = #{dept.egpConOrg} - , EGP_RCEPT_ID = #{dept.egpRceptId} - , EGP_APVL_NB = #{dept.egpApvlNb} - , EGP_ESB_PATH = #{dept.egpEsbPath} - , EGP_POST_INST_ID = #{dept.egpPostInstId} - , EGP_CERT_CN = #{dept.egpCertCn} - , ENS_INTERFACE_ID = #{dept.ensInterfaceId} - , ENS_SOURCE_CD = #{dept.ensSourceCd} - , ENS_TARGET_CD = #{dept.ensTargetCd} - , ENS_URL = #{dept.ensUrl} - , NXRP_LINK_YN = #{dept.nxrpLinkYn} - , NXRP_RGN_SE_CD = #{dept.nxrpRgnSeCd} - , DTBN_BANK_NM = #{dept.dtbnBankNm} - , DTBN_ACTNO = #{dept.dtbnActno} - , DOC_HEADER = #{dept.docHeader} - , SRVR_OS = #{dept.srvrOs} - WHERE DEPT_CD = #{dept.deptID} - AND USE_YN = 'Y' - """ - +SQLUtil.SCRIPT_END) - int updateDeptStng(Map params); - - - - - - @Select(SQLUtil.SCRIPT_START - + " /* 부서 설정 객체 가져오기(ogdpMapper.selectDeptInfo) */ " - + select - + SQLUtil.SCRIPT_END) - DataObject selectDeptStngInfo(OgdpQuery req); - - - @Select(SQLUtil.SCRIPT_START - + " /* 부서 설정 객체 목록 가져오기(ogdpMapper.selectDeptList) */ " - + SQLUtil.pagingPrefix - + select - + SQLUtil.orderBy - + SQLUtil.pagingSuffix - + SQLUtil.SCRIPT_END) - List selectDeptStngList(OgdpQuery query); - - -} diff --git a/src/main/java/cokr/xit/fims/base/service/bean/AdminBean.java b/src/main/java/cokr/xit/fims/base/service/bean/AdminBean.java deleted file mode 100644 index 204b33ac..00000000 --- a/src/main/java/cokr/xit/fims/base/service/bean/AdminBean.java +++ /dev/null @@ -1,72 +0,0 @@ -package cokr.xit.fims.base.service.bean; - -import java.util.HashMap; -import java.util.List; -import java.util.Map; - -import javax.annotation.Resource; - -import org.springframework.stereotype.Component; - -import cokr.xit.fims.base.Backup; -import cokr.xit.fims.base.dao.AdminMapper; -import cokr.xit.foundation.component.AbstractBean; -import cokr.xit.foundation.data.DataObject; - -@Component("adminBean") -public class AdminBean extends AbstractBean { - - @Resource(name = "adminMapper") - private AdminMapper adminMapper; - - public List getAllList(String originalTable, String pkName) { - Map map = new HashMap(); - map.put("originalTable", originalTable); - map.put("pkName", pkName); - return adminMapper.selectAllList(map); - } - - public List getAllList(String backupTable, String originalTable, String pkName) { - Map map = new HashMap(); - map.put("originalTable", originalTable); - map.put("backupTable", backupTable); - map.put("pkName", pkName); - return adminMapper.selectAllList(map); - } - - public boolean activate(Backup backup) { - return adminMapper.insertOriginalData(backup) > 0; - } - - public boolean deactivate(Backup backup) { - - adminMapper.deleteBackupData(backup); - - int result1 = adminMapper.insertBackupData(backup); - int result2 = adminMapper.deleteOriginalData(backup); - - return ((result1 != 0) && (result1 == result2)); - } - - public boolean copySggStng(String taskSeCd, String srcSgg, String trgtSgg) { - Map param = new HashMap<>(); - param.put("taskSeCd",taskSeCd); - param.put("srcSgg",srcSgg); - param.put("trgtSgg",trgtSgg); - - adminMapper.copyTask(param); - - List vltnCds = adminMapper.selectVltnList(param); - if(vltnCds == null || vltnCds.isEmpty()) { - return true; - } - param.put("vltnCds", vltnCds); - int result2 = adminMapper.copyVltn(param); - if(result2 == vltnCds.size()) { - return true; - } else { - return false; - } - - } -} diff --git a/src/main/java/cokr/xit/fims/base/service/bean/OgdpBean.java b/src/main/java/cokr/xit/fims/base/service/bean/OgdpBean.java deleted file mode 100644 index ffe7da60..00000000 --- a/src/main/java/cokr/xit/fims/base/service/bean/OgdpBean.java +++ /dev/null @@ -1,225 +0,0 @@ -package cokr.xit.fims.base.service.bean; - - -import java.util.ArrayList; -import java.util.List; -import java.util.Map; - -import javax.annotation.Resource; - -import org.springframework.stereotype.Component; - -import cokr.xit.base.user.DepartmentQuery; -import cokr.xit.base.user.SigunguQuery; -import cokr.xit.base.user.dao.UserMapper; -import cokr.xit.base.user.service.bean.DepartmentBean; -import cokr.xit.base.user.service.bean.SigunguBean; -import cokr.xit.fims.base.FimsDepartment; -import cokr.xit.fims.base.FimsSigungu; -import cokr.xit.fims.base.OgdpQuery; -import cokr.xit.fims.base.dao.OgdpMapper; -import cokr.xit.foundation.UserInfo; -import cokr.xit.foundation.component.AbstractBean; -import cokr.xit.foundation.data.DataObject; - - -@Component("ogdpBean") -public class OgdpBean extends AbstractBean { - - @Resource(name="sigunguBean") - private SigunguBean sigunguBean; - - @Resource(name="departmentBean") - private DepartmentBean departmentBean; - - @Resource(name="ogdpMapper") - private OgdpMapper ogdpMapper; - - @Resource(name="userMapper") - private UserMapper userMapper; - - - public Object selectAllOgdpList() { - List ogdpList = new ArrayList<>(); - List sggs = sigunguBean.getSigunguList(new SigunguQuery()); - for(DataObject sgg : sggs) { - DataObject noDept = new DataObject(); - noDept.put("SGG_CD", sgg.string("SGG_CD")); - noDept.put("SGG_NM", sgg.string("SGG_NM")); - noDept.put("INST_CD", sgg.string("INST_CD")); - noDept.put("INST_NM", sgg.string("INST_NM")); - noDept.put("DEPT_CD", "EMPTY00"); - noDept.put("DEPT_NM", "(부서 없음)"); - ogdpList.add(noDept); - - List depts = departmentBean.getDepartmentList(new DepartmentQuery().setSggID(sgg.string("SGG_CD"))); - for(DataObject dept : depts) { - DataObject ogdp = new DataObject(); - ogdp.put("SGG_CD", sgg.string("SGG_CD")); - ogdp.put("SGG_NM", sgg.string("SGG_NM")); - ogdp.put("INST_CD", sgg.string("INST_CD")); - ogdp.put("INST_NM", sgg.string("INST_NM")); - ogdp.put("DEPT_CD", dept.string("DEPT_CD")); - ogdp.put("DEPT_NM", dept.string("DEPT_NM")); - ogdpList.add(ogdp); - } - } - DataObject sysAdmin = new DataObject(); - sysAdmin.put("SGG_CD", "ADMIN"); - sysAdmin.put("SGG_NM", "관리자 시군구"); - sysAdmin.put("INST_CD", "ADMIN00"); - sysAdmin.put("INST_NM", "관리자 기관"); - sysAdmin.put("DEPT_CD", "ADMIN00"); - sysAdmin.put("DEPT_NM", "관리자 부서"); - ogdpList.add(sysAdmin); - - - ogdpOutput(ogdpList); - return ogdpList; - } - - public List selectAbleOgdpList(boolean anonymous, String sggCd) { - List ogdpList = new ArrayList<>(); - SigunguQuery sggQuery = new SigunguQuery(); - if(anonymous) { - sggQuery.setSggIDs(sggCd); - } else if(!currentUser().getInstitute().equals("ADMIN00")){ - sggQuery.setSggIDs(currentUser().getOrgID()); - } - List sggs = sigunguBean.getSigunguList(sggQuery); - for(DataObject sgg : sggs) { - DataObject noDept = new DataObject(); - noDept.put("SGG_CD", sgg.string("SGG_CD")); - noDept.put("SGG_NM", sgg.string("SGG_NM")); - noDept.put("INST_CD", sgg.string("INST_CD")); - noDept.put("INST_NM", sgg.string("INST_NM")); - noDept.put("DEPT_CD", "EMPTY00"); - noDept.put("DEPT_NM", "(부서 없음)"); - ogdpList.add(noDept); - - List depts = departmentBean.getDepartmentList(new DepartmentQuery().setSggID(sgg.string("SGG_CD"))); - for(DataObject dept : depts) { - DataObject ogdp = new DataObject(); - ogdp.put("SGG_CD", sgg.string("SGG_CD")); - ogdp.put("SGG_NM", sgg.string("SGG_NM")); - ogdp.put("INST_CD", sgg.string("INST_CD")); - ogdp.put("INST_NM", sgg.string("INST_NM")); - ogdp.put("DEPT_CD", dept.string("DEPT_CD")); - ogdp.put("DEPT_NM", dept.string("DEPT_NM")); - ogdpList.add(ogdp); - } - } - - if(!anonymous && currentUser().getInstitute().equals("ADMIN00")) { - DataObject sysAdmin = new DataObject(); - sysAdmin.put("SGG_CD", "ADMIN"); - sysAdmin.put("SGG_NM", "관리자 시군구"); - sysAdmin.put("INST_CD", "ADMIN00"); - sysAdmin.put("INST_NM", "관리자 기관"); - sysAdmin.put("DEPT_CD", "ADMIN00"); - sysAdmin.put("DEPT_NM", "관리자 부서"); - ogdpList.add(sysAdmin); - } - - ogdpOutput(ogdpList); - return ogdpList; - } - - private void ogdpOutput(List list) { - for(DataObject one : list) { - one.put("OGDP_CD", one.string("SGG_CD")+"/"+one.string("INST_CD") + ":" + one.string("DEPT_CD")); - one.put("OGDP_NM", one.string("SGG_NM") + " / " + one.string("INST_NM") + " : " + one.string("DEPT_NM")); - } - } - - public int countUser(String sggCd) { - return ogdpMapper.countUser(sggCd); - } - - - - /**userInfo 객체에 해당 사용자가 소속된 시군구,기관,부서 정보를 저장한다. - * @param userInfo 사용자 정보 - * @return - */ - public void initUserInfo(UserInfo userInfo) { - - DataObject ogdpInfo = userMapper.getUserInfo(userInfo.getId()); - - Map infoMap = userInfo.getInfo(); - if(ogdpInfo == null) { - infoMap.put("sggCd", ""); - infoMap.put("sggNm", ""); - infoMap.put("instCd", ""); - infoMap.put("instNm", ""); - infoMap.put("deptCd", ""); - infoMap.put("deptNm", ""); - } else { - infoMap.put("sggCd", ogdpInfo.string("SGG_CD")); - infoMap.put("sggNm", ogdpInfo.string("SGG_NM")); - infoMap.put("instCd", ogdpInfo.string("INST_CD")); - infoMap.put("instNm", ogdpInfo.string("INST_NM")); - infoMap.put("deptCd", ogdpInfo.string("DEPT_CD")); - infoMap.put("deptNm", ogdpInfo.string("DEPT_NM")); - } - - userInfo.setInfo(infoMap); - } - - /**시군구 정보를 수정한다. - * @param sgg 시군구 - * @return 저장 여부 - *
  • 저장됐으면 true
  • - *
  • 그렇지 않으면 false
  • - *
- */ - public boolean updateSggStng(FimsSigungu sgg) { - return ogdpMapper.updateSggStng(sgg); - } - - /**지정한 조건에 따라 시군구 객체를 반환한다. - * @param req 시군구 조회 조건 - * @return 시군구 객체 - */ - public DataObject getSggStngInfo(OgdpQuery req) { - return ogdpMapper.selectSggStngInfo(req); - } - - - public List getDeptStngList(OgdpQuery query) { - // 기본 정렬 - if (query.getOrderBy() == null) { - if(query.getFetchSize() > 0) { - query.setOrderBy("QBODY.DEPT_CD DESC"); - } else { - query.setOrderBy("D.DEPT_CD DESC"); - } - } - - - - return ogdpMapper.selectDeptStngList(query); - } - - - public DataObject getDeptStngInfo(OgdpQuery query) { - - - - return ogdpMapper.selectDeptStngInfo(query); - } - - - - - - public boolean updateDeptStng(FimsDepartment dept) { - - boolean result = ogdpMapper.updateDeptStng(new DataObject().set("currentUser", currentUser()).set("dept", dept)) == 1; - - return result; - - } - - -} diff --git a/src/main/java/cokr/xit/fims/base/service/bean/SseBean.java b/src/main/java/cokr/xit/fims/base/service/bean/SseBean.java deleted file mode 100644 index bc026424..00000000 --- a/src/main/java/cokr/xit/fims/base/service/bean/SseBean.java +++ /dev/null @@ -1,189 +0,0 @@ -package cokr.xit.fims.base.service.bean; - -import java.text.DateFormat; -import java.text.SimpleDateFormat; -import java.util.Iterator; -import java.util.concurrent.ConcurrentHashMap; - -import javax.annotation.Resource; - -import org.apache.catalina.connector.ClientAbortException; -import org.springframework.scheduling.annotation.Scheduled; -import org.springframework.stereotype.Component; -import org.springframework.web.servlet.mvc.method.annotation.SseEmitter; - -import com.fasterxml.jackson.databind.ObjectMapper; - -import cokr.xit.fims.base.SseEntity; -import cokr.xit.foundation.component.AbstractBean; - -@Component("sseBean") -public class SseBean extends AbstractBean { - private static final long ONE_HOUR = 60 * 1000; - private String cursor; - private ConcurrentHashMap sseMap = new ConcurrentHashMap<>(); - private static final DateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss.SSS"); - - - @Resource(name="objectMapper") - private ObjectMapper objectMapper; - - /** SSE키를 등록한다. - * @param sseKey - * @return SseEmitter - */ - public SseEmitter start(String sseKey) { - SseEmitter emitter = new SseEmitter(-1L); - sseMap.put(sseKey, new SseEntity(emitter)); - return emitter; - } - - /** 작업할 SSE키를 설정한다. - * @param sseKey - * @return SseBean - */ - public SseBean setCursor(String sseKey) { - this.cursor = sseKey; - return this; - } - - /** 클라이언트에 메시지를 전송한다. - * @param msg 메시지 - * @return SseBean - */ - public void send(Object msg) { - if(ifEmpty(this.cursor, ()->"").equals("")) { - return; - } - - SseEntity se = sseMap.get(this.cursor); - if (se == null) { - return; - } - try { - se.getEmitter().send(msg); - } catch (ClientAbortException ex) { - if (se != null && se.getEmitter() != null) { - se.getEmitter().complete(); - se.setEmitter(null); - sseMap.remove(this.cursor); - } - } catch (Exception e) { - e.printStackTrace(); - if (se != null && se.getEmitter() != null) { - se.getEmitter().complete(); - se.setEmitter(null); - sseMap.remove(this.cursor); - } - } - } - - /** 클라이언트에 종료 메시지를 전송한다. - * @param - * @return - */ - public void end() { - if(ifEmpty(this.cursor, ()->"").equals("")) { - return; - } - - SseEntity se = sseMap.get(this.cursor); - if (se == null) { - return; - } - String msg = "FIN"; - try { - se.getEmitter().send(msg); - } catch (ClientAbortException ex) { - } catch (Exception e) { - e.printStackTrace(); - } finally { - if (se != null && se.getEmitter() != null) { - se.getEmitter().complete(); - se.setEmitter(null); - sseMap.remove(this.cursor); - } - } - } - - @Scheduled(cron = "0 0 */1 * * *") - public void clearSseEmitter() { - long now = System.currentTimeMillis() - ONE_HOUR; - Iterator it = sseMap.keys().asIterator(); - System.out.println("size: "+sseMap.size()); - while (it.hasNext()) { - String key = it.next(); - System.out.println("key: "+key); - SseEntity se = sseMap.get(key); - if (now > se.getCreatedAt()) { - System.out.println("clear old ssemitter "+key+" : "+format.format(se.getCreatedAt())); - if (se.getEmitter() != null) { - se.setEmitter(null); - } - sseMap.remove(key); - } - } - } - - public SseBean setProgress(String key, Object value) { - if(ifEmpty(this.cursor, ()->"").equals("")) { - return this; - } - - SseEntity se = sseMap.get(this.cursor); - se.getProgress().set(key, value); - return this; - } - - public SseBean increaseProgress(String key) { - if(ifEmpty(this.cursor, ()->"").equals("")) { - return this; - } - - SseEntity se = sseMap.get(this.cursor); - int i = se.getProgress().number(key).intValue(); - se.getProgress().set(key, i+1); - return this; - } - - public SseBean increaseProgress(String key, int num) { - if(ifEmpty(this.cursor, ()->"").equals("")) { - return this; - } - - SseEntity se = sseMap.get(this.cursor); - int i = se.getProgress().number(key).intValue(); - se.getProgress().set(key, i+num); - return this; - } - - public void sendProgress() { - if(ifEmpty(this.cursor, ()->"").equals("")) { - return; - } - - SseEntity se = sseMap.get(this.cursor); - if (se == null) { - return; - } - try { - se.getEmitter().send(objectMapper.writeValueAsString(se.getProgress())); - } catch (ClientAbortException ex) { - if (se != null && se.getEmitter() != null) { - se.getEmitter().complete(); - se.setEmitter(null); - sseMap.remove(this.cursor); - } - } catch (Exception e) { - e.printStackTrace(); - if (se != null && se.getEmitter() != null) { - se.getEmitter().complete(); - se.setEmitter(null); - sseMap.remove(this.cursor); - } - } - } - - - -} diff --git a/src/main/java/cokr/xit/fims/base/web/ActionGroupController.java b/src/main/java/cokr/xit/fims/base/web/ActionGroupController.java deleted file mode 100644 index bb2e5509..00000000 --- a/src/main/java/cokr/xit/fims/base/web/ActionGroupController.java +++ /dev/null @@ -1,18 +0,0 @@ -package cokr.xit.fims.base.web; - -import org.springframework.stereotype.Controller; -import org.springframework.web.servlet.ModelAndView; - -import cokr.xit.base.security.access.service.ActionQuery; - -@Controller -public class ActionGroupController extends cokr.xit.base.security.access.web.ActionGroupController { - - @Override - public ModelAndView main() { - ModelAndView mav = getActionGroupList(new ActionQuery().setFetchAll(true)); - mav.setViewName("base/actionGroup/actionGroup-main"); - return mav.addObject("groupList", toJson(mav.getModel().get("groupList"))); - } - -} \ No newline at end of file diff --git a/src/main/java/cokr/xit/fims/base/web/AdminController.java b/src/main/java/cokr/xit/fims/base/web/AdminController.java deleted file mode 100644 index 2816c59b..00000000 --- a/src/main/java/cokr/xit/fims/base/web/AdminController.java +++ /dev/null @@ -1,277 +0,0 @@ -package cokr.xit.fims.base.web; - -import java.io.BufferedReader; -import java.io.File; -import java.io.FileInputStream; -import java.io.InputStreamReader; -import java.nio.charset.Charset; -import java.util.ArrayList; -import java.util.List; - -import javax.annotation.Resource; -import javax.servlet.http.HttpServletResponse; - -import org.springframework.http.HttpStatus; -import org.springframework.stereotype.Controller; -import org.springframework.web.bind.annotation.GetMapping; -import org.springframework.web.bind.annotation.PostMapping; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.RequestParam; -import org.springframework.web.multipart.MultipartFile; -import org.springframework.web.servlet.ModelAndView; - -import cokr.xit.base.code.service.CodeQuery; -import cokr.xit.base.code.service.bean.CodeBean; -import cokr.xit.base.web.ApplicationController; -import cokr.xit.fims.base.Backup; -import cokr.xit.fims.base.service.bean.AdminBean; -import cokr.xit.fims.cmmn.DirectoryStructureToJson; -import cokr.xit.fims.cmmn.DirectoryStructureToJson.Node; -import cokr.xit.fims.cmmn.Hangul; -import cokr.xit.fims.crdn.service.ImportService; -import cokr.xit.foundation.data.DataObject; -import cokr.xit.interfaces.smg.service.SmgService; - -@Controller -@RequestMapping(name="최고관리자", value="/admin") -public class AdminController extends ApplicationController { - - @Resource(name="adminBean") - private AdminBean adminBean; - - @Resource(name="codeBean") - private CodeBean codeBean; - - @Resource(name="smgService") - private SmgService smgService; - - @Resource(name="importService") - private ImportService importService; - - - @RequestMapping(name="최고관리자 메인",value="/main.do") - public ModelAndView adminMain(HttpServletResponse hres) { - ModelAndView mav = new ModelAndView(); - - if(!currentUser().getInstitute().equals("ADMIN00")) { - hres.setStatus(HttpStatus.FORBIDDEN.value()); - mav.setViewName("jsonView"); - mav.addObject("message","메뉴 접근 권한이 없습니다."); - } else { - mav.setViewName("fims/admin-main"); - } - - return mav; - } - - @RequestMapping(name="배치 수동 실행",value="/executeBatch.do") - public ModelAndView executeBatch(String batch) { - ModelAndView mav = new ModelAndView(); - - switch (batch) { - case "smgReceive" : { - smgService.receivePetitions(); - break; - } - case "smgSend" : { - smgService.sendReplies(); - break; - } - case "epostSend" : { - - break; - } - case "epostReceive" : { - - break; - } - default: - - } - mav.setViewName("jsonView"); - return mav; - } - - @RequestMapping(name="업무통보 수동 실행",value="/executeAlert.do") - public ModelAndView executeAlert(String alertName, String interfaceKey) { - ModelAndView mav = new ModelAndView(); - - switch (alertName) { - case "smgReceive" : { - - if(interfaceKey == null || interfaceKey.equals("")) { - throw new RuntimeException("인터페이스키 없음"); - } - - List interfaceKeys = new ArrayList(); - interfaceKeys.add(interfaceKey); - importService.createCrdns(interfaceKeys); - - break; - } - case "smgSend" : { - - break; - } - case "epostSend" : { - - break; - } - case "epostReceive" : { - - break; - } - default: - - } - mav.setViewName("jsonView"); - return mav; - } - - @RequestMapping(name="서버 파일 현황 조회",value="/getFileTree.do") - public ModelAndView getFileTree() throws Exception { - - ModelAndView mav = new ModelAndView(); - mav.setViewName("jsonView"); - - Node tree = DirectoryStructureToJson.getNode(new File("files")); - mav.addObject("tree", tree); - return mav; - } - - @RequestMapping(name="최고관리자 서버 폴더 생성", value="/createDirectory.do") - public ModelAndView createDirectory(@RequestParam(value="directories[]") String... directories) throws Exception { - - boolean saved = false; - - String path = String.join(File.separator, directories); - File newDir = new File(path); - saved = newDir.mkdir(); - - ModelAndView mav = new ModelAndView(); - mav.setViewName("jsonView"); - mav.addObject("saved", saved); - return mav; - } - - @RequestMapping(name="최고관리자 서버 파일 추가", value="/importFile.do") - public ModelAndView importFile(MultipartFile newFile, @RequestParam(value="directories[]") String... directories) throws Exception { - - boolean saved = false; - - String path = String.join(File.separator, directories); - path = path + File.separator + newFile.getOriginalFilename(); - - File file = new File(path); - newFile.transferTo(file); - - saved = file.exists(); - - ModelAndView mav = new ModelAndView(); - mav.setViewName("jsonView"); - mav.addObject("saved", saved); - return mav; - } - - @RequestMapping(name="최고관리자 서버 파일 내용 보기", value="/getFileText.do") - public ModelAndView getFileText(@RequestParam(value="directories[]") String... directories) throws Exception { - String fileCn = ""; - StringBuilder sb = new StringBuilder(); - - String path = String.join(File.separator, directories); - - int inputData = 0; - try { - Hangul hangul = new Hangul(3); - String detect = hangul.encodingDetect(path); - BufferedReader br = new BufferedReader(new InputStreamReader(new FileInputStream(path),Charset.forName(detect))); - - while ((inputData = br.read()) != -1) { - sb.append((char)inputData) ; - } - - fileCn = sb.toString(); - - br.close(); - } catch (Exception e) { - - } - - ModelAndView mav = new ModelAndView(); - mav.setViewName("jsonView"); - mav.addObject("fileCn", fileCn); - return mav; - } - - @GetMapping(name="시군구 추가/삭제 메인", value="/sggAddDelInfo.do") - public ModelAndView sggAddDelMain() { - ModelAndView mav = new ModelAndView(); - - mav.setViewName("fims/admin-sggAddDel-info"); - mav.addObject("pageName","admin-sggAddDel"); - return mav; - } - - @GetMapping(name="백업 테이블 및 실사용 테이블 자료 조회", value="/sggBackup/list.do") - public ModelAndView getBackupList(String backupTable, String originalTable, String pkName) { - ModelAndView mav = new ModelAndView("jsonView"); - - List originalDataList = adminBean.getAllList(originalTable, pkName); - List backupDataList = adminBean.getAllList(backupTable, originalTable, pkName); - - mav.addObject("originalDataList", originalDataList); - mav.addObject("backupDataList", backupDataList); - - return mav; - } - - @PostMapping(name="백업 테이블 자료를 사용 테이블로 복사", value="/sggBackup/activate.do") - public ModelAndView add(Backup backup) { - ModelAndView mav = new ModelAndView("jsonView"); - - boolean saved = adminBean.activate(backup); - - mav.addObject("saved", saved); - - return mav; - } - - @PostMapping(name="사용 테이블 자료 삭제 및 백업", value="/sggBackup/deactivate.do") - public ModelAndView del(Backup backup) { - ModelAndView mav = new ModelAndView("jsonView"); - - boolean saved = adminBean.deactivate(backup); - - mav.addObject("saved", saved); - - return mav; - } - - @GetMapping(name="시군구 설정 복사 메인", value="/copySggStngInfo.do") - public ModelAndView copySggStngMain() { - ModelAndView mav = new ModelAndView(); - - CodeQuery cq = new CodeQuery(); - cq.setGroupIDs("FIM054"); - List taskSeCdList = codeBean.getCodeList(cq); - mav.addObject("taskSeCdList", taskSeCdList); - - List sggList = adminBean.getAllList("TB_SGG", "SGG_NM"); - mav.addObject("sggList", sggList); - - mav.setViewName("fims/admin-copySggStng-info"); - mav.addObject("pageName","admin-copySggStng"); - return mav; - } - - @GetMapping(name="시군구 설정 복사", value="/copySggStng.do") - public ModelAndView copy(String taskSeCd, String srcSgg, String trgtSgg) { - ModelAndView mav = new ModelAndView("jsonView"); - - boolean saved = adminBean.copySggStng(taskSeCd, srcSgg, trgtSgg); - - mav.addObject("saved", saved); - - return mav; - } -} diff --git a/src/main/java/cokr/xit/fims/base/web/AuthorityController.java b/src/main/java/cokr/xit/fims/base/web/AuthorityController.java deleted file mode 100644 index d7e7b2bd..00000000 --- a/src/main/java/cokr/xit/fims/base/web/AuthorityController.java +++ /dev/null @@ -1,18 +0,0 @@ -package cokr.xit.fims.base.web; - -import org.springframework.stereotype.Controller; -import org.springframework.web.servlet.ModelAndView; - -import cokr.xit.base.security.access.service.AuthorityQuery; - -@Controller -public class AuthorityController extends cokr.xit.base.security.access.web.AuthorityController { - - @Override - public ModelAndView main() { - ModelAndView mav = getAuthorityList(new AuthorityQuery().setFetchAll(true)); - mav.setViewName("base/authority/authority-main"); - return mav.addObject("authorityList", toJson(mav.getModel().remove("authorityList"))); - } - -} \ No newline at end of file diff --git a/src/main/java/cokr/xit/fims/base/web/CodeController.java b/src/main/java/cokr/xit/fims/base/web/CodeController.java deleted file mode 100644 index 1ae0e1dc..00000000 --- a/src/main/java/cokr/xit/fims/base/web/CodeController.java +++ /dev/null @@ -1,74 +0,0 @@ -package cokr.xit.fims.base.web; - -import java.util.List; -import java.util.Map; -import java.util.stream.Collectors; - -import javax.annotation.Resource; - -import org.springframework.stereotype.Controller; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.servlet.ModelAndView; - -import cokr.xit.base.code.service.CodeQuery; -import cokr.xit.base.code.service.bean.CodeBean; -import cokr.xit.fims.base.service.bean.OgdpBean; -import cokr.xit.fims.cmmn.CmmnQuery; -import cokr.xit.fims.mngt.service.bean.TaskBean; -import cokr.xit.foundation.UserInfo; -import cokr.xit.foundation.data.DataObject; - -@Controller -public class CodeController extends cokr.xit.base.code.web.CodeController { - @Resource(name = "codeBean") - private CodeBean codeBean; - - @Resource(name = "taskBean") - private TaskBean taskBean; - - @Resource(name = "ogdpBean") - private OgdpBean ogdpBean; - - @RequestMapping(name="모든 업무구분코드 조회",value="/getAllTaskSeCd.do") - public ModelAndView getAllTaskSeCd() { - ModelAndView mav = new ModelAndView("jsonView"); - - CodeQuery codeQuery = new CodeQuery(); - codeQuery.setGroupIDs("FIM054"); - List taskList = codeBean.getCodeList(codeQuery); - Map allTask = taskList.stream() - .collect(Collectors.toMap((item) -> item.string("CODE"), (item) -> item.string("CODE_VAL"))); - mav.addObject("allTask", allTask); - - return mav; - } - - @RequestMapping(name="시군구 업무 설정 유무 조회", value="/sggHasTask.do") - public ModelAndView sggHasTask() { - ModelAndView mav = new ModelAndView("jsonView"); - - UserInfo userInfo = currentUser(); - if(userInfo.getInstitute().equals("ADMIN00")) { - mav.addObject("sggHasTask", "Y"); - } else { - - ogdpBean.initUserInfo(userInfo); - - String sggCd = (String)userInfo.getInfo().get("sggCd"); - - CmmnQuery req = new CmmnQuery(); - req.setUseYn("Y"); - req.setSggCd(sggCd); - List result = taskBean.getTasks(req); - if(result != null && !result.isEmpty()) { - mav.addObject("sggHasTask", "Y"); - } else { - mav.addObject("sggHasTask", "N"); - } - - - } - - return mav; - } -} \ No newline at end of file diff --git a/src/main/java/cokr/xit/fims/base/web/FileController.java b/src/main/java/cokr/xit/fims/base/web/FileController.java deleted file mode 100644 index 990356cd..00000000 --- a/src/main/java/cokr/xit/fims/base/web/FileController.java +++ /dev/null @@ -1,437 +0,0 @@ -package cokr.xit.fims.base.web; - -import java.io.File; -import java.io.IOException; -import java.io.InputStream; -import java.io.OutputStream; -import java.io.StringWriter; -import java.net.URISyntaxException; -import java.net.URLDecoder; -import java.text.SimpleDateFormat; -import java.util.ArrayList; -import java.util.Arrays; -import java.util.Date; -import java.util.List; -import java.util.Map; -import java.util.regex.Matcher; - -import javax.annotation.Resource; -import javax.servlet.http.HttpServletRequest; -import javax.servlet.http.HttpServletResponse; -import javax.xml.parsers.DocumentBuilder; -import javax.xml.parsers.DocumentBuilderFactory; -import javax.xml.parsers.ParserConfigurationException; -import javax.xml.transform.OutputKeys; -import javax.xml.transform.Transformer; -import javax.xml.transform.TransformerFactory; -import javax.xml.transform.dom.DOMSource; -import javax.xml.transform.stream.StreamResult; - -import org.apache.commons.io.FilenameUtils; -import org.apache.poi.xslf.usermodel.XMLSlideShow; -import org.springframework.core.io.ClassPathResource; -import org.springframework.http.HttpHeaders; -import org.springframework.stereotype.Controller; -import org.springframework.web.bind.annotation.GetMapping; -import org.springframework.web.bind.annotation.PostMapping; -import org.springframework.web.multipart.MultipartFile; -import org.springframework.web.servlet.ModelAndView; -import org.w3c.dom.Document; -import org.w3c.dom.Element; -import org.w3c.dom.NamedNodeMap; -import org.w3c.dom.Node; -import org.w3c.dom.NodeList; -import org.xml.sax.SAXException; - -import cokr.xit.base.file.FileInfo; -import cokr.xit.base.file.FileInfo.Relation; -import cokr.xit.base.file.dao.FileMapper; -import cokr.xit.base.file.service.FileQuery; -import cokr.xit.base.file.service.bean.FileBean; -import cokr.xit.base.file.web.FileInfoFactory; -import cokr.xit.fims.crdn.Crdn; -import cokr.xit.fims.crdn.dao.CrdnInfoMapper; -import cokr.xit.fims.crdn.service.CrdnService; -import cokr.xit.fims.sprt.Sprt; -import cokr.xit.fims.sprt.service.bean.MediaBean; -import cokr.xit.foundation.data.DataObject; - -@Controller -public class FileController extends cokr.xit.base.file.web.FileController { - @Resource(name = "fileMapper") - private FileMapper fileMapper; - - @Resource(name = "crdnInfoMapper") - private CrdnInfoMapper crdnInfoMapper; - - @Resource(name="fileBean") - private FileBean fileBean; - - @Resource(name="mediaBean") - private MediaBean mediaBean; - - @Resource(name="crdnService") - private CrdnService crdnService; - - @Override - public ModelAndView getFileList(FileQuery req) { - ModelAndView mav = new ModelAndView("jsonView"); - - String infoType = ifEmpty(req.getInfoType(), () -> ""); - boolean singleKey = (req.getInfoKeys() != null && req.getInfoKeys().length == 1); - - //파일 목록 - List fileInfoList = fileService().getFileList(req); - for(DataObject fileInfo : fileInfoList) { - List mosaicInfos = mediaBean.getMosaicList(fileInfo.string("FILE_ID")); - if(mosaicInfos != null) { - String mosaic = ""; - for(int i=0; i < mosaicInfos.size(); i++) { - DataObject mosaicInfo = mosaicInfos.get(i); - if(i != 0) { - mosaic += "|"; - } - mosaic += mosaicInfo.string("X_AXS") - + "," + mosaicInfo.string("Y_AXS") - + "," + mosaicInfo.string("MOSC_LEN") - + "," + mosaicInfo.string("MOSC_HGT"); - } - fileInfo.set("MOSAIC", mosaic); - } else { - fileInfo.set("MOSAIC", ""); - } - - } - mav = setCollectionInfo(mav, fileInfoList, "file"); - - //민원 동영상파일 첨부 여부 - String cvlcptVideoExistYn = "N"; - if(infoType.equals(Crdn.INF_TYPE) && singleKey) { - - DataObject dataObject = crdnInfoMapper.selectCrdnInfo(req.getInfoKeys()[0]); - - String linkTblNm = dataObject.string("LINK_TBL_NM"); - if(!linkTblNm.equals("")) { //민원연계자료 - FileQuery cvlcptFileQuery = new FileQuery(); - if(linkTblNm.equals("TB_ESB_INTERFACE")) { - cvlcptFileQuery.setInfoType("010"); - } else if(linkTblNm.equals("TB_SA_CVLCPT_DTL")) { - cvlcptFileQuery.setInfoType("020"); - } else { - throw new RuntimeException("파일 조회 중 오류가 발생하였습니다."); - } - - cvlcptFileQuery.setInfoKeys(dataObject.string("LINK_ID")); - List linkFileList = fileBean.getFileList(cvlcptFileQuery); - if(linkFileList != null && !linkFileList.isEmpty()) { - for(int i=0; i < linkFileList.size(); i++) { - String mimeType = linkFileList.get(i).string("MIME_TYPE"); - if(Arrays.asList(Sprt.VIDEO_MIME_TYPE).contains(mimeType)) { - cvlcptVideoExistYn = "Y"; - } - } - } - } - } - mav.addObject("cvlcptVideoExistYn", cvlcptVideoExistYn); - - return mav; - } - - - @PostMapping(name= "단속 사진 추가", value = "/insertCrdnImageFile.do") - public ModelAndView insertCrdnImageFile(String crdnId, int atchFileCnt, MultipartFile[] newFileList) { - - boolean saved = false; - String retMessage = "[F] "; - if(newFileList == null || newFileList.length == 0 || newFileList[0] == null || newFileList[0].isEmpty()) { - throw new RuntimeException("파일 업로드 오류"); - } - - Relation relation = new Relation().setInfoType(Crdn.INF_TYPE).setInfoKey(crdnId); - List newFileInfoList = new FileInfoFactory().makeFileInfos(relation, newFileList); - - List> processList = new ArrayList<>(); - - int newFileSort = 999; - for(FileInfo newFileInfo : newFileInfoList) { - newFileInfo.setSortOrder(newFileSort++); - processList.add(Map.of("process", "insert", "obj", newFileInfo)); - } - - Crdn crdn = new Crdn(); - crdn.setCrdnId(crdnId); - crdn.setAtchFileCnt(atchFileCnt); - retMessage = crdnService.changeCrdnImageFile(crdn, processList); - - if (retMessage.contains("[S]")) { - saved = true; - } else { - saved = false; - } - - return new ModelAndView("jsonView") - .addObject("saved", saved) - .addObject("retMessage", retMessage); - - } - - @PostMapping(name= "단속 사진 수정", value = "/updateCrdnImageFile.do") - public ModelAndView updateCrdnImageFile(String crdnId, int atchFileCnt, - String beforeKey, int beforeOrder, MultipartFile modifyFile) { - - boolean saved = false; - String retMessage = "[F] "; - - if(modifyFile == null || modifyFile.isEmpty()) { - throw new RuntimeException("파일 업로드 오류"); - } - - Relation relation = new Relation().setInfoType(Crdn.INF_TYPE).setInfoKey(crdnId); - FileInfo modifyFileInfo = new FileInfoFactory().make(relation, modifyFile); - modifyFileInfo.setSortOrder(beforeOrder); - - List> processList = new ArrayList<>(); - processList.add(Map.of("process", "delete", "key", beforeKey)); - processList.add(Map.of("process", "insert", "obj", modifyFileInfo)); - - Crdn crdn = new Crdn(); - crdn.setCrdnId(crdnId); - crdn.setAtchFileCnt(atchFileCnt); - retMessage = crdnService.changeCrdnImageFile(crdn, processList); - - if (retMessage.contains("[S]")) { - saved = true; - } else { - saved = false; - } - - return new ModelAndView("jsonView") - .addObject("saved", saved) - .addObject("retMessage", retMessage); - - } - - @PostMapping(name= "단속 사진 삭제", value = "/deleteCrdnImageFile.do") - public ModelAndView deleteCrdnImageFile(String crdnId, int atchFileCnt, String[] deleteKeys) { - - boolean saved = false; - String retMessage = "[F] "; - - if(deleteKeys == null || deleteKeys.length == 0 || deleteKeys[0] == null || deleteKeys[0].isEmpty()) { - throw new RuntimeException("파일 삭제 오류"); - } - - List> processList = new ArrayList<>(); - for(String deleteKey : deleteKeys) { - processList.add(Map.of("process", "delete", "key", deleteKey)); - } - - Crdn crdn = new Crdn(); - crdn.setCrdnId(crdnId); - crdn.setAtchFileCnt(atchFileCnt); - retMessage = crdnService.changeCrdnImageFile(crdn, processList); - - if (retMessage.contains("[S]")) { - saved = true; - } else { - saved = false; - } - - return new ModelAndView("jsonView") - .addObject("saved", saved) - .addObject("retMessage", retMessage); - - } - - @PostMapping(name= "단속 사진 순서 변경", value = "/changeOrderCrdnImageFile.do") - public ModelAndView changeOrderCrdnImageFile(String crdnId, int atchFileCnt, String[] orderedKeys) { - - boolean saved = false; - String retMessage = "[F] "; - - if(orderedKeys == null || orderedKeys.length == 0 || orderedKeys[0] == null || orderedKeys[0].isEmpty()) { - throw new RuntimeException("파일 순서 변경 오류"); - } - - List> processList = new ArrayList<>(); - for(String orderedKey : orderedKeys) { - processList.add(Map.of("process", "order", "key", orderedKey)); - } - - Crdn crdn = new Crdn(); - crdn.setCrdnId(crdnId); - crdn.setAtchFileCnt(atchFileCnt); - retMessage = crdnService.changeCrdnImageFile(crdn, processList); - - if (retMessage.contains("[S]")) { - saved = true; - } else { - saved = false; - } - - return new ModelAndView("jsonView") - .addObject("saved", saved) - .addObject("retMessage", retMessage); - - } - - - /** 메뉴얼을 다운로드한다. - * @return 메뉴얼 파일 - * @throws Exception - */ - @GetMapping(name = "메뉴얼 다운로드", value = "/downloadMenual.do") - public ModelAndView downloadMenual() throws Exception { - ModelAndView mav = new ModelAndView("downloadView"); - - String filePath = ("menual/메뉴얼.pptx"); - ClassPathResource cps = new ClassPathResource(filePath); - String menualVersion = ""; - try (XMLSlideShow slideShow = new XMLSlideShow(cps.getInputStream())) { - menualVersion = slideShow - .getProperties() - .getCoreProperties() - .getUnderlyingProperties() - .getVersionProperty() - .get(); - } - - InputStream menualIS = cps.getInputStream(); - mav.addObject("file", menualIS); - mav.addObject("filename", "과태료통합관리시스템_메뉴얼"+"("+"v"+menualVersion+")"+".pptx"); - mav.addObject("contentType", "application/vnd.openxmlformats-officedocument.presentationml.presentation"); - mav.addObject("length", menualIS.available()); - - return mav; - } - - - @GetMapping(name = "SVG 이미지 파일 색상 변경", value = "/modifySvg/**") - public void modifySvg(HttpServletRequest request, HttpServletResponse response) throws URISyntaxException, IOException, ParserConfigurationException, SAXException { - String requestURI = request.getRequestURI().toString(); - - String filepath = requestURI.split("modifySvg")[1]; - filepath = URLDecoder.decode(filepath, "UTF-8"); - filepath = filepath.replaceAll("/", Matcher.quoteReplacement(File.separator)); - filepath = "svg" + filepath; - - ClassPathResource resource = new ClassPathResource(filepath); - InputStream is = resource.getInputStream(); - - DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance(); - DocumentBuilder documentBuilder = factory.newDocumentBuilder(); - Document document = documentBuilder.parse(is); - Element root = document.getDocumentElement(); - NodeList nodeList = root.getChildNodes(); - - try { - String modify = request.getParameter("modify"); - if(modify == null || modify.equals("")){ - - } else if(modify.equals("active")){ - updateTagFillColor(nodeList, "green"); - } else if(modify.equals("alert")){ - updateTagFillColor(nodeList, "red"); - } - - String str4 = DocumentToString(document); - byte[] bytes = str4.getBytes(); - - response.setHeader(HttpHeaders.ACCEPT_RANGES, "bytes"); - response.setHeader(HttpHeaders.CONTENT_TYPE, "image/svg+xml"); - response.setHeader(HttpHeaders.CONNECTION, "keep-alive"); - response.setHeader(HttpHeaders.ACCESS_CONTROL_ALLOW_CREDENTIALS, "true"); - response.setHeader("Pragma", "no-cache"); - response.setHeader(HttpHeaders.CACHE_CONTROL, "no-cache, must-revalidate"); - response.setDateHeader(HttpHeaders.EXPIRES, 0); - response.setHeader(HttpHeaders.CONTENT_LENGTH, Integer.toString(bytes.length)); - response.setContentType("image/svg+xml"); - - OutputStream os = response.getOutputStream(); - os.write(bytes); - os.flush(); - os.close(); - - - } catch (Exception e){ - - } - - - } - - - - public static String DocumentToString( Document doc ) - { - try - { - StringWriter clsOutput = new StringWriter( ); - Transformer clsTrans = TransformerFactory.newInstance( ).newTransformer( ); - - clsTrans.setOutputProperty( OutputKeys.OMIT_XML_DECLARATION, "no" ); - clsTrans.setOutputProperty( OutputKeys.METHOD, "xml" ); - clsTrans.setOutputProperty( OutputKeys.INDENT, "yes" ); - clsTrans.setOutputProperty( OutputKeys.ENCODING, "UTF-8" ); - - clsTrans.transform( new DOMSource( doc ), new StreamResult( clsOutput ) ); - - return clsOutput.toString( ); - } - catch( Exception ex ) - { - return ""; - } - } - - private void updateTagFillColor(NodeList nodeList, String newFillColor) { - - for (int i = 0; i < nodeList.getLength(); i++) { - Node node = nodeList.item(i); - NamedNodeMap namedNodeMap = node.getAttributes(); - if(namedNodeMap != null && namedNodeMap.getLength() > 0){ - for (int j = 0; j < namedNodeMap.getLength(); j++) { - Node namedNode = namedNodeMap.item(j); - if (namedNode.getNodeName().equalsIgnoreCase("fill")) { - namedNode.setNodeValue(newFillColor); // Change the color of the fill attribute. - } - } - } - } - } - - - @PostMapping(name = "처리 전 파일업로드", value = "/uploadBeforeProcess.do") - public ModelAndView uploadBeforeProcess(MultipartFile[] uploadFiles) { - ModelAndView mav = new ModelAndView("jsonView"); - - boolean saved = false; - - MultipartFile uploadFile = uploadFiles[0]; - String orginalFileName = uploadFile.getOriginalFilename(); - String extension = FilenameUtils.getExtension(orginalFileName); - - SimpleDateFormat ymdhmsFormat = new SimpleDateFormat("yyyyMMddHHmmss"); - String currentTime = ymdhmsFormat.format(new Date()); - - String folderPath = "files/temp/uploadFirst"; - File folder = new File(folderPath); - folder.mkdirs(); - String filePath = folderPath + "/"+currentTime+"."+extension; - File file = new File(filePath); - - - try { - uploadFile.transferTo(file); - saved = true; - } catch (IOException e) { - throw new RuntimeException("파일업로드 오류"+e); - } - - mav.addObject("saved", saved); - mav.addObject("filePath", filePath); - return mav; - } - -} \ No newline at end of file diff --git a/src/main/java/cokr/xit/fims/base/web/LoggingController.java b/src/main/java/cokr/xit/fims/base/web/LoggingController.java deleted file mode 100644 index 4b601efa..00000000 --- a/src/main/java/cokr/xit/fims/base/web/LoggingController.java +++ /dev/null @@ -1,129 +0,0 @@ -package cokr.xit.fims.base.web; - -import java.util.Date; -import java.util.List; -import java.util.Map; -import java.util.stream.IntStream; - -import javax.annotation.Resource; - -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.stereotype.Controller; -import org.springframework.web.servlet.ModelAndView; - -import cokr.xit.base.docs.xls.CellDef; -import cokr.xit.base.docs.xls.XLSWriter; -import cokr.xit.base.syslog.LogQuery; -import cokr.xit.base.syslog.service.LoggingService; -import cokr.xit.fims.task.TaskRequestMappingHandlerMapping; -import cokr.xit.foundation.data.DataFormat; -import cokr.xit.foundation.data.DataObject; -import cokr.xit.foundation.web.RequestHandlerReader; - -@Controller -public class LoggingController extends cokr.xit.base.syslog.web.LoggingController { - @Resource(name = "loggingService") - private LoggingService loggingService; - - @Autowired - private TaskRequestMappingHandlerMapping requestHandlers; - - private RequestHandlerReader requestReader = new RequestHandlerReader(); - - @Override - public ModelAndView getLogs(LogQuery req) { - - if(req.getUserAccounts() != null && req.getUserAccounts().length > 0 - && req.getUserAccounts()[0] != null) { - String[] userAccounts = req.getUserAccounts(); - for(int i=0; i < userAccounts.length ; i++) { - userAccounts[i] = userAccounts[i].toUpperCase(); - } - req.setUserAccounts(userAccounts); - } - - boolean download = !isEmpty(req.getDownload()); - if (!download) - setFetchSize(req); - else - req.setPageNum(0).setFetchSize(0); - - String - toDate = req.getToDate(), - fromDate = req.getFromDate(); - if (isEmpty(toDate)) { - Date date = new Date(); - toDate = DataFormat.yyyy_mm_dd(date); - req.setToDate(toDate.replace("-", "")); - - if (isEmpty(fromDate)) { - fromDate = DataFormat.yyyy_mm_dd(new Date(date.getTime() - 1000L * 60L * 60L * 24L * 30L)); - req.setFromDate(fromDate.replace("-", "")); - } - } - - List - list = loggingService.getLogs(req), - web = list.stream() - .filter(row -> "web".equals(row.get("LOG_TYPE"))) - .toList(); - if (!list.isEmpty()) { - Map reqs = requestReader.asTree(requestHandlers).getIndex(); - list.forEach(row -> { - Object obj = row.get("REG_DT"); - row.set("REG_DT", DataFormat.yyyy_mm_dd_hh_mm_ss(obj)); - - obj = row.get("URL"); - if (isEmpty(obj)) return; - - DataObject reqInfo = reqs.get(obj); - row.set("DSCRP", reqInfo != null ? reqInfo.get("name") : ""); - }); - } - - if (!download) - return setCollectionInfo( - new ModelAndView("jsonView") - .addObject("fromDate", fromDate) - .addObject("toDate", toDate), - list, - "syslog" - ); - else - return download(list); - } - - private ModelAndView download(List list) { - List cellDefs = List.of( - new CellDef().setLabel("계정").setField("USER_ACNT"), - new CellDef().setLabel("사용자이름").setField("USER_NM"), - new CellDef().setLabel("IP 주소").setField("IP_ADDR"), - new CellDef().setLabel("로그유형").setField("LOG_TYPE_NM"), - new CellDef().setLabel("접속일시").setField("REG_DT"), - new CellDef().setLabel("URL").setField("URL"), - new CellDef().setLabel("설명").setField("DSCRP"), - new CellDef().setLabel("파일이름").setField("FILE_NM"), - new CellDef().setLabel("민감정보").setField("PSNL_INFO") - ); - XLSWriter xlsx = new XLSWriter() - .worksheet(0) - .trackWidth(IntStream.range(0, cellDefs.size()).toArray()) - .cell(0, 0) - .value("시스템 로그 목록").merge(0, cellDefs.size() - 1) - .cell(2, 0) - .rowValues(CellDef.header(cellDefs, null)) - .cell(3, 0) - .values( - list, - CellDef.values(cellDefs) - ) - .autoWidth(); - - return new ModelAndView("downloadView") - .addObject("download", - xlsx.getDownloadable() - .setFilename("시스템 로그 목록.xlsx") - ); - } - -} \ No newline at end of file diff --git a/src/main/java/cokr/xit/fims/base/web/MainController.java b/src/main/java/cokr/xit/fims/base/web/MainController.java deleted file mode 100644 index 04d4da92..00000000 --- a/src/main/java/cokr/xit/fims/base/web/MainController.java +++ /dev/null @@ -1,219 +0,0 @@ -package cokr.xit.fims.base.web; - -import java.util.List; -import java.util.Map; - -import javax.annotation.Resource; -import javax.servlet.http.HttpServletRequest; - -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.stereotype.Controller; -import org.springframework.web.bind.annotation.GetMapping; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.servlet.ModelAndView; -import org.springframework.web.servlet.mvc.method.annotation.SseEmitter; - -import cokr.xit.base.code.CommonCode; -import cokr.xit.base.code.service.CodeService; -import cokr.xit.base.crypto.bean.XitAria; -import cokr.xit.base.security.access.service.AuthorityService; -import cokr.xit.base.user.SigunguQuery; -import cokr.xit.base.user.service.SigunguDepartmentService; -import cokr.xit.base.user.service.UserService; -import cokr.xit.fims.base.FimsUser; -import cokr.xit.fims.base.service.bean.OgdpBean; -import cokr.xit.fims.base.service.bean.SseBean; -import cokr.xit.fims.cmmn.CmmnUtil; -import cokr.xit.fims.task.TaskRequestMappingHandlerMapping; -import cokr.xit.foundation.data.DataObject; -import cokr.xit.foundation.web.RequestHandlerReader; - -@Controller -public class MainController extends cokr.xit.base.web.MainController { - - - - @Autowired - private TaskRequestMappingHandlerMapping requestHandlers; - - @Autowired - private SseBean sseBean; - - @Resource(name="ogdpBean") - private OgdpBean ogdpBean; - - @Resource(name="userService") - private UserService userService; - - @Resource(name="sigunguDepartmentService") - private SigunguDepartmentService sggDeptService; - - @Resource(name="codeService") - private CodeService codeService; - - @Resource(name="authorityService") - private AuthorityService authorityService; - - @Override - public ModelAndView loginPage() { - ModelAndView mav = new ModelAndView("login"); - - List sggs = sggDeptService.getSigunguList(new SigunguQuery()); - if (sggs.isEmpty()) { - throw new RuntimeException("No sigungu info found."); - } - for(DataObject sgg : sggs) { - int count = ogdpBean.countUser(sgg.string("SGG_CD")); - String userUseYn = count > 0 ? "Y" : "N"; - sgg.set("USER_USE_YN", userUseYn); - } - - boolean multiple = sggs.size() > 1; - mav.addObject("sggs", toJson(sggs)); - mav.addObject("multipleSggs", multiple); - - - mav.addObject("sggList", sggs); - - mav.addObject("sysSggCd", System.getProperty("sgg.active")); - return mav; - - - } - - @Override - public ModelAndView getURLs(boolean multiple) { - List urls = new RequestHandlerReader().read(requestHandlers); - attachTaskPrefixName(urls); - - return new ModelAndView("select-url") - .addObject("multiple", multiple) - .addObject("urls", toJson(urls)); - } - - @SuppressWarnings("unchecked") - private void attachTaskPrefixName(List list) { - for(DataObject item : list) { - String name = item.string("name"); - String url = item.string("url"); - if(!name.equals(url)) { - switch (url) { - case "/BPV": item.set("name","전용차로과태료업무 "+name); - case "/PVS": item.set("name","주정차위반과태료업무 "+name); - case "/DPV": item.set("name","장애인주차위반과태료업무 "+name); - case "/ECA": item.set("name","전기차주차위반과태료업무 "+name); - case "/PES": item.set("name","밤샘주차위반과태료업무 "+name); - case "/DVS": item.set("name","미세먼지과태료업무 "+name); - } - } - if(item.get("children") != null) { - attachTaskPrefixName((List) item.get("children")); - } - } - } - - @GetMapping(name="회원가입 페이지", value="/signupPage.do") - public ModelAndView signupPage(String sggCd, String cntnSeCd) { - ModelAndView mav = new ModelAndView("fims/user/user01010-main"); - mav.addObject("userInfo", "{}"); - - - - if(cntnSeCd.equals("01")) { - mav.addObject("cntnSeCd", "01"); - - mav.addObject("allOgdpList", ogdpBean.selectAllOgdpList()); - List ableOgdpList = ogdpBean.selectAbleOgdpList(true, sggCd); - mav.addObject("ableOgdpList", ableOgdpList); - - Map> commonCodes = codeService.getCodesOf("CMN008"); - mav.addObject("CMN008List", commonCodes.get("CMN008")); - - } else if(cntnSeCd.equals("02")) { - List sggs = sggDeptService.getSigunguList(new SigunguQuery().setSggIDs(sggCd)); - - mav.addObject("cntnSeCd", "02"); - mav.addObject("sggCd", sggCd); - mav.addObject("institute", sggs.get(0).string("INST_CD")); - mav.addObject("userSeCd", "21"); - } - - return mav; - } - - @RequestMapping(name="회원가입", value="/signup.do") - public ModelAndView signup(FimsUser user) { - ModelAndView mav = new ModelAndView("jsonView"); - user.setAccount(user.getAccount().toUpperCase()); - boolean saved = userService.create(user); - - if(user.getUserSeCd() != null && user.getUserSeCd().equals("21")) { - int affected = authorityService.addUsers("ROLE_RENT", user.getId()); - } - - mav.addObject("saved",saved); - return mav; - } - - @RequestMapping(name="중복 확인", value="/duplicate.do") - public ModelAndView isDuplicate(String account, String sggCd) { - account = account.toUpperCase(); - FimsUser user = userService.getUser(account, sggCd); - return new ModelAndView("jsonView") - .addObject("duplicate", user != null); - } - - @RequestMapping(name="접속자 IP 확인", value="/ipInfo.do") - public ModelAndView ipInfo(HttpServletRequest hreq) { - - XitAria crypto = new XitAria("xit-aria"); - String a1 = crypto.encrypt("1234567890123"); - String a2 = crypto.decrypt(a1); - - - String remoteAddr = CmmnUtil.getClientIpAddr(hreq); - - String net = ""; - String[] LOCAL = {"127.0.0.1", "0:0:0:0:0:0:0:1"}; - String[] PRIVATES = {"10.","172.16.","172.31.","192.168."}; - String[] SGG_NET = {"211.119.124."}; - - if(remoteAddr.equals(LOCAL[0]) || remoteAddr.equals(LOCAL[1])) { - String flag = hreq.getParameter("flag"); - if(flag != null && !flag.equals("")){ - net = flag; - } else { - net = "intra"; - } - } else if(remoteAddr.startsWith(PRIVATES[0]) - || remoteAddr.startsWith(PRIVATES[1]) - || remoteAddr.startsWith(PRIVATES[2]) - || remoteAddr.startsWith(PRIVATES[3])){ - net = "intra"; - } else if(SGG_NET.length > 0){ - for(String sgg : SGG_NET) { - if(remoteAddr.startsWith(sgg)) { - net = "intra"; - } - } - } else { - net = "inter"; - } - - return new ModelAndView("jsonView") - .addObject("remoteAddr", remoteAddr) - .addObject("net", net) - .addObject("a1",a1) - .addObject("a2",a2) - ; - - } - - - @RequestMapping(name="서버 이벤트 수신 등록", value="/subscribe.do") - public SseEmitter subscribe(HttpServletRequest req) { - return sseBean.start(req.getParameter("sseKey")); - } - - -} \ No newline at end of file diff --git a/src/main/java/cokr/xit/fims/base/web/MenuController.java b/src/main/java/cokr/xit/fims/base/web/MenuController.java deleted file mode 100644 index 96cc3a09..00000000 --- a/src/main/java/cokr/xit/fims/base/web/MenuController.java +++ /dev/null @@ -1,6 +0,0 @@ -package cokr.xit.fims.base.web; - -import org.springframework.stereotype.Controller; - -@Controller -public class MenuController extends cokr.xit.base.menu.web.MenuController {} \ No newline at end of file diff --git a/src/main/java/cokr/xit/fims/base/web/OgdpController.java b/src/main/java/cokr/xit/fims/base/web/OgdpController.java deleted file mode 100644 index a0a79702..00000000 --- a/src/main/java/cokr/xit/fims/base/web/OgdpController.java +++ /dev/null @@ -1,321 +0,0 @@ -package cokr.xit.fims.base.web; - -import java.io.File; -import java.util.HashMap; -import java.util.List; -import java.util.Map; - -import javax.annotation.Resource; - -import org.apache.commons.io.FilenameUtils; -import org.springframework.stereotype.Controller; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.multipart.MultipartFile; -import org.springframework.web.servlet.ModelAndView; - -import cokr.xit.base.user.Department; -import cokr.xit.base.user.Sigungu; -import cokr.xit.base.user.SigunguQuery; -import cokr.xit.base.user.service.SigunguDepartmentService; -import cokr.xit.base.user.web.SigunguDepartmentController; -import cokr.xit.base.web.ApplicationController; -import cokr.xit.fims.base.FimsDepartment; -import cokr.xit.fims.base.FimsSigungu; -import cokr.xit.fims.base.OgdpQuery; -import cokr.xit.fims.base.service.bean.OgdpBean; -import cokr.xit.fims.cmmn.CmmnQuery; -import cokr.xit.fims.cmmn.service.StngService; -import cokr.xit.fims.mngt.Task; -import cokr.xit.fims.mngt.VltnQuery; -import cokr.xit.fims.mngt.service.bean.TaskBean; -import cokr.xit.fims.mngt.service.bean.VltnBean; -import cokr.xit.foundation.UserInfo; -import cokr.xit.foundation.data.DataObject; - -@Controller -@RequestMapping(name = "시군구,기관,부서", value = "/ogdp") -public class OgdpController extends ApplicationController { - - public class METHOD_URL { - public static final String - sggStngMain = "/sggStngMain.do", - getSggStngInfo = "/getSggStngInfo.do", - getTasks = "/getTasks.do", - getVltns = "/getVltns.do", - updateSggStng = "/updateSggStng.do", - updateTaskStng = "/updateTaskStng.do", - createTaskStng = "/createTaskStng.do", - deptStngMain = "/deptStngMain.do", - getDeptStngList = "/getDeptStngList.do", - getDeptStngInfo = "/getDeptStngInfo.do", - updateDeptStng = "/updateDeptStng.do" - ; - } - - @Controller - public class DefaultOgdpController extends SigunguDepartmentController {} - - @Resource(name="sigunguDepartmentService") - private SigunguDepartmentService sggDeptService; - - @Resource(name="ogdpBean") - private OgdpBean ogdpBean; - - /** 설정 정보 서비스 */ - @Resource(name = "stngService") - private StngService stngService; - - /** 업무 정보 Bean */ - @Resource(name = "taskBean") - private TaskBean taskBean; - - /** 위반 정보 Bean */ - @Resource(name = "vltnBean") - private VltnBean vltnBean; - - - /** 시군구 설정 관리 메인화면을 연다. - * @return fims/ogdp/ogdp01010-main - */ - @RequestMapping(name="시군구 설정 정보 관리 메인", value=METHOD_URL.sggStngMain) - public ModelAndView sggStngMain(String sggCd) { - ModelAndView mav = new ModelAndView(); - - UserInfo userInfo = currentUser(); - - if(userInfo.getInstitute().equals("ADMIN00")) { - if(ifEmpty(sggCd, ()->"").equals("")) { - - mav.setViewName("fims/ogdp/select-sgg"); - mav.addObject("pageName", "selectSgg"); - - List sggList = sggDeptService.getSigunguList(new SigunguQuery()) ; - mav.addObject("sggList", sggList); - - } else { - mav.setViewName("fims/ogdp/ogdp01010-main"); - mav.addObject("pageName", "ogdp01010"); - mav.addObject("sggCd", sggCd); - } - - } else { - mav.setViewName("fims/ogdp/ogdp01010-main"); - mav.addObject("pageName", "ogdp01010"); - ogdpBean.initUserInfo(userInfo); - mav.addObject("sggCd", userInfo.getInfo().get("sggCd")); - } - - return mav; - } - - /**지정하는 시군구의 설정 정보를 가져온다.
- * @param req - * @return jsonView - */ - @RequestMapping(name="시군구 설정 조회", value=METHOD_URL.getSggStngInfo) - public ModelAndView getSggStngInfo(OgdpQuery req) { - ModelAndView mav = new ModelAndView("jsonView"); - DataObject sggInfo = ogdpBean.getSggStngInfo(req); - mav.addObject("sggInfo", sggInfo); - return mav; - } - - /**지정하는 시군구의 업무 설정 정보를 가져온다.
- * @param req - * @return jsonView - */ - @RequestMapping(name="업무 조회", value=METHOD_URL.getTasks) - public ModelAndView getTasks(CmmnQuery req) { - List result = taskBean.getTasks(req); - - return setCollectionInfo(new ModelAndView("jsonView"), result, "task"); - } - - /**지정하는 시군구와 업무의 위반 설정 정보를 가져온다.
- * @return 위반 설정 정보 - */ - @RequestMapping(name="위반정보 조회", value=METHOD_URL.getVltns) - public ModelAndView getVltns(VltnQuery req) { - List result = vltnBean.getVltns(req); - return setCollectionInfo(new ModelAndView("jsonView"), result, "vltn"); - } - - /**시군구 설정 정보를 수정한다. - * @param sgg 시군구 정보, symbol 시군구 상징파일, logo 시군구 로고파일, offcs 시군구 직인파일 - * @return jsonView - *
 {
-	 *     "saved": 수정되었으면 true, 그렇지 않으면 false
-	 * }
- */ - @RequestMapping(name="시군구 설정 정보 수정", value=METHOD_URL.updateSggStng) - public ModelAndView updateSggStng(FimsSigungu sgg, MultipartFile symbol, MultipartFile logo, MultipartFile offcs) { - ModelAndView mav = new ModelAndView("jsonView"); - - String sggCd = sgg.getSggID(); - - if(symbol != null && !symbol.isEmpty() && symbol.getSize() != 0) { - Map newSymbol = this.uploadForSgg(symbol, sggCd, "symbol"); - sgg.setSymbolFilepath(newSymbol.get("filePath")); - sgg.setSymbolFilename(newSymbol.get("fileName")); - } - if(logo != null && !logo.isEmpty() && logo.getSize() != 0) { - Map newLogo = this.uploadForSgg(logo, sggCd, "logo"); - sgg.setLogoFilepath(newLogo.get("filePath")); - sgg.setLogoFilename(newLogo.get("fileName")); - } - if(offcs != null && !offcs.isEmpty() && offcs.getSize() != 0) { - Map newOffcs = this.uploadForSgg(offcs, sggCd, "offcs"); - sgg.setOfficialSealFilepath(newOffcs.get("filePath")); - sgg.setOfficialSealFilename(newOffcs.get("fileName")); - } - boolean saved = ogdpBean.updateSggStng(sgg); - - mav.addObject("saved", saved); - return mav; - } - - private Map uploadForSgg(MultipartFile mf, String sggCd, String fileSe){ - Map newFileInfoMap = new HashMap<>(); - String workDirPath = "files/attachment/etc/"+fileSe; - - String ext = FilenameUtils.getExtension(mf.getOriginalFilename()); - String fileName = sggCd+"."+ext; - - File workDir = new File(workDirPath); - workDir.mkdirs(); - String newFileFullPath = workDirPath + "/" + fileName; - - try { - - File newFile = new File(newFileFullPath); - if(newFile.exists()) { - if(!newFile.delete()) { - throw new RuntimeException("[F]이미지 업로드 중 오류가 발생하였습니다."); - } - } - mf.transferTo(newFile); - - } catch (Exception e) { - throw new RuntimeException("[F]이미지 업로드 중 오류가 발생하였습니다."); - } - - newFileInfoMap.put("filePath", newFileFullPath); - newFileInfoMap.put("fileName", mf.getOriginalFilename()); - return newFileInfoMap; - } - - /**시군구별 업무,위반 설정 정보를 수정한다. - * @param sgg 시군구 정보 - * @return jsonView - *
 {
-	 *     "saved": 수정되었으면 true, 그렇지 않으면 false
-	 * }
- */ - @RequestMapping(name="업무 설정 정보 수정", value=METHOD_URL.updateTaskStng) - public ModelAndView updateTaskStng(Task task) { - ModelAndView mav = new ModelAndView("jsonView"); - - boolean saved = false; - String rtnMsg = stngService.updateTaskStng(task, task.getVltnStngList()); - if(rtnMsg.contains("[S]")) { - saved = true; - } - mav.addObject("saved", saved); - return mav; - } - - /**시군구별 업무,위반 설정을 추가한다. - * @param sggCd 시군구 코드, taskSeCd 업무 구분 코드 - * @return jsonView - *
 {
-	 *     "saved": 수정되었으면 true, 그렇지 않으면 false
-	 * }
- */ - @RequestMapping(name="시군구 과태료 업무 추가", value=METHOD_URL.createTaskStng) - public ModelAndView createTaskStng(String sggCd, String taskSeCd) { - ModelAndView mav = new ModelAndView("jsonView"); - - boolean saved = false; - String rtnMsg = stngService.createTaskStng(sggCd, taskSeCd); - if(rtnMsg.contains("[S]")) { - saved = true; - } - mav.addObject("saved", saved); - return mav; - } - - /** 부서 설정관리 메인화면을 연다. - * @return fims/ogdp/ogdp02010-main - */ - @RequestMapping(name="부서 설정 정보 관리 메인", value=METHOD_URL.deptStngMain) - public ModelAndView deptStngMain() { - ModelAndView mav = new ModelAndView(); - - mav.setViewName("fims/ogdp/ogdp02010-main"); - mav.addObject("pageName", "ogdp02010"); - - List allSggList = sggDeptService.getSigunguList(new SigunguQuery()); - - mav.addObject("sggList", allSggList); - - return mav; - } - - /**부서 설정 목록을 조회한다.
- * {@link OgdpService#getDeptStngList(CmmnQuery)} 참고 - * @param query 부서 목록 조회 조건 - * @return jsonView - */ - @RequestMapping(name="부서 설정 목록 조회", value=METHOD_URL.getDeptStngList) - public ModelAndView getDeptStngList(OgdpQuery query) { - - setFetchSize(query); - - return setCollectionInfo(new ModelAndView("jsonView"), ogdpBean.getDeptStngList(query),"",""); - - } - - /**지정한 ID의 부서 설정 정보(info)를 반환한다. - * @param query 부서 조회 조건 - * @return fims/ogdp/ogdp02020-info 또는 jsonView - *
{
-	 *     "deptInfo": 부서 정보
-	 * }
- */ - @RequestMapping(name="부서 설정 상세 조회", value=METHOD_URL.getDeptStngInfo) - public ModelAndView getDeptStngInfo(OgdpQuery query) { - DataObject deptInfo = new DataObject(); - - if(!ifEmpty(query.getDeptCd(), ()->"").equals("")) { - deptInfo = ogdpBean.getDeptStngInfo(query); - } else { - deptInfo = null; - } - - boolean json = jsonResponse(); - ModelAndView mav = new ModelAndView(json ? "jsonView" : "fims/ogdp/ogdp02020-info"); - - mav.addObject("pageName", "ogdp02020"); - mav.addObject("deptInfo", json ? deptInfo : toJson(deptInfo)); - return mav; - } - - - - - /**부서 설정 정보를 수정한다. - * @param dept 부서 정보 - * @return jsonView - *
 {
-	 *     "saved": 저장되었으면 true, 그렇지 않으면 false
-	 * }
- */ - @RequestMapping(name="부서 설정 수정", value=METHOD_URL.updateDeptStng) - public ModelAndView updateDeptStng(FimsDepartment dept) { - ModelAndView mav = new ModelAndView("jsonView"); - boolean saved = ogdpBean.updateDeptStng(dept); - - mav.addObject("saved", saved); - return mav; - } -} \ No newline at end of file diff --git a/src/main/java/cokr/xit/fims/base/web/UserController.java b/src/main/java/cokr/xit/fims/base/web/UserController.java deleted file mode 100644 index 637d924d..00000000 --- a/src/main/java/cokr/xit/fims/base/web/UserController.java +++ /dev/null @@ -1,241 +0,0 @@ -package cokr.xit.fims.base.web; - -import java.util.List; -import java.util.Map; - -import javax.annotation.Resource; -import javax.servlet.http.HttpServletRequest; - -import org.springframework.stereotype.Controller; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.servlet.ModelAndView; - -import cokr.xit.base.code.CommonCode; -import cokr.xit.base.code.service.CodeQuery; -import cokr.xit.base.code.service.CodeService; -import cokr.xit.base.code.service.bean.CodeBean; -import cokr.xit.base.security.SecuredUserInfo; -import cokr.xit.base.security.access.service.AuthorityService; -import cokr.xit.base.user.UserQuery; -import cokr.xit.base.user.service.UserService; -import cokr.xit.fims.base.FimsUser; -import cokr.xit.fims.base.service.bean.OgdpBean; -import cokr.xit.fims.cmmn.service.bean.StngBean; -import cokr.xit.foundation.data.DataObject; - -@Controller -public class UserController extends cokr.xit.base.user.web.UserController { - - @Resource(name="userService") - private UserService userService; - - @Resource(name = "codeBean") - private CodeBean codeBean; - - @Resource(name="codeService") - private CodeService codeService; - - @Resource(name="authorityService") - private AuthorityService authorityService; - - @Resource(name="ogdpBean") - private OgdpBean ogdpBean; - - @Resource(name = "stngBean") - private StngBean stngBean; - - @Override - public ModelAndView main() { - ModelAndView mav = super.main(); - Map> commonCodes = codeService.getCodesOf("CMN009"); - mav.addObject("CMN009List", commonCodes.get("CMN009")); - return mav; - } - - @Override - public ModelAndView getInfo(String userID) { - - ModelAndView mav = new ModelAndView(); - - boolean json = !isEmpty(userID) && jsonResponse(); - String viewName = json ? "jsonView" : "base/user/user-info"; - - if (!isEmpty(userID)) { - DataObject userInfo = userService.getUserInfo(userID); - mav.setViewName(viewName); - mav.addObject("userInfo", json ? userInfo : toJson(userInfo)); - } else { - mav.setViewName("base/user/user-info"); - - } - - mav.addObject("allOgdpList", ogdpBean.selectAllOgdpList()); - - List ableOgdpList = ogdpBean.selectAbleOgdpList(false, currentUser().getOrgID()); - mav.addObject("ableOgdpList", ableOgdpList); - - Map> commonCodes = codeService.getCodesOf("CMN008"); - mav.addObject("CMN008List", commonCodes.get("CMN008")); - - return mav; - } - - @Override - public ModelAndView create(FimsUser user) { - user.setAccount(user.getAccount().toUpperCase()); - return super.create(user); - } - - @Override - public ModelAndView isDuplicate(String account, String institute) { - account = account.toUpperCase(); - return super.isDuplicate(account, institute); - } - - @Override - public ModelAndView getUserList(UserQuery req) { - if(req.getBy() != null && req.getTerm() != null && req.getBy().equals("userAccount")) { - req.setTerm(req.getTerm().toUpperCase()); - } - return super.getUserList(req); - } - - @RequestMapping(name="내 정보 조회",value="/myInfo.do") - public ModelAndView myInfo() { - ModelAndView mav = new ModelAndView("jsonView"); - - SecuredUserInfo userInfo = currentUser(); - - //시군구,기관,부서 - ogdpBean.initUserInfo(userInfo); - - //관리자여부,내부망사용자여부,업무권한여부 - boolean isAdmin = userInfo.hasAuthorities("ROLE_ADMIN"); - userInfo.getInfo().put("isAdmin", isAdmin); - - FimsUser fimsUser = (FimsUser)userInfo.getUser(); - boolean isPublicOfficer = fimsUser.getCntnSeCd().equals("01"); - userInfo.getInfo().put("isPublicOfficer", isPublicOfficer); - - CodeQuery codeQuery = new CodeQuery(); - codeQuery.setGroupIDs("FIM054"); - List taskList = codeBean.getCodeList(codeQuery); - String[] taskRoles = taskList.stream().map((item) -> { return "ROLE_"+item.string("CODE"); }) - .toList().toArray(new String[taskList.size()]); - boolean hasTaskAuth = userInfo.hasAuthorities(taskRoles); - userInfo.getInfo().put("hasTaskAuth", hasTaskAuth); - - - //사용자별 업무 및 기본업무 - stngBean.initUserInfo(userInfo); - - //지자체 로고(시군구 설정) - DataObject sggStng = stngBean.getStng("sgg"); - userInfo.getInfo().put("sggLogoPath", sggStng.string("LOGO_FILE_PATH")); - userInfo.getInfo().put("sggSymbolPath", sggStng.string("SYMBOL_FILE_PATH")); - - mav.addObject("myInfo", userInfo); - return mav; - } - - @RequestMapping(name="시스템 연계 정보",value="/sysLinkInfo.do") - public ModelAndView sysLinkInfo() { - ModelAndView mav = new ModelAndView("jsonView"); - - DataObject deptStng = stngBean.getStng("dept"); - DataObject sysLinkInfo = new DataObject(); - sysLinkInfo.put("NXRP_LINK_YN", deptStng.string("NXRP_LINK_YN")); - sysLinkInfo.put("CVLCPT_LINK_SE_CD", deptStng.string("CVLCPT_LINK_SE_CD")); - - mav.addObject("sysLinkInfo", sysLinkInfo); - return mav; - } - - @RequestMapping(name="내 정보 변경 화면", value="/openMyInfo.do") - public ModelAndView openMyInfo() { - ModelAndView mav = new ModelAndView("fims/user/user01010-main"); - - DataObject userInfo = userService.getUserInfo(currentUser().getId()); - mav.addObject("userInfo", toJson(userInfo)); - - - String cntnSeCd = userInfo.string("CNTN_SE_CD"); - if(cntnSeCd.equals("01")) { - mav.addObject("cntnSeCd", "01"); - - mav.addObject("allOgdpList", ogdpBean.selectAllOgdpList()); - List ableOgdpList = ogdpBean.selectAbleOgdpList(false, currentUser().getOrgID()); - mav.addObject("ableOgdpList", ableOgdpList); - - Map> commonCodes = codeService.getCodesOf("CMN008"); - mav.addObject("CMN008List", commonCodes.get("CMN008")); - - } else if(cntnSeCd.equals("02")) { - mav.addObject("cntnSeCd", "02"); - } - - return mav; - } - - @RequestMapping(name="내 정보 변경", value="/updateMyInfo.do") - public ModelAndView updateMyInfo(FimsUser user) { - return super.update(user); - } - - @RequestMapping(name="기본업무 저장",value="/saveDefaultTask.do") - public ModelAndView saveDefaultTask(String taskSeCd) { - ModelAndView mav = new ModelAndView("jsonView"); - boolean saved = false; - - saved = stngBean.saveDefaultTask(taskSeCd); - - mav.addObject("saved", saved); - return mav; - } - - @RequestMapping(name="설정정보 조회",value="/stngInfo.do") - public ModelAndView getStngInfo(String type) { - ModelAndView mav = new ModelAndView("jsonView"); - - DataObject stngInfo = stngBean.getStng(type); - mav.addObject("stngInfo",stngInfo); - return mav; - } - - @RequestMapping(name="교부 계좌번호 수정",value="/updateDtbnActno.do") - public ModelAndView updateDtbnActno(String dtbnBankNm, String dtbnActno) { - ModelAndView mav = new ModelAndView("jsonView"); - - boolean saved = stngBean.updateDtbnActno(dtbnBankNm, dtbnActno); - - mav.addObject("saved", saved); - return mav; - } - - @RequestMapping(name="사용자 검색",value="/user02/010/main.do") - public ModelAndView findUserMain(HttpServletRequest hReq, String callbackFuncName) { - ModelAndView mav = new ModelAndView("fims/user/user02010-main"); - - // 사용자 정보 - FimsUser currentUser = (FimsUser)currentUser().getUser(); - - return mav - .addObject("openerPageName", hReq.getParameter("openerPageName")) // 호출한 Jsp PageName - .addObject("pageName", "user02010") // View(jsp)에서 사용할 id 뒤에 붙일 suffix - .addObject("infoPrefix", "user") // prefix - .addObject("infoPrefixUrl", "/user/user02") // prefixUrl - .addObject("callbackFuncName", callbackFuncName) // 콜백함수(callbackFuncName) - .addObject("sggCd", currentUser.getOrgID()) // 시군구 코드(SGG_CD) - .addObject("deptCd", currentUser.getDeptCode()) // 부서 코드(DEPT_CD) - .addObject("userAcnt", currentUser.getAccount()) // 사용자 계정(USER_ACNT) - ; - } - - @RequestMapping(name="회원탈퇴", value="/cancelAccount.do") - public ModelAndView cancelAccount() { - int affected = userService.remove(currentUser().getId()); - return new ModelAndView("jsonView") - .addObject("affected", affected) - .addObject("saved", affected > 0); - } -} diff --git a/src/main/java/cokr/xit/fims/cmmn/CmmnQuery.java b/src/main/java/cokr/xit/fims/cmmn/CmmnQuery.java deleted file mode 100644 index 9a3d9090..00000000 --- a/src/main/java/cokr/xit/fims/cmmn/CmmnQuery.java +++ /dev/null @@ -1,225 +0,0 @@ -package cokr.xit.fims.cmmn; - -import cokr.xit.foundation.component.QueryRequest; - -public class CmmnQuery extends QueryRequest { - - private static final long serialVersionUID = 1L; - - private String sseKey; - - private String mainOption; - private String subOption; - - private String cellDefs; - private String includePhoto; - - private String thisDay; - - private String taskSeCd; // 업무 구분 코드 - private String sggCd; // 시군구 코드 - private String deptCd; // 부서 코드 - private String instCd; // 기관 코드 - private String useYn; // 사용 여부 - private String delYn; // 삭제 여부 - - private String schDateOpt; // 검색 일자 구분 - private String schDateFrom; // 검색 일자 시작 - private String schDateTo; // 검색 일자 종료 - private String schRegDateOpt; // 등록 일자 구분 - private String schRegDateFrom; // 등록 일자 시작 - private String schRegDateTo; // 등록 일자 종료 - private String schRgtrOpt; // 등록 사용자 구분 - private String schRgtrCd; // 등록 사용자 코드 - private String schRgtrNm; // 등록 사용자 명 - - public String getSseKey() { - return ifEmpty(sseKey, () -> null); - } - - public T setSseKey(String sseKey) { - this.sseKey = sseKey; - return self(); - } - - public String getMainOption() { - return ifEmpty(mainOption, () -> null); - } - - public T setMainOption(String mainOption) { - this.mainOption = mainOption; - return self(); - } - - public String getSubOption() { - return ifEmpty(subOption, () -> null); - } - - public T setSubOption(String subOption) { - this.subOption = subOption; - return self(); - } - - public String getCellDefs() { - return ifEmpty(cellDefs, () -> null); - } - - public T setCellDefs(String cellDefs) { - this.cellDefs = cellDefs; - return self(); - } - - public String getIncludePhoto() { - return ifEmpty(includePhoto, () -> null); - } - - public T setIncludePhoto(String includePhoto) { - this.includePhoto = includePhoto; - return self(); - } - - public String getThisDay() { - return ifEmpty(thisDay, () -> null); - } - - public T setThisDay(String thisDay) { - this.thisDay = thisDay; - return self(); - } - - public String getSggCd() { - return ifEmpty(sggCd, () -> null); - } - - public T setSggCd(String sggCd) { - this.sggCd = sggCd; - return self(); - } - - public String getDeptCd() { - return ifEmpty(deptCd, () -> null); - } - - public T setDeptCd(String deptCd) { - this.deptCd = deptCd; - return self(); - } - - public String getTaskSeCd() { - return ifEmpty(taskSeCd, () -> null); - } - - public T setTaskSeCd(String taskSeCd) { - this.taskSeCd = taskSeCd; - return self(); - } - - public String getInstCd() { - return ifEmpty(instCd, () -> null); - } - - public T setInstCd(String instCd) { - this.instCd = instCd; - return self(); - } - - public String getUseYn() { - return ifEmpty(useYn, () -> null); - } - - public T setUseYn(String useYn) { - this.useYn = useYn; - return self(); - } - - public String getDelYn() { - return ifEmpty(delYn, () -> null); - } - - public T setDelYn(String delYn) { - this.delYn = delYn; - return self(); - } - - public String getSchDateOpt() { - return ifEmpty(schDateOpt, () -> null); - } - - public T setSchDateOpt(String schDateOpt) { - this.schDateOpt = schDateOpt; - return self(); - } - - public String getSchDateFrom() { - return ifEmpty(schDateFrom, () -> null); - } - - public T setSchDateFrom(String schDateFrom) { - this.schDateFrom = schDateFrom; - return self(); - } - - public String getSchDateTo() { - return ifEmpty(schDateTo, () -> null); - } - - public T setSchDateTo(String schDateTo) { - this.schDateTo = schDateTo; - return self(); - } - - public String getSchRegDateOpt() { - return ifEmpty(schRegDateOpt, () -> null); - } - - public T setSchRegDateOpt(String schRegDateOpt) { - this.schRegDateOpt = schRegDateOpt; - return self(); - } - - public String getSchRegDateFrom() { - return ifEmpty(schRegDateFrom, () -> null); - } - - public T setSchRegDateFrom(String schRegDateFrom) { - this.schRegDateFrom = schRegDateFrom; - return self(); - } - - public String getSchRegDateTo() { - return ifEmpty(schRegDateTo, () -> null); - } - - public T setSchRegDateTo(String schRegDateTo) { - this.schRegDateTo = schRegDateTo; - return self(); - } - - public String getSchRgtrOpt() { - return ifEmpty(schRgtrOpt, () -> null); - } - - public T setSchRgtrOpt(String schRgtrOpt) { - this.schRgtrOpt = schRgtrOpt; - return self(); - } - - public String getSchRgtrCd() { - return ifEmpty(schRgtrCd, () -> null); - } - - public T setSchRgtrCd(String schRgtrCd) { - this.schRgtrCd = schRgtrCd; - return self(); - } - - public String getSchRgtrNm() { - return ifEmpty(schRgtrNm, () -> null); - } - - public T setSchRgtrNm(String schRgtrNm) { - this.schRgtrNm = schRgtrNm; - return self(); - } - -} diff --git a/src/main/java/cokr/xit/fims/cmmn/CmmnUtil.java b/src/main/java/cokr/xit/fims/cmmn/CmmnUtil.java deleted file mode 100644 index e8f43843..00000000 --- a/src/main/java/cokr/xit/fims/cmmn/CmmnUtil.java +++ /dev/null @@ -1,639 +0,0 @@ -package cokr.xit.fims.cmmn; - -import java.awt.Graphics2D; -import java.awt.image.BufferedImage; -import java.io.File; -import java.io.IOException; -import java.io.InputStream; -import java.nio.file.Files; -import java.nio.file.Path; -import java.nio.file.Paths; -import java.nio.file.StandardCopyOption; -import java.text.SimpleDateFormat; -import java.time.DayOfWeek; -import java.time.LocalDate; -import java.time.format.TextStyle; -import java.util.ArrayList; -import java.util.Calendar; -import java.util.Comparator; -import java.util.Date; -import java.util.Iterator; -import java.util.List; -import java.util.Locale; -import java.util.Map; -import java.util.regex.Matcher; -import java.util.regex.Pattern; -import java.util.stream.Collectors; -import java.util.stream.Stream; - -import javax.imageio.ImageIO; -import javax.servlet.http.HttpServletRequest; - -import org.apache.commons.io.FilenameUtils; -import org.springframework.core.io.ClassPathResource; - -import cokr.xit.foundation.data.DataObject; -import cokr.xit.foundation.util.DateFormats; - -public class CmmnUtil { - - public static List getDataObjectListFromMap(Map map, String key) { - ArrayList dataObjectList = new ArrayList<>(); - Object list = map.get(key); - if(list == null) { - return null; - } - if(list instanceof ArrayList) { - for(Object o : (ArrayList) list) { - if(o instanceof DataObject) { - dataObjectList.add((DataObject)o); - } - } - } - return dataObjectList; - } - - /** - * HTML엔티티코드 문자열을 특수문자로 치환한다. - * @param HTML엔티티코드 문자열 - * @return 치환된 특수문자 - */ - public static String escapeHTMLEntity(String str) { - str = str.replaceAll("<", "<"); - str = str.replaceAll(">", ">"); - str = str.replaceAll("&", "&"); - str = str.replaceAll(""", "\\\""); - str = str.replaceAll("#39;", "'"); - return str; - } - - public static String spacedJoin(String... strings) { - String result = ""; - for(String str : strings) { - if(str == null) { - str = ""; - } - if(result.equals("") || str.equals("")) { - result += str; - } else { - result += " " + str; - } - } - return result; - } - - /** - * 문자열 안의 모든 문자가 숫자인지 테스트한다. - * @param 문자열 - * @return boolean - */ - public static boolean isNumeric(String str) { - String REGEXP_PATTERN_NUMBER = "^[\\d]*$"; - return Pattern.matches(REGEXP_PATTERN_NUMBER, str); - } - - /** - * 문자열 안의 모든 문자가 한글인지 테스트한다. - * @param 문자열 - * @return boolean - */ - public static boolean isKorean(String str) { - String REGEXP_PATTERN_KOR = "^[가-힣]*$"; - return Pattern.matches(REGEXP_PATTERN_KOR, str); - } - - /** - * 순서를 숫자에서 알파벳문자로 변환한다. - * @param index 순서번호, 대소문자여부(대문자일경우 true, 소문자일경우 false), startFromZero 0부터 시작 여부(0부터 시작시 true, 1부터 시작시 false) - * @return 알파벳대문자(A~Z) - */ - public static String indexToAlphabet(int index, boolean isUpper, boolean startFromZero) { - int A = isUpper ? 65 : 97; - int Z = isUpper ? 90 : 122; - - int charCode = (A-1); - - charCode += index; - - if(startFromZero) { - charCode++; - } - - if(charCode < A || charCode > Z) { - return ""; - } - - return ""+(char)charCode; - } - - /** - * 확장자가 포함된 파일명에 추가 문자열을 더한 파일명을 반환한다. - * @param orgnFileName 원본파일명, append 추가 문자열 - * @return 변환된 파일명 - */ - public static String appendFileName(String orgnFileName, String append) { - return FilenameUtils.removeExtension(orgnFileName) + append + "." + FilenameUtils.getExtension(orgnFileName); - } - - /** - * 모자이크 처리된 이미지파일을 생성한다. - * @param source 원본파일, target 결과파일, mosaicInfos 모자이크 정보 - * @return - */ - public static void createMaskedImage(InputStream source, File target, List mosaicInfos) { - - BufferedImage buffer_black_image = new BufferedImage(1, 1, BufferedImage.TYPE_3BYTE_BGR); - String extension = FilenameUtils.getExtension(target.getName()); - try { - - BufferedImage buffer_original_image = ImageIO.read(source); - Graphics2D graphic = buffer_original_image.createGraphics(); - for(DataObject mosaicInfo : mosaicInfos){ - int mosaicX = mosaicInfo.number("X_AXS").intValue(); - int mosaicY = mosaicInfo.number("Y_AXS").intValue(); - int mosaicWidth = mosaicInfo.number("MOSC_LEN").intValue(); - int mosaicHeight = mosaicInfo.number("MOSC_HGT").intValue(); - graphic.drawImage(buffer_black_image, mosaicX, mosaicY, mosaicWidth, mosaicHeight, null); - } - - ImageIO.write(buffer_original_image, extension, target); - } catch (IOException e) { - throw new RuntimeException("이미지 모자이크 처리 중 오류가 발생하였습니다."); - } - - } - - /** - * 하위 폴더가 비워져 있으면 삭제한다. - * @param file 대상 폴더, removeSelf 대상 폴더까지 삭제할 지 여부 - * @return 삭제된 폴더수 - */ - public static int deleteEmptyDir(File file, boolean removeSelf) { - if (!file.isDirectory()) return 0; - - int delCnt=0; - - for (File subFile : file.listFiles()) { - if (subFile.isDirectory()) { - delCnt+=deleteEmptyDir(subFile, true); - } - } - - if(removeSelf) { - if (file.listFiles().length==0) { - if(!file.delete()) { - throw new RuntimeException("파일 삭제 중 오류가 발생하였습니다."); - } - delCnt++; - } - } - - return delCnt; - } - - /** - * 폴더 경로에 파일명이 동일한 파일이 여러 개 있을 경우 수정일자가 가장 마지막인 파일만 남기고 삭제한다. - * @param root 경로 - * @return 삭제된 폴더수 - */ - public static void removeDuplicateFileName(String root) { - List fileList = null; - try (Stream pathStream = Files.walk(Paths.get(root))){ - - fileList = pathStream.filter(Files::isRegularFile).toList(); - } catch (IOException e) { - throw new RuntimeException("파일 조회 오류."+e); - } - - if(fileList != null && !fileList.isEmpty()) { - Map> byFileName = fileList.stream().collect(Collectors.groupingBy(item -> item.toFile().getName())); - - Iterator keys = byFileName.keySet().iterator(); - - while( keys.hasNext() ){ - String key = keys.next(); - List sameNameFileList = byFileName.get(key); - if(sameNameFileList.size() < 2) { - continue; - } - - Path latest = sameNameFileList.stream() - .max(Comparator.comparing(item -> item.toFile().lastModified())) - .orElseThrow(); - - for(Path sameNameFile : sameNameFileList) { - if(!sameNameFile.equals(latest)) { - if(!sameNameFile.toFile().delete()) { - throw new RuntimeException("[F]파일 삭제 오류"); - } - } - } - } - } - } - - /** - * 리소스 파일을 파일 공통 저장 경로로 복사한다. - * @param staticResourcePath 리소스 파일 경로, replace 기존 생성 파일 덮어쓰기 여부 - * @return - */ - public static String copyStaticResource(String staticResourcePath, boolean replace) { - try { - - String folderPath = FilenameUtils.getFullPathNoEndSeparator(staticResourcePath); - String storageRoot = "files"; - ClassPathResource cps = new ClassPathResource(staticResourcePath); - String fileName = cps.getFilename(); - - File newFile = new File(storageRoot + "/" + folderPath + "/" + fileName); - if(replace && newFile.exists()) { - return storageRoot + "/" + folderPath + "/" + fileName; - } - - File folder = new File(storageRoot + "/" + folderPath); - if(!folder.exists()) { - folder.mkdirs(); - } - InputStream is = cps.getInputStream(); - - Files.copy(is, newFile.toPath(), StandardCopyOption.REPLACE_EXISTING); - - return storageRoot + "/" + folderPath + "/" + fileName; - - } catch (IOException e) { - throw new RuntimeException(e); - } - - } - - - /** - * 현재 날짜와 지정한 날짜와의 차이(일)를 반환한다. - * @param dayStr 지정한 날짜 - * @return 현재 날짜와의 차이 일수 - */ - public static int compareToday(String dayStr) { - - SimpleDateFormat yyyyMMddFormat = new SimpleDateFormat("yyyyMMdd"); - Date curDate = new Date(); - String strCurrentDate = yyyyMMddFormat.format(curDate); - - if(dayStr.length() == 8) { - return Integer.parseInt(strCurrentDate) - Integer.parseInt(dayStr); - } else if(dayStr.length() == 14) { - return Integer.parseInt(strCurrentDate) - Integer.parseInt(dayStr.substring(0,8)); - } else { - throw new RuntimeException("날짜 형식 오류"); - } - } - - /** - * 지정한 날짜에 일수를 더한 날짜를 반환한다. - * @param yyyyMMdd 지정한 날짜, add 추가 일수 - * @return 계산된 날짜 - */ - public static String addDay(String yyyyMMdd, int add) { - - SimpleDateFormat yyyyMMddFormat = new SimpleDateFormat("yyyyMMdd"); - - Calendar cal = Calendar.getInstance(); - - try { - Date dt = yyyyMMddFormat.parse(yyyyMMdd); - cal.setTime(dt); - } catch (Exception e){ - throw new RuntimeException(e); - } - - cal.add(Calendar.DATE, add); - - return yyyyMMddFormat.format(cal.getTime()); - } - - public static String dateNFormat(String dateStr, String pattern) { - if(dateStr.length() == 8) { - return CmmnUtil.date8Format(dateStr, pattern); - } else if(dateStr.length() == 12) { - return CmmnUtil.date12Format(dateStr, pattern); - } else if(dateStr.length() == 14) { - return CmmnUtil.date14Format(dateStr, pattern); - } else { - return dateStr; - } - } - - public static String date8Format(String dateStr, String pattern) { - DateFormats dataFormats = new DateFormats(); - Date date = dataFormats.parse("yyyyMMdd", dateStr); - return dataFormats.format(pattern, date); - } - public static String date12Format(String dateStr, String pattern) { - DateFormats dataFormats = new DateFormats(); - Date date = dataFormats.parse("yyyyMMddHHmm", dateStr); - return dataFormats.format(pattern, date); - } - public static String date14Format(String dateStr, String pattern) { - DateFormats dataFormats = new DateFormats(); - Date date = dataFormats.parse("yyyyMMddHHmmss", dateStr); - return dataFormats.format(pattern, date); - } - - /**'-'로 구분된 우편번호를 반환한다. - * @param zipCode '-'이 없는 우편번호 - * @return '-'로 구분된 우편번호 - */ - public static String zipCodeFormat(String zipCode) { - if(zipCode != null && zipCode.length() == 6) { - return zipCode.substring(0,3)+"-"+zipCode.substring(3); - } - return zipCode; - } - - /**'-'로 구분된 등기번호를 반환한다. - * @param rgNo '-'이 없는 등기번호 - * @return '-'로 구분된 등기번호 - */ - public static String rgNoFormat(String rgNo) { - if(rgNo != null && rgNo.length() == 13) { - return rgNo.substring(0,5)+"-"+rgNo.substring(5); - } - return rgNo; - } - - /** - * 날짜형 문자열 입력받아 요일을 한글 문자 하나로 반환한다. - * @param dateStr 날짜 - * @return 요일 - */ - public static String getDayOfWeek(String dateStr) { - int y = Integer.parseInt(dateStr.substring(0,4)); - int m = Integer.parseInt(dateStr.substring(4,6)); - int d = Integer.parseInt(dateStr.substring(6,8)); - LocalDate date = LocalDate.of(y, m, d); - DayOfWeek dayOfWeek = date.getDayOfWeek(); - String dow = dayOfWeek.getDisplayName(TextStyle.SHORT, Locale.KOREAN); - return dow; - } - - /** 숫자를 한글로 표시한다. - * @param number - * @return - */ - public static String convertNumberToHangul(String number) { - String[] han1 = { "", "일", "이", "삼", "사", "오", "육", "칠", "팔", "구" }; - String[] han2 = { "", "십", "백", "천" }; - String[] han3 = { "", "만", "억", "조", "경" }; - String result = ""; - int len = number.length(); - int nowInt = 0; - boolean hasHan3 = false; - for (int i = len; i > 0; i--) { - nowInt = Integer.parseInt(number.substring(len - i, len - i + 1)); - int han2Pick = (i - 1) % 4; - if (nowInt > 0) { - result += (han1[nowInt]) + (han2[han2Pick]); - if (han2Pick > 0) { - hasHan3 = false; - } - } - if (!hasHan3 && han2Pick == 0) { - result += (han3[(i - 1) / 4]); - hasHan3 = true; - } - } - return result.toString(); - } - - public static String convertNumberToHangul(int number) { - String numStr = Integer.toString(number); - return convertNumberToHangul(numStr); - } - - /** 카멜케이스 문자열을 스네이크케이스 문자열로 변경한다. - * @param String - * @return String - */ - public static String convertCamelCaseToSnakeCase(String camelCase) { - Pattern pattern = Pattern.compile("([a-z])([A-Z])"); - Matcher matcher = pattern.matcher(camelCase); - - String convert = matcher.replaceAll(matchResult -> { - return String.format("%s_%s", matchResult.group(1), matchResult.group(2)); - }); - - return convert.toUpperCase(); - } - - /** 스네이크케이스 문자열을 카멜케이스 문자열로 변경한다. - * @param String - * @return String - */ - public static String convertSnakeCaseToCamelCase(String snakeCase) { - Pattern compile = Pattern.compile("([a-z])_([a-z])"); - Matcher matcher = compile.matcher(snakeCase.toLowerCase()); - - String convert = matcher.replaceAll(matchResult -> { - return String.format("%s%s", matchResult.group(1).toLowerCase(), matchResult.group(2).toUpperCase()); - }); - - return convert; - } - - /**OCR 밴드의 검을 반환한다. - * @param vrfcCode 검증에 사용할 코드 - * ocrData OCR 데이터 - * bgngPstn 시작 위치 - * totalLength OCR 데이터의 총길이 - * @return 검증 코드 - *
  • 저장됐으면 true
  • - *
  • 그렇지 않으면 false
  • - *
- */ - public static String getOcrVrfcCode(String vrfcCode, String strData, int totalLength) { - int temp = 0; - int cdTemp = 0; - String retCode = ""; - - for (int iLoop = 0; iLoop < totalLength; iLoop++) { - temp = (iLoop + vrfcCode.length()) % vrfcCode.length(); - cdTemp = cdTemp + (Integer.valueOf(strData.substring(iLoop, iLoop + 1)) * Integer.valueOf(vrfcCode.substring(temp, temp + 1))); - } - - retCode = String.valueOf(cdTemp % 10); - - return retCode; - } - - public static String getOcrband1(String deptCode, String spclBizCd, String fyr, String acntgSeCd, String txitmCd, String levyNo, String ispySn) { - if(deptCode.equals("")) { - deptCode = "0000000"; - } - if(spclBizCd.equals("")) { - spclBizCd = "0000"; - } - if(fyr.equals("")) { - fyr = "0000"; - } - if(acntgSeCd.equals("")) { - acntgSeCd = "00"; - } - if(txitmCd.equals("")) { - txitmCd = "000000"; - } - if(levyNo.equals("")) { - levyNo = "000000"; - } - if(ispySn.equals("")) { - ispySn = "00"; - } - String band1 = deptCode + spclBizCd + fyr + acntgSeCd + txitmCd + levyNo + ispySn; - - String ocrVrfcCode = getOcrVrfcCode("12357", band1, 31); - band1 = band1 + ocrVrfcCode; - - return band1; - } - - public static String getOcrband2(String band1, String levySeCd, int sumAmt, String dudtYmd) { - if(dudtYmd.equals("")) { - dudtYmd = "00000000"; - } - - String levySeCd1 = ""; - if (levySeCd.equals("01")) { - levySeCd1 = "1" ; - } else if (levySeCd.equals("02")) { - levySeCd1 = "2" ; - } else { - levySeCd1 = "2" ; - } - - String band2 = levySeCd1 - + String.format("%011d", sumAmt) - + dudtYmd - + "0"; - String ocrVrfcCode = getOcrVrfcCode("23571", band1 + band2, 53); - - band2 = band2 + ocrVrfcCode; - band2 = band1 + band2; - - return band2; - } - - public static String getOcrband3(String ocr1, int sumAmt, String dudtYmd, int afterSumAmt) { - if(dudtYmd.equals("")) { - dudtYmd = "00000000"; - } - - // OCR 2번째줄 54 - // band3 = 국세 + 국세요율(납기후에 추가되는 가산금의 비율) + 시도세 + 시도세요율 + 시군구세 + 시군구세요율 - String band3 = "0000000000" - + "00" - + "0000000000" - + "00" - + String.format("%011d", sumAmt) - + "00"; - String ocrVrfcCode = getOcrVrfcCode("35712", band3, 36); - - // band4 = 부과월 + 납기후처리 + 납기후금액(12자리) - // 0=납기후 수납가능, 1=납기후 수납불가, 2=납기 무관, 7~9=납기후 수납가능 - String band4 = dudtYmd.substring(4, 6) - + "1" - + String.format("%012d", afterSumAmt); - ocrVrfcCode = getOcrVrfcCode("57123", band3 + band4, 52); - band4 = band4 + ocrVrfcCode; - - // band5 = 전체 합산해서 검코드 구하기용, 사용하지는 않음 - String band5 = ocr1 + band3 + band4; - ocrVrfcCode = getOcrVrfcCode("71235", band5, 107); - - // band6 - String band6 = band3 + band4 + ocrVrfcCode; - - return band6; - } - - public static void setOcrInfo(DataObject dataObject) { - - String deptCode = dataObject.string("DEPT_CD"); - String spclBizCd = dataObject.string("SPCL_BIZ_CD"); - String fyr = dataObject.string("FYR"); - String acntgSeCd = dataObject.string("ACNTG_SE_CD"); - String txitmCd = dataObject.string("TXITM_CD"); - String levyNo = dataObject.string("LEVY_NO"); - String ispySn = dataObject.string("ISPY_SN"); - String ocr0 = CmmnUtil.getOcrband1(deptCode, spclBizCd, fyr, acntgSeCd, txitmCd, levyNo, ispySn); - - dataObject.set("OCR0", ocr0); - dataObject.set("OCR0_1", ocr0.substring(0, 17)); - dataObject.set("OCR0_2", ocr0.substring(17)); - - String levySeCd = dataObject.string("LEVY_SE_CD"); - int sumAmt = dataObject.number("SUM_AMT").intValue(); // 합계 금액 - String dudtYmd = dataObject.string("DUDT_YMD"); - String ocr1 = CmmnUtil.getOcrband2(ocr0, levySeCd, sumAmt, dudtYmd); - dataObject.set("OCR1", ocr1); - - int afterSumAmt = dataObject.number("DUDT_AFTR_AMT").intValue(); // 납기후 금액 - String ocr2 = CmmnUtil.getOcrband3(ocr1, sumAmt, dudtYmd, afterSumAmt); - dataObject.set("OCR2", ocr2); - } - - public static String getBarcode(String rgSe, String sggCd, String sndngDtlId) { - String rgSe1 = ""; - if(rgSe.length() > 1) { - rgSe1 = rgSe.substring(1); - } else { - rgSe1 = rgSe; - } - - return "*"+rgSe1+sggCd+sndngDtlId+"*"; - } - - public static Long sumByKey(List dataObjectList, String key) { - return dataObjectList.stream().mapToLong(i -> i.number(key).longValue()).sum(); - } - - public static void setBarcode(DataObject dataObject) { - String recevDivCd = dataObject.string("RECEV_DIV_CD"); - String sggCd = dataObject.string("SGG_CD"); - String sndngDtlId = dataObject.string("SNDNG_DTL_ID"); - String barcode = CmmnUtil.getBarcode(recevDivCd, sggCd, sndngDtlId); - dataObject.put("BARCODE", barcode); - dataObject.put("BARCODE1", barcode); - } - - public static float mmToPt(float mm) { - return mm * 2.83465f; - } - - /** - * 클라이언트 IP를 반환한다. - * @param request 서블릿 요청 - * @return 클라이언트 IP - */ - public static String getClientIpAddr(HttpServletRequest request) { - String REGEXP_IPV4_ADDR = "^(([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])$"; - String[] headerNames = {"X-Forwarded-For","Proxy-Client-IP","WL-Proxy-Client-IP","HTTP_CLIENT_IP","HTTP_X_FORWARDED_FOR"}; - - String ip = ""; - for(String headerName : headerNames) { - ip = request.getHeader(headerName); - if(ip != null && ip.contains(",")) { - ip = ip.split(",",-1)[0]; - } - if(ip != null && Pattern.matches(REGEXP_IPV4_ADDR, ip)) { - break; - } - } - - if(ip != null && ip.contains(",")) { - ip = ip.split(",",-1)[0]; - } - if(ip == null || !Pattern.matches(REGEXP_IPV4_ADDR, ip)) { - ip = request.getRemoteAddr(); - } - - return ip; - } -} \ No newline at end of file diff --git a/src/main/java/cokr/xit/fims/cmmn/CodeConverter.java b/src/main/java/cokr/xit/fims/cmmn/CodeConverter.java deleted file mode 100644 index c8421f13..00000000 --- a/src/main/java/cokr/xit/fims/cmmn/CodeConverter.java +++ /dev/null @@ -1,168 +0,0 @@ -package cokr.xit.fims.cmmn; - -import java.util.ArrayList; -import java.util.HashMap; -import java.util.List; -import java.util.Map; -import java.util.regex.Matcher; - -import cokr.xit.base.code.CommonCode; -import cokr.xit.foundation.data.DataObject; - - -public class CodeConverter { - - Map> commonCodes = new HashMap>(); - - List sggList = new ArrayList(); - List deptList = new ArrayList(); - List vltnList = new ArrayList(); - List userList = new ArrayList(); - List teamList = new ArrayList(); - - public CodeConverter(Map> commonCodes){ - this.commonCodes = commonCodes; - } - - - /** 코드값으로 코드를 반환한다. - * @param codeGroupName 코드그룹명, value 코드값 - * @return 코드 - */ - public String valueToCode(String codeGroupName, String value){ - String result = ""; - - List commonCodeList = commonCodes.get(codeGroupName); - - for(int i = 0; i < commonCodeList.size(); i++) { - if(value.replaceAll(Matcher.quoteReplacement(" "), "").equals(commonCodeList.get(i).getValue().replaceAll(Matcher.quoteReplacement(" "), ""))) { - result = commonCodeList.get(i).getCode(); - } - } - return result; - } - - /** 코드로 코드값을 반환한다. - * @param codeGroupName 코드그룹명, code 코드 - * @return 코드값 - */ - public String codeToValue(String codeGroupName, String code){ - String result = ""; - - List commonCodeList = commonCodes.get(codeGroupName); - - for(int i = 0; i < commonCodeList.size(); i++) { - if(code.equals(commonCodeList.get(i).getCode())) { - result = commonCodeList.get(i).getValue(); - } - } - return result; - } - - /** 코드나 코드명이 비어있을 경우 변환하여 값을 채운다. - * @param dataObject 맵 데이터, codeGroupName 코드그룹명, codeName 코드가 저장된 키 이름, valueName 코드값이 저장된 키 이름 - * @return - */ - public void fillIfEmpty(DataObject dataObject, String codeGroupName, String codeName, String valueName) { - if(!dataObject.string(valueName).equals("") && dataObject.string(codeName).equals("")) { - dataObject.put(codeName, this.valueToCode(codeGroupName, dataObject.string(valueName))); - } else if(dataObject.string(valueName).equals("") && !dataObject.string(codeName).equals("")) { - dataObject.put(valueName, this.codeToValue(codeGroupName, dataObject.string(codeName))); - } - } - - /** 위반코드로 위반항목명을 반환한다. - * @param taskSeCd 업무구분코드, vltnCd 위반항목코드 - * @return 위반항목명 - */ - public String vltnCdToValue(String taskSeCd, String vltnCd) { - String result = ""; - String codeGroup = ""; - - switch(taskSeCd){ - case "PVS" : - codeGroup = "FIM004"; - break; - case "BPV" : - codeGroup = "FIM005"; - break; - case "DPV" : - codeGroup = "FIM006"; - break; - case "ECA" : - codeGroup = "FIM061"; - break; - case "PES" : - codeGroup = "FIM064"; - break; - default : - throw new RuntimeException("위반코드 변환 오류"); - } - - List commonCodeList = commonCodes.get(codeGroup); - - for(int i = 0; i < commonCodeList.size(); i++) { - if(vltnCd.equals(commonCodeList.get(i).getCode())) { - result = commonCodeList.get(i).getValue(); - } - } - - return result; - } - - public void putOtherCode(String type, DataObject dataobject){ - switch(type) { - case "SGG_CD" : - this.sggList.add(dataobject); - break; - case "DEPT_CD" : - this.deptList.add(dataobject); - break; - case "VLTN_ID" : - this.vltnList.add(dataobject); - break; - case "USER_ID" : - this.userList.add(dataobject); - break; - case "TEAM_ID" : - this.teamList.add(dataobject); - break; - } - } - - public String uniqOtherCodeToValue(String type, String uniqId) { - String result = ""; - - List otherCodeList = null; - switch(type) { - case "SGG_CD" : - otherCodeList = this.sggList; - break; - case "DEPT_CD" : - otherCodeList = this.deptList; - break; - case "VLTN_ID" : - otherCodeList = this.vltnList; - break; - case "USER_ID" : - otherCodeList = this.userList; - break; - case "TEAM_ID" : - otherCodeList = this.teamList; - break; - } - if(otherCodeList == null) { - return result; - } - - for(int i = 0; i < otherCodeList.size(); i++) { - if(uniqId.equals(otherCodeList.get(i).string(type))) { - result = otherCodeList.get(i).string("NAME"); - } - } - - return result; - } - - -} diff --git a/src/main/java/cokr/xit/fims/cmmn/CrdnPayerHstry.java b/src/main/java/cokr/xit/fims/cmmn/CrdnPayerHstry.java deleted file mode 100644 index c70c13a7..00000000 --- a/src/main/java/cokr/xit/fims/cmmn/CrdnPayerHstry.java +++ /dev/null @@ -1,35 +0,0 @@ -package cokr.xit.fims.cmmn; - -import cokr.xit.foundation.AbstractEntity; -import lombok.Getter; -import lombok.Setter; - -/** - * 단속 납부자 이력 - * @author leebj - */ -@Getter -@Setter -public class CrdnPayerHstry extends AbstractEntity { - - /** - * 변경 이력 ID - */ - private String chgHstryId; - - /** - * 단속 ID - */ - private String crdnId; - - /** - * 납부자 ID - */ - private String rtpyrId; - - /** - * 주소 일련번호 - */ - private String addrSn; - -} diff --git a/src/main/java/cokr/xit/fims/cmmn/CrdnPayerHstryQuery.java b/src/main/java/cokr/xit/fims/cmmn/CrdnPayerHstryQuery.java deleted file mode 100644 index 1eebe88b..00000000 --- a/src/main/java/cokr/xit/fims/cmmn/CrdnPayerHstryQuery.java +++ /dev/null @@ -1,48 +0,0 @@ -package cokr.xit.fims.cmmn; - -/**단속 납부자 이력 정보 조회 요청 - * - *

상세 설명: - * - *

- * ============ 변경 이력 ============
- * 2023-08-16	leebj 최초 작성
- * ================================
- * 
- */ -public class CrdnPayerHstryQuery extends CmmnQuery { - - private static final long serialVersionUID = 1L; - - private String crdnId; // 단속 ID - private String rtpyrId; // 납부자 ID - private String addrSn; // 주소 일련번호 - - public String getCrdnId() { - return ifEmpty(crdnId, () -> null); - } - - public T setCrdnId(String crdnId) { - this.crdnId = crdnId; - return self(); - } - - public String getRtpyrId() { - return ifEmpty(rtpyrId, () -> null); - } - - public T setRtpyrId(String rtpyrId) { - this.rtpyrId = rtpyrId; - return self(); - } - - public String getAddrSn() { - return ifEmpty(addrSn, () -> null); - } - - public T setAddrSn(String addrSn) { - this.rtpyrId = addrSn; - return self(); - } - -} diff --git a/src/main/java/cokr/xit/fims/cmmn/CrdnSttsHstry.java b/src/main/java/cokr/xit/fims/cmmn/CrdnSttsHstry.java deleted file mode 100644 index cfcac2f8..00000000 --- a/src/main/java/cokr/xit/fims/cmmn/CrdnSttsHstry.java +++ /dev/null @@ -1,87 +0,0 @@ -package cokr.xit.fims.cmmn; - -import cokr.xit.foundation.AbstractEntity; -import lombok.Getter; -import lombok.Setter; - -/**단속 상태 이력 -* -*

상세 설명: 단속 상태 이력 엔티티를 데이터베이스에 저장하는 클래스다. -* -*

-* ============ 변경 이력 ============
-* 2023-07-19	JoJH 최초 작성
-* ================================
-* 
-*/ -@Getter -@Setter -public class CrdnSttsHstry extends AbstractEntity { - - /** - * 상태 이력 ID - */ - private String sttsHstryId; - - /** - * 단속 ID - */ - private String crdnId; - - /** - * 이전 상태 코드 - */ - private String bfrSttsCd; - - /** - * 이전 상태 변경 일시 - */ - private String bfrSttsChgDt; - - /** - * 단속 상태 코드 - */ - private String crdnSttsCd; - - /** - * 업무 상세 ID - */ - private String taskDtlId; - - /** - * 기타 내용 - */ - private String etcCn; - - /** - * 사용 여부 - */ - private String useYn; - - /** - * 등록 일시 - */ - private String regDt; - - /** - * 등록자 - */ - private String rgtr; - - /** - * 수정 일시 - */ - private String mdfcnDt; - - /** - * 수정자 - */ - private String mdfr; - - /** - * 단속 상태 변경 일시 - TB_CRDN(단속) - */ - private String crdnSttsChgDt; - -} - diff --git a/src/main/java/cokr/xit/fims/cmmn/CrdnSttsHstryQuery.java b/src/main/java/cokr/xit/fims/cmmn/CrdnSttsHstryQuery.java deleted file mode 100644 index df662c7e..00000000 --- a/src/main/java/cokr/xit/fims/cmmn/CrdnSttsHstryQuery.java +++ /dev/null @@ -1,62 +0,0 @@ -package cokr.xit.fims.cmmn; - -/**단속 상태 이력 정보 조회 요청 -* -*

상세 설명: -* -*

-* ============ 변경 이력 ============
-* 2023-07-19	JoJH 최초 작성
-* ================================
-* 
-*/ -public class CrdnSttsHstryQuery extends CmmnQuery { - - private static final long serialVersionUID = 1L; - - private String sttsHstryId; // 상태 이력 ID - private String crdnId; // 단속 ID - private String crdnSttsCd; // 단속 상태 코드 - private String taskDtlId; // 업무 상세 ID - - public String getSttsHstryId() { - return ifEmpty(sttsHstryId, () -> null); - } - - public T setSttsHstryId(String sttsHstryId) { - this.sttsHstryId = sttsHstryId; - - return self(); - } - - public String getCrdnId() { - return ifEmpty(crdnId, () -> null); - } - - public T setCrdnId(String crdnId) { - this.crdnId = crdnId; - - return self(); - } - - public String getCrdnSttsCd() { - return ifEmpty(crdnSttsCd, () -> null); - } - - public T setCrdnSttsCd(String crdnSttsCd) { - this.crdnSttsCd = crdnSttsCd; - - return self(); - } - - public String getTaskDtlId() { - return ifEmpty(taskDtlId, () -> null); - } - - public T setTaskDtlId(String taskDtlId) { - this.taskDtlId = taskDtlId; - - return self(); - } - -} diff --git a/src/main/java/cokr/xit/fims/cmmn/DirectoryStructureToJson.java b/src/main/java/cokr/xit/fims/cmmn/DirectoryStructureToJson.java deleted file mode 100644 index 0cdfd47d..00000000 --- a/src/main/java/cokr/xit/fims/cmmn/DirectoryStructureToJson.java +++ /dev/null @@ -1,65 +0,0 @@ -package cokr.xit.fims.cmmn; - -import java.io.File; -import java.io.IOException; -import java.util.ArrayList; -import java.util.List; - -public class DirectoryStructureToJson { - - public static Node getNode(File fileNode) throws IOException{ - - if(fileNode.isDirectory() || fileNode.getName().equals("files")){ - return new Node(fileNode.getName(),"directory", getDirList(fileNode)); - }else{ - return new Node(fileNode.getName(),"file",null); - } - } - - - public static List getDirList(File node) throws IOException{ - List children=new ArrayList<>(); - for(File n : node.listFiles()){ - children.add(getNode(n)); - } - return children; - } - - public static class Node { - private String text; - private String type; - private List children; - - public Node() { } - - public Node(String text, String type, List children) { - this.text = text; - this.type = type; - this.children = children; - } - - public String getText() { - return text; - } - - public void setText(String text) { - this.text = text; - } - - public String getType() { - return type; - } - - public void setType(String type) { - this.type = type; - } - - public List getChildren() { - return children; - } - - public void setChildren(List children) { - this.children = children; - } - } -} diff --git a/src/main/java/cokr/xit/fims/cmmn/ExtrArtclStng.java b/src/main/java/cokr/xit/fims/cmmn/ExtrArtclStng.java deleted file mode 100644 index 48212a8e..00000000 --- a/src/main/java/cokr/xit/fims/cmmn/ExtrArtclStng.java +++ /dev/null @@ -1,23 +0,0 @@ -package cokr.xit.fims.cmmn; - -import cokr.xit.foundation.AbstractEntity; -import lombok.Getter; -import lombok.Setter; - -@Getter -@Setter -public class ExtrArtclStng extends AbstractEntity { - private String sggCd; - private String taskSeCd; - private String tmplatId; - - private String extrFormId; //추출항목ID - private String extrArtclNm; //추출항목명 - private String extrArtclDscrp; //추출항목설명 - - private String otptArtclSeq; //출력항목순서 - private String leftPstn; //좌측 위치 - private String topPstn; //상단 위치 - private String widthSz; //영역크기 길이 - private String heightSz; //영역크기 높이 -} diff --git a/src/main/java/cokr/xit/fims/cmmn/ExtrForm.java b/src/main/java/cokr/xit/fims/cmmn/ExtrForm.java deleted file mode 100644 index 8a86ee60..00000000 --- a/src/main/java/cokr/xit/fims/cmmn/ExtrForm.java +++ /dev/null @@ -1,19 +0,0 @@ -package cokr.xit.fims.cmmn; - -import java.util.List; - -import cokr.xit.foundation.AbstractEntity; -import lombok.Getter; -import lombok.Setter; - -@Getter -@Setter -public class ExtrForm extends AbstractEntity { - private String extrBscId; - private String sggCd; - private String taskSeCd; - private String tmplatId; - private String mobilePageTmplt; - private List extrArtclStngList; - private String[] extrFormIDs; -} diff --git a/src/main/java/cokr/xit/fims/cmmn/ExtrStngQuery.java b/src/main/java/cokr/xit/fims/cmmn/ExtrStngQuery.java deleted file mode 100644 index 0db06bd8..00000000 --- a/src/main/java/cokr/xit/fims/cmmn/ExtrStngQuery.java +++ /dev/null @@ -1,18 +0,0 @@ -package cokr.xit.fims.cmmn; - -public class ExtrStngQuery extends CmmnQuery { - - private static final long serialVersionUID = 1L; - - private String tmplatId; - - public String getTmplatId() { - return ifEmpty(tmplatId, () -> null); - } - - public T setTmplatId(String tmplatId) { - this.tmplatId = tmplatId; - return self(); - } - -} diff --git a/src/main/java/cokr/xit/fims/cmmn/FimsPrintOption.java b/src/main/java/cokr/xit/fims/cmmn/FimsPrintOption.java deleted file mode 100644 index f6f8ad29..00000000 --- a/src/main/java/cokr/xit/fims/cmmn/FimsPrintOption.java +++ /dev/null @@ -1,16 +0,0 @@ -package cokr.xit.fims.cmmn; - -import cokr.xit.applib.PrintOption; -import lombok.Getter; -import lombok.Setter; - -@Getter -@Setter -public class FimsPrintOption extends PrintOption { - - /** - * 업무구분 - */ - private String taskSeCd; - -} diff --git a/src/main/java/cokr/xit/fims/cmmn/Hangul.java b/src/main/java/cokr/xit/fims/cmmn/Hangul.java deleted file mode 100644 index 2183782c..00000000 --- a/src/main/java/cokr/xit/fims/cmmn/Hangul.java +++ /dev/null @@ -1,217 +0,0 @@ -package cokr.xit.fims.cmmn; - -import java.io.File; -import java.io.FileInputStream; -import java.io.IOException; - -import org.apache.commons.io.IOUtils; - -import com.ibm.icu.text.CharsetDetector; -import com.ibm.icu.text.CharsetMatch; - -public class Hangul { - - public Hangul(int hangulIsNByte){ - this.hangulIsNByte = hangulIsNByte; - } - - private int hangulIsNByte; - - public int is() { - return this.hangulIsNByte; - } - - /** - * 문자열의 바이트 수 구하기 - * - * @param str - * @return - */ - public int getByteLength(String str) { - if(str == null) { - return 0; - } - int byteLen = 0; - - for(int i=0;i 127) || (ch < 0)) { - byteLen += this.is(); - } else { - byteLen += 1; - } - } - - return byteLen; - } - - /** - * 문자열을 바이트 단위로 패딩 - * - * @param str - * @param byteLen - * @param ch - * @return - */ - public String lpadByte(String str, int byteLen, String ch) { - String result = str; - - int strLen = this.getByteLength(str); - - for(int i=0; i < byteLen - strLen ; i++) { - result = ch + result; - } - - return result; - } - - /** - * 문자열을 바이트 단위로 패딩 - * - * @param str - * @param byteLen - * @param ch - * @return - */ - public String rpadByte(String str, int byteLen, String ch) { - String result = str; - - int strLen = this.getByteLength(str); - - for(int i=0; i < byteLen - strLen ; i++) { - result += ch; - } - - return result; - } - - /** - * 문자열을 바이트 단위로 substring하기 - * - * @param str - * @param beginBytes - * @param endBytes - * @return - */ - public String substringByBytes(String str, int beginBytes, int endBytes) { - if (str == null || str.length() == 0) { - return ""; - } - - if (beginBytes < 0) { - beginBytes = 0; - } - - if (endBytes < 1) { - return ""; - } - - int len = str.length(); - - int beginIndex = -1; - int endIndex = 0; - - int curBytes = 0; - String ch = null; - for (int i = 0; i < len; i++) { - ch = str.substring(i, i + 1); - curBytes += this.getByteLength(ch); - - - if (beginIndex == -1 && curBytes >= beginBytes) { - beginIndex = i; - } - - if (curBytes > endBytes) { - break; - } else { - endIndex = i + 1; - } - } - - return str.substring(beginIndex, endIndex); - } - - /** - * 문자열을 바이트 단위로 substring하기 - * - * @param str - * @param beginBytes - * @return - */ - public String substringByBytes(String str, int beginBytes) { - if (str == null || str.length() == 0) { - return ""; - } - - if (beginBytes < 0) { - beginBytes = 0; - } - - int len = str.length(); - - int beginIndex = -1; - - int curBytes = 0; - String ch = null; - for (int i = 0; i < len; i++) { - ch = str.substring(i, i + 1); - curBytes += this.getByteLength(ch); - - - if (beginIndex == -1 && curBytes >= beginBytes) { - beginIndex = i; - } - - } - - return str.substring(beginIndex); - } - - /** - * 텍스트 인코딩 확인 - * - * @param path - * @return 캐릭터셋 - */ - public String encodingDetect(String path) throws IOException { - File f = new File(path); - - return encodingDetect(f); - } - - public String encodingDetect(File f) throws IOException { - CharsetDetector detector; - CharsetMatch match; - - FileInputStream fis = null; - try { - String result = ""; - - fis = new FileInputStream(f); - - byte[] byteData = new byte[(int) f.length()]; - - fis.read(byteData); - fis.close(); - detector = new CharsetDetector(); - - detector.setText(byteData); - match = detector.detect(); - - System.out.println("encoding is \"" + match.getName() + "\""); - - if(match.getName().equals("UTF-8") || match.getName().equals("EUC-KR")) { - result = match.getName(); - } else { - result = "EUC-KR"; - } - - return result; - } - finally { - IOUtils.closeQuietly(fis); - } - } -} diff --git a/src/main/java/cokr/xit/fims/cmmn/OtptArtclStng.java b/src/main/java/cokr/xit/fims/cmmn/OtptArtclStng.java deleted file mode 100644 index 5d34ea1b..00000000 --- a/src/main/java/cokr/xit/fims/cmmn/OtptArtclStng.java +++ /dev/null @@ -1,30 +0,0 @@ -package cokr.xit.fims.cmmn; - -import cokr.xit.foundation.AbstractEntity; -import lombok.Getter; -import lombok.Setter; - -@Getter -@Setter -public class OtptArtclStng extends AbstractEntity { - private String sggCd; - private String taskSeCd; - private String sndngSeCd; - private String paperSeCd; - - private String otptFormId; //출력항목ID - private String otptArtclNm; //출력항목명 - - private String otptArtclSeq; //출력항목순서 - private String leftPstn; //좌측 위치 - private String topPstn; //상단 위치 - private String widthSz; //영역크기 길이 - private String heightSz; //영역크기 높이 - private String textSort; //텍스트정렬 - private String lineChgYn; //줄바꿈여부 - private String fontNm; //글꼴명 - private String fontSz; //글자크기 - private String fontColr; //글자색 - private String fontStyle; //글자스타일 - -} diff --git a/src/main/java/cokr/xit/fims/cmmn/OtptForm.java b/src/main/java/cokr/xit/fims/cmmn/OtptForm.java deleted file mode 100644 index 6eed04c2..00000000 --- a/src/main/java/cokr/xit/fims/cmmn/OtptForm.java +++ /dev/null @@ -1,23 +0,0 @@ -package cokr.xit.fims.cmmn; - -import java.util.List; - -import cokr.xit.foundation.AbstractEntity; -import lombok.Getter; -import lombok.Setter; - -@Getter -@Setter -public class OtptForm extends AbstractEntity { - private String otptBscId; - private String sggCd; - private String taskSeCd; - private String sndngSeCd; - private String paperSeCd; - private String foldLinePstnSeCd;//접는선 위치 구분코드 - private String bcrnImgPath; //배경이미지경로 - private String bcrnImgFileNm; //배경이미지파일 - private String otptPhotoCnt; //출력사진 수 - private List otptArtclStngList; - private String[] otptFormIDs; -} diff --git a/src/main/java/cokr/xit/fims/cmmn/OtptStngQuery.java b/src/main/java/cokr/xit/fims/cmmn/OtptStngQuery.java deleted file mode 100644 index ed3273d7..00000000 --- a/src/main/java/cokr/xit/fims/cmmn/OtptStngQuery.java +++ /dev/null @@ -1,31 +0,0 @@ -package cokr.xit.fims.cmmn; - -public class OtptStngQuery extends CmmnQuery { - - private static final long serialVersionUID = 1L; - - //발송구분코드 - private String sndngSeCd; - - //출력용지구분코드 - private String paperSeCd; - - public String getSndngSeCd() { - return ifEmpty(sndngSeCd, () -> null); - } - - public T setSndngSeCd(String sndngSeCd) { - this.sndngSeCd = sndngSeCd; - return self(); - } - - public String getPaperSeCd() { - return ifEmpty(paperSeCd, () -> null); - } - - public T setPaperSeCd(String paperSeCd) { - this.paperSeCd = paperSeCd; - return self(); - } - -} diff --git a/src/main/java/cokr/xit/fims/cmmn/OutsourcingArtclStng.java b/src/main/java/cokr/xit/fims/cmmn/OutsourcingArtclStng.java deleted file mode 100644 index a60ede7c..00000000 --- a/src/main/java/cokr/xit/fims/cmmn/OutsourcingArtclStng.java +++ /dev/null @@ -1,21 +0,0 @@ -package cokr.xit.fims.cmmn; - -import cokr.xit.foundation.AbstractEntity; -import lombok.Getter; -import lombok.Setter; - -@Getter -@Setter -public class OutsourcingArtclStng extends AbstractEntity { - private String sggCd; - private String taskSeCd; - private String sndngSeCd; - - private String outsourcingFormId; //항목ID - private String artclNm; //항목명 - - private String artclOrdr; //항목순서 - private String artclSz; //항목 바이트수 - private String paddingDirection; //공백방향 - private String formatting; //포매팅 -} diff --git a/src/main/java/cokr/xit/fims/cmmn/OutsourcingFileMaker.java b/src/main/java/cokr/xit/fims/cmmn/OutsourcingFileMaker.java deleted file mode 100644 index a55b031d..00000000 --- a/src/main/java/cokr/xit/fims/cmmn/OutsourcingFileMaker.java +++ /dev/null @@ -1,317 +0,0 @@ -package cokr.xit.fims.cmmn; - -import java.io.BufferedWriter; -import java.io.File; -import java.io.FileInputStream; -import java.io.FileNotFoundException; -import java.io.FileWriter; -import java.io.IOException; -import java.io.InputStream; -import java.io.OutputStream; -import java.nio.file.Files; -import java.nio.file.StandardCopyOption; -import java.text.SimpleDateFormat; -import java.util.ArrayList; -import java.util.Date; -import java.util.HashMap; -import java.util.List; -import java.util.Map; - -import org.egovframe.rte.fdl.string.EgovStringUtil; - -import cokr.xit.base.file.ZIP; -import cokr.xit.foundation.Downloadable; -import cokr.xit.foundation.data.DataFormat; -import cokr.xit.foundation.data.DataObject; - -public class OutsourcingFileMaker { - protected String printKorName; - protected FimsPrintOption printOption; - protected List data; - protected List printStngItems; - - protected String resultZipFilePath; - - public OutsourcingFileMaker(String printKorName, FimsPrintOption printOption, List printStngItems, - List data){ - this.printKorName = printKorName; - this.printOption = printOption; - this.data = data; - this.printStngItems = printStngItems; - } - - /** - * 서식에서 사용하는 출력항목 중 사용하는 항목만 추출한다. - */ - public List filterUsedArtcls() { - List otptArtclNmList = this.printStngItems.stream().map((item) -> { return item.string("ARTCL_NM"); }).toList(); - - List result = OutsourcingFileMaker.predifinedSetForOutsourcing().stream() - .filter((item) -> { - return otptArtclNmList.contains(item.getArtclNm()); - }).toList(); - - return result; - } - - /** - * 다운로드 이력에 남길 항목명을 추출한다. - */ - public List filterDownloadDataNames() { - - List result = this.filterUsedArtcls().stream() - .filter((item) -> { - return item.isDownloadData(); - }) - .map(PredefinedSet::getArtclDscrp).toList(); - - return result; - - } - - public Map makeFile() { - Map result = new HashMap<>(); - - Hangul hangul = new Hangul(2); - - SimpleDateFormat ymdhmsFormat = new SimpleDateFormat("yyyyMMddHHmmss"); - String currentTime = ymdhmsFormat.format(new Date()); - String year = currentTime.substring(0, 4); - String month = currentTime.substring(4, 6); - String day = currentTime.substring(6, 8); - String yyyymmdd = year+month+day; - - String outsourcingResultPath = "files"+File.separator+"temp"+File.separator+"outsourcing" - + File.separator + year + File.separator + month + File.separator + day - + File.separator + currentTime; - - File folder = new File(outsourcingResultPath); - if(!folder.exists()) { - folder.mkdirs(); - } - - try { - - - String imagesFolderName = yyyymmdd + printKorName; - String metaFileName = yyyymmdd + printKorName + "(외주파일).txt"; - - String imagesFolderPath = outsourcingResultPath + File.separator + imagesFolderName; - String metaFilePath = outsourcingResultPath + File.separator + metaFileName; - - File imagesFolderPathFile = new File(imagesFolderPath); - if (!imagesFolderPathFile.exists()) { - imagesFolderPathFile.mkdirs(); - } - - for(int i=0; i < data.size(); i++) { - DataObject dataObject = data.get(i); - - CmmnUtil.setOcrInfo(dataObject); - CmmnUtil.setBarcode(dataObject); - String sndngDtlId = dataObject.string("SNDNG_DTL_ID"); - - int crdnPhotoCnt = dataObject.number("CRDN_PHOTO_CNT").intValue(); - - for(int j=0; j < crdnPhotoCnt; j++){ - String orgnFilePath = dataObject.string("CRDN_PHOTO"+(j+1)); - String fileKey = dataObject.string("CRDN_PHOTO"+(j+1)+"KEY"); - - if(EgovStringUtil.null2void(orgnFilePath).equals("")) { - continue; - } - - if(!orgnFilePath.startsWith("files")) { - orgnFilePath = CmmnUtil.copyStaticResource(orgnFilePath, false); - } - - File orgnFile = new File(orgnFilePath); - if(!orgnFile.exists() || !orgnFile.canRead()) { - continue; - } - InputStream orgnFileInputStream = new FileInputStream(orgnFile); - - String modifiedFileName = "P"+sndngDtlId+CmmnUtil.indexToAlphabet(j, true, true)+"."+"JPG"; - - String modifiedFilePath = imagesFolderPath + File.separator + modifiedFileName; - - File modifiedFile = new File(modifiedFilePath); - - if(dataObject.get("MOS"+fileKey) != null) { - CmmnUtil.createMaskedImage(orgnFileInputStream, modifiedFile, CmmnUtil.getDataObjectListFromMap(dataObject,"MOS"+fileKey)); - } else { - Files.copy(orgnFileInputStream, modifiedFile.toPath(), StandardCopyOption.REPLACE_EXISTING); - } - dataObject.set("CRDN_PHOTO"+(j+1), modifiedFilePath); - } - - } - - File metaFile = new File(metaFilePath); - if (!metaFile.exists()) { - if(!metaFile.createNewFile()) { - throw new RuntimeException("외주파일생성 중 오류가 발생하였습니다."); - }; - } - FileWriter fw = new FileWriter(metaFile); - BufferedWriter writer = new BufferedWriter(fw); - - - for(int i=0; i < data.size(); i++) { - DataObject dataObject = data.get(i); - - if(i != 0) { - writer.write("\n"); - } - String line = ""; - for(DataObject printStngItem : printStngItems){ - String artclNm = printStngItem.string("ARTCL_NM"); - int byteCnt = printStngItem.number("ARTCL_SZ").intValue(); - String artclValue = ""; - - //조회한 데이터와 관련없는 항목(출력일시 등) - if(artclNm.equals("OTPT_YMD") || artclNm.equals("OTPT_YEAR") - || artclNm.equals("OTPT_MONTH") || artclNm.equals("OTPT_DAY")) { - switch(artclNm) { - case "OTPT_YMD" : - artclValue = yyyymmdd; - break; - case "OTPT_YEAR" : - artclValue = year; - break; - case "OTPT_MONTH" : - artclValue = month; - break; - case "OTPT_DAY" : - artclValue = day; - break; - } - - } else { - - artclValue = dataObject.string(artclNm); - } - - //포매팅 - if(!printStngItem.string("FORMATTING").equals("")) { - String formatting = printStngItem.string("FORMATTING"); - switch (formatting) { - case "zip(hypen)": { - artclValue = CmmnUtil.zipCodeFormat(artclValue); - break; - } - case "rgNo(hypen)": { - artclValue = CmmnUtil.rgNoFormat(artclValue); - break; - } - case "amount(comma)": { - artclValue = DataFormat.n_nn0(artclValue); - break; - } - default: - if(formatting.startsWith("date(")) { - String dtlFormatting = formatting.substring(5, formatting.length()-1); - - if(dtlFormatting.contains("~") && artclValue.contains("~")) { - String from = CmmnUtil.dateNFormat(artclValue.split("~",-1)[0], dtlFormatting.split("~",-1)[0]); - String to = CmmnUtil.dateNFormat(artclValue.split("~",-1)[1], dtlFormatting.split("~",-1)[1]); - - artclValue = from + "~" + to; - } else { - artclValue = CmmnUtil.dateNFormat(artclValue, dtlFormatting); - } - } - } - - } - - //공백 패딩 방향 - if(printStngItem.string("PADDING_DIRECTION").equals("left")) { - line += hangul.lpadByte(artclValue, byteCnt, " "); - } else { - line += hangul.rpadByte(artclValue, byteCnt, " "); - } - - } - writer.write(line); - } - - writer.close(); - - String zipFileName = yyyymmdd + printKorName + ".zip"; - String zipFilePath = outsourcingResultPath + File.separator + zipFileName; - - ZIP zip = new ZIP(); - zip.compress(zipFilePath, metaFilePath, imagesFolderPath); - - metaFile.delete(); - File[] images = imagesFolderPathFile.listFiles(); - for(File image : images) { - image.delete(); - } - imagesFolderPathFile.delete(); - - resultZipFilePath = zipFilePath; - result.put("download", this.getDownloadable().setFilename(zipFileName)); - result.put("downloadData", data); - result.put("dataNames", this.filterDownloadDataNames()); - } catch(FileNotFoundException e) { - throw new RuntimeException("파일을 찾을 수 없습니다."); - } catch (IOException e) { - throw new RuntimeException("외주파일생성 중 오류가 발생하였습니다."); - } - - return result; - } - - - public void write(OutputStream out) { - try { - FileInputStream fis = new FileInputStream(resultZipFilePath); - fis.transferTo(out); - fis.close(); - new File(resultZipFilePath).delete(); - } catch (Exception e) { - throw new RuntimeException(e); - } - } - - public Downloadable getDownloadable() { - return new Downloadable() - .setContentType("application/zip") - .setWriter(this::write); - } - - public static List predifinedSetForOutsourcing() { - List predefinedSetList = new ArrayList<>(); - predefinedSetList.add(new PredefinedSet("SNDNG_DTL_ID", "발송상세아이디").offLog()); - predefinedSetList.add(new PredefinedSet("VLTN_LAW_NM", "위반법명")); - predefinedSetList.add(new PredefinedSet("BARCODE", "바코드").offLog()); - predefinedSetList.add(new PredefinedSet("CRDN_DT", "단속일시")); - predefinedSetList.add(new PredefinedSet("DUDT_YMD", "납부기한")); - predefinedSetList.add(new PredefinedSet("VHRNO", "차량번호")); - predefinedSetList.add(new PredefinedSet("FFNLG_CARMDL_NM", "과태료차종명")); - predefinedSetList.add(new PredefinedSet("VHCL_NM", "차량명")); - predefinedSetList.add(new PredefinedSet("CRDN_PLC", "단속장소")); - predefinedSetList.add(new PredefinedSet("RTPYR_ADDR", "납부자기본주소")); - predefinedSetList.add(new PredefinedSet("RTPYR_DTL_ADDR", "납부자상세주소")); - predefinedSetList.add(new PredefinedSet("RTPYR_ZIP", "납부자우편번호")); - predefinedSetList.add(new PredefinedSet("RTPYR_NM", "납부자명")); - predefinedSetList.add(new PredefinedSet("OPNN_RANGE", "의견진술기간")); - predefinedSetList.add(new PredefinedSet("CRDN_SE_NM", "단속구분명")); - predefinedSetList.add(new PredefinedSet("ATCH_FILE_CNT", "첨부파일갯수")); - predefinedSetList.add(new PredefinedSet("FFNLG_CRDN_AMT", "과태료단속금액")); - predefinedSetList.add(new PredefinedSet("SUM_AMT", "합계금액")); - predefinedSetList.add(new PredefinedSet("RG_NO", "등기번호")); - predefinedSetList.add(new PredefinedSet("OCR0", "OCR0").offLog()); - predefinedSetList.add(new PredefinedSet("OCR0_1", "OCR0_1").offLog()); - predefinedSetList.add(new PredefinedSet("OCR0_2", "OCR0_2").offLog()); - predefinedSetList.add(new PredefinedSet("OCR_BAND1", "OCR_BAND1").offLog()); - predefinedSetList.add(new PredefinedSet("OCR_BAND2", "OCR_BAND2").offLog()); - predefinedSetList.add(new PredefinedSet("BANK_NM", "가상계좌은행명")); - predefinedSetList.add(new PredefinedSet("VR_ACTNO", "가상계좌")); - predefinedSetList.add(new PredefinedSet("EPAYNO", "전자납부번호")); - predefinedSetList.add(new PredefinedSet("EMPTY", "공백").offLog()); - return predefinedSetList; - } -} diff --git a/src/main/java/cokr/xit/fims/cmmn/OutsourcingForm.java b/src/main/java/cokr/xit/fims/cmmn/OutsourcingForm.java deleted file mode 100644 index df1fc82b..00000000 --- a/src/main/java/cokr/xit/fims/cmmn/OutsourcingForm.java +++ /dev/null @@ -1,20 +0,0 @@ -package cokr.xit.fims.cmmn; - -import java.util.List; - -import cokr.xit.foundation.AbstractEntity; -import lombok.Getter; -import lombok.Setter; - -@Getter -@Setter -public class OutsourcingForm extends AbstractEntity { - - private String outsourcingBscId; - private String sggCd; - private String taskSeCd; - private String sndngSeCd; - private List zipArtclStngList; - private String[] outsourcingFormIDs; - -} diff --git a/src/main/java/cokr/xit/fims/cmmn/OutsourcingStngQuery.java b/src/main/java/cokr/xit/fims/cmmn/OutsourcingStngQuery.java deleted file mode 100644 index eb22b896..00000000 --- a/src/main/java/cokr/xit/fims/cmmn/OutsourcingStngQuery.java +++ /dev/null @@ -1,19 +0,0 @@ -package cokr.xit.fims.cmmn; - -public class OutsourcingStngQuery extends CmmnQuery { - - private static final long serialVersionUID = 1L; - - //발송구분코드 - private String sndngSeCd; - - public String getSndngSeCd() { - return ifEmpty(sndngSeCd, () -> null); - } - - public T setSndngSeCd(String sndngSeCd) { - this.sndngSeCd = sndngSeCd; - return self(); - } - -} diff --git a/src/main/java/cokr/xit/fims/cmmn/PredefinedSet.java b/src/main/java/cokr/xit/fims/cmmn/PredefinedSet.java deleted file mode 100644 index 1d804481..00000000 --- a/src/main/java/cokr/xit/fims/cmmn/PredefinedSet.java +++ /dev/null @@ -1,26 +0,0 @@ -package cokr.xit.fims.cmmn; - - -import lombok.Getter; -import lombok.Setter; - -@Getter -@Setter -public class PredefinedSet { - public PredefinedSet(String artclNm, String artclDscrp) { - this.artclNm = artclNm; - this.artclDscrp = artclDscrp; - this.downloadData = true; - } - protected String artclNm; - protected String artclDscrp; - protected boolean downloadData; //다운로드 이력 기재 항목 여부 - - /** - * 해당 항목을 다운로드 이력 제외 항목으로 설정한다. - */ - public PredefinedSet offLog() { - this.downloadData = false; - return this; - } -} diff --git a/src/main/java/cokr/xit/fims/cmmn/Pstn.java b/src/main/java/cokr/xit/fims/cmmn/Pstn.java deleted file mode 100644 index 338f1ff1..00000000 --- a/src/main/java/cokr/xit/fims/cmmn/Pstn.java +++ /dev/null @@ -1,20 +0,0 @@ -package cokr.xit.fims.cmmn; - -import lombok.Getter; -import lombok.Setter; - -@Getter -@Setter -public class Pstn { - public Pstn(float left, float top){ - this.left = left; - this.top = top; - } - - private float left; - private float top; - - public float[] to2Float() { - return new float[] { this.left, this.top }; - } -} diff --git a/src/main/java/cokr/xit/fims/cmmn/PstnAndSize.java b/src/main/java/cokr/xit/fims/cmmn/PstnAndSize.java deleted file mode 100644 index 59f6a77b..00000000 --- a/src/main/java/cokr/xit/fims/cmmn/PstnAndSize.java +++ /dev/null @@ -1,75 +0,0 @@ -package cokr.xit.fims.cmmn; - -import lombok.Getter; -import lombok.Setter; - -@Getter -@Setter -public class PstnAndSize { - public PstnAndSize(float left, float top, float width, float height){ - this.left = left; - this.top = top; - this.width = width; - this.height = height; - } - - public PstnAndSize(Pstn pstn, Size size){ - this.left = pstn.getLeft(); - this.top = pstn.getTop(); - this.width = size.getWidth(); - this.height = size.getHeight(); - } - - public PstnAndSize(Pstn pstn, float width, float height){ - this.left = pstn.getLeft(); - this.top = pstn.getTop(); - this.width = width; - this.height = height; - } - - public PstnAndSize(float left, float top, Size size){ - this.left = left; - this.top = top; - this.width = size.getWidth(); - this.height = size.getHeight(); - } - - private float left; - private float top; - private float width; - private float height; - - public Pstn getPstn() { - return new Pstn(this.left, this.top); - } - public Size getSize() { - return new Size(this.width, this.height); - } - - public float[] to4Float() { - return new float[] { this.left, this.top, this.width, this.height }; - } - - public PstnAndSize x2Width() { - this.width = this.width * 2.0f; - return this; - } - public PstnAndSize x2Height() { - this.height = this.height * 2.0f; - return this; - } - - public PstnAndSize transXY(float transX, float transY) { - this.left = this.left * transX; - this.top = this.top * transY; - this.width = this.width * transX; - this.height = this.height * transY; - return this; - } - - public PstnAndSize addPstn(Pstn pstn) { - this.left = this.left + pstn.getLeft(); - this.top = this.top + pstn.getTop(); - return this; - } -} diff --git a/src/main/java/cokr/xit/fims/cmmn/Size.java b/src/main/java/cokr/xit/fims/cmmn/Size.java deleted file mode 100644 index 2eb74b3d..00000000 --- a/src/main/java/cokr/xit/fims/cmmn/Size.java +++ /dev/null @@ -1,20 +0,0 @@ -package cokr.xit.fims.cmmn; - -import lombok.Getter; -import lombok.Setter; - -@Getter -@Setter -public class Size { - public Size(float width, float height){ - this.width = width; - this.height = height; - } - - private float width; - private float height; - - public float[] to2Float() { - return new float[] { this.width, this.height }; - } -} diff --git a/src/main/java/cokr/xit/fims/cmmn/UnnamedItems.java b/src/main/java/cokr/xit/fims/cmmn/UnnamedItems.java deleted file mode 100644 index b440573d..00000000 --- a/src/main/java/cokr/xit/fims/cmmn/UnnamedItems.java +++ /dev/null @@ -1,13 +0,0 @@ -package cokr.xit.fims.cmmn; - -public class UnnamedItems { - - protected String[] items; - - public void set(int i, String str) { - this.items[i-1] = str; - } - public String[] get() { - return this.items; - } -} diff --git a/src/main/java/cokr/xit/fims/cmmn/dao/CrdnPayerHstryMapper.java b/src/main/java/cokr/xit/fims/cmmn/dao/CrdnPayerHstryMapper.java deleted file mode 100644 index 1f2917db..00000000 --- a/src/main/java/cokr/xit/fims/cmmn/dao/CrdnPayerHstryMapper.java +++ /dev/null @@ -1,98 +0,0 @@ -package cokr.xit.fims.cmmn.dao; - -import java.util.List; -import java.util.Map; - -import org.egovframe.rte.psl.dataaccess.mapper.Mapper; - -import cokr.xit.fims.cmmn.CrdnPayerHstry; -import cokr.xit.fims.cmmn.CrdnPayerHstryQuery; -import cokr.xit.foundation.component.AbstractMapper; -import cokr.xit.foundation.data.DataObject; - -/** 단속 납부자 이력 정보 DAO - * - *

상세 설명: - * - *

- * ============ 변경 이력 ============
- * 2023-08-16	leebj 최초 작성
- * ================================
- * 
- */ -@Mapper("crdnPayerHstryMapper") -public interface CrdnPayerHstryMapper extends AbstractMapper { - - /**지정한 조건에 따라 단속 납부자 이력 목록을 조회하여 반환한다.
- * @param req 단속 납부자 이력 조회 조건 - * @return 단속 납부자 이력 목록 - */ - List selectCrdnPayerHstryList(CrdnPayerHstryQuery req); - - /**지정한 조건에 따라 단속 납부자 이력 객체들을 반환한다. - * @param req 단속 납부자 이력 조회 조건 - * @return 단속 납부자 이력 객체 목록 - */ - List selectCrdnPayerHstrys(CrdnPayerHstryQuery req); - - /**단속 납부자 이력 정보를 등록한다. - * @param params 파라미터 - *
  • "crdnPayerHstry" - 단속 납부자 이력
  • - *
  • "currentUser" - 현재 접속한 사용자
  • - *
- * @return 저장된 정보수 - */ - int insertCrdnPayerHstry(Map params); - - /**단속 납부자 이력 정보를 등록한다. - * @param crdnPayerHstry 단속 납부자 이력 - * @return 저장 여부 - *
  • 저장됐으면 true
  • - *
  • 그렇지 않으면 false
  • - *
- */ - default boolean insertCrdnPayerHstry(CrdnPayerHstry crdnPayerHstry) { - return crdnPayerHstry != null && insertCrdnPayerHstry(params().set("crdnPayerHstry", crdnPayerHstry)) == 1; - } - - /**단속 납부자 주소 이력 정보를 등록한다. - * @param params 파라미터 - *
  • "crdnPayerHstry" - 단속 납부자 이력
  • - *
  • "currentUser" - 현재 접속한 사용자
  • - *
- * @return 저장된 정보수 - */ - int insertCrdnPayerAddrHstry(Map params); - - /**단속 납부자 주소 이력 정보를 등록한다. - * @param crdnPayerHstry 단속 납부자 이력 - * @return 저장 여부 - *
  • 저장됐으면 true
  • - *
  • 그렇지 않으면 false
  • - *
- */ - default boolean insertCrdnPayerAddrHstry(CrdnPayerHstry crdnPayerHstry) { - return crdnPayerHstry != null && insertCrdnPayerAddrHstry(params().set("crdnPayerAddrHstry", crdnPayerHstry)) == 1; - } - - /**단속(TB_CRDN) 대장의 납부자 ID를 수정한다. - * @param params 파라미터 - *
  • "crdnPayerHstry" - 단속 납부자 이력
  • - *
  • "currentUser" - 현재 접속한 사용자
  • - *
- * @return 저장된 정보수 - */ - int updateCrdnRtpyrId(Map params); - - /**단속(TB_CRDN) 대장의 납부자 ID를 수정한다. - * @param crdnPayerHstry 단속 납부자 이력 - * @return 저장 여부 - *
  • 저장됐으면 true
  • - *
  • 그렇지 않으면 false
  • - *
- */ - default boolean updateCrdnPayer(CrdnPayerHstry crdnPayerHstry) { - return crdnPayerHstry != null && updateCrdnRtpyrId(params().set("crdnPayerHstry", crdnPayerHstry)) == 1; - } - -} \ No newline at end of file diff --git a/src/main/java/cokr/xit/fims/cmmn/dao/CrdnSttsHstryMapper.java b/src/main/java/cokr/xit/fims/cmmn/dao/CrdnSttsHstryMapper.java deleted file mode 100644 index 3d4e7d84..00000000 --- a/src/main/java/cokr/xit/fims/cmmn/dao/CrdnSttsHstryMapper.java +++ /dev/null @@ -1,89 +0,0 @@ -package cokr.xit.fims.cmmn.dao; - -import java.util.List; - -import org.egovframe.rte.psl.dataaccess.mapper.Mapper; - -import cokr.xit.foundation.component.AbstractMapper; -import cokr.xit.foundation.data.DataObject; -import cokr.xit.fims.cmmn.CrdnSttsHstry; -import cokr.xit.fims.cmmn.CrdnSttsHstryQuery; - -/** 단속 상태 이력 정보 DAO - * - *

상세 설명: - * - *

- * ============ 변경 이력 ============
- * 2023-07-19	JoJH 최초 작성
- * ================================
- * 
- */ -@Mapper("crdnSttsHstryMapper") -public interface CrdnSttsHstryMapper extends AbstractMapper { - /**지정한 조건에 따라 단속 상태 이력 목록을 조회하여 반환한다.
- * @param req 단속 상태 이력 조회 조건 - * @return 단속 상태 이력 목록 - */ - List selectCrdnSttsHstryList(CrdnSttsHstryQuery req); - - /**지정한 조건에 따라 단속 상태 이력 객체들을 반환한다. - * @param req 단속 상태 이력 조회 조건 - * @return 단속 상태 이력 객체 목록 - */ - List selectCrdnSttsHstrys(CrdnSttsHstryQuery req); - - /**지정한 조건에 따라 단속 상태 이력 객체의 마지막 1개를 반환한다. - * @param crdnId 단속 ID - * @return 지정한 단속 ID의 단속 상태 이력 객체 - */ - default DataObject selectCrdnSttsHstryInfo(String crdnId, String crdnSttsCd, String useYn) { - CrdnSttsHstryQuery req = new CrdnSttsHstryQuery(); - - req.setCrdnId(crdnId); - req.setCrdnSttsCd(crdnSttsCd); - req.setUseYn(useYn); - req.setOrderBy("STTS_HSTRY_ID DESC"); - - List crdnSttsHstrys = selectCrdnSttsHstrys(req); - - return !crdnSttsHstrys.isEmpty() ? crdnSttsHstrys.get(0) : null; - } - - /**단속 상태 이력 정보를 등록한다. - * @param params 파라미터 - *
  • "crdnSttsHstry" - 단속 상태 이력
  • - *
  • "currentUser" - 현재 접속한 사용자
  • - *
- * @return 저장된 정보수 - */ - int insertCrdnSttsHstry(CrdnSttsHstry crdnSttsHstry); - - /**단속 상태 이력 정보를 수정한다. - * @param params 파라미터 - *
  • "crdnSttsHstry" - 단속 상태 이력
  • - *
  • "currentUser" - 현재 접속한 사용자
  • - *
- * @return 저장된 정보수 - */ - int updateCrdnSttsHstry(CrdnSttsHstry crdnSttsHstry); - - /**지정한 단속 상태 이력을 삭제한다. - * @param params 파라미터 - *
  • "crdnSttsHstry" - 단속 상태 이력
  • - *
  • "currentUser" - 현재 접속한 사용자
  • - *
- * @return 저장된 정보수 - */ - int deleteCrdnSttsHstry(CrdnSttsHstry crdnSttsHstry); - - /**단속(TB_CRDN) 대장의 단속 상태 코드를 수정한다. - * @param params 파라미터 - *
  • "excl01" - 부과 제외 대장
  • - *
  • "currentUser" - 현재 접속한 사용자
  • - *
- * @return 저장된 정보수 - */ - int updateCrdnSttsCd(CrdnSttsHstry crdnSttsHstry); - -} diff --git a/src/main/java/cokr/xit/fims/cmmn/dao/ExtrStngMapper.java b/src/main/java/cokr/xit/fims/cmmn/dao/ExtrStngMapper.java deleted file mode 100644 index f20af81a..00000000 --- a/src/main/java/cokr/xit/fims/cmmn/dao/ExtrStngMapper.java +++ /dev/null @@ -1,39 +0,0 @@ -package cokr.xit.fims.cmmn.dao; - -import java.util.List; - -import org.egovframe.rte.psl.dataaccess.mapper.Mapper; - -import cokr.xit.fims.cmmn.ExtrArtclStng; -import cokr.xit.fims.cmmn.ExtrForm; -import cokr.xit.fims.cmmn.ExtrStngQuery; -import cokr.xit.foundation.component.AbstractMapper; -import cokr.xit.foundation.data.DataObject; - -@Mapper("extrStngMapper") -public interface ExtrStngMapper extends AbstractMapper { - - /**지정한 조건에 따라 자료 추출 템플릿 문구를 조회한다.
- * @param query 자료 추출 설정 조회 조건 - * @return 자료 추출 템플릿 문구 - */ - DataObject selectExtrBscStng(ExtrStngQuery extrStngQuery); - - int insertBscStng(ExtrForm extrForm); - - int updateBscStng(ExtrForm extrForm); - - /**지정한 조건에 따라 추출 항목 설정을 조회한다.
- * @param query 자료 추출 설정 조회 조건 - * @return 자료 추출 설정 항목 - */ - List selectExtrArtclStngList(ExtrStngQuery extrStngQuery); - - int updateArtclStng(ExtrArtclStng update); - - int deleteArtclStng(ExtrForm extrForm); - - int insertArtclStng(ExtrArtclStng insert); - - -} diff --git a/src/main/java/cokr/xit/fims/cmmn/dao/LinkMapper.java b/src/main/java/cokr/xit/fims/cmmn/dao/LinkMapper.java deleted file mode 100644 index eec5b003..00000000 --- a/src/main/java/cokr/xit/fims/cmmn/dao/LinkMapper.java +++ /dev/null @@ -1,23 +0,0 @@ -package cokr.xit.fims.cmmn.dao; - -import org.egovframe.rte.psl.dataaccess.mapper.Mapper; - -import cokr.xit.foundation.component.AbstractMapper; -import cokr.xit.foundation.data.DataObject; - -@Mapper("linkMapper") -public interface LinkMapper extends AbstractMapper { - - /**전자고지 발송 마스터 정보를 등록한다. - * @param params 전자고지 발송 마스터 정보 - * @return 저장여부 - */ - int insertElectronicNoticeSndngMaster(DataObject params); - - /**전자고지 발송 디테일 정보를 등록한다. - * @param params 전자고지 발송 디테일 정보 - * @return 저장여부 - */ - int insertElectronicNoticeSndngDetail(DataObject params); - -} diff --git a/src/main/java/cokr/xit/fims/cmmn/dao/OtptStngMapper.java b/src/main/java/cokr/xit/fims/cmmn/dao/OtptStngMapper.java deleted file mode 100644 index f9c9e109..00000000 --- a/src/main/java/cokr/xit/fims/cmmn/dao/OtptStngMapper.java +++ /dev/null @@ -1,40 +0,0 @@ -package cokr.xit.fims.cmmn.dao; - -import java.util.List; - -import org.egovframe.rte.psl.dataaccess.mapper.Mapper; - -import cokr.xit.fims.cmmn.OtptArtclStng; -import cokr.xit.fims.cmmn.OtptForm; -import cokr.xit.fims.cmmn.OtptStngQuery; -import cokr.xit.foundation.component.AbstractMapper; -import cokr.xit.foundation.data.DataObject; - -@Mapper("otptStngMapper") -public interface OtptStngMapper extends AbstractMapper { - - /**지정한 조건에 따라 출력물 전역 설정을 조회한다.
- * @param query 출력물 설정 조회 조건 - * @return 출력물 전역 설정 - */ - DataObject selectOtptBscStng(OtptStngQuery otptStngQuery); - - int insertBscStng(OtptForm otptForm); - - int updateBscStng(OtptForm otptForm); - - /**지정한 조건에 따라 출력 항목 설정을 조회한다.
- * @param query 출력물 설정 조회 조건 - * @return 출력물 설정 항목 - */ - List selectOtptArtclStngList(OtptStngQuery query); - - int updateArtclStng(OtptArtclStng update); - - int deleteArtclStng(OtptForm otptForm); - - int insertArtclStng(OtptArtclStng insert); - - - -} diff --git a/src/main/java/cokr/xit/fims/cmmn/dao/OutsourcingStngMapper.java b/src/main/java/cokr/xit/fims/cmmn/dao/OutsourcingStngMapper.java deleted file mode 100644 index 5ff65439..00000000 --- a/src/main/java/cokr/xit/fims/cmmn/dao/OutsourcingStngMapper.java +++ /dev/null @@ -1,28 +0,0 @@ -package cokr.xit.fims.cmmn.dao; - -import java.util.List; - -import org.egovframe.rte.psl.dataaccess.mapper.Mapper; - -import cokr.xit.fims.cmmn.OutsourcingArtclStng; -import cokr.xit.fims.cmmn.OutsourcingForm; -import cokr.xit.fims.cmmn.OutsourcingStngQuery; -import cokr.xit.foundation.component.AbstractMapper; -import cokr.xit.foundation.data.DataObject; - -@Mapper("outsourcingStngMapper") -public interface OutsourcingStngMapper extends AbstractMapper { - - /**지정한 조건에 따라 외주파일 출력 항목 설정을 조회한다.
- * @param query 출력물 설정 조회 조건 - * @return 출력물 설정 항목 - */ - List selectArtclStngList(OutsourcingStngQuery query); - - int updateArtclStng(OutsourcingArtclStng update); - - int deleteArtclStng(OutsourcingForm outsourcingForm); - - int insertArtclStng(OutsourcingArtclStng insert); - -} diff --git a/src/main/java/cokr/xit/fims/cmmn/dao/StngMapper.java b/src/main/java/cokr/xit/fims/cmmn/dao/StngMapper.java deleted file mode 100644 index 9ca289d8..00000000 --- a/src/main/java/cokr/xit/fims/cmmn/dao/StngMapper.java +++ /dev/null @@ -1,55 +0,0 @@ -package cokr.xit.fims.cmmn.dao; - -import java.util.Map; - -import org.egovframe.rte.psl.dataaccess.mapper.Mapper; - -import cokr.xit.foundation.component.AbstractMapper; -import cokr.xit.foundation.data.DataObject; - -@Mapper("stngMapper") -public interface StngMapper extends AbstractMapper { - - /**사용자의 기본 업무를 조회한다. - * @param userId 유저ID - * @return 기본업무 - */ - DataObject selectDefaultTask(String userId); - - /**사용자 설정 정보를 조회한다. - * @param userId 사용자ID - * @return 사용자 설정정보 - */ - DataObject selectUserStng(String userId); - - /**부서 설정 정보를 조회한다. - * @param deptCd 부서코드 - * @return 부서 설정정보 - */ - DataObject selectDeptStng(String deptCd); - - /**시군구 설정 정보를 조회한다. - * @param sggCd 시군구코드 - * @return 시군구 설정정보 - */ - DataObject selectSggStng(String sggCd); - - /**교부 계좌번호를 변경한다. - * @param params 교부계좌 변경 정보 - * @return 저장여부 - */ - int updateDtbnActno(Map params); - - /**사용자의 기본 업무를 등록한다. - * @param params 사용자 설정 정보 - * @return 저장여부 - */ - int insertDefaultTask(Map params); - - /**사용자의 기본 업무를 변경한다. - * @param params 사용자 설정 정보 - * @return 저장여부 - */ - int updateDefaultTask(Map params); - -} diff --git a/src/main/java/cokr/xit/fims/cmmn/ftp/FTPUtil.java b/src/main/java/cokr/xit/fims/cmmn/ftp/FTPUtil.java deleted file mode 100644 index 87e85121..00000000 --- a/src/main/java/cokr/xit/fims/cmmn/ftp/FTPUtil.java +++ /dev/null @@ -1,164 +0,0 @@ -package cokr.xit.fims.cmmn.ftp; - -import java.io.File; -import java.io.FileOutputStream; -import java.io.IOException; -import java.util.ArrayList; -import java.util.List; -import java.util.regex.Matcher; - -import org.apache.commons.net.ftp.FTPClient; -import org.apache.commons.net.ftp.FTPFile; -import org.apache.commons.net.ftp.FTPReply; - -public class FTPUtil { - public static boolean fileDown(RemoteSystemInfo rs, String remoteWorkPath, String downloadRoot) { - - File f = new File(downloadRoot + remoteWorkPath); - f.mkdirs(); - - FTPClient client = null; - - String thisSystemFileSeperator = File.separator; - - String remoteSystemFileSeparator = rs.getOsType().equals("linux") ? "/" : "\\"; - - if(!thisSystemFileSeperator.equals(remoteSystemFileSeparator)) { - remoteWorkPath = remoteWorkPath.replaceAll( - Matcher.quoteReplacement(thisSystemFileSeperator), - Matcher.quoteReplacement(remoteSystemFileSeparator) - ); - } - - client = new FTPClient(); - client.setControlEncoding("UTF-8"); - try { - client.connect(rs.getIp(), Integer.parseInt(rs.getPort())); - } catch (Exception e) { - throw new RuntimeException("접속 오류."); - } - - // 접속을 확인. - int resultCode = client.getReplyCode(); - if (!FTPReply.isPositiveCompletion(resultCode)) { - throw new RuntimeException("접속 오류 : FTP server refused connection."); - } - - try { - client.setSoTimeout(1000); - } catch (Exception e) { - throw new RuntimeException("접속 오류."); - } - - boolean loginResult = false; - try { - // 로그인을 한다. - loginResult = client.login(rs.getId(), rs.getPw()); - } catch (Exception e) { - throw new RuntimeException("로그인 오류 : Login Error"); - } - - if (!loginResult) { - throw new RuntimeException("로그인 오류 : Login Error"); - } - - List remoteFiles = new ArrayList<>(); - List remoteDirectories = new ArrayList<>(); - - // FTP에서 파일 리스트와 디렉토리 정보를 취득한다. - if (!FTPUtil.getFileList(client, remoteSystemFileSeparator, remoteWorkPath, remoteFiles, remoteDirectories)) { - // 리스트 취득 실패시 프로그램을 종료한다. - throw new RuntimeException("파일 조회 오류 발생 : File search Error"); - } - - for (String remoteDirectory : remoteDirectories) { - System.out.println("디렉토리-"+remoteDirectory); - - String newFolderPath = ""; - if(thisSystemFileSeperator.equals(remoteSystemFileSeparator)) { - newFolderPath = downloadRoot + remoteDirectory; - } else { - newFolderPath = downloadRoot + remoteDirectory.replaceAll( - Matcher.quoteReplacement(remoteSystemFileSeparator), - Matcher.quoteReplacement(thisSystemFileSeperator) - ); - } - - File folder = new File(newFolderPath); - folder.mkdirs(); - } - - - for (String remoteFile : remoteFiles) { - System.out.println("파일-"+remoteFile); - - String tempFileOutputPath = ""; - - if(thisSystemFileSeperator.equals(remoteSystemFileSeparator)) { - tempFileOutputPath = downloadRoot + remoteFile; - } else { - tempFileOutputPath = downloadRoot + remoteFile.replaceAll( - Matcher.quoteReplacement(remoteSystemFileSeparator), - Matcher.quoteReplacement(thisSystemFileSeperator) - ); - } - - - try (FileOutputStream fo = new FileOutputStream(tempFileOutputPath)){ - //FTPClient의 retrieveFile함수로 보내면 다운로드가 이루어 진다. - if (client.retrieveFile(remoteFile, fo)) { - System.out.println("Download - " + remoteFile); - } - } catch(Exception e) { - throw new RuntimeException("파일 다운로드 오류"); - } - - } - - try { - client.disconnect(); - } catch(Exception e) { - throw new RuntimeException("파일 다운로드 오류"); - } - return true; - } - - // FTP의 파일 리스트와 디렉토리 정보를 취득하는 함수. - public static boolean getFileList(FTPClient client, String fileSeparator, String work, List files, List directories) { - - // FTP의 디렉토리 커서를 이동한다. - try { - if (client.changeWorkingDirectory(work)) { - - // 해당 디렉토리의 파일 리스트를 취득한다. - for (FTPFile file : client.listFiles()) { - - if (!file.isFile()) { - // 디렉토리리면 함수의 재귀적 방식으로 하위 탐색을 시작한다. - if(!getFileList(client, fileSeparator, work + file.getName() + fileSeparator, files, directories)) { - return false; - } - - // directories 리스트에 디렉토리 경로를 추가한다. - directories.add(work + file.getName() + fileSeparator); - } else { - // files 리스트에 경로를 추가한다. - files.add(work + file.getName()); - } - - } - // FTP의 디렉토리 커서를 상위로 이동하는 함수 - // client.changeToParentDirectory(); - - // FTP의 디렉토리 커서를 이동한다. - return client.changeWorkingDirectory(fileSeparator); - - } - } catch (IOException e) { - throw new RuntimeException("ftp오류."+e); - } - - // 커서 이동에 실패하면 false를 리턴한다. - return false; - } -} diff --git a/src/main/java/cokr/xit/fims/cmmn/ftp/RemoteSystemInfo.java b/src/main/java/cokr/xit/fims/cmmn/ftp/RemoteSystemInfo.java deleted file mode 100644 index 98174301..00000000 --- a/src/main/java/cokr/xit/fims/cmmn/ftp/RemoteSystemInfo.java +++ /dev/null @@ -1,15 +0,0 @@ -package cokr.xit.fims.cmmn.ftp; - -import lombok.Getter; -import lombok.Setter; - -@Getter -@Setter -public class RemoteSystemInfo { - String ip; - String port; - String id; - String pw; - String osType; - String workPath; -} diff --git a/src/main/java/cokr/xit/fims/cmmn/hwp/format/CrdnConfirm.java b/src/main/java/cokr/xit/fims/cmmn/hwp/format/CrdnConfirm.java deleted file mode 100644 index f360a3fa..00000000 --- a/src/main/java/cokr/xit/fims/cmmn/hwp/format/CrdnConfirm.java +++ /dev/null @@ -1,79 +0,0 @@ -package cokr.xit.fims.cmmn.hwp.format; - -import java.util.List; - -import cokr.xit.applib.Print; -import cokr.xit.applib.hwp.format.HWPFormat; -import cokr.xit.fims.cmmn.FimsPrintOption; -import cokr.xit.fims.mngt.OgdpUtil; -import cokr.xit.foundation.data.DataFormat; -import cokr.xit.foundation.data.DataObject; - -/** - * 단속확인서 - */ -public class CrdnConfirm extends HWPFormat { - - public CrdnConfirm(Print print, FimsPrintOption printOption, List dataObjectList) { - super(print, printOption, dataObjectList); - this.maxRunCount = dataObjectList.size(); - this.formatFilePath = "template/hwp/crdnConfirm.hwp"; - this.print.setFormatKorName("단속확인서"); - this.print.setFormatName("crdnConfirm"); - } - - @Override - public List getDownloadDataNames() { - return List.of("과태료구분","차량번호","단속일시","위반내용","단속장소","단속동","단속조","소유자명","소유자주소"); - } - - - - @Override - public void runAsWriter() { - - - String printRequestYmd = print.getPrintRequestDt().substring(0, 8); - String yyyy = printRequestYmd.substring(0, 4); - String mm = printRequestYmd.substring(4, 6); - String dd = printRequestYmd.substring(6, 8); - String ymd = yyyy+"년 "+mm+"월 "+dd+"일"; - - String instNm = OgdpUtil.getInstituteLeader((String)print.getPrintRequestUserInfo().getInfo().get("instNm"), false); - - - DataObject one = data.get(currentRunCount); - DataObject newObj = (DataObject) new DataObject() - .set("과태료", one.string("TASK_SE_NM")) - .set("차량번호", one.string("VHRNO")) - .set("단속일시", DataFormat.yyyy_mm_dd_hh_mm_ss(one.string("CRDN_YMD_TM"))) - .set("위반내용", one.string("VLTN_ARTCL")) - .set("단속장소", one.string("CRDN_PLC")) - .set("단속동", one.string("CRDN_STDG_NM")) - .set("단속조", one.string("TEAM_NM")) - .set("소유자", one.string("RTPYR_NM")) - .set("주소", one.string("RTPYR_FULL_ADDR")) - .set("우편번호", one.string("RTPYR_ZIP")) - .set("연월일", ymd) - .set("발신", instNm); - - if(!one.string("PHOTO1").equals("")) { - newObj.set("왼쪽위사진", writer.image().add(one.string("PHOTO1"))); - } - if(!one.string("PHOTO2").equals("")) { - newObj.set("오른쪽위사진", writer.image().add(one.string("PHOTO2"))); - } - if(!one.string("PHOTO3").equals("")) { - newObj.set("왼쪽아래사진", writer.image().add(one.string("PHOTO3"))); - } - if(!one.string("PHOTO4").equals("")) { - newObj.set("오른쪽아래사진", writer.image().add(one.string("PHOTO4"))); - } - - writer.table(0, 0, 13).setValues(List.of(newObj)); - - } - - - -} diff --git a/src/main/java/cokr/xit/fims/cmmn/hwp/format/CrdnList.java b/src/main/java/cokr/xit/fims/cmmn/hwp/format/CrdnList.java deleted file mode 100644 index 101482b9..00000000 --- a/src/main/java/cokr/xit/fims/cmmn/hwp/format/CrdnList.java +++ /dev/null @@ -1,96 +0,0 @@ -package cokr.xit.fims.cmmn.hwp.format; - -import java.util.ArrayList; -import java.util.List; -import java.util.stream.IntStream; - -import cokr.xit.applib.Print; -import cokr.xit.applib.hwp.format.HWPFormat; -import cokr.xit.fims.cmmn.FimsPrintOption; -import cokr.xit.fims.mngt.OgdpUtil; -import cokr.xit.foundation.data.DataFormat; -import cokr.xit.foundation.data.DataObject; - -/** - * 단속내역서 - */ -public class CrdnList extends HWPFormat { - - public CrdnList(Print print, FimsPrintOption printOption, List dataObjectList) { - super(print, printOption, dataObjectList); - this.maxRunCount = 1; - this.formatFilePath = "template/hwp/crdnList.hwp"; - this.print.setFormatKorName("단속내역서"); - this.print.setFormatName("crdnList"); - } - - @Override - public List getDownloadDataNames() { - List list = new ArrayList<>(); - list.add("과태료구분"); - list.add("시군구명"); - list.add("단속일시"); - list.add("단속장소"); - list.add("차량번호"); - list.add("대체차량번호"); - list.add("고지번호"); - list.add("부과금액"); - list.add("가상계좌번호"); - list.add("전자납부번호"); - list.add("처리상태"); - list.add("처리일자"); - list.add("납부기한"); - list.add("수납일자"); - return list; - } - - - - @Override - public void runAsWriter() { - - String globalRtpyrNm = data.get(0).string("RTPYR_NM"); - String globalRtpyrNo = data.get(0).string("RTPYR_NO"); - String globalRtpyrFullAddr = data.get(0).string("RTPYR_FULL_ADDR"); - int globalTotalAmount = data.stream().mapToInt(i -> i.number("LEVY_AMT").intValue()).sum(); - - writer.setValue("출력일시", DataFormat.yyyy_mm_dd_hh_mm_ss(print.getPrintRequestDt())); - writer.setValue("성명", globalRtpyrNm); - if(print.getPrivateInfoYn(printOption)) { - writer.setValue("주민번호", globalRtpyrNo); - } else { - writer.setValue("주민번호", "*************"); - } - writer.setValue("주소", globalRtpyrFullAddr); - writer.setValue("총건수", DataFormat.n_nn0(this.data.size())); - writer.setValue("총금액", DataFormat.n_nn0(globalTotalAmount)); - - String instNm = (String) print.getPrintRequestUserInfo().getInfo().get("instNm"); - instNm = OgdpUtil.getLastWord(instNm); - writer.setValue("발신", instNm); - - List list = IntStream.rangeClosed(1, this.data.size()).boxed().map(i -> { - DataObject one = data.get(i-1); - return (DataObject) new DataObject() - .set("과태료", one.string("TASK_SE_NM")) - .set("시군구명", one.string("SGG_NM")) - .set("단속일시", DataFormat.yyyy_mm_dd_hh_mm_ss(one.string("CRDN_YMD_TM"))) - .set("단속장소", one.string("CRDN_PLC")) - .set("차량번호", one.string("VHRNO")) - .set("대체차량번호", one.string("RPM_SZR_VHRNO")) - .set("고지번호", one.string("GOJI_NO")) - .set("금액", DataFormat.n_nn0(one.string("LEVY_AMT"))) - .set("가상계좌번호", one.string("VR_ACTNO")) - .set("전자납부번호", one.string("EPAYNO")) - .set("처리상태", one.string("CRDN_STTS_NM")) - .set("처리일자", DataFormat.yyyy_mm_dd(one.string("CRDN_STTS_CHG_DT").substring(0, 8))) - .set("납부기한", DataFormat.yyyy_mm_dd(one.string("DUDT_YMD"))) - .set("수납일자", DataFormat.yyyy_mm_dd(one.string("RCVMT_YMD"))); - }).toList(); - writer.table(2, 0, 3).setValues(list); - - - } - - -} diff --git a/src/main/java/cokr/xit/fims/cmmn/hwp/format/CvlcptOrgn.java b/src/main/java/cokr/xit/fims/cmmn/hwp/format/CvlcptOrgn.java deleted file mode 100644 index b9503ceb..00000000 --- a/src/main/java/cokr/xit/fims/cmmn/hwp/format/CvlcptOrgn.java +++ /dev/null @@ -1,139 +0,0 @@ -package cokr.xit.fims.cmmn.hwp.format; - -import java.util.ArrayList; -import java.util.List; - -import cokr.xit.applib.Print; -import cokr.xit.applib.hwp.format.HWPFormat; -import cokr.xit.base.docs.hwp.HWPWriter; -import cokr.xit.fims.cmmn.CmmnUtil; -import cokr.xit.fims.cmmn.FimsPrintOption; -import cokr.xit.foundation.data.DataFormat; -import cokr.xit.foundation.data.DataObject; -import kr.dogfoot.hwplib.object.HWPFile; - - -public class CvlcptOrgn extends HWPFormat { - private List data2 = null; - - public CvlcptOrgn(Print print, FimsPrintOption printOption, List dataObjectList) { - super(print, printOption, dataObjectList); - this.maxRunCount = 1; - this.formatFilePath = "template/hwp/cvlcptOrgnl_text.hwp"; - this.print.setFormatKorName("민원원본내역"); - this.print.setFormatName("cvlcptOrgnl"); - - this.data2 = new ArrayList(); - if(!dataObjectList.get(0).string("PHOTO0").equals("")) { - - int photoCnt = dataObjectList.get(0).number("ORGN_PHOTO_CNT").intValue(); - int PHOTO_COUNT_PER_PAGE = 4; - - for(int i=0; i < photoCnt; i += PHOTO_COUNT_PER_PAGE) { - - DataObject photoObj = new DataObject(); - - photoObj.set("PHOTO1", dataObjectList.get(0).string("PHOTO"+i)); - if(i+1 < photoCnt) - photoObj.set("PHOTO2", dataObjectList.get(0).string("PHOTO"+(i+1))); - if(i+2 < photoCnt) - photoObj.set("PHOTO3", dataObjectList.get(0).string("PHOTO"+(i+2))); - if(i+3 < photoCnt) - photoObj.set("PHOTO4", dataObjectList.get(0).string("PHOTO"+(i+3))); - - data2.add(photoObj); - } - } - } - - @Override - public List getDownloadDataNames() { - return List.of("접수번호","신청자","접수일자","처리기한","민원목록번호","민원내용"); - } - - @Override - public HWPFormat makeFile(){ - HWPFile hwpFile = HWPWriter.classpath(this.formatFilePath); - this.writer = new HWPWriter(hwpFile); - - runAsWriter(); - String tempPath = this.print.pathForNewFile(); - writer.write(tempPath); - resultFilesPath.add(tempPath); - - writer = null; - currentRunCount++; - - if(data2 != null && data2.size() > 0) { - - formatFilePath = "template/hwp/cvlcptOrgnl_photo.hwp"; - maxRunCount = data2.size()+1; - - while(currentRunCount != maxRunCount) { - HWPFile hwpFile_i = HWPWriter.classpath(this.formatFilePath); - this.writer = new HWPWriter(hwpFile_i); - runAsWriter(); - String tempPath_i = this.print.pathForNewFile(); - writer.write(tempPath_i); - resultFilesPath.add(tempPath_i); - - writer = null; - currentRunCount++; - } - } - - this.merge(); - - return this; - } - - - - @Override - public void runAsWriter() { - - if(this.formatFilePath.equals("template/hwp/cvlcptOrgnl_text.hwp")) { - - DataObject one = data.get(0); - - writer.setValue("신청자", one.string("CVLCPT_APLCNT_NM")); - writer.setValue("접수일자", DataFormat.yyyy_mm_dd(one.string("CVLCPT_RCPT_YMD"))); - - String cvlcptRrcsPrnmntDt = one.string("CVLCPT_PRCS_PRNMNT_DT"); - if(cvlcptRrcsPrnmntDt.length() > 8) { - cvlcptRrcsPrnmntDt = cvlcptRrcsPrnmntDt.substring(0, 8); - } - - writer.setValue("처리기한", DataFormat.yyyy_mm_dd(cvlcptRrcsPrnmntDt)); - writer.setValue("접수번호", one.string("CVLCPT_RCPT_NO")); - writer.setValue("목록번호", one.string("CVLCPT_LIST_NO")); - - String cvlcptAplyCn = one.string("CVLCPT_APLY_CN"); - cvlcptAplyCn = CmmnUtil.escapeHTMLEntity(cvlcptAplyCn); - writer.setValue("민원내용", cvlcptAplyCn); - - } else { - - DataObject one = data2.get(currentRunCount-1); - DataObject newObj = new DataObject(); - if(!one.string("PHOTO1").equals("")) { - newObj.set("왼쪽위사진", writer.image().add(one.string("PHOTO1"))); - } - if(!one.string("PHOTO2").equals("")) { - newObj.set("오른쪽위사진", writer.image().add(one.string("PHOTO2"))); - } - if(!one.string("PHOTO3").equals("")) { - newObj.set("왼쪽아래사진", writer.image().add(one.string("PHOTO3"))); - } - if(!one.string("PHOTO4").equals("")) { - newObj.set("오른쪽아래사진", writer.image().add(one.string("PHOTO4"))); - } - writer.table(0, 0, 2).setValues(List.of(newObj)); - - } - - } - - - -} diff --git a/src/main/java/cokr/xit/fims/cmmn/hwp/format/DlbrDecsnList.java b/src/main/java/cokr/xit/fims/cmmn/hwp/format/DlbrDecsnList.java deleted file mode 100644 index 23fb53e5..00000000 --- a/src/main/java/cokr/xit/fims/cmmn/hwp/format/DlbrDecsnList.java +++ /dev/null @@ -1,77 +0,0 @@ -package cokr.xit.fims.cmmn.hwp.format; - -import java.util.ArrayList; -import java.util.List; - -import cokr.xit.applib.Print; -import cokr.xit.applib.hwp.format.HWPFormat; -import cokr.xit.fims.cmmn.FimsPrintOption; -import cokr.xit.foundation.data.DataObject; - -public class DlbrDecsnList extends HWPFormat { - - public DlbrDecsnList(Print print, FimsPrintOption printOption, List dataObjectList) { - super(print, printOption, dataObjectList); - this.maxRunCount = dataObjectList.size(); - this.formatFilePath = "template/hwp/opnnDlbrDecsnForm.hwp"; - this.print.setFormatKorName("의견제출심의결의서"); - this.print.setFormatName("dlbrDecsnList"); - } - - @Override - public List getDownloadDataNames() { - List list = new ArrayList<>(); - list.add("접수번호"); - list.add("접수일"); - list.add("위반정보"); - list.add("진술자명"); - list.add("진술자생년월일"); - list.add("소유주관계"); - list.add("진술자주소"); - list.add("진술자연락처"); - list.add("차량번호"); - list.add("단속일시"); - list.add("단속장소"); - list.add("의견체출내용"); - return list; - } - - - - @Override - public void runAsWriter() { - - DataObject one = data.get(currentRunCount); - - writer.setValue("접수번호", one.string("RCPT_NO_MASK")); - writer.setValue("접수일", one.string("RCPT_YMD_MASK")); - writer.setValue("위반정보", one.string("TASK_SE_NM")); - writer.setValue("진술자명", one.string("STTR_NM")); - writer.setValue("진술자생년월일", one.string("STTR_BRDT_MASK")); - writer.setValue("진술자연락처", one.string("STTR_CTTPC")); - writer.setValue("소유주관계", one.string("OWNR_REL_NM")); - writer.setValue("진술자주소", one.string("STTR_WHOL_ADDR")); - writer.setValue("차량번호", one.string("VHRNO")); - writer.setValue("단속일시", one.string("CRDN_YMD_TM_MASK")); - writer.setValue("단속장소", one.string("CRDN_PLC")); - writer.setValue("의견제출내용", one.string("OPNN_SBMSN_CN")); - writer.setValue("심의회원직급1", one.string("DLBR_MBR_JBGD1")); - writer.setValue("심의회원명1", one.string("DLBR_MBR_NM1")); - writer.setValue("심의회원직급2", one.string("DLBR_MBR_JBGD2")); - writer.setValue("심의회원명2", one.string("DLBR_MBR_NM2")); - writer.setValue("심의회원직급3", one.string("DLBR_MBR_JBGD3")); - writer.setValue("심의회원명3", one.string("DLBR_MBR_NM3")); - writer.setValue("심의회원직급4", one.string("DLBR_MBR_JBGD4")); - writer.setValue("심의회원명4", one.string("DLBR_MBR_NM4")); - writer.setValue("심의회원직급5", one.string("DLBR_MBR_JBGD5")); - writer.setValue("심의회원명5", one.string("DLBR_MBR_NM5")); - writer.setValue("심의회원직급6", one.string("DLBR_MBR_JBGD6")); - writer.setValue("심의회원명6", one.string("DLBR_MBR_NM6")); - writer.setValue("심의회원직급7", one.string("DLBR_MBR_JBGD7")); - writer.setValue("심의회원명7", one.string("DLBR_MBR_NM7")); - writer.setValue("담당자검토의견", one.string("PIC_RVW_OPNN")); - - - } - -} diff --git a/src/main/java/cokr/xit/fims/cmmn/hwp/format/RcvmtConfirm.java b/src/main/java/cokr/xit/fims/cmmn/hwp/format/RcvmtConfirm.java deleted file mode 100644 index 648ee649..00000000 --- a/src/main/java/cokr/xit/fims/cmmn/hwp/format/RcvmtConfirm.java +++ /dev/null @@ -1,80 +0,0 @@ -package cokr.xit.fims.cmmn.hwp.format; - -import java.util.ArrayList; -import java.util.List; - -import cokr.xit.applib.Print; -import cokr.xit.applib.hwp.format.HWPFormat; -import cokr.xit.fims.cmmn.FimsPrintOption; -import cokr.xit.fims.mngt.OgdpUtil; -import cokr.xit.foundation.data.DataFormat; -import cokr.xit.foundation.data.DataObject; - -/** - * 납부확인서 - */ -public class RcvmtConfirm extends HWPFormat { - - public RcvmtConfirm(Print print, FimsPrintOption printOption, List dataObjectList) { - super(print, printOption, dataObjectList); - - this.maxRunCount = dataObjectList.size(); - this.formatFilePath = "template/hwp/rcvmtConfirm.hwp"; - print.setFormatKorName("납부확인서"); - print.setFormatName("rcvmtConfirm"); - } - - @Override - public List getDownloadDataNames() { - List list = new ArrayList<>(); - list.add("위반명"); - list.add("위반차량"); - list.add("대체차량"); - list.add("위반금액"); - list.add("단속일자"); - list.add("단속장소"); - list.add("소유자"); - list.add("주민번호"); - list.add("소유자주소"); - list.add("고지번호"); - list.add("수납일자"); - list.add("수납금액"); - return list; - } - - - - @Override - public void runAsWriter() { - - String instNm = OgdpUtil.getInstituteLeader((String) print.getPrintRequestUserInfo().getInfo().get("instNm"), false); - - - DataObject one = data.get(currentRunCount); - DataObject newObj = (DataObject) new DataObject() - .set("위반명1", one.string("TASK_SE_NM")) - .set("위반명2", one.string("TASK_SE_NM")) - .set("위반차량", one.string("VHRNO")) - .set("대체차량", one.string("RPM_SZR_VHRNO")) - .set("위반금액", DataFormat.n_nn0(one.string("FFNLG_AMT"))) - .set("단속일자", DataFormat.yyyy_mm_dd(one.string("CRDN_YMD"))) - .set("단속장소", one.string("CRDN_PLC")) - .set("소유자", one.string("RTPYR_NM")) - .set("주민번호", one.string("RTPYR_NO")) - .set("주소", one.string("RTPYR_FULL_ADDR")) - .set("고지번호", one.string("GOJI_NO")) - .set("수납일자", DataFormat.yyyy_mm_dd(one.string("RCVMT_YMD"))) - .set("수납금액", DataFormat.n_nn0(one.string("RCVMT_AMT"))) - .set("연월일시분초", DataFormat.yyyy_mm_dd_hh_mm_ss(print.getPrintRequestDt())) - .set("확인자", print.getPrintRequestUserInfo().getName()) - .set("발신", instNm) - ; - - - writer.table(0, 0, 12).setValues(List.of(newObj)); - - - } - - -} diff --git a/src/main/java/cokr/xit/fims/cmmn/hwp/format/ReportOnClaims.java b/src/main/java/cokr/xit/fims/cmmn/hwp/format/ReportOnClaims.java deleted file mode 100644 index 3956d1d6..00000000 --- a/src/main/java/cokr/xit/fims/cmmn/hwp/format/ReportOnClaims.java +++ /dev/null @@ -1,112 +0,0 @@ -package cokr.xit.fims.cmmn.hwp.format; - -import java.awt.Rectangle; -import java.util.ArrayList; -import java.util.List; -import java.util.Map; -import java.util.function.BiConsumer; -import java.util.stream.IntStream; - -import org.egovframe.rte.fdl.string.EgovStringUtil; - -import cokr.xit.applib.Print; -import cokr.xit.applib.hwp.OffcsCellFinder; -import cokr.xit.applib.hwp.format.HWPFormat; -import cokr.xit.fims.cmmn.CmmnUtil; -import cokr.xit.fims.cmmn.FimsPrintOption; -import cokr.xit.fims.mngt.OgdpUtil; -import cokr.xit.foundation.data.DataFormat; -import cokr.xit.foundation.data.DataObject; -import kr.dogfoot.hwplib.object.bodytext.control.table.Cell; -import kr.dogfoot.hwplib.object.bodytext.paragraph.Paragraph; - -/** - * 채권신고서 - */ -public class ReportOnClaims extends HWPFormat { - - public ReportOnClaims(Print print, FimsPrintOption printOption, List dataObjectList) { - super(print, printOption, dataObjectList); - this.maxRunCount = 1; - this.formatFilePath = "template/hwp/reportOnClaims.hwp"; - this.print.setFormatKorName("채권신고서"); - this.print.setFormatName("reportOnClaims"); - } - - @Override - public List getDownloadDataNames() { - List list = new ArrayList<>(); - list.add("과세번호"); - list.add("법정기일"); - list.add("세목"); - list.add("세액"); - list.add("가산금"); - list.add("합계"); - return list; - } - - - - @Override - public void runAsWriter() { - - Map globalVariable = printOption.getGlobalVariable(); - - String offcsFilePath = EgovStringUtil.null2void(globalVariable.get("offcsFilePath")); - if(!offcsFilePath.equals("")) { - BiConsumer bc = writer.image().add(offcsFilePath); - - Cell cell = OffcsCellFinder.find(writer); - if(cell != null) { - Paragraph para = cell.getParagraphList().getParagraph(0); - int width = (int)cell.getListHeader().getWidth(), - height = (int)cell.getListHeader().getHeight(); - bc.accept(para, new Rectangle(1, 1, width, height)); - } - - } - - writer.setValue("주소", globalVariable.get("deptAddr")); - writer.setValue("전화", globalVariable.get("deptTelno")); - writer.setValue("팩스", globalVariable.get("deptFxno")); - writer.setValue("담당자", print.getPrintRequestUserInfo().getName()); - writer.setValue("사건번호", EgovStringUtil.null2void(globalVariable.get("caseNo"))); - writer.setValue("체납자성명", EgovStringUtil.null2void(globalVariable.get("rtpyrNm"))); - writer.setValue("체납자번호", EgovStringUtil.null2void(globalVariable.get("rtpyrNo"))); - writer.setValue("체납자주소", EgovStringUtil.null2void(globalVariable.get("rtpyrFullAddr"))); - int sumOfList = data.stream().mapToInt(item -> item.number("SUM_AMT").intValue()).sum(); - writer.setValue("채권청구액", DataFormat.n_nn0(sumOfList)); - writer.setValue("합계금액", DataFormat.n_nn0(sumOfList)); - writer.setValue("합계금액한글", CmmnUtil.convertNumberToHangul(sumOfList)); - - String printRequestYmd = print.getPrintRequestDt().substring(0, 8); - String yyyy = printRequestYmd.substring(0, 4); - String mm = printRequestYmd.substring(4, 6); - String dd = printRequestYmd.substring(6, 8); - String ymd = yyyy+"년 "+mm+"월 "+dd+"일"; - writer.setValue("연월일", ymd); - - String instNm = (String) print.getPrintRequestUserInfo().getInfo().get("instNm"); - instNm = OgdpUtil.getLastWord(instNm); - instNm = OgdpUtil.getInstituteLeader(instNm, false); - writer.setValue("발신", instNm); - - List list = IntStream.rangeClosed(1, this.data.size()).boxed().map(i -> { - DataObject one = data.get(i-1); - DataObject newObj = (DataObject) new DataObject() - .set("년도", one.string("FYR")) - .set("과세번호", one.string("GOJI_NO")) - .set("법정기일", DataFormat.yyyy_mm_dd(one.string("DUDT_YMD"))) - .set("세목", one.string("TXITM_NM")) - .set("세액", DataFormat.n_nn0(one.string("LEVY_PCPTAX"))) - .set("가산금", DataFormat.n_nn0(one.string("LEVY_ADAMT"))) - .set("합계", DataFormat.n_nn0(one.string("SUM_AMT"))); - return newObj; - }).toList(); - writer.table(0, 9, 2).setValues(list); - - } - - - -} diff --git a/src/main/java/cokr/xit/fims/cmmn/hwp/format/RequestForDelivery.java b/src/main/java/cokr/xit/fims/cmmn/hwp/format/RequestForDelivery.java deleted file mode 100644 index 03f26809..00000000 --- a/src/main/java/cokr/xit/fims/cmmn/hwp/format/RequestForDelivery.java +++ /dev/null @@ -1,115 +0,0 @@ -package cokr.xit.fims.cmmn.hwp.format; - -import java.awt.Rectangle; -import java.util.ArrayList; -import java.util.List; -import java.util.Map; -import java.util.function.BiConsumer; -import java.util.stream.IntStream; - -import org.egovframe.rte.fdl.string.EgovStringUtil; - -import cokr.xit.applib.Print; -import cokr.xit.applib.hwp.OffcsCellFinder; -import cokr.xit.applib.hwp.format.HWPFormat; -import cokr.xit.fims.cmmn.CmmnUtil; -import cokr.xit.fims.cmmn.FimsPrintOption; -import cokr.xit.fims.mngt.OgdpUtil; -import cokr.xit.foundation.data.DataFormat; -import cokr.xit.foundation.data.DataObject; -import kr.dogfoot.hwplib.object.bodytext.control.table.Cell; -import kr.dogfoot.hwplib.object.bodytext.paragraph.Paragraph; - -/** - * 교부청구서 - */ -public class RequestForDelivery extends HWPFormat { - - public RequestForDelivery(Print print, FimsPrintOption printOption, List dataObjectList) { - super(print, printOption, dataObjectList); - this.maxRunCount = 1; - this.formatFilePath = "template/hwp/requestForDelivery.hwp"; - this.print.setFormatKorName("교부청구서"); - this.print.setFormatName("requestForDelivery"); - } - - @Override - public List getDownloadDataNames() { - List list = new ArrayList<>(); - list.add("징수과목"); - list.add("고지번호"); - list.add("과태료계"); - list.add("법정기일"); - return list; - } - - - - - @Override - public void runAsWriter() { - - Map globalVariable = printOption.getGlobalVariable(); - - String offcsFilePath = EgovStringUtil.null2void(globalVariable.get("offcsFilePath")); - if(!offcsFilePath.equals("")) { - BiConsumer bc = writer.image().add(offcsFilePath); - - Cell cell = OffcsCellFinder.find(writer); - if(cell != null) { - Paragraph para = cell.getParagraphList().getParagraph(0); - int width = (int)cell.getListHeader().getWidth(), - height = (int)cell.getListHeader().getHeight(); - bc.accept(para, new Rectangle(1, 1, width, height)); - } - - } - - - writer.setValue("문서번호", EgovStringUtil.null2void(globalVariable.get("docNo"))); - writer.setValue("사건번호", EgovStringUtil.null2void(globalVariable.get("caseNo"))); - writer.setValue("수신", EgovStringUtil.null2void(globalVariable.get("receiver"))); - writer.setValue("체납자성명", EgovStringUtil.null2void(globalVariable.get("rtpyrNm"))); - writer.setValue("체납자번호", EgovStringUtil.null2void(globalVariable.get("rtpyrNo"))); - writer.setValue("차량번호", EgovStringUtil.null2void(globalVariable.get("vhrno"))); - writer.setValue("주소", EgovStringUtil.null2void(globalVariable.get("rtpyrFullAddr"))); - - int sumOfList = data.stream().mapToInt(item -> item.number("SUM_AMT").intValue()).sum(); - writer.setValue("합계금액", DataFormat.n_nn0(sumOfList)); - writer.setValue("교부청구금액", DataFormat.n_nn0(sumOfList)); - writer.setValue("교부청구금액한글", CmmnUtil.convertNumberToHangul(sumOfList)); - writer.setValue("개설은행", EgovStringUtil.null2void(globalVariable.get("dtbnBankNm"))); - writer.setValue("계좌번호", EgovStringUtil.null2void(globalVariable.get("dtbnActno"))); - - String instNm = (String) print.getPrintRequestUserInfo().getInfo().get("instNm"); - String deptNm = (String) print.getPrintRequestUserInfo().getInfo().get("deptNm"); - writer.setValue("예금주", instNm + " " + deptNm); - - String printRequestYmd = print.getPrintRequestDt().substring(0, 8); - String yyyy = printRequestYmd.substring(0, 4); - String mm = printRequestYmd.substring(4, 6); - String dd = printRequestYmd.substring(6, 8); - String ymd = yyyy+"년 "+mm+"월 "+dd+"일"; - writer.setValue("연월일", ymd); - - instNm = OgdpUtil.getLastWord(instNm); - instNm = OgdpUtil.getInstituteLeader(instNm, false); - writer.setValue("발신", instNm); - - List list = IntStream.rangeClosed(1, this.data.size()).boxed().map(i -> { - DataObject one = data.get(i-1); - DataObject newObj = (DataObject) new DataObject() - .set("징수과목", one.string("TXITM_NM")) - .set("고지번호", one.string("GOJI_NO")) - .set("과태료계", DataFormat.n_nn0(one.string("SUM_AMT"))) - .set("법정기일", DataFormat.yyyy_mm_dd(one.string("DUDT_YMD"))) - ; - return newObj; - }).toList(); - writer.table(0, 9, 1).setValues(list); - - } - - - -} diff --git a/src/main/java/cokr/xit/fims/cmmn/hwp/format/SvbtcList.java b/src/main/java/cokr/xit/fims/cmmn/hwp/format/SvbtcList.java deleted file mode 100644 index 176daacd..00000000 --- a/src/main/java/cokr/xit/fims/cmmn/hwp/format/SvbtcList.java +++ /dev/null @@ -1,85 +0,0 @@ -package cokr.xit.fims.cmmn.hwp.format; - -import java.awt.Rectangle; -import java.util.ArrayList; -import java.util.List; -import java.util.function.BiConsumer; -import java.util.stream.IntStream; - -import org.egovframe.rte.fdl.string.EgovStringUtil; - -import cokr.xit.applib.Print; -import cokr.xit.applib.hwp.OffcsCellFinder; -import cokr.xit.applib.hwp.format.HWPFormat; -import cokr.xit.fims.cmmn.FimsPrintOption; -import cokr.xit.foundation.data.DataObject; -import kr.dogfoot.hwplib.object.bodytext.control.table.Cell; -import kr.dogfoot.hwplib.object.bodytext.paragraph.Paragraph; - -public class SvbtcList extends HWPFormat { - - public SvbtcList(Print print, FimsPrintOption printOption, List dataObjectList) { - super(print, printOption, dataObjectList); - this.maxRunCount = 1; - this.formatFilePath = "template/hwp/svbtcList.hwp"; - this.print.setFormatKorName("공시송달"); - this.print.setFormatName("svbtc"); - } - - @Override - public List getDownloadDataNames() { - List list = new ArrayList<>(); - list.add("수령인명"); - list.add("수령인주소"); - list.add("차량번호"); - list.add("위반일자"); - list.add("위반장소"); - list.add("반송일자"); - list.add("반송사유"); - return list; - } - - - @Override - public void runAsWriter() { - - String offcsFilePath = EgovStringUtil.null2void(data.get(0).string("OFFCS_FILE_PATH")); - if(!offcsFilePath.equals("")) { - BiConsumer bc = writer.image().add(offcsFilePath); - - Cell cell = OffcsCellFinder.find(writer); - if(cell != null) { - Paragraph para = cell.getParagraphList().getParagraph(0); - int width = (int)cell.getListHeader().getWidth(), - height = (int)cell.getListHeader().getHeight(); - bc.accept(para, new Rectangle(1, 1, width, height)); - } - } - - writer.setValue("문서번호", data.get(0).string("INPUT_DOC_NO")); - writer.setValue("제목", data.get(0).string("INPUT_TTL_NM")); - writer.setValue("공고기간", data.get(0).string("INPUT_SVBTC_DATE")); - writer.setValue("기관장", data.get(0).string("INST_LEADER")); - writer.setValue("부서명", data.get(0).string("SGG_DEPT_NM")); - writer.setValue("부서전화번호", "☎" + data.get(0).string("DEPT_TELNO")); - - - List list = IntStream.rangeClosed(1, this.data.size()).boxed().map(i -> { - DataObject one = data.get(i-1); - return (DataObject) new DataObject() - .set("성명", one.string("RCPN_NM_MASK")) - .set("주소", one.string("WHOL_ADDR_MASK")) - .set("차량번호", one.string("VHRNO_MASK")) - .set("위반장소", one.string("CRDN_PLC")) - .set("위반일자", one.string("CRDN_DT")) - .set("반송일자", one.string("DLVR_YMD_MASK")) - .set("반송사유", one.string("UNDLVR_RSN_NM")) - ; - }).toList(); - writer.table(2, 2, 2).setValues(list); - - } - - - -} diff --git a/src/main/java/cokr/xit/fims/cmmn/pdf/extraction/ExtractImageEngine.java b/src/main/java/cokr/xit/fims/cmmn/pdf/extraction/ExtractImageEngine.java deleted file mode 100644 index 09fe5cd2..00000000 --- a/src/main/java/cokr/xit/fims/cmmn/pdf/extraction/ExtractImageEngine.java +++ /dev/null @@ -1,113 +0,0 @@ -package cokr.xit.fims.cmmn.pdf.extraction; - -import java.awt.image.BufferedImage; -import java.io.ByteArrayOutputStream; -import java.io.IOException; -import java.util.ArrayList; -import java.util.Base64; -import java.util.List; - -import javax.imageio.ImageIO; - -import org.apache.pdfbox.contentstream.PDFStreamEngine; -import org.apache.pdfbox.contentstream.operator.DrawObject; -import org.apache.pdfbox.contentstream.operator.Operator; -import org.apache.pdfbox.contentstream.operator.OperatorName; -import org.apache.pdfbox.contentstream.operator.state.Concatenate; -import org.apache.pdfbox.contentstream.operator.state.Restore; -import org.apache.pdfbox.contentstream.operator.state.Save; -import org.apache.pdfbox.contentstream.operator.state.SetGraphicsStateParameters; -import org.apache.pdfbox.contentstream.operator.state.SetMatrix; -import org.apache.pdfbox.cos.COSBase; -import org.apache.pdfbox.cos.COSName; -import org.apache.pdfbox.pdmodel.graphics.PDXObject; -import org.apache.pdfbox.pdmodel.graphics.form.PDFormXObject; -import org.apache.pdfbox.pdmodel.graphics.image.PDImageXObject; -import org.apache.pdfbox.util.Matrix; - -public class ExtractImageEngine extends PDFStreamEngine { - - private List base64List = new ArrayList(); - - public List getBase64List() { - return base64List; - } - - public void clearBase64List() { - this.base64List = new ArrayList(); - } - - /** - * Default constructor. - * - * @throws IOException If there is an error loading text stripper properties. - */ - public ExtractImageEngine() throws IOException { - addOperator(new Concatenate(this)); - addOperator(new DrawObject(this)); - addOperator(new SetGraphicsStateParameters(this)); - addOperator(new Save(this)); - addOperator(new Restore(this)); - addOperator(new SetMatrix(this)); - } - - - /** - * This is used to handle an operation. - * - * @param operator The operation to perform. - * @param operands The list of arguments. - * - * @throws IOException If there is an error processing the operation. - */ - @Override - protected void processOperator( Operator operator, List operands) throws IOException { - String operation = operator.getName(); - if (OperatorName.DRAW_OBJECT.equals(operation)) { - COSName objectName = (COSName) operands.get( 0 ); - PDXObject xobject = getResources().getXObject( objectName ); - if( xobject instanceof PDImageXObject) { - PDImageXObject image = (PDImageXObject)xobject; - int imageWidth = image.getWidth(); - int imageHeight = image.getHeight(); - System.out.println("*******************************************************************"); - System.out.println("Found image [" + objectName.getName() + "]"); - - Matrix ctmNew = getGraphicsState().getCurrentTransformationMatrix(); - float imageXScale = ctmNew.getScalingFactorX(); - float imageYScale = ctmNew.getScalingFactorY(); - - // position in user space units. 1 unit = 1/72 inch at 72 dpi - System.out.println("position in PDF = " + ctmNew.getTranslateX() + ", " + ctmNew.getTranslateY() + " in user space units"); - // raw size in pixels - System.out.println("raw image size = " + imageWidth + ", " + imageHeight + " in pixels"); - // displayed size in user space units - System.out.println("displayed size = " + imageXScale + ", " + imageYScale + " in user space units"); - // displayed size in inches at 72 dpi rendering - imageXScale /= 72; - imageYScale /= 72; - System.out.println("displayed size = " + imageXScale + ", " + imageYScale + " in inches at 72 dpi rendering"); - // displayed size in millimeters at 72 dpi rendering - imageXScale *= 25.4f; - imageYScale *= 25.4f; - System.out.println("displayed size = " + imageXScale + ", " + imageYScale + " in millimeters at 72 dpi rendering"); - - if(imageXScale > 30 && imageYScale > 30 && imageXScale < 120 && imageYScale < 120) { - ByteArrayOutputStream baos = new ByteArrayOutputStream(); - BufferedImage buffImage = image.getImage(); - ImageIO.write(buffImage, "png", baos); - byte[] bytesimage = baos.toByteArray(); - String imageStr = Base64.getEncoder().encodeToString(bytesimage); - base64List.add(imageStr); - } - System.out.println(); - } else if(xobject instanceof PDFormXObject) { - PDFormXObject form = (PDFormXObject)xobject; - showForm(form); - } - } else { - super.processOperator( operator, operands); - } - } - -} diff --git a/src/main/java/cokr/xit/fims/cmmn/pdf/extraction/ExtractText.java b/src/main/java/cokr/xit/fims/cmmn/pdf/extraction/ExtractText.java deleted file mode 100644 index 61cd9738..00000000 --- a/src/main/java/cokr/xit/fims/cmmn/pdf/extraction/ExtractText.java +++ /dev/null @@ -1,72 +0,0 @@ -package cokr.xit.fims.cmmn.pdf.extraction; - -import java.awt.geom.Rectangle2D; -import java.io.IOException; -import java.util.regex.Pattern; - -import org.apache.pdfbox.pdmodel.PDDocument; -import org.apache.pdfbox.pdmodel.PDPage; -import org.apache.pdfbox.text.PDFTextStripper; -import org.apache.pdfbox.text.PDFTextStripperByArea; - -public class ExtractText { - - public static final String REGEXP_PATTERN_NUMBER = "^[\\d]*$"; - - public static String getExtractByStng(PDDocument document, int pageNum, - float x, float y, float w, float h) { - - try { - PDFTextStripperByArea textStripper = new PDFTextStripperByArea(); - - Rectangle2D rect = new java.awt.geom.Rectangle2D.Float(x, y, w, h); - textStripper.addRegion("region", rect); - - PDPage docPage = document.getPage(pageNum-1); - - textStripper.extractRegions(docPage); - - String textForRegion = textStripper.getTextForRegion("region"); - - System.out.println("영역지정으로 추출된 텍스트"); - System.out.println(textForRegion); - - return textForRegion; - - } catch (IOException e) { - - throw new RuntimeException("자료추출 오류."+e); - } - - } - - - public static String getExtractEpayNo(PDDocument pdDocument, int pageNum) { - String epayNo = ""; - - PDFTextStripper Tstripper = new PDFTextStripper(); - - Tstripper.setStartPage(pageNum); - Tstripper.setEndPage(pageNum); - String summaryText = null; - - try { - summaryText = Tstripper.getText(pdDocument); - } catch (IOException e) { - throw new RuntimeException("자료추출 오류."+e); - } - - String[] textArr = summaryText.split("\r?\n|\r"); - - for(int i=0; i < textArr.length; i++) { - boolean isNumber = Pattern.matches(REGEXP_PATTERN_NUMBER, textArr[i]); - if(isNumber) { - if(textArr[i].length() == 19) { - epayNo = textArr[i]; - } - } - } - return epayNo; - } - -} diff --git a/src/main/java/cokr/xit/fims/cmmn/pdf/extraction/Extraction.java b/src/main/java/cokr/xit/fims/cmmn/pdf/extraction/Extraction.java deleted file mode 100644 index ee2f0d97..00000000 --- a/src/main/java/cokr/xit/fims/cmmn/pdf/extraction/Extraction.java +++ /dev/null @@ -1,29 +0,0 @@ -package cokr.xit.fims.cmmn.pdf.extraction; - -import java.util.List; -import java.util.Map; - -import lombok.Getter; -import lombok.Setter; - -@Getter -@Setter -public class Extraction { - - /** - * 페이지번호 - */ - int page; - - /** - * 단속사진 base64 문자열 - */ - List base64List; - - /** - * 텍스트 항목 - */ - Map textItem; - - -} diff --git a/src/main/java/cokr/xit/fims/cmmn/pdf/extraction/PDFExtractionUtil.java b/src/main/java/cokr/xit/fims/cmmn/pdf/extraction/PDFExtractionUtil.java deleted file mode 100644 index 6558cda1..00000000 --- a/src/main/java/cokr/xit/fims/cmmn/pdf/extraction/PDFExtractionUtil.java +++ /dev/null @@ -1,84 +0,0 @@ -package cokr.xit.fims.cmmn.pdf.extraction; - -import java.io.File; -import java.io.IOException; -import java.util.ArrayList; -import java.util.HashMap; -import java.util.List; -import java.util.Map; - -import org.apache.pdfbox.Loader; -import org.apache.pdfbox.pdmodel.PDDocument; -import org.apache.pdfbox.pdmodel.PDPage; -import org.apache.pdfbox.pdmodel.PDPageTree; - -import cokr.xit.fims.cmmn.CmmnUtil; -import cokr.xit.foundation.data.DataObject; - -public class PDFExtractionUtil { - public static List extract(String pdfPath, List extractStngs) { - - List extractList = new ArrayList(); - - File file = null; - try { - file = new File(pdfPath); - } catch (Exception e2) { - throw new RuntimeException("자료추출 오류."+e2); - } - PDDocument pdDocument = null; - try { - pdDocument = Loader.loadPDF(file); - } catch (IOException e) { - throw new RuntimeException("자료추출 오류."+e); - } - - - PDPageTree pages = pdDocument.getPages(); - int pageCount = pages.getCount(); - - int pageIndex = 0; - - Extraction extraction = new Extraction(); - - for(;pageIndex < pageCount; pageIndex++) { - - Map textItem = new HashMap(); - - extraction = new Extraction(); - extraction.setPage(pageIndex+1); - - for(DataObject extractStng : extractStngs) { - - float x = CmmnUtil.mmToPt(extractStng.number("LEFT_PSTN").floatValue()); - float y = CmmnUtil.mmToPt(extractStng.number("TOP_PSTN").floatValue()); - float w = CmmnUtil.mmToPt(extractStng.number("WIDTH_SZ").floatValue()); - float h = CmmnUtil.mmToPt(extractStng.number("HEIGHT_SZ").floatValue()); - - String text0 = ExtractText.getExtractByStng(pdDocument, pageIndex+1, x, y, w, h); - textItem.put(extractStng.string("EXTR_ARTCL_NM"), text0); - } - - extraction.setTextItem(textItem); - - - PDPage page = pages.get(pageIndex); - List b64imageList = new ArrayList<>(); - try { - ExtractImageEngine printer = new ExtractImageEngine(); - printer.processPage(page); - b64imageList = printer.getBase64List(); - printer.clearBase64List(); - - } catch (IOException e1) { - throw new RuntimeException("자료추출 오류."+e1); - } - extraction.setBase64List(b64imageList); - - - extractList.add(extraction); - } - - return extractList; - } -} diff --git a/src/main/java/cokr/xit/fims/cmmn/pdf/extraction/format/ElectronicNotice.java b/src/main/java/cokr/xit/fims/cmmn/pdf/extraction/format/ElectronicNotice.java deleted file mode 100644 index 6d1c82c6..00000000 --- a/src/main/java/cokr/xit/fims/cmmn/pdf/extraction/format/ElectronicNotice.java +++ /dev/null @@ -1,24 +0,0 @@ -package cokr.xit.fims.cmmn.pdf.extraction.format; - -import java.util.ArrayList; - -import cokr.xit.fims.cmmn.PredefinedSet; - -/** - * 전자고지 - */ -public class ElectronicNotice extends PDFExtractFormat { - - public ElectronicNotice(){ - this.predefinedSetList = new ArrayList(); - predefinedSetList.add(new PredefinedSet("photoArea","사진영역")); - predefinedSetList.add(new PredefinedSet("vhcleNo","차량번호")); - predefinedSetList.add(new PredefinedSet("ihidnum","주민번호")); - predefinedSetList.add(new PredefinedSet("moblphonNo","휴대폰번호")); - predefinedSetList.add(new PredefinedSet("nm","성명")); - predefinedSetList.add(new PredefinedSet("adres","주소")); - predefinedSetList.add(new PredefinedSet("detailAdres","상세주소")); - predefinedSetList.add(new PredefinedSet("zip","우편번호")); - } - -} diff --git a/src/main/java/cokr/xit/fims/cmmn/pdf/extraction/format/PDFExtractFormat.java b/src/main/java/cokr/xit/fims/cmmn/pdf/extraction/format/PDFExtractFormat.java deleted file mode 100644 index e5da748b..00000000 --- a/src/main/java/cokr/xit/fims/cmmn/pdf/extraction/format/PDFExtractFormat.java +++ /dev/null @@ -1,37 +0,0 @@ -package cokr.xit.fims.cmmn.pdf.extraction.format; - -import java.util.ArrayList; -import java.util.List; - -import cokr.xit.fims.cmmn.PredefinedSet; -import cokr.xit.foundation.data.DataObject; - -public abstract class PDFExtractFormat { - - protected List predefinedSetList = new ArrayList(); - - public void appendPredefinedYn(List extrArtclStngList) { - - if(extrArtclStngList!=null && !extrArtclStngList.isEmpty()) { - - List prototypeStngs = this.getPredefinedSetList(); - - for(DataObject extrArtclStng : extrArtclStngList) { - String extrArtclNm = (String) extrArtclStng.get("EXTR_ARTCL_NM"); - - List prototypeStng = prototypeStngs.stream().filter(item -> item.getArtclNm().equals(extrArtclNm)).toList(); - if(prototypeStng != null && !prototypeStng.isEmpty()) { - extrArtclStng.set("PREDEFINED_YN", "Y"); - } else { - extrArtclStng.set("PREDEFINED_YN", "N"); - } - } - } - - - } - - public List getPredefinedSetList(){ - return this.predefinedSetList; - } -} diff --git a/src/main/java/cokr/xit/fims/cmmn/pdf/print/DefaultOtptArtclStng.java b/src/main/java/cokr/xit/fims/cmmn/pdf/print/DefaultOtptArtclStng.java deleted file mode 100644 index 2171964a..00000000 --- a/src/main/java/cokr/xit/fims/cmmn/pdf/print/DefaultOtptArtclStng.java +++ /dev/null @@ -1,142 +0,0 @@ -package cokr.xit.fims.cmmn.pdf.print; - -import cokr.xit.fims.cmmn.PredefinedSet; -import cokr.xit.fims.cmmn.Pstn; -import lombok.Getter; -import lombok.Setter; - -@Getter -@Setter -public class DefaultOtptArtclStng extends PredefinedSet { - /** - * 기본 출력 요소 생성 - */ - public DefaultOtptArtclStng(String componentType, String artclNm, String artclDscrp, String otptBscVl){ - super(artclNm, artclDscrp); - - this.componentType = componentType; - this.otptBscVl=otptBscVl; - - this.widthSz=0; - this.heightSz=0; - - this.fontNm="gulimche"; - this.fontSz=10; - this.fontColr="BLACK"; - this.fontStyle="FILL"; - - this.textSort = "left"; - this.lineChgYn = "N"; - - this.forPost = false; - this.unique = false; - - } - - /** - * 용지가 A4일 때의 기본위치를 설정한다. 해당 출력요소는 1장의 출력물에서 1개만 존재한다. - */ - public DefaultOtptArtclStng a4(float leftPstn, float topPstn) { - this.a4 = new Pstn(leftPstn, topPstn); - this.unique = true; - return this; - } - - /** - * 용지가 레터일 때의 기본위치를 설정한다. 해당 출력요소는 1장의 출력물에서 1개만 존재한다. - */ - public DefaultOtptArtclStng letter(float leftPstn, float topPstn) { - this.letter = new Pstn(leftPstn, topPstn); - this.unique = true; - return this; - } - - /** - * 해당 출력요소를 우편물과 관련된 출력요소로 설정한다. - */ - public DefaultOtptArtclStng post() { - this.forPost = true; - return this; - } - - @Override - public DefaultOtptArtclStng offLog() { - this.downloadData = false; - return this; - } - - /** - * 출력요소의 기본 텍스트정렬을 설정한다. - */ - public DefaultOtptArtclStng align(String alignValue) { - this.textSort = alignValue; - return this; - } - - /** - * 출력요소의 기본 영역크기를 설정한다. - */ - public DefaultOtptArtclStng size(float width, float height) { - this.widthSz = width; - this.heightSz = height; - return this; - } - - /** - * 출력요소의 기본 글꼴을 설정한다. - */ - public DefaultOtptArtclStng font(String fontNm, int fontSz, String fontColr, String fontStyle) { - this.fontNm = fontNm; - this.fontSz = fontSz; - this.fontColr = fontColr; - this.fontStyle = fontStyle; - return this; - } - - /** - * 출력요소의 x축 위치정보를 가져온다. - */ - public float getLeftPstn(String paper) { - switch (paper) { - case "01": { - return this.getA4().getLeft(); - } - case "02": { - return this.getLetter().getLeft(); - } - } - return 0; - } - - /** - * 출력요소의 y축 위치정보를 가져온다. - */ - public float getTopPstn(String paper) { - switch (paper) { - case "01": { - return this.getA4().getTop(); - } - case "02": { - return this.getLetter().getTop(); - } - } - return 0; - } - - private String componentType; //컴포넌트 유형(텍스트 또는 이미지) - private String otptBscVl; //기본값 - private boolean unique; //출력물 내 유일 요소 여부 - private boolean forPost; //우편물 관련 요소 여부 - - - private Pstn a4; //A4 위치값 - private Pstn letter; //레터 위치값 - private float widthSz; //영역크기 길이 - private float heightSz; //영역크기 높이 - private String textSort; //텍스트정렬 - private String lineChgYn; - private String fontNm; //글꼴명 - private int fontSz; //글자크기 - private String fontColr; //글자색 - private String fontStyle; //글자스타일 -} diff --git a/src/main/java/cokr/xit/fims/cmmn/pdf/print/PDF.java b/src/main/java/cokr/xit/fims/cmmn/pdf/print/PDF.java deleted file mode 100644 index a0043217..00000000 --- a/src/main/java/cokr/xit/fims/cmmn/pdf/print/PDF.java +++ /dev/null @@ -1,16 +0,0 @@ -package cokr.xit.fims.cmmn.pdf.print; - -import org.apache.pdfbox.pdmodel.PDDocument; -import org.apache.pdfbox.pdmodel.PDPageContentStream; -import org.apache.pdfbox.pdmodel.common.PDRectangle; - -import cokr.xit.foundation.component.AbstractBean; - -public abstract class PDF extends AbstractBean { - /**pdf 파일(*.pdf)의 mime type */ - public static final String MIME_TYPE = "application/pdf"; - - protected PDDocument doc; - protected PDPageContentStream contentStream; - protected PDRectangle paperSize; -} diff --git a/src/main/java/cokr/xit/fims/cmmn/pdf/print/PDFColors.java b/src/main/java/cokr/xit/fims/cmmn/pdf/print/PDFColors.java deleted file mode 100644 index c1f9e15c..00000000 --- a/src/main/java/cokr/xit/fims/cmmn/pdf/print/PDFColors.java +++ /dev/null @@ -1,46 +0,0 @@ -package cokr.xit.fims.cmmn.pdf.print; - -import java.lang.reflect.Field; - -import org.apache.pdfbox.pdmodel.graphics.color.PDColor; -import org.apache.pdfbox.pdmodel.graphics.color.PDDeviceRGB; - -public class PDFColors { - public static final PDColor RED = new PDColor(new float[] { 1, 0, 0 }, PDDeviceRGB.INSTANCE); - public static final PDColor GREEN = new PDColor(new float[] { 0, 1, 0 }, PDDeviceRGB.INSTANCE); - public static final PDColor BLUE = new PDColor(new float[] { 0, 0, 1 }, PDDeviceRGB.INSTANCE); - - public static final PDColor YELLOW = new PDColor(new float[] { 1, 1, 0 }, PDDeviceRGB.INSTANCE); - public static final PDColor ORANGE = new PDColor(new float[] { 1, 0.502f, 0 }, PDDeviceRGB.INSTANCE); - public static final PDColor YELLOW_GREEN = new PDColor(new float[] { 0.502f, 1, 0 }, PDDeviceRGB.INSTANCE); - - public static final PDColor CYAN = new PDColor(new float[] { 0, 1, 1 }, PDDeviceRGB.INSTANCE); - public static final PDColor GREEN_CYAN = new PDColor(new float[] { 0, 1, 0.502f }, PDDeviceRGB.INSTANCE); - public static final PDColor CYAN_BLUE = new PDColor(new float[] { 0, 0.502f, 1 }, PDDeviceRGB.INSTANCE); - - public static final PDColor MAGENTA = new PDColor(new float[] { 1, 0, 1 }, PDDeviceRGB.INSTANCE); - public static final PDColor VIOLET = new PDColor(new float[] { 0.502f, 0, 1 }, PDDeviceRGB.INSTANCE); - public static final PDColor DEEP_PINK = new PDColor(new float[] { 1, 0, 0.502f }, PDDeviceRGB.INSTANCE); - - public static final PDColor WHITE = new PDColor(new float[] { 1, 1, 1 }, PDDeviceRGB.INSTANCE); - public static final PDColor LIGHT_GREY = new PDColor(new float[] { 0.753f, 0.753f, 0.753f }, PDDeviceRGB.INSTANCE); - public static final PDColor GREY = new PDColor(new float[] { 0.627f, 0.627f, 0.627f }, PDDeviceRGB.INSTANCE); - public static final PDColor DARK_GREY = new PDColor(new float[] { 0.376f, 0.376f, 0.376f }, PDDeviceRGB.INSTANCE); - public static final PDColor BLACK = new PDColor(new float[] { 0, 0, 0 }, PDDeviceRGB.INSTANCE); - - public static PDColor getColor(String colorName) { - - try { - Field field = PDFColors.class.getDeclaredField(colorName); - if(field == null) { - return BLACK; - } - - field.setAccessible(true); - PDColor value = (PDColor)field.get(PDFColors.class); - return value; - } catch (Exception e) { - throw new RuntimeException("색상 설정 오류"); - } - } -} diff --git a/src/main/java/cokr/xit/fims/cmmn/pdf/print/PDFCoordinate.java b/src/main/java/cokr/xit/fims/cmmn/pdf/print/PDFCoordinate.java deleted file mode 100644 index 1cbcc73c..00000000 --- a/src/main/java/cokr/xit/fims/cmmn/pdf/print/PDFCoordinate.java +++ /dev/null @@ -1,21 +0,0 @@ -package cokr.xit.fims.cmmn.pdf.print; - -public class PDFCoordinate { - private float x; - private float y; - private float maxY; - public PDFCoordinate(float xpt, float ypt, float maxY) { - this.x = xpt; - this.y = ypt; - this.maxY = maxY; - } - - public float[] offset() { - return new float[] {x, -y}; - } - - public float[] absolute() { - return new float[] {x, maxY-y}; - } - -} diff --git a/src/main/java/cokr/xit/fims/cmmn/pdf/print/PDFWriter.java b/src/main/java/cokr/xit/fims/cmmn/pdf/print/PDFWriter.java deleted file mode 100644 index 05d7b385..00000000 --- a/src/main/java/cokr/xit/fims/cmmn/pdf/print/PDFWriter.java +++ /dev/null @@ -1,138 +0,0 @@ -package cokr.xit.fims.cmmn.pdf.print; - -import java.io.File; -import java.io.FileOutputStream; -import java.io.IOException; -import java.io.InputStream; -import java.io.OutputStream; - -import org.apache.pdfbox.pdmodel.PDDocument; -import org.apache.pdfbox.pdmodel.PDPage; -import org.apache.pdfbox.pdmodel.PDPageContentStream; -import org.apache.pdfbox.pdmodel.common.PDRectangle; -import org.apache.pdfbox.pdmodel.font.PDType0Font; -import org.apache.pdfbox.pdmodel.graphics.color.PDColor; -import org.apache.pdfbox.pdmodel.graphics.image.PDImageXObject; -import org.apache.pdfbox.pdmodel.graphics.state.RenderingMode; -import org.springframework.core.io.ClassPathResource; - -import cokr.xit.foundation.Downloadable; - -public class PDFWriter extends PDF { - - public PDFWriter(){ - this.doc = new PDDocument(); - } - - public PDFWriter paper(String type){ - if(type.equals("A4")) { - this.paperSize = PDRectangle.A4; - } else if(type.equals("LETTER")) { - this.paperSize = PDRectangle.LETTER; - } - return this; - } - - public PDRectangle getPaperSize(){ - return this.paperSize; - } - - public PDType0Font font(String path) throws IOException{ - return PDType0Font.load(doc, new ClassPathResource(path).getInputStream()); - } - - public PDFWriter beginPage() throws IOException { - PDPage blankPage = new PDPage(paperSize); - doc.addPage(blankPage); - - // 작업 페이지 설정 - PDPage page = doc.getPage(doc.getNumberOfPages()-1); - // 컨텐츠 스트림 열기 - contentStream = new PDPageContentStream(doc, page); - return this; - } - - public PDFWriter setLineDashPattern(float[] pattern, float phase) throws IOException{ - contentStream.setLineDashPattern(pattern, phase); - return this; - } - public PDFWriter moveTo(float x, float y) throws IOException { - contentStream.moveTo(x, y); - return this; - } - - public PDFWriter lineTo(float x, float y) throws IOException { - contentStream.lineTo(x, y); - return this; - } - public PDFWriter stroke() throws IOException { - contentStream.stroke(); - return this; - } - public PDFWriter beginText() throws IOException { - contentStream.beginText(); - return this; - } - public PDFWriter setFont(PDType0Font font, int fontSize) throws IOException { - contentStream.setFont(font, fontSize); - return this; - } - public PDFWriter setRenderingMode(RenderingMode fontStyle) throws IOException { - contentStream.setRenderingMode(fontStyle); - return this; - } - public PDFWriter setNonStrokingColor(PDColor fontColr) throws IOException { - contentStream.setNonStrokingColor(fontColr); - return this; - } - public PDFWriter newLineAtOffset(float tx, float ty) throws IOException { - contentStream.newLineAtOffset(tx, ty); - return this; - } - public PDFWriter showText(String text) throws IOException { - contentStream.showText(text); - return this; - } - public PDFWriter endText() throws IOException { - contentStream.endText(); - return this; - } - - public PDFWriter image(InputStream imageStream, float x, float y, float width, float height) throws IOException { - PDImageXObject image = PDImageXObject.createFromByteArray(doc, imageStream.readAllBytes(), "temp"); - contentStream.drawImage(image, x, y, width, height); - return this; - } - - public PDFWriter endPage() throws IOException { - contentStream.close(); - contentStream = null; - return this; - } - - - public void write(OutputStream out) { - try { - doc.save(out); - doc.close(); - } catch (Exception e) { - throw runtimeException(e); - } - } - - public File write(String filepath) { - File file = new File(filepath); - try (FileOutputStream out = new FileOutputStream(file)) { - write(out); - return file; - } catch (Exception e) { - throw runtimeException(e); - } - } - - public Downloadable getDownloadable() { - return new Downloadable() - .setContentType(MIME_TYPE) - .setWriter(this::write); - } -} diff --git a/src/main/java/cokr/xit/fims/cmmn/pdf/print/format/Advntce.java b/src/main/java/cokr/xit/fims/cmmn/pdf/print/format/Advntce.java deleted file mode 100644 index 1f15f176..00000000 --- a/src/main/java/cokr/xit/fims/cmmn/pdf/print/format/Advntce.java +++ /dev/null @@ -1,364 +0,0 @@ -package cokr.xit.fims.cmmn.pdf.print.format; - -import java.util.ArrayList; -import java.util.List; -import java.util.Map; - -import cokr.xit.applib.Print; -import cokr.xit.fims.cmmn.FimsPrintOption; -import cokr.xit.fims.mngt.OgdpUtil; -import cokr.xit.foundation.data.DataFormat; -import cokr.xit.foundation.data.DataObject; - -/** - * 사전통지서 - */ -public class Advntce extends PDFPrintFormat { - @Override - public void initDefaultStng() { - addForPost( - image("postSenderLogo","우편물송신자로고","").a4(10, 0).letter(10, 0).size(0, 0), - text("postSenderInst","우편물송신자기관","").a4(10, 5).letter(10, 5), - text("postSenderDept","우편물송신자부서","").a4(50, 5).letter(50, 5), - text("postSenderAddr","우편물송신자주소","").a4(10, 15).letter(10, 15), - text("postSenderDtlAddr","우편물송신자상세주소","").a4(10, 25).letter(10, 25), - text("postSenderZip","우편물송신자우편번호","").a4(10, 35).letter(10, 35), - text("postSenderTel","우편물송신자전화번호","").a4(10, 45).letter(10, 45), - text("postSenderFax","우편물송신자팩스번호","").a4(50, 45).letter(50, 45), - - text("postReceiverAddr","우편물수신자주소","").a4(100, 40).letter(100, 40).size(90, 0).align("right"), - text("postReceiverDtlAddr","우편물수신자상세주소","").a4(100, 50).letter(100, 50).size(90, 0).align("right"), - text("postReceiver","우편물수신자명","").a4(100, 60).letter(100, 60).size(90, 0).align("right"), - text("postReceiverZip","우편물수신자우편번호","").a4(100, 70).letter(100, 70).size(90, 0).align("right") - ); - - add( - image("background","배경이미지","").a4(0, 0).letter(0, 0).size(0, 0), - images("crdnPhoto","단속사진","").a4(110, 100).letter(116, 95).size(90, 80), - image("rprsCrdnPhoto","대표단속사진","").a4(10, 200).letter(10, 186).size(80, 80), - - text("rtpyrNm","수신자명",""), - text("rtpyrNo","수신자번호",""), - text("rtpyrAddr","수신자주소",""), - text("rtpyrDtlAddr","수신자상세주소",""), - text("rtpyrFullAddr","수신자전체주소",""), - - text("vhrno","차량번호",""), - text("crdnYmd","단속일자",""), - text("crdnYmdTm","단속일시",""), - text("crdnPlc","단속장소",""), - text("ffnlgCarmdlNm","차종",""), - text("vltnArtcl","위반내용",""), - text("vltnLawNm","위반법령",""), - text("crdnSn","증거번호",""), - text("ffnlgCrdnAmt","최초금액",""), - - text("advntceAmt","사전통지금액",""), - text("advntceDudtYmd","납부기한",""), - - text("vrActno","대표가상계좌번호",""), - text("vrActno1","가상계좌번호1",""), - text("vrActno2","가상계좌번호2",""), - text("vrActno3","가상계좌번호3",""), - text("vrActno4","가상계좌번호4",""), - text("vrActno5","가상계좌번호5",""), - text("vrActno6","가상계좌번호6",""), - text("vrActno7","가상계좌번호7",""), - text("vrActno8","가상계좌번호8",""), - text("vrActno9","가상계좌번호9",""), - text("vrActno10","가상계좌번호10",""), - text("epayNo","전자납부번호",""), - - text("otptYmd","출력일자","").offLog(), - text("otptDt","출력일시","").offLog(), - text("otptYYYY","출력년도","").offLog(), - text("otptMM","출력월","").offLog(), - text("otptDD","출력일","").offLog(), - - text("offcsText","관인명","").offLog(), - image("offcs","관인이미지","").size(20, 20).offLog(), - - text("undefined","(미정)","미정항목").offLog() - ); - } - public Advntce() { - super(); - } - public Advntce(Print print, FimsPrintOption printOption, - DataObject otptBscStng, List otptArtclStngList, String paperSeCd, List data){ - super(print,printOption,otptBscStng,otptArtclStngList,paperSeCd, data); - this.print.setFormatKorName("사전통지서"); - } - - /** - * 출력요소에 매핑될 값을 반환한다. - */ - @Override - public String getMappingValue(String otptArtclNm, String defaultValue, boolean forPost, - DataObject dataObject, FimsPrintOption printOption, Print print) { - - String result = ""; - if(forPost) { - return this.getValueForPost(otptArtclNm, defaultValue, dataObject, printOption, print); - } - - Map globalVariable = printOption.getGlobalVariable(); - - switch(otptArtclNm) { - case "background" -> { - if(globalVariable.get("bcrnImgPath") != null) { - result = globalVariable.get("bcrnImgPath"); - } - } - case "rprsCrdnPhoto" -> { //대표사진 - result = dataObject.string("CRDN_PHOTO1"); - } - case "rprsCrdnPhotoKey" -> { //대표사진 - result = dataObject.string("CRDN_PHOTO1"+"KEY"); - } - case "rtpyrNm" -> { - result = dataObject.string("RTPYR_NM"); - } - case "rtpyrNo" -> { - result = dataObject.string("RTPYR_NO"); - } - case "rtpyrAddr" -> { - result = dataObject.string("RTPYR_ADDR"); - } - case "rtpyrDtlAddr" -> { - result = dataObject.string("RTPYR_DTL_ADDR"); - } - case "rtpyrFullAddr" -> { - result = dataObject.string("RTPYR_FULL_ADDR"); - } - case "rtpyrZip" -> { - result = dataObject.string("RTPYR_ZIP"); - } - case "vhrno" -> { - result = dataObject.string("VHRNO"); - } - case "crdnYmd" -> { - result = DataFormat.yyyy_mm_dd(dataObject.string("CRDN_YMD")); - } - case "crdnYmdTm" -> { - result = DataFormat.yyyy_mm_dd_hh_mm_ss(dataObject.string("CRDN_YMD_TM")); - } - case "crdnPlc" -> { - result = dataObject.string("CRDN_PLC"); - } - case "ffnlgCarmdlNm" -> { - result = dataObject.string("FFNLG_CARMDL_NM"); - } - case "vltnArtcl" -> { - result = dataObject.string("VLTN_ARTCL"); - } - case "vltnLawNm" -> { - result = dataObject.string("VLTN_LAW_NM"); - } - case "crdnSn" -> { - result = dataObject.string("CRDN_SN"); - } - case "ffnlgCrdnAmt" -> { - result = dataObject.string("FFNLG_CRDN_AMT"); - } - case "advntceAmt" -> { - result = DataFormat.n_nn0(dataObject.string("ADVNTCE_AMT")); - } - case "advntceDudtYmd" -> { - result = DataFormat.yyyy_mm_dd(dataObject.string("ADVNTCE_DUDT_YMD")); - } - - case "vrActno" -> { - result = dataObject.string("VR_ACTNO"); - } - case "vrActno1" -> { - result = dataObject.string("VR_ACTNO1"); - } - case "vrActno2" -> { - result = dataObject.string("VR_ACTNO2"); - } - case "vrActno3" -> { - result = dataObject.string("VR_ACTNO3"); - } - case "vrActno4" -> { - result = dataObject.string("VR_ACTNO4"); - } - case "vrActno5" -> { - result = dataObject.string("VR_ACTNO5"); - } - case "vrActno6" -> { - result = dataObject.string("VR_ACTNO6"); - } - case "vrActno7" -> { - result = dataObject.string("VR_ACTNO7"); - } - case "vrActno8" -> { - result = dataObject.string("VR_ACTNO8"); - } - case "vrActno9" -> { - result = dataObject.string("VR_ACTNO9"); - } - case "vrActno10" -> { - result = dataObject.string("VR_ACTNO10"); - } - case "epayNo" -> { - result = dataObject.string("EPAY_NO"); - } - - case "otptYmd" -> { - result = DataFormat.yyyy_mm_dd(print.getPrintRequestDt().substring(0,8)); - } - case "otptDt" -> { - result = DataFormat.yyyy_mm_dd_hh_mm_ss(print.getPrintRequestDt()); - } - case "otptYYYY" -> { - result = print.getPrintRequestDt().substring(0,4); - } - case "otptMM" -> { - result = print.getPrintRequestDt().substring(4,6); - } - case "otptDD" -> { - result = print.getPrintRequestDt().substring(6,8); - } - - case "offcsText" -> { - String instNm = (String) print.getPrintRequestUserInfo().getInfo().get("instNm"); - instNm = OgdpUtil.getLastWord(instNm); - instNm = OgdpUtil.getInstituteLeader(instNm, true); - result = instNm; - } - case "offcs" -> { - result = globalVariable.get("offcsFilePath"); - } - - case "undefined" -> { - result = defaultValue; - } - } - - return result; - } - - /** - * 우편물 출력요소에 매핑될 값을 반환한다. - */ - @Override - public String getValueForPost(String otptArtclNm, String defaultValue, - DataObject dataObject, FimsPrintOption printOption, Print print) { - String result = ""; - - switch(otptArtclNm) { - case "postReceiverAddr" -> { - result = dataObject.string("RTPYR_ADDR"); - } - case "postReceiverDtlAddr" -> { - result = dataObject.string("RTPYR_DTL_ADDR"); - } - case "postReceiverZip" -> { - result = dataObject.string("RTPYR_ZIP"); - } - case "postReceiver" -> { - result = dataObject.string("RTPYR_NM"); - } - case "postSenderLogo" -> { - result = printOption.getGlobalVariable().get("logoFilePath"); - } - case "postSenderInst" -> { - result = (String)print.getPrintRequestUserInfo().getInfo().get("instNm"); - } - case "postSenderDept" -> { - result = (String)print.getPrintRequestUserInfo().getInfo().get("deptNm"); - } - case "postSenderAddr" -> { - result = printOption.getGlobalVariable().get("instAddr"); - } - case "postSenderDtlAddr" -> { - result = printOption.getGlobalVariable().get("instDaddr"); - } - case "postSenderZip" -> { - result = printOption.getGlobalVariable().get("instZip"); - } - case "postSenderTel" -> { - result = printOption.getGlobalVariable().get("deptTelno"); - } - case "postSenderFax" -> { - result = printOption.getGlobalVariable().get("deptFxno"); - } - - } - return result; - } - - - @Override - public List getMappingValues(String otptArtclNm, String defaultValue, boolean forPost, - DataObject dataObject, FimsPrintOption printOption, Print print) { - List result = new ArrayList(); - - switch(otptArtclNm) { - case "crdnPhoto" -> { - int i = 1; - while(!dataObject.string("CRDN_PHOTO"+i).equals("")) { - result.add(dataObject.string("CRDN_PHOTO"+i)); - i++; - } - } - case "crdnPhotoKey" -> { - int i = 1; - while(!dataObject.string("CRDN_PHOTO"+i+"KEY").equals("")) { - result.add(dataObject.string("CRDN_PHOTO"+i+"KEY")); - i++; - } - } - } - - return result; - } - - - /** - * 출력용 샘플 데이터를 생성한다. - */ - @Override - public DataObject createSampleData() { - DataObject dataObject = new DataObject(); - dataObject.put("RTPYR_NM", "홍길동"); - dataObject.put("RTPYR_ADDR", "무슨도 무슨시 무슨구"); - dataObject.put("RTPYR_DTL_ADDR", "ㅇㅇ아파트 999호"); - dataObject.put("RTPYR_FULL_ADDR", "무슨도 무슨시 무슨구 ㅇㅇ아파트 999호"); - dataObject.put("RTPYR_ZIP", "12345"); - dataObject.put("VHRNO", "00가0000"); - dataObject.put("CRDN_YMD", "20231204"); - dataObject.put("CRDN_YMD_TM", "20231204080808"); - dataObject.put("CRDN_PLC", "사거리 건너편"); - dataObject.put("FFNLG_CARMDL_NM", "승용"); - dataObject.put("VLTN_ARTCL", "주차위반"); - dataObject.put("VLTN_LAW_NM", "00법 제0조 제0항"); - dataObject.put("CRDN_SN", "1234567890"); - dataObject.put("VR_ACTNO", "000000-00-000000"); - dataObject.put("VR_ACTNO1", "111111-00-000000"); - dataObject.put("VR_ACTNO2", "222222-00-000000"); - dataObject.put("VR_ACTNO3", "333333-00-000000"); - dataObject.put("VR_ACTNO4", "444444-00-000000"); - dataObject.put("VR_ACTNO5", "555555-00-000000"); - dataObject.put("VR_ACTNO6", "666666-00-000000"); - dataObject.put("VR_ACTNO7", "777777-00-000000"); - dataObject.put("VR_ACTNO8", "888888-00-000000"); - dataObject.put("VR_ACTNO9", "999999-00-000000"); - dataObject.put("VR_ACTNO10", "101010-00-000000"); - dataObject.put("EPAY_NO", "00000-0-00-00-000000000"); - dataObject.put("FFNLG_CRDN_AMT", "100000"); - dataObject.put("ADVNTCE_AMT", "80000"); - dataObject.put("ADVNTCE_DUDT_YMD", "20231231"); - - dataObject.put("CRDN_PHOTO1", "samplefiles/crdn1.png"); - dataObject.put("CRDN_PHOTO2", "samplefiles/crdn2.png"); - dataObject.put("CRDN_PHOTO3", "samplefiles/crdn3.png"); - dataObject.put("CRDN_PHOTO4", "samplefiles/crdn4.png"); - dataObject.put("CRDN_PHOTO5", "samplefiles/crdn5.png"); - dataObject.put("CRDN_PHOTO6", "samplefiles/crdn6.png"); - dataObject.put("CRDN_PHOTO7", "samplefiles/crdn7.png"); - - return dataObject; - } -} diff --git a/src/main/java/cokr/xit/fims/cmmn/pdf/print/format/Nht.java b/src/main/java/cokr/xit/fims/cmmn/pdf/print/format/Nht.java deleted file mode 100644 index 70858fee..00000000 --- a/src/main/java/cokr/xit/fims/cmmn/pdf/print/format/Nht.java +++ /dev/null @@ -1,446 +0,0 @@ -package cokr.xit.fims.cmmn.pdf.print.format; - -import java.util.ArrayList; -import java.util.List; -import java.util.Map; - -import cokr.xit.applib.Print; -import cokr.xit.fims.cmmn.CmmnUtil; -import cokr.xit.fims.cmmn.FimsPrintOption; -import cokr.xit.fims.mngt.OgdpUtil; -import cokr.xit.foundation.data.DataFormat; -import cokr.xit.foundation.data.DataObject; - -public class Nht extends PDFPrintFormat { - @Override - public void initDefaultStng() { - addForPost( - image("postSenderLogo","우편물송신자로고","").a4(10, 0).letter(10, 0).size(0, 0), - text("postSenderInst","우편물송신자기관","").a4(10, 5).letter(10, 5), - text("postSenderDept","우편물송신자부서","").a4(50, 5).letter(50, 5), - text("postSenderAddr","우편물송신자주소","").a4(10, 15).letter(10, 15), - text("postSenderDtlAddr","우편물송신자상세주소","").a4(10, 25).letter(10, 25), - text("postSenderZip","우편물송신자우편번호","").a4(10, 35).letter(10, 35), - text("postSenderTel","우편물송신자전화번호","").a4(10, 45).letter(10, 45), - text("postSenderFax","우편물송신자팩스번호","").a4(50, 45).letter(50, 45), - - text("postReceiverAddr","우편물수신자주소","").a4(100, 40).letter(100, 40).size(90, 0).align("right"), - text("postReceiverDtlAddr","우편물수신자상세주소","").a4(100, 50).letter(100, 50).size(90, 0).align("right"), - text("postReceiver","우편물수신자명","").a4(100, 60).letter(100, 60).size(90, 0).align("right"), - text("postReceiverZip","우편물수신자우편번호","").a4(100, 70).letter(100, 70).size(90, 0).align("right") - ); - - add( - image("background","배경이미지","").a4(0, 0).letter(0, 0).size(0, 0), - images("crdnPhoto","단속사진","").a4(110, 100).letter(116, 95).size(90, 80), - image("rprsCrdnPhoto","대표단속사진","").a4(10, 200).letter(10, 186).size(80, 80), - - text("ocr1","OCR32자리",""), - text("ocr2","OCR54자리1",""), - text("ocr3","OCR54자리2",""), - - text("rtpyrNm","수신자명",""), - text("rtpyrNo","수신자번호",""), - text("rtpyrAddr","수신자주소",""), - text("rtpyrDtlAddr","수신자상세주소",""), - text("rtpyrFullAddr","수신자전체주소",""), - - text("vhrno","차량번호",""), - text("crdnYmd","단속일자",""), - text("crdnYmdTm","단속일시",""), - text("crdnPlc","단속장소",""), - text("ffnlgCarmdlNm","차종",""), - text("vltnArtcl","위반내용",""), - text("vltnLawNm","위반법령",""), - text("crdnSn","증거번호",""), - text("ffnlgCrdnAmt","최초금액",""), - - text("pcptax","본세",""), - text("adamt","가산금",""), - text("sumAmt","납기금액",""), - text("dudtYmd","납기일자",""), - text("dudtAftrPcptax","납기후본세",""), - text("dudtAftrAdamt","납기후가산금",""), - text("dudtAftrAmt","납기후금액",""), - text("dudtAftrYmd","납기후일자",""), - - text("vrActno","대표가상계좌번호",""), - text("vrActno1","가상계좌번호1",""), - text("vrActno2","가상계좌번호2",""), - text("vrActno3","가상계좌번호3",""), - text("vrActno4","가상계좌번호4",""), - text("vrActno5","가상계좌번호5",""), - text("vrActno6","가상계좌번호6",""), - text("vrActno7","가상계좌번호7",""), - text("vrActno8","가상계좌번호8",""), - text("vrActno9","가상계좌번호9",""), - text("vrActno10","가상계좌번호10",""), - text("epayNo","전자납부번호",""), - - text("otptYmd","출력일자","").offLog(), - text("otptDt","출력일시","").offLog(), - text("otptYYYY","출력년도","").offLog(), - text("otptMM","출력월","").offLog(), - text("otptDD","출력일","").offLog(), - - text("offcsText","관인명","").offLog(), - image("offcs","관인이미지","").size(20, 20).offLog(), - - text("undefined","(미정)","미정항목").offLog() - ); - } - - public Nht() { - super(); - } - - public Nht(Print print, FimsPrintOption printOption, - DataObject otptBscStng, List otptArtclStngList, String paperSeCd, List data) { - super(print,printOption,otptBscStng,otptArtclStngList,paperSeCd, data); - this.print.setFormatKorName("고지서"); - } - - - - /** - * 출력요소에 매핑될 값을 반환한다. - */ - @Override - public String getMappingValue(String otptArtclNm, String defaultValue, boolean forPost, - DataObject dataObject, FimsPrintOption printOption, Print print) { - - String result = ""; - if(forPost) { - return this.getValueForPost(otptArtclNm, defaultValue, dataObject, printOption, print); - } - - Map globalVariable = printOption.getGlobalVariable(); - - switch(otptArtclNm) { - case "background" -> { - if(globalVariable.get("bcrnImgPath") != null) { - result = globalVariable.get("bcrnImgPath"); - } - } - case "rprsCrdnPhoto" -> { //대표사진 - result = dataObject.string("CRDN_PHOTO1"); - } - case "rprsCrdnPhotoKey" -> { //대표사진 - result = dataObject.string("CRDN_PHOTO1"+"KEY"); - } - case "rtpyrNm" -> { - result = dataObject.string("RTPYR_NM"); - } - case "rtpyrNo" -> { - result = dataObject.string("RTPYR_NO"); - } - case "rtpyrAddr" -> { - result = dataObject.string("RTPYR_ADDR"); - } - case "rtpyrDtlAddr" -> { - result = dataObject.string("RTPYR_DTL_ADDR"); - } - case "rtpyrFullAddr" -> { - result = dataObject.string("RTPYR_FULL_ADDR"); - } - case "rtpyrZip" -> { - result = dataObject.string("RTPYR_ZIP"); - } - case "vhrno" -> { - result = dataObject.string("VHRNO"); - } - case "crdnYmd" -> { - result = DataFormat.yyyy_mm_dd(dataObject.string("CRDN_YMD")); - } - case "crdnYmdTm" -> { - result = DataFormat.yyyy_mm_dd_hh_mm_ss(dataObject.string("CRDN_YMD_TM")); - } - case "crdnPlc" -> { - result = dataObject.string("CRDN_PLC"); - } - case "ffnlgCarmdlNm" -> { - result = dataObject.string("FFNLG_CARMDL_NM"); - } - case "vltnArtcl" -> { - result = dataObject.string("VLTN_ARTCL"); - } - case "vltnLawNm" -> { - result = dataObject.string("VLTN_LAW_NM"); - } - case "crdnSn" -> { - result = dataObject.string("CRDN_SN"); - } - case "ffnlgCrdnAmt" -> { - result = dataObject.string("FFNLG_CRDN_AMT"); - } - - case "pcptax" -> { //본세 - result = dataObject.string("PCPTAX"); - } - case "adamt" -> { //가산금 - result = dataObject.string("ADAMT"); - } - case "sumAmt" -> { //납기금액 - result = dataObject.string("SUM_AMT"); - } - case "dudtYmd" -> { //납기일자 - result = dataObject.string("DUDT_YMD"); - } - case "dudtAftrPcptax" -> { //납기후본세 - result = dataObject.string("PCPTAX"); - } - case "dudtAftrAdamt" -> { //납기후가산금 - result = (dataObject.number("DUDT_AFTR_AMT").intValue() - dataObject.number("PCPTAX").intValue())+""; - } - case "dudtAftrAmt" -> { //납기후금액 - result = dataObject.string("DUDT_AFTR_AMT"); - } - case "dudtAftrYmd" -> { //납기후일자 - result = dataObject.string("DUDT_AFTR_YMD"); - } - - case "vrActno" -> { - result = dataObject.string("VR_ACTNO"); - } - case "vrActno1" -> { - result = dataObject.string("VR_ACTNO1"); - } - case "vrActno2" -> { - result = dataObject.string("VR_ACTNO2"); - } - case "vrActno3" -> { - result = dataObject.string("VR_ACTNO3"); - } - case "vrActno4" -> { - result = dataObject.string("VR_ACTNO4"); - } - case "vrActno5" -> { - result = dataObject.string("VR_ACTNO5"); - } - case "vrActno6" -> { - result = dataObject.string("VR_ACTNO6"); - } - case "vrActno7" -> { - result = dataObject.string("VR_ACTNO7"); - } - case "vrActno8" -> { - result = dataObject.string("VR_ACTNO8"); - } - case "vrActno9" -> { - result = dataObject.string("VR_ACTNO9"); - } - case "vrActno10" -> { - result = dataObject.string("VR_ACTNO10"); - } - case "epayNo" -> { - result = dataObject.string("EPAY_NO"); - } - - case "ocr1" -> { - String deptCode = dataObject.string("DEPT_CD"); - String spclBizCd = dataObject.string("SPCL_BIZ_CD"); - String fyr = dataObject.string("FYR"); - String acntgSeCd = dataObject.string("ACNTG_SE_CD"); - String txitmCd = dataObject.string("TXITM_CD"); - String levyNo = dataObject.string("LEVY_NO"); - String ispySn = dataObject.string("ISPY_SN"); - result = CmmnUtil.getOcrband1(deptCode, spclBizCd, fyr, acntgSeCd, txitmCd, levyNo, ispySn); - } - case "ocr2" -> { - String deptCode = dataObject.string("DEPT_CD"); - String spclBizCd = dataObject.string("SPCL_BIZ_CD"); - String fyr = dataObject.string("FYR"); - String acntgSeCd = dataObject.string("ACNTG_SE_CD"); - String txitmCd = dataObject.string("TXITM_CD"); - String levyNo = dataObject.string("LEVY_NO"); - String ispySn = dataObject.string("ISPY_SN"); - String ocrBand1 = CmmnUtil.getOcrband1(deptCode, spclBizCd, fyr, acntgSeCd, txitmCd, levyNo, ispySn); - - String levySeCd = dataObject.string("LEVY_SE_CD"); - int sumAmt = dataObject.number("SUM_AMT").intValue(); // 합계 금액 - String dudtYmd = dataObject.string("DUDT_YMD"); - result = CmmnUtil.getOcrband2(ocrBand1, levySeCd, sumAmt, dudtYmd); - } - case "ocr3" -> { - String deptCode = dataObject.string("DEPT_CD"); - String spclBizCd = dataObject.string("SPCL_BIZ_CD"); - String fyr = dataObject.string("FYR"); - String acntgSeCd = dataObject.string("ACNTG_SE_CD"); - String txitmCd = dataObject.string("TXITM_CD"); - String levyNo = dataObject.string("LEVY_NO"); - String ispySn = dataObject.string("ISPY_SN"); - String ocrBand1 = CmmnUtil.getOcrband1(deptCode, spclBizCd, fyr, acntgSeCd, txitmCd, levyNo, ispySn); - - String levySeCd = dataObject.string("LEVY_SE_CD"); - int sumAmt = dataObject.number("SUM_AMT").intValue(); // 합계 금액 - String dudtYmd = dataObject.string("DUDT_YMD"); - String ocrBand2 = CmmnUtil.getOcrband2(ocrBand1, levySeCd, sumAmt, dudtYmd); - - int afterSumAmt = dataObject.number("DUDT_AFTR_AMT").intValue(); // 납기후 금액 - result = CmmnUtil.getOcrband3(ocrBand2, sumAmt, dudtYmd, afterSumAmt); - } - - case "otptYmd" -> { - result = DataFormat.yyyy_mm_dd(print.getPrintRequestDt().substring(0,8)); - } - case "otptDt" -> { - result = DataFormat.yyyy_mm_dd_hh_mm_ss(print.getPrintRequestDt()); - } - case "otptYYYY" -> { - result = print.getPrintRequestDt().substring(0,4); - } - case "otptMM" -> { - result = print.getPrintRequestDt().substring(4,6); - } - case "otptDD" -> { - result = print.getPrintRequestDt().substring(6,8); - } - - case "offcsText" -> { - String instNm = (String) print.getPrintRequestUserInfo().getInfo().get("instNm"); - instNm = OgdpUtil.getLastWord(instNm); - instNm = OgdpUtil.getInstituteLeader(instNm, true); - result = instNm; - } - case "offcs" -> { - result = globalVariable.get("offcsFilePath"); - } - - case "undefined" -> { - result = defaultValue; - } - } - - return result; - } - - /** - * 우편물 출력요소에 매핑될 값을 반환한다. - */ - @Override - public String getValueForPost(String otptArtclNm, String defaultValue, - DataObject dataObject, FimsPrintOption printOption, Print print) { - String result = ""; - - switch(otptArtclNm) { - case "postReceiverAddr" -> { - result = dataObject.string("RTPYR_ADDR"); - } - case "postReceiverDtlAddr" -> { - result = dataObject.string("RTPYR_DTL_ADDR"); - } - case "postReceiverZip" -> { - result = dataObject.string("RTPYR_ZIP"); - } - case "postReceiver" -> { - result = dataObject.string("RTPYR_NM"); - } - case "postSenderLogo" -> { - result = printOption.getGlobalVariable().get("logoFilePath"); - } - case "postSenderInst" -> { - result = (String)print.getPrintRequestUserInfo().getInfo().get("instNm"); - } - case "postSenderDept" -> { - result = (String)print.getPrintRequestUserInfo().getInfo().get("deptNm"); - } - case "postSenderAddr" -> { - result = printOption.getGlobalVariable().get("instAddr"); - } - case "postSenderDtlAddr" -> { - result = printOption.getGlobalVariable().get("instDaddr"); - } - case "postSenderZip" -> { - result = printOption.getGlobalVariable().get("instZip"); - } - case "postSenderTel" -> { - result = printOption.getGlobalVariable().get("deptTelno"); - } - case "postSenderFax" -> { - result = printOption.getGlobalVariable().get("deptFxno"); - } - - } - return result; - } - - @Override - public List getMappingValues(String otptArtclNm, String defaultValue, boolean forPost, - DataObject dataObject, FimsPrintOption printOption, Print print) { - List result = new ArrayList(); - - switch(otptArtclNm) { - case "crdnPhoto" -> { - int i = 1; - while(!dataObject.string("CRDN_PHOTO"+i).equals("")) { - result.add(dataObject.string("CRDN_PHOTO"+i)); - i++; - } - } - } - - return result; - } - - /** - * 출력용 샘플 데이터를 생성한다. - */ - @Override - public DataObject createSampleData() { - DataObject dataObject = new DataObject(); - dataObject.put("RTPYR_NM", "홍길동"); - dataObject.put("RTPYR_ADDR", "무슨도 무슨시 무슨구"); - dataObject.put("RTPYR_DTL_ADDR", "ㅇㅇ아파트 999호"); - dataObject.put("RTPYR_FULL_ADDR", "무슨도 무슨시 무슨구 ㅇㅇ아파트 999호"); - dataObject.put("RTPYR_ZIP", "12345"); - dataObject.put("VHRNO", "00가0000"); - dataObject.put("CRDN_YMD", "20231204"); - dataObject.put("CRDN_YMD_TM", "20231204080808"); - dataObject.put("CRDN_PLC", "사거리 건너편"); - dataObject.put("FFNLG_CARMDL_NM", "승용"); - dataObject.put("VLTN_ARTCL", "주차위반"); - dataObject.put("VLTN_LAW_NM", "00법 제0조 제0항"); - dataObject.put("CRDN_SN", "1234567890"); - dataObject.put("VR_ACTNO", "000000-00-000000"); - dataObject.put("VR_ACTNO1", "111111-00-000000"); - dataObject.put("VR_ACTNO2", "222222-00-000000"); - dataObject.put("VR_ACTNO3", "333333-00-000000"); - dataObject.put("VR_ACTNO4", "444444-00-000000"); - dataObject.put("VR_ACTNO5", "555555-00-000000"); - dataObject.put("VR_ACTNO6", "666666-00-000000"); - dataObject.put("VR_ACTNO7", "777777-00-000000"); - dataObject.put("VR_ACTNO8", "888888-00-000000"); - dataObject.put("VR_ACTNO9", "999999-00-000000"); - dataObject.put("VR_ACTNO10", "101010-00-000000"); - dataObject.put("EPAY_NO", "00000-0-00-00-000000000"); - dataObject.put("FFNLG_CRDN_AMT", "100000"); - dataObject.put("ADVNTCE_AMT", "80000"); - dataObject.put("ADVNTCE_DUDT_YMD", "20231231"); - - dataObject.put("DEPT_CD", "4060411"); - dataObject.put("SPCL_BIZ_CD", "0000"); - dataObject.put("FYR", "2023"); - dataObject.put("ACNTG_SE_CD", "61"); - dataObject.put("TXITM_CD", "234006"); - dataObject.put("LEVY_NO", "123456"); - dataObject.put("ISPY_SN", "00"); - dataObject.put("LEVY_SE_CD", "01"); - - dataObject.put("PCPTAX", "80000"); //본세 - dataObject.put("ADAMT", "0"); //가산금 - dataObject.put("SUM_AMT", "80000"); //합계금액 - dataObject.put("DUDT_YMD", "20231215"); //납기일자 - dataObject.put("DUDT_AFTR_AMT", "100000"); //납기후 금액 - dataObject.put("DUDT_AFTR_YMD", "20231231"); //납기후 일자 - - dataObject.put("CRDN_PHOTO1", "samplefiles/crdn1.png"); - dataObject.put("CRDN_PHOTO2", "samplefiles/crdn2.png"); - dataObject.put("CRDN_PHOTO3", "samplefiles/crdn3.png"); - dataObject.put("CRDN_PHOTO4", "samplefiles/crdn4.png"); - dataObject.put("CRDN_PHOTO5", "samplefiles/crdn5.png"); - dataObject.put("CRDN_PHOTO6", "samplefiles/crdn6.png"); - dataObject.put("CRDN_PHOTO7", "samplefiles/crdn7.png"); - - return dataObject; - } -} diff --git a/src/main/java/cokr/xit/fims/cmmn/pdf/print/format/PDFPrintFormat.java b/src/main/java/cokr/xit/fims/cmmn/pdf/print/format/PDFPrintFormat.java deleted file mode 100644 index 759ddc9e..00000000 --- a/src/main/java/cokr/xit/fims/cmmn/pdf/print/format/PDFPrintFormat.java +++ /dev/null @@ -1,913 +0,0 @@ -package cokr.xit.fims.cmmn.pdf.print.format; - -import java.io.File; -import java.io.FileInputStream; -import java.io.FileNotFoundException; -import java.io.IOException; -import java.io.InputStream; -import java.util.ArrayList; -import java.util.Comparator; -import java.util.HashMap; -import java.util.List; -import java.util.Map; -import java.util.stream.Collectors; - -import org.apache.pdfbox.pdmodel.common.PDRectangle; -import org.apache.pdfbox.pdmodel.font.PDType0Font; -import org.apache.pdfbox.pdmodel.graphics.color.PDColor; -import org.apache.pdfbox.pdmodel.graphics.state.RenderingMode; -import org.egovframe.rte.fdl.string.EgovStringUtil; -import org.springframework.core.io.ClassPathResource; - -import cokr.xit.applib.Print; -import cokr.xit.fims.cmmn.CmmnUtil; -import cokr.xit.fims.cmmn.FimsPrintOption; -import cokr.xit.fims.cmmn.Pstn; -import cokr.xit.fims.cmmn.PstnAndSize; -import cokr.xit.fims.cmmn.Size; -import cokr.xit.fims.cmmn.pdf.print.DefaultOtptArtclStng; -import cokr.xit.fims.cmmn.pdf.print.PDFColors; -import cokr.xit.fims.cmmn.pdf.print.PDFCoordinate; -import cokr.xit.fims.cmmn.pdf.print.PDFWriter; -import cokr.xit.fims.sprt.MediaUtil; -import cokr.xit.foundation.data.DataObject; - -public abstract class PDFPrintFormat { - protected PDFWriter writer; - - protected Print print; - protected FimsPrintOption printOption; - protected List data; - - protected DataObject otptBscStng; - protected List otptArtclStngList; - protected String paperSeCd; - protected float[] paperMilimeter = new float[2]; - protected List prototypeStngs = new ArrayList(); - - public abstract void initDefaultStng(); - - public PDFPrintFormat() { - initDefaultStng(); - } - - public PDFPrintFormat(Print print, FimsPrintOption printOption, - DataObject otptBscStng, List otptArtclStngList, String paperSeCd, List data) { - initDefaultStng(); - this.data = data; - this.print = print; - this.print.setExtension("pdf"); - this.printOption = printOption; - this.otptBscStng = otptBscStng; - this.otptArtclStngList = otptArtclStngList; - this.paperSeCd = paperSeCd; - if(paperSeCd.equals("01")) { - this.paperMilimeter = new float[] {210.0f , 297.0f}; - } else if(paperSeCd.equals("02")){ - this.paperMilimeter = new float[] {216.0f , 279.0f}; - } - } - - public void setOtptBscStng(DataObject otptBscStng) { - this.otptBscStng = otptBscStng; - } - - public void setOtptArtclStngList(List otptArtclStngList) { - this.otptArtclStngList = otptArtclStngList; - } - - public List getOtptArtclStngList() { - return this.otptArtclStngList; - } - - - public void setPaperSeCd(String paperSeCd) { - this.paperSeCd = paperSeCd; - - } - - public void setPrint(Print print) { - this.print = print; - }; - - - /** - * 포맷원형을 반환한다. - */ - public List getPrototypeStngs(){ - return this.prototypeStngs; - } - - /** - * 포맷원형을 반환한다. - */ - public List getPrototypeStngs(boolean unique){ - return this.prototypeStngs.stream().filter(item -> item.isUnique() == unique).toList(); - } - - /** - * 텍스트 출력요소를 정의한다. - */ - public DefaultOtptArtclStng text(String artclNm, String artclDscrp, String otptBscVl){ - return new DefaultOtptArtclStng("text", artclNm, artclDscrp, otptBscVl); - } - - /** - * 이미지 출력요소 정의한다. - */ - public DefaultOtptArtclStng image(String artclNm, String artclDscrp, String otptBscVl){ - return new DefaultOtptArtclStng("image", artclNm, artclDscrp, otptBscVl); - } - - /** - * 이미지 묶음 출력요소 정의한다. - */ - public DefaultOtptArtclStng images(String artclNm, String artclDscrp, String otptBscVl){ - return new DefaultOtptArtclStng("images", artclNm, artclDscrp, otptBscVl); - } - - /** - * 포맷원형에 출력요소를 추가한다. - */ - public void add(DefaultOtptArtclStng... prototypeStngs){ - for(DefaultOtptArtclStng prototypeStng : prototypeStngs) { - this.prototypeStngs.add(prototypeStng); - } - } - - /** - * 포맷원형에 우편물 출력요소를 추가한다. - */ - public void addForPost(DefaultOtptArtclStng... prototypeStngs){ - for(DefaultOtptArtclStng prototypeStng : prototypeStngs) { - this.prototypeStngs.add(prototypeStng.post()); - } - }; - - /** - * 출력요소에 매핑될 값을 반환한다. - */ - public abstract String getMappingValue(String otptArtclNm, String defaultValue, boolean forPost, - DataObject dataObject, FimsPrintOption printOption, Print print); - - public abstract List getMappingValues(String otptArtclNm, String defaultValue, boolean forPost, - DataObject dataObject, FimsPrintOption printOption, Print print); - - /** - * 우편물 출력요소에 매핑될 값을 반환한다. - */ - public abstract String getValueForPost(String otptArtclNm, String defaultValue, - DataObject dataObject, FimsPrintOption printOption, Print print); - - /** - * 시군구별 출력설정요소에 속성(요소 유형, 출력설명, 출력물 내 유일 요소 여부, 우편물 관련 요소 여부, 기본값)을 추가한다. - */ - public void appendOtptAttribute(List otptArtclStngList) { - - if(otptArtclStngList!=null && !otptArtclStngList.isEmpty()) { - List prototypeStngs = this.getPrototypeStngs(); - - for(DataObject otptArtclStng : otptArtclStngList) { - String otptArtclNm = (String) otptArtclStng.get("OTPT_ARTCL_NM"); - DefaultOtptArtclStng prototypeStng = prototypeStngs.stream() - .filter(item -> item.getArtclNm().equals(otptArtclNm)).toList().get(0); - - otptArtclStng.set("UNIQUE_YN", prototypeStng.isUnique() ? "Y" : "N"); - otptArtclStng.set("DSCRP", prototypeStng.getArtclDscrp()); - otptArtclStng.set("COMPONENT_TYPE", prototypeStng.getComponentType()); - otptArtclStng.set("POST_YN", prototypeStng.isForPost() ? "Y" : "N"); - } - } - - - } - - /** - * 출력용 샘플 데이터를 생성한다. - */ - public abstract DataObject createSampleData(); - - public List getMosSet(String imageKey, DataObject dataObject) { - List list = CmmnUtil.getDataObjectListFromMap(dataObject,"MOS"+imageKey); - - if(list != null) { - return list; - } else { - return null; - } - } - - - - /** - * 서식에서 사용하는 출력항목 중 사용하는 항목만 추출한다. - */ - public List filterUsedArtcls() { - List otptArtclNmList = this.otptArtclStngList.stream().map((item) -> { return item.string("OTPT_ARTCL_NM"); }).toList(); - - List result = this.getPrototypeStngs().stream() - .filter((item) -> { - return otptArtclNmList.contains(item.getArtclNm()); - }).toList(); - - return result; - } - - /** - * 다운로드 이력에 남길 항목명을 추출한다. - */ - public List filterDownloadDataNames() { - - List result = this.filterUsedArtcls().stream() - .filter((item) -> { - return item.isDownloadData(); - }) - .map(DefaultOtptArtclStng::getArtclDscrp).toList(); - - return result; - } - - public Map makeFile() { - Map result = new HashMap<>(); - - writer = new PDFWriter(); - - //폰트 로드 - Map fontMap = this.getFontMap(writer); - - //용지 크기 설정 - if(this.paperSeCd.equals("01")) { - writer.paper("A4"); - } else { - writer.paper("LETTER"); - } - - - List prototypeStngList = this.getPrototypeStngs(); - - try { - - - //출력요소별 속성 정보 추가 - this.appendOtptAttribute(this.otptArtclStngList); - - //출력 요소 정렬 - Comparator comparator1 = (item1, item2) -> { - int int1 = item1.string("UNIQUE_YN").equals("Y") ? 0 : 1; - int int2 = item2.string("UNIQUE_YN").equals("Y") ? 0 : 1; - return Integer.compare(int1, int2); - }; - Comparator comparator2 = (item1, item2) -> { - int int1 = item1.number("OTPT_ARTCL_SEQ").intValue(); - int int2 = item2.number("OTPT_ARTCL_SEQ").intValue(); - return Integer.compare(int1, int2); - }; - otptArtclStngList = otptArtclStngList.stream() - .sorted(comparator1.thenComparing(comparator2)).collect(Collectors.toList()); - - - //대표단속사진 설정 여부 확인 - boolean rprsCrdnPhotoYn = false; - if(otptArtclStngList.stream().filter(item -> item.string("OTPT_ARTCL_NM").equals("rprsCrdnPhoto")).count() > 0) { - rprsCrdnPhotoYn = true; - } - - for(DataObject dataObject : data) { - writer.beginPage(); - - boolean completeFoldLine = false; - - for(DataObject otptArtclStng : otptArtclStngList) { - String otptArtclNm = otptArtclStng.string("OTPT_ARTCL_NM"); - - if(!otptArtclNm.equals("background") && !completeFoldLine) { - //접는곳 점선 그리기 - if(!otptBscStng.string("FOLD_LINE_PSTN_SE_CD").equals("")) { - this.renderFoldLine(writer, otptBscStng.string("FOLD_LINE_PSTN_SE_CD")); - } - completeFoldLine = true; - } - - DefaultOtptArtclStng prototypeStng = prototypeStngList.stream() - .filter(item -> item.getArtclNm().equals(otptArtclNm)).toList().get(0); - - float[] pstn = this.getPstnStng(prototypeStng, otptArtclStng, this.paperSeCd); - float[] size = this.getSize(prototypeStng, otptArtclStng); - - boolean forPost = prototypeStng.isForPost(); - String defaultValue = prototypeStng.getOtptBscVl(); - - if(prototypeStng.getComponentType().equals("text")) { - String align = this.getAlign(prototypeStng, otptArtclStng); - String lineChgYn = this.getLineChgYn(prototypeStng, otptArtclStng); - PDType0Font font = this.getFontType(prototypeStng, otptArtclStng, fontMap); - int fontSz = this.getFontSize(prototypeStng, otptArtclStng); - RenderingMode fontStyle = this.getFontStyle(prototypeStng, otptArtclStng); - PDColor fontColr = this.getFontColor(prototypeStng, otptArtclStng); - - String textValue = this.getMappingValue(otptArtclNm,defaultValue,forPost,dataObject,printOption, this.print); - - this.writeText(writer, textValue, pstn, size[0], align, lineChgYn - , font, fontSz, fontStyle, fontColr); - - } else if(prototypeStng.getComponentType().equals("image")) { - - String imagePath = this.getMappingValue(otptArtclNm,defaultValue,forPost,dataObject,printOption,this.print); - - if(EgovStringUtil.null2void(imagePath).equals("")) { - continue; - } - - if(!imagePath.startsWith("files")) { - imagePath = CmmnUtil.copyStaticResource(imagePath, false); - } - - File imageFile = new File(imagePath); - InputStream is = new FileInputStream(imageFile); - - String imageKey = ""; - List mosSet = null; - if(otptArtclNm.equals("rprsCrdnPhoto")) { - imageKey = this.getMappingValue(otptArtclNm+"Key",defaultValue,forPost,dataObject,printOption,this.print); - mosSet = this.getMosSet(imageKey, dataObject); - } - this.insertImage(writer, is, pstn, size); - - if(otptArtclNm.equals("rprsCrdnPhoto") && !imageKey.equals("") && mosSet != null) { - - File imageFile0 = new File(imagePath); - InputStream is0 = new FileInputStream(imageFile0); - - List transformedMosaicInfos = MediaUtil.getTransformedMosaic( - mosSet, is0, new PstnAndSize(pstn[0],pstn[1], size[0], size[1]) - ); - - for(int k=0; k < transformedMosaicInfos.size(); k++) { - PstnAndSize mosaicInfo = transformedMosaicInfos.get(k); - - InputStream blackImageStream = new ClassPathResource("samplefiles/black.png").getInputStream(); - this.insertImage(writer, blackImageStream, - mosaicInfo.getPstn().to2Float(), mosaicInfo.getSize().to2Float()); - } - - } - - - } else if(prototypeStng.getComponentType().equals("images")) { - - List imagePaths = this.getMappingValues(otptArtclNm,defaultValue,forPost,dataObject,printOption,this.print); - - List imageKeys = new ArrayList(); - List> mosSets = new ArrayList>(); - if(otptArtclNm.equals("crdnPhoto")) { - imageKeys = this.getMappingValues(otptArtclNm+"Key",defaultValue,forPost,dataObject,printOption,this.print); - if(rprsCrdnPhotoYn && imagePaths.size() > 0) { - imageKeys.remove(0); - } - for(String imageKey : imageKeys) { - mosSets.add(this.getMosSet(imageKey, dataObject)); - } - - } - - if(otptArtclNm.equals("crdnPhoto")) { - if(rprsCrdnPhotoYn && imagePaths.size() > 0) { - imagePaths.remove(0); - } - } - - int printCntSetting = otptBscStng.number("OTPT_PHOTO_CNT").intValue(); - int dataImageCnt = imagePaths.size(); - - if(printCntSetting != 0 && dataImageCnt != 0) { - - List devideInfos = this.devideImageArea(pstn, size, printCntSetting, dataImageCnt); - - for (int i=0; i< devideInfos.size(); i++){ - PstnAndSize devideInfo = devideInfos.get(i); - - if(EgovStringUtil.null2void(imagePaths.get(i)).equals("")) { - continue; - } - - if(!imagePaths.get(i).startsWith("files")) { - imagePaths.set(i, CmmnUtil.copyStaticResource(imagePaths.get(i), false)); - } - - String imagePath = imagePaths.get(i); - - File imageFile = new File(imagePath); - InputStream is = new FileInputStream(imageFile); - - this.insertImage(writer, is, - devideInfo.getPstn().to2Float(), devideInfo.getSize().to2Float()); - - - if(otptArtclNm.equals("crdnPhoto") && !imageKeys.isEmpty() && !mosSets.isEmpty()) { - - if(mosSets.get(i) != null) { - String imagePath0 = imagePaths.get(i); - - File imageFile0 = new File(imagePath0); - InputStream is0 = new FileInputStream(imageFile0); - - List transformedMosaicInfos = MediaUtil.getTransformedMosaic( - mosSets.get(i), is0, devideInfo - ); - - for(int k=0; k < transformedMosaicInfos.size(); k++) { - PstnAndSize mosaicInfo = transformedMosaicInfos.get(k); - InputStream blackImageStream = new ClassPathResource("samplefiles/black.png").getInputStream(); - this.insertImage(writer, blackImageStream, - mosaicInfo.getPstn().to2Float(), mosaicInfo.getSize().to2Float()); - } - } - - - - } - - } - - } - - } - - }//출력항목 loop 끝 - - if(!completeFoldLine) { - if(!otptBscStng.string("FOLD_LINE_PSTN_SE_CD").equals("")) { - this.renderFoldLine(writer, otptBscStng.string("FOLD_LINE_PSTN_SE_CD")); - } - } - - writer.endPage(); - - } //출력자료건수 loop 끝 - - - String downloadFileName = this.print.getFormatKorName()+"_"+this.print.getPrintRequestDt()+".pdf"; - result.put("download", writer.getDownloadable().setFilename(downloadFileName)); - result.put("downloadData", data); - result.put("dataNames", this.filterDownloadDataNames()); - - } catch(FileNotFoundException e) { - throw new RuntimeException("파일을 찾을 수 없습니다."); - } catch (Exception e) { - throw new RuntimeException("출력오류."+e); - } - - return result; - } - - - - /** - * mm단위로 입력된 값을 pdf좌표계 형식으로 변환한다. - */ - public PDFCoordinate toPDFCoordinate(float[] XYmm) { - float Xmm = XYmm[0]; - float Ymm = XYmm[1]; - - float Xpt = CmmnUtil.mmToPt(Xmm); - float Ypt = CmmnUtil.mmToPt(Ymm); - - float YptMax = CmmnUtil.mmToPt(this.paperMilimeter[1]); - - return new PDFCoordinate(Xpt, Ypt, YptMax); - } - - /** - * 텍스트를 pdf에 입력한다. - */ - public void writeText(PDFWriter writer, String allText, - float[] XYmm, float textAreaWidth_mm, String align, String newLineYn, - PDType0Font font, int fontSize, RenderingMode fontStyle, PDColor fontColor) { - try { - if(allText == null) { - allText = ""; - } - if(newLineYn == null || newLineYn.equals("")) { - newLineYn = "N"; - } - - float[] xyAbsolute = this.toPDFCoordinate(XYmm).absolute(); - - float textAreaWidth_pt = CmmnUtil.mmToPt(textAreaWidth_mm); - - float allTextWidth = calcTextWidth(font, fontSize, allText); - - String textArr[]; - if(allText.equals("") || allText.length() == 1 || textAreaWidth_pt == 0 - || (allTextWidth <= textAreaWidth_pt) - || newLineYn.equals("N")) { - - textArr = new String[] { allText }; - - } else { - - textArr = splitByLineForLargeText(font, fontSize, allText, textAreaWidth_pt); - - } - - String firstLine = textArr[0]; - float firstLineWidth = calcTextWidth(font, fontSize, firstLine); - - writer.beginText(); - writer.setFont(font, fontSize); - writer.setRenderingMode(fontStyle); - writer.setNonStrokingColor(fontColor); - - float resultY = xyAbsolute[1] - fontSize; - - float firstLineAlignCorrection = 0; - if(align.equals("right")) { - firstLineAlignCorrection = textAreaWidth_pt - firstLineWidth; - } else if(align.equals("center")) { - firstLineAlignCorrection = (textAreaWidth_pt - firstLineWidth)/2.0f; - } - - float resultX = xyAbsolute[0] + firstLineAlignCorrection; - - writer.newLineAtOffset(resultX, resultY); - writer.showText(textArr[0]); - - if(textArr.length > 1) { - float beforeLineWidth = firstLineWidth; - - for(int i = 1; i < textArr.length; i++) { - String thisLine = textArr[i]; - float thisLineWidth = this.calcTextWidth(font, fontSize, thisLine); - float alignCorrection = 0; - - if(align.equals("right")) { - alignCorrection = beforeLineWidth - thisLineWidth; - } if(align.equals("center")) { - alignCorrection = (beforeLineWidth - thisLineWidth)/2.0f; - } - - writer.newLineAtOffset(alignCorrection, -(fontSize + 1)); - writer.showText(thisLine); - - beforeLineWidth = thisLineWidth; - } - - - } - - writer.endText(); - - } catch (IOException e) { - throw new RuntimeException("PDF 파일 출력 중 오류가 발생하였습니다."+e); - } - - } - - /** - * 글꼴모양,폰트크기 등에 따른 텍스트의 가로 길이(pt)를 계산한다. - */ - public float calcTextWidth(PDType0Font font, int fontSize, String text) { - try { - return (font.getStringWidth(text) / 1000.0f) * fontSize; - } catch (IOException e) { - throw new RuntimeException("PDF 파일 출력 중 오류가 발생하였습니다."); - } - } - - /** - * 출력할 텍스트가 지정한 영역 안에 들어가지 않을 경우 줄바꿈 처리를 위해 텍스트를 나누어 배열로 반환한다. - */ - public String[] splitByLineForLargeText(PDType0Font font, int fontSize, String allText, float textAreaWidth_pt) { - - float allTextWidth = calcTextWidth(font, fontSize, allText); - - if(allText.equals("") || allText.length() == 1 || textAreaWidth_pt == 0 - || (allTextWidth <= textAreaWidth_pt) - ) { - return new String[] { allText }; - } - - ArrayList textList = new ArrayList(); - - while(!allText.equals("")) { - int lengthForLine = this.getLengthForLine(font, fontSize, allText, textAreaWidth_pt); - String newLine = allText.substring(0,lengthForLine); - textList.add(newLine); - allText = allText.substring(lengthForLine); - } - - return textList.toArray(new String[textList.size()]); - } - - /** - * 텍스트를 줄바꿈 처리할 경우 첫 라인에 출력될 글자 수를 반환한다. - */ - private int getLengthForLine(PDType0Font font, int fontSize, String allText, float textAreaWidth_pt) { - int forLine = allText.length(); - if(forLine <= 1) { - return forLine; - }; - - for( ; ; forLine--) { - if(forLine == 1) { - break; - } - - boolean hit = ( this.calcTextWidth(font, fontSize, allText.substring(0, forLine)) <= textAreaWidth_pt ); - if(hit) { - break; - } - } - - return forLine; - } - - /** - * pdf에 이미지를 삽입한다. - */ - public void insertImage(PDFWriter writer, InputStream imageStream, float[] XYmm, - float[] SIZEmm) { - - float[] xyAbsolute = this.toPDFCoordinate(XYmm).absolute(); - - float[] size = new float[] { - CmmnUtil.mmToPt(SIZEmm[0]),CmmnUtil.mmToPt(SIZEmm[1]) - }; - try { - writer.image(imageStream, xyAbsolute[0], xyAbsolute[1]-size[1], size[0], size[1]); - - } catch (IOException e) { - throw new RuntimeException("PDF 파일 출력 중 오류가 발생하였습니다."+e); - } - } - - public List devideImageArea(float[] totAreaPstn, float[] totAreaSize, int imageCntSetting, int dataImageCnt) { - List result = new ArrayList(); - - int printable = imageCntSetting <= dataImageCnt ? imageCntSetting : dataImageCnt; - - if(printable <= 1) { - result.add(new PstnAndSize(totAreaPstn[0], totAreaPstn[1], totAreaSize[0], totAreaSize[1])); - return result; - } - - boolean longerThenWidth = totAreaSize[1] > totAreaSize[0]; - - int xLengthOfD2 = 0; - int yLengthOfD2 = 0; - - if(printable == 2){ - if(longerThenWidth) { - xLengthOfD2 = 1; - yLengthOfD2 = 2; - } else { - xLengthOfD2 = 2; - yLengthOfD2 = 1; - } - } else if(printable == 3 || printable == 4){ - xLengthOfD2 = 2; - yLengthOfD2 = 2; - } else if(printable == 5 || printable == 6){ - if(longerThenWidth) { - xLengthOfD2 = 2; - yLengthOfD2 = 3; - } else { - xLengthOfD2 = 3; - yLengthOfD2 = 2; - } - } else { - throw new RuntimeException("PDF 파일 출력 중 오류가 발생하였습니다."); - } - - PstnAndSize[][] d2Array = new PstnAndSize[xLengthOfD2][yLengthOfD2]; - Size cellSize = new Size(totAreaSize[0] / (xLengthOfD2 * 1.0f), totAreaSize[1] / (yLengthOfD2 * 1.0f)); - - d2Array[0][0] = new PstnAndSize(totAreaPstn[0], totAreaPstn[1], cellSize.getWidth(), cellSize.getHeight()); - d2Array = this.fillImageCells(d2Array); - - //출력영역 크기 병합 - if(printable == 3 || printable == 5) { - - boolean longerThenWidth_cell = cellSize.getHeight() > cellSize.getWidth(); - if(longerThenWidth_cell) { - d2Array = this.mergeLastImageCell(d2Array, "left"); - } else { - d2Array = this.mergeLastImageCell(d2Array, "up"); - } - - } - for(int y=0; y < yLengthOfD2; y++) { - for(int x=0; x < xLengthOfD2; x++) { - if(d2Array[x][y] != null) { - result.add(d2Array[x][y]); - } - } - } - - return result; - } - - private PstnAndSize[][] fillImageCells(PstnAndSize[][] d2) { - int xLengthOfD2 = d2.length; - int yLengthOfD2 = d2[0].length; - - PstnAndSize firstCell = d2[0][0]; - - Size cellSize = firstCell.getSize(); - float cellWidth = cellSize.getWidth(); - float cellHeight = cellSize.getHeight(); - - Pstn startPoint = firstCell.getPstn(); - float spX = startPoint.getLeft(); - float spY = startPoint.getTop(); - - for(int x=0; x < xLengthOfD2; x++) { - for(int y=0; y < yLengthOfD2; y++) { - if(x != 0 || y != 0) { - d2[x][y] = new PstnAndSize(spX + (cellWidth * (x * 1.0f)), spY + (cellHeight * (y * 1.0f)), cellSize); - } - } - } - - return d2; - } - - public PstnAndSize[][] mergeLastImageCell(PstnAndSize[][] d2, String mergeDirection) { - if(!mergeDirection.equals("up") && !mergeDirection.equals("left")) { - throw new RuntimeException("PDF 파일 출력 중 오류가 발생하였습니다."); - } - - int xLengthOfD2 = d2.length; - int yLengthOfD2 = d2[0].length; - - int lastCellIndexX = xLengthOfD2-1; - int lastCellIndexY = yLengthOfD2-1; - - int mergeTargetCellIndexX = 0; - int mergeTargetCellIndexY = 0; - - if(mergeDirection.equals("up")) { - mergeTargetCellIndexX = lastCellIndexX; - mergeTargetCellIndexY = lastCellIndexY-1; - } - if(mergeDirection.equals("left")) { - mergeTargetCellIndexX = lastCellIndexX-1; - mergeTargetCellIndexY = lastCellIndexY; - } - - //병합대상셀 - if(mergeDirection.equals("up")) { - d2[mergeTargetCellIndexX][mergeTargetCellIndexY] = (d2[mergeTargetCellIndexX][mergeTargetCellIndexY]).x2Height(); - } - if(mergeDirection.equals("left")) { - d2[mergeTargetCellIndexX][mergeTargetCellIndexY] = (d2[mergeTargetCellIndexX][mergeTargetCellIndexY]).x2Width(); - } - - //마지막셀 - d2[lastCellIndexX][lastCellIndexY] = null; - - return d2; - } - - /** - * pdf에 봉합선을 넣는다. - */ - public void renderFoldLine(PDFWriter writer, String foldCode) { - if(foldCode.equals("") && !foldCode.equals("01") && !foldCode.equals("02")) { - return; - } - - float paperWidth = writer.getPaperSize().getWidth(); - - float partHeight; - if(foldCode.equals("01")) { - if(PDRectangle.A4.equals(writer.getPaperSize())) { - partHeight = 99; - } else { - partHeight = 93; - } - } else { - partHeight = 93; - } - - float margin = 0; - if(foldCode.equals("02")) { - margin = 18; - } - - float bottomFold = margin + partHeight; //하단접는곳 - float topFold = margin + (partHeight * 2); //상단접는곳 - - float bottomFold_pt = CmmnUtil.mmToPt(bottomFold); - float topFold_pt = CmmnUtil.mmToPt(topFold); - - try { - writer.setLineDashPattern(new float[]{3,1}, 0); - writer.moveTo(0, topFold_pt); - writer.lineTo(paperWidth, topFold_pt); - writer.stroke(); - writer.moveTo(0, bottomFold_pt); - writer.lineTo(paperWidth, bottomFold_pt); - writer.stroke(); - writer.setLineDashPattern(new float[]{}, 0); - } catch (IOException e) { - throw new RuntimeException("PDF 파일 출력 중 오류가 발생하였습니다."+e); - } - } - - public float[] getPstnStng(DefaultOtptArtclStng prototypeStng, DataObject sggStng, String paperSeCd) { - if(!sggStng.string("LEFT_PSTN").equals("") && !sggStng.string("TOP_PSTN").equals("")) { - return new float[] { - sggStng.number("LEFT_PSTN").floatValue(), - sggStng.number("TOP_PSTN").floatValue() - }; - } else { - return new float[] { - prototypeStng.getLeftPstn(paperSeCd), - prototypeStng.getTopPstn(paperSeCd) - }; - } - } - - public PDType0Font getFontType(DefaultOtptArtclStng prototypeStng, DataObject sggStng, Map fontMap) { - if(sggStng != null && !sggStng.isEmpty() && !sggStng.string("FONT_NM").equals("")) { - return fontMap.get(sggStng.string("FONT_NM")); - } else { - return fontMap.get(prototypeStng.getFontNm()); - } - } - - public int getFontSize(DefaultOtptArtclStng prototypeStng, DataObject sggStng) { - if(!sggStng.string("FONT_SZ").equals("")) { - return sggStng.number("FONT_SZ").intValue(); - } else { - return prototypeStng.getFontSz(); - } - } - - public RenderingMode getFontStyle(DefaultOtptArtclStng prototypeStng, DataObject sggStng) { - if(!sggStng.string("FONT_STYLE").equals("")) { - return RenderingMode.valueOf(sggStng.string("FONT_STYLE")); - } else { - return RenderingMode.valueOf(prototypeStng.getFontStyle()); - } - } - - public PDColor getFontColor(DefaultOtptArtclStng prototypeStng, DataObject sggStng) { - if(!sggStng.string("FONT_COLR").equals("")) { - return PDFColors.getColor(sggStng.string("FONT_COLR")); - } else { - return PDFColors.getColor(prototypeStng.getFontColr()); - } - } - - public float[] getSize(DefaultOtptArtclStng prototypeStng, DataObject sggStng) { - if(!sggStng.string("WIDTH_SZ").equals("")) { - return new float[] { - sggStng.number("WIDTH_SZ").floatValue(), - sggStng.number("HEIGHT_SZ").floatValue() - }; - } else { - return new float[] { - prototypeStng.getWidthSz(), - prototypeStng.getHeightSz() - }; - } - } - - public String getAlign(DefaultOtptArtclStng prototypeStng, DataObject sggStng) { - if(!sggStng.string("TEXT_SORT").equals("")) { - return sggStng.string("TEXT_SORT"); - } else { - return prototypeStng.getTextSort(); - } - } - - public String getLineChgYn(DefaultOtptArtclStng prototypeStng, DataObject sggStng) { - if(!sggStng.string("LINE_CHG_YN").equals("")) { - return sggStng.string("LINE_CHG_YN"); - } else { - return prototypeStng.getLineChgYn(); - } - } - - public Map getFontMap(PDFWriter writer) { - try { - - Map fontMap = Map.of( - "gulim", writer.font("fonts/gulim.ttf"), - "gulimche", writer.font("fonts/gulimche.ttf"), - "batang", writer.font("fonts/batang.ttf"), - "batangche", writer.font("fonts/batangche.ttf"), - "dotum", writer.font("fonts/dotum.ttf"), - "dotumche", writer.font("fonts/dotumche.ttf"), - "gungsuh", writer.font("fonts/gungsuh.ttf"), - "gungsuhche", writer.font("fonts/gungsuhche.ttf") - ); - return fontMap; - } catch (IOException e) { - throw new RuntimeException("글꼴 로드 오류"+e); - } - } - -} diff --git a/src/main/java/cokr/xit/fims/cmmn/service/CrdnPayerHstryService.java b/src/main/java/cokr/xit/fims/cmmn/service/CrdnPayerHstryService.java deleted file mode 100644 index 79b3b74c..00000000 --- a/src/main/java/cokr/xit/fims/cmmn/service/CrdnPayerHstryService.java +++ /dev/null @@ -1,49 +0,0 @@ -package cokr.xit.fims.cmmn.service; - -import java.util.List; - -import cokr.xit.fims.cmmn.CrdnPayerHstry; -import cokr.xit.fims.cmmn.CrdnPayerHstryQuery; -import cokr.xit.foundation.data.DataObject; - -/**단속 납부자 이력 관리 서비스 인터페이스. - * - *

상세 설명: - * - *

- * ============ 변경 이력 ============
- * 2023-08-16	leebj 최초 작성
- * ================================
- * 
- */ -public interface CrdnPayerHstryService { - /**지정한 조건에 따라 단속 납부자 이력 목록을 조회하여 반환한다. - * @param req 단속 납부자 이력 조회 조건 - * @return 단속 납부자 이력 목록 - */ - List getCrdnPayerHstryList(CrdnPayerHstryQuery req); - - /**지정한 조건에 따라 단속 납부자 이력 객체들을 반환한다. - * @param req 단속 납부자 이력 조회 조건 - * @return 단속 납부자 이력 객체 목록 - */ - List getCrdnPayerHstrys(CrdnPayerHstryQuery req); - - /**단속 납부자 이력 정보를 등록한다. - * @param crdnPayerHstry 단속 납부자 이력 - * @return 저장 여부 - *
  • 저장됐으면 true
  • - *
  • 그렇지 않으면 false
  • - *
- */ - boolean create(CrdnPayerHstry crdnPayerHstry); - - /**단속 납부자 이력 정보를 등록하고, 단속 대장의 납부자 정보를 수정한다. - * @param crdnPayerHstry 단속 납부자 이력 - * @return 저장 여부 - *
  • 저장됐으면 true
  • - *
  • 그렇지 않으면 false
  • - *
- */ - boolean createHstryUpdateCrdnPayer(CrdnPayerHstry crdnPayerHstry); -} \ No newline at end of file diff --git a/src/main/java/cokr/xit/fims/cmmn/service/CrdnSttsHstryService.java b/src/main/java/cokr/xit/fims/cmmn/service/CrdnSttsHstryService.java deleted file mode 100644 index 670324e6..00000000 --- a/src/main/java/cokr/xit/fims/cmmn/service/CrdnSttsHstryService.java +++ /dev/null @@ -1,60 +0,0 @@ -package cokr.xit.fims.cmmn.service; - -import java.util.List; - -import cokr.xit.foundation.data.DataObject; - -import cokr.xit.fims.cmmn.CrdnSttsHstry; -import cokr.xit.fims.cmmn.CrdnSttsHstryQuery; - -/**단속 상태 이력 관리 서비스 인터페이스. - * - *

상세 설명: - * - *

- * ============ 변경 이력 ============
- * 2023-07-19	JoJH 최초 작성
- * ================================
- * 
- */ -public interface CrdnSttsHstryService { - /**지정한 조건에 따라 단속 상태 이력 목록을 조회하여 반환한다. - * @param req 단속 상태 이력 조회 조건 - * @return 단속 상태 이력 목록 - */ - List getCrdnSttsHstryList(CrdnSttsHstryQuery req); - - /**지정한 조건에 따라 단속 상태 이력 객체들을 반환한다. - * @param req 단속 상태 이력 조회 조건 - * @return 단속 상태 이력 객체 목록 - */ - List getCrdnSttsHstrys(CrdnSttsHstryQuery req); - - /**단속 상태 이력 정보를 등록한다. - * @param crdnSttsHstry 단속 상태 이력 - * @return 저장 여부 - *
  • 저장됐으면 true
  • - *
  • 그렇지 않으면 false
  • - *
- */ - boolean create(CrdnSttsHstry crdnSttsHstry); - - /**단속 상태 이력 정보를 수정한다. - * @param crdnSttsHstry 단속 상태 이력 - * @return 저장 여부 - *
  • 저장됐으면 true
  • - *
  • 그렇지 않으면 false
  • - *
- */ - boolean update(CrdnSttsHstry crdnSttsHstry); - - /**단속 상태 이력 정보를 삭제한다. - * @param crdnSttsHstry 단속 상태 이력 - * @return 저장 여부 - *
  • 저장됐으면 true
  • - *
  • 그렇지 않으면 false
  • - *
- */ - boolean remove(CrdnSttsHstry crdnSttsHstry); - -} diff --git a/src/main/java/cokr/xit/fims/cmmn/service/LinkService.java b/src/main/java/cokr/xit/fims/cmmn/service/LinkService.java deleted file mode 100644 index c668c90d..00000000 --- a/src/main/java/cokr/xit/fims/cmmn/service/LinkService.java +++ /dev/null @@ -1,5 +0,0 @@ -package cokr.xit.fims.cmmn.service; - -public interface LinkService { - String insertElectronicNoticeSndng(String filePath, String sggCd, String taskSeCd, String tmplatId); -} diff --git a/src/main/java/cokr/xit/fims/cmmn/service/StngService.java b/src/main/java/cokr/xit/fims/cmmn/service/StngService.java deleted file mode 100644 index 2404d595..00000000 --- a/src/main/java/cokr/xit/fims/cmmn/service/StngService.java +++ /dev/null @@ -1,26 +0,0 @@ -package cokr.xit.fims.cmmn.service; - -import java.util.List; - -import cokr.xit.fims.mngt.Task; -import cokr.xit.fims.mngt.Vltn; - -public interface StngService { - /**업무 설정, 위반 설정을 수정한다. - * @param task 업무 설정, vltnList 위반 설정 - * @return 저장 여부 - *
  • 저장됐으면 true
  • - *
  • 그렇지 않으면 false
  • - *
- */ - String updateTaskStng(Task task, List vltnList); - - /**시군구별 업무 설정, 위반 설정을 추가한다. - * @param sggCd 시군구 코드, taskSeCd 업무구분 코드 - * @return 저장 여부 - *
  • 저장됐으면 true
  • - *
  • 그렇지 않으면 false
  • - *
- */ - String createTaskStng(String sggCd, String taskSeCd); -} diff --git a/src/main/java/cokr/xit/fims/cmmn/service/bean/CrdnPayerHstryBean.java b/src/main/java/cokr/xit/fims/cmmn/service/bean/CrdnPayerHstryBean.java deleted file mode 100644 index dcb255ca..00000000 --- a/src/main/java/cokr/xit/fims/cmmn/service/bean/CrdnPayerHstryBean.java +++ /dev/null @@ -1,137 +0,0 @@ -package cokr.xit.fims.cmmn.service.bean; - -import java.util.List; - -import javax.annotation.Resource; - -import org.springframework.stereotype.Component; - -import cokr.xit.fims.cmmn.CrdnPayerHstry; -import cokr.xit.fims.cmmn.CrdnPayerHstryQuery; -import cokr.xit.fims.cmmn.dao.CrdnPayerHstryMapper; -import cokr.xit.foundation.component.AbstractBean; -import cokr.xit.foundation.data.DataObject; - -/**단속 납부자 이력 정보 관리 Bean - * - *

상세 설명: - * - *

- * ============ 변경 이력 ============
- * 2023-08-16	leebj 최초 작성
- * ================================
- * 
- */ -@Component("crdnPayerHstryBean") -public class CrdnPayerHstryBean extends AbstractBean { - - /** 단속 납부자 이력 정보 DAO */ - @Resource(name = "crdnPayerHstryMapper") - private CrdnPayerHstryMapper crdnPayerHstryMapper; - - /**지정한 조건에 따라 단속 납부자 이력 목록을 조회하여 반환한다. - * @param req 단속 납부자 이력 조회 조건 - * @return 단속 납부자 이력 목록 - */ - public List getCrdnPayerHstryList(CrdnPayerHstryQuery req) { - return crdnPayerHstryMapper.selectCrdnPayerHstryList(req); - } - - /**지정한 조건에 따라 단속 납부자 이력 객체들을 반환한다. - * @param req 단속 납부자 이력 조회 조건 - * @return 단속 납부자 이력 객체 목록 - */ - public List getCrdnPayerHstrys(CrdnPayerHstryQuery req) { - return crdnPayerHstryMapper.selectCrdnPayerHstrys(req); - } - - /**단속 납부자 이력 정보를 등록한다. - * @param crdnPayerHstry 단속 납부자 이력 - * @return 저장 여부 - *
  • 저장됐으면 true
  • - *
  • 그렇지 않으면 false
  • - *
- */ - public boolean createCrdnPayerHstry(CrdnPayerHstry crdnPayerHstry) { - return crdnPayerHstryMapper.insertCrdnPayerHstry(crdnPayerHstry); - } - - /**단속 납부자 주소 이력 정보를 등록한다. - * @param crdnPayerHstry 단속 납부자 이력 - * @return 저장 여부 - *
  • 저장됐으면 true
  • - *
  • 그렇지 않으면 false
  • - *
- */ - public boolean createCrdnPayerAddrHstry(CrdnPayerHstry crdnPayerHstry) { - return crdnPayerHstryMapper.insertCrdnPayerAddrHstry(crdnPayerHstry); - } - - /**단속 납부자 이력 정보를 등록하고, 단속 대장의 납부자 정보를 수정한다. - * @param crdnPayerHstry 단속 납부자 이력 - * @return 저장 여부 - *
  • 저장됐으면 true
  • - *
  • 그렇지 않으면 false
  • - *
- */ - public boolean updateCrdnPayer(CrdnPayerHstry crdnPayerHstry) { - return crdnPayerHstryMapper.updateCrdnPayer(crdnPayerHstry); - } - - /**단속 납부자 이력 및 주소 이력 정보를 등록하고, 단속 대장의 납부자 정보를 수정한다. - * @param crdnPayerHstry 단속 납부자 이력 - * @return 저장 여부 - *
  • 저장됐으면 true
  • - *
  • 그렇지 않으면 false
  • - *
- */ - public boolean createHstryUpdateCrdnPayer(CrdnPayerHstry crdnPayerHstry) { - boolean rtnScs = false; // DB 처리 결과 - - // 단속 납부자 이력 정보를 등록한다. - rtnScs = createCrdnPayerHstry(crdnPayerHstry); - if (!rtnScs) { - throw new RuntimeException("단속 납부자 이력 정보를 등록 중 오류가 발생하였습니다."); // 예외를 발생시켜서 DB Rollback - } - - // 단속 납부자 주소 이력 정보를 등록한다. - rtnScs = createCrdnPayerAddrHstry(crdnPayerHstry); - if (!rtnScs) { - throw new RuntimeException("단속 납부자 이력 정보를 등록 중 오류가 발생하였습니다."); // 예외를 발생시켜서 DB Rollback - } - - // 단속 대장의 납부자 ID, 주소 일련번호를 변경한다. - rtnScs = updateCrdnPayer(crdnPayerHstry); - if (!rtnScs) { - throw new RuntimeException("단속 납부자 이력 정보를 등록 중 오류가 발생하였습니다."); // 예외를 발생시켜서 DB Rollback - } - - return rtnScs; - } - - /**단속 납부자 주소 이력 정보를 등록하고, 단속 대장의 납부자 정보를 수정한다. - * @param crdnPayerHstry 단속 납부자 이력 - * @return 저장 여부 - *
  • 저장됐으면 true
  • - *
  • 그렇지 않으면 false
  • - *
- */ - public boolean createHstryUpdateCrdnPayerAddr(CrdnPayerHstry crdnPayerHstry) { - boolean rtnScs = false; // DB 처리 결과 - - // 단속 납부자 주소 이력 정보를 등록한다. - rtnScs = createCrdnPayerAddrHstry(crdnPayerHstry); - if (!rtnScs) { - throw new RuntimeException("단속 납부자 이력 정보를 등록 중 오류가 발생하였습니다."); // 예외를 발생시켜서 DB Rollback - } - - // 단속 대장의 납부자 ID, 주소 일련번호를 변경한다. - rtnScs = updateCrdnPayer(crdnPayerHstry); - if (!rtnScs) { - throw new RuntimeException("단속 납부자 이력 정보를 등록 중 오류가 발생하였습니다."); // 예외를 발생시켜서 DB Rollback - } - - return rtnScs; - } - -} diff --git a/src/main/java/cokr/xit/fims/cmmn/service/bean/CrdnPayerHstryServiceBean.java b/src/main/java/cokr/xit/fims/cmmn/service/bean/CrdnPayerHstryServiceBean.java deleted file mode 100644 index cfa9c57f..00000000 --- a/src/main/java/cokr/xit/fims/cmmn/service/bean/CrdnPayerHstryServiceBean.java +++ /dev/null @@ -1,50 +0,0 @@ -package cokr.xit.fims.cmmn.service.bean; - -import java.util.List; - -import javax.annotation.Resource; - -import org.springframework.stereotype.Service; - -import cokr.xit.fims.cmmn.CrdnPayerHstry; -import cokr.xit.fims.cmmn.CrdnPayerHstryQuery; -import cokr.xit.fims.cmmn.service.CrdnPayerHstryService; -import cokr.xit.foundation.component.AbstractServiceBean; -import cokr.xit.foundation.data.DataObject; - -/**단속 납부자 이력 서비스 구현체. - * - *

상세 설명: - * - *

- * ============ 변경 이력 ============
- * 2023-08-16	leebj 최초 작성
- * ================================
- * 
- */ -@Service("crdnPayerHstryService") -public class CrdnPayerHstryServiceBean extends AbstractServiceBean implements CrdnPayerHstryService { - /** 단속 납부자 이력 정보 Bean */ - @Resource(name = "crdnPayerHstryBean") - private CrdnPayerHstryBean crdnPayerHstryBean; - - @Override - public List getCrdnPayerHstryList(CrdnPayerHstryQuery req) { - return crdnPayerHstryBean.getCrdnPayerHstryList(req); - } - - @Override - public List getCrdnPayerHstrys(CrdnPayerHstryQuery req) { - return crdnPayerHstryBean.getCrdnPayerHstrys(req); - } - - @Override - public boolean create(CrdnPayerHstry crdnPayerHstry) { - return crdnPayerHstryBean.createCrdnPayerHstry(crdnPayerHstry); - } - - @Override - public boolean createHstryUpdateCrdnPayer(CrdnPayerHstry crdnPayerHstry) { - return crdnPayerHstryBean.createHstryUpdateCrdnPayer(crdnPayerHstry); - } -} \ No newline at end of file diff --git a/src/main/java/cokr/xit/fims/cmmn/service/bean/CrdnSttsHstryBean.java b/src/main/java/cokr/xit/fims/cmmn/service/bean/CrdnSttsHstryBean.java deleted file mode 100644 index 01c7e8f0..00000000 --- a/src/main/java/cokr/xit/fims/cmmn/service/bean/CrdnSttsHstryBean.java +++ /dev/null @@ -1,224 +0,0 @@ -package cokr.xit.fims.cmmn.service.bean; - -import java.text.SimpleDateFormat; -import java.util.List; - -import javax.annotation.Resource; - -import org.springframework.stereotype.Component; - -import cokr.xit.fims.cmmn.CrdnSttsHstry; -import cokr.xit.fims.cmmn.CrdnSttsHstryQuery; -import cokr.xit.fims.cmmn.dao.CrdnSttsHstryMapper; -import cokr.xit.foundation.component.AbstractBean; -import cokr.xit.foundation.data.DataObject; - -/**단속 상태 이력 정보 관리 Bean - * - *

상세 설명: - * - *

- * ============ 변경 이력 ============
- * 2023-07-19	JoJH 최초 작성
- * ================================
- * 
- */ -@Component("crdnSttsHstryBean") -public class CrdnSttsHstryBean extends AbstractBean { - - /** 단속 상태 이력 정보 DAO */ - @Resource(name = "crdnSttsHstryMapper") - private CrdnSttsHstryMapper crdnSttsHstryMapper; - - /**지정한 조건에 따라 단속 상태 이력 목록을 조회하여 반환한다. - * @param req 단속 상태 이력 조회 조건 - * @return 단속 상태 이력 목록 - */ - public List getCrdnSttsHstryList(CrdnSttsHstryQuery req) { - return crdnSttsHstryMapper.selectCrdnSttsHstryList(req); - } - - /**지정한 조건에 따라 단속 상태 이력 객체들을 반환한다. - * @param req 단속 상태 이력 조회 조건 - * @return 단속 상태 이력 객체 목록 - */ - public List getCrdnSttsHstrys(CrdnSttsHstryQuery req) { - return crdnSttsHstryMapper.selectCrdnSttsHstrys(req); - } - - /**단속 ID에 따라 마지막 단속 상태 이력 객체를 반환한다. - * @param crdnId 단속 ID - * @return 단속 상태 이력 객체 목록 - */ - public DataObject getCrdnSttsHstryInfo(String crdnId, String crdnSttsCd, String useYn) { - return crdnSttsHstryMapper.selectCrdnSttsHstryInfo(crdnId, crdnSttsCd, useYn); - } - - /**단속 상태 이력 정보를 등록한다. - * @param crdnSttsHstry 단속 상태 이력 - * @return 저장 여부 - *
  • 저장됐으면 true
  • - *
  • 그렇지 않으면 false
  • - *
- */ - public boolean create(CrdnSttsHstry crdnSttsHstry) { - if (crdnSttsHstry.getUseYn() == null) { - crdnSttsHstry.setUseYn("Y"); - } - - return crdnSttsHstryMapper.insertCrdnSttsHstry(crdnSttsHstry) == 1; - } - - /**단속 상태 이력 정보를 수정한다. - * @param crdnSttsHstry 단속 상태 이력 - * @return 저장 여부 - *
  • 저장됐으면 true
  • - *
  • 그렇지 않으면 false
  • - *
- */ - public boolean update(CrdnSttsHstry crdnSttsHstry) { - return crdnSttsHstryMapper.updateCrdnSttsHstry(crdnSttsHstry) == 1; - } - - /**단속 상태 이력 정보를 삭제한다. 단속ID로 입력되면 여러건이 삭제가 가능하다. - * @param crdnSttsHstry 단속 상태 이력 - * @return 저장 여부 - *
  • 저장됐으면 true
  • - *
  • 그렇지 않으면 false
  • - *
- */ - public boolean remove(CrdnSttsHstry crdnSttsHstry) { - return crdnSttsHstryMapper.deleteCrdnSttsHstry(crdnSttsHstry) >= 1; - } - - /**단속 대장의 상태 정보를 수정한다. - * @param excl 부과제외 대장 - * @return 저장 여부 - *
  • 저장됐으면 true
  • - *
  • 그렇지 않으면 false
  • - *
- */ - public boolean updateCrdn(CrdnSttsHstry crdnSttsHstry) { - return crdnSttsHstryMapper.updateCrdnSttsCd(crdnSttsHstry) == 1; - } - - /**단속 상태 이력 정보를 등록하고, 단속 대장의 단속상태 정보를 수정한다. - * @param crdnSttsHstry 단속 상태 이력 - * @return 저장 여부 - *
  • 저장됐으면 true
  • - *
  • 그렇지 않으면 false
  • - *
- */ - public boolean createHstryUpdateCrdnSttsCd(CrdnSttsHstry crdnSttsHstry) { - // 변수 선언 - int rtnNocs = -1; - - // 사용 여부 - if (crdnSttsHstry.getUseYn() == null) { - crdnSttsHstry.setUseYn("Y"); - } - // 단속 상태 변경 일시 - if (crdnSttsHstry.getCrdnSttsChgDt() == null || crdnSttsHstry.getCrdnSttsChgDt().equals("")) { - // 현재 날짜 구하기 - SimpleDateFormat dateFormat = new SimpleDateFormat("yyyyMMddHHmmss"); - crdnSttsHstry.setCrdnSttsChgDt(dateFormat.format(System.currentTimeMillis())); - } - - // 단속상태이력(TB_CRDN_STTS_HSTRY) 대장을 등록한다. - rtnNocs = crdnSttsHstryMapper.insertCrdnSttsHstry(crdnSttsHstry); - if (rtnNocs != 1) { - throw new RuntimeException("단속상태이력 대장 등록에 실패하였습니다."); // 예외를 발생시켜서 DB Rollback - } - // 단속(TB_CRDN) 대장을 수정한다. - rtnNocs = crdnSttsHstryMapper.updateCrdnSttsCd(crdnSttsHstry); - if (rtnNocs != 1) { - throw new RuntimeException("단속상태이력 정보 등록 중 오류가 발생하였습니다."); // 예외를 발생시켜서 DB Rollback - } - - return true; - } - - /**단속 상태 이력 정보를 삭제하고, 하고 단속 대장의 단속상태 정보를 수정한다. - * @param crdnSttsHstry 단속 상태 이력 - * @return 저장 여부 - *
  • 저장됐으면 true
  • - *
  • 그렇지 않으면 false
  • - *
- */ - public boolean removeHstryUpdateCrdnSttsCd(String crdnId, String crdnSttsCd, String deltSttsCd, String deltEtcCn, boolean insertBfrSttsYn) { - // 변수 선언 - int rtnNocs = -1; - - // 단속 ID에 해당하는 단속상태코드의 단속상태이력(TB_CRDN_STTS_HSTRY) 대장을 조회 한다. - DataObject crdnSttsHstryInfo = crdnSttsHstryMapper.selectCrdnSttsHstryInfo(crdnId, crdnSttsCd, "Y"); - - if (crdnSttsHstryInfo == null) { - throw new RuntimeException("단속상태이력 자료가 존재하지 않습니다."); // 예외를 발생시켜서 DB Rollback - } - - if (!crdnSttsCd.equals("")) { - CrdnSttsHstry crdnSttsHstry = new CrdnSttsHstry(); - crdnSttsHstry.setSttsHstryId(crdnSttsHstryInfo.string("STTS_HSTRY_ID")); - crdnSttsHstry.setUseYn("N"); - - rtnNocs = crdnSttsHstryMapper.updateCrdnSttsHstry(crdnSttsHstry); - if (rtnNocs != 1) { - throw new RuntimeException("단속상태이력 대장에 이력 수정에 실패하였습니다."); // 예외를 발생시켜서 DB Rollback - } - } - - // 삭제 단속상태코드가 있다면.. 단속상태이력(TB_CRDN_STTS_HSTRY) 대장을 등록한다. - if (!deltSttsCd.equals("")) { - // 단속상태가 의견제출접수(31)가 아니면서, 삭제상태코드가 의견제출삭제(92)나 경찰서이첩삭제(97) 일 경우 - if (!crdnSttsCd.equals("31") && "92,97".contains(deltSttsCd)) { - // 단속상태이력(TB_CRDN_STTS_HSTRY) 대장에서 의견제출접수(31) 이력을 조회후 사용여부를 미사용("N")으로 수정. - crdnSttsHstryInfo = crdnSttsHstryMapper.selectCrdnSttsHstryInfo(crdnId, "31", "Y"); - - if (crdnSttsHstryInfo == null) { - throw new RuntimeException("단속상태이력에 의견제출 접수 이력이 존재하지 않습니다."); // 예외를 발생시켜서 DB Rollback - } - - CrdnSttsHstry opnnSttsHstry = new CrdnSttsHstry(); - opnnSttsHstry.setSttsHstryId(crdnSttsHstryInfo.string("STTS_HSTRY_ID")); - opnnSttsHstry.setUseYn("N"); - - rtnNocs = crdnSttsHstryMapper.updateCrdnSttsHstry(opnnSttsHstry); - if (rtnNocs != 1) { - throw new RuntimeException("단속상태이력 대장에 의견제출접수 이력 수정에 실패하였습니다."); // 예외를 발생시켜서 DB Rollback - } - } - - CrdnSttsHstry deleteSttsHstry = new CrdnSttsHstry(); - deleteSttsHstry.setCrdnId(crdnSttsHstryInfo.string("CRDN_ID")); - deleteSttsHstry.setBfrSttsCd(crdnSttsHstryInfo.string("CRDN_STTS_CD")); - deleteSttsHstry.setBfrSttsChgDt(crdnSttsHstryInfo.string("REG_DT")); - deleteSttsHstry.setCrdnSttsCd(deltSttsCd); - deleteSttsHstry.setEtcCn(deltEtcCn); - deleteSttsHstry.setUseYn("N"); - - rtnNocs = crdnSttsHstryMapper.insertCrdnSttsHstry(deleteSttsHstry); - if (rtnNocs != 1) { - throw new RuntimeException("삭제 단속상태이력 정보 등록 중 오류가 발생하였습니다."); // 예외를 발생시켜서 DB Rollback - } - } - - if (insertBfrSttsYn) { - // 단속상태이력(TB_CRDN_STTS_HSTRY) 대장을 등록한다. - CrdnSttsHstry crdnSttsHstry = new CrdnSttsHstry(); - crdnSttsHstry.setCrdnId(crdnSttsHstryInfo.string("CRDN_ID")); - crdnSttsHstry.setBfrSttsCd(deltSttsCd); - crdnSttsHstry.setBfrSttsChgDt(crdnSttsHstry.getCreatedAt()); - crdnSttsHstry.setCrdnSttsCd(crdnSttsHstryInfo.string("BFR_STTS_CD")); - crdnSttsHstry.setCrdnSttsChgDt(crdnSttsHstryInfo.string("BFR_STTS_CHG_DT")); - crdnSttsHstry.setUseYn("Y"); - - boolean rtnScs = createHstryUpdateCrdnSttsCd(crdnSttsHstry); - if (!rtnScs) { - throw new RuntimeException("단속상태이력 정보 등록 중 오류가 발생하였습니다."); // 예외를 발생시켜서 DB Rollback - } - } - - return true; - } - -} diff --git a/src/main/java/cokr/xit/fims/cmmn/service/bean/CrdnSttsHstryServiceBean.java b/src/main/java/cokr/xit/fims/cmmn/service/bean/CrdnSttsHstryServiceBean.java deleted file mode 100644 index 86f7da08..00000000 --- a/src/main/java/cokr/xit/fims/cmmn/service/bean/CrdnSttsHstryServiceBean.java +++ /dev/null @@ -1,58 +0,0 @@ -package cokr.xit.fims.cmmn.service.bean; - -import java.util.List; - -import javax.annotation.Resource; - -import org.springframework.stereotype.Service; - -import cokr.xit.foundation.component.AbstractServiceBean; -import cokr.xit.foundation.data.DataObject; - -import cokr.xit.fims.cmmn.CrdnSttsHstry; -import cokr.xit.fims.cmmn.CrdnSttsHstryQuery; -import cokr.xit.fims.cmmn.service.CrdnSttsHstryService; - -/**단속 상태 이력 서비스 구현체. - * - *

상세 설명: - * - *

- * ============ 변경 이력 ============
- * 2023-07-19	JoJH 최초 작성
- * ================================
- * 
- */ -@Service("crdnSttsHstryService") -public class CrdnSttsHstryServiceBean extends AbstractServiceBean implements CrdnSttsHstryService { - - /** 단속 상태 이력 정보 Bean */ - @Resource(name = "crdnSttsHstryBean") - private CrdnSttsHstryBean crdnSttsHstryBean; - - @Override - public List getCrdnSttsHstryList(CrdnSttsHstryQuery req) { - return crdnSttsHstryBean.getCrdnSttsHstryList(req); - } - - @Override - public List getCrdnSttsHstrys(CrdnSttsHstryQuery req) { - return crdnSttsHstryBean.getCrdnSttsHstrys(req); - } - - @Override - public boolean create(CrdnSttsHstry crdnSttsHstry) { - return crdnSttsHstryBean.create(crdnSttsHstry); - } - - @Override - public boolean update(CrdnSttsHstry crdnSttsHstry) { - return crdnSttsHstryBean.update(crdnSttsHstry); - } - - @Override - public boolean remove(CrdnSttsHstry crdnSttsHstry) { - return crdnSttsHstryBean.remove(crdnSttsHstry); - } - -} diff --git a/src/main/java/cokr/xit/fims/cmmn/service/bean/ExtrStngBean.java b/src/main/java/cokr/xit/fims/cmmn/service/bean/ExtrStngBean.java deleted file mode 100644 index fe1cdae6..00000000 --- a/src/main/java/cokr/xit/fims/cmmn/service/bean/ExtrStngBean.java +++ /dev/null @@ -1,129 +0,0 @@ -package cokr.xit.fims.cmmn.service.bean; - -import java.util.ArrayList; -import java.util.HashMap; -import java.util.List; -import java.util.Map; - -import javax.annotation.Resource; - -import org.springframework.stereotype.Component; - -import cokr.xit.fims.cmmn.ExtrArtclStng; -import cokr.xit.fims.cmmn.ExtrForm; -import cokr.xit.fims.cmmn.ExtrStngQuery; -import cokr.xit.fims.cmmn.PredefinedSet; -import cokr.xit.fims.cmmn.dao.ExtrStngMapper; -import cokr.xit.fims.cmmn.pdf.extraction.format.ElectronicNotice; -import cokr.xit.fims.cmmn.pdf.extraction.format.PDFExtractFormat; -import cokr.xit.foundation.component.AbstractBean; -import cokr.xit.foundation.data.DataObject; - -@Component("extrStngBean") -public class ExtrStngBean extends AbstractBean { - - @Resource(name = "extrStngMapper") - private ExtrStngMapper extrStngMapper; - - /**지정한 조건에 따라 자료 추출 템플릿 문구를 조회한다. - * @param query 조회 조건 - * @return 출력물 전역 설정 - */ - public DataObject getExtrBscStng(ExtrStngQuery extrStngQuery) { - return extrStngMapper.selectExtrBscStng(extrStngQuery); - } - - - /**지정한 조건에 따라 추출요소별 설정을 조회한다. - * @param query 조회 조건 - * @return 출력 요소 설정 - */ - public Map getExtrArtclStngMap(ExtrStngQuery query){ - Map extrStngMap = new HashMap(); - - PDFExtractFormat pdfFormat = null; - pdfFormat = new ElectronicNotice(); - - List extrArtclStngList = extrStngMapper.selectExtrArtclStngList(query); - if(extrArtclStngList == null) { - extrArtclStngList = new ArrayList(); - } - pdfFormat.appendPredefinedYn(extrArtclStngList); - - List predefinedSetList = pdfFormat.getPredefinedSetList(); - - List predefinedDataList = extrArtclStngList.stream().filter(item -> item.string("PREDEFINED_YN").equals("Y")).toList(); - List customDataList = extrArtclStngList.stream().filter(item -> item.string("PREDEFINED_YN").equals("N")).toList(); - - Map predefined = new HashMap(); - predefined.put("dataList", predefinedDataList); - - Map custom = new HashMap(); - custom.put("dataList", customDataList); - - extrStngMap.put("predefinedSetList", predefinedSetList); - extrStngMap.put("predefined", predefined); - extrStngMap.put("custom", custom); - return extrStngMap; - } - - - public boolean saveExtrBscStng(ExtrForm extrForm) { - - boolean result = false; - String userId = currentUser().getId(); - - if(ifEmpty(extrForm.getExtrBscId(), ()-> "").equals("")) { - extrForm.setCreatedBy(userId); - result = extrStngMapper.insertBscStng(extrForm) == 1 ? true : false; - - } else { - extrForm.setModifiedBy(userId); - result = extrStngMapper.updateBscStng(extrForm) == 1 ? true : false; - } - - return result; - } - - - public boolean saveExtrArtclStng(ExtrForm extrForm) { - try { - - String userId = currentUser().getId(); - List extrArtclStngList = extrForm.getExtrArtclStngList(); - - List updateKeyList = new ArrayList(); - List insertList = new ArrayList(); - - if(extrArtclStngList != null && !extrArtclStngList.isEmpty()) { - - List updateList = extrArtclStngList.stream().filter(item -> !ifEmpty(item.getExtrFormId(), () -> "").equals("")).toList(); - if(!updateList.isEmpty()) { - for(ExtrArtclStng update : updateList) { - update.setModifiedBy(userId); - extrStngMapper.updateArtclStng(update); - updateKeyList.add(update.getExtrFormId()); - } - } - insertList = extrArtclStngList.stream().filter(item -> ifEmpty(item.getExtrFormId(), () -> "").equals("")).toList(); - } - - if(!updateKeyList.isEmpty()) { - extrForm.setExtrFormIDs(updateKeyList.toArray(new String[updateKeyList.size()])); - } - extrForm.setModifiedBy(userId); - extrStngMapper.deleteArtclStng(extrForm); - - if(!insertList.isEmpty()) { - for(ExtrArtclStng insert : insertList) { - insert.setCreatedBy(userId); - extrStngMapper.insertArtclStng(insert); - } - } - } catch (Exception e) { - throw new RuntimeException("[F]추출 설정 저장 중 오류가 발생하였습니다."); - } - - return true; - } -} diff --git a/src/main/java/cokr/xit/fims/cmmn/service/bean/LinkBean.java b/src/main/java/cokr/xit/fims/cmmn/service/bean/LinkBean.java deleted file mode 100644 index 2ae7b163..00000000 --- a/src/main/java/cokr/xit/fims/cmmn/service/bean/LinkBean.java +++ /dev/null @@ -1,75 +0,0 @@ -package cokr.xit.fims.cmmn.service.bean; - -import java.util.Iterator; -import java.util.List; -import java.util.Map; - -import javax.annotation.Resource; - -import org.springframework.stereotype.Component; - -import cokr.xit.fims.cmmn.dao.LinkMapper; -import cokr.xit.foundation.component.AbstractBean; -import cokr.xit.foundation.data.DataObject; - -@Component("linkBean") -public class LinkBean extends AbstractBean { - - @Resource(name = "linkMapper") - private LinkMapper linkMapper; - - public boolean insertElectronicNoticeSndng(DataObject masterInfo, List detailInfos) { - - int effected = linkMapper.insertElectronicNoticeSndngMaster(masterInfo); - if(effected != 1) { - throw new RuntimeException("발송 마스터 등록 오류"); - } - - effected = 0; - for(int i=0; i < detailInfos.size(); i++) { - detailInfos.get(i).set("unitySndngMastrId", masterInfo.string("unitySndngMastrId")); - effected = linkMapper.insertElectronicNoticeSndngDetail(detailInfos.get(i)); - if(effected != 1) { - throw new RuntimeException("발송 상세 등록 오류"); - } - } - - if(effected != 1) { - throw new RuntimeException("발송 상세 등록 오류"); - } - - return true; - } - - public String makeJson(String jsonTemplate, Map extractedText, List crdnPhotoBase64) { - String result = jsonTemplate; - - Iterator it = extractedText.keySet().iterator(); - while(it.hasNext()) { - String key = it.next(); - String value = extractedText.get(key); - - result = result.replaceAll("^##"+key+"##$", value); - } - - - int i=0; - if(result.contains("##photo0##")) { - boolean flag = true; - while(flag) { - String value = ""; - if((i+1) <= crdnPhotoBase64.size()) { - value = crdnPhotoBase64.get(i); - } - result = result.replaceAll("^##photo"+i+"##$", value); - - i++; - if(!result.contains("##photo"+i+"##")) { - flag = false; - } - } - } - - return result; - } -} diff --git a/src/main/java/cokr/xit/fims/cmmn/service/bean/LinkServiceBean.java b/src/main/java/cokr/xit/fims/cmmn/service/bean/LinkServiceBean.java deleted file mode 100644 index ed1dae22..00000000 --- a/src/main/java/cokr/xit/fims/cmmn/service/bean/LinkServiceBean.java +++ /dev/null @@ -1,82 +0,0 @@ -package cokr.xit.fims.cmmn.service.bean; - -import java.util.List; -import java.util.Map; - -import javax.annotation.Resource; - -import org.springframework.stereotype.Service; - -import cokr.xit.fims.cmmn.ExtrStngQuery; -import cokr.xit.fims.cmmn.dao.ExtrStngMapper; -import cokr.xit.fims.cmmn.pdf.extraction.Extraction; -import cokr.xit.fims.cmmn.pdf.extraction.PDFExtractionUtil; -import cokr.xit.fims.cmmn.service.LinkService; -import cokr.xit.foundation.component.AbstractServiceBean; -import cokr.xit.foundation.data.DataObject; - -@Service("linkService") -public class LinkServiceBean extends AbstractServiceBean implements LinkService { - - @Resource(name = "linkBean") - private LinkBean linkBean; - - @Resource(name = "extrStngMapper") - private ExtrStngMapper extrStngMapper; - - @Override - public String insertElectronicNoticeSndng(String filePath, String sggCd, String taskSeCd, String tmplatId) { - - ExtrStngQuery extrStngQuery = new ExtrStngQuery(); - extrStngQuery.setSggCd(sggCd).setTaskSeCd(taskSeCd); - extrStngQuery.setTmplatId(tmplatId); - List extractStngs = extrStngMapper.selectExtrArtclStngList(extrStngQuery); - - List extractionInfos = PDFExtractionUtil.extract(filePath, extractStngs); - - - for(int i=0; i < extractionInfos.size(); i++) { - - Map extractedText = extractionInfos.get(i).getTextItem(); - List crdnPhotoBase64 = extractionInfos.get(i).getBase64List(); - - //마스터 - DataObject masterInfo = new DataObject(); - masterInfo.set("signguCode", sggCd); - masterInfo.set("ffnlgCode", taskSeCd); - masterInfo.set("tmplatId", tmplatId); - masterInfo.set("sndngCo", extractionInfos.size()); - masterInfo.set("sndngDt", extractedText.get("sndngDt")); //발송일시 - masterInfo.set("closDt", extractedText.get("closDt")); //마감일시 - //디테일 - DataObject detailInfo = new DataObject(); - detailInfo.set("signguCode", sggCd); - detailInfo.set("ffnlgCode", taskSeCd); - detailInfo.set("vhcleNo", extractedText.get("vhcleNo")); - detailInfo.set("ihidnum", extractedText.get("ihidnum")); - detailInfo.set("moblphonNo", extractedText.get("moblphonNo")); - detailInfo.set("nm", extractedText.get("nm")); - detailInfo.set("adres", extractedText.get("adres")); - detailInfo.set("detailAdres", extractedText.get("detailAdres")); - detailInfo.set("zip", extractedText.get("zip")); - - //템플릿메시지데이터 - detailInfo.set("tmpltMsgData", ""); - - //모바일페이지 - String jsonTemplate = extrStngMapper.selectExtrBscStng(extrStngQuery).string("MOBILE_PAGE_TMPLT"); - String json = linkBean.makeJson(jsonTemplate, extractedText, crdnPhotoBase64); - detailInfo.set("mobilePageCn", json); - - // - detailInfo.set("mainCode", ""); - // - detailInfo.set("useInsttIdntfcId", ""); - - //테이블 인서트 - linkBean.insertElectronicNoticeSndng(masterInfo, List.of(detailInfo)); - } - - return "[S]"; - } -} diff --git a/src/main/java/cokr/xit/fims/cmmn/service/bean/OtptStngBean.java b/src/main/java/cokr/xit/fims/cmmn/service/bean/OtptStngBean.java deleted file mode 100644 index c96772b7..00000000 --- a/src/main/java/cokr/xit/fims/cmmn/service/bean/OtptStngBean.java +++ /dev/null @@ -1,146 +0,0 @@ -package cokr.xit.fims.cmmn.service.bean; - -import java.util.ArrayList; -import java.util.HashMap; -import java.util.List; -import java.util.Map; - -import javax.annotation.Resource; - -import org.springframework.stereotype.Component; - -import cokr.xit.fims.cmmn.OtptArtclStng; -import cokr.xit.fims.cmmn.OtptForm; -import cokr.xit.fims.cmmn.OtptStngQuery; -import cokr.xit.fims.cmmn.dao.OtptStngMapper; -import cokr.xit.fims.cmmn.pdf.print.DefaultOtptArtclStng; -import cokr.xit.fims.cmmn.pdf.print.format.Advntce; -import cokr.xit.fims.cmmn.pdf.print.format.Nht; -import cokr.xit.fims.cmmn.pdf.print.format.PDFPrintFormat; -import cokr.xit.foundation.component.AbstractBean; -import cokr.xit.foundation.data.DataObject; - -@Component("otptStngBean") -public class OtptStngBean extends AbstractBean { - - @Resource(name = "otptStngMapper") - private OtptStngMapper otptStngMapper; - - /**지정한 조건에 따라 출력물 전역 설정을 조회한다. - * @param query 조회 조건 - * @return 출력물 전역 설정 - */ - public DataObject getOtptBscStng(OtptStngQuery otptStngQuery) { - return otptStngMapper.selectOtptBscStng(otptStngQuery); - } - - /**지정한 조건에 따라 출력요소별 설정을 조회한다. - * @param query 조회 조건 - * @return 출력 요소 설정 - */ - public Map getOtptArtclStngMap(OtptStngQuery query){ - Map otptStngMap = new HashMap(); - - PDFPrintFormat pdfFormat = null; - switch(query.getSndngSeCd()) { - case "02" : - pdfFormat = new Advntce(); - break; - case "03" : - pdfFormat = new Nht(); - break; - - } - - - List otptArtclStngList = otptStngMapper.selectOtptArtclStngList(query); - if(otptArtclStngList == null) { - otptArtclStngList = new ArrayList(); - } - - pdfFormat.appendOtptAttribute(otptArtclStngList); - - List uniquePrototypeList = pdfFormat.getPrototypeStngs(true); - List multiplePrototypeList = pdfFormat.getPrototypeStngs(false); - - List uniqueDataList = otptArtclStngList.stream().filter(item -> item.string("UNIQUE_YN").equals("Y")).toList(); - List multipleDataList = otptArtclStngList.stream().filter(item -> item.string("UNIQUE_YN").equals("N")).toList(); - - Map unique = new HashMap(); - unique.put("prototypeList", uniquePrototypeList); - unique.put("dataList", uniqueDataList); - - Map multiple = new HashMap(); - multiple.put("prototypeList", multiplePrototypeList); - multiple.put("dataList", multipleDataList); - - - otptStngMap.put("unique", unique); - otptStngMap.put("multiple", multiple); - return otptStngMap; - } - - public boolean saveOtptBscStng(OtptForm otptForm) { - - boolean result = false; - String userId = currentUser().getId(); - - if(ifEmpty(otptForm.getOtptBscId(), ()-> "").equals("")) { - otptForm.setCreatedBy(userId); - result = otptStngMapper.insertBscStng(otptForm) == 1 ? true : false; - - } else { - otptForm.setModifiedBy(userId); - result = otptStngMapper.updateBscStng(otptForm) == 1 ? true : false; - } - - return result; - } - - /** 출력 요소 설정을 저장 및 삭제 처리한다. - * @param otptForm 출력 설정 - * @return 저장여부 - */ - public boolean saveOtptArtclStng(OtptForm otptForm) { - try { - - String userId = currentUser().getId(); - List otptArtclStngList = otptForm.getOtptArtclStngList(); - - List updateKeyList = new ArrayList(); - List insertList = new ArrayList(); - - if(otptArtclStngList != null && !otptArtclStngList.isEmpty()) { - - List updateList = otptArtclStngList.stream().filter(item -> !ifEmpty(item.getOtptFormId(), () -> "").equals("")).toList(); - if(!updateList.isEmpty()) { - for(OtptArtclStng update : updateList) { - update.setModifiedBy(userId); - otptStngMapper.updateArtclStng(update); - updateKeyList.add(update.getOtptFormId()); - } - } - insertList = otptArtclStngList.stream().filter(item -> ifEmpty(item.getOtptFormId(), () -> "").equals("")).toList(); - } - - if(!updateKeyList.isEmpty()) { - otptForm.setOtptFormIDs(updateKeyList.toArray(new String[updateKeyList.size()])); - } - otptForm.setModifiedBy(userId); - otptStngMapper.deleteArtclStng(otptForm); - - if(!insertList.isEmpty()) { - for(OtptArtclStng insert : insertList) { - insert.setCreatedBy(userId); - otptStngMapper.insertArtclStng(insert); - } - } - } catch (Exception e) { - throw new RuntimeException("출력 설정 저장 중 오류가 발생하였습니다."); - } - - return true; - } - - -} diff --git a/src/main/java/cokr/xit/fims/cmmn/service/bean/OutsourcingStngBean.java b/src/main/java/cokr/xit/fims/cmmn/service/bean/OutsourcingStngBean.java deleted file mode 100644 index 5c8ddc3d..00000000 --- a/src/main/java/cokr/xit/fims/cmmn/service/bean/OutsourcingStngBean.java +++ /dev/null @@ -1,111 +0,0 @@ -package cokr.xit.fims.cmmn.service.bean; - -import java.util.ArrayList; -import java.util.HashMap; -import java.util.List; -import java.util.Map; -import java.util.Optional; - -import javax.annotation.Resource; - -import org.springframework.stereotype.Component; - -import cokr.xit.fims.cmmn.OutsourcingArtclStng; -import cokr.xit.fims.cmmn.OutsourcingFileMaker; -import cokr.xit.fims.cmmn.OutsourcingForm; -import cokr.xit.fims.cmmn.OutsourcingStngQuery; -import cokr.xit.fims.cmmn.PredefinedSet; -import cokr.xit.fims.cmmn.dao.OutsourcingStngMapper; -import cokr.xit.foundation.component.AbstractBean; -import cokr.xit.foundation.data.DataObject; - -@Component("outsourcingStngBean") -public class OutsourcingStngBean extends AbstractBean { - - @Resource(name = "outsourcingStngMapper") - private OutsourcingStngMapper outsourcingStngMapper; - - - public List getArtclStngList(OutsourcingStngQuery query){ - return outsourcingStngMapper.selectArtclStngList(query); - } - - - public Map getArtclStngMap(OutsourcingStngQuery query) { - Map outsourcingStngMap = new HashMap(); - - List predefinedSetList = OutsourcingFileMaker.predifinedSetForOutsourcing(); - outsourcingStngMap.put("predefinedSetList", OutsourcingFileMaker.predifinedSetForOutsourcing()); - - // - List outsourcingArtclStngList = outsourcingStngMapper.selectArtclStngList(query); - if(outsourcingArtclStngList == null) { - outsourcingArtclStngList = new ArrayList(); - } - - for(DataObject outsourcingArtclStng : outsourcingArtclStngList) { - String outsourcingArtclNm = (String) outsourcingArtclStng.get("ARTCL_NM"); - - Optional optional = predefinedSetList.stream() - .filter(item -> item.getArtclNm().equals(outsourcingArtclNm)).findFirst(); - - if(optional.isEmpty()) { - outsourcingArtclStng.set("DSCRP", outsourcingArtclStng.get("ARTCL_NM")); - } else { - PredefinedSet predefinedSet = optional.get(); - outsourcingArtclStng.set("DSCRP", predefinedSet.getArtclDscrp()); - } - - } - outsourcingStngMap.put("dataList", outsourcingArtclStngList); - - - - return outsourcingStngMap; - } - - /** 출력 요소 설정을 저장 및 삭제 처리한다. - * @param outsourcingForm 출력 설정 - * @return 저장여부 - */ - public boolean saveOutsourcingArtclStng(OutsourcingForm outsourcingForm) { - try { - - String userId = currentUser().getId(); - List outsourcingArtclStngList = outsourcingForm.getZipArtclStngList(); - - List updateKeyList = new ArrayList(); - List insertList = new ArrayList(); - - if(outsourcingArtclStngList != null && !outsourcingArtclStngList.isEmpty()) { - - List updateList = outsourcingArtclStngList.stream().filter(item -> !ifEmpty(item.getOutsourcingFormId(), () -> "").equals("")).toList(); - if(!updateList.isEmpty()) { - for(OutsourcingArtclStng update : updateList) { - update.setModifiedBy(userId); - outsourcingStngMapper.updateArtclStng(update); - updateKeyList.add(update.getOutsourcingFormId()); - } - } - insertList = outsourcingArtclStngList.stream().filter(item -> ifEmpty(item.getOutsourcingFormId(), () -> "").equals("")).toList(); - } - - if(!updateKeyList.isEmpty()) { - outsourcingForm.setOutsourcingFormIDs(updateKeyList.toArray(new String[updateKeyList.size()])); - } - outsourcingForm.setModifiedBy(userId); - outsourcingStngMapper.deleteArtclStng(outsourcingForm); - - if(!insertList.isEmpty()) { - for(OutsourcingArtclStng insert : insertList) { - insert.setCreatedBy(userId); - outsourcingStngMapper.insertArtclStng(insert); - } - } - } catch (Exception e) { - throw new RuntimeException("출력 설정 저장 중 오류가 발생하였습니다."); - } - - return true; - } -} diff --git a/src/main/java/cokr/xit/fims/cmmn/service/bean/StngBean.java b/src/main/java/cokr/xit/fims/cmmn/service/bean/StngBean.java deleted file mode 100644 index a4c5a307..00000000 --- a/src/main/java/cokr/xit/fims/cmmn/service/bean/StngBean.java +++ /dev/null @@ -1,198 +0,0 @@ -package cokr.xit.fims.cmmn.service.bean; - -import java.util.ArrayList; -import java.util.HashMap; -import java.util.List; -import java.util.Map; - -import javax.annotation.Resource; - -import org.springframework.stereotype.Component; - -import cokr.xit.base.code.CommonCode; -import cokr.xit.base.code.service.CodeQuery; -import cokr.xit.base.code.service.bean.CodeBean; -import cokr.xit.base.security.Authority; -import cokr.xit.base.security.SecuredUserInfo; -import cokr.xit.fims.base.service.bean.OgdpBean; -import cokr.xit.fims.cmmn.CmmnQuery; -import cokr.xit.fims.cmmn.dao.StngMapper; -import cokr.xit.fims.mngt.service.bean.TaskBean; -import cokr.xit.foundation.UserInfo; -import cokr.xit.foundation.component.AbstractBean; -import cokr.xit.foundation.data.DataObject; - -@Component("stngBean") -public class StngBean extends AbstractBean { - @Resource(name = "codeBean") - private CodeBean codeBean; - - @Resource(name = "ogdpBean") - private OgdpBean ogdpBean; - - @Resource(name = "stngMapper") - private StngMapper stngMapper; - - @Resource(name = "taskBean") - private TaskBean taskBean; - - /**현재 사용자와 관련된 설정 정보를 조회한다. - * @param type 설정 유형 - * @return - */ - public DataObject getStng(String type) { - - if(type.equals("user")) { - return stngMapper.selectUserStng(currentUser().getId()); - } else if(type.equals("dept")){ - UserInfo userInfo = currentUser(); - if(userInfo.getInstitute().equals("ADMIN00")) { - return new DataObject(); - } - ogdpBean.initUserInfo(userInfo); - return stngMapper.selectDeptStng((String)userInfo.getInfo().get("deptCd")); - } else if(type.equals("sgg")){ - UserInfo userInfo = currentUser(); - if(userInfo.getInstitute().equals("ADMIN00")) { - return new DataObject(); - } - ogdpBean.initUserInfo(userInfo); - return stngMapper.selectSggStng((String)userInfo.getInfo().get("sggCd")); - } else { - return null; - } - - } - - /**교부 계좌번호를 변경한다. - * @param dtbnBankNm 교부 은행명, dtbnActno 교부 계좌번호 - * @return 저장여부 - */ - public boolean updateDtbnActno(String dtbnBankNm, String dtbnActno) { - Map params = new HashMap(); - UserInfo userInfo = currentUser(); - ogdpBean.initUserInfo(userInfo); - params.put("mdfr", userInfo.getId()); - params.put("deptCd", (String)userInfo.getInfo().get("deptCd")); - params.put("dtbnBankNm", dtbnBankNm); - params.put("dtbnActno", dtbnActno); - - return stngMapper.updateDtbnActno(params) == 1 ? true : false; - } - - /** userInfo에 사용가능업무, 기본업무를 설정한다. - * @param userInfo 사용자정보 - * @return - */ - public void initUserInfo(SecuredUserInfo userInfo) { - - boolean isAdmin = userInfo.hasAuthorities("ROLE_ADMIN"); - List taskList = codeBean.getCodeList((new CodeQuery()).setGroupIDs("FIM054")) - .stream().map(item -> item.string("CODE")).toList(); - - List availableTaskList = new ArrayList<>(); - - if(userInfo.getInstitute().equals("ADMIN00")) { //최고관리자 - - availableTaskList = taskList; - - } else if(isAdmin) { //관리자 - Map info = userInfo.getInfo(); - if(info == null || info.get("sggCd") == null || info.get("sggCd").equals("")) { - ogdpBean.initUserInfo(userInfo); - } - - availableTaskList = taskBean.getTasks((new CmmnQuery()).setSggCd((String)userInfo.getInfo().get("sggCd")).setUseYn("Y")) - .stream().map(item -> item.string("TASK_SE_CD")).toList(); - - } else { //일반사용자 - - List authorities = userInfo.getAuthorities(); - - if(authorities != null && !authorities.isEmpty()) { - for(Authority authority : authorities) { - String authId = authority.getId(); - - for(int i=0; i
  • 저장됐으면 true
  • - *
  • 그렇지 않으면 false
  • - * - */ - public boolean saveDefaultTask(String taskSeCd) { - - DataObject info = stngMapper.selectDefaultTask(currentUser().getId()); - int effected = 0; - - Map params = new HashMap(); - params.put("userId", currentUser().getId()); - params.put("taskSeCd", taskSeCd); - - if(info == null) { - params.put("rgtr", currentUser().getId()); - effected = stngMapper.insertDefaultTask(params); - } else { - params.put("mdfr", currentUser().getId()); - params.put("taskMtchgId",info.string("TASK_MTCHG_ID")); - effected = stngMapper.updateDefaultTask(params); - } - - return effected == 1 ? true : false; - } - - /** 업무구분코드 목록 중에서 현재 로그인한 사용자의 시군구에서 사용하는 업무구분코드 목록만 반환한다. - * @param taskSectionCodes 업무구분코드 목록 - * @return 현재 로그인한 사용자의 시군구에서 사용하는 업무구분코드 목록 - */ - public List filterTaskSectionCodeForSgg(List taskSectionCodes) { - - List taskListForSgg = new ArrayList(); - if(currentUser().getInstitute().equals("ADMIN00")) { - taskListForSgg = taskSectionCodes; - } else { - SecuredUserInfo userInfo = currentUser(); - Map info = userInfo.getInfo(); - if(info == null || info.get("sggCd") == null || info.get("sggCd").equals("")) { - ogdpBean.initUserInfo(userInfo); - } - - List taskSeCdListForSgg = taskBean.getTasks((new CmmnQuery()).setSggCd((String)userInfo.getInfo().get("sggCd")).setUseYn("Y")) - .stream().map(item -> item.string("TASK_SE_CD")).toList(); - - taskListForSgg = taskSectionCodes.stream() - .filter(item -> taskSeCdListForSgg.contains(item.getCode())).toList(); - } - - return taskListForSgg; - } - -} diff --git a/src/main/java/cokr/xit/fims/cmmn/service/bean/StngServiceBean.java b/src/main/java/cokr/xit/fims/cmmn/service/bean/StngServiceBean.java deleted file mode 100644 index bd1652fe..00000000 --- a/src/main/java/cokr/xit/fims/cmmn/service/bean/StngServiceBean.java +++ /dev/null @@ -1,102 +0,0 @@ -package cokr.xit.fims.cmmn.service.bean; - -import java.util.ArrayList; -import java.util.List; - -import javax.annotation.Resource; - -import org.springframework.stereotype.Service; - -import cokr.xit.base.code.service.CodeQuery; -import cokr.xit.base.code.service.bean.CodeBean; -import cokr.xit.fims.cmmn.service.StngService; -import cokr.xit.fims.mngt.Task; -import cokr.xit.fims.mngt.Vltn; -import cokr.xit.fims.mngt.service.bean.TaskBean; -import cokr.xit.fims.mngt.service.bean.VltnBean; -import cokr.xit.foundation.component.AbstractServiceBean; -import cokr.xit.foundation.data.DataObject; - -@Service("stngService") -public class StngServiceBean extends AbstractServiceBean implements StngService { - /** 업무 정보 Bean */ - @Resource(name = "taskBean") - private TaskBean taskBean; - - /** 위반 정보 Bean */ - @Resource(name = "vltnBean") - private VltnBean vltnBean; - - @Resource(name = "codeBean") - private CodeBean codeBean; - - @Override - public String updateTaskStng(Task task, List vltnList) { - - boolean result = taskBean.update(task); - if(!result) { - throw new RuntimeException("[F]업무 설정 수정 중 오류가 발생하였습니다."); - } - - for(Vltn vltn : vltnList) { - result = vltnBean.update(vltn); - if(!result) { - throw new RuntimeException("[F]위반 설정 수정 중 오류가 발생하였습니다."); - } - } - - return "[S]"; - } - - @Override - public String createTaskStng(String sggCd, String taskSeCd) { - Task task = new Task(); - task.setSggCd(sggCd); - task.setTaskSeCd(taskSeCd); - CodeQuery cq = new CodeQuery(); - cq.setGroupIDs("FIM054"); - List taskCodes = codeBean.getCodeList(cq); - for(DataObject taskCodeInfo : taskCodes) { - if(taskCodeInfo.string("CODE").equals(taskSeCd)) { - task.setTaskSeNm(taskCodeInfo.string("CODE_VAL")); - } - } - - boolean result = taskBean.create(task); - if(!result) { - throw new RuntimeException("[F]업무 설정 추가 중 오류가 발생하였습니다."); - } - - List vltnCdList = new ArrayList<>(); - String vltnByTask = ""; - switch(taskSeCd) { - case "PVS" -> { vltnByTask = "FIM004"; } - case "BPV" -> { vltnByTask = "FIM005"; } - case "DPV" -> { vltnByTask = "FIM006"; } - case "ECA" -> { vltnByTask = "FIM061"; } - case "PES" -> { vltnByTask = "FIM064"; } - } - if(!vltnByTask.equals("")) { - cq = new CodeQuery(); - cq.setGroupIDs(vltnByTask); - vltnCdList = codeBean.getCodeList(cq); - } - - for(DataObject vltnCdInfo : vltnCdList) { - Vltn vltn = new Vltn(); - vltn.setSggCd(sggCd); - vltn.setTaskSeCd(taskSeCd); - vltn.setVltnCd(vltnCdInfo.string("CODE")); - vltn.setVltnArtcl(vltnCdInfo.string("CODE_VAL")); - - result = vltnBean.create(vltn); - if(!result) { - throw new RuntimeException("[F]위반 설정 추가 중 오류가 발생하였습니다."); - } - } - - return result ? "[S]" : "[F]"; - } - - -} diff --git a/src/main/java/cokr/xit/fims/cmmn/web/CrdnPayerHstryController.java b/src/main/java/cokr/xit/fims/cmmn/web/CrdnPayerHstryController.java deleted file mode 100644 index bdc0b107..00000000 --- a/src/main/java/cokr/xit/fims/cmmn/web/CrdnPayerHstryController.java +++ /dev/null @@ -1,75 +0,0 @@ -package cokr.xit.fims.cmmn.web; - -import java.util.List; - -import javax.annotation.Resource; - -import org.springframework.web.bind.annotation.PostMapping; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.servlet.ModelAndView; - -import cokr.xit.foundation.web.AbstractController; - -import cokr.xit.fims.cmmn.CrdnPayerHstry; -import cokr.xit.fims.cmmn.CrdnPayerHstryQuery; -import cokr.xit.fims.cmmn.service.CrdnPayerHstryService; - -/**단속 납부자 이력 서비스의 웹 컨트롤러 - * - *

    상세 설명: - * - *

    - * ============ 변경 이력 ============
    - * 2023-08-16	leebj 최초 작성
    - * ================================
    - * 
    - */ -@RequestMapping(name = "단속 납부자 이력", value = "/crdnPayerHstry") -public class CrdnPayerHstryController extends AbstractController { - /**단속 납부자 이력 서비스*/ - @Resource(name = "crdnPayerHstryService") - private CrdnPayerHstryService crdnPayerHstryService; - - /**단속 납부자 이력 관리 메인화면(crdnPayerHstry/crdnPayerHstry-main)을 연다. - * 조건없는 {@link #getCrdnPayerHstryList(CrdnPayerHstryQuery) 단속 납부자 이력 조회 결과}를 포함시킨다. - * @return /crdnPayerHstry/crdnPayerHstry-main - */ - @RequestMapping(name = "단속 납부자 이력 메인", value = "/main.do") - public ModelAndView main() { - ModelAndView mav = getCrdnPayerHstryList(new CrdnPayerHstryQuery().setPageNum(1)); - mav.setViewName("/crdnPayerHstry/crdnPayerHstry-main"); - return mav.addObject("crdnPayerHstryList", toJson(mav.getModel().get("crdnPayerHstryList"))); - } - - /**단속 납부자 이력 목록을 조회하여 반환한다.
    - * {@link CrdnPayerHstryService#getCrdnPayerHstryList(CrdnPayerHstryQuery)} 참고 - * @param req 단속 납부자 이력 조회 조건 - * @return jsonView - *
     {
    -	 *     "crdnPayerHstryList": [단속 납부자 이력 목록]
    -	 *     "crdnPayerHstryStart": 단속 납부자 이력 목록 시작 인덱스
    -	 *     "crdnPayerHstryFetch": 한 번에 가져오는 단속 납부자 이력 목록 수
    -	 *     "crdnPayerHstryTotal": 조회 결과 찾은 전체 단속 납부자 이력 수
    -	 * }
    - */ - @RequestMapping(name = "단속 납부자 이력 조회", value = "/list.do") - public ModelAndView getCrdnPayerHstryList(CrdnPayerHstryQuery req) { - List result = crdnPayerHstryService.getCrdnPayerHstryList(setFetchSize(req)); - return setCollectionInfo(new ModelAndView("jsonView"), result, "crdnPayerHstry"); - } - - /**단속 납부자 이력를 등록한다. - * @param crdnPayerHstry 단속 납부자 이력 정보 - * @return jsonView - *
     {
    -	 *     "saved": 등록되었으면 true, 그렇지 않으면 false
    -	 * }
    - */ - @PostMapping(name = "단속 납부자 이력 등록", value = "/create.do") - public ModelAndView create(CrdnPayerHstry crdnPayerHstry) { - boolean saved = crdnPayerHstryService.create(crdnPayerHstry); - return new ModelAndView("jsonView") - .addObject("saved", saved); - } - -} diff --git a/src/main/java/cokr/xit/fims/cmmn/web/CrdnSttsHstryController.java b/src/main/java/cokr/xit/fims/cmmn/web/CrdnSttsHstryController.java deleted file mode 100644 index e04af5ef..00000000 --- a/src/main/java/cokr/xit/fims/cmmn/web/CrdnSttsHstryController.java +++ /dev/null @@ -1,104 +0,0 @@ -package cokr.xit.fims.cmmn.web; - -import java.util.List; - -import javax.annotation.Resource; - -import org.springframework.web.bind.annotation.PostMapping; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.servlet.ModelAndView; - -import cokr.xit.foundation.web.AbstractController; - -import cokr.xit.fims.cmmn.CrdnSttsHstry; -import cokr.xit.fims.cmmn.CrdnSttsHstryQuery; -import cokr.xit.fims.cmmn.service.CrdnSttsHstryService; - -/**단속 상태 이력 서비스의 웹 컨트롤러 - * - *

    상세 설명: - * - *

    - * ============ 변경 이력 ============
    - * 2023-07-19	JoJH 최초 작성
    - * ================================
    - * 
    - */ -@RequestMapping(name = "단속 상태 이력", value = "/crdnSttsHstry") -public class CrdnSttsHstryController extends AbstractController { - - /**단속 상태 이력 서비스*/ - @Resource(name = "crdnSttsHstryService") - private CrdnSttsHstryService crdnSttsHstryService; - - /**단속 상태 이력 관리 메인화면(crdnSttsHstry/crdnSttsHstry-main)을 연다. - * 조건없는 {@link #getCrdnSttsHstryList(CrdnSttsHstryQuery) 단속 상태 이력 조회 결과}를 포함시킨다. - * @return /crdnSttsHstry/crdnSttsHstry-main - */ - @RequestMapping(name = "단속 상태 이력 메인", value = "/main.do") - public ModelAndView main() { - ModelAndView mav = getCrdnSttsHstryList(new CrdnSttsHstryQuery().setPageNum(1)); - mav.setViewName("/crdnSttsHstry/crdnSttsHstry-main"); - return mav.addObject("crdnSttsHstryList", toJson(mav.getModel().get("crdnSttsHstryList"))); - } - - /**단속 상태 이력 목록을 조회하여 반환한다.
    - * {@link CrdnSttsHstryService#getCrdnSttsHstryList(CrdnSttsHstryQuery)} 참고 - * @param req 단속 상태 이력 조회 조건 - * @return jsonView - *
     {
    -	 *     "crdnSttsHstryList": [단속 상태 이력 목록]
    -	 *     "crdnSttsHstryStart": 단속 상태 이력 목록 시작 인덱스
    -	 *     "crdnSttsHstryFetch": 한 번에 가져오는 단속 상태 이력 목록 수
    -	 *     "crdnSttsHstryTotal": 조회 결과 찾은 전체 단속 상태 이력 수
    -	 * }
    - */ - @RequestMapping(name = "단속 상태 이력 조회", value = "/list.do") - public ModelAndView getCrdnSttsHstryList(CrdnSttsHstryQuery req) { - List result = crdnSttsHstryService.getCrdnSttsHstryList(setFetchSize(req)); - return setCollectionInfo(new ModelAndView("jsonView"), result, "crdnSttsHstry"); - } - - /**단속 상태 이력를 등록한다. - * @param crdnSttsHstry 단속 상태 이력 정보 - * @return jsonView - *
     {
    -	 *     "saved": 등록되었으면 true, 그렇지 않으면 false
    -	 * }
    - */ - @PostMapping(name = "단속 상태 이력 등록", value = "/create.do") - public ModelAndView create(CrdnSttsHstry crdnSttsHstry) { - boolean saved = crdnSttsHstryService.create(crdnSttsHstry); - return new ModelAndView("jsonView") - .addObject("saved", saved); - } - - /**단속 상태 이력 정보를 수정한다. - * @param crdnSttsHstry 단속 상태 이력 정보 - * @return jsonView - *
     {
    -	 *     "saved": 수정되었으면 true, 그렇지 않으면 false
    -	 * }
    - */ - @PostMapping(name = "단속 상태 이력 수정", value = "/update.do") - public ModelAndView update(CrdnSttsHstry crdnSttsHstry) { - boolean saved = crdnSttsHstryService.update(crdnSttsHstry); - return new ModelAndView("jsonView") - .addObject("saved", saved); - } - - /**지정한 단속 상태 이력를 제거한다. - * @param crdnSttsHstryIDs 단속 상태 이력 아이디 - * @return jsonView - *
     {
    -	 *     "affected": 저장된 정보수
    -	 *     "saved": 저장되었으면 true, 그렇지 않으면 false
    -	 * }
    - */ - @PostMapping(name = "단속 상태 이력 제거", value = "/remove.do") - public ModelAndView remove(CrdnSttsHstry crdnSttsHstry) { - boolean saved = crdnSttsHstryService.remove(crdnSttsHstry); - return new ModelAndView("jsonView") - .addObject("saved", saved); - } -} diff --git a/src/main/java/cokr/xit/fims/cmmn/web/InterfaceController.java b/src/main/java/cokr/xit/fims/cmmn/web/InterfaceController.java deleted file mode 100644 index 2524d565..00000000 --- a/src/main/java/cokr/xit/fims/cmmn/web/InterfaceController.java +++ /dev/null @@ -1,40 +0,0 @@ -package cokr.xit.fims.cmmn.web; - -import java.util.List; - -import javax.annotation.Resource; - -import org.springframework.stereotype.Controller; -import org.springframework.web.bind.annotation.PostMapping; -import org.springframework.web.bind.annotation.RequestBody; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.servlet.ModelAndView; - -import cokr.xit.base.web.ApplicationController; -import cokr.xit.fims.crdn.service.ImportService; - -@Controller("fimsInterface") -@RequestMapping(value = "/intf/fims", name = "연계") -public class InterfaceController extends ApplicationController { - @Resource(name = "importService") - private ImportService importService; - - /**국민 신문고에서 받은 민원을 등록했음을 통보한다. - * @param interfaceSequences 민원의 인터페이스 키 목록 - * @return jsonView - *
    • received - 통보 수신 여부(true || false)
    • - *
    • saved - 저장 여부(true || false)
    • - *
    - */ - @PostMapping(value = "/smg/petition/receive.do", name = "국민 신문고 민원 수신") - public ModelAndView importSmgPetition(@RequestBody List intfSeqs) { - boolean empty = isEmpty(intfSeqs); - log().debug("interfaceSequences received: {}", empty ? "none" : String.join(", ", intfSeqs)); - - int affected = importService.createCrdns(intfSeqs); - return new ModelAndView("jsonView") - .addObject("received", !empty) - .addObject("affected", affected) - .addObject("saved", true); - } -} \ No newline at end of file diff --git a/src/main/java/cokr/xit/fims/cmmn/web/LinkController.java b/src/main/java/cokr/xit/fims/cmmn/web/LinkController.java deleted file mode 100644 index ccb1e91c..00000000 --- a/src/main/java/cokr/xit/fims/cmmn/web/LinkController.java +++ /dev/null @@ -1,62 +0,0 @@ -package cokr.xit.fims.cmmn.web; - -import javax.annotation.Resource; - -import org.springframework.stereotype.Controller; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.servlet.ModelAndView; - -import cokr.xit.fims.base.service.bean.OgdpBean; -import cokr.xit.fims.cmmn.dao.ExtrStngMapper; -import cokr.xit.fims.cmmn.service.LinkService; -import cokr.xit.fims.cmmn.service.bean.LinkBean; -import cokr.xit.foundation.UserInfo; -import cokr.xit.foundation.data.DataObject; -import cokr.xit.foundation.web.AbstractController; - -@Controller -@RequestMapping(name = "연계 처리", value = "/link") -public class LinkController extends AbstractController { - - @Resource(name = "linkBean") - private LinkBean linkBean; - - @Resource(name = "linkService") - private LinkService linkService; - - @Resource(name = "ogdpBean") - private OgdpBean ogdpBean; - - @Resource(name = "extrStngMapper") - private ExtrStngMapper extrStngMapper; - - @RequestMapping(name = "파일 처리", value = "/fileProcess.do") - public ModelAndView fileProcess(String filePath, String job, String param) { - ModelAndView mav = new ModelAndView("jsonView"); - - boolean saved = false; - UserInfo userInfo = currentUser(); - ogdpBean.initUserInfo(userInfo); - String sggCd = (String) userInfo.getInfo().get("sggCd"); - - System.out.println("파라미터 : "+ param); - - DataObject dataObject = fromJson(param, DataObject.class); - - - //차세대 세외수입 pdf파일 정보 추출 - if(job.equals("01")) { - String taskSeCd = dataObject.string("taskSeCd"); - String tmplatId = dataObject.string("tmplatId"); - - linkService.insertElectronicNoticeSndng(filePath, sggCd, taskSeCd, tmplatId); - - - } - - mav.addObject("saved", saved); - return mav; - } - -} - diff --git a/src/main/java/cokr/xit/fims/cmmn/web/StngController.java b/src/main/java/cokr/xit/fims/cmmn/web/StngController.java deleted file mode 100644 index 6b13d947..00000000 --- a/src/main/java/cokr/xit/fims/cmmn/web/StngController.java +++ /dev/null @@ -1,361 +0,0 @@ -package cokr.xit.fims.cmmn.web; - -import java.io.File; -import java.util.List; -import java.util.Map; - -import javax.annotation.Resource; - -import org.apache.commons.io.FilenameUtils; -import org.springframework.stereotype.Controller; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.multipart.MultipartFile; -import org.springframework.web.servlet.ModelAndView; - -import cokr.xit.base.code.CommonCode; -import cokr.xit.base.user.SigunguQuery; -import cokr.xit.base.user.dao.UserMapper; -import cokr.xit.base.user.service.bean.SigunguBean; -import cokr.xit.base.web.ApplicationController; -import cokr.xit.fims.base.FimsUser; -import cokr.xit.fims.cmmn.ExtrForm; -import cokr.xit.fims.cmmn.ExtrStngQuery; -import cokr.xit.fims.cmmn.OtptForm; -import cokr.xit.fims.cmmn.OtptStngQuery; -import cokr.xit.fims.cmmn.OutsourcingForm; -import cokr.xit.fims.cmmn.OutsourcingStngQuery; -import cokr.xit.fims.cmmn.service.StngService; -import cokr.xit.fims.cmmn.service.bean.ExtrStngBean; -import cokr.xit.fims.cmmn.service.bean.OtptStngBean; -import cokr.xit.fims.cmmn.service.bean.OutsourcingStngBean; -import cokr.xit.fims.cmmn.service.bean.StngBean; -import cokr.xit.foundation.data.DataObject; - -/**설정 관리 서비스의 웹 컨트롤러 -* -*

    상세 설명: -* -*

    -* ============ 변경 이력 ============
    -* 2024-02-20	leebj 최초 작성
    -* ================================
    -* 
    -*/ -@Controller -@RequestMapping(name="설정관리", value=StngController.CLASS_URL) -public class StngController extends ApplicationController { - public static final String CLASS_URL = "/stng/stng01"; - - public class METHOD_URL { - public static final String - otptStngMain = "/010/main.do", - getOtptStngInfo = "/010/info.do", - saveOtptStngInfo = "/010/save.do", - extrStngMain = "/020/main.do", - getExtrStngInfo = "/020/info.do", - saveExtrStngInfo = "/020/save.do", - outsourcingStngMain = "/030/main.do", - getOutsourcingStngInfo = "/030/info.do", - saveOutsourcingStngInfo = "/030/save.do" - ; - } - - @Resource(name = "stngService") - private StngService stngService; - - @Resource(name = "stngBean") - private StngBean stngBean; - - @Resource(name = "sigunguBean") - private SigunguBean sigunguBean; - - @Resource(name = "otptStngBean") - private OtptStngBean otptStngBean; - - @Resource(name = "outsourcingStngBean") - private OutsourcingStngBean outsourcingStngBean; - - @Resource(name = "extrStngBean") - private ExtrStngBean extrStngBean; - - @Resource(name = "userMapper") - private UserMapper userMapper; - - - /** 출력물 설정 메인 화면을 연다. - * @return 출력물 설정 메인 화면 - */ - @RequestMapping(name="출력물 설정 메인 화면", value=METHOD_URL.otptStngMain) - public ModelAndView otptStngMain() { - ModelAndView mav = new ModelAndView("fims/stng01010-main"); - mav.addObject("pageName", "stng01010"); - - Map> commonCodes = getCodesOf("FIM054","FIM047","FIM078","FIM080"); - - mav.addObject("FIM047List", commonCodes.get("FIM047")); - mav.addObject("FIM054List", commonCodes.get("FIM054")); - mav.addObject("TaskListForSgg", stngBean.filterTaskSectionCodeForSgg(commonCodes.get("FIM054"))); - mav.addObject("FIM078List", commonCodes.get("FIM078")); - mav.addObject("FIM080List", commonCodes.get("FIM080")); - addCodes(commonCodes, mav, "FIM047", "FIM054", "FIM078","FIM080"); - - return mav; - } - - /** 출력물 설정 정보를 불러온다. - * @return 출력물 설정 정보 - */ - @RequestMapping(name="출력물 설정 정보 조회", value=METHOD_URL.getOtptStngInfo) - public ModelAndView getOtptStngInfo(OtptStngQuery otptStngQuery) { - - ModelAndView mav = new ModelAndView("jsonView"); - - //출력 설정 제목 - FimsUser currentUser = (FimsUser) currentUser().getUser(); - String sggCd = currentUser.getOrgID(); - DataObject sgg = sigunguBean.getSigunguList(new SigunguQuery().setSggIDs(sggCd)).get(0); - String sggNm = sgg.string("SGG_NM"); - - Map> commonCodes = getCodesOf("FIM054","FIM047","FIM078"); - List FIM047 = commonCodes.get("FIM047"); - List FIM054 = commonCodes.get("FIM054"); - List FIM078 = commonCodes.get("FIM078"); - - String taskSeNm = FIM054.stream(). - filter(item -> item.getCode().equals(otptStngQuery.getTaskSeCd())).findFirst().get().getValue(); - - String sndngSeNm = FIM047.stream(). - filter(item -> item.getCode().equals(otptStngQuery.getSndngSeCd())).findFirst().get().getValue(); - - String otptPaperSeNm = FIM078.stream(). - filter(item -> item.getCode().equals(otptStngQuery.getPaperSeCd())).findFirst().get().getValue(); - - String otptStngTitle = "["+sggNm+", "+taskSeNm+"]"+" "+sndngSeNm+" "+"("+otptPaperSeNm+")"; - mav.addObject("otptStngTitle", otptStngTitle); - - //출력물 기본 설정 - DataObject otptBscStng = new DataObject(); - otptBscStng = otptStngBean.getOtptBscStng(otptStngQuery); - mav.addObject("otptGlobalStng", otptBscStng); - - //출력 요소별 설정 - Map otptArtclStngMap = otptStngBean.getOtptArtclStngMap(otptStngQuery); - - mav.addObject("otptArtclStngMap", otptArtclStngMap); - - return mav; - } - - /** 출력물 설정 정보를 저장한다. - * @return 저장 여부 - */ - @RequestMapping(name="출력물 설정 정보 저장", value=METHOD_URL.saveOtptStngInfo) - public ModelAndView saveOtptStngInfo(OtptForm otptForm, MultipartFile backgroundFile) { - ModelAndView mav = new ModelAndView("jsonView"); - boolean saved = false; - - if(backgroundFile != null && !backgroundFile.isEmpty() && backgroundFile.getSize() != 0) { - FimsUser currentUser = (FimsUser) currentUser().getUser(); - String sggCd = currentUser.getOrgID(); - - String bgPath = "files/attachment/etc/background/"+sggCd; - - String ext = FilenameUtils.getExtension(backgroundFile.getOriginalFilename()); - String fileName = otptForm.getTaskSeCd()+"-"+otptForm.getSndngSeCd()+"-"+otptForm.getPaperSeCd()+"."+ext; - - File workDir = new File(bgPath); - workDir.mkdirs(); - try { - String bgFullPath = bgPath + "/" + fileName; - File newFile = new File(bgFullPath); - if(newFile.exists()) { - if(!newFile.delete()) { - throw new RuntimeException("배경 이미지 업로드 중 오류가 발생하였습니다."); - } - } - backgroundFile.transferTo(newFile); - - otptForm.setBcrnImgPath(bgFullPath); - otptForm.setBcrnImgFileNm(backgroundFile.getOriginalFilename()); - } catch (Exception e) { - throw new RuntimeException("배경 이미지 업로드 중 오류가 발생하였습니다."); - } - } - - saved = otptStngBean.saveOtptBscStng(otptForm); - if(saved) { - saved = otptStngBean.saveOtptArtclStng(otptForm); - } - - mav.addObject("saved", saved); - return mav; - } - - - /** PDF 자료 추출 설정 메인 화면을 연다. - * @return PDF 자료 추출 설정 메인 화면 - */ - @RequestMapping(name="PDF 자료 추출 설정 메인 화면", value=METHOD_URL.extrStngMain) - public ModelAndView extrStngMain() { - ModelAndView mav = new ModelAndView("fims/stng01020-main"); - mav.addObject("pageName", "stng01020"); - - Map> commonCodes = getCodesOf("FIM054","FIM047","FIM078","FIM080","EIF001"); - - mav.addObject("FIM047List", commonCodes.get("FIM047")); - mav.addObject("FIM054List", commonCodes.get("FIM054")); - mav.addObject("TaskListForSgg", stngBean.filterTaskSectionCodeForSgg(commonCodes.get("FIM054"))); - mav.addObject("FIM078List", commonCodes.get("FIM078")); - mav.addObject("FIM080List", commonCodes.get("FIM080")); - mav.addObject("TmplatList", commonCodes.get("EIF001")); - addCodes(commonCodes, mav, "FIM047", "FIM054", "FIM078","FIM080"); - - return mav; - } - - /** PDF 자료 추출 설정 정보를 불러온다. - * @return PDF 자료 추출 설정 정보 - */ - @RequestMapping(name="PDF 자료 추출 설정 정보 조회", value=METHOD_URL.getExtrStngInfo) - public ModelAndView getExtrStngInfo(ExtrStngQuery extrStngQuery) { - - ModelAndView mav = new ModelAndView("jsonView"); - - //설정 제목 - FimsUser currentUser = (FimsUser) currentUser().getUser(); - String sggCd = currentUser.getOrgID(); - DataObject sgg = sigunguBean.getSigunguList(new SigunguQuery().setSggIDs(sggCd)).get(0); - String sggNm = sgg.string("SGG_NM"); - - Map> commonCodes = getCodesOf("FIM054","FIM047","FIM078"); - List FIM054 = commonCodes.get("FIM054"); - - - String taskSeNm = FIM054.stream(). - filter(item -> item.getCode().equals(extrStngQuery.getTaskSeCd())).findFirst().get().getValue(); - - String templateName = ""; - if(extrStngQuery.getTmplatId().equals("JU001")) { - templateName = "사전통지서"; - } else if(extrStngQuery.getTmplatId().equals("JU002")){ - templateName = "본고지(수시분)"; - } - - String extrStngTitle = "["+sggNm+", "+taskSeNm+"]"+" "+templateName; - mav.addObject("extrStngTitle", extrStngTitle); - - - //추출 기본 설정 - DataObject extrBscStng = extrStngBean.getExtrBscStng(extrStngQuery); - if(extrBscStng == null) { - mav.addObject("EXTR_BSC_ID", ""); - mav.addObject("MOBILE_PAGE_TMPLT", ""); - } else { - mav.addObject("EXTR_BSC_ID", extrBscStng.string("EXTR_BSC_ID")); - mav.addObject("MOBILE_PAGE_TMPLT", extrBscStng.string("MOBILE_PAGE_TMPLT")); - } - - //추출 요소별 설정 - Map extrArtclStngMap = extrStngBean.getExtrArtclStngMap(extrStngQuery); - mav.addObject("extrArtclStngMap", extrArtclStngMap); - - return mav; - } - - /** PDF 추출 설정 정보를 저장한다. - * @return 저장 여부 - */ - @RequestMapping(name="PDF 자료 추출 설정 정보 저장", value=METHOD_URL.saveExtrStngInfo) - public ModelAndView saveExtrStngInfo(ExtrForm extrForm) { - ModelAndView mav = new ModelAndView("jsonView"); - boolean saved = false; - - saved = extrStngBean.saveExtrBscStng(extrForm); - if(saved) { - saved = extrStngBean.saveExtrArtclStng(extrForm); - } - - mav.addObject("saved", saved); - return mav; - } - - /** 외주요청파일 서식 설정 메인 화면을 연다. - * @return 외주요청파일 서식 설정 메인 화면 - */ - @RequestMapping(name="외주요청파일 서식 설정 메인 화면", value=METHOD_URL.outsourcingStngMain) - public ModelAndView outsourcingStngMain() { - ModelAndView mav = new ModelAndView("fims/stng01030-main"); - mav.addObject("pageName", "stng01030"); - - Map> commonCodes = getCodesOf("FIM054","FIM047","FIM078","FIM080"); - - mav.addObject("FIM047List", commonCodes.get("FIM047")); - mav.addObject("FIM054List", commonCodes.get("FIM054")); - mav.addObject("TaskListForSgg", stngBean.filterTaskSectionCodeForSgg(commonCodes.get("FIM054"))); - mav.addObject("FIM078List", commonCodes.get("FIM078")); - mav.addObject("FIM080List", commonCodes.get("FIM080")); - addCodes(commonCodes, mav, "FIM047", "FIM054", "FIM078","FIM080"); - - return mav; - } - - - /** 외주요청파일 서식 설정 정보를 불러온다. - * @return 외주요청파일 서식 설정 정보 - */ - @RequestMapping(name="외주요청파일 서식 설정 정보 조회", value=METHOD_URL.getOutsourcingStngInfo) - public ModelAndView getOutsourcingStngInfo(OutsourcingStngQuery outsourcingStngQuery) { - - ModelAndView mav = new ModelAndView("jsonView"); - - //설정 제목 - FimsUser currentUser = (FimsUser) currentUser().getUser(); - String sggCd = currentUser.getOrgID(); - DataObject sgg = sigunguBean.getSigunguList(new SigunguQuery().setSggIDs(sggCd)).get(0); - String sggNm = sgg.string("SGG_NM"); - - Map> commonCodes = getCodesOf("FIM054","FIM047","FIM078"); - List FIM047 = commonCodes.get("FIM047"); - List FIM054 = commonCodes.get("FIM054"); - - String taskSeNm = FIM054.stream(). - filter(item -> item.getCode().equals(outsourcingStngQuery.getTaskSeCd())).findFirst().get().getValue(); - - String sndngSeNm = FIM047.stream(). - filter(item -> item.getCode().equals(outsourcingStngQuery.getSndngSeCd())).findFirst().get().getValue(); - - String outsourcingStngTitle = "["+sggNm+", "+taskSeNm+"]"+" "+sndngSeNm; - mav.addObject("outsourcingStngTitle", outsourcingStngTitle); - - //기본 설정 - DataObject zipGlobalStng = new DataObject(); - //zipGlobalStng = outsourcingStngBean.getBscStng(); - zipGlobalStng.put("OUTSOURCING_BSC_ID",""); - mav.addObject("zipGlobalStng", zipGlobalStng); - - //요소별 설정 - Map zipArtclStngMap = outsourcingStngBean.getArtclStngMap(outsourcingStngQuery); - - mav.addObject("zipArtclStngMap", zipArtclStngMap); - - return mav; - } - - - /** 외주요청파일 서식 설정 정보를 저장한다. - * @return 저장 여부 - */ - @RequestMapping(name="외주요청파일 서식 설정 정보 저장", value=METHOD_URL.saveOutsourcingStngInfo) - public ModelAndView saveOutsourcingStngInfo(OutsourcingForm outsourcingForm) { - ModelAndView mav = new ModelAndView("jsonView"); - boolean saved = false; - - //saved = outsourcingStngBean.saveBscStng(otptForm); - //if(saved) { - saved = outsourcingStngBean.saveOutsourcingArtclStng(outsourcingForm); - //} - - mav.addObject("saved", saved); - return mav; - } -} diff --git a/src/main/java/cokr/xit/fims/cmmn/xls/FormatMaker.java b/src/main/java/cokr/xit/fims/cmmn/xls/FormatMaker.java deleted file mode 100644 index 4e272d98..00000000 --- a/src/main/java/cokr/xit/fims/cmmn/xls/FormatMaker.java +++ /dev/null @@ -1,68 +0,0 @@ -package cokr.xit.fims.cmmn.xls; - -import java.io.File; -import java.util.Map; - -import org.apache.poi.hssf.util.HSSFColor; - -import cokr.xit.base.docs.xls.Comment; -import cokr.xit.base.docs.xls.Format; -import cokr.xit.base.docs.xls.Style; -import cokr.xit.foundation.data.DataFormat; - -public class FormatMaker { - - @SuppressWarnings("rawtypes") - public static Format photoCellForApproval(Format format, Comment comment, String key) { - return format.of(key) - .value(obj -> { - if(((Map)obj).get(key) == null) { - return "없음"; - } - String value = (String)((Map)obj).get(key); - if(value.equals("")) { - return "없음"; - } - if(!(new File(value)).exists()) { - return "이미지 경로 존재하지 않음"; - } - if((new File(value)).length() == 0) { - return "이미지 크기 오류"; - } - if((new File(value)).length() > (1024 * 1024 * 3)){ - return "사진크기(3MB)초과"; - } - return " "; - }) - .onCell(obj -> { - if(((Map)obj).get(key) == null) { return; } - String value = (String)((Map)obj).get(key); - if(value.equals("")) { return; } - if(!(new File(value)).exists()) { return; } - if((new File(value)).length() == 0) { return; } - if((new File(value)).length() > (1024 * 1024 * 3)){ return; } - - comment.setImageComment((String)((Map)obj).get(key)); - }) - .style(new Style().foregroundColor(HSSFColor.HSSFColorPredefined.YELLOW.getIndex())); - } - - - @SuppressWarnings("rawtypes") - public static Format yyyy_mm_dd_hh_mm_ss(Format format, String key) { - return format.of(key).value(o -> { - return DataFormat.yyyy_mm_dd_hh_mm_ss(((Map) o).get(key)); - }); - } - - - @SuppressWarnings("rawtypes") - public static Format yyyy_mm_dd(Format format, String key) { - return format.of(key).value(o -> { - return DataFormat.yyyy_mm_dd(((Map) o).get(key)); - }); - } - - - -} diff --git a/src/main/java/cokr/xit/fims/cmmn/xls/StyleMaker.java b/src/main/java/cokr/xit/fims/cmmn/xls/StyleMaker.java deleted file mode 100644 index ad7bd1d4..00000000 --- a/src/main/java/cokr/xit/fims/cmmn/xls/StyleMaker.java +++ /dev/null @@ -1,24 +0,0 @@ -package cokr.xit.fims.cmmn.xls; - -import org.apache.poi.hssf.util.HSSFColor; -import org.apache.poi.ss.usermodel.Font; -import org.apache.poi.ss.usermodel.HorizontalAlignment; - -import cokr.xit.base.docs.xls.Style; -import cokr.xit.base.docs.xls.XLSWriter; - - -public class StyleMaker { - - public static Style headerStyle(XLSWriter xlsx) { - return new Style() - .foregroundColor(HSSFColor.HSSFColorPredefined.GREY_25_PERCENT.getIndex()) - .configure(styl -> { - Font font = xlsx.workbook().createFont(); - font.setColor(HSSFColor.HSSFColorPredefined.BLACK.getIndex()); - styl.font(font); - styl.alignment(HorizontalAlignment.CENTER); - }); - } - -} diff --git a/src/main/java/cokr/xit/fims/crdn/Crdn.java b/src/main/java/cokr/xit/fims/crdn/Crdn.java deleted file mode 100644 index 4c96f4d4..00000000 --- a/src/main/java/cokr/xit/fims/crdn/Crdn.java +++ /dev/null @@ -1,400 +0,0 @@ -package cokr.xit.fims.crdn; - -import cokr.xit.foundation.AbstractEntity; -import lombok.Getter; -import lombok.Setter; - -/**단속 자료 정보 - * @author leebj - */ -@Getter -@Setter -public class Crdn extends AbstractEntity { - public static String INF_TYPE = "100"; - - /** - * 단속 ID - */ - private String crdnId; - - /** - * 시군구 코드 - */ - private String sggCd; - - /** - * 업무 구분 코드 - */ - private String taskSeCd; - - /** - * 단속 등록 구분 코드 - */ - private String crdnRegSeCd; - - /** - * 단속 입력 구분 코드 - */ - private String crdnInptSeCd; - - /** - * 연계 ID - */ - private String linkId; - - /** - * 단속 구분 코드 - */ - private String crdnSeCd; - - /** - * 납부자 ID - */ - private String rtpyrId; - - /** - * 주소 일련번호 - */ - private String addrSn; - - /** - * 단속 일자 - */ - private String crdnYmd; - - /** - * 단속 시각 - */ - private String crdnTm; - - /** - * 차량번호 - */ - private String vhrno; - - /** - * 단속 법정동 명 - */ - private String crdnStdgNm; - - /** - * 단속 도로 명 - */ - private String crdnRoadNm; - - /** - * 단속 장소 - */ - private String crdnPlc; - - /** - * 상세 단속 장소 - */ - private String dtlCrdnPlc; - - /** - * 조 ID - */ - private String teamId; - - /** - * 위반 ID - */ - private String vltnId; - - /** - * 단속 특별구역 코드 - */ - private String crdnSpareaCd; - - /** - * 단속 시작 시각 - */ - private String crdnBgngTm; - - /** - * 단속 종료 시간 - */ - private String crdnEndTm; - - /** - * 단속 일련번호 - */ - private String crdnSn; - - /** - * GPS X - */ - private String gpsX; - - /** - * GPS Y - */ - private String gpsY; - - /** - * 모자이크 X - */ - private String moscX; - - /** - * 모자이크 Y - */ - private String moscY; - - /** - * 견인 여부 - */ - private String towngYn; - - /** - * 첨부 파일 수 - */ - private Integer atchFileCnt; - - /** - * 차대번호 - */ - private String vin; - - /** - * 말소등록일자 - */ - private String ersrRegYmd; - - /** - * 차량 명 - */ - private String vhclNm; - - /** - * 차량 색상 - */ - private String vhclColr; - - /** - * 사용 연료 코드 - */ - private String useFuelCd; - - /** - * 과태료 차종 코드 - */ - private String ffnlgCarmdlCd; - - /** - * 주차 가능 결과 코드 - */ - private String prkPsbltyRsltCd; - - /** - * 위반 횟수 - */ - private String vltnNmtm; - - /** - * 시간외 여부 - */ - private String ovtmYn; - - /** - * 시간외 분할 여부 - */ - private String ovtmPrttnYn; - - /** - * 과태료 단속 금액 - */ - private Integer ffnlgCrdnAmt; - - /** - * 과태료 감경율 - */ - private String ffnlgRdcrt; - - /** - * 과태료 금액 - */ - private Integer ffnlgAmt; - - /** - * 사전통지 시작 일자 - */ - private String advntceBgngYmd; - - /** - * 사전통지 납기 일자 - */ - private String advntceDudtYmd; - - /** - * 사전통지 금액 - */ - private Integer advntceAmt; - - /** - * 의견 제출 여부 - */ - private String opnnSbmsnYn; - - /** - * 기타 내용 - */ - private String etcCn; - - /** - * 부과 ID - */ - private String levyId; - - /** - * 단속 상태 코드 - */ - private String crdnSttsCd; - - /** - * 단속 상태 변경 일시 - */ - private String crdnSttsChgDt; - - /** - * 가산 금액 - */ - private Integer adtnAmt; - - /** - * 감경 금액 - */ - private Integer minusAmt; - - /** - * 수납 금액 - */ - private Integer rcvmtAmt; - - /** - * 이전 단속 ID - */ - private String bfrCrdnId; - - /** - * 세외수입 단속 연계 여부 - */ - private String nxrpCrdnLinkYn; - - /** - * 세외수입 단속 연계 사용자 ID - */ - private String nxrpCrdnLinkUserId; - - /** - * 세외수입 단속 연계 일시 - */ - private String nxrpCrdnLinkDt; - - /** - * 세외수입 대장 키 - */ - private String nxrpAcbKey; - - /** - * 삭제 여부 - */ - private String delYn; - - /** - * 삭제 일시 - */ - private String delDt; - - /** - * 삭제자 - */ - private String dltr; - - /** - * 삭제 사유 - */ - private String delRsn; - - /** - * 연계 테이블 명 - */ - private String linkTblNm; - - /** - * 민원 연계 여부 - */ - private String cvlcptLinkYn; - - /** - * 위반코드 - */ - private String vltnCd; - - /** - * 납부자 구분 코드 - */ - private String rtpyrSeCd; - - /** - * 납부자 명 - */ - private String rtpyrNm; - - /** - * 납부자 번호 - */ - private String rtpyrNo; - - /** - * 납부자 우편번호 - */ - private String zip; - - /** - * 납부자 주소 - */ - private String addr; - - /** - * 납부자 상세주소 - */ - private String dtlAddr; - - /** - * 부과 제외 구분 코드 - */ - private String levyExclSeCd; - - /** - * 부과 제외 사유 코드 - */ - private String levyExclRsnCd; - - /** - * 부과 제외 일자 - */ - private String levyExclYmd; - - /** - * 조원1 - */ - private String teamer1; - - /** - * 조원2 - */ - private String teamer2; - - /** - * 조원3 - */ - private String teamer3; - - /** - * 조원4 - */ - private String teamer4; - -} diff --git a/src/main/java/cokr/xit/fims/crdn/CrdnQuery.java b/src/main/java/cokr/xit/fims/crdn/CrdnQuery.java deleted file mode 100644 index f907970e..00000000 --- a/src/main/java/cokr/xit/fims/crdn/CrdnQuery.java +++ /dev/null @@ -1,447 +0,0 @@ -package cokr.xit.fims.crdn; - -import cokr.xit.fims.cmmn.CmmnQuery; - -/**단속 대장 정보 조회 요청 -* -*

    상세 설명: -* -*

    -* ============ 변경 이력 ============
    -* 2023-06-23	leebj 최초 작성
    -* ================================
    -* 
    -*/ -public class CrdnQuery extends CmmnQuery { - - private static final long serialVersionUID = 1L; - - //조회유형 - private String gridType; - private String inspectionDataType; - - //현재정보 - private String currentUserId; - private String currentUserAcnt; - private String currentInstitute; - - //ID - private String crdnId; - private String[] crdnIds; - private String amtDcsnCdGroupId; - private String dtlAmtDcsnGroupId; - private String fileLayoutId; - - //날짜 - private String aplcnYmd; - private String schCvlcptRcptYmdFrom; - private String schCvlcptRcptYmdTo; - private String schCvlcptPrcsPrnmntDtFrom; - private String schCvlcptPrcsPrnmntDtTo; - private String schRdctYmdFrom; - private String schRdctYmdTo; - private String crdnYmd; - private String schCrdnYmdFrom; - private String schCrdnYmdTo; - private String schDmndYmdFrom; - private String schDmndYmdTo; - - //from, to - private Integer schCrdnCntFrom; - private Integer schCrdnCntTo; - - //코드 - private String amtDcsnCd; - private String dtlAmtDcsnCd; - private String crdnInptSeCd; - private String cvlcptPrcsCd; - private String crdnSttsCd; - private String ansSeCd; - private String ansRsnCd; - - //포함, 제외, 특정 자료 - private String schOnlySamePlace; - private String schOnlyUnpay; - private String schExclEnd; - private String schExclOvtime; - - //YN - private String dstrbncYn; - private String towngYn; - - //기타 - private String vhrno; - private String cvlcptPrcsPicNm; - private String teamNm; - private String nxrpSendStts; - - public String getGridType() { - return ifEmpty(gridType, () -> null); - } - - public T setGridType(String gridType) { - this.gridType = gridType; - return self(); - } - - public String getCurrentUserId() { - return ifEmpty(currentUserId, () -> null); - } - - public T setCurrentUserId(String currentUserId) { - this.currentUserId = currentUserId; - return self(); - } - - public String getCurrentUserAcnt() { - return ifEmpty(currentUserAcnt, () -> null); - } - - public T setCurrentUserAcnt(String currentUserAcnt) { - this.currentUserAcnt = currentUserAcnt; - return self(); - } - - public String getCurrentInstitute() { - return ifEmpty(currentInstitute, () -> null); - } - - public T setCurrentInstitute(String currentInstitute) { - this.currentInstitute = currentInstitute; - return self(); - } - - public String getInspectionDataType() { - return ifEmpty(inspectionDataType, () -> null); - } - - public T setInspectionDataType(String inspectionDataType) { - this.inspectionDataType = inspectionDataType; - return self(); - } - - public String getCrdnId() { - return ifEmpty(crdnId, () -> null); - } - - public T setCrdnId(String crdnId) { - this.crdnId = crdnId; - return self(); - } - - public String[] getCrdnIds() { - return ifEmpty(crdnIds, () -> null); - } - - public T setCrdnIds(String... crdnIds) { - this.crdnIds = crdnIds; - return self(); - } - - public String getDstrbncYn() { - return ifEmpty(dstrbncYn, () -> null); - } - - public T setDstrbncYn(String dstrbncYn) { - this.dstrbncYn = dstrbncYn; - return self(); - } - - public String getTowngYn() { - return ifEmpty(towngYn, () -> null); - } - - public T setTowngYn(String towngYn) { - this.towngYn = towngYn; - return self(); - } - - public String getVhrno() { - return ifEmpty(vhrno, () -> null); - } - - public T setVhrno(String vhrno) { - this.vhrno = vhrno; - return self(); - } - - public String getCvlcptPrcsPicNm() { - return ifEmpty(cvlcptPrcsPicNm, () -> null); - } - - public T setCvlcptPrcsPicNm(String cvlcptPrcsPicNm) { - this.cvlcptPrcsPicNm = cvlcptPrcsPicNm; - return self(); - } - - public String getTeamNm() { - return ifEmpty(teamNm, () -> null); - } - - public T setTeamNm(String teamNm) { - this.teamNm = teamNm; - return self(); - } - - public String getSchCvlcptRcptYmdFrom() { - return ifEmpty(schCvlcptRcptYmdFrom, () -> null); - } - - public T setSchCvlcptRcptYmdFrom(String schCvlcptRcptYmdFrom) { - this.schCvlcptRcptYmdFrom = schCvlcptRcptYmdFrom; - return self(); - } - - public String getSchCvlcptRcptYmdTo() { - return ifEmpty(schCvlcptRcptYmdTo, () -> null); - } - - public T setSchCvlcptRcptYmdTo(String schCvlcptRcptYmdTo) { - this.schCvlcptRcptYmdTo = schCvlcptRcptYmdTo; - return self(); - } - - public String getSchCvlcptPrcsPrnmntDtFrom() { - return ifEmpty(schCvlcptPrcsPrnmntDtFrom, () -> null); - } - - public T setSchCvlcptPrcsPrnmntDtFrom(String schCvlcptPrcsPrnmntDtFrom) { - this.schCvlcptPrcsPrnmntDtFrom = schCvlcptPrcsPrnmntDtFrom; - return self(); - } - - public String getSchCvlcptPrcsPrnmntDtTo() { - return ifEmpty(schCvlcptPrcsPrnmntDtTo, () -> null); - } - - public T setSchCvlcptPrcsPrnmntDtTo(String schCvlcptPrcsPrnmntDtTo) { - this.schCvlcptPrcsPrnmntDtTo = schCvlcptPrcsPrnmntDtTo; - return self(); - } - - public String getSchRdctYmdFrom() { - return ifEmpty(schRdctYmdFrom, () -> null); - } - - public T setSchRdctYmdFrom(String schRdctYmdFrom) { - this.schRdctYmdFrom = schRdctYmdFrom; - return self(); - } - - public String getSchRdctYmdTo() { - return ifEmpty(schRdctYmdTo, () -> null); - } - - public T setSchRdctYmdTo(String schRdctYmdTo) { - this.schRdctYmdTo = schRdctYmdTo; - return self(); - } - - public String getCrdnYmd() { - return ifEmpty(crdnYmd, () -> null); - } - - public T setCrdnYmd(String crdnYmd) { - this.crdnYmd = crdnYmd; - return self(); - } - - public String getSchCrdnYmdFrom() { - return ifEmpty(schCrdnYmdFrom, () -> null); - } - - public T setSchCrdnYmdFrom(String schCrdnYmdFrom) { - this.schCrdnYmdFrom = schCrdnYmdFrom; - return self(); - } - - public String getSchCrdnYmdTo() { - return ifEmpty(schCrdnYmdTo, () -> null); - } - - public T setSchCrdnYmdTo(String schCrdnYmdTo) { - this.schCrdnYmdTo = schCrdnYmdTo; - return self(); - } - - public String getSchDmndYmdFrom() { - return ifEmpty(schDmndYmdFrom, () -> null); - } - - public T setSchDmndYmdFrom(String schDmndYmdFrom) { - this.schDmndYmdFrom = schDmndYmdFrom; - return self(); - } - - public String getSchDmndYmdTo() { - return ifEmpty(schDmndYmdTo, () -> null); - } - - public T setSchDmndYmdTo(String schDmndYmdTo) { - this.schDmndYmdTo = schDmndYmdTo; - return self(); - } - - public Integer getSchCrdnCntFrom() { - return ifEmpty(schCrdnCntFrom, () -> null); - } - - public T setSchCrdnCntFrom(Integer schCrdnCntFrom) { - this.schCrdnCntFrom = schCrdnCntFrom; - return self(); - } - - public Integer getSchCrdnCntTo() { - return ifEmpty(schCrdnCntTo, () -> null); - } - - public T setSchCrdnCntTo(Integer schCrdnCntTo) { - this.schCrdnCntTo = schCrdnCntTo; - return self(); - } - - public String getSchOnlySamePlace() { - return ifEmpty(schOnlySamePlace, () -> null); - } - - public T setSchOnlySamePlace(String schOnlySamePlace) { - this.schOnlySamePlace = schOnlySamePlace; - return self(); - } - - public String getSchOnlyUnpay() { - return ifEmpty(schOnlyUnpay, () -> null); - } - - public T setSchOnlyUnpay(String schOnlyUnpay) { - this.schOnlyUnpay = schOnlyUnpay; - return self(); - } - - public String getSchExclEnd() { - return ifEmpty(schExclEnd, () -> null); - } - - public T setSchExclEnd(String schExclEnd) { - this.schExclEnd = schExclEnd; - return self(); - } - - public String getSchExclOvtime() { - return ifEmpty(schExclOvtime, () -> null); - } - - public T setSchExclOvtime(String schExclOvtime) { - this.schExclOvtime = schExclOvtime; - return self(); - } - - public String getCrdnInptSeCd() { - return ifEmpty(crdnInptSeCd, () -> null); - } - - public T setCrdnInptSeCd(String crdnInptSeCd) { - this.crdnInptSeCd = crdnInptSeCd; - return self(); - } - - public String getCvlcptPrcsCd() { - return ifEmpty(cvlcptPrcsCd, () -> null); - } - - public T setCvlcptPrcsCd(String cvlcptPrcsCd) { - this.cvlcptPrcsCd = cvlcptPrcsCd; - return self(); - } - - public String getCrdnSttsCd() { - return ifEmpty(crdnSttsCd, () -> null); - } - - public T setCrdnSttsCd(String crdnSttsCd) { - this.crdnSttsCd = crdnSttsCd; - return self(); - } - - public String getAnsSeCd() { - return ifEmpty(ansSeCd, () -> null); - } - - public T setAnsSeCd(String ansSeCd) { - this.ansSeCd = ansSeCd; - return self(); - } - - public String getAnsRsnCd() { - return ifEmpty(ansRsnCd, () -> null); - } - - public T setAnsRsnCd(String ansRsnCd) { - this.ansRsnCd = ansRsnCd; - return self(); - } - - public String getAplcnYmd() { - return ifEmpty(aplcnYmd, () -> null); - } - - public T setAplcnYmd(String aplcnYmd) { - this.aplcnYmd = aplcnYmd; - return self(); - } - - public String getAmtDcsnCdGroupId() { - return ifEmpty(amtDcsnCdGroupId, () -> null); - } - - public T setAmtDcsnCdGroupId(String amtDcsnCdGroupId) { - this.amtDcsnCdGroupId = amtDcsnCdGroupId; - return self(); - } - - public String getAmtDcsnCd() { - return ifEmpty(amtDcsnCd, () -> null); - } - - public T setAmtDcsnCd(String amtDcsnCd) { - this.amtDcsnCd = amtDcsnCd; - return self(); - } - - public String getDtlAmtDcsnGroupId() { - return ifEmpty(dtlAmtDcsnGroupId, () -> null); - } - - public T setDtlAmtDcsnGroupId(String dtlAmtDcsnGroupId) { - this.dtlAmtDcsnGroupId = dtlAmtDcsnGroupId; - return self(); - } - - public String getFileLayoutId() { - return ifEmpty(fileLayoutId, () -> null); - } - - public T setFileLayoutId(String fileLayoutId) { - this.fileLayoutId = fileLayoutId; - return self(); - } - - public String getDtlAmtDcsnCd() { - return ifEmpty(dtlAmtDcsnCd, () -> null); - } - - public T setDtlAmtDcsnCd(String dtlAmtDcsnCd) { - this.dtlAmtDcsnCd = dtlAmtDcsnCd; - return self(); - } - - public String getNxrpSendStts() { - return ifEmpty(nxrpSendStts, () -> null); - } - - public T setNxrpSendStts(String nxrpSendStts) { - this.nxrpSendStts = nxrpSendStts; - return self(); - } - -} diff --git a/src/main/java/cokr/xit/fims/crdn/ExmptnVhcl.java b/src/main/java/cokr/xit/fims/crdn/ExmptnVhcl.java deleted file mode 100644 index 40678bef..00000000 --- a/src/main/java/cokr/xit/fims/crdn/ExmptnVhcl.java +++ /dev/null @@ -1,99 +0,0 @@ -package cokr.xit.fims.crdn; - -import cokr.xit.foundation.AbstractEntity; -import lombok.Getter; -import lombok.Setter; - -/**면제차량 정보 - * @author leebj - */ -@Getter -@Setter -public class ExmptnVhcl extends AbstractEntity { - - /** - * 면제차량 ID - */ - private String exmptnVhclId; - - /** - * 이력 일련번호 - */ - private String hstrySn; - - /** - * 시군구 코드 - */ - private String sggCd; - - /** - * 차량번호 - */ - private String vhrno; - - /** - * 면제 사유 - */ - private String exmptnRsn; - - /** - * 문서 번호 - */ - private String docNo; - - /** - * 소유자 명 - */ - private String ownrNm; - - /** - * 면제 시작 일자 - */ - private String exmptnBgngYmd; - - /** - * 면제 종료 일자 - */ - private String exmptnEndYmd; - - /** - * 삭제 여부 - */ - private String delYn; - - /** - * 등록 일시 - */ - private String regDt; - - /** - * 등록자 - */ - private String rgtr; - - /** - * 수정 일시 - */ - private String mdfcnDt; - - /** - * 수정자 - */ - private String mdfr; - - /** - * 삭제 일시 - */ - private String delDt; - - /** - * 삭제자 - */ - private String dltr; - - /** - * 삭제 사유 - */ - private String delRsn; - -} diff --git a/src/main/java/cokr/xit/fims/crdn/Team.java b/src/main/java/cokr/xit/fims/crdn/Team.java deleted file mode 100644 index 543de8b3..00000000 --- a/src/main/java/cokr/xit/fims/crdn/Team.java +++ /dev/null @@ -1,88 +0,0 @@ -package cokr.xit.fims.crdn; - -import cokr.xit.foundation.AbstractEntity; -import lombok.Getter; -import lombok.Setter; - -/**단속팀 정보 - * @author leebj - */ -@Getter -@Setter -public class Team extends AbstractEntity { - - /** - * 단속팀 ID - */ - private String teamId; - - /** - * 시군구 코드 - */ - private String sggCd; - - /** - * 업무 구분 코드 - */ - private String taskSeCd; - - /** - * 단속 구분 코드 - */ - private String crdnSeCd; - - /** - * 조 명 - */ - private String teamNm; - - /** - * 조원1 - */ - private String teamer1; - - /** - * 조원2 - */ - private String teamer2; - - /** - * 조원3 - */ - private String teamer3; - - /** - * 조원4 - */ - private String teamer4; - - /** - * 기타 내용 - */ - private String etcCn; - - /** - * 사용 여부 - */ - private String useYn; - - /** - * 등록일시 - */ - private String regDt; - - /** - * 등록자 - */ - private String rgtr; - - /** - * 수정일시 - */ - private String mdfcnDt; - - /** - * 수정자 - */ - private String mdfr; -} diff --git a/src/main/java/cokr/xit/fims/crdn/dao/CrdnInfoMapper.java b/src/main/java/cokr/xit/fims/crdn/dao/CrdnInfoMapper.java deleted file mode 100644 index 4da56bf0..00000000 --- a/src/main/java/cokr/xit/fims/crdn/dao/CrdnInfoMapper.java +++ /dev/null @@ -1,20 +0,0 @@ -package cokr.xit.fims.crdn.dao; - -import org.egovframe.rte.psl.dataaccess.mapper.Mapper; - -import cokr.xit.foundation.component.AbstractMapper; -import cokr.xit.foundation.data.DataObject; - -/**단속 정보 조회 DAO - * @author leebj - */ -@Mapper("crdnInfoMapper") -public interface CrdnInfoMapper extends AbstractMapper { - - /**단속 대장 정보를 조회한다. - * @param crdnId 단속 아이디 - * @return 단속 정보 - */ - DataObject selectCrdnInfo(String crdnId); - -} diff --git a/src/main/java/cokr/xit/fims/crdn/dao/CrdnInstMapper.java b/src/main/java/cokr/xit/fims/crdn/dao/CrdnInstMapper.java deleted file mode 100644 index ad0d5373..00000000 --- a/src/main/java/cokr/xit/fims/crdn/dao/CrdnInstMapper.java +++ /dev/null @@ -1,32 +0,0 @@ -package cokr.xit.fims.crdn.dao; - -import org.egovframe.rte.psl.dataaccess.mapper.Mapper; - -import cokr.xit.fims.crdn.Crdn; -import cokr.xit.foundation.component.AbstractMapper; - -/**단속 자료 등록 DAO - * @author leebj - */ -@Mapper("crdnInstMapper") -public interface CrdnInstMapper extends AbstractMapper { - - /**단속 대장 정보를 등록한다. - * @param params 파라미터 - *
    • "crdn" - 단속 대장
    • - *
    • "currentUser" - 현재 접속한 사용자
    • - *
    - * @return 저장된 정보수 - */ - int insertCrdn(Crdn crdn); - - /**단속 부가 정보를 등록한다. - * @param params 파라미터 - *
    • "crdn" - 단속 부가 정보
    • - *
    • "currentUser" - 현재 접속한 사용자
    • - *
    - * @return 저장된 정보수 - */ - int insertCrdnAddition(Crdn crdn); - -} diff --git a/src/main/java/cokr/xit/fims/crdn/dao/CrdnListMapper.java b/src/main/java/cokr/xit/fims/crdn/dao/CrdnListMapper.java deleted file mode 100644 index bf320171..00000000 --- a/src/main/java/cokr/xit/fims/crdn/dao/CrdnListMapper.java +++ /dev/null @@ -1,65 +0,0 @@ -package cokr.xit.fims.crdn.dao; - -import java.util.List; - -import org.egovframe.rte.psl.dataaccess.mapper.Mapper; - -import cokr.xit.fims.crdn.CrdnQuery; -import cokr.xit.foundation.component.AbstractMapper; -import cokr.xit.foundation.data.DataObject; - -/**단속 대장 목록 조회 DAO - * @author leebj - */ -@Mapper("crdnListMapper") -public interface CrdnListMapper extends AbstractMapper { - - /**금일 등록한 단속자료 목록을 조회한다.
    - * {@link cokr.xit.fims.crdn.service.bean.CrdnService#getCrackdownList(CrdnQuery)} 참고 - * @param query 단속자료 목록 조회 조건 - * @return 단속자료 목록 - */ - List selectTodayCrackdownList(CrdnQuery query); - - /**단속자료 목록을 조회한다.
    - * {@link cokr.xit.fims.crdn.service.bean.CrdnService#getCrackdownList(CrdnQuery)} 참고 - * @param query 단속자료 목록 조회 조건 - * @return 단속자료 목록 - */ - List selectCrackdownList(CrdnQuery query); - - /**단속사진 검사 자료 목록을 조회한다.
    - * {@link cokr.xit.fims.crdn.service.bean.CrdnService#getCrackdownList(CrdnQuery)} 참고 - * @param query 단속사진 검사 자료 목록 조회 조건 - * @return 단속사진 검사 자료 목록 - */ - List selectPhotoInspectionDataList(CrdnQuery query); - - /**동일 차량 단속 그룹 목록을 조회한다.
    - * {@link cokr.xit.fims.crdn.service.bean.CrdnService#getCrackdownList(CrdnQuery)} 참고 - * @param query 동일 차량 단속 그룹 목록 조회 조건 - * @return 동일 차량 단속 그룹 목록 - */ - List selectSameVehicleMainList(CrdnQuery query); - - /**동일 차량 단속 자료 목록을 조회한다.
    - * {@link cokr.xit.fims.crdn.service.bean.CrdnService#getCrackdownList(CrdnQuery)} 참고 - * @param query 동일 차량 단속 자료 목록 조회 조건 - * @return 동일 차량 단속 자료 목록 - */ - List selectSameVehicleSubList(CrdnQuery query); - - /**표지정보 미확인 자료 목록을 조회한다.
    - * {@link cokr.xit.fims.crdn.service.bean.CrdnService#getCrackdownList(CrdnQuery)} 참고 - * @param query 표지정보 미확인 자료 목록 조회 조건 - * @return 표지정보 미확인 자료 목록 - */ - List selectTagInformationUndefinedDataList(CrdnQuery query); - - /**단속 건수를 반환한다. - * @param crdnQuery 조회조건 - * @return 단속 건수 - */ - int countCrdn(CrdnQuery crdnQuery); - -} diff --git a/src/main/java/cokr/xit/fims/crdn/dao/CrdnStngMapper.java b/src/main/java/cokr/xit/fims/crdn/dao/CrdnStngMapper.java deleted file mode 100644 index 067fa5f1..00000000 --- a/src/main/java/cokr/xit/fims/crdn/dao/CrdnStngMapper.java +++ /dev/null @@ -1,89 +0,0 @@ -package cokr.xit.fims.crdn.dao; - -import java.util.List; -import java.util.Map; - -import org.egovframe.rte.psl.dataaccess.mapper.Mapper; - -import cokr.xit.fims.crdn.CrdnQuery; -import cokr.xit.fims.crdn.receive.eqpmnt.LayoutDescriptor; -import cokr.xit.foundation.component.AbstractMapper; -import cokr.xit.foundation.data.DataObject; - -@Mapper("crdnStngMapper") -public interface CrdnStngMapper extends AbstractMapper { - - /**기본금액을 조회한다.
    - * {@link cokr.xit.fims.crdn.service.bean.CrdnStngBean#getBasicAmt(CrdnQuery)} 참고 - * @param query 단속자료 정보 - * @return 기본금액 - */ - String selectBasicAmt(CrdnQuery query); - - /**시군구코드에 따른 법정동명 목록을 조회한다.
    - * @param sggCd 시군구코드 - * @return 법정동 목록 - */ - List selectStdgNmList(String sggCd); - - /**법정동명으로 법정동코드를 조회한다.
    - * @param map 시군구코드 및 법정동명 - * @return 법정동코드 목록 - */ - List selectStdgCdListByStdgNm(Map map); - - /** 연계파일 레이아웃 목록을 조회한다. - * @param query 연계파일 레이아웃 조회조건 - * @return 연계파일 레이아웃 목록 - */ - List selectLinkFileLayoutMetadataList(CrdnQuery query); - - /** 연계파일 레이아웃 정보를 조회한다. - * @param 연계파일 레이아웃 ID - * @return 연계파일 레이아웃 상세 정보 - */ - DataObject selectLinkFileLayoutMetadataInfo(String fileLayoutId); - - /** 연계파일 레이아웃 정보를 등록한다. - * @param map 등록 요청 파라미터 - * @return 저장된 정보 수 - */ - int insertCrdnFileLayout(Map map); - - /** 파일연계 원격지 정보를 등록한다. - * @param map 등록 요청 파라미터 - * @return 저장된 정보 수 - */ - int insertFtpInfo(Map map); - - /** 연계파일 레이아웃 정보를 수정한다. - * @param map 수정 요청 파라미터 - * @return 저장된 정보 수 - */ - int updateCrdnFileLayout(Map map); - - /** 파일연계 원격지 정보를 수정한다. - * @param map 수정 요청 파라미터 - * @return 저장된 정보 수 - */ - int updateFtpInfo(Map map); - - /** 연계파일 레이아웃 정보를 삭제한다. - * @param map 삭제 요청 파라미터 - * @return 저장된 정보 수 - */ - int deleteCrdnFileLayout(Map map); - - /** 연계파일 레이아웃 엔티티 정보를 조회한다. - * @param query 연계파일 레이아웃 조회조건 - * @return 연계파일 레이아웃 엔티티 - */ - List selectLinkFileLayoutMetadata(CrdnQuery query); - - /** 레이아웃별 연계파일의 ftp정보를 조회한다. - * @param fileLayoutId 파일 레이아웃 ID - * @return ftp정보 - */ - DataObject selectRemoteInfo(String fileLayoutId); - -} \ No newline at end of file diff --git a/src/main/java/cokr/xit/fims/crdn/dao/CrdnTeamMapper.java b/src/main/java/cokr/xit/fims/crdn/dao/CrdnTeamMapper.java deleted file mode 100644 index 745baf0e..00000000 --- a/src/main/java/cokr/xit/fims/crdn/dao/CrdnTeamMapper.java +++ /dev/null @@ -1,57 +0,0 @@ -package cokr.xit.fims.crdn.dao; - -import java.util.List; - -import org.egovframe.rte.psl.dataaccess.mapper.Mapper; - -import cokr.xit.fims.crdn.CrdnQuery; -import cokr.xit.fims.crdn.Team; -import cokr.xit.foundation.component.AbstractMapper; -import cokr.xit.foundation.data.DataObject; - -@Mapper("crdnTeamMapper") -public interface CrdnTeamMapper extends AbstractMapper { - - /**단속팀 목록을 조회한다.
    - * @param query 단속팀 목록 조회 조건 - * @return 단속팀 목록 - */ - List selectTeamList(CrdnQuery query); - - /**비사용 단속팀 목록을 조회한다.
    - * @param query 비사용 단속팀 목록 조회 조건 - * @return 비사용 단속팀 목록 - */ - List selectRemovedTeamList(CrdnQuery query); - - /**단속팀 정보를 삭제한다.
    - * @param team 단속팀 정보 - * @return 저장된 정보 수 - */ - int deleteTeamInfo(Team team); - - /**단속팀 정보를 등록한다.
    - * @param team 단속팀 정보 - * @return 저장된 정보 수 - */ - int insertTeamInfo(Team team); - - /**단속팀 정보를 수정한다.
    - * @param team 단속팀 정보 - * @return 저장된 정보 수 - */ - int updateTeamInfo(Team team); - - /**단속팀명으로 단속팀 정보를 조회한다.
    - * @param team 단속팀 정보 - * @return 단속팀 정보 - */ - DataObject selectTeamInfoByName(Team team); - - /**단속팀 정보를 조회한다.
    - * @param teamId 단속팀 ID - * @return 단속팀 정보 - */ - DataObject selectTeamInfo(String teamId); - -} diff --git a/src/main/java/cokr/xit/fims/crdn/dao/CrdnUpdtMapper.java b/src/main/java/cokr/xit/fims/crdn/dao/CrdnUpdtMapper.java deleted file mode 100644 index 261db1aa..00000000 --- a/src/main/java/cokr/xit/fims/crdn/dao/CrdnUpdtMapper.java +++ /dev/null @@ -1,95 +0,0 @@ -package cokr.xit.fims.crdn.dao; - -import java.util.Map; - -import org.egovframe.rte.psl.dataaccess.mapper.Mapper; - -import cokr.xit.fims.crdn.Crdn; -import cokr.xit.foundation.component.AbstractMapper; - -/**단속 관리 DAO - * @author leebj - */ -@Mapper("crdnUpdtMapper") -public interface CrdnUpdtMapper extends AbstractMapper { - /**단속 상태를 변경한다. - * @param crdn 단속 대장 - * @return 저장된 정보수 - */ - int updateCrdnStatus(Crdn crdn); - - /**표지정보 미확인 자료를 확인 자료로 수정한다. - * @param crdn 단속 대장 - * @return 저장된 정보수 - */ - int updateTagInfo(Crdn crdn); - - /** 2시간 초과 여부를 변경한다. - * @param crdn 단속 대장 - * @return 저장된 정보수 - */ - int updateOverTimeInfo(Crdn crdn); - - /** 단속 자료의 금액을 변경한다. - * @param crdn 단속 대장 - * @return 저장된 정보수 - */ - int updateCrdnAmt(Crdn crdn); - - /** 단속 자료의 기타사항을 변경한다. - * @param crdn 단속 대장 - * @return 저장된 정보수 - */ - int updateEtcCn(Crdn crdn); - - /**단속정보를 변경한다.
    - * {@link cokr.xit.fims.crdn.service.bean.CrdnBean#update(Crdn)} 참고 - * @param crdn 단속정보 - * @return 저장된 정보수 - */ - int updateCrdn(Crdn crdn); - - /**단속 부가 정보를 변경한다.
    - * {@link cokr.xit.fims.crdn.service.bean.CrdnBean#update(Crdn)} 참고 - * @param crdn 단속정보 - * @return 저장된 정보수 - */ - int updateCrdnAddition(Crdn crdn); - - /**단속 정보를 변경한다.
    - * @param crdn 단속정보 - * @return 저장된 정보수 - */ - int updateEditCrdn(Crdn crdn); - - /** 단속 정보를 삭제한다. - * @param map 삭제 요청 파라미터 - * @return 저장된 정보수 - */ - int deleteCrdn(Map map); - - /** 단속 부가 정보를 삭제한다. - * @param map 삭제 요청 파라미터 - * @return 저장된 정보수 - */ - int deleteCrdnAdi(Map map); - - /** 단속 정보의 납부자 ID를 삭제한다. - * @param map 삭제 요청 파라미터 - * @return 저장된 정보수 - */ - int deleteCrdnPayer(Crdn crdn); - - /** - * @param - * @return 저장된 정보수 - */ - int updateNxrpCrdnLinkYn(Crdn crdn); - - /** 단속 정보의 사전통지 일자를 변경한다. - * @param crdn 단속 대장 - * @return 저장된 정보수 - */ - int updateAdvntceYmd(Crdn crdn); - -} diff --git a/src/main/java/cokr/xit/fims/crdn/dao/ExmptnVhclMapper.java b/src/main/java/cokr/xit/fims/crdn/dao/ExmptnVhclMapper.java deleted file mode 100644 index 1cb77dbb..00000000 --- a/src/main/java/cokr/xit/fims/crdn/dao/ExmptnVhclMapper.java +++ /dev/null @@ -1,57 +0,0 @@ -package cokr.xit.fims.crdn.dao; - -import java.util.List; - -import org.egovframe.rte.psl.dataaccess.mapper.Mapper; - -import cokr.xit.fims.crdn.CrdnQuery; -import cokr.xit.fims.crdn.ExmptnVhcl; -import cokr.xit.foundation.component.AbstractMapper; -import cokr.xit.foundation.data.DataObject; - -@Mapper("exmptnVhclMapper") -public interface ExmptnVhclMapper extends AbstractMapper { - - /**면제차량 목록을 조회한다.
    - * @param query 면제차량 목록 조회 조건 - * @return 면제차량 목록 - */ - List selectExemptionVehicleList(CrdnQuery query); - - /**면제차량 정보를 조회한다.
    - * @param exemptionVehicleId 면제차량 ID - * @return 면제차량 정보 - */ - DataObject selectExemptionVehicleInfo(String exemptionVehicleId); - - /**면제차량 정보를 등록한다. - * @param exmptnVhcl 면제차량 정보 - * return 저장된 정보 수 - */ - int insertExemptionVehicleInfo(ExmptnVhcl exmptnVhcl); - - /**면제차량 정보를 수정한다. - * @param exmptnVhcl 면제차량 정보 - * return 저장된 정보 수 - */ - int updateExemptionVehicleInfo(ExmptnVhcl exmptnVhcl); - - /**면제차량 정보를 삭제한다. - * @param exmptnVhcl 면제차량 정보 - * return 저장된 정보 수 - */ - int deleteExemptionVehicleInfo(ExmptnVhcl exmptnVhcl); - - /**면제차량 이력을 등록한다. - * @param exmptnVhcl 면제차량 정보 - * return 저장된 정보 수 - */ - int insertExemptionVehicleHistory(ExmptnVhcl exmptnVhcl); - - /**면제차량 이력을 조회한다.
    - * @param exemptionVehicleId 면제차량 ID - * @return 면제차량 이력 - */ - List selectExemptionVehicleHistoryList(String exmptnVhclId); - -} diff --git a/src/main/java/cokr/xit/fims/crdn/dao/ImportMapper.java b/src/main/java/cokr/xit/fims/crdn/dao/ImportMapper.java deleted file mode 100644 index b8232f6a..00000000 --- a/src/main/java/cokr/xit/fims/crdn/dao/ImportMapper.java +++ /dev/null @@ -1,78 +0,0 @@ -package cokr.xit.fims.crdn.dao; - -import java.util.List; -import java.util.Map; -import java.util.stream.Collectors; - -import org.egovframe.rte.psl.dataaccess.mapper.Mapper; - -import cokr.xit.foundation.component.AbstractMapper; -import cokr.xit.foundation.data.DataObject; - -/**외부연계 파일을 단속 자료로 변환하기 위한 Mapper - * @author mjkhan - */ -@Mapper("importMapper") -public interface ImportMapper extends AbstractMapper { - /**국민신문고 민원의 기관코드, 부서코드를 조건으로 시군구코드를 조회한다. - * @param params 파라미터 - *
    • institutes - 기관코드
    • - *
    • depts - 부서코드
    • - *
    - * @return 시군구코드 목록 - */ - List selectSggList(Map params); - - /**국민신문고 민원의 기관코드, 부서코드를 조건으로 시군구코드를 조회하여 {"기관코드-부서코드", "시군구코드"} 형식의 맵으로 반환한다. - * @param institutes 기관코드 - * @param depts 부서코드 - * @return 기관코드-부서코드별 시군구코드 - */ - default Map selectSggs(Iterable institutes, Iterable depts) { - DataObject params = params() - .set("institutes", institutes) - .set("depts", depts); - - List list = selectSggList(params); - return list.stream() - .collect(Collectors.toMap( - row -> row.get("INST_CD") + "-" + row.get("DEPT_CD"), - row -> row.string("SGG_CD") - )); - } - - /**국민신문고 민원제목 + 내용에서 단속정보에 필요한 코드들을 추출한다. - * @param params 파라미터 - *
    • violation - 민원제목 + " " + 내용
    • - *
    - * @return 단속정보에 필요한 코드 - */ - DataObject selectViolationCodes(Map params); - - /**국민신문고 민원제목 + 내용에서 단속정보에 필요한 코드들을 추출한다. - * @param violation - 민원제목 + " " + 내용 - * @return 단속정보에 필요한 코드 - */ - default DataObject selectViolationCodes(String violation) { - return selectViolationCodes(params().set("violation", violation)); - } - - /**차종별 과태료 차종코드를 조회한다. - * @return 차종별 과태료 차종코드 목록 - */ - List selectCarMdlCd(); - - /**차종별 과태료 차종코드를 조회하여 {"차종종별 코드", "과태료 차종코드"} 형식의 맵으로 반환한다.
    - * 단, 차종종별코드가 "3"일 경우 최대적재량이 4000 kg 이하인 차량은 "3-1", 4000 kg보다 큰 차량은 "3-2"로 - * 차종종별 코드를 적용해야 한다. - * @return {"차종종별 코드", "과태료 차종코드"} 맵 - */ - default Map selectCarMdl() { - List list = selectCarMdlCd(); - return list.stream() - .collect(Collectors.toMap( - row -> row.string("VHCTY_ASORT_CODE"), - row -> row.string("FFNLG_CARMDL_CD") - )); - } -} \ No newline at end of file diff --git a/src/main/java/cokr/xit/fims/crdn/receive/eqpmnt/AttachedTxtParser.java b/src/main/java/cokr/xit/fims/crdn/receive/eqpmnt/AttachedTxtParser.java deleted file mode 100644 index a80a5a89..00000000 --- a/src/main/java/cokr/xit/fims/crdn/receive/eqpmnt/AttachedTxtParser.java +++ /dev/null @@ -1,92 +0,0 @@ -package cokr.xit.fims.crdn.receive.eqpmnt; - -import java.io.BufferedReader; -import java.io.File; -import java.io.FileInputStream; -import java.io.InputStreamReader; -import java.nio.charset.Charset; -import java.util.Arrays; - -import cokr.xit.foundation.data.DataObject; -import net.minidev.json.JSONArray; -import net.minidev.json.JSONObject; -import net.minidev.json.parser.JSONParser; - -public class AttachedTxtParser extends LayoutParser{ - - public AttachedTxtParser(){ - super(); - this.groupingType = "TXT"; - this.need = new Need(true,true,true); - } - - @Override - public void analyzeFileContent(DataObject dataObject, File file) { - try { - - JSONParser jsonParser = new JSONParser(-1); - - JSONArray jsonArray = (JSONArray)jsonParser.parse(descriptor.getContentItems()); - - boolean isMetaData = dataObject.string("FILE_EXTENSION").toUpperCase().equals("TXT"); - - if(isMetaData) { - - BufferedReader br = new BufferedReader(new InputStreamReader(new FileInputStream(file),Charset.forName("EUC-KR"))); - String content = org.apache.commons.io.IOUtils.toString(br); - String[] contentDivision = null; - String part = ""; - int contentDivisionIndex = 0; - int partSplitCursor = 0; - - if(!descriptor.getContentSecondSeperator().equals("")) { - contentDivision = this.smartSplit(content, descriptor.getContentSecondSeperator()); - part = contentDivision[contentDivisionIndex]; - } else { - part = content; - } - - for(int i=0; i contentDivisionIndex) { - part = contentDivision[contentDivisionIndex]; - } else { - part = ""; - } - } - - String[] partSplit = this.smartSplit(part, descriptor.getContentSeperator()); - - if(partSplit.length > partSplitCursor) { - dataObject.put(key, partSplit[partSplitCursor]); - } else { - dataObject.put(key, ""); - } - partSplitCursor++; - } - - br.close(); - } else { - - for(int i=0; i candidates) { - - BiFunction filter = (validType, thisValue) -> { - for(Iterator it = candidates.iterator(); it.hasNext();){ - LayoutDescriptor descriptor = it.next(); - - switch (validType) { - case "fileGroupIsThis": { - if(!descriptor.getFileGroup().equals(thisValue)){ - it.remove(); - } - break; - } - case "notUseThisFileNameSeperator": { - if(descriptor.getFileNameSeperator().equals(thisValue)){ - it.remove(); - } - break; - } - case "fileNameLengthIsThis": { - if(descriptor.getFileNameLength() != null) { - if(!descriptor.getFileNameLength().equals(thisValue)){ - it.remove(); - } - } - break; - } - case "fileNameLengthIsNotFixed": { - if(descriptor.getFileNameLength() != null){ - it.remove(); - } - break; - } - } - } - - return candidates.size(); - }; - - boolean hasTxt = false; //txt파일 포함 여부 - boolean hasJpg = false; //jpg파일 포함 여부 - boolean hasUnderbar = false; //파일명에 언더바 포함 여부 - boolean hasComma = false; //파일명에 콤마 포함 여부 - boolean sameAllFileNameLength = true; //모든 파일명 길이 동일 여부 - - int fileNameLengthTemp = 0; - for(int i=0;i < fileList.length; i++) { - - String fileName = fileList[i].getOriginalFilename(); - String extension = FilenameUtils.getExtension(fileName); - String noExtensionName= FilenameUtils.removeExtension(fileName); - - if(fileNameLengthTemp == 0) { - fileNameLengthTemp = fileName.length(); - } - - int fileNameLength = fileName.length(); - if(fileNameLength != fileNameLengthTemp) { - sameAllFileNameLength = false; - } - - if(extension.toUpperCase().equals("TXT")) { - hasTxt = true; - } - if(extension.toUpperCase().equals("JPG")) { - hasJpg = true; - } - - if(noExtensionName.contains("_")) { - hasUnderbar = true; - } - if(noExtensionName.contains(",")) { - hasComma = true; - } - } - - // - String fileGroup = ""; - if(hasTxt) { - fileGroup = "TXT"; - } else if(hasJpg) { - fileGroup = "JPG"; - } else { - fileGroup = "BIN"; - } - - if(filter.apply("fileGroupIsThis", fileGroup) == 1) { - return candidates.get(0); - } - - if(!hasUnderbar) { - if(filter.apply("notUseThisSeperator", "_") == 1) { - return candidates.get(0); - } - } - - if(!hasComma) { - if(filter.apply("notUseThisFileNameSeperator", ",") == 1) { - return candidates.get(0); - } - } - - if(sameAllFileNameLength) { - MultipartFile sample = fileList[0]; - int nameLength = sample.getOriginalFilename().length(); - if(filter.apply("fileNameLengthIsThis", Integer.toString(nameLength)) == 1) { - return candidates.get(0); - } - } else { - if(filter.apply("fileNameLengthIsNotFixed", "") == 1) { - return candidates.get(0); - } - } - - - - - if(candidates.size() != 1) { - throw new RuntimeException("파일의 레이아웃 서식을 구분할 수 없습니다."); - } - - return candidates.get(0); - } - -} diff --git a/src/main/java/cokr/xit/fims/crdn/receive/eqpmnt/LayoutParser.java b/src/main/java/cokr/xit/fims/crdn/receive/eqpmnt/LayoutParser.java deleted file mode 100644 index fa0031b0..00000000 --- a/src/main/java/cokr/xit/fims/crdn/receive/eqpmnt/LayoutParser.java +++ /dev/null @@ -1,434 +0,0 @@ -package cokr.xit.fims.crdn.receive.eqpmnt; - -import java.io.File; -import java.nio.file.Path; -import java.text.SimpleDateFormat; -import java.util.ArrayList; -import java.util.Date; -import java.util.HashMap; -import java.util.List; -import java.util.Map; -import java.util.regex.Matcher; -import java.util.stream.Collectors; - -import org.apache.commons.io.FilenameUtils; -import org.apache.commons.lang3.StringUtils; - -import cokr.xit.base.code.CommonCode; -import cokr.xit.fims.cmmn.CodeConverter; -import cokr.xit.fims.cmmn.Hangul; -import cokr.xit.foundation.data.DataObject; -import net.minidev.json.JSONArray; -import net.minidev.json.JSONObject; -import net.minidev.json.parser.JSONParser; -import net.minidev.json.parser.ParseException; - -abstract public class LayoutParser { - - public LayoutParser() { - allCode = new HashMap>(); - - ArrayList photoType = new ArrayList(); - photoType.add(newCommonCode("1","입차사진")); - photoType.add(newCommonCode("2","주차사진")); - photoType.add(newCommonCode("3","위반사진")); - photoType.add(newCommonCode("4","출차사진")); - allCode.put("PHOTO_TYPE", photoType); - - ArrayList fileStatus = new ArrayList(); - fileStatus.add(newCommonCode("S","정상등록자료")); - fileStatus.add(newCommonCode("E","삭제자료")); - allCode.put("FILE_STATUS", fileStatus); - - ArrayList crdnCn = new ArrayList(); - crdnCn.add(newCommonCode("00","사용안함")); - crdnCn.add(newCommonCode("01","일반차량(전기차)")); - crdnCn.add(newCommonCode("02","장기주차(전기차)")); - allCode.put("CRDN_CN", crdnCn); - - } - - public static CommonCode newCommonCode(String code, String value) { - CommonCode commonCode = new CommonCode(); - commonCode.setCode(code); - commonCode.setValue(value); - return commonCode; - } - - protected int tempGroupSeq = 1; - - public int getTempGroupSeq() { - return this.tempGroupSeq; - } - public void setTempGroupSeq(int tempGroupSeq) { - this.tempGroupSeq = tempGroupSeq; - } - - protected DataObject before = new DataObject(); - - protected String groupingType; - protected Need need; - - class Need { - boolean fileNameAnalyze; - boolean contentAnalyze; - boolean checkChangeCrackdown; - - Need(boolean fileNameAnalyze, boolean contentAnalyze, boolean checkChangeCrackdown){ - this.fileNameAnalyze = fileNameAnalyze; - this.contentAnalyze = contentAnalyze; - this.checkChangeCrackdown = checkChangeCrackdown; - } - } - - String[] allItem = { - "FILE_LAYOUT_ID", - "FILE_GROUP_ID", - "FILE_GROUP_TYPE","FILE_PATH","FILE_NAME","FILE_LAST_MODIFIED","FILE_SIZE","FILE_EXTENSION","LINK_ENT_NM", - "FILE_SEQ","PHOTO_CNT","PHOTO_TYPE_CD","PHOTO_TYPE_NM","FILE_STATUS_CD","FILE_STATUS_NM", - "VHRNO", - "CRDN_TIMESTAMP","CRDN_YMD_TM","CRDN_YMD","CRDN_TM","CRDN_END_TM","CRDN_BGNG_TM", - "CRDN_PLC","CRDN_ROAD_NM","CRDN_STDG_NM","GPS_X","GPS_Y","CRDN_SPAREA_NM","CRDN_SPAREA_CD", - "BZENTY_CD","TEAM_ID","EQPMNT_CD","CRDN_SE_CD","CRDN_SE_NM", - "MOSC_X","MOSC_Y","PLATE_WIDTH","PLATE_HEIGHT", - "VLTN_CD","VLTN_NM","CRDN_CN_CD","CRDN_CN_NM", - "CAR_VELOCITY" - }; - - public DataObject createParsedDataObject() { - DataObject dataObject = new DataObject(); - for(int i=0; i < allItem.length; i++) { - dataObject.put(allItem[i], ""); - } - return dataObject; - } - - Map> allCode = new HashMap>(); - - public void addCommonCode(Map> commonCode) { - this.allCode.putAll(commonCode); - } - - LayoutDescriptor descriptor = new LayoutDescriptor(); - - public void setDescriptor(LayoutDescriptor descriptor) { - this.descriptor = descriptor; - } - - /**장비 단속 연계 파일에서 단속정보를 추출한다.
    - * @param fileList 연계파일리스트 - * @return 단속정보 - */ - public List parsing(List fileList){ - List dataObjectList = new ArrayList<>(); - - //파일명으로 정렬(파싱 전) - List sortedFileList = fileList.stream() - .sorted((item1, item2) -> item1.toFile().getName().compareTo(item2.toFile().getName())) - .collect(Collectors.toList()); - - sortedFileList.forEach(item -> { - DataObject dataObject = this.createParsedDataObject(); - dataObject.put("FILE_GROUP_TYPE", this.groupingType); - dataObject.put("FILE_LAYOUT_ID", descriptor.getFileLayoutId()); - - File file = item.toFile(); - this.setFileDefaultInfo(dataObject, file); - - if(this.need.fileNameAnalyze) { - String noExtensionName = FilenameUtils.removeExtension(dataObject.string("FILE_NAME")); - this.analyzeFileName(dataObject, noExtensionName); - this.refineValue(dataObject); - } - - if(this.need.contentAnalyze) { - this.analyzeFileContent(dataObject, file); - this.refineValue(dataObject); - } - - //단속구분코드 보정 - if(descriptor.getTaskSeCd().equals("PVS") || descriptor.getTaskSeCd().equals("BPV")) { - if(descriptor.getEnterpriseName().equals("xit")) { - if(!dataObject.string("GPS_X").equals("")) { - dataObject.put("CRDN_SE_CD", "02"); - } else { - dataObject.put("CRDN_SE_CD", "01"); - } - } - } - - if(descriptor.getTaskSeCd().equals("BPV")) { - if(descriptor.getEnterpriseName().equals("hitecom")) { - dataObject.put("CRDN_SE_CD", "07"); - } - } - - if(!before.isEmpty()) { - if(this.need.checkChangeCrackdown) { - boolean isChangeTempGroup = this.isChangeCrackdown(dataObject, before); - if(isChangeTempGroup) { - tempGroupSeq++; - } - } else { - tempGroupSeq++; - } - } - - dataObject.put("TEMP_GROUP_ID", tempGroupSeq); - dataObjectList.add(dataObject); - before = dataObject; - }); - - return dataObjectList; - } - - /**파일에서 파일관련 기본정보를 추출한다.
    - * @param dataObject 정보, File 파일 - * @return - */ - public void setFileDefaultInfo(DataObject dataObject, File file) { - String filePath = file.getPath(); - dataObject.put("FILE_PATH", filePath); - String fileName = file.getName(); - dataObject.put("FILE_NAME", fileName); - - SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd / HH:mm:ss"); - dataObject.put("FILE_LAST_MODIFIED", sdf.format(new Date(file.lastModified()))); - dataObject.put("FILE_SIZE", file.length()+" byte"); - - String fileExtension = FilenameUtils.getExtension(fileName); - dataObject.put("FILE_EXTENSION", fileExtension); - - boolean isUserUpload = file.compareTo(new File(descriptor.getLinkFileLocation()+File.separator+fileName)) == 0; - if(!isUserUpload) { - dataObject.put("LINK_ENT_NM", descriptor.getLinkEnterpriseName()); - } - } - - /**파일명을 분석한다.
    - * @param dataObject - * @return - */ - public void analyzeFileName(DataObject dataObject, String noExtensionName) { - - String fileNameItmesJSONString = descriptor.getFileNameItmes(); - - try { - JSONParser jsonParser = new JSONParser(-1); - JSONArray jsonArray = (JSONArray)jsonParser.parse(fileNameItmesJSONString); - - String[] fileNameSplit = {}; - if(descriptor.getFileNameSeperator().equals("byte")) { - - fileNameSplit = this.smartSplit(noExtensionName, jsonArray); - - } else { - - fileNameSplit = this.smartSplit(noExtensionName, descriptor.getFileNameSeperator()); - } - - for(int i=0; i i) { - dataObject.put(key, fileNameSplit[i]); - } else { - dataObject.put(key, ""); - } - } - - } catch (ParseException e) { - throw new RuntimeException("파일명 분석 오류."+e); - } - - } - - /**파일내용을 분석한다.
    - * @param dataObject - * @return - */ - abstract public void analyzeFileContent(DataObject dataObject, File file); - - /**파일명이나 파일내용을 파싱한 후 데이터를 정제한다.
    - * @param dataObject - * @return - */ - public void refineValue(DataObject dataObject) { - - //공백 제거 - for(int i=0; i < allItem.length; i++) { - dataObject.put(allItem[i],dataObject.string(allItem[i]).trim()); - } - - //단속일시 설정 - if(!dataObject.string("CRDN_TIMESTAMP").equals("")) { - dataObject.put("CRDN_YMD", dataObject.string("CRDN_TIMESTAMP").substring(0, 8)); - dataObject.put("CRDN_TM", dataObject.string("CRDN_TIMESTAMP").substring(8, 14)); - dataObject.put("CRDN_YMD_TM", dataObject.string("CRDN_TIMESTAMP").substring(0, 14)); - } else if(!dataObject.string("CRDN_YMD_TM").equals("")) { - dataObject.put("CRDN_YMD", dataObject.string("CRDN_YMD_TM").substring(0, 8)); - dataObject.put("CRDN_TM", dataObject.string("CRDN_YMD_TM").substring(8, 14)); - dataObject.put("CRDN_TIMESTAMP", dataObject.string("CRDN_YMD_TM")+"000"); - } else if(!dataObject.string("CRDN_YMD").equals("")){ - dataObject.put("CRDN_YMD_TM", dataObject.string("CRDN_YMD")+dataObject.string("CRDN_TM")); - dataObject.put("CRDN_TIMESTAMP", dataObject.string("CRDN_YMD")+dataObject.string("CRDN_TM")+"000"); - } - - //숫자형 값에서 불필요한 0제거 - String[] numberValues = {"PHOTO_CNT", "GPS_X", "GPS_Y", "MOSC_X", "MOSC_Y", "PLATE_WIDHT", "PLATE_HEIGHT"}; - this.refineNumberValue(dataObject, numberValues); - - //코드변환 - CodeConverter codeConverter = new CodeConverter(allCode); - - //위반내용 - String vltnGroup = ""; - switch (descriptor.getTaskSeCd()) { - case "PVS" -> { vltnGroup = "FIM004"; } - case "BPV" -> { vltnGroup = "FIM005"; } - case "DPV" -> { vltnGroup = "FIM006"; } - case "ECA" -> { vltnGroup = "FIM061"; } - case "PES" -> { vltnGroup = "FIM064"; } - } - if(!vltnGroup.equals("")) { - codeConverter.fillIfEmpty(dataObject, vltnGroup, "VLTN_CD", "VLTN_NM"); - } - - //특별구역 - codeConverter.fillIfEmpty(dataObject, "FIM007", "CRDN_SPAREA_CD", "CRDN_SPAREA_NM"); - - codeConverter.fillIfEmpty(dataObject, "PHOTO_TYPE", "PHOTO_TYPE_CD", "PHOTO_TYPE_NM"); - codeConverter.fillIfEmpty(dataObject, "FILE_STATUS", "FILE_STATUS_CD", "FILE_STATUS_NM"); - codeConverter.fillIfEmpty(dataObject, "CRDN_CN", "CRDN_CN_CD", "CRDN_CN_NM"); - } - - /** dataObject 내에서 숫자형 데이터 항목을 정제한다.
    - * @param dataObject, items 숫자형 데이터 이름 - * @return - */ - public void refineNumberValue(DataObject dataObject, String[] items) { - for(int i=0;i - * @param currentItem 현재 연계 파일 정보, beforeItem 이전 연계 파일 정보 - * @return 개별 단속자료 여부 - */ - public boolean isChangeCrackdown(DataObject currentItem, DataObject beforeItem) { - boolean isSameItemChange = false; - String sameItems = descriptor.getSameItemsInFileGroup(); - String[] sameItemsSplit = sameItems.split(",",-1); - for(int i=0; i < sameItemsSplit.length; i++) { - if(!currentItem.string(sameItemsSplit[i]).equals(beforeItem.string(sameItemsSplit[i]))) { - isSameItemChange = true; - } - } - if(isSameItemChange) { - return true; - } - - String increaseItem = descriptor.getIncreaseItemInFileGroup(); - if(increaseItem != null && !increaseItem.equals("")) { - String increaseType = descriptor.getIncreaseTypeInFileGroup(); - - if(increaseType.equals("number")){ - if(currentItem.number(increaseItem).intValue() <= beforeItem.number(increaseItem).intValue()) { - return true; - } - } else if(increaseType.equals("alphabet")) { - if(currentItem.string(increaseItem).charAt(0) <= beforeItem.string(increaseItem).charAt(0)) { - return true; - } - } - } - - return false; - } - - /**파일명이나 파일내용을 특정 구분자로 자른다.
    - * @param string 문자열, sep 구분자 - * @return - */ - public String[] smartSplit(String string, String sep) { - if(sep.equals("LineBreak")) { - return string.split("\r?\n|\r"); - } else { - return string.split(Matcher.quoteReplacement(sep)); - } - } - - /**파일명이나 파일내용을 바이트로 자른다.
    - * @param string 문자열, sep 구분자 - * @return - */ - public String[] smartSplit(String string, JSONArray jsonArray) { - Hangul hangul = new Hangul(2); - - List byteNums = new ArrayList(); - for(int i=0; i - * @param jsonArray 레이아웃 설정정보 - * @return - */ - public int getSumByte(JSONArray jsonArray){ - int result = 0; - for(int i=0; i - * @param dataObject - * @return - */ - @Override - public void analyzeFileContent(DataObject dataObject, File file) { - try { - JSONParser jsonParser = new JSONParser(-1); - - JSONArray jsonArray = (JSONArray)jsonParser.parse(descriptor.getContentItems()); - - //텍스트 영역 파싱 - BufferedReader textReader = new BufferedReader(new InputStreamReader(new FileInputStream(file), Charset.forName("EUC-KR"))); - Hangul hangul = new Hangul(2); - String textConent = hangul.substringByBytes(org.apache.commons.io.IOUtils.toString(textReader), 1, this.getSumByte(jsonArray)); - - String[] contentSplit = {}; - - if(descriptor.getContentSeperator().equals("byte")) { - contentSplit = this.smartSplit(textConent, jsonArray); - } else { - contentSplit = this.smartSplit(textConent, descriptor.getContentSeperator()); - } - - for(int i=0; i i) { - dataObject.put(key, contentSplit[i]); - } else { - dataObject.put(key, ""); - } - } - - textReader.close(); - - //이미지 영역 파싱 - BufferedReader imageReader = new BufferedReader(new InputStreamReader(new FileInputStream(file), Charset.forName("ISO-8859-1"))); - - String imgContent = org.apache.commons.io.IOUtils.toString(imageReader).substring(this.getSumByte(jsonArray)); - - Encoder encoder = Base64.getEncoder(); - - String jpgString = ""; - String jpgName = ""; - boolean jpgIn = false; - int jpgNum = 0; - String jpgNamePiece = ""; - for (int i = 0; i < imgContent.length(); i++) { - - boolean jpgStart = (i != imgContent.length()-1) && (imgContent.charAt(i) == 0xFF && imgContent.charAt(i+1) == 0xD8); - boolean jpgEnd = (i != 0) && (imgContent.charAt(i-1) == 0xFF && imgContent.charAt(i) == 0xD9); - - if(!jpgIn && !jpgStart) { - jpgNamePiece += imgContent.charAt(i); - } - - if(jpgStart) { - - jpgName = jpgNamePiece; - jpgNamePiece = ""; - jpgIn = true; - } - - if(jpgIn) { - jpgString += imgContent.charAt(i); - } - - if(jpgIn && jpgEnd) { - - jpgNum++; - - jpgString = new String(encoder.encode(jpgString.getBytes(Charset.forName("ISO-8859-1")))); - - dataObject.put("B64IMAGE"+(jpgNum), jpgString); - dataObject.put("B64IMAGE"+(jpgNum)+"_NM", jpgName); - - jpgString = ""; - jpgIn = false; - } - - } - - imageReader.close(); - } catch (Exception e) { - throw new RuntimeException(e); - } - } - - /** 베이스64문자열 이미지로 fileInfo를 생성한다.
    - * @param fileName 파일명, base64str 베이스64문자열, sortOrder 파일순서 - * @return fileInfo 파일정보 - */ - public static FileInfo base64ToFileInfo(String fileName, String base64str, int sortOrder) { - try { - Decoder decoder = Base64.getDecoder(); - byte[] b64byte = decoder.decode(base64str.getBytes("ISO-8859-1")); - InputStream is = new ByteArrayInputStream(b64byte); - - FileInfo fileInfo = new FileInfo(); - fileInfo.setName(fileName+".jpg"); - fileInfo.setInputStream(is); - fileInfo.setMimeType("image/jpeg"); - fileInfo.setSize(is.available()); - fileInfo.setSortOrder(sortOrder); - return fileInfo; - } catch (Exception e) { - throw new RuntimeException(e); - } - } - -} diff --git a/src/main/java/cokr/xit/fims/crdn/service/CrdnService.java b/src/main/java/cokr/xit/fims/crdn/service/CrdnService.java deleted file mode 100644 index 0e6558bf..00000000 --- a/src/main/java/cokr/xit/fims/crdn/service/CrdnService.java +++ /dev/null @@ -1,101 +0,0 @@ -package cokr.xit.fims.crdn.service; - -import java.util.List; -import java.util.Map; - -import cokr.xit.base.file.FileInfo; -import cokr.xit.fims.crdn.Crdn; -import cokr.xit.fims.crdn.CrdnQuery; -import cokr.xit.foundation.data.DataObject; - -public interface CrdnService { - - /** 단속자료 목록을 조회한다. - * @param query 단속자료 목록 조회 조건 - *
    • pageNum: 페이지 번호
    • - *
    • fetchSize: 페이지 목록 건수
    • - *
    - * @return 단속자료 목록 - */ - List getCrackdownList(CrdnQuery query); - - /** 단속자료를 삭제한다. - * @param crdnIds 삭제할 단속자료 ID 목록 - * @return 삭제여부 - */ - String remove(String... crdnIds); - - /** 단속 자료를 신규 등록한다. - * @param nonQueryRequest 등록 요청, crdn 단속정보, newFileList 업로드 파일 목록 - * @return 저장여부 - */ - String create(Map nonQueryRequest, Crdn crdn, List newFileInfoList); - - /** 단속 자료를 수정한다. - * @param nonQueryRequest 수정 요청, crdn 단속정보, newFileInfoList 업로드 파일 목록 - * @return 저장여부 - */ - String update(Map nonQueryRequest, Crdn crdn, List newFileInfoList); - - /** 시간초과 정보를 변경하고, 금액을 증가 또는 감소시킨다. - * @param chgAmtSe 금액 변경 구분, crdnId 단속 ID - * @return 저장여부 - */ - String updateOverTimeInfo(String chgAmtSe, String crdnId); - - /** 표지정보 미확인 자료를 확인 자료로 수정한다. - * @param crdn 단속정보 - * @return 저장여부 - */ - String updateTagInfo(Crdn crdn); - - /** 단속 자료를 조회한다. - * @param query 단속 조회 조건 - * @return 단속 정보 - */ - DataObject getCrackdownInfo(CrdnQuery query); - - /** 단속 자료를 수정한다. - * @param crdn 단속정보 - * @return 저장 메시지 - */ - String updateCrackdown(Crdn crdn); - - /** 단속 자료를 삭제한다. - * @param crdn 단속정보 - * @return 저장 메시지 - */ - String removeCrackdown(Crdn crdn); - - /** 단속 자료의 납부자 ID를 삭제한다. - * @param crdn 단속정보 - * @return 저장 메시지 - */ - String removeCrackdownPayer(Crdn crdn); - - /** 단속 자료의 처리 상태 코드를 수정한다. - * @param crdn 단속정보 - * @return 저장 메시지 - */ - String updateCrackdownStatus(Crdn crdn); - - /** 장비 연계파일을 삭제한다. - * @param entType 업체유형, fileName 파일명 - * @return 저장 여부 - */ - String removeEquipmentLinkFile(String workPath, String fileName); - - /** 단속 사진에 대한 파일 처리를 실행한다. - * @param crdn 단속정보, processList 파일 처리 목록 - * @return 처리 결과 메시지 - */ - String changeCrdnImageFile(Crdn crdn, List> processList); - - /** 단속자료 건수를 조회한다. - * @param crdnQuery 단속자료 조회조건 - * @return 단속자료 건수 - */ - int countCrdn(CrdnQuery crdnQuery); - - -} diff --git a/src/main/java/cokr/xit/fims/crdn/service/CrdnStngService.java b/src/main/java/cokr/xit/fims/crdn/service/CrdnStngService.java deleted file mode 100644 index 4f982ec0..00000000 --- a/src/main/java/cokr/xit/fims/crdn/service/CrdnStngService.java +++ /dev/null @@ -1,116 +0,0 @@ -package cokr.xit.fims.crdn.service; - -import java.util.List; - -import cokr.xit.fims.cmmn.ftp.RemoteSystemInfo; -import cokr.xit.fims.crdn.CrdnQuery; -import cokr.xit.fims.crdn.ExmptnVhcl; -import cokr.xit.fims.crdn.Team; -import cokr.xit.fims.crdn.receive.eqpmnt.LayoutDescriptor; -import cokr.xit.foundation.data.DataObject; - -public interface CrdnStngService { - - /** 연계파일 레이아웃 목록을 조회한다. - * @param query 조회조건 - * @return 연계파일 레이아웃 목록 - */ - List getLinkFileLayoutMetadataList(CrdnQuery query); - - /** 연계파일 레이아웃 상세정보를 조회한다. - * @param fileLayoutId 파일 레이아웃 ID - * @return 연계파일 레이아웃 상세정보 - */ - DataObject getLinkFileLayoutMetadataInfo(String fileLayoutId); - - /** 연계파일 레이아웃 정보를 등록한다. - * @param layoutDescriptor 레이아웃 정보, remoteSystemInfo 파일연계 원격시스템 정보 - * @return 결과메시지 - */ - String createLinkFileLayoutMetadata(LayoutDescriptor layoutDescriptor, RemoteSystemInfo remoteSystemInfo); - - /** 연계파일 레이아웃 정보를 수정한다. - * @param layoutDescriptor 레이아웃 정보, remoteSystemInfo 파일연계 원격시스템 정보 - * @return 결과메시지 - */ - String updateLinkFileLayoutMetadata(LayoutDescriptor layoutDescriptor, RemoteSystemInfo remoteSystemInfo); - - /** 연계파일 레이아웃 정보를 삭제한다. - * @param fileLayoutId 파일 레이아웃 ID - * @return 결과메시지 - */ - String removeLinkFileLayoutMetadata(String fileLayoutId); - - /** 연계파일 레이아웃 엔티티 목록을 조회한다. - * @param sggCd 시군구코드, taskSeCd 과태료구분, instCd 기관코드, deptCd 부서코드 - * @return 연계파일 레이아웃 정보 - */ - List getLinkFileLayoutMetadata(String sggCd, String taskSeCd, String instCd, String deptCd); - - /** 단속팀 목록을 조회한다. - * @param query 단속팀 목록 조회 조건 - * @return 단속팀 목록 - */ - List getTeamList(CrdnQuery query); - - /** 비사용 단속팀 목록을 조회한다. - * @param query 비사용 단속팀 목록 조회 조건 - * @return 비사용 단속팀 목록 - */ - List getRemovedTeamList(CrdnQuery query); - - /** 단속팀 정보를 삭제한다. - * @param teamId 단속팀 ID - * @return 저장여부 - */ - String removeTeamInfo(String teamId); - - /** 단속팀 정보를 저장한다. - * @param team 단속팀 정보 - * @return 저장여부 - */ - String saveTeamInfo(Team team); - - /** 단속팀 정보을 조회한다. - * @param teamId 단속팀 ID - * @return 단속팀 정보 - */ - DataObject getTeamInfo(String teamId); - - /** 면제차량 목록을 조회한다. - * @param query 면제차량 목록 조회 조건 - * @return 단속팀 목록 - */ - List getExemptionVehicleList(CrdnQuery query); - - /** 면제차량 정보을 조회한다. - * @param exemptionVehicleId 면제차량 ID - * @return 면제차량 정보 - */ - DataObject getExemptionVehicleInfo(String exemptionVehicleId); - - /** 면제차량 정보를 등록한다. - * @param exmptnVhcl 면제차량 정보 - * @return 저장여부 - */ - String createExemptionVehicleInfo(ExmptnVhcl exmptnVhcl); - - /** 면제차량 정보를 수정한다. - * @param exmptnVhcl 면제차량 정보 - * @return 저장여부 - */ - String updateExemptionVehicleInfo(ExmptnVhcl exmptnVhcl); - - /** 면제차량 정보를 삭제한다. - * @param exmptnVhcl 면제차량 정보 - * @return 저장여부 - */ - String removeExemptionVehicleInfo(ExmptnVhcl exmptnVhcl); - - /** 면제차량 이력을 조회한다. - * @param exemptionVehicleId 면제차량 ID - * @return 면제차량 이력 - */ - List getExemptionVehicleHistoryList(String exmptnVhclId); - -} diff --git a/src/main/java/cokr/xit/fims/crdn/service/ImportService.java b/src/main/java/cokr/xit/fims/crdn/service/ImportService.java deleted file mode 100644 index 001a11ea..00000000 --- a/src/main/java/cokr/xit/fims/crdn/service/ImportService.java +++ /dev/null @@ -1,24 +0,0 @@ -package cokr.xit.fims.crdn.service; - -import java.util.HashMap; -import java.util.List; -import java.util.Map; - -import cokr.xit.foundation.data.DataObject; - -/**외부 연계 파일에서 단속자료를 추출하여 등록하는 서비스 - * @author mjkhan - */ -public interface ImportService { - /**국민신문고에서 수신한 연계파일에서 단속자료를 추출하여 등록한다. - * @param interfaceSequences 외부연계 아이디 - * @return 저장된 정보수 - */ - int createCrdns(List interfaceSequences); - - /** 장비 연계 파일로 단속자료를 생성한다. - * @param dataObject 연계 파일 정보 - * @return 저장 여부 - */ - HashMap createCrdnByEquipmentLinkFile(Map processInfo, List linkFileInfoList); -} \ No newline at end of file diff --git a/src/main/java/cokr/xit/fims/crdn/service/bean/CrdnBean.java b/src/main/java/cokr/xit/fims/crdn/service/bean/CrdnBean.java deleted file mode 100644 index 011da166..00000000 --- a/src/main/java/cokr/xit/fims/crdn/service/bean/CrdnBean.java +++ /dev/null @@ -1,415 +0,0 @@ -package cokr.xit.fims.crdn.service.bean; - -import java.io.File; -import java.nio.file.Files; -import java.nio.file.Path; -import java.nio.file.Paths; -import java.text.SimpleDateFormat; -import java.util.ArrayList; -import java.util.Arrays; -import java.util.Date; -import java.util.HashMap; -import java.util.List; -import java.util.Map; -import java.util.stream.Collectors; -import java.util.stream.Stream; - -import javax.annotation.Resource; - -import org.springframework.stereotype.Component; - -import cokr.xit.base.file.FileInfo; -import cokr.xit.base.file.service.bean.FileBean; -import cokr.xit.fims.cmmn.CmmnUtil; -import cokr.xit.fims.cmmn.CrdnPayerHstry; -import cokr.xit.fims.cmmn.CrdnSttsHstry; -import cokr.xit.fims.cmmn.service.bean.CrdnPayerHstryBean; -import cokr.xit.fims.cmmn.service.bean.CrdnSttsHstryBean; -import cokr.xit.fims.crdn.Crdn; -import cokr.xit.fims.crdn.Team; -import cokr.xit.fims.crdn.dao.CrdnInfoMapper; -import cokr.xit.fims.crdn.dao.CrdnInstMapper; -import cokr.xit.fims.crdn.dao.CrdnTeamMapper; -import cokr.xit.fims.crdn.dao.CrdnUpdtMapper; -import cokr.xit.fims.excl.LevyExcl; -import cokr.xit.fims.excl.service.bean.LevyExclBean; -import cokr.xit.fims.sprt.dao.TotalInfoMapper; -import cokr.xit.foundation.UserInfo; -import cokr.xit.foundation.component.AbstractBean; -import cokr.xit.foundation.data.DataObject; - -/** 단속 관리 Bean - * @author leebj - */ -@Component("crdnBean") -public class CrdnBean extends AbstractBean { - - @Resource(name = "crdnStngBean") - private CrdnStngBean crdnStngBean; - - @Resource(name = "levyExclBean") - protected LevyExclBean levyExclBean; - - @Resource(name = "crdnSttsHstryBean") - private CrdnSttsHstryBean crdnSttsHstryBean; - - @Resource(name = "crdnPayerHstryBean") - private CrdnPayerHstryBean crdnPayerHstryBean; - - @Resource(name = "fileBean") - private FileBean fileBean; - - @Resource(name = "crdnInfoMapper") - private CrdnInfoMapper crdnInfoMapper; - - @Resource(name = "crdnInstMapper") - private CrdnInstMapper crdnInstMapper; - - @Resource(name = "crdnUpdtMapper") - private CrdnUpdtMapper crdnUpdtMapper; - - @Resource(name = "crdnTeamMapper") - private CrdnTeamMapper crdnTeamMapper; - - @Resource(name = "totalInfoMapper") - private TotalInfoMapper totalInfoMapper; - - public boolean create(Map nonQueryRequest, Crdn crdn, List fileInfoList) { - if(fileInfoList != null && !fileInfoList.isEmpty()) { - crdn.setAtchFileCnt(fileInfoList.size()); - } else { - crdn.setAtchFileCnt(0); - } - - //금액 계산 - int[] basicAmt = crdnStngBean.getBasicAmt(crdn); - crdn.setFfnlgCrdnAmt(basicAmt[0]); - crdn.setFfnlgAmt(basicAmt[0]); - crdn.setAdvntceAmt(basicAmt[1]); - - //단속팀 정보 갱신 - if(!ifEmpty(crdn.getTeamId(), () -> "").equals("")) { - DataObject teamInfo = crdnTeamMapper.selectTeamInfo(crdn.getTeamId()); - - Team team = new Team(); - team.setTaskSeCd(crdn.getTaskSeCd()); - team.setSggCd(crdn.getSggCd()); - team.setTeamNm(teamInfo.string("TEAM_NM")); - team.setCrdnSeCd(crdn.getCrdnSeCd()); - team.setTeamer1(crdn.getTeamer1()); - team.setTeamer2(crdn.getTeamer2()); - team.setTeamer3(crdn.getTeamer3()); - team.setTeamer4(crdn.getTeamer4()); - - crdnStngBean.saveTeamInfo(true, team); - } - - //상태코드 설정 - SimpleDateFormat dateFormat = new SimpleDateFormat("yyyyMMddHHmmss"); - if(ifEmpty(crdn.getCrdnSttsCd(), () -> "").equals("")){ //상태코드가 없을경우 - if(ifEmpty(crdn.getCvlcptLinkYn(), () -> "").equals("Y")) { //민원연계자료일 경우 - crdn.setCrdnSttsCd("01"); //초기상태 - crdn.setCrdnSttsChgDt(dateFormat.format(System.currentTimeMillis())); - } else { //민원연계자료가 아닐 경우 - if(ifEmpty(crdn.getRtpyrId(), () -> "").equals("")) { //납부자가 정보가 없을 경우 - crdn.setCrdnSttsCd("01"); //초기상태 - crdn.setCrdnSttsChgDt(dateFormat.format(System.currentTimeMillis())); - } else { - crdn.setCrdnSttsCd("21"); //납부자등록완료 - crdn.setCrdnSttsChgDt(dateFormat.format(System.currentTimeMillis())); - } - } - } - - //단속 대장 등록 - boolean result = this.createLedger(crdn); - if (!result) { - throw new RuntimeException("단속자료 등록 중 단속자료 등록에 실패하였습니다."); - } - - SimpleDateFormat yyyyMMdd = new SimpleDateFormat("yyyyMMdd"); - Date curTime = new Date(); - String strCurrentDate = yyyyMMdd.format(curTime); - - String taskDtlId = crdn.getCrdnId(); - - if(crdn.getCrdnSttsCd().equals("83")) { - // 부과제외(TB_LEVY_EXCL) 대장 등록 - LevyExcl excl01 = new LevyExcl(); - excl01.setCrdnId(crdn.getCrdnId()); - excl01.setLevyExclYmd(strCurrentDate); - excl01.setLevyExclSeCd("2"); - excl01.setLevyExclRsnCd("192"); - excl01.setEtcCn(""); - - String rtnScs = levyExclBean.createLevyExcl(excl01); - if (rtnScs.contains("[F]")) { - throw new RuntimeException("단속자료 등록 중 부과제외 자료 등록에 실패하였습니다."); - } - - taskDtlId = excl01.getLevyExclId(); - } - - // 단속상태이력(TB_CRDN_STTS_HSTRY) 대장 등록 - CrdnSttsHstry crdnSttsHstry = new CrdnSttsHstry(); - crdnSttsHstry.setCrdnId(crdn.getCrdnId()); - crdnSttsHstry.setBfrSttsCd(""); - crdnSttsHstry.setBfrSttsChgDt(""); - crdnSttsHstry.setCrdnSttsCd(crdn.getCrdnSttsCd()); - crdnSttsHstry.setTaskDtlId(taskDtlId); - crdnSttsHstry.setEtcCn(""); - - result = crdnSttsHstryBean.create(crdnSttsHstry); - if (!result) { - throw new RuntimeException("단속자료 등록 중 단속상태 이력 등록에 실패하였습니다."); - } - - //단속납부자이력(TB_CRDN_PAYER_HSTRY) 대장 등록 - if(!ifEmpty(crdn.getRtpyrId(), () -> "").equals("")) { - CrdnPayerHstry crdnPayerHstry = new CrdnPayerHstry(); - crdnPayerHstry.setCrdnId(crdn.getCrdnId()); - crdnPayerHstry.setRtpyrId(crdn.getRtpyrId()); - crdnPayerHstry.setAddrSn(crdn.getAddrSn()); - result = crdnPayerHstryBean.createCrdnPayerHstry(crdnPayerHstry); - if (!result) { - throw new RuntimeException("단속자료 등록 중 단속 납부자 이력 등록에 실패하였습니다."); - } - - // 단속 대장의 납부자ID 수정 및 단속 납부자 이력(TB_CRDN_PAYER_HSTRY) 대장에 등록한다. - result = crdnPayerHstryBean.createCrdnPayerAddrHstry(crdnPayerHstry); - if (!result) { - throw new RuntimeException("단속자료 등록 중 단속 납부자주소 이력 등록에 실패하였습니다."); - } - } - - //파일 등록 - if(fileInfoList != null && !fileInfoList.isEmpty()) { - fileInfoList.forEach(fileInfo -> fileInfo.setInfoType(Crdn.INF_TYPE).setInfoKey(crdn.getCrdnId())); - int effected = fileBean.create(fileInfoList); - if(effected == 0) { - throw new RuntimeException("단속자료 등록 중 파일 등록에 실패하였습니다."); - } - } - - return result; - } - - /**단속 대장 정보를 등록한다. - * @param crdn 단속 대장 - * @return 저장 여부 - *
    • 저장됐으면 true
    • - *
    • 그렇지 않으면 false
    • - *
    - */ - public boolean createLedger(Crdn crdn) { - - int effected = crdnInstMapper.insertCrdn(crdn); - if(effected != 1) { - return false; - } - - effected = crdnInstMapper.insertCrdnAddition(crdn); - if(effected != 1) { - return false; - } - - return true; - - } - - /**단속 대장 정보를 수정한다. - * @param nonQueryRequest 수정 요청, crdn 단속 대장 - * @return 저장 여부 - *
    • 저장됐으면 true
    • - *
    • 그렇지 않으면 false
    • - *
    - */ - public boolean updateLedger(Map nonQueryRequest, Crdn crdn) { - String updateInfomationType = (String)ifEmpty(nonQueryRequest.get("updateInfomationType"), "") ; - - switch (ifEmpty(updateInfomationType, () -> "")) { - default: - if(crdnUpdtMapper.updateCrdnAddition(crdn) != 1) { - return false; - } - return crdnUpdtMapper.updateCrdn(crdn) == 1 ? true : false; - } - } - - /**단속 정보를 삭제한다. - * @param crdnIds 단속아이디 목록 - * @return 저장 여부 - *
    • 저장됐으면 true
    • - *
    • 그렇지 않으면 false
    • - *
    - */ - public boolean remove(String... crdnIds) { - if (isEmpty(crdnIds)) return false; - - Map paramMap = new HashMap(); - List crdnIdList = Arrays.asList(crdnIds); - paramMap.put("crdnIds", crdnIdList); - paramMap.put("removedBy", UserInfo.current().getId()); - - return crdnUpdtMapper.deleteCrdn(paramMap) >= 1 ? true : false; - } - - /**단속 자료를 수정한다. - * @param crdn 단속 - * @return 저장 여부 - *
    • 저장됐으면 true
    • - *
    • 그렇지 않으면 false
    • - *
    - */ - public String updateCrackdown(Crdn crdn) { - // 변수 선언 - int effected = 0; // DB 처리 결과 - - //금액 계산 - int[] basicAmt = crdnStngBean.getBasicAmt(crdn); - crdn.setFfnlgCrdnAmt(basicAmt[0]); - crdn.setFfnlgAmt(basicAmt[0]); - crdn.setAdvntceAmt(basicAmt[1]); - - // 단속(TB_CRDN) 대장을 수정한다. - effected = crdnUpdtMapper.updateEditCrdn(crdn); - if (effected != 1) { - throw new RuntimeException("단속 대장 수정에 실패하였습니다."); // 예외를 발생시켜서 DB Rollback - } - - // 단속 부가 정보(TB_CRDN_ADI) 대장을 수정한다. - effected = crdnUpdtMapper.updateCrdnAddition(crdn); - if (effected != 1) { - throw new RuntimeException("단속 부가 정보 수정에 실패하였습니다."); // 예외를 발생시켜서 DB Rollback - } - - return "[S] 작업이 정상 처리 되었습니다."; - } - - /**단속 자료를 삭제한다. - * @param crdn 단속 - * @return 저장 여부 - *
    • 저장됐으면 true
    • - *
    • 그렇지 않으면 false
    • - *
    - */ - public String removeCrackdown(Crdn crdn) { - // 변수 선언 - boolean rtnScs = false; // DB 처리 결과 - int effected = 0; - - // 단속 ID로 단속 정보 조회 - DataObject infoCrdn = crdnInfoMapper.selectCrdnInfo(crdn.getCrdnId()); - - // 단속상태이력(TB_CRDN_STTS_HSTRY) - CrdnSttsHstry crdnSttsHstry = new CrdnSttsHstry(); - crdnSttsHstry.setCrdnId(infoCrdn.string("CRDN_ID")); - crdnSttsHstry.setBfrSttsCd(infoCrdn.string("CRDN_STTS_CD")); - crdnSttsHstry.setBfrSttsChgDt(infoCrdn.string("CRDN_STTS_CHG_DT")); - crdnSttsHstry.setCrdnSttsCd("99"); - - // 단속 상태 이력(TB_CRDN_STTS_HSTRY) 대장에 등록한다. - rtnScs = crdnSttsHstryBean.createHstryUpdateCrdnSttsCd(crdnSttsHstry); - if (!rtnScs) { - throw new RuntimeException("단속 삭제 중 단속 대장의 단속상태코드 변경에 실패하였습니다."); // 예외를 발생시켜서 DB Rollback - } - - Map paramMap = new HashMap(); - List crdnIdList = Arrays.asList(crdn.getCrdnId()); - paramMap.put("crdnIds", crdnIdList); - paramMap.put("removedBy", UserInfo.current().getId()); - - // 단속(TB_CRDN) 대장을 삭제한다. - effected = crdnUpdtMapper.deleteCrdn(paramMap); - if (effected != 1) { - throw new RuntimeException("단속 대장 삭제에 실패하였습니다."); // 예외를 발생시켜서 DB Rollback - } - - // 단속(TB_CRDN) 대장을 삭제한다. - effected = crdnUpdtMapper.deleteCrdnAdi(paramMap); - if (effected != 1) { - throw new RuntimeException("단속 부가 정보 삭제에 실패하였습니다."); // 예외를 발생시켜서 DB Rollback - } - - return "[S] 작업이 정상 처리 되었습니다."; - } - - /**단속 자료의 납부자 ID를 삭제한다. - * @param crdn 단속 - * @return 저장 여부 - *
    • 저장됐으면 true
    • - *
    • 그렇지 않으면 false
    • - *
    - */ - public String removeCrackdownPayer(Crdn crdn) { - // 단속(TB_CRDN) 대장에 납부자 ID를 삭제한다. - int effected = crdnUpdtMapper.deleteCrdnPayer(crdn); - if (effected != 1) { - throw new RuntimeException("단속 자료의 납부자 정보가 없습니다."); // 예외를 발생시켜서 DB Rollback - } - - return "[S] 작업이 정상 처리 되었습니다."; - } - - /**단속 자료의 처리 상태 코드를 수정한다. - * @param crdn 단속 - * @return 저장 여부 - *
    • 저장됐으면 true
    • - *
    • 그렇지 않으면 false
    • - *
    - */ - public String updateCrackdownStatus(Crdn crdn) { - // 단속 ID로 단속 정보 조회 - DataObject infoCrdn = crdnInfoMapper.selectCrdnInfo(crdn.getCrdnId()); - - // 단속상태이력(TB_CRDN_STTS_HSTRY) - CrdnSttsHstry crdnSttsHstry = new CrdnSttsHstry(); - crdnSttsHstry.setCrdnId(infoCrdn.string("CRDN_ID")); - crdnSttsHstry.setBfrSttsCd(infoCrdn.string("CRDN_STTS_CD")); - crdnSttsHstry.setBfrSttsChgDt(infoCrdn.string("CRDN_STTS_CHG_DT")); - crdnSttsHstry.setEtcCn("[개별총정보-단속상태변경] " + crdn.getEtcCn()); - crdnSttsHstry.setCrdnSttsCd(crdn.getCrdnSttsCd()); - - // 단속 상태 이력(TB_CRDN_STTS_HSTRY) 대장에 등록한다. - boolean rtnScs = crdnSttsHstryBean.createHstryUpdateCrdnSttsCd(crdnSttsHstry); - if (!rtnScs) { - throw new RuntimeException("단속 대장의 단속상태코드 변경에 실패하였습니다."); // 예외를 발생시켜서 DB Rollback - } - - return "[S] 작업이 정상 처리 되었습니다."; - } - - /** 장비 연계파일을 삭제한다. - * @param workPath 작업 디렉토리, fileName 파일명 - * @return 저장 여부 - */ - public boolean removeEquipmentLinkFile(String workPath, String fileName) { - boolean saved = false; - - try { - - Stream walk = Files.walk(Paths.get(workPath)); - - List deleteFilePaths = new ArrayList(); - - walk.filter(Files::isRegularFile) - .filter(p -> p.toFile().getName().equalsIgnoreCase(fileName)) - .collect(Collectors.toList()) - .forEach(item -> deleteFilePaths.add(item.toFile().getPath())); - - for(String deleteFilePath : deleteFilePaths) { - saved = (new File(deleteFilePath)).delete(); - } - - //빈 디렉토리 삭제 - CmmnUtil.deleteEmptyDir(new File(workPath), false); - - walk.close(); - } catch (Exception e) { - throw new RuntimeException(e); - } - - return saved; - } - -} diff --git a/src/main/java/cokr/xit/fims/crdn/service/bean/CrdnServiceBean.java b/src/main/java/cokr/xit/fims/crdn/service/bean/CrdnServiceBean.java deleted file mode 100644 index eaef3779..00000000 --- a/src/main/java/cokr/xit/fims/crdn/service/bean/CrdnServiceBean.java +++ /dev/null @@ -1,374 +0,0 @@ -package cokr.xit.fims.crdn.service.bean; - -import java.util.ArrayList; -import java.util.Iterator; -import java.util.List; -import java.util.Map; - -import javax.annotation.Resource; - -import org.springframework.stereotype.Service; - -import cokr.xit.base.code.service.bean.CodeBean; -import cokr.xit.base.file.FileInfo; -import cokr.xit.base.file.service.FileQuery; -import cokr.xit.base.file.service.bean.FileBean; -import cokr.xit.fims.cmmn.CmmnUtil; -import cokr.xit.fims.cmmn.service.bean.CrdnPayerHstryBean; -import cokr.xit.fims.cmmn.service.bean.CrdnSttsHstryBean; -import cokr.xit.fims.cmmn.service.bean.StngBean; -import cokr.xit.fims.crdn.Crdn; -import cokr.xit.fims.crdn.CrdnQuery; -import cokr.xit.fims.crdn.dao.CrdnInfoMapper; -import cokr.xit.fims.crdn.dao.CrdnInstMapper; -import cokr.xit.fims.crdn.dao.CrdnListMapper; -import cokr.xit.fims.crdn.dao.CrdnStngMapper; -import cokr.xit.fims.crdn.dao.CrdnUpdtMapper; -import cokr.xit.fims.crdn.dao.ImportMapper; -import cokr.xit.fims.crdn.service.CrdnService; -import cokr.xit.fims.cvlc.dao.CrdnCvlcptMapper; -import cokr.xit.fims.cvlc.service.bean.CrdnCvlcptMainBean; -import cokr.xit.fims.excl.service.bean.LevyExclBean; -import cokr.xit.fims.mngt.dao.TaskMapper; -import cokr.xit.fims.sprt.dao.TotalInfoMapper; -import cokr.xit.fims.sprt.service.bean.MediaBean; -import cokr.xit.foundation.component.AbstractServiceBean; -import cokr.xit.foundation.data.DataObject; - -@Service("crdnService") -public class CrdnServiceBean extends AbstractServiceBean implements CrdnService { - - @Resource(name="crdnCvlcptMapper") - private CrdnCvlcptMapper crdnCvlcptMapper; - - @Resource(name="crdnListMapper") - private CrdnListMapper crdnListMapper; - - @Resource(name="crdnInstMapper") - private CrdnInstMapper crdnInstMapper; - - @Resource(name="crdnUpdtMapper") - private CrdnUpdtMapper crdnUpdtMapper; - - @Resource(name="crdnInfoMapper") - private CrdnInfoMapper crdnInfoMapper; - - @Resource(name="crdnStngMapper") - private CrdnStngMapper crdnStngMapper; - - @Resource(name="totalInfoMapper") - private TotalInfoMapper totalInfoMapper; - - @Resource(name="taskMapper") - private TaskMapper taskMapper; - - @Resource(name="fileBean") - private FileBean fileBean; - - @Resource(name="codeBean") - private CodeBean codeBean; - - @Resource(name="stngBean") - private StngBean stngBean; - - @Resource(name="mediaBean") - private MediaBean mediaBean; - - @Resource(name="importBean") - private ImportBean importBean; - - @Resource(name="importMapper") - private ImportMapper importMapper; - - @Resource(name="crdnStngBean") - private CrdnStngBean crdnStngBean; - - @Resource(name="crdnCvlcptMainBean") - private CrdnCvlcptMainBean crdnCvlcptMainBean; - - @Resource(name="crdnBean") - private CrdnBean crdnBean; - - @Resource(name = "levyExclBean") - private LevyExclBean levyExclBean; - - @Resource(name="crdnSttsHstryBean") - private CrdnSttsHstryBean crdnSttsHstryBean; - - @Resource(name="crdnPayerHstryBean") - private CrdnPayerHstryBean crdnPayerHstryBean; - - @Override - public List getCrackdownList(CrdnQuery query) { - - List dataObjectList = new ArrayList(); - switch (ifEmpty(query.getGridType(), () -> "")) { - case "tagInformationUndefinedData": - if (query.getOrderBy() == null) { - if (query.getBy() == null) { - query.setOrderBy("CRDN_ID"); - } else { - query.setOrderBy(CmmnUtil.convertCamelCaseToSnakeCase(query.getBy())); - } - } - dataObjectList = crdnListMapper.selectTagInformationUndefinedDataList(query); - break; - case "photo": - if (query.getOrderBy() == null) { - if (query.getBy() == null) { - query.setOrderBy("VHRNO, CRDN_PLC, CRDN_ID"); - } else { - query.setOrderBy(CmmnUtil.convertCamelCaseToSnakeCase(query.getBy())); - } - } - dataObjectList = crdnListMapper.selectPhotoInspectionDataList(query); - break; - case "sameVehicleMain": - if(ifEmpty(query.getSchOnlySamePlace(),() -> "").equals("on")) { - query.setOrderBy("VHRNO, CRDN_STDG_NM"); - } else { - query.setOrderBy("VHRNO"); - } - dataObjectList = crdnListMapper.selectSameVehicleMainList(query); - break; - case "sameVehicleSub": - dataObjectList = crdnListMapper.selectSameVehicleSubList(query.setOrderBy("CRDN_ID")); - break; - case "todayInsert": - query.setOrderBy("CRDN_ID"); - dataObjectList = crdnListMapper.selectTodayCrackdownList(query); - break; - default: - if (query.getOrderBy() == null) { - if (query.getBy() == null) { - query.setOrderBy("CRDN_ID"); - } else { - query.setOrderBy(CmmnUtil.convertCamelCaseToSnakeCase(query.getBy())); - } - } - dataObjectList = crdnListMapper.selectCrackdownList(query); - break; - } - - if(ifEmpty(query.getGridType(), () -> "").equals("tagInformationUndefinedData")) { - Iterator iterator = dataObjectList.iterator(); - while(iterator.hasNext()) { - DataObject dataObject = iterator.next(); - String state = dataObject.string("CRDN_STTS_CD"); - int advntceAmt = dataObject.number("ADVNTCE_AMT").intValue(); - int ffnlgAmt = dataObject.number("FFNLG_AMT").intValue(); - int minusAmt = dataObject.number("MINUS_AMT").intValue(); - int adtnAmt = dataObject.number("ADTN_AMT").intValue(); - int rcvmtAmt = dataObject.number("RCVMT_AMT").intValue(); - - dataObject.set("BLNC", crdnStngBean.getBalance(state,advntceAmt,ffnlgAmt,minusAmt,adtnAmt,rcvmtAmt)); - } - } else if(ifEmpty(query.getGridType(), () -> "").equals("photo")) { - Iterator iterator = dataObjectList.iterator(); - while(iterator.hasNext()) { - DataObject dataObject = iterator.next(); - - if(dataObject.number("ATCH_FILE_CNT").intValue() < 1) { - dataObject.set("INSP_RSLT", "사진없음"); - dataObject.set("PRCS_MTHD", "해당자료에 사진을 등록하시기 바랍니다."); - } else if(dataObject.number("CRDN_CNT").intValue() > 1) { - dataObject.set("INSP_RSLT", "중복자료"); - if(query.getTaskSeCd().equals("PVS")) { - dataObject.set("PRCS_MTHD", "한건을 시간초과로 처리하십시요."); - } else { - dataObject.set("PRCS_MTHD", "한건을 서손으로 처리하십시요."); - } - } else { - dataObject.set("INSP_RSLT", "정상자료"); - dataObject.set("PRCS_MTHD", "정상자료"); - } - } - } - - return dataObjectList; - } - - @Override - public String remove(String... crdnIds) { - boolean result = crdnBean.remove(crdnIds); - if(result) { - return "[S]"; - } else { - return "[F]단속 자료 삭제 중 오류가 발생하였습니다."; - } - } - - @Override - public String create(Map nonQueryRequest, Crdn crdn, List fileInfoList) { - boolean result = crdnBean.create(nonQueryRequest, crdn, fileInfoList); - if(result) { - return "[S]"; - } else { - return "[F]단속 자료 등록 중 오류가 발생하였습니다."; - } - } - - @Override - public String update(Map nonQueryRequest, Crdn crdn, List newFileInfoList) { - boolean result = crdnBean.updateLedger(nonQueryRequest, crdn); - if(!result) { - throw new RuntimeException("단속 정보 수정 중 오류가 발생하였습니다."); - } - - return "[S]"; - } - - @Override - public String updateOverTimeInfo(String chgAmtSe, String crdnId) { - - DataObject crdnInfo = crdnInfoMapper.selectCrdnInfo(crdnId); - Crdn crdn = new Crdn(); - crdn.setCrdnId(crdnInfo.string("CRDN_ID")); - crdn.setTaskSeCd(crdnInfo.string("TASK_SE_CD")); - crdn.setCrdnYmd(crdnInfo.string("CRDN_YMD")); - crdn.setCrdnSpareaCd(crdnInfo.string("CRDN_SPAREA_CD")); - crdn.setCrdnTm(crdnInfo.string("CRDN_TM")); - crdn.setFfnlgCarmdlCd(crdnInfo.string("FFNLG_CARMDL_CD")); - - if(chgAmtSe.equals("0")) { - crdn.setOvtmYn("N"); - crdn.setOvtmPrttnYn("N"); - } else if(chgAmtSe.equals("1")) { - crdn.setOvtmYn("Y"); - crdn.setOvtmPrttnYn("N"); - } else if(chgAmtSe.equals("2")) { - crdn.setOvtmYn("Y"); - crdn.setOvtmPrttnYn("Y"); - } else { - throw new RuntimeException("2시간 초과 처리 중 오류가 발생하였습니다."); - } - - if(crdnUpdtMapper.updateOverTimeInfo(crdn) != 1) { - return "[F]2시간초과여부 변경 중 오류가 발생하였습니다."; - } - - if(chgAmtSe.equals("0") || chgAmtSe.equals("1")) { - int[] basicAmt = crdnStngBean.getBasicAmt(crdn); - crdn.setFfnlgCrdnAmt(basicAmt[0]); - crdn.setFfnlgAmt(basicAmt[0]); - crdn.setAdvntceAmt(basicAmt[1]); - } else if(chgAmtSe.equals("2")) { - crdn.setFfnlgCrdnAmt(10000); - crdn.setFfnlgAmt(10000); - crdn.setAdvntceAmt(8000); - } - - int effected = crdnUpdtMapper.updateCrdnAmt(crdn); - if(effected != 1) { - return "[F]단속자료 금액 변경 중 오류가 발생하였습니다."; - } - return "[S]"; - } - - @Override - public String updateTagInfo(Crdn crdn) { - if(crdnUpdtMapper.updateTagInfo(crdn) == 1) { - return "[S]"; - } else { - return "[F]"; - } - } - - @Override - public DataObject getCrackdownInfo(CrdnQuery query) { - return crdnInfoMapper.selectCrdnInfo(query.getCrdnId()); - } - - @Override - public String updateCrackdown(Crdn crdn) { - return crdnBean.updateCrackdown(crdn); - } - - @Override - public String removeCrackdown(Crdn crdn) { - return crdnBean.removeCrackdown(crdn); - } - - @Override - public String removeCrackdownPayer(Crdn crdn) { - return crdnBean.removeCrackdownPayer(crdn); - } - - @Override - public String updateCrackdownStatus(Crdn crdn) { - return crdnBean.updateCrackdownStatus(crdn); - } - - @Override - public String removeEquipmentLinkFile(String workPath, String fileName) { - boolean result = crdnBean.removeEquipmentLinkFile(workPath, fileName); - if(result) { - return "[S]"; - } else { - return "[F]장비연계파일 삭제 중 오류가 발생하였습니다."; - } - } - - @Override - public String changeCrdnImageFile(Crdn crdn, List> processList) { - - int createdCount = 0; - int deletedCount = 0; - boolean orderChange = false; - - // 변수 선언 - boolean rtnScs = false; // DB 처리 결과 - String rtnMsg = "[F] "; // 처리 결과 메시지 - - int order = 0; - for(Map process : processList) { - if(process.get("process").equals("insert")) { - createdCount += fileBean.create(List.of((FileInfo)process.get("obj"))); - } - if(process.get("process").equals("delete")) { - deletedCount += fileBean.deleteByIDs((String)process.get("key")); - } - if(process.get("process").equals("order")) { - mediaBean.reorder((String)process.get("key"), order++); - orderChange = true; - } - } - - - if(!orderChange) { - // 단속 ID로 파일(TB_FILE) 정보 조회 - List infoFileList = fileBean.getFileList(new FileQuery().setInfoType(Crdn.INF_TYPE) - .setInfoKeys(crdn.getCrdnId()) - .setOrderBy("SRT_ORD,FILE_ID")); - - if (infoFileList != null && infoFileList.size() > 0) { - String[] fileIDs = new String[infoFileList.size()]; - - for (int iLoop = 0; iLoop < infoFileList.size(); iLoop++) { - fileIDs[iLoop] = infoFileList.get(iLoop).string("FILE_ID"); - } - - fileBean.reorder(fileIDs); // 첨부파일 재 정렬 - } - } - - - crdn.setAtchFileCnt(crdn.getAtchFileCnt() + createdCount - deletedCount); - rtnScs = totalInfoMapper.updateCrdnAtchFileCnt(crdn); - if (!rtnScs) { - throw new RuntimeException("단속 첨부 파일 갯수 수정에 실패하였습니다."); - } - - rtnMsg = "[S] 작업이 정상 처리 되었습니다."; - - return rtnMsg; - - } - - @Override - public int countCrdn(CrdnQuery crdnQuery) { - return crdnListMapper.countCrdn(crdnQuery); - } - - -} diff --git a/src/main/java/cokr/xit/fims/crdn/service/bean/CrdnStngBean.java b/src/main/java/cokr/xit/fims/crdn/service/bean/CrdnStngBean.java deleted file mode 100644 index fc0ea510..00000000 --- a/src/main/java/cokr/xit/fims/crdn/service/bean/CrdnStngBean.java +++ /dev/null @@ -1,661 +0,0 @@ -package cokr.xit.fims.crdn.service.bean; - -import java.util.List; - -import javax.annotation.Resource; - -import org.assertj.core.util.Arrays; -import org.springframework.stereotype.Component; - -import cokr.xit.fims.cmmn.CmmnUtil; -import cokr.xit.fims.cmmn.ftp.RemoteSystemInfo; -import cokr.xit.fims.crdn.Crdn; -import cokr.xit.fims.crdn.CrdnQuery; -import cokr.xit.fims.crdn.ExmptnVhcl; -import cokr.xit.fims.crdn.Team; -import cokr.xit.fims.crdn.dao.CrdnStngMapper; -import cokr.xit.fims.crdn.dao.CrdnTeamMapper; -import cokr.xit.fims.crdn.dao.ExmptnVhclMapper; -import cokr.xit.fims.crdn.receive.eqpmnt.LayoutDescriptor; -import cokr.xit.foundation.component.AbstractBean; -import cokr.xit.foundation.data.DataObject; - -/** 단속 설정 Bean - * @author leebj - */ -@Component("crdnStngBean") -public class CrdnStngBean extends AbstractBean { - - public static String[] SAFE_TAG_AREA = {"03","06","07"}; //안전표지구역 - - public static String[] CAR_GROUP1 = {"12","14","15","21"}; //승합자동차등 - public static String[] CAR_GROUP2 = {"11","13"}; //승용자동차등 - public static String[] CAR_GROUP3 = {"31"}; //이륜자동차등 - - @Resource(name = "crdnStngMapper") - private CrdnStngMapper crdnStngMapper; - - @Resource(name = "crdnTeamMapper") - private CrdnTeamMapper crdnTeamMapper; - - @Resource(name = "exmptnVhclMapper") - private ExmptnVhclMapper exmptnVhclMapper; - - /**잔액을 계산한다. - * @param state 대장 자료 상태 - * @param advntceAmt 사전통지금액 - * @param ffnlgAmt 과태료금액 - * @param minusAmt 감경금액 - * @param adtnAmt 가산금액 - * @param rcvmtAmt 수납금액 - * @return 잔액 - */ - public int getBalance(String state, int advntceAmt, int ffnlgAmt, int minusAmt, int adtnAmt, int rcvmtAmt) { - int result = 0; - if(Integer.parseInt(state) < Integer.parseInt("51")) { - result = advntceAmt - rcvmtAmt - minusAmt; - } else if(state.equals("71") || - state.equals("72") || - state.equals("73") || - state.equals("74") || - state.equals("75") || - state.equals("76") || - state.equals("80") || - state.equals("81") || - state.equals("82") || - state.equals("83") || - state.equals("84") || - state.equals("85")) { - - } else { - result = ffnlgAmt - rcvmtAmt - minusAmt + adtnAmt; - } - - return result; - } - - /**기본금액을 계산한다. - * @param crdn 단속 정보 - * @return 최초금액, 사전통지금액 - */ - public int[] getBasicAmt(Crdn crdn) { - int[] amt = {0, 0}; - - String taskSeCd = crdn.getTaskSeCd(); - - CrdnQuery query = new CrdnQuery(); - query.setTaskSeCd(crdn.getTaskSeCd()); - query.setAplcnYmd(crdn.getCrdnYmd()); - - String ffnlgCarmdlCd = crdn.getFfnlgCarmdlCd(); - if(taskSeCd.equals("PVS") || taskSeCd.equals("BPV") || taskSeCd.equals("PES")) { - if(ifEmpty(ffnlgCarmdlCd, () -> "").equals("")) { - return amt; - } - } - - if(taskSeCd.equals("PVS")) { - query.setAmtDcsnCdGroupId("FIM055"); - String crdnSpareaCd = crdn.getCrdnSpareaCd(); - if(Arrays.asList(SAFE_TAG_AREA).contains(crdnSpareaCd)) { - query.setAmtDcsnCd("02"); - } else { - - String crdnTm = crdn.getCrdnTm(); - boolean workTimeYn = Integer.parseInt(crdnTm) >= 80000 && Integer.parseInt(crdnTm) <= 200000; - - if(crdnSpareaCd.equals("01") && workTimeYn) { - query.setAmtDcsnCd("03"); - } else if((crdnSpareaCd.equals("02") || crdnSpareaCd.equals("05")) && workTimeYn) { - query.setAmtDcsnCd("04"); - } else { - query.setAmtDcsnCd("01"); - } - } - - query.setDtlAmtDcsnGroupId("FIM056"); - if(Arrays.asList(CAR_GROUP1).contains(ffnlgCarmdlCd)) { - query.setDtlAmtDcsnCd("01"); - } - if(Arrays.asList(CAR_GROUP2).contains(ffnlgCarmdlCd)) { - query.setDtlAmtDcsnCd("02"); - } - - int ffnlgCrdnAmt = Integer.parseInt(ifEmpty(crdnStngMapper.selectBasicAmt(query), () -> "0")); - - if(ffnlgCrdnAmt > 0 && ifEmpty(crdn.getOvtmYn(), ()-> "").equals("Y")) { - ffnlgCrdnAmt += 10000; - } - - amt[0] = ffnlgCrdnAmt; - amt[1] = (int)(ffnlgCrdnAmt * 0.8); - - } else if(taskSeCd.equals("BPV")) { - - query.setAmtDcsnCdGroupId("FIM056"); - if(Arrays.asList(CAR_GROUP1).contains(ffnlgCarmdlCd)) { - query.setAmtDcsnCd("01"); - } - if(Arrays.asList(CAR_GROUP2).contains(ffnlgCarmdlCd)) { - query.setAmtDcsnCd("02"); - } - if(Arrays.asList(CAR_GROUP3).contains(ffnlgCarmdlCd)) { - query.setAmtDcsnCd("03"); - } - - int ffnlgCrdnAmt = Integer.parseInt(ifEmpty(crdnStngMapper.selectBasicAmt(query), () -> "0")); - amt[0] = ffnlgCrdnAmt; - amt[1] = ffnlgCrdnAmt; - - } else if(taskSeCd.equals("DPV")) { - - query.setAmtDcsnCdGroupId("FIM006"); - query.setAmtDcsnCd(crdn.getVltnCd()); - - int ffnlgCrdnAmt = Integer.parseInt(ifEmpty(crdnStngMapper.selectBasicAmt(query), () -> "0")); - amt[0] = ffnlgCrdnAmt; - amt[1] = (int)(ffnlgCrdnAmt * 0.8); - - } else if(taskSeCd.equals("ECA")) { - - query.setAmtDcsnCdGroupId("FIM061"); - query.setAmtDcsnCd(crdn.getVltnCd()); - - int ffnlgCrdnAmt = Integer.parseInt(ifEmpty(crdnStngMapper.selectBasicAmt(query), () -> "0")); - amt[0] = ffnlgCrdnAmt; - amt[1] = (int)(ffnlgCrdnAmt * 0.8); - - } else if(taskSeCd.equals("PES")) { - - query.setAmtDcsnCdGroupId("FIM057"); - - if(ffnlgCarmdlCd.equals("21")) { - query.setAmtDcsnCd("01"); - query.setDtlAmtDcsnGroupId("FIM059"); - - String vltnNmtm = crdn.getVltnNmtm(); - if(vltnNmtm == null || vltnNmtm.equals("") || vltnNmtm.equals("0") || vltnNmtm.equals("1")) { - query.setDtlAmtDcsnCd("01"); - } else if(vltnNmtm.equals("2")) { - query.setDtlAmtDcsnCd("02"); - } else { - query.setDtlAmtDcsnCd("03"); - } - } - - - if(ffnlgCarmdlCd.equals("13") || ffnlgCarmdlCd.equals("14")) { - query.setAmtDcsnCd("02"); - query.setDtlAmtDcsnGroupId("FIM058"); - //query.setDtlAmtDcsnCd(업종); // TODO : 차주 업종 - } - ; - - int ffnlgCrdnAmt = Integer.parseInt(ifEmpty(crdnStngMapper.selectBasicAmt(query), () -> "0")); - amt[0] = ffnlgCrdnAmt; - boolean isPenaltyAmt = (crdn.getFfnlgCarmdlCd().equals("13") || crdn.getFfnlgCarmdlCd().equals("14")); //과징금 - if(isPenaltyAmt) { - amt[1] = (ffnlgCrdnAmt); - } else { - amt[1] = (int)(ffnlgCrdnAmt * 0.8); - } - - } - - return amt; - } - - /** 차량번호로 렌트카 여부를 확인한다. - * @param vhrno 차량번호 - * @return 렌트카 여부 - */ - public boolean isRent(String vhrno) { - int len = vhrno.length(); - if(len >= 7) { - - String fifthFromLast = vhrno.substring(len-5, len-4); - - if(fifthFromLast.equals("하") - || fifthFromLast.equals("허") - || fifthFromLast.equals("호") - || fifthFromLast.equals("후")) { - return true; - } - } - - return false; - } - - /** 차종과 차량번호로 영업용 차량 여부를 확인한다. - * @param ffnlgCarmdlCd 차종, vhrno 차량번호 - * @return 영업용 차량 여부 판단 결과 - */ - public String getBusinessYnOfCar(String ffnlgCarmdlCd, String vhrno) { - - if(vhrno.equals("")) { - return "차량번호없음"; - } - if(ffnlgCarmdlCd.equals("") || ffnlgCarmdlCd.equals("31")) { - return "판단불가"; - } - - if(vhrno.contains("바") || vhrno.contains("사") || vhrno.contains("아") || vhrno.contains("자")) { - return "영업용"; - } else { - return "비영업용"; - } - - } - - /** 차량번호로 차량구분을 판단한다. - * @param vhrno 차량번호 - * @return 영업용 차량 여부 판단 결과 - */ - public String getCarGb(String vhrno) { - - if(vhrno.equals("")) { - return "차량번호 없음"; - } - - boolean first3isNumber = CmmnUtil.isNumeric(vhrno.substring(0, 3)); - if(first3isNumber) { - int first3 = Integer.parseInt(vhrno.substring(0, 3)); - if(first3 >= 0 && first3 <= 99) { - return "중기"; - } else if(first3 >= 100 && first3 <= 997) { - return "일반"; - } else if(first3 >= 998 && first3 <= 999) { - return "기타"; - } - } - - if(!(this.getHeavyEquipmentCarkind(vhrno).equals(""))) { - return "중기"; - } - - if(vhrno.contains("외교")) { - return "외교"; - } - if(vhrno.contains("준외")) { - return "준외"; - } - if(vhrno.contains("영사")) { - return "영사"; - } - if(vhrno.contains("준영")) { - return "준영"; - } - - if(vhrno.contains("국기") || vhrno.contains("협정") || vhrno.contains("대표") || vhrno.contains("외빈")) { - return "국제"; - } - - if(vhrno.substring(0,1).equals("임")) { - return "임시"; - } - - if(vhrno.length() == 7 - && vhrno.substring(0, 3).equals("16다") - && CmmnUtil.isNumeric(vhrno.substring(3, 7))) { - return "미군"; - } - - if(vhrno.length() == 10 - && this.isBiefSidoName(vhrno.substring(0, 2)) - && CmmnUtil.isNumeric(vhrno.substring(2, 5)) - && vhrno.substring(5, 6).equals("-") - && CmmnUtil.isNumeric(vhrno.substring(6, 10))) { - return "미군"; - } - - int vhrnoLength = vhrno.length(); - - if(this.isBiefSidoName(vhrno.substring(0, 2))) { - - //서울 0 가 0000 - //서울 00 가 0000 - //서울 중 가 0000 - //서울 마포 가 0000 - //서울 영등포 가 0000 - - if(vhrnoLength >= 8 && vhrnoLength <= 10) { - - String suffix1 = vhrno.substring(vhrnoLength-5, vhrnoLength-4); - String suffix2 = vhrno.substring(vhrnoLength-4); - - String middle = vhrno.substring(2, vhrnoLength-5); - - if(CmmnUtil.isKorean(suffix1) && CmmnUtil.isNumeric(suffix2)) { - - if(CmmnUtil.isNumeric(middle) && (middle.length() == 1 || middle.length() == 2)) { - return "일반"; - } - if(CmmnUtil.isKorean(middle) && (middle.length() >= 1 && middle.length() <= 3)) { - return "일반"; - } - } - } - - } else { - - //00가0000 - if(vhrnoLength == 7 - && CmmnUtil.isNumeric(vhrno.substring(0, 2)) - && CmmnUtil.isKorean(vhrno.substring(2, 3)) - && CmmnUtil.isNumeric(vhrno.substring(3, 7))) { - return "일반"; - } - } - - return "판단불가"; - } - - - - public String getHeavyEquipmentCarkind(String vhrno) { - - - - if(this.isBiefSidoName(vhrno.substring(0, 2)) - && CmmnUtil.isKorean(vhrno.substring(4, 5)) - && CmmnUtil.isNumeric(vhrno.substring(5, 9)) - ) { - switch(vhrno.substring(2, 4)) { - case "01" : return "불도저"; - case "02" : return "굴삭기"; - case "03" : return "로더"; - case "04" : return "지게차"; - case "05" : return "스크레이퍼"; - case "06" : return "덤프트럭"; - case "07" : return "기중기"; - case "08" : return "콘크리트믹서트럭"; - case "14" : - if(!vhrno.substring(4,5).equals("허")) { - return "콘크리트믹서트럭"; - } - } - - switch(vhrno.substring(2, 5)) { - case "26거" : return "도로보수트럭"; - case "26너" : return "노면파쇄기"; - case "26버" : return "터널고소용자동차"; - case "26어" : return "수목이식기"; - } - - } - - return ""; - } - - public boolean isBiefSidoName(String str) { - - String[] sidoNames = { - "서울","대전","대구","부산","광주","인천","울산","세종", - "경기","강원","충북","충남","전북","전남","경북","경남","제주" - }; - - if(Arrays.asList(sidoNames).contains(str)) { - return true; - } else { - return false; - } - - } - - /** 연계파일 레이아웃 목록을 조회한다. - * @param query 연계파일 레이아웃 조회조건 - * @return 연계파일 레이아웃 목록 - */ - public List getLinkFileLayoutMetadataList(CrdnQuery query) { - query.setOrderBy("FILE_LAYOUT_ID"); - return crdnStngMapper.selectLinkFileLayoutMetadataList(query); - } - - /** 연계파일 레이아웃 상세정보를 조회한다. - * @param fileLayoutId 파일 레이아웃 ID - * @return 연계파일 레이아웃 상세정보 - */ - public DataObject getLinkFileLayoutMetadataInfo(String fileLayoutId) { - return crdnStngMapper.selectLinkFileLayoutMetadataInfo(fileLayoutId); - } - - /**장비단속파일 레이아웃 정보를 등록한다. - * @param layoutDescriptor 레이아웃 정보, remoteSystemInfo 파일연계 원격시스템 정보 - * @return 저장 여부 - *
    • 저장됐으면 true
    • - *
    • 그렇지 않으면 false
    • - *
    - */ - public boolean createLinkFileLayoutMetadata(LayoutDescriptor layoutDescriptor, RemoteSystemInfo remoteSystemInfo) { - DataObject params = new DataObject(); - params.set("currentUser", currentUser()); - params.set("layoutDescriptor", layoutDescriptor); - params.set("remoteSystemInfo", remoteSystemInfo); - - int effected = 0; - effected += crdnStngMapper.insertCrdnFileLayout(params); - effected += crdnStngMapper.insertFtpInfo(params); - if(effected != 2) { - throw new RuntimeException("[F]레이아웃 등록 중 오류가 발생하였습니다."); - } - return true; - } - - /**장비단속파일 레이아웃 정보를 수정한다. - * @param layoutDescriptor 레이아웃 정보, remoteSystemInfo 파일연계 원격시스템 정보 - * @return 저장 여부 - *
    • 저장됐으면 true
    • - *
    • 그렇지 않으면 false
    • - *
    - */ - public boolean updateLinkFileLayoutMetadata(LayoutDescriptor layoutDescriptor, RemoteSystemInfo remoteSystemInfo) { - DataObject params = new DataObject(); - params.set("currentUser", currentUser()); - params.set("layoutDescriptor", layoutDescriptor); - params.set("remoteSystemInfo", remoteSystemInfo); - - int effected = 0; - effected += crdnStngMapper.updateCrdnFileLayout(params); - - DataObject remoteInfo = crdnStngMapper.selectRemoteInfo(layoutDescriptor.getFileLayoutId()); - if(remoteInfo == null) { - effected += crdnStngMapper.insertFtpInfo(params); - } else { - effected += crdnStngMapper.updateFtpInfo(params); - } - - if(effected != 2) { - throw new RuntimeException("[F]레이아웃 수정 중 오류가 발생하였습니다."); - } - return true; - } - - /**장비단속파일 레이아웃 정보를 삭제한다. - * @param fileLayoutId 파일 레이아웃 ID - * @return 저장 여부 - *
    • 저장됐으면 true
    • - *
    • 그렇지 않으면 false
    • - *
    - */ - public boolean removeLinkFileLayoutMetadata(String fileLayoutId) { - DataObject params = new DataObject(); - params.set("currentUser", currentUser()); - params.set("fileLayoutId", fileLayoutId); - int effected = crdnStngMapper.deleteCrdnFileLayout(params); - if(effected != 1) { - return false; - } - return true; - } - - /** 연계파일 레이아웃 엔티티 목록을 조회한다. - * @param query 연계파일 레이아웃 조회조건 - * @return 연계파일 레이아웃 정보 - */ - public List getLinkFileLayoutMetadata(CrdnQuery query) { - return crdnStngMapper.selectLinkFileLayoutMetadata(query); - } - - public LayoutDescriptor getLinkFileLayoutMetadata(String fileLayoutId) { - CrdnQuery query = new CrdnQuery(); - query.setFileLayoutId(fileLayoutId); - List list = crdnStngMapper.selectLinkFileLayoutMetadata(query); - return list == null ? null : list.get(0); - } - - /**단속팀 목록을 조회한다. - * @param query 단속팀 목록 조회조건 - * @return 단속팀 목록 - */ - public List selectTeamList(CrdnQuery query){ - return crdnTeamMapper.selectTeamList(query); - } - - /**비사용 단속팀 목록을 조회한다. - * @param query 비사용 단속팀 목록 조회조건 - * @return 비사용 단속팀 목록 - */ - public List selectRemovedTeamList(CrdnQuery query) { - return crdnTeamMapper.selectRemovedTeamList(query); - } - - /**단속팀 정보를 삭제한다. - * @param teamId 단속팀 ID - * @return 저장 여부 - *
    • 저장됐으면 true
    • - *
    • 그렇지 않으면 false
    • - *
    - */ - public boolean removeTeamInfo(String teamId) { - - Team team = new Team(); - team.setTeamId(teamId); - team.setRemovedBy(currentUser().getId()); - return crdnTeamMapper.deleteTeamInfo(team) == 1 ? true : false; - } - - /**단속팀 정보를 저장한다. - * @param fromInsertCrdn 단속정보 입력 프로세스에서 호출하였는지 여부, teamId 단속팀 ID - * @return 저장 여부 - *
    • 저장됐으면 true
    • - *
    • 그렇지 않으면 false
    • - *
    - */ - public boolean saveTeamInfo(boolean fromInsertCrdn, Team team) { - DataObject teamInfo = crdnTeamMapper.selectTeamInfoByName(team); - - boolean result = false; - - if(teamInfo != null) { - boolean differ = false; - if(!ifEmpty(team.getCrdnSeCd(), () -> "").equals(teamInfo.string("CRDN_SE_CD"))) { - differ = true; - } - if(!ifEmpty(team.getTeamer1(), () -> "").equals(teamInfo.string("TEAMER_1"))) { - differ = true; - } - if(!ifEmpty(team.getTeamer2(), () -> "").equals(teamInfo.string("TEAMER_2"))) { - differ = true; - } - if(!ifEmpty(team.getTeamer3(), () -> "").equals(teamInfo.string("TEAMER_3"))) { - differ = true; - } - if(!ifEmpty(team.getTeamer4(), () -> "").equals(teamInfo.string("TEAMER_4"))) { - differ = true; - } - - if(differ) { - Team del = new Team(); - del.setTeamId(teamInfo.string("TEAM_ID")); - del.setRemovedBy(currentUser().getId()); - crdnTeamMapper.deleteTeamInfo(del); - - result = crdnTeamMapper.insertTeamInfo(team) == 1 ? true : false; - } else { - if(!fromInsertCrdn) { - team.setTeamId(teamInfo.string("TEAM_ID")); - result = crdnTeamMapper.updateTeamInfo(team) == 1 ? true : false; - } - } - } else { - result = crdnTeamMapper.insertTeamInfo(team) == 1 ? true : false; - } - - return result; - } - - /**단속팀 정보를 조회한다. - * @param teamId 단속팀 ID - * @return 단속팀 정보 - */ - public DataObject selectTeamInfo(String teamId) { - return crdnTeamMapper.selectTeamInfo(teamId); - } - - /**면제차량 목록을 조회한다. - * @param query 면제차량 목록 조회조건 - * @return 면제차량 목록 - */ - public List selectExemptionVehicleList(CrdnQuery query) { - return exmptnVhclMapper.selectExemptionVehicleList(query); - } - - /**면제차량 정보를 조회한다. - * @param exemptionVehicleId 면제차량 ID - * @return 면제차량 정보 - */ - public DataObject getExemptionVehicleInfo(String exemptionVehicleId) { - return exmptnVhclMapper.selectExemptionVehicleInfo(exemptionVehicleId); - } - - /**면제차량 정보를 등록한다. - * @param exmptnVhcl 면제차량 정보 - * @return 저장 여부 - *
    • 저장됐으면 true
    • - *
    • 그렇지 않으면 false
    • - *
    - */ - public boolean createExemptionVehicleInfo(ExmptnVhcl exmptnVhcl) { - if(exmptnVhclMapper.insertExemptionVehicleInfo(exmptnVhcl) != 1) { - return false; - } - - return exmptnVhclMapper.insertExemptionVehicleHistory(exmptnVhcl) == 1 ? true : false; - } - - /**면제차량 정보를 수정한다. - * @param exmptnVhcl 면제차량 정보 - * @return 저장 여부 - *
    • 저장됐으면 true
    • - *
    • 그렇지 않으면 false
    • - *
    - */ - public boolean updateExemptionVehicleInfo(ExmptnVhcl exmptnVhcl) { - if(exmptnVhclMapper.updateExemptionVehicleInfo(exmptnVhcl) != 1) { - return false; - } - - return exmptnVhclMapper.insertExemptionVehicleHistory(exmptnVhcl) == 1 ? true : false; - } - - /**면제차량 정보를 삭제한다. - * @param exmptnVhcl 면제차량 정보 - * @return 저장 여부 - *
    • 저장됐으면 true
    • - *
    • 그렇지 않으면 false
    • - *
    - */ - public boolean removeExemptionVehicleInfo(ExmptnVhcl exmptnVhcl) { - exmptnVhcl.setRemovedBy(currentUser().getId()); - if(exmptnVhclMapper.deleteExemptionVehicleInfo(exmptnVhcl) != 1) { - return false; - } - - return exmptnVhclMapper.insertExemptionVehicleHistory(exmptnVhcl) == 1 ? true : false; - } - - public List getExemptionVehicleHistoryList(String exmptnVhclId) { - return exmptnVhclMapper.selectExemptionVehicleHistoryList(exmptnVhclId); - } - -} diff --git a/src/main/java/cokr/xit/fims/crdn/service/bean/CrdnStngServiceBean.java b/src/main/java/cokr/xit/fims/crdn/service/bean/CrdnStngServiceBean.java deleted file mode 100644 index 2a2fc13d..00000000 --- a/src/main/java/cokr/xit/fims/crdn/service/bean/CrdnStngServiceBean.java +++ /dev/null @@ -1,130 +0,0 @@ -package cokr.xit.fims.crdn.service.bean; - -import java.util.List; - -import javax.annotation.Resource; - -import org.springframework.stereotype.Service; - -import cokr.xit.fims.cmmn.ftp.RemoteSystemInfo; -import cokr.xit.fims.crdn.CrdnQuery; -import cokr.xit.fims.crdn.ExmptnVhcl; -import cokr.xit.fims.crdn.Team; -import cokr.xit.fims.crdn.receive.eqpmnt.LayoutDescriptor; -import cokr.xit.fims.crdn.service.CrdnStngService; -import cokr.xit.foundation.component.AbstractServiceBean; -import cokr.xit.foundation.data.DataObject; - -@Service("crdnStngService") -public class CrdnStngServiceBean extends AbstractServiceBean implements CrdnStngService { - - @Resource(name="crdnStngBean") - protected CrdnStngBean crdnStngBean; - - @Override - public List getLinkFileLayoutMetadataList(CrdnQuery query) { - return crdnStngBean.getLinkFileLayoutMetadataList(query); - } - - @Override - public DataObject getLinkFileLayoutMetadataInfo(String fileLayoutId) { - return crdnStngBean.getLinkFileLayoutMetadataInfo(fileLayoutId); - } - - @Override - public String createLinkFileLayoutMetadata(LayoutDescriptor layoutDescriptor, RemoteSystemInfo remoteSystemInfo) { - return crdnStngBean.createLinkFileLayoutMetadata(layoutDescriptor, remoteSystemInfo) ? "[S]" : "[F]"; - } - - @Override - public String updateLinkFileLayoutMetadata(LayoutDescriptor layoutDescriptor, RemoteSystemInfo remoteSystemInfo) { - return crdnStngBean.updateLinkFileLayoutMetadata(layoutDescriptor, remoteSystemInfo) ? "[S]" : "[F]"; - } - - @Override - public String removeLinkFileLayoutMetadata(String fileLayoutId) { - return crdnStngBean.removeLinkFileLayoutMetadata(fileLayoutId) ? "[S]" : "[F]"; - } - - @Override - public List getLinkFileLayoutMetadata(String sggCd, String taskSeCd, String instCd, String deptCd) { - CrdnQuery query = new CrdnQuery(); - query.setSggCd(sggCd); - query.setTaskSeCd(taskSeCd); - query.setInstCd(instCd); - query.setDeptCd(deptCd); - return crdnStngBean.getLinkFileLayoutMetadata(query); - } - - @Override - public List getTeamList(CrdnQuery query) { - return crdnStngBean.selectTeamList(query); - } - - @Override - public List getRemovedTeamList(CrdnQuery query) { - return crdnStngBean.selectRemovedTeamList(query); - } - - @Override - public String removeTeamInfo(String teamId) { - return crdnStngBean.removeTeamInfo(teamId) ? "[S]" : "[F]"; - } - - - @Override - public String saveTeamInfo(Team team) { - return crdnStngBean.saveTeamInfo(false, team) ? "[S]" : "[F]"; - } - - @Override - public DataObject getTeamInfo(String teamId) { - return crdnStngBean.selectTeamInfo(teamId); - } - - @Override - public List getExemptionVehicleList(CrdnQuery query) { - return crdnStngBean.selectExemptionVehicleList(query); - } - - @Override - public DataObject getExemptionVehicleInfo(String exemptionVehicleId) { - return crdnStngBean.getExemptionVehicleInfo(exemptionVehicleId); - } - - @Override - public String createExemptionVehicleInfo(ExmptnVhcl exmptnVhcl) { - boolean result = crdnStngBean.createExemptionVehicleInfo(exmptnVhcl); - if(result) { - return "[S]"; - } else { - return "[F]"; - } - } - - @Override - public String updateExemptionVehicleInfo(ExmptnVhcl exmptnVhcl) { - boolean result = crdnStngBean.updateExemptionVehicleInfo(exmptnVhcl); - if(result) { - return "[S]"; - } else { - return "[F]"; - } - } - - @Override - public String removeExemptionVehicleInfo(ExmptnVhcl exmptnVhcl) { - boolean result = crdnStngBean.removeExemptionVehicleInfo(exmptnVhcl); - if(result) { - return "[S]"; - } else { - return "[F]"; - } - } - - @Override - public List getExemptionVehicleHistoryList(String exmptnVhclId) { - return crdnStngBean.getExemptionVehicleHistoryList(exmptnVhclId); - } - -} diff --git a/src/main/java/cokr/xit/fims/crdn/service/bean/ImportBean.java b/src/main/java/cokr/xit/fims/crdn/service/bean/ImportBean.java deleted file mode 100644 index b931fea3..00000000 --- a/src/main/java/cokr/xit/fims/crdn/service/bean/ImportBean.java +++ /dev/null @@ -1,286 +0,0 @@ -package cokr.xit.fims.crdn.service.bean; - -import java.util.Collections; -import java.util.Date; -import java.util.List; -import java.util.Map; -import java.util.function.BiFunction; -import java.util.function.UnaryOperator; -import java.util.stream.Collectors; - -import javax.annotation.Resource; - -import org.springframework.stereotype.Component; - -import cokr.xit.fims.crdn.Crdn; -import cokr.xit.fims.crdn.dao.ImportMapper; -import cokr.xit.fims.cvlc.CrdnCvlcpt; -import cokr.xit.fims.cvlc.dao.CrdnCvlcptMapper; -import cokr.xit.fims.payer.Payer; -import cokr.xit.fims.payer.service.bean.PayerBean; -import cokr.xit.foundation.component.AbstractBean; -import cokr.xit.foundation.data.DataObject; -import cokr.xit.foundation.util.DateFormats; -import cokr.xit.interfaces.lvis.service.bean.VehicleInfoBean; -import cokr.xit.interfaces.lvis.service.reg.BasicInfoRequest; -import cokr.xit.interfaces.lvis.service.reg.BasicInfoResponse; -import cokr.xit.interfaces.smg.Petition; -import cokr.xit.interfaces.smg.dao.SmgMapper; - -/**외부연계 파일에서 단속자료를 등록하는 Bean - * @author mjkhan - */ -@Component("importBean") -public class ImportBean extends AbstractBean { - @Resource(name = "importMapper") - private ImportMapper importMapper; - @Resource(name = "smgMapper") - private SmgMapper smgMapper; - @Resource(name = "crdnCvlcptMapper") - private CrdnCvlcptMapper cvlcptMapper; - @Resource(name = "vehicleInfoBean") - private VehicleInfoBean vehicleInfoBean; - @Resource(name = "payerBean") - private PayerBean payerBean; - - /**국민신문고 민원파일에서 단속자료를 추출하여 등록한다. - * @param interfaceSequences 외부연계 키 - * @return 저장된 정보수 - */ - public List createCrdns(List petitions) { - if (isEmpty(petitions)) return Collections.emptyList(); - - Map - ssgs = getSSGs(petitions), - carModels = importMapper.selectCarMdl(); - List crdns = create(petitions, ssgs); - - BiFunction getCarModel = (vhctyAsortCd, mxmmLdg) -> { - if (isEmpty(vhctyAsortCd)) return null; - - if ("3".equals(vhctyAsortCd)) { - int weight = toInt(mxmmLdg); - if (weight < 1) return null; - - vhctyAsortCd = weight <= 4000 ? "3-1" : "3-2"; - } - return carModels.get(vhctyAsortCd); - }; - setVehicleInfo(crdns, getCarModel); - return crdns; - } - - /**민원의 기관코드, 부서코드를 조건으로 시군구 코드를 조회한다. - * @param petitions 국민신문고 민원 - * @return 기관코드, 부서코드별 시군구 코드("기관코드-부서코드", "시군구코드") - */ - private Map getSSGs(List petitions) { - List - institutes = petitions.stream().map(petition -> petition.getPcdAncCodeV()).toList(), - depts = petitions.stream().map(petition -> petition.getPcdDeptV()).toList(); - return importMapper.selectSggs(institutes, depts); - } - - /**국민신문고 민원에서 단속자료를 생성하여 반환한다. - * @param petitions 국민신문고 민원 - * @param sggs 시군구코드 - * @return 단속자료 목록 - */ - private List create(List petitions, Map sggs) { - Petition.Violation violation = new Petition.Violation(); - DateFormats dateFormats = new DateFormats(); - - return petitions.stream() - .flatMap(petition -> { - violation - .setTitle(petition.getPetiTitleV()) - .setReason(petition.getPetiReasonL()); - - List> vehicleNoDatetimes = violation.getVehicleNoDatetimes(); - - //민원내용으로부터 차량번호와 단속일시를 추출하지 못했을 때 - if(vehicleNoDatetimes.size() == 0) { - vehicleNoDatetimes.add(Map.of( - "datetime", petition.getPetiRegD().replaceAll("[-: ]", ""), - "vehicleNo", "" - )); - } - - Map>> byVehicleNo = vehicleNoDatetimes.stream() - .collect(Collectors.groupingBy(map -> map.get("vehicleNo"))); //차량번호별 단속정보 - - List vehicleNos = List.copyOf(byVehicleNo.keySet()); - - DataObject codes = importMapper.selectViolationCodes(petition.getPetiTitleV() + " " + petition.getPetiReasonL()); - String - taskCode = codes.string("TASK_CD"), - violationCode = codes.string("VLTN_CD"); - - return byVehicleNo.entrySet().stream() - .map(entry -> { - String vehicleNo = entry.getKey(); - boolean first = vehicleNos.indexOf(vehicleNo) < 1; - Crdn crdn = new Crdn(); - - String instDept = petition.getPcdAncCodeV() + "-" + petition.getPcdDeptV(), - sgg = sggs.get(instDept); - crdn.setSggCd(sgg); - crdn.setTaskSeCd(taskCode); - - crdn.setCrdnRegSeCd(first ? "02" : "04"); // 첫번째면 자동등록, 아니면 복사등록 (FIM026) - crdn.setCrdnInptSeCd("14"); // 국민신문고 연계 (FIM003) - - crdn.setLinkTblNm("TB_ESB_INTERFACE"); - crdn.setLinkId(petition.getInterfaceSeqN()); - - //crdn.setCrdnSeCd(null); // petition.getPetiPathGubunC() -> FIMS 코드로 변경 - - crdn.setVhrno(vehicleNo); //차량번호 - List> datetimes = entry.getValue(); - String str = datetimes.get(datetimes.size() - 1).get("datetime"); //해당 차량의 마지막 날짜시간 - Date datetime = dateFormats.parse("yyyyMMddHHmmss", str); - crdn.setCrdnYmd(dateFormats.format("yyyyMMdd", datetime)); //단속일자 - String time = dateFormats.format("HHmmss", datetime); - crdn.setCrdnTm(time); //단속시간 - crdn.setCrdnBgngTm(time); - - String location = violation.getLocation(); //단속장소 - crdn.setCrdnStdgNm(violation.getDong(location)); - crdn.setCrdnPlc(location); - crdn.setDtlCrdnPlc(null); - - crdn.setTeamId(null); - crdn.setCrdnSpareaCd("00"); - crdn.setCrdnBgngTm(null); - crdn.setCrdnEndTm(null); - crdn.setCrdnSn(null); - - Map coordinates = violation.getCoordinates(); - crdn.setGpsX(coordinates.get("latitude")); - crdn.setGpsY(coordinates.get("longitude")); - - crdn.setTowngYn("N"); - crdn.setPrkPsbltyRsltCd("0"); - crdn.setOvtmYn("N"); - crdn.setOpnnSbmsnYn("N"); - crdn.setCrdnSttsCd("01"); - crdn.setVltnCd(violationCode); - crdn.setAtchFileCnt(petition.getAttachmentCount()); - return crdn; - }); - }) - .toList(); - } - - /**단속 정보에 차량 정보를 설정한다. - * @param crdns - * @param basicInfoMap - */ - public void setVehicleInfo(List crdns) { - Map carModelMap = importMapper.selectCarMdl(); - BiFunction getCarModel = (vhctyAsortCd, mxmmLdg) -> { - if (isEmpty(vhctyAsortCd)) return null; - - if ("3".equals(vhctyAsortCd)) { - int weight = toInt(mxmmLdg); - if (weight < 1) return null; - - vhctyAsortCd = weight <= 4000 ? "3-1" : "3-2"; - } - return carModelMap.get(vhctyAsortCd); - }; - - setVehicleInfo(crdns, getCarModel); - } - - /**단속 정보에 차량 정보를 설정한다. - * @param crdns - * @param basicInfoMap - */ - private void setVehicleInfo(List crdns, BiFunction getCarModel) { - List reqs = crdns.stream() - .filter(crdn -> !isEmpty(crdn.getVhrno())) - .map(crdn -> { - BasicInfoRequest req = new BasicInfoRequest(); - req.setLevy_stdde(crdn.getCrdnYmd()); - req.setVhrno(crdn.getVhrno()); - req.setSggCd(crdn.getSggCd()); - return req; - }).toList(); - Map payers = payerBean.getVehicleOwners(reqs).stream() - .collect(Collectors.toMap(payer -> payer.getVhrno(), payer -> payer)); - - crdns.forEach(crdn -> { - Payer payer = payers.get(crdn.getVhrno()); - if (payer == null) return; - - BasicInfoResponse.BasicInfo vehicle = payer.getVehicleInfo(); - crdn.setSggCd(payer.getSggCd()); // 시군구 데이터 정리되면 지울 것 - if(ifEmpty(vehicle.getErsr_regist_de(), () -> "").equals("")) { - crdn.setRtpyrId(""); - } else { - crdn.setRtpyrId(payer.getRtpyrId()); - } - crdn.setVin(vehicle.getVin()); - crdn.setVhclNm(vehicle.getCnm()); - crdn.setVhclColr(vehicle.getColor_nm()); - crdn.setUseFuelCd(vehicle.getUse_fuel_code()); - crdn.setFfnlgCarmdlCd(getCarModel.apply(vehicle.getVhcty_asort_code(), vehicle.getMxmm_ldg())); - crdn.setErsrRegYmd(vehicle.getErsr_regist_de()); - }); - } - - public int createCvlcpts(List petitions) { - int affected = 0; - UnaryOperator parseDate = str -> { - return str == null ? null : - str.replace("-", "") - .replace(":", "") - .replace(" ", ""); - }; - Petition.Violation violation = new Petition.Violation(); - for (Petition petition: petitions) { - violation.setTitle(petition.getPetiTitleV()).setReason(petition.getPetiReasonL()); - CrdnCvlcpt cvlcpt = new CrdnCvlcpt(); - - cvlcpt.setCvlcptLinkId(petition.getInterfaceSeqN()); - cvlcpt.setDstrbncYn("N"); - String rcptYmd = parseDate.apply(petition.getAncRegD()); - if (rcptYmd != null && rcptYmd.length() >= 8) - cvlcpt.setCvlcptRcptYmd(rcptYmd.substring(0, 8)); - - String cvlcptAplySeCd = ""; - String petiAncCodeV = petition.getPetiAncCodeV(); - - if(petiAncCodeV.equals("1741000")) //행정안전부 - cvlcptAplySeCd = "120"; //안전신문고 - else if(petiAncCodeV.equals("1140100")) //국민권익위원회 - cvlcptAplySeCd = "183"; //국민신문고 - else if(petiAncCodeV.equals("1320000")) //경찰청 - cvlcptAplySeCd = "130"; //경찰청 - else - cvlcptAplySeCd = "181"; //기타 - - cvlcpt.setCvlcptAplySeCd(cvlcptAplySeCd); - - cvlcpt.setCvlcptAplyNo(petition.getPetiNoC()); - cvlcpt.setCvlcptRcptNo(petition.getCivilNoC()); - cvlcpt.setCvlcptListNo(null); //민원 목록 번호 - cvlcpt.setCvlcptAplcntNm(petition.getPeterNameV()); - cvlcpt.setCvlcptAplyDt(parseDate.apply(petition.getPetiRegD())); - cvlcpt.setCvlcptAplyTtlNm(petition.getPetiTitleV()); - cvlcpt.setCvlcptAplyCn(petition.getPetiReasonL()); - cvlcpt.setCvlcptGist(petition.getCivilGistV()); - cvlcpt.setCvlcptPrcsPicNm(petition.getDutyIdV()); - cvlcpt.setCvlcptPrcsPrnmntDt(parseDate.apply(petition.getPetiEndD())); - cvlcpt.setCvlcptPrcsCd(null);; // 민원 처리 코드 - cvlcpt.setCvlcptPrcsSmry(petition.getCivilAbstractL()); - cvlcpt.setCvlcptPrcsRsltCn(petition.getPcdRstContL()); - cvlcpt.setCvlcptPrcsCmptnDt(parseDate.apply(petition.getDoRegD())); - cvlcpt.setCvlcptPrcsPic(petition.getDutyIdV()); - cvlcptMapper.insertCvlcpt(cvlcpt); - } - - return affected; - } -} \ No newline at end of file diff --git a/src/main/java/cokr/xit/fims/crdn/service/bean/ImportServiceBean.java b/src/main/java/cokr/xit/fims/crdn/service/bean/ImportServiceBean.java deleted file mode 100644 index 5b00c049..00000000 --- a/src/main/java/cokr/xit/fims/crdn/service/bean/ImportServiceBean.java +++ /dev/null @@ -1,343 +0,0 @@ -package cokr.xit.fims.crdn.service.bean; - -import java.io.File; -import java.math.BigInteger; -import java.util.ArrayList; -import java.util.Comparator; -import java.util.HashMap; -import java.util.List; -import java.util.Map; -import java.util.stream.Collectors; - -import javax.annotation.Resource; - -import org.apache.commons.io.FilenameUtils; -import org.springframework.stereotype.Service; - -import cokr.xit.base.file.FileInfo; -import cokr.xit.base.file.service.bean.FileBean; -import cokr.xit.base.file.web.FileInfoFactory; -import cokr.xit.base.user.dao.UserMapper; -import cokr.xit.fims.base.FimsUser; -import cokr.xit.fims.cmmn.CmmnUtil; -import cokr.xit.fims.crdn.Crdn; -import cokr.xit.fims.crdn.Team; -import cokr.xit.fims.crdn.dao.CrdnTeamMapper; -import cokr.xit.fims.crdn.receive.eqpmnt.SingleFileParser; -import cokr.xit.fims.crdn.service.CrdnService; -import cokr.xit.fims.crdn.service.ImportService; -import cokr.xit.foundation.component.AbstractServiceBean; -import cokr.xit.foundation.data.DataObject; -import cokr.xit.interfaces.smg.Petition; -import cokr.xit.interfaces.smg.service.bean.SmgReceiverBean; - -/**외부 연계 파일에서 단속자료를 추출하여 등록하는 서비스의 구현체 - * @author mjkhan - */ -@Service("importService") -public class ImportServiceBean extends AbstractServiceBean implements ImportService { - @Resource(name = "smgReceiverBean") - private SmgReceiverBean smgBean; - @Resource(name = "importBean") - private ImportBean importBean; - @Resource(name = "fileBean") - private FileBean fileBean; - @Resource(name = "crdnService") - private CrdnService crdnService; - @Resource(name = "crdnBean") - private CrdnBean crdnBean; - - @Resource(name="userMapper") - protected UserMapper userMapper; - @Resource(name = "crdnTeamMapper") - private CrdnTeamMapper crdnTeamMapper; - - @Override - public int createCrdns(List interfaceSequences) { - List petitions = smgBean.getPetitions(interfaceSequences); - List crdns = importBean.createCrdns(petitions); - if (crdns.isEmpty()) return 0; - - List intfSeqs = crdns.stream().map(Crdn::getLinkId).toList(); - - List smgFileInfoList = fileBean.getFilesOf("010", intfSeqs.toArray(new String[intfSeqs.size()])); - Map> byInfoKey = smgFileInfoList.stream().collect(Collectors.groupingBy(FileInfo::getInfoKey)); - - for (Crdn crdn: crdns) { - List files = byInfoKey.get(crdn.getLinkId()); - - files.removeIf(item -> item.getMimeType().startsWith("video")); - - for(FileInfo file : files) { - file.setInputStream(file.getInputStream()); //신규 인풋스트림 생성 - file.setUrl(""); //인터페이스 첨부파일정보 제거 - file.setPath(""); //국민신문고 첨부파일정보 제거 - } - - crdn.setCvlcptLinkYn("Y"); - crdnBean.create(null, crdn, files); - } - - importBean.createCvlcpts(petitions); - - return 0; - } - - @Override - public HashMap createCrdnByEquipmentLinkFile(Map processInfo, List linkFileInfoList) { - HashMap resultMap = new HashMap<>(); - boolean saved = false; - String workPath = processInfo.get("workPath"); - String taskSeCd = processInfo.get("taskSeCd"); - - String fileGroupType = processInfo.get("fileGroupType"); - - Crdn crdn = new Crdn(); - crdn.setCrdnRegSeCd("07"); - crdn.setTaskSeCd(taskSeCd); - FimsUser currentUser = (FimsUser) currentUser().getUser(); - crdn.setSggCd(currentUser.getOrgID()); - Map dividedInfo = this.divideInformation(linkFileInfoList, fileGroupType); - - DataObject metaFileInfo = (DataObject) dividedInfo.get("metaInfo"); - List imageFileInfoList = CmmnUtil.getDataObjectListFromMap(dividedInfo,"imageInfo"); - DataObject bgngData = (DataObject) dividedInfo.get("bgngData"); - DataObject endData = (DataObject) dividedInfo.get("endData"); - - //1. 연계파일정보를 단속 엔티티로 변환 - this.crdnTimeRangeSet(crdn, bgngData, endData); - - String entType = metaFileInfo.string("LINK_ENT_NM"); - if(entType.equals("ino")) crdn.setCrdnInptSeCd("11"); - else if(entType.equals("knl")) crdn.setCrdnInptSeCd("12"); - else crdn.setCrdnInptSeCd("15"); - - - if(metaFileInfo.string("VLTN_CD").equals("")) { - crdn.setVltnCd("01"); - } else { - crdn.setVltnCd(metaFileInfo.string("VLTN_CD")); - } - if(metaFileInfo.string("CRDN_SPAREA_CD").equals("")) { - crdn.setCrdnSpareaCd("00"); - } else { - crdn.setCrdnSpareaCd(metaFileInfo.string("CRDN_SPAREA_CD")); - } - - - crdn.setVhrno(metaFileInfo.string("VHRNO")); - crdn.setCrdnYmd(metaFileInfo.string("CRDN_YMD")); - crdn.setCrdnTm(metaFileInfo.string("CRDN_TM")); - if(crdn.getCrdnBgngTm() == null) { - crdn.setCrdnBgngTm(metaFileInfo.string("CRDN_BGNG_TM")); - crdn.setCrdnEndTm(metaFileInfo.string("CRDN_END_TM")); - } - - crdn.setGpsX(metaFileInfo.string("GPS_X")); - crdn.setGpsY(metaFileInfo.string("GPS_Y")); - crdn.setCrdnPlc(metaFileInfo.string("CRDN_PLC")); - crdn.setCrdnRoadNm(metaFileInfo.string("CRDN_ROAD_NM")); - crdn.setCrdnStdgNm(metaFileInfo.string("CRDN_STDG_NM")); - - crdn.setCrdnSeCd(metaFileInfo.string("CRDN_SE_CD")); - crdn.setMoscX(metaFileInfo.string("MOSC_X")); - crdn.setMoscY(metaFileInfo.string("MOSC_Y")); - - if(crdn.getTaskSeCd().equals("PVS") || crdn.getTaskSeCd().equals("BPV")) { - if(!crdn.getCrdnSeCd().equals("") && !metaFileInfo.string("EQPMNT_CD").equals("")) { - - Team team = new Team(); - team.setSggCd(crdn.getSggCd()); - team.setTaskSeCd(taskSeCd); - team.setTeamNm(metaFileInfo.string("EQPMNT_CD")); - DataObject teamInfo = crdnTeamMapper.selectTeamInfoByName(team); - - if(teamInfo != null && crdn.getCrdnSeCd().equals(teamInfo.string("CRDN_SE_CD"))) { - crdn.setTeamId(teamInfo.string("TEAM_ID")); - } - - } - } - - //metaFileInfo.string("PLATE_WIDTH"); - //metaFileInfo.string("PLATE_HEIGHT"); - - List fileInfoList = this.parsedDataInfoToFileInfo(imageFileInfoList, fileGroupType); - - - //2. 차적 조회 - List crdns = new ArrayList(); - crdns.add(crdn); - importBean.setVehicleInfo(crdns); - - - //3.등록 - saved = crdnBean.create(null, crdn, fileInfoList); - - resultMap.put("saved", saved); - - if(saved) { - for(DataObject delInfo : linkFileInfoList) { - crdnBean.removeEquipmentLinkFile(workPath, delInfo.string("FILE_NAME")); - } - - if(!ifEmpty(crdn.getErsrRegYmd(), () -> "").equals("")) { - String vhrno = crdn.getVhrno(); - String ersrRegYmd = crdn.getErsrRegYmd(); - String ersrYear = ersrRegYmd.substring(0, 4); - String ersrMonth = ersrRegYmd.substring(4, 6); - String ersrDay = ersrRegYmd.substring(6, 8); - - String alertMessage = vhrno + " : " + ersrYear + "년" + ersrMonth + "월" + ersrDay + "일로 말소된 차량입니다."; - resultMap.put("alertMessage", alertMessage); - } - - } else { - resultMap.put("failReason", "기타 오류"); - } - - return resultMap; - } - - - /**파싱된 데이터 목록을 메타정보, 이미지정보목록, 최초단속자료, 최종단속자료로 분리한다.
    - * @param linkFileInfoList 연계파일정보목록, fileGroupType 연계파일그룹형식 - * @return 메타정보, 이미지정보목록, 최초단속자료, 최종단속자료 - */ - public Map divideInformation(List linkFileInfoList, String fileGroupType) { - Map result = new HashMap(); - - DataObject metaFileInfo = null; - List imageFileInfoList = new ArrayList(); - DataObject[] bgngAndEnd = {null, null}; - - if(fileGroupType.equals("TXT")) { - - for (DataObject linkFileInfo : linkFileInfoList) { - if(linkFileInfo.string("FILE_EXTENSION").toUpperCase().equals("TXT")) { - metaFileInfo = linkFileInfo; - } else { - imageFileInfoList.add(linkFileInfo); - } - } - - bgngAndEnd = getBgngDataAndEndData(imageFileInfoList); - - } else if(fileGroupType.equals("JPG")){ - - imageFileInfoList = linkFileInfoList; - - bgngAndEnd = getBgngDataAndEndData(linkFileInfoList); - - if(bgngAndEnd[1] == null) { - metaFileInfo = linkFileInfoList.get(0); - } else { - metaFileInfo = bgngAndEnd[1]; - } - - } else if(fileGroupType.equals("BIN")) { - - metaFileInfo = linkFileInfoList.get(0); - - int otherPhotoCnt = metaFileInfo.number("PHOTO_CNT").intValue(); - for(int i=1; i <= otherPhotoCnt; i++){ - String fileName = metaFileInfo.string("B64IMAGE"+i+"_NM"); - String b64str = metaFileInfo.string("B64IMAGE"+i); - DataObject dataObject = new DataObject(); - dataObject.put("B64IMAGE_NM", fileName); - dataObject.put("B64IMAGE", b64str); - imageFileInfoList.add(dataObject); - } - - } else { - return result; - } - - result.put("metaInfo", metaFileInfo); - result.put("imageInfo", imageFileInfoList); - result.put("bgngData", bgngAndEnd[0]); - result.put("endData", bgngAndEnd[1]); - - return result; - } - - /**단속이미지정보 목록 내에서 최초단속자료와 최종단속자료를 반환한다. 단속일시 정보가 없을 경우 null을 반환한다.
    - * @param imageDataList 단속이미지정보 목록 - * @return 최초단속자료, 최종단속자료 - */ - public DataObject[] getBgngDataAndEndData(List imageDataList) { - DataObject[] bgngAndEnd = {null, null}; - - if(!imageDataList.get(0).get("CRDN_TIMESTAMP").equals("")) { - - DataObject bgngData = imageDataList.stream() - .min(Comparator.comparing(item -> new BigInteger(item.string("CRDN_TIMESTAMP")))) - .orElseThrow(); - - DataObject endData = imageDataList.stream() - .max(Comparator.comparing(item -> new BigInteger(item.string("CRDN_TIMESTAMP")))) - .orElseThrow(); - - bgngAndEnd[0] = bgngData; - bgngAndEnd[1] = endData; - } - - return bgngAndEnd; - } - - /**최초단속정보와 최종단속정보를 기준으로 단속대장의 최초단속시간과 최종단속시간을 설정한다.
    - * @param crdn 단속대장, bgngData 최초단속자료, endData 최종단속자료 - * @return - */ - public void crdnTimeRangeSet(Crdn crdn, DataObject bgngData, DataObject endData) { - if(bgngData != null && endData != null) { - if(!endData.string("CRDN_BGNG_TM").equals("")) { - crdn.setCrdnBgngTm(endData.string("CRDN_BGNG_TM")); - crdn.setCrdnEndTm(endData.string("CRDN_END_TM")); - } else if(!endData.string("CRDN_TM").equals("")){ - crdn.setCrdnBgngTm(bgngData.string("CRDN_TM")); - crdn.setCrdnEndTm(endData.string("CRDN_TM")); - } - } - } - - /**단속이미지정보를 List로 변환한다.
    - * @param imageFileInfoList 단속이미지정보 목록, fileGroupType 연계파일그룹형식 - * @return fileInfo리스트 - */ - public List parsedDataInfoToFileInfo(List imageFileInfoList, String fileGroupType){ - List fileInfoList = new ArrayList(); - - try { - //이미지, 이미지및텍스트 - if(fileGroupType.equals("JPG") || fileGroupType.equals("TXT")) { - - List files = new ArrayList<>(); - for (DataObject imageFileInfo : imageFileInfoList) { - files.add(new File(imageFileInfo.string("FILE_PATH"))); - } - - fileInfoList = new FileInfoFactory().createFileInfos(null, files); - for (int iLoop = 0; iLoop < fileInfoList.size(); iLoop++) { - fileInfoList.get(iLoop).setName("image"+iLoop+"."+FilenameUtils.getExtension(fileInfoList.get(iLoop).getName())); - } - - } else if(fileGroupType.equals("BIN")) { - - for(int i=0; i < imageFileInfoList.size(); i++){ - String fileName = imageFileInfoList.get(i).string("B64IMAGE_NM"); - String b64str = imageFileInfoList.get(i).string("B64IMAGE"); - FileInfo FileInfo = SingleFileParser.base64ToFileInfo(fileName, b64str, (i+1)); - fileInfoList.add(FileInfo); - } - - } - - } catch (Exception e) { - throw new RuntimeException(e); - } - - return fileInfoList; - }; - -} \ No newline at end of file diff --git a/src/main/java/cokr/xit/fims/crdn/web/Crdn01Controller.java b/src/main/java/cokr/xit/fims/crdn/web/Crdn01Controller.java deleted file mode 100644 index 39ec87de..00000000 --- a/src/main/java/cokr/xit/fims/crdn/web/Crdn01Controller.java +++ /dev/null @@ -1,179 +0,0 @@ -package cokr.xit.fims.crdn.web; - -import java.util.List; -import java.util.Map; - -import javax.annotation.Resource; -import javax.servlet.http.HttpServletRequest; - -import org.springframework.stereotype.Controller; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.servlet.ModelAndView; - -import cokr.xit.base.code.CommonCode; -import cokr.xit.base.user.dao.UserMapper; -import cokr.xit.base.web.ApplicationController; -import cokr.xit.fims.base.FimsUser; -import cokr.xit.fims.cmmn.CmmnQuery; -import cokr.xit.fims.cmmn.ftp.RemoteSystemInfo; -import cokr.xit.fims.cmmn.service.bean.StngBean; -import cokr.xit.fims.crdn.CrdnQuery; -import cokr.xit.fims.crdn.receive.eqpmnt.LayoutDescriptor; -import cokr.xit.fims.crdn.service.CrdnStngService; -import cokr.xit.fims.task.Task; -import cokr.xit.foundation.data.DataObject; - -/**장비단속레이아웃 관리 서비스 웹 컨트롤러.
    - * {웹 컨텍스트}/crdn/crdn01 로 접근할 수 있다. - * @author leebj - */ -@Controller -@RequestMapping(name="장비단속 레이아웃 설정 관리", value=Crdn01Controller.CLASS_URL) -public class Crdn01Controller extends ApplicationController { - - public static final String CLASS_URL = "/crdn/crdn01"; - - public class METHOD_URL { - public static final String - linkFileLayoutMain = "/010/main.do", - getLinkFileLayoutMetadataList = "/010/list.do", - getLinkFileLayoutMetadataInfo = "/020/info.do", - createLinkFileLayoutMetadata = "/020/create.do", - updateLinkFileLayoutMetadata = "/020/update.do", - removeLinkFileLayoutMetadata = "/020/remove.do" - ; - } - - @Resource(name = "stngBean") - private StngBean stngBean; - - @Resource(name = "userMapper") - private UserMapper userMapper; - - @Resource(name = "crdnStngService") - private CrdnStngService crdnStngService; - - /** 장비단속레이아웃 관리 메인화면을 연다. - * @return fims/crdn/crdn01010-main - */ - @RequestMapping(name="장비단속 레이아웃 설정 관리 메인", value=METHOD_URL.linkFileLayoutMain) - public ModelAndView linkFileLayoutMain() { - ModelAndView mav = new ModelAndView(); - mav.setViewName("fims/crdn/crdn01010-main"); - mav.addObject("pageName", "crdn01010"); - - Map> commonCodes = getCodesOf("FIM002", "FIM003","FIM054"); - mav.addObject("FIM002List", commonCodes.get("FIM002")); - mav.addObject("FIM003List", commonCodes.get("FIM003")); - mav.addObject("FIM054List", commonCodes.get("FIM054")); - mav.addObject("TaskListForSgg", stngBean.filterTaskSectionCodeForSgg(commonCodes.get("FIM054"))); - addCodes(commonCodes, mav, "FIM002", "FIM003"); - - return mav; - } - - /**장비단속 레이아웃 목록을 조회한다.
    - * {@link CrdnStngService#getLinkFileLayoutMetadataList(CmmnQuery)} 참고 - * @param query 장비단속 레이아웃 목록 조회 조건 - * @return jsonView - */ - @Task - @RequestMapping(name="장비단속파일 레이아웃 목록 조회", value=METHOD_URL.getLinkFileLayoutMetadataList) - public ModelAndView getLinkFileLayoutMetadataList(CrdnQuery query) { - ModelAndView mav = new ModelAndView("jsonView"); - setFetchSize(query); - - FimsUser currentUser = (FimsUser) currentUser().getUser(); - String sggCd = currentUser.getOrgID(); - query.setSggCd(sggCd); - List list = crdnStngService.getLinkFileLayoutMetadataList(query); - return setCollectionInfo(mav, list,"",""); - } - - /**장비단속 레이아웃 상세정보를 조회한다.
    - * @param query 장비단속 레이아웃 목록 조회 조건 - * @return jsonView - */ - @Task - @RequestMapping(name="장비단속파일 레이아웃 상세정보 조회", value=METHOD_URL.getLinkFileLayoutMetadataInfo) - public ModelAndView getLinkFileLayoutMetadataInfo(HttpServletRequest hReq, String fileLayoutId) { - boolean json = jsonResponse(); - - ModelAndView mav = new ModelAndView(json ? "jsonView" : "fims/crdn/crdn01020-info"); - mav.addObject("pageName", "crdn01020"); - - FimsUser currentUser = (FimsUser) currentUser().getUser(); - String sggCd = currentUser.getOrgID(); - mav.addObject("sggCd", sggCd); - - DataObject info = new DataObject(); - if(!ifEmpty(fileLayoutId, ()->"").equals("")) { - info = crdnStngService.getLinkFileLayoutMetadataInfo(fileLayoutId); - } else { - info = null; - } - mav.addObject("layoutInfo", json ? info : toJson(info)); - - String urlTaskSeCd = hReq.getServletPath().split("/")[1]; - mav.addObject("taskSeCd", urlTaskSeCd); - return mav; - } - - /**장비단속파일 레이아웃을 등록한다.
    - * @param - * @return jsonView - */ - @Task - @RequestMapping(name="장비단속파일 레이아웃 등록", value=METHOD_URL.createLinkFileLayoutMetadata) - public ModelAndView createLinkFileLayoutMetadata(LayoutDescriptor layoutDescriptor, RemoteSystemInfo remoteSystemInfo) { - - ModelAndView mav = new ModelAndView("jsonView"); - boolean saved = false; - - String rtnMsg = crdnStngService.createLinkFileLayoutMetadata(layoutDescriptor,remoteSystemInfo); - if(rtnMsg.contains("[S]")) { - saved = true; - } - mav.addObject("saved", saved); - return mav; - } - - /**장비단속파일 레이아웃을 수정한다.
    - * @param - * @return jsonView - */ - @Task - @RequestMapping(name="장비단속파일 레이아웃 수정", value=METHOD_URL.updateLinkFileLayoutMetadata) - public ModelAndView updateLinkFileLayoutMetadata(LayoutDescriptor layoutDescriptor, RemoteSystemInfo remoteSystemInfo) { - - ModelAndView mav = new ModelAndView("jsonView"); - boolean saved = false; - - String rtnMsg = crdnStngService.updateLinkFileLayoutMetadata(layoutDescriptor,remoteSystemInfo); - if(rtnMsg.contains("[S]")) { - saved = true; - } - mav.addObject("saved", saved); - return mav; - } - - /**장비단속파일 레이아웃을 삭제한다.
    - * @param fileLayoutId 파일 레이아웃 ID - * @return jsonView - */ - @Task - @RequestMapping(name="장비단속파일 레이아웃 삭제", value=METHOD_URL.removeLinkFileLayoutMetadata) - public ModelAndView removeLinkFileLayoutMetadata(String fileLayoutId) { - - ModelAndView mav = new ModelAndView("jsonView"); - boolean saved = false; - - String rtnMsg = crdnStngService.removeLinkFileLayoutMetadata(fileLayoutId); - if(rtnMsg.contains("[S]")) { - saved = true; - } - mav.addObject("saved", saved); - return mav; - } - -} diff --git a/src/main/java/cokr/xit/fims/crdn/web/Crdn02Controller.java b/src/main/java/cokr/xit/fims/crdn/web/Crdn02Controller.java deleted file mode 100644 index ffdfeedd..00000000 --- a/src/main/java/cokr/xit/fims/crdn/web/Crdn02Controller.java +++ /dev/null @@ -1,186 +0,0 @@ -package cokr.xit.fims.crdn.web; - -import java.util.HashMap; -import java.util.List; -import java.util.Map; - -import javax.annotation.Resource; - -import org.apache.poi.ss.usermodel.CellStyle; -import org.springframework.stereotype.Controller; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.servlet.ModelAndView; - -import cokr.xit.base.code.CommonCode; -import cokr.xit.base.docs.xls.CellDef; -import cokr.xit.base.docs.xls.Format; -import cokr.xit.base.docs.xls.Style; -import cokr.xit.base.docs.xls.XLSWriter; -import cokr.xit.base.user.dao.UserMapper; -import cokr.xit.base.web.ApplicationController; -import cokr.xit.fims.base.FimsUser; -import cokr.xit.fims.cmmn.service.bean.StngBean; -import cokr.xit.fims.cmmn.xls.FormatMaker; -import cokr.xit.fims.cmmn.xls.StyleMaker; -import cokr.xit.fims.crdn.CrdnQuery; -import cokr.xit.fims.crdn.dao.CrdnInfoMapper; -import cokr.xit.fims.crdn.service.CrdnService; -import cokr.xit.fims.crdn.service.CrdnStngService; -import cokr.xit.fims.task.Task; -import cokr.xit.foundation.data.DataObject; - -/**단속자료검사 서비스 웹 컨트롤러.
    - * {웹 컨텍스트}/crdn/crdn02 로 접근할 수 있다. - * @author leebj - */ -@Controller -@RequestMapping(name="단속 자료 검사", value=Crdn02Controller.CLASS_URL) -public class Crdn02Controller extends ApplicationController { - - public static final String CLASS_URL = "/crdn/crdn02"; - - public class METHOD_URL { - public static final String - crackdownDataInspectionMain = "/010/main.do", - getInspectionDataList = "/020/list.do", - getOverTimeInfo = "/050/info.do", - updateOverTimeInfo = "/050/update.do" - ; - } - - @Resource(name="crdnService") - private CrdnService crdnService; - - @Resource(name="crdnStngService") - private CrdnStngService crdnStngService; - - @Resource(name="crdnInfoMapper") - private CrdnInfoMapper crdnInfoMapper; - - @Resource(name="userMapper") - protected UserMapper userMapper; - - @Resource(name = "stngBean") - private StngBean stngBean; - - /** 단속 자료 검사 메인화면을 연다. - * @return fims/crdn/crdn02010-main - */ - @RequestMapping(name="단속 자료 검사 메인", value=METHOD_URL.crackdownDataInspectionMain) - public ModelAndView crackdownDataInspectionMain() { - ModelAndView mav = new ModelAndView(); - mav.setViewName("fims/crdn/crdn02010-main"); - mav.addObject("pageName", "crdn02010"); - - Map> commonCodes = getCodesOf("FIM002", "FIM003", "FIM010", "FIM026","FIM054"); - mav.addObject("FIM002List", commonCodes.get("FIM002")); - mav.addObject("FIM003List", commonCodes.get("FIM003")); - mav.addObject("FIM010List", commonCodes.get("FIM010")); - mav.addObject("FIM054List", commonCodes.get("FIM054")); - mav.addObject("TaskListForSgg", stngBean.filterTaskSectionCodeForSgg(commonCodes.get("FIM054"))); - addCodes(commonCodes, mav, "FIM002", "FIM003", "FIM010", "FIM026"); - - return mav; - } - - /**검사자료 목록을 조회한다.
    - * {@link CrdnService#getCrackdownList(CrdnQuery)} 참고 - * @param query 검사자료 목록 조회 조건 - * @return jsonView - */ - @Task - @RequestMapping(name="검사자료 목록 조회", value=METHOD_URL.getInspectionDataList) - public ModelAndView getInspectionDataList(CrdnQuery query) { - switch(query.getInspectionDataType()) { - case "photo" -> query.setGridType("photo"); - case "sameVehicleMain" -> query.setGridType("sameVehicleMain"); - case "sameVehicleSub" -> query.setGridType("sameVehicleSub"); - } - setFetchSize(query); - - FimsUser currentUser = (FimsUser) currentUser().getUser(); - String sggCd = currentUser.getOrgID(); - query.setSggCd(sggCd); - - - if("xls".equals(query.getDownload())) { - List cellDefs = fromJson(query.getCellDefs(), CellDef.listType()); - - XLSWriter xlsx = new XLSWriter().worksheet(0); - Format format = new Format(xlsx); - CellStyle center = format.cellStyle(Style.CENTER); - CellStyle numeric = format.n_nn0(); - CellStyle dateDT = format.yyyy_mm_dd_hh_mm_ss(); - - List list = crdnService.getCrackdownList(query.setFetchSize(0)); - - Map valueMap = new HashMap(); - valueMap.put("단속일시", FormatMaker.yyyy_mm_dd_hh_mm_ss(format, "CRDN_YMD_TM").style(dateDT)); - valueMap.put("자료출처", format.of("CRDN_INPT_SE_NM").style(center)); - valueMap.put("차량번호", format.of("VHRNO")); - valueMap.put("처리상태", format.of("CRDN_STTS_NM").style(center)); - valueMap.put("단속장소", format.of("CRDN_PLC")); - valueMap.put("사진매수", format.of("ATCH_FILE_CNT").style(center)); - valueMap.put("위반건수", format.of("CRDN_CNT").style(center)); - valueMap.put("단속건수", format.of("CRDN_CNT").style(center)); - valueMap.put("검사결과", format.of("INSP_RSLT")); - valueMap.put("처리방법", format.of("PRCS_MTHD").style(center)); - valueMap.put("위반동", format.of("CRDN_STDG_NM").style(center)); - valueMap.put("단속동", format.of("CRDN_STDG_NM").style(center)); - valueMap.put("원금액", format.of("FFNLG_CRDN_AMT").style(numeric)); - valueMap.put("감경금액", format.of("ADVNTCE_AMT").style(numeric)); - valueMap.put("금액", format.of("FFNLG_CRDN_AMT").style(numeric)); - valueMap.put("단속조", format.of("TEAM_NM").style(center)); - valueMap.put("성명", format.of("RTPYR_NM")); - valueMap.put("주민번호", format.of("RTPYR_NO").style(center)); - CellDef.setValues(cellDefs, valueMap); - - xlsx.cell(0, 0).value("검사자료 목록").value(center).merge(0, cellDefs.size()-1) - .cell(3, 0).rowValues(CellDef.header(cellDefs, () -> StyleMaker.headerStyle(xlsx))) - .cell(4, 0).values(list, CellDef.values(cellDefs.stream().map(i -> {if(i.getValue() instanceof Format) {i.setField(null);}; return i;}).toList())); - - return new ModelAndView("downloadView").addObject("download", xlsx.getDownloadable().setFilename("검사자료 목록.xlsx")) - .addObject("downloadData", list).addObject("dataNames", cellDefs.stream().map(CellDef::getLabel).toList()); - } - - return setCollectionInfo(new ModelAndView("jsonView"), crdnService.getCrackdownList(query),"",""); - } - - /**2시간 초과처리 팝업을 호출한다.
    - * @param crdnId 단속 ID - * @return crdn02050-info - */ - @Task("PVS") - @RequestMapping(name="2시간 초과 처리 화면 호출", value=METHOD_URL.getOverTimeInfo) - public ModelAndView getOverTimeInfo(String openerPageName, String savedCallbackFuncName, String crdnId) { - ModelAndView mav = new ModelAndView(); - mav.setViewName("fims/crdn/crdn02050-info"); - mav.addObject("pageName","crdn02050"); - - DataObject crdnInfo = crdnInfoMapper.selectCrdnInfo(crdnId); - - mav.addObject("crdnInfo", toJson(crdnInfo)); - mav.addObject("openerPageName", openerPageName); - mav.addObject("savedCallbackFuncName", savedCallbackFuncName); - return mav; - } - - /**단속자료의 2시간 초과여부를 변경하고, 금액을 수정한다.
    - * @param chgAmtSe 금액 변경 구분, crdnId 단속 ID - * @return jsonView - *
     {
    -	 *     "saved": 수정되었으면 true, 그렇지 않으면 false
    -	 * }
    - */ - @Task("PVS") - @RequestMapping(name="2시간 초과 정보 수정", value=METHOD_URL.updateOverTimeInfo) - public ModelAndView updateOverTimeInfo(String chgAmtSe, String crdnId) { - boolean saved = false; - String rtnMsg = crdnService.updateOverTimeInfo(chgAmtSe, crdnId); - if(rtnMsg.contains("[S]")) { - saved = true; - } - return new ModelAndView("jsonView") - .addObject("saved", saved); - } -} diff --git a/src/main/java/cokr/xit/fims/crdn/web/Crdn03Controller.java b/src/main/java/cokr/xit/fims/crdn/web/Crdn03Controller.java deleted file mode 100644 index d3911427..00000000 --- a/src/main/java/cokr/xit/fims/crdn/web/Crdn03Controller.java +++ /dev/null @@ -1,139 +0,0 @@ -package cokr.xit.fims.crdn.web; - -import java.util.HashMap; -import java.util.List; -import java.util.Map; - -import javax.annotation.Resource; - -import org.apache.poi.ss.usermodel.CellStyle; -import org.springframework.stereotype.Controller; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.servlet.ModelAndView; - -import cokr.xit.base.code.CommonCode; -import cokr.xit.base.docs.xls.CellDef; -import cokr.xit.base.docs.xls.Format; -import cokr.xit.base.docs.xls.Style; -import cokr.xit.base.docs.xls.XLSWriter; -import cokr.xit.base.user.dao.UserMapper; -import cokr.xit.base.web.ApplicationController; -import cokr.xit.fims.base.FimsUser; -import cokr.xit.fims.cmmn.xls.FormatMaker; -import cokr.xit.fims.cmmn.xls.StyleMaker; -import cokr.xit.fims.crdn.Crdn; -import cokr.xit.fims.crdn.CrdnQuery; -import cokr.xit.fims.crdn.service.CrdnService; -import cokr.xit.fims.crdn.service.CrdnStngService; -import cokr.xit.fims.task.Task; -import cokr.xit.foundation.data.DataObject; - -/**표지정보확인 서비스 웹 컨트롤러.
    - * {웹 컨텍스트}/crdn/crdn03 로 접근할 수 있다. - * @author leebj - */ -@Controller -@RequestMapping(name="표지정보 미확인 자료 조회", value=Crdn03Controller.CLASS_URL) -public class Crdn03Controller extends ApplicationController { - - public static final String CLASS_URL = "/crdn/crdn03"; - - public class METHOD_URL { - public static final String - tagInformationUndefinedDataMain = "/010/main.do", - getTagInformationUndefinedDataList = "/030/list.do", - updateTagInfo = "/030/update.do" - ; - } - - @Resource(name="crdnService") - private CrdnService crdnService; - - @Resource(name="crdnStngService") - private CrdnStngService crdnStngService; - - @Resource(name="userMapper") - protected UserMapper userMapper; - - /** 표지정보 미확인 자료 메인화면을 연다. - * @return fims/crdn/crdn03010-main - */ - @RequestMapping(name="표지정보 미확인 자료 메인", value=METHOD_URL.tagInformationUndefinedDataMain) - public ModelAndView tagInformationUndefinedDataMain() { - ModelAndView mav = new ModelAndView(); - mav.setViewName("fims/crdn/crdn03010-main"); - mav.addObject("pageName","crdn03010"); - - Map> commonCodes = getCodesOf("FIM003", "FIM010"); - addCodes(commonCodes, mav, "FIM003", "FIM010"); - return mav; - } - - /**표지정보미확인자료 목록을 조회한다.
    - * {@link CrdnService#getCrackdownList(CrdnQuery)} 참고 - * @param req 표지정보미확인자료 목록 조회 조건 - * @return jsonView - */ - @Task("DPV") - @RequestMapping(name="표지정보미확인자료 목록", value=METHOD_URL.getTagInformationUndefinedDataList) - public ModelAndView getTagInformationUndefinedDataList(CrdnQuery query) { - query.setGridType("tagInformationUndefinedData"); - setFetchSize(query); - - FimsUser currentUser = (FimsUser) currentUser().getUser(); - String sggCd = currentUser.getOrgID(); - query.setSggCd(sggCd); - - - if("xls".equals(query.getDownload())) { - List cellDefs = fromJson(query.getCellDefs(), CellDef.listType()); - - XLSWriter xlsx = new XLSWriter().worksheet(0); - Format format = new Format(xlsx); - CellStyle center = format.cellStyle(Style.CENTER); - CellStyle numeric = format.n_nn0(); - CellStyle dateDT = format.yyyy_mm_dd_hh_mm_ss(); - - List list = crdnService.getCrackdownList(query.setFetchSize(0)); - - Map valueMap = new HashMap(); - valueMap.put("자료출처", format.of("CRDN_INPT_SE_NM").style(center)); - valueMap.put("위반일시", FormatMaker.yyyy_mm_dd_hh_mm_ss(format, "CRDN_YMD_TM").style(dateDT)); - valueMap.put("차량번호", format.of("VHRNO")); - valueMap.put("법정동", format.of("CRDN_STDG_NM").style(center)); - valueMap.put("잔액", format.of("BLNC").style(numeric)); - valueMap.put("사진건수", format.of("ATCH_FILE_CNT").style(center)); - valueMap.put("발행번호", format.of(format.of("CRDN_SN"))); - CellDef.setValues(cellDefs, valueMap); - - xlsx.cell(0, 0).value("표지정보미확인자료 목록").value(center).merge(0, cellDefs.size()-1) - .cell(3, 0).rowValues(CellDef.header(cellDefs, () -> StyleMaker.headerStyle(xlsx))) - .cell(4, 0).values(list, CellDef.values(cellDefs.stream().map(i -> {if(i.getValue() instanceof Format) {i.setField(null);}; return i;}).toList())); - - return new ModelAndView("downloadView").addObject("download", xlsx.getDownloadable().setFilename("표지정보미확인자료 목록.xlsx")) - .addObject("downloadData", list).addObject("dataNames", cellDefs.stream().map(CellDef::getLabel).toList()); - } - - return setCollectionInfo(new ModelAndView("jsonView"), crdnService.getCrackdownList(query),"",""); - } - - /**표지정보 미확인 자료를 수정한다. - * @param crdn 단속 대장 정보 - * @return jsonView - *
     {
    -	 *     "saved": 수정되었으면 true, 그렇지 않으면 false
    -	 * }
    - */ - @Task("DPV") - @RequestMapping(name="표지정보 미확인 자료 수정", value=METHOD_URL.updateTagInfo) - public ModelAndView updateTagInfo(Crdn crdn) { - boolean saved = false; - String rtnMsg = crdnService.updateTagInfo(crdn); - if(rtnMsg.contains("[S]")) { - saved = true; - } - return new ModelAndView("jsonView") - .addObject("saved", saved); - } - -} diff --git a/src/main/java/cokr/xit/fims/crdn/web/Crdn05Controller.java b/src/main/java/cokr/xit/fims/crdn/web/Crdn05Controller.java deleted file mode 100644 index 2e91d270..00000000 --- a/src/main/java/cokr/xit/fims/crdn/web/Crdn05Controller.java +++ /dev/null @@ -1,516 +0,0 @@ -package cokr.xit.fims.crdn.web; - -import java.io.File; -import java.io.IOException; -import java.nio.file.Files; -import java.nio.file.Path; -import java.nio.file.Paths; -import java.util.ArrayList; -import java.util.HashMap; -import java.util.List; -import java.util.Map; - -import javax.annotation.Resource; -import javax.servlet.http.HttpServletRequest; - -import org.springframework.stereotype.Controller; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.multipart.MultipartFile; -import org.springframework.web.servlet.ModelAndView; - -import cokr.xit.base.code.CommonCode; -import cokr.xit.base.file.FileInfo; -import cokr.xit.base.file.web.FileInfoFactory; -import cokr.xit.base.user.dao.UserMapper; -import cokr.xit.base.web.ApplicationController; -import cokr.xit.fims.base.FimsUser; -import cokr.xit.fims.base.service.bean.OgdpBean; -import cokr.xit.fims.cmmn.CmmnUtil; -import cokr.xit.fims.cmmn.ftp.FTPUtil; -import cokr.xit.fims.cmmn.ftp.RemoteSystemInfo; -import cokr.xit.fims.cmmn.service.bean.StngBean; -import cokr.xit.fims.crdn.Crdn; -import cokr.xit.fims.crdn.CrdnQuery; -import cokr.xit.fims.crdn.dao.CrdnInstMapper; -import cokr.xit.fims.crdn.dao.CrdnStngMapper; -import cokr.xit.fims.crdn.receive.eqpmnt.AttachedTxtParser; -import cokr.xit.fims.crdn.receive.eqpmnt.LayoutDescriptor; -import cokr.xit.fims.crdn.receive.eqpmnt.LayoutDiscriminator; -import cokr.xit.fims.crdn.receive.eqpmnt.LayoutParser; -import cokr.xit.fims.crdn.receive.eqpmnt.OnlyImageParser; -import cokr.xit.fims.crdn.receive.eqpmnt.SingleFileParser; -import cokr.xit.fims.crdn.service.CrdnService; -import cokr.xit.fims.crdn.service.CrdnStngService; -import cokr.xit.fims.crdn.service.ImportService; -import cokr.xit.fims.crdn.service.bean.CrdnStngBean; -import cokr.xit.fims.task.Task; -import cokr.xit.foundation.UserInfo; -import cokr.xit.foundation.data.DataObject; - -/**단속 자료 등록 서비스 웹 컨트롤러.
    - * {웹 컨텍스트}/crdn/crdn05 로 접근할 수 있다. - * @author leebj - */ -@Controller -@RequestMapping(name="단속 자료 등록", value=Crdn05Controller.CLASS_URL) -public class Crdn05Controller extends ApplicationController { - - public static final String CLASS_URL = "/crdn/crdn05"; - - public class METHOD_URL { - public static final String - crackdownDataRegistrationMain = "/010/main.do", - getTodayCrdnDataList = "/010/list.do", - - getFileRegistrationScreen = "/020/info.do", - importFileFromServer = "/020/importFileFromServer.do", - importFileFromClient = "/020/importFileFromClient.do", - getEquipmentFileInfoList = "/020/list.do", - removeLinkFile = "/020/remove.do", - createCrdnByLinkFile = "/020/create.do", - - getManualRegistrationScreen = "/030/info.do", - createCrdnDataByManual = "/030/create.do" - ; - } - - @Resource(name="importService") - private ImportService importService; - - @Resource(name="crdnService") - private CrdnService crdnService; - - @Resource(name="crdnStngService") - private CrdnStngService crdnStngService; - - @Resource(name="crdnStngBean") - private CrdnStngBean crdnStngBean; - - @Resource(name="crdnInstMapper") - private CrdnInstMapper crdnInstMapper; - - @Resource(name="userMapper") - protected UserMapper userMapper; - - @Resource(name="crdnStngMapper") - private CrdnStngMapper crdnStngMapper; - - @Resource(name = "ogdpBean") - private OgdpBean ogdpBean; - - @Resource(name = "stngBean") - private StngBean stngBean; - - /** 단속 자료 등록 메인화면을 연다. - * @return fims/crdn/crdn05010-main - */ - @RequestMapping(name="단속 자료 등록 메인", value=METHOD_URL.crackdownDataRegistrationMain) - public ModelAndView crackdownDataRegistrationMain() { - ModelAndView mav = new ModelAndView(); - mav.setViewName("fims/crdn/crdn05010-main"); - mav.addObject("pageName", "crdn05010"); - - Map> commonCodes = getCodesOf("FIM003", "FIM026", "FIM054"); - mav.addObject("FIM054List", commonCodes.get("FIM054")); - mav.addObject("TaskListForSgg", stngBean.filterTaskSectionCodeForSgg(commonCodes.get("FIM054"))); - addCodes(commonCodes, mav, "FIM003", "FIM026"); - return mav; - } - - /**당일 등록한 단속자료 목록을 조회한다. - * {@link CrdnService#getCrackdownList(CrdnQuery)} 참고 - * @param query 단속자료 목록 조회 조건 - * @return jsonView - */ - @Task - @RequestMapping(name="당일 입력 단속자료 목록 조회", value=METHOD_URL.getTodayCrdnDataList) - public ModelAndView getTodayCrdnDataList(CrdnQuery query) { - setFetchSize(query); - query.setGridType("todayInsert"); - query.setCurrentUserId(currentUser().getId()); - - FimsUser currentUser = (FimsUser) currentUser().getUser(); - String sggCd = currentUser.getOrgID(); - query.setSggCd(sggCd); - - return setCollectionInfo(new ModelAndView("jsonView"),crdnService.getCrackdownList(query),"",""); - } - - /**단속자료 파일 등록 팝업화면을 반환한다. - * @param - * @return fims/crdn/crdn05020-info - */ - @Task - @RequestMapping(name="단속자료 파일 등록 화면", value=METHOD_URL.getFileRegistrationScreen) - public ModelAndView getFileRegistrationScreen(HttpServletRequest hReq) { - ModelAndView mav = new ModelAndView("fims/crdn/crdn05020-info"); - mav.addObject("pageName", "crdn05020"); - - String urlTaskSeCd = hReq.getServletPath().split("/")[1]; - mav.addObject("taskSeCd", urlTaskSeCd); - - Map> commonCodes = getCodesOf("FIM054"); - mav.addObject("FIM054List", commonCodes.get("FIM054")); - mav.addObject("TaskListForSgg", stngBean.filterTaskSectionCodeForSgg(commonCodes.get("FIM054"))); - - return mav; - } - - /** FTP 서버로부터 단속연계파일을 가져온다. - * @param - * @return - */ - @Task - @RequestMapping(name="단속연계파일 가져오기(FTP)", value=METHOD_URL.importFileFromServer) - public ModelAndView importFileFromServer(HttpServletRequest hReq) { - ModelAndView mav = new ModelAndView("jsonView"); - boolean saved = false; - - String institute = currentUser().getInstitute(); - String taskSeCd = hReq.getParameter("taskSeCd"); - FimsUser currentUser = (FimsUser) currentUser().getUser(); - String deptCd = currentUser.getDeptCode(); - String sggCd = currentUser.getOrgID(); - - List layoutDescriptors = crdnStngService.getLinkFileLayoutMetadata(sggCd, taskSeCd, institute, deptCd); - - for(int i=0; i < layoutDescriptors.size(); i++) { - DataObject remoteInfo = crdnStngMapper.selectRemoteInfo(layoutDescriptors.get(i).getFileLayoutId()); - if(remoteInfo == null || remoteInfo.string("REMOTE_IP").equals("")) { - continue; - } - - RemoteSystemInfo rs = new RemoteSystemInfo(); - rs.setIp(remoteInfo.string("REMOTE_IP")); - rs.setPort(remoteInfo.string("REMOTE_PORT")); - rs.setId(remoteInfo.string("REMOTE_ID")); - rs.setPw(remoteInfo.string("REMOTE_PASSWORD")); - rs.setOsType(remoteInfo.string("REMOTE_OS")); - - String remoteWorkPath = remoteInfo.string("REMOTE_WORK_PATH"); - - String workPath = layoutDescriptors.get(i).getLinkFileLocation(); - File workDir = new File(workPath); - workDir.mkdirs(); - - try { - boolean result = FTPUtil.fileDown(rs, remoteWorkPath, workPath); - if(!result) { - saved = false; - mav.addObject("saved", saved); - return mav; - } - } catch (Exception e) { - saved = false; - mav.addObject("saved", saved); - return mav; - } - - CmmnUtil.removeDuplicateFileName(workPath); - } - - saved = true; - mav.addObject("saved", saved); - return mav; - } - - /** 사용자 클라이언트(브라우저)로부터 단속연계파일을 가져온다. - * @param - * @return - */ - @Task - @RequestMapping(name="단속연계파일 가져오기(파일업로드)", value=METHOD_URL.importFileFromClient) - public ModelAndView importFileFromClient(HttpServletRequest hReq, MultipartFile[] uploadFiles) { - ModelAndView mav = new ModelAndView("jsonView"); - boolean saved = false; - - String institute = currentUser().getInstitute(); - String taskSeCd = hReq.getParameter("taskSeCd"); - FimsUser currentUser = (FimsUser) currentUser().getUser(); - String deptCd = currentUser.getDeptCode(); - String sggCd = currentUser.getOrgID(); - - - List layoutDescriptors = crdnStngService.getLinkFileLayoutMetadata(sggCd, taskSeCd, institute, deptCd); - - LayoutDescriptor layoutDescriptor = new LayoutDescriptor(); - - if(layoutDescriptors.size() == 1) { - layoutDescriptor = layoutDescriptors.get(0); - } else if(layoutDescriptors.size() >= 2) { - layoutDescriptor = LayoutDiscriminator.choice(uploadFiles, layoutDescriptors); - } - - String workPath = layoutDescriptor.getLinkFileLocation(); - - File workDir = new File(workPath); - workDir.mkdirs(); - try { - for(int j=0; j < uploadFiles.length; j++) { - File newFile = new File(workPath+File.separator+uploadFiles[j].getOriginalFilename()); - uploadFiles[j].transferTo(newFile); - } - } catch (Exception e) { - saved = false; - mav.addObject("saved", saved); - return mav; - } - - CmmnUtil.removeDuplicateFileName(workPath); - - saved = true; - mav.addObject("saved", saved); - return mav; - } - - /**전송,업로드 완료된 장비업체의 단속연계파일 정보를 조회한다. - * @param - * @return - */ - @Task - @RequestMapping(name="장비업체 단속파일 목록 조회", value=METHOD_URL.getEquipmentFileInfoList) - public ModelAndView getEquipmentFileInfoList(HttpServletRequest hReq) { - ModelAndView mav = new ModelAndView("jsonView"); - List allParsedDataList = new ArrayList(); - - String taskSeCd = hReq.getParameter("taskSeCd"); - String institute = currentUser().getInstitute(); - FimsUser currentUser = (FimsUser) currentUser().getUser(); - String deptCd = currentUser.getDeptCode(); - String sggCd = currentUser.getOrgID(); - - List layoutDescriptors = crdnStngService.getLinkFileLayoutMetadata(sggCd, taskSeCd, institute, deptCd); - - Map> codeInfo = getCodesOf("FIM007","FIM004","FIM005","FIM006","FIM005","FIM061"); - - if(layoutDescriptors == null || layoutDescriptors.isEmpty()) { - throw new RuntimeException("연계파일 레이아웃 정보 조회에 실패하였습니다."); - } - - - int nextTempGroupSeq = 1; - for(int i=0; i < layoutDescriptors.size(); i++) { - String workPath = layoutDescriptors.get(i).getLinkFileLocation(); - File file = new File(workPath); - if(!file.exists()) { - file.mkdirs(); - } - List fileList = null; - try { - //폴더는 제외하고 파일만 필터링 - fileList = Files.walk(Paths.get(workPath)).filter(Files::isRegularFile).toList(); - } catch (IOException e) { - throw new RuntimeException("파일 조회 오류."+e); - } - - LayoutParser parser = null; - switch(layoutDescriptors.get(i).getFileGroup()){ - case "TXT": parser = new AttachedTxtParser(); break; - case "JPG": parser = new OnlyImageParser(); break; - case "BIN": parser = new SingleFileParser(); break; - } - parser.setTempGroupSeq(nextTempGroupSeq); - - parser.addCommonCode(codeInfo); - parser.setDescriptor(layoutDescriptors.get(i)); - - if(!fileList.isEmpty()) { - List parsedDataList = parser.parsing(fileList); - allParsedDataList.addAll(parsedDataList); - nextTempGroupSeq = parser.getTempGroupSeq() + 1; - } - } - - mav = setCollectionInfo(mav, allParsedDataList,"",""); - return mav; - } - - /**단속 연계 파일을 삭제한다. - * @param hReq 삭제 요청 - * @return jsonView - *
     {
    -	 *     "saved": 등록되었으면 true, 그렇지 않으면 false
    -	 * }
    - */ - @Task - @RequestMapping(name="장비업체 단속파일 삭제", value=METHOD_URL.removeLinkFile) - public ModelAndView removeLinkFile(HttpServletRequest hReq) { - - ModelAndView mav = new ModelAndView("jsonView"); - - String fileLayoutId = hReq.getParameter("fileLayoutId"); - String fileName = hReq.getParameter("fileName"); - - LayoutDescriptor info = crdnStngBean.getLinkFileLayoutMetadata(fileLayoutId); - - String workPath = info.getLinkFileLocation(); - boolean saved = false; - String rtnMsg = crdnService.removeEquipmentLinkFile(workPath, fileName); - if(rtnMsg.contains("[S]")) { - saved = true; - } - mav.addObject("saved", saved); - return mav; - } - - - /**단속 연계 파일로 단속자료를 생성한다. - * @param taskSeCd 업무 구분, fileGroupType 파일그룹타입, linkFileInfos 연계파일정보 - * @return jsonView - *
     {
    -	 *     "saved": 등록되었으면 true, 그렇지 않으면 false
    -	 * }
    - */ - @Task - @RequestMapping(name="장비업체 단속파일로 단속자료 생성", value=METHOD_URL.createCrdnByLinkFile) - public ModelAndView createCrdnByLinkFile(String taskSeCd, String fileLayoutId, String fileGroupType, String[] linkFileInfos) { - ModelAndView mav = new ModelAndView("jsonView"); - String institute = currentUser().getInstitute(); - - List linkFileInfoList = new ArrayList(); - for(String linkFileInfo : linkFileInfos) { - if(!linkFileInfo.equals("{}")) { - linkFileInfoList.add(fromJson(linkFileInfo, DataObject.class)); - } - } - - Map processInfo = new HashMap(); - processInfo.put("institute", institute); - processInfo.put("taskSeCd", taskSeCd); - - processInfo.put("fileGroupType", fileGroupType); - - String workPath = crdnStngBean.getLinkFileLayoutMetadata(fileLayoutId).getLinkFileLocation(); - processInfo.put("workPath", workPath); - - HashMap resultMap = importService.createCrdnByEquipmentLinkFile(processInfo, linkFileInfoList); - - boolean saved = (boolean) resultMap.get("saved"); - mav.addObject("saved", saved); - - if(!ifEmpty(resultMap.get("alertMessage"), () -> "").equals("")) { - mav.addObject("alertMessage", resultMap.get("alertMessage")); - } - - if(!saved) { - if(!ifEmpty(resultMap.get("failReason"), () -> "").equals("")) { - mav.addObject("failReason", resultMap.get("failReason")); - } else { - mav.addObject("failReason", "알 수 없는 오류"); - } - } - - return mav; - } - - - - /**단속자료 수기 등록 팝업화면을 반환한다. - * @param - * @return fims/crdn/crdn05030-info - */ - @Task - @RequestMapping(name="단속자료 수기 등록 화면", value=METHOD_URL.getManualRegistrationScreen) - public ModelAndView getManualRegistrationScreen(HttpServletRequest hReq) { - - ModelAndView mav = new ModelAndView("fims/crdn/crdn05030-info"); - mav.addObject("pageName", "crdn05030"); - String urlTaskSeCd = hReq.getServletPath().split("/")[1]; - mav.addObject("taskSeCd", urlTaskSeCd); - - FimsUser currentUser = (FimsUser) currentUser().getUser(); - String sggCd = currentUser.getOrgID(); - mav.addObject("sggCd", sggCd); - List stdgNmList = crdnStngMapper.selectStdgNmList(sggCd); - mav.addObject("stdgNmList", stdgNmList); - - String vltnByTask = ""; - - switch(urlTaskSeCd) { - case "PVS" -> { vltnByTask = "FIM004"; } - case "BPV" -> { vltnByTask = "FIM005"; } - case "DPV" -> { vltnByTask = "FIM006"; } - case "ECA" -> { vltnByTask = "FIM061"; } - case "PES" -> { vltnByTask = "FIM064"; } - } - Map> commonCodes = getCodesOf("FIM011","FIM053","LVS005",vltnByTask); - mav.addObject("FIM011List", commonCodes.get("FIM011")); - mav.addObject("FIM053List", commonCodes.get("FIM053")); - mav.addObject("LVS005List", commonCodes.get("LVS005")); - mav.addObject("VLTNList", commonCodes.get(vltnByTask)); - - CrdnQuery query = new CrdnQuery(); - query.setSggCd(sggCd); - query.setTaskSeCd(urlTaskSeCd); - List teamList = crdnStngService.getTeamList(query); - - switch(urlTaskSeCd) { - case "PVS" -> { - commonCodes = getCodesOf("FIM002","FIM007","FIM009"); - mav.addObject("FIM002List", commonCodes.get("FIM002")); - mav.addObject("FIM007List", commonCodes.get("FIM007")); - mav.addObject("FIM009List", commonCodes.get("FIM009")); - mav.addObject("TeamList", teamList); - } - case "BPV" -> { - commonCodes = getCodesOf("FIM002","FIM009"); - mav.addObject("FIM002List", commonCodes.get("FIM002")); - mav.addObject("FIM009List", commonCodes.get("FIM009")); - mav.addObject("TeamList", teamList); - } - case "DPV" -> { - commonCodes = getCodesOf("FIM034"); - mav.addObject("FIM034List", commonCodes.get("FIM034")); - } - case "ECA" -> { } - } - - return mav; - } - - /**단속 대장을 수기 등록한다. - * @param hReq 등록 요청, crdn 단속 대장 정보, newFileList 업로드한 이미지 파일 - * @return jsonView - *
     {
    -	 *     "saved": 등록되었으면 true, 그렇지 않으면 false
    -	 * }
    - */ - @Task - @RequestMapping(name="단속자료 수기 등록", value=METHOD_URL.createCrdnDataByManual) - public ModelAndView createCrdnDataByManual(HttpServletRequest hReq, Crdn crdn, MultipartFile[] newFileList) { - boolean saved = false; - - UserInfo userInfo = currentUser(); - ogdpBean.initUserInfo(userInfo); - - crdn.setSggCd((String)userInfo.getInfo().get("sggCd")); - crdn.setCrdnRegSeCd("01"); - if(((String)userInfo.getInfo().get("instNm")).endsWith("시")) { - crdn.setCrdnInptSeCd("03");//시청 - } else { - crdn.setCrdnInptSeCd("02");//구청 - } - - - - List fileInfoList = new ArrayList(); - if(newFileList != null && newFileList.length > 0) { - fileInfoList = new FileInfoFactory().makeFileInfos(null, newFileList); - } - - String doWarning = ifEmpty(hReq.getParameter("doWarning"), () -> ""); - if(doWarning.equals("on")) { - crdn.setCrdnSttsCd("83"); - } - Map nonQueryRequest = new HashMap(); - crdn.setCvlcptLinkYn("N"); - - String rtnMsg = crdnService.create(nonQueryRequest, crdn, fileInfoList); - if(rtnMsg.contains("[S]")) { - saved = true; - } - - return new ModelAndView("jsonView") - .addObject("saved", saved); - } -} diff --git a/src/main/java/cokr/xit/fims/crdn/web/Crdn06Controller.java b/src/main/java/cokr/xit/fims/crdn/web/Crdn06Controller.java deleted file mode 100644 index 4eceb360..00000000 --- a/src/main/java/cokr/xit/fims/crdn/web/Crdn06Controller.java +++ /dev/null @@ -1,402 +0,0 @@ -package cokr.xit.fims.crdn.web; - -import java.util.HashMap; -import java.util.List; -import java.util.Map; - -import javax.annotation.Resource; -import javax.servlet.http.HttpServletRequest; - -import org.apache.poi.ss.usermodel.CellStyle; -import org.springframework.stereotype.Controller; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.servlet.ModelAndView; - -import cokr.xit.base.code.CommonCode; -import cokr.xit.base.docs.xls.CellDef; -import cokr.xit.base.docs.xls.Comment; -import cokr.xit.base.docs.xls.Format; -import cokr.xit.base.docs.xls.Style; -import cokr.xit.base.docs.xls.XLSWriter; -import cokr.xit.base.file.service.FileQuery; -import cokr.xit.base.file.service.bean.FileBean; -import cokr.xit.base.user.dao.UserMapper; -import cokr.xit.base.web.ApplicationController; -import cokr.xit.fims.base.FimsUser; -import cokr.xit.fims.cmmn.service.bean.StngBean; -import cokr.xit.fims.cmmn.xls.FormatMaker; -import cokr.xit.fims.cmmn.xls.StyleMaker; -import cokr.xit.fims.crdn.Crdn; -import cokr.xit.fims.crdn.CrdnQuery; -import cokr.xit.fims.crdn.dao.CrdnStngMapper; -import cokr.xit.fims.crdn.service.CrdnService; -import cokr.xit.fims.crdn.service.CrdnStngService; -import cokr.xit.fims.task.Task; -import cokr.xit.foundation.data.DataObject; - -/**단속 관리 서비스 웹 컨트롤러.
    - * {웹 컨텍스트}/crdn/crdn06 로 접근할 수 있다. - * @author leebj - */ -@Controller -@RequestMapping(name="단속 관리", value=Crdn06Controller.CLASS_URL) -public class Crdn06Controller extends ApplicationController { - - public static final String CLASS_URL = "/crdn/crdn06"; - - public class METHOD_URL { - public static final String - crackdownManagementMain = "/010/main.do" - , getCrackdownList = "/010/list.do" - , removeCrackdown = "/010/remove.do" - , removeCrackdownPayer = "/010/removeCrdnPayer.do" - , countCrdn = "/010/nocs.do" - , getCrackdownInfo = "/020/info.do" - , updateCrackdown = "/020/update.do" - , getCrackdownStatusInfo = "/030/info.do" - , updateCrackdownStatus = "/030/update.do" - ; - } - - @Resource(name="crdnService") - private CrdnService crdnService; - - @Resource(name="crdnStngService") - private CrdnStngService crdnStngService; - - @Resource(name="userMapper") - protected UserMapper userMapper; - - @Resource(name="crdnStngMapper") - protected CrdnStngMapper crdnStngMapper; - - @Resource(name = "fileBean") - private FileBean fileBean; - - @Resource(name = "stngBean") - private StngBean stngBean; - - /** 단속 관리 메인화면을 연다. - * @return fims/crdn/crdn06010-main - */ - @RequestMapping(name="단속 관리 메인", value=METHOD_URL.crackdownManagementMain) - public ModelAndView crackdownManagementMain(String openType, String taskSeCd) { - ModelAndView mav = new ModelAndView(); - mav.setViewName("fims/crdn/crdn06010-main"); - mav.addObject("pageName", "crdn06010" + ifEmpty(openType, ()-> "")); - if(!ifEmpty(taskSeCd, ()-> "").equals("")) { - mav.addObject("taskSeCd", taskSeCd); - } - Map> commonCodes = getCodesOf("FIM002", "FIM003", "FIM005", "FIM010", "FIM022", "FIM026", - "FIM034", "FIM054"); - mav.addObject("FIM003List", commonCodes.get("FIM003")); - mav.addObject("FIM005List", commonCodes.get("FIM005")); - mav.addObject("FIM010List", commonCodes.get("FIM010")); - mav.addObject("FIM054List", commonCodes.get("FIM054")); - mav.addObject("TaskListForSgg", stngBean.filterTaskSectionCodeForSgg(commonCodes.get("FIM054"))); - addCodes(commonCodes, mav, "FIM002", "FIM003", "FIM010", "FIM022", "FIM026", "FIM034"); - return mav; - } - - /**단속자료 목록을 조회한다.
    - * {@link CrdnService#getCrackdownList(CrdnQuery)} 참고 - * @param query 단속자료 목록 조회 조건 - * @return jsonView - */ - @Task - @RequestMapping(name="단속자료 목록", value=METHOD_URL.getCrackdownList) - public ModelAndView getCrackdownList(CrdnQuery query) { - setFetchSize(query); - - FimsUser currentUser = (FimsUser) currentUser().getUser(); - String sggCd = currentUser.getOrgID(); - query.setSggCd(sggCd); - - if("xls".equals(query.getDownload())) { - List cellDefs = fromJson(query.getCellDefs(), CellDef.listType()); - if(ifEmpty(query.getIncludePhoto(), () -> "").equals("Y")) { - cellDefs.add((new CellDef()).setLabel("사진1").setWidth(18).setField("CRDN_PHOTO_PATH1")); - cellDefs.add((new CellDef()).setLabel("사진2").setWidth(18).setField("CRDN_PHOTO_PATH2")); - } - - XLSWriter xlsx = new XLSWriter().worksheet(0); - Format format = new Format(xlsx); - Comment comment = new Comment(xlsx); - - CellStyle center = format.cellStyle(Style.CENTER); - CellStyle left = format.cellStyle(Style.LEFT); - CellStyle numeric = format.n_nn0(); - CellStyle dateYMD = format.yyyy_mm_dd(); - CellStyle dateDT = format.yyyy_mm_dd_hh_mm_ss(); - - Map valueMap = new HashMap(); - for(CellDef def : cellDefs) { - switch(def.getLabel()) { - case "자료출처"->{ valueMap.put("자료출처", format.of("CRDN_INPT_SE_NM").style(center)); } - case "차량번호"->{ valueMap.put("차량번호", left); } - case "위반일시"->{ valueMap.put("위반일시", FormatMaker.yyyy_mm_dd_hh_mm_ss(format,"CRDN_YMD_TM").style(dateDT)); } - case "단속장소"->{ valueMap.put("단속장소", left); } - case "사진건수"->{ valueMap.put("사진건수", center); } - case "스티커번호"->{ valueMap.put("스티커번호", left); } - case "장애차량확인"->{ valueMap.put("장애차량확인", format.of("PRK_PSBLTY_RSLT_NM").style(center)); } - case "처리상태"->{ valueMap.put("처리상태", format.of("CRDN_STTS_NM").style(center)); } - case "제외사유"->{ valueMap.put("제외사유", format.of("LEVY_EXCL_RSN_NM").style(center)); } - case "제외처리일자"->{ valueMap.put("제외처리일자", FormatMaker.yyyy_mm_dd(format,"LEVY_EXCL_YMD").style(dateYMD)); } - case "제외내역"->{ valueMap.put("제외내역", left); } - case "사진1"->{ valueMap.put("사진1", FormatMaker.photoCellForApproval(format, comment, "CRDN_PHOTO_PATH1")); } - case "사진2"->{ valueMap.put("사진2", FormatMaker.photoCellForApproval(format, comment, "CRDN_PHOTO_PATH2")); } - } - } - CellDef.setValues(cellDefs, valueMap); - - List list = crdnService.getCrackdownList(query.setFetchSize(0)); - if(ifEmpty(query.getIncludePhoto(), () -> "").equals("Y")) { - for(DataObject crdn : list) { - String crdnId = crdn.string("CRDN_ID"); - FileQuery fileQuery = new FileQuery(); - fileQuery.setInfoType(Crdn.INF_TYPE); - fileQuery.setInfoKeys(crdnId); - List fileInfoList = fileBean.getFileList(fileQuery); - - if(fileInfoList != null && fileInfoList.size() > 0) { - for(int j=0; (j < fileInfoList.size()) && (j < 2); j++) { - crdn.set("CRDN_PHOTO_PATH"+(j+1), fileInfoList.get(j).string("FILE_PATH")); - } - } - } - } - - xlsx.cell(0, 0).value("단속자료 목록").value(center).merge(0, cellDefs.size()-1); - xlsx.cell(3, 0).rowValues(CellDef.header(cellDefs, () -> StyleMaker.headerStyle(xlsx))); - xlsx.cell(4, 0).values(list, CellDef.values(cellDefs.stream().map(i -> {if(i.getValue() instanceof Format) {i.setField(null);}; return i;}).toList())); - - ModelAndView mav = new ModelAndView("downloadView"); - mav.addObject("download", xlsx.getDownloadable().setFilename("단속자료 목록.xlsx")); - mav.addObject("downloadData", list); - mav.addObject("dataNames", cellDefs.stream().map(CellDef::getLabel).toList()); - return mav; - } - - return setCollectionInfo(new ModelAndView("jsonView"), crdnService.getCrackdownList(query),"",""); - } - - /**지정한 단속 ID에 해당하는 단속 대장를 제거한다. - * @param crdnID 단속 ID - * @return jsonView - *
     {
    -	 *     "affected": 저장된 정보수
    -	 *     "saved": 저장되었으면 true, 그렇지 않으면 false
    -	 * }
    - */ - @Task - @RequestMapping(name="단속자료 삭제", value=METHOD_URL.removeCrackdown) - public ModelAndView removeCrackdown(Crdn crdn) { - boolean saved = false; - String rtnMsg = crdnService.removeCrackdown(crdn); - - if (rtnMsg.contains("[S]")) { - saved = true; - } else { - saved = false; - } - - return new ModelAndView("jsonView") - .addObject("saved", saved) - .addObject("rtnMsg", rtnMsg); - } - - /**지정한 단속 ID에 해당하는 납부자 ID를 제거한다. - * @param crdnID 단속 ID - * @return jsonView - *
     {
    -	 *     "affected": 저장된 정보수
    -	 *     "saved": 저장되었으면 true, 그렇지 않으면 false
    -	 * }
    - */ - @Task - @RequestMapping(name="단속자료 납부자 삭제", value=METHOD_URL.removeCrackdownPayer) - public ModelAndView removeCrackdownPayer(Crdn crdn) { - boolean saved = false; - String rtnMsg = crdnService.removeCrackdownPayer(crdn); - - if (rtnMsg.contains("[S]")) { - saved = true; - } else { - saved = false; - } - - return new ModelAndView("jsonView") - .addObject("saved", saved) - .addObject("rtnMsg", rtnMsg); - } - - /**지정한 조회조건으로 단속 건수를 반환한다. - * @param CrdnQuery 조회조건 - * @return jsonView - */ - @Task - @RequestMapping(name="단속 건수 조회", value=METHOD_URL.countCrdn) - public ModelAndView countCrdn(CrdnQuery crdnQuery) { - ModelAndView mav = new ModelAndView("jsonView"); - - int crdnCount = crdnService.countCrdn(crdnQuery); - - mav.addObject("crdnCount", crdnCount); - - return mav; - } - - /**지정한 ID의 단속 정보(info)를 반환한다. - * @param query 단속 대장 조회 조건 - * @return fims/crdn/crdn06020-info 또는 jsonView - *
    {
    -	 *     "crdnInfo": 단속 정보
    -	 * }
    - */ - @Task - @RequestMapping(name="단속자료 상세 조회", value=METHOD_URL.getCrackdownInfo) - public ModelAndView getCrackdownInfo(HttpServletRequest hReq, CrdnQuery query) { - DataObject crdnInfo = crdnService.getCrackdownInfo(query); - - boolean json = jsonResponse(); - - ModelAndView mav = new ModelAndView(json ? "jsonView" : "fims/crdn/crdn06020-info"); - - // 법정동 - FimsUser currentUser = (FimsUser) currentUser().getUser(); - String sggCd = currentUser.getOrgID(); - List stdgNmList = crdnStngMapper.selectStdgNmList(sggCd); - mav.addObject("stdgNmList", stdgNmList); - - // 공통코드 - 위반 내역 코드 - String vltnByTask = ""; - - switch(query.getTaskSeCd()) { - case "PVS" -> { vltnByTask = "FIM004"; } - case "BPV" -> { vltnByTask = "FIM005"; } - case "DPV" -> { vltnByTask = "FIM006"; } - case "ECA" -> { vltnByTask = "FIM061"; } - case "PES" -> { vltnByTask = "FIM064"; } - } - - Map> commonCodes = getCodesOf("CMN006", "FIM011","FIM053","LVS005",vltnByTask); - mav.addObject("CMN006List", commonCodes.get("CMN006")); - mav.addObject("FIM011List", commonCodes.get("FIM011")); - mav.addObject("FIM053List", commonCodes.get("FIM053")); - mav.addObject("LVS005List", commonCodes.get("LVS005")); - mav.addObject("VLTNList", commonCodes.get(vltnByTask)); - - // 단속조 - List teamList = crdnStngService.getTeamList(query); - - // 단속부가정보(TB_CRDN_ADI) 공통코드 - switch(query.getTaskSeCd()) { - case "PVS" -> { - commonCodes = getCodesOf("FIM002","FIM007","FIM009"); - mav.addObject("FIM002List", commonCodes.get("FIM002")); - mav.addObject("FIM007List", commonCodes.get("FIM007")); - mav.addObject("FIM009List", commonCodes.get("FIM009")); - mav.addObject("TeamList", teamList); - } - case "BPV" -> { - commonCodes = getCodesOf("FIM002","FIM009"); - mav.addObject("FIM002List", commonCodes.get("FIM002")); - mav.addObject("FIM009List", commonCodes.get("FIM009")); - mav.addObject("TeamList", teamList); - } - case "DPV" -> { - commonCodes = getCodesOf("FIM034"); - mav.addObject("FIM034List", commonCodes.get("FIM034")); - } - case "ECA" -> { } - case "PES" -> { } - } - - return mav - .addObject("openerPageName", hReq.getParameter("openerPageName")) // 호출한 Jsp PageName - .addObject("pageName", "crdn06020") // jsp pageName - .addObject("infoPrefix", "crdn") // prefix - .addObject("infoPrefixUrl", CLASS_URL) // prefixUrl - .addObject("crdnInfo", json ? crdnInfo : toJson(crdnInfo)) - ; - } - - /**지정한 단속 ID에 해당하는 단속 대장를 수정한다. - * @param crdnID 단속 ID - * @return jsonView - *
     {
    -	 *     "affected": 저장된 정보수
    -	 *     "saved": 저장되었으면 true, 그렇지 않으면 false
    -	 * }
    - */ - @Task - @RequestMapping(name="단속자료 수정", value=METHOD_URL.updateCrackdown) - public ModelAndView updateCrackdown(Crdn crdn) { - boolean saved = false; - String rtnMsg = crdnService.updateCrackdown(crdn); - - if (rtnMsg.contains("[S]")) { - saved = true; - } else { - saved = false; - } - - return new ModelAndView("jsonView") - .addObject("saved", saved) - .addObject("rtnMsg", rtnMsg); - } - - /**지정한 ID의 단속 처리 상태 정보(info)를 반환한다. - * @param query 단속 대장 조회 조건 - * @return fims/crdn/crdn06030-info 또는 jsonView - *
    {
    -	 *     "crdnInfo": 단속 정보
    -	 * }
    - */ - @Task - @RequestMapping(name="단속자료 상태 조회", value=METHOD_URL.getCrackdownStatusInfo) - public ModelAndView getCrackdownStatusInfo(HttpServletRequest hReq, CrdnQuery query) { - DataObject crdnInfo = crdnService.getCrackdownInfo(query); - - boolean json = jsonResponse(); - - ModelAndView mav = new ModelAndView(json ? "jsonView" : "fims/crdn/crdn06030-info"); - - Map> commonCodes = getCodesOf("FIM010"); - - return mav - .addObject("openerPageName", hReq.getParameter("openerPageName")) // 호출한 Jsp PageName - .addObject("pageName", "crdn06030") // jsp pageName - .addObject("infoPrefix", "crdnSttsCd") // prefix - .addObject("infoPrefixUrl", CLASS_URL) // prefixUrl - .addObject("FIM010List", commonCodes.get("FIM010")) // 단속 처리 상태 코드(CRDN_STTS_CD) - .addObject("crdnSttsCdInfo", json ? crdnInfo : toJson(crdnInfo)) - ; - } - - /**지정한 단속 ID에 해당하는 단속 처리 상태를 수정한다. - * @param crdnID 단속 ID - * @return jsonView - *
     {
    -	 *     "affected": 저장된 정보수
    -	 *     "saved": 저장되었으면 true, 그렇지 않으면 false
    -	 * }
    - */ - @Task - @RequestMapping(name="단속처리상태 수정", value=METHOD_URL.updateCrackdownStatus) - public ModelAndView updateCrackdownStatus(Crdn crdn) { - boolean saved = false; - String rtnMsg = crdnService.updateCrackdownStatus(crdn); - - if (rtnMsg.contains("[S]")) { - saved = true; - } else { - saved = false; - } - - return new ModelAndView("jsonView") - .addObject("saved", saved) - .addObject("rtnMsg", rtnMsg); - } - -} diff --git a/src/main/java/cokr/xit/fims/crdn/web/Crdn07Controller.java b/src/main/java/cokr/xit/fims/crdn/web/Crdn07Controller.java deleted file mode 100644 index 7298fea8..00000000 --- a/src/main/java/cokr/xit/fims/crdn/web/Crdn07Controller.java +++ /dev/null @@ -1,168 +0,0 @@ -package cokr.xit.fims.crdn.web; - -import java.util.List; -import java.util.Map; - -import javax.annotation.Resource; - -import org.springframework.stereotype.Controller; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.servlet.ModelAndView; - -import cokr.xit.base.code.CommonCode; -import cokr.xit.base.user.dao.UserMapper; -import cokr.xit.base.web.ApplicationController; -import cokr.xit.fims.base.FimsUser; -import cokr.xit.fims.cmmn.service.bean.StngBean; -import cokr.xit.fims.crdn.CrdnQuery; -import cokr.xit.fims.crdn.Team; -import cokr.xit.fims.crdn.service.CrdnStngService; -import cokr.xit.fims.task.Task; - -/**단속팀 관리 서비스 웹 컨트롤러.
    - * {웹 컨텍스트}/crdn/crdn07 로 접근할 수 있다. - * @author leebj - */ -@Controller -@RequestMapping(name="단속팀 관리", value=Crdn07Controller.CLASS_URL) -public class Crdn07Controller extends ApplicationController { - - public static final String CLASS_URL = "/crdn/crdn07"; - - public class METHOD_URL { - public static final String - crackdownTeamManagementMain = "/010/main.do" - , getTeamList = "/010/list.do" - , getRemovedTeamList = "/010/removedTeamList.do" - , removeTeamInfo = "/010/remove.do" - , saveTeamInfo = "/010/save.do" - , getTeamInfo = "/010/info.do" - ; - } - - @Resource(name="crdnStngService") - private CrdnStngService crdnStngService; - - @Resource(name="userMapper") - protected UserMapper userMapper; - - @Resource(name = "stngBean") - private StngBean stngBean; - - /** 단속팀 관리 메인화면을 연다. - * @return fims/crdn/crdn07010-main - */ - @RequestMapping(name="단속팀 관리 메인", value=METHOD_URL.crackdownTeamManagementMain) - public ModelAndView crackdownTeamManagementMain() { - ModelAndView mav = new ModelAndView(); - mav.setViewName("fims/crdn/crdn07010-main"); - mav.addObject("pageName", "crdn07010"); - - Map> commonCodes = getCodesOf("FIM054","FIM071","FIM002"); - mav.addObject("FIM054List", commonCodes.get("FIM054")); - mav.addObject("TaskListForSgg", stngBean.filterTaskSectionCodeForSgg(commonCodes.get("FIM054"))); - mav.addObject("FIM071List", commonCodes.get("FIM071")); - mav.addObject("FIM002List", commonCodes.get("FIM002")); - addCodes(commonCodes, mav, "FIM054"); - addCodes(commonCodes, mav, "FIM071"); - addCodes(commonCodes, mav, "FIM002"); - return mav; - } - - /**단속팀 목록을 조회한다.
    - * {@link CrdnStngService#getTeamList(query)} 참고 - * @param crdn 단속 - * @return jsonView - */ - @Task({"PVS","BPV"}) - @RequestMapping(name="단속팀 목록 조회", value=METHOD_URL.getTeamList) - public ModelAndView getTeamList(CrdnQuery query) { - ModelAndView mav = new ModelAndView("jsonView"); - - FimsUser currentUser = (FimsUser) currentUser().getUser(); - String sggCd = currentUser.getOrgID(); - query.setSggCd(sggCd); - return setCollectionInfo(mav, crdnStngService.getTeamList(query),"",""); - } - - /**비사용 단속팀 목록을 조회한다.
    - * {@link CrdnStngService#getRemovedTeamList(query)} 참고 - * @param crdn 단속 - * @return jsonView - */ - @Task({"PVS","BPV"}) - @RequestMapping(name="비사용 단속팀 목록 조회", value=METHOD_URL.getRemovedTeamList) - public ModelAndView getRemovedTeamList(CrdnQuery query) { - ModelAndView mav = new ModelAndView("jsonView"); - - FimsUser currentUser = (FimsUser) currentUser().getUser(); - String sggCd = currentUser.getOrgID(); - query.setSggCd(sggCd); - - return setCollectionInfo(mav, crdnStngService.getRemovedTeamList(query),"",""); - } - - /** 단속팀 정보를 삭제한다. - * {@link CrdnStngService#removeTeamInfo(exmptnVhclId)} 참고 - * @param teamId 단속팀 ID - * @return jsonView - *
     {
    -	 *     "saved": 저장되었으면 true, 그렇지 않으면 false
    -	 * }
    - */ - @Task({"PVS","BPV"}) - @RequestMapping(name="단속팀 정보 삭제", value=METHOD_URL.removeTeamInfo) - public ModelAndView removeTeamInfo(String teamId) { - - boolean saved = false; - - String rtnMsg = crdnStngService.removeTeamInfo(teamId); - if(rtnMsg.contains("[S]")) { - saved = true; - } - return new ModelAndView("jsonView") - .addObject("saved", saved); - - } - - /** 단속팀 정보를 저장한다. - * {@link CrdnStngService#saveTeamInfo(team)} 참고 - * @param team 단속팀 정보 - * @return jsonView - *
     {
    -	 *     "saved": 저장되었으면 true, 그렇지 않으면 false
    -	 * }
    - */ - @Task({"PVS","BPV"}) - @RequestMapping(name="단속팀 정보 저장", value=METHOD_URL.saveTeamInfo) - public ModelAndView saveTeamInfo(Team team) { - - boolean saved = false; - - FimsUser currentUser = (FimsUser) currentUser().getUser(); - String sggCd = currentUser.getOrgID(); - team.setSggCd(sggCd); - - String rtnMsg = crdnStngService.saveTeamInfo(team); - if(rtnMsg.contains("[S]")) { - saved = true; - } - return new ModelAndView("jsonView") - .addObject("saved", saved); - - } - - /**단속팀 정보를 조회한다.
    - * {@link CrdnStngService#getTeamInfo(String)} 참고 - * @param crdn 단속 - * @return jsonView - */ - @Task({"PVS","BPV"}) - @RequestMapping(name="단속팀 정보 조회", value=METHOD_URL.getTeamInfo) - public ModelAndView getTeamInfo(String teamId) { - ModelAndView mav = new ModelAndView("jsonView"); - mav.addObject("teamInfo", crdnStngService.getTeamInfo(teamId)); - return mav; - } - -} diff --git a/src/main/java/cokr/xit/fims/crdn/web/Crdn08Controller.java b/src/main/java/cokr/xit/fims/crdn/web/Crdn08Controller.java deleted file mode 100644 index 483c594d..00000000 --- a/src/main/java/cokr/xit/fims/crdn/web/Crdn08Controller.java +++ /dev/null @@ -1,244 +0,0 @@ -package cokr.xit.fims.crdn.web; - -import java.util.HashMap; -import java.util.List; -import java.util.Map; - -import javax.annotation.Resource; - -import org.apache.poi.ss.usermodel.CellStyle; -import org.springframework.stereotype.Controller; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.servlet.ModelAndView; - -import cokr.xit.base.code.CommonCode; -import cokr.xit.base.docs.xls.CellDef; -import cokr.xit.base.docs.xls.Format; -import cokr.xit.base.docs.xls.Style; -import cokr.xit.base.docs.xls.XLSWriter; -import cokr.xit.base.user.dao.UserMapper; -import cokr.xit.base.web.ApplicationController; -import cokr.xit.fims.base.FimsUser; -import cokr.xit.fims.cmmn.xls.FormatMaker; -import cokr.xit.fims.cmmn.xls.StyleMaker; -import cokr.xit.fims.crdn.CrdnQuery; -import cokr.xit.fims.crdn.ExmptnVhcl; -import cokr.xit.fims.crdn.service.CrdnStngService; -import cokr.xit.fims.task.Task; -import cokr.xit.foundation.data.DataObject; - -/**면제차량 관리 서비스 웹 컨트롤러.
    - * {웹 컨텍스트}/crdn/crdn08 로 접근할 수 있다. - * @author leebj - */ -@Controller -@RequestMapping(name="면제차량 관리", value=Crdn08Controller.CLASS_URL) -public class Crdn08Controller extends ApplicationController { - - public static final String CLASS_URL = "/crdn/crdn08"; - - public class METHOD_URL { - public static final String - exemptionVehicleManagementMain = "/010/main.do" - , getExemptionVehicleList = "/010/list.do" - , removeExemptionVehicleInfo = "/010/remove.do" - , getExemptionVehicleInfo = "/020/info.do" - , createExemptionVehicleInfo = "/020/create.do" - , updateExemptionVehicleInfo = "/020/update.do" - , getExemptionVehicleHistoryList = "/030/list.do" - ; - } - - @Resource(name="crdnStngService") - private CrdnStngService crdnStngService; - - @Resource(name="userMapper") - private UserMapper userMapper; - - /** 면제차량 관리 메인화면을 연다. - * @return fims/crdn/crdn08010-main - */ - @RequestMapping(name="면제차량 관리", value=METHOD_URL.exemptionVehicleManagementMain) - public ModelAndView exemptionVehicleManagementMain() { - ModelAndView mav = new ModelAndView(); - mav.setViewName("fims/crdn/crdn08010-main"); - mav.addObject("pageName", "crdn08010"); - - Map> commonCodes = getCodesOf("NTR034"); - addCodes(commonCodes, mav, "NTR034"); - return mav; - } - - /**면제차량 목록을 조회한다.
    - * {@link CrdnStngService#getExemptionVehicleList(CrdnQuery)} 참고 - * @param query 면제차량 목록 조회 조건 - * @return jsonView - */ - @Task("BPV") - @RequestMapping(name="면제차량 목록 조회", value=METHOD_URL.getExemptionVehicleList) - public ModelAndView getExemptionVehicleList(CrdnQuery query) { - - FimsUser currentUser = (FimsUser) currentUser().getUser(); - String sggCd = currentUser.getOrgID(); - query.setSggCd(sggCd); - - if("xls".equals(query.getDownload())) { - List cellDefs = fromJson(query.getCellDefs(), CellDef.listType()); - - XLSWriter xlsx = new XLSWriter().worksheet(0); - Format format = new Format(xlsx); - CellStyle center = format.cellStyle(Style.CENTER); - CellStyle left = format.cellStyle(Style.LEFT); - CellStyle numeric = format.n_nn0(); - CellStyle dateYMD = format.yyyy_mm_dd(); - CellStyle dateDT = format.yyyy_mm_dd_hh_mm_ss(); - - List list = crdnStngService.getExemptionVehicleList(query.setFetchSize(0)); - - Map valueMap = new HashMap(); - valueMap.put("차량번호", format.of("VHRNO")); - valueMap.put("사유", format.of("EXMPTN_RSN")); - valueMap.put("공문번호", format.of("DOC_NO")); - valueMap.put("소유주명", format.of("OWNR_NM")); - valueMap.put("면제시작일", FormatMaker.yyyy_mm_dd(format, "EXMPTN_BGNG_YMD").style(dateYMD)); - valueMap.put("면제종료일", FormatMaker.yyyy_mm_dd(format, "EXMPTN_END_YMD").style(dateYMD)); - valueMap.put("입력자", format.of("RGTR_NM")); - valueMap.put("입력일시", FormatMaker.yyyy_mm_dd_hh_mm_ss(format, "REG_DT").style(dateDT)); - valueMap.put("수정자", format.of("MDFR_NM")); - valueMap.put("수정일시", FormatMaker.yyyy_mm_dd_hh_mm_ss(format, "MDFCN_DT").style(dateDT)); - valueMap.put("삭제자", format.of("DLTR_NM")); - valueMap.put("삭제사유", format.of("DEL_RSN")); - valueMap.put("삭제일시", FormatMaker.yyyy_mm_dd_hh_mm_ss(format, "DEL_DT").style(dateDT)); - CellDef.setValues(cellDefs, valueMap); - - xlsx.cell(0, 0).value("면제차량 목록").value(center).merge(0, cellDefs.size()-1) - .cell(3, 0).rowValues(CellDef.header(cellDefs, () -> StyleMaker.headerStyle(xlsx))) - .cell(4, 0).values(list, CellDef.values(cellDefs.stream().map(i -> {if(i.getValue() instanceof Format) {i.setField(null);}; return i;}).toList())); - - return new ModelAndView("downloadView").addObject("download", xlsx.getDownloadable().setFilename("면제차량 목록.xlsx")) - .addObject("downloadData", list).addObject("dataNames", cellDefs.stream().map(CellDef::getLabel).toList()); - } - - setFetchSize(query); - return setCollectionInfo(new ModelAndView("jsonView"), crdnStngService.getExemptionVehicleList(query),"",""); - } - - /**면제차량 상세조회 팝업 화면을 연다.
    - * @return fims/crdn/crdn08020-info - */ - @Task("BPV") - @RequestMapping(name="면제차량 정보 조회", value=METHOD_URL.getExemptionVehicleInfo) - public ModelAndView getExemptionVehicleInfo(String exmptnVhclId) { - - ModelAndView mav = new ModelAndView("fims/crdn/crdn08020-info"); - mav.addObject("pageName", "crdn08020"); - - DataObject info = new DataObject(); - - if(!ifEmpty(exmptnVhclId, () -> "").equals("")) { - info = crdnStngService.getExemptionVehicleInfo(exmptnVhclId); - } - mav.addObject("exmptnVhclInfo", toJson(info)); - - return mav; - } - - /** 면제차량 정보를 등록한다. - * {@link CrdnStngService#createExemptionVehicleInfo(exmptnVhcl)} 참고 - * @param exmptnVhcl 면제차량 정보 - * @return jsonView - *
     {
    -	 *     "saved": 저장되었으면 true, 그렇지 않으면 false
    -	 * }
    - */ - @Task("BPV") - @RequestMapping(name="면제차량 정보 등록", value=METHOD_URL.createExemptionVehicleInfo) - public ModelAndView createExemptionVehicleInfo(ExmptnVhcl exmptnVhcl) { - ModelAndView mav = new ModelAndView("jsonView"); - - FimsUser currentUser = (FimsUser) currentUser().getUser(); - exmptnVhcl.setSggCd(currentUser.getOrgID()); - - boolean saved = false; - - String rtnMsg = crdnStngService.createExemptionVehicleInfo(exmptnVhcl); - if(rtnMsg.contains("[S]")) { - saved = true; - } - mav.addObject("saved", saved); - return mav; - - } - - /** 면제차량 정보를 수정한다. - * {@link CrdnStngService#updateExemptionVehicleInfo(exmptnVhcl)} 참고 - * @param exmptnVhcl 면제차량 정보 - * @return jsonView - *
     {
    -	 *     "saved": 저장되었으면 true, 그렇지 않으면 false
    -	 * }
    - */ - @Task("BPV") - @RequestMapping(name="면제차량 정보 수정", value=METHOD_URL.updateExemptionVehicleInfo) - public ModelAndView updateExemptionVehicleInfo(ExmptnVhcl exmptnVhcl) { - ModelAndView mav = new ModelAndView("jsonView"); - - FimsUser currentUser = (FimsUser) currentUser().getUser(); - exmptnVhcl.setSggCd(currentUser.getOrgID()); - - boolean saved = false; - - String rtnMsg = crdnStngService.updateExemptionVehicleInfo(exmptnVhcl); - if(rtnMsg.contains("[S]")) { - saved = true; - } - mav.addObject("saved", saved); - return mav; - - } - - /** 면제차량 정보를 삭제한다. - * {@link CrdnStngService#removeExemptionVehicleInfo(exmptnVhclId)} 참고 - * @param exmptnVhcl 면제차량 정보 - * @return jsonView - *
     {
    -	 *     "saved": 저장되었으면 true, 그렇지 않으면 false
    -	 * }
    - */ - @Task("BPV") - @RequestMapping(name="면제차량 정보 삭제", value=METHOD_URL.removeExemptionVehicleInfo) - public ModelAndView removeExemptionVehicleInfo(ExmptnVhcl exmptnVhcl) { - ModelAndView mav = new ModelAndView("jsonView"); - - boolean saved = false; - - String rtnMsg = crdnStngService.removeExemptionVehicleInfo(exmptnVhcl); - if(rtnMsg.contains("[S]")) { - saved = true; - } - mav.addObject("saved", saved); - return mav; - - } - - /**면제차량 이력을 조회한다.
    - * {@link CrdnStngService#getExemptionVehicleHistoryList(CrdnQuery)} 참고 - * @param exmptnVhclId 면제차량 ID - * @return jsonView - */ - @Task("BPV") - @RequestMapping(name="면제차량 이력 조회", value=METHOD_URL.getExemptionVehicleHistoryList) - public ModelAndView getExemptionVehicleHistoryList(String exmptnVhclId) { - - ModelAndView mav = new ModelAndView("fims/crdn/crdn08030-info"); - mav.addObject("pageName", "crdn08030"); - - List list = crdnStngService.getExemptionVehicleHistoryList(exmptnVhclId); - - mav.addObject("list", toJson(list)); - - Map> commonCodes = getCodesOf("NTR034"); - addCodes(commonCodes, mav, "NTR034"); - return mav; - } -} diff --git a/src/main/java/cokr/xit/fims/cvlc/CrdnCvlcpt.java b/src/main/java/cokr/xit/fims/cvlc/CrdnCvlcpt.java deleted file mode 100644 index 613d7dd9..00000000 --- a/src/main/java/cokr/xit/fims/cvlc/CrdnCvlcpt.java +++ /dev/null @@ -1,221 +0,0 @@ -package cokr.xit.fims.cvlc; - -import cokr.xit.foundation.AbstractEntity; -import lombok.Getter; -import lombok.Setter; - -/** - * 단속 민원 대장 - * @author mjkhan - */ -@Getter -@Setter -public class CrdnCvlcpt extends AbstractEntity { - - public static String MACRO_SEQ = "\\[@일련번호\\]"; - - public static String MACRO_TELNO = "\\[@전화번호\\]"; - - public static String MACRO_PIC_NM = "\\[@담당자성명\\]"; - - /** - * 민원 연계 ID - */ - private java.lang.String cvlcptLinkId; - - /** - * 방해 여부 - */ - private java.lang.String dstrbncYn; - - /** - * 민원 접수 일자 - */ - private java.lang.String cvlcptRcptYmd; - - /** - * 민원 신청 구분 코드 - */ - private java.lang.String cvlcptAplySeCd; - - /** - * 민원 신청 번호 - */ - private java.lang.String cvlcptAplyNo; - - /** - * 민원 접수 번호 - */ - private java.lang.String cvlcptRcptNo; - - /** - * 민원 목록 번호 - */ - private java.lang.String cvlcptListNo; - - /** - * 민원 신청인 명 - */ - private java.lang.String cvlcptAplcntNm; - - /** - * 민원 신청 일시 - */ - private java.lang.String cvlcptAplyDt; - - /** - * 민원 신청 제목 명 - */ - private java.lang.String cvlcptAplyTtlNm; - - /** - * 민원 신청 내용 - */ - private java.lang.String cvlcptAplyCn; - - /** - * 민원 요지 - */ - private java.lang.String cvlcptGist; - - /** - * 민원 처리 담당자 명 - */ - private java.lang.String cvlcptPrcsPicNm; - - /** - * 민원 처리 예정 일시 - */ - private java.lang.String cvlcptPrcsPrnmntDt; - - /** - * 민원 처리 코드 - */ - private java.lang.String cvlcptPrcsCd; - - /** - * 민원 처리 요약 - */ - private java.lang.String cvlcptPrcsSmry; - - /** - * 민원 처리 결과 내용 - */ - private java.lang.String cvlcptPrcsRsltCn; - - /** - * 민원 처리 완료 일시 - */ - private java.lang.String cvlcptPrcsCmptnDt; - - /** - * 민원 처리 담당자 - */ - private java.lang.String cvlcptPrcsPic; - - /** - * 민원 전송 일시 - */ - private java.lang.String cvlcptTrsmDt; - - /** - * 민원 전송 코드 - */ - private java.lang.String cvlcptTrsmCd; - - /** - * 민원 전송 메시지 - */ - private java.lang.String cvlcptTrsmMsg; - - /** - * 삭제 여부 - */ - private java.lang.String delYn; - - /** - * 삭제 사유 - */ - private java.lang.String delRsn; - - /** - * 단속 ID - */ - private java.lang.String crdnId; - - /** - * 시군구 코드 - */ - private java.lang.String sggCd; - - /** - * 업무 구분 코드 - */ - private java.lang.String taskSeCd; - - /** - * 머리말 내용 - */ - private java.lang.String headerCn; - - /** - * 꼬리말 내용 - */ - private java.lang.String footerCn; - - /** - * 답변 문구 ID - */ - private java.lang.String ansWordsId; - - /** - * 답변 구분 코드 - */ - private java.lang.String ansSeCd; - - /** - * 답변 사유 코드 - */ - private java.lang.String ansRsnCd; - - /** - * 답변 사유 명 - */ - private java.lang.String ansRsnNm; - - /** - * 처리 요약 - */ - private java.lang.String prcsSmry; - - /** - * 처리 결과 내용 - */ - private java.lang.String prcsRsltCn; - - /** - * 계도문 제목 - */ - private java.lang.String mailTtlNm; - - /** - * 계도문 내용 - */ - private java.lang.String mailCn; - - /** - * 개별 ID - */ - private java.lang.String indivId; - - /** - * 요청 일자 - */ - private java.lang.String rcptYmd; - - /** - * 게시물 번호 - */ - private java.lang.String pstNo; - -} \ No newline at end of file diff --git a/src/main/java/cokr/xit/fims/cvlc/dao/AnswerWordsMapper.java b/src/main/java/cokr/xit/fims/cvlc/dao/AnswerWordsMapper.java deleted file mode 100644 index ec4a8d3e..00000000 --- a/src/main/java/cokr/xit/fims/cvlc/dao/AnswerWordsMapper.java +++ /dev/null @@ -1,77 +0,0 @@ -package cokr.xit.fims.cvlc.dao; - -import java.util.List; - -import org.egovframe.rte.psl.dataaccess.mapper.Mapper; - -import cokr.xit.fims.crdn.CrdnQuery; -import cokr.xit.fims.cvlc.CrdnCvlcpt; -import cokr.xit.foundation.component.AbstractMapper; -import cokr.xit.foundation.data.DataObject; - -/**민원 답변 문구 관리 DAO - * @author leebj - */ -@Mapper("answerWordsMapper") -public interface AnswerWordsMapper extends AbstractMapper { - - /**지정한 조건에 따라 민원 답변 기본문구를 조회하여 반환한다. - * @param crdnQuery 답변 기본문구 설정 조회조건 - * @return 답변문구 정보 - */ - DataObject selectCvlcptAnswerBasicWordsInfo(CrdnQuery crdnQuery); - - /**지정한 조건에 따라 민원 답변 본문문구를 조회하여 반환한다. - * @param crdnQuery 답변 본문문구 설정 조회조건 - * @return 답변문구 정보 - */ - DataObject selectCvlcptAnswerWordsInfo(CrdnQuery crdnQuery); - - /**지정한 조건에 따라 부과처리일 경우의 민원 답변 본문문구 목록을 조회한다. - * @param crdnQuery 답변 본문 문구 조회조건 - * @return 답변문구 목록 - */ - List selectLevyCaseWordsList(CrdnQuery crdnQuery); - - /**지정한 조건에 따라 계도처리일 경우의 민원 답변 본문문구 목록을 조회한다. - * @param crdnQuery 답변 본문 문구 조회조건 - * @return 답변문구 목록 - */ - List selectWarningCaseWordsList(CrdnQuery crdnQuery); - - /**지정한 조건에 따라 미부과처리일 경우의 민원 답변 본문문구 목록을 조회한다. - * @param crdnQuery 답변 본문 문구 조회조건 - * @return 답변문구 목록 - */ - List selectNonlevyCaseWordsList(CrdnQuery crdnQuery); - - /** 민원답변 기본문구를 등록한다. - * @param crdnCvlcpt 민원답변 기본문구 - * @return 저장된 정보 수 - */ - int insertAnswerBasicWordsInfo(CrdnCvlcpt crdnCvlcpt); - - /** 민원답변 기본문구를 변경한다. - * @param crdnCvlcpt 민원답변 기본문구 - * @return 저장된 정보 수 - */ - int updateAnswerBasicWordsInfo(CrdnCvlcpt crdnCvlcpt); - - /** 민원답변 본문문구를 등록한다. - * @param crdnCvlcpt 민원답변 본문문구 - * @return 저장된 정보 수 - */ - int insertAnswerBodyWordsInfo(CrdnCvlcpt crdnCvlcpt); - - /** 민원답변 본문문구를 변경한다. - * @param crdnCvlcpt 민원답변 본문문구 - * @return 저장된 정보 수 - */ - int updateAnswerBodyWordsInfo(CrdnCvlcpt crdnCvlcpt); - - /** 미부과처리건 민원답변 본문문구를 삭제한다. - * @param crdnCvlcpt 민원답변 정보 - * @return 저장된 정보 수 - */ - int deleteCvlcptAnswerWordsInfo(CrdnCvlcpt crdnCvlcpt); -} diff --git a/src/main/java/cokr/xit/fims/cvlc/dao/CrdnCvlcptMapper.java b/src/main/java/cokr/xit/fims/cvlc/dao/CrdnCvlcptMapper.java deleted file mode 100644 index 7c542e30..00000000 --- a/src/main/java/cokr/xit/fims/cvlc/dao/CrdnCvlcptMapper.java +++ /dev/null @@ -1,129 +0,0 @@ -package cokr.xit.fims.cvlc.dao; - -import java.util.List; -import java.util.Map; - -import org.egovframe.rte.psl.dataaccess.mapper.Mapper; - -import cokr.xit.fims.crdn.CrdnQuery; -import cokr.xit.fims.cvlc.CrdnCvlcpt; -import cokr.xit.foundation.component.AbstractMapper; -import cokr.xit.foundation.data.DataObject; - -/**민원 관리 DAO - * @author leebj - */ -@Mapper("crdnCvlcptMapper") -public interface CrdnCvlcptMapper extends AbstractMapper { - - /** 단속민원을 등록한다. - * @param cvlcpt 단속민원 - * @return 저장된 정보수 - */ - int insertCvlcpt(CrdnCvlcpt cvlcpt); - - /** 민원접수자료 목록을 조회한다.
    - * {@link cokr.xit.fims.cvlc.service.bean.CrdnCvlcptService#getCivilComplaintList(CrdnQuery)} 참고 - * @param query 민원접수자료 목록 조회 조건 - * @return 민원접수자료 목록 - */ - List selectCivilComplaintReceiptDataList(CrdnQuery query); - - /** 민원 원본을 조회한다. - * @param query 민원원본 조회 조건 - * @return 민원원본 - */ - DataObject selectCivilComplaintOriginalInfo(CrdnQuery query); - - /** 민원접수 초기자료 상세 정보를 조회한다. - * @param query 민원접수 초기자료 조회 조건 - * @return 민원접수 초기자료 - */ - DataObject selectCivilComplaintReceiptInitialDataInfo(CrdnQuery query); - - /** 민원의 처리 정보를 수정한다. - * @param crdn 민원정보 - * @return 저장된 정보 수 - */ - int updateCvlcptProcessSection(Map param); - - /** 반송 민원의 처리 정보를 수정한다. - * @param crdn 민원정보 - * @return 저장된 정보 수 - */ - int updateCvlcptProcessSectionForSendBack(CrdnCvlcpt cvlcpt); - - /** 답변 내용을 초기화한다. - * @param crdnCvlcpt 단속민원 - * @return 저장된 정보 수 - */ - int initCvlcptPrcsRsltCn(CrdnCvlcpt crdnCvlcpt); - - /**민원답변대상자료 목록을 조회한다.
    - * {@link cokr.xit.fims.cvlc.service.bean.CrdnCvlcptService#getCivilComplaintList(CrdnQuery)} 참고 - * @param query 민원답변대상자료 목록 조회 조건 - * @return 민원답변대상자료 목록 - */ - List selectCivilComplaintAnswerTargetDataList(CrdnQuery query); - - /**민원자료 목록을 조회한다.
    - * {@link cokr.xit.fims.cvlc.service.bean.CrdnCvlcptService#getCivilComplaintList(CrdnQuery)} 참고 - * @param query 민원자료 목록 조회 조건 - * @return 민원자료 목록 - */ - List selectCivilComplaintList(CrdnQuery query); - - /**지정한 민원 자료의 예정 답변을 조회한다. - * @param crdnId 단속 ID - * @return 민원 예정 답변 - */ - DataObject selectAnswerPreview(String crdnId); - - /**지정한 민원자료의 민원 답변 내용을 변경한다. - * @param crdnCvlcpt 단속민원 정보 - * @return 저장된 정보 수 - */ - int updateAnswerContent(CrdnCvlcpt crdnCvlcpt); - - /**답변대상목록을 단속ID목록으로 조회한다. - * @param crdnIds 단속ID 목록 - * @return 단속민원정보 - */ - List selectAnswerTargetList(String[] crdnIds); - - /**답변대상의 민원전송 상태를 변경한다. - * @param crdnCvlcpt 단속민원정보 - * @return 저장된 정보 수 - */ - int updateAnswerTargetTransmitStatus(CrdnCvlcpt crdnCvlcpt); - - /**민원 연계 ID로 민원처리정보를 조회한다. - * @param cvlcptLinkId 민원 연계 ID - * @return 민원처리정보 - */ - DataObject selectCivilComplaintProcessInfo(String cvlcptLinkId); - - /** 단속정보를 수정한다. - * @param params 단속정보 수정 파라미터 - * @return 저장된 정보 수 - */ - int updateCrdn(Map params); - - /** 단속 부가정보를 수정한다. - * @param params 단속정보 수정 파라미터 - * @return 저장된 정보 수 - */ - int updateCrdnAddition(Map params); - - /** 지정한 단속자료로 단속대장을 복사 등록 처리한다. - * @param params 단속정보 등록 파라미터 - * @return 저장된 정보 수 - */ - int insertCrdnFromSelect(DataObject params); - - /** 지정한 단속자료로 단속부가정보대장을 복사 등록 처리한다. - * @param params 단속정보 등록 파라미터 - * @return 저장된 정보 수 - */ - int insertCrdnAdditionFromSelect(DataObject params); -} diff --git a/src/main/java/cokr/xit/fims/cvlc/dao/SaCvlcptIndviDmndMapper.java b/src/main/java/cokr/xit/fims/cvlc/dao/SaCvlcptIndviDmndMapper.java deleted file mode 100644 index eddc054c..00000000 --- a/src/main/java/cokr/xit/fims/cvlc/dao/SaCvlcptIndviDmndMapper.java +++ /dev/null @@ -1,37 +0,0 @@ -package cokr.xit.fims.cvlc.dao; - -import java.util.List; -import java.util.Map; - -import org.egovframe.rte.psl.dataaccess.mapper.Mapper; - -import cokr.xit.fims.crdn.CrdnQuery; -import cokr.xit.fims.cvlc.CrdnCvlcpt; -import cokr.xit.foundation.component.AbstractMapper; -import cokr.xit.foundation.data.DataObject; - -/**새올 민원 개별 요청 관리 DAO - * @author leebj - */ -@Mapper("saCvlcptIndviDmndMapper") -public interface SaCvlcptIndviDmndMapper extends AbstractMapper { - - /**지정한 조건에 따라 새올요청자료 목록을 조회한다. - * @param crdnQuery 새올요청자료 목록 조회조건 - * @return 새올요청자료 목록 - */ - List selectDmndDataList(CrdnQuery query); - - /** 새올 요청자료를 등록한다. - * @param crdnCvlcpt 새올 요청자료 정보 - * @return 저장된 정보 수 - */ - int insertDmndDataInfo(CrdnCvlcpt crdnCvlcpt); - - /** 새올 요청자료를 삭제한다. - * @param map 삭제 요청 파라미터 - * @return 저장된 정보 수 - */ - int deleteDmndDataInfo(Map map); - -} diff --git a/src/main/java/cokr/xit/fims/cvlc/dao/WarningWordsMapper.java b/src/main/java/cokr/xit/fims/cvlc/dao/WarningWordsMapper.java deleted file mode 100644 index c22aa7ac..00000000 --- a/src/main/java/cokr/xit/fims/cvlc/dao/WarningWordsMapper.java +++ /dev/null @@ -1,36 +0,0 @@ -package cokr.xit.fims.cvlc.dao; - -import java.util.List; - -import org.egovframe.rte.psl.dataaccess.mapper.Mapper; - -import cokr.xit.fims.crdn.CrdnQuery; -import cokr.xit.fims.cvlc.CrdnCvlcpt; -import cokr.xit.foundation.component.AbstractMapper; -import cokr.xit.foundation.data.DataObject; - -/**계도문 문구 관리 DAO - * @author leebj - */ -@Mapper("warningWordsMapper") -public interface WarningWordsMapper extends AbstractMapper { - - /**지정한 조건에 따라 계도문 문구 대장을 조회하여 반환한다. - * @param crdnQuery 계도문 문구 조회 파라미터 - * @return 계도문 문구 설정 정보 - */ - List selectWarningWordsList(CrdnQuery crdnQuery); - - /**계도문 문구를 등록한다. - * @param crdnCvlcpt 계도문 문구 - * return 저장된 정보 수 - */ - int insertWarningWordsInfo(CrdnCvlcpt crdnCvlcpt); - - /**계도문 문구를 변경한다. - * @param crdnCvlcpt 계도문 문구 - * return 저장된 정보 수 - */ - int updateWarningWordsInfo(CrdnCvlcpt crdnCvlcpt); - -} diff --git a/src/main/java/cokr/xit/fims/cvlc/service/CrdnCvlcptService.java b/src/main/java/cokr/xit/fims/cvlc/service/CrdnCvlcptService.java deleted file mode 100644 index 1ee5fae8..00000000 --- a/src/main/java/cokr/xit/fims/cvlc/service/CrdnCvlcptService.java +++ /dev/null @@ -1,125 +0,0 @@ -package cokr.xit.fims.cvlc.service; - -import java.util.List; -import java.util.Map; - -import cokr.xit.fims.crdn.Crdn; -import cokr.xit.fims.crdn.CrdnQuery; -import cokr.xit.fims.cvlc.CrdnCvlcpt; -import cokr.xit.foundation.data.DataObject; - -public interface CrdnCvlcptService { - - /** 민원 목록을 조회한다. - * @param query 조회 요청 - * @return 민원 목록 - */ - List getCivilComplaintList(CrdnQuery query); - - /** 민원접수 초기자료 상세정보를 조회한다. - * @param query 조회 요청 - * @return 민원초기자료 정보 - */ - DataObject getCivilComplaintReceiptInitialDataInfo(CrdnQuery query); - - /** 지정한 민원자료의 원본 상세정보를 조회한다. - * @param query 조회 요청 - * @return 민원원본정보 - */ - DataObject getCivilComplaintOriginalInfo(CrdnQuery query); - - /** 지정한 민원자료의 답변 미리보기 정보를 조회한다. - * @param query 조회 요청 - * @return 민원 답변 정보 - */ - DataObject getAnswerPreview(CrdnQuery query); - - /** 민원 자료에 대해 반송(회수)처리한다. - * @param crdnID 단속ID - * @return 저장여부 - */ - String sendBackCivilComplaintInfo(String crdnId); - - /** 부과요청 민원에 대한 수용 처리구분을 변경한다. - * @param nonQueryRequest 처리 요청, crdnCvlcpt 단속민원정보, crdn 단속정보 - * @return 저장여부 - */ - String updateCvlcptProcessSection(Map nonQueryRequest, CrdnCvlcpt crdnCvlcpt, Crdn crdn); - - /** 단속민원 자료를 복사하여 신규단속자료를 생성한다. - * @param crdnId 단속 ID - * @return 저장여부 - */ - String copyCvlcptCrdnInfo(String crdnId); - - /** 단속민원의 답변내용을 변경한다. - * @param crdnCvlcpt 단속민원정보 - * @return 저장여부 - */ - String updateAnswerContent(CrdnCvlcpt crdnCvlcpt); - - /** 민원답변대상의 처리 상태를 변경한다. - * @param processType 처리 유형, crdnIds 단속ID목록 - * @return 저장여부 - */ - String updateAnswerTargetProcessStatus(String processType, String currentUserSggCd, String currentUserAcnt, String[] crdnIds); - - /** 민원답변 문구 설정 정보를 조회한다. - * @param crdnQuery 조회 조건 - * @return map 민원답변 문구 설정 정보 - *
    • basic: 기본 문구
    • - *
    • levyCaseList:
    • - *
    • warningCaseList:
    • - *
    • nonlevyCaseList:
    • - *
    - */ - Map getCvlcptAnswerWordsInfo(CrdnQuery crdnQuery); - - /** 민원답변 문구 설정 정보를 저장한다. - * @param saveData 저장 자료 구분, crdnCvlcpt 민원 답변 문구 설정 - * @return 저장여부 - */ - String saveAnswerWordsInfo(String saveData, CrdnCvlcpt crdnCvlcpt); - - /** 미부과처리건 답변내용을 삭제한다. - * @param ansWordsId 답변 문구 ID - * @return 저장여부 - */ - String removeCvlcptAnswerWordsInfo(String ansWordsId); - - /** 계도문 문구 설정 정보를 조회한다. - * @param crdnQuery 조회 조건 - * @return 계도문 문구 설정 정보 - */ - List getWarningWordsList(CrdnQuery crdnQuery); - - /** 계도문 문구 설정 정보를 저장한다. - * @param crdnCvlcpt 계도문 문구 설정 - * @return 저장여부 - */ - String saveWarningWordsInfo(CrdnCvlcpt crdnCvlcpt); - - /** 새올 요청자료 목록을 조회한다. - * @param query 조회 요청 - * @return 새올 요청자료 목록 - */ - List getDmndDataList(CrdnQuery query); - - /** 새올 요청자료를 생성한다. - * @param crdnCvlcpt 새올요청자료 정보 - * @return 저장여부 - */ - String createDmndDataInfo(CrdnCvlcpt crdnCvlcpt); - - /** 새올 요청자료를 삭제한다. - * @param indivIds 개별요청 ID - * @return 저장여부 - */ - String removeDmndDataInfo(String... indivIds); - - /** 지정한 단속자료에 대해 표지정보조회 실행 후 장애인차량이 아닌 건은 서손 처리한다. - * @param crdnIds 단속 ID 목록 - * @return 저장여부 - */ - String executeDisabledTagInfoInquire(String... crdnIds); -} diff --git a/src/main/java/cokr/xit/fims/cvlc/service/bean/CrdnCvlcptMainBean.java b/src/main/java/cokr/xit/fims/cvlc/service/bean/CrdnCvlcptMainBean.java deleted file mode 100644 index ae724886..00000000 --- a/src/main/java/cokr/xit/fims/cvlc/service/bean/CrdnCvlcptMainBean.java +++ /dev/null @@ -1,400 +0,0 @@ -package cokr.xit.fims.cvlc.service.bean; - -import java.text.SimpleDateFormat; -import java.util.Arrays; -import java.util.Date; -import java.util.HashMap; -import java.util.List; -import java.util.Map; - -import javax.annotation.Resource; - -import org.springframework.stereotype.Component; - -import com.fasterxml.jackson.databind.ObjectMapper; - -import cokr.xit.base.code.dao.CodeMapper; -import cokr.xit.base.code.service.CodeQuery; -import cokr.xit.base.user.dao.UserMapper; -import cokr.xit.fims.base.FimsUser; -import cokr.xit.fims.crdn.CrdnQuery; -import cokr.xit.fims.crdn.dao.CrdnInfoMapper; -import cokr.xit.fims.crdn.dao.CrdnInstMapper; -import cokr.xit.fims.crdn.dao.CrdnUpdtMapper; -import cokr.xit.fims.cvlc.CrdnCvlcpt; -import cokr.xit.fims.cvlc.dao.AnswerWordsMapper; -import cokr.xit.fims.cvlc.dao.CrdnCvlcptMapper; -import cokr.xit.fims.cvlc.dao.SaCvlcptIndviDmndMapper; -import cokr.xit.foundation.UserInfo; -import cokr.xit.foundation.component.AbstractBean; -import cokr.xit.foundation.data.DataObject; -import cokr.xit.interfaces.smg.Petition; -import cokr.xit.interfaces.smg.service.bean.SmgSenderBean; - -/** 민원 주 기능 Bean - * @author leebj - */ -@Component("crdnCvlcptMainBean") -public class CrdnCvlcptMainBean extends AbstractBean { - - @Resource(name="smgSenderBean") - protected SmgSenderBean smgSenderBean; - - @Resource(name = "codeMapper") - private CodeMapper codeMapper; - - @Resource(name = "userMapper") - private UserMapper userMapper; - - @Resource(name = "crdnCvlcptMapper") - private CrdnCvlcptMapper crdnCvlcptMapper; - - @Resource(name = "answerWordsMapper") - private AnswerWordsMapper answerWordsMapper; - - @Resource(name = "saCvlcptIndviDmndMapper") - SaCvlcptIndviDmndMapper saCvlcptIndviDmndMapper; - - @Resource(name = "crdnInfoMapper") - private CrdnInfoMapper crdnInfoMapper; - - @Resource(name = "crdnInstMapper") - private CrdnInstMapper crdnInstMapper; - - @Resource(name = "crdnUpdtMapper") - private CrdnUpdtMapper crdnUpdtMapper; - - /**민원 원본 정보를 조회한다. - * @param query 조회 요청 - * @return 민원 원본 정보 - */ - public DataObject getCivilComplaintOriginalInfo(CrdnQuery query) { - return crdnCvlcptMapper.selectCivilComplaintOriginalInfo(query); - } - - /**민원 처리 정보를 수정한다. - * @param editDataExist 편집 정보 존재 여부, crdnCvlcpt 민원 정보 - * @return 저장 여부 - *
    • 저장됐으면 true
    • - *
    • 그렇지 않으면 false
    • - *
    - */ - public boolean updateCvlcptPrcsSe(boolean editDataExist, CrdnCvlcpt cvlcpt) { - DataObject params = new DataObject(); - UserInfo userInfo = currentUser(); - params.set("currentUser", userInfo); - params.set("crdnCvlcpt", cvlcpt); - if(editDataExist) { - params.set("editDataExist", "Y"); - } else { - params.set("editDataExist", "N"); - } - return crdnCvlcptMapper.updateCvlcptProcessSection(params) == 1 ? true : false; - } - - /** 답변전송 인터페이스 테이블에 자료를 등록한다. - * @param isSendBack 반송여부, cvlcptLinkId 민원 연계 ID - * @return 저장 여부 - *
    • 저장됐으면 true
    • - *
    • 그렇지 않으면 false
    • - *
    - */ - public boolean insertTransmitInfo(boolean isSendBack, String cvlcptLinkId) { - - //민원처리정보 조회 - DataObject cvlcptInfo = crdnCvlcptMapper.selectCivilComplaintProcessInfo(cvlcptLinkId); - - //전송 인터페이스 테이블 등록 - final ObjectMapper mapper = new ObjectMapper(); - Map cvlcptLink = new HashMap<>(); - this.setLinkObj(cvlcptLink, cvlcptInfo, isSendBack); - boolean result = false; - - if(!cvlcptInfo.string("INTERFACE_SEQ_N").equals("")) { - - Petition petition = mapper.convertValue(cvlcptLink, Petition.class); - result = smgSenderBean.createReply(petition); - - } else if(!cvlcptInfo.string("DTL_ID").equals("")) { - - result = false; - } else { - throw new RuntimeException("[F]민원 연계 오류"); - } - - return result; - } - - public void setLinkObj(Map cvlcptLink, DataObject cvlcptInfo, boolean isSendBack) { - - if(!cvlcptInfo.string("INTERFACE_SEQ_N").equals("")) { - - cvlcptLink.put("interfaceSeqN", cvlcptInfo.string("CVLCPT_LINK_ID")); - cvlcptLink.put("sysGubunC", "EC010008"); //시스템 구분("EC010008") - cvlcptLink.put("petiAncCodeV", cvlcptInfo.string("PETI_ANC_CODE_V")); //민원 기관 코드(최초신청기관코드) - cvlcptLink.put("petiGubunC", isSendBack ? "140" : "180"); - cvlcptLink.put("sendYnC", isSendBack ? "1" : "2"); - - cvlcptLink.put("petiNoC", cvlcptInfo.string("CVLCPT_APLY_NO"));//민원 신청 번호 - cvlcptLink.put("civilNoC", cvlcptInfo.string("CVLCPT_RCPT_NO"));//민원 접수 번호 - cvlcptLink.put("petiTitleV", cvlcptInfo.string("CVLCPT_APLY_TTL_NM"));//민원제목 - cvlcptLink.put("civilGistV", cvlcptInfo.string("CVLCPT_GIST"));//민원요지 - cvlcptLink.put("civilAbstractL", cvlcptInfo.string("CVLCPT_PRCS_SMRY"));//민원 처리 요약 - cvlcptLink.put("ancCodeV", cvlcptInfo.string("CVLCPT_PRCS_NSTT_CD"));//기관 코드 - cvlcptLink.put("pcdDeptV", cvlcptInfo.string("CVLCPT_PRCS_DEPT_CD"));//처리 부서 코드 - cvlcptLink.put("pcdAncCodeV", cvlcptInfo.string("CVLCPT_PRCS_DEPT_CD"));//민원 실 처리 기관 코드 - cvlcptLink.put("pcdDeptNmV", cvlcptInfo.string("CVLCPT_PRCS_DEPT_NM"));//민원 처리 부서명 - cvlcptLink.put("dutyIdV", cvlcptInfo.string("CVLCPT_PRCS_PIC_NM"));//민원 처리 담당자 명 - cvlcptLink.put("pcdEmailV", cvlcptInfo.string("CVLCPT_PRCS_PIC_EMAIL"));//담당자 이메일 - cvlcptLink.put("pcdTelV", cvlcptInfo.string("CVLCPT_PRCS_PIC_TELNO"));//담당자 전화번호 - cvlcptLink.put("pcdRstContL", cvlcptInfo.string("CVLCPT_PRCS_RSLT_CN"));//민원 처리 결과 - cvlcptLink.put("doRegD", cvlcptInfo.string("CVLCPT_PRCS_CMPTN_DT"));//민원 처리 완료 일자 - - cvlcptLink.put("regD", (new SimpleDateFormat("yyyyMMddHHmmss")).format(new Date())); // 등록 일자 - //not use - cvlcptLink.put("pcdRstContAttachYnC", "N");//민원 처리 결과 첨부 여부 - cvlcptLink.put("pcdGubunV", "");//처리 구분1 - cvlcptLink.put("pcdGubun2V", "");//처리 구분2 - cvlcptLink.put("pcdGubun3V", "");//처리 구분3 - //DB --> XML - cvlcptLink.put("applyGubunC", "N");//완료구분 - cvlcptLink.put("sendD", "");//송신 일자 - cvlcptLink.put("applyD", "");//적용 일자 - cvlcptLink.put("sendInterfaceSeqN", "");//전송인터페이스키 - cvlcptLink.put("sendStatus", "");//전송상태 - cvlcptLink.put("sendStatusMsg", "");//전송상태메시지 - - } else if(!cvlcptInfo.string("DTL_ID").equals("")) { - - } else { - throw new RuntimeException("[F]민원 연계 오류"); - } - - } - - /**답변 내용을 초기화한다. - * @param cvlcptLinkId 민원 연계 아이디 - * @return 저장 여부 - *
    • 저장됐으면 true
    • - *
    • 그렇지 않으면 false
    • - *
    - */ - public boolean initCvlcptPrcsRsltCn(String cvlcptLinkId) { - CrdnCvlcpt crdnCvlcpt = new CrdnCvlcpt(); - crdnCvlcpt.setCvlcptLinkId(cvlcptLinkId); - - return crdnCvlcptMapper.initCvlcptPrcsRsltCn(crdnCvlcpt) == 1 ? true : false; - } - - - /**지정한 민원 자료의 답변 예정 문구를 반환한다. - * @param crdnId 단속 ID - * @return 답변 예정 문구 - */ - public String mappingAnswerWords(String crdnId, String currentSggCd, String currentUserAcnt) { - - DataObject dataInfo = crdnInfoMapper.selectCrdnInfo(crdnId); - - CrdnQuery crdnQuery = new CrdnQuery(); - crdnQuery.setTaskSeCd(dataInfo.string("TASK_SE_CD")); - crdnQuery.setSggCd(dataInfo.string("SGG_CD")); - - if(dataInfo.string("CVLCPT_PRCS_CD").equals("02")) { - crdnQuery.setAnsSeCd("3"); - crdnQuery.setAnsRsnCd("3"+dataInfo.string("VLTN_CD")); - - if(crdnQuery.getAnsRsnCd().equals("301") && dataInfo.string("DSTRBNC_YN").equals("Y")) { - crdnQuery.setDstrbncYn("Y"); - } - - } else if(dataInfo.string("CVLCPT_PRCS_CD").equals("03") - || dataInfo.string("CVLCPT_PRCS_CD").equals("04")){ - crdnQuery.setAnsSeCd(dataInfo.string("LEVY_EXCL_SE_CD")); - crdnQuery.setAnsRsnCd(dataInfo.string("LEVY_EXCL_RSN_CD")); - } else { - return ""; - } - - DataObject bodyWordsInfo = answerWordsMapper.selectCvlcptAnswerWordsInfo(crdnQuery); - DataObject basicWordsInfo = answerWordsMapper.selectCvlcptAnswerBasicWordsInfo(crdnQuery); - - if(bodyWordsInfo == null) { - return ""; - } - - String body = bodyWordsInfo.string("PRCS_RSLT_CN"); - String head = basicWordsInfo.string("HEADER_CN"); - String tail = basicWordsInfo.string("FOOTER_CN"); - - if(body.equals("")) { - return ""; - } - - String joinWords = head + "\n\n" + body + "\n\n" + tail; - - DataObject params = new DataObject().set("account", currentUserAcnt).set("orgID", currentSggCd); - FimsUser currentUser = userMapper.getUser(params); - - String completeWords = this.replaceMacroString(joinWords , currentUser.getPhoneNo(), currentUser.getName()); - - return completeWords; - } - - /**문구의 매크로 문자열을 치환한다. - * @param joinWords 전체 문구, telNo 담당자 전화번호 - * @return 치환된 문구 - */ - private String replaceMacroString(String joinWords, String telNo, String picNm) { - - int seq = 1; - - joinWords = joinWords.replaceAll("@", "@"); - String[] splited = joinWords.split(CrdnCvlcpt.MACRO_SEQ); - var seqCount = splited.length - 1; - if(seqCount > 0){ - for(; seq <= seqCount; seq++){ - joinWords = joinWords.replaceFirst(CrdnCvlcpt.MACRO_SEQ, Integer.toString(seq)); - } - } - - joinWords = joinWords.replace(CrdnCvlcpt.MACRO_TELNO, telNo); - joinWords = joinWords.replace(CrdnCvlcpt.MACRO_PIC_NM, picNm); - return joinWords; - } - - /**민원 답변 기본 문구 설정을 조회한다. - * @param query 조회 요청 - * @return 민원 답변 기본 문구 - */ - public DataObject selectCvlcptAnswerBasicWordsInfo(CrdnQuery crdnQuery) { - return answerWordsMapper.selectCvlcptAnswerBasicWordsInfo(crdnQuery); - } - - /**민원 답변 본문 문구 목록을 조회한다. - * @param query 조회 요청, ansSeCd 답변구분코드 - * @return 민원 답변 본문 문구 목록 - */ - public List selectAnswerBodyWordsList(CrdnQuery crdnQuery, String ansSeCd) { - - if("3".equals(ansSeCd)) { - return answerWordsMapper.selectLevyCaseWordsList(crdnQuery); - } else if("2".equals(ansSeCd)) { - return answerWordsMapper.selectWarningCaseWordsList(crdnQuery); - } else if("1".equals(ansSeCd)) { - return answerWordsMapper.selectNonlevyCaseWordsList(crdnQuery); - } else { - return null; - } - - } - - /**민원답변 기본문구를 저장한다. - * @param crdnCvlcpt 민원답변 기본문구 정보 - * @return 저장 여부 - *
    • 저장됐으면 true
    • - *
    • 그렇지 않으면 false
    • - *
    - */ - public boolean saveAnswerBasicWordsInfo(CrdnCvlcpt crdnCvlcpt) { - - CrdnQuery query = new CrdnQuery(); - query.setSggCd(crdnCvlcpt.getSggCd()); - query.setTaskSeCd(crdnCvlcpt.getTaskSeCd()); - - DataObject info = answerWordsMapper.selectCvlcptAnswerBasicWordsInfo(query); - - if(ifEmpty(info, ()-> "").equals("")) { - return answerWordsMapper.insertAnswerBasicWordsInfo(crdnCvlcpt) == 1 ? true : false; - } else { - return answerWordsMapper.updateAnswerBasicWordsInfo(crdnCvlcpt) == 1 ? true : false; - } - - } - - /**민원답변 본문문구를 저장한다. - * @param crdnCvlcpt 민원답변 본문문구 정보 - * @return 저장 여부 - *
    • 저장됐으면 true
    • - *
    • 그렇지 않으면 false
    • - *
    - */ - public boolean saveAnswerBodyWordsInfo(CrdnCvlcpt crdnCvlcpt) { - - if(ifEmpty(crdnCvlcpt.getAnsWordsId(), ()-> "").equals("")) { - String codeGroupId = ""; - String code = ""; - if(crdnCvlcpt.getAnsRsnCd().startsWith("1") || crdnCvlcpt.getAnsRsnCd().startsWith("2")) { - if(crdnCvlcpt.getAnsRsnCd().startsWith("1")) { - crdnCvlcpt.setPrcsSmry("과태료 미부과"); - } - if(crdnCvlcpt.getAnsRsnCd().startsWith("2")) { - crdnCvlcpt.setPrcsSmry("과태료 계고"); - } - - codeGroupId = "FIM022"; - code = crdnCvlcpt.getAnsRsnCd(); - - } else if(crdnCvlcpt.getAnsRsnCd().startsWith("3")) { - crdnCvlcpt.setPrcsSmry("과태료 부과"); - switch(crdnCvlcpt.getTaskSeCd()) { - case "PVS" -> codeGroupId = "FIM004"; - case "BPV" -> codeGroupId = "FIM005"; - case "DPV" -> codeGroupId = "FIM006"; - case "ECA" -> codeGroupId = "FIM061"; - case "PES" -> codeGroupId = "FIM064"; - } - code = crdnCvlcpt.getAnsRsnCd().substring(1); - } - - CodeQuery codeQuery = new CodeQuery(); - codeQuery.setGroupIDs(codeGroupId); - codeQuery.setCodes(code); - List codeList = codeMapper.getCodeList(codeQuery); - crdnCvlcpt.setAnsRsnNm(codeList.get(0).string("CODE_VAL")); - - return answerWordsMapper.insertAnswerBodyWordsInfo(crdnCvlcpt) == 1 ? true : false; - } else { - return answerWordsMapper.updateAnswerBodyWordsInfo(crdnCvlcpt) == 1 ? true : false; - } - - } - - /**새올 요청 자료 목록을 조회한다. - * @param query 조회 요청 - * @return 새올 요청 자료 목록 - */ - public List selectDmndDataList(CrdnQuery query) { - query.setOrderBy("INDIV_ID"); - return saCvlcptIndviDmndMapper.selectDmndDataList(query); - } - - /**새올 요청 자료를 생성한다. - * @param crdnCvlcpt 새올요청자료 정보 - * @return 저장 여부 - *
    • 저장됐으면 true
    • - *
    • 그렇지 않으면 false
    • - *
    - */ - public boolean createDmndDataInfo(CrdnCvlcpt crdnCvlcpt) { - return saCvlcptIndviDmndMapper.insertDmndDataInfo(crdnCvlcpt) == 1 ? true : false; - } - - /**새올 요청 자료를 삭제한다. - * @param indivIds 개별요청 ID 목록 - * @return 저장 여부 - *
    • 저장됐으면 true
    • - *
    • 그렇지 않으면 false
    • - *
    - */ - public boolean removeDmndDataInfo(String... indivIds) { - if (isEmpty(indivIds)) return false; - - Map paramMap = new HashMap(); - List indivIdList = Arrays.asList(indivIds); - paramMap.put("indivIds", indivIdList); - paramMap.put("removedBy", UserInfo.current().getId()); - - return saCvlcptIndviDmndMapper.deleteDmndDataInfo(paramMap) >= 1 ? true : false; - } - -} diff --git a/src/main/java/cokr/xit/fims/cvlc/service/bean/CrdnCvlcptServiceBean.java b/src/main/java/cokr/xit/fims/cvlc/service/bean/CrdnCvlcptServiceBean.java deleted file mode 100644 index aab9ee07..00000000 --- a/src/main/java/cokr/xit/fims/cvlc/service/bean/CrdnCvlcptServiceBean.java +++ /dev/null @@ -1,562 +0,0 @@ -package cokr.xit.fims.cvlc.service.bean; - -import java.net.http.HttpResponse; -import java.util.ArrayList; -import java.util.Arrays; -import java.util.HashMap; -import java.util.List; -import java.util.Map; - -import javax.annotation.Resource; - -import org.springframework.stereotype.Service; - -import com.fasterxml.jackson.core.JsonProcessingException; -import com.fasterxml.jackson.core.type.TypeReference; -import com.fasterxml.jackson.databind.JsonMappingException; -import com.fasterxml.jackson.databind.ObjectMapper; - -import cokr.xit.base.file.service.FileQuery; -import cokr.xit.base.file.service.bean.FileBean; -import cokr.xit.fims.cmmn.CmmnUtil; -import cokr.xit.fims.cmmn.CrdnSttsHstry; -import cokr.xit.fims.cmmn.dao.CrdnPayerHstryMapper; -import cokr.xit.fims.cmmn.dao.CrdnSttsHstryMapper; -import cokr.xit.fims.cmmn.service.bean.CrdnSttsHstryBean; -import cokr.xit.fims.crdn.Crdn; -import cokr.xit.fims.crdn.CrdnQuery; -import cokr.xit.fims.crdn.dao.CrdnInfoMapper; -import cokr.xit.fims.crdn.dao.CrdnInstMapper; -import cokr.xit.fims.crdn.dao.CrdnUpdtMapper; -import cokr.xit.fims.crdn.service.bean.CrdnStngBean; -import cokr.xit.fims.cvlc.CrdnCvlcpt; -import cokr.xit.fims.cvlc.dao.AnswerWordsMapper; -import cokr.xit.fims.cvlc.dao.CrdnCvlcptMapper; -import cokr.xit.fims.cvlc.service.CrdnCvlcptService; -import cokr.xit.fims.excl.dao.LevyExclMapper; -import cokr.xit.fims.excl.service.bean.LevyExclBean; -import cokr.xit.fims.sprt.Sprt; -import cokr.xit.fims.sprt.service.bean.MediaBean; -import cokr.xit.foundation.component.AbstractServiceBean; -import cokr.xit.foundation.data.DataObject; -import cokr.xit.foundation.web.WebClient; -import cokr.xit.interfaces.disabledparking.service.bean.DisabledParkingBean; - -@Service("crdnCvlcptService") -public class CrdnCvlcptServiceBean extends AbstractServiceBean implements CrdnCvlcptService { - @Resource(name="objectMapper") - private ObjectMapper objectMapper; - - @Resource(name="fileBean") - private FileBean fileBean; - - @Resource(name="mediaBean") - private MediaBean mediaBean; - - @Resource(name = "disabledParkingBean") - private DisabledParkingBean disabledParkingBean; - - @Resource(name="crdnCvlcptMainBean") - protected CrdnCvlcptMainBean crdnCvlcptMainBean; - - @Resource(name="crdnCvlcptSubBean") - protected CrdnCvlcptSubBean crdnCvlcptSubBean; - - @Resource(name="crdnStngBean") - private CrdnStngBean crdnStngBean; - - @Resource(name = "levyExclBean") - protected LevyExclBean levyExclBean; - - @Resource(name="levyExclMapper") - private LevyExclMapper levyExclMapper; - - @Resource(name = "answerWordsMapper") - private AnswerWordsMapper answerWordsMapper; - - @Resource(name = "crdnCvlcptMapper") - private CrdnCvlcptMapper crdnCvlcptMapper; - - @Resource(name = "crdnSttsHstryMapper") - private CrdnSttsHstryMapper crdnSttsHstryMapper; - - @Resource(name = "crdnSttsHstryBean") - private CrdnSttsHstryBean crdnSttsHstryBean; - - @Resource(name = "crdnPayerHstryMapper") - private CrdnPayerHstryMapper crdnPayerHstryMapper; - - @Resource(name="crdnInfoMapper") - private CrdnInfoMapper crdnInfoMapper; - - @Resource(name="crdnInstMapper") - protected CrdnInstMapper crdnInstMapper; - - @Resource(name="crdnUpdtMapper") - protected CrdnUpdtMapper crdnUpdtMapper; - - @Override - public List getCivilComplaintList(CrdnQuery query) { - List dataObjectList = new ArrayList(); - switch (ifEmpty(query.getGridType(), () -> "")) { - case "receiptData": - String appendCopyToOriginal = "CVLCPT_RCPT_YMD, CVLCPT_RCPT_NO, CVLCPT_LIST_NO, CVLCPT_LINK_ID, CRDN_REG_SE_CD, CRDN_ID"; - - if(query.getOrderBy() == null) { - if (ifEmpty(query.getBy(), "").equals("")) { - query.setOrderBy(appendCopyToOriginal); - } else { - query.setOrderBy(CmmnUtil.convertCamelCaseToSnakeCase(query.getBy()+","+appendCopyToOriginal)); - } - } - dataObjectList = crdnCvlcptMapper.selectCivilComplaintReceiptDataList(query); - break; - case "answerTargetData": - if (query.getOrderBy() == null) { - if (query.getBy() == null) { - query.setOrderBy("CRDN_ID"); - } else { - query.setOrderBy(CmmnUtil.convertCamelCaseToSnakeCase(query.getBy())); - } - } - dataObjectList = crdnCvlcptMapper.selectCivilComplaintAnswerTargetDataList(query); - break; - default: - if (query.getOrderBy() == null) { - if (query.getBy() == null) { - query.setOrderBy("CRDN_ID"); - } else { - query.setOrderBy(CmmnUtil.convertCamelCaseToSnakeCase(query.getBy())); - } - } - dataObjectList = crdnCvlcptMapper.selectCivilComplaintList(query); - break; - } - - - return dataObjectList; - } - - @Override - public DataObject getCivilComplaintOriginalInfo(CrdnQuery query) { - return crdnCvlcptMainBean.getCivilComplaintOriginalInfo(query); - } - - @Override - public DataObject getAnswerPreview(CrdnQuery query) { - DataObject dataObject = crdnCvlcptMapper.selectAnswerPreview(query.getCrdnId()); - - //저장된 답변이 없으면 - if(ifEmpty(dataObject.string("CVLCPT_PRCS_RSLT_CN"), () -> "").equals("")) { - String resultWords = crdnCvlcptMainBean.mappingAnswerWords(query.getCrdnId(), query.getSggCd(), query.getCurrentUserAcnt()); - dataObject.set("CVLCPT_PRCS_RSLT_CN", resultWords); - } - - return dataObject; - } - - @Override - public DataObject getCivilComplaintReceiptInitialDataInfo(CrdnQuery query) { - //민원조회 - DataObject dataObject = crdnCvlcptMapper.selectCivilComplaintReceiptInitialDataInfo(query); - - //첨부파일 조회 - FileQuery fileQuery = new FileQuery(); - fileQuery.setInfoType(Crdn.INF_TYPE); - fileQuery.setInfoKeys(query.getCrdnId()); - List fileList = mediaBean.getFileAndMosaic(fileQuery); - if(fileList != null && !fileList.isEmpty()) { - dataObject.set("fileList", fileList); - } - - //동영상 존재 여부 확인 - dataObject.set("VIDEO_EXIST_YN", "N"); - String linkTblNm = dataObject.string("LINK_TBL_NM"); - if(!linkTblNm.equals("")) { - - if(linkTblNm.equals("TB_ESB_INTERFACE")) { - fileQuery.setInfoType("010"); - } else if(linkTblNm.equals("TB_SA_CVLCPT_DTL")) { - fileQuery.setInfoType("020"); - } else { - throw new RuntimeException("파일 조회 중 오류가 발생하였습니다."); - } - - fileQuery.setInfoKeys(dataObject.string("LINK_ID")); - List linkFileList = fileBean.getFileList(fileQuery); - if(linkFileList != null && !linkFileList.isEmpty()) { - for(int i=0; i < linkFileList.size(); i++) { - String mimeType = linkFileList.get(i).string("MIME_TYPE"); - if(Arrays.asList(Sprt.VIDEO_MIME_TYPE).contains(mimeType)) { - dataObject.set("VIDEO_EXIST_YN", "Y"); - } - } - } - } - - return dataObject; - } - - @Override - public String sendBackCivilComplaintInfo(String crdnId) { - boolean saved = false; - - DataObject crdnInfo = crdnInfoMapper.selectCrdnInfo(crdnId); - - saved = crdnCvlcptSubBean.executelevyExcl("sendBack", crdnId); - if(!saved) { - throw new RuntimeException("반송 처리 중 서손처리에 실패하였습니다."); - } - - boolean isFirstBorn = crdnInfo.string("CRDN_REG_SE_CD").equals("02"); - boolean isNotYetTransmit = !Arrays.asList(new String[]{"04","05","06"}).contains(crdnInfo.string("CVLCPT_TRSM_CD")); - - //자동등록된 연계자료이며, 전송 작업 처리 전 자료에 대해 민원 정보를 업데이트한다. - if (isFirstBorn && isNotYetTransmit) { - - CrdnCvlcpt crdnCvlcpt = new CrdnCvlcpt(); - crdnCvlcpt.setCvlcptLinkId(crdnInfo.string("CVLCPT_LINK_ID")); - crdnCvlcpt.setCvlcptPrcsCd("01"); - - boolean retSuccess = crdnCvlcptMapper.updateCvlcptProcessSectionForSendBack(crdnCvlcpt) == 1 ? true : false; - - if (!retSuccess) { - throw new RuntimeException("반송 처리 중 단속민원답변 수정에 실패하였습니다."); - } - - if(crdnInfo.string("LINK_TBL_NM").equals("TB_ESB_INTERFACE") - || crdnInfo.string("LINK_TBL_NM").equals("TB_SA_CVLCPT_DTL")) { - boolean result = crdnCvlcptMainBean.insertTransmitInfo(true, crdnInfo.string("CVLCPT_LINK_ID")); - if (!result) { - throw new RuntimeException("반송 처리 중 전송자료 등록에 실패하였습니다."); - } - } - - } - - return saved ? "[S]" : "[F]"; - } - - @Override - public String updateCvlcptProcessSection(Map nonQueryRequest, CrdnCvlcpt crdnCvlcpt, Crdn crdn) { - boolean saved = false; - - DataObject crdnInfo = crdnInfoMapper.selectCrdnInfo(crdn.getCrdnId()); - String acceptType = (String)ifEmpty(nonQueryRequest.get("acceptType"), ""); - - saved = crdnCvlcptSubBean.updateSubInfo(nonQueryRequest, crdn); - if(!saved) { - throw new RuntimeException("민원자료 저장 중 오류가 발생하였습니다."); - } - crdnCvlcpt.setCvlcptLinkId(crdnInfo.string("CVLCPT_LINK_ID")); - - boolean isFirstBorn = crdnInfo.string("CRDN_REG_SE_CD").equals("02"); - boolean isNotYetTransmit = !Arrays.asList(new String[]{"04","05","06"}).contains(crdnInfo.string("CVLCPT_TRSM_CD")); - - //자동등록된 연계자료이며, 전송 작업 처리 전 자료에 대해 민원 정보를 업데이트한다. - if (isFirstBorn && isNotYetTransmit) { - - boolean retSuccess = false; - // 답변내용 초기화 - retSuccess = crdnCvlcptMainBean.initCvlcptPrcsRsltCn(crdnCvlcpt.getCvlcptLinkId()); - if (!retSuccess) { - throw new RuntimeException("민원자료 저장 중 단속민원 대장의 민원처리결과내용 초기화에 실패하였습니다."); - } - - String newCvlcptPrcsCd = ""; - String newCvlcptTrsmCd = ""; - - String ansRsnCd = ""; - if(acceptType.equals("someAccept") || acceptType.equals("nonAccept")) { //일부수용,불수용 - ansRsnCd = crdn.getLevyExclRsnCd(); - } else { - ansRsnCd = "3"+crdn.getVltnCd(); - } - - CrdnQuery crdnQuery = new CrdnQuery(); - crdnQuery.setSggCd(crdn.getSggCd()); - crdnQuery.setTaskSeCd(crdn.getTaskSeCd()); - crdnQuery.setAnsRsnCd(ansRsnCd); - if(crdn.getVltnCd().equals("01") && ifEmpty(crdnCvlcpt.getDstrbncYn(), () -> "").equals("Y")) { - crdnQuery.setDstrbncYn("Y"); - } - - // 민원 답변 문구(TB_CVLCPT_ANS_WORDS) 대장 조회 - DataObject infoCvlcptAnsWords = answerWordsMapper.selectCvlcptAnswerWordsInfo(crdnQuery); - - if(acceptType.equals("someAccept") || acceptType.equals("nonAccept")) { //일부수용,불수용 - // 비부과(서손)사유가 민원 답변대상인가? 민원 답변 문구(TB_CVLCPT_ANS_WORDS) 대장에 답변 사유 코드가 존재한다면.. - if (infoCvlcptAnsWords != null) { - newCvlcptPrcsCd = "04"; // 민원 처리 코드 - 불수용(과태료 부과제외) - newCvlcptTrsmCd = "01"; // 민원 전송 코드 - 전송 대상 - } else { - newCvlcptPrcsCd = "07"; // 민원 처리 코드 - 비부과(서손)사유가 답변 미대상 - newCvlcptTrsmCd = "03"; // 민원 전송 코드 - 비부과(서손)사유가 전송 미대상 - } - } else { //수용일 때 - - newCvlcptPrcsCd = "02"; // 민원 처리 코드 - 수용 - newCvlcptTrsmCd = "01"; // 민원 전송 코드 - 전송 대상 - } - - crdnCvlcpt.setCvlcptPrcsCd(newCvlcptPrcsCd); // 민원 처리 코드 - - if (acceptType.equals("someAccept")) { - crdnCvlcpt.setCvlcptPrcsSmry("과태료 계고"); // 민원 처리 요약 - } else if(acceptType.equals("accept")) { - crdnCvlcpt.setCvlcptPrcsSmry("과태료부과"); // 민원 처리 요약 - } else if(acceptType.equals("nonAccept")) { - crdnCvlcpt.setCvlcptPrcsSmry("과태료 미부과"); // 민원 처리 요약 - } - - crdnCvlcpt.setCvlcptTrsmCd(newCvlcptTrsmCd); // 민원 전송 코드 - //민원처리정보 변경 - retSuccess = crdnCvlcptMainBean.updateCvlcptPrcsSe(true, crdnCvlcpt); - - if (!retSuccess) { - throw new RuntimeException("민원자료 저장 중 단속민원답변 수정에 실패하였습니다."); - } - } - - return saved ? "[S]" : "[F]"; - } - - @Override - public String copyCvlcptCrdnInfo(String crdnId) { - return crdnCvlcptSubBean.copyCvlcptCrdnInfo(crdnId) ? "[S]" : "[F]"; - } - - @Override - public String updateAnswerContent(CrdnCvlcpt crdnCvlcpt) { - - int effected = crdnCvlcptMapper.updateAnswerContent(crdnCvlcpt); - if(effected != 1) { - throw new RuntimeException("답변 내용 저장에 실패하였습니다."); - } - - return "[S]"; - - } - - @Override - public String updateAnswerTargetProcessStatus(String processType, String currentSggCd, String currentUserAcnt, String[] crdnIds) { - - List targetDataList = crdnCvlcptMapper.selectAnswerTargetList(crdnIds); - - for(int i=0; i < targetDataList.size(); i++) { - - //단속상태 변경(차적조회완료 -> 부과대상) - if(targetDataList.get(i).string("CRDN_STTS_CD").equals("21")) { - CrdnSttsHstry crdnSttsHstry = new CrdnSttsHstry(); - crdnSttsHstry.setCrdnId(targetDataList.get(i).string("CRDN_ID")); - crdnSttsHstry.setBfrSttsCd(targetDataList.get(i).string("CRDN_STTS_CD")); - crdnSttsHstry.setBfrSttsChgDt(targetDataList.get(i).string("CRDN_STTS_CHG_DT")); - crdnSttsHstry.setCrdnSttsCd("21"); - crdnSttsHstry.setTaskDtlId(targetDataList.get(i).string("CRDN_ID")); - crdnSttsHstry.setEtcCn("민원답변등록"); - boolean retSuccess = crdnSttsHstryBean.createHstryUpdateCrdnSttsCd(crdnSttsHstry); - if (!retSuccess) { - throw new RuntimeException("민원 전송 상태 변경 중 단속상태코드 변경에 실패하였습니다."); - } - } - - CrdnCvlcpt crdnCvlcpt = new CrdnCvlcpt(); - crdnCvlcpt.setCvlcptLinkId(targetDataList.get(i).string("CVLCPT_LINK_ID")); - if(processType.equals("answerExecute")) { - crdnCvlcpt.setCvlcptTrsmCd("04"); - if(ifEmpty(targetDataList.get(i).string("CVLCPT_PRCS_RSLT_CN"), () -> "").equals("")) { - String answerWords = crdnCvlcptMainBean.mappingAnswerWords(targetDataList.get(i).string("CRDN_ID"), currentSggCd, currentUserAcnt); - crdnCvlcpt.setCvlcptPrcsRsltCn(answerWords); - } - } else if(processType.equals("answerComplete")){ - crdnCvlcpt.setCvlcptTrsmCd("09"); - } else { - throw new RuntimeException("민원 전송 상태 변경에 실패하였습니다."); - } - - int effected = crdnCvlcptMapper.updateAnswerTargetTransmitStatus(crdnCvlcpt); - if(effected != 1) { - throw new RuntimeException("민원 전송 상태 변경 중 오류가 발생하였습니다."); - } - - if(processType.equals("answerExecute")) { - - if(targetDataList.get(i).string("LINK_TBL_NM").equals("TB_ESB_INTERFACE") - || targetDataList.get(i).string("LINK_TBL_NM").equals("TB_SA_CVLCPT_DTL")) { - boolean result = crdnCvlcptMainBean.insertTransmitInfo(false, targetDataList.get(i).string("CVLCPT_LINK_ID")); - if (!result) { - throw new RuntimeException("민원 전송 상태 변경 중 전송자료 등록에 실패하였습니다."); - } - } - - } - } - - return "[S]"; - } - - @Override - public Map getCvlcptAnswerWordsInfo(CrdnQuery crdnQuery) { - Map wordsStngInfo = new HashMap(); - - DataObject basic = crdnCvlcptMainBean.selectCvlcptAnswerBasicWordsInfo(crdnQuery); - List levyCaseList = crdnCvlcptMainBean.selectAnswerBodyWordsList(crdnQuery,"3"); - List warningCaseList = crdnCvlcptMainBean.selectAnswerBodyWordsList(crdnQuery,"2"); - List nonlevyCaseList = crdnCvlcptMainBean.selectAnswerBodyWordsList(crdnQuery,"1"); - - wordsStngInfo.put("basic", basic); - wordsStngInfo.put("levyCaseList", levyCaseList); - wordsStngInfo.put("warningCaseList", warningCaseList); - wordsStngInfo.put("nonlevyCaseList", nonlevyCaseList); - - return wordsStngInfo; - } - - @Override - public String saveAnswerWordsInfo(String saveData, CrdnCvlcpt crdnCvlcpt) { - boolean saved = false; - if(saveData.equals("basic")) { - saved = crdnCvlcptMainBean.saveAnswerBasicWordsInfo(crdnCvlcpt); - } - if(saveData.equals("body")) { - saved = crdnCvlcptMainBean.saveAnswerBodyWordsInfo(crdnCvlcpt); - } - return saved ? "[S]" : "[F]"; - } - - @Override - public String removeCvlcptAnswerWordsInfo(String ansWordsId) { - CrdnCvlcpt crdnCvlcpt = new CrdnCvlcpt(); - crdnCvlcpt.setAnsWordsId(ansWordsId); - return answerWordsMapper.deleteCvlcptAnswerWordsInfo(crdnCvlcpt) == 1 ? "[S]" : "[F]"; - } - - @Override - public List getWarningWordsList(CrdnQuery crdnQuery) { - return crdnCvlcptSubBean.selectWarningWordsList(crdnQuery); - } - - @Override - public String saveWarningWordsInfo(CrdnCvlcpt crdnCvlcpt) { - return crdnCvlcptSubBean.saveWarningWordsInfo(crdnCvlcpt) ? "[S]" : "[F]"; - } - - @Override - public List getDmndDataList(CrdnQuery query) { - return crdnCvlcptMainBean.selectDmndDataList(query); - } - - @Override - public String createDmndDataInfo(CrdnCvlcpt crdnCvlcpt) { - return crdnCvlcptMainBean.createDmndDataInfo(crdnCvlcpt) ? "[S]" : "[F]"; - } - - @Override - public String removeDmndDataInfo(String... indivIds) { - return crdnCvlcptMainBean.removeDmndDataInfo(indivIds) ? "[S]" : "[F]"; - } - - @Override - public String executeDisabledTagInfoInquire(String... crdnIds) { - int i=0; - - HashMap vehicleResultMap = new HashMap(); - - for(; i "").equals("")) { - continue; - } - - if(!vehicleResultMap.containsKey(vhrno)) { - DataObject inquireResult; - - if(1 != 1) { //TODO:별도서비스여부 - - String LINK_SRVC_PROTOCOL_IP_PORT = "http://127.0.0.1:9078"; - - HttpResponse apiRslt = new WebClient().post(request -> { - request.contentType(WebClient.Request.ContentType.JSON); - request.uri(LINK_SRVC_PROTOCOL_IP_PORT+"/intf/disabledParking/parkingInfo"); - request.data("vehicleNo", crdnInfo.string("VHRNO")); - }); - String rslt = apiRslt.body(); - try { - inquireResult = objectMapper.readValue(rslt, new TypeReference() {}); - } catch (JsonMappingException e) { - e.printStackTrace(); - } catch (JsonProcessingException e) { - e.printStackTrace(); - } - } else { - inquireResult = disabledParkingBean.getParkingInfo(crdnInfo.string("VHRNO")); - } - - String parkingPsblYn = inquireResult.string("PARKING_PSBL_YN"); - String bohunParkingPsblYn = inquireResult.string("BOHUN_PARKING_PSBL_YN"); - - boolean resulstYn = false; - if(parkingPsblYn.equals("Y") || bohunParkingPsblYn.equals("Y")) { - resulstYn = true; - } - vehicleResultMap.put(vhrno, resulstYn); - } - - boolean result = vehicleResultMap.get(vhrno); - if(result) { - - boolean saved = crdnCvlcptSubBean.executelevyExcl("inquireTag", crdnInfo.string("CRDN_ID")); - if(!saved) { - throw new RuntimeException("서손처리에 실패하였습니다."); - } - - boolean isFirstBorn = crdnInfo.string("CRDN_REG_SE_CD").equals("02"); - boolean isNotYetTransmit = !Arrays.asList(new String[]{"04","05","06"}).contains(crdnInfo.string("CVLCPT_TRSM_CD")); - - - //자동등록된 연계자료이며, 전송 작업 처리 전 자료에 대해 민원 정보를 업데이트한다. - if (isFirstBorn && isNotYetTransmit) { - - CrdnCvlcpt crdnCvlcpt = new CrdnCvlcpt(); - crdnCvlcpt.setCvlcptLinkId(crdnInfo.string("CVLCPT_LINK_ID")); - crdnCvlcpt.setCvlcptPrcsCd("04"); - crdnCvlcpt.setCvlcptPrcsSmry("과태료 미부과"); - - CrdnQuery crdnQuery = new CrdnQuery(); - crdnQuery.setSggCd(crdnInfo.string("SGG_CD")); - crdnQuery.setTaskSeCd("DPV"); - crdnQuery.setAnsRsnCd("103"); - - // 민원 답변 문구(TB_CVLCPT_ANS_WORDS) 대장 조회 - DataObject infoCvlcptAnsWords = answerWordsMapper.selectCvlcptAnswerWordsInfo(crdnQuery); - if(infoCvlcptAnsWords == null) { - crdnCvlcpt.setCvlcptTrsmCd("03"); - } else { - crdnCvlcpt.setCvlcptTrsmCd("01"); - } - - boolean retSuccess = crdnCvlcptMainBean.updateCvlcptPrcsSe(false, crdnCvlcpt); - - if (!retSuccess) { - throw new RuntimeException("서손처리 중 단속민원답변 상태 수정에 실패하였습니다."); - } - - } - - } else { - Crdn crdn = new Crdn(); - crdn.setCrdnId(crdnInfo.string("CRDN_ID")); - boolean saved = crdnUpdtMapper.updateTagInfo(crdn) == 1 ? true : false; - if(!saved) { - throw new RuntimeException("표지조회처리 중 표지확인여부 변경에 실패하였습니다."); - } - } - } - - return i > 0 ? "[S]" : "[F]"; - } - -} diff --git a/src/main/java/cokr/xit/fims/cvlc/service/bean/CrdnCvlcptSubBean.java b/src/main/java/cokr/xit/fims/cvlc/service/bean/CrdnCvlcptSubBean.java deleted file mode 100644 index c5d738dc..00000000 --- a/src/main/java/cokr/xit/fims/cvlc/service/bean/CrdnCvlcptSubBean.java +++ /dev/null @@ -1,405 +0,0 @@ -package cokr.xit.fims.cvlc.service.bean; - -import java.io.File; -import java.text.SimpleDateFormat; -import java.util.ArrayList; -import java.util.Date; -import java.util.List; -import java.util.Map; - -import javax.annotation.Resource; - -import org.springframework.stereotype.Component; - -import cokr.xit.base.code.dao.CodeMapper; -import cokr.xit.base.code.service.CodeQuery; -import cokr.xit.base.file.FileInfo; -import cokr.xit.base.file.FileInfo.Relation; -import cokr.xit.base.file.service.FileQuery; -import cokr.xit.base.file.service.bean.FileBean; -import cokr.xit.base.file.web.FileInfoFactory; -import cokr.xit.fims.cmmn.CrdnPayerHstry; -import cokr.xit.fims.cmmn.CrdnSttsHstry; -import cokr.xit.fims.cmmn.dao.CrdnPayerHstryMapper; -import cokr.xit.fims.cmmn.dao.CrdnSttsHstryMapper; -import cokr.xit.fims.crdn.Crdn; -import cokr.xit.fims.crdn.CrdnQuery; -import cokr.xit.fims.crdn.dao.CrdnInfoMapper; -import cokr.xit.fims.crdn.dao.CrdnUpdtMapper; -import cokr.xit.fims.crdn.service.bean.CrdnStngBean; -import cokr.xit.fims.cvlc.CrdnCvlcpt; -import cokr.xit.fims.cvlc.dao.AnswerWordsMapper; -import cokr.xit.fims.cvlc.dao.CrdnCvlcptMapper; -import cokr.xit.fims.cvlc.dao.WarningWordsMapper; -import cokr.xit.fims.excl.LevyExcl; -import cokr.xit.fims.excl.dao.LevyExclMapper; -import cokr.xit.fims.sprt.service.bean.MediaBean; -import cokr.xit.foundation.UserInfo; -import cokr.xit.foundation.component.AbstractBean; -import cokr.xit.foundation.data.DataObject; - -/** 민원 부 기능 Bean - * @author leebj - */ -@Component("crdnCvlcptSubBean") -public class CrdnCvlcptSubBean extends AbstractBean { - - @Resource(name = "crdnCvlcptMapper") - private CrdnCvlcptMapper crdnCvlcptMapper; - - @Resource(name = "crdnInfoMapper") - private CrdnInfoMapper crdnInfoMapper; - - @Resource(name = "crdnUpdtMapper") - private CrdnUpdtMapper crdnUpdtMapper; - - @Resource(name = "crdnStngBean") - private CrdnStngBean crdnStngBean; - - @Resource(name = "fileBean") - private FileBean fileBean; - - @Resource(name = "mediaBean") - private MediaBean mediaBean; - - @Resource(name = "codeMapper") - private CodeMapper codeMapper; - - @Resource(name = "levyExclMapper") - private LevyExclMapper levyExclMapper; - - @Resource(name = "answerWordsMapper") - private AnswerWordsMapper answerWordsMapper; - - @Resource(name = "crdnPayerHstryMapper") - private CrdnPayerHstryMapper crdnPayerHstryMapper; - - @Resource(name = "crdnSttsHstryMapper") - private CrdnSttsHstryMapper crdnSttsHstryMapper; - - @Resource(name = "warningWordsMapper") - private WarningWordsMapper warningWordsMapper; - - /**단속 대장 정보를 수정한다. - * @param nonQueryRequest 수정 요청, crdn 단속 대장 - * @return 저장 여부 - *
    • 저장됐으면 true
    • - *
    • 그렇지 않으면 false
    • - *
    - */ - public boolean updateCrdn(Map nonQueryRequest, Crdn crdn) { - DataObject params = new DataObject(); - UserInfo userInfo = currentUser(); - params.set("currentUser", userInfo); - params.set("crdn", crdn); - for(String key : nonQueryRequest.keySet()){ - params.set(key, nonQueryRequest.get(key)); - } - - if(crdnCvlcptMapper.updateCrdn(params) != 1) { - return false; - } - return crdnCvlcptMapper.updateCrdnAddition(params) == 1 ? true : false; - } - - /**지정한 단속자료를 복사 등록 처리한다. - * @param crdnId 단속 ID - * @return 복사자료의 단속 ID - */ - public String insertCrdnFromSelect(String crdnId) { - - DataObject params = new DataObject(); - UserInfo userInfo = currentUser(); - params.set("currentUser", userInfo); - params.set("crdnId", crdnId); - - if(crdnCvlcptMapper.insertCrdnFromSelect(params) != 1) { - throw new RuntimeException("단속자료 복사 등록 중 단속대장 등록에 실패하였습니다."); - } - - if(crdnCvlcptMapper.insertCrdnAdditionFromSelect(params) != 1) { - throw new RuntimeException("단속자료 복사 등록 중 단속대장 등록에 실패하였습니다."); - } - - return (String)params.get("newCrdnId"); - } - - /** 계도문 문구 설정 정보를 조회한다. - * @param crdnQuery 조회조건 - * @return 계도문 문구 설정 - */ - public List selectWarningWordsList(CrdnQuery crdnQuery) { - - return warningWordsMapper.selectWarningWordsList(crdnQuery); - } - - /** 계도문 문구 설정 정보를 저장한다. - * @param crdnCvlcpt 문구 정보 - * @return 저장 여부 - *
    • 저장됐으면 true
    • - *
    • 그렇지 않으면 false
    • - *
    - */ - public boolean saveWarningWordsInfo(CrdnCvlcpt crdnCvlcpt) { - if(ifEmpty(crdnCvlcpt.getAnsWordsId(), ()-> "").equals("")) { - - CodeQuery codeQuery = new CodeQuery(); - codeQuery.setGroupIDs("FIM022"); - codeQuery.setCodes(crdnCvlcpt.getAnsRsnCd()); - List codeList = codeMapper.getCodeList(codeQuery); - crdnCvlcpt.setAnsRsnNm(codeList.get(0).string("CODE_VAL")); - - return warningWordsMapper.insertWarningWordsInfo(crdnCvlcpt) == 1 ? true : false; - } else { - return warningWordsMapper.updateWarningWordsInfo(crdnCvlcpt) == 1 ? true : false; - } - } - - /** 민원초기자료 상세화면에서 입력한 값대로 단속정보,납부자정보를 수정한다. - * @param nonQueryRequest 수정 요청, crdn 단속정보 - * @return 저장 여부 - *
    • 저장됐으면 true
    • - *
    • 그렇지 않으면 false
    • - *
    - */ - - public boolean updateSubInfo(Map nonQueryRequest, Crdn crdn) { - - boolean saved = false; - - DataObject crdnInfo = crdnInfoMapper.selectCrdnInfo(crdn.getCrdnId()); - - String acceptType = (String)ifEmpty(nonQueryRequest.get("acceptType"), ""); - - - //금액 변경 - if(crdnInfo.string("TASK_SE_CD").equals("PVS") && "Y".equals(crdnInfo.string("OVTM_PRTTN_YN"))) { - nonQueryRequest.put("changeAmountYn","N"); - } else { - int[] basicAmt = crdnStngBean.getBasicAmt(crdn); - int ffnlgCrdnAmt = crdnInfo.number("FFNLG_CRDN_AMT").intValue(); - if(ffnlgCrdnAmt != basicAmt[0]){ - nonQueryRequest.put("changeAmountYn","Y"); - crdn.setFfnlgCrdnAmt(basicAmt[0]); - crdn.setFfnlgAmt(basicAmt[0]); - crdn.setAdvntceAmt(basicAmt[1]); - crdn.setFfnlgRdcrt("0"); - } else { - nonQueryRequest.put("changeAmountYn","N"); - } - } - - //납부자 변경 - if(!crdnInfo.string("RTPYR_ID").equals(crdn.getRtpyrId())) { - nonQueryRequest.put("changePayerYn","Y"); - } else { - nonQueryRequest.put("changePayerYn","N"); - } - - //납부자 주소 변경 - if(!crdnInfo.string("ADDR_SN").equals(crdn.getAddrSn())) { - nonQueryRequest.put("changePayerAddrYn","Y"); - } else { - nonQueryRequest.put("changePayerAddrYn","N"); - } - - //단속상태값 변경 - nonQueryRequest.put("changeStatusYn","Y"); - - if(acceptType.equals("accept")) { - crdn.setCrdnSttsCd("21"); - } else if(acceptType.equals("someAccept")){ - crdn.setCrdnSttsCd("83"); - } else if(acceptType.equals("nonAccept")) { - crdn.setCrdnSttsCd("81"); - } else { - throw new RuntimeException("단속민원답변 수정에 실패하였습니다."); - } - - //부과 제외 대장 등록 - String dtlTaskId = ""; - if(acceptType.equals("someAccept") || acceptType.equals("nonAccept")) { //일부수용,불수용 - boolean retSuccess = false; - LevyExcl excl01 = new LevyExcl(); - excl01.setCrdnId(crdn.getCrdnId()); - excl01.setSggCd(crdn.getSggCd()); - excl01.setLevyExclYmd(crdn.getLevyExclYmd()); - excl01.setLevyExclSeCd(crdn.getLevyExclSeCd()); - excl01.setLevyExclRsnCd(crdn.getLevyExclRsnCd()); - excl01.setEtcCn(crdn.getEtcCn()); - retSuccess = levyExclMapper.insertLevyExcl(excl01) == 1 ? true : false; - if (!retSuccess) { - // 예외를 발생시켜서 오류메세지를 보내고 DB Rollback - throw new RuntimeException("부과제외 대장 등록에 실패하였습니다."); - } - - dtlTaskId = excl01.getLevyExclId(); - } else { - dtlTaskId = crdn.getCrdnId(); - } - - //단속정보변경 - saved = this.updateCrdn(nonQueryRequest, crdn); - if(!saved) { - throw new RuntimeException("단속민원답변 수정 중 단속정보변경에 실패하였습니다."); - } - - //단속 납부자 변경 이력 등록 - if(((String)nonQueryRequest.get("changePayerYn")).equals("Y")) { - CrdnPayerHstry crdnPayerHstry = new CrdnPayerHstry(); - - crdnPayerHstry.setCrdnId(crdn.getCrdnId()); - crdnPayerHstry.setRtpyrId(crdn.getRtpyrId()); - - boolean retSuccess = crdnPayerHstryMapper.insertCrdnPayerHstry(crdnPayerHstry); - if(!retSuccess) { - throw new RuntimeException("단속민원답변 수정 중 단속납부자변경 이력 등록에 실패하였습니다."); - } - } - - //단속 납부자 주소 변경 이력 등록 - if(((String)nonQueryRequest.get("changePayerAddrYn")).equals("Y")) { - CrdnPayerHstry crdnPayerHstry = new CrdnPayerHstry(); - - crdnPayerHstry.setCrdnId(crdn.getCrdnId()); - crdnPayerHstry.setRtpyrId(crdn.getRtpyrId()); - crdnPayerHstry.setAddrSn(crdn.getAddrSn()); - - boolean retSuccess = crdnPayerHstryMapper.insertCrdnPayerAddrHstry(crdnPayerHstry); - if(!retSuccess) { - throw new RuntimeException("단속민원답변 수정 중 단속납부자변경 이력 등록에 실패하였습니다."); - } - } - - //단속상태 변경 이력 등록 - if(((String)nonQueryRequest.get("changeStatusYn")).equals("Y")) { - CrdnSttsHstry crdnSttsHstry = new CrdnSttsHstry(); - - crdnSttsHstry.setCrdnId(crdn.getCrdnId()); - crdnSttsHstry.setBfrSttsCd(crdnInfo.string("CRDN_STTS_CD")); - crdnSttsHstry.setBfrSttsChgDt(crdnInfo.string("CRDN_STTS_CHG_DT")); - crdnSttsHstry.setCrdnSttsCd(crdn.getCrdnSttsCd()); - crdnSttsHstry.setTaskDtlId(dtlTaskId); - if(crdn.getCrdnSttsCd().equals("81") || crdn.getCrdnSttsCd().equals("83")) { - crdnSttsHstry.setEtcCn("부과제외 대장 등록"); - } else { - crdnSttsHstry.setEtcCn("민원 요청 수용"); - } - - int rtnNocs = crdnSttsHstryMapper.insertCrdnSttsHstry(crdnSttsHstry); - if(rtnNocs != 1) { - throw new RuntimeException("단속민원답변 수정 중 단속상태변경 이력 등록에 실패하였습니다."); - } - } - - return true; - } - - /** 단속자료를 복사하여 신규단속자료를 생성한다. - * @param crdnId 단속 ID - * @return 저장여부 - */ - public boolean copyCvlcptCrdnInfo(String crdnId) { - FileQuery fileQuery = new FileQuery().setInfoType(Crdn.INF_TYPE).setInfoKeys(crdnId); - List orgnlCrdnFileList = fileBean.getFileList(fileQuery); - - - String newCrdnId = this.insertCrdnFromSelect(crdnId); - if(ifEmpty(newCrdnId, () -> "").equals("")) { - throw new RuntimeException("단속민원 복사 등록 중 단속대장 등록에 실패하였습니다."); - } - - - if (!orgnlCrdnFileList.isEmpty() && orgnlCrdnFileList.size() > 0) { - List fileInfoList = new ArrayList(); - - List files = new ArrayList<>(); - for (int iLoop = 0; iLoop < orgnlCrdnFileList.size(); iLoop++) { - files.add(new File(orgnlCrdnFileList.get(iLoop).string("FILE_PATH"))); - } - - Relation relation = new Relation(); - relation.setInfoType(Crdn.INF_TYPE); - relation.setInfoKey(newCrdnId); - fileInfoList = new FileInfoFactory().createFileInfos(relation, files); - ArrayList oldFileIdList = new ArrayList<>(); - for (int iLoop = 0; iLoop < fileInfoList.size(); iLoop++) { - oldFileIdList.add(orgnlCrdnFileList.get(iLoop).string("FILE_ID")); - fileInfoList.get(iLoop).setName(orgnlCrdnFileList.get(iLoop).string("FILE_NM")); - } - int effected = fileBean.create(fileInfoList); - if(effected == 0) { - throw new RuntimeException("단속민원 복사 등록 중 파일복사에 실패하였습니다."); - } - - try { - for (int iLoop = 0; iLoop < fileInfoList.size(); iLoop++) { - mediaBean.copyMosaicInfo(oldFileIdList.get(iLoop), fileInfoList.get(iLoop).getId()); - } - } catch (Exception e) { - throw new RuntimeException("단속민원 복사 등록 중 사진 모자이크 정보 복사에 실패하였습니다."); - } - } - - return true; - } - - /** 단속자료에 대해 서손 처리한다. - * @param trigger 서손 실행 원인, crdnId 단속 ID - * @return 저장여부 - */ - public boolean executelevyExcl(String trigger, String crdnId) { - boolean saved = false; - - String levyExclRsnCd = ""; - String etcCn = ""; - - DataObject crdnInfo = crdnInfoMapper.selectCrdnInfo(crdnId); - if(trigger.equals("sendBack")) { //반송으로 인한 서손 - levyExclRsnCd = "191"; - etcCn = "이송(이첩)"; - } else if(trigger.equals("inquireTag")) { //표지조회실행으로 인한 서손 - levyExclRsnCd = "103"; - etcCn = "표지조회실행"; - } else { - return false; - } - - //부과제외 대장을 등록한다. - LevyExcl excl01 = new LevyExcl(); - excl01.setCrdnId(crdnInfo.string("CRDN_ID")); - excl01.setSggCd(crdnInfo.string("SGG_CD")); - excl01.setLevyExclYmd((new SimpleDateFormat("yyyyMMdd")).format(new Date())); - excl01.setLevyExclSeCd("1"); - excl01.setLevyExclRsnCd(levyExclRsnCd); - excl01.setEtcCn(etcCn); - saved = levyExclMapper.insertLevyExcl(excl01) == 1 ? true : false; - if (!saved) { - throw new RuntimeException("서손처리 중 부과제외 대장 등록에 실패하였습니다."); - } - - //단속상태를 변경한다. - Crdn crdn = new Crdn(); - crdn.setCrdnId(crdnId); - crdn.setCrdnSttsCd("81"); - saved = crdnUpdtMapper.updateCrdnStatus(crdn) == 1 ? true : false; - if (!saved) { - throw new RuntimeException("서손처리 중 단속상태변경에 실패하였습니다."); - } - - //단속상태 변경 이력 기록 - CrdnSttsHstry crdnSttsHstry = new CrdnSttsHstry(); - crdnSttsHstry.setCrdnId(crdnId); - crdnSttsHstry.setBfrSttsCd(crdnInfo.string("CRDN_STTS_CD")); - crdnSttsHstry.setBfrSttsChgDt(crdnInfo.string("CRDN_STTS_CHG_DT")); - crdnSttsHstry.setCrdnSttsCd("81"); - crdnSttsHstry.setTaskDtlId(excl01.getLevyExclId()); - crdnSttsHstry.setEtcCn(etcCn); - saved = crdnSttsHstryMapper.insertCrdnSttsHstry(crdnSttsHstry) == 1 ? true : false; - if (!saved) { - throw new RuntimeException("서손처리 중 단속상태이력 등록에 실패하였습니다."); - } - - return true; - } -} diff --git a/src/main/java/cokr/xit/fims/cvlc/web/Cvlc01Controller.java b/src/main/java/cokr/xit/fims/cvlc/web/Cvlc01Controller.java deleted file mode 100644 index 32c55e8b..00000000 --- a/src/main/java/cokr/xit/fims/cvlc/web/Cvlc01Controller.java +++ /dev/null @@ -1,417 +0,0 @@ -package cokr.xit.fims.cvlc.web; - -import java.util.ArrayList; -import java.util.HashMap; -import java.util.List; -import java.util.Map; -import java.util.stream.Collectors; - -import javax.annotation.Resource; -import javax.servlet.http.HttpServletRequest; - -import org.apache.poi.ss.usermodel.CellStyle; -import org.springframework.stereotype.Controller; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.servlet.ModelAndView; - -import cokr.xit.applib.Print; -import cokr.xit.base.code.CommonCode; -import cokr.xit.base.docs.xls.CellDef; -import cokr.xit.base.docs.xls.Format; -import cokr.xit.base.docs.xls.Style; -import cokr.xit.base.docs.xls.XLSWriter; -import cokr.xit.base.file.service.FileQuery; -import cokr.xit.base.file.service.bean.FileBean; -import cokr.xit.base.user.dao.UserMapper; -import cokr.xit.base.web.ApplicationController; -import cokr.xit.fims.base.FimsUser; -import cokr.xit.fims.base.service.bean.OgdpBean; -import cokr.xit.fims.cmmn.FimsPrintOption; -import cokr.xit.fims.cmmn.hwp.format.CvlcptOrgn; -import cokr.xit.fims.cmmn.service.bean.StngBean; -import cokr.xit.fims.cmmn.xls.FormatMaker; -import cokr.xit.fims.cmmn.xls.StyleMaker; -import cokr.xit.fims.crdn.Crdn; -import cokr.xit.fims.crdn.CrdnQuery; -import cokr.xit.fims.crdn.dao.CrdnStngMapper; -import cokr.xit.fims.crdn.service.CrdnService; -import cokr.xit.fims.cvlc.CrdnCvlcpt; -import cokr.xit.fims.cvlc.service.CrdnCvlcptService; -import cokr.xit.fims.cvlc.service.bean.CrdnCvlcptMainBean; -import cokr.xit.fims.task.Task; -import cokr.xit.foundation.UserInfo; -import cokr.xit.foundation.data.DataObject; - -/**민원접수자료 서비스 웹 컨트롤러.
    - * {웹 컨텍스트}/cvlc/cvlc01 로 접근할 수 있다. - * @author leebj - */ -@Controller -@RequestMapping(name="민원접수자료 관리 업무", value=Cvlc01Controller.CLASS_URL) -public class Cvlc01Controller extends ApplicationController { - - public static final String CLASS_URL = "/cvlc/cvlc01"; - - public class METHOD_URL { - public static final String - civilComplaintReceiptDataMain = "/010/main.do", - getCivilComplaintReceiptDataList = "/010/list.do", - removeCivilComplaint = "/010/remove.do", - getCivilComplaintReceiptInitialDataInfo = "/020/info.do", - saveCivilComplaintProcessSection = "/020/update.do", - copyCivilComplaintInfo = "/020/create.do", - sendBackCivilComplaintInfo = "/020/remove.do", - getCivilComplaintOriginalInfo = "/050/info.do", - makeFileFromHwpFormat = "/050/makeFileFromHwpFormat.do" - ; - } - - - @Resource(name="userMapper") - protected UserMapper userMapper; - - @Resource(name="crdnService") - private CrdnService crdnService; - - @Resource(name="crdnCvlcptService") - private CrdnCvlcptService crdnCvlcptService; - - @Resource(name = "stngBean") - private StngBean stngBean; - - @Resource(name = "fileBean") - private FileBean fileBean; - - @Resource(name = "ogdpBean") - private OgdpBean ogdpBean; - - @Resource(name = "crdnCvlcptMainBean") - private CrdnCvlcptMainBean crdnCvlcptMainBean; - - @Resource(name="crdnStngMapper") - private CrdnStngMapper crdnStngMapper; - - /** 민원 접수 자료 메인화면을 연다. - * @return fims/cvlc/cvlc01010-main - */ - @RequestMapping(name="민원 접수 자료 메인", value=METHOD_URL.civilComplaintReceiptDataMain) - public ModelAndView civilComplaintReceiptDataMain() { - ModelAndView mav = new ModelAndView(); - mav.setViewName("fims/cvlc/cvlc01010-main"); - mav.addObject("pageName", "cvlc01010"); - - Map> commonCodes = getCodesOf("FIM026","FIM054"); - mav.addObject("FIM054List", commonCodes.get("FIM054")); - mav.addObject("TaskListForSgg", stngBean.filterTaskSectionCodeForSgg(commonCodes.get("FIM054"))); - addCodes(commonCodes, mav, "FIM026"); - - mav.addObject("currentUserName", UserInfo.current().getName()); - return mav; - } - - /**민원접수자료 목록을 조회한다.
    - * {@link CrdnService#getCrackdownList(CrdnQuery)} 참고 - * @param query 민원접수자료 목록 조회 조건 - * @return jsonView - */ - @Task - @RequestMapping(name="민원접수자료 목록 조회", value=METHOD_URL.getCivilComplaintReceiptDataList) - public ModelAndView getCivilComplaintReceiptDataList(CrdnQuery query) { - query.setGridType("receiptData"); - setFetchSize(query); - - FimsUser currentUser = (FimsUser) currentUser().getUser(); - String sggCd = currentUser.getOrgID(); - query.setSggCd(sggCd); - - if("xls".equals(query.getDownload())) { - - List cellDefs = fromJson(query.getCellDefs(), CellDef.listType()); - - XLSWriter xlsx = new XLSWriter().worksheet(0); - Format format = new Format(xlsx); - CellStyle center = format.cellStyle(Style.CENTER); - CellStyle left = format.cellStyle(Style.LEFT); - CellStyle numeric = format.n_nn0(); - CellStyle dateYMD = format.yyyy_mm_dd(); - CellStyle dateDT = format.yyyy_mm_dd_hh_mm_ss(); - - Map valueMap = new HashMap(); - valueMap.put("접수번호", center); - valueMap.put("목록번호", center); - valueMap.put("등록구분", format.of("CRDN_REG_SE_NM").style(center)); - valueMap.put("신고자", center); - valueMap.put("담당자", center); - valueMap.put("담당자전화번호", center); - valueMap.put("접수일자", FormatMaker.yyyy_mm_dd(format,"CVLCPT_RCPT_YMD").style(dateYMD)); - valueMap.put("처리기한", FormatMaker.yyyy_mm_dd_hh_mm_ss(format,"CVLCPT_PRCS_PRNMNT_DT").style(dateDT)); - valueMap.put("위반일시", FormatMaker.yyyy_mm_dd_hh_mm_ss(format,"CRDN_YMD_TM").style(dateDT)); - valueMap.put("위반내용", center); - valueMap.put("차량번호", left); - valueMap.put("사진건수", center); - CellDef.setValues(cellDefs, valueMap); - - List list = crdnCvlcptService.getCivilComplaintList(query.setFetchSize(0)); - - xlsx.cell(0, 0).value("민원접수자료 목록").value(center).merge(0, cellDefs.size()-1); - xlsx.cell(3, 0).rowValues(CellDef.header(cellDefs, () -> StyleMaker.headerStyle(xlsx))); - xlsx.cell(4, 0).values(list, CellDef.values(cellDefs.stream().map(i -> {if(i.getValue() instanceof Format) {i.setField(null);}; return i;}).toList())); - - ModelAndView mav = new ModelAndView("downloadView"); - mav.addObject("download", xlsx.getDownloadable().setFilename("민원접수자료 목록.xlsx")); - mav.addObject("downloadData", list); - mav.addObject("dataNames", cellDefs.stream().map(CellDef::getLabel).toList()); - return mav; - } - - return setCollectionInfo(new ModelAndView("jsonView"), crdnCvlcptService.getCivilComplaintList(query),"",""); - } - - /**지정한 민원자료를 제거한다. - * @param crdnIds 단속대장 아이디 목록 - * @return jsonView - *
     {
    -	 *     "affected": 저장된 정보수
    -	 *     "saved": 저장되었으면 true, 그렇지 않으면 false
    -	 * }
    - */ - @Task - @RequestMapping(name="민원자료 제거", value=METHOD_URL.removeCivilComplaint) - public ModelAndView removeCivilComplaint(String[] crdnIds) { - ModelAndView mav = new ModelAndView("jsonView"); - boolean saved = false; - String rtnMsg = crdnService.remove(crdnIds); - if(rtnMsg.contains("S")) { - saved = true; - } - mav.addObject("saved", saved); - return mav; - } - - /** 민원내역 원본 보기 팝업 화면을 연다. - * @return fims/cvlc/cvlc01050-info - */ - @Task - @RequestMapping(name="민원내역 원본 보기", value=METHOD_URL.getCivilComplaintOriginalInfo) - public ModelAndView getCivilComplaintOriginalInfo(HttpServletRequest hReq, CrdnQuery query) { - - boolean json = jsonResponse(); - - ModelAndView mav = new ModelAndView(json ? "jsonView" : "fims/cvlc/cvlc01050-info"); - mav.addObject("pageName", "cvlc01050"); - String urlTaskSeCd = hReq.getServletPath().split("/")[1]; - mav.addObject("taskSeCd", urlTaskSeCd); - - Map> commonCodes = getCodesOf("FIM039"); - mav.addObject("FIM039List", commonCodes.get("FIM039")); - - DataObject info = crdnCvlcptService.getCivilComplaintOriginalInfo(query); - - mav.addObject("cvlcptInfo", json ? info : toJson(info)); - return mav; - } - - /** 민원내역 원본을 한글 파일로 작성한다. - * @return hwp파일 - */ - @Task - @RequestMapping(name="민원내역 원본 한글 파일 생성", value=METHOD_URL.makeFileFromHwpFormat) - public ModelAndView makeFileFromHwpFormat(CrdnQuery query) { - - FimsPrintOption printOption = new FimsPrintOption(); - - UserInfo userInfo = currentUser(); - ogdpBean.initUserInfo(userInfo); - Print print = new Print(); - print.setPrintRequestUserInfo(userInfo); - - - - DataObject dataObject = crdnCvlcptMainBean.getCivilComplaintOriginalInfo(query); - List dataObjectList = new ArrayList(); - dataObjectList.add(dataObject); - - String linkTblNm = dataObject.string("LINK_TBL_NM"); - if(!(ifEmpty(linkTblNm, () -> "").equals(""))) { - FileQuery fileQuery = new FileQuery(); - - if(linkTblNm.equals("TB_ESB_INTERFACE")) { - fileQuery.setInfoType("010"); - } else if(linkTblNm.equals("TB_SA_CVLCPT_DTL")) { - fileQuery.setInfoType("020"); - } else { - throw new RuntimeException("한글 파일 출력 중 오류가 발생하였습니다."); - } - - fileQuery.setInfoKeys(dataObject.string("LINK_ID")); - - List fileInfoList = fileBean.getFileList(fileQuery); - - fileInfoList = fileInfoList.stream() - .filter(fileInfo -> fileInfo.string("MIME_TYPE").startsWith("image")) - .collect(Collectors.toList()); - - if(fileInfoList != null && fileInfoList.size() > 0) { - int photoCnt = fileInfoList.size(); - - for(int i=0; i < photoCnt; i++) { - dataObject.put("PHOTO"+i, fileInfoList.get(i).string("URL")); - } - - dataObject.put("ORGN_PHOTO_CNT", photoCnt); - } - } - - CvlcptOrgn hwpFormat = new CvlcptOrgn(print, printOption, dataObjectList); - HashMap result = hwpFormat.makeFile().andDownload(); - ModelAndView mav = new ModelAndView("downloadView"); - mav.addAllObjects(result); - return mav; - } - - /**민원접수 초기자료 상세조회 팝업 화면을 연다.
    - * @return fims/cvlc/cvlc01020-info - */ - @Task - @RequestMapping(name="민원접수 초기자료 조회", value=METHOD_URL.getCivilComplaintReceiptInitialDataInfo) - public ModelAndView getCivilComplaintReceiptInitialDataInfo(HttpServletRequest hReq, CrdnQuery query) { - boolean json = jsonResponse(); - - ModelAndView mav = new ModelAndView(json ? "jsonView" : "fims/cvlc/cvlc01020-info"); - mav.addObject("pageName", "cvlc01020"); - - String urlTaskSeCd = hReq.getServletPath().split("/")[1]; - mav.addObject("taskSeCd", urlTaskSeCd); - - DataObject info = crdnCvlcptService.getCivilComplaintReceiptInitialDataInfo(query); - - mav.addObject("crdnInfo", json ? info : toJson(info)); - - mav.addObject("openerPageName", hReq.getParameter("openerPageName")); - - FimsUser currentUser = (FimsUser) currentUser().getUser(); - String sggCd = currentUser.getOrgID(); - List stdgNmList = crdnStngMapper.selectStdgNmList(sggCd); - mav.addObject("stdgNmList", stdgNmList); - - String vltnByTask = ""; - switch(urlTaskSeCd) { - case "PVS" -> { vltnByTask = "FIM004"; } - case "BPV" -> { vltnByTask = "FIM005"; } - case "DPV" -> { vltnByTask = "FIM006"; } - case "ECA" -> { vltnByTask = "FIM061"; } - case "PES" -> { vltnByTask = "FIM064"; } - } - Map> commonCodes = getCodesOf("FIM011","FIM053","LVS005",vltnByTask); - mav.addObject("FIM011List", commonCodes.get("FIM011")); - mav.addObject("FIM053List", commonCodes.get("FIM053")); - mav.addObject("LVS005List", commonCodes.get("LVS005")); - mav.addObject("VLTNList", commonCodes.get(vltnByTask)); - - switch(urlTaskSeCd) { - case "PVS" -> { - commonCodes = getCodesOf("FIM002","FIM007","FIM009"); - mav.addObject("FIM002List", commonCodes.get("FIM002")); - mav.addObject("FIM007List", commonCodes.get("FIM007")); - mav.addObject("FIM009List", commonCodes.get("FIM009")); - } - case "BPV" -> { - commonCodes = getCodesOf("FIM002","FIM009"); - mav.addObject("FIM002List", commonCodes.get("FIM002")); - mav.addObject("FIM009List", commonCodes.get("FIM009")); - } - case "DPV" -> { - commonCodes = getCodesOf("FIM034"); - mav.addObject("FIM034List", commonCodes.get("FIM034")); - } - case "ECA" -> { } - case "PES" -> { } - } - - return mav; - } - - /**지정한 민원 초기자료를 수정한다. - * @param hReq 수정 요청, crdnCvlcpt 민원 정보, crdn 단속 정보 - * @return jsonView - *
     {
    -	 *     "affected": 저장된 정보수
    -	 *     "saved": 저장되었으면 true, 그렇지 않으면 false
    -	 * }
    - */ - @Task - @RequestMapping(name="민원 정보 수정", value=METHOD_URL.saveCivilComplaintProcessSection) - public ModelAndView saveCivilComplaintProcessSection(HttpServletRequest hReq, CrdnCvlcpt crdnCvlcpt, Crdn crdn) { - ModelAndView mav = new ModelAndView("jsonView"); - - FimsUser currentUser = (FimsUser) currentUser().getUser(); - String sggCd = currentUser.getOrgID(); - crdn.setSggCd(sggCd); - crdnCvlcpt.setSggCd(sggCd); - - boolean saved = false; - - Map nonQueryRequest = new HashMap(); - String acceptYn = hReq.getParameter("acceptYn"); - if(ifEmpty(acceptYn, () -> "").equals("Y")) { - nonQueryRequest.put("acceptType", "accept"); - } else { - if(crdn.getLevyExclSeCd().equals("2")) { - nonQueryRequest.put("acceptType", "someAccept"); - } else if(crdn.getLevyExclSeCd().equals("1")) { - nonQueryRequest.put("acceptType", "nonAccept"); - } - } - - String rtnMsg = crdnCvlcptService.updateCvlcptProcessSection(nonQueryRequest, crdnCvlcpt, crdn); - if(rtnMsg.contains("[S]")) { - saved = true; - } - mav.addObject("saved", saved); - return mav; - } - - /**지정한 민원 자료의 복사본을 생성한다. - * @param crdnId 단속대장 아이디 - * @return jsonView - *
     {
    -	 *     "saved": 저장되었으면 true, 그렇지 않으면 false
    -	 * }
    - */ - @Task - @RequestMapping(name="민원 자료 복사", value=METHOD_URL.copyCivilComplaintInfo) - public ModelAndView copyCivilComplaintInfo(String crdnId) { - ModelAndView mav = new ModelAndView("jsonView"); - - boolean saved = false; - - String rtnMsg = crdnCvlcptService.copyCvlcptCrdnInfo(crdnId); - if(rtnMsg.contains("[S]")) { - saved = true; - } - mav.addObject("saved", saved); - return mav; - } - - /**지정한 민원 자료를 반송(회수) 처리한다. - * @param crdnId 단속 ID - * @return jsonView - *
     {
    -	 *     "saved": 저장되었으면 true, 그렇지 않으면 false
    -	 * }
    - */ - @Task - @RequestMapping(name="민원 자료 반송", value=METHOD_URL.sendBackCivilComplaintInfo) - public ModelAndView sendBackCivilComplaintInfo(String crdnId) { - ModelAndView mav = new ModelAndView("jsonView"); - - boolean saved = false; - - String rtnMsg = crdnCvlcptService.sendBackCivilComplaintInfo(crdnId); - if(rtnMsg.contains("[S]")) { - saved = true; - } - mav.addObject("saved", saved); - return mav; - } -} diff --git a/src/main/java/cokr/xit/fims/cvlc/web/Cvlc02Controller.java b/src/main/java/cokr/xit/fims/cvlc/web/Cvlc02Controller.java deleted file mode 100644 index d035a75d..00000000 --- a/src/main/java/cokr/xit/fims/cvlc/web/Cvlc02Controller.java +++ /dev/null @@ -1,261 +0,0 @@ -package cokr.xit.fims.cvlc.web; - -import java.util.HashMap; -import java.util.List; -import java.util.Map; - -import javax.annotation.Resource; -import javax.servlet.http.HttpServletRequest; - -import org.apache.poi.ss.usermodel.CellStyle; -import org.springframework.stereotype.Controller; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.servlet.ModelAndView; - -import cokr.xit.base.code.CommonCode; -import cokr.xit.base.docs.xls.CellDef; -import cokr.xit.base.docs.xls.Comment; -import cokr.xit.base.docs.xls.Format; -import cokr.xit.base.docs.xls.Style; -import cokr.xit.base.docs.xls.XLSWriter; -import cokr.xit.base.file.service.FileQuery; -import cokr.xit.base.file.service.bean.FileBean; -import cokr.xit.base.user.dao.UserMapper; -import cokr.xit.base.web.ApplicationController; -import cokr.xit.fims.base.FimsUser; -import cokr.xit.fims.cmmn.service.bean.StngBean; -import cokr.xit.fims.cmmn.xls.FormatMaker; -import cokr.xit.fims.cmmn.xls.StyleMaker; -import cokr.xit.fims.crdn.Crdn; -import cokr.xit.fims.crdn.CrdnQuery; -import cokr.xit.fims.crdn.service.CrdnService; -import cokr.xit.fims.cvlc.CrdnCvlcpt; -import cokr.xit.fims.cvlc.service.CrdnCvlcptService; -import cokr.xit.fims.task.Task; -import cokr.xit.foundation.data.DataObject; - -/**민원답변대상자료 서비스 웹 컨트롤러.
    - * {웹 컨텍스트}/cvlc/cvlc02 로 접근할 수 있다. - * @author leebj - */ -@Controller -@RequestMapping(name="민원답변대상자료 관리 업무", value=Cvlc02Controller.CLASS_URL) -public class Cvlc02Controller extends ApplicationController { - - public static final String CLASS_URL = "/cvlc/cvlc02"; - - public class METHOD_URL { - public static final String - civilComplaintAnswerTargetDataMain = "/010/main.do", - selectCivilComplaintAnswerTargetDataList = "/030/list.do", - updateAnswerTargetProcessStatus = "/030/update.do", - executeDisabledTagInfoInquire = "/040/update.do", - answerPreviewInfo = "/060/info.do", - updateAnswerContent = "/060/update.do" - ; - } - - @Resource(name="crdnService") - private CrdnService crdnService; - - @Resource(name="crdnCvlcptService") - private CrdnCvlcptService crdnCvlcptService; - - @Resource(name="userMapper") - protected UserMapper userMapper; - - @Resource(name = "stngBean") - private StngBean stngBean; - - @Resource(name = "fileBean") - private FileBean fileBean; - - /** 민원 답변 대상 자료 메인화면을 연다. - * @return fims/cvlc/cvlc02010-main - */ - @RequestMapping(name="민원 답변 대상 자료 메인", value=METHOD_URL.civilComplaintAnswerTargetDataMain) - public ModelAndView civilComplaintAnswerTargetDataMain() { - ModelAndView mav = new ModelAndView(); - mav.setViewName("fims/cvlc/cvlc02010-main"); - mav.addObject("pageName", "cvlc02010"); - - Map> commonCodes = getCodesOf("FIM017","FIM022", "FIM026", "FIM054"); - mav.addObject("FIM017List", commonCodes.get("FIM017")); - mav.addObject("FIM054List", commonCodes.get("FIM054")); - mav.addObject("TaskListForSgg", stngBean.filterTaskSectionCodeForSgg(commonCodes.get("FIM054"))); - addCodes(commonCodes, mav, "FIM022"); - addCodes(commonCodes, mav, "FIM026"); - return mav; - } - - /**민원답변대상자료 목록을 조회한다.
    - * {@link CrdnService#getCrackdownList(CrdnQuery)} 참고 - * @param query 민원답변대상자료 목록 조회 조건 - * @return jsonView - */ - @Task - @RequestMapping(name="민원답변대상자료 목록", value=METHOD_URL.selectCivilComplaintAnswerTargetDataList) - public ModelAndView selectCivilComplaintAnswerTargetDataList(CrdnQuery query) { - query.setGridType("answerTargetData"); - setFetchSize(query); - - FimsUser currentUser = (FimsUser) currentUser().getUser(); - String sggCd = currentUser.getOrgID(); - query.setSggCd(sggCd); - - if("xls".equals(query.getDownload())) { - List cellDefs = fromJson(query.getCellDefs(), CellDef.listType()); - if(ifEmpty(query.getIncludePhoto(), () -> "").equals("Y")) { - cellDefs.add((new CellDef()).setLabel("사진1").setWidth(18).setField("CRDN_PHOTO_PATH1")); - cellDefs.add((new CellDef()).setLabel("사진2").setWidth(18).setField("CRDN_PHOTO_PATH2")); - } - - XLSWriter xlsx = new XLSWriter().worksheet(0); - Format format = new Format(xlsx); - Comment comment = new Comment(xlsx); - - CellStyle center = format.cellStyle(Style.CENTER); - CellStyle left = format.cellStyle(Style.LEFT); - CellStyle numeric = format.n_nn0(); - CellStyle dateYMD = format.yyyy_mm_dd(); - CellStyle dateDT = format.yyyy_mm_dd_hh_mm_ss(); - - Map valueMap = new HashMap(); - valueMap.put("접수번호", center); - valueMap.put("목록번호", center); - valueMap.put("신고자", center); - valueMap.put("담당자", center); - valueMap.put("담당자전화번호", center); - valueMap.put("접수일자", FormatMaker.yyyy_mm_dd(format,"CVLCPT_RCPT_YMD").style(dateYMD)); - valueMap.put("처리기한", FormatMaker.yyyy_mm_dd_hh_mm_ss(format,"CVLCPT_PRCS_PRNMNT_DT").style(dateDT)); - valueMap.put("위반일시", FormatMaker.yyyy_mm_dd_hh_mm_ss(format,"CRDN_YMD_TM").style(dateDT)); - valueMap.put("위반내용", center); - valueMap.put("차량번호", left); - valueMap.put("서손/계고사유", center); - valueMap.put("특기사항", left); - if(ifEmpty(query.getIncludePhoto(), () -> "").equals("Y")) { - valueMap.put("사진1", FormatMaker.photoCellForApproval(format, comment, "CRDN_PHOTO_PATH1")); - valueMap.put("사진2", FormatMaker.photoCellForApproval(format, comment, "CRDN_PHOTO_PATH2")); - } - CellDef.setValues(cellDefs, valueMap); - - List list = crdnCvlcptService.getCivilComplaintList(query.setFetchSize(0)); - if(ifEmpty(query.getIncludePhoto(), () -> "").equals("Y")) { - for(DataObject crdn : list) { - String crdnId = crdn.string("CRDN_ID"); - FileQuery fileQuery = new FileQuery(); - fileQuery.setInfoType(Crdn.INF_TYPE); - fileQuery.setInfoKeys(crdnId); - List fileInfoList = fileBean.getFileList(fileQuery); - - if(fileInfoList != null && fileInfoList.size() > 0) { - for(int j=0; (j < fileInfoList.size()) && (j < 2); j++) { - crdn.set("CRDN_PHOTO_PATH"+(j+1), fileInfoList.get(j).string("FILE_PATH")); - } - } - } - } - - xlsx.cell(0, 0).value("민원답변대상자료 목록").value(center).merge(0, cellDefs.size()-1); - xlsx.cell(3, 0).rowValues(CellDef.header(cellDefs, () -> StyleMaker.headerStyle(xlsx))); - xlsx.cell(4, 0).values(list, CellDef.values(cellDefs.stream().map(i -> {if(i.getValue() instanceof Format) {i.setField(null);}; return i;}).toList())); - - ModelAndView mav = new ModelAndView("downloadView"); - mav.addObject("download", xlsx.getDownloadable().setFilename("민원답변대상자료 목록.xlsx")); - mav.addObject("downloadData", list); - mav.addObject("dataNames", cellDefs.stream().map(CellDef::getLabel).toList()); - return mav; - } - - return setCollectionInfo(new ModelAndView("jsonView"), crdnCvlcptService.getCivilComplaintList(query),"",""); - } - - /** 민원답변내용 미리보기 화면을 연다. - * @return - */ - @Task - @RequestMapping(name="민원답변내용 미리보기", value=METHOD_URL.answerPreviewInfo) - public ModelAndView answerPreviewInfo(HttpServletRequest hReq, CrdnQuery query) { - boolean json = jsonResponse(); - ModelAndView mav = new ModelAndView(json ? "jsonView" : "fims/cvlc/cvlc02060-info"); - - mav.addObject("pageName", "cvlc02060"); - String urlTaskSeCd = hReq.getServletPath().split("/")[1]; - mav.addObject("taskSeCd", urlTaskSeCd); - - query.setTaskSeCd(urlTaskSeCd); - query.setSggCd(currentUser().getOrgID()); - query.setCurrentUserAcnt(currentUser().getAccount()); - DataObject cvlcptInfo = crdnCvlcptService.getAnswerPreview(query); - mav.addObject("openerPageName", hReq.getParameter("openerPageName")); - mav.addObject("cvlcptInfo", json ? cvlcptInfo : toJson(cvlcptInfo)); - - return mav; - } - - /**지정한 민원 자료의 답변 내용을 저장한다. - * @param crdnCvlcpt 단속민원 정보 - * @return jsonView - *
     {
    -	 *     "affected": 저장된 정보수
    -	 *     "saved": 저장되었으면 true, 그렇지 않으면 false
    -	 * }
    - */ - @Task - @RequestMapping(name="답변 내용 저장", value=METHOD_URL.updateAnswerContent) - public ModelAndView updateAnswerContent(CrdnCvlcpt crdnCvlcpt) { - - boolean saved = false; - - String rtnMsg = crdnCvlcptService.updateAnswerContent(crdnCvlcpt); - if(rtnMsg.contains("[S]")) { - saved = true; - } - return new ModelAndView("jsonView") - .addObject("saved", saved); - } - - /**민원 답변 대상 자료의 처리 상태를 변경한다. - * @param crdnCvlcpt 단속민원 정보 - * @return jsonView - *
     {
    -	 *     "affected": 저장된 정보수
    -	 *     "saved": 저장되었으면 true, 그렇지 않으면 false
    -	 * }
    - */ - @Task - @RequestMapping(name="답변 대상 처리상태 변경", value=METHOD_URL.updateAnswerTargetProcessStatus) - public ModelAndView updateAnswerTargetProcessStatus(String processType, String... crdnIds) { - - boolean saved = false; - String currentSggCd = currentUser().getOrgID(); - String currentUserAcnt = currentUser().getAccount(); - String rtnMsg = crdnCvlcptService.updateAnswerTargetProcessStatus(processType, currentSggCd, currentUserAcnt, crdnIds); - if(rtnMsg.contains("[S]")) { - saved = true; - } - return new ModelAndView("jsonView") - .addObject("saved", saved); - } - - /**지정한 단속자료에 대해 표지정보조회 실행 후 장애인차량이 아닌 건은 서손 처리한다. - * @param crdnIds 단속ID 목록 - * @return jsonView - *
     {
    -	 *     "affected": 저장된 정보수
    -	 *     "saved": 저장되었으면 true, 그렇지 않으면 false
    -	 * }
    - */ - @Task("DPV") - @RequestMapping(name="표지 정보 조회 실행", value=METHOD_URL.executeDisabledTagInfoInquire) - public ModelAndView executeDisabledTagInfoInquire(String... crdnIds) { - boolean saved = false; - - String rtnMsg = crdnCvlcptService.executeDisabledTagInfoInquire(crdnIds); - if(rtnMsg.contains("[S]")) { - saved = true; - } - return new ModelAndView("jsonView") - .addObject("saved", saved); - } -} diff --git a/src/main/java/cokr/xit/fims/cvlc/web/Cvlc03Controller.java b/src/main/java/cokr/xit/fims/cvlc/web/Cvlc03Controller.java deleted file mode 100644 index 67894004..00000000 --- a/src/main/java/cokr/xit/fims/cvlc/web/Cvlc03Controller.java +++ /dev/null @@ -1,132 +0,0 @@ -package cokr.xit.fims.cvlc.web; - -import java.util.HashMap; -import java.util.List; -import java.util.Map; - -import javax.annotation.Resource; - -import org.apache.poi.ss.usermodel.CellStyle; -import org.springframework.stereotype.Controller; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.servlet.ModelAndView; - -import cokr.xit.base.code.CommonCode; -import cokr.xit.base.docs.xls.CellDef; -import cokr.xit.base.docs.xls.Format; -import cokr.xit.base.docs.xls.Style; -import cokr.xit.base.docs.xls.XLSWriter; -import cokr.xit.base.user.dao.UserMapper; -import cokr.xit.base.web.ApplicationController; -import cokr.xit.fims.base.FimsUser; -import cokr.xit.fims.cmmn.service.bean.StngBean; -import cokr.xit.fims.cmmn.xls.FormatMaker; -import cokr.xit.fims.cmmn.xls.StyleMaker; -import cokr.xit.fims.crdn.CrdnQuery; -import cokr.xit.fims.crdn.service.CrdnService; -import cokr.xit.fims.cvlc.service.CrdnCvlcptService; -import cokr.xit.fims.task.Task; -import cokr.xit.foundation.UserInfo; -import cokr.xit.foundation.data.DataObject; - -/**민원관리 서비스 웹 컨트롤러.
    - * {웹 컨텍스트}/cvlc/cvlc03 로 접근할 수 있다. - * @author leebj - */ -@Controller -@RequestMapping(name="민원관리", value=Cvlc03Controller.CLASS_URL) -public class Cvlc03Controller extends ApplicationController { - - public static final String CLASS_URL = "/cvlc/cvlc03"; - - public class METHOD_URL { - public static final String - civilComplaintManagementMain = "/010/main.do", - getCivilComplaintList = "/010/list.do" - ; - } - - @Resource(name="crdnService") - private CrdnService crdnService; - - @Resource(name="crdnCvlcptService") - private CrdnCvlcptService crdnCvlcptService; - - @Resource(name="userMapper") - protected UserMapper userMapper; - - @Resource(name = "stngBean") - private StngBean stngBean; - - /** 민원 관리 메인화면을 연다. - * @return fims/cvlc/cvlc03010-main - */ - @RequestMapping(name="민원 관리 메인", value=METHOD_URL.civilComplaintManagementMain) - public ModelAndView civilComplaintManagementMain() { - ModelAndView mav = new ModelAndView(); - mav.setViewName("fims/cvlc/cvlc03010-main"); - mav.addObject("pageName", "cvlc03010"); - - Map> commonCodes = getCodesOf("FIM022","FIM026", "FIM054"); - mav.addObject("FIM054List", commonCodes.get("FIM054")); - mav.addObject("TaskListForSgg", stngBean.filterTaskSectionCodeForSgg(commonCodes.get("FIM054"))); - addCodes(commonCodes, mav, "FIM022", "FIM026"); - mav.addObject("currentUserName", UserInfo.current().getName()); - - return mav; - } - - /**민원자료 목록을 조회한다.
    - * {@link CrdnService#getCrackdownList(CrdnQuery)} 참고 - * @param query 민원자료 목록 조회 조건 - * @return jsonView - */ - @Task - @RequestMapping(name="민원자료 목록 조회", value=METHOD_URL.getCivilComplaintList) - public ModelAndView getCivilComplaintList(CrdnQuery query) { - setFetchSize(query); - - FimsUser currentUser = (FimsUser) currentUser().getUser(); - String sggCd = currentUser.getOrgID(); - query.setSggCd(sggCd); - - if("xls".equals(query.getDownload())) { - List cellDefs = fromJson(query.getCellDefs(), CellDef.listType()); - - XLSWriter xlsx = new XLSWriter().worksheet(0); - Format format = new Format(xlsx); - CellStyle center = format.cellStyle(Style.CENTER); - CellStyle dateYMD = format.yyyy_mm_dd(); - CellStyle dateDT = format.yyyy_mm_dd_hh_mm_ss(); - - List list = crdnCvlcptService.getCivilComplaintList(query.setFetchSize(0)); - - Map valueMap = new HashMap(); - valueMap.put("접수번호", format.of("CVLCPT_RCPT_NO").style(center)); - valueMap.put("목록번호", format.of("CVLCPT_LIST_NO").style(center)); - valueMap.put("등록구분", format.of("CRDN_REG_SE_NM").style(center)); - valueMap.put("신고자", format.of("CVLCPT_APLCNT_NM").style(center)); - valueMap.put("담당자", format.of("CVLCPT_PRCS_PIC_NM").style(center)); - valueMap.put("담당자전화번호", format.of("CVLCPT_PRCS_PIC_TELNO").style(center)); - valueMap.put("접수일자", FormatMaker.yyyy_mm_dd(format, "CVLCPT_RCPT_YMD").style(dateYMD)); - valueMap.put("처리기한", FormatMaker.yyyy_mm_dd_hh_mm_ss(format, "CVLCPT_PRCS_PRNMNT_DT").style(dateDT)); - valueMap.put("위반일시", FormatMaker.yyyy_mm_dd_hh_mm_ss(format, "CRDN_YMD_TM").style(dateDT)); - valueMap.put("위반내용", format.of("VLTN_ARTCL").style(center)); - valueMap.put("차량번호", format.of("VHRNO")); - valueMap.put("사진건수", format.of("ATCH_FILE_CNT").style(center)); - valueMap.put("서손/계고사유", format.of("LEVY_EXCL_RSN_NM").style(center)); - valueMap.put("특기사항", format.of("ETC_CN")); - CellDef.setValues(cellDefs, valueMap); - - xlsx.cell(0, 0).value("민원자료 목록").value(center).merge(0, cellDefs.size()-1); - xlsx.cell(3, 0).rowValues(CellDef.header(cellDefs, () -> StyleMaker.headerStyle(xlsx))); - xlsx.cell(4, 0).values(list, CellDef.values(cellDefs.stream().map(i -> {if(i.getValue() instanceof Format) {i.setField(null);}; return i;}).toList())); - - ModelAndView mav = new ModelAndView("downloadView"); - mav.addObject("download", xlsx.getDownloadable().setFilename("민원자료 목록.xlsx")); - return mav.addObject("downloadData", list).addObject("dataNames", cellDefs.stream().map(CellDef::getLabel).toList()); - } - - return setCollectionInfo(new ModelAndView("jsonView"),crdnCvlcptService.getCivilComplaintList(query),"",""); - } -} diff --git a/src/main/java/cokr/xit/fims/cvlc/web/Cvlc04Controller.java b/src/main/java/cokr/xit/fims/cvlc/web/Cvlc04Controller.java deleted file mode 100644 index ea110ef8..00000000 --- a/src/main/java/cokr/xit/fims/cvlc/web/Cvlc04Controller.java +++ /dev/null @@ -1,132 +0,0 @@ -package cokr.xit.fims.cvlc.web; - -import java.util.List; -import java.util.Map; - -import javax.annotation.Resource; - -import org.springframework.stereotype.Controller; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.servlet.ModelAndView; - -import cokr.xit.base.code.CommonCode; -import cokr.xit.base.user.dao.UserMapper; -import cokr.xit.base.web.ApplicationController; -import cokr.xit.fims.base.FimsUser; -import cokr.xit.fims.cmmn.service.bean.StngBean; -import cokr.xit.fims.crdn.CrdnQuery; -import cokr.xit.fims.crdn.service.CrdnService; -import cokr.xit.fims.cvlc.CrdnCvlcpt; -import cokr.xit.fims.cvlc.service.CrdnCvlcptService; -import cokr.xit.fims.task.Task; - -/**민원 개별 등록 서비스 웹 컨트롤러.
    - * {웹 컨텍스트}/cvlc/cvlc04 로 접근할 수 있다. - * @author leebj - */ -@Controller -@RequestMapping(name="민원 개별 등록", value=Cvlc04Controller.CLASS_URL) -public class Cvlc04Controller extends ApplicationController { - - public static final String CLASS_URL = "/cvlc/cvlc04"; - - public class METHOD_URL { - public static final String - civilComplaintIndividualRegistrationMain = "/010/main.do", - getDmndDataList = "/010/list.do", - createDmndDataInfo = "/010/create.do", - removeDmndDataInfo = "/010/remove.do" - ; - } - - @Resource(name="crdnService") - private CrdnService crdnService; - - @Resource(name="crdnCvlcptService") - private CrdnCvlcptService crdnCvlcptService; - - @Resource(name="userMapper") - private UserMapper userMapper; - - @Resource(name = "stngBean") - private StngBean stngBean; - - /** 민원 개별 등록 메인화면을 연다. - * @return fims/cvlc/cvlc04010-main - */ - @RequestMapping(name="민원 개별 등록 메인", value=METHOD_URL.civilComplaintIndividualRegistrationMain) - public ModelAndView civilComplaintIndividualRegistrationMain() { - ModelAndView mav = new ModelAndView(); - mav.setViewName("fims/cvlc/cvlc04010-main"); - mav.addObject("pageName", "cvlc04010"); - - Map> commonCodes = getCodesOf("FIM054","FIM063"); - mav.addObject("FIM054List", commonCodes.get("FIM054")); - mav.addObject("TaskListForSgg", stngBean.filterTaskSectionCodeForSgg(commonCodes.get("FIM054"))); - addCodes(commonCodes, mav, "FIM063"); - return mav; - } - - /** 새올 요청자료 목록을 조회한다. - * {@link CrdnCvlcService#getDmndDataList(CrdnQuery)} 참고 - * @param query 새올 요청자료 목록 조회 조건 - * @return jsonView - */ - @Task - @RequestMapping(name="새올요청자료 목록 조회", value=METHOD_URL.getDmndDataList) - public ModelAndView getDmndDataList(CrdnQuery query) { - FimsUser currentUser = (FimsUser) currentUser().getUser(); - query.setSggCd(currentUser.getOrgID()); - - setFetchSize(query); - return setCollectionInfo(new ModelAndView("jsonView"), crdnCvlcptService.getDmndDataList(query),"",""); - - } - - /** 새올 요청자료를 생성한다. - * {@link CrdnCvlcService#createDmndDataInfo(crdnCvlcpt)} 참고 - * @param crdnCvlcpt 새올요청자료 정보 - * @return jsonView - *
     {
    -	 *     "saved": 저장되었으면 true, 그렇지 않으면 false
    -	 * }
    - */ - @Task - @RequestMapping(name="새올요청자료 등록", value=METHOD_URL.createDmndDataInfo) - public ModelAndView createDmndDataInfo(CrdnCvlcpt crdnCvlcpt) { - - FimsUser currentUser = (FimsUser) currentUser().getUser(); - crdnCvlcpt.setSggCd(currentUser.getOrgID()); - - boolean saved = false; - - String rtnMsg = crdnCvlcptService.createDmndDataInfo(crdnCvlcpt); - if(rtnMsg.contains("[S]")) { - saved = true; - } - return new ModelAndView("jsonView") - .addObject("saved", saved); - - } - - /**새올 요청자료를 제거한다. - * @param indivIds 개별요청 ID - * @return jsonView - *
     {
    -	 *     "affected": 저장된 정보수
    -	 *     "saved": 저장되었으면 true, 그렇지 않으면 false
    -	 * }
    - */ - @Task - @RequestMapping(name="새올요청자료 삭제", value=METHOD_URL.removeDmndDataInfo) - public ModelAndView removeDmndDataInfo(String[] indivIds) { - - boolean saved = false; - String rtnMsg = crdnCvlcptService.removeDmndDataInfo(indivIds); - if(rtnMsg.contains("[S]")) { - saved = true; - } - return new ModelAndView("jsonView") - .addObject("saved", saved); - } -} diff --git a/src/main/java/cokr/xit/fims/cvlc/web/Cvlc05Controller.java b/src/main/java/cokr/xit/fims/cvlc/web/Cvlc05Controller.java deleted file mode 100644 index 2ce6c7a2..00000000 --- a/src/main/java/cokr/xit/fims/cvlc/web/Cvlc05Controller.java +++ /dev/null @@ -1,158 +0,0 @@ -package cokr.xit.fims.cvlc.web; - -import java.util.List; -import java.util.Map; - -import javax.annotation.Resource; -import javax.servlet.http.HttpServletRequest; - -import org.springframework.stereotype.Controller; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.servlet.ModelAndView; - -import cokr.xit.base.code.CommonCode; -import cokr.xit.base.user.dao.UserMapper; -import cokr.xit.base.web.ApplicationController; -import cokr.xit.fims.base.FimsUser; -import cokr.xit.fims.cmmn.CmmnUtil; -import cokr.xit.fims.cmmn.service.bean.StngBean; -import cokr.xit.fims.crdn.CrdnQuery; -import cokr.xit.fims.cvlc.CrdnCvlcpt; -import cokr.xit.fims.cvlc.service.CrdnCvlcptService; -import cokr.xit.fims.task.Task; -import cokr.xit.foundation.UserInfo; -import cokr.xit.foundation.data.DataObject; - -/**민원신고답변 문구 관리 서비스 웹 컨트롤러.
    - * {웹 컨텍스트}/cvlc/cvlc05 로 접근할 수 있다. - * @author leebj - */ -@Controller -@RequestMapping(name="민원신고답변 문구 관리", value=Cvlc05Controller.CLASS_URL) -public class Cvlc05Controller extends ApplicationController { - - public static final String CLASS_URL = "/cvlc/cvlc05"; - - public class METHOD_URL { - public static final String - cvlcptAnswerWordsManageMain = "/010/main.do", - getCvlcptAnswerWordsInfo = "/010/info.do", - saveCvlcptAnswerWordsInfo = "/010/save.do", - removeCvlcptAnswerWordsInfo = "/010/remove.do" - ; - } - - @Resource(name="crdnCvlcptService") - private CrdnCvlcptService crdnCvlcptService; - - @Resource(name="userMapper") - private UserMapper userMapper; - - @Resource(name = "stngBean") - private StngBean stngBean; - - /** 민원신고 답변 문구 관리 메인화면을 연다. - * @return fims/cvlc/cvlc05010-main - */ - @RequestMapping(name="민원신고답변 문구 관리 메인", value=METHOD_URL.cvlcptAnswerWordsManageMain) - public ModelAndView cvlcptAnswerWordsManageMain() { - ModelAndView mav = new ModelAndView(); - mav.setViewName("fims/cvlc/cvlc05010-main"); - mav.addObject("pageName", "cvlc05010"); - - mav.addObject("currentUserName", UserInfo.current().getName()); - DataObject params = new DataObject().set("account", UserInfo.current().getAccount()).set("orgID", UserInfo.current().getOrgID()); - FimsUser currentUser = userMapper.getUser(params); - mav.addObject("currentUserTelno", currentUser.getPhoneNo()); - - Map> commonCodes = getCodesOf("FIM054"); - mav.addObject("FIM054List", commonCodes.get("FIM054")); - mav.addObject("TaskListForSgg", stngBean.filterTaskSectionCodeForSgg(commonCodes.get("FIM054"))); - - return mav; - } - - /** 민원신고 답변 문구 설정을 조회한다. - * @return fims/cvlc/cvlc05010-info - */ - @Task - @RequestMapping(name="민원신고 답변 문구 설정 조회", value=METHOD_URL.getCvlcptAnswerWordsInfo) - public ModelAndView getCvlcptAnswerWordsInfo(CrdnQuery crdnQuery) { - ModelAndView mav = new ModelAndView(); - mav.setViewName("jsonView"); - - FimsUser currentUser = (FimsUser) currentUser().getUser(); - String currentSggCd = currentUser.getOrgID(); - crdnQuery.setSggCd(currentSggCd); - Map info = crdnCvlcptService.getCvlcptAnswerWordsInfo(crdnQuery); - - DataObject basicInfo = (DataObject) info.get("basic"); - List levyCaseList = CmmnUtil.getDataObjectListFromMap(info,"levyCaseList"); - List warningCaseList = CmmnUtil.getDataObjectListFromMap(info,"warningCaseList"); - List nonlevyCaseList = CmmnUtil.getDataObjectListFromMap(info,"nonlevyCaseList"); - - if(basicInfo == null){ - mav.addObject("headerCn", ""); - mav.addObject("footerCn", ""); - } else { - mav.addObject("headerCn", basicInfo.string("HEADER_CN")); - mav.addObject("footerCn", basicInfo.string("FOOTER_CN")); - } - - mav.addObject("levyCaseList", levyCaseList); - mav.addObject("warningCaseList", warningCaseList); - mav.addObject("nonlevyCaseList", nonlevyCaseList); - - return mav; - } - - /** 민원신고 답변 문구 설정을 저장한다. - * @param hReq 저장 요청 - * @return jsonView - *
     {
    -	 *     "affected": 저장된 정보수
    -	 *     "saved": 저장되었으면 true, 그렇지 않으면 false
    -	 * }
    - */ - @Task - @RequestMapping(name="민원신고 답변 문구 설정 저장", value=METHOD_URL.saveCvlcptAnswerWordsInfo) - public ModelAndView saveCvlcptAnswerWordsInfo(HttpServletRequest hReq, CrdnCvlcpt crdnCvlcpt) { - boolean saved = false; - - FimsUser currentUser = (FimsUser) currentUser().getUser(); - String currentSggCd = currentUser.getOrgID(); - crdnCvlcpt.setSggCd(currentSggCd); - - String saveData = hReq.getParameter("saveData"); - if(saveData.equals("basic") || saveData.equals("body")) { - String rtnMsg = crdnCvlcptService.saveAnswerWordsInfo(saveData, crdnCvlcpt); - if(rtnMsg.contains("[S]")) { - saved = true; - } - } - - return new ModelAndView("jsonView") - .addObject("saved", saved); - } - - /** 미부과처리건 답변 문구를 삭제한다. - * @param ansWordsId 답변 문구 ID - * @return jsonView - *
     {
    -	 *     "affected": 저장된 정보수
    -	 *     "saved": 저장되었으면 true, 그렇지 않으면 false
    -	 * }
    - */ - @Task - @RequestMapping(name="민원신고 답변 문구 설정 삭제", value=METHOD_URL.removeCvlcptAnswerWordsInfo) - public ModelAndView removeCvlcptAnswerWordsInfo(String ansWordsId) { - boolean saved = false; - - String rtnMsg = crdnCvlcptService.removeCvlcptAnswerWordsInfo(ansWordsId); - if(rtnMsg.contains("[S]")) { - saved = true; - } - return new ModelAndView("jsonView") - .addObject("saved", saved); - } -} diff --git a/src/main/java/cokr/xit/fims/cvlc/web/Cvlc06Controller.java b/src/main/java/cokr/xit/fims/cvlc/web/Cvlc06Controller.java deleted file mode 100644 index 1a9a84cd..00000000 --- a/src/main/java/cokr/xit/fims/cvlc/web/Cvlc06Controller.java +++ /dev/null @@ -1,102 +0,0 @@ -package cokr.xit.fims.cvlc.web; - -import java.util.List; -import java.util.Map; - -import javax.annotation.Resource; - -import org.springframework.stereotype.Controller; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.servlet.ModelAndView; - -import cokr.xit.base.code.CommonCode; -import cokr.xit.base.user.dao.UserMapper; -import cokr.xit.base.web.ApplicationController; -import cokr.xit.fims.base.FimsUser; -import cokr.xit.fims.cmmn.service.bean.StngBean; -import cokr.xit.fims.crdn.CrdnQuery; -import cokr.xit.fims.cvlc.CrdnCvlcpt; -import cokr.xit.fims.cvlc.service.CrdnCvlcptService; -import cokr.xit.fims.task.Task; - -/**계도문 문구 관리 서비스 웹 컨트롤러.
    - * {웹 컨텍스트}/cvlc/cvlc06 로 접근할 수 있다. - * @author leebj - */ -@Controller -@RequestMapping(name="계도문 문구 관리", value=Cvlc06Controller.CLASS_URL) -public class Cvlc06Controller extends ApplicationController { - - public static final String CLASS_URL = "/cvlc/cvlc06"; - - public class METHOD_URL { - public static final String - warningWordsManageMain = "/010/main.do", - getWarningWordsList = "/010/list.do", - saveCvlcptAnswerWordsInfo = "/010/save.do" - ; - } - - @Resource(name="crdnCvlcptService") - private CrdnCvlcptService crdnCvlcptService; - - @Resource(name = "stngBean") - private StngBean stngBean; - - @Resource(name="userMapper") - private UserMapper userMapper; - - /** 계도문 문구 관리 메인화면을 연다. - * @return fims/cvlc/cvlc06010-main - */ - @RequestMapping(name="계도문 문구 관리 메인", value=METHOD_URL.warningWordsManageMain) - public ModelAndView warningWordsManageMain() { - - ModelAndView mav = new ModelAndView(); - mav.setViewName("fims/cvlc/cvlc06010-main"); - mav.addObject("pageName", "cvlc06010"); - - Map> commonCodes = getCodesOf("FIM054"); - mav.addObject("FIM054List", commonCodes.get("FIM054")); - mav.addObject("TaskListForSgg", stngBean.filterTaskSectionCodeForSgg(commonCodes.get("FIM054"))); - return mav; - } - - /** 계도문 문구 설정 목록을 조회한다. - * @return fims/cvlc/cvlc06010-info - */ - @Task - @RequestMapping(name="계도문 문구 설정 목록", value=METHOD_URL.getWarningWordsList) - public ModelAndView getWarningWordsList(CrdnQuery crdnQuery) { - FimsUser currentUser = (FimsUser) currentUser().getUser(); - String currentSggCd = currentUser.getOrgID(); - crdnQuery.setSggCd(currentSggCd); - return setCollectionInfo(new ModelAndView("jsonView"), crdnCvlcptService.getWarningWordsList(crdnQuery),"",""); - } - - /** 계도문 문구 설정을 저장한다. - * @param crdnCvlcpt 문구 정보 - * @return jsonView - *
     {
    -	 *     "affected": 저장된 정보수
    -	 *     "saved": 저장되었으면 true, 그렇지 않으면 false
    -	 * }
    - */ - @Task - @RequestMapping(name="계도문 문구 설정 저장", value=METHOD_URL.saveCvlcptAnswerWordsInfo) - public ModelAndView saveCvlcptAnswerWordsInfo(CrdnCvlcpt crdnCvlcpt) { - boolean saved = false; - - FimsUser currentUser = (FimsUser) currentUser().getUser(); - String currentSggCd = currentUser.getOrgID(); - crdnCvlcpt.setSggCd(currentSggCd); - - String rtnMsg = crdnCvlcptService.saveWarningWordsInfo(crdnCvlcpt); - if(rtnMsg.contains("[S]")) { - saved = true; - } - return new ModelAndView("jsonView") - .addObject("saved", saved); - } - -} diff --git a/src/main/java/cokr/xit/fims/epst/EpostDlvrRslt.java b/src/main/java/cokr/xit/fims/epst/EpostDlvrRslt.java deleted file mode 100644 index b22c8fc7..00000000 --- a/src/main/java/cokr/xit/fims/epst/EpostDlvrRslt.java +++ /dev/null @@ -1,80 +0,0 @@ -package cokr.xit.fims.epst; - -import cokr.xit.foundation.AbstractEntity; -import lombok.Getter; -import lombok.Setter; - -/** - * 전자우편 배달 결과 - * @author JoJH - */ -@Getter -@Setter -public class EpostDlvrRslt extends AbstractEntity { - - /** - * 배달 결과 ID - */ - private String dlvrRsltId; - - /** - * 외부연계식별키 - */ - private String conKey; - - /** - * 외부기관구분코드 - */ - private String outsiduserid; - - /** - * 발송인별추가데이터 - */ - private String reletcdata; - - /** - * 등기번호 - */ - private String regino; - - /** - * 배달일자 - */ - private String delivymd; - - /** - * 배달시분 - */ - private String delivhhmi; - - /** - * 배달결과코드 - */ - private String delivrsltcd; - - /** - * 미배달사유코드 - */ - private String nondelivreasncd; - - /** - * 미배달사유명 - */ - private String nondelivreasncdnm; - - /** - * 수령인명 - */ - private String subrecprsnnm; - - /** - * 수령인관계코드 - */ - private String relrecprsncd; - - /** - * 수령인관계명 - */ - private String relrecprsncdnm; - -} diff --git a/src/main/java/cokr/xit/fims/epst/EpostGdntc.java b/src/main/java/cokr/xit/fims/epst/EpostGdntc.java deleted file mode 100644 index 1168891d..00000000 --- a/src/main/java/cokr/xit/fims/epst/EpostGdntc.java +++ /dev/null @@ -1,56 +0,0 @@ -package cokr.xit.fims.epst; - -import cokr.xit.foundation.AbstractEntity; -import lombok.Getter; -import lombok.Setter; - -/** - * 전자우편 안내문 - * @author JoJH - */ -@Getter -@Setter -public class EpostGdntc extends AbstractEntity { - - /** - * 안내문 ID - */ - private String gdntcId; - - /** - * 시군구 코드 - */ - private String sggCd; - - /** - * 업무 구분 코드 - */ - private String taskSeCd; - - /** - * 발송 구분 코드 - */ - private String sndngSeCd; - - /** - * 제목 명 - */ - private String ttlNm; - - /** - * 문구 내용 - */ - private String wordsCn; - - /** - * 최종 사용 일시 - */ - private String lastUseDt; - - /** - * 안내문 Ids - */ - private String[] gdntcIds; - -} - diff --git a/src/main/java/cokr/xit/fims/epst/EpostQuery.java b/src/main/java/cokr/xit/fims/epst/EpostQuery.java deleted file mode 100644 index ea187710..00000000 --- a/src/main/java/cokr/xit/fims/epst/EpostQuery.java +++ /dev/null @@ -1,470 +0,0 @@ -package cokr.xit.fims.epst; - -import cokr.xit.fims.cmmn.CmmnQuery; - -/**발송 대장 정보 조회 요청 - * - *

    상세 설명: - * - *

    - * ============ 변경 이력 ============
    - * 2023-08-24	JoJH 최초 작성
    - * ================================
    - * 
    - */ -public class EpostQuery extends CmmnQuery { - - private static final long serialVersionUID = 1L; - - // ID - private String[] crdnIds; // 단속 Ids - private String crdnId; // 단속 Id - private String[] sndngIds; // 발송 Ids - private String sndngId; // 발송 Id - private String[] sndngDtlIds; // 발송 상세 Ids - private String sndngDtlId; // 발송 상세 Id - private String[] svbtcIds; // 공시송달 Ids - private String svbtcId; // 공시송달 Id - private String[] gdntcIds; // 안내문 Ids - private String gdntcId; // 안내문 Id - private String[] rcptRsltIds; // 접수 결과 Ids - private String rcptRsltId; // 접수 결과 Id - private String conKey; // 외부연계식별키 - private String regino; // 등기번호 - - // 검색 조건 - private String schLevyExclYmdFrom; // 부과제외_부과제외 일자 시작 - private String schLevyExclYmdTo; // 부과제외_부과제외 일자 종료 - private String schLevyExclSeCd; // 부과제외_부과제외 구분 코드 - private String schVhrno; // 단속(TB_CRDN)_차량번호 - private String schCrdnYmdFrom; // 단속(TB_CRDN)_단속 일자 시작 - private String schCrdnYmdTo; // 단속(TB_CRDN)_단속 일자 종료 - private String schRtpyrNm; // 납부자(TB_PAYER)_납부자 명 - private String schSndngYmdFrom; // 발송 대장(TB_SNDNG)_발송 일자 시작 - private String schSndngYmdTo; // 발송 대장(TB_SNDNG)_발송 일자 종료 - private String schSendDateFrom; // 전자우편 접수 등록(TB_EPOST_RCPT_REG)_전송 일자 시작 - private String schSendDateTo; // 전자우편 접수 등록(TB_EPOST_RCPT_REG)_전송 일자 종료 - private String schRceptYmdFrom; // 전자우편 접수 등록(TB_EPOST_RCPT_REG)_접수 일자 시작 - private String schRceptYmdTo; // 전자우편 접수 등록(TB_EPOST_RCPT_REG)_접수 일자 종료 - private String schExtriRegymdFrom; // 전자우편 접수 결과(TB_EPOST_RCPT_RSLT)_기관발송일자 시작 - private String schExtriRegymdTo; // 전자우편 접수 결과(TB_EPOST_RCPT_RSLT)_기관발송일자 종료 - private String schSndngSeCd; // 발송 구분 코드 - // 상세 검색 조건 - - // 동적 검색 조건 - private String vhrno; // 단속(TB_CRDN)_차량번호 - private String rtpyrNm; // 납부자(TB_PAYER)_납부자 명 - private String crdnSttsCd; // 단속(TB_CRDN)_단속 상태 코드 - private String sndngSeCd; // 발송 구분 코드 - private String relorsectCd; // 전자우편 접수 등록(TB_EPOST_RCPT_REG)_연계기관결제부서코드 - private String postPrcsSttsCdFrom; // 전자우편 접수 등록(TB_EPOST_RCPT_REG)_우편 처리 상태 코드 시작 - private String postPrcsSttsCdTo; // 전자우편 접수 등록(TB_EPOST_RCPT_REG)_우편 처리 상태 코드 종료 - private String ttlNm; // 전자우편 안내문(TB_EPOST_GDNTC)_제목 명 - private String conOrg; // 전자우편 접수 결과(TB_EPOST_RCPT_RSLT)_외부기관구분코드 - private String reletcdata; // 전자우편 접수 결과(TB_EPOST_RCPT_RSLT)_발송인별추가데이터 - // ETC - private String callPurpose; // infoDialog 호출 용도(view 조회(편집불가), create 등록, update 수정, refresh 재조회). - private String delRsn; // 삭제 사유 - private String crdnDelYn; // 단속 삭제 여부 - - public String[] getCrdnIds() { - return ifEmpty(crdnIds, () -> null); - } - - public T setCrdnIds(String... crdnIds) { - this.crdnIds = crdnIds; - return self(); - } - - public String getCrdnId() { - return ifEmpty(crdnId, () -> null); - } - - public T setCrdnId(String crdnId) { - this.crdnId = crdnId; - return self(); - } - - public String[] getSndngIds() { - return ifEmpty(sndngIds, () -> null); - } - - public T setSndngIds(String... sndngIds) { - this.sndngIds = sndngIds; - return self(); - } - - public String getSndngId() { - return ifEmpty(sndngId, () -> null); - } - - public T setSndngId(String sndngId) { - this.sndngId = sndngId; - return self(); - } - - public String[] getSndngDtlIds() { - return ifEmpty(sndngDtlIds, () -> null); - } - - public T setSndngDtlIds(String... sndngDtlIds) { - this.sndngDtlIds = sndngDtlIds; - return self(); - } - - public String getSndngDtlId() { - return ifEmpty(sndngDtlId, () -> null); - } - - public T setSndngDtlId(String sndngDtlId) { - this.sndngDtlId = sndngDtlId; - return self(); - } - - public String[] getSvbtcIds() { - return ifEmpty(svbtcIds, () -> null); - } - - public T setSvbtcIds(String... svbtcIds) { - this.svbtcIds = svbtcIds; - return self(); - } - - public String getSvbtcId() { - return ifEmpty(svbtcId, () -> null); - } - - public T setSvbtcId(String svbtcId) { - this.svbtcId = svbtcId; - return self(); - } - - public String[] getGdntcIds() { - return ifEmpty(gdntcIds, () -> null); - } - - public T setGdntcIds(String... gdntcIds) { - this.gdntcIds = gdntcIds; - return self(); - } - - public String getGdntcId() { - return ifEmpty(gdntcId, () -> null); - } - - public T setGdntcId(String gdntcId) { - this.gdntcId = gdntcId; - return self(); - } - - public String[] getRcptRsltIds() { - return ifEmpty(rcptRsltIds, () -> null); - } - - public T setRcptRsltIds(String... rcptRsltIds) { - this.rcptRsltIds = rcptRsltIds; - return self(); - } - - public String getRcptRsltId() { - return ifEmpty(rcptRsltId, () -> null); - } - - public T setRcptRsltId(String rcptRsltId) { - this.rcptRsltId = rcptRsltId; - return self(); - } - - public String getConKey() { - return ifEmpty(conKey, () -> null); - } - - public T setConKey(String conKey) { - this.conKey = conKey; - return self(); - } - - public String getRegino() { - return ifEmpty(regino, () -> null); - } - - public T setRegino(String regino) { - this.regino = regino; - return self(); - } - - // 검색 조건 ////////////////////////////////////////////////////////////////// - public String getSchLevyExclYmdFrom() { - return ifEmpty(schLevyExclYmdFrom, () -> null); - } - - public T setSchLevyExclYmdFrom(String schLevyExclYmdFrom) { - this.schLevyExclYmdFrom = schLevyExclYmdFrom; - return self(); - } - - public String getSchLevyExclYmdTo() { - return ifEmpty(schLevyExclYmdTo, () -> null); - } - - public T setSchLevyExclYmdTo(String schLevyExclYmdTo) { - this.schLevyExclYmdTo = schLevyExclYmdTo; - return self(); - } - - public String getSchLevyExclSeCd() { - return ifEmpty(schLevyExclSeCd, () -> null); - } - - public T setSchLevyExclSeCd(String schLevyExclSeCd) { - this.schLevyExclSeCd = schLevyExclSeCd; - return self(); - } - - public String getSchVhrno() { - return ifEmpty(schVhrno, () -> null); - } - - public T setSchVhrno(String schVhrno) { - this.schVhrno = schVhrno; - - return self(); - } - - public String getSchCrdnYmdFrom() { - return ifEmpty(schCrdnYmdFrom, () -> null); - } - - public T setSchCrdnYmdFrom(String schCrdnYmdFrom) { - this.schCrdnYmdFrom = schCrdnYmdFrom; - return self(); - } - - public String getSchCrdnYmdTo() { - return ifEmpty(schCrdnYmdTo, () -> null); - } - - public T setSchCrdnYmdTo(String schCrdnYmdTo) { - this.schCrdnYmdTo = schCrdnYmdTo; - - return self(); - } - - public String getSchRtpyrNm() { - return ifEmpty(schRtpyrNm, () -> null); - } - - public T setSchRtpyrNm(String schRtpyrNm) { - this.schRtpyrNm = schRtpyrNm; - return self(); - } - - public String getSchSndngYmdFrom() { - return ifEmpty(schSndngYmdFrom, () -> null); - } - - public T setSchSndngYmdFrom(String schSndngYmdFrom) { - this.schSndngYmdFrom = schSndngYmdFrom; - return self(); - } - - public String getSchSndngYmdTo() { - return ifEmpty(schSndngYmdTo, () -> null); - } - - public T setSchSndngYmdTo(String schSndngYmdTo) { - this.schSndngYmdTo = schSndngYmdTo; - return self(); - } - - public String getSchSendDateFrom() { - return ifEmpty(schSendDateFrom, () -> null); - } - - public T setSchSendDateFrom(String schSendDateFrom) { - this.schSendDateFrom = schSendDateFrom; - return self(); - } - - public String getSchSendDateTo() { - return ifEmpty(schSendDateTo, () -> null); - } - - public T setSchSendDateTo(String schSendDateTo) { - this.schSendDateTo = schSendDateTo; - return self(); - } - - public String getSchRceptYmdFrom() { - return ifEmpty(schRceptYmdFrom, () -> null); - } - - public T setSchRceptYmdFrom(String schRceptYmdFrom) { - this.schRceptYmdFrom = schRceptYmdFrom; - return self(); - } - - public String getSchRceptYmdTo() { - return ifEmpty(schRceptYmdTo, () -> null); - } - - public T setSchRceptYmdTo(String schRceptYmdTo) { - this.schRceptYmdTo = schRceptYmdTo; - return self(); - } - - public String getSchExtriRegymdFrom() { - return ifEmpty(schExtriRegymdFrom, () -> null); - } - - public T setSchExtriRegymdFrom(String schExtriRegymdFrom) { - this.schExtriRegymdFrom = schExtriRegymdFrom; - return self(); - } - - public String getSchExtriRegymdTo() { - return ifEmpty(schExtriRegymdTo, () -> null); - } - - public T setSchExtriRegymdTo(String schExtriRegymdTo) { - this.schExtriRegymdTo = schExtriRegymdTo; - return self(); - } - - public String getSchSndngSeCd() { - return ifEmpty(schSndngSeCd, () -> null); - } - - public T setSchSndngSeCd(String schSndngSeCd) { - this.schSndngSeCd = schSndngSeCd; - return self(); - } - // 검색 조건 ////////////////////////////////////////////////////////////////// - - // 상세 검색 조건 /////////////////////////////////////////////////////////////// - - // 상세 검색 조건 /////////////////////////////////////////////////////////////// - - // 동적 검색 조건 /////////////////////////////////////////////////////////////// - public String getVhrno() { - return ifEmpty(vhrno, () -> null); - } - - public T setVhrno(String vhrno) { - this.vhrno = vhrno; - return self(); - } - - public String getRtpyrNm() { - return ifEmpty(rtpyrNm, () -> null); - } - - public T setRtpyrNm(String rtpyrNm) { - this.rtpyrNm = rtpyrNm; - return self(); - } - - public String getCrdnSttsCd() { - return ifEmpty(crdnSttsCd, () -> null); - } - - public T setCrdnSttsCd(String crdnSttsCd) { - this.crdnSttsCd = crdnSttsCd; - return self(); - } - - public String getSndngSeCd() { - return ifEmpty(sndngSeCd, () -> null); - } - - public T setSndngSeCd(String sndngSeCd) { - this.sndngSeCd = sndngSeCd; - return self(); - } - - public String getRelorsectCd() { - return ifEmpty(relorsectCd, () -> null); - } - - public T setRelorsectCd(String relorsectCd) { - this.relorsectCd = relorsectCd; - return self(); - } - - public String getPostPrcsSttsCdFrom() { - return ifEmpty(postPrcsSttsCdFrom, () -> null); - } - - public T setPostPrcsSttsCdFrom(String postPrcsSttsCdFrom) { - this.postPrcsSttsCdFrom = postPrcsSttsCdFrom; - return self(); - } - - public String getPostPrcsSttsCdTo() { - return ifEmpty(postPrcsSttsCdTo, () -> null); - } - - public T setPostPrcsSttsCdTo(String postPrcsSttsCdTo) { - this.postPrcsSttsCdTo = postPrcsSttsCdTo; - return self(); - } - - public String getTtlNm() { - return ifEmpty(ttlNm, () -> null); - } - - public T setTtlNm(String ttlNm) { - this.ttlNm = ttlNm; - return self(); - } - - public String getConOrg() { - return ifEmpty(conOrg, () -> null); - } - - public T setConOrg(String conOrg) { - this.conOrg = conOrg; - return self(); - } - - public String getReletcdata() { - return ifEmpty(reletcdata, () -> null); - } - - public T setReletcdata(String reletcdata) { - this.reletcdata = reletcdata; - return self(); - } - - // 동적 검색 조건 /////////////////////////////////////////////////////////////// - - // ETC ///////////////////////////////////////////////////////////////////// - public String getCallPurpose() { - return ifEmpty(callPurpose, () -> null); - } - - public T setCallPurpose(String callPurpose) { - this.callPurpose = callPurpose; - return self(); - } - - public String getDelRsn() { - return ifEmpty(delRsn, () -> null); - } - - public T setDelRsn(String delRsn) { - this.delRsn = delRsn; - return self(); - } - - public String getCrdnDelYn() { - return ifEmpty(crdnDelYn, () -> null); - } - - public T setCrdnDelYn(String crdnDelYn) { - this.crdnDelYn = crdnDelYn; - return self(); - } - // ETC ///////////////////////////////////////////////////////////////////// - -} diff --git a/src/main/java/cokr/xit/fims/epst/EpostRcptDtl.java b/src/main/java/cokr/xit/fims/epst/EpostRcptDtl.java deleted file mode 100644 index cb7e87c6..00000000 --- a/src/main/java/cokr/xit/fims/epst/EpostRcptDtl.java +++ /dev/null @@ -1,344 +0,0 @@ -package cokr.xit.fims.epst; - -import cokr.xit.foundation.AbstractEntity; -import lombok.Getter; -import lombok.Setter; - -/** - * 전자우편 접수 상세 - * @author mjkhan - */ -@Getter -@Setter -public class EpostRcptDtl extends AbstractEntity { - /** - * 외부연계식별키 - */ - private String conKey; - - /** - * 등기번호 - */ - private String rgstNmbr; - - /** - * 일련번호 - */ - private String recevSeq; - - /** - * 발송코드 - */ - private String recevCode; - - /** - * 바코드 - */ - private String recevBar1d; - - /** - * 이차원바코드 - */ - private String recevBar2d; - - /** - * 고지번호 - */ - private String recevBillNumber; - - /** - * 문서종류1 - */ - private String recevDocCd1; - - /** - * 문서종류2 - */ - private String recevDocCd2; - - /** - * 문서종류3 - */ - private String recevDocCd3; - - /** - * 문서종류4 - */ - private String recevDocCd4; - - /** - * 문서종류5 - */ - private String recevDocCd5; - - /** - * 과목명1 - */ - private String recevSubj1; - - /** - * 과목명2 - */ - private String recevSubj2; - - /** - * 과목명3 - */ - private String recevSubj3; - - /** - * 위반일시 - */ - private String recevViolateDt; - - /** - * 위반동 - */ - private String recevViolateDong; - - /** - * 위반장소 - */ - private String recevViolatePlace; - - /** - * 법조항 - */ - private String recevLaws; - - /** - * 납부번호1 - */ - private String recevPayNumber1; - - /** - * 납부번호2 - */ - private String recevPayNumber2; - - /** - * OCR0 - */ - private String recevOcr0; - - /** - * OCR1 - */ - private String recevOcr1; - - /** - * OCR2 - */ - private String recevOcr2; - - /** - * 전자납부번호 - */ - private String recevOnlinePayNumber; - - /** - * 과태료 - */ - private String recevFinePrice; - - /** - * 납부금액 - */ - private String recevPayPrice; - - /** - * 납부기한 - */ - private String recevPayDt; - - /** - * 납기내기한 - */ - private String recevPayInDate; - - /** - * 납기내금액 - */ - private String recevPayInPrice; - - /** - * 납기내가산금 - */ - private String recevPayInAddPrice; - - /** - * 납기내합계금액 - */ - private String recevPayInDefaultPrice; - - /** - * 납기후기한 - */ - private String recevPayOutDate; - - /** - * 납기후금액 - */ - private String recevPayOutPrice; - - /** - * 납기후가산금 - */ - private String recevPayOutAddPrice; - - /** - * 납기후합계금액 - */ - private String recevPayOutDefaultPrice; - - /** - * 차량번호 - */ - private String recevCarNumber; - - /** - * 우편번호 - */ - private String recevCarOwnerZipcode; - - /** - * 주소 - */ - private String recevCarOwnerAddr; - - /** - * 상세주소 - */ - private String recevCarOwnerDetailaddr; - - /** - * 소유자명 - */ - private String recevCarOwnerNm; - - /** - * 주민번호 - */ - private String recevCarOwnerSsn; - - /** - * 증거번호 - */ - private String recevEvidenceNumber; - - /** - * 사진장수 - */ - private String recevPhotoCnt; - - /** - * 사진파일명1 - */ - private String recevPhotoFilename1; - - /** - * 사진파일명2 - */ - private String recevPhotoFilename2; - - /** - * 사진파일명3 - */ - private String recevPhotoFilename3; - - /** - * 사진파일명4 - */ - private String recevPhotoFilename4; - - /** - * 가상계좌번호2 - */ - private String vractno2; - - /** - * 가상계좌번호3 - */ - private String vractno3; - - /** - * 가상계좌번호4 - */ - private String vractno4; - - /** - * 가상계좌번호5 - */ - private String vractno5; - - /** - * 가상계좌번호6 - */ - private String vractno6; - - /** - * 가상계좌번호7 - */ - private String vractno7; - - /** - * 가상계좌번호8 - */ - private String vractno8; - - /** - * 가상계좌번호9 - */ - private String vractno9; - - /** - * 가상계좌번호10 - */ - private String vractno10; - - /** - * 가상계좌번호11 - */ - private String vractno11; - - /** - * 배달 결과 ID - */ - private String dlvrRsltId; - - /** - * 제작 결과 코드 - */ - private String makeRsltCd; - - /** - * 가상계좌번호 - */ - private String vractno; - - /** - * 추가 데이터1 - */ - private String dtlVarData1; - - /** - * 추가 데이터2 - */ - private String dtlVarData2; - - /** - * 추가 데이터3 - */ - private String dtlVarData3; - - /** - * 추가 데이터4 - */ - private String dtlVarData4; - - /** - * 추가 데이터5 - */ - private String dtlVarData5; -} - diff --git a/src/main/java/cokr/xit/fims/epst/EpostRcptReg.java b/src/main/java/cokr/xit/fims/epst/EpostRcptReg.java deleted file mode 100644 index 899c0d99..00000000 --- a/src/main/java/cokr/xit/fims/epst/EpostRcptReg.java +++ /dev/null @@ -1,250 +0,0 @@ -package cokr.xit.fims.epst; - -import cokr.xit.foundation.AbstractEntity; -import lombok.Getter; -import lombok.Setter; - -/** - * 전자우편 접수 등록 - * @author JoJH - */ -@Getter -@Setter -public class EpostRcptReg extends AbstractEntity { - - /** - * 외부연계식별키 - */ - private String conKey; - - /** - * 외부기관구분코드 - */ - private String conOrg; - - /** - * 발송 ID - */ - private String sndngId; - - /** - * 접수우체국국기호 - */ - private String rceptId; - - /** - * 접수 일자 - */ - private String rceptYmd; - - /** - * 접수코드 - */ - private String dataCd; - - /** - * 취급구분 - */ - private String divKb; - - /** - * 결재방법 - */ - private String dfpayyn; - - /** - * 내용문 유형 - */ - private String rcptKb; - - /** - * 내용문 상세 종류 - */ - private String sealCd; - - /** - * 내용문 종류 - */ - private String wordKb; - - /** - * 내용문 매수 - */ - private Integer mailCnt; - - /** - * 수취인 수 - */ - private Integer recevCnt; - - /** - * 봉투 종류 - */ - private String envCd; - - /** - * 칼라우편물 - */ - private String colorYn; - - /** - * 메일머지 플래그 - */ - private String mmYn; - - /** - * 이면구분 - */ - private String flexCd; - - /** - * 동봉물 개수 - */ - private Integer dmCnt; - - /** - * 반송불필요 여부 - */ - private String sbFg; - - /** - * 승인번호 - */ - private String apvlNb; - - /** - * 신청 일자 - */ - private String sendDate; - - /** - * 전송 시간 - */ - private String sendTime; - - /** - * 연계기관결제부서코드 - */ - private String relorsectCd; - - /** - * 발송기관코드 - */ - private String recevSenderOrgCode; - - /** - * 발송인명 - */ - private String recevSenderNm; - - /** - * 발송인 우편번호 - */ - private String recevSenderZipcode; - - /** - * 주소 - */ - private String recevSenderAddr; - - /** - * 상세주소 - */ - private String recevSenderDetailaddr; - - /** - * 부과부서 전화번호 - */ - private String recevSenderDepartTel; - - /** - * 부과부서 - */ - private String recevSenderDepartNm; - - /** - * 등기구분 - */ - private String recevDivCd; - - /** - * 출력일자 - */ - private String recevPrintDt; - - /** - * 출력연도 - */ - private String recevPrintYear; - - /** - * 출력월 - */ - private String recevPrintMonth; - - /** - * 출력일 - */ - private String recevPrintDay; - - /** - * 부과부서 팩스번호 - */ - private String recevSenderFax; - - /** - * 부과부서 담당자 - */ - private String recevSerderStaff; - - /** - * 부과부서 이메일 - */ - private String recevSenderEmail; - - /** - * 추가 데이터1 - */ - private String regVarData1; - - /** - * 추가 데이터2 - */ - private String regVarData2; - - /** - * 추가 데이터3 - */ - private String regVarData3; - - /** - * 추가 데이터4 - */ - private String regVarData4; - - /** - * 추가 데이터5 - */ - private String regVarData5; - - /** - * 작업 코드 - */ - private String jobCd; - - /** - * 우편 처리 상태 - */ - private String postPrcsSttsCd; - - /** - * 삭제 여부 - */ - private String delYn; - - /** - * 외부연계식별키s - */ - private String[] conKeys; - -} diff --git a/src/main/java/cokr/xit/fims/epst/EpostRcptRslt.java b/src/main/java/cokr/xit/fims/epst/EpostRcptRslt.java deleted file mode 100644 index b3c932ef..00000000 --- a/src/main/java/cokr/xit/fims/epst/EpostRcptRslt.java +++ /dev/null @@ -1,81 +0,0 @@ -package cokr.xit.fims.epst; - -import cokr.xit.foundation.AbstractEntity; -import lombok.Getter; -import lombok.Setter; - -/** - * 전자우편 접수 결과 - * @author JoJH - */ -@Getter -@Setter -public class EpostRcptRslt extends AbstractEntity { - - /** - * 접수 결과 ID - */ - private String rcptRsltId; - - /** - * 외부기관구분코드 - */ - private String conOrg; - - /** - * 결제부서코드 - */ - private String relorsectCd; - - /** - * 발송인별추가데이터 - */ - private String reletcdata; - - /** - * 기관발송일자 - */ - private String extriRegymd; - - /** - * 접수일자 - */ - private String rceptYmd; - - /** - * 접수우체국국기호 - */ - private String rceptId; - - /** - * 취급구분 - */ - private String divKb; - - /** - * 발송수량 - */ - private Integer rceptCnt; - - /** - * 결제금액 - */ - private Integer rceptAmt; - - /** - * 제작수수료 - */ - private Integer usefeeAmt; - - /** - * 우편요금 - */ - private Integer totpostPrc; - - /** - * 작업 코드 - */ - private String jobCd; - -} - diff --git a/src/main/java/cokr/xit/fims/epst/dao/EpostDlvrRsltMapper.java b/src/main/java/cokr/xit/fims/epst/dao/EpostDlvrRsltMapper.java deleted file mode 100644 index abe337da..00000000 --- a/src/main/java/cokr/xit/fims/epst/dao/EpostDlvrRsltMapper.java +++ /dev/null @@ -1,110 +0,0 @@ -package cokr.xit.fims.epst.dao; - -import java.util.List; -import java.util.Map; - -import org.egovframe.rte.psl.dataaccess.mapper.Mapper; - -import cokr.xit.foundation.component.AbstractMapper; -import cokr.xit.foundation.data.DataObject; - -import cokr.xit.fims.epst.EpostDlvrRslt; -import cokr.xit.fims.epst.EpostQuery; - -/** 전자우편 배달 결과 정보 DAO - * - *

    상세 설명: - * - *

    - * ============ 변경 이력 ============
    - * 2024-01-05	JoJH 최초 작성
    - * ================================
    - * 
    - */ -@Mapper("epostDlvrRsltMapper") -public interface EpostDlvrRsltMapper extends AbstractMapper { - - /**지정한 조건에 따라 전자우편 배달 결과 목록을 조회하여 반환한다.
    - * @param req 전자우편 배달 결과 조회 조건 - * @return 전자우편 배달 결과 목록 - */ - List selectEpostDlvrRsltList(EpostQuery req); - - /**지정한 조건에 따라 전자우편 배달 결과 객체들을 반환한다. - * @param req 전자우편 배달 결과 조회 조건 - * @return 전자우편 배달 결과 객체 목록 - */ - List selectEpostDlvrRslts(EpostQuery req); - - default DataObject selectEpostDlvrRsltInfo(EpostQuery req) { - // 기본 정렬 - if (req.getOrderBy() == null) { - req.setOrderBy("DLVR_RSLT_ID DESC"); - } - - List epostDlvrRslts = selectEpostDlvrRslts(req); - - return !epostDlvrRslts.isEmpty() ? epostDlvrRslts.get(0) : null; - } - - /**전자우편 배달 결과 정보를 등록한다. - * @param params 파라미터 - *
    • "epostDlvrRslt" - 전자우편 배달 결과
    • - *
    • "currentUser" - 현재 접속한 사용자
    • - *
    - * @return 저장된 정보수 - */ - int insertEpostDlvrRslt(Map params); - - /**전자우편 배달 결과 정보를 등록한다. - * @param epostDlvrRslt 전자우편 배달 결과 - * @return 저장 여부 - *
    • 저장됐으면 true
    • - *
    • 그렇지 않으면 false
    • - *
    - */ - default boolean insert(EpostDlvrRslt epostDlvrRslt) { - return epostDlvrRslt != null && insertEpostDlvrRslt(params().set("epostDlvrRslt", epostDlvrRslt)) == 1; - } - - /**전자우편 배달 결과 정보를 수정한다. - * @param params 파라미터 - *
    • "epostDlvrRslt" - 전자우편 배달 결과
    • - *
    • "currentUser" - 현재 접속한 사용자
    • - *
    - * @return 저장된 정보수 - */ - int updateEpostDlvrRslt(Map params); - - /**전자우편 배달 결과 정보를 수정한다. - * @param epostDlvrRslt 전자우편 배달 결과 - * @return 저장 여부 - *
    • 저장됐으면 true
    • - *
    • 그렇지 않으면 false
    • - *
    - */ - default boolean update(EpostDlvrRslt epostDlvrRslt) { - return epostDlvrRslt != null && updateEpostDlvrRslt(params().set("epostDlvrRslt", epostDlvrRslt)) == 1; - } - - /**지정한 전자우편 배달 결과을 삭제한다. - * @param params 파라미터 - *
    • "epostDlvrRslt" - 전자우편 배달 결과
    • - *
    • "currentUser" - 현재 접속한 사용자
    • - *
    - * @return 저장된 정보수 - */ - int deleteEpostDlvrRslt(Map params); - - /**전자우편 배달 결과 정보를 삭제한다. - * @param epostDlvrRslt 전자우편 배달 결과 - * @return 저장 여부 - *
    • 저장됐으면 true
    • - *
    • 그렇지 않으면 false
    • - *
    - */ - default boolean delete(EpostDlvrRslt epostDlvrRslt) { - return epostDlvrRslt != null && deleteEpostDlvrRslt(params().set("epostDlvrRslt", epostDlvrRslt)) == 1; - } - -} diff --git a/src/main/java/cokr/xit/fims/epst/dao/EpostGdntcMapper.java b/src/main/java/cokr/xit/fims/epst/dao/EpostGdntcMapper.java deleted file mode 100644 index ff8b983f..00000000 --- a/src/main/java/cokr/xit/fims/epst/dao/EpostGdntcMapper.java +++ /dev/null @@ -1,83 +0,0 @@ -package cokr.xit.fims.epst.dao; - -import java.util.List; - -import org.egovframe.rte.psl.dataaccess.mapper.Mapper; - -import cokr.xit.fims.epst.EpostGdntc; -import cokr.xit.fims.epst.EpostQuery; -import cokr.xit.foundation.component.AbstractMapper; -import cokr.xit.foundation.data.DataObject; - -/** 전자우편 안내문 정보 DAO - * - *

    상세 설명: - * - *

    - * ============ 변경 이력 ============
    - * 2023-12-04	JoJH 최초 작성
    - * ================================
    - * 
    - */ -@Mapper("epostGdntcMapper") -public interface EpostGdntcMapper extends AbstractMapper { - - /**지정한 조건에 따라 전자우편 안내문 목록을 조회하여 반환한다.
    - * @param req 전자우편 안내문 조회 조건 - * @return 전자우편 안내문 목록 - */ - List selectEpostGdntcList(EpostQuery req); - - /**지정한 조건에 따라 전자우편 안내문 객체들을 반환한다. - * @param req 전자우편 안내문 조회 조건 - * @return 전자우편 안내문 객체 목록 - */ - List selectEpostGdntcs(EpostQuery req); - - /**지정한 조건에 따라 부과제외 대장 객체의 마지막 1개를 반환한다. - * @param req 전자우편 안내문 조회 조건 - * @return 전자우편 안내문 객체 - */ - default DataObject selectEpostGdntcInfo(EpostQuery req) { - // 사용 여부 - if (req.getUseYn() == null) { - req.setUseYn("Y"); - } - // 기본 정렬 - if (req.getOrderBy() == null) { - req.setOrderBy("EG.GDNTC_ID DESC"); - } - - List epostGdntcs = selectEpostGdntcs(req); - - return !epostGdntcs.isEmpty() ? epostGdntcs.get(0) : null; - } - - /**전자우편 안내문 정보를 등록한다. - * @param params 파라미터 - *
    • "epostGdcc" - 전자우편 안내문
    • - *
    • "currentUser" - 현재 접속한 사용자
    • - *
    - * @return 저장된 정보수 - */ - int insertEpostGdntc(EpostGdntc epostGdntc); - - /**전자우편 안내문 정보를 수정한다. - * @param params 파라미터 - *
    • "epostGdcc" - 전자우편 안내문
    • - *
    • "currentUser" - 현재 접속한 사용자
    • - *
    - * @return 저장된 정보수 - */ - int updateEpostGdntc(EpostGdntc epostGdntc); - - /**지정한 전자우편 안내문을 삭제한다. - * @param params 파라미터 - *
    • "epostGdcc" - 전자우편 안내문
    • - *
    • "currentUser" - 현재 접속한 사용자
    • - *
    - * @return 저장된 정보수 - */ - int deleteEpostGdntc(EpostGdntc epostGdntc); - -} diff --git a/src/main/java/cokr/xit/fims/epst/dao/EpostRcptDtlMapper.java b/src/main/java/cokr/xit/fims/epst/dao/EpostRcptDtlMapper.java deleted file mode 100644 index a2de64ef..00000000 --- a/src/main/java/cokr/xit/fims/epst/dao/EpostRcptDtlMapper.java +++ /dev/null @@ -1,106 +0,0 @@ -package cokr.xit.fims.epst.dao; - -import java.util.List; -import java.util.Map; - -import org.egovframe.rte.psl.dataaccess.mapper.Mapper; - -import cokr.xit.foundation.component.AbstractMapper; -import cokr.xit.foundation.data.DataObject; - -import cokr.xit.fims.epst.EpostRcptDtl; -import cokr.xit.fims.epst.EpostQuery; - -/** 전자우편 접수 상세 정보 DAO - * - *

    상세 설명: - * - *

    - * ============ 변경 이력 ============
    - * 2023-12-15	JoJH 최초 작성
    - * ================================
    - * 
    - */ -@Mapper("epostRcptDtlMapper") -public interface EpostRcptDtlMapper extends AbstractMapper { - - /**지정한 조건에 따라 전자우편 접수 상세 목록을 조회하여 반환한다.
    - * @param req 전자우편 조회 조건 - * @return 전자우편 접수 상세 목록 - */ - List selectEpostRcptDtlList(EpostQuery req); - - /**지정한 조건에 따라 전자우편 접수 상세 객체들을 반환한다. - * @param req 전자우편 조회 조건 - * @return 전자우편 접수 상세 객체 목록 - */ - List selectEpostRcptDtls(EpostQuery req); - - - /** - * @param req 전자우편 조회 조건 - * @return 전자우편 접수 상세 객체 - */ - int selectEpostSenderDetailSeq(String sndngYmd); - - /**전자우편 접수 상세 정보를 등록한다. - * @param params 파라미터 - *
    • "epostRcptDtl" - 전자우편 접수 상세
    • - *
    • "currentUser" - 현재 접속한 사용자
    • - *
    - * @return 저장된 정보수 - */ - int insertEpostRcptDtl(Map params); - - /**전자우편 접수 상세 정보를 등록한다. - * @param epostRcptDtl 전자우편 접수 상세 - * @return 저장 여부 - *
    • 저장됐으면 true
    • - *
    • 그렇지 않으면 false
    • - *
    - */ - default boolean insert(EpostRcptDtl epostRcptDtl) { - return epostRcptDtl != null && insertEpostRcptDtl(params().set("epostRcptDtl", epostRcptDtl)) == 1; - } - - /**전자우편 접수 상세 정보를 수정한다. - * @param params 파라미터 - *
    • "epostRcptDtl" - 전자우편 접수 상세
    • - *
    • "currentUser" - 현재 접속한 사용자
    • - *
    - * @return 저장된 정보수 - */ - int updateEpostRcptDtl(Map params); - - /**전자우편 접수 상세 정보를 수정한다. - * @param epostRcptDtl 전자우편 접수 상세 - * @return 저장 여부 - *
    • 저장됐으면 true
    • - *
    • 그렇지 않으면 false
    • - *
    - */ - default boolean update(EpostRcptDtl epostRcptDtl) { - return epostRcptDtl != null && updateEpostRcptDtl(params().set("epostRcptDtl", epostRcptDtl)) == 1; - } - - /**지정한 전자우편 접수 상세을 삭제한다. - * @param params 파라미터 - *
    • "epostRcptDtl" - 전자우편 접수 상세
    • - *
    • "currentUser" - 현재 접속한 사용자
    • - *
    - * @return 저장된 정보수 - */ - int deleteEpostRcptDtl(Map params); - - /**전자우편 접수 상세 정보를 삭제한다. - * @param epostRcptDtl 전자우편 접수 상세 - * @return 저장 여부 - *
    • 저장됐으면 true
    • - *
    • 그렇지 않으면 false
    • - *
    - */ - default boolean delete(EpostRcptDtl epostRcptDtl) { - return epostRcptDtl != null && deleteEpostRcptDtl(params().set("epostRcptDtl", epostRcptDtl)) == 1; - } - -} diff --git a/src/main/java/cokr/xit/fims/epst/dao/EpostRcptRegMapper.java b/src/main/java/cokr/xit/fims/epst/dao/EpostRcptRegMapper.java deleted file mode 100644 index 2b900983..00000000 --- a/src/main/java/cokr/xit/fims/epst/dao/EpostRcptRegMapper.java +++ /dev/null @@ -1,140 +0,0 @@ -package cokr.xit.fims.epst.dao; - -import java.util.List; -import java.util.Map; - -import org.egovframe.rte.psl.dataaccess.mapper.Mapper; - -import cokr.xit.foundation.component.AbstractMapper; -import cokr.xit.foundation.data.DataObject; - -import cokr.xit.fims.epst.EpostRcptReg; -import cokr.xit.fims.epst.EpostQuery; - -/** 전자우편 접수 등록 정보 DAO - * - *

    상세 설명: - * - *

    - * ============ 변경 이력 ============
    - * 2023-10-11	JoJH 최초 작성
    - * ================================
    - * 
    - */ -@Mapper("epostRcptRegMapper") -public interface EpostRcptRegMapper extends AbstractMapper { - - /**지정한 조건에 따라 전자우편 접수 등록 목록을 조회하여 반환한다.
    - * @param req 전자우편 조회 조건 - * @return 전자우편 접수 등록 목록 - */ - List selectEpostRcptRegList(EpostQuery req); - - /**지정한 조건에 따라 전자우편 접수 등록 객체들을 반환한다. - * @param req 전자우편 조회 조건 - * @return 전자우편 접수 등록 객체 목록 - */ - List selectEpostRcptRegs(EpostQuery req); - - /**지정한 조건에 따라 부과제외 대장 객체의 마지막 1개를 반환한다. - * @param levyExclId 부과제외 ID - * @return 부과제외 대장 객체 - */ - default DataObject selectEpostRcptRegInfo(EpostQuery req) { - // 사용 여부 - if (req.getUseYn() == null) { - req.setUseYn("Y"); - } - // 기본 정렬 - if (req.getOrderBy() == null) { - req.setOrderBy("ERR.CON_KEY DESC"); - } - - List epostRcptReg = selectEpostRcptRegs(req); - - return !epostRcptReg.isEmpty() ? epostRcptReg.get(0) : null; - } - - /**지정한 조건에 따라 전자우편 발송 상태 정보를 반환한다. - * @param req 전자우편 접수 등록 조회 조건 - * @return 전자우편 발송 상태 객체 정보 - */ - List selectEpostRcptRegDtlList(EpostQuery req); - - /**지정한 조건에 따라 전자우편 접수 등록 목록을 조회하여 반환한다.
    - * @param req 전자우편 조회 조건 - * @return 전자우편 접수 등록 목록 - */ - String selectEpostSenderRegSeq(String conKey); - - /**
    - * @param req 전자우편 조회 조건 - * @return 전자우편 접수 등록 목록 - */ - String selectEpostRgNo(String sggCd, String taskSeCd); - - /**
    - * @param req 전자우편 조회 조건 - * @return 전자우편 접수 등록 목록 - */ - DataObject selectDeptSggInfo(String deptCd); - - /**전자우편 접수 등록 정보를 등록한다. - * @param params 파라미터 - *
    • "epostRcptReg" - 전자우편 접수 등록
    • - *
    • "currentUser" - 현재 접속한 사용자
    • - *
    - * @return 저장된 정보수 - */ - int insertEpostRcptReg(Map params); - - /**전자우편 접수 등록 정보를 등록한다. - * @param epostRcptReg 전자우편 접수 등록 - * @return 저장 여부 - *
    • 저장됐으면 true
    • - *
    • 그렇지 않으면 false
    • - *
    - */ - default boolean insert(EpostRcptReg epostRcptReg) { - return epostRcptReg != null && insertEpostRcptReg(params().set("epostRcptReg", epostRcptReg)) == 1; - } - - /**전자우편 접수 등록 정보를 수정한다. - * @param params 파라미터 - *
    • "epostRcptReg" - 전자우편 접수 등록
    • - *
    • "currentUser" - 현재 접속한 사용자
    • - *
    - * @return 저장된 정보수 - */ - int updateEpostRcptReg(Map params); - - /**전자우편 접수 등록 정보를 수정한다. - * @param epostRcptReg 전자우편 접수 등록 - * @return 저장 여부 - *
    • 저장됐으면 true
    • - *
    • 그렇지 않으면 false
    • - *
    - */ - default boolean update(EpostRcptReg epostRcptReg) { - return epostRcptReg != null && updateEpostRcptReg(params().set("epostRcptReg", epostRcptReg)) == 1; - } - - /**전자우편 접수 등록 정보의 우편 처리 상태 코드를 수정한다. - * @param params 파라미터 - *
    • "epostRcptReg" - 전자우편 접수 등록
    • - *
    • "currentUser" - 현재 접속한 사용자
    • - *
    - * @return 저장된 정보수 - */ - int updatePostPrcsSttsCd(EpostRcptReg epostRcptReg); - - /**지정한 전자우편 접수 등록을 삭제한다. - * @param params 파라미터 - *
    • "epostRcptReg" - 전자우편 접수 등록
    • - *
    • "currentUser" - 현재 접속한 사용자
    • - *
    - * @return 저장된 정보수 - */ - int deleteEpostRcptReg(EpostRcptReg epostRcptReg); - -} diff --git a/src/main/java/cokr/xit/fims/epst/dao/EpostRcptRsltMapper.java b/src/main/java/cokr/xit/fims/epst/dao/EpostRcptRsltMapper.java deleted file mode 100644 index 8005f6cc..00000000 --- a/src/main/java/cokr/xit/fims/epst/dao/EpostRcptRsltMapper.java +++ /dev/null @@ -1,105 +0,0 @@ -package cokr.xit.fims.epst.dao; - -import java.util.List; -import java.util.Map; - -import org.egovframe.rte.psl.dataaccess.mapper.Mapper; - -import cokr.xit.foundation.component.AbstractMapper; -import cokr.xit.foundation.data.DataObject; - -import cokr.xit.fims.epst.EpostQuery; -import cokr.xit.fims.epst.EpostRcptRslt; - -/** 전자우편 접수 결과 정보 DAO - * - *

    상세 설명: - * - *

    - * ============ 변경 이력 ============
    - * 2023-12-12	JoJH 최초 작성
    - * ================================
    - * 
    - */ -@Mapper("epostRcptRsltMapper") -public interface EpostRcptRsltMapper extends AbstractMapper { - - /**지정한 조건에 따라 전자우편 접수 결과 목록을 조회하여 반환한다.
    - * @param req 전자우편 접수 결과 조회 조건 - * @return 전자우편 접수 결과 목록 - */ - List selectEpostRcptRsltList(EpostQuery req); - - /**지정한 조건에 따라 전자우편 접수 결과 객체들을 반환한다. - * @param req 전자우편 접수 결과 조회 조건 - * @return 전자우편 접수 결과 객체 목록 - */ - List selectEpostRcptRslts(EpostQuery req); - - /**지정한 조건에 따라 전자우편 접수 결과의 합계 건수, 금액을 반환한다. - * @param req 전자우편 접수 결과 조회 조건 - * @return 전자우편 접수 결과의 합계 건수, 금액 - */ - List selectEpostRcptRsltSum(EpostQuery req); - - /**전자우편 접수 결과 정보를 등록한다. - * @param params 파라미터 - *
    • "epostRcptRslt" - 전자우편 접수 결과
    • - *
    • "currentUser" - 현재 접속한 사용자
    • - *
    - * @return 저장된 정보수 - */ - int insertEpostRcptRslt(Map params); - - /**전자우편 접수 결과 정보를 등록한다. - * @param epostRcptRslt 전자우편 접수 결과 - * @return 저장 여부 - *
    • 저장됐으면 true
    • - *
    • 그렇지 않으면 false
    • - *
    - */ - default boolean insert(EpostRcptRslt epostRcptRslt) { - return epostRcptRslt != null && insertEpostRcptRslt(params().set("epostRcptRslt", epostRcptRslt)) == 1; - } - - /**전자우편 접수 결과 정보를 수정한다. - * @param params 파라미터 - *
    • "epostRcptRslt" - 전자우편 접수 결과
    • - *
    • "currentUser" - 현재 접속한 사용자
    • - *
    - * @return 저장된 정보수 - */ - int updateEpostRcptRslt(Map params); - - /**전자우편 접수 결과 정보를 수정한다. - * @param epostRcptRslt 전자우편 접수 결과 - * @return 저장 여부 - *
    • 저장됐으면 true
    • - *
    • 그렇지 않으면 false
    • - *
    - */ - default boolean update(EpostRcptRslt epostRcptRslt) { - return epostRcptRslt != null && updateEpostRcptRslt(params().set("epostRcptRslt", epostRcptRslt)) == 1; - } - - /**지정한 전자우편 접수 결과을 삭제한다. - * @param params 파라미터 - *
    • "epostRcptRslt" - 전자우편 접수 결과
    • - *
    • "currentUser" - 현재 접속한 사용자
    • - *
    - * @return 저장된 정보수 - */ - int deleteEpostRcptRslt(Map params); - - /**전자우편 접수 결과 정보를 삭제한다. - * @param epostRcptRslt 전자우편 접수 결과 - * @return 저장 여부 - *
    • 저장됐으면 true
    • - *
    • 그렇지 않으면 false
    • - *
    - */ - default boolean delete(EpostRcptRslt epostRcptRslt) { - return epostRcptRslt != null && deleteEpostRcptRslt(params().set("epostRcptRslt", epostRcptRslt)) == 1; - } - -} diff --git a/src/main/java/cokr/xit/fims/epst/service/EpostDlvrRsltService.java b/src/main/java/cokr/xit/fims/epst/service/EpostDlvrRsltService.java deleted file mode 100644 index ae56fc09..00000000 --- a/src/main/java/cokr/xit/fims/epst/service/EpostDlvrRsltService.java +++ /dev/null @@ -1,61 +0,0 @@ -package cokr.xit.fims.epst.service; - -import java.util.List; - -import cokr.xit.foundation.data.DataObject; - -import cokr.xit.fims.epst.EpostDlvrRslt; -import cokr.xit.fims.epst.EpostQuery; - -/**전자우편 배달 결과 관리 서비스 인터페이스. - * - *

    상세 설명: - * - *

    - * ============ 변경 이력 ============
    - * 2024-01-05	JoJH 최초 작성
    - * ================================
    - * 
    - */ -public interface EpostDlvrRsltService { - - /**지정한 조건에 따라 전자우편 배달 결과 목록을 조회하여 반환한다. - * @param req 전자우편 배달 결과 조회 조건 - * @return 전자우편 배달 결과 목록 - */ - List getEpostDlvrRsltList(EpostQuery req); - - /**지정한 조건에 따라 전자우편 배달 결과 객체들을 반환한다. - * @param req 전자우편 배달 결과 조회 조건 - * @return 전자우편 배달 결과 객체 목록 - */ - List getEpostDlvrRslts(EpostQuery req); - - /**전자우편 배달 결과 정보를 등록한다. - * @param epostDlvrRslt 전자우편 배달 결과 - * @return 저장 여부 - *
    • 저장됐으면 true
    • - *
    • 그렇지 않으면 false
    • - *
    - */ - boolean create(EpostDlvrRslt epostDlvrRslt); - - /**전자우편 배달 결과 정보를 수정한다. - * @param epostDlvrRslt 전자우편 배달 결과 - * @return 저장 여부 - *
    • 저장됐으면 true
    • - *
    • 그렇지 않으면 false
    • - *
    - */ - boolean update(EpostDlvrRslt epostDlvrRslt); - - /**전자우편 배달 결과 정보를 삭제한다. - * @param epostDlvrRslt 전자우편 배달 결과 - * @return 저장 여부 - *
    • 저장됐으면 true
    • - *
    • 그렇지 않으면 false
    • - *
    - */ - boolean remove(EpostDlvrRslt epostDlvrRslt); - -} diff --git a/src/main/java/cokr/xit/fims/epst/service/EpostGdntcService.java b/src/main/java/cokr/xit/fims/epst/service/EpostGdntcService.java deleted file mode 100644 index 7a1825f7..00000000 --- a/src/main/java/cokr/xit/fims/epst/service/EpostGdntcService.java +++ /dev/null @@ -1,67 +0,0 @@ -package cokr.xit.fims.epst.service; - -import java.util.List; - -import cokr.xit.foundation.data.DataObject; - -import cokr.xit.fims.epst.EpostGdntc; -import cokr.xit.fims.epst.EpostQuery; - -/**전자우편 안내문 관리 서비스 인터페이스. - * - *

    상세 설명: - * - *

    - * ============ 변경 이력 ============
    - * 2023-12-04	JoJH 최초 작성
    - * ================================
    - * 
    - */ -public interface EpostGdntcService { - - /**지정한 조건에 따라 전자우편 안내문 목록을 조회하여 반환한다. - * @param req 전자우편 안내문 조회 조건 - * @return 전자우편 안내문 목록 - */ - List getEpostGdntcList(EpostQuery req); - - /**지정한 조건에 따라 전자우편 안내문 객체들을 반환한다. - * @param req 전자우편 안내문 조회 조건 - * @return 전자우편 안내문 객체 목록 - */ - List getEpostGdntcs(EpostQuery req); - - /**지정한 조건에 따라 전자우편 안내문 정보를 반환한다. - * @param req 전자우편 안내문 조회 조건 - * @return 전자우편 안내문 정보 - */ - DataObject getEpostGdntcInfo(EpostQuery req); - - /**전자우편 안내문 정보를 등록한다. - * @param epostGdcc 전자우편 안내문 - * @return 저장 여부 - *
    • 저장됐으면 true
    • - *
    • 그렇지 않으면 false
    • - *
    - */ - String createEpostGdntc(EpostGdntc epostGdntc); - - /**전자우편 안내문 정보를 수정한다. - * @param epostGdcc 전자우편 안내문 - * @return 저장 여부 - *
    • 저장됐으면 true
    • - *
    • 그렇지 않으면 false
    • - *
    - */ - String updateEpostGdntc(EpostGdntc epostGdntc); - - /**전자우편 안내문 정보를 삭제한다. - * @param epostGdcc 전자우편 안내문 - * @return 저장 여부 - *
    • 저장됐으면 true
    • - *
    • 그렇지 않으면 false
    • - *
    - */ - String removeEpostGdntc(EpostGdntc epostGdntc); - -} diff --git a/src/main/java/cokr/xit/fims/epst/service/EpostRcptDtlService.java b/src/main/java/cokr/xit/fims/epst/service/EpostRcptDtlService.java deleted file mode 100644 index 7d03e711..00000000 --- a/src/main/java/cokr/xit/fims/epst/service/EpostRcptDtlService.java +++ /dev/null @@ -1,59 +0,0 @@ -package cokr.xit.fims.epst.service; - -import java.util.List; - -import cokr.xit.foundation.data.DataObject; - -import cokr.xit.fims.epst.EpostQuery; -import cokr.xit.fims.epst.EpostRcptDtl; - -/**전자우편 접수 상세 관리 서비스 인터페이스. - * - *

    상세 설명: - * - *

    - * ============ 변경 이력 ============
    - * 2023-12-15	JoJH 최초 작성
    - * ================================
    - * 
    - */ -public interface EpostRcptDtlService { - /**지정한 조건에 따라 전자우편 접수 상세 목록을 조회하여 반환한다. - * @param req 전자우편 접수 상세 조회 조건 - * @return 전자우편 접수 상세 목록 - */ - List getEpostRcptDtlList(EpostQuery req); - - /**지정한 조건에 따라 전자우편 접수 상세 객체들을 반환한다. - * @param req 전자우편 접수 상세 조회 조건 - * @return 전자우편 접수 상세 객체 목록 - */ - List getEpostRcptDtls(EpostQuery req); - - /**전자우편 접수 상세 정보를 등록한다. - * @param epostRcptDtl 전자우편 접수 상세 - * @return 저장 여부 - *
    • 저장됐으면 true
    • - *
    • 그렇지 않으면 false
    • - *
    - */ - boolean create(EpostRcptDtl epostRcptDtl); - - /**전자우편 접수 상세 정보를 수정한다. - * @param epostRcptDtl 전자우편 접수 상세 - * @return 저장 여부 - *
    • 저장됐으면 true
    • - *
    • 그렇지 않으면 false
    • - *
    - */ - boolean update(EpostRcptDtl epostRcptDtl); - - /**전자우편 접수 상세 정보를 삭제한다. - * @param epostRcptDtl 전자우편 접수 상세 - * @return 저장 여부 - *
    • 저장됐으면 true
    • - *
    • 그렇지 않으면 false
    • - *
    - */ - boolean remove(EpostRcptDtl epostRcptDtl); -} diff --git a/src/main/java/cokr/xit/fims/epst/service/EpostRcptRegService.java b/src/main/java/cokr/xit/fims/epst/service/EpostRcptRegService.java deleted file mode 100644 index 370aac0a..00000000 --- a/src/main/java/cokr/xit/fims/epst/service/EpostRcptRegService.java +++ /dev/null @@ -1,82 +0,0 @@ -package cokr.xit.fims.epst.service; - -import java.util.List; - -import cokr.xit.foundation.data.DataObject; - -import cokr.xit.fims.epst.EpostRcptReg; -import cokr.xit.fims.epst.EpostQuery; - -/**전자우편 접수 등록 관리 서비스 인터페이스. - * - *

    상세 설명: - * - *

    - * ============ 변경 이력 ============
    - * 2023-10-11	JoJH 최초 작성
    - * ================================
    - * 
    - */ -public interface EpostRcptRegService { - - /**지정한 조건에 따라 전자우편 접수 등록 목록을 조회하여 반환한다. - * @param req 전자우편 접수 등록 조회 조건 - * @return 전자우편 접수 등록 목록 - */ - List getEpostRcptRegList(EpostQuery req); - - /**지정한 조건에 따라 전자우편 접수 등록 객체들을 반환한다. - * @param req 전자우편 접수 등록 조회 조건 - * @return 전자우편 접수 등록 객체 목록 - */ - List getEpostRcptRegs(EpostQuery req); - - /**지정한 조건에 따라 전자우편 안내문 정보를 반환한다. - * @param req 전자우편 접수 등록 조회 조건 - * @return 전자우편 접수 등록 객체 정보 - */ - DataObject getEpostRcptRegInfo(EpostQuery req); - - /**지정한 조건에 따라 전자우편 발송 상태 정보를 반환한다. - * @param req 전자우편 접수 등록 조회 조건 - * @return 전자우편 발송 상태 객체 정보 - */ - List getEpostRcptRegDtlList(EpostQuery req); - - /**전자우편 접수 등록 정보를 등록한다. - * @param epostRcptReg 전자우편 접수 등록 - * @return 저장 여부 - *
    • 저장됐으면 true
    • - *
    • 그렇지 않으면 false
    • - *
    - */ - boolean create(EpostRcptReg epostRcptReg); - - /**전자우편 접수 등록 정보를 수정한다. - * @param epostRcptReg 전자우편 접수 등록 - * @return 저장 여부 - *
    • 저장됐으면 true
    • - *
    • 그렇지 않으면 false
    • - *
    - */ - boolean update(EpostRcptReg epostRcptReg); - - /**전자우편 접수 등록 정보의 우편 처리 상태 코드를 수정한다. - * @param epostRcptReg 전자우편 접수 등록 - * @return 저장 여부 - *
    • 저장됐으면 true
    • - *
    • 그렇지 않으면 false
    • - *
    - */ - String updatePostPrcsSttsCd(EpostRcptReg epostRcptReg); - - /**전자우편 접수 등록 정보를 삭제한다. - * @param epostRcptReg 전자우편 접수 등록 - * @return 저장 여부 - *
    • 저장됐으면 true
    • - *
    • 그렇지 않으면 false
    • - *
    - */ - String remove(EpostRcptReg epostRcptReg); - -} diff --git a/src/main/java/cokr/xit/fims/epst/service/EpostRcptRsltService.java b/src/main/java/cokr/xit/fims/epst/service/EpostRcptRsltService.java deleted file mode 100644 index e44fc41e..00000000 --- a/src/main/java/cokr/xit/fims/epst/service/EpostRcptRsltService.java +++ /dev/null @@ -1,67 +0,0 @@ -package cokr.xit.fims.epst.service; - -import java.util.List; - -import cokr.xit.foundation.data.DataObject; - -import cokr.xit.fims.epst.EpostQuery; -import cokr.xit.fims.epst.EpostRcptRslt; - -/**전자우편 접수 결과 관리 서비스 인터페이스. - * - *

    상세 설명: - * - *

    - * ============ 변경 이력 ============
    - * 2023-12-12	JoJH 최초 작성
    - * ================================
    - * 
    - */ -public interface EpostRcptRsltService { - - /**지정한 조건에 따라 전자우편 접수 결과 목록을 조회하여 반환한다. - * @param req 전자우편 접수 결과 조회 조건 - * @return 전자우편 접수 결과 목록 - */ - List getEpostRcptRsltList(EpostQuery req); - - /**지정한 조건에 따라 전자우편 접수 결과 객체들을 반환한다. - * @param req 전자우편 접수 결과 조회 조건 - * @return 전자우편 접수 결과 객체 목록 - */ - List getEpostRcptRslts(EpostQuery req); - - /**지정한 조건에 따라 전자우편 접수 결과의 합계 건수, 금액을 반환한다. - * @param req 전자우편 접수 결과 조회 조건 - * @return 전자우편 접수 결과의 합계 건수, 금액 - */ - List getEpostRcptRsltSum(EpostQuery req); - - /**전자우편 접수 결과 정보를 등록한다. - * @param epostRcptRslt 전자우편 접수 결과 - * @return 저장 여부 - *
    • 저장됐으면 true
    • - *
    • 그렇지 않으면 false
    • - *
    - */ - boolean create(EpostRcptRslt epostRcptRslt); - - /**전자우편 접수 결과 정보를 수정한다. - * @param epostRcptRslt 전자우편 접수 결과 - * @return 저장 여부 - *
    • 저장됐으면 true
    • - *
    • 그렇지 않으면 false
    • - *
    - */ - boolean update(EpostRcptRslt epostRcptRslt); - - /**전자우편 접수 결과 정보를 삭제한다. - * @param epostRcptRslt 전자우편 접수 결과 - * @return 저장 여부 - *
    • 저장됐으면 true
    • - *
    • 그렇지 않으면 false
    • - *
    - */ - boolean remove(EpostRcptRslt epostRcptRslt); - -} diff --git a/src/main/java/cokr/xit/fims/epst/service/bean/EpostDlvrRsltBean.java b/src/main/java/cokr/xit/fims/epst/service/bean/EpostDlvrRsltBean.java deleted file mode 100644 index 4e331dc1..00000000 --- a/src/main/java/cokr/xit/fims/epst/service/bean/EpostDlvrRsltBean.java +++ /dev/null @@ -1,81 +0,0 @@ -package cokr.xit.fims.epst.service.bean; - -import java.util.List; - -import javax.annotation.Resource; - -import org.springframework.stereotype.Component; - -import cokr.xit.fims.epst.EpostDlvrRslt; -import cokr.xit.fims.epst.EpostQuery; -import cokr.xit.fims.epst.dao.EpostDlvrRsltMapper; -import cokr.xit.foundation.component.AbstractBean; -import cokr.xit.foundation.data.DataObject; - -/**전자우편 배달 결과 정보 관리 Bean - * - *

    상세 설명: - * - *

    - * ============ 변경 이력 ============
    - * 2024-01-05	JoJH 최초 작성
    - * ================================
    - * 
    - */ -@Component("epostDlvrRsltBean") -public class EpostDlvrRsltBean extends AbstractBean { - - /** 전자우편 배달 결과 정보 DAO */ - @Resource(name = "epostDlvrRsltMapper") - private EpostDlvrRsltMapper epostDlvrRsltMapper; - - /**지정한 조건에 따라 전자우편 배달 결과 목록을 조회하여 반환한다. - * @param req 전자우편 배달 결과 조회 조건 - * @return 전자우편 배달 결과 목록 - */ - public List getEpostDlvrRsltList(EpostQuery req) { - return epostDlvrRsltMapper.selectEpostDlvrRsltList(req); - } - - /**지정한 조건에 따라 전자우편 배달 결과 객체들을 반환한다. - * @param req 전자우편 배달 결과 조회 조건 - * @return 전자우편 배달 결과 객체 목록 - */ - public List getEpostDlvrRslts(EpostQuery req) { - return epostDlvrRsltMapper.selectEpostDlvrRslts(req); - } - - /**전자우편 배달 결과 정보를 등록한다. - * @param epostDlvrRslt 전자우편 배달 결과 - * @return 저장 여부 - *
    • 저장됐으면 true
    • - *
    • 그렇지 않으면 false
    • - *
    - */ - public boolean create(EpostDlvrRslt epostDlvrRslt) { - return epostDlvrRsltMapper.insert(epostDlvrRslt); - } - - /**전자우편 배달 결과 정보를 수정한다. - * @param epostDlvrRslt 전자우편 배달 결과 - * @return 저장 여부 - *
    • 저장됐으면 true
    • - *
    • 그렇지 않으면 false
    • - *
    - */ - public boolean update(EpostDlvrRslt epostDlvrRslt) { - return epostDlvrRsltMapper.update(epostDlvrRslt); - } - - /**전자우편 배달 결과 정보를 삭제한다. - * @param epostDlvrRslt 전자우편 배달 결과 - * @return 저장 여부 - *
    • 저장됐으면 true
    • - *
    • 그렇지 않으면 false
    • - *
    - */ - public boolean remove(EpostDlvrRslt epostDlvrRslt) { - return epostDlvrRsltMapper.delete(epostDlvrRslt); - } - -} diff --git a/src/main/java/cokr/xit/fims/epst/service/bean/EpostDlvrRsltServiceBean.java b/src/main/java/cokr/xit/fims/epst/service/bean/EpostDlvrRsltServiceBean.java deleted file mode 100644 index dcdbad4c..00000000 --- a/src/main/java/cokr/xit/fims/epst/service/bean/EpostDlvrRsltServiceBean.java +++ /dev/null @@ -1,58 +0,0 @@ -package cokr.xit.fims.epst.service.bean; - -import java.util.List; - -import javax.annotation.Resource; - -import org.springframework.stereotype.Service; - -import cokr.xit.foundation.component.AbstractServiceBean; -import cokr.xit.foundation.data.DataObject; - -import cokr.xit.fims.epst.EpostDlvrRslt; -import cokr.xit.fims.epst.EpostQuery; -import cokr.xit.fims.epst.service.EpostDlvrRsltService; - -/**전자우편 배달 결과 서비스 구현체. - * - *

    상세 설명: - * - *

    - * ============ 변경 이력 ============
    - * 2024-01-05	JoJH 최초 작성
    - * ================================
    - * 
    - */ -@Service("epostDlvrRsltService") -public class EpostDlvrRsltServiceBean extends AbstractServiceBean implements EpostDlvrRsltService { - - /** 전자우편 배달 결과 정보 Bean */ - @Resource(name = "epostDlvrRsltBean") - private EpostDlvrRsltBean epostDlvrRsltBean; - - @Override - public List getEpostDlvrRsltList(EpostQuery req) { - return epostDlvrRsltBean.getEpostDlvrRsltList(req); - } - - @Override - public List getEpostDlvrRslts(EpostQuery req) { - return epostDlvrRsltBean.getEpostDlvrRslts(req); - } - - @Override - public boolean create(EpostDlvrRslt epostDlvrRslt) { - return epostDlvrRsltBean.create(epostDlvrRslt); - } - - @Override - public boolean update(EpostDlvrRslt epostDlvrRslt) { - return epostDlvrRsltBean.update(epostDlvrRslt); - } - - @Override - public boolean remove(EpostDlvrRslt epostDlvrRslt) { - return epostDlvrRsltBean.remove(epostDlvrRslt); - } - -} diff --git a/src/main/java/cokr/xit/fims/epst/service/bean/EpostGdntcBean.java b/src/main/java/cokr/xit/fims/epst/service/bean/EpostGdntcBean.java deleted file mode 100644 index fec1c572..00000000 --- a/src/main/java/cokr/xit/fims/epst/service/bean/EpostGdntcBean.java +++ /dev/null @@ -1,138 +0,0 @@ -package cokr.xit.fims.epst.service.bean; - -import java.util.List; - -import javax.annotation.Resource; - -import org.springframework.stereotype.Component; - -import cokr.xit.fims.cmmn.CmmnUtil; -import cokr.xit.fims.epst.EpostGdntc; -import cokr.xit.fims.epst.EpostQuery; -import cokr.xit.fims.epst.dao.EpostGdntcMapper; -import cokr.xit.foundation.component.AbstractBean; -import cokr.xit.foundation.data.DataObject; - -/**전자우편 안내문 정보 관리 Bean - * - *

    상세 설명: - * - *

    - * ============ 변경 이력 ============
    - * 2023-12-04	JoJH 최초 작성
    - * ================================
    - * 
    - */ -@Component("epostGdntcBean") -public class EpostGdntcBean extends AbstractBean { - - /** 전자우편 안내문 정보 DAO */ - @Resource(name = "epostGdntcMapper") - private EpostGdntcMapper epostGdntcMapper; - - /**지정한 조건에 따라 전자우편 안내문 목록을 조회하여 반환한다. - * @param req 전자우편 안내문 조회 조건 - * @return 전자우편 안내문 목록 - */ - public List getEpostGdntcList(EpostQuery req) { - // 사용 여부 확인 - if (req.getUseYn() == null) { - req.setUseYn("Y"); - } - // 정렬 확인 - if (req.getOrderBy() == null) { - if (req.getBy() == null) { - req.setOrderBy("REG_DT"); - } else { - req.setOrderBy(CmmnUtil.convertCamelCaseToSnakeCase(req.getBy())); - } - } - - return epostGdntcMapper.selectEpostGdntcList(req); - } - - /**지정한 조건에 따라 전자우편 안내문 객체들을 반환한다. - * @param req 전자우편 안내문 조회 조건 - * @return 전자우편 안내문 객체 목록 - */ - public List getEpostGdntcs(EpostQuery req) { - // 사용 여부 확인 - if (req.getUseYn() == null) { - req.setUseYn("Y"); - } - if (req.getOrderBy() == null) { - req.setOrderBy("EG.GDNTC_ID DESC"); - } - - return epostGdntcMapper.selectEpostGdntcs(req); - } - - /**지정한 조건에 따라 전자우편 안내문 정보를 반환한다. - * @param req 전자우편 안내문 조회 조건 - * @return 전자우편 안내문 정보 - */ - public DataObject getEpostGdntcInfo(EpostQuery req) { - DataObject dataInfo = new DataObject(); - - if (req.getCallPurpose().equals("create")) { - dataInfo.set("SGG_CD", req.getSggCd()); - dataInfo.set("TASK_SE_CD", req.getTaskSeCd()); - } else { - dataInfo = epostGdntcMapper.selectEpostGdntcInfo(req);; - } - - return dataInfo; - } - - /**전자우편 안내문 정보를 등록한다. - * @param epostGdcc 전자우편 안내문 - * @return 저장 여부 - *
    • 저장됐으면 true
    • - *
    • 그렇지 않으면 false
    • - *
    - */ - public String createEpostGdntc(EpostGdntc epostGdntc) { - // 전자우편안내문(TB_EPOST_GDNTC) 정보를 등록한다. - int rtnNocs = epostGdntcMapper.insertEpostGdntc(epostGdntc); - if (rtnNocs != 1) { - throw new RuntimeException("전자우편 안내문 정보 등록에 실패하였습니다."); // 예외를 발생시켜서 DB Rollback - } - - return "[S] 작업이 정상 처리 되었습니다."; - } - - /**전자우편 안내문 정보를 수정한다. - * @param epostGdcc 전자우편 안내문 - * @return 저장 여부 - *
    • 저장됐으면 true
    • - *
    • 그렇지 않으면 false
    • - *
    - */ - public String updateEpostGdntc(EpostGdntc epostGdntc) { - // 전자우편안내문(TB_EPOST_GDNTC) 정보를 수정한다. - int rtnNocs = epostGdntcMapper.updateEpostGdntc(epostGdntc); - if (rtnNocs != 1) { - throw new RuntimeException("전자우편 안내문 정보 수정에 실패하였습니다."); // 예외를 발생시켜서 DB Rollback - } - - return "[S] 작업이 정상 처리 되었습니다."; - } - - /**전자우편 안내문 정보를 삭제한다. - * @param epostGdcc 전자우편 안내문 - * @return 저장 여부 - *
    • 저장됐으면 true
    • - *
    • 그렇지 않으면 false
    • - *
    - */ - public String removeEpostGdntc(EpostGdntc epostGdntc) { - // 전자우편안내문(TB_EPOST_GDNTC) 정보를 삭제한다. - int rtnNocs = epostGdntcMapper.deleteEpostGdntc(epostGdntc); - if (rtnNocs < 1) { - throw new RuntimeException("전자우편 안내문 정보 수정에 실패하였습니다."); // 예외를 발생시켜서 DB Rollback - } - - return "[S] 작업이 정상 처리 되었습니다."; - } - -} diff --git a/src/main/java/cokr/xit/fims/epst/service/bean/EpostGdntcServiceBean.java b/src/main/java/cokr/xit/fims/epst/service/bean/EpostGdntcServiceBean.java deleted file mode 100644 index 32e1edc5..00000000 --- a/src/main/java/cokr/xit/fims/epst/service/bean/EpostGdntcServiceBean.java +++ /dev/null @@ -1,63 +0,0 @@ -package cokr.xit.fims.epst.service.bean; - -import java.util.List; - -import javax.annotation.Resource; - -import org.springframework.stereotype.Service; - -import cokr.xit.foundation.component.AbstractServiceBean; -import cokr.xit.foundation.data.DataObject; - -import cokr.xit.fims.epst.EpostGdntc; -import cokr.xit.fims.epst.EpostQuery; -import cokr.xit.fims.epst.service.EpostGdntcService; - -/**전자우편 안내문 서비스 구현체. - * - *

    상세 설명: - * - *

    - * ============ 변경 이력 ============
    - * 2023-12-04	JoJH 최초 작성
    - * ================================
    - * 
    - */ -@Service("epostGdntcService") -public class EpostGdntcServiceBean extends AbstractServiceBean implements EpostGdntcService { - - /** 전자우편 안내문 정보 Bean */ - @Resource(name = "epostGdntcBean") - private EpostGdntcBean epostGdntcBean; - - @Override - public List getEpostGdntcList(EpostQuery req) { - return epostGdntcBean.getEpostGdntcList(req); - } - - @Override - public List getEpostGdntcs(EpostQuery req) { - return epostGdntcBean.getEpostGdntcs(req); - } - - @Override - public DataObject getEpostGdntcInfo(EpostQuery req) { - return epostGdntcBean.getEpostGdntcInfo(req); - } - - @Override - public String createEpostGdntc(EpostGdntc epostGdntc) { - return epostGdntcBean.createEpostGdntc(epostGdntc); - } - - @Override - public String updateEpostGdntc(EpostGdntc epostGdntc) { - return epostGdntcBean.updateEpostGdntc(epostGdntc); - } - - @Override - public String removeEpostGdntc(EpostGdntc epostGdntc) { - return epostGdntcBean.removeEpostGdntc(epostGdntc); - } - -} diff --git a/src/main/java/cokr/xit/fims/epst/service/bean/EpostRcptDtlBean.java b/src/main/java/cokr/xit/fims/epst/service/bean/EpostRcptDtlBean.java deleted file mode 100644 index a0a3a6c5..00000000 --- a/src/main/java/cokr/xit/fims/epst/service/bean/EpostRcptDtlBean.java +++ /dev/null @@ -1,107 +0,0 @@ -package cokr.xit.fims.epst.service.bean; - -import java.util.List; - -import javax.annotation.Resource; - -import org.springframework.stereotype.Component; - -import cokr.xit.fims.cmmn.CmmnUtil; -import cokr.xit.fims.epst.EpostQuery; -import cokr.xit.fims.epst.EpostRcptDtl; -import cokr.xit.fims.epst.dao.EpostRcptDtlMapper; -import cokr.xit.foundation.component.AbstractBean; -import cokr.xit.foundation.data.DataObject; - -/**전자우편 접수 상세 정보 관리 Bean - * - *

    상세 설명: - * - *

    - * ============ 변경 이력 ============
    - * 2023-12-15	JoJH 최초 작성
    - * ================================
    - * 
    - */ -@Component("epostRcptDtlBean") -public class EpostRcptDtlBean extends AbstractBean { - - /** 전자우편 접수 상세 정보 DAO */ - @Resource(name = "epostRcptDtlMapper") - private EpostRcptDtlMapper epostRcptDtlMapper; - - /**지정한 조건에 따라 전자우편 접수 상세 목록을 조회하여 반환한다. - * @param req 전자우편 접수 상세 조회 조건 - * @return 전자우편 접수 상세 목록 - */ - public List getEpostRcptDtlList(EpostQuery req) { - // 사용 여부 확인 - if (req.getUseYn() == null) { - req.setUseYn("Y"); - } - // 삭제 여부 확인 - if (req.getDelYn() == null) { - req.setDelYn("N"); - } - // 정렬 확인 - if (req.getOrderBy() == null) { - if (req.getBy() == null) { - req.setOrderBy("REG_DT"); - } else { - req.setOrderBy(CmmnUtil.convertCamelCaseToSnakeCase(req.getBy())); - } - } - - return epostRcptDtlMapper.selectEpostRcptDtlList(req); - } - - /**지정한 조건에 따라 전자우편 접수 상세 객체들을 반환한다. - * @param req 전자우편 접수 상세 조회 조건 - * @return 전자우편 접수 상세 객체 목록 - */ - public List getEpostRcptDtls(EpostQuery req) { - return epostRcptDtlMapper.selectEpostRcptDtls(req); - } - - /**일련번호 - * @param req - * @return 전자우편 접수 등록 객체 목록 - */ - public int getEpostSenderDetailSeq(String sndngYmd) { - return epostRcptDtlMapper.selectEpostSenderDetailSeq(sndngYmd); - } - - /**전자우편 접수 상세 정보를 등록한다. - * @param epostRcptDtl 전자우편 접수 상세 - * @return 저장 여부 - *
    • 저장됐으면 true
    • - *
    • 그렇지 않으면 false
    • - *
    - */ - public boolean create(EpostRcptDtl epostRcptDtl) { - return epostRcptDtlMapper.insert(epostRcptDtl); - } - - /**전자우편 접수 상세 정보를 수정한다. - * @param epostRcptDtl 전자우편 접수 상세 - * @return 저장 여부 - *
    • 저장됐으면 true
    • - *
    • 그렇지 않으면 false
    • - *
    - */ - public boolean update(EpostRcptDtl epostRcptDtl) { - return epostRcptDtlMapper.update(epostRcptDtl); - } - - /**전자우편 접수 상세 정보를 삭제한다. - * @param epostRcptDtl 전자우편 접수 상세 - * @return 저장 여부 - *
    • 저장됐으면 true
    • - *
    • 그렇지 않으면 false
    • - *
    - */ - public boolean remove(EpostRcptDtl epostRcptDtl) { - return epostRcptDtlMapper.delete(epostRcptDtl); - } - -} diff --git a/src/main/java/cokr/xit/fims/epst/service/bean/EpostRcptDtlServiceBean.java b/src/main/java/cokr/xit/fims/epst/service/bean/EpostRcptDtlServiceBean.java deleted file mode 100644 index b7d78cb5..00000000 --- a/src/main/java/cokr/xit/fims/epst/service/bean/EpostRcptDtlServiceBean.java +++ /dev/null @@ -1,58 +0,0 @@ -package cokr.xit.fims.epst.service.bean; - -import java.util.List; - -import javax.annotation.Resource; - -import org.springframework.stereotype.Service; - -import cokr.xit.foundation.component.AbstractServiceBean; -import cokr.xit.foundation.data.DataObject; - -import cokr.xit.fims.epst.EpostQuery; -import cokr.xit.fims.epst.EpostRcptDtl; -import cokr.xit.fims.epst.service.EpostRcptDtlService; - -/**전자우편 접수 상세 서비스 구현체. - * - *

    상세 설명: - * - *

    - * ============ 변경 이력 ============
    - * 2023-12-15	JoJH 최초 작성
    - * ================================
    - * 
    - */ -@Service("epostRcptDtlService") -public class EpostRcptDtlServiceBean extends AbstractServiceBean implements EpostRcptDtlService { - - /** 전자우편 접수 상세 정보 Bean */ - @Resource(name = "epostRcptDtlBean") - private EpostRcptDtlBean epostRcptDtlBean; - - @Override - public List getEpostRcptDtlList(EpostQuery req) { - return epostRcptDtlBean.getEpostRcptDtlList(req); - } - - @Override - public List getEpostRcptDtls(EpostQuery req) { - return epostRcptDtlBean.getEpostRcptDtls(req); - } - - @Override - public boolean create(EpostRcptDtl epostRcptDtl) { - return epostRcptDtlBean.create(epostRcptDtl); - } - - @Override - public boolean update(EpostRcptDtl epostRcptDtl) { - return epostRcptDtlBean.update(epostRcptDtl); - } - - @Override - public boolean remove(EpostRcptDtl epostRcptDtl) { - return epostRcptDtlBean.remove(epostRcptDtl); - } - -} diff --git a/src/main/java/cokr/xit/fims/epst/service/bean/EpostRcptRegBean.java b/src/main/java/cokr/xit/fims/epst/service/bean/EpostRcptRegBean.java deleted file mode 100644 index 4a64ced5..00000000 --- a/src/main/java/cokr/xit/fims/epst/service/bean/EpostRcptRegBean.java +++ /dev/null @@ -1,219 +0,0 @@ -package cokr.xit.fims.epst.service.bean; - -import java.util.List; - -import javax.annotation.Resource; - -import org.springframework.stereotype.Component; - -import cokr.xit.fims.epst.dao.EpostRcptRegMapper; -import cokr.xit.fims.sndb.Sndng; -import cokr.xit.fims.sndb.dao.SndngMapper; -import cokr.xit.fims.cmmn.CmmnUtil; -import cokr.xit.fims.epst.EpostQuery; -import cokr.xit.fims.epst.EpostRcptReg; -import cokr.xit.foundation.component.AbstractBean; -import cokr.xit.foundation.data.DataObject; - -/**전자우편 접수 등록 정보 관리 Bean - * - *

    상세 설명: - * - *

    - * ============ 변경 이력 ============
    - * 2023-10-11	JoJH 최초 작성
    - * ================================
    - * 
    - */ -@Component("epostRcptRegBean") -public class EpostRcptRegBean extends AbstractBean { - - /** 전자우편 접수 등록 정보 DAO */ - @Resource(name = "epostRcptRegMapper") - private EpostRcptRegMapper epostRcptRegMapper; - - /** 발송 대장 정보 DAO */ - @Resource(name = "sndngMapper") - private SndngMapper sndngMapper; - - /**지정한 조건에 따라 전자우편 접수 등록 목록을 조회하여 반환한다. - * @param req 전자우편 접수 등록 조회 조건 - * @return 전자우편 접수 등록 목록 - */ - public List getEpostRcptRegList(EpostQuery req) { - // 사용 여부 확인 - if (req.getUseYn() == null) { - req.setUseYn("Y"); - } - // 삭제 여부 확인 - if (req.getDelYn() == null) { - req.setDelYn("N"); - } - // 정렬 확인 - if (req.getOrderBy() == null) { - if (req.getBy() == null) { - req.setOrderBy("REG_DT"); - } else { - req.setOrderBy(CmmnUtil.convertCamelCaseToSnakeCase(req.getBy())); - } - } - - return epostRcptRegMapper.selectEpostRcptRegList(req); - } - - /**지정한 조건에 따라 전자우편 접수 등록 객체들을 반환한다. - * @param req 전자우편 접수 등록 조회 조건 - * @return 전자우편 접수 등록 객체 목록 - */ - public List getEpostRcptRegs(EpostQuery req) { - // 삭제 여부 확인 - if (req.getDelYn() == null) { - req.setDelYn("N"); - } - if (req.getOrderBy() == null) { - req.setOrderBy("ERR.CON_KEY DESC"); - } - return epostRcptRegMapper.selectEpostRcptRegs(req); - } - - /**지정한 조건에 따라 전자우편 접수 등록 정보를 반환한다. - * @param req 전자우편 접수 등록 조회 조건 - * @return 전자우편 접수 등록 정보 - */ - public DataObject getEpostRcptRegInfo(EpostQuery req) { - DataObject dataInfo = new DataObject(); - - if (req.getCallPurpose().equals("create")) { - dataInfo.set("SGG_CD", req.getSggCd()); - dataInfo.set("TASK_SE_CD", req.getTaskSeCd()); - } else { - dataInfo = epostRcptRegMapper.selectEpostRcptRegInfo(req);; - } - - return dataInfo; - } - - /**지정한 조건에 따라 전자우편 발송 상태 정보를 반환한다. - * @param req 전자우편 접수 등록 조회 조건 - * @return 전자우편 발송 상태 객체 정보 - */ - List getEpostRcptRegDtlList(EpostQuery req) { - // 삭제 여부 확인 - if (req.getDelYn() == null) { - req.setDelYn("N"); - } - // 정렬 확인 - if (req.getOrderBy() == null) { - if (req.getBy() == null) { - req.setOrderBy("CON_KEY, RGST_NMBR"); - } else { - req.setOrderBy(CmmnUtil.convertCamelCaseToSnakeCase(req.getBy())); - } - } - - return epostRcptRegMapper.selectEpostRcptRegDtlList(req); - } - - /**등기 번호 - * @param req - * @return 전자우편 접수 등록 객체 목록 - */ - public String getEpostRgNo(String sggCd, String taskSeCd) { - return epostRcptRegMapper.selectEpostRgNo(sggCd, taskSeCd); - } - - /** - * @param deptCd 부서 코드 - * @return 시군구 및 부서 정보 객체 - */ - public DataObject getDeptSggInfo(String deptCd) { - return epostRcptRegMapper.selectDeptSggInfo(deptCd); - } - - /**지정한 조건에 따라 전자우편 CON_KEY 를 반환한다. - * @param req 전자우편 접수 등록 조회 조건 - * @return 전자우편 접수 등록 객체 목록 - */ - public String getEpostSenderRegSeq(String sndngYmd, String deptCd) { - String conKey = ""; - if (deptCd.length() == 7) { - conKey = sndngYmd + "-" + deptCd + "0000"; - } else { - conKey = sndngYmd + "-" + deptCd; - } - - return epostRcptRegMapper.selectEpostSenderRegSeq(conKey); - } - - /**전자우편 접수 등록 정보를 등록한다. - * @param epostRcptReg 전자우편 접수 등록 - * @return 저장 여부 - *
    • 저장됐으면 true
    • - *
    • 그렇지 않으면 false
    • - *
    - */ - public boolean create(EpostRcptReg epostRcptReg) { - return epostRcptRegMapper.insert(epostRcptReg); - } - - /**전자우편 접수 등록 정보를 수정한다. - * @param epostRcptReg 전자우편 접수 등록 - * @return 저장 여부 - *
    • 저장됐으면 true
    • - *
    • 그렇지 않으면 false
    • - *
    - */ - public boolean update(EpostRcptReg epostRcptReg) { - return epostRcptRegMapper.update(epostRcptReg); - } - - /**전자우편 접수 등록 정보의 우편 처리 상태 코드를 수정한다. - * @param epostRcptReg 전자우편 접수 등록 - * @return 저장 여부 - *
    • 저장됐으면 true
    • - *
    • 그렇지 않으면 false
    • - *
    - */ - public String updatePostPrcsSttsCd(EpostRcptReg epostRcptReg) { - // 변수 선언 - int rtnNocs = -1; // 처리 결과 건수 - - // 전자우편 접수 등록 정보의 우편 처리 상태 코드를 수정한다. - epostRcptReg.setPostPrcsSttsCd("02"); - - rtnNocs = epostRcptRegMapper.updatePostPrcsSttsCd(epostRcptReg); - if (rtnNocs != 1) { - throw new RuntimeException("전자우편 접수등록 정보 수정에 실패하였습니다."); // 예외를 발생시켜서 DB Rollback - } - - // 발송 정보의 발송 상태 코드를 수정한다. - Sndng sndng = new Sndng(); - sndng.setSndngId(epostRcptReg.getSndngId()); // 발송 ID - sndng.setSndngSttsCd("02"); // 발송 상태 코드 - - rtnNocs = sndngMapper.updateSndngSttsCd(sndng); - if (rtnNocs != 1) { - throw new RuntimeException("발송상태코드 수정에 실패하였습니다."); // 예외를 발생시켜서 DB Rollback - } - - return "[S] 작업이 정상 처리 되었습니다."; - } - - /**전자우편 접수 등록 정보를 삭제한다. - * @param epostRcptReg 전자우편 접수 등록 - * @return 저장 여부 - *
    • 저장됐으면 true
    • - *
    • 그렇지 않으면 false
    • - *
    - */ - public String remove(EpostRcptReg epostRcptReg) { - // 전자우편 접수 등록 정보를 삭제한다. - int rtnNocs = epostRcptRegMapper.deleteEpostRcptReg(epostRcptReg); - if (rtnNocs < 1) { - throw new RuntimeException("전자우편 접수등록 정보 삭제에 실패하였습니다."); // 예외를 발생시켜서 DB Rollback - } - - return "[S] 작업이 정상 처리 되었습니다."; - } - -} diff --git a/src/main/java/cokr/xit/fims/epst/service/bean/EpostRcptRegServiceBean.java b/src/main/java/cokr/xit/fims/epst/service/bean/EpostRcptRegServiceBean.java deleted file mode 100644 index 78e18d90..00000000 --- a/src/main/java/cokr/xit/fims/epst/service/bean/EpostRcptRegServiceBean.java +++ /dev/null @@ -1,73 +0,0 @@ -package cokr.xit.fims.epst.service.bean; - -import java.util.List; - -import javax.annotation.Resource; - -import org.springframework.stereotype.Service; - -import cokr.xit.foundation.component.AbstractServiceBean; -import cokr.xit.foundation.data.DataObject; - -import cokr.xit.fims.epst.EpostQuery; -import cokr.xit.fims.epst.EpostRcptReg; -import cokr.xit.fims.epst.service.EpostRcptRegService; - -/**전자우편 접수 등록 서비스 구현체. - * - *

    상세 설명: - * - *

    - * ============ 변경 이력 ============
    - * 2023-10-11	JoJH 최초 작성
    - * ================================
    - * 
    - */ -@Service("epostRcptRegService") -public class EpostRcptRegServiceBean extends AbstractServiceBean implements EpostRcptRegService { - - /** 전자우편 접수 등록 정보 Bean */ - @Resource(name = "epostRcptRegBean") - private EpostRcptRegBean epostRcptRegBean; - - @Override - public List getEpostRcptRegList(EpostQuery req) { - return epostRcptRegBean.getEpostRcptRegList(req); - } - - @Override - public List getEpostRcptRegs(EpostQuery req) { - return epostRcptRegBean.getEpostRcptRegs(req); - } - - @Override - public DataObject getEpostRcptRegInfo(EpostQuery req) { - return epostRcptRegBean.getEpostRcptRegInfo(req); - } - - @Override - public List getEpostRcptRegDtlList(EpostQuery req) { - return epostRcptRegBean.getEpostRcptRegDtlList(req); - } - - @Override - public boolean create(EpostRcptReg epostRcptReg) { - return epostRcptRegBean.create(epostRcptReg); - } - - @Override - public boolean update(EpostRcptReg epostRcptReg) { - return epostRcptRegBean.update(epostRcptReg); - } - - @Override - public String updatePostPrcsSttsCd(EpostRcptReg epostRcptReg) { - return epostRcptRegBean.updatePostPrcsSttsCd(epostRcptReg); - } - - @Override - public String remove(EpostRcptReg epostRcptReg) { - return epostRcptRegBean.remove(epostRcptReg); - } - -} diff --git a/src/main/java/cokr/xit/fims/epst/service/bean/EpostRcptRsltBean.java b/src/main/java/cokr/xit/fims/epst/service/bean/EpostRcptRsltBean.java deleted file mode 100644 index 8aeed570..00000000 --- a/src/main/java/cokr/xit/fims/epst/service/bean/EpostRcptRsltBean.java +++ /dev/null @@ -1,107 +0,0 @@ -package cokr.xit.fims.epst.service.bean; - -import java.util.List; - -import javax.annotation.Resource; - -import org.springframework.stereotype.Component; - -import cokr.xit.fims.cmmn.CmmnUtil; -import cokr.xit.fims.epst.EpostQuery; -import cokr.xit.fims.epst.EpostRcptRslt; -import cokr.xit.fims.epst.dao.EpostRcptRsltMapper; -import cokr.xit.foundation.component.AbstractBean; -import cokr.xit.foundation.data.DataObject; - -/**전자우편 접수 결과 정보 관리 Bean - * - *

    상세 설명: - * - *

    - * ============ 변경 이력 ============
    - * 2023-12-12	JoJH 최초 작성
    - * ================================
    - * 
    - */ -@Component("epostRcptRsltBean") -public class EpostRcptRsltBean extends AbstractBean { - - /** 전자우편 접수 결과 정보 DAO */ - @Resource(name = "epostRcptRsltMapper") - private EpostRcptRsltMapper epostRcptRsltMapper; - - /**지정한 조건에 따라 전자우편 접수 결과 목록을 조회하여 반환한다. - * @param req 전자우편 접수 결과 조회 조건 - * @return 전자우편 접수 결과 목록 - */ - public List getEpostRcptRsltList(EpostQuery req) { - // 사용 여부 확인 - if (req.getUseYn() == null) { - req.setUseYn("Y"); - } - // 삭제 여부 확인 - if (req.getDelYn() == null) { - req.setDelYn("N"); - } - // 정렬 확인 - if (req.getOrderBy() == null) { - if (req.getBy() == null) { - req.setOrderBy("REG_DT"); - } else { - req.setOrderBy(CmmnUtil.convertCamelCaseToSnakeCase(req.getBy())); - } - } - - return epostRcptRsltMapper.selectEpostRcptRsltList(req); - } - - /**지정한 조건에 따라 전자우편 접수 결과 객체들을 반환한다. - * @param req 전자우편 접수 결과 조회 조건 - * @return 전자우편 접수 결과 객체 목록 - */ - public List getEpostRcptRslts(EpostQuery req) { - return epostRcptRsltMapper.selectEpostRcptRslts(req); - } - - /**지정한 조건에 따라 전자우편 접수 결과의 합계 건수, 금액을 반환한다. - * @param req 전자우편 접수 결과 조회 조건 - * @return 전자우편 접수 결과의 합계 건수, 금액 - */ - public List getEpostRcptRsltSum(EpostQuery req) { - return epostRcptRsltMapper.selectEpostRcptRsltSum(req); - } - - /**전자우편 접수 결과 정보를 등록한다. - * @param epostRcptRslt 전자우편 접수 결과 - * @return 저장 여부 - *
    • 저장됐으면 true
    • - *
    • 그렇지 않으면 false
    • - *
    - */ - public boolean create(EpostRcptRslt epostRcptRslt) { - return epostRcptRsltMapper.insert(epostRcptRslt); - } - - /**전자우편 접수 결과 정보를 수정한다. - * @param epostRcptRslt 전자우편 접수 결과 - * @return 저장 여부 - *
    • 저장됐으면 true
    • - *
    • 그렇지 않으면 false
    • - *
    - */ - public boolean update(EpostRcptRslt epostRcptRslt) { - return epostRcptRsltMapper.update(epostRcptRslt); - } - - /**전자우편 접수 결과 정보를 삭제한다. - * @param epostRcptRslt 전자우편 접수 결과 - * @return 저장 여부 - *
    • 저장됐으면 true
    • - *
    • 그렇지 않으면 false
    • - *
    - */ - public boolean remove(EpostRcptRslt epostRcptRslt) { - return epostRcptRsltMapper.delete(epostRcptRslt); - } - -} diff --git a/src/main/java/cokr/xit/fims/epst/service/bean/EpostRcptRsltServiceBean.java b/src/main/java/cokr/xit/fims/epst/service/bean/EpostRcptRsltServiceBean.java deleted file mode 100644 index accce558..00000000 --- a/src/main/java/cokr/xit/fims/epst/service/bean/EpostRcptRsltServiceBean.java +++ /dev/null @@ -1,63 +0,0 @@ -package cokr.xit.fims.epst.service.bean; - -import java.util.List; - -import javax.annotation.Resource; - -import org.springframework.stereotype.Service; - -import cokr.xit.foundation.component.AbstractServiceBean; -import cokr.xit.foundation.data.DataObject; - -import cokr.xit.fims.epst.EpostQuery; -import cokr.xit.fims.epst.EpostRcptRslt; -import cokr.xit.fims.epst.service.EpostRcptRsltService; - -/**전자우편 접수 결과 서비스 구현체. - * - *

    상세 설명: - * - *

    - * ============ 변경 이력 ============
    - * 2023-12-12	JoJH 최초 작성
    - * ================================
    - * 
    - */ -@Service("epostRcptRsltService") -public class EpostRcptRsltServiceBean extends AbstractServiceBean implements EpostRcptRsltService { - - /** 전자우편 접수 결과 정보 Bean */ - @Resource(name = "epostRcptRsltBean") - private EpostRcptRsltBean epostRcptRsltBean; - - @Override - public List getEpostRcptRsltList(EpostQuery req) { - return epostRcptRsltBean.getEpostRcptRsltList(req); - } - - @Override - public List getEpostRcptRslts(EpostQuery req) { - return epostRcptRsltBean.getEpostRcptRslts(req); - } - - @Override - public List getEpostRcptRsltSum(EpostQuery req) { - return epostRcptRsltBean.getEpostRcptRsltSum(req); - } - - @Override - public boolean create(EpostRcptRslt epostRcptRslt) { - return epostRcptRsltBean.create(epostRcptRslt); - } - - @Override - public boolean update(EpostRcptRslt epostRcptRslt) { - return epostRcptRsltBean.update(epostRcptRslt); - } - - @Override - public boolean remove(EpostRcptRslt epostRcptRslt) { - return epostRcptRsltBean.remove(epostRcptRslt); - } - -} diff --git a/src/main/java/cokr/xit/fims/epst/web/Epst01Controller.java b/src/main/java/cokr/xit/fims/epst/web/Epst01Controller.java deleted file mode 100644 index 795314a6..00000000 --- a/src/main/java/cokr/xit/fims/epst/web/Epst01Controller.java +++ /dev/null @@ -1,86 +0,0 @@ -package cokr.xit.fims.epst.web; - -import javax.annotation.Resource; - -import org.springframework.web.servlet.ModelAndView; - -import cokr.xit.base.web.ApplicationController; -import cokr.xit.fims.epst.EpostRcptReg; -import cokr.xit.fims.epst.service.EpostRcptRegService; - -/**전자우편 접수 등록 서비스의 웹 컨트롤러 -* -*

    상세 설명: -* -*

    -* ============ 변경 이력 ============
    -* 2023-10-11	JoJH 최초 작성
    -* ================================
    -* 
    -*/ -public class Epst01Controller extends ApplicationController { - - public static final String CLASS_URL = "/epst/epst01"; - - public class METHOD_URL { - public static final String - createEpostReceiptRegistration = "/010/create.do" // 전자우편 접수 정보 등록 - , updateEpostReceiptRegistration = "/010/update.do" // 전자우편 접수 정보 수정 - , removeEpostReceiptRegistration = "/010/remove.do" // 전자우편 접수 정보 삭제 - ; - } - - /**전자우편 접수 등록 서비스*/ - @Resource(name="epostRcptRegService") - private EpostRcptRegService epostRcptRegService; - - /**전자우편 접수 등록를 등록한다. - * @param epostRcptReg 전자우편 접수 등록 정보 - * @return jsonView - *
     {
    -	 *     "saved": 등록되었으면 true, 그렇지 않으면 false
    -	 * }
    - */ - public ModelAndView createEpostReceiptRegistration(EpostRcptReg epostRcptReg) { - boolean saved = epostRcptRegService.create(epostRcptReg); - return new ModelAndView("jsonView") - .addObject("saved", saved); - } - - /**전자우편 접수 등록 정보를 수정한다. - * @param epostRcptReg 전자우편 접수 등록 정보 - * @return jsonView - *
     {
    -	 *     "saved": 수정되었으면 true, 그렇지 않으면 false
    -	 * }
    - */ - public ModelAndView updateEpostReceiptRegistration(EpostRcptReg epostRcptReg) { - boolean saved = epostRcptRegService.update(epostRcptReg); - return new ModelAndView("jsonView") - .addObject("saved", saved); - } - - /**지정한 전자우편 접수 등록를 제거한다. - * @param epostRcptRegIds 전자우편 접수 등록 아이디 - * @return jsonView - *
     {
    -	 *     "affected": 저장된 정보수
    -	 *     "saved": 저장되었으면 true, 그렇지 않으면 false
    -	 * }
    - */ - public ModelAndView removeEpostReceiptRegistration(EpostRcptReg epostRcptReg) { - boolean saved = false; - String rtnMsg = epostRcptRegService.remove(epostRcptReg); - - if (rtnMsg.contains("[S]")) { - saved = true; - } else { - saved = false; - } - - return new ModelAndView("jsonView") - .addObject("saved", saved) - .addObject("rtnMsg", rtnMsg); - } - -} diff --git a/src/main/java/cokr/xit/fims/epst/web/Epst02Controller.java b/src/main/java/cokr/xit/fims/epst/web/Epst02Controller.java deleted file mode 100644 index 30d8c235..00000000 --- a/src/main/java/cokr/xit/fims/epst/web/Epst02Controller.java +++ /dev/null @@ -1,591 +0,0 @@ -package cokr.xit.fims.epst.web; - -import java.text.SimpleDateFormat; -import java.util.HashMap; -import java.util.List; -import java.util.Map; - -import javax.annotation.Resource; -import javax.servlet.http.HttpServletRequest; - -import org.apache.poi.ss.usermodel.CellStyle; -import org.springframework.stereotype.Controller; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.servlet.ModelAndView; - -import cokr.xit.base.code.CommonCode; -import cokr.xit.base.docs.xls.CellDef; -import cokr.xit.base.docs.xls.Format; -import cokr.xit.base.docs.xls.Style; -import cokr.xit.base.docs.xls.XLSWriter; -import cokr.xit.base.web.ApplicationController; -import cokr.xit.fims.base.FimsUser; -import cokr.xit.fims.cmmn.service.bean.StngBean; -import cokr.xit.fims.cmmn.xls.FormatMaker; -import cokr.xit.fims.cmmn.xls.StyleMaker; -import cokr.xit.fims.epst.EpostGdntc; -import cokr.xit.fims.epst.EpostQuery; -import cokr.xit.fims.epst.EpostRcptReg; -import cokr.xit.fims.epst.service.EpostGdntcService; -import cokr.xit.fims.epst.service.EpostRcptDtlService; -import cokr.xit.fims.epst.service.EpostRcptRegService; -import cokr.xit.fims.epst.service.EpostRcptRsltService; -import cokr.xit.fims.task.Task; -import cokr.xit.foundation.data.DataObject; - -/**전자우편 안내문 서비스의 웹 컨트롤러 - * - *

    상세 설명: - * - *

    - * ============ 변경 이력 ============
    - * 2023-12-04	JoJH 최초 작성
    - * ================================
    - * 
    - */ -@Controller -@RequestMapping(name="우편통합", value=Epst02Controller.CLASS_URL) -public class Epst02Controller extends ApplicationController { - - public static final String CLASS_URL = "/epst/epst02"; - - public class METHOD_URL { - public static final String - epostGuidanceNoticeMain = "/010/main.do" // 전자우편 안내문 메인 - , getEpostGuidanceNoticeList = "/010/list.do" // 전자우편 안내문 목록 조회 - , removeEpostGuidanceNotice = "/010/remove.do" // 전자우편 안내문 삭제 - , getEpostGuidanceNoticeInfo = "/020/info.do" // 전자우편 안내문 상세 정보 조회 - , createEpostGuidanceNotice = "/020/create.do" // 전자우편 안내문 등록 - , updateEpostGuidanceNotice = "/020/update.do" // 전자우편 안내문 수정 - , epostReceiptRegistrationMain = "/030/main.do" // 전자우편 우편발송 메인 - , getEpostReceiptRegistrationList = "/030/list.do" // 전자우편 우편발송 목록 조회 - , updateEpostSendingProcessStatus = "/030/updateSttsCd.do" // 전자우편 우편발송 처리상태코드 수정 - , removeEpostSendingStatus = "/030/remove.do" // 전자우편 우편발송 삭제 - , getEpostReceiptRegistrationDetailInfo = "/040/info.do" // 전자우편 발송 상세 정보 조회 - , getEpostReceiptRegistrationDetailList = "/040/list.do" // 전자우편 발송 상세 정보 조회 - , epostReceiptResultMain = "/050/main.do" // 전자우편 접수 결과 메인 - , getEpostReceiptResultList = "/050/list.do" // 전자우편 접수 결과 목록 조회 - , getEpostReceiptResultSumAmount = "/050/sumAmt.do" // 전자우편 접수 결과 합계 금액 조회 - ; - } - - /**전자우편 안내문 서비스*/ - @Resource(name="epostGdntcService") - private EpostGdntcService epostGdntcService; - - /**전자우편 접수 등록 서비스*/ - @Resource(name="epostRcptRegService") - private EpostRcptRegService epostRcptRegService; - - /**전자우편 접수 상세 서비스*/ - @Resource(name="epostRcptDtlService") - private EpostRcptDtlService epostRcptDtlService; - - /**전자우편 접수 결과 서비스*/ - @Resource(name="epostRcptRsltService") - private EpostRcptRsltService epostRcptRsltService; - - @Resource(name="stngBean") - private StngBean stngBean; - - /**전자우편 안내문 관리 메인화면(epostGdcc/epostGdcc-main)을 연다. - * 조건없는 {@link #getEpostGdccList(EpostGdccQuery) 전자우편 안내문 조회 결과}를 포함시킨다. - * @return /epostGdcc/epostGdcc-main - */ - @RequestMapping(name="안내문관리", value=METHOD_URL.epostGuidanceNoticeMain) - public ModelAndView epostGuidanceNoticeMain() { - ModelAndView mav = new ModelAndView("fims/epst/epst02010-main"); - - // 사용자 정보 - FimsUser fimsUser = (FimsUser)currentUser().getUser(); - - // View(jsp)에서 사용할 공통코드를 조회 - Map> commonCodes = getCodesOf("FIM047", "FIM054"); - - return mav - .addObject("pageName", "epst02010") // View(jsp)에서 사용할 id 뒤에 붙일 suffix - .addObject("infoPrefix", "epostGdntc") // prefix - .addObject("infoPrefixUrl", CLASS_URL) // prefixUrl - .addObject("sggCd", fimsUser.getOrgID()) // 시군구 코드(SGG_CD) - .addObject("taskListForSgg", stngBean.filterTaskSectionCodeForSgg(commonCodes.get("FIM054"))) - .addObject("FIM047List", commonCodes.get("FIM047")) // 발송 구분 코드(SNDNG_SE_CD) - .addObject("FIM054List", commonCodes.get("FIM054")) // 업무 구분 코드(TASK_SE_CD) - ; - } - - /**전자우편 안내문 목록을 조회하여 반환한다. - * {@link EpostGdntcService#getEpostGdccList(EpostGdccQuery)} 참고 - * @param req 전자우편 안내문 조회 조건 - * @return jsonView - *
     {
    -	 *     "epostGdccList": [전자우편 안내문 목록]
    -	 *     "epostGdccStart": 전자우편 안내문 목록 시작 인덱스
    -	 *     "epostGdccFetch": 한 번에 가져오는 전자우편 안내문 목록 수
    -	 *     "epostGdccTotal": 조회 결과 찾은 전체 전자우편 안내문 수
    -	 * }
    - */ - @Task - @RequestMapping(name="전자우편 안내문 목록 조회", value=METHOD_URL.getEpostGuidanceNoticeList) - public ModelAndView getEpostGuidanceNoticeList(EpostQuery req) { - if (!"xls".equals(req.getDownload())) { - List result = epostGdntcService.getEpostGdntcList(setFetchSize(req)); - return setCollectionInfo(new ModelAndView("jsonView"), result, "epostGdntc"); - } else { - // 현재 날짜 구하기 - SimpleDateFormat dateFormat = new SimpleDateFormat("yyyyMMddHHmmss"); - String dateTime = dateFormat.format(System.currentTimeMillis()); - - List cellDefs = fromJson(req.getCellDefs(), CellDef.listType()); - - XLSWriter xlsx = new XLSWriter().worksheet(0); - Format format = new Format(xlsx); - CellStyle center = format.cellStyle(Style.CENTER); - CellStyle dateDT = format.yyyy_mm_dd_hh_mm_ss(); - - List list = epostGdntcService.getEpostGdntcList(req.setFetchSize(0)); - - Map valueMap = new HashMap(); - - valueMap.put("업무구분", format.of("TASK_SE_NM").style(center)); - valueMap.put("발송구분", format.of("SNDNG_SE_NM").style(center)); - valueMap.put("사용여부", format.of("USE_YN_NM").style(center)); - valueMap.put("최종사용일시", FormatMaker.yyyy_mm_dd(format, "LAST_USE_DT").style(dateDT)); - valueMap.put("제목", format.of("TTL_NM")); - valueMap.put("문구내용", format.of("WORDS_CN")); - valueMap.put("등록일시", FormatMaker.yyyy_mm_dd_hh_mm_ss(format, "REG_DT").style(dateDT)); - valueMap.put("등록사용자", format.of("RGTR_NM").style(center)); - valueMap.put("수정일시", FormatMaker.yyyy_mm_dd_hh_mm_ss(format, "MDFCN_DT").style(dateDT)); - valueMap.put("수정사용자", format.of("MDFR_NM").style(center)); - - CellDef.setValues(cellDefs, valueMap); - - xlsx.cell(0, 0).value("우편통합 안내문").value(center).merge(0, cellDefs.size() - 1) - .cell(3, 0).rowValues(CellDef.header(cellDefs, () -> StyleMaker.headerStyle(xlsx))) - .cell(4, 0).values(list, CellDef.values(cellDefs.stream().map(i -> {if(i.getValue() instanceof Format) {i.setField(null);}; return i;}).toList())); - - return new ModelAndView("downloadView") - .addObject("download", xlsx.getDownloadable().setFilename("우편통합안내문" + "_목록_" + dateTime + ".xlsx")); - } - } - - /**전자우편 안내문 단건의 정보(info)를 반환한다. - * @param req 부과제외 대장 조회 조건 - * @return fims/epst/epst02020-info 또는 jsonView - *
    {
    -	 *     "epostGdccInfo": 전자우편 안내문 정보
    -	 * }
    - */ - @Task - @RequestMapping(name="전자우편 안내문 정보 조회", value=METHOD_URL.getEpostGuidanceNoticeInfo) - public ModelAndView getEpostGuidanceNoticeInfo(HttpServletRequest hReq, EpostQuery req) { - DataObject info = epostGdntcService.getEpostGdntcInfo(req); - - boolean json = jsonResponse(); - ModelAndView mav = new ModelAndView(json ? "jsonView" : "fims/epst/epst02020-info"); - - // View(jsp)에서 사용할 공통코드를 조회 - Map> commonCodes = getCodesOf("FIM047", "FIM054"); - - return mav - .addObject("openerPageName", hReq.getParameter("openerPageName")) // 호출한 Jsp PageName - .addObject("callPurpose", req.getCallPurpose()) // 호출 용도 - .addObject("pageName", "epst02020") // View(jsp)에서 사용할 id 뒤에 붙일 suffix - .addObject("infoPrefix", "epostGdntc") // prefix - .addObject("infoPrefixUrl", CLASS_URL) // prefixUrl - .addObject("FIM047List", commonCodes.get("FIM047")) // 발송 구분 코드(SNDNG_SE_CD) - .addObject("FIM054List", commonCodes.get("FIM054")) // 업무 구분 코드(TASK_SE_CD) - .addObject("epostGdntcInfo", json ? info : toJson(info)) // - ; - } - - /**전자우편 안내문 정보를 등록한다. - * @param epostGdcc 전자우편 안내문 정보 - * @return jsonView - *
     {
    -	 *     "saved": 등록되었으면 true, 그렇지 않으면 false
    -	 * }
    - */ - @Task - @RequestMapping(name="전자우편 안내문 등록", value=METHOD_URL.createEpostGuidanceNotice) - public ModelAndView createEpostGuidanceNotice(EpostGdntc epostGdntc) { - boolean saved = false; - String rtnMsg = epostGdntcService.createEpostGdntc(epostGdntc); - - if (rtnMsg.contains("[S]")) { - saved = true; - } else { - saved = false; - } - - return new ModelAndView("jsonView") - .addObject("saved", saved) - .addObject("rtnMsg", rtnMsg); - } - - /**전자우편 안내문 정보를 수정한다. - * @param epostGdcc 전자우편 안내문 정보 - * @return jsonView - *
     {
    -	 *     "saved": 수정되었으면 true, 그렇지 않으면 false
    -	 * }
    - */ - @Task - @RequestMapping(name="전자우편 안내문 수정", value=METHOD_URL.updateEpostGuidanceNotice) - public ModelAndView updateEpostGuidanceNotice(EpostGdntc epostGdntc) { - boolean saved = false; - String rtnMsg = epostGdntcService.updateEpostGdntc(epostGdntc); - - if (rtnMsg.contains("[S]")) { - saved = true; - } else { - saved = false; - } - - return new ModelAndView("jsonView") - .addObject("saved", saved) - .addObject("rtnMsg", rtnMsg); - } - - /**지정한 전자우편 안내문를 제거한다. - * @param epostGdntcIds 전자우편 안내문 아이디 - * @return jsonView - *
     {
    -	 *     "affected": 저장된 정보수
    -	 *     "saved": 저장되었으면 true, 그렇지 않으면 false
    -	 * }
    - */ - @Task - @RequestMapping(name="전자우편 안내문 삭제", value=METHOD_URL.removeEpostGuidanceNotice) - public ModelAndView removeEpostGuidanceNotice(EpostGdntc epostGdntc) { - boolean saved = false; - String rtnMsg = epostGdntcService.removeEpostGdntc(epostGdntc); - - if (rtnMsg.contains("[S]")) { - saved = true; - } else { - saved = false; - } - - return new ModelAndView("jsonView") - .addObject("saved", saved) - .addObject("rtnMsg", rtnMsg); - } - - /**전자우편 접수 등록 관리 메인화면(fims/epst/epst02030-main)을 연다. - * @return /fims/epst/epst02030-main - */ - @RequestMapping(name="우편발송", value=METHOD_URL.epostReceiptRegistrationMain) - public ModelAndView epostReceiptRegistrationMain() { - ModelAndView mav = new ModelAndView("fims/epst/epst02030-main"); - - // 사용자 정보 - FimsUser fimsUser = (FimsUser)currentUser().getUser(); - // 부서 정보 - DataObject deptInfo = stngBean.getStng("dept"); - - // View(jsp)에서 사용할 공통코드를 조회 - Map> commonCodes = getCodesOf("FIM054"); - - return mav - .addObject("pageName", "epst02030") // View(jsp)에서 사용할 id 뒤에 붙일 suffix - .addObject("infoPrefix", "epostRcptReg") // prefix - .addObject("infoPrefixUrl", CLASS_URL) // prefixUrl - .addObject("sggCd", fimsUser.getOrgID()) // 시군구 코드(SGG_CD) - .addObject("taskListForSgg", stngBean.filterTaskSectionCodeForSgg(commonCodes.get("FIM054"))) - .addObject("deptCd", deptInfo.string("DEPT_CD")) // 부서 코드 7자리 - .addObject("conOrg", deptInfo.string("EGP_CON_ORG")) // E그린 외부기관구분코드 - ; - } - - /**전자우편 접수 등록 목록을 조회하여 반환한다.
    - * {@link EpostRcptRegService#getEpostRcptRegList(EpostRcptRegQuery)} 참고 - * @param req 전자우편 접수 등록 조회 조건 - * @return jsonView - *
     {
    -	 *     "epostRcptRegList": [전자우편 접수 등록 목록]
    -	 *     "epostRcptRegStart": 전자우편 접수 등록 목록 시작 인덱스
    -	 *     "epostRcptRegFetch": 한 번에 가져오는 전자우편 접수 등록 목록 수
    -	 *     "epostRcptRegTotal": 조회 결과 찾은 전체 전자우편 접수 등록 수
    -	 * }
    - */ - @Task - @RequestMapping(name="전자우편 발송 목록 조회", value=METHOD_URL.getEpostReceiptRegistrationList) - public ModelAndView getEpostReceiptRegistrationList(EpostQuery req) { - if (!"xls".equals(req.getDownload())) { - List result = epostRcptRegService.getEpostRcptRegList(setFetchSize(req)); - return setCollectionInfo(new ModelAndView("jsonView"), result, "epostRcptReg"); - } else { - // 현재 날짜 구하기 - SimpleDateFormat dateFormat = new SimpleDateFormat("yyyyMMddHHmmss"); - String dateTime = dateFormat.format(System.currentTimeMillis()); - - List cellDefs = fromJson(req.getCellDefs(), CellDef.listType()); - - XLSWriter xlsx = new XLSWriter().worksheet(0); - Format format = new Format(xlsx); - CellStyle center = format.cellStyle(Style.CENTER); - CellStyle numeric = format.n_nn0(); - CellStyle dateYMD = format.yyyy_mm_dd(); - CellStyle dateDT = format.yyyy_mm_dd_hh_mm_ss(); - - List list = epostRcptRegService.getEpostRcptRegList(req.setFetchSize(0)); - - Map valueMap = new HashMap(); - valueMap.put("발송일자", FormatMaker.yyyy_mm_dd(format, "SEND_DATE").style(dateYMD)); - valueMap.put("발송내역", format.of("JOB_CD").style(center)); - valueMap.put("취급구분", format.of("DIV_KB_NM").style(center)); - valueMap.put("접수일자", FormatMaker.yyyy_mm_dd(format, "RCEPT_YMD").style(dateYMD)); - valueMap.put("자료키", format.of("CON_KEY").style(center)); - valueMap.put("발송건수", format.of("RECEV_CNT").style(numeric)); - valueMap.put("우편처리상태", format.of("POST_PRCS_STTS_NM").style(center)); - valueMap.put("등록일시", FormatMaker.yyyy_mm_dd_hh_mm_ss(format, "REG_DT").style(dateDT)); - valueMap.put("등록사용자", format.of("RGTR_NM").style(center)); - - CellDef.setValues(cellDefs, valueMap); - - xlsx.cell(0, 0).value("우편통합 우편발송").value(center).merge(0, cellDefs.size() - 1) - .cell(3, 0).rowValues(CellDef.header(cellDefs, () -> StyleMaker.headerStyle(xlsx))) - .cell(4, 0).values(list, CellDef.values(cellDefs.stream().map(i -> {if(i.getValue() instanceof Format) {i.setField(null);}; return i;}).toList())); - - return new ModelAndView("downloadView") - .addObject("download", xlsx.getDownloadable().setFilename("우편통합우편발송" + "_목록_" + dateTime + ".xlsx")); - } - } - - /**전자우편 발송 상세 정보(info)를 반환한다. - * @param req 부과제외 대장 조회 조건 - * @return fims/epst/epst02040-info 또는 jsonView - *
    {
    -	 *     "epostRcptReg": 전자우편 접수 등록 정보
    -	 * }
    - */ - @Task - @RequestMapping(name="전자우편 발송 상세 화면", value=METHOD_URL.getEpostReceiptRegistrationDetailInfo) - public ModelAndView getEpostReceiptRegistrationDetailInfo(HttpServletRequest hReq, EpostQuery req) { - ModelAndView mav = getEpostReceiptRegistrationDetailList(req); - - mav.setViewName("fims/epst/epst02040-info"); - - return mav - .addObject("openerPageName", hReq.getParameter("openerPageName")) // 호출한 Jsp PageName - .addObject("callPurpose", req.getCallPurpose()) // 호출 용도 - .addObject("pageName", "epst02040") // View(jsp)에서 사용할 id 뒤에 붙일 suffix - .addObject("infoPrefix", "epostRcptRegDtl") // prefix - .addObject("infoPrefixUrl", CLASS_URL) // prefixUrl - .addObject("taskSeCd", req.getTaskSeCd()) // 업무 구분 코드(TASK_SE_CD) - .addObject("mainQuery", toJson(req)) // 검색 조건 - .addObject("epostRcptRegDtlList", toJson(mav.getModel().get("epostRcptRegDtlList"))) // 자료 - ; - } - - /**전자우편 발송 상세 정보(info)를 반환한다. - * @param req 부과제외 대장 조회 조건 - * @return fims/epst/epst02040-info 또는 jsonView - *
    {
    -	 *     "epostRcptReg": 전자우편 접수 등록 정보
    -	 * }
    - */ - @Task - @RequestMapping(name="전자우편 발송 상세 목록 조회", value=METHOD_URL.getEpostReceiptRegistrationDetailList) - public ModelAndView getEpostReceiptRegistrationDetailList(EpostQuery req) { - // 엑셀 저장이 아니라면.. 검색 - if (!"xls".equals(req.getDownload())) { - List result = epostRcptRegService.getEpostRcptRegDtlList(setFetchSize(req)); - return setCollectionInfo(new ModelAndView("jsonView"), result, "epostRcptRegDtl"); - } else { - // 현재 날짜 구하기 - SimpleDateFormat dateFormat = new SimpleDateFormat("yyyyMMddHHmmss"); - String dateTime = dateFormat.format(System.currentTimeMillis()); - - List cellDefs = fromJson(req.getCellDefs(), CellDef.listType()); - - XLSWriter xlsx = new XLSWriter().worksheet(0); - Format format = new Format(xlsx); - CellStyle center = format.cellStyle(Style.CENTER); - CellStyle dateDT = format.yyyy_mm_dd_hh_mm_ss(); - - List list = epostRcptRegService.getEpostRcptRegDtlList(req.setFetchSize(0)); - - Map valueMap = new HashMap(); - valueMap.put("등록일시", FormatMaker.yyyy_mm_dd_hh_mm_ss(format, "REG_DT").style(dateDT)); - valueMap.put("등기번호", format.of("RGST_NMBR").style(center)); - valueMap.put("우편번호", format.of("RECEV_CAR_OWNER_ZIPCODE").style(center)); - valueMap.put("수취인명", format.of("RECEV_CAR_OWNER_NM")); - valueMap.put("배달일시", FormatMaker.yyyy_mm_dd_hh_mm_ss(format, "DELIV_YMD_TM").style(dateDT)); - valueMap.put("배달결과", format.of("DELIVRSLTCD_NM").style(center)); - valueMap.put("수령인명", format.of("SUBRECPRSNNM")); - valueMap.put("수령인관계", format.of("RELRECPRSNCDNM").style(center)); - valueMap.put("미배달사유", format.of("NONDELIVREASNCDNM")); - valueMap.put("주소", format.of("RECEV_CAR_OWNER_ADDR")); - valueMap.put("상세주소", format.of("RECEV_CAR_OWNER_DETAILADDR")); - valueMap.put("연계식별키", format.of("CON_KEY")); - valueMap.put("등록사용자", format.of("RGTR_NM").style(center)); - valueMap.put("수정일시", FormatMaker.yyyy_mm_dd_hh_mm_ss(format, "MDFCN_DT").style(dateDT)); - valueMap.put("수정사용자", format.of("MDFR_NM").style(center)); - - CellDef.setValues(cellDefs, valueMap); - - xlsx.cell(0, 0).value("우편통합 발송상세").value(center).merge(0, cellDefs.size() - 1) - .cell(3, 0).rowValues(CellDef.header(cellDefs, () -> StyleMaker.headerStyle(xlsx))) - .cell(4, 0).values(list, CellDef.values(cellDefs.stream().map(i -> {if(i.getValue() instanceof Format) {i.setField(null);}; return i;}).toList())); - - return new ModelAndView("downloadView") - .addObject("download", xlsx.getDownloadable().setFilename("우편통합발송상세" + "_목록_" + dateTime + ".xlsx")); - } - } - - /**전자우편 접수 등록 정보의 우편 처리 상태 코드를 수정한다. - * @param epostRcptReg 전자우편 접수 등록 - * @return jsonView - *
     {
    -	 *     "saved": 수정되었으면 true, 그렇지 않으면 false
    -	 * }
    - */ - @Task - @RequestMapping(name="전자우편 발송 우편처리상태코드 수정", value=METHOD_URL.updateEpostSendingProcessStatus) - public ModelAndView updateEpostSendingProcessStatus(EpostRcptReg epostRcptReg) { - boolean saved = false; - String rtnMsg = epostRcptRegService.updatePostPrcsSttsCd(epostRcptReg); - - if (rtnMsg.contains("[S]")) { - saved = true; - } else { - saved = false; - } - - return new ModelAndView("jsonView") - .addObject("saved", saved) - .addObject("rtnMsg", rtnMsg); - } - - /**지정한 전자우편 접수 등록 정보를 제거한다. - * @param epostRcptReg 전자우편 접수 등록 - * @return jsonView - *
     {
    -	 *     "affected": 저장된 정보수
    -	 *     "saved": 저장되었으면 true, 그렇지 않으면 false
    -	 * }
    - */ - @Task - @RequestMapping(name="전자우편 발송 삭제", value=METHOD_URL.removeEpostSendingStatus) - public ModelAndView removeEpostSendingStatus(EpostRcptReg epostRcptReg) { - boolean saved = false; - String rtnMsg = epostRcptRegService.remove(epostRcptReg); - - if (rtnMsg.contains("[S]")) { - saved = true; - } else { - saved = false; - } - - return new ModelAndView("jsonView") - .addObject("saved", saved) - .addObject("rtnMsg", rtnMsg); - } - - /**전자우편 접수 결과 관리 메인화면(epostRcptRslt/epostRcptRslt-main)을 연다. - * 조건없는 {@link #getEpostRcptRsltList(EpostRcptRsltQuery) 전자우편 접수 결과 조회 결과}를 포함시킨다. - * @return /epostRcptRslt/epostRcptRslt-main - */ - @RequestMapping(name="접수결과 메인", value=METHOD_URL.epostReceiptResultMain) - public ModelAndView epostReceiptResultMain() { - ModelAndView mav = new ModelAndView("fims/epst/epst02050-main"); - - // 사용자 정보 - FimsUser fimsUser = (FimsUser)currentUser().getUser(); - // 부서 정보 - DataObject deptInfo = stngBean.getStng("dept"); - - // View(jsp)에서 사용할 공통코드를 조회 - Map> commonCodes = getCodesOf("EGP002", "FIM054", "FIM082"); - - return mav - .addObject("pageName", "epst02050") // View(jsp)에서 사용할 id 뒤에 붙일 suffix - .addObject("infoPrefix", "epostRcptRslt") // prefix - .addObject("infoPrefixUrl", CLASS_URL) // prefixUrl - .addObject("sggCd", fimsUser.getOrgID()) // 시군구 코드(SGG_CD) - .addObject("taskListForSgg", stngBean.filterTaskSectionCodeForSgg(commonCodes.get("FIM054"))) - .addObject("deptCd", deptInfo.string("DEPT_CD")) // 부서 코드 7자리 - .addObject("conOrg", deptInfo.string("EGP_CON_ORG")) // E그린 외부기관구분코드 - .addObject("EGP002List", commonCodes.get("EGP002")) // 취급 구분(DIV_KB) - .addObject("FIM082List", commonCodes.get("FIM082")) // 작업 코드 3(JOB_CD) - .addObject("pageDataName2", "SumAmt") // dataset3 합계 정보 - ; - } - - /**전자우편 접수 결과 목록을 조회하여 반환한다.
    - * {@link EpostRcptRsltService#getEpostRcptRsltList(EpostRcptRsltQuery)} 참고 - * @param req 전자우편 접수 결과 조회 조건 - * @return jsonView - *
     {
    -	 *     "epostRcptRsltList": [전자우편 접수 결과 목록]
    -	 *     "epostRcptRsltStart": 전자우편 접수 결과 목록 시작 인덱스
    -	 *     "epostRcptRsltFetch": 한 번에 가져오는 전자우편 접수 결과 목록 수
    -	 *     "epostRcptRsltTotal": 조회 결과 찾은 전체 전자우편 접수 결과 수
    -	 * }
    - */ - @Task - @RequestMapping(name="전자우편 접수 결과 목록 조회", value=METHOD_URL.getEpostReceiptResultList) - public ModelAndView getEpostReceiptResultList(EpostQuery req) { - if (!"xls".equals(req.getDownload())) { - List result = epostRcptRsltService.getEpostRcptRsltList(setFetchSize(req)); - return setCollectionInfo(new ModelAndView("jsonView"), result, "epostRcptRslt"); - } else { - // 현재 날짜 구하기 - SimpleDateFormat dateFormat = new SimpleDateFormat("yyyyMMddHHmmss"); - String dateTime = dateFormat.format(System.currentTimeMillis()); - - List cellDefs = fromJson(req.getCellDefs(), CellDef.listType()); - - XLSWriter xlsx = new XLSWriter().worksheet(0); - Format format = new Format(xlsx); - CellStyle center = format.cellStyle(Style.CENTER); - CellStyle numeric = format.n_nn0(); - CellStyle dateYMD = format.yyyy_mm_dd(); - CellStyle dateDT = format.yyyy_mm_dd_hh_mm_ss(); - - List list = epostRcptRsltService.getEpostRcptRsltList(req.setFetchSize(0)); - - Map valueMap = new HashMap(); - valueMap.put("발송자료키", format.of("RELETCDATA").style(center)); - valueMap.put("우편물코드", format.of("JOB_CD").style(center)); - valueMap.put("우편물종류", format.of("JOB_CD3_NM").style(center)); - valueMap.put("발송일자", FormatMaker.yyyy_mm_dd(format, "EXTRI_REGYMD").style(dateYMD)); - valueMap.put("접수일자", FormatMaker.yyyy_mm_dd(format, "RCEPT_YMD").style(dateYMD)); - valueMap.put("취급구분", format.of("DIV_KB_NM").style(center)); - valueMap.put("발송건수", format.of("RCEPT_CNT").style(numeric)); - valueMap.put("결제금액", format.of("RCEPT_AMT").style(numeric)); - valueMap.put("제작수수료", format.of("USEFEE_AMT").style(numeric)); - valueMap.put("우편요금", format.of("TOTPOST_PRC").style(numeric)); - valueMap.put("등록일시", FormatMaker.yyyy_mm_dd_hh_mm_ss(format, "REG_DT").style(dateDT)); - valueMap.put("등록사용자", format.of("RGTR_NM").style(center)); - - CellDef.setValues(cellDefs, valueMap); - - xlsx.cell(0, 0).value("우편통합 접수결과").value(center).merge(0, cellDefs.size() - 1) - .cell(3, 0).rowValues(CellDef.header(cellDefs, () -> StyleMaker.headerStyle(xlsx))) - .cell(4, 0).values(list, CellDef.values(cellDefs.stream().map(i -> {if(i.getValue() instanceof Format) {i.setField(null);}; return i;}).toList())); - - return new ModelAndView("downloadView") - .addObject("download", xlsx.getDownloadable().setFilename("우편통합접수결과" + "_목록_" + dateTime + ".xlsx")); - } - } - - /**전자우편 접수 결과의 합계 건수, 금액을 조회하여 반환한다. - * @param req 전자우편 접수 결과 조회 조건 - * @return 합계 건수, 금액 정보 - *
     {
    -	 *     "crdnPayer": {...}
    -	 * }
    - */ - @Task - @RequestMapping(name="전자우편 접수 결과 합계 금액 조회", value=METHOD_URL.getEpostReceiptResultSumAmount) - public ModelAndView getEpostReceiptResultSumAmount(EpostQuery req) { - List sumAmt = epostRcptRsltService.getEpostRcptRsltSum(req); - - return new ModelAndView("jsonView") - .addObject("sumAmt", sumAmt) // 합계 정보 - ; - } - -} diff --git a/src/main/java/cokr/xit/fims/excl/CrdnReReg.java b/src/main/java/cokr/xit/fims/excl/CrdnReReg.java deleted file mode 100644 index 11fd9c3c..00000000 --- a/src/main/java/cokr/xit/fims/excl/CrdnReReg.java +++ /dev/null @@ -1,68 +0,0 @@ -package cokr.xit.fims.excl; - -import cokr.xit.foundation.AbstractEntity; -import lombok.Getter; -import lombok.Setter; - -/** - * 단속 재등록 대장 - * @author JoJH - */ -@Getter -@Setter -public class CrdnReReg extends AbstractEntity { - - public static String INF_TYPE = "100"; // 단속 사진 - - /** - * 재등록 ID - */ - private String reRegId; - - /** - * 이전 단속 ID - */ - private String bfrCrdnId; - - /** - * 단속 ID - */ - private String crdnId; - - /** - * 재등록 일자 - */ - private String reRegYmd; - - /** - * 단속 등록 구분 코드 - */ - private String crdnRegSeCd; - - /** - * 기타 내용 - */ - private String etcCn; - - /** - * 삭제 여부 - */ - private String delYn; - - /** - * 삭제 사유 - */ - private String delRsn; - - // 추가 ///////////////////////////////////////////////////////////////////// - /** - * 재등록 Ids - */ - private String[] reRegIds; - - /** - * 시군구 코드 - */ - private String sggCd; - -} diff --git a/src/main/java/cokr/xit/fims/excl/LevyExcl.java b/src/main/java/cokr/xit/fims/excl/LevyExcl.java deleted file mode 100644 index 3a38adfa..00000000 --- a/src/main/java/cokr/xit/fims/excl/LevyExcl.java +++ /dev/null @@ -1,66 +0,0 @@ -package cokr.xit.fims.excl; - -import cokr.xit.foundation.AbstractEntity; -import lombok.Getter; -import lombok.Setter; - -/** - * 부과 제외 대장 - * @author JoJH - */ -@Getter -@Setter -public class LevyExcl extends AbstractEntity { - - /** - * 부과 제외 ID - */ - private String levyExclId; - - /** - * 단속 ID - */ - private String crdnId; - - /** - * 부과 제외 일자 - */ - private String levyExclYmd; - - /** - * 부과 제외 구분 코드 - */ - private String levyExclSeCd; - - /** - * 부과 제외 사유 코드 - */ - private String levyExclRsnCd; - - /** - * 기타 내용 - */ - private String etcCn; - - /** - * 삭제 여부 - */ - private String delYn; - - /** - * 삭제 사유 - */ - private String delRsn; - - // 추가 ///////////////////////////////////////////////////////////////////// - /** - * 부과제외 Ids - */ - private String[] levyExclIds; - - /** - * 시군구 코드 - */ - private String sggCd; - -} diff --git a/src/main/java/cokr/xit/fims/excl/LevyExclQuery.java b/src/main/java/cokr/xit/fims/excl/LevyExclQuery.java deleted file mode 100644 index 01c57664..00000000 --- a/src/main/java/cokr/xit/fims/excl/LevyExclQuery.java +++ /dev/null @@ -1,375 +0,0 @@ -package cokr.xit.fims.excl; - -import cokr.xit.fims.cmmn.CmmnQuery; - -/**부과제외 대장 정보 조회 요청 -* -*

    상세 설명: -* -*

    -* ============ 변경 이력 ============
    -* 2023-06-23	JoJH 최초 작성
    -* ================================
    -* 
    -*/ -public class LevyExclQuery extends CmmnQuery { - - private static final long serialVersionUID = 1L; - - // ID - private String crdnId; // 단속 ID - private String[] levyExclIds; // 부과제외 Ids - private String levyExclId; // 부과제외 ID - private String[] opnnIds; // 의견제출 Ids - private String opnnId; // 의견제출 ID - private String mngId; // 의견제출 심의 회원 ID - private String[] reRegIds; // 재등록 Ids - private String reRegId; // 재등록 ID - - // 검색 조건 - private String schLevyExclYmdFrom; // 부과제외_부과제외 일자 시작 - private String schLevyExclYmdTo; // 부과제외_부과제외 일자 종료 - private String schLevyExclSeCd; // 부과제외_부과제외 구분 코드 - private String schLevyExclRsnCd; // 부과제외_부과제외 구분 코드 - private String schRcptYmdFrom; // 의견제출_접수 일자 시작 - private String schRcptYmdTo; // 의견제출_접수 일자 종료 - private String schAnsYmdFrom; // 의견제출_답변 일자 시작 - private String schAnsYmdTo; // 의견제출_답변 일자 종료 - private String schOpnnSbmsnSttsCd; // 의견제출_의견 제출 상태 코드 - private String schOpnnSbmsnSeCd; // 의견제출_의견 제출 구분 코드 - private String schSttrNm; // 의견제출_진술자 명 - private String schReRegYmdFrom; // 단속재등록_재등록 일자 시작 - private String schReRegYmdTo; // 단속재등록_재등록 일자 종료 - private String schCrdnYmdFrom; // 단속(TB_CRDN)_단속 일자 시작 - private String schCrdnYmdTo; // 단속(TB_CRDN)_단속 일자 종료 - private String schVhrno; // 단속(TB_CRDN)_차량번호 - private String schRtpyrNo; // 납부자(TB_PAYER)_납부자 번호 - private String schRtpyrNm; // 납부자(TB_PAYER)_납부자 명 - // 상세 검색 조건 - - // 동적 검색 조건 - private String levyExclSeCd; // 부과제외_부과 제외 구분 코드 - private String levyExclSeNm; // 부과제외_부과 제외 구분 명 - private String vhrno; // 단속(TB_CRDN)_차량번호 - private String rtpyrNm; // 납부자(TB_PAYER)_납부자 명 - // ETC - private String callPurpose; // infoDialog 호출 용도(view 조회(편집불가), create 등록, update 수정, refresh 재조회). - private String delRsn; // 삭제 사유 - private String ansRsnCd; // 민원 답변 문구(TB_CVLCPT_ANS_WORDS) - 답변 사유 코드 - private String sndngRcvmtCd; // 발송 수납 코드 - - public String getCrdnId() { - return ifEmpty(crdnId, () -> null); - } - - public T setCrdnId(String crdnId) { - this.crdnId = crdnId; - return self(); - } - - public String[] getLevyExclIds() { - return ifEmpty(levyExclIds, () -> null); - } - - public T setLevyExclIds(String... levyExclIds) { - this.levyExclIds = levyExclIds; - return self(); - } - - public String getLevyExclId() { - return ifEmpty(levyExclId, () -> null); - } - - public T setLevyExclId(String levyExclId) { - this.levyExclId = levyExclId; - return self(); - } - - public String[] getOpnnIds() { - return ifEmpty(opnnIds, () -> null); - } - - public T setOpnnIds(String... opnnIds) { - this.opnnIds = opnnIds; - return self(); - } - - public String getOpnnId() { - return ifEmpty(opnnId, () -> null); - } - - public T setOpnnId(String opnnId) { - this.opnnId = opnnId; - return self(); - } - - public String getMngId() { - return ifEmpty(mngId, () -> null); - } - - public T setMngId(String mngId) { - this.mngId = mngId; - return self(); - } - - public String[] getReRegIds() { - return ifEmpty(reRegIds, () -> null); - } - - public T setReRegIds(String... reRegIds) { - this.reRegIds = reRegIds; - return self(); - } - - public String getReRegId() { - return ifEmpty(reRegId, () -> null); - } - - public T setReRegId(String reRegId) { - this.reRegId = reRegId; - return self(); - } - - public String getSchLevyExclYmdFrom() { - return ifEmpty(schLevyExclYmdFrom, () -> null); - } - - public T setSchLevyExclYmdFrom(String schLevyExclYmdFrom) { - this.schLevyExclYmdFrom = schLevyExclYmdFrom; - return self(); - } - - public String getSchLevyExclYmdTo() { - return ifEmpty(schLevyExclYmdTo, () -> null); - } - - public T setSchLevyExclYmdTo(String schLevyExclYmdTo) { - this.schLevyExclYmdTo = schLevyExclYmdTo; - return self(); - } - - public String getSchLevyExclSeCd() { - return ifEmpty(schLevyExclSeCd, () -> null); - } - - public T setSchLevyExclSeCd(String schLevyExclSeCd) { - this.schLevyExclSeCd = schLevyExclSeCd; - return self(); - } - - public String getSchLevyExclRsnCd() { - return ifEmpty(schLevyExclRsnCd, () -> null); - } - - public T setSchLevyExclRsnCd(String schLevyExclRsnCd) { - this.schLevyExclRsnCd = schLevyExclRsnCd; - return self(); - } - - public String getSchRcptYmdFrom() { - return ifEmpty(schRcptYmdFrom, () -> null); - } - - public T setSchRcptYmdFrom(String schRcptYmdFrom) { - this.schRcptYmdFrom = schRcptYmdFrom; - return self(); - } - - public String getSchRcptYmdTo() { - return ifEmpty(schRcptYmdTo, () -> null); - } - - public T setSchRcptYmdTo(String schRcptYmdTo) { - this.schRcptYmdTo = schRcptYmdTo; - return self(); - } - - public String getSchAnsYmdFrom() { - return ifEmpty(schAnsYmdFrom, () -> null); - } - - public T setSchAnsYmdFrom(String schAnsYmdFrom) { - this.schAnsYmdFrom = schAnsYmdFrom; - return self(); - } - - public String getSchAnsYmdTo() { - return ifEmpty(schAnsYmdTo, () -> null); - } - - public T setSchAnsYmdTo(String schAnsYmdTo) { - this.schAnsYmdTo = schAnsYmdTo; - return self(); - } - - public String getSchOpnnSbmsnSttsCd() { - return ifEmpty(schOpnnSbmsnSttsCd, () -> null); - } - - public T setSchOpnnSbmsnSttsCd(String schOpnnSbmsnSttsCd) { - this.schOpnnSbmsnSttsCd = schOpnnSbmsnSttsCd; - return self(); - } - - public String getSchOpnnSbmsnSeCd() { - return ifEmpty(schOpnnSbmsnSeCd, () -> null); - } - - public T setSchOpnnSbmsnSeCd(String schOpnnSbmsnSeCd) { - this.schOpnnSbmsnSeCd = schOpnnSbmsnSeCd; - return self(); - } - - public String getSchSttrNm() { - return ifEmpty(schSttrNm, () -> null); - } - - public T setSchSttrNm(String schSttrNm) { - this.schSttrNm = schSttrNm; - return self(); - } - - public String getSchReRegYmdFrom() { - return ifEmpty(schReRegYmdFrom, () -> null); - } - - public T setSchReRegYmdFrom(String schReRegYmdFrom) { - this.schReRegYmdFrom = schReRegYmdFrom; - return self(); - } - - public String getSchReRegYmdTo() { - return ifEmpty(schReRegYmdTo, () -> null); - } - - public T setSchReRegYmdTo(String schReRegYmdTo) { - this.schReRegYmdTo = schReRegYmdTo; - return self(); - } - - public String getSchVhrno() { - return ifEmpty(schVhrno, () -> null); - } - - public T setSchVhrno(String schVhrno) { - this.schVhrno = schVhrno; - return self(); - } - - public String getSchRtpyrNo() { - return ifEmpty(schRtpyrNo, () -> null); - } - - public T setSchRtpyrNo(String schRtpyrNo) { - this.schRtpyrNo = schRtpyrNo; - return self(); - } - - public String getSchRtpyrNm() { - return ifEmpty(schRtpyrNm, () -> null); - } - - public T setSchRtpyrNm(String schRtpyrNm) { - this.schRtpyrNm = schRtpyrNm; - return self(); - } - - public String getSchCrdnYmdFrom() { - return ifEmpty(schCrdnYmdFrom, () -> null); - } - - public T setSchCrdnYmdFrom(String schCrdnYmdFrom) { - this.schCrdnYmdFrom = schCrdnYmdFrom; - return self(); - } - - public String getSchCrdnYmdTo() { - return ifEmpty(schCrdnYmdTo, () -> null); - } - - public T setSchCrdnYmdTo(String schCrdnYmdTo) { - this.schCrdnYmdTo = schCrdnYmdTo; - return self(); - } - - // 상세 검색 조건 /////////////////////////////////////////////////////////////// - - // 상세 검색 조건 /////////////////////////////////////////////////////////////// - - // 동적 검색 조건 /////////////////////////////////////////////////////////////// - public String getLevyExclSeNm() { - return ifEmpty(levyExclSeNm, () -> null); - } - - public T setLevyExclSeNm(String levyExclSeNm) { - this.levyExclSeNm = levyExclSeNm; - return self(); - } - - public String getVhrno() { - return ifEmpty(vhrno, () -> null); - } - - public T setVhrno(String vhrno) { - this.vhrno = vhrno; - return self(); - } - - public String getRtpyrNm() { - return ifEmpty(rtpyrNm, () -> null); - } - - public T setRtpyrNm(String rtpyrNm) { - this.rtpyrNm = rtpyrNm; - return self(); - } - - public String getLevyExclSeCd() { - return ifEmpty(levyExclSeCd, () -> null); - } - - public T setLevyExclSeCd(String levyExclSeCd) { - this.levyExclSeCd = levyExclSeCd; - return self(); - } - // 동적 검색 조건 /////////////////////////////////////////////////////////////// - - // ETC ///////////////////////////////////////////////////////////////////// - public String getCallPurpose() { - return ifEmpty(callPurpose, () -> null); - } - - public T setCallPurpose(String callPurpose) { - this.callPurpose = callPurpose; - return self(); - } - - public String getDelRsn() { - return ifEmpty(delRsn, () -> null); - } - - public T setDelRsn(String delRsn) { - this.delRsn = delRsn; - return self(); - } - - public String getAnsRsnCd() { - return ifEmpty(ansRsnCd, () -> null); - } - - public T setAnsRsnCd(String ansRsnCd) { - this.ansRsnCd = ansRsnCd; - return self(); - } - - public String getSndngRcvmtCd() { - return ifEmpty(sndngRcvmtCd, () -> null); - } - - public T setSndngRcvmtCd(String sndngRcvmtCd) { - this.sndngRcvmtCd = sndngRcvmtCd; - return self(); - } - // ETC ///////////////////////////////////////////////////////////////////// - -} diff --git a/src/main/java/cokr/xit/fims/excl/OpnnDlbrMbr.java b/src/main/java/cokr/xit/fims/excl/OpnnDlbrMbr.java deleted file mode 100644 index 97e949f7..00000000 --- a/src/main/java/cokr/xit/fims/excl/OpnnDlbrMbr.java +++ /dev/null @@ -1,100 +0,0 @@ -package cokr.xit.fims.excl; - -import cokr.xit.foundation.AbstractEntity; -import lombok.Getter; -import lombok.Setter; - -/** - * 의견 제출 대장 - * @author JoJH - */ -@Getter -@Setter -public class OpnnDlbrMbr extends AbstractEntity { - - /** - * 관리 ID - */ - private String mngId; - - /** - * 시군구 코드 - */ - private String sggCd; - - /** - * 업무 구분 코드 - */ - private String taskSeCd; - - /** - * 심의 회원 직급1 - */ - private String dlbrMbrJbgd1; - - /** - * 심의 회원 명1 - */ - private String dlbrMbrNm1; - - /** - * 심의 회원 직급2 - */ - private String dlbrMbrJbgd2; - - /** - * 심의 회원 명2 - */ - private String dlbrMbrNm2; - - /** - * 심의 회원 직급3 - */ - private String dlbrMbrJbgd3; - - /** - * 심의 회원 명3 - */ - private String dlbrMbrNm3; - - /** - * 심의 회원 직급4 - */ - private String dlbrMbrJbgd4; - - /** - * 심의 회원 명4 - */ - private String dlbrMbrNm4; - - /** - * 심의 회원 직급5 - */ - private String dlbrMbrJbgd5; - - /** - * 심의 회원 명5 - */ - private String dlbrMbrNm5; - - /** - * 심의 회원 직급6 - */ - private String dlbrMbrJbgd6; - - /** - * 심의 회원 명6 - */ - private String dlbrMbrNm6; - - /** - * 심의 회원 직급7 - */ - private String dlbrMbrJbgd7; - - /** - * 심의 회원 명7 - */ - private String dlbrMbrNm7; - -} diff --git a/src/main/java/cokr/xit/fims/excl/OpnnSbmsn.java b/src/main/java/cokr/xit/fims/excl/OpnnSbmsn.java deleted file mode 100644 index 77fc3ccc..00000000 --- a/src/main/java/cokr/xit/fims/excl/OpnnSbmsn.java +++ /dev/null @@ -1,193 +0,0 @@ -package cokr.xit.fims.excl; - -import cokr.xit.foundation.AbstractEntity; -import lombok.Getter; -import lombok.Setter; - -/** - * 의견 제출 대장 - * @author JoJH - */ -@Getter -@Setter -public class OpnnSbmsn extends AbstractEntity { - - public static String INF_TYPE = "110"; // 의견 진술 첨부파일 - - /** - * 의견 ID - */ - private String opnnId; - - /** - * 단속 ID - */ - private String crdnId; - - /** - * 접수 번호 - */ - private String rcptNo; - - /** - * 접수 일자 - */ - private String rcptYmd; - - /** - * 접수 구분 코드 - */ - private String rcptSeCd; - - /** - * 접수 구분 명 - */ - private String rcptSeNm; - - /** - * 소유주 관계 코드 - */ - private String ownrRelCd; - - /** - * 소유주 관계 명 - */ - private String ownrRelNm; - - /** - * 진술자 명 - */ - private String sttrNm; - - /** - * 진술자 생년월일 - */ - private String sttrBrdt; - - /** - * 진술자 생년월일_형식 - */ - private String sttrBrdtFormat; - - /** - * 진술자 주민등록번호 - */ - private String sttrRrno; - - /** - * 진술자 주소 - */ - private String sttrAddr; - - /** - * 진술자 상세주소 - */ - private String sttrDaddr; - - /** - * 진술자 우편번호 - */ - private String sttrZip; - - /** - * 진술자 연락처 - */ - private String sttrCttpc; - - /** - * 진술자 이메일 - */ - private String sttrEml; - - /** - * 의견 제출 내용 - */ - private String opnnSbmsnCn; - - /** - * 의견 제출 구분 코드 - */ - private String opnnSbmsnSeCd; - - /** - * 의견 제출 요지 - */ - private String opnnSbmsnGist; - - /** - * 문서 번호 - */ - private String docNo; - - /** - * 통보 구분 코드 - */ - private String ntfctnSeCd; - - /** - * 담당자 검토 의견 - */ - private String picRvwOpnn; - - /** - * 답변 내용 - */ - private String ansCn; - - /** - * 답변 일자 - */ - private String ansYmd; - - /** - * 답변 시각 - */ - private String ansTm; - - /** - * 의견 제출 상태 코드 - */ - private String opnnSbmsnSttsCd; - - /** - * 의견 제출 상태 명 - */ - private String opnnSbmsnSttsNm; - - /** - * 삭제 여부 - */ - private String delYn; - - /** - * 삭제 사유 - */ - private String delRsn; - - // 추가 ///////////////////////////////////////////////////////////////////// - /** - * 의견 Ids - */ - private String[] opnnIds; - - /** - * 시군구 코드 - */ - private String sggCd; - - /** - * 단속(TB_CRDN) - 의견 제출 여부 - */ - private String opnnSbmsnYn; - - /** - * 과태료 감경(TB_RDCT) - 감경 사유 코드 - */ - private String rdctRsnCd; - - /** - * 과태료 감경(TB_RDCT) - 감경 금액 - */ - private Integer rdctAmt; - -} diff --git a/src/main/java/cokr/xit/fims/excl/dao/CrdnReRegMapper.java b/src/main/java/cokr/xit/fims/excl/dao/CrdnReRegMapper.java deleted file mode 100644 index 4fba7867..00000000 --- a/src/main/java/cokr/xit/fims/excl/dao/CrdnReRegMapper.java +++ /dev/null @@ -1,61 +0,0 @@ -package cokr.xit.fims.excl.dao; - -import java.util.List; - -import org.egovframe.rte.psl.dataaccess.mapper.Mapper; - -import cokr.xit.fims.excl.CrdnReReg; -import cokr.xit.fims.excl.LevyExclQuery; -import cokr.xit.foundation.component.AbstractMapper; -import cokr.xit.foundation.data.DataObject; - -/** 단속 재등록 정보 DAO - * - *

    상세 설명: 단속 재등록 대장 테이블에 접근하여 데이터를 조회하고 저장한다. - * - *

    - * ============ 변경 이력 ============
    - * 2023-07-03	JoJH 최초 작성
    - * ================================
    - * 
    - */ -@Mapper("crdnReRegMapper") -public interface CrdnReRegMapper extends AbstractMapper { - - /**지정한 조건에 따라 단속 재등록 목록을 조회하여 반환한다. - * @param req 단속 재등록 조회 조건 - * @return 단속 재등록 목록 - */ - List selectCrdnReRegList(LevyExclQuery req); - - /**지정한 조건에 따라 단속 재등록 객체들을 조회하여 반환한다. - * @param req 단속 재등록 조회 조건 - * @return 단속 재등록 객체 목록 - */ - List selectCrdnReRegs(LevyExclQuery req); - - /**지정한 단속 ID로 단속 대장 정보를 반환한다. - * @param crdnId 단속 ID - * @return 단속 대장 정보 - */ - DataObject selectCrdnInfo(String crdnId); - - /**단속 재등록 정보를 등록한다. - * @param params 파라미터 - *
    • "crdnReReg" - 단속 재등록
    • - *
    • "currentUser" - 현재 접속한 사용자
    • - *
    - * @return 저장된 정보수 - */ - int insertCrdnReReg(CrdnReReg crdnReReg); - - /**단속 재등록 정보를 삭제한다. - * @param params 파라미터 - *
    • "crdnReReg" - 단속 재등록
    • - *
    • "currentUser" - 현재 접속한 사용자
    • - *
    - * @return 저장된 정보수 - */ - int deleteCrdnReReg(CrdnReReg crdnReReg); - -} diff --git a/src/main/java/cokr/xit/fims/excl/dao/LevyExclMapper.java b/src/main/java/cokr/xit/fims/excl/dao/LevyExclMapper.java deleted file mode 100644 index 45e1a28b..00000000 --- a/src/main/java/cokr/xit/fims/excl/dao/LevyExclMapper.java +++ /dev/null @@ -1,90 +0,0 @@ -package cokr.xit.fims.excl.dao; - -import java.util.List; - -import org.egovframe.rte.psl.dataaccess.mapper.Mapper; - -import cokr.xit.fims.crdn.Crdn; -import cokr.xit.fims.excl.LevyExcl; -import cokr.xit.fims.excl.LevyExclQuery; -import cokr.xit.foundation.component.AbstractMapper; -import cokr.xit.foundation.data.DataObject; - -/** 부과제외 대장 정보 DAO - * - *

    상세 설명: 부과제외 대장 테이블에 접근하여 데이터를 조회하고 저장한다. - * - *

    - * ============ 변경 이력 ============
    - * 2023-06-23	JoJH 최초 작성
    - * ================================
    - * 
    - */ -@Mapper("levyExclMapper") -public interface LevyExclMapper extends AbstractMapper { - - /**지정한 조건에 따라 부과제외 대장 목록을 조회하여 반환한다. - * @param req 부과제외 대장 조회 조건 - * @return 부과제외 대장 목록 - */ - List selectLevyExclList(LevyExclQuery req); - - /**지정한 조건에 따라 부과제외 대장 객체들을 조회하여 반환한다. - * @param req 부과제외 대장 조회 조건 - * @return 부과제외 대장 객체 정보 - */ - List selectLevyExcls(LevyExclQuery req); - - /**지정한 조건에 따라 부과제외 대장 정보를 조회하여 반환한다. - * @param req 부과제외 대장 조회 조건 - * @return 부과제외 대장 정보 - */ - default DataObject selectLevyExclInfo(LevyExclQuery req) { - // 삭제 여부 확인 - if (req.getDelYn() == null) { - req.setDelYn("N"); - } - // 기본 정렬 - if (req.getOrderBy() == null) { - req.setOrderBy("LE.LEVY_EXCL_ID DESC"); - } - - List levyExcls = selectLevyExcls(req); - - return !levyExcls.isEmpty() ? levyExcls.get(0) : null; - } - - /**부과제외 대장 정보를 등록한다. - * @param params 파라미터 - *
    • "levyExcl" - 부과제외 대장
    • - *
    • "currentUser" - 현재 접속한 사용자
    • - *
    - * @return 저장된 정보수 - */ - int insertLevyExcl(LevyExcl levyExcl); - - /**부과제외 대장 정보를 수정한다. - * @param params 파라미터 - *
    • "levyExcl" - 부과제외 대장
    • - *
    • "currentUser" - 현재 접속한 사용자
    • - *
    - * @return 저장된 정보수 - */ - int updateLevyExcl(LevyExcl levyExcl); - - /**부과제외 대장 정보를 삭제한다. - * @param params 파라미터 - *
    • "levyExcl" - 부과제외 대장
    • - *
    • "currentUser" - 현재 접속한 사용자
    • - *
    - * @return 저장된 정보수 - */ - int deleteLevyExcl(LevyExcl levyExcl); - - /**단속(TB_CRDN) 대장의 주차가능결과코드를 수정한다. - * @param crdn 단속 대장 - * @return 저장된 정보수 - */ - int updatePrkPsbltyRsltCd(Crdn crdn); - -} diff --git a/src/main/java/cokr/xit/fims/excl/dao/OpnnDlbrMbrMapper.java b/src/main/java/cokr/xit/fims/excl/dao/OpnnDlbrMbrMapper.java deleted file mode 100644 index 6c56e8f5..00000000 --- a/src/main/java/cokr/xit/fims/excl/dao/OpnnDlbrMbrMapper.java +++ /dev/null @@ -1,61 +0,0 @@ -package cokr.xit.fims.excl.dao; - -import java.util.List; - -import org.egovframe.rte.psl.dataaccess.mapper.Mapper; - -import cokr.xit.foundation.component.AbstractMapper; -import cokr.xit.foundation.data.DataObject; -import cokr.xit.fims.excl.LevyExclQuery; -import cokr.xit.fims.excl.OpnnDlbrMbr; - -/** 의견제출 심의 회원 정보 DAO - * - *

    상세 설명: - * - *

    - * ============ 변경 이력 ============
    - * 2024-05-17	JoJH 최초 작성
    - * ================================
    - * 
    - */ -@Mapper("opnnDlbrMbrMapper") -public interface OpnnDlbrMbrMapper extends AbstractMapper { - - /**지정한 조건에 따라 의견제출 심의 회원 목록을 조회하여 반환한다. - * @param req 의견제출 대장 조회 조건 - * @return 의견제출 심의 회원 목록 - */ - List selectOpnnDlbrMbrList(LevyExclQuery req); - - /**지정한 조건에 따라 의견제출 심의 회원 객체들을 조회하여 반환한다. - * @param req 의견제출 대장 조회 조건 - * @return 의견제출 심의 회원 객체 목록 - */ - List selectOpnnDlbrMbrs(LevyExclQuery req); - - /**지정한 조건에 따라 의견제출 심의 회원 정보를 조회하여 반환한다. - * @param req 의견제출 대장 조회 조건 - * @return 의견제출 심의 회원 정보 - */ - DataObject selectOpnnDlbrMbrInfo(LevyExclQuery req); - - /**의견제출 심의 회원 정보를 등록한다. - * @param params 파라미터 - *
    • "opnnDlbrMbr" - 의견제출 심의 회원
    • - *
    • "currentUser" - 현재 접속한 사용자
    • - *
    - * @return 저장된 정보수 - */ - int insertOpnnDlbrMbr(OpnnDlbrMbr opnnDlbrMbr); - - /**의견제출 심의 회원 정보를 수정한다. - * @param params 파라미터 - *
    • "opnnDlbrMbr" - 의견제출 심의 회원
    • - *
    • "currentUser" - 현재 접속한 사용자
    • - *
    - * @return 저장된 정보수 - */ - int updateOpnnDlbrMbr(OpnnDlbrMbr opnnDlbrMbr); - -} diff --git a/src/main/java/cokr/xit/fims/excl/dao/OpnnSbmsnMapper.java b/src/main/java/cokr/xit/fims/excl/dao/OpnnSbmsnMapper.java deleted file mode 100644 index 638b3782..00000000 --- a/src/main/java/cokr/xit/fims/excl/dao/OpnnSbmsnMapper.java +++ /dev/null @@ -1,108 +0,0 @@ -package cokr.xit.fims.excl.dao; - -import java.util.List; - -import org.egovframe.rte.psl.dataaccess.mapper.Mapper; - -import cokr.xit.fims.excl.OpnnSbmsn; -import cokr.xit.fims.crdn.Crdn; -import cokr.xit.fims.excl.LevyExclQuery; -import cokr.xit.foundation.component.AbstractMapper; -import cokr.xit.foundation.data.DataObject; - -/** 의견제출 대장 정보 DAO - * - *

    상세 설명: 의견제출 대장 테이블에 접근하여 데이터를 조회하고 저장한다. - * - *

    - * ============ 변경 이력 ============
    - * 2023-06-27	JoJH 최초 작성
    - * ================================
    - * 
    - */ -@Mapper("opnnSbmsnMapper") -public interface OpnnSbmsnMapper extends AbstractMapper { - - /**지정한 조건에 따라 의견제출 대장 목록을 조회하여 반환한다. - * @param req 의견제출 대장 조회 조건 - * @return 의견제출 대장 목록 - */ - List selectOpnnSbmsnList(LevyExclQuery req); - - /**지정한 조건에 따라 의견제출 대장 객체들을 조회하여 반환한다. - * @param req 의견제출 대장 조회 조건 - * @return 의견제출 대장 객체 목록 - */ - List selectOpnnSbmsns(LevyExclQuery req); - - /**지정한 조건에 따라 의견제출 대장 정보를 조회하여 반환한다. - * @param req 의견제출 대장 조회 조건 - * @return 의견제출 대장 객체 - */ - default DataObject selectOpnnSbmsnInfo(LevyExclQuery req) { - // 삭제 여부 확인 - if (req.getDelYn() == null) { - req.setDelYn("N"); - } - // 기본 정렬 - if (req.getOrderBy() == null) { - req.setOrderBy("OS.OPNN_ID DESC"); - } - - List opnnSbmsns = selectOpnnSbmsns(req); - - return !opnnSbmsns.isEmpty() ? opnnSbmsns.get(0) : null; - } - - /**지정한 조건에 따라 의견제출 심의의결서 목록을 조회하여 반환한다. - * @param opnnId 의견제출 ID - * @return 의견제출 대장 객체 - */ - List selectOpnnSbmsnDlbrDecsns(LevyExclQuery req); - - /**의견제출 대장 정보를 등록한다. - * @param params 파라미터 - *
    • "opnnSbmsn" - 의견제출 대장
    • - *
    • "currentUser" - 현재 접속한 사용자
    • - *
    - * @return 저장된 정보수 - */ - int insertOpnnSbmsn(OpnnSbmsn opnnSbmsn); - - /**의견제출 대장 정보를 수정한다. - * @param params 파라미터 - *
    • "opnnSbmsn" - 의견제출 대장
    • - *
    • "currentUser" - 현재 접속한 사용자
    • - *
    - * @return 저장된 정보수 - */ - int updateOpnnSbmsn(OpnnSbmsn opnnSbmsn); - - /**의견제출 대장 심의 정보를 수정한다. - * @param params 파라미터 - *
    • "opnnSbmsn" - 의견제출 대장
    • - *
    • "currentUser" - 현재 접속한 사용자
    • - *
    - * @return 저장된 정보수 - */ - int updateOpnnSbmsnAnswer(OpnnSbmsn opnnSbmsn); - - /**지정한 의견제출 대장을 삭제한다. - * @param params 파라미터 - *
    • "opnnSbmsn" - 의견제출 대장
    • - *
    • "currentUser" - 현재 접속한 사용자
    • - *
    - * @return 저장된 정보수 - */ - int deleteOpnnSbmsn(OpnnSbmsn opnnSbmsn); - - /**단속 대장 정보를 수정한다. - * @param params 파라미터 - *
    • "crdn" - 단속 대장
    • - *
    • "currentUser" - 현재 접속한 사용자
    • - *
    - * @return 저장된 정보수 - */ - int updateCrdnOpnnSbmsnYn(Crdn crdn); - -} diff --git a/src/main/java/cokr/xit/fims/excl/service/CrdnReRegService.java b/src/main/java/cokr/xit/fims/excl/service/CrdnReRegService.java deleted file mode 100644 index ed04537e..00000000 --- a/src/main/java/cokr/xit/fims/excl/service/CrdnReRegService.java +++ /dev/null @@ -1,42 +0,0 @@ -package cokr.xit.fims.excl.service; - -import java.util.List; - -import cokr.xit.fims.excl.CrdnReReg; -import cokr.xit.fims.excl.LevyExclQuery; -import cokr.xit.foundation.data.DataObject; - -/**단속 재등록 관리 서비스 인터페이스. - * - *

    상세 설명: - * - *

    - * ============ 변경 이력 ============
    - * 2023-07-03	JoJH 최초 작성
    - * ================================
    - * 
    - */ -public interface CrdnReRegService { - - /**지정한 조건에 따라 단속 재등록 목록을 조회하여 반환한다. - * @param req 단속 재등록 조회 조건 - * @return 단속 재등록 목록 - */ - List getCrdnReRegList(LevyExclQuery req); - - /**지정한 조건에 따라 단속 재등록 객체들을 반환한다. - * @param req 단속 재등록 조회 조건 - * @return 단속 재등록 객체 목록 - */ - List getCrdnReRegs(LevyExclQuery req); - - /**단속 재등록 정보를 등록한다. - * @param excl03 단속 재등록 - * @return 저장 여부 - *
    • 저장됐으면 true
    • - *
    • 그렇지 않으면 false
    • - *
    - */ - String createCrdnReReg(CrdnReReg crdnReReg); - -} diff --git a/src/main/java/cokr/xit/fims/excl/service/LevyExclService.java b/src/main/java/cokr/xit/fims/excl/service/LevyExclService.java deleted file mode 100644 index c5e1575a..00000000 --- a/src/main/java/cokr/xit/fims/excl/service/LevyExclService.java +++ /dev/null @@ -1,66 +0,0 @@ -package cokr.xit.fims.excl.service; - -import java.util.List; - -import cokr.xit.fims.excl.LevyExcl; -import cokr.xit.fims.excl.LevyExclQuery; -import cokr.xit.foundation.data.DataObject; - -/**부과제외 대장 관리 서비스 인터페이스. - * - *

    상세 설명: - * - *

    - * ============ 변경 이력 ============
    - * 2023-06-23	JoJH 최초 작성
    - * ================================
    - * 
    -*/ -public interface LevyExclService { - - /**지정한 조건에 따라 부과제외 대장 목록을 조회하여 반환한다. - * @param req 부과제외 대장 조회 조건 - * @return 부과제외 대장 목록 - */ - List getLevyExclList(LevyExclQuery req); - - /**지정한 조건에 따라 부과제외 대장 목록을 조회하여 반환한다. - * @param req 부과제외 대장 조회 조건 - * @return 부과제외 대장 목록 - */ - List getLevyExcls(LevyExclQuery req); - - /**지정한 부과제외 ID의 부과제외 정보를 반환한다.
    - * @param levyExclId 부과 제외 ID - * @return 부과제외 정보 - */ - DataObject getLevyExclInfo(LevyExclQuery req); - - /**부과제외 대장 정보를 등록한다. - * @param levyExcl 부과제외 대장 - * @return 저장 여부 - *
    • 저장됐으면 true
    • - *
    • 그렇지 않으면 false
    • - *
    - */ - String createLevyExcl(LevyExcl levyExcl); - - /**부과제외 대장 정보를 수정한다. - * @param levyExcl 부과제외 대장 - * @return 저장 여부 - *
    • 저장됐으면 true
    • - *
    • 그렇지 않으면 false
    • - *
    - */ - String updateLevyExcl(LevyExcl levyExcl); - - /**부과제외 대장 정보를 삭제한다. - * @param levyExcl 부과제외 대장 - * @return 저장 여부 - *
    • 저장됐으면 true
    • - *
    • 그렇지 않으면 false
    • - *
    - */ - String removeLevyExcl(LevyExcl levyExcl); - -} diff --git a/src/main/java/cokr/xit/fims/excl/service/OpnnDlbrMbrService.java b/src/main/java/cokr/xit/fims/excl/service/OpnnDlbrMbrService.java deleted file mode 100644 index 4df95a6e..00000000 --- a/src/main/java/cokr/xit/fims/excl/service/OpnnDlbrMbrService.java +++ /dev/null @@ -1,57 +0,0 @@ -package cokr.xit.fims.excl.service; - -import java.util.List; - -import cokr.xit.foundation.data.DataObject; -import cokr.xit.fims.excl.LevyExclQuery; -import cokr.xit.fims.excl.OpnnDlbrMbr; - -/**의견제출 심의 회원 관리 서비스 인터페이스. - * - *

    상세 설명: - * - *

    - * ============ 변경 이력 ============
    - * 2024-05-17	JoJH 최초 작성
    - * ================================
    - * 
    - */ -public interface OpnnDlbrMbrService { - - /**지정한 조건에 따라 의견제출 심의 회원 목록을 조회하여 반환한다. - * @param req 의견제출 대장 조회 조건 - * @return 의견제출 심의 회원 목록 - */ - List getOpnnDlbrMbrList(LevyExclQuery req); - - /**지정한 조건에 따라 의견제출 심의 회원 객체들을 반환한다. - * @param req 의견제출 대장 조회 조건 - * @return 의견제출 심의 회원 객체 목록 - */ - List getOpnnDlbrMbrs(LevyExclQuery req); - - /**지정한 조건에 따라 의견제출 심의 회원 정보를 반환한다. - * @param req 의견제출 대장 조회 조건 - * @return 의견제출 심의 회원 정보 - */ - DataObject getOpnnDlbrMbrInfo(LevyExclQuery req); - - /**의견제출 심의 회원 정보를 등록한다. - * @param opnnDlbrMbr 의견제출 심의 회원 - * @return 저장 여부 - *
    • 저장됐으면 true
    • - *
    • 그렇지 않으면 false
    • - *
    - */ - String createOpnnDlbrMbr(OpnnDlbrMbr opnnDlbrMbr); - - /**의견제출 심의 회원 정보를 수정한다. - * @param opnnDlbrMbr 의견제출 심의 회원 - * @return 저장 여부 - *
    • 저장됐으면 true
    • - *
    • 그렇지 않으면 false
    • - *
    - */ - String updateOpnnDlbrMbr(OpnnDlbrMbr opnnDlbrMbr); - -} diff --git a/src/main/java/cokr/xit/fims/excl/service/OpnnSbmsnService.java b/src/main/java/cokr/xit/fims/excl/service/OpnnSbmsnService.java deleted file mode 100644 index d926b118..00000000 --- a/src/main/java/cokr/xit/fims/excl/service/OpnnSbmsnService.java +++ /dev/null @@ -1,82 +0,0 @@ -package cokr.xit.fims.excl.service; - -import java.util.List; - -import cokr.xit.base.file.FileInfo; -import cokr.xit.fims.excl.LevyExclQuery; -import cokr.xit.fims.excl.OpnnSbmsn; -import cokr.xit.foundation.data.DataObject; - -/**의견제출 대장 관리 서비스 인터페이스. - * - *

    상세 설명: - * - *

    - * ============ 변경 이력 ============
    - * 2023-06-27	JoJH 최초 작성
    - * ================================
    - * 
    - */ -public interface OpnnSbmsnService { - - /**지정한 조건에 따라 의견제출 대장 목록을 조회하여 반환한다. - * @param req 의견제출 대장 조회 조건 - * @return 의견제출 대장 목록 - */ - List getOpnnSbmsnList(LevyExclQuery req); - - /**지정한 조건에 따라 의견제출 대장 객체들을 반환한다. - * @param req 의견제출 대장 조회 조건 - * @return 의견제출 대장 객체 목록 - */ - List getOpnnSbmsns(LevyExclQuery req); - - /**지정한 조건에 따라 의견제출 정보를 반환한다. - * @param req 의견제출 대장 조회 조건 - * @return 의견제출 정보 - */ - DataObject getOpnnSbmsnInfo(LevyExclQuery req); - - /**지정한 조건에 따라 의견제출 심의 의결서 객체들을 반환한다. - * @param req 의견제출 대장 조회 조건 - * @return 의견제출 정보 - */ - List getOpnnSbmsnDlbrDecsns(LevyExclQuery req); - - /**의견제출 대장 정보를 등록한다. - * @param opnnSbmsn 의견제출 대장 - * @return 저장 여부 - *
    • 저장됐으면 true
    • - *
    • 그렇지 않으면 false
    • - *
    - */ - String createOpnnSbmsn(OpnnSbmsn opnnSbmsn, List fileInfoList); - - /**의견제출 대장 정보를 수정한다. - * @param opnnSbmsn 의견제출 대장 - * @return 저장 여부 - *
    • 저장됐으면 true
    • - *
    • 그렇지 않으면 false
    • - *
    - */ - String updateOpnnSbmsn(OpnnSbmsn opnnSbmsn, List fileInfoList); - - /**의견제출 대장 심의 정보를 수정한다. - * @param opnnSbmsn 의견제출 대장 - * @return 저장 여부 - *
    • 저장됐으면 true
    • - *
    • 그렇지 않으면 false
    • - *
    - */ - String updateOpnnSbmsnAnswer(OpnnSbmsn opnnSbmsn); - - /**의견제출 대장 정보를 삭제한다. - * @param opnnSbmsn 의견제출 대장 - * @return 저장 여부 - *
    • 저장됐으면 true
    • - *
    • 그렇지 않으면 false
    • - *
    - */ - String removeOpnnSbmsn(OpnnSbmsn opnnSbmsn); - -} diff --git a/src/main/java/cokr/xit/fims/excl/service/bean/CrdnReRegBean.java b/src/main/java/cokr/xit/fims/excl/service/bean/CrdnReRegBean.java deleted file mode 100644 index 3e51590f..00000000 --- a/src/main/java/cokr/xit/fims/excl/service/bean/CrdnReRegBean.java +++ /dev/null @@ -1,186 +0,0 @@ -package cokr.xit.fims.excl.service.bean; - -import java.io.File; -import java.text.SimpleDateFormat; -import java.util.ArrayList; -import java.util.List; - -import javax.annotation.Resource; - -import org.springframework.stereotype.Component; - -import cokr.xit.base.file.FileInfo; -import cokr.xit.base.file.service.FileQuery; -import cokr.xit.base.file.service.bean.FileBean; -import cokr.xit.base.file.web.FileInfoFactory; -import cokr.xit.fims.cmmn.CmmnUtil; -import cokr.xit.fims.crdn.Crdn; -import cokr.xit.fims.crdn.service.bean.CrdnBean; -import cokr.xit.fims.excl.CrdnReReg; -import cokr.xit.fims.excl.LevyExclQuery; -import cokr.xit.fims.excl.dao.CrdnReRegMapper; -import cokr.xit.foundation.component.AbstractBean; -import cokr.xit.foundation.data.DataObject; - -/**단속 재등록 정보 관리 Bean - * - *

    상세 설명: 단속 재등록 대장 DAO(CrdnReRegMapper)를 사용해 업무 기능을 구현한 클래스 - * - *

    - * ============ 변경 이력 ============
    - * 2023-07-03	JoJH 최초 작성
    - * ================================
    - * 
    - */ -@Component("crdnReRegBean") -public class CrdnReRegBean extends AbstractBean { - - /** 단속 재등록 정보 DAO */ - @Resource(name = "crdnReRegMapper") - private CrdnReRegMapper crdnReRegMapper; - - /** 파일 정보 Bean */ - @Resource(name = "fileBean") - private FileBean fileBean; - - /** 단속 정보 Bean */ - @Resource(name="crdnBean") - private CrdnBean crdnBean; - - /**지정한 조건에 따라 단속 재등록 목록을 조회하여 반환한다. - * @param req 단속 재등록 조회 조건 - * @return 단속 재등록 목록 - */ - public List getCrdnReRegList(LevyExclQuery req) { - // 삭제 여부 확인 - if (req.getDelYn() == null) { - req.setDelYn("N"); - } - // 정렬 확인 - if (req.getOrderBy() == null) { - if (req.getBy() == null) { - req.setOrderBy("REG_DT"); - } else { - req.setOrderBy(CmmnUtil.convertCamelCaseToSnakeCase(req.getBy())); - } - } - - return crdnReRegMapper.selectCrdnReRegList(req); - } - - /**지정한 조건에 따라 단속 재등록 객체들을 반환한다. - * @param req 단속 재등록 조회 조건 - * @return 단속 재등록 객체 목록 - */ - public List getCrdnReRegs(LevyExclQuery req) { - // 삭제 여부 확인 - if (req.getDelYn() == null) { - req.setDelYn("N"); - } - // 정렬 확인 - if (req.getOrderBy() == null) { - req.setOrderBy("CRR.RE_REG_ID DESC"); - } - - return crdnReRegMapper.selectCrdnReRegs(req); - } - - /**단속 재등록 정보를 등록한다. - * @param crdnReReg 단속 재등록 - * @return 저장 여부 - *
    • 저장됐으면 true
    • - *
    • 그렇지 않으면 false
    • - *
    - */ - public String createCrdnReReg(CrdnReReg crdnReReg) { - // 단속 ID로 단속(TB_CRDN) 정보 조회 - DataObject crdnInfo = crdnReRegMapper.selectCrdnInfo(crdnReReg.getBfrCrdnId()); - - // 단속 ID로 파일(TB_FILE) 정보 조회 - List crdnFileList = fileBean.getFileList(new FileQuery().setInfoType(CrdnReReg.INF_TYPE) - .setInfoKeys(crdnReReg.getBfrCrdnId())); - - // 재등록 단속 파일 정보(TB_FILE) - List fileInfoList = new ArrayList(); - - if (!crdnFileList.isEmpty() && crdnFileList.size() > 0) { - List files = new ArrayList<>(); - - for (int iLoop = 0; iLoop < crdnFileList.size(); iLoop++) { - files.add(new File(crdnFileList.get(iLoop).string("FILE_PATH"))); - } - - fileInfoList = new FileInfoFactory().createFileInfos(null, files); - - // 원본 파일명 - for (int iLoop = 0; iLoop < fileInfoList.size(); iLoop++) { - fileInfoList.get(iLoop).setName(crdnFileList.get(iLoop).string("FILE_NM")); - } - } - - // 현재 날짜 구하기 - SimpleDateFormat dateFormat = new SimpleDateFormat("yyyyMMddHHmmss"); - - // 재등록 단속 정보(TB_CRDN) - Crdn crdn = new Crdn(); - crdn.setSggCd(crdnInfo.string("SGG_CD")); // 시군구 코드 - crdn.setTaskSeCd(crdnInfo.string("TASK_SE_CD")); // 업무 구분 코드 - crdn.setCrdnRegSeCd("03"); // 단속 등록 구분 코드(FIM026) - 재 등록 - crdn.setCrdnInptSeCd(crdnInfo.string("CRDN_INPT_SE_CD")); // 단속 입력 구분 코드 - crdn.setCvlcptLinkYn(crdnInfo.string("CVLCPT_LINK_YN")); // 민원 연계 여부 - crdn.setLinkTblNm(crdnInfo.string("LINK_TBL_NM")); // 연계 테이블 명 - crdn.setLinkId(crdnInfo.string("LINK_ID")); // 연계 ID - crdn.setCrdnYmd(crdnInfo.string("CRDN_YMD")); // 단속 일자 - crdn.setCrdnTm(crdnInfo.string("CRDN_TM")); // 단속 시각 - crdn.setVhrno(crdnInfo.string("VHRNO")); // 차량번호 - crdn.setCrdnStdgNm(crdnInfo.string("CRDN_STDG_NM")); // 단속 법정동 명 - crdn.setCrdnRoadNm(crdnInfo.string("CRDN_ROAD_NM")); // 단속 도로 명 - crdn.setCrdnPlc(crdnInfo.string("CRDN_PLC")); // 단속 장소 - crdn.setVltnId(crdnInfo.string("VLTN_ID")); // 위반 ID - crdn.setVltnCd(crdnInfo.string("VLTN_CD")); // 위반 코드 - crdn.setGpsX(crdnInfo.string("GPS_X")); // GPS X - crdn.setGpsY(crdnInfo.string("GPS_Y")); // GPS Y - crdn.setAtchFileCnt(crdnInfo.number("ATCH_FILE_CNT").intValue()); // 첨부 파일 수 - crdn.setFfnlgCrdnAmt(crdnInfo.number("FFNLG_CRDN_AMT").intValue()); // 과태료 단속 금액 - 초기 값 - crdn.setFfnlgAmt(crdnInfo.number("FFNLG_CRDN_AMT").intValue()); // 과태료 금액 - 초기 값 - crdn.setAdvntceAmt(0); // 사전통지 금액 - 초기 값 - crdn.setOpnnSbmsnYn("N"); // 의견 제출 여부 - crdn.setEtcCn(crdnInfo.string("ETC_CN")); // 기타 내용 - crdn.setCrdnSttsCd("01"); // 단속 상태 코드 - crdn.setCrdnSttsChgDt(dateFormat.format(System.currentTimeMillis())); // 단속 상태 변경 일시 - crdn.setAdtnAmt(0); // 가산 금액 - crdn.setMinusAmt(0); // 감경 금액 - crdn.setRcvmtAmt(0); // 수납 금액 - crdn.setBfrCrdnId(crdnInfo.string("CRDN_ID")); // 이전 단속 ID - crdn.setDelYn("N"); // 삭제 여부 - // TB_CRDN_ADI(단속 부가 정보) - crdn.setCrdnSeCd(crdnInfo.string("CRDN_SE_CD")); // 단속 구분 코드 - crdn.setTeamId(crdnInfo.string("TEAM_ID")); // 조 ID - crdn.setDtlCrdnPlc(crdnInfo.string("DTL_CRDN_PLC")); // 상세 단속 장소 - crdn.setCrdnSpareaCd(crdnInfo.string("CRDN_SPAREA_CD")); // 단속 특별구역 코드 - crdn.setCrdnBgngTm(crdnInfo.string("CRDN_BGNG_TM")); // 단속 시작 시각 - crdn.setCrdnEndTm(crdnInfo.string("CRDN_END_TM")); // 단속 종료 시각 - crdn.setCrdnSn(crdnInfo.string("CRDN_SN")); // 단속 일련번호 - crdn.setMoscX(crdnInfo.string("MOSC_X")); // 모자이크 X - crdn.setMoscY(crdnInfo.string("MOSC_Y")); // 모자이크 Y - crdn.setTowngYn(crdnInfo.string("TOWNG_YN")); // 견인 여부 - - // 단속 대장 입력 - boolean rtnScs = crdnBean.create(null, crdn, fileInfoList); - if (!rtnScs) { - throw new RuntimeException("재부과 등록 중 단속대장 등록에 실패하였습니다."); // 예외를 발생시켜서 DB Rollback - } - - // 재부과 대장 등록 - crdnReReg.setCrdnId(crdn.getCrdnId()); - crdnReReg.setCrdnRegSeCd("03"); - - int rtnNocs = crdnReRegMapper.insertCrdnReReg(crdnReReg); - if (rtnNocs != 1) { - throw new RuntimeException("재부과 대장 등록에 실패하였습니다."); // 예외를 발생시켜서 DB Rollback - } - - return "[S] 작업이 정상 처리 되었습니다."; - } - -} diff --git a/src/main/java/cokr/xit/fims/excl/service/bean/CrdnReRegServiceBean.java b/src/main/java/cokr/xit/fims/excl/service/bean/CrdnReRegServiceBean.java deleted file mode 100644 index 8b13bd7c..00000000 --- a/src/main/java/cokr/xit/fims/excl/service/bean/CrdnReRegServiceBean.java +++ /dev/null @@ -1,47 +0,0 @@ -package cokr.xit.fims.excl.service.bean; - -import java.util.List; - -import javax.annotation.Resource; - -import org.springframework.stereotype.Service; - -import cokr.xit.fims.excl.CrdnReReg; -import cokr.xit.fims.excl.LevyExclQuery; -import cokr.xit.fims.excl.service.CrdnReRegService; -import cokr.xit.foundation.component.AbstractServiceBean; -import cokr.xit.foundation.data.DataObject; - -/** 단속 재등록 서비스 구현체. - * - *

    상세 설명: 단속 재등록 대장 테이블에 접근하여 데이터를 조회하고 저장한다. - * - *

    - * ============ 변경 이력 ============
    - * 2023-07-03	JoJH 최초 작성
    - * ================================
    - * 
    - */ -@Service("crdnReRegService") -public class CrdnReRegServiceBean extends AbstractServiceBean implements CrdnReRegService { - - /** 단속 재등록 정보 Bean */ - @Resource(name = "crdnReRegBean") - private CrdnReRegBean crdnReRegBean; - - @Override - public List getCrdnReRegList(LevyExclQuery req) { - return crdnReRegBean.getCrdnReRegList(req); - } - - @Override - public List getCrdnReRegs(LevyExclQuery req) { - return crdnReRegBean.getCrdnReRegs(req); - } - - @Override - public String createCrdnReReg(CrdnReReg crdnReReg) { - return crdnReRegBean.createCrdnReReg(crdnReReg); - } - -} diff --git a/src/main/java/cokr/xit/fims/excl/service/bean/LevyExclBean.java b/src/main/java/cokr/xit/fims/excl/service/bean/LevyExclBean.java deleted file mode 100644 index 78ddb6f8..00000000 --- a/src/main/java/cokr/xit/fims/excl/service/bean/LevyExclBean.java +++ /dev/null @@ -1,293 +0,0 @@ -package cokr.xit.fims.excl.service.bean; - -import java.util.List; - -import javax.annotation.Resource; - -import org.springframework.stereotype.Component; - -import cokr.xit.fims.cmmn.CmmnUtil; -import cokr.xit.fims.cmmn.CrdnSttsHstry; -import cokr.xit.fims.cmmn.service.bean.CrdnSttsHstryBean; -import cokr.xit.fims.crdn.Crdn; -import cokr.xit.fims.excl.LevyExcl; -import cokr.xit.fims.excl.LevyExclQuery; -import cokr.xit.fims.excl.dao.LevyExclMapper; -import cokr.xit.fims.levy.dao.LevyMapper; -import cokr.xit.fims.rdca.Rdamt; -import cokr.xit.fims.rdca.service.bean.RdamtBean; -import cokr.xit.foundation.component.AbstractBean; -import cokr.xit.foundation.data.DataObject; - -/**부과제외 대장 정보 관리 Bean - * - *

    상세 설명: 부과제외 대장 DAO(Excl01Mapper)를 사용해 업무 기능을 구현한 클래스 - * - *

    - * ============ 변경 이력 ============
    - * 2023-06-23	JoJH 최초 작성
    - * ================================
    - * 
    - */ -@Component("levyExclBean") -public class LevyExclBean extends AbstractBean { - - /** 부과제외 대장 정보 DAO */ - @Resource(name="levyExclMapper") - private LevyExclMapper levyExclMapper; - - /** 단속 상태 이력 정보 Bean */ - @Resource(name="crdnSttsHstryBean") - private CrdnSttsHstryBean crdnSttsHstryBean; - - /** 부과 대장 정보 DAO */ - @Resource(name="levyMapper") - private LevyMapper levyMapper; - - /** 감액 대장 정보 Bean */ - @Resource(name="rdamtBean") - private RdamtBean rdamtBean; - - /**지정한 조건에 따라 부과제외 대장 목록을 조회하여 반환한다. - * @param req 부과제외 조회 조건 - * @return 부과제외 대장 목록 - */ - public List getLevyExclList(LevyExclQuery req) { - // 삭제 여부 확인 - if (req.getDelYn() == null) { - req.setDelYn("N"); - } - // 정렬 확인 - if (req.getOrderBy() == null) { - if (req.getBy() == null) { - req.setOrderBy("REG_DT"); - } else { - req.setOrderBy(CmmnUtil.convertCamelCaseToSnakeCase(req.getBy())); - } - } - - return levyExclMapper.selectLevyExclList(req); - } - - /**지정한 조건에 따라 부과제외 이력 객체들을 반환한다. - * @param req 부과제외 조회 조건 - * @return 부과제외 객체 목록 - */ - public List getLevyExcls(LevyExclQuery req) { - // 삭제 여부 확인 - if (req.getDelYn() == null) { - req.setDelYn("N"); - } - // 정렬 확인 - if (req.getOrderBy() == null) { - req.setOrderBy("LE.LEVY_EXCL_ID DESC"); - } - - return levyExclMapper.selectLevyExcls(req); - } - - /**지정한 부과제외 ID의 부과제외 정보를 반환한다. - * @param req 부과제외 조회 조건 - * @return 부과제외 정보 - */ - public DataObject getLevyExclInfo(LevyExclQuery req) { - DataObject info = levyExclMapper.selectLevyExclInfo(req); - - // 신규 부과제외 등록일 경우 부과제외 구분코드를 입력한다. - if (req.getCallPurpose().equals("create")) { - info.set("LEVY_EXCL_SE_CD", req.getLevyExclSeCd()); - } - - return info; - } - - /**부과제외 대장 정보를 등록한다. - * @param excl 부과제외 대장 - * @return 저장 여부 - *
    • 저장됐으면 true
    • - *
    • 그렇지 않으면 false
    • - *
    - */ - public String createLevyExcl(LevyExcl levyExcl) { - // 변수 선언 - int rtnNocs = -1; // 처리 결과 건수 - String rtnMsg = ""; // 처리 결과 메시지 - - // 단속 ID로 단속, 부과제외 정보 조회 - DataObject levyExclInfo = levyExclMapper.selectLevyExclInfo(new LevyExclQuery().setCrdnId(levyExcl.getCrdnId())); - - // 등록 대상 자료 검증 - if (!levyExclInfo.string("LEVY_EXCL_ID").equals("")) { // 부과제외 ID가 있다면 이미 부과제외 자료가 존재하므로 종료.. - rtnMsg = "[F] 작업중 이미 등록된 부과제외 자료가 존재합니다."; - return rtnMsg; - } - if (!levyExclInfo.string("CVLCPT_LINK_ID").equals("")) { // 민원 ID - if (levyExclInfo.string("CVLCPT_PRCS_CD").equals("00")) { // 민원 처리상태 확인 - rtnMsg = "[F] 작업중 단속 민원 자료가 처리 되지 않았습니다.
    단속 민원 업무를 먼저 처리 하시기 바랍니다."; - return rtnMsg; - } - } - if (levyExcl.getLevyExclSeCd().contains("1,2")) { // 비부과(서손), 계고 - if (levyExclInfo.number("CRDN_STTS_CD").intValue() >= 51) { // 단속상태코드가 부과(51) 보다 크다면, 비부과 또는 계고 등록을 할 수 없다. - rtnMsg = "[F] 작업중 오류가 발생하였습니다.
    현재 자료의 단속상태가 " + levyExclInfo.string("CRDN_STTS_NM") + " 상태 입니다."; - return rtnMsg; - } - } else if (levyExcl.getLevyExclSeCd().equals("3")) { // 부과취소 - if (levyExclInfo.number("CRDN_STTS_CD").intValue() < 51) { // 단속상태코드가 부과(51) 보다 작다면, 전액감액 등록 할 수 없다. - rtnMsg = "[F] 작업중 오류가 발생하였습니다.
    현재 자료의 단속상태가 " + levyExclInfo.string("CRDN_STTS_NM") + " 상태 입니다."; - return rtnMsg; - } - if (levyExclInfo.string("LEVY_ID").equals("")) { // 부과(TB_LEVY) 정보 확인 - rtnMsg = "[F] 작업 중 부과 자료가 존재하지 않습니다.
    비부과로 처리 하시기 바랍니다."; - return rtnMsg; - } - } - - // 부과취소(전액감액)일 경우 부과(TB_LEVY)에 감액금액 입력이 필요.. - if (levyExcl.getLevyExclSeCd().equals("3")) { - // 감액(TB_RDAMT) 등록 - Rdamt rdamt = new Rdamt(); - rdamt.setLevyId(levyExclInfo.string("LEVY_ID")); // 부과 ID - rdamt.setRdamtYmd(levyExcl.getLevyExclYmd()); // 감액 일자 - rdamt.setRdamtSeCd("02"); // 감액 구분 코드 FIM085 - 02:부과취소 - rdamt.setRdamtRsnCd(levyExcl.getLevyExclRsnCd()); // 감액 사유 코드 - - rtnMsg = rdamtBean.createRdamt(rdamt); - if (!rtnMsg.contains("[S]")) { - throw new RuntimeException(rtnMsg.replace("[F]", "")); // 예외를 발생시켜서 DB Rollback - } - } - - // 부과제외(TB_LEVY_EXCL) 대장을 등록한다. - rtnNocs = levyExclMapper.insertLevyExcl(levyExcl); - if (rtnNocs != 1) { - throw new RuntimeException("부과제외 정보 등록에 실패하였습니다."); // 예외를 발생시켜서 DB Rollback - } - - // 표지정보 확인여부가 미확인(0)이면 -> 조회미대상(9) 으로 - if (levyExclInfo.string("PRK_PSBLTY_RSLT_CD").equals("0")) { // 주차 가능 결과 코드(FIM034) - 0: 미확인 - Crdn crdn = new Crdn(); - crdn.setCrdnId(levyExclInfo.string("CRDN_ID")); // 단속 ID - crdn.setPrkPsbltyRsltCd("9"); // 주차 가능 결과 코드(FIM034) 9: 조회미대상 - - rtnNocs = levyExclMapper.updatePrkPsbltyRsltCd(crdn); - if (rtnNocs != 1) { - throw new RuntimeException("부과제외 삭제 작업 중 단속 대장의 표지정보 수정에 실패하였습니다."); // 예외를 발생시켜서 DB Rollback - } - } - - // 단속 상태 이력(TB_CRDN_STTS_HSTRY) 대장에 등록하고, 단속(TB_CRDN) 대장을 수정한다. - String newCrdnSttsCd = ""; // 신규 단속 상태 코드(CRDN_STTS_CD) - if (levyExcl.getLevyExclSeCd().equals("1")) { // 비부과 - newCrdnSttsCd = "81"; // 비부과(서손) - } else if (levyExcl.getLevyExclSeCd().equals("2")) { // 계고 - newCrdnSttsCd = "83"; // 계고 - } else if (levyExcl.getLevyExclSeCd().equals("3")) { // 부과취소(전액감액) - newCrdnSttsCd = "80"; // 부과취소 - } - - // 단속상태이력(TB_CRDN_STTS_HSTRY) - CrdnSttsHstry crdnSttsHstry = new CrdnSttsHstry(); - crdnSttsHstry.setCrdnId(levyExclInfo.string("CRDN_ID")); - crdnSttsHstry.setBfrSttsCd(levyExclInfo.string("CRDN_STTS_CD")); - crdnSttsHstry.setBfrSttsChgDt(levyExclInfo.string("CRDN_STTS_CHG_DT")); - crdnSttsHstry.setCrdnSttsCd(newCrdnSttsCd); - crdnSttsHstry.setTaskDtlId(levyExcl.getLevyExclId()); - - boolean rtnScs = crdnSttsHstryBean.createHstryUpdateCrdnSttsCd(crdnSttsHstry); - if (!rtnScs) { - throw new RuntimeException("부과제외 등록 작업 중 단속상태 변경에 실패하였습니다."); // 예외를 발생시켜서 DB Rollback - } - - return "[S] 작업이 정상 처리 되었습니다."; - } - - /**부과제외 대장 정보를 수정한다. - * @param excl 부과제외 대장 - * @return 저장 여부 - *
    • 저장됐으면 true
    • - *
    • 그렇지 않으면 false
    • - *
    - */ - public String updateLevyExcl(LevyExcl levyExcl) { - // 부과제외(TB_LEVY_EXCL) 대장을 수정한다. - int rtnNocs = levyExclMapper.updateLevyExcl(levyExcl); - if (rtnNocs != 1) { - throw new RuntimeException("부과제외 정보 수정에 실패하였습니다."); // 예외를 발생시켜서 DB Rollback - } - - return "[S] 작업이 정상 처리 되었습니다."; - } - - /**부과제외 대장 정보를 삭제한다. - * @param excl 부과제외 대장 - * @return 저장 여부 - *
    • 저장됐으면 true
    • - *
    • 그렇지 않으면 false
    • - *
    - */ - public String removeLevyExcl(LevyExcl levyExcl) { - // 변수 선언 - int rtnNocs = -1; // 처리 결과 건수 - String rtnMsg = ""; // 처리 결과 메시지 - - // 부과제외(TB_LEVY_EXCL) 정보를 조회한다. - DataObject levyExclInfo = levyExclMapper.selectLevyExclInfo(new LevyExclQuery().setLevyExclId(levyExcl.getLevyExclId())); - - // 삭제 대상 자료 검증 - if (levyExclInfo.string("LEVY_EXCL_ID").equals("")) { - rtnMsg = "[F] 작업 중 오류가 발생하였습니다.
    부과제외 자료가 존재하지 않습니다."; - return rtnMsg; - } - if (levyExclInfo.string("LEVY_EXCL_SE_CD").equals("1") && !levyExclInfo.string("CRDN_STTS_CD").equals("81")) { // 비부과(서손) - rtnMsg = "[F] 작업 중 오류가 발생하였습니다.
    현재 자료의 단속 상태가 " + levyExclInfo.string("CRDN_STTS_NM") + " 이(가) 아닙니다."; - return rtnMsg; - } else if (levyExclInfo.string("LEVY_EXCL_SE_CD").equals("2") && !("83,84").contains(levyExclInfo.string("CRDN_STTS_CD"))) { // 계고 - rtnMsg = "[F] 작업 중 오류가 발생하였습니다.
    현재 자료의 단속 상태가 " + levyExclInfo.string("CRDN_STTS_NM") + " 이(가) 아닙니다."; - return rtnMsg; - } else if (levyExclInfo.string("LEVY_EXCL_SE_CD").equals("3") && !levyExclInfo.string("CRDN_STTS_CD").equals("80")) { // 부과취소 - rtnMsg = "[F] 작업 중 오류가 발생하였습니다.
    현재 자료의 단속 상태가 " + levyExclInfo.string("CRDN_STTS_NM") + " 이(가) 아닙니다."; - return rtnMsg; - } - - // 부과제외(TB_LEVY_EXCL) 대장을 삭제한다. - rtnNocs = levyExclMapper.deleteLevyExcl(levyExcl); - if (rtnNocs != 1) { - throw new RuntimeException("부과제외 정보 삭제에 실패하였습니다."); // 예외를 발생시켜서 DB Rollback - } - - // 단속상태이력(TB_CRDN_STTS_HSTRY) 대장에 부과제외 이력삭제 및 부과제외삭제 이력을 등록한다. - String deltCrdnSttsCd = ""; - if (levyExclInfo.string("CRDN_STTS_CD").equals("80")) { // 임시 - throw new RuntimeException("부과취소는 부과제외 삭제에 실패하였습니다."); // 예외를 발생시켜서 DB Rollback - } else if (levyExclInfo.string("CRDN_STTS_CD").equals("81")) { - deltCrdnSttsCd = "91"; // 비부과(서손) 삭제 - } else if (("83,84").contains(levyExclInfo.string("CRDN_STTS_CD"))) { - deltCrdnSttsCd = "93"; // 계고 삭제 - } - - boolean rtnScs = crdnSttsHstryBean.removeHstryUpdateCrdnSttsCd(levyExclInfo.string("CRDN_ID"), levyExclInfo.string("CRDN_STTS_CD"), deltCrdnSttsCd, levyExcl.getDelRsn(), true); - if (!rtnScs) { - throw new RuntimeException("부과제외 삭제 작업 중 단속상태이력 삭제 및 등록에 실패하였습니다."); // 예외를 발생시켜서 DB Rollback - } - - // 부과제외 구분이 비부과(서손)일 경우 - if (levyExclInfo.string("LEVY_EXCL_SE_CD").equals("1")) { - // 표지정보 확인여부가 조회미대상이면 -> 미확인 으로 - // 혹시 차적조회가 안되었으면? 놔두자 차적조회되면 그 때 표지정보 BJ_Send가 처리할테니 - if (levyExclInfo.string("PRK_PSBLTY_RSLT_CD").equals("9")) { // 주차 가능 결과 코드 - 9 조회 미대상 - Crdn crdn = new Crdn(); - crdn.setCrdnId(levyExclInfo.string("CRDN_ID")); // 단속 ID - crdn.setPrkPsbltyRsltCd("0"); // 주차 가능 결과 코드 - 0 미확인 - - rtnNocs = levyExclMapper.updatePrkPsbltyRsltCd(crdn); - if (rtnNocs != 1) { - throw new RuntimeException("부과제외 삭제 작업 중 단속 대장의 표지정보 수정에 실패하였습니다."); // 예외를 발생시켜서 DB Rollback - } - } - } - - return "[S] 작업이 정상 처리 되었습니다."; - } - -} diff --git a/src/main/java/cokr/xit/fims/excl/service/bean/LevyExclServiceBean.java b/src/main/java/cokr/xit/fims/excl/service/bean/LevyExclServiceBean.java deleted file mode 100644 index f5ed1696..00000000 --- a/src/main/java/cokr/xit/fims/excl/service/bean/LevyExclServiceBean.java +++ /dev/null @@ -1,62 +0,0 @@ -package cokr.xit.fims.excl.service.bean; - -import java.util.List; - -import javax.annotation.Resource; - -import org.springframework.stereotype.Service; - -import cokr.xit.fims.excl.LevyExcl; -import cokr.xit.fims.excl.LevyExclQuery; -import cokr.xit.fims.excl.service.LevyExclService; -import cokr.xit.foundation.component.AbstractServiceBean; -import cokr.xit.foundation.data.DataObject; - -/**부과제외 대장 서비스 구현체. - * - *

    상세 설명: 부과제외 대장 업무 기능을 구현한 클래스 - * - *

    - * ============ 변경 이력 ============
    - * 2023-06-23	JoJH 최초 작성
    - * ================================
    - * 
    -*/ -@Service("levyExclService") -public class LevyExclServiceBean extends AbstractServiceBean implements LevyExclService { - - /* 부과제외 대장 정보 Bean */ - @Resource(name = "levyExclBean") - protected LevyExclBean levyExclBean; - - @Override - public List getLevyExclList(LevyExclQuery req) { - return levyExclBean.getLevyExclList(req); - } - - @Override - public List getLevyExcls(LevyExclQuery req) { - return levyExclBean.getLevyExcls(req); - } - - @Override - public DataObject getLevyExclInfo(LevyExclQuery req) { - return levyExclBean.getLevyExclInfo(req); - } - - @Override - public String createLevyExcl(LevyExcl levyExcl) { - return levyExclBean.createLevyExcl(levyExcl); - } - - @Override - public String updateLevyExcl(LevyExcl levyExcl) { - return levyExclBean.updateLevyExcl(levyExcl); - } - - @Override - public String removeLevyExcl(LevyExcl levyExcl) { - return levyExclBean.removeLevyExcl(levyExcl); - } - -} diff --git a/src/main/java/cokr/xit/fims/excl/service/bean/OpnnDlbrMbrBean.java b/src/main/java/cokr/xit/fims/excl/service/bean/OpnnDlbrMbrBean.java deleted file mode 100644 index 088c2951..00000000 --- a/src/main/java/cokr/xit/fims/excl/service/bean/OpnnDlbrMbrBean.java +++ /dev/null @@ -1,113 +0,0 @@ -package cokr.xit.fims.excl.service.bean; - -import java.util.List; - -import javax.annotation.Resource; - -import org.springframework.stereotype.Component; - -import cokr.xit.foundation.component.AbstractBean; -import cokr.xit.foundation.data.DataObject; -import cokr.xit.fims.cmmn.CmmnUtil; -import cokr.xit.fims.excl.LevyExclQuery; -import cokr.xit.fims.excl.OpnnDlbrMbr; -import cokr.xit.fims.excl.dao.OpnnDlbrMbrMapper; - -/**의견제출 심의 회원 정보 관리 Bean - * - *

    상세 설명: - * - *

    - * ============ 변경 이력 ============
    - * 2024-05-17	JoJH 최초 작성
    - * ================================
    - * 
    - */ -@Component("opnnDlbrMbrBean") -public class OpnnDlbrMbrBean extends AbstractBean { - - /** 의견제출 심의 회원 정보 DAO */ - @Resource(name = "opnnDlbrMbrMapper") - private OpnnDlbrMbrMapper opnnDlbrMbrMapper; - - /**지정한 조건에 따라 의견제출 심의 회원 목록을 조회하여 반환한다. - * @param req 의견제출 대장 조회 조건 - * @return 의견제출 심의 회원 목록 - */ - public List getOpnnDlbrMbrList(LevyExclQuery req) { - // 삭제 여부 확인 - if (req.getDelYn() == null) { - req.setDelYn("N"); - } - // 정렬 확인 - if (req.getOrderBy() == null) { - if (req.getBy() == null) { - req.setOrderBy("REG_DT"); - } else { - req.setOrderBy(CmmnUtil.convertCamelCaseToSnakeCase(req.getBy())); - } - } - - return opnnDlbrMbrMapper.selectOpnnDlbrMbrList(req); - } - - /**지정한 조건에 따라 의견제출 심의 회원 객체들을 반환한다. - * @param req 의견제출 대장 조회 조건 - * @return 의견제출 심의 회원 객체 목록 - */ - public List getOpnnDlbrMbrs(LevyExclQuery req) { - // 삭제 여부 확인 - if (req.getDelYn() == null) { - req.setDelYn("N"); - } - // 정렬 확인 - if (req.getOrderBy() == null) { - req.setOrderBy("REG_DT"); - } - - return opnnDlbrMbrMapper.selectOpnnDlbrMbrs(req); - } - - /**지정한 조건에 따라 의견제출 심의 회원 정보를 반환한다. - * @param req 의견제출 대장 조회 조건 - * @return 의견제출 정보 - */ - public DataObject getOpnnDlbrMbrInfo(LevyExclQuery req) { - return opnnDlbrMbrMapper.selectOpnnDlbrMbrInfo(req); - } - - /**의견제출 심의 회원 정보를 등록한다. - * @param opnnDlbrMbr 의견제출 심의 회원 - * @return 저장 여부 - *
    • 저장됐으면 true
    • - *
    • 그렇지 않으면 false
    • - *
    - */ - public String createOpnnDlbrMbr(OpnnDlbrMbr opnnDlbrMbr) { - // 의견제출 심의 회원 정보를 등록한다. - int rtnNocs = opnnDlbrMbrMapper.insertOpnnDlbrMbr(opnnDlbrMbr); - if (rtnNocs != 1) { - throw new RuntimeException("의견제출 심의의원 등록에 실패하였습니다."); // 예외를 발생시켜서 DB Rollback - } - - return "[S] 작업이 정상 처리 되었습니다."; - } - - /**의견제출 심의 회원 정보를 수정한다. - * @param opnnDlbrMbr 의견제출 심의 회원 - * @return 저장 여부 - *
    • 저장됐으면 true
    • - *
    • 그렇지 않으면 false
    • - *
    - */ - public String updateOpnnDlbrMbr(OpnnDlbrMbr opnnDlbrMbr) { - // 의견제출 심의 회원 정보를 수정한다. - int rtnNocs = opnnDlbrMbrMapper.updateOpnnDlbrMbr(opnnDlbrMbr); - if (rtnNocs != 1) { - throw new RuntimeException("의견제출 심의의원 수정에 실패하였습니다."); // 예외를 발생시켜서 DB Rollback - } - - return "[S] 작업이 정상 처리 되었습니다."; - } - -} diff --git a/src/main/java/cokr/xit/fims/excl/service/bean/OpnnDlbrMbrServiceBean.java b/src/main/java/cokr/xit/fims/excl/service/bean/OpnnDlbrMbrServiceBean.java deleted file mode 100644 index 4c62a8d8..00000000 --- a/src/main/java/cokr/xit/fims/excl/service/bean/OpnnDlbrMbrServiceBean.java +++ /dev/null @@ -1,57 +0,0 @@ -package cokr.xit.fims.excl.service.bean; - -import java.util.List; - -import javax.annotation.Resource; - -import org.springframework.stereotype.Service; - -import cokr.xit.foundation.component.AbstractServiceBean; -import cokr.xit.foundation.data.DataObject; -import cokr.xit.fims.excl.LevyExclQuery; -import cokr.xit.fims.excl.OpnnDlbrMbr; -import cokr.xit.fims.excl.service.OpnnDlbrMbrService; - -/**의견제출 심의 회원 서비스 구현체. - * - *

    상세 설명: - * - *

    - * ============ 변경 이력 ============
    - * 2024-05-17	JoJH 최초 작성
    - * ================================
    - * 
    - */ -@Service("opnnDlbrMbrService") -public class OpnnDlbrMbrServiceBean extends AbstractServiceBean implements OpnnDlbrMbrService { - - /** 의견제출 심의 회원 정보 Bean */ - @Resource(name = "opnnDlbrMbrBean") - private OpnnDlbrMbrBean opnnDlbrMbrBean; - - @Override - public List getOpnnDlbrMbrList(LevyExclQuery req) { - return opnnDlbrMbrBean.getOpnnDlbrMbrList(req); - } - - @Override - public List getOpnnDlbrMbrs(LevyExclQuery req) { - return opnnDlbrMbrBean.getOpnnDlbrMbrs(req); - } - - @Override - public DataObject getOpnnDlbrMbrInfo(LevyExclQuery req) { - return opnnDlbrMbrBean.getOpnnDlbrMbrInfo(req); - } - - @Override - public String createOpnnDlbrMbr(OpnnDlbrMbr opnnDlbrMbr) { - return opnnDlbrMbrBean.createOpnnDlbrMbr(opnnDlbrMbr); - } - - @Override - public String updateOpnnDlbrMbr(OpnnDlbrMbr opnnDlbrMbr) { - return opnnDlbrMbrBean.updateOpnnDlbrMbr(opnnDlbrMbr); - } - -} diff --git a/src/main/java/cokr/xit/fims/excl/service/bean/OpnnSbmsnBean.java b/src/main/java/cokr/xit/fims/excl/service/bean/OpnnSbmsnBean.java deleted file mode 100644 index 2b648d66..00000000 --- a/src/main/java/cokr/xit/fims/excl/service/bean/OpnnSbmsnBean.java +++ /dev/null @@ -1,430 +0,0 @@ -package cokr.xit.fims.excl.service.bean; - -import java.util.List; - -import javax.annotation.Resource; - -import org.springframework.stereotype.Component; - -import cokr.xit.base.file.FileInfo; -import cokr.xit.base.file.service.FileQuery; -import cokr.xit.base.file.service.bean.FileBean; -import cokr.xit.fims.cmmn.CmmnUtil; -import cokr.xit.fims.cmmn.CrdnSttsHstry; -import cokr.xit.fims.cmmn.service.bean.CrdnSttsHstryBean; -import cokr.xit.fims.crdn.Crdn; -import cokr.xit.fims.excl.OpnnSbmsn; -import cokr.xit.fims.excl.LevyExclQuery; -import cokr.xit.fims.excl.dao.OpnnSbmsnMapper; -import cokr.xit.fims.levy.LevyQuery; -import cokr.xit.fims.levy.Rdct; -import cokr.xit.fims.levy.service.bean.RdctBean; -import cokr.xit.foundation.component.AbstractBean; -import cokr.xit.foundation.data.DataObject; - -/**의견제출 대장 정보 관리 Bean - * - *

    상세 설명: 의견제출 대장 DAO(OpnnSbmsnMapper)를 사용해 업무 기능을 구현한 클래스 - * - *

    - * ============ 변경 이력 ============
    - * 2023-06-27	JoJH 최초 작성
    - * ================================
    - * 
    - */ -@Component("opnnSbmsnBean") -public class OpnnSbmsnBean extends AbstractBean { - - /** 의견제출 대장 정보 DAO */ - @Resource(name="opnnSbmsnMapper") - private OpnnSbmsnMapper opnnSbmsnMapper; - - /** 첨부파일 Bean */ - @Resource(name="fileBean") - private FileBean fileBean; - - /** 단속 상태 이력 정보 Bean */ - @Resource(name="crdnSttsHstryBean") - private CrdnSttsHstryBean crdnSttsHstryBean; - - /** 과태료 감경 대장 정보 Bean */ - @Resource(name="rdctBean") - private RdctBean rdctBean; - - /**지정한 조건에 따라 의견제출 대장 목록을 조회하여 반환한다. - * @param req 의견제출 대장 조회 조건 - * @return 의견제출 대장 목록 - */ - public List getOpnnSbmsnList(LevyExclQuery req) { - // 삭제 여부 확인 - if (req.getDelYn() == null) { - req.setDelYn("N"); - } - // 정렬 확인 - if (req.getOrderBy() == null) { - if (req.getBy() == null) { - req.setOrderBy("REG_DT"); - } else { - req.setOrderBy(CmmnUtil.convertCamelCaseToSnakeCase(req.getBy())); - } - } - - return opnnSbmsnMapper.selectOpnnSbmsnList(req); - } - - /**지정한 조건에 따라 의견제출 대장 객체들을 반환한다. - * @param req 의견제출 대장 조회 조건 - * @return 의견제출 대장 객체 목록 - */ - public List getOpnnSbmsns(LevyExclQuery req) { - // 삭제 여부 확인 - if (req.getDelYn() == null) { - req.setDelYn("N"); - } - // 정렬 확인 - if (req.getOrderBy() == null) { - req.setOrderBy("OS.OPNN_ID DESC"); - } - - return opnnSbmsnMapper.selectOpnnSbmsns(req); - } - - /**지정한 조건에 따라 의견제출 정보를 반환한다. - * @param req 의견제출 대장 조회 조건 - * @return 의견제출 정보 - */ - public DataObject getOpnnSbmsnInfo(LevyExclQuery req) { - return opnnSbmsnMapper.selectOpnnSbmsnInfo(req); - } - - /**지정한 조건에 따라 의견제출 심의 의결서 객체들을 반환한다. - * @param req 의견제출 대장 조회 조건 - * @return 의견제출 대장 객체 목록 - */ - public List getOpnnSbmsnDlbrDecsns(LevyExclQuery req) { - // 정렬 확인 - if (req.getOrderBy() == null) { - req.setOrderBy("OS.OPNN_ID DESC"); - } - - return opnnSbmsnMapper.selectOpnnSbmsnDlbrDecsns(req); - } - - /**의견제출 대장 정보를 등록한다. - * @param opnnSbmsn 의견제출 대장 - * @return 저장 여부 - *
    • 저장됐으면 true
    • - *
    • 그렇지 않으면 false
    • - *
    - */ - public String createOpnnSbmsn(OpnnSbmsn opnnSbmsn, List fileInfoList) { - // 변수 선언 - int rtnNocs = -1; // 처리 결과 건수 - String rtnMsg = ""; // 처리 결과 메시지 - - // 단속 ID로 단속, 의견제출 정보 조회 - DataObject crdnOpnnSbmsnInfo = opnnSbmsnMapper.selectOpnnSbmsnInfo(new LevyExclQuery().setCrdnId(opnnSbmsn.getCrdnId())); - - // 의견제출ID가 있다면 이미 자료가 존재하므로 종료.. - if (!crdnOpnnSbmsnInfo.string("OPNN_ID").equals("")) { - rtnMsg = "[F] 작업 중 이미 등록된 자료가 존재합니다."; - return rtnMsg; - } - // 단속 상태 코드가 부과(51) 보다 크다면, 의견제출 등록을 할 수 없다. 종료.. - if (crdnOpnnSbmsnInfo.number("CRDN_STTS_CD").intValue() >= 51) { - rtnMsg = "[F] 작업 중 오류가 발생하였습니다.
    현재 자료의 단속 상태가 " + crdnOpnnSbmsnInfo.string("CRDN_STTS_NM") + " 상태 입니다."; - return rtnMsg; - } - - // 의견제출 대장을 등록한다. - opnnSbmsn.setOpnnSbmsnSttsCd("00"); // 의견 제출 상태 코드 00:접수 - - rtnNocs = opnnSbmsnMapper.insertOpnnSbmsn(opnnSbmsn); // 의견제출 등록 - if (rtnNocs != 1) { - throw new RuntimeException("의견제출 대장 등록에 실패하였습니다."); // 예외를 발생시켜서 DB Rollback - } - - // 의견제출 파일 첨부하기 - if (fileInfoList != null && !fileInfoList.isEmpty()) { - fileInfoList.forEach(fileInfo -> fileInfo.setInfoType(OpnnSbmsn.INF_TYPE).setInfoKey(opnnSbmsn.getOpnnId())); - - fileBean.create(fileInfoList); - } - - // 단속 상태 코드가 사전통보중 이전일때만 단속의 상태를 의견제출 중으로 수정한다. - if (crdnOpnnSbmsnInfo.number("CRDN_STTS_CD").intValue() <= 42) { // 사전통보 완료 - // 단속상태이력(TB_CRDN_STTS_HSTRY) - CrdnSttsHstry crdnSttsHstry = new CrdnSttsHstry(); - crdnSttsHstry.setCrdnId(crdnOpnnSbmsnInfo.string("CRDN_ID")); - crdnSttsHstry.setBfrSttsCd(crdnOpnnSbmsnInfo.string("CRDN_STTS_CD")); - crdnSttsHstry.setBfrSttsChgDt(crdnOpnnSbmsnInfo.string("CRDN_STTS_CHG_DT")); - crdnSttsHstry.setCrdnSttsCd("31"); // 의견제출 접수 - crdnSttsHstry.setTaskDtlId(opnnSbmsn.getOpnnId()); - - // 단속 상태 이력(TB_CRDN_STTS_HSTRY) 대장에 등록한다. - boolean rtnScs = crdnSttsHstryBean.createHstryUpdateCrdnSttsCd(crdnSttsHstry); - if (!rtnScs) { - throw new RuntimeException("의견제출 등록 중 단속대장의 단속상태 수정에 실패하였습니다."); // 예외를 발생시켜서 DB Rollback - } - } - - // 단속 대장(TB_CRDN) 의견제출여부(OPNN_SBMSN_YN) 정보를 수정한다. - Crdn crdn = new Crdn(); - crdn.setCrdnId(crdnOpnnSbmsnInfo.string("CRDN_ID")); - crdn.setOpnnSbmsnYn("Y"); - - rtnNocs = opnnSbmsnMapper.updateCrdnOpnnSbmsnYn(crdn); // 단속 대장 수정 - if (rtnNocs != 1) { - throw new RuntimeException("의견제출 등록 중 단속대장의 의견제출여부 수정에 실패하였습니다."); // 예외를 발생시켜서 DB Rollback - } - - rtnMsg = "[S] 작업이 정상 처리 되었습니다."; - - return rtnMsg; - } - - /**의견제출 대장 정보를 수정한다. - * @param opnnSbmsn 의견제출 대장 - * @return 저장 여부 - *
    • 저장됐으면 true
    • - *
    • 그렇지 않으면 false
    • - *
    - */ - public String updateOpnnSbmsn(OpnnSbmsn opnnSbmsn, List fileInfoList) { - // 의견제출 첨부파일 등록 - if (fileInfoList != null && !fileInfoList.isEmpty()) { - fileInfoList.forEach(fileInfo -> fileInfo.setInfoType(OpnnSbmsn.INF_TYPE) - .setInfoKey(opnnSbmsn.getOpnnId())); - - fileBean.create(fileInfoList); // 파일 등록 - - // 의견제출 ID로 파일(TB_FILE) 정보 조회 - List infoFileList = fileBean.getFileList(new FileQuery().setInfoType(OpnnSbmsn.INF_TYPE) - .setInfoKeys(opnnSbmsn.getOpnnId()) - .setOrderBy("FILE_ID")); - - if (infoFileList != null && infoFileList.size() > 0) { - String[] fileIDs = new String[infoFileList.size()]; - - for (int iLoop = 0; iLoop < infoFileList.size(); iLoop++) { - fileIDs[iLoop] = infoFileList.get(iLoop).string("FILE_ID"); - } - - fileBean.reorder(fileIDs); // 첨부파일 재 정렬 - } - } - - // 의견제출 대장을 수정한다. - int rtnNocs = opnnSbmsnMapper.updateOpnnSbmsn(opnnSbmsn); - if (rtnNocs != 1) { - throw new RuntimeException("의견제출 대장 수정에 실패하였습니다."); // 예외를 발생시켜서 DB Rollback - } - - return "[S] 작업이 정상 처리 되었습니다."; - } - - /**의견제출 대장 심의(답변) 정보를 수정한다. - * @param opnnSbmsn 의견제출 대장 - * @return 저장 여부 - *
    • 저장됐으면 true
    • - *
    • 그렇지 않으면 false
    • - *
    - */ - public String updateOpnnSbmsnAnswer(OpnnSbmsn opnnSbmsn) { - // 변수 선언 - int rtnNocs = -1; // 처리 결과 건수 - String rtnMsg = ""; // 처리 결과 메시지 - - // 의견제출(TB_OPNN_SBMSN) 자료 조회 - DataObject opnnSbmsnInfo = opnnSbmsnMapper.selectOpnnSbmsnInfo(new LevyExclQuery().setOpnnId(opnnSbmsn.getOpnnId())); - // 과태료 감경 대장(TB_RDCT) 자료 조회 - DataObject crdnRdctInfo = rdctBean.getRdctInfo(new LevyQuery().setCrdnId(opnnSbmsn.getCrdnId())); - - // 의견제출 ID가 조회되지 않았다면 종료.. - if (opnnSbmsnInfo.string("OPNN_ID").equals("")) { - rtnMsg = "[F] 작업 중 오류가 발생하였습니다.
    의견제출 자료가 존재하지 않습니다."; - return rtnMsg; - } - // 단속 상태가 수납 또는 취소된 자료를 의견제출 수용할 수 없다. - if (opnnSbmsnInfo.number("CRDN_STTS_CD").intValue() >= 51) { - rtnMsg = "[F] 작업 중 오류가 발생하였습니다.
    단속 상태가 " + opnnSbmsnInfo.string("CRDN_STTS_NM") + " 입니다."; - return rtnMsg; - } - // 과태료 감경 대장에 이미 감경이 등록 되었다면 의견제출 과태료감경(04)을 처리할 수 없다. - if (opnnSbmsn.getOpnnSbmsnSttsCd().equals("04") && !crdnRdctInfo.string("RDCT_ID").equals("")) { - rtnMsg = "[F] 작업 중 오류가 발생하였습니다.
    현재 자료는 과태료 감경이 이미 등록 되었습니다."; - return rtnMsg; - } - - // 의견제출 답변을 수정한다. - rtnNocs = opnnSbmsnMapper.updateOpnnSbmsnAnswer(opnnSbmsn); - if (rtnNocs != 1) { - throw new RuntimeException("의견제출 심의 처리에 실패하였습니다."); // 예외를 발생시켜서 DB Rollback - } - - // 조회된 의견제출상태 코드와 수정 할 의견제출상태 코드가 다르다면.. - if (!opnnSbmsn.getOpnnSbmsnSttsCd().equals(opnnSbmsnInfo.string("OPNN_SBMSN_STTS_CD"))) { - // 의견제출답변결과(OPNN_SBMSN_STTS_CD)가 과태료감경(04) 이라면.. - if (opnnSbmsn.getOpnnSbmsnSttsCd().equals("04")) { - Rdct rdct = new Rdct(); - rdct.setCrdnId(opnnSbmsnInfo.string("CRDN_ID")); - rdct.setRtpyrId(opnnSbmsnInfo.string("RTPYR_ID")); - rdct.setRdctYmd(opnnSbmsn.getAnsYmd()); - rdct.setRdctRsnCd(opnnSbmsn.getRdctRsnCd()); - rdct.setRdctAmt(opnnSbmsn.getRdctAmt()); - rdct.setEtcCn("의견제출 심의 처리에 의한 감경 등록"); - - rtnMsg = rdctBean.createRdct(rdct); - if (!rtnMsg.contains("[S]")) { - throw new RuntimeException("의견제출 심의 처리 중 과태료 감경 등록(수정)에 실패하였습니다."); // 예외를 발생시켜서 DB Rollback - } - } else { - // 의견제출 심의로 인한 과태료 감경 대장인지 확인 - if (crdnRdctInfo != null && crdnRdctInfo.string("RDCT_ETC_CN").contains("의견제출 심의 처리")) { - Rdct rdct = new Rdct(); - rdct.setRdctId(opnnSbmsnInfo.string("RDCT_ID")); - rdct.setDelRsn("의견제출 심의 처리에 의한 감경 삭제"); - - rtnMsg = rdctBean.removeRdct(rdct); - if (!rtnMsg.contains("[S]")) { - throw new RuntimeException("의견제출 심의 처리 중 과태료 감경 등록(수정)에 실패하였습니다."); // 예외를 발생시켜서 DB Rollback - } - } - } - - // 단속 상태 이력(TB_CRDN_STTS_HSTRY) 대장에 등록한다. - String newCrdnSttsCd = ""; // 신규 단속 상태 코드(CRDN_STTS_CD) - - if (opnnSbmsn.getOpnnSbmsnSttsCd().equals("02")) { // 수용 - newCrdnSttsCd = "82"; // 의견제출 수용 - } else if (opnnSbmsn.getOpnnSbmsnSttsCd().equals("01") || opnnSbmsn.getOpnnSbmsnSttsCd().equals("03") - || opnnSbmsn.getOpnnSbmsnSttsCd().equals("04") || opnnSbmsn.getOpnnSbmsnSttsCd().equals("05")) { // 미수용, 자진취하, 과태료감경, 심의제외 - // 단속 상태 이력(TB_CRDN_STTS_HSTRY) 자료 조회 - DataObject infoCrdnSttsHstry = crdnSttsHstryBean.getCrdnSttsHstryInfo(opnnSbmsnInfo.string("CRDN_ID"), "31", "Y"); - - newCrdnSttsCd = infoCrdnSttsHstry.string("BFR_STTS_CD"); // 이전 단속상태코드 유지 - } else if (opnnSbmsn.getOpnnSbmsnSttsCd().equals("06")) { - newCrdnSttsCd = "87"; // 경찰서 이첩 - } else if (opnnSbmsn.getOpnnSbmsnSttsCd().equals("00")) { - newCrdnSttsCd = "31"; - } else { - throw new RuntimeException("의견제출 심의 처리중 지정되지 않은 심의 상태가 입력되었습니다."); // 예외를 발생시켜서 DB Rollback - } - - // 단속상태이력(TB_CRDN_STTS_HSTRY) 변경 - CrdnSttsHstry crdnSttsHstry = new CrdnSttsHstry(); - crdnSttsHstry.setCrdnId(opnnSbmsnInfo.string("CRDN_ID")); - crdnSttsHstry.setBfrSttsCd(opnnSbmsnInfo.string("CRDN_STTS_CD")); - crdnSttsHstry.setBfrSttsChgDt(opnnSbmsnInfo.string("CRDN_STTS_CHG_DT")); - crdnSttsHstry.setCrdnSttsCd(newCrdnSttsCd); - crdnSttsHstry.setTaskDtlId(opnnSbmsn.getOpnnId()); - crdnSttsHstry.setEtcCn("의견제출 심의 처리로 인한 단속상태 변경"); - - boolean rtnScs = crdnSttsHstryBean.createHstryUpdateCrdnSttsCd(crdnSttsHstry); - if (!rtnScs) { - throw new RuntimeException("의견제출 심의(답변) 처리 중 단속대장의 단속상태 수정에 실패하였습니다."); // 예외를 발생시켜서 DB Rollback - } - } - - return "[S] 작업이 정상 처리 되었습니다."; - } - - /**의견제출 대장 정보를 삭제한다. - * @param opnnSbmsn 의견제출 대장 - * @return 저장 여부 - *
    • 저장됐으면 true
    • - *
    • 그렇지 않으면 false
    • - *
    - */ - public String removeOpnnSbmsn(OpnnSbmsn opnnSbmsn) { - // 변수 선언 - int rtnNocs = -1; // 처리 결과 건수 - String rtnMsg = ""; // 처리 결과 메시지 - - // 의견제출(TB_OPNN_SBMSN) 정보를 조회한다. - DataObject opnnSbmsnInfo = opnnSbmsnMapper.selectOpnnSbmsnInfo(new LevyExclQuery().setOpnnId(opnnSbmsn.getOpnnId())); - - // 의견제출 ID가 조회되지 않았다면 종료.. - if (opnnSbmsnInfo.string("OPNN_ID").equals("")) { - rtnMsg = "[F] 작업 중 오류가 발생하였습니다.
    의견제출 자료가 존재하지 않습니다."; - return rtnMsg; - } - // 의견제출 상태 코드(OPNN_SBMSN_STTS_CD) 확인.. - if (!opnnSbmsnInfo.string("OPNN_SBMSN_STTS_CD").equals("00")) { - rtnMsg = "[F] 작업 중 오류가 발생하였습니다.
    현재 자료의 의견제출 상태가 " + opnnSbmsnInfo.string("OPNN_SBMSN_STTS_NM") + " 입니다."; - return rtnMsg; - } - - // 의견제출(TB_OPNN_SBMSN) 대장을 삭제한다. - rtnNocs = opnnSbmsnMapper.deleteOpnnSbmsn(opnnSbmsn); - if (rtnNocs != 1) { - throw new RuntimeException("의견제출 대장 삭제에 실패하였습니다."); // 예외를 발생시켜서 DB Rollback - } - - // 첨부파일 삭제 - String[] deleteFiles = {opnnSbmsn.getOpnnId()}; - fileBean.remove(OpnnSbmsn.INF_TYPE, deleteFiles); - - // 단속상태이력(TB_CRDN_STTS_HSTRY) 대장에 의견제출 이력삭제 및 의견제출삭제 이력을 등록한다. - boolean insertBfrSttsYN = false; - String crdnSttsCd = ""; - String deltCrdnSttsCd = ""; - - if (opnnSbmsnInfo.string("CRDN_STTS_CD").equals("31")) { // 의견진술 접수 - insertBfrSttsYN = true; - crdnSttsCd = opnnSbmsnInfo.string("CRDN_STTS_CD"); - deltCrdnSttsCd = "92"; - } else if (opnnSbmsnInfo.string("CRDN_STTS_CD").equals("82")) { // 의견진술 수용 - insertBfrSttsYN = true; - crdnSttsCd = opnnSbmsnInfo.string("CRDN_STTS_CD"); - deltCrdnSttsCd = "92"; - } else if (opnnSbmsnInfo.string("CRDN_STTS_CD").equals("87")) { // 경찰서 이첩 - insertBfrSttsYN = true; - crdnSttsCd = opnnSbmsnInfo.string("CRDN_STTS_CD"); - deltCrdnSttsCd = "97"; - } else { - insertBfrSttsYN = false; - crdnSttsCd = ""; - deltCrdnSttsCd = "92"; - } - - boolean rtnScs = crdnSttsHstryBean.removeHstryUpdateCrdnSttsCd(opnnSbmsnInfo.string("CRDN_ID"), crdnSttsCd, deltCrdnSttsCd, opnnSbmsn.getDelRsn(), insertBfrSttsYN); - if (!rtnScs) { - throw new RuntimeException("단속상태이력 삭제 및 등록에 실패하였습니다."); // 예외를 발생시켜서 DB Rollback - } - - // 의견제출 심의로 인한 과태료 감경 대장인지 확인 - if (opnnSbmsnInfo.string("OPNN_SBMSN_STTS_CD").equals("04")) { - // 과태료 감경 대장(TB_RDCT) 자료 조회 - DataObject crdnRdctInfo = rdctBean.getRdctInfo(new LevyQuery().setCrdnId(opnnSbmsn.getCrdnId())); - - if (crdnRdctInfo != null && crdnRdctInfo.string("RDCT_ETC_CN").contains("의견제출 심의 처리")) { - Rdct rdct = new Rdct(); - rdct.setRdctId(opnnSbmsnInfo.string("RDCT_ID")); - rdct.setDelRsn("의견제출 심의 처리에 의한 감경 삭제"); - - // 과태료 감경(TB_RDCT) 대장을 삭제한다. - rtnMsg = rdctBean.removeRdct(rdct); - if (!rtnMsg.contains("[S]")) { - throw new RuntimeException("의견제출 심의 처리 중 과태료 감경 등록(수정)에 실패하였습니다."); // 예외를 발생시켜서 DB Rollback - } - } - } - - // 단속 대장(TB_CRDN) 의견제출여부(OPNN_SBMSN_YN) 정보를 수정한다. - Crdn crdn = new Crdn(); - crdn.setCrdnId(opnnSbmsnInfo.string("CRDN_ID")); - crdn.setOpnnSbmsnYn("N"); - - // 단속(TB_CRDN) 대장을 수정한다. - rtnNocs = opnnSbmsnMapper.updateCrdnOpnnSbmsnYn(crdn); - if (rtnNocs != 1) { - throw new RuntimeException("의견제출 삭제 중 단속대장의 의견제출여부 수정에 실패하였습니다."); // 예외를 발생시켜서 DB Rollback - } - - rtnMsg = "[S] 작업이 정상 처리 되었습니다."; - - return rtnMsg; - } - -} diff --git a/src/main/java/cokr/xit/fims/excl/service/bean/OpnnSbmsnServiceBean.java b/src/main/java/cokr/xit/fims/excl/service/bean/OpnnSbmsnServiceBean.java deleted file mode 100644 index 626cae61..00000000 --- a/src/main/java/cokr/xit/fims/excl/service/bean/OpnnSbmsnServiceBean.java +++ /dev/null @@ -1,73 +0,0 @@ -package cokr.xit.fims.excl.service.bean; - -import java.util.List; - -import javax.annotation.Resource; - -import org.springframework.stereotype.Service; - -import cokr.xit.base.file.FileInfo; -import cokr.xit.fims.excl.LevyExclQuery; -import cokr.xit.fims.excl.OpnnSbmsn; -import cokr.xit.fims.excl.service.OpnnSbmsnService; -import cokr.xit.foundation.component.AbstractServiceBean; -import cokr.xit.foundation.data.DataObject; - -/**의견제출 대장 서비스 구현체. - * - *

    상세 설명: 의견제출 대장 업무 기능을 구현한 클래스 - * - *

    - * ============ 변경 이력 ============
    - * 2023-06-27	JoJH 최초 작성
    - * ================================
    - * 
    - */ -@Service("opnnSbmsnService") -public class OpnnSbmsnServiceBean extends AbstractServiceBean implements OpnnSbmsnService { - - /* 의견제출 대장 정보 Bean */ - @Resource(name = "opnnSbmsnBean") - protected OpnnSbmsnBean opnnSbmsnBean; - - @Override - public List getOpnnSbmsnList(LevyExclQuery req) { - return opnnSbmsnBean.getOpnnSbmsnList(req); - } - - @Override - public List getOpnnSbmsns(LevyExclQuery req) { - return opnnSbmsnBean.getOpnnSbmsns(req); - } - - @Override - public DataObject getOpnnSbmsnInfo(LevyExclQuery req) { - return opnnSbmsnBean.getOpnnSbmsnInfo(req); - } - - @Override - public List getOpnnSbmsnDlbrDecsns(LevyExclQuery req) { - return opnnSbmsnBean.getOpnnSbmsnDlbrDecsns(req); - } - - @Override - public String createOpnnSbmsn(OpnnSbmsn opnnSbmsn, List fileInfoList) { - return opnnSbmsnBean.createOpnnSbmsn(opnnSbmsn, fileInfoList); - } - - @Override - public String updateOpnnSbmsn(OpnnSbmsn opnnSbmsn, List fileInfoList) { - return opnnSbmsnBean.updateOpnnSbmsn(opnnSbmsn, fileInfoList); - } - - @Override - public String updateOpnnSbmsnAnswer(OpnnSbmsn opnnSbmsn) { - return opnnSbmsnBean.updateOpnnSbmsnAnswer(opnnSbmsn); - } - - @Override - public String removeOpnnSbmsn(OpnnSbmsn opnnSbmsn) { - return opnnSbmsnBean.removeOpnnSbmsn(opnnSbmsn); - } - -} diff --git a/src/main/java/cokr/xit/fims/excl/web/Excl01Controller.java b/src/main/java/cokr/xit/fims/excl/web/Excl01Controller.java deleted file mode 100644 index df69ff31..00000000 --- a/src/main/java/cokr/xit/fims/excl/web/Excl01Controller.java +++ /dev/null @@ -1,304 +0,0 @@ -package cokr.xit.fims.excl.web; - -import java.text.SimpleDateFormat; -import java.util.HashMap; -import java.util.List; -import java.util.Map; - -import javax.annotation.Resource; -import javax.servlet.http.HttpServletRequest; - -import org.apache.poi.ss.usermodel.CellStyle; -import org.springframework.stereotype.Controller; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.servlet.ModelAndView; - -import cokr.xit.base.code.CommonCode; -import cokr.xit.base.docs.xls.CellDef; -import cokr.xit.base.docs.xls.Format; -import cokr.xit.base.docs.xls.Style; -import cokr.xit.base.docs.xls.XLSWriter; -import cokr.xit.base.web.ApplicationController; -import cokr.xit.fims.base.FimsUser; -import cokr.xit.fims.cmmn.service.bean.StngBean; -import cokr.xit.fims.cmmn.xls.FormatMaker; -import cokr.xit.fims.cmmn.xls.StyleMaker; -import cokr.xit.fims.excl.LevyExcl; -import cokr.xit.fims.excl.LevyExclQuery; -import cokr.xit.fims.excl.service.LevyExclService; -import cokr.xit.fims.task.Task; -import cokr.xit.foundation.data.DataObject; - -/**부과제외 대장 서비스의 웹 컨트롤러 - * - *

    상세 설명: - * - *

    - * ============ 변경 이력 ============
    - * 2023-06-23	JoJH 최초 작성
    - * ================================
    - * 
    - */ -@Controller -@RequestMapping(name = "부과제외 관리", value=Excl01Controller.CLASS_URL) -public class Excl01Controller extends ApplicationController { - - public static final String CLASS_URL = "/excl/excl01"; - - public class METHOD_URL { - public static final String - levyExclusionMain = "/010/main.do" // 부과 제외 관리 메인 화면 - , getLevyExclusionList = "/010/list.do" // 부과 제외 대장 목록 조회 - , removeLevyExclusion = "/010/remove.do" // 부과 제외 대장 삭제 - , getLevyExclusionInfo = "/020/info.do" // 부과 제외 대장 상세 조회 - , createLevyExclusion = "/020/create.do" // 부과 제외 대장 등록 - , updateLevyExclusion = "/020/update.do" // 부과 제외 대장 수정 - ; - } - - /**부과제외 대장 서비스*/ - @Resource(name = "levyExclService") - protected LevyExclService levyExclService; - - /**설정 정보 Bean */ - @Resource(name = "stngBean") - private StngBean stngBean; - - /**부과제외 관리 메인화면(fims/excl/excl01/010-main)을 연다. - * - * @return /fims/excl/excl01010 - */ - @RequestMapping(name = "부과제외 관리 메인", value=METHOD_URL.levyExclusionMain) - public ModelAndView levyExclusionMain() { - ModelAndView mav = new ModelAndView("fims/excl/excl01010-main"); - - // 사용자 정보 - FimsUser fimsUser = (FimsUser)currentUser().getUser(); - - // View(jsp)에서 사용할 공통코드를 조회 - Map> commonCodes = getCodesOf("FIM021", "FIM022", "FIM054"); - - addCodes(commonCodes, mav, "FIM021", "FIM022"); - - return mav - .addObject("pageName", "excl01010") // View(jsp)에서 사용할 id 뒤에 붙일 suffix - .addObject("infoPrefix", "levyExcl") // prefix - .addObject("infoPrefixUrl", CLASS_URL) // prefixUrl - .addObject("sggCd", fimsUser.getOrgID()) // 시군구 코드(SGG_CD) - .addObject("taskListForSgg", stngBean.filterTaskSectionCodeForSgg(commonCodes.get("FIM054"))) // 업무 구분 코드(TASK_SE_CD) - .addObject("FIM021List", commonCodes.get("FIM021")) // 부과 제외 구분 코드(LEVY_EXCL_SE_CD) - .addObject("FIM022List", commonCodes.get("FIM022")) // 부과 제외 사유 코드(LEVY_EXCL_RSN_CD) - ; - } - - /**부과제외 대장 목록을 조회하여 반환한다. - * {@link LevyExclService#getLevyExclList(LevyExclQuery)} 참고 - * @param req 부과제외 대장 조회 조건 - * @return jsonView - *
     {
    -	 *     "levyExclList": [부과제외 대장 목록]
    -	 *     "levyExclStart": 부과제외 대장 목록 시작 인덱스
    -	 *     "levyExclFetch": 한 번에 가져오는 부과제외 대장 목록 수
    -	 *     "levyExclTotal": 조회 결과 찾은 전체 부과제외 대장 수
    -	 * }
    - */ - @Task - @RequestMapping(name = "부과제외 대장 목록 조회", value=METHOD_URL.getLevyExclusionList) - public ModelAndView getLevyExclusionList(LevyExclQuery req) { - if (!"xls".equals(req.getDownload())) { - List result = levyExclService.getLevyExclList(setFetchSize(req)); - return setCollectionInfo(new ModelAndView("jsonView"), result, "levyExcl"); - } else { - // 현재 날짜 구하기 - SimpleDateFormat dateFormat = new SimpleDateFormat("yyyyMMddHHmmss"); - String dateTime = dateFormat.format(System.currentTimeMillis()); - - List cellDefs = fromJson(req.getCellDefs(), CellDef.listType()); - - XLSWriter xlsx = new XLSWriter().worksheet(0); - Format format = new Format(xlsx); - CellStyle center = format.cellStyle(Style.CENTER); -// CellStyle left = format.cellStyle(Style.LEFT); - CellStyle numeric = format.n_nn0(); - CellStyle dateYMD = format.yyyy_mm_dd(); - CellStyle dateDT = format.yyyy_mm_dd_hh_mm_ss(); - - List list = levyExclService.getLevyExclList(req.setFetchSize(0)); - - Map valueMap = new HashMap(); - valueMap.put("업무구분", format.of("TASK_SE_NM").style(center)); - valueMap.put("부과제외일자", FormatMaker.yyyy_mm_dd(format, "LEVY_EXCL_YMD").style(dateYMD)); - valueMap.put("부과제외구분", format.of("LEVY_EXCL_SE_NM").style(center)); - valueMap.put("부과제외사유", format.of("LEVY_EXCL_RSN_NM")); - valueMap.put("기타내용", format.of("ETC_CN")); - valueMap.put("민원신청번호", format.of("CVLCPT_APLY_NO").style(center)); - valueMap.put("민원접수번호", format.of("CVLCPT_RCPT_NO").style(center)); - valueMap.put("민원접수일자", FormatMaker.yyyy_mm_dd(format, "CVLCPT_RCPT_YMD").style(dateYMD)); - valueMap.put("단속일시", FormatMaker.yyyy_mm_dd_hh_mm_ss(format, "CRDN_YMD_TM").style(dateDT)); - valueMap.put("차량번호", format.of("VHRNO")); - valueMap.put("납부자구분", format.of("RTPYR_SE_NM").style(center)); - valueMap.put("납부자번호", format.of("RTPYR_NO").style(center)); - valueMap.put("납부자명", format.of("RTPYR_NM")); - valueMap.put("단속법정동", format.of("CRDN_STDG_NM").style(center)); - valueMap.put("단속장소", format.of("CRDN_PLC")); - valueMap.put("상세단속장소", format.of("DTL_CRDN_PLC")); - valueMap.put("위반항목", format.of("VLTN_ARTCL")); - valueMap.put("단속원금", format.of("FFNLG_CRDN_AMT").style(numeric)); - valueMap.put("처리상태", format.of("CRDN_STTS_NM")); - valueMap.put("단속특별구역", format.of("CRDN_SPAREA_NM").style(center)); - valueMap.put("사용연료", format.of("USE_FUEL_NM").style(center)); - valueMap.put("주차가능여부", format.of("PRK_PSBLTY_RSLT_NM").style(center)); - valueMap.put("우편번호", format.of("ZIP").style(center)); - valueMap.put("주소", format.of("ADDR")); - valueMap.put("상세주소", format.of("DTL_ADDR")); - valueMap.put("등록일시", FormatMaker.yyyy_mm_dd_hh_mm_ss(format, "REG_DT").style(dateDT)); - valueMap.put("등록사용자", format.of("RGTR_NM").style(center)); - valueMap.put("수정일시", FormatMaker.yyyy_mm_dd_hh_mm_ss(format, "MDFCN_DT").style(dateDT)); - valueMap.put("수정사용자", format.of("MDFR_NM").style(center)); - - CellDef.setValues(cellDefs, valueMap); - - xlsx.cell(0, 0).value("부과제외").value(center).merge(0, cellDefs.size() - 1) - .cell(3, 0).rowValues(CellDef.header(cellDefs, () -> StyleMaker.headerStyle(xlsx))) - .cell(4, 0).values(list, CellDef.values(cellDefs.stream().map(i -> {if(i.getValue() instanceof Format) {i.setField(null);}; return i;}).toList())); - - return new ModelAndView("downloadView") - .addObject("download", xlsx.getDownloadable().setFilename("부과제외" + "_목록_" + dateTime + ".xlsx")); - } - } - - /**지정한 ID의 부과제외 정보(info)를 반환한다. - * @param req 부과제외 대장 조회 조건 - * @return fims/excl/excl01020-info 또는 jsonView - *
    {
    -	 *     "levyExclInfo": 부과제외 정보
    -	 * }
    - */ - @Task - @RequestMapping(name = "부과제외 정보 상세 조회", value=METHOD_URL.getLevyExclusionInfo) - public ModelAndView getLevyExclusionInfo(HttpServletRequest hReq, LevyExclQuery req) { - DataObject info = levyExclService.getLevyExclInfo(req); - - // 등록을 호출하였지만 등록된 부과제외 ID가 있는지 확인. - if (req.getCallPurpose().equals("create") && !info.string("LEVY_EXCL_ID").equals("")) { - ModelAndView mav = new ModelAndView("jsonView"); - - return mav - .addObject("message", "이미 등록된 부과제외 정보가 있습니다.") - .addObject("rtnMsg", "이미 등록된 부과제외 정보가 있습니다.") - ; - } else { - boolean json = jsonResponse(); - ModelAndView mav = new ModelAndView(json ? "jsonView" : "fims/excl/excl01020-info"); - - // View(jsp)에서 사용할 공통코드를 조회 - Map> commonCodes = getCodesOf("FIM021", "FIM022", "FIM054"); - - addCodes(commonCodes, mav, "FIM021", "FIM022"); - - return mav - .addObject("openerPageName", hReq.getParameter("openerPageName")) // 호출한 Jsp PageName - .addObject("callPurpose", req.getCallPurpose()) // 호출 용도 - .addObject("pageName", "excl01020") // jsp pageName - .addObject("infoPrefix", "levyExcl") // prefix - .addObject("infoPrefixUrl", CLASS_URL) // prefixUrl - .addObject("FIM021List", commonCodes.get("FIM021")) // 부과 제외 구분 코드(LEVY_EXCL_SE_CD) - .addObject("FIM022List", commonCodes.get("FIM022")) // 부과 제외 사유 코드(LEVY_EXCL_RSN_CD) - .addObject("levyExclInfo", json ? info : toJson(info)) // 부과제외 정보 - .addObject("saveCallbackFuncName", hReq.getParameter("saveCallbackFuncName")) - .addObject("savedCallbackFuncName", hReq.getParameter("savedCallbackFuncName")) - ; - } - } - - /**부과제외 대장를 등록한다. - * @param levyExcl 부과제외 대장 정보 - * @return jsonView - *
     {
    -	 *     "saved": 등록되었으면 true, 그렇지 않으면 false
    -	 * }
    - */ - @Task - @RequestMapping(name = "부과제외 대장 등록", value=METHOD_URL.createLevyExclusion) - public ModelAndView createLevyExclusion(LevyExcl levyExcl) { - boolean saved = false; - String rtnMsg = levyExclService.createLevyExcl(levyExcl); - - if (rtnMsg.contains("[S]")) { - saved = true; - } else { - saved = false; - } - - return new ModelAndView("jsonView") - .addObject("saved", saved) - .addObject("rtnMsg", rtnMsg); - } - - /**부과제외 대장 정보를 수정한다. - * @param levyExcl 부과제외 대장 정보 - * @return jsonView - *
     {
    -	 *     "saved": 수정되었으면 true, 그렇지 않으면 false
    -	 * }
    - */ - @Task - @RequestMapping(name = "부과제외 대장 수정", value=METHOD_URL.updateLevyExclusion) - public ModelAndView updateLevyExclusion(LevyExcl levyExcl) { - boolean saved = false; - String rtnMsg = levyExclService.updateLevyExcl(levyExcl); - - if (rtnMsg.contains("[S]")) { - saved = true; - } else { - saved = false; - } - - return new ModelAndView("jsonView") - .addObject("saved", saved) - .addObject("rtnMsg", rtnMsg); - } - - /**지정한 부과제외 ID에 해당하는 부과제외 대장를 제거한다. - * @param levyExclID 부과제외 대장 아이디 - * @return jsonView - *
     {
    -	 *     "affected": 저장된 정보수
    -	 *     "saved": 저장되었으면 true, 그렇지 않으면 false
    -	 * }
    - */ - @Task - @RequestMapping(name = "부과제외 대장 삭제", value=METHOD_URL.removeLevyExclusion) - public ModelAndView removeLevyExclusion(LevyExcl levyExcl) { - boolean saved = false; - String rtnMsg = ""; - - // 부과제외(levyExclId) 단건 삭제 - if (levyExcl.getLevyExclIds() == null || levyExcl.getLevyExclIds().length < 1) { - rtnMsg = levyExclService.removeLevyExcl(levyExcl); - } else { - // 부과제외 Ids 만큼 삭제 반복.. - for (String levyExclId : levyExcl.getLevyExclIds()) { - LevyExcl deltLevyExcl = new LevyExcl(); - deltLevyExcl.setLevyExclId(levyExclId); - deltLevyExcl.setDelRsn(levyExcl.getDelRsn()); - - // 부과제외 삭제 호출 - rtnMsg = levyExclService.removeLevyExcl(deltLevyExcl); - if (!rtnMsg.contains("[S]")) // 오류가 발생하였으면 종료.. - break; - } - } - - if (rtnMsg.contains("[S]")) { - saved = true; - } else { - saved = false; - } - - return new ModelAndView("jsonView") - .addObject("saved", saved) - .addObject("rtnMsg", rtnMsg); - } - -} diff --git a/src/main/java/cokr/xit/fims/excl/web/Excl02Controller.java b/src/main/java/cokr/xit/fims/excl/web/Excl02Controller.java deleted file mode 100644 index edd11cf2..00000000 --- a/src/main/java/cokr/xit/fims/excl/web/Excl02Controller.java +++ /dev/null @@ -1,512 +0,0 @@ -package cokr.xit.fims.excl.web; - -import java.text.SimpleDateFormat; -import java.util.ArrayList; -import java.util.HashMap; -import java.util.List; -import java.util.Map; - -import javax.annotation.Resource; -import javax.servlet.http.HttpServletRequest; - -import org.apache.poi.ss.usermodel.CellStyle; -import org.springframework.stereotype.Controller; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.multipart.MultipartFile; -import org.springframework.web.servlet.ModelAndView; - -import cokr.xit.applib.Print; -import cokr.xit.base.code.CommonCode; -import cokr.xit.base.docs.xls.CellDef; -import cokr.xit.base.docs.xls.Format; -import cokr.xit.base.docs.xls.Style; -import cokr.xit.base.docs.xls.XLSWriter; -import cokr.xit.base.file.FileInfo; -import cokr.xit.base.file.service.FileService; -import cokr.xit.base.file.web.FileInfoFactory; -import cokr.xit.base.web.ApplicationController; -import cokr.xit.fims.base.FimsUser; -import cokr.xit.fims.base.service.bean.OgdpBean; -import cokr.xit.fims.cmmn.FimsPrintOption; -import cokr.xit.fims.cmmn.hwp.format.DlbrDecsnList; -import cokr.xit.fims.cmmn.service.bean.StngBean; -import cokr.xit.fims.cmmn.xls.FormatMaker; -import cokr.xit.fims.cmmn.xls.StyleMaker; -import cokr.xit.fims.excl.LevyExclQuery; -import cokr.xit.fims.excl.OpnnDlbrMbr; -import cokr.xit.fims.excl.OpnnSbmsn; -import cokr.xit.fims.excl.service.OpnnDlbrMbrService; -import cokr.xit.fims.excl.service.OpnnSbmsnService; -import cokr.xit.fims.task.Task; -import cokr.xit.foundation.UserInfo; -import cokr.xit.foundation.data.DataObject; - -/**의견제출 대장 서비스의 웹 컨트롤러 - * - *

    상세 설명: - * - *

    - * ============ 변경 이력 ============
    - * 2023-06-27	JoJH 최초 작성
    - * ================================
    - * 
    - */ -@Controller -@RequestMapping(name="의견제출 관리", value=Excl02Controller.CLASS_URL) -public class Excl02Controller extends ApplicationController { - - public static final String CLASS_URL = "/excl/excl02"; - - public class METHOD_URL { - public static final String - opinionSubmissionMain = "/010/main.do" // 의견제출 관리 메인 화면 - , getOpinionSubmissionList = "/010/list.do" // 의견제출 대장 목록 조회 - , makeDlbrDecsnFileFromHwpFormat = "/010/makeHwp.do" // 의견제출 심의의결서 HWP 저장 - , removeOpinionSubmission = "/010/remove.do" // 의견제출 대장 삭제 - , getOpinionSubmissionInfo = "/020/info.do" // 의견제출 대장 조회 - , createOpinionSubmission = "/020/create.do" // 의견제출 대장 등록 - , updateOpinionSubmission = "/020/update.do" // 의견제출 대장 수정 - , getOpinionSubmissionAnswerInfo = "/030/info.do" // 의견제출 대장 심의 조회 - , updateOpinionSubmissionAnswer = "/030/update.do" // 의견제출 대장 심의 수정 - , getOpinionDeliberationMemberInfo = "/040/info.do" // 의견제출 심의 회원 조회 - , createOpinionDeliberationMember = "/040/create.do" // 의견제출 심의 회원 등록 - , updateOpinionDeliberationMember = "/040/update.do" // 의견제출 심의 회원 수정 - ; - } - - /** 의견제출 대장 서비스 */ - @Resource(name="opnnSbmsnService") - protected OpnnSbmsnService opnnSbmsnService; - - /**의견제출 심의 회원 서비스*/ - @Resource(name = "opnnDlbrMbrService") - private OpnnDlbrMbrService opnnDlbrMbrService; - - /** 파일 정보 서비스 서비스 */ - @Resource(name="fileService") - private FileService fileService; - - /**설정 정보 Bean */ - @Resource(name="stngBean") - private StngBean stngBean; - - @Resource(name = "ogdpBean") - private OgdpBean ogdpBean; - - /**의견제출 대장 관리 메인화면(fims/excl/excl02/010-main)을 연다. - * - * @return /fims/excl/excl02010 - */ - @RequestMapping(name="의견제출 관리 메인", value = METHOD_URL.opinionSubmissionMain) - public ModelAndView opinionSubmissionMain() { - ModelAndView mav = new ModelAndView("fims/excl/excl02010-main"); - - // 사용자 정보 - FimsUser fimsUser = (FimsUser)currentUser().getUser(); - - // View(jsp)에서 사용할 공통코드를 조회 - Map> commonCodes = getCodesOf("FIM031", "FIM033", "FIM054"); - - return mav - .addObject("pageName", "excl02010") // View(jsp)에서 사용할 id 뒤에 붙일 suffix - .addObject("infoPrefix", "opnnSbmsn") // prefix - .addObject("infoPrefixUrl", CLASS_URL) // prefixUrl - .addObject("sggCd", fimsUser.getOrgID()) // 시군구 코드(SGG_CD) - .addObject("taskListForSgg", stngBean.filterTaskSectionCodeForSgg(commonCodes.get("FIM054"))) // 업무 구분 코드(TASK_SE_CD) - .addObject("FIM031List", commonCodes.get("FIM031")) // 의견 제출 답변 결과(OPNN_SBMSN_STTS_CD) - .addObject("FIM033List", commonCodes.get("FIM033")) // 의견제출 구분 코드(OPNN_SBMSN_SE_CD) - ; - } - - /**의견제출 대장 목록을 조회하여 반환한다. - * {@link OpnnSbmsnService#getOpnnSbmsnList(Excl02Query)} 참고 - * @param req 의견제출 대장 조회 조건 - * @return jsonView - *
     {
    -	 *     "opnnSbmsnList": [의견제출 대장 목록]
    -	 *     "opnnSbmsnStart": 의견제출 대장 목록 시작 인덱스
    -	 *     "opnnSbmsnFetch": 한 번에 가져오는 의견제출 대장 목록 수
    -	 *     "opnnSbmsnTotal": 조회 결과 찾은 전체 의견제출 대장 수
    -	 * }
    - */ - @Task - @RequestMapping(name="의견제출 대장 목록 조회", value=METHOD_URL.getOpinionSubmissionList) - public ModelAndView getOpinionSubmissionList(LevyExclQuery req) { - if (!"xls".equals(req.getDownload())) { - List result = opnnSbmsnService.getOpnnSbmsnList(setFetchSize(req)); - return setCollectionInfo(new ModelAndView("jsonView"), result, "opnnSbmsn"); - } else { - // 현재 날짜 구하기 - SimpleDateFormat dateFormat = new SimpleDateFormat("yyyyMMddHHmmss"); - String dateTime = dateFormat.format(System.currentTimeMillis()); - - List cellDefs = fromJson(req.getCellDefs(), CellDef.listType()); - - XLSWriter xlsx = new XLSWriter().worksheet(0); - Format format = new Format(xlsx); - CellStyle center = format.cellStyle(Style.CENTER); - CellStyle numeric = format.n_nn0(); - CellStyle dateYMD = format.yyyy_mm_dd(); - CellStyle dateDT = format.yyyy_mm_dd_hh_mm_ss(); - - List list = opnnSbmsnService.getOpnnSbmsnList(req.setFetchSize(0)); - - Map valueMap = new HashMap(); - valueMap.put("업무구분", format.of("TASK_SE_NM").style(center)); - valueMap.put("접수번호", format.of("RCPT_NO").style(center)); - valueMap.put("접수일자", FormatMaker.yyyy_mm_dd(format, "RCPT_YMD").style(dateYMD)); - valueMap.put("접수구분", format.of("RCPT_SE_NM").style(center)); - valueMap.put("통보구분", format.of("NTFCTN_SE_NM").style(center)); - valueMap.put("소유주관계", format.of("OWNR_REL_NM").style(center)); - valueMap.put("진술자명", format.of("STTR_NM")); - valueMap.put("진술자생일", format.of("STTR_BRDT_MASK").style(center)); - valueMap.put("진술자우편번호", format.of("STTR_ZIP").style(center)); - valueMap.put("진술자주소", format.of("STTR_ADDR")); - valueMap.put("진술자상세주소", format.of("STTR_DADDR")); - valueMap.put("의견제출상태", format.of("OPNN_SBMSN_STTS_NM").style(center)); - valueMap.put("의견제출분류", format.of("OPNN_SBMSN_SE_NM")); - valueMap.put("의견제출요지", format.of("OPNN_SBMSN_GIST")); - valueMap.put("문서번호", format.of("DOC_NO")); - valueMap.put("답변일자", FormatMaker.yyyy_mm_dd(format, "ANS_YMD").style(dateYMD)); - valueMap.put("답변내용", format.of("ANS_CN")); - valueMap.put("단속일시", FormatMaker.yyyy_mm_dd_hh_mm_ss(format, "CRDN_YMD_TM").style(dateDT)); - valueMap.put("차량번호", format.of("VHRNO")); - valueMap.put("납부자구분", format.of("RTPYR_SE_NM").style(center)); - valueMap.put("납부자번호", format.of("RTPYR_NO").style(center)); - valueMap.put("납부자명", format.of("RTPYR_NM")); - valueMap.put("단속법정동", format.of("CRDN_STDG_NM").style(center)); - valueMap.put("단속장소", format.of("CRDN_PLC")); - valueMap.put("상세단속장소", format.of("DTL_CRDN_PLC")); - valueMap.put("위반항목", format.of("VLTN_ARTCL")); - valueMap.put("단속원금", format.of("FFNLG_CRDN_AMT").style(numeric)); - valueMap.put("과태료금액", format.of("FFNLG_AMT").style(numeric)); - valueMap.put("처리상태", format.of("CRDN_STTS_NM")); - valueMap.put("단속특별구역", format.of("CRDN_SPAREA_NM").style(center)); - valueMap.put("사용연료", format.of("USE_FUEL_NM").style(center)); - valueMap.put("주차가능여부", format.of("PRK_PSBLTY_RSLT_NM").style(center)); - valueMap.put("우편번호", format.of("ZIP").style(center)); - valueMap.put("주소", format.of("ADDR")); - valueMap.put("상세주소", format.of("DTL_ADDR")); - valueMap.put("등록일시", FormatMaker.yyyy_mm_dd_hh_mm_ss(format, "REG_DT").style(dateDT)); - valueMap.put("등록사용자", format.of("RGTR_NM").style(center)); - valueMap.put("수정일시", FormatMaker.yyyy_mm_dd_hh_mm_ss(format, "MDFCN_DT").style(dateDT)); - valueMap.put("수정사용자", format.of("MDFR_NM").style(center)); - - CellDef.setValues(cellDefs, valueMap); - - xlsx.cell(0, 0).value("의견제출").value(center).merge(0, cellDefs.size() - 1) - .cell(3, 0).rowValues(CellDef.header(cellDefs, () -> StyleMaker.headerStyle(xlsx))) - .cell(4, 0).values(list, CellDef.values(cellDefs.stream().map(i -> {if(i.getValue() instanceof Format) {i.setField(null);}; return i;}).toList())); - - return new ModelAndView("downloadView") - .addObject("download", xlsx.getDownloadable().setFilename("의견제출" + "_목록_" + dateTime + ".xlsx")); - } - } - - /**의견제출 정보를 조회하여 반환한다. - * @param req 의견제출 대장 조회 조건 - * @return fims/excl/excl02020-info 또는 jsonView - *
    {
    -	 *     "opnnSbmsnInfo": 의견제출 정보
    -	 * }
    - */ - @Task - @RequestMapping(name="의견제출 정보 조회", value=METHOD_URL.getOpinionSubmissionInfo) - public ModelAndView getOpinionSubmissionInfo(HttpServletRequest hReq, LevyExclQuery req) { - DataObject info = opnnSbmsnService.getOpnnSbmsnInfo(req); - - // 등록을 호출하였지만 등록된 의견제출 ID가 있는지 확인. - if (req.getCallPurpose().equals("create") && !info.string("OPNN_ID").equals("")) { - ModelAndView mav = new ModelAndView("jsonView"); - - return mav.addObject("rtnMsg", "이미 등록된 의견제출 정보가 있습니다."); - } else { - boolean json = jsonResponse(); - ModelAndView mav = new ModelAndView(json ? "jsonView" : "fims/excl/excl02020-info"); - - // View(jsp)에서 사용할 공통코드를 조회 - Map> commonCodes = getCodesOf("FIM019", "FIM029", "FIM030", "FIM032", "FIM033", "FIM054"); - - return mav - .addObject("openerPageName", hReq.getParameter("openerPageName")) // 호출한 Jsp PageName - .addObject("callPurpose", req.getCallPurpose()) // 호출 용도 - .addObject("pageName", "excl02020") // jsp pageName - .addObject("infoPrefix", "opnnSbmsn") // prefix - .addObject("infoPrefixUrl", CLASS_URL) // prefixUrl - .addObject("FIM019List", commonCodes.get("FIM019")) // 감경 사유 구분 코드(RDCT_RSN_CD) - .addObject("FIM029List", commonCodes.get("FIM029")) // 접수 구분 코드(RCPT_SE_CD) - .addObject("FIM030List", commonCodes.get("FIM030")) // 통보 구분 코드(NTFCTN_SE_CD) - .addObject("FIM032List", commonCodes.get("FIM032")) // 소유주 관계 구분 코드(OWNR_REL_CD) - .addObject("FIM033List", commonCodes.get("FIM033")) // 의견 제출 구분 코드(OPNN_SBMSN_SE_CD) - .addObject("FIM054List", commonCodes.get("FIM054")) // 업무 구분 코드(TASK_SE_CD) - .addObject("opnnSbmsnInfo", json ? info : toJson(info)) // 의견제출 정보 - ; - } - } - - /**의견제출 대장를 등록한다. - * @param opnnSbmsn 의견제출 정보, 이미지 파일 uploadFiles - * @return jsonView - *
     {
    -	 *     "saved": 등록되었으면 true, 그렇지 않으면 false
    -	 * }
    - */ - @Task - @RequestMapping(name="의견제출 대장 등록", value=METHOD_URL.createOpinionSubmission) - public ModelAndView createOpinionSubmission(OpnnSbmsn opnnSbmsn, MultipartFile[] uploadFiles) { - boolean saved = false; - - // 첨부 파일 - List fileInfoList = new ArrayList(); - if (uploadFiles != null && uploadFiles.length > 0) { - fileInfoList = new FileInfoFactory().makeFileInfos(null, uploadFiles); - } - - String rtnMsg = opnnSbmsnService.createOpnnSbmsn(opnnSbmsn, fileInfoList); - - if (rtnMsg.contains("[S]")) { - saved = true; - } else { - saved = false; - } - - return new ModelAndView("jsonView") - .addObject("saved", saved) - .addObject("rtnMsg", rtnMsg); - } - - /**의견제출 대장을 수정한다. - * @param opnnSbmsn 의견제출 정보, 이미지 파일 uploadFiles - * @return jsonView - *
     {
    -	 *     "saved": 수정되었으면 true, 그렇지 않으면 false
    -	 * }
    - */ - @Task - @RequestMapping(name="의견제출 대장 수정", value=METHOD_URL.updateOpinionSubmission) - public ModelAndView updateOpinionSubmission(OpnnSbmsn opnnSbmsn, MultipartFile[] uploadFiles) { - boolean saved = false; - - // 첨부 파일 - List fileInfoList = new ArrayList(); - - if (uploadFiles != null && uploadFiles.length > 0) { - fileInfoList = new FileInfoFactory().makeFileInfos(null, uploadFiles); - } - - String rtnMsg = opnnSbmsnService.updateOpnnSbmsn(opnnSbmsn, fileInfoList); - - if (rtnMsg.contains("[S]")) { - saved = true; - } else { - saved = false; - } - - return new ModelAndView("jsonView") - .addObject("saved", saved) - .addObject("rtnMsg", rtnMsg); - } - - /**의견제출 심의 정보를 조회하여 반환한다. - * @param req 의견제출 대장 조회 조건 - * @return fims/excl/excl02030-info 또는 jsonView - *
    {
    -	 *     "opnnSbmsnInfo": 의견제출 정보
    -	 * }
    - */ - @Task - @RequestMapping(name="의견제출 대장 심의 정보 조회", value=METHOD_URL.getOpinionSubmissionAnswerInfo) - public ModelAndView getOpinionSubmissionAnswerInfo(HttpServletRequest hReq, LevyExclQuery req) { - DataObject info = opnnSbmsnService.getOpnnSbmsnInfo(req); - - boolean json = jsonResponse(); - - ModelAndView mav = new ModelAndView(json ? "jsonView" : "fims/excl/excl02030-info"); - - // View(jsp)에서 사용할 공통코드를 조회 - Map> commonCodes = getCodesOf("FIM019", "FIM030", "FIM031", "FIM033", "FIM054"); - - return mav - .addObject("openerPageName", hReq.getParameter("openerPageName")) // 호출한 Jsp PageName - .addObject("callPurpose", req.getCallPurpose()) // 호출 용도 - .addObject("pageName", "excl02030") // jsp pageName - .addObject("infoPrefix", "opnnSbmsn") // prefix - .addObject("infoPrefixUrl", CLASS_URL) // prefixUrl - .addObject("FIM019List", commonCodes.get("FIM019")) // 감경 사유 구분 코드(RDCT_RSN_CD) - .addObject("FIM030List", commonCodes.get("FIM030")) // 통보 구분 코드(NTFCTN_SE_CD) - .addObject("FIM031List", commonCodes.get("FIM031")) // 의견 제출 상태 코드(OPNN_SBMSN_STTS_CD) - .addObject("FIM033List", commonCodes.get("FIM033")) // 의견 제출 구분 코드(OPNN_SBMSN_SE_CD) - .addObject("FIM054List", commonCodes.get("FIM054")) // 업무 구분 코드(TASK_SE_CD) - .addObject("opnnSbmsnInfo", json ? info : toJson(info)) - ; - } - - /**의견제출 심의 정보를 수정한다. - * @param opnnSbmsn 의견제출 대장 정보 - * @return jsonView - *
     {
    -	 *     "saved": 수정되었으면 true, 그렇지 않으면 false
    -	 * }
    - */ - @Task - @RequestMapping(name="의견제출 대장 심의정보 수정", value=METHOD_URL.updateOpinionSubmissionAnswer) - public ModelAndView updateOpinionSubmissionAnswer(OpnnSbmsn opnnSbmsn) { - boolean saved = false; - String rtnMsg = opnnSbmsnService.updateOpnnSbmsnAnswer(opnnSbmsn); - - if (rtnMsg.contains("[S]")) { - saved = true; - } else { - saved = false; - } - - return new ModelAndView("jsonView") - .addObject("saved", saved) - .addObject("rtnMsg", rtnMsg); - } - - /**지정한 조건에 따라 의견제출 심의 의결서를 출력한다. - * @param req 의견제출 대장 조회 조건 - * @return jsonView - *
     {
    -	 *     "affected": 저장된 정보수
    -	 *     "saved": 저장되었으면 true, 그렇지 않으면 false
    -	 * }
    - */ - @Task - @RequestMapping(name="의견제출 심의의결서 출력", value=METHOD_URL.makeDlbrDecsnFileFromHwpFormat) - public ModelAndView makeDlbrDecsnFileFromHwpFormat(LevyExclQuery req) { - UserInfo userInfo = currentUser(); - ogdpBean.initUserInfo(userInfo); - - Print print = new Print(); - print.setPrintRequestUserInfo(userInfo); - - FimsPrintOption printOption = new FimsPrintOption(); - - List dataObjectList = opnnSbmsnService.getOpnnSbmsnDlbrDecsns(req); - - DlbrDecsnList hwpFormat = new DlbrDecsnList(print, printOption, dataObjectList); - HashMap result = hwpFormat.makeFile().andDownload(); - ModelAndView mav = new ModelAndView("downloadView"); - mav.addAllObjects(result); - - return mav; - } - - /**지정한 의견제출 대장을 제거한다. - * @param opnnSbmsn 의견제출 정보 - * @return jsonView - *
     {
    -	 *     "affected": 저장된 정보수
    -	 *     "saved": 저장되었으면 true, 그렇지 않으면 false
    -	 * }
    - */ - @Task - @RequestMapping(name="의견제출 대장 삭제", value=METHOD_URL.removeOpinionSubmission) - public ModelAndView removeOpinionSubmission(OpnnSbmsn opnnSbmsn) { - boolean saved = false; - String rtnMsg = ""; - - if (opnnSbmsn.getOpnnIds() == null || opnnSbmsn.getOpnnIds().length < 1) { - rtnMsg = opnnSbmsnService.removeOpnnSbmsn(opnnSbmsn); - } else { - // 의견제출 Ids 만큼 삭제 반복.. - for (String opnnId : opnnSbmsn.getOpnnIds()) { - OpnnSbmsn deltOpnnSbmsn = new OpnnSbmsn(); - deltOpnnSbmsn.setOpnnId(opnnId); - deltOpnnSbmsn.setDelRsn(opnnSbmsn.getDelRsn()); - - // 의견제출 삭제 호출 - rtnMsg = opnnSbmsnService.removeOpnnSbmsn(deltOpnnSbmsn); - if (!rtnMsg.contains("[S]")) // 오류가 발생하였으면 종료.. - break; - } - } - - if (rtnMsg.contains("[S]")) { - saved = true; - } else { - saved = false; - } - - return new ModelAndView("jsonView") - .addObject("saved", saved) - .addObject("rtnMsg", rtnMsg); - } - - /**의견제출 심의 회원 정보를 조회하여 반환한다. - * @param req 의견제출 대장 조회 조건 - * @return fims/excl/excl02040-info 또는 jsonView - *
    {
    -	 *     "opnnDlbrMbrInfo": 의견제출 심의 회원 정보
    -	 * }
    - */ - @Task - @RequestMapping(name="의견제출 심의 회원 정보 조회", value=METHOD_URL.getOpinionDeliberationMemberInfo) - public ModelAndView getOpinionDeliberationMemberInfo(HttpServletRequest hReq, LevyExclQuery req) { - DataObject info = opnnDlbrMbrService.getOpnnDlbrMbrInfo(req); - - boolean json = jsonResponse(); - - ModelAndView mav = new ModelAndView(json ? "jsonView" : "fims/excl/excl02040-info"); - - return mav - .addObject("openerPageName", hReq.getParameter("openerPageName")) // 호출한 Jsp PageName - .addObject("callPurpose", req.getCallPurpose()) // 호출 용도 - .addObject("pageName", "excl02040") // jsp pageName - .addObject("infoPrefix", "opnnDlbrMbr") // prefix - .addObject("infoPrefixUrl", CLASS_URL) // prefixUrl - .addObject("opnnDlbrMbrInfo", json ? info : toJson(info)) - ; - } - - /**의견제출 심의 회원를 등록한다. - * @param opnnDlbrMbr 의견제출 심의 회원 정보 - * @return jsonView - *
     {
    -	 *     "saved": 등록되었으면 true, 그렇지 않으면 false
    -	 * }
    - */ - @Task - @RequestMapping(name="의견제출 심의 회원 등록", value=METHOD_URL.createOpinionDeliberationMember) - public ModelAndView create(OpnnDlbrMbr opnnDlbrMbr) { - boolean saved = false; - String rtnMsg = opnnDlbrMbrService.createOpnnDlbrMbr(opnnDlbrMbr); - - if (rtnMsg.contains("[S]")) { - saved = true; - } else { - saved = false; - } - - return new ModelAndView("jsonView") - .addObject("saved", saved) - .addObject("rtnMsg", rtnMsg); - } - - /**의견제출 심의 회원 정보를 수정한다. - * @param opnnDlbrMbr 의견제출 심의 회원 정보 - * @return jsonView - *
     {
    -	 *     "saved": 수정되었으면 true, 그렇지 않으면 false
    -	 * }
    - */ - @Task - @RequestMapping(name="의견제출 심의 회원 수정", value=METHOD_URL.updateOpinionDeliberationMember) - public ModelAndView update(OpnnDlbrMbr opnnDlbrMbr) { - boolean saved = false; - String rtnMsg = opnnDlbrMbrService.updateOpnnDlbrMbr(opnnDlbrMbr); - - if (rtnMsg.contains("[S]")) { - saved = true; - } else { - saved = false; - } - - return new ModelAndView("jsonView") - .addObject("saved", saved) - .addObject("rtnMsg", rtnMsg); - } - -} diff --git a/src/main/java/cokr/xit/fims/excl/web/Excl03Controller.java b/src/main/java/cokr/xit/fims/excl/web/Excl03Controller.java deleted file mode 100644 index 61897cba..00000000 --- a/src/main/java/cokr/xit/fims/excl/web/Excl03Controller.java +++ /dev/null @@ -1,180 +0,0 @@ -package cokr.xit.fims.excl.web; - -import java.text.SimpleDateFormat; -import java.util.HashMap; -import java.util.List; -import java.util.Map; - -import javax.annotation.Resource; - -import org.apache.poi.ss.usermodel.CellStyle; -import org.springframework.stereotype.Controller; -import org.springframework.web.bind.annotation.PostMapping; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.servlet.ModelAndView; - -import cokr.xit.base.code.CommonCode; -import cokr.xit.base.docs.xls.CellDef; -import cokr.xit.base.docs.xls.Format; -import cokr.xit.base.docs.xls.Style; -import cokr.xit.base.docs.xls.XLSWriter; -import cokr.xit.base.web.ApplicationController; -import cokr.xit.fims.base.FimsUser; -import cokr.xit.fims.cmmn.service.bean.StngBean; -import cokr.xit.fims.cmmn.xls.FormatMaker; -import cokr.xit.fims.cmmn.xls.StyleMaker; -import cokr.xit.fims.excl.CrdnReReg; -import cokr.xit.fims.excl.LevyExclQuery; -import cokr.xit.fims.excl.service.CrdnReRegService; -import cokr.xit.fims.task.Task; -import cokr.xit.foundation.data.DataObject; - -/**단속 재등록 서비스의 웹 컨트롤러 - * - *

    상세 설명: - * - *

    - * ============ 변경 이력 ============
    - * 2023-07-03	JoJH 최초 작성
    - * ================================
    - * 
    - */ -@Controller -@RequestMapping(name="단속재등록 관리", value=Excl03Controller.CLASS_URL) -public class Excl03Controller extends ApplicationController { - - public static final String CLASS_URL = "/excl/excl03"; - - public class METHOD_URL { - public static final String - crackdownReRegistrationMain = "/010/main.do" // 단속 재등록 관리 메인 화면 - , getCrackdownReRegistrationList = "/010/list.do" // 단속 재등록 대장 목록 조회 - , createCrackdownReRegistration = "/010/create.do" // 단속 재등록 대장 등럭 - ; - } - - /**단속 재등록 서비스*/ - @Resource(name="crdnReRegService") - private CrdnReRegService crdnReRegService; - - /**설정 정보 Bean */ - @Resource(name="stngBean") - private StngBean stngBean; - - /**단속 재등록 관리 메인화면(excl03/excl03-main)을 연다. - * - * @return /fims/excl/excl03010 - */ - @RequestMapping(name="단속 재등록 관리 메인", value=METHOD_URL.crackdownReRegistrationMain) - public ModelAndView crackdownReRegistrationMain() { - ModelAndView mav = new ModelAndView("fims/excl/excl03010-main"); - - // 사용자 정보 - FimsUser fimsUser = (FimsUser)currentUser().getUser(); - - // View(jsp)에서 사용할 공통코드를 조회 - Map> commonCodes = getCodesOf("FIM054"); - - return mav - .addObject("pageName", "excl03010") // View(jsp)에서 사용할 id 뒤에 붙일 suffix - .addObject("infoPrefix", "crdnReReg") // prefix - .addObject("infoPrefixUrl", CLASS_URL) // prefixUrl - .addObject("sggCd", fimsUser.getOrgID()) // 시군구 코드(SGG_CD) - .addObject("taskListForSgg", stngBean.filterTaskSectionCodeForSgg(commonCodes.get("FIM054"))) // 업무 구분 코드(TASK_SE_CD) - ; - } - - /**단속 재등록 목록을 조회하여 반환한다.
    - * {@link CrdnReRegService#getExcl03List(Excl03Query)} 참고 - * @param req 단속 재등록 조회 조건 - * @return jsonView - *
     {
    -	 *     "excl03List": [단속 재등록 목록]
    -	 *     "excl03Start": 단속 재등록 목록 시작 인덱스
    -	 *     "excl03Fetch": 한 번에 가져오는 단속 재등록 목록 수
    -	 *     "excl03Total": 조회 결과 찾은 전체 단속 재등록 수
    -	 * }
    - */ - @Task - @RequestMapping(name="단속 재등록 목록 조회", value=METHOD_URL.getCrackdownReRegistrationList) - public ModelAndView getCrackdownReRegistrationList(LevyExclQuery req) { - if (!"xls".equals(req.getDownload())) { - List result = crdnReRegService.getCrdnReRegList(setFetchSize(req)); - return setCollectionInfo(new ModelAndView("jsonView"), result, "crdnReReg"); - } else { - // 현재 날짜 구하기 - SimpleDateFormat dateFormat = new SimpleDateFormat("yyyyMMddHHmmss"); - String dateTime = dateFormat.format(System.currentTimeMillis()); - - List cellDefs = fromJson(req.getCellDefs(), CellDef.listType()); - - XLSWriter xlsx = new XLSWriter().worksheet(0); - Format format = new Format(xlsx); - CellStyle center = format.cellStyle(Style.CENTER); - CellStyle numeric = format.n_nn0(); - CellStyle dateYMD = format.yyyy_mm_dd(); - CellStyle dateDT = format.yyyy_mm_dd_hh_mm_ss(); - - List list = crdnReRegService.getCrdnReRegList(req.setFetchSize(0)); - - Map valueMap = new HashMap(); - valueMap.put("업무구분", format.of("TASK_SE_NM").style(center)); - valueMap.put("재등록일자", FormatMaker.yyyy_mm_dd(format, "RE_REG_YMD").style(dateYMD)); - valueMap.put("단속등록구분", format.of("CRDN_REG_SE_NM").style(center)); - valueMap.put("기타내용", format.of("ETC_CN")); - valueMap.put("단속일시", FormatMaker.yyyy_mm_dd_hh_mm_ss(format, "CRDN_YMD_TM").style(dateDT)); - valueMap.put("차량번호", format.of("VHRNO")); - valueMap.put("납부자구분", format.of("RTPYR_SE_NM").style(center)); - valueMap.put("납부자번호", format.of("RTPYR_NO").style(center)); - valueMap.put("납부자명", format.of("RTPYR_NM")); - valueMap.put("단속법정동", format.of("CRDN_STDG_NM")); - valueMap.put("단속장소", format.of("CRDN_PLC")); - valueMap.put("상세단속장소", format.of("DTL_CRDN_PLC")); - valueMap.put("위반항목", format.of("VLTN_ARTCL")); - valueMap.put("단속원금", format.of("FFNLG_CRDN_AMT").style(numeric)); - valueMap.put("처리상태", format.of("CRDN_STTS_NM")); - valueMap.put("단속특별구역", format.of("CRDN_SPAREA_NM").style(center)); - valueMap.put("사용연료", format.of("USE_FUEL_NM").style(center)); - valueMap.put("주차가능여부", format.of("PRK_PSBLTY_RSLT_NM").style(center)); - valueMap.put("우편번호", format.of("ZIP").style(center)); - valueMap.put("주소", format.of("ADDR")); - valueMap.put("상세주소", format.of("DTL_ADDR")); - valueMap.put("등록일시", FormatMaker.yyyy_mm_dd_hh_mm_ss(format, "REG_DT").style(dateDT)); - valueMap.put("등록사용자", format.of("RGTR_NM").style(center)); - - CellDef.setValues(cellDefs, valueMap); - - xlsx.cell(0, 0).value("단속 재등록").value(center).merge(0, cellDefs.size() - 1) - .cell(3, 0).rowValues(CellDef.header(cellDefs, () -> StyleMaker.headerStyle(xlsx))) - .cell(4, 0).values(list, CellDef.values(cellDefs.stream().map(i -> {if(i.getValue() instanceof Format) {i.setField(null);}; return i;}).toList())); - - return new ModelAndView("downloadView") - .addObject("download", xlsx.getDownloadable().setFilename("단속재등록" + "_목록_" + dateTime + ".xlsx")); - } - } - - /**단속 재등록를 등록한다. - * @param excl03 단속 재등록 정보 - * @return jsonView - *
     {
    -	 *     "saved": 등록되었으면 true, 그렇지 않으면 false
    -	 * }
    - */ - @Task - @PostMapping(name="단속 재등록 등록", value=METHOD_URL.createCrackdownReRegistration) - public ModelAndView createCrackdownReRegistration(CrdnReReg crdnReReg) { - boolean saved = false; - String rtnMsg = crdnReRegService.createCrdnReReg(crdnReReg); - - if (rtnMsg.contains("[S]")) { - saved = true; - } else { - saved = false; - } - - return new ModelAndView("jsonView") - .addObject("saved", saved) - .addObject("rtnMsg", rtnMsg); - } - -} diff --git a/src/main/java/cokr/xit/fims/levy/Levy.java b/src/main/java/cokr/xit/fims/levy/Levy.java deleted file mode 100644 index 93ee0ec2..00000000 --- a/src/main/java/cokr/xit/fims/levy/Levy.java +++ /dev/null @@ -1,466 +0,0 @@ -package cokr.xit.fims.levy; - -import cokr.xit.foundation.AbstractEntity; -import lombok.Getter; -import lombok.Setter; - -/** - * 부과 대장 - * @author JoJH - */ -@Getter -@Setter -public class Levy extends AbstractEntity { - - /** - * 부과 ID - */ - private String levyId; - - /** - * 시군구 코드 - */ - private String sggCd; - - /** - * 업무 구분 코드 - */ - private String taskSeCd; - - /** - * 단속 ID - */ - private String crdnId; - - /** - * 기관 코드 - */ - private String instCd; - - /** - * 부서 코드 - */ - private String deptCd; - - /** - * 회계 연도 - */ - private String fyr; - - /** - * 회계 구분 코드 - */ - private String acntgSeCd; - - /** - * 세목 코드 - */ - private String txitmCd; - - /** - * 운영 항목 코드 - */ - private String operItemCd; - - /** - * 특별회계 사업 코드 - */ - private String spclBizCd; - - /** - * 부과 번호 - */ - private String levyNo; - - /** - * 분납 일련번호 - */ - private String ispySn; - - /** - * 부과 구분 코드 - */ - private String levySeCd; - - /** - * 통합 구분 코드 - */ - private String untySeCd; - - /** - * 감경 구분 코드 - */ - private String rdctSeCd; - - /** - * 분납 구분 명 - */ - private String ispySeNm; - - /** - * 부과 일자 - */ - private String levyYmd; - - /** - * 최초 납기 일자 - */ - private String frstDudtYmd; - - /** - * 납기 일자 - */ - private String dudtYmd; - - /** - * 과태료 금액 - */ - private Integer ffnlgAmt; - - /** - * 부과 본세 - */ - private Integer levyPcptax; - - /** - * 부과 가산금 - */ - private Integer levyAdamt; - - /** - * 분납 이자 - */ - private Integer ispyInt; - - /** - * 수납 본세 - */ - private Integer rcvmtPcptax; - - /** - * 수납 가산금 - */ - private Integer rcvmtAdamt; - - /** - * 감액 본세 - */ - private Integer rdamtPcptax; - - /** - * 감액 가산금 - */ - private Integer rdamtAdamt; - - /** - * 합계 금액 - */ - private Integer sumAmt; - - /** - * 납기 후 일자 - */ - private String dudtAftrYmd; - - /** - * 납기 후 금액 - */ - private Integer dudtAftrAmt; - - /** - * 과세 물건 - */ - private String txtnThing; - - /** - * 관리 아이템1 - */ - private String mngItem1; - - /** - * 관리 아이템2 - */ - private String mngItem2; - - /** - * 관리 아이템3 - */ - private String mngItem3; - - /** - * 관리 아이템4 - */ - private String mngItem4; - - /** - * 관리 아이템5 - */ - private String mngItem5; - - /** - * 관리 아이템6 - */ - private String mngItem6; - - /** - * 체납 사유 코드 - */ - private String npmntRsnCd; - - /** - * 수납 일자 - */ - private String rcvmtYmd; - - /** - * 납부 방법 구분 코드 - */ - private String payMthdSeCd; - - /** - * 압류 일자 - */ - private String szrYmd; - - /** - * 압류 물건 - */ - private String szrThing; - - /** - * 대체 압류 자동차등록번호 - */ - private String rpmSzrVhrno; - - /** - * 압류 해제 일자 - */ - private String szrRmvYmd; - - /** - * 압류 해제 사유 - */ - private String szrRmvRsn; - - /** - * 기타 내용 - */ - private String etcCn; - - /** - * 전자납부번호 - */ - private String epayno; - - /** - * 은행 명 - */ - private String bankNm; - - /** - * 가상 계좌번호 - */ - private String vrActno; - - /** - * 은행 명 2 - */ - private String bankNm2; - - /** - * 가상 계좌번호 2 - */ - private String vrActno2; - - /** - * 은행 명 3 - */ - private String bankNm3; - - /** - * 가상 계좌번호 3 - */ - private String vrActno3; - - /** - * 은행 명 4 - */ - private String bankNm4; - - /** - * 가상 계좌번호 4 - */ - private String vrActno4; - - /** - * 은행 명 5 - */ - private String bankNm5; - - /** - * 가상 계좌번호 5 - */ - private String vrActno5; - - /** - * 은행 명 6 - */ - private String bankNm6; - - /** - * 가상 계좌번호 6 - */ - private String vrActno6; - - /** - * 은행 명 7 - */ - private String bankNm7; - - /** - * 가상 계좌번호 7 - */ - private String vrActno7; - - /** - * 은행 명 8 - */ - private String bankNm8; - - /** - * 가상 계좌번호 8 - */ - private String vrActno8; - - /** - * 은행 명 9 - */ - private String bankNm9; - - /** - * 가상 계좌번호 9 - */ - private String vrActno9; - - /** - * 은행 명 10 - */ - private String bankNm10; - - /** - * 가상 계좌번호 10 - */ - private String vrActno10; - - /** - * 은행 명 11 - */ - private String bankNm11; - - /** - * 가상 계좌번호 11 - */ - private String vrActno11; - - /** - * 은행 명 12 - */ - private String bankNm12; - - /** - * 가상 계좌번호 12 - */ - private String vrActno12; - /** - * 은행 명 13 - */ - private String bankNm13; - - /** - * 가상 계좌번호 13 - */ - private String vrActno13; - /** - * 은행 명 14 - */ - private String bankNm14; - - /** - * 가상 계좌번호 14 - */ - private String vrActno14; - /** - * 은행 명 15 - */ - private String bankNm15; - - /** - * 가상 계좌번호 15 - */ - private String vrActno15; - /** - * 은행 명 16 - */ - private String bankNm16; - - /** - * 가상 계좌번호 16 - */ - private String vrActno16; - /** - * 은행 명 17 - */ - private String bankNm17; - - /** - * 가상 계좌번호 17 - */ - private String vrActno17; - /** - * 은행 명 18 - */ - private String bankNm18; - - /** - * 가상 계좌번호 18 - */ - private String vrActno18; - /** - * 은행 명 19 - */ - private String bankNm19; - - /** - * 가상 계좌번호 19 - */ - private String vrActno19; - /** - * 은행 명 20 - */ - private String bankNm20; - - /** - * 가상 계좌번호 20 - */ - private String vrActno20; - /** - * 세외수입 부과 키 - */ - private String nxrpLevyKey; - - /** - * 삭제 여부 - */ - private String delYn; - - /** - * 삭제 사유 - */ - private String delRsn; - - /** - * 단속 Ids - */ - private String[] crdnIds; - -} diff --git a/src/main/java/cokr/xit/fims/levy/LevyQuery.java b/src/main/java/cokr/xit/fims/levy/LevyQuery.java deleted file mode 100644 index a92e63de..00000000 --- a/src/main/java/cokr/xit/fims/levy/LevyQuery.java +++ /dev/null @@ -1,428 +0,0 @@ -package cokr.xit.fims.levy; - -import cokr.xit.fims.cmmn.CmmnQuery; - -/**과태료 부과 대장 정보 조회 요청 - * - *

    상세 설명: - * - *

    - * ============ 변경 이력 ============
    - * 2023-08-30	JoJH 최초 작성
    - * ================================
    - * 
    - */ -public class LevyQuery extends CmmnQuery { - - private static final long serialVersionUID = 1L; - - // ID - private String[] crdnIds; // 단속 Ids - private String crdnId; // 단속 ID - private String[] levyIds; // 부과 Ids - private String levyId; // 부과 ID - private String[] rdctIds; // 감경 Ids - private String rdctId; // 감경 ID - // 검색 조건 - private String schFyr; // 회계연도 - private String schLevyNoFrom; // 부과 번호 시작 - private String schLevyNoTo; // 부과 번호 종료 - private String schRdctSeCd; // 감경 구분 코드 - private String schLevyYmdFrom; // 부과 일자 시작 - private String schLevyYmdTo; // 부과 일자 종료 - private String schRdctYmdFrom; // 감경 일자 시작 - private String schRdctYmdTo; // 감경 일자 종료 - private String schRdctRsnCd; // 감경 사유 코드 - private String schCrdnYmdFrom; // 단속 일자 시작 - private String schCrdnYmdTo; // 단속 일자 종료 - private String schVhrno; // 차량번호 - private String schCrdnSttsCd; // 단속 상태 코드 - private String schVltnCd; // 위반 코드 - private String schCvlcptRcptYmdFrom; // 민원 접수 일자 시작 - private String schCvlcptRcptYmdTo; // 민원 접수 일자 종료 - private String schCvlcptPrcsCmptnDtFrom; // 민원 처리 완료 일시 시작 - private String schCvlcptPrcsCmptnDtTo; // 민원 처리 완료 일시 종료 - private String schCvlcptPrcsPic; // 민원 처리 담당자 - private String schRtpyrNo; // 납부자 번호 - private String schRtpyrNm; // 납부자 명 - // 상세 검색 조건 - - // ETC - private String callPurpose; // infoDialog 호출 용도(view 조회(편집불가), create 등록, update 수정, refresh 재조회). - private String delRsn; // 삭제 사유 - private String tnocs; // 총 건수 - private String gramtFfnlgAmt; // 총 금액 - private String gramtAdvntceAmt; // 총 감경부과 금액 - // 부과 등록 - private String fyr; // 회계연도 - private String acntgSeCd; // 회계 구분 코드 - private String txitmCd; // 세목 코드 - private String operItemCd; // 운영 항목 코드 - private String levyYmd; // 부과 일자 - private String dudtYmd; // 납기 일자 - private String crdnSttsCd; // 단속 상태 코드 - - // ID - public String[] getCrdnIds() { - return ifEmpty(crdnIds, () -> null); - } - - public T setCrdnIds(String... crdnIds) { - this.crdnIds = crdnIds; - return self(); - } - - public String getCrdnId() { - return ifEmpty(crdnId, () -> null); - } - - public T setCrdnId(String crdnId) { - this.crdnId = crdnId; - return self(); - } - - public String[] getLevyIds() { - return ifEmpty(levyIds, () -> null); - } - - public T setLevyIds(String... levyIds) { - this.levyIds = levyIds; - return self(); - } - - public String getLevyId() { - return ifEmpty(levyId, () -> null); - } - - public T setLevyId(String levyId) { - this.levyId = levyId; - return self(); - } - - public String[] getRdctIds() { - return ifEmpty(rdctIds, () -> null); - } - - public T setRdctIds(String... rdctIds) { - this.rdctIds = rdctIds; - return self(); - } - - public String getRdctId() { - return ifEmpty(rdctId, () -> null); - } - - public T setRdctId(String rdctId) { - this.rdctId = rdctId; - return self(); - } - - // 검색 조건 ////////////////////////////////////////////////////////////////// - public String getSchRdctYmdFrom() { - return ifEmpty(schRdctYmdFrom, () -> null); - } - - public T setSchRdctYmdFrom(String schRdctYmdFrom) { - this.schRdctYmdFrom = schRdctYmdFrom; - return self(); - } - - public String getSchRdctYmdTo() { - return ifEmpty(schRdctYmdTo, () -> null); - } - - public T setSchRdctYmdTo(String schRdctYmdTo) { - this.schRdctYmdTo = schRdctYmdTo; - return self(); - } - - public String getSchRdctRsnCd() { - return ifEmpty(schRdctRsnCd, () -> null); - } - - public T setSchRdctRsnCd(String schRdctRsnCd) { - this.schRdctRsnCd = schRdctRsnCd; - return self(); - } - - public String getSchFyr() { - return ifEmpty(schFyr, () -> null); - } - - public T setSchFyr(String schFyr) { - this.schFyr = schFyr; - return self(); - } - - public String getSchLevyNoFrom() { - return ifEmpty(schLevyNoFrom, () -> null); - } - - public T setSchLevyNoFrom(String schLevyNoFrom) { - this.schLevyNoFrom = schLevyNoFrom; - return self(); - } - - public String getSchLevyNoTo() { - return ifEmpty(schLevyNoTo, () -> null); - } - - public T setSchLevyNoTo(String schLevyNoTo) { - this.schLevyNoTo = schLevyNoTo; - return self(); - } - - public String getSchRdctSeCd() { - return ifEmpty(schRdctSeCd, () -> null); - } - - public T setSchRdctSeCd(String schRdctSeCd) { - this.schRdctSeCd = schRdctSeCd; - return self(); - } - - public String getSchLevyYmdFrom() { - return ifEmpty(schLevyYmdFrom, () -> null); - } - - public T setSchLevyYmdFrom(String schLevyYmdFrom) { - this.schLevyYmdFrom = schLevyYmdFrom; - return self(); - } - - public String getSchLevyYmdTo() { - return ifEmpty(schLevyYmdTo, () -> null); - } - - public T setSchLevyYmdTo(String schLevyYmdTo) { - this.schLevyYmdTo = schLevyYmdTo; - return self(); - } - - public String getSchCrdnYmdFrom() { - return ifEmpty(schCrdnYmdFrom, () -> null); - } - - public T setSchCrdnYmdFrom(String schCrdnYmdFrom) { - this.schCrdnYmdFrom = schCrdnYmdFrom; - return self(); - } - - public String getSchCrdnYmdTo() { - return ifEmpty(schCrdnYmdTo, () -> null); - } - - public T setSchCrdnYmdTo(String schCrdnYmdTo) { - this.schCrdnYmdTo = schCrdnYmdTo; - return self(); - } - - public String getSchVhrno() { - return ifEmpty(schVhrno, () -> null); - } - - public T setSchVhrno(String schVhrno) { - this.schVhrno = schVhrno; - return self(); - } - - public String getSchCrdnSttsCd() { - return ifEmpty(schCrdnSttsCd, () -> null); - } - - public T setSchCrdnSttsCd(String schCrdnSttsCd) { - this.schCrdnSttsCd = schCrdnSttsCd; - return self(); - } - - public String getSchVltnCd() { - return ifEmpty(schVltnCd, () -> null); - } - - public T setSchVltnCd(String schVltnCd) { - this.schVltnCd = schVltnCd; - return self(); - } - - public String getSchCvlcptRcptYmdFrom() { - return ifEmpty(schCvlcptRcptYmdFrom, () -> null); - } - - public T setSchCvlcptRcptYmdFrom(String schCvlcptRcptYmdFrom) { - this.schCvlcptRcptYmdFrom = schCvlcptRcptYmdFrom; - return self(); - } - - public String getSchCvlcptRcptYmdTo() { - return ifEmpty(schCvlcptRcptYmdTo, () -> null); - } - - public T setSchCvlcptRcptYmdTo(String schCvlcptRcptYmdTo) { - this.schCvlcptRcptYmdTo = schCvlcptRcptYmdTo; - return self(); - } - - public String getSchCvlcptPrcsCmptnDtFrom() { - return ifEmpty(schCvlcptPrcsCmptnDtFrom, () -> null); - } - - public T setSchCvlcptPrcsCmptnDtFrom(String schCvlcptPrcsCmptnDtFrom) { - this.schCvlcptPrcsCmptnDtFrom = schCvlcptPrcsCmptnDtFrom; - return self(); - } - - public String getSchCvlcptPrcsCmptnDtTo() { - return ifEmpty(schCvlcptPrcsCmptnDtTo, () -> null); - } - - public T setSchCvlcptPrcsCmptnDtTo(String schCvlcptPrcsCmptnDtTo) { - this.schCvlcptPrcsCmptnDtTo = schCvlcptPrcsCmptnDtTo; - return self(); - } - - public String getSchCvlcptPrcsPic() { - return ifEmpty(schCvlcptPrcsPic, () -> null); - } - - public T setSchCvlcptPrcsPic(String schCvlcptPrcsPic) { - this.schCvlcptPrcsPic = schCvlcptPrcsPic; - return self(); - } - - public String getSchRtpyrNo() { - return ifEmpty(schRtpyrNo, () -> null); - } - - public T setSchRtpyrNo(String schRtpyrNo) { - this.schRtpyrNo = schRtpyrNo; - return self(); - } - - public String getSchRtpyrNm() { - return ifEmpty(schRtpyrNm, () -> null); - } - - public T setSchRtpyrNm(String schRtpyrNm) { - this.schRtpyrNm = schRtpyrNm; - return self(); - } - // 검색 조건 ////////////////////////////////////////////////////////////////// - - // 상세 검색 조건 /////////////////////////////////////////////////////////////// - - // 상세 검색 조건 /////////////////////////////////////////////////////////////// - - // ETC //////////////////////////////////////////////////////////////////// - public String getCallPurpose() { - return ifEmpty(callPurpose, () -> null); - } - - public T setCallPurpose(String callPurpose) { - this.callPurpose = callPurpose; - return self(); - } - - public String getDelRsn() { - return ifEmpty(delRsn, () -> null); - } - - public T setDelRsn(String delRsn) { - this.delRsn = delRsn; - return self(); - } - // ETC ///////////////////////////////////////////////////////////////////// - - public String getTnocs() { - return ifEmpty(tnocs, () -> null); - } - - public T setTnocs(String tnocs) { - this.tnocs = tnocs; - return self(); - } - - public String getGramtFfnlgAmt() { - return ifEmpty(gramtFfnlgAmt, () -> null); - } - - public T setGramtFfnlgAmt(String gramtFfnlgAmt) { - this.gramtFfnlgAmt = gramtFfnlgAmt; - return self(); - } - - public String getGramtAdvntceAmt() { - return ifEmpty(gramtAdvntceAmt, () -> null); - } - - public T setGramtAdvntceAmt(String gramtAdvntceAmt) { - this.gramtAdvntceAmt = gramtAdvntceAmt; - return self(); - } - // ETC //////////////////////////////////////////////////////////////////// - - // 부과 등록 ////////////////////////////////////////////////////////////////// - public String getFyr() { - return ifEmpty(fyr, () -> null); - } - - public T setFyr(String fyr) { - this.fyr = fyr; - return self(); - } - - public String getAcntgSeCd() { - return ifEmpty(acntgSeCd, () -> null); - } - - public T setAcntgSeCd(String acntgSeCd) { - this.acntgSeCd = acntgSeCd; - return self(); - } - - public String getTxitmCd() { - return ifEmpty(txitmCd, () -> null); - } - - public T setTxitmCd(String txitmCd) { - this.txitmCd = txitmCd; - return self(); - } - - public String getOperItemCd() { - return ifEmpty(operItemCd, () -> null); - } - - public T setOperItemCd(String operItemCd) { - this.operItemCd = operItemCd; - return self(); - } - - public String getLevyYmd() { - return ifEmpty(levyYmd, () -> null); - } - - public T setLevyYmd(String levyYmd) { - this.levyYmd = levyYmd; - return self(); - } - - public String getDudtYmd() { - return ifEmpty(dudtYmd, () -> null); - } - - public T setDudtYmd(String dudtYmd) { - this.dudtYmd = dudtYmd; - return self(); - } - - public String getCrdnSttsCd() { - return ifEmpty(crdnSttsCd, () -> null); - } - - public T setCrdnSttsCd(String crdnSttsCd) { - this.crdnSttsCd = crdnSttsCd; - return self(); - } - // 부과 등록 ////////////////////////////////////////////////////////////////// - -} diff --git a/src/main/java/cokr/xit/fims/levy/Rdct.java b/src/main/java/cokr/xit/fims/levy/Rdct.java deleted file mode 100644 index 41de1d7e..00000000 --- a/src/main/java/cokr/xit/fims/levy/Rdct.java +++ /dev/null @@ -1,70 +0,0 @@ -package cokr.xit.fims.levy; - -import cokr.xit.foundation.AbstractEntity; -import lombok.Getter; -import lombok.Setter; - -/** - * 과태료 감경 대장 - * @author JoJH - */ -@Getter -@Setter -public class Rdct extends AbstractEntity { - - /** - * 감경 ID - */ - private String rdctId; - - /** - * 단속 ID - */ - private String crdnId; - - /** - * 납부자 ID - */ - private String rtpyrId; - - /** - * 감경 일자 - */ - private String rdctYmd; - - /** - * 감경 사유 코드 - */ - private String rdctRsnCd; - - /** - * 감경 금액 - */ - private Integer rdctAmt; - - /** - * 기타 내용 - */ - private String etcCn; - - /** - * 삭제 여부 - */ - private String delYn; - - /** - * 삭제 사유 - */ - private String delRsn; - - /** - * 감경 Ids - */ - private String[] rdctIds; - - /** - * 시군구 코드 - */ - private String sggCd; - -} diff --git a/src/main/java/cokr/xit/fims/levy/dao/LevyMapper.java b/src/main/java/cokr/xit/fims/levy/dao/LevyMapper.java deleted file mode 100644 index 23881c4f..00000000 --- a/src/main/java/cokr/xit/fims/levy/dao/LevyMapper.java +++ /dev/null @@ -1,140 +0,0 @@ -package cokr.xit.fims.levy.dao; - -import java.util.List; - -import org.egovframe.rte.psl.dataaccess.mapper.Mapper; - -import cokr.xit.foundation.component.AbstractMapper; -import cokr.xit.foundation.data.DataObject; -import cokr.xit.fims.levy.Levy; -import cokr.xit.fims.levy.LevyQuery; - -/** 부과 대장 정보 DAO - * - *

    상세 설명: - * - *

    - * ============ 변경 이력 ============
    - * 2023-08-30	JoJH 최초 작성
    - * ================================
    - * 
    - */ -@Mapper("levyMapper") -public interface LevyMapper extends AbstractMapper { - - /**지정한 조건에 따라 감경부과 대상 목록을 조회하여 반환한다.
    - * @param req 부과 대장 조회 조건 - * @return 부과 대장 목록 - */ - List selectRdctLevyTrgtList(LevyQuery req); - - /**지정한 조건에 따라 감경부과 대상 단속ID 목록을 조회하여 반환한다.
    - * @param req 부과 대장 조회 조건 - * @return 단속 ID 목록 - */ - List selectRdctLevyTrgtIds(LevyQuery req); - - /**지정한 조건에 따라 부과 대장 목록을 조회하여 반환한다.
    - * @param req 부과 대장 조회 조건 - * @return 부과 대장 목록 - */ - List selectLevyList(LevyQuery req); - - /**지정한 조건에 따라 부과 대장 객체들을 반환한다. - * @param req 부과 대장 조회 조건 - * @return 부과 대장 객체 목록 - */ - List selectLevys(LevyQuery req); - - /**지정한 부과 ID에 따라 부과 대장 객체를 반환한다. - * @param levyId 부과 ID - * @return 부과 대장 객체 - */ - default DataObject selectLevyInfo(LevyQuery req) { - // 삭제 여부 확인 - if (req.getDelYn() == null) { - req.setDelYn("N"); - } - // 기본 정렬 - if (req.getOrderBy() == null) { - req.setOrderBy("L.LEVY_ID DESC"); - } - - List levys = selectLevys(req); - - return !levys.isEmpty() ? levys.get(0) : null; - } - - /**지정한 단속 ID에 따라 단속 대장 객체를 반환한다. - * @param crdnId 단속 ID - * @return 고지 번호 - */ - String selectMaxLevyNo(LevyQuery req); - - /**부과 대장 정보를 등록한다. - * @param params 파라미터 - *
    • "levy" - 부과 대장
    • - *
    • "currentUser" - 현재 접속한 사용자
    • - *
    - * @return 저장된 정보수 - */ - int insertLevy(Levy levy); - - /**부과 대장 정보를 수정한다. - * @param params 파라미터 - *
    • "levy" - 부과 대장
    • - *
    • "currentUser" - 현재 접속한 사용자
    • - *
    - * @return 저장된 정보수 - */ - int updateLevy(Levy levy); - - /**부과 대장에 부과일자, 최초납기일자, 납기일자 정보를 수정한다. - * @param levy 부과 대장 - * @return 저장 여부 - *
    • 저장됐으면 true
    • - *
    • 그렇지 않으면 false
    • - *
    - */ - int updateRdctLevyYmd(Levy levy); - - /**부과 대장에 수납 금액 정보를 수정한다. - * @param levy 부과 대장 - * @return 저장 여부 - *
    • 저장됐으면 true
    • - *
    • 그렇지 않으면 false
    • - *
    - */ - int updateRcvmt(Levy levy); - - /**부과 대장에 감액 금액 정보를 수정한다. - * @param levy 부과 대장 - * @return 저장 여부 - *
    • 저장됐으면 true
    • - *
    • 그렇지 않으면 false
    • - *
    - */ - int updateRdamt(Levy levy); - - /**지정한 부과 대장을 삭제한다. - * @param params 파라미터 - *
    • "levy" - 부과 대장
    • - *
    • "currentUser" - 현재 접속한 사용자
    • - *
    - * @return 저장된 정보수 - */ - int deleteLevy(Levy levy); - - /**지정한 단속 ID로 단속 대장 객체를 반환한다. - * @param crdnId 단속 ID - * @return 단속 대장 객체 - */ - DataObject selectCrdn(String crdnId); - - /**지정한 조건에 따라 부과 대장 객체들을 반환한다. - * @param req 부과 대장 조회 조건 - * @return 부과 대장 객체 목록 - */ - DataObject selectLevyAmt(LevyQuery req); - -} diff --git a/src/main/java/cokr/xit/fims/levy/dao/RdctMapper.java b/src/main/java/cokr/xit/fims/levy/dao/RdctMapper.java deleted file mode 100644 index 5db4ce62..00000000 --- a/src/main/java/cokr/xit/fims/levy/dao/RdctMapper.java +++ /dev/null @@ -1,108 +0,0 @@ -package cokr.xit.fims.levy.dao; - -import java.util.List; - -import org.egovframe.rte.psl.dataaccess.mapper.Mapper; - -import cokr.xit.foundation.component.AbstractMapper; -import cokr.xit.foundation.data.DataObject; -import cokr.xit.fims.levy.Rdct; -import cokr.xit.fims.crdn.Crdn; -import cokr.xit.fims.levy.Levy; -import cokr.xit.fims.levy.LevyQuery; - -/** 과태료 감경 대장 정보 DAO - * - *

    상세 설명: - * - *

    - * ============ 변경 이력 ============
    - * 2023-08-30	JoJH 최초 작성
    - * ================================
    - * 
    - */ -@Mapper("rdctMapper") -public interface RdctMapper extends AbstractMapper { - - /**지정한 조건에 따라 과태료 감경 대장 목록을 조회하여 반환한다.
    - * @param req 과태료 감경 대장 조회 조건 - * @return 과태료 감경 대장 목록 - */ - List selectRdctList(LevyQuery req); - - /**지정한 조건에 따라 과태료 감경 대장 객체들을 반환한다. - * @param req 과태료 감경 대장 조회 조건 - * @return 과태료 감경 대장 객체 목록 - */ - List selectRdcts(LevyQuery req); - - /**지정한 조건에 따라 과태료 감경 대장 객체의 마지막 1개를 반환한다. - * @param req 과태료 감경 대장 조회 조건 - * @return 과태료 감경 대장 객체 - */ - default DataObject selectRdctInfo(LevyQuery req) { - // 삭제 여부 확인 - if (req.getDelYn() == null) { - req.setDelYn("N"); - } - // 기본 정렬 - if (req.getOrderBy() == null) { - req.setOrderBy("R.RDCT_ID DESC"); - } - - List rdcts = selectRdcts(req); - - return !rdcts.isEmpty() ? rdcts.get(0) : null; - } - - /**과태료 감경 대장 정보를 등록한다. - * @param params 파라미터 - *
    • "rdct" - 과태료 감경 대장
    • - *
    • "currentUser" - 현재 접속한 사용자
    • - *
    - * @return 저장된 정보수 - */ - int insertRdct(Rdct rdct); - - /**과태료 감경 대장 정보를 수정한다. - * @param params 파라미터 - *
    • "rdct" - 과태료 감경 대장
    • - *
    • "currentUser" - 현재 접속한 사용자
    • - *
    - * @return 저장된 정보수 - */ - int updateRdct(Rdct rdct); - - /**지정한 과태료 감경 대장을 삭제한다. - * @param params 파라미터 - *
    • "rdct" - 과태료 감경 대장
    • - *
    • "currentUser" - 현재 접속한 사용자
    • - *
    - * @return 저장된 정보수 - */ - int deleteRdct(Rdct rdct); - - /**지정한 단속 ID의 단속, 부과제외 정보를 반환한다. - * @param crdnId 단속 ID - * @return 단속, 부과제외 정보 - */ - DataObject selectCrdn(LevyQuery req); - - default DataObject selectCrdnInfo(String crdnId) { - DataObject rdctInfo = selectCrdn(new LevyQuery().setCrdnId(crdnId)); - - return rdctInfo; - } - - /**단속(TB_CRDN) 대장의 금액을 수정한다. - * @param crdn 단속 대장 - * @return 저장된 정보수 - */ - int updateCrdnRdct(Crdn crdn); - - /**부과(TB_LEVY) 대장의 금액을 수정한다. - * @param levy 부과 대장 - * @return 저장된 정보수 - */ - int updateLevyRdct(Levy levy); -} diff --git a/src/main/java/cokr/xit/fims/levy/service/LevyService.java b/src/main/java/cokr/xit/fims/levy/service/LevyService.java deleted file mode 100644 index db3d0852..00000000 --- a/src/main/java/cokr/xit/fims/levy/service/LevyService.java +++ /dev/null @@ -1,62 +0,0 @@ -package cokr.xit.fims.levy.service; - -import java.util.List; - -import cokr.xit.foundation.data.DataObject; -import cokr.xit.fims.levy.Levy; -import cokr.xit.fims.levy.LevyQuery; - -/**부과 대장 관리 서비스 인터페이스. - * - *

    상세 설명: - * - *

    - * ============ 변경 이력 ============
    - * 2023-08-30	JoJH 최초 작성
    - * ================================
    - * 
    - */ -public interface LevyService { - - /**지정한 조건에 따라 감경부과 대상 목록을 조회하여 반환한다. - * @param req 부과 대장 조회 조건 - * @return 부과 대장 목록 - */ - List getRdctLevyTrgtList(LevyQuery req); - - /**지정한 조건에 따라 부과 대장 목록을 조회하여 반환한다. - * @param req 부과 대장 조회 조건 - * @return 부과 대장 목록 - */ - List getLevyList(LevyQuery req); - - /**지정한 조건에 따라 부과 대장 객체들을 반환한다. - * @param req 부과 대장 조회 조건 - * @return 부과 대장 객체 목록 - */ - List getLevys(LevyQuery req); - - /**지정한 부과 ID의 부과 대장 객체를 반환한다.
    - * @param req 부과 대장 조회 조건 - * @return 부과 대장 객체 - */ - DataObject getLevyInfo(LevyQuery req); - - /**지정한 회계연도, 회계구분코드, 세목코드의 새로운 부과번호를 반환한다.
    - * @param req 부과 대장 조회 조건 - * @return 부과 대장 객체 - */ - String getMaxLevyNo(LevyQuery req); - - /**사전 부과 대장 정보를 등록한다. - * @param req 부과 대장 조회 조건 - * @return 저장 여부 - *
    • 저장됐으면 true
    • - *
    • 그렇지 않으면 false
    • - *
    - */ - String createRdctLevy(Levy levy); - - String createRdctLevyList(LevyQuery req); - -} diff --git a/src/main/java/cokr/xit/fims/levy/service/RdctService.java b/src/main/java/cokr/xit/fims/levy/service/RdctService.java deleted file mode 100644 index c22ccb61..00000000 --- a/src/main/java/cokr/xit/fims/levy/service/RdctService.java +++ /dev/null @@ -1,68 +0,0 @@ -package cokr.xit.fims.levy.service; - -import java.util.List; - -import cokr.xit.foundation.data.DataObject; - -import cokr.xit.fims.levy.Rdct; -import cokr.xit.fims.levy.LevyQuery; - -/**과태료 감경 대장 관리 서비스 인터페이스. - * - *

    상세 설명: - * - *

    - * ============ 변경 이력 ============
    - * 2023-08-30	JoJH 최초 작성
    - * ================================
    - * 
    - */ -public interface RdctService { - - /**지정한 조건에 따라 과태료 감경 대장 목록을 조회하여 반환한다. - * @param req 과태료 감경 대장 조회 조건 - * @return 과태료 감경 대장 목록 - */ - List getRdctList(LevyQuery req); - - /**지정한 조건에 따라 과태료 감경 대장 객체들을 반환한다. - * @param req 과태료 감경 대장 조회 조건 - * @return 과태료 감경 대장 객체 목록 - */ - List getRdcts(LevyQuery req); - - /**지정한 감경 ID의 과태료 감경 대장 객체를 반환한다.
    - * @param req 과태료 감경 대장 조회 조건 - * @return 과태료 감경 대장 객체 - */ - DataObject getRdctInfo(LevyQuery req); - - /**과태료 감경 대장 정보를 등록한다. - * @param rdct 과태료 감경 대장 - * @return 저장 여부 - *
    • 저장됐으면 true
    • - *
    • 그렇지 않으면 false
    • - *
    - */ - String createRdct(Rdct rdct); - - /**과태료 감경 대장 정보를 수정한다. - * @param rdct 과태료 감경 대장 - * @return 저장 여부 - *
    • 저장됐으면 true
    • - *
    • 그렇지 않으면 false
    • - *
    - */ - String updateRdct(Rdct rdct); - - /**과태료 감경 대장 정보를 삭제한다. - * @param rdct 과태료 감경 대장 - * @return 저장 여부 - *
    • 저장됐으면 true
    • - *
    • 그렇지 않으면 false
    • - *
    - */ - String removeRdct(Rdct rdct); - - -} diff --git a/src/main/java/cokr/xit/fims/levy/service/bean/LevyBean.java b/src/main/java/cokr/xit/fims/levy/service/bean/LevyBean.java deleted file mode 100644 index 2a593fb9..00000000 --- a/src/main/java/cokr/xit/fims/levy/service/bean/LevyBean.java +++ /dev/null @@ -1,312 +0,0 @@ -package cokr.xit.fims.levy.service.bean; - -import java.util.List; - -import javax.annotation.Resource; - -import org.springframework.stereotype.Component; - -import cokr.xit.fims.base.FimsUser; -import cokr.xit.fims.cmmn.CmmnUtil; -import cokr.xit.fims.cmmn.CrdnSttsHstry; -import cokr.xit.fims.cmmn.service.bean.CrdnSttsHstryBean; -import cokr.xit.fims.levy.Levy; -import cokr.xit.fims.levy.LevyQuery; -import cokr.xit.fims.levy.dao.LevyMapper; -import cokr.xit.foundation.component.AbstractBean; -import cokr.xit.foundation.data.DataObject; - -/**부과 대장 정보 관리 Bean - * - *

    상세 설명: - * - *

    - * ============ 변경 이력 ============
    - * 2023-08-30	JoJH 최초 작성
    - * ================================
    - * 
    - */ -@Component("levyBean") -public class LevyBean extends AbstractBean { - - /** 부과 대장 정보 DAO */ - @Resource(name = "levyMapper") - private LevyMapper levyMapper; - - /** 단속 상태 이력 정보 Bean */ - @Resource(name = "crdnSttsHstryBean") - private CrdnSttsHstryBean crdnSttsHstryBean; - - /**지정한 조건에 따라 감경부과 대상 목록을 조회하여 반환한다. - * @param req 부과 대장 조회 조건 - * @return 부과 대장 목록 - */ - public List getRdctLevyTrgtList(LevyQuery req) { - // 삭제 여부 확인 - if (req.getDelYn() == null) { - req.setDelYn("N"); - } - // 정렬 확인 - if (req.getOrderBy() == null) { - if (req.getBy() == null) { - req.setOrderBy("REG_DT"); - } else { - req.setOrderBy(CmmnUtil.convertCamelCaseToSnakeCase(req.getBy())); - } - } - - return levyMapper.selectRdctLevyTrgtList(req); - } - - /**지정한 조건에 따라 부과 대장 목록을 조회하여 반환한다. - * @param req 부과 대장 조회 조건 - * @return 부과 대장 목록 - */ - public List getLevyList(LevyQuery req) { - // 삭제 여부 확인 - if (req.getDelYn() == null) { - req.setDelYn("N"); - } - // 정렬 확인 - if (req.getOrderBy() == null) { - if (req.getBy() == null) { - req.setOrderBy("REG_DT"); - } else { - req.setOrderBy(CmmnUtil.convertCamelCaseToSnakeCase(req.getBy())); - } - } - - return levyMapper.selectLevyList(req); - } - - /**지정한 조건에 따라 부과 대장 객체들을 반환한다. - * @param req 부과 대장 조회 조건 - * @return 부과 대장 객체 목록 - */ - public List getLevys(LevyQuery req) { - // 삭제 여부 확인 - if (req.getDelYn() == null) { - req.setDelYn("N"); - } - if (req.getOrderBy() == null) { - req.setOrderBy("L.LEVY_ID DESC"); - } - - return levyMapper.selectLevys(req); - } - - /**지정한 부과 ID의 부과 대장 객체를 반환한다.
    - * @param req 부과 대장 조회 조건 - * @return 부과 대장 객체 - */ - public DataObject getLevyInfo(LevyQuery req) { - return levyMapper.selectLevyInfo(req); - } - - /**지정한 회계연도의 부과 번호를 반환한다.
    - * @param req 부과 대장 조회 조건 - * @return 부과 대장 객체 - */ - public String getMaxLevyNo(LevyQuery req) { - return levyMapper.selectMaxLevyNo(req); - } - - /**사전부과 대상 목록 정보를 부과 대장에 등록한다. - * @param levy 부과 대장 - * @return 저장 여부 - *
    • 저장됐으면 true
    • - *
    • 그렇지 않으면 false
    • - *
    - */ - public String createRdctLevyList(LevyQuery req) { - // 변수 선언 - String rtnMsg = ""; // 처리 결과 메시지 - - // 최초 조회 - List trgtList = levyMapper.selectRdctLevyTrgtIds(req); - - // 조회 건수와 등록 대상 건수 확인 - if (!req.getTnocs().equals(Integer.toString(trgtList.size()))) { - rtnMsg = "[F] 조회된 총 건수와 대상 건수가 다릅니다."; - return rtnMsg; - } - - for (int iLoop = 0; iLoop < trgtList.size(); iLoop++) { - Levy levy = new Levy(); - levy.setSggCd(trgtList.get(iLoop).string("SGG_CD")); // 시군구 코드 - levy.setTaskSeCd(trgtList.get(iLoop).string("TASK_SE_CD")); // 업무 구분 코드 - levy.setCrdnId(trgtList.get(iLoop).string("CRDN_ID")); // 단속 ID - levy.setLevyYmd(req.getLevyYmd()); // 부과 일자 - levy.setFrstDudtYmd(req.getDudtYmd()); // 최초 납기 일자 - levy.setDudtYmd(req.getDudtYmd()); // 납기 일자 - - // 사전부과 정보를 부과 대장에 등록한다. - rtnMsg = createRdctLevy(levy); - if (!rtnMsg.contains("[S]")) { - throw new RuntimeException(rtnMsg); - } - } - - return "[S] 작업이 정상 처리 되었습니다."; - } - - /**사전부과 정보를 부과 대장에 등록한다. - * @param levy 부과 대장 - * @return 저장 여부 - *
    • 저장됐으면 true
    • - *
    • 그렇지 않으면 false
    • - *
    - */ - public String createRdctLevy(Levy levy) { - // 변수 선언 - boolean rtnScs = false; // DB 처리 결과 - int rtnNocs = -1; // 처리 결과 건수 - String rtnMsg = ""; // 처리 결과 메시지 - - // 사용자 정보 - FimsUser fimsUser = (FimsUser)currentUser().getUser(); - - // 단속 정보 - DataObject crdnInfo = levyMapper.selectCrdn(levy.getCrdnId()); - - // 전용차로위반, 주정차위반 과태료가 아니라면 오류. - if (!"BPV,PVS".contains(crdnInfo.string("TASK_SE_CD"))) { - rtnMsg = "[F] 작업 중 " + crdnInfo.string("TASK_SE_NM") + " 업무는 사전부과를 할 수 없습니다."; - return rtnMsg; - } - if (!crdnInfo.string("LEVY_ID").equals("")) { - rtnMsg = "[F] 작업 중 이미 감경 부과된 자료가 있습니다."; - return rtnMsg; - } - if (crdnInfo.number("CRDN_STTS_CD").intValue() > 31 ) { - rtnMsg = "[F] 작업 중 단속 상태가 " + crdnInfo.string("CRDN_STTS_NM") + " 자료가 있습니다."; - return rtnMsg; - } - if (crdnInfo.string("RTPYR_ID").equals("")) { - rtnMsg = "[F] 작업 중 납부자 정보가 없는 자료가 있습니다."; - return rtnMsg; - } - - // 부과 정보 - levy.setInstCd(fimsUser.getInstitute()); // 기관 코드 - levy.setDeptCd(fimsUser.getDeptCode()); // 부서 코드 - levy.setSpclBizCd(crdnInfo.string("SPCL_BIZ_CD")); // 특별회계 사업 코드 - levy.setFyr(levy.getLevyYmd().substring(0, 4)); // 회계연도 - levy.setAcntgSeCd(crdnInfo.string("ACNTG_SE_CD")); // 회계 구분 코드 - levy.setTxitmCd(crdnInfo.string("TXITM_CD")); // 세목 코드 - levy.setOperItemCd(crdnInfo.string("OPER_ITEM_CD")); // 운영 항목 코드 - // MAX+1 부과 번호 - LevyQuery selectLevyNo = new LevyQuery(); - selectLevyNo.setSggCd(levy.getSggCd()); - selectLevyNo.setTaskSeCd(levy.getTaskSeCd()); - selectLevyNo.setFyr(levy.getFyr()); - selectLevyNo.setAcntgSeCd(crdnInfo.string("ACNTG_SE_CD")); - selectLevyNo.setTxitmCd(crdnInfo.string("TXITM_CD")); - selectLevyNo.setOperItemCd(crdnInfo.string("OPER_ITEM_CD")); - - levy.setLevyNo(levyMapper.selectMaxLevyNo(selectLevyNo)); // 부과 번호 (최종 부과번호+1 을 조회 한다.) - levy.setIspySn("00"); // 분납 일련번호 - levy.setLevySeCd("02"); // 부과 구분 코드 FIM040 - levy.setUntySeCd("02"); // 통합 구분 코드 FIM072 - if (crdnInfo.string("TASK_SE_CD").equals("BPV")) { - levy.setRdctSeCd("02"); // 감경 구분 코드 FIM046 - 02 미감경 - } else { - levy.setRdctSeCd("01"); // 감경 구분 코드 FIM046 - 01 감경 - } - levy.setFfnlgAmt(crdnInfo.number("FFNLG_AMT").intValue()); // 과태료 금액 - levy.setLevyPcptax(crdnInfo.number("ADVNTCE_AMT").intValue()); // 부과 본세 - levy.setSumAmt(crdnInfo.number("ADVNTCE_AMT").intValue()); // 합계 금액 - levy.setLevyAdamt(0); // 부과 가산금 - levy.setIspyInt(0); // 분납 이자 - levy.setRcvmtPcptax(0); // 수납 본세 - levy.setRcvmtAdamt(0); // 수납 가산금 - levy.setRdamtPcptax(0); // 감액 본세 - levy.setRdamtAdamt(0); // 감액 가산금 - levy.setTxtnThing(crdnInfo.string("VHRNO")); // 과세 물건 - levy.setMngItem1(crdnInfo.string("CRDN_YMD_TM_MASK")); // 관리 아이템1 - 위반일시 - levy.setMngItem2(crdnInfo.string("CRDN_STDG_NM") + " " + crdnInfo.string("CRDN_PLC")); // 관리 아이템2 - 장소 - levy.setMngItem3(crdnInfo.string("VLTN_LAW_NM") + " " + crdnInfo.string("VLTN_LAW1") + " " + crdnInfo.string("VLTN_LAW2")); // 관리 아이템3 - 법령 - levy.setMngItem4(crdnInfo.string("VLTN_ARTCL")); // 관리 아이템4 - 위반항목 - levy.setMngItem5(""); // 관리 아이템5 - levy.setMngItem6(crdnInfo.string("SGG_CD") + crdnInfo.string("CRDN_ID")); // 관리 아이템6 - 시군구코드 + 단속ID - - // 부과(TB_LEVY) 대장을 등록한다. - rtnNocs = levyMapper.insertLevy(levy); - if (rtnNocs != 1) { - throw new RuntimeException("감경부과 대장 등록에 실패하였습니다."); // 예외를 발생시켜서 DB Rollback - } - - // 단속상태이력(TB_CRDN_STTS_HSTRY) - CrdnSttsHstry crdnSttsHstry = new CrdnSttsHstry(); - crdnSttsHstry.setCrdnId(crdnInfo.string("CRDN_ID")); // 단속 ID - crdnSttsHstry.setBfrSttsCd(crdnInfo.string("CRDN_STTS_CD")); // 이전 단속 상태 코드 - crdnSttsHstry.setBfrSttsChgDt(crdnInfo.string("CRDN_STTS_CHG_DT")); // 이전 단속 상태 변경 일시 - crdnSttsHstry.setCrdnSttsCd("23"); // 단속 상태 코드(FIM010) - 23: 사전부과 - crdnSttsHstry.setTaskDtlId(levy.getLevyId()); // 부과 ID - - if (crdnInfo.number("CRDN_STTS_CD").intValue() >= 1 && crdnInfo.number("CRDN_STTS_CD").intValue() <= 22 ) { - // 단속 상태 이력(TB_CRDN_STTS_HSTRY) 대장에 등록하고, 단속(TB_CRDN) 대장을 수정한다. - rtnScs = crdnSttsHstryBean.createHstryUpdateCrdnSttsCd(crdnSttsHstry); - if (!rtnScs) { - throw new RuntimeException("감경부과 등록 중 단속 대장의 단속상태 변경에 실패하였습니다."); // 예외를 발생시켜서 DB Rollback - } - } else { - // 단속상태이력(TB_CRDN_STTS_HSTRY) 대장을 등록한다. - rtnScs = crdnSttsHstryBean.create(crdnSttsHstry); - if (!rtnScs) { - throw new RuntimeException("감경부과 등록 중 단속 대장의 단속상태 변경에 실패하였습니다."); // 예외를 발생시켜서 DB Rollback - } - } - - return "[S] 작업이 정상 처리 되었습니다."; - } - - /**감경부과 대장의 부과일자, 최초납기일자, 납기일자 정보를 수정한다. - * @param levy 부과 대장 - * @return 저장 여부 - *
    • 저장됐으면 true
    • - *
    • 그렇지 않으면 false
    • - *
    - */ - public String updateRdctLevyYmd(Levy levy) { - int rtnNocs = levyMapper.updateRdctLevyYmd(levy); - if (rtnNocs != 1) { - throw new RuntimeException("부과 대장에 사전 감경부과 일자 정보 수정에 실패하였습니다."); // 예외를 발생시켜서 DB Rollback - } - - return "[S] 작업이 정상 처리 되었습니다."; - } - - /**부과 대장에 수납 금액 정보를 수정한다. - * @param levy 부과 대장 - * @return 저장 여부 - *
    • 저장됐으면 true
    • - *
    • 그렇지 않으면 false
    • - *
    - */ - public String updateRcvmt(Levy levy) { - int rtnNocs = levyMapper.updateRcvmt(levy); - if (rtnNocs != 1) { - throw new RuntimeException("부과 대장에 수납금액 정보 수정에 실패하였습니다."); // 예외를 발생시켜서 DB Rollback - } - - return "[S] 작업이 정상 처리 되었습니다."; - } - - /**부과 대장에 감액 금액 정보를 수정한다. - * @param levy 부과 대장 - * @return 저장 여부 - *
    • 저장됐으면 true
    • - *
    • 그렇지 않으면 false
    • - *
    - */ - public String updateRdcamt(Levy levy) { - int rtnNocs = levyMapper.updateRdamt(levy); - if (rtnNocs != 1) { - throw new RuntimeException("부과 대장에 수납금액 정보 수정에 실패하였습니다."); // 예외를 발생시켜서 DB Rollback - } - - return "[S] 작업이 정상 처리 되었습니다."; - } - -} diff --git a/src/main/java/cokr/xit/fims/levy/service/bean/LevyServiceBean.java b/src/main/java/cokr/xit/fims/levy/service/bean/LevyServiceBean.java deleted file mode 100644 index 1c6b7ddc..00000000 --- a/src/main/java/cokr/xit/fims/levy/service/bean/LevyServiceBean.java +++ /dev/null @@ -1,67 +0,0 @@ -package cokr.xit.fims.levy.service.bean; - -import java.util.List; - -import javax.annotation.Resource; - -import org.springframework.stereotype.Service; - -import cokr.xit.foundation.component.AbstractServiceBean; -import cokr.xit.foundation.data.DataObject; -import cokr.xit.fims.levy.Levy; -import cokr.xit.fims.levy.LevyQuery; -import cokr.xit.fims.levy.service.LevyService; - -/**부과 대장 서비스 구현체. - * - *

    상세 설명: - * - *

    - * ============ 변경 이력 ============
    - * 2023-08-30	JoJH 최초 작성
    - * ================================
    - * 
    - */ -@Service("levyService") -public class LevyServiceBean extends AbstractServiceBean implements LevyService { - - /** 부과 대장 정보 Bean */ - @Resource(name = "levyBean") - private LevyBean levyBean; - - @Override - public List getRdctLevyTrgtList(LevyQuery req) { - return levyBean.getRdctLevyTrgtList(req); - } - - @Override - public List getLevyList(LevyQuery req) { - return levyBean.getLevyList(req); - } - - @Override - public List getLevys(LevyQuery req) { - return levyBean.getLevys(req); - } - - @Override - public DataObject getLevyInfo(LevyQuery req) { - return levyBean.getLevyInfo(req); - } - - @Override - public String getMaxLevyNo(LevyQuery req) { - return levyBean.getMaxLevyNo(req); - } - - @Override - public String createRdctLevy(Levy levy) { - return levyBean.createRdctLevy(levy); - } - - @Override - public String createRdctLevyList(LevyQuery req) { - return levyBean.createRdctLevyList(req); - } - -} diff --git a/src/main/java/cokr/xit/fims/levy/service/bean/RdctBean.java b/src/main/java/cokr/xit/fims/levy/service/bean/RdctBean.java deleted file mode 100644 index 628afe6a..00000000 --- a/src/main/java/cokr/xit/fims/levy/service/bean/RdctBean.java +++ /dev/null @@ -1,301 +0,0 @@ -package cokr.xit.fims.levy.service.bean; - -import java.util.List; - -import javax.annotation.Resource; - -import org.springframework.stereotype.Component; - -import cokr.xit.fims.crdn.Crdn; -import cokr.xit.fims.crdn.service.bean.CrdnStngBean; -import cokr.xit.fims.levy.Levy; -import cokr.xit.fims.levy.LevyQuery; -import cokr.xit.fims.levy.Rdct; -import cokr.xit.fims.levy.dao.RdctMapper; -import cokr.xit.foundation.component.AbstractBean; -import cokr.xit.foundation.data.DataObject; - -/**과태료 감경 대장 정보 관리 Bean - * - *

    상세 설명: - * - *

    - * ============ 변경 이력 ============
    - * 2023-08-30	JoJH 최초 작성
    - * ================================
    - * 
    - */ -@Component("rdctBean") -public class RdctBean extends AbstractBean { - - /** 과태료 감경 대장 정보 DAO */ - @Resource(name = "rdctMapper") - private RdctMapper rdctMapper; - - @Resource(name = "crdnStngBean") - private CrdnStngBean crdnStngBean; - - /**지정한 조건에 따라 과태료 감경 대장 목록을 조회하여 반환한다. - * @param req 과태료 감경 대장 조회 조건 - * @return 과태료 감경 대장 목록 - */ - public List getRdctList(LevyQuery req) { - if (req.getDelYn() == null) { - req.setDelYn("N"); - } - if (req.getOrderBy() == null) { - req.setOrderBy("REG_DT"); - } - - return rdctMapper.selectRdctList(req); - } - - /**지정한 조건에 따라 과태료 감경 대장 객체들을 반환한다. - * @param req 과태료 감경 대장 조회 조건 - * @return 과태료 감경 대장 객체 목록 - */ - public List getRdcts(LevyQuery req) { - if (req.getOrderBy() == null) { - req.setOrderBy("R.RDCT_ID DESC"); - } - - return rdctMapper.selectRdcts(req); - } - - /**지정한 감경 ID의 과태료 감경 대장 객체를 반환한다.
    - * @param req 과태료 감경 대장 조회 조건 - * @return 과태료 감경 대장 객체 - */ - public DataObject getRdctInfo(LevyQuery req) { - return rdctMapper.selectRdctInfo(req); - } - - /**지정한 단속 ID의 단속 정보를 반환한다.
    - * @param req 과태료 감경 대장 조회 조건 - * @return 단속 정보 - */ - - public DataObject getCrdnInfo(LevyQuery req) { - DataObject dataCrdn = rdctMapper.selectCrdn(req); - - if (req.getCallPurpose().equals("create")) { - dataCrdn.set("RDCT_YMD", dataCrdn.get("TODAY")); // 감경 일자 - dataCrdn.set("RDCT_AMT", dataCrdn.get("CALC_RDCT_AMT")); // 감경 금액 - } - - return dataCrdn; - } - - /**과태료 감경 대장 정보를 등록한다. - * @param rdct 과태료 감경 대장 - * @return 저장 여부 - *
    • 저장됐으면 true
    • - *
    • 그렇지 않으면 false
    • - *
    - */ - public String createRdct(Rdct rdct) { - // 변수 선언 - int rtnNocs = -1; // 처리 결과 건수 - String rtnMsg = "[F] "; // 처리 결과 메시지 - - // 단속 ID로 단속, 감경 정보 조회 - DataObject crdnRdctInfo = rdctMapper.selectCrdnInfo(rdct.getCrdnId()); - - // 감경 ID가 있다면 이미 부과제외 자료가 존재하므로 종료.. - if (!crdnRdctInfo.string("RDCT_ID").equals("")) { - rtnMsg = "[F] 작업 중 이미 등록된 자료가 존재합니다."; - return rtnMsg; - } - // 단속 상태 코드(CRDN_STTS_CD) 확인하여 부과(51) 이후라면.. - if (crdnRdctInfo.number("CRDN_STTS_CD").intValue() > 51) { - rtnMsg = "[F] 작업 중 오류가 발생하였습니다.
    현재 자료의 단속 상태가 " + crdnRdctInfo.string("CRDN_STTS_NM") + " 상태 입니다."; - return rtnMsg; - } - // 부과 가산금(LEVY_ADAMT)이 있다면.. - if (crdnRdctInfo.number("LEVY_ADAMT").intValue() > 0) { - rtnMsg = "[F] 작업 중 오류가 발생하였습니다.
    부과 가산금이 존재합니다."; - return rtnMsg; - } - - // 과태료 감경(TB_RDCT) 대장을 등록한다. - rtnNocs = rdctMapper.insertRdct(rdct); - if (rtnNocs != 1) { - throw new RuntimeException("과태료 감경 대장 등록에 실패하였습니다."); // 예외를 발생시켜서 DB Rollback - } - - int ffnlgAmt = 0; // 과태료 금액 - int advntceAmt = 0; // 사전통지 금액 - - ffnlgAmt = crdnRdctInfo.number("FFNLG_CRDN_AMT").intValue() - rdct.getRdctAmt(); // 과태료 단속 금액 - 감경 금액 - advntceAmt = ffnlgAmt - (ffnlgAmt * crdnRdctInfo.number("ADVNTCE_RDCRT").intValue() / 100); // 과태료 금액 - (과태료 금액 * 사전통지 감경 율 / 100) - - // 단속(TB_CRDN) 대장을 수정한다. - Crdn crdn = new Crdn(); - crdn.setCrdnId(rdct.getCrdnId()); // 단속 ID - crdn.setFfnlgRdcrt(crdnRdctInfo.string("WKSN_RDCRT")); // 과태료 감경 율 - crdn.setFfnlgAmt(ffnlgAmt); // 과태료 금액 - crdn.setAdvntceAmt(advntceAmt); // 사전통지 금액 - - rtnNocs = rdctMapper.updateCrdnRdct(crdn); - if (rtnNocs != 1) { - throw new RuntimeException("감경 등록 중 단속대장 금액 수정에 실패하였습니다."); // 예외를 발생시켜서 DB Rollback - } - - // 부과 ID가 존재한다면 부과(TB_LEVY) 대장을 수정한다. - if (!crdnRdctInfo.string("LEVY_ID").equals("")) { - // 가산금이 존재하는 확인 - if (crdnRdctInfo.number("LEVY_ADAMT").intValue() != 0 ) { - throw new RuntimeException("감경 등록 중 부과 대장에 가산금이 발생하여 부과 대장 수정에 실패하였습니다."); // 예외를 발생시켜서 DB Rollback - } - - Levy levy = new Levy(); - levy.setLevyId(crdnRdctInfo.string("LEVY_ID")); // 부과 ID - levy.setFfnlgAmt(ffnlgAmt); // 과태료 금액 - - // 단속상태코드가 부과(51)면 과태료 금액, 부과 이전이라면 사전통지 금액으로.. - if (crdnRdctInfo.number("CRDN_STTS_CD").intValue() == 51) { - levy.setLevyPcptax(ffnlgAmt); // 부과 본세 = 과태료 금액 - } else { - // 주정차위반, 전용차로위반 과태료 - if (crdnRdctInfo.string("TASK_SE_CD").equals("BPV") || crdnRdctInfo.string("TASK_SE_CD").equals("PVS")) { - // 납기 일자 확인 - if (crdnRdctInfo.number("DUDT_YMD").intValue() >= crdnRdctInfo.number("TODAY").intValue()) { - levy.setLevyPcptax(advntceAmt); // 부과 본세 = 사전통지 금액 - } else { - levy.setLevyPcptax(ffnlgAmt); // 부과 본세 = 과태료 금액 - } - } else { - levy.setLevyPcptax(advntceAmt); // 부과 본세 = 사전통지 금액 - } - } - - int sumAmt = levy.getLevyPcptax() - crdnRdctInfo.number("RCVMT_PCPTAX").intValue() - crdnRdctInfo.number("RDAMT_PCPTAX").intValue(); - levy.setSumAmt(sumAmt); // 합계 금액 = 부과 본세 - 수납 본세 - 감액 본세 - - rtnNocs = rdctMapper.updateLevyRdct(levy); - if (rtnNocs != 1) { - throw new RuntimeException("감경 등록 중 부과대장 금액 수정에 실패하였습니다."); // 예외를 발생시켜서 DB Rollback - } - } - - return "[S] 작업이 정상 처리 되었습니다."; - } - - /**과태료 감경 대장 정보를 수정한다. - * @param rdct 과태료 감경 대장 - * @return 저장 여부 - *
    • 저장됐으면 true
    • - *
    • 그렇지 않으면 false
    • - *
    - */ - public String updateRdct(Rdct rdct) { - // 과태료 감경(TB_RDCT) 대장을 수정한다. - int rtnNocs = rdctMapper.updateRdct(rdct); - if (rtnNocs != 1) { - throw new RuntimeException("과태료 감경 대장 수정에 실패하였습니다."); // 예외를 발생시켜서 DB Rollback - } - - return "[S] 작업이 정상 처리 되었습니다."; - } - - /**과태료 감경 대장 정보를 삭제한다. - * @param rdct 과태료 감경 대장 - * @return 저장 여부 - *
    • 저장됐으면 true
    • - *
    • 그렇지 않으면 false
    • - *
    - */ - public String removeRdct(Rdct rdct) { - // 변수 선언 - int rtnNocs = -1; // 처리 결과 건수 - String rtnMsg = "[F] "; // 처리 결과 메시지 - - // 단속 ID로 단속, 감경 정보 조회 - LevyQuery req = new LevyQuery(); - req.setRdctId(rdct.getRdctId()); - req.setDelYn("N"); - - DataObject crdnRdctInfo = rdctMapper.selectCrdn(req); - - // 감경 ID가 조회되지 않았다면 종료.. - if (crdnRdctInfo.string("RDCT_ID").equals("")) { - rtnMsg = "[F] 작업 중 자료가 존재하지 않습니다."; - return rtnMsg; - } - // 단속 상태 코드(CRDN_STTS_CD) 확인하여 부과(51) 이후라면.. - if (crdnRdctInfo.number("CRDN_STTS_CD").intValue() > 51) { - rtnMsg = "[F] 작업 중 오류가 발생하였습니다.
    현재 자료의 단속 상태가 " + crdnRdctInfo.string("CRDN_STTS_NM") + " 상태 입니다."; - return rtnMsg; - } - // 부과 가산금(LEVY_ADAMT)이 있다면.. - if (crdnRdctInfo.number("LEVY_ADAMT").intValue() > 0) { - rtnMsg = "[F] 작업 중 오류가 발생하였습니다.
    부과 가산금이 존재합니다."; - return rtnMsg; - } - - // 감경(TB_RDCT) 대장을 삭제한다. - rtnNocs = rdctMapper.deleteRdct(rdct); - if (rtnNocs != 1) { - // 예외를 발생시켜서 오류메세지를 보내고 DB Rollback - throw new RuntimeException("감경 대장 삭제에 실패하였습니다."); - } - - // 과태료 금액 - int ffnlgAmt = crdnRdctInfo.number("FFNLG_CRDN_AMT").intValue(); // 과태료 단속 금액 - 감경 금액 - int advntceAmt = ffnlgAmt - (ffnlgAmt * crdnRdctInfo.number("ADVNTCE_RDCRT").intValue() / 100); // 과태료 금액 - (과태료 금액 * 사전통지 감경 율 / 100) - - // 단속(TB_CRDN) 대장을 수정한다. - Crdn crdn = new Crdn(); - crdn.setCrdnId(crdnRdctInfo.string("CRDN_ID")); // 단속 ID - crdn.setFfnlgRdcrt("0"); // 과태료 감경 율 - crdn.setFfnlgAmt(ffnlgAmt); // 과태료 금액 - crdn.setAdvntceAmt(advntceAmt); // 사전통지 금액 - - rtnNocs = rdctMapper.updateCrdnRdct(crdn); - if (rtnNocs != 1) { - throw new RuntimeException("감경 취소 중 단속대장 금액 수정에 실패하였습니다."); // 예외를 발생시켜서 DB Rollback - } - - // 부과 ID가 존재한다면 부과(TB_LEVY) 대장을 수정한다. - if (!crdnRdctInfo.string("LEVY_ID").equals("")) { - // 가산금이 존재하는 확인 - if (crdnRdctInfo.number("LEVY_ADAMT").intValue() != 0 ) { - throw new RuntimeException("감경 취소 중 부과 대장에 가산금이 발생하여 부과 대장 수정에 실패하였습니다."); // 예외를 발생시켜서 DB Rollback - } - - Levy levy = new Levy(); - levy.setLevyId(crdnRdctInfo.string("LEVY_ID")); // 부과 ID - levy.setFfnlgAmt(ffnlgAmt); // 과태료 금액 - - // 단속상태코드가 부과(51)면 과태료 금액, 부과 이전이라면 사전통지 금액으로.. - if (crdnRdctInfo.number("CRDN_STTS_CD").intValue() == 51) { - levy.setLevyPcptax(ffnlgAmt); // 부과 본세 = 과태료 금액 - } else { - // 주정차위반, 전용차로위반 과태료 - if (crdnRdctInfo.string("TASK_SE_CD").equals("BPV") || crdnRdctInfo.string("TASK_SE_CD").equals("PVS")) { - // 납기 일자 확인 - if (crdnRdctInfo.number("DUDT_YMD").intValue() >= crdnRdctInfo.number("TODAY").intValue()) { - levy.setLevyPcptax(advntceAmt); // 부과 본세 = 사전통지 금액 - } else { - levy.setLevyPcptax(ffnlgAmt); // 부과 본세 = 과태료 금액 - } - } else { - levy.setLevyPcptax(advntceAmt); // 부과 본세 = 사전통지 금액 - } - } - - int sumAmt = levy.getLevyPcptax() + crdnRdctInfo.number("LEVY_ADAMT").intValue() - - crdnRdctInfo.number("RCVMT_PCPTAX").intValue() - crdnRdctInfo.number("RCVMT_ADAMT").intValue() - - crdnRdctInfo.number("RDAMT_PCPTAX").intValue() - crdnRdctInfo.number("RDAMT_ADAMT").intValue(); - levy.setSumAmt(sumAmt); // 합계 금액 = 부과 본세 + 부과 가산금 + 분납 이자 - 수납 본세 - 수납 가산금 - 감액 본세 - 감액 가산금 - - rtnNocs = rdctMapper.updateLevyRdct(levy); - if (rtnNocs != 1) { - throw new RuntimeException("감경 등록 중 부과대장 금액 수정에 실패하였습니다."); // 예외를 발생시켜서 DB Rollback - } - } - - return "[S] 작업이 정상 처리 되었습니다."; - } - -} diff --git a/src/main/java/cokr/xit/fims/levy/service/bean/RdctServiceBean.java b/src/main/java/cokr/xit/fims/levy/service/bean/RdctServiceBean.java deleted file mode 100644 index f0d2fecf..00000000 --- a/src/main/java/cokr/xit/fims/levy/service/bean/RdctServiceBean.java +++ /dev/null @@ -1,71 +0,0 @@ -package cokr.xit.fims.levy.service.bean; - -import java.util.List; - -import javax.annotation.Resource; - -import org.springframework.stereotype.Service; - -import cokr.xit.foundation.component.AbstractServiceBean; -import cokr.xit.foundation.data.DataObject; - -import cokr.xit.fims.levy.Rdct; -import cokr.xit.fims.levy.LevyQuery; -import cokr.xit.fims.levy.service.RdctService; - -/**과태료 감경 대장 서비스 구현체. - * - *

    상세 설명: - * - *

    - * ============ 변경 이력 ============
    - * 2023-08-30	JoJH 최초 작성
    - * ================================
    - * 
    - */ -@Service("rdctService") -public class RdctServiceBean extends AbstractServiceBean implements RdctService { - - /** 과태료 감경 대장 정보 Bean */ - @Resource(name = "rdctBean") - private RdctBean rdctBean; - - @Override - public List getRdctList(LevyQuery req) { - return rdctBean.getRdctList(req); - } - - @Override - public List getRdcts(LevyQuery req) { - return rdctBean.getRdcts(req); - } - - @Override - public DataObject getRdctInfo(LevyQuery req) { - if (req.getCallPurpose() == null) { - req.setCallPurpose("view"); - } - - if (req.getCallPurpose().equals("create")) { - return rdctBean.getCrdnInfo(req); - } else { - return rdctBean.getRdctInfo(req); - } - } - - @Override - public String createRdct(Rdct rdct) { - return rdctBean.createRdct(rdct); - } - - @Override - public String updateRdct(Rdct rdct) { - return rdctBean.updateRdct(rdct); - } - - @Override - public String removeRdct(Rdct rdct) { - return rdctBean.removeRdct(rdct); - } - -} diff --git a/src/main/java/cokr/xit/fims/levy/web/Levy01Controller.java b/src/main/java/cokr/xit/fims/levy/web/Levy01Controller.java deleted file mode 100644 index 4fb10198..00000000 --- a/src/main/java/cokr/xit/fims/levy/web/Levy01Controller.java +++ /dev/null @@ -1,346 +0,0 @@ -package cokr.xit.fims.levy.web; - -import java.text.SimpleDateFormat; -import java.util.HashMap; -import java.util.List; -import java.util.Map; - -import javax.annotation.Resource; -import javax.servlet.http.HttpServletRequest; - -import org.apache.poi.ss.usermodel.CellStyle; -import org.springframework.stereotype.Controller; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.servlet.ModelAndView; - -import cokr.xit.base.code.CommonCode; -import cokr.xit.base.docs.xls.CellDef; -import cokr.xit.base.docs.xls.Format; -import cokr.xit.base.docs.xls.Style; -import cokr.xit.base.docs.xls.XLSWriter; -import cokr.xit.base.web.ApplicationController; -import cokr.xit.fims.base.FimsUser; -import cokr.xit.fims.cmmn.CmmnQuery; -import cokr.xit.fims.cmmn.service.bean.StngBean; -import cokr.xit.fims.cmmn.xls.FormatMaker; -import cokr.xit.fims.cmmn.xls.StyleMaker; -import cokr.xit.fims.levy.LevyQuery; -import cokr.xit.fims.levy.service.LevyService; -import cokr.xit.fims.mngt.service.bean.TaskBean; -import cokr.xit.fims.task.Task; -import cokr.xit.foundation.data.DataObject; - -/**부과 대장 서비스의 웹 컨트롤러 - * - *

    상세 설명: - * - *

    - * ============ 변경 이력 ============
    - * 2023-08-30	JoJH 최초 작성
    - * ================================
    - * 
    - */ -@Controller -@RequestMapping(name="부과", value=Levy01Controller.CLASS_URL) -public class Levy01Controller extends ApplicationController { - - public static final String CLASS_URL = "/levy/levy01"; - - public class METHOD_URL { - public static final String - reductionLevyTargetMain = "/010/main.do" // 사전 감경부과 대상 메인 화면 - , getReductionLevyTargetList = "/010/list.do" // 사전 감경부과 대상 대장 목록 조회 - , getReductionLevyTargetInfo = "/020/info.do" // 사전 감경부과 대상 정보 - , createReductionLevyList = "/020/createRdctLevyList.do" // 사전 감경부과 등록 - , levyMain = "/050/main.do" // 부과 관리 메인 화면 - , getLevyList = "/050/list.do" // 부과 대장 목록 조회 - ; - } - - /**부과 대장 서비스*/ - @Resource(name="levyService") - private LevyService levyService; - - /**업무 정보 서비스 */ - @Resource(name="taskBean") - private TaskBean taskBean; - - /**설정 정보 Bean */ - @Resource(name="stngBean") - private StngBean stngBean; - - /**사전 감경부과 대상 메인화면(levy/levy01010-main)을 연다. - * @return - */ - @RequestMapping(name="사전 감경부과 등록 메인", value=METHOD_URL.reductionLevyTargetMain) - public ModelAndView reductionLevyTargetMain() { - ModelAndView mav = new ModelAndView("fims/levy/levy01010-main"); - - // 사용자 정보 - FimsUser fimsUser = (FimsUser)currentUser().getUser(); - - // View(jsp)에서 사용할 공통코드를 조회 - Map> commonCodes = getCodesOf("FIM004", "FIM005", "FIM006", "FIM054", "FIM061", "FIM064"); - - addCodes(commonCodes, mav, "FIM004", "FIM005", "FIM006", "FIM061", "FIM064"); - - return mav - .addObject("pageName", "levy01010") // View(jsp)에서 사용할 id 뒤에 붙일 suffix - .addObject("infoPrefix", "rdctLevyTrgt") // prefix - .addObject("infoPrefixUrl", CLASS_URL) // prefixUrl - .addObject("sggCd", fimsUser.getOrgID()) // 시군구 코드(SGG_CD) - .addObject("taskListForSgg", stngBean.filterTaskSectionCodeForSgg(commonCodes.get("FIM054"))) // 업무 구분 코드(TASK_SE_CD) - ; - } - - /**사전 감경부과 대상 목록을 조회하여 반환한다. - * {@link LevyService#getRdctLevyTrgtList(LevyQuery)} 참고 - * @param req 부과 대장 조회 조건 - * @return jsonView - *
     {
    -	 *     "levyList": [부과 대장 목록]
    -	 *     "levyStart": 부과 대장 목록 시작 인덱스
    -	 *     "levyFetch": 한 번에 가져오는 부과 대장 목록 수
    -	 *     "levyTotal": 조회 결과 찾은 전체 부과 대장 수
    -	 * }
    - */ - @Task({"PVS","BPV"}) - @RequestMapping(name="사전 감경부과 대상 목록 조회", value=METHOD_URL.getReductionLevyTargetList) - public ModelAndView getReductionLevyTargetList(LevyQuery req) { - if (!"xls".equals(req.getDownload())) { - List result = levyService.getRdctLevyTrgtList(setFetchSize(req)); - return setCollectionInfo(new ModelAndView("jsonView"), result, "rdctLevyTrgt"); - } else { - // 현재 날짜 구하기 - SimpleDateFormat dateFormat = new SimpleDateFormat("yyyyMMddHHmmss"); - String dateTime = dateFormat.format(System.currentTimeMillis()); - - List cellDefs = fromJson(req.getCellDefs(), CellDef.listType()); - - XLSWriter xlsx = new XLSWriter().worksheet(0); - Format format = new Format(xlsx); - CellStyle center = format.cellStyle(Style.CENTER); - CellStyle numeric = format.n_nn0(); - CellStyle dateYMD = format.yyyy_mm_dd(); - CellStyle dateDT = format.yyyy_mm_dd_hh_mm_ss(); - - List list = levyService.getRdctLevyTrgtList(req.setFetchSize(0)); - - Map valueMap = new HashMap(); - valueMap.put("업무구분", format.of("TASK_SE_NM").style(center)); - valueMap.put("단속일시", FormatMaker.yyyy_mm_dd_hh_mm_ss(format, "CRDN_YMD_TM").style(dateDT)); - valueMap.put("차량번호", format.of("VHRNO")); - valueMap.put("법정동", format.of("CRDN_STDG_NM")); - valueMap.put("단속장소", format.of("CRDN_PLC")); - valueMap.put("위반항목", format.of("VLTN_ARTCL")); - valueMap.put("단속원금", format.of("FFNLG_CRDN_AMT").style(numeric)); - valueMap.put("과태료금액", format.of("FFNLG_AMT").style(numeric)); - valueMap.put("사전통지금액", format.of("ADVNTCE_AMT").style(numeric)); - valueMap.put("처리상태", format.of("CRDN_STTS_NM")); - valueMap.put("민원신청번호", format.of("CVLCPT_APLY_NO").style(center)); - valueMap.put("민원접수번호", format.of("CVLCPT_RCPT_NO").style(center)); - valueMap.put("민원접수일자", FormatMaker.yyyy_mm_dd(format, "CVLCPT_RCPT_YMD").style(dateYMD)); - valueMap.put("민원전송결과", format.of("CVLCPT_TRSM_NM").style(center)); - valueMap.put("납부자구분", format.of("RTPYR_SE_NM").style(center)); - valueMap.put("납부자번호", format.of("RTPYR_NO").style(center)); - valueMap.put("납부자명", format.of("RTPYR_NM")); - valueMap.put("우편번호", format.of("ZIP").style(center)); - valueMap.put("주소", format.of("ADDR")); - valueMap.put("상세주소", format.of("DTL_ADDR")); - valueMap.put("등록일시", FormatMaker.yyyy_mm_dd_hh_mm_ss(format, "REG_DT").style(dateDT)); - valueMap.put("등록사용자", format.of("RGTR_NM").style(center)); - valueMap.put("수정일시", FormatMaker.yyyy_mm_dd_hh_mm_ss(format, "MDFCN_DT").style(dateDT)); - valueMap.put("수정사용자", format.of("MDFR_NM").style(center)); - - CellDef.setValues(cellDefs, valueMap); - - xlsx.cell(0, 0).value("사전 감경부과 대상").value(center).merge(0, cellDefs.size() - 1) - .cell(3, 0).rowValues(CellDef.header(cellDefs, () -> StyleMaker.headerStyle(xlsx))) - .cell(4, 0).values(list, CellDef.values(cellDefs.stream().map(i -> {if(i.getValue() instanceof Format) {i.setField(null);}; return i;}).toList())); - - return new ModelAndView("downloadView") - .addObject("download", xlsx.getDownloadable().setFilename("사전감경부과대상" + "_목록_" + dateTime + ".xlsx")); - } - } - - /**감경 부과 대상 정보(info)를 반환한다. - * @param req 부과 대장 조회 조건 - * @return fims/levy/levy01020-info 또는 jsonView - *
    {
    -	 *     "rdctLevyYmdInfo": 감경 부과 정보
    -	 * }
    - */ - @Task({"PVS","BPV"}) - @RequestMapping(name="사전 감경부과 정보 조회", value=METHOD_URL.getReductionLevyTargetInfo) - public ModelAndView getReductionLevyTargetInfo(HttpServletRequest hReq, LevyQuery req) { - // 감경 부과일자 - DataObject info = taskBean.getAdvntceYmdInfo(new CmmnQuery().setSggCd(req.getSggCd()) - .setTaskSeCd(req.getTaskSeCd())); - - boolean json = jsonResponse(); - ModelAndView mav = new ModelAndView(json ? "jsonView" : "fims/levy/levy01020-info"); - - // 이전에 조회되었던 총건수, 금액 - info.put("TNOCS", req.getTnocs()); - info.put("GRAMT_FFNLG_AMT", req.getGramtFfnlgAmt()); - info.put("GRAMT_ADVNTCE_AMT", req.getGramtAdvntceAmt()); - - return mav - .addObject("openerPageName", hReq.getParameter("openerPageName")) // 호출한 Jsp PageName - .addObject("callPurpose", req.getCallPurpose()) // 호출 용도 - .addObject("pageName", "levy01020") // jsp pageName - .addObject("infoPrefix", "rdctLevyTrgt") // prefix - .addObject("infoPrefixUrl", CLASS_URL) // prefixUrl - .addObject("mainQuery", json ? req : toJson(req)) // 검색 조건 - .addObject("rdctLevyTrgtInfo", json ? info : toJson(info)) - ; - } - - /**감경부과 대상자료를 부과 대장를 등록한다. - * @param levy 부과 대장 정보 - * @return jsonView - *
     {
    -	 *     "saved": 등록되었으면 true, 그렇지 않으면 false
    -	 * }
    - */ - @Task({"PVS","BPV"}) - @RequestMapping(name="사전 감경부과 대장 등록", value=METHOD_URL.createReductionLevyList) - public ModelAndView createReductionLevyList(LevyQuery req) { - boolean saved = false; - String rtnMsg = levyService.createRdctLevyList(req); - - if (rtnMsg.contains("[S]")) { - saved = true; - } else { - saved = false; - } - - return new ModelAndView("jsonView") - .addObject("saved", saved) - .addObject("rtnMsg", rtnMsg); - } - - /**부과 관리 메인화면(levy/levy01050-main)을 연다. - * @return - */ - @RequestMapping(name="부과 관리 메인", value=METHOD_URL.levyMain) - public ModelAndView levyMain() { - ModelAndView mav = new ModelAndView("fims/levy/levy01050-main"); - - // 사용자 정보 - FimsUser fimsUser = (FimsUser)currentUser().getUser(); - - // View(jsp)에서 사용할 공통코드를 조회 - Map> commonCodes = getCodesOf("FIM010", "FIM046", "FIM054"); - - return mav - .addObject("pageName", "levy01050") // View(jsp)에서 사용할 id 뒤에 붙일 suffix - .addObject("infoPrefix", "levy") // prefix - .addObject("infoPrefixUrl", CLASS_URL) // prefixUrl - .addObject("sggCd", fimsUser.getOrgID()) // 시군구 코드(SGG_CD) - .addObject("taskListForSgg", stngBean.filterTaskSectionCodeForSgg(commonCodes.get("FIM054"))) // 업무 구분 코드(TASK_SE_CD) - .addObject("FIM010List", commonCodes.get("FIM010")) // 단속 상태 코드(CRDN_STTS_CD) - .addObject("FIM046List", commonCodes.get("FIM046")) // 감경 구분 코드(RDCT_SE_CD) - ; - } - - /**부과 대장 목록을 조회하여 반환한다. - * {@link LevyService#getLevyList(LevyQuery)} 참고 - * @param req 부과 대장 조회 조건 - * @return jsonView - *
     {
    -	 *     "levyList": [부과 대장 목록]
    -	 *     "levyStart": 부과 대장 목록 시작 인덱스
    -	 *     "levyFetch": 한 번에 가져오는 부과 대장 목록 수
    -	 *     "levyTotal": 조회 결과 찾은 전체 부과 대장 수
    -	 * }
    - */ - @Task - @RequestMapping(name="부과 대장 목록 조회", value=METHOD_URL.getLevyList) - public ModelAndView getLevyList(LevyQuery req) { - if (!"xls".equals(req.getDownload())) { - List result = levyService.getLevyList(setFetchSize(req)); - return setCollectionInfo(new ModelAndView("jsonView"), result, "levy"); - } else { - // 현재 날짜 구하기 - SimpleDateFormat dateFormat = new SimpleDateFormat("yyyyMMddHHmmss"); - String dateTime = dateFormat.format(System.currentTimeMillis()); - - List cellDefs = fromJson(req.getCellDefs(), CellDef.listType()); - - XLSWriter xlsx = new XLSWriter().worksheet(0); - Format format = new Format(xlsx); - CellStyle center = format.cellStyle(Style.CENTER); - CellStyle numeric = format.n_nn0(); - CellStyle dateYMD = format.yyyy_mm_dd(); - CellStyle dateDT = format.yyyy_mm_dd_hh_mm_ss(); - - List list = levyService.getLevyList(req.setFetchSize(0)); - - Map valueMap = new HashMap(); - valueMap.put("업무구분", format.of("TASK_SE_NM").style(center)); - valueMap.put("회계연도", format.of("FYR").style(center)); - valueMap.put("회계코드", format.of("ACNTG_SE_CD").style(center)); - valueMap.put("세목코드", format.of("TXITM_CD").style(center)); - valueMap.put("세목명", format.of("TXITM_NM").style(center)); - valueMap.put("부과번호", format.of("LEVY_NO").style(center)); - valueMap.put("분납순번", format.of("ISPY_SN").style(center)); - valueMap.put("부과구분", format.of("LEVY_SE_NM").style(center)); - valueMap.put("통합구분", format.of("UNTY_SE_NM").style(center)); - valueMap.put("감경구분", format.of("RDCT_SE_NM").style(center)); - valueMap.put("부과일자", FormatMaker.yyyy_mm_dd(format, "LEVY_YMD").style(dateYMD)); - valueMap.put("최초납기일자", FormatMaker.yyyy_mm_dd(format, "FRST_DUDT_YMD").style(dateYMD)); - valueMap.put("납기일자", FormatMaker.yyyy_mm_dd(format, "DUDT_YMD").style(dateYMD)); - valueMap.put("과태료금액", format.of("FFNLG_AMT").style(numeric)); - valueMap.put("부과본세", format.of("LEVY_PCPTAX").style(numeric)); - valueMap.put("부과가산금", format.of("LEVY_ADAMT").style(numeric)); - valueMap.put("분납이자", format.of("ISPY_INT").style(numeric)); - valueMap.put("수납본세", format.of("RCVMT_PCPTAX").style(numeric)); - valueMap.put("수납가산금", format.of("RCVMT_ADAMT").style(numeric)); - valueMap.put("감액본세", format.of("RDAMT_PCPTAX").style(numeric)); - valueMap.put("감액가산금", format.of("RDAMT_ADAMT").style(numeric)); - valueMap.put("미납금액", format.of("SUM_AMT").style(numeric)); - valueMap.put("과세물건", format.of("TXTN_THING")); - valueMap.put("체납사유", format.of("NPMNT_RSN_NM")); - valueMap.put("수납일자", FormatMaker.yyyy_mm_dd(format, "RCVMT_YMD").style(dateYMD)); - valueMap.put("압류일자", FormatMaker.yyyy_mm_dd(format, "SZR_YMD").style(dateYMD)); - valueMap.put("압류물건", format.of("SZR_THING")); - valueMap.put("대체압류차량", format.of("RPM_SZR_VHRNO")); - valueMap.put("압류해제일자", FormatMaker.yyyy_mm_dd(format, "SZR_RMV_YMD").style(dateYMD)); - valueMap.put("전자납부번호", format.of("EPAYNO_MASK")); - valueMap.put("은행명", format.of("BANK_NM")); - valueMap.put("가상계좌번호", format.of("VR_ACTNO").style(center)); - valueMap.put("은행명2", format.of("BANK_NM2")); - valueMap.put("가상계좌번호2", format.of("VR_ACTNO2").style(center)); - valueMap.put("은행명3", format.of("BANK_NM3")); - valueMap.put("가상계좌번호3", format.of("VR_ACTNO3").style(center)); - valueMap.put("단속일시", FormatMaker.yyyy_mm_dd_hh_mm_ss(format, "CRDN_YMD_TM").style(dateDT)); - valueMap.put("차량번호", format.of("VHRNO")); - valueMap.put("법정동", format.of("CRDN_STDG_NM")); - valueMap.put("단속장소", format.of("CRDN_PLC")); - valueMap.put("위반항목", format.of("VLTN_ARTCL")); - valueMap.put("단속원금", format.of("FFNLG_CRDN_AMT").style(numeric)); - valueMap.put("처리상태", format.of("CRDN_STTS_NM")); - valueMap.put("납부자구분", format.of("RTPYR_SE_NM").style(center)); - valueMap.put("납부자번호", format.of("RTPYR_NO").style(center)); - valueMap.put("납부자명", format.of("RTPYR_NM")); - valueMap.put("우편번호", format.of("ZIP").style(center)); - valueMap.put("주소", format.of("ADDR")); - valueMap.put("상세주소", format.of("DTL_ADDR")); - valueMap.put("등록일시", FormatMaker.yyyy_mm_dd_hh_mm_ss(format, "REG_DT").style(dateDT)); - valueMap.put("등록사용자", format.of("RGTR_NM").style(center)); - valueMap.put("수정일시", FormatMaker.yyyy_mm_dd_hh_mm_ss(format, "MDFCN_DT").style(dateDT)); - valueMap.put("수정사용자", format.of("MDFR_NM").style(center)); - - CellDef.setValues(cellDefs, valueMap); - - xlsx.cell(0, 0).value("부과").value(center).merge(0, cellDefs.size() - 1) - .cell(3, 0).rowValues(CellDef.header(cellDefs, () -> StyleMaker.headerStyle(xlsx))) - .cell(4, 0).values(list, CellDef.values(cellDefs.stream().map(i -> {if(i.getValue() instanceof Format) {i.setField(null);}; return i;}).toList())); - - return new ModelAndView("downloadView") - .addObject("download", xlsx.getDownloadable().setFilename("부과" + "_목록_" + dateTime + ".xlsx")); - } - } - -} diff --git a/src/main/java/cokr/xit/fims/levy/web/Levy02Controller.java b/src/main/java/cokr/xit/fims/levy/web/Levy02Controller.java deleted file mode 100644 index a25842a7..00000000 --- a/src/main/java/cokr/xit/fims/levy/web/Levy02Controller.java +++ /dev/null @@ -1,291 +0,0 @@ -package cokr.xit.fims.levy.web; - -import java.text.SimpleDateFormat; -import java.util.HashMap; -import java.util.List; -import java.util.Map; - -import javax.annotation.Resource; -import javax.servlet.http.HttpServletRequest; - -import org.apache.poi.ss.usermodel.CellStyle; -import org.springframework.stereotype.Controller; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.servlet.ModelAndView; - -import cokr.xit.base.code.CommonCode; -import cokr.xit.base.docs.xls.CellDef; -import cokr.xit.base.docs.xls.Format; -import cokr.xit.base.docs.xls.Style; -import cokr.xit.base.docs.xls.XLSWriter; -import cokr.xit.base.user.dao.UserMapper; -import cokr.xit.base.web.ApplicationController; -import cokr.xit.fims.base.FimsUser; -import cokr.xit.fims.cmmn.service.bean.StngBean; -import cokr.xit.fims.cmmn.xls.FormatMaker; -import cokr.xit.fims.cmmn.xls.StyleMaker; -import cokr.xit.fims.levy.LevyQuery; -import cokr.xit.fims.levy.Rdct; -import cokr.xit.fims.levy.service.RdctService; -import cokr.xit.fims.task.Task; -import cokr.xit.foundation.data.DataObject; - -/**과태료 감경 대장 서비스의 웹 컨트롤러 - * - *

    상세 설명: - * - *

    - * ============ 변경 이력 ============
    - * 2023-08-30	JoJH 최초 작성
    - * ================================
    - * 
    - */ -@Controller -@RequestMapping(name="과태료 감경 관리", value=Levy02Controller.CLASS_URL) -public class Levy02Controller extends ApplicationController { - - public static final String CLASS_URL = "/levy/levy02"; - - public class METHOD_URL { - public static final String - reductionMain = "/010/main.do" // 과태료 감경 관리 메인 화면 - , getReductionList = "/010/list.do" // 과태료 감경 대장 목록 조회 - , removeReduction = "/010/remove.do" // 과태료 감경 대장 삭제 - , getReductionInfo = "/020/info.do" // 과태료 감경 정보 조회 - , createReduction = "/020/create.do" // 과태료 감경 대장 등럭 - , updateReduction = "/020/update.do" // 과태료 감경 대장 수정 - ; - } - - /**과태료 감경 대장 서비스*/ - @Resource(name="rdctService") - private RdctService rdctService; - - @Resource(name="stngBean") - private StngBean stngBean; - - @Resource(name="userMapper") - protected UserMapper userMapper; - - /**과태료 감경 대장 관리 메인화면(levy/levy02010-main)을 연다. - * 조건없는 {@link #getRdctList(RdctQuery) 과태료 감경 대장 조회 결과}를 포함시킨다. - * @return /rdct/rdct-main - */ - @RequestMapping(name="과태료 감경 관리 대장 메인", value=METHOD_URL.reductionMain) - public ModelAndView reductionMain() { - ModelAndView mav = new ModelAndView("fims/levy/levy02010-main"); - - // 사용자 정보 - FimsUser fimsUser = (FimsUser)currentUser().getUser(); - - // View(jsp)에서 사용할 공통코드를 조회 - Map> commonCodes = getCodesOf("FIM010", "FIM019", "FIM054"); - - return mav - .addObject("pageName", "levy02010") // View(jsp)에서 사용할 id 뒤에 붙일 suffix - .addObject("infoPrefix", "rdct") // prefix - .addObject("infoPrefixUrl", CLASS_URL) // prefixUrl - .addObject("sggCd", fimsUser.getOrgID()) // 시군구 코드(SGG_CD) - .addObject("taskListForSgg", stngBean.filterTaskSectionCodeForSgg(commonCodes.get("FIM054"))) // 업무 구분 코드(TASK_SE_CD) - .addObject("FIM019List", commonCodes.get("FIM019")) // 감경 사유 구분 코드(RDCT_RSN_CD) - ; - } - - /**과태료 감경 대장 목록을 조회하여 반환한다.
    - * {@link RdctService#getRdctList(RdctQuery)} 참고 - * @param req 과태료 감경 대장 조회 조건 - * @return jsonView - *
     {
    -	 *     "rdctList": [과태료 감경 대장 목록]
    -	 *     "rdctStart": 과태료 감경 대장 목록 시작 인덱스
    -	 *     "rdctFetch": 한 번에 가져오는 과태료 감경 대장 목록 수
    -	 *     "rdctTotal": 조회 결과 찾은 전체 과태료 감경 대장 수
    -	 * }
    - */ - @Task - @RequestMapping(name="과태료 감경 대장 목록 조회", value=METHOD_URL.getReductionList) - public ModelAndView getRdctList(LevyQuery req) { - if (!"xls".equals(req.getDownload())) { - List result = rdctService.getRdctList(setFetchSize(req)); - return setCollectionInfo(new ModelAndView("jsonView"), result, "rdct"); - } else { - // 현재 날짜 구하기 - SimpleDateFormat dateFormat = new SimpleDateFormat("yyyyMMddHHmmss"); - String dateTime = dateFormat.format(System.currentTimeMillis()); - - List cellDefs = fromJson(req.getCellDefs(), CellDef.listType()); - - XLSWriter xlsx = new XLSWriter().worksheet(0); - Format format = new Format(xlsx); - CellStyle center = format.cellStyle(Style.CENTER); - CellStyle numeric = format.n_nn0(); - CellStyle dateYMD = format.yyyy_mm_dd(); - CellStyle dateDT = format.yyyy_mm_dd_hh_mm_ss(); - - List list = rdctService.getRdctList(req.setFetchSize(0)); - - Map valueMap = new HashMap(); - valueMap.put("업무구분", format.of("TASK_SE_NM").style(center)); - valueMap.put("감경일자", FormatMaker.yyyy_mm_dd(format, "RDCT_YMD").style(dateYMD)); - valueMap.put("감경사유", format.of("RDCT_RSN_NM")); - valueMap.put("기타내용", format.of("ETC_CN")); - valueMap.put("단속일시", FormatMaker.yyyy_mm_dd_hh_mm_ss(format, "CRDN_YMD_TM").style(dateDT)); - valueMap.put("차량번호", format.of("VHRNO")); - valueMap.put("납부자구분", format.of("RTPYR_SE_NM").style(center)); - valueMap.put("납부자번호", format.of("RTPYR_NO").style(center)); - valueMap.put("납부자명", format.of("RTPYR_NM")); - valueMap.put("단속법정동", format.of("CRDN_STDG_NM").style(center)); - valueMap.put("단속장소", format.of("CRDN_PLC")); - valueMap.put("상세단속장소", format.of("DTL_CRDN_PLC")); - valueMap.put("단속원금", format.of("FFNLG_CRDN_AMT").style(numeric)); - valueMap.put("감경금액", format.of("RDCT_AMT").style(numeric)); - valueMap.put("과태료금액", format.of("FFNLG_AMT").style(numeric)); - valueMap.put("미납금액", format.of("SUM_AMT").style(numeric)); - valueMap.put("처리상태", format.of("CRDN_STTS_NM")); - valueMap.put("단속특별구역", format.of("CRDN_SPAREA_NM").style(center)); - valueMap.put("사용연료", format.of("USE_FUEL_NM").style(center)); - valueMap.put("주차가능여부", format.of("PRK_PSBLTY_RSLT_NM").style(center)); - valueMap.put("등록일시", FormatMaker.yyyy_mm_dd_hh_mm_ss(format, "REG_DT").style(dateDT)); - valueMap.put("등록사용자", format.of("RGTR_NM").style(center)); - valueMap.put("수정일시", FormatMaker.yyyy_mm_dd_hh_mm_ss(format, "MDFCN_DT").style(dateDT)); - valueMap.put("수정사용자", format.of("MDFR_NM").style(center)); - - CellDef.setValues(cellDefs, valueMap); - - xlsx.cell(0, 0).value("과태료감경").value(center).merge(0, cellDefs.size() - 1) - .cell(3, 0).rowValues(CellDef.header(cellDefs, () -> StyleMaker.headerStyle(xlsx))) - .cell(4, 0).values(list, CellDef.values(cellDefs.stream().map(i -> {if(i.getValue() instanceof Format) {i.setField(null);}; return i;}).toList())); - - return new ModelAndView("downloadView") - .addObject("download", xlsx.getDownloadable().setFilename("과태료감경" + "_목록_" + dateTime + ".xlsx")); - } - } - - /**지정한 ID의 과태료 감경 정보(info)를 반환한다. - * @param req 과태료 감경 대장 조회 조건 - * @return fims/levy/levy02020-info 또는 jsonView - *
    {
    -	 *     "rdctInfo": 과태료 감경 정보
    -	 * }
    - */ - @Task - @RequestMapping(name="과태료 감경 정보 조회", value=METHOD_URL.getReductionInfo) - public ModelAndView getRdctInfo(HttpServletRequest hReq, LevyQuery req) { - DataObject info = rdctService.getRdctInfo(req); - - // 등록을 호출하였지만 등록된 감경 ID가 있는지 확인. - if (req.getCallPurpose().equals("create") && !info.string("RDCT_ID").equals("")) { - ModelAndView mav = new ModelAndView("jsonView"); - - return mav.addObject("rtnMsg", "이미 등록된 과태료 감경 정보가 있습니다."); - } else if (req.getCallPurpose().equals("create") && info.string("RTPYR_ID").equals("")) { - ModelAndView mav = new ModelAndView("jsonView"); - - return mav.addObject("rtnMsg", "납부자 정보가 없습니다."); - } else { - boolean json = jsonResponse(); - ModelAndView mav = new ModelAndView(json ? "jsonView" : "fims/levy/levy02020-info"); - - // View(jsp)에서 사용할 공통코드를 조회 - Map> commonCodes = getCodesOf("FIM019"); - - return mav - .addObject("openerPageName", hReq.getParameter("openerPageName")) // 호출한 Jsp PageName - .addObject("callPurpose", req.getCallPurpose()) // 호출 용도 - .addObject("pageName", "levy02020") // jsp pageName - .addObject("infoPrefix", "rdct") // prefix - .addObject("infoPrefixUrl", CLASS_URL) // prefixUrl - .addObject("FIM019List", commonCodes.get("FIM019")) // 감경 사유 구분 코드(RDCT_RSN_CD) - .addObject("rdctInfo", json ? info : toJson(info)) - ; - } - } - - /**과태료 감경 대장를 등록한다. - * @param rdct 과태료 감경 대장 정보 - * @return jsonView - *
     {
    -	 *     "saved": 등록되었으면 true, 그렇지 않으면 false
    -	 * }
    - */ - @Task - @RequestMapping(name="과태료 감경 대장 등록", value=METHOD_URL.createReduction) - public ModelAndView createRdct(Rdct rdct) { - boolean saved = false; - String rtnMsg = rdctService.createRdct(rdct); - - if (rtnMsg.contains("[S]")) { - saved = true; - } else { - saved = false; - } - - return new ModelAndView("jsonView") - .addObject("saved", saved) - .addObject("rtnMsg", rtnMsg); - } - - /**과태료 감경 대장 정보를 수정한다. - * @param rdct 과태료 감경 대장 정보 - * @return jsonView - *
     {
    -	 *     "saved": 수정되었으면 true, 그렇지 않으면 false
    -	 * }
    - */ - @Task - @RequestMapping(name="과태료 감경 대장 수정", value=METHOD_URL.updateReduction) - public ModelAndView updateRdct(Rdct rdct) { - boolean saved = false; - String rtnMsg = rdctService.updateRdct(rdct); - - if (rtnMsg.contains("[S]")) { - saved = true; - } else { - saved = false; - } - - return new ModelAndView("jsonView") - .addObject("saved", saved) - .addObject("rtnMsg", rtnMsg); - } - - /**지정한 과태료 감경 대장를 제거한다. - * @param rdctId 과태료 감경 대장 ID - * @return jsonView - *
     {
    -	 *     "affected": 저장된 정보수
    -	 *     "saved": 저장되었으면 true, 그렇지 않으면 false
    -	 * }
    - */ - @Task - @RequestMapping(name="과태료 감경 대장 삭제", value=METHOD_URL.removeReduction) - public ModelAndView removeRdct(Rdct rdct) { - boolean saved = false; - String rtnMsg = ""; - - if (rdct.getRdctIds() == null || rdct.getRdctIds().length < 1) { - rtnMsg = rdctService.removeRdct(rdct); - } else { - // 부과제외 Ids 만큼 반복.. - for (int iLoop = 0; iLoop < rdct.getRdctIds().length; iLoop++) { - rdct.setRdctId(rdct.getRdctIds()[iLoop]); // 감경 ID 설정 - - // 부과제외 삭제 호출 - rtnMsg = rdctService.removeRdct(rdct); - if (!rtnMsg.contains("[S]")) // 오류가 발생하였으면 종료.. - break; - } - } - - if (rtnMsg.contains("[S]")) { - saved = true; - } else { - saved = false; - } - - return new ModelAndView("jsonView") - .addObject("saved", saved) - .addObject("rtnMsg", rtnMsg); - } - -} diff --git a/src/main/java/cokr/xit/fims/mngt/Ntc.java b/src/main/java/cokr/xit/fims/mngt/Ntc.java deleted file mode 100644 index c64d23fd..00000000 --- a/src/main/java/cokr/xit/fims/mngt/Ntc.java +++ /dev/null @@ -1,43 +0,0 @@ -package cokr.xit.fims.mngt; - -import cokr.xit.foundation.AbstractEntity; -import lombok.Getter; -import lombok.Setter; - -/** 공지사항 - * @author leebj - */ -@Getter -@Setter -public class Ntc extends AbstractEntity { - - /** - * 공지 ID - */ - private String ntcId; - - /** - * 공지 제목 - */ - private String ntcTtl; - - /** - * 공지 내용 - */ - private String ntcCn; - - /** - * 삭제 여부 - */ - private String delYn; - - /** - * 삭제 사유 - */ - private String delRsn; - - /** - * 시군구 코드 - */ - private String sggCd; -} diff --git a/src/main/java/cokr/xit/fims/mngt/NtcQuery.java b/src/main/java/cokr/xit/fims/mngt/NtcQuery.java deleted file mode 100644 index 14dc1d43..00000000 --- a/src/main/java/cokr/xit/fims/mngt/NtcQuery.java +++ /dev/null @@ -1,19 +0,0 @@ -package cokr.xit.fims.mngt; - -import cokr.xit.fims.cmmn.CmmnQuery; - -/**공지사항 정보 조회 요청 -* -*

    상세 설명: -* -*

    -* ============ 변경 이력 ============
    -* 2024-01-02	leebj 최초 작성
    -* ================================
    -* 
    -*/ -public class NtcQuery extends CmmnQuery { - - private static final long serialVersionUID = 1L; - -} diff --git a/src/main/java/cokr/xit/fims/mngt/OgdpUtil.java b/src/main/java/cokr/xit/fims/mngt/OgdpUtil.java deleted file mode 100644 index cde2d827..00000000 --- a/src/main/java/cokr/xit/fims/mngt/OgdpUtil.java +++ /dev/null @@ -1,35 +0,0 @@ -package cokr.xit.fims.mngt; - -public class OgdpUtil { - - public static String getLastWord(String ogdp) { - String splitString[] = ogdp.split(" ", -1); - return splitString[splitString.length-1]; - } - - public static String getInstituteLeader(String instNm, boolean lastChar) { - String result = ""; - - - if(instNm.endsWith("시청") || instNm.endsWith("군청")) { - result = instNm.substring(0, instNm.length()-1); - } else if(instNm.endsWith("구")) { - result = instNm+"청"; - } else { - result = instNm; - } - - if(result.endsWith("군")){ - result += "수"; - } else { - result += "장"; - } - - if(!lastChar) { - result = result.substring(0, result.length()-1); - } - - return result; - } - -} diff --git a/src/main/java/cokr/xit/fims/mngt/Schdl.java b/src/main/java/cokr/xit/fims/mngt/Schdl.java deleted file mode 100644 index e8122b44..00000000 --- a/src/main/java/cokr/xit/fims/mngt/Schdl.java +++ /dev/null @@ -1,49 +0,0 @@ -package cokr.xit.fims.mngt; - -import cokr.xit.foundation.AbstractEntity; -import lombok.Getter; -import lombok.Setter; - -/**일정관리 - * @author leebj - */ -@Getter -@Setter -public class Schdl extends AbstractEntity { - - /** - * 일정 ID - */ - private String schdlId; - - /** - * 일정 시작 일자 - */ - private String schdlBgngYmd; - - /** - * 일정 종료 일자 - */ - private String schdlEndYmd; - - /** - * 사용자 ID - */ - private String userId; - - /** - * 일정 내용 - */ - private String schdlCn; - - /** - * 삭제 여부 - */ - private String delYn; - - /** - * 삭제 사유 - */ - private String delRsn; - -} diff --git a/src/main/java/cokr/xit/fims/mngt/SchdlQuery.java b/src/main/java/cokr/xit/fims/mngt/SchdlQuery.java deleted file mode 100644 index 07b0be39..00000000 --- a/src/main/java/cokr/xit/fims/mngt/SchdlQuery.java +++ /dev/null @@ -1,29 +0,0 @@ -package cokr.xit.fims.mngt; - -import cokr.xit.fims.cmmn.CmmnQuery; - -/**일정관리 정보 조회 요청 -* -*

    상세 설명: -* -*

    -* ============ 변경 이력 ============
    -* 2024-01-02	leebj 최초 작성
    -* ================================
    -* 
    -*/ -public class SchdlQuery extends CmmnQuery { - - private static final long serialVersionUID = 1L; - - private String userId; - - public String getUserId() { - return this.userId; - } - - public SchdlQuery setUserId(String userId) { - this.userId = userId; - return this; - } -} diff --git a/src/main/java/cokr/xit/fims/mngt/Task.java b/src/main/java/cokr/xit/fims/mngt/Task.java deleted file mode 100644 index 3ac0742d..00000000 --- a/src/main/java/cokr/xit/fims/mngt/Task.java +++ /dev/null @@ -1,82 +0,0 @@ -package cokr.xit.fims.mngt; - -import java.util.List; - -import cokr.xit.foundation.AbstractEntity; -import lombok.Getter; -import lombok.Setter; - -/** - * 업무 정보 - * @author JoJH - */ -@Getter -@Setter -public class Task extends AbstractEntity { - - /** - * 시군구 코드 - */ - private String sggCd; - - /** - * 업무 구분 코드 - */ - private String taskSeCd; - - /** - * 업무 구분 명 - */ - private String taskSeNm; - - /** - * 사전통지 일수 - */ - private Integer advntceDayCnt; - - /** - * 사전통지 감경 율 - */ - private String advntceRdcrt; - - /** - * 사회적약자 감경 율 - */ - private String wksnRdcrt; - - /** - * 과태료 가산 일자 - */ - private String ffnlgAdtnYmd; - - /** - * 과태료 가산 율 - */ - private String ffnlgAdtnRt; - - /** - * 과태료 중가산 율 - */ - private String ffnlgInadtnRt; - - /** - * 과태료 중가산 최대 수 - */ - private Integer ffnlgInadtnMxmmCnt; - - /** - * 세외수입 연계 구분 코드 - */ - private String nxrpLinkSeCd; - - /** - * 세외수입 연계 구분 상세 순번 - */ - private String nxrpLinkSeDtlSn; - - /** - * 위반 설정 목록 - */ - private List vltnStngList; - -} diff --git a/src/main/java/cokr/xit/fims/mngt/Vltn.java b/src/main/java/cokr/xit/fims/mngt/Vltn.java deleted file mode 100644 index 93a7064f..00000000 --- a/src/main/java/cokr/xit/fims/mngt/Vltn.java +++ /dev/null @@ -1,100 +0,0 @@ -package cokr.xit.fims.mngt; - -import cokr.xit.foundation.AbstractEntity; -import lombok.Getter; -import lombok.Setter; - -/** - * 위반 정보 - * @author JoJH - */ -@Getter -@Setter -public class Vltn extends AbstractEntity { - - /** - * 위반 ID - */ - private String vltnId; - - /** - * 시군구 코드 - */ - private String sggCd; - - /** - * 업무 구분 코드 - */ - private String taskSeCd; - - /** - * 위반 코드 - */ - private String vltnCd; - - /** - * 위반 항목 - */ - private String vltnArtcl; - - /** - * 위반 법 명 - */ - private String vltnLawNm; - - /** - * 위반 법1 - */ - private String vltnLaw1; - - /** - * 위반 법2 - */ - private String vltnLaw2; - - /** - * 위반 법 기타 - */ - private String vltnLawEtc; - - /** - * 회계 구분 코드 - */ - private String acntgSeCd; - - /** - * 회계 구분 명 - */ - private String acntgSeNm; - - /** - * 세목 코드 - */ - private String txitmCd; - - /** - * 세목 명 - */ - private String txitmNm; - - /** - * 운영 항목 코드 - */ - private String operItemCd; - - /** - * 운영 항목 명 - */ - private String operItemNm; - - /** - * 특별회계 사업 코드 - */ - private String spclBizCd; - - /** - * 사용 여부 - */ - private String useYn; - -} diff --git a/src/main/java/cokr/xit/fims/mngt/VltnQuery.java b/src/main/java/cokr/xit/fims/mngt/VltnQuery.java deleted file mode 100644 index 191dd314..00000000 --- a/src/main/java/cokr/xit/fims/mngt/VltnQuery.java +++ /dev/null @@ -1,80 +0,0 @@ -package cokr.xit.fims.mngt; - -import cokr.xit.fims.cmmn.CmmnQuery; - -/**위반 정보 정보 조회 요청 - * - *

    상세 설명: - * - *

    - * ============ 변경 이력 ============
    - * 2023-10-16	JoJH 최초 작성
    - * ================================
    - * 
    - */ -public class VltnQuery extends CmmnQuery { - - private static final long serialVersionUID = 1L; - - private String vltnId; // 위반 ID - private String lawCd; // 법 코드 - private String vltnCd; // 위반 코드 - private String vltnArtcl; // 위반 항목 - private String acntgSeCd; // 회계 구분 코드 - private String txitmCd; // 세목 코드 - - public String getVltnId() { - return ifEmpty(vltnId, () -> null); - } - - public T setVltnId(String vltnId) { - this.vltnId = vltnId; - return self(); - } - - public String getLawCd() { - return ifEmpty(lawCd, () -> null); - } - - public T setLawCd(String lawCd) { - this.lawCd = lawCd; - return self(); - } - - public String getVltnCd() { - return ifEmpty(vltnCd, () -> null); - } - - public T setVltnCd(String vltnCd) { - this.vltnCd = vltnCd; - return self(); - } - - public String getVltnArtcl() { - return ifEmpty(vltnArtcl, () -> null); - } - - public T setVltnArtcl(String vltnArtcl) { - this.vltnArtcl = vltnArtcl; - return self(); - } - - public String getAcntgSeCd() { - return ifEmpty(acntgSeCd, () -> null); - } - - public T setAcntgSeCd(String acntgSeCd) { - this.acntgSeCd = acntgSeCd; - return self(); - } - - public String getTxitmCd() { - return ifEmpty(txitmCd, () -> null); - } - - public T setTxitmCd(String txitmCd) { - this.txitmCd = txitmCd; - return self(); - } - -} diff --git a/src/main/java/cokr/xit/fims/mngt/dao/NtcMapper.java b/src/main/java/cokr/xit/fims/mngt/dao/NtcMapper.java deleted file mode 100644 index ba3ec45d..00000000 --- a/src/main/java/cokr/xit/fims/mngt/dao/NtcMapper.java +++ /dev/null @@ -1,91 +0,0 @@ -package cokr.xit.fims.mngt.dao; - -import java.util.List; -import java.util.Map; - -import org.egovframe.rte.psl.dataaccess.mapper.Mapper; - -import cokr.xit.fims.mngt.Ntc; -import cokr.xit.fims.mngt.NtcQuery; -import cokr.xit.foundation.component.AbstractMapper; -import cokr.xit.foundation.data.DataObject; - -/**공지사항 DAO - * @author leebj - */ -@Mapper("ntcMapper") -public interface NtcMapper extends AbstractMapper { - - /**지정한 조건에 따라 공지사항 목록을 조회하여 반환한다.
    - * @param req 공지사항 조회 조건 - * @return 공지사항 목록 - */ - List selectNtcList(NtcQuery req); - - /**지정한 공지사항ID로 공지사항 객체를 반환한다. - * @param ntcId 공지사항 ID - * @return 공지사항 객체 - */ - DataObject selectNtcInfo(String ntcId); - - /**공지사항 정보를 등록한다. - * @param params 파라미터 - *
    • "ntc" - 공지사항
    • - *
    • "currentUser" - 현재 접속한 사용자
    • - *
    - * @return 저장된 정보수 - */ - int insertNtc(Map params); - - /**공지사항 정보를 등록한다. - * @param ntc 공지사항 - * @return 저장 여부 - *
    • 저장됐으면 true
    • - *
    • 그렇지 않으면 false
    • - *
    - */ - default boolean insert(Ntc ntc) { - return ntc != null && insertNtc(params().set("ntc", ntc)) == 1; - } - - /**공지사항 정보를 수정한다. - * @param params 파라미터 - *
    • "ntc" - 공지사항
    • - *
    • "currentUser" - 현재 접속한 사용자
    • - *
    - * @return 저장된 정보수 - */ - int updateNtc(Map params); - - /**공지사항 정보를 수정한다. - * @param ntc 공지사항 - * @return 저장 여부 - *
    • 저장됐으면 true
    • - *
    • 그렇지 않으면 false
    • - *
    - */ - default boolean update(Ntc ntc) { - return ntc != null && updateNtc(params().set("ntc", ntc)) == 1; - } - - /**지정한 공지사항을 삭제한다. - * @param params 파라미터 - *
    • "ntc" - 공지사항
    • - *
    • "currentUser" - 현재 접속한 사용자
    • - *
    - * @return 저장된 정보수 - */ - int deleteNtc(Map params); - - /**공지사항 정보를 삭제한다. - * @param ntc 공지사항 - * @return 저장 여부 - *
    • 저장됐으면 true
    • - *
    • 그렇지 않으면 false
    • - *
    - */ - default boolean delete(Ntc ntc) { - return ntc != null && deleteNtc(params().set("ntc", ntc)) == 1; - } - -} diff --git a/src/main/java/cokr/xit/fims/mngt/dao/SchdlMapper.java b/src/main/java/cokr/xit/fims/mngt/dao/SchdlMapper.java deleted file mode 100644 index 4aac1bd9..00000000 --- a/src/main/java/cokr/xit/fims/mngt/dao/SchdlMapper.java +++ /dev/null @@ -1,97 +0,0 @@ -package cokr.xit.fims.mngt.dao; - -import java.util.List; -import java.util.Map; - -import org.egovframe.rte.psl.dataaccess.mapper.Mapper; - -import cokr.xit.fims.mngt.Schdl; -import cokr.xit.fims.mngt.SchdlQuery; -import cokr.xit.foundation.component.AbstractMapper; -import cokr.xit.foundation.data.DataObject; - -/**일정관리 DAO - * @author leebj - */ -@Mapper("schdlMapper") -public interface SchdlMapper extends AbstractMapper { - - /**지정한 조건에 따라 일정관리 목록을 조회하여 반환한다.
    - * @param req 일정관리 조회 조건 - * @return 일정관리 목록 - */ - List selectSchdlList(SchdlQuery req); - - /**지정한 조건에 따라 일정관리 객체를 반환한다. - * @param schdlId 일정관리 ID - * @return 일정관리 객체 - */ - DataObject selectSchdlInfo(String schdlId); - - /**일정관리 정보를 등록한다. - * @param params 파라미터 - *
    • "schdl" - 일정관리
    • - *
    • "currentUser" - 현재 접속한 사용자
    • - *
    - * @return 저장된 정보수 - */ - int insertSchdl(Map params); - - /**일정관리 정보를 등록한다. - * @param schdl 일정관리 - * @return 저장 여부 - *
    • 저장됐으면 true
    • - *
    • 그렇지 않으면 false
    • - *
    - */ - default boolean insert(Schdl schdl) { - if(schdl == null) { - return false; - } - DataObject map = params().set("schdl", schdl); - int effected = insertSchdl(map); - return effected == 1; - - } - - /**일정관리 정보를 수정한다. - * @param params 파라미터 - *
    • "schdl" - 일정관리
    • - *
    • "currentUser" - 현재 접속한 사용자
    • - *
    - * @return 저장된 정보수 - */ - int updateSchdl(Map params); - - /**일정관리 정보를 수정한다. - * @param schdl 일정관리 - * @return 저장 여부 - *
    • 저장됐으면 true
    • - *
    • 그렇지 않으면 false
    • - *
    - */ - default boolean update(Schdl schdl) { - return schdl != null && updateSchdl(params().set("schdl", schdl)) == 1; - } - - /**지정한 일정관리을 삭제한다. - * @param params 파라미터 - *
    • "schdl" - 일정관리
    • - *
    • "currentUser" - 현재 접속한 사용자
    • - *
    - * @return 저장된 정보수 - */ - int deleteSchdl(Map params); - - /**일정관리 정보를 삭제한다. - * @param schdl 일정관리 - * @return 저장 여부 - *
    • 저장됐으면 true
    • - *
    • 그렇지 않으면 false
    • - *
    - */ - default boolean delete(Schdl schdl) { - return schdl != null && deleteSchdl(params().set("schdl", schdl)) == 1; - } - -} diff --git a/src/main/java/cokr/xit/fims/mngt/dao/TaskMapper.java b/src/main/java/cokr/xit/fims/mngt/dao/TaskMapper.java deleted file mode 100644 index 85f33cff..00000000 --- a/src/main/java/cokr/xit/fims/mngt/dao/TaskMapper.java +++ /dev/null @@ -1,119 +0,0 @@ -package cokr.xit.fims.mngt.dao; - -import java.util.List; -import java.util.Map; - -import org.egovframe.rte.psl.dataaccess.mapper.Mapper; - -import cokr.xit.fims.cmmn.CmmnQuery; -import cokr.xit.fims.mngt.Task; -import cokr.xit.foundation.component.AbstractMapper; -import cokr.xit.foundation.data.DataObject; - -/** 업무 정보 정보 DAO - * - *

    상세 설명: - * - *

    - * ============ 변경 이력 ============
    - * 2023-10-24	JoJH 최초 작성
    - * ================================
    - * 
    - */ -@Mapper("taskMapper") -public interface TaskMapper extends AbstractMapper { - - /**지정한 조건에 따라 업무 정보 목록을 조회하여 반환한다.
    - * @param req 업무 정보 조회 조건 - * @return 업무 정보 목록 - */ - List selectTaskList(CmmnQuery req); - - /**지정한 조건에 따라 업무 정보 객체들을 반환한다. - * @param req 업무 정보 조회 조건 - * @return 업무 정보 객체 목록 - */ - List selectTasks(CmmnQuery req); - - /**지정한 조건에 따라 업무 정보 객체를 반환한다. - * @param req 업무 정보 조회 조건 - * @return 업무 정보 객체 - */ - default DataObject selectTaskInfo(CmmnQuery req) { - // 사용 여부 확인 - if (req.getUseYn() == null) { - req.setUseYn("Y"); - } - - List tasks = selectTasks(req); - - return !tasks.isEmpty() ? tasks.get(0) : null; - } - - /**지정한 조건에 따라 사전통지 일자를 반환한다. - * @param req 업무 정보 조회 조건 - * @return 업무 정보 객체 - */ - DataObject selectAdvntceYmdInfo(CmmnQuery req); - - /**업무 정보 정보를 등록한다. - * @param params 파라미터 - *
    • "task" - 업무 정보
    • - *
    • "currentUser" - 현재 접속한 사용자
    • - *
    - * @return 저장된 정보수 - */ - int insertTask(Map params); - - /**업무 정보 정보를 등록한다. - * @param task 업무 정보 - * @return 저장 여부 - *
    • 저장됐으면 true
    • - *
    • 그렇지 않으면 false
    • - *
    - */ - default boolean insert(Task task) { - return task != null && insertTask(params().set("task", task)) == 1; - } - - /**업무 정보 정보를 수정한다. - * @param params 파라미터 - *
    • "task" - 업무 정보
    • - *
    • "currentUser" - 현재 접속한 사용자
    • - *
    - * @return 저장된 정보수 - */ - int updateTask(Map params); - - /**업무 정보 정보를 수정한다. - * @param task 업무 정보 - * @return 저장 여부 - *
    • 저장됐으면 true
    • - *
    • 그렇지 않으면 false
    • - *
    - */ - default boolean update(Task task) { - return task != null && updateTask(params().set("task", task)) == 1; - } - - /**지정한 업무 정보을 삭제한다. - * @param params 파라미터 - *
    • "task" - 업무 정보
    • - *
    • "currentUser" - 현재 접속한 사용자
    • - *
    - * @return 저장된 정보수 - */ - int deleteTask(Map params); - - /**업무 정보 정보를 삭제한다. - * @param task 업무 정보 - * @return 저장 여부 - *
    • 저장됐으면 true
    • - *
    • 그렇지 않으면 false
    • - *
    - */ - default boolean delete(Task task) { - return task != null && deleteTask(params().set("task", task)) == 1; - } - -} diff --git a/src/main/java/cokr/xit/fims/mngt/dao/VltnMapper.java b/src/main/java/cokr/xit/fims/mngt/dao/VltnMapper.java deleted file mode 100644 index 3a2927cd..00000000 --- a/src/main/java/cokr/xit/fims/mngt/dao/VltnMapper.java +++ /dev/null @@ -1,108 +0,0 @@ -package cokr.xit.fims.mngt.dao; - -import java.util.List; -import java.util.Map; - -import org.egovframe.rte.psl.dataaccess.mapper.Mapper; - -import cokr.xit.fims.mngt.Vltn; -import cokr.xit.fims.mngt.VltnQuery; -import cokr.xit.foundation.component.AbstractMapper; -import cokr.xit.foundation.data.DataObject; - -/** 위반 정보 정보 DAO - * - *

    상세 설명: - * - *

    - * ============ 변경 이력 ============
    - * 2023-10-16	JoJH 최초 작성
    - * ================================
    - * 
    - */ -@Mapper("vltnMapper") -public interface VltnMapper extends AbstractMapper { - - /**지정한 조건에 따라 위반 정보 목록을 조회하여 반환한다.
    - * @param req 위반 정보 조회 조건 - * @return 위반 정보 목록 - */ - List selectVltnList(VltnQuery req); - - /**지정한 조건에 따라 위반 정보 객체들을 반환한다. - * @param req 위반 정보 조회 조건 - * @return 위반 정보 객체 목록 - */ - List selectVltns(VltnQuery req); - - /**지정한 조건에 따라 위반 정보 객체를 반환한다. - * @param req 위반 정보 조회 조건 - * @return 위반 정보 객체 - */ - default DataObject selectVltnInfo(VltnQuery req) { - List vltns = selectVltns(req); - - return !vltns.isEmpty() ? vltns.get(0) : null; - } - - /**위반 정보 정보를 등록한다. - * @param params 파라미터 - *
    • "vltnInfo" - 위반 정보
    • - *
    • "currentUser" - 현재 접속한 사용자
    • - *
    - * @return 저장된 정보수 - */ - int insertVltn(Map params); - - /**위반 정보 정보를 등록한다. - * @param vltnInfo 위반 정보 - * @return 저장 여부 - *
    • 저장됐으면 true
    • - *
    • 그렇지 않으면 false
    • - *
    - */ - default boolean insert(Vltn vltn) { - return vltn != null && insertVltn(params().set("vltn", vltn)) == 1; - } - - /**위반 정보 정보를 수정한다. - * @param params 파라미터 - *
    • "vltnInfo" - 위반 정보
    • - *
    • "currentUser" - 현재 접속한 사용자
    • - *
    - * @return 저장된 정보수 - */ - int updateVltn(Map params); - - /**위반 정보 정보를 수정한다. - * @param vltnInfo 위반 정보 - * @return 저장 여부 - *
    • 저장됐으면 true
    • - *
    • 그렇지 않으면 false
    • - *
    - */ - default boolean update(Vltn vltn) { - return vltn != null && updateVltn(params().set("vltn", vltn)) == 1; - } - - /**지정한 위반 정보을 삭제한다. - * @param params 파라미터 - *
    • "vltnInfo" - 위반 정보
    • - *
    • "currentUser" - 현재 접속한 사용자
    • - *
    - * @return 저장된 정보수 - */ - int deleteVltn(Map params); - - /**위반 정보 정보를 삭제한다. - * @param vltnInfo 위반 정보 - * @return 저장 여부 - *
    • 저장됐으면 true
    • - *
    • 그렇지 않으면 false
    • - *
    - */ - default boolean delete(Vltn vltn) { - return vltn != null && deleteVltn(params().set("vltn", vltn)) == 1; - } - -} diff --git a/src/main/java/cokr/xit/fims/mngt/service/NtcService.java b/src/main/java/cokr/xit/fims/mngt/service/NtcService.java deleted file mode 100644 index 9213ebf6..00000000 --- a/src/main/java/cokr/xit/fims/mngt/service/NtcService.java +++ /dev/null @@ -1,50 +0,0 @@ -package cokr.xit.fims.mngt.service; - -import java.util.List; - -import cokr.xit.fims.mngt.Ntc; -import cokr.xit.fims.mngt.NtcQuery; -import cokr.xit.foundation.data.DataObject; - -public interface NtcService { - - /**지정한 조건에 따라 공지사항 목록을 조회하여 반환한다. - * @param req 공지사항 조회 조건 - * @return 공지사항 목록 - */ - List getNtcList(NtcQuery req); - - /**지정한 공지사항ID로 공지사항 객체를 반환한다. - * @param ntcId 공지사항 ID - * @return 공지사항 객체 - */ - DataObject getNtcInfo(String ntcId); - - /**공지사항 정보를 등록한다. - * @param ntc 공지사항 - * @return 저장 여부 - *
    • 저장됐으면 true
    • - *
    • 그렇지 않으면 false
    • - *
    - */ - String create(Ntc ntc); - - /**공지사항 정보를 수정한다. - * @param ntc 공지사항 - * @return 저장 여부 - *
    • 저장됐으면 true
    • - *
    • 그렇지 않으면 false
    • - *
    - */ - String update(Ntc ntc); - - /**공지사항 정보를 삭제한다. - * @param ntc 공지사항 - * @return 저장 여부 - *
    • 저장됐으면 true
    • - *
    • 그렇지 않으면 false
    • - *
    - */ - String remove(Ntc ntc); - -} diff --git a/src/main/java/cokr/xit/fims/mngt/service/SchdlService.java b/src/main/java/cokr/xit/fims/mngt/service/SchdlService.java deleted file mode 100644 index 843557bc..00000000 --- a/src/main/java/cokr/xit/fims/mngt/service/SchdlService.java +++ /dev/null @@ -1,48 +0,0 @@ -package cokr.xit.fims.mngt.service; - -import java.util.List; - -import cokr.xit.fims.mngt.Schdl; -import cokr.xit.fims.mngt.SchdlQuery; -import cokr.xit.foundation.data.DataObject; - -public interface SchdlService { - /**지정한 조건에 따라 일정관리 목록을 조회하여 반환한다. - * @param req 일정관리 조회 조건 - * @return 일정관리 목록 - */ - List getSchdlList(SchdlQuery req); - - /**지정한 조건에 따라 일정관리 객체를 반환한다. - * @param schdlId 일정관리 ID - * @return 일정관리 객체 - */ - DataObject getSchdlInfo(String schdlId); - - /**일정관리 정보를 등록한다. - * @param schdl 일정관리 - * @return 저장 여부 - *
    • 저장됐으면 true
    • - *
    • 그렇지 않으면 false
    • - *
    - */ - String create(Schdl schdl); - - /**일정관리 정보를 수정한다. - * @param schdl 일정관리 - * @return 저장 여부 - *
    • 저장됐으면 true
    • - *
    • 그렇지 않으면 false
    • - *
    - */ - String update(Schdl schdl); - - /**일정관리 정보를 삭제한다. - * @param schdl 일정관리 - * @return 저장 여부 - *
    • 저장됐으면 true
    • - *
    • 그렇지 않으면 false
    • - *
    - */ - String remove(Schdl schdl); -} diff --git a/src/main/java/cokr/xit/fims/mngt/service/bean/NtcBean.java b/src/main/java/cokr/xit/fims/mngt/service/bean/NtcBean.java deleted file mode 100644 index 1173184d..00000000 --- a/src/main/java/cokr/xit/fims/mngt/service/bean/NtcBean.java +++ /dev/null @@ -1,73 +0,0 @@ -package cokr.xit.fims.mngt.service.bean; - -import java.util.List; - -import javax.annotation.Resource; - -import org.springframework.stereotype.Component; - -import cokr.xit.fims.mngt.Ntc; -import cokr.xit.fims.mngt.NtcQuery; -import cokr.xit.fims.mngt.dao.NtcMapper; -import cokr.xit.foundation.component.AbstractBean; -import cokr.xit.foundation.data.DataObject; - -/** 공지사항 Bean - * @author leebj - */ -@Component("ntcBean") -public class NtcBean extends AbstractBean { - - @Resource(name="ntcMapper") - private NtcMapper ntcMapper; - - /**지정한 조건에 따라 공지사항 목록을 조회하여 반환한다. - * @param req 공지사항 조회 조건 - * @return 공지사항 목록 - */ - public List getNtcList(NtcQuery req) { - return ntcMapper.selectNtcList(req); - } - - /**지정한 공지사항ID로 공지사항 객체를 반환한다. - * @param ntcId 공지사항 ID - * @return 공지사항 객체 - */ - public DataObject getNtcInfo(String ntcId) { - return ntcMapper.selectNtcInfo(ntcId); - } - - /**공지사항 정보를 등록한다. - * @param ntc 공지사항 - * @return 저장 여부 - *
    • 저장됐으면 true
    • - *
    • 그렇지 않으면 false
    • - *
    - */ - public boolean create(Ntc ntc) { - return ntcMapper.insert(ntc); - } - - /**공지사항 정보를 수정한다. - * @param ntc 공지사항 - * @return 저장 여부 - *
    • 저장됐으면 true
    • - *
    • 그렇지 않으면 false
    • - *
    - */ - public boolean update(Ntc ntc) { - return ntcMapper.update(ntc); - } - - /**공지사항 정보를 삭제한다. - * @param ntc 공지사항 - * @return 저장 여부 - *
    • 저장됐으면 true
    • - *
    • 그렇지 않으면 false
    • - *
    - */ - public boolean remove(Ntc ntc) { - return ntcMapper.delete(ntc); - } - -} diff --git a/src/main/java/cokr/xit/fims/mngt/service/bean/NtcServiceBean.java b/src/main/java/cokr/xit/fims/mngt/service/bean/NtcServiceBean.java deleted file mode 100644 index 58df5e09..00000000 --- a/src/main/java/cokr/xit/fims/mngt/service/bean/NtcServiceBean.java +++ /dev/null @@ -1,46 +0,0 @@ -package cokr.xit.fims.mngt.service.bean; - -import java.util.List; - -import javax.annotation.Resource; - -import org.springframework.stereotype.Service; - -import cokr.xit.fims.mngt.Ntc; -import cokr.xit.fims.mngt.NtcQuery; -import cokr.xit.fims.mngt.service.NtcService; -import cokr.xit.foundation.component.AbstractServiceBean; -import cokr.xit.foundation.data.DataObject; - -@Service("ntcService") -public class NtcServiceBean extends AbstractServiceBean implements NtcService { - - @Resource(name="ntcBean") - private NtcBean ntcBean; - - @Override - public List getNtcList(NtcQuery req) { - return ntcBean.getNtcList(req); - } - - @Override - public DataObject getNtcInfo(String ntcId) { - return ntcBean.getNtcInfo(ntcId); - } - - @Override - public String create(Ntc ntc) { - return ntcBean.create(ntc) ? "[S]" : "[F]"; - } - - @Override - public String update(Ntc ntc) { - return ntcBean.update(ntc) ? "[S]" : "[F]"; - } - - @Override - public String remove(Ntc ntc) { - return ntcBean.remove(ntc) ? "[S]" : "[F]"; - } - -} diff --git a/src/main/java/cokr/xit/fims/mngt/service/bean/SchdlBean.java b/src/main/java/cokr/xit/fims/mngt/service/bean/SchdlBean.java deleted file mode 100644 index a6402a57..00000000 --- a/src/main/java/cokr/xit/fims/mngt/service/bean/SchdlBean.java +++ /dev/null @@ -1,73 +0,0 @@ -package cokr.xit.fims.mngt.service.bean; - -import java.util.List; - -import javax.annotation.Resource; - -import org.springframework.stereotype.Component; - -import cokr.xit.fims.mngt.Schdl; -import cokr.xit.fims.mngt.SchdlQuery; -import cokr.xit.fims.mngt.dao.SchdlMapper; -import cokr.xit.foundation.component.AbstractBean; -import cokr.xit.foundation.data.DataObject; - -/** 일정관리 Bean - * @author leebj - */ -@Component("schdlBean") -public class SchdlBean extends AbstractBean { - - @Resource(name="schdlMapper") - private SchdlMapper schdlMapper; - - /**지정한 조건에 따라 일정관리 목록을 조회하여 반환한다. - * @param req 일정관리 조회 조건 - * @return 일정관리 목록 - */ - public List getSchdlList(SchdlQuery req) { - return schdlMapper.selectSchdlList(req); - } - - /**지정한 조건에 따라 일정관리 객체를 반환한다. - * @param schdlId 일정관리 ID - * @return 일정관리 객체 - */ - public DataObject getSchdlInfo(String schdlId) { - return schdlMapper.selectSchdlInfo(schdlId); - } - - /**일정관리 정보를 등록한다. - * @param schdl 일정관리 - * @return 저장 여부 - *
    • 저장됐으면 true
    • - *
    • 그렇지 않으면 false
    • - *
    - */ - public boolean create(Schdl schdl) { - return schdlMapper.insert(schdl); - } - - /**일정관리 정보를 수정한다. - * @param schdl 일정관리 - * @return 저장 여부 - *
    • 저장됐으면 true
    • - *
    • 그렇지 않으면 false
    • - *
    - */ - public boolean update(Schdl schdl) { - return schdlMapper.update(schdl); - } - - /**일정관리 정보를 삭제한다. - * @param schdl 일정관리 - * @return 저장 여부 - *
    • 저장됐으면 true
    • - *
    • 그렇지 않으면 false
    • - *
    - */ - public boolean remove(Schdl schdl) { - return schdlMapper.delete(schdl); - } - -} diff --git a/src/main/java/cokr/xit/fims/mngt/service/bean/SchdlServiceBean.java b/src/main/java/cokr/xit/fims/mngt/service/bean/SchdlServiceBean.java deleted file mode 100644 index 6cb357cb..00000000 --- a/src/main/java/cokr/xit/fims/mngt/service/bean/SchdlServiceBean.java +++ /dev/null @@ -1,45 +0,0 @@ -package cokr.xit.fims.mngt.service.bean; - -import java.util.List; - -import javax.annotation.Resource; - -import org.springframework.stereotype.Service; - -import cokr.xit.fims.mngt.Schdl; -import cokr.xit.fims.mngt.SchdlQuery; -import cokr.xit.fims.mngt.service.SchdlService; -import cokr.xit.foundation.component.AbstractServiceBean; -import cokr.xit.foundation.data.DataObject; - -@Service("schdlService") -public class SchdlServiceBean extends AbstractServiceBean implements SchdlService { - - @Resource(name="schdlBean") - private SchdlBean schdlBean; - - @Override - public List getSchdlList(SchdlQuery req) { - return schdlBean.getSchdlList(req); - } - - @Override - public DataObject getSchdlInfo(String schdlId) { - return schdlBean.getSchdlInfo(schdlId); - } - - @Override - public String create(Schdl schdl) { - return schdlBean.create(schdl) ? "[S]" : "[F]"; - } - - @Override - public String update(Schdl schdl) { - return schdlBean.update(schdl) ? "[S]" : "[F]"; - } - - @Override - public String remove(Schdl schdl) { - return schdlBean.remove(schdl) ? "[S]" : "[F]"; - } -} diff --git a/src/main/java/cokr/xit/fims/mngt/service/bean/TaskBean.java b/src/main/java/cokr/xit/fims/mngt/service/bean/TaskBean.java deleted file mode 100644 index dfe26fc9..00000000 --- a/src/main/java/cokr/xit/fims/mngt/service/bean/TaskBean.java +++ /dev/null @@ -1,97 +0,0 @@ -package cokr.xit.fims.mngt.service.bean; - -import java.util.List; - -import javax.annotation.Resource; - -import org.springframework.stereotype.Component; - -import cokr.xit.fims.cmmn.CmmnQuery; -import cokr.xit.fims.mngt.Task; -import cokr.xit.fims.mngt.dao.TaskMapper; -import cokr.xit.foundation.component.AbstractBean; -import cokr.xit.foundation.data.DataObject; - -/**업무 정보 정보 관리 Bean - * - *

    상세 설명: - * - *

    - * ============ 변경 이력 ============
    - * 2023-10-24	JoJH 최초 작성
    - * ================================
    - * 
    - */ -@Component("taskBean") -public class TaskBean extends AbstractBean { - - /** 업무 정보 정보 DAO */ - @Resource(name = "taskMapper") - private TaskMapper taskMapper; - - /**지정한 조건에 따라 업무 정보 목록을 조회하여 반환한다. - * @param req 업무 정보 조회 조건 - * @return 업무 정보 목록 - */ - public List getTaskList(CmmnQuery req) { - return taskMapper.selectTaskList(req); - } - - /**지정한 조건에 따라 업무 정보 객체들을 반환한다. - * @param req 업무 정보 조회 조건 - * @return 업무 정보 객체 목록 - */ - public List getTasks(CmmnQuery req) { - return taskMapper.selectTasks(req); - } - - /**지정한 조건에 따라 업무 정보 객체를 반환한다. - * @param req 위반 정보 조회 조건 - * @return 위반 정보 객체 목록 - */ - public DataObject getTaskInfo(CmmnQuery req) { - return taskMapper.selectTaskInfo(req); - } - - /**지정한 조건에 따라 사전통지 일자를 반환한다. - * @param req 위반 정보 조회 조건 - * @return 위반 정보 객체 목록 - */ - public DataObject getAdvntceYmdInfo(CmmnQuery req) { - return taskMapper.selectAdvntceYmdInfo(req); - } - - /**업무 정보 정보를 등록한다. - * @param taskInfo 업무 정보 - * @return 저장 여부 - *
    • 저장됐으면 true
    • - *
    • 그렇지 않으면 false
    • - *
    - */ - public boolean create(Task task) { - return taskMapper.insert(task); - } - - /**업무 정보 정보를 수정한다. - * @param taskInfo 업무 정보 - * @return 저장 여부 - *
    • 저장됐으면 true
    • - *
    • 그렇지 않으면 false
    • - *
    - */ - public boolean update(Task task) { - return taskMapper.update(task); - } - - /**업무 정보 정보를 삭제한다. - * @param taskInfo 업무 정보 - * @return 저장 여부 - *
    • 저장됐으면 true
    • - *
    • 그렇지 않으면 false
    • - *
    - */ - public boolean remove(Task task) { - return taskMapper.delete(task); - } - -} diff --git a/src/main/java/cokr/xit/fims/mngt/service/bean/VltnBean.java b/src/main/java/cokr/xit/fims/mngt/service/bean/VltnBean.java deleted file mode 100644 index d5bbcdfc..00000000 --- a/src/main/java/cokr/xit/fims/mngt/service/bean/VltnBean.java +++ /dev/null @@ -1,89 +0,0 @@ -package cokr.xit.fims.mngt.service.bean; - -import java.util.List; - -import javax.annotation.Resource; - -import org.springframework.stereotype.Component; - -import cokr.xit.fims.mngt.Vltn; -import cokr.xit.fims.mngt.VltnQuery; -import cokr.xit.fims.mngt.dao.VltnMapper; -import cokr.xit.foundation.component.AbstractBean; -import cokr.xit.foundation.data.DataObject; - -/**위반 정보 정보 관리 Bean - * - *

    상세 설명: - * - *

    - * ============ 변경 이력 ============
    - * 2023-10-16	JoJH 최초 작성
    - * ================================
    - * 
    - */ -@Component("vltnBean") -public class VltnBean extends AbstractBean { - - /** 위반 정보 정보 DAO */ - @Resource(name = "vltnMapper") - private VltnMapper vltnMapper; - - /**지정한 조건에 따라 위반 정보 목록을 조회하여 반환한다. - * @param req 위반 정보 조회 조건 - * @return 위반 정보 목록 - */ - public List getVltnList(VltnQuery req) { - return vltnMapper.selectVltnList(req); - } - - /**지정한 조건에 따라 위반 정보 객체들을 반환한다. - * @param req 위반 정보 조회 조건 - * @return 위반 정보 객체 목록 - */ - public List getVltns(VltnQuery req) { - return vltnMapper.selectVltns(req); - } - - /**지정한 조건에 따라 위반 정보 객체를 반환한다. - * @param req 위반 정보 조회 조건 - * @return 위반 정보 객체 - */ - public DataObject getVltnInfo(VltnQuery req) { - return vltnMapper.selectVltnInfo(req); - } - - /**위반 정보 정보를 등록한다. - * @param vltnInfo 위반 정보 - * @return 저장 여부 - *
    • 저장됐으면 true
    • - *
    • 그렇지 않으면 false
    • - *
    - */ - public boolean create(Vltn vltn) { - return vltnMapper.insert(vltn); - } - - /**위반 정보 정보를 수정한다. - * @param vltnInfo 위반 정보 - * @return 저장 여부 - *
    • 저장됐으면 true
    • - *
    • 그렇지 않으면 false
    • - *
    - */ - public boolean update(Vltn vltn) { - return vltnMapper.update(vltn); - } - - /**위반 정보 정보를 삭제한다. - * @param vltnInfo 위반 정보 - * @return 저장 여부 - *
    • 저장됐으면 true
    • - *
    • 그렇지 않으면 false
    • - *
    - */ - public boolean remove(Vltn vltn) { - return vltnMapper.delete(vltn); - } - -} diff --git a/src/main/java/cokr/xit/fims/mngt/web/Mngt01Controller.java b/src/main/java/cokr/xit/fims/mngt/web/Mngt01Controller.java deleted file mode 100644 index a11284b5..00000000 --- a/src/main/java/cokr/xit/fims/mngt/web/Mngt01Controller.java +++ /dev/null @@ -1,171 +0,0 @@ -package cokr.xit.fims.mngt.web; - -import java.util.List; - -import javax.annotation.Resource; - -import org.springframework.stereotype.Controller; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.servlet.ModelAndView; - -import cokr.xit.base.user.SigunguQuery; -import cokr.xit.base.user.service.SigunguDepartmentService; -import cokr.xit.base.web.ApplicationController; -import cokr.xit.fims.base.FimsUser; -import cokr.xit.fims.mngt.Ntc; -import cokr.xit.fims.mngt.NtcQuery; -import cokr.xit.fims.mngt.service.NtcService; -import cokr.xit.foundation.data.DataObject; - -/**공지사항 서비스 웹 컨트롤러.
    - * {웹 컨텍스트}/mngt/mngt01 로 접근할 수 있다. - * @author leebj - */ -@Controller -@RequestMapping(name="공지사항 관리", value=Mngt01Controller.CLASS_URL) -public class Mngt01Controller extends ApplicationController { - - public static final String CLASS_URL = "/mngt/mngt01"; - - public class METHOD_URL { - public static final String - ntcMain = "/010/main.do", - getNtcList = "/010/list.do", - getNtcInfo = "/020/info.do", - create = "/020/create.do", - update = "/020/update.do", - remove = "/020/remove.do" - ; - } - - @Resource(name="ntcService") - private NtcService ntcService; - - @Resource(name="sigunguDepartmentService") - private SigunguDepartmentService sggDeptService; - - - /** 공지사항 메인화면을 연다. - * @return fims/mngt/mngt01010-main - */ - @RequestMapping(name="공지사항 메인", value=METHOD_URL.ntcMain) - public ModelAndView ntcMain() { - ModelAndView mav = new ModelAndView(); - mav.setViewName("fims/mngt/mngt01010-main"); - mav.addObject("pageName", "mngt01010"); - - return mav; - } - - /**공지사항 목록을 조회하여 반환한다.
    - * {@link NtcService#getNtcList(NtcQuery)} 참고 - * @param req 공지사항 조회 조건 - * @return jsonView - *
     {
    -	 *     "ntcList": [공지사항 목록]
    -	 *     "ntcStart": 공지사항 목록 시작 인덱스
    -	 *     "ntcFetch": 한 번에 가져오는 공지사항 목록 수
    -	 *     "ntcTotal": 조회 결과 찾은 전체 공지사항 수
    -	 * }
    - */ - @RequestMapping(name="공지사항 목록 조회", value=METHOD_URL.getNtcList) - public ModelAndView getNtcList(NtcQuery req) { - ModelAndView mav = new ModelAndView("jsonView"); - setFetchSize(req); - - FimsUser currentUser = (FimsUser) currentUser().getUser(); - String sggCd = currentUser.getOrgID(); - req.setSggCd(sggCd); - List list = ntcService.getNtcList(req); - return setCollectionInfo(mav, list, "", ""); - } - - /**공지사항 상세 내용을 조회하여 반환한다.
    - * {@link NtcService#getNtcInfo(NtcQuery)} 참고 - * @param ntcId 공지사항 ID - * @return jsonView - */ - @RequestMapping(name="공지사항 상세 조회", value=METHOD_URL.getNtcInfo) - public ModelAndView getNtcInfo(String ntcId) { - boolean json = jsonResponse(); - ModelAndView mav = new ModelAndView(json ? "jsonView" : "fims/mngt/mngt01020-info"); - mav.addObject("pageName", "mngt01020"); - DataObject info = new DataObject(); - if(!ifEmpty(ntcId, ()->"").equals("")) { - info = ntcService.getNtcInfo(ntcId); - } else { - info = null; - } - mav.addObject("ntcInfo", json ? info : toJson(info)); - - List allSggList = sggDeptService.getSigunguList(new SigunguQuery()); - mav.addObject("sggList", allSggList); - - return mav; - } - - /**공지사항를 등록한다. - * @param ntc 공지사항 정보 - * @return jsonView - *
     {
    -	 *     "saved": 등록되었으면 true, 그렇지 않으면 false
    -	 * }
    - */ - @RequestMapping(name="공지사항 등록", value=METHOD_URL.create) - public ModelAndView create(Ntc ntc) { - ModelAndView mav = new ModelAndView("jsonView"); - boolean saved = false; - - String rtnMsg = ntcService.create(ntc); - - if(rtnMsg.contains("[S]")) { - saved = true; - } - mav.addObject("saved", saved); - return mav; - } - - /**공지사항 정보를 수정한다. - * @param ntc 공지사항 정보 - * @return jsonView - *
     {
    -	 *     "saved": 수정되었으면 true, 그렇지 않으면 false
    -	 * }
    - */ - @RequestMapping(name="공지사항 수정", value=METHOD_URL.update) - public ModelAndView update(Ntc ntc) { - ModelAndView mav = new ModelAndView("jsonView"); - boolean saved = false; - - String rtnMsg = ntcService.update(ntc); - - if(rtnMsg.contains("[S]")) { - saved = true; - } - mav.addObject("saved", saved); - return mav; - } - - /**지정한 공지사항를 제거한다. - * @param ntcIDs 공지사항 아이디 - * @return jsonView - *
     {
    -	 *     "affected": 저장된 정보수
    -	 *     "saved": 저장되었으면 true, 그렇지 않으면 false
    -	 * }
    - */ - @RequestMapping(name="공지사항 삭제", value=METHOD_URL.remove) - public ModelAndView remove(Ntc ntc) { - ModelAndView mav = new ModelAndView("jsonView"); - boolean saved = false; - - String rtnMsg = ntcService.remove(ntc); - - if(rtnMsg.contains("[S]")) { - saved = true; - } - mav.addObject("saved", saved); - return mav; - - } -} diff --git a/src/main/java/cokr/xit/fims/mngt/web/Mngt02Controller.java b/src/main/java/cokr/xit/fims/mngt/web/Mngt02Controller.java deleted file mode 100644 index b6694578..00000000 --- a/src/main/java/cokr/xit/fims/mngt/web/Mngt02Controller.java +++ /dev/null @@ -1,163 +0,0 @@ -package cokr.xit.fims.mngt.web; - -import java.util.List; - -import javax.annotation.Resource; - -import org.springframework.stereotype.Controller; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.servlet.ModelAndView; - -import cokr.xit.base.web.ApplicationController; -import cokr.xit.fims.mngt.Schdl; -import cokr.xit.fims.mngt.SchdlQuery; -import cokr.xit.fims.mngt.service.SchdlService; -import cokr.xit.foundation.data.DataObject; - -/**일정관리 서비스 웹 컨트롤러.
    - * {웹 컨텍스트}/mngt/mngt02 로 접근할 수 있다. - * @author leebj - */ -@Controller -@RequestMapping(name="일정관리", value=Mngt02Controller.CLASS_URL) -public class Mngt02Controller extends ApplicationController { - - public static final String CLASS_URL = "/mngt/mngt02"; - - public class METHOD_URL { - public static final String - schdlMain = "/010/main.do", - getSchdlList = "/010/list.do", - getSchdlInfo = "/020/info.do", - create = "/020/create.do", - update = "/020/update.do", - remove = "/020/remove.do" - ; - } - - @Resource(name="schdlService") - private SchdlService schdlService; - - /** 일정관리 메인화면을 연다. - * @return fims/mngt/mngt02010-main - */ - @RequestMapping(name="일정관리", value=METHOD_URL.schdlMain) - public ModelAndView schdlMain() { - ModelAndView mav = new ModelAndView(); - mav.setViewName("fims/mngt/mngt02010-main"); - mav.addObject("pageName", "mngt02010"); - - return mav; - } - - /**일정관리 목록을 조회하여 반환한다.
    - * {@link SchdlService#getSchdlList(SchdlQuery)} 참고 - * @param req 일정관리 조회 조건 - * @return jsonView - *
     {
    -	 *     "schdlList": [일정관리 목록]
    -	 *     "schdlStart": 일정관리 목록 시작 인덱스
    -	 *     "schdlFetch": 한 번에 가져오는 일정관리 목록 수
    -	 *     "schdlTotal": 조회 결과 찾은 전체 일정관리 수
    -	 * }
    - */ - @RequestMapping(name="일정 목록 조회", value=METHOD_URL.getSchdlList) - public ModelAndView getSchdlList(SchdlQuery req) { - ModelAndView mav = new ModelAndView("jsonView"); - - req.setUserId(currentUser().getId()); - List list = schdlService.getSchdlList(req); - mav.addObject("list", list); - return mav; - } - - /**일정관리를 조회하여 반환한다.
    - * {@link SchdlService#getSchdlInfo(SchdlQuery)} 참고 - * @param req 일정관리 조회 조건 - * @return jsonView - */ - @RequestMapping(name="일정 조회", value=METHOD_URL.getSchdlInfo) - public ModelAndView getSchdlInfo(String schdlId, String schdlBgngYmd, String schdlEndYmd) { - - boolean json = jsonResponse(); - ModelAndView mav = new ModelAndView(json ? "jsonView" : "fims/mngt/mngt02020-info"); - mav.addObject("pageName", "mngt02020"); - DataObject info = new DataObject(); - - if(!ifEmpty(schdlId, ()->"").equals("")) { - info = schdlService.getSchdlInfo(schdlId); - } else { - info = null; - } - mav.addObject("schdlInfo", json ? info : toJson(info)); - - mav.addObject("schdlBgngYmd", schdlBgngYmd); - mav.addObject("schdlEndYmd", schdlEndYmd); - return mav; - } - - /**일정을 등록한다. - * @param schdl 일정관리 정보 - * @return jsonView - *
     {
    -	 *     "saved": 등록되었으면 true, 그렇지 않으면 false
    -	 * }
    - */ - @RequestMapping(name="일정 추가", value=METHOD_URL.create) - public ModelAndView create(Schdl schdl) { - ModelAndView mav = new ModelAndView("jsonView"); - boolean saved = false; - schdl.setUserId(currentUser().getId()); - String rtnMsg = schdlService.create(schdl); - - if(rtnMsg.contains("[S]")) { - saved = true; - } - mav.addObject("saved", saved); - mav.addObject("schdlId", schdl.getSchdlId()); - return mav; - } - - /**일정을 수정한다. - * @param schdl 일정관리 정보 - * @return jsonView - *
     {
    -	 *     "saved": 수정되었으면 true, 그렇지 않으면 false
    -	 * }
    - */ - @RequestMapping(name="일정 수정", value=METHOD_URL.update) - public ModelAndView update(Schdl schdl) { - ModelAndView mav = new ModelAndView("jsonView"); - boolean saved = false; - schdl.setUserId(currentUser().getId()); - String rtnMsg = schdlService.update(schdl); - - if(rtnMsg.contains("[S]")) { - saved = true; - } - mav.addObject("saved", saved); - return mav; - } - - /**지정한 일정을 제거한다. - * @param schdlIDs 일정관리 아이디 - * @return jsonView - *
     {
    -	 *     "affected": 저장된 정보수
    -	 *     "saved": 저장되었으면 true, 그렇지 않으면 false
    -	 * }
    - */ - @RequestMapping(name="일정 삭제", value=METHOD_URL.remove) - public ModelAndView remove(Schdl schdl) { - ModelAndView mav = new ModelAndView("jsonView"); - boolean saved = false; - schdl.setUserId(currentUser().getId()); - String rtnMsg = schdlService.remove(schdl); - - if(rtnMsg.contains("[S]")) { - saved = true; - } - mav.addObject("saved", saved); - return mav; - } -} diff --git a/src/main/java/cokr/xit/fims/nxrp/A01.java b/src/main/java/cokr/xit/fims/nxrp/A01.java deleted file mode 100644 index 0aeac7e7..00000000 --- a/src/main/java/cokr/xit/fims/nxrp/A01.java +++ /dev/null @@ -1,460 +0,0 @@ -package cokr.xit.fims.nxrp; - -import cokr.xit.foundation.AbstractEntity; -import lombok.Getter; -import lombok.Setter; - -/** - * 과태료 대장 단속 정보 등록 - * @author JoJH - */ -@Getter -@Setter -public class A01 extends AbstractEntity { - - /** - * 일련번호 ID - */ - private String a01Id; - - /** - * 업무 구분 코드 - */ - private String taskSeCd; - - /** - * 자치단체코드 - */ - private String sgbCd; - - /** - * 연계대상코드 - */ - private String linkTrgtCd; - - /** - * 연계관리키 - */ - private String linkMngKey; - - /** - * 부서코드 - */ - private String dptCd; - - /** - * 접수연도 - */ - private String rcptYr; - - /** - * 특별회계사업코드 - */ - private String spacBizCd; - - /** - * 회계구분코드 - */ - private String actSeCd; - - /** - * 대표세입과목코드 - */ - private String rprsTxmCd; - - /** - * 운영항목코드 - */ - private String operItemCd; - - /** - * 과태료과징금구분코드 - */ - private String finScrgSeCd; - - /** - * 납부자구분코드 - */ - private String pyrSeCd; - - /** - * 납부자번호 - */ - private String pyrNo; - - /** - * 납부자명 - */ - private String pyrNm; - - /** - * 대표납부자번호 - */ - private String rprsPyrNo; - - /** - * 대표납부자명 - */ - private String rprsPyrNm; - - /** - * 납부자전화번호 - */ - private String pyrTelno; - - /** - * 납부자휴대전화번호 - */ - private String pyrMblTelno; - - /** - * 납부자이메일주소 - */ - private String pyrEmlAddr; - - /** - * 납부자상태코드 - */ - private String pyrSttCd; - - /** - * 납부자지번도로주소구분코드 - */ - private String pyrLotnoRoadAddrSeCd; - - /** - * 납부자우편번호 - */ - private String pyrZip; - - /** - * 납부자도로명코드 - */ - private String pyrRoadNmCd; - - /** - * 납부자주소지하여부 - */ - private String pyrAddrUdgdYn; - - /** - * 납부자건물본번 - */ - private String pyrBmno; - - /** - * 납부자건물부번 - */ - private String pyrBsno; - - /** - * 납부자법정동코드 - */ - private String pyrStdgCd; - - /** - * 납부자행정동코드 - */ - private String pyrDongCd; - - /** - * 납부자산구분코드 - */ - private String pyrMtnSeCd; - - /** - * 납부자건물관리번호 - */ - private String pyrBldgMngNo; - - /** - * 납부자건물명 - */ - private String pyrBldgNm; - - /** - * 납부자본번 - */ - private String pyrMno; - - /** - * 납부자부번 - */ - private String pyrSno; - - /** - * 납부자특수동 - */ - private String pyrSpclDg; - - /** - * 납부자특수호 - */ - private String pyrSpclHo; - - /** - * 납부자통 - */ - private String pyrTong; - - /** - * 납부자반 - */ - private String pyrBan; - - /** - * 납부자특수주소 - */ - private String pyrSpclAddr; - - /** - * 납부자도로명주소 - */ - private String pyrRoadNmAddr; - - /** - * 납부자도로명상세주소 - */ - private String pyrRoadNmDaddr; - - /** - * 납부자도로명전체주소 - */ - private String pyrRoadNmAlAddr; - - /** - * 납부자지번주소 - */ - private String pyrLotnoAddr; - - /** - * 납부자지번상세주소 - */ - private String pyrLotnoDaddr; - - /** - * 납부자지번전체주소 - */ - private String pyrLotnoAlAddr; - - /** - * 물건지명 - */ - private String glNm; - - /** - * 물건지지번도로주소구분코드 - */ - private String glLotnoRoadAddrSeCd; - - /** - * 물건지우편번호 - */ - private String glZip; - - /** - * 물건지도로명코드 - */ - private String glRoadNmCd; - - /** - * 물건지주소지하여부 - */ - private String glAddrUdgdYn; - - /** - * 물건지건물본번 - */ - private String glBmno; - - /** - * 물건지건물부번 - */ - private String glBsno; - - /** - * 물건지법정동코드 - */ - private String glStdgCd; - - /** - * 물건지행정동코드 - */ - private String glDongCd; - - /** - * 물건지산구분코드 - */ - private String glMtnSeCd; - - /** - * 물건지본번 - */ - private String glMno; - - /** - * 물건지부번 - */ - private String glSno; - - /** - * 물건지특수동 - */ - private String glSpclAddr; - - /** - * 물건지특수호 - */ - private String glSpclDg; - - /** - * 물건지특수주소 - */ - private String glSpclHo; - - /** - * 물건지도로명기본주소 - */ - private String glRoadNmAddr; - - /** - * 물건지도로명상세주소 - */ - private String glRoadNmDaddr; - - /** - * 물건지도로명전체주소 - */ - private String glRoadNmAlAddr; - - /** - * 물건지지번기본주소 - */ - private String glLotnoAddr; - - /** - * 물건지지번상세주소 - */ - private String glLotnoDaddr; - - /** - * 물건지지번전체주소 - */ - private String glLotnoAlAddr; - - /** - * 부과대상구분코드 - */ - private String lvyTrgtSeCd; - - /** - * 등록일자 - */ - private String regYmd; - - /** - * 과태료과징금금액 - */ - private String finScrgAmt; - - /** - * 시설구분코드 - */ - private String fcltSeCd; - - /** - * 등록구분코드 - */ - private String regSeCd; - - /** - * 감경사유구분코드 - */ - private String rdtRsnSeCd; - - /** - * 자동차등록번호 - */ - private String vhrno; - - /** - * 조례법령근거명 - */ - private String mclncLaoBssNm; - - /** - * 관리1항목 - */ - private String mngItemCn1; - - /** - * 관리2항목 - */ - private String mngItemCn2; - - /** - * 관리3항목 - */ - private String mngItemCn3; - - /** - * 관리4항목 - */ - private String mngItemCn4; - - /** - * 관리5항목 - */ - private String mngItemCn5; - - /** - * 관리6항목 - */ - private String mngItemCn6; - - /** - * 비고내용 - */ - private String rmCn; - - /** - * 예비항목1 - */ - private String rsveItem1; - - /** - * 예비항목2 - */ - private String rsveItem2; - - /** - * 예비항목3 - */ - private String rsveItem3; - - /** - * 예비항목4 - */ - private String rsveItem4; - - /** - * 예비항목5 - */ - private String rsveItem5; - - /** - * 연계 결과 일시 - */ - private String linkRstDt; - - /** - * 연계 결과 코드 - */ - private String linkRstCd; - - /** - * 연계 결과 메시지 - */ - private String linkRstMsg; - -} diff --git a/src/main/java/cokr/xit/fims/nxrp/A02.java b/src/main/java/cokr/xit/fims/nxrp/A02.java deleted file mode 100644 index 1d0ef6f1..00000000 --- a/src/main/java/cokr/xit/fims/nxrp/A02.java +++ /dev/null @@ -1,555 +0,0 @@ -package cokr.xit.fims.nxrp; - -import cokr.xit.foundation.AbstractEntity; -import lombok.Getter; -import lombok.Setter; - -/** - * 과태료 대장 등록 자료 일괄 조회 - * @author JoJH - */ -@Getter -@Setter -public class A02 extends AbstractEntity { - - /** - * 일련번호 ID - */ - private String a02Id; - - /** - * 연계 일자 - */ - private String linkYmd; - - /** - * 자치단체코드 - */ - private String sgbCd; - - /** - * 과태료과징금대장키 - */ - private String finScrgAcbKey; - - /** - * 자치단체명 - */ - private String sgbNm; - - /** - * 연계대상코드 - */ - private String linkTrgtCd; - - /** - * 연계관리키 - */ - private String linkMngKey; - - /** - * 부서코드 - */ - private String dptCd; - - /** - * 부서명 - */ - private String dptNm; - - /** - * 접수연도 - */ - private String rcptYr; - - /** - * 특별회계사업코드 - */ - private String spacBizCd; - - /** - * 특별회계사업명 - */ - private String spacBizNm; - - /** - * 회계구분코드 - */ - private String actSeCd; - - /** - * 회계구분명 - */ - private String actSeNm; - - /** - * 대표세입과목코드 - */ - private String rprsTxmCd; - - /** - * 대표세입과목명 - */ - private String rprsTxmNm; - - /** - * 운영항목코드 - */ - private String operItemCd; - - /** - * 운영항목명 - */ - private String operItemNm; - - /** - * 등록일자 - */ - private String regYmd; - - /** - * 납부자구분코드 - */ - private String pyrSeCd; - - /** - * 납부자구분명 - */ - private String pyrSeNm; - - /** - * 납부자번호 - */ - private String pyrNo; - - /** - * 납부자명 - */ - private String pyrNm; - - /** - * 납부자상태코드 - */ - private String pyrSttCd; - - /** - * 납부자상태명 - */ - private String pyrSttNm; - - /** - * 납부자우편번호 - */ - private String pyrZip; - - /** - * 납부자주소 - */ - private String pyrAddr; - - /** - * 전화번호 - */ - private String telno; - - /** - * 휴대전화번호 - */ - private String mblTelno; - - /** - * 납부자이메일 - */ - private String pyrEmlAddr; - - /** - * 자동차등록번호 - */ - private String vhrno; - - /** - * 관리1항목 - */ - private String mngItemCn1; - - /** - * 관리2항목 - */ - private String mngItemCn2; - - /** - * 관리3항목 - */ - private String mngItemCn3; - - /** - * 관리4항목 - */ - private String mngItemCn4; - - /** - * 관리5항목 - */ - private String mngItemCn5; - - /** - * 관리6항목 - */ - private String mngItemCn6; - - /** - * 시설구분코드 - */ - private String fcltSeCd; - - /** - * 시설구분명 - */ - private String fcltSeNm; - - /** - * 등록구분코드 - */ - private String regSeCd; - - /** - * 등록구분명 - */ - private String regSeNm; - - /** - * 사전통지일자 - */ - private String bfAvtsmtYmd; - - /** - * 의견제출기한시작일자 - */ - private String opnSbmsnTermBgngYmd; - - /** - * 의견제출기한종료일자 - */ - private String opnSbmsnTermEndYmd; - - /** - * 최초과태료과징금금액 - */ - private String frstFinScrgAmt; - - /** - * 감경사유구분코드 - */ - private String rdtRsnSeCd; - - /** - * 감경사유구분명 - */ - private String rdtRsnSeNm; - - /** - * 가중사유코드 - */ - private String agvtRsnCd; - - /** - * 감경가중율 - */ - private String rdtAgvtRt; - - /** - * 과태료과징금금액 - */ - private String finScrgAmt; - - /** - * 사전감경율 - */ - private String bfRdtRt; - - /** - * 사전감경금액 - */ - private String bfRdtAmt; - - /** - * 비고내용 - */ - private String rmCn; - - /** - * 감경비고내용 - */ - private String rdtRmCn; - - /** - * 고지서발송지구분코드 - */ - private String nhtFrwarSeCd; - - /** - * 고지서발송지구분명 - */ - private String nhtFrwarSeNm; - - /** - * 종료일자 - */ - private String endYmd; - - /** - * 종료사유내용 - */ - private String endRsnCn; - - /** - * 삭제 여부 - */ - private String delYn; - - /** - * 전자납부번호 - */ - private String epayNo; - - /** - * 가상계좌은행명1 - */ - private String vtlacBankNm1; - - /** - * 가상계좌번호1 - */ - private String vrActno1; - - /** - * 가상계좌은행명2 - */ - private String vtlacBankNm2; - - /** - * 가상계좌번호2 - */ - private String vrActno2; - - /** - * 가상계좌은행명3 - */ - private String vtlacBankNm3; - - /** - * 가상계좌번호3 - */ - private String vrActno3; - - /** - * 가상계좌은행명4 - */ - private String vtlacBankNm4; - - /** - * 가상계좌번호4 - */ - private String vrActno4; - - /** - * 가상계좌은행명5 - */ - private String vtlacBankNm5; - - /** - * 가상계좌번호5 - */ - private String vrActno5; - - /** - * 가상계좌은행명6 - */ - private String vtlacBankNm6; - - /** - * 가상계좌번호6 - */ - private String vrActno6; - - /** - * 가상계좌은행명7 - */ - private String vtlacBankNm7; - - /** - * 가상계좌번호7 - */ - private String vrActno7; - - /** - * 가상계좌은행명8 - */ - private String vtlacBankNm8; - - /** - * 가상계좌번호8 - */ - private String vrActno8; - - /** - * 가상계좌은행명9 - */ - private String vtlacBankNm9; - - /** - * 가상계좌번호9 - */ - private String vrActno9; - - /** - * 가상계좌은행명10 - */ - private String vtlacBankNm10; - - /** - * 가상계좌번호10 - */ - private String vrActno10; - - /** - * 가상계좌은행명11 - */ - private String vtlacBankNm11; - - /** - * 가상계좌번호11 - */ - private String vrActno11; - - /** - * 가상계좌은행명12 - */ - private String vtlacBankNm12; - - /** - * 가상계좌번호12 - */ - private String vrActno12; - - /** - * 가상계좌은행명13 - */ - private String vtlacBankNm13; - - /** - * 가상계좌번호13 - */ - private String vrActno13; - - /** - * 가상계좌은행명14 - */ - private String vtlacBankNm14; - - /** - * 가상계좌번호14 - */ - private String vrActno14; - - /** - * 가상계좌은행명15 - */ - private String vtlacBankNm15; - - /** - * 가상계좌번호15 - */ - private String vrActno15; - - /** - * 가상계좌은행명16 - */ - private String vtlacBankNm16; - - /** - * 가상계좌번호16 - */ - private String vrActno16; - - /** - * 가상계좌은행명17 - */ - private String vtlacBankNm17; - - /** - * 가상계좌번호17 - */ - private String vrActno17; - - /** - * 가상계좌은행명18 - */ - private String vtlacBankNm18; - - /** - * 가상계좌번호18 - */ - private String vrActno18; - - /** - * 가상계좌은행명19 - */ - private String vtlacBankNm19; - - /** - * 가상계좌번호19 - */ - private String vrActno19; - - /** - * 가상계좌은행명20 - */ - private String vtlacBankNm20; - - /** - * 가상계좌번호20 - */ - private String vrActno20; - - /** - * 예비항목1 - */ - private String rsveItem1; - - /** - * 예비항목2 - */ - private String rsveItem2; - - /** - * 예비항목3 - */ - private String rsveItem3; - - /** - * 예비항목4 - */ - private String rsveItem4; - - /** - * 예비항목5 - */ - private String rsveItem5; - - /** - * 업무 적용 일시 - */ - private String taskAplcnDt; - - /** - * 업무 적용 코드 - */ - private String taskAplcnCd; - - /** - * 업무 적용 메시지 - */ - private String taskAplcnMsg; - -} diff --git a/src/main/java/cokr/xit/fims/nxrp/A03.java b/src/main/java/cokr/xit/fims/nxrp/A03.java deleted file mode 100644 index 79912291..00000000 --- a/src/main/java/cokr/xit/fims/nxrp/A03.java +++ /dev/null @@ -1,575 +0,0 @@ -package cokr.xit.fims.nxrp; - -import cokr.xit.foundation.AbstractEntity; -import lombok.Getter; -import lombok.Setter; - -/** - * 과태료 대장 등록 자료 상세 조회 - * @author JoJH - */ -@Getter -@Setter -public class A03 extends AbstractEntity { - - /** - * 일련번호 ID - */ - private String a03Id; - - /** - * 업무 구분 코드 - */ - private String taskSeCd; - - /** - * 자치단체코드 - */ - private String sgbCd; - - /** - * 연계대상코드 - */ - private String linkTrgtCd; - - /** - * 연계관리키 - */ - private String linkMngKey; - - /** - * 과태료과징금대장키 - */ - private String finScrgAcbKey; - - /** - * 부서코드 - */ - private String dptCd; - - /** - * 부서명 - */ - private String dptNm; - - /** - * 접수연도 - */ - private String rcptYr; - - /** - * 특별회계사업코드 - */ - private String spacBizCd; - - /** - * 특별회계사업명 - */ - private String spacBizNm; - - /** - * 회계구분코드 - */ - private String actSeCd; - - /** - * 회계구분명 - */ - private String actSeNm; - - /** - * 대표세입과목코드 - */ - private String rprsTxmCd; - - /** - * 대표세입과목명 - */ - private String rprsTxmNm; - - /** - * 운영항목코드 - */ - private String operItemCd; - - /** - * 운영항목명 - */ - private String operItemNm; - - /** - * 등록일자 - */ - private String regYmd; - - /** - * 납부자구분코드 - */ - private String pyrSeCd; - - /** - * 납부자구분명 - */ - private String pyrSeNm; - - /** - * 납부자번호 - */ - private String pyrNo; - - /** - * 납부자명 - */ - private String pyrNm; - - /** - * 납부자상태코드 - */ - private String pyrSttCd; - - /** - * 납부자상태명 - */ - private String pyrSttNm; - - /** - * 납부자우편번호 - */ - private String pyrZip; - - /** - * 납부자주소 - */ - private String pyrAddr; - - /** - * 전화번호 - */ - private String telno; - - /** - * 휴대전화번호 - */ - private String mblTelno; - - /** - * 납부자이메일 - */ - private String pyrEmlAddr; - - /** - * 자동차등록번호 - */ - private String vhrno; - - /** - * 관리1항목 - */ - private String mngItemCn1; - - /** - * 관리2항목 - */ - private String mngItemCn2; - - /** - * 관리3항목 - */ - private String mngItemCn3; - - /** - * 관리4항목 - */ - private String mngItemCn4; - - /** - * 관리5항목 - */ - private String mngItemCn5; - - /** - * 관리6항목 - */ - private String mngItemCn6; - - /** - * 시설구분코드 - */ - private String fcltSeCd; - - /** - * 시설구분명 - */ - private String fcltSeNm; - - /** - * 등록구분코드 - */ - private String regSeCd; - - /** - * 등록구분명 - */ - private String regSeNm; - - /** - * 사전통지일자 - */ - private String bfAvtsmtYmd; - - /** - * 의견제출기한시작일자 - */ - private String opnSbmsnTermBgngYmd; - - /** - * 의견제출기한종료일자 - */ - private String opnSbmsnTermEndYmd; - - /** - * 최초과태료과징금금액 - */ - private String frstFinScrgAmt; - - /** - * 감경사유구분코드 - */ - private String rdtRsnSeCd; - - /** - * 감경사유구분명 - */ - private String rdtRsnSeNm; - - /** - * 가중사유코드 - */ - private String agvtRsnCd; - - /** - * 가중사유명 - */ - private String agvtRsnNm; - - /** - * 감경가중율 - */ - private String rdtAgvtRt; - - /** - * 과태료과징금금액 - */ - private String finScrgAmt; - - /** - * 사전감경율 - */ - private String bfRdtRt; - - /** - * 사전감경금액 - */ - private String bfRdtAmt; - - /** - * 비고내용 - */ - private String rmCn; - - /** - * 감경비고내용 - */ - private String rdtRmCn; - - /** - * 고지서발송지구분코드 - */ - private String nhtFrwarSeCd; - - /** - * 고지서발송지구분명 - */ - private String nhtFrwarSeNm; - - /** - * 종료일자 - */ - private String endYmd; - - /** - * 종료사유내용 - */ - private String endRsnCn; - - /** - * 수납구분코드 - */ - private String rcvmtSeCd; - - /** - * 수납구분명 - */ - private String rcvmtSeNm; - - /** - * 전자납부번호 - */ - private String epayNo; - - /** - * 가상계좌은행명1 - */ - private String vtlacBankNm1; - - /** - * 가상계좌번호1 - */ - private String vrActno1; - - /** - * 가상계좌은행명2 - */ - private String vtlacBankNm2; - - /** - * 가상계좌번호2 - */ - private String vrActno2; - - /** - * 가상계좌은행명3 - */ - private String vtlacBankNm3; - - /** - * 가상계좌번호3 - */ - private String vrActno3; - - /** - * 가상계좌은행명4 - */ - private String vtlacBankNm4; - - /** - * 가상계좌번호4 - */ - private String vrActno4; - - /** - * 가상계좌은행명5 - */ - private String vtlacBankNm5; - - /** - * 가상계좌번호5 - */ - private String vrActno5; - - /** - * 가상계좌은행명6 - */ - private String vtlacBankNm6; - - /** - * 가상계좌번호6 - */ - private String vrActno6; - - /** - * 가상계좌은행명7 - */ - private String vtlacBankNm7; - - /** - * 가상계좌번호7 - */ - private String vrActno7; - - /** - * 가상계좌은행명8 - */ - private String vtlacBankNm8; - - /** - * 가상계좌번호8 - */ - private String vrActno8; - - /** - * 가상계좌은행명9 - */ - private String vtlacBankNm9; - - /** - * 가상계좌번호9 - */ - private String vrActno9; - - /** - * 가상계좌은행명10 - */ - private String vtlacBankNm10; - - /** - * 가상계좌번호10 - */ - private String vrActno10; - - /** - * 가상계좌은행명11 - */ - private String vtlacBankNm11; - - /** - * 가상계좌번호11 - */ - private String vrActno11; - - /** - * 가상계좌은행명12 - */ - private String vtlacBankNm12; - - /** - * 가상계좌번호12 - */ - private String vrActno12; - - /** - * 가상계좌은행명13 - */ - private String vtlacBankNm13; - - /** - * 가상계좌번호13 - */ - private String vrActno13; - - /** - * 가상계좌은행명14 - */ - private String vtlacBankNm14; - - /** - * 가상계좌번호14 - */ - private String vrActno14; - - /** - * 가상계좌은행명15 - */ - private String vtlacBankNm15; - - /** - * 가상계좌번호15 - */ - private String vrActno15; - - /** - * 가상계좌은행명16 - */ - private String vtlacBankNm16; - - /** - * 가상계좌번호16 - */ - private String vrActno16; - - /** - * 가상계좌은행명17 - */ - private String vtlacBankNm17; - - /** - * 가상계좌번호17 - */ - private String vrActno17; - - /** - * 가상계좌은행명18 - */ - private String vtlacBankNm18; - - /** - * 가상계좌번호18 - */ - private String vrActno18; - - /** - * 가상계좌은행명19 - */ - private String vtlacBankNm19; - - /** - * 가상계좌번호19 - */ - private String vrActno19; - - /** - * 가상계좌은행명20 - */ - private String vtlacBankNm20; - - /** - * 가상계좌번호20 - */ - private String vrActno20; - - /** - * 예비항목1 - */ - private String rsveItem1; - - /** - * 예비항목2 - */ - private String rsveItem2; - - /** - * 예비항목3 - */ - private String rsveItem3; - - /** - * 예비항목4 - */ - private String rsveItem4; - - /** - * 예비항목5 - */ - private String rsveItem5; - - /** - * 연계 결과 일시 - */ - private String linkRstDt; - - /** - * 연계 결과 코드 - */ - private String linkRstCd; - - /** - * 연계 결과 메시지 - */ - private String linkRstMsg; - - /** - * 업무 적용 일시 - */ - private String taskAplcnDt; - - /** - * 업무 적용 코드 - */ - private String taskAplcnCd; - - /** - * 업무 적용 메시지 - */ - private String taskAplcnMsg; - -} diff --git a/src/main/java/cokr/xit/fims/nxrp/A03Rqst.java b/src/main/java/cokr/xit/fims/nxrp/A03Rqst.java deleted file mode 100644 index d5ee5b83..00000000 --- a/src/main/java/cokr/xit/fims/nxrp/A03Rqst.java +++ /dev/null @@ -1,40 +0,0 @@ -package cokr.xit.fims.nxrp; - -import cokr.xit.foundation.AbstractEntity; -import lombok.Getter; -import lombok.Setter; - -/** - * 과태료 대장 등록 자료 상세 조회 - * @author JoJH - */ -@Getter -@Setter -public class A03Rqst extends AbstractEntity { - - /** - * 업무 구분 코드 - */ - private String taskSeCd; - - /** - * 자치단체코드 - */ - private String sgbCd; - - /** - * 연계대상코드 - */ - private String linkTrgtCd; - - /** - * 연계관리키 - */ - private String linkMngKey; - - /** - * 과태료과징금대장키 - */ - private String finScrgAcbKey; - -} diff --git a/src/main/java/cokr/xit/fims/nxrp/B01.java b/src/main/java/cokr/xit/fims/nxrp/B01.java deleted file mode 100644 index e3aac491..00000000 --- a/src/main/java/cokr/xit/fims/nxrp/B01.java +++ /dev/null @@ -1,63 +0,0 @@ -package cokr.xit.fims.nxrp; - -import org.egovframe.rte.fdl.string.EgovStringUtil; - -import cokr.xit.fims.cmmn.Hangul; -import cokr.xit.fims.cmmn.UnnamedItems; - -public class B01 extends UnnamedItems { - - class HasText { - public static final int[] maxByteLen = {14,30,2,10,2,60,60,60,2,1,10,20,20,3}; - public static final String[] defaultValue = {"","","","","","","","","","1","0000000000","","",""}; - } - class NoText { - public static final int[] maxByteLen = {17,30,2,10,2,60,2,1,10,20,20,1,4}; - public static final String[] defaultValue = {"","","","","","","","1","0000000000","000","000","",""}; - } - - protected Hangul hangul; - protected boolean includeTxt; - - public B01(boolean includeTxt){ - this.hangul = new Hangul(3); - this.includeTxt = includeTxt; - - int itemCount = 0; - if(includeTxt) { - itemCount = 14; - } else { - String[] unused = {"파일순서", "확장자"}; - itemCount = 13 - unused.length; - } - - items = new String[itemCount]; - } - - @Override - public void set(int i, String str) { - if(this.includeTxt) { - if(HasText.maxByteLen[i-1] != 0 && hangul.getByteLength(str) > HasText.maxByteLen[i-1]) { - throw new RuntimeException("[F]"+i+"번째 항목 "+HasText.maxByteLen[i-1]+"바이트 초과 오류"); - } - - if(EgovStringUtil.null2void(str).equals("")) { - super.set(i, HasText.defaultValue[i-1]); - } else { - super.set(i, str); - } - - } else { - if(NoText.maxByteLen[i-1] != 0 && hangul.getByteLength(str) > NoText.maxByteLen[i-1]) { - throw new RuntimeException("[F]"+i+"번째 항목 "+NoText.maxByteLen[i-1]+"바이트 초과 오류"); - } - - if(EgovStringUtil.null2void(str).equals("")) { - super.set(i, NoText.defaultValue[i-1]); - } else { - super.set(i, str); - } - - } - } -} diff --git a/src/main/java/cokr/xit/fims/nxrp/C01.java b/src/main/java/cokr/xit/fims/nxrp/C01.java deleted file mode 100644 index c360dbef..00000000 --- a/src/main/java/cokr/xit/fims/nxrp/C01.java +++ /dev/null @@ -1,63 +0,0 @@ -package cokr.xit.fims.nxrp; - -import org.egovframe.rte.fdl.string.EgovStringUtil; - -import cokr.xit.fims.cmmn.Hangul; -import cokr.xit.fims.cmmn.UnnamedItems; - -public class C01 extends UnnamedItems { - - class HasText { - public static final int[] maxByteLen = {14,30,2,10,2,60,60,1,10,20,20,10,10,3}; - public static final String[] defaultValue = {"","","","","","","","1","0000000000","","","","",""}; - } - class NoText { - public static final int[] maxByteLen = {17,30,2,10,2,60,1,10,20,20,1,4}; - public static final String[] defaultValue = {"","","","","","","1","0000000000","000","000","",""}; - } - - protected Hangul hangul; - protected boolean includeTxt; - - public C01(boolean includeTxt){ - this.hangul = new Hangul(3); - this.includeTxt = includeTxt; - - int itemCount = 0; - if(includeTxt) { - itemCount = 14; - } else { - String[] unused = {"파일순서", "확장자"}; - itemCount = 12 - unused.length; - } - - items = new String[itemCount]; - } - - @Override - public void set(int i, String str) { - if(this.includeTxt) { - if(HasText.maxByteLen[i-1] != 0 && hangul.getByteLength(str) > HasText.maxByteLen[i-1]) { - throw new RuntimeException("[F]"+i+"번째 항목 "+HasText.maxByteLen[i-1]+"바이트 초과 오류"); - } - - if(EgovStringUtil.null2void(str).equals("")) { - super.set(i, HasText.defaultValue[i-1]); - } else { - super.set(i, str); - } - - } else { - if(NoText.maxByteLen[i-1] != 0 && hangul.getByteLength(str) > NoText.maxByteLen[i-1]) { - throw new RuntimeException("[F]"+i+"번째 항목 "+NoText.maxByteLen[i-1]+"바이트 초과 오류"); - } - - if(EgovStringUtil.null2void(str).equals("")) { - super.set(i, NoText.defaultValue[i-1]); - } else { - super.set(i, str); - } - - } - } -} diff --git a/src/main/java/cokr/xit/fims/nxrp/NisIndivQuery.java b/src/main/java/cokr/xit/fims/nxrp/NisIndivQuery.java deleted file mode 100644 index fd629f0b..00000000 --- a/src/main/java/cokr/xit/fims/nxrp/NisIndivQuery.java +++ /dev/null @@ -1,83 +0,0 @@ -package cokr.xit.fims.nxrp; - -import cokr.xit.foundation.component.QueryRequest; - -/**과태료 대장 단속 정보 등록 정보 조회 요청 - * - *

    상세 설명: - * - *

    - * ============ 변경 이력 ============
    - * 2024-02-16	JoJH 최초 작성
    - * ================================
    - * 
    - */ -public class NisIndivQuery extends QueryRequest { - - private static final long serialVersionUID = 1L; - - // ID - private String[] crdnIds; // 단속 Ids - private String crdnId; // 단속 ID - private String sndngDtlId; // 발송 상세 Id - // 연계 Key - private String linkTrgtCd; - private String linkMngKey; - // - private String sndngYmd; // 발송(TB_SNDNG)_발송 일자 - - public String[] getCrdnIds() { - return ifEmpty(crdnIds, () -> null); - } - - public T setCrdnIds(String... crdnIds) { - this.crdnIds = crdnIds; - return self(); - } - - public String getCrdnId() { - return ifEmpty(crdnId, () -> null); - } - - public T setCrdnId(String crdnId) { - this.crdnId = crdnId; - return self(); - } - - public String getSndngDtlId() { - return ifEmpty(sndngDtlId, () -> null); - } - - public T setSndngDtlId(String sndngDtlId) { - this.sndngDtlId = sndngDtlId; - return self(); - } - - public String getLinkTrgtCd() { - return ifEmpty(linkTrgtCd, () -> null); - } - - public T setLinkTrgtCd(String linkTrgtCd) { - this.linkTrgtCd = linkTrgtCd; - return self(); - } - - public String getLinkMngKey() { - return ifEmpty(linkMngKey, () -> null); - } - - public T setLinkMngKey(String linkMngKey) { - this.linkMngKey = linkMngKey; - return self(); - } - - public String getSndngYmd() { - return ifEmpty(sndngYmd, () -> null); - } - - public T setSndngYmd(String sndngYmd) { - this.sndngYmd = sndngYmd; - return self(); - } - -} diff --git a/src/main/java/cokr/xit/fims/nxrp/dao/NisA01Mapper.java b/src/main/java/cokr/xit/fims/nxrp/dao/NisA01Mapper.java deleted file mode 100644 index 46c0fe43..00000000 --- a/src/main/java/cokr/xit/fims/nxrp/dao/NisA01Mapper.java +++ /dev/null @@ -1,105 +0,0 @@ -package cokr.xit.fims.nxrp.dao; - -import java.util.List; -import java.util.Map; - -import org.egovframe.rte.psl.dataaccess.mapper.Mapper; - -import cokr.xit.foundation.component.AbstractMapper; -import cokr.xit.foundation.data.DataObject; - -import cokr.xit.fims.nxrp.A01; -import cokr.xit.fims.nxrp.NisIndivQuery; - -/** 과태료 대장 단속 정보 등록 정보 DAO - * - *

    상세 설명: - * - *

    - * ============ 변경 이력 ============
    - * 2024-02-16	JoJH 최초 작성
    - * ================================
    - * 
    - */ -@Mapper("nisA01Mapper") -public interface NisA01Mapper extends AbstractMapper { - - /**지정한 조건에 따라 과태료 대장 단속 정보 등록 목록을 조회하여 반환한다.
    - * @param req 과태료 대장 단속 정보 등록 조회 조건 - * @return 과태료 대장 단속 정보 등록 목록 - */ - List selectNisIndivA01List(NisIndivQuery req); - - /**지정한 조건에 따라 과태료 대장 단속 정보 등록 객체들을 반환한다. - * @param req 과태료 대장 단속 정보 등록 조회 조건 - * @return 과태료 대장 단속 정보 등록 객체 목록 - */ - List selectNisIndivA01s(NisIndivQuery req); - - /**과태료 대장 단속 정보 등록 정보를 등록한다. - * @param params 파라미터 - *
    • "nisIndivA01" - 과태료 대장 단속 정보 등록
    • - *
    • "currentUser" - 현재 접속한 사용자
    • - *
    - * @return 저장된 정보수 - */ - int insertNisIndivA01(Map params); - - /**과태료 대장 단속 정보 등록 정보를 등록한다. - * @param nisIndivA01 과태료 대장 단속 정보 등록 - * @return 저장 여부 - *
    • 저장됐으면 true
    • - *
    • 그렇지 않으면 false
    • - *
    - */ - default boolean insert(A01 nisIndivA01) { - return nisIndivA01 != null && insertNisIndivA01(params().set("nisIndivA01", nisIndivA01)) == 1; - } - - /**과태료 대장 단속 정보 등록 정보를 수정한다. - * @param params 파라미터 - *
    • "nisIndivA01" - 과태료 대장 단속 정보 등록
    • - *
    • "currentUser" - 현재 접속한 사용자
    • - *
    - * @return 저장된 정보수 - */ - int updateNisIndivA01(Map params); - - /**과태료 대장 단속 정보 등록 정보를 수정한다. - * @param nisIndivA01 과태료 대장 단속 정보 등록 - * @return 저장 여부 - *
    • 저장됐으면 true
    • - *
    • 그렇지 않으면 false
    • - *
    - */ - default boolean update(A01 nisIndivA01) { - return nisIndivA01 != null && updateNisIndivA01(params().set("nisIndivA01", nisIndivA01)) == 1; - } - - /**지정한 과태료 대장 단속 정보 등록을 삭제한다. - * @param params 파라미터 - *
    • "nisIndivA01" - 과태료 대장 단속 정보 등록
    • - *
    • "currentUser" - 현재 접속한 사용자
    • - *
    - * @return 저장된 정보수 - */ - int deleteNisIndivA01(Map params); - - /**과태료 대장 단속 정보 등록 정보를 삭제한다. - * @param nisIndivA01 과태료 대장 단속 정보 등록 - * @return 저장 여부 - *
    • 저장됐으면 true
    • - *
    • 그렇지 않으면 false
    • - *
    - */ - default boolean delete(A01 nisIndivA01) { - return nisIndivA01 != null && deleteNisIndivA01(params().set("nisIndivA01", nisIndivA01)) == 1; - } - - /**단속 ID에 해당하는 단속, 납부자 객체를 반환한다. - * @param crdnId 단속 ID - * @return 단속, 납부자 객체 - */ - DataObject selectCrdnInfo(String crdnId); - -} diff --git a/src/main/java/cokr/xit/fims/nxrp/dao/NisA02Mapper.java b/src/main/java/cokr/xit/fims/nxrp/dao/NisA02Mapper.java deleted file mode 100644 index 785f577c..00000000 --- a/src/main/java/cokr/xit/fims/nxrp/dao/NisA02Mapper.java +++ /dev/null @@ -1,120 +0,0 @@ -package cokr.xit.fims.nxrp.dao; - -import java.util.List; -import java.util.Map; - -import org.egovframe.rte.psl.dataaccess.mapper.Mapper; - -import cokr.xit.foundation.component.AbstractMapper; -import cokr.xit.foundation.data.DataObject; - -import cokr.xit.fims.nxrp.A02; -import cokr.xit.fims.nxrp.NisIndivQuery; - -/** 과태료 대장 등록 자료 일괄 조회 정보 DAO - * - *

    상세 설명: - * - *

    - * ============ 변경 이력 ============
    - * 2024-02-16	JoJH 최초 작성
    - * ================================
    - * 
    - */ -@Mapper("nisA02Mapper") -public interface NisA02Mapper extends AbstractMapper { - - /**지정한 조건에 따라 과태료 대장 등록 자료 일괄 조회 목록을 조회하여 반환한다.
    - * @param req 과태료 대장 등록 자료 일괄 조회 조회 조건 - * @return 과태료 대장 등록 자료 일괄 조회 목록 - */ - List selectNisIndivA02List(NisIndivQuery req); - - /**지정한 조건에 따라 과태료 대장 등록 자료 일괄 조회 객체들을 반환한다. - * @param req 과태료 대장 등록 자료 일괄 조회 조회 조건 - * @return 과태료 대장 등록 자료 일괄 조회 객체 목록 - */ - List selectNisIndivA02s(NisIndivQuery req); - - /**과태료 대장 등록 자료 일괄 조회 정보를 등록한다. - * @param params 파라미터 - *
    • "nisIndivA02" - 과태료 대장 등록 자료 일괄 조회
    • - *
    • "currentUser" - 현재 접속한 사용자
    • - *
    - * @return 저장된 정보수 - */ - int insertNisIndivA02(Map params); - - /**과태료 대장 등록 자료 일괄 조회 정보를 등록한다. - * @param nisIndivA02 과태료 대장 등록 자료 일괄 조회 - * @return 저장 여부 - *
    • 저장됐으면 true
    • - *
    • 그렇지 않으면 false
    • - *
    - */ - default boolean insert(A02 nisIndivA02) { - return nisIndivA02 != null && insertNisIndivA02(params().set("nisIndivA02", nisIndivA02)) == 1; - } - - /**과태료 대장 등록 자료 일괄 조회 정보를 수정한다. - * @param params 파라미터 - *
    • "nisIndivA02" - 과태료 대장 등록 자료 일괄 조회
    • - *
    • "currentUser" - 현재 접속한 사용자
    • - *
    - * @return 저장된 정보수 - */ - int updateNisIndivA02(Map params); - - /**과태료 대장 등록 자료 일괄 조회 정보를 수정한다. - * @param nisIndivA02 과태료 대장 등록 자료 일괄 조회 - * @return 저장 여부 - *
    • 저장됐으면 true
    • - *
    • 그렇지 않으면 false
    • - *
    - */ - default boolean update(A02 nisIndivA02) { - return nisIndivA02 != null && updateNisIndivA02(params().set("nisIndivA02", nisIndivA02)) == 1; - } - - /**지정한 과태료 대장 등록 자료 일괄 조회을 삭제한다. - * @param params 파라미터 - *
    • "nisIndivA02" - 과태료 대장 등록 자료 일괄 조회
    • - *
    • "currentUser" - 현재 접속한 사용자
    • - *
    - * @return 저장된 정보수 - */ - int deleteNisIndivA02(Map params); - - /**과태료 대장 등록 자료 일괄 조회 정보를 삭제한다. - * @param nisIndivA02 과태료 대장 등록 자료 일괄 조회 - * @return 저장 여부 - *
    • 저장됐으면 true
    • - *
    • 그렇지 않으면 false
    • - *
    - */ - default boolean delete(A02 nisIndivA02) { - return nisIndivA02 != null && deleteNisIndivA02(params().set("nisIndivA02", nisIndivA02)) == 1; - } - - /**과태료 대장 등록 자료 일괄 조회 정보에서 업무 적용 정보를 수정한다. - * @param params 파라미터 - *
    • "nisIndivA02" - 과태료 대장 등록 자료 일괄 조회
    • - *
    • "currentUser" - 현재 접속한 사용자
    • - *
    - * @return 저장된 정보수 - */ - int updateNisIndivA02TaskAplcn(Map params); - - /**과태료 대장 등록 자료 일괄 조회 정보에서 업무 적용 정보를 수정한다. - * @param nisIndivA02 과태료 대장 등록 자료 일괄 조회 - * @return 저장 여부 - *
    • 저장됐으면 true
    • - *
    • 그렇지 않으면 false
    • - *
    - */ - default boolean updateA02TaskAplcn(A02 nisIndivA02) { - return nisIndivA02 != null && updateNisIndivA02TaskAplcn(params().set("nisIndivA02", nisIndivA02)) == 1; - } - - -} diff --git a/src/main/java/cokr/xit/fims/nxrp/dao/NisA03Mapper.java b/src/main/java/cokr/xit/fims/nxrp/dao/NisA03Mapper.java deleted file mode 100644 index 853268ee..00000000 --- a/src/main/java/cokr/xit/fims/nxrp/dao/NisA03Mapper.java +++ /dev/null @@ -1,119 +0,0 @@ -package cokr.xit.fims.nxrp.dao; - -import java.util.List; -import java.util.Map; - -import org.egovframe.rte.psl.dataaccess.mapper.Mapper; - -import cokr.xit.foundation.component.AbstractMapper; -import cokr.xit.foundation.data.DataObject; - -import cokr.xit.fims.nxrp.A03; -import cokr.xit.fims.nxrp.NisIndivQuery; - -/** 과태료 대장 등록 자료 상세 조회 정보 DAO - * - *

    상세 설명: - * - *

    - * ============ 변경 이력 ============
    - * 2024-02-16	JoJH 최초 작성
    - * ================================
    - * 
    - */ -@Mapper("nisA03Mapper") -public interface NisA03Mapper extends AbstractMapper { - - /**지정한 조건에 따라 과태료 대장 등록 자료 상세 조회 목록을 조회하여 반환한다.
    - * @param req 과태료 대장 등록 자료 상세 조회 조회 조건 - * @return 과태료 대장 등록 자료 상세 조회 목록 - */ - List selectNisIndivA03List(NisIndivQuery req); - - /**지정한 조건에 따라 과태료 대장 등록 자료 상세 조회 객체들을 반환한다. - * @param req 과태료 대장 등록 자료 상세 조회 조회 조건 - * @return 과태료 대장 등록 자료 상세 조회 객체 목록 - */ - List selectNisIndivA03s(NisIndivQuery req); - - /**과태료 대장 등록 자료 상세 조회 정보를 등록한다. - * @param params 파라미터 - *
    • "nisIndivA03" - 과태료 대장 등록 자료 상세 조회
    • - *
    • "currentUser" - 현재 접속한 사용자
    • - *
    - * @return 저장된 정보수 - */ - int insertNisIndivA03(Map params); - - /**과태료 대장 등록 자료 상세 조회 정보를 등록한다. - * @param nisIndivA03 과태료 대장 등록 자료 상세 조회 - * @return 저장 여부 - *
    • 저장됐으면 true
    • - *
    • 그렇지 않으면 false
    • - *
    - */ - default boolean insert(A03 nisIndivA03) { - return nisIndivA03 != null && insertNisIndivA03(params().set("nisIndivA03", nisIndivA03)) == 1; - } - - /**과태료 대장 등록 자료 상세 조회 정보를 수정한다. - * @param params 파라미터 - *
    • "nisIndivA03" - 과태료 대장 등록 자료 상세 조회
    • - *
    • "currentUser" - 현재 접속한 사용자
    • - *
    - * @return 저장된 정보수 - */ - int updateNisIndivA03(Map params); - - /**과태료 대장 등록 자료 상세 조회 정보를 수정한다. - * @param nisIndivA03 과태료 대장 등록 자료 상세 조회 - * @return 저장 여부 - *
    • 저장됐으면 true
    • - *
    • 그렇지 않으면 false
    • - *
    - */ - default boolean update(A03 nisIndivA03) { - return nisIndivA03 != null && updateNisIndivA03(params().set("nisIndivA03", nisIndivA03)) == 1; - } - - /**지정한 과태료 대장 등록 자료 상세 조회을 삭제한다. - * @param params 파라미터 - *
    • "nisIndivA03" - 과태료 대장 등록 자료 상세 조회
    • - *
    • "currentUser" - 현재 접속한 사용자
    • - *
    - * @return 저장된 정보수 - */ - int deleteNisIndivA03(Map params); - - /**과태료 대장 등록 자료 상세 조회 정보를 삭제한다. - * @param nisIndivA03 과태료 대장 등록 자료 상세 조회 - * @return 저장 여부 - *
    • 저장됐으면 true
    • - *
    • 그렇지 않으면 false
    • - *
    - */ - default boolean delete(A03 nisIndivA03) { - return nisIndivA03 != null && deleteNisIndivA03(params().set("nisIndivA03", nisIndivA03)) == 1; - } - - /**과태료 대장 등록 자료 상세 조회 정보에서 업무 적용 정보를 수정한다. - * @param params 파라미터 - *
    • "nisIndivA03" - 과태료 대장 등록 자료 상세 조회
    • - *
    • "currentUser" - 현재 접속한 사용자
    • - *
    - * @return 저장된 정보수 - */ - int updateNisIndivA03TaskAplcn(Map params); - - /**과태료 대장 등록 자료 상세 조회 정보에서 업무 적용 정보를 수정한다. - * @param nisIndivA03 과태료 대장 등록 자료 상세 조회 - * @return 저장 여부 - *
    • 저장됐으면 true
    • - *
    • 그렇지 않으면 false
    • - *
    - */ - default boolean updateA03TaskAplcn(A03 nisIndivA03) { - return nisIndivA03 != null && updateNisIndivA03TaskAplcn(params().set("nisIndivA03", nisIndivA03)) == 1; - } - -} diff --git a/src/main/java/cokr/xit/fims/nxrp/service/NisIndivService.java b/src/main/java/cokr/xit/fims/nxrp/service/NisIndivService.java deleted file mode 100644 index 0a2f4ede..00000000 --- a/src/main/java/cokr/xit/fims/nxrp/service/NisIndivService.java +++ /dev/null @@ -1,82 +0,0 @@ -package cokr.xit.fims.nxrp.service; - -import java.util.List; - -import cokr.xit.fims.nxrp.NisIndivQuery; -import cokr.xit.foundation.data.DataObject; - -/**과태료 대장 단속 정보 등록 관리 서비스 인터페이스. - * - *

    상세 설명: - * - *

    - * ============ 변경 이력 ============
    - * 2024-02-16	JoJH 최초 작성
    - * ================================
    - * 
    - */ -public interface NisIndivService { - - /**지정한 조건에 따라 과태료 대장 단속 정보 등록 목록을 조회하여 반환한다. - * @param req 과태료 대장 단속 정보 등록 조회 조건 - * @return 과태료 대장 단속 정보 등록 목록 - */ - List getNisIndivA01List(NisIndivQuery req); - - /**지정한 조건에 따라 과태료 대장 단속 정보 등록 객체들을 반환한다. - * @param req 과태료 대장 단속 정보 등록 조회 조건 - * @return 과태료 대장 단속 정보 등록 객체 목록 - */ - List getNisIndivA01s(NisIndivQuery req); - - /**과태료 대장 단속 정보 등록 정보를 등록한다. - * @param nisIndivA01 과태료 대장 단속 정보 등록 - * @return 저장 여부 - *
    • 저장됐으면 true
    • - *
    • 그렇지 않으면 false
    • - *
    - */ - String createNisIndivA01(NisIndivQuery req); - - /**지정한 조건에 따라 과태료 대장 등록 자료 일괄 조회 목록을 조회하여 반환한다. - * @param req 과태료 대장 등록 자료 일괄 조회 조회 조건 - * @return 과태료 대장 등록 자료 일괄 조회 목록 - */ - List getNisIndivA02List(NisIndivQuery req); - - /**지정한 조건에 따라 과태료 대장 등록 자료 일괄 조회 객체들을 반환한다. - * @param req 과태료 대장 등록 자료 일괄 조회 조회 조건 - * @return 과태료 대장 등록 자료 일괄 조회 객체 목록 - */ - List getNisIndivA02s(NisIndivQuery req); - - /**지정한 조건에 따라 과태료 대장 등록 자료 상세 조회 목록을 조회하여 반환한다. - * @param req 과태료 대장 등록 자료 상세 조회 조회 조건 - * @return 과태료 대장 등록 자료 상세 조회 목록 - */ - List getNisIndivA03List(NisIndivQuery req); - - /**지정한 조건에 따라 과태료 대장 등록 자료 상세 조회 객체들을 반환한다. - * @param req 과태료 대장 등록 자료 상세 조회 조회 조건 - * @return 과태료 대장 등록 자료 상세 조회 객체 목록 - */ - List getNisIndivA03s(NisIndivQuery req); - - /**주정차 과태료 대장 단속 정보 등록 정보를 등록한다. - * @param req 주정차 과태료 대장 단속 정보 등록 - * @return 저장 여부 - *
    • 저장됐으면 true
    • - *
    • 그렇지 않으면 false
    • - *
    - */ - String createNisIndivB01(NisIndivQuery req); - - /**전용차로 과태료 대장 단속 정보 등록 정보를 등록한다. - * @param req 전용차로 과태료 대장 단속 정보 등록 - * @return 저장 여부 - *
    • 저장됐으면 true
    • - *
    • 그렇지 않으면 false
    • - *
    - */ - String createNisIndivC01(NisIndivQuery req); -} diff --git a/src/main/java/cokr/xit/fims/nxrp/service/bean/NisIndivBean.java b/src/main/java/cokr/xit/fims/nxrp/service/bean/NisIndivBean.java deleted file mode 100644 index d26fbafe..00000000 --- a/src/main/java/cokr/xit/fims/nxrp/service/bean/NisIndivBean.java +++ /dev/null @@ -1,767 +0,0 @@ -package cokr.xit.fims.nxrp.service.bean; - -import java.io.BufferedReader; -import java.io.BufferedWriter; -import java.io.File; -import java.io.FilenameFilter; -import java.io.IOException; -import java.io.InputStreamReader; -import java.io.OutputStreamWriter; -import java.lang.reflect.Field; -import java.net.URL; -import java.nio.charset.Charset; -import java.security.cert.CertificateException; -import java.security.cert.X509Certificate; -import java.time.LocalDateTime; -import java.time.format.DateTimeFormatter; -import java.util.HashMap; -import java.util.List; -import java.util.Map; - -import javax.annotation.Resource; -import javax.net.ssl.HostnameVerifier; -import javax.net.ssl.HttpsURLConnection; -import javax.net.ssl.SSLContext; -import javax.net.ssl.SSLSession; -import javax.net.ssl.TrustManager; -import javax.net.ssl.X509TrustManager; - -import org.springframework.stereotype.Component; - -import com.fasterxml.jackson.core.JsonProcessingException; -import com.fasterxml.jackson.databind.ObjectMapper; - -import cokr.xit.base.code.CommonCode; -import cokr.xit.base.code.service.bean.CodeBean; -import cokr.xit.base.file.ZIP; -import cokr.xit.base.file.service.FileQuery; -import cokr.xit.base.file.service.bean.FileBean; -import cokr.xit.base.user.service.bean.UserBean; -import cokr.xit.fims.base.OgdpQuery; -import cokr.xit.fims.base.service.bean.OgdpBean; -import cokr.xit.fims.cmmn.CmmnQuery; -import cokr.xit.fims.cmmn.service.bean.StngBean; -import cokr.xit.fims.crdn.Crdn; -import cokr.xit.fims.crdn.dao.CrdnInfoMapper; -import cokr.xit.fims.crdn.dao.CrdnStngMapper; -import cokr.xit.fims.crdn.dao.CrdnUpdtMapper; -import cokr.xit.fims.mngt.dao.TaskMapper; -import cokr.xit.fims.nxrp.A01; -import cokr.xit.fims.nxrp.A03Rqst; -import cokr.xit.fims.nxrp.NisIndivQuery; -import cokr.xit.fims.nxrp.dao.NisA01Mapper; -import cokr.xit.fims.nxrp.dao.NisA02Mapper; -import cokr.xit.fims.nxrp.dao.NisA03Mapper; -import cokr.xit.fims.nxrp.support.AttachedTxtMaker; -import cokr.xit.fims.nxrp.support.LinkFileMaker; -import cokr.xit.fims.nxrp.support.OnlyImageMaker; -import cokr.xit.foundation.component.AbstractBean; -import cokr.xit.foundation.data.DataObject; -import cokr.xit.interfaces.filejob.JobConf; -import cokr.xit.interfaces.lntris.basic.a.LntrisA01; -import cokr.xit.interfaces.lntris.basic.a.LntrisA01.A01Response; -import cokr.xit.interfaces.lntris.basic.a.LntrisA03; -import cokr.xit.interfaces.lntris.basic.a.LntrisA03.A03Response; -import cokr.xit.interfaces.lntris.basic.a.service.LntrisAService; - -/**과태료 대장 단속 정보 등록 정보 관리 Bean - * - *

    상세 설명: - * - *

    - * ============ 변경 이력 ============
    - * 2024-02-16	JoJH 최초 작성
    - * ================================
    - * 
    - */ -@Component("nisIndivBean") -public class NisIndivBean extends AbstractBean { - - @Resource(name="objectMapper") - private ObjectMapper objectMapper; - - @Resource(name = "lntrisAService") - private LntrisAService lntrisAService; - - /** 과태료 대장 단속 정보 등록 정보 DAO */ - @Resource(name = "nisA01Mapper") - private NisA01Mapper nisA01Mapper; - - /** 과태료 대장 등록 자료 일괄 조회 정보 DAO */ - @Resource(name = "nisA02Mapper") - private NisA02Mapper nisA02Mapper; - - /** 과태료 대장 등록 자료 상세 조회 정보 DAO */ - @Resource(name = "nisA03Mapper") - private NisA03Mapper nisA03Mapper; - - /** 단속 대장 수정 정보 DAO */ - @Resource(name = "crdnUpdtMapper") - private CrdnUpdtMapper crdnUpdtMapper; - - @Resource(name="crdnInfoMapper") - private CrdnInfoMapper crdnInfoMapper; - - @Resource(name="crdnStngMapper") - private CrdnStngMapper crdnStngMapper; - - @Resource(name="taskMapper") - private TaskMapper taskMapper; - - @Resource(name="fileBean") - private FileBean fileBean; - - /** 사용자 정보 DAO */ - @Resource(name="userBean") - protected UserBean userBean; - - /** 코드 정보 DAO */ - @Resource(name="codeBean") - protected CodeBean codeBean; - - /** 설정 정보 DAO */ - @Resource(name="stngBean") - protected StngBean stngBean; - - /** 부서 정보 DAO */ - @Resource(name = "ogdpBean") - private OgdpBean ogdpBean; - - /**지정한 조건에 따라 과태료 대장 단속 정보 등록 목록을 조회하여 반환한다. - * @param req 과태료 대장 단속 정보 등록 조회 조건 - * @return 과태료 대장 단속 정보 등록 목록 - */ - public List getNisIndivA01List(NisIndivQuery req) { - return nisA01Mapper.selectNisIndivA01List(req); - } - - /**지정한 조건에 따라 과태료 대장 단속 정보 등록 객체들을 반환한다. - * @param req 과태료 대장 단속 정보 등록 조회 조건 - * @return 과태료 대장 단속 정보 등록 객체 목록 - */ - public List getNisIndivA01s(NisIndivQuery req) { - return nisA01Mapper.selectNisIndivA01s(req); - } - - /**과태료 대장 단속 정보 등록 정보를 등록한다. - * @param nisIndivA01 과태료 대장 단속 정보 등록 - * @return 저장 여부 - *
    • 저장됐으면 true
    • - *
    • 그렇지 않으면 false
    • - *
    - */ - public String createNisIndivA01(NisIndivQuery req) { - // 변수 선언 - String rtnMsg = ""; // 처리 결과 메시지 - - // 1. 사용자 정보 - DataObject userInfo = userBean.getUserInfo(currentUser().getId()); - - // 2. 부서 정보 - DataObject deptInfo = ogdpBean.getDeptStngInfo(new OgdpQuery().setDeptCd(userInfo.string("DEPT_CD"))); - - // 3. 세외수입 과태료대장에 연계할 단속 정보를 조회 - DataObject selectCrdnInfo = nisA01Mapper.selectCrdnInfo(req.getCrdnId()); - - LocalDateTime now = LocalDateTime.now(); // 현재 날짜/시간 - String linkMngKey = selectCrdnInfo.string("SGG_CD") + selectCrdnInfo.string("CRDN_ID") + '_' + now.format(DateTimeFormatter.ofPattern("yyyyMMddHHmmss")); -// String linkMngKey = selectCrdnInfo.string("SGG_CD") + selectCrdnInfo.string("CRDN_ID"); - - A01 a01 = new A01(); - - a01.setTaskSeCd(selectCrdnInfo.string("TASK_SE_CD")); // 업무 구분 코드 - a01.setSgbCd(userInfo.string("NSTT_CD")); // 자치단체코드 - a01.setLinkTrgtCd(userInfo.string("NSTT_CD") + selectCrdnInfo.string("TASK_SE_CD") + "01001"); // 연계대상코드 - a01.setLinkMngKey(linkMngKey); // 연계관리키 시군구코드 + 단속 ID + 년월일시분초 - a01.setDptCd(userInfo.string("DEPT_CD")); // 부서코드 - a01.setRcptYr(req.getSndngYmd().substring(0, 4)); // 접수연도 - a01.setSpacBizCd(selectCrdnInfo.string("SPCL_BIZ_CD")); // 특별회계사업코드 (밤샘주차 0159:주차장특별회계) - a01.setActSeCd(selectCrdnInfo.string("ACNTG_SE_CD")); // 회계구분코드 - a01.setRprsTxmCd(selectCrdnInfo.string("TXITM_CD")); // 대표세입과목코드 - a01.setOperItemCd(selectCrdnInfo.string("OPER_ITEM_CD")); // 운영항목코드 - // 과태료과징금구분코드 01:과태료 02:과징금 - if (selectCrdnInfo.string("TASK_SE_CD").equals("PES")) { // 밤샘주차는 과징금(02) - a01.setFinScrgSeCd("02"); - } else { - a01.setFinScrgSeCd("01"); - } - // 납부자구분코드(FIM011) 01:주민 02:외국인 03:법인 04:사업자 05:기타 -> 01:개인 02:법인 03:단체 05:외국인 - if (selectCrdnInfo.string("RTPYR_SE_CD").equals("01")) { // 주민(01) -> 개인(01) - a01.setPyrSeCd("01"); - } else if (selectCrdnInfo.string("RTPYR_SE_CD").equals("02")) { // 외국인(02) -> 외국인(05) - a01.setPyrSeCd("05"); - } else if (selectCrdnInfo.string("RTPYR_SE_CD").equals("03")) { // 법인(03) -> 법인(02) - a01.setPyrSeCd("02"); - } else if (selectCrdnInfo.string("RTPYR_SE_CD").equals("04")) { // 사업자(04) -> 사업자(04) - a01.setPyrSeCd("04"); - } else { // 기타(05) -> 단체(03) - a01.setPyrSeCd("03"); - } - a01.setPyrNo(selectCrdnInfo.string("RTPYR_NO")); // 납부자번호 - a01.setPyrNm(selectCrdnInfo.string("RTPYR_NM")); // 납부자명 - a01.setRprsPyrNo(selectCrdnInfo.string("RTPYR_NO")); // 대표납부자번호 / 법인의 경우 대표 납부자번호 필수 - a01.setRprsPyrNm(selectCrdnInfo.string("RTPYR_NM")); // 대표납부자명 / 법인의 경우 대표 납부자명 필수 - a01.setPyrTelno(selectCrdnInfo.string("RTPYR_TELNO")); // 납부자전화번호 - a01.setPyrMblTelno(selectCrdnInfo.string("RTPYR_MBL_TELNO")); // 납부자휴대전화번호 - a01.setPyrEmlAddr(selectCrdnInfo.string("RTPYR_EML")); // 납부자이메일주소 - a01.setPyrSttCd("10"); // 납부자상태코드('10') - a01.setPyrLotnoRoadAddrSeCd(selectCrdnInfo.string("ADDR_SE_CD")); // 납부자지번도로주소구분코드 01:지번주소, 02:도로명주소 - a01.setPyrZip(selectCrdnInfo.string("ZIP")); // 납부자우편번호 - a01.setPyrRoadNmCd(selectCrdnInfo.string("ROAD_NM_CD")); // 납부자도로명코드 - // 납부자주소지하여부(FIM036) 0:지상 1: 지하 -> Y:지하, N:지상 - if (selectCrdnInfo.string("ROAD_NM_CD").equals("1")) { // 지하(1) -> 지하(Y) - a01.setPyrAddrUdgdYn("Y"); - } else { // 기본값('N') - a01.setPyrAddrUdgdYn("N"); - } - a01.setPyrBmno(selectCrdnInfo.string("BMNO")); // 납부자건물본번 - a01.setPyrBsno(selectCrdnInfo.string("BSNO")); // 납부자건물부번 - a01.setPyrStdgCd(selectCrdnInfo.string("STDG_CD")); // 납부자법정동코드 - a01.setPyrDongCd(selectCrdnInfo.string("DONG_CD")); // 납부자행정동코드 - // 산 구분 코드(FIM037) 0: 1:산 -> 납부자산구분코드 01:일반번지, 02:산번지 - if (selectCrdnInfo.string("MTN_SE_CD").equals("1")) { // 산(1) -> 산번지(02) - a01.setPyrMtnSeCd("02"); - } else { // 01:일반번지 - a01.setPyrMtnSeCd("01"); - } - a01.setPyrBldgMngNo(selectCrdnInfo.string("BLDG_MNG_NO")); // 납부자건물관리번호 - a01.setPyrBldgNm(""); // 납부자건물명 - a01.setPyrMno(selectCrdnInfo.string("MNO")); // 납부자본번 / 번지. 지번주소인 경우 필수 - a01.setPyrSno(selectCrdnInfo.string("SNO")); // 납부자부번 / 호 - a01.setPyrSpclDg(selectCrdnInfo.string("SPCL_DONG")); // 납부자특수동 / 상세주소 동 - a01.setPyrSpclHo(selectCrdnInfo.string("SPCL_HO")); // 납부자특수호 / 상세주소 호 - a01.setPyrTong(""); // 납부자통 - a01.setPyrBan(""); // 납부자반 - a01.setPyrSpclAddr(selectCrdnInfo.string("SPCL_ADDR")); // 납부자특수주소 - a01.setPyrRoadNmAddr(selectCrdnInfo.string("ADDR")); // 납부자도로명주소 - a01.setPyrRoadNmDaddr(selectCrdnInfo.string("DTL_ADDR")); // 납부자도로명상세주소 - a01.setPyrRoadNmAlAddr(selectCrdnInfo.string("WHOL_ADDR")); // 납부자도로명전체주소 - a01.setGlNm(selectCrdnInfo.string("VHRNO")); // 물건지명 - a01.setLvyTrgtSeCd("01"); // 부과대상구분코드 01:차량 - a01.setRegYmd(selectCrdnInfo.string("CRDN_YMD")); // 등록일자 / 위반일자 - a01.setFinScrgAmt(selectCrdnInfo.string("FFNLG_AMT")); // 과태료과징금금액 - a01.setFcltSeCd(""); // 시설구분코드 / 금연구역흡연위반 과태료인 경우 활용 - a01.setRegSeCd(""); // 등록구분코드 / 폐기물관리법위반 과태료인 경우 01투기, 02소각, 99기타 - // 감경 사유 코드(FIM019) -> 감경사유구분코드 - if (selectCrdnInfo.string("RDCT_RSN_CD").equals("01")) { // 국민기초생활수급자 - a01.setRdtRsnSeCd("0101"); - } else if (selectCrdnInfo.string("RDCT_RSN_CD").equals("02")) { // 한부모가족보호대상자 - a01.setRdtRsnSeCd("0102"); - } else if (selectCrdnInfo.string("RDCT_RSN_CD").equals("03")) { // 장애인(장애의 정도가 심한 장애인) - a01.setRdtRsnSeCd("0103"); - } else if (selectCrdnInfo.string("RDCT_RSN_CD").equals("04")) { // 국가유공자(상이등급3급이상) - a01.setRdtRsnSeCd("0104"); - } else if (selectCrdnInfo.string("RDCT_RSN_CD").equals("05")) { // 미성년자 - a01.setRdtRsnSeCd("0105"); - } else if (selectCrdnInfo.string("RDCT_RSN_CD").equals("08")) { // 의견진술감액 - a01.setRdtRsnSeCd(""); - } else if (selectCrdnInfo.string("RDCT_RSN_CD").equals("09")) { // 기타 - a01.setRdtRsnSeCd(""); - } else if (selectCrdnInfo.string("RDCT_RSN_CD").equals("99")) { // 타법령에의한감경 - a01.setRdtRsnSeCd("0199"); - } else { // 해당없음 - a01.setRdtRsnSeCd("0100"); - } - a01.setVhrno(selectCrdnInfo.string("VHRNO")); // 자동차등록번호 - - if (selectCrdnInfo.string("TASK_SE_CD").equals("PES")) { // 밤샘주차 - a01.setMngItemCn1("차고지 외 밤샘주차"); // 관리항목1 - a01.setMngItemCn2("위반일시 : " + selectCrdnInfo.string("CRDN_YMD_TM_MASK")); // 관리항목2 - a01.setMngItemCn3("위반장소 : " + selectCrdnInfo.string("CRDN_PLC")); // 관리항목3 - a01.setMngItemCn4("화물자동차운수사업법"); // 관리항목4 - // 관리항목5 - if (selectCrdnInfo.string("CRDN_INPT_SE_CD").equals("06")) { - a01.setMngItemCn5("관내단속"); - } else if(selectCrdnInfo.string("CRDN_INPT_SE_CD").equals("08")) { - a01.setMngItemCn5(selectCrdnInfo.string("ETC_CN")); - } else { - a01.setMngItemCn5(""); - } - } else if ("DPV,ECA".contains(selectCrdnInfo.string("TASK_SE_CD"))) { // 장애인, 전기차 - a01.setMngItemCn1("위반일시 : " + selectCrdnInfo.string("CRDN_YMD_TM_MASK")); // 관리항목1 - a01.setMngItemCn2(""); // 관리항목2 - a01.setMngItemCn3("위반장소 : " + selectCrdnInfo.string("CRDN_PLC")); // 관리항목3 - a01.setMngItemCn4(""); // 관리항목4 - a01.setMngItemCn5("위반항목 : " + selectCrdnInfo.string("VLTN_ARTCL")); // 관리항목5 - } else { - throw new RuntimeException("지정되지 않은 업무 구분코드가 입력되었습니다."); // 예외를 발생시켜서 DB Rollback - } - - a01.setMngItemCn6(selectCrdnInfo.string("SGG_CD") + selectCrdnInfo.string("CRDN_ID")); // 관리6항목 - a01.setRmCn(selectCrdnInfo.string("ETC_CN")); // 비고내용 - a01.setCreatedBy(userInfo.string("USER_ID")); - a01.setModifiedBy(userInfo.string("USER_ID")); - - - // 차세대 세외수입 연계 서비스 호출 - A01 과태료 대장 단속 정보 등록 - if(1 == 1) { //TODO:별도연계서비스여부 - String sUrl = deptInfo.string("NXRP_LINK_SRVC_URL") + "/intf/lntris/a01/register"; // create - - ObjectMapper mapper = new ObjectMapper(); - - String sJsonData = ""; - - // Json 파라미터 설정 - try { - sJsonData = "{ " - + " \"taskSeCd\":" + "\"" + a01.getTaskSeCd() + "\"" - + ", \"msg\":" + mapper.writeValueAsString(a01) - + " }"; - } catch (IOException e) { - throw new RuntimeException("세외수입 과태료대장에 전송할 자료 생성중 오류가 발생하였습니다."); // 예외를 발생시켜서 DB Rollback - } - - // 연계 서비스 호출 후 메세지 return - rtnMsg = callHttpsJson(sUrl, "POST", sJsonData); - } else { - - LntrisA01.A01ReqDetail rd = (LntrisA01.A01ReqDetail) this.convert(a01, LntrisA01.A01ReqDetail.class); - - List res = lntrisAService.registerA01s(a01.getTaskSeCd(), List.of(rd)); - - A01Response res0 = !res.isEmpty() ? res.get(0) : null; - try { - rtnMsg = objectMapper.writeValueAsString(res0); - } catch (JsonProcessingException e) { - e.printStackTrace(); - } - - } - - return rtnMsg; - } - - /**지정한 조건에 따라 과태료 대장 등록 자료 일괄 조회 목록을 조회하여 반환한다. - * @param req 과태료 대장 등록 자료 일괄 조회 조회 조건 - * @return 과태료 대장 등록 자료 일괄 조회 목록 - */ - public List getNisIndivA02List(NisIndivQuery req) { - return nisA02Mapper.selectNisIndivA02List(req); - } - - /**지정한 조건에 따라 과태료 대장 등록 자료 일괄 조회 객체들을 반환한다. - * @param req 과태료 대장 등록 자료 일괄 조회 조회 조건 - * @return 과태료 대장 등록 자료 일괄 조회 객체 목록 - */ - public List getNisIndivA02s(NisIndivQuery req) { - return nisA02Mapper.selectNisIndivA02s(req); - } - - /**지정한 조건에 따라 과태료 대장 등록 자료 상세 조회 목록을 조회하여 반환한다. - * @param req 과태료 대장 등록 자료 상세 조회 조회 조건 - * @return 과태료 대장 등록 자료 상세 조회 목록 - */ - public List getNisIndivA03List(NisIndivQuery req) { - return nisA03Mapper.selectNisIndivA03List(req); - } - - /**지정한 조건에 따라 과태료 대장 등록 자료 상세 조회 객체들을 반환한다. - * @param req 과태료 대장 등록 자료 상세 조회 조회 조건 - * @return 과태료 대장 등록 자료 상세 조회 객체 목록 - */ - public List getNisIndivA03s(NisIndivQuery req) { - return nisA03Mapper.selectNisIndivA03s(req); - } - - /**과태료 대장 등록 자료 상세 조회 정보에서 업무 적용 정보를 수정한다. - * @param nisIndivA03 과태료 대장 등록 자료 상세 조회 - * @return 저장 여부 - *
    • 저장됐으면 true
    • - *
    • 그렇지 않으면 false
    • - *
    - */ - public String createNisIndivA03(NisIndivQuery req) { - // 변수 선언 - String rtnMsg = ""; // 처리 결과 메시지 - - // 1. 사용자 정보 - DataObject userInfo = userBean.getUserInfo(currentUser().getId()); - - // 2. 부서 정보 - DataObject deptInfo = ogdpBean.getDeptStngInfo(new OgdpQuery().setDeptCd(userInfo.string("DEPT_CD"))); - - // 3. 세외수입 과태료대장에 연계할 단속 정보를 조회 - DataObject selectCrdnInfo = nisA01Mapper.selectCrdnInfo(req.getCrdnId()); - - A03Rqst a03Rqst = new A03Rqst(); - - a03Rqst.setTaskSeCd(selectCrdnInfo.string("TASK_SE_CD")); // 업무 구분 코드 - a03Rqst.setSgbCd(userInfo.string("NSTT_CD")); // 자치단체코드 - a03Rqst.setLinkTrgtCd(req.getLinkTrgtCd()); // 연계대상코드 - a03Rqst.setLinkMngKey(req.getLinkMngKey()); // 연계관리키 시군구코드 + 단속 ID + 년월일시분초 - - // 차세대 세외수입 연계 서비스 호출 - A01 과태료 대장 단속 정보 등록 - if(1 == 1) { //TODO:별도연계서비스여부 - String sUrl = deptInfo.string("NXRP_LINK_SRVC_URL") + "/intf/lntris/a03/info"; // create - - ObjectMapper mapper = new ObjectMapper(); - String sJsonData = ""; - - // Json 파라미터 설정 - try { - sJsonData = "{ " - + " \"taskSeCd\":" + "\"" + a03Rqst.getTaskSeCd() + "\"" - + ", \"msg\":" + mapper.writeValueAsString(a03Rqst) - + " }"; - } catch (IOException e) { - throw new RuntimeException("세외수입 과태료대장에 전송할 자료 생성중 오류가 발생하였습니다."); // 예외를 발생시켜서 DB Rollback - } - - // 연계 서비스 호출 후 메세지 return - rtnMsg = callHttpsJson(sUrl, "POST", sJsonData); - - } else { - - LntrisA03.A03ReqDetail rd = new LntrisA03.A03ReqDetail(); - rd.setSgbCd(a03Rqst.getSgbCd()); - rd.setFinScrgAcbKey(a03Rqst.getFinScrgAcbKey()); - rd.setLinkMngKey(a03Rqst.getLinkMngKey()); - rd.setLinkTrgtCd(a03Rqst.getLinkTrgtCd()); - - A03Response res = lntrisAService.getA03(a03Rqst.getTaskSeCd(), rd); - - try { - rtnMsg = objectMapper.writeValueAsString(res); - } catch (JsonProcessingException e) { - e.printStackTrace(); - } - - } - - return rtnMsg; - } - - /**지정한 조건에 따라 과태료 대장 등록 자료 일괄 조회 목록을 조회하여 반환한다. - * @param req 과태료 대장 등록 자료 일괄 조회 조회 조건 - * @return 과태료 대장 등록 자료 일괄 조회 목록 - */ - public String callHttpsJson(String sUrl, String sMethod, String sJsonData) { - // - String returnMsg = ""; - // - HttpsURLConnection httpsConn = null; - - try { - // HTTPS 통신을 위한 URL 생성 - URL url = new URL(sUrl); - - // SSL 무시 - ignoreSsl(); - - // HttpsURLConnection 객체 생성 - httpsConn = (HttpsURLConnection) url.openConnection(); - - // Content-Type - httpsConn.setRequestProperty("Content-Type", "application/json"); - // Method Setting(GET/POST) - httpsConn.setRequestMethod(sMethod); // GET, POST, DELETE - // Connection Timeout setting - httpsConn.setConnectTimeout(10000); // 컨텍션타임아웃 10초 - // Read Timeout Setting - httpsConn.setReadTimeout(10000); // 컨텐츠조회 타임아웃 10초 - - if (sMethod.equals("POST")) { - // Input setting - httpsConn.setDoInput(true); - // Output setting - httpsConn.setDoOutput(true); // 항상 갱신된내용을 가져옴 - - // POST방식으로 송신할 json 데이터 전송 - BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(httpsConn.getOutputStream())); - bw.write(sJsonData); - bw.flush(); - bw.close(); - } else { - // Input setting - httpsConn.setDoInput(false); - // Output setting - httpsConn.setDoOutput(false); - } - - // HTTP 응답 코드 수신, 서버에서 보낸 응답 데이터 수신 받기 - int responseCode = httpsConn.getResponseCode(); - - Charset charset = Charset.forName("UTF-8"); - String inputLine; - StringBuffer response = new StringBuffer(); - - if (responseCode == 200) { - BufferedReader in = new BufferedReader(new InputStreamReader(httpsConn.getInputStream(), charset)); - - while ((inputLine = in.readLine()) != null) { - response.append(inputLine); - } - in.close(); - } else { - BufferedReader in = new BufferedReader(new InputStreamReader(httpsConn.getErrorStream(), charset)); - - while ((inputLine = in.readLine()) != null) { - response.append(inputLine); - } - in.close(); - } - - returnMsg = response.toString(); - } catch (IOException e) { - returnMsg = "IOException :" + e; - } catch (Exception e) { - returnMsg = "Exception :" + e; - } finally { - if (httpsConn != null) { - httpsConn.disconnect(); - } - } - - return returnMsg; - } - - // SSL 무시 ///////////////////////////////////////////////////////////////// - public void ignoreSsl() throws Exception { - HostnameVerifier hv = new HostnameVerifier() { - @Override - public boolean verify(String urlHostName, SSLSession session) { - return true; - } - }; - - trustAllHttpsCertificates(); - HttpsURLConnection.setDefaultHostnameVerifier(hv); - } - - public void trustAllHttpsCertificates() throws Exception { - TrustManager[] trustAllCerts = new TrustManager[1]; - TrustManager tm = new miTM(); - trustAllCerts[0] = tm; - SSLContext sc = SSLContext.getInstance("SSL"); - sc.init(null, trustAllCerts, null); - HttpsURLConnection.setDefaultSSLSocketFactory(sc.getSocketFactory()); - } - - static class miTM implements TrustManager, X509TrustManager { - @Override - public X509Certificate[] getAcceptedIssuers() { - return null; - } - - public boolean isServerTrusted(X509Certificate[] certs) { - return true; - } - - public boolean isClientTrusted(X509Certificate[] certs) { - return true; - } - - @Override - public void checkServerTrusted(X509Certificate[] certs, String authType) throws CertificateException { - return; - } - - @Override - public void checkClientTrusted(X509Certificate[] certs, String authType) throws CertificateException { - return; - } - } - // SSL 무시 ///////////////////////////////////////////////////////////////// - - public String createNisIndivB01C01(NisIndivQuery req) { - - String[] crdnIds = req.getCrdnIds(); - - String rtnMsg = "[F]"; - - List fimsVltnCodes = codeBean.getCodes("FIM004"); - List nxrpVltnCodes = codeBean.getCodes("NTR055"); - - DataObject deptStng = stngBean.getStng("dept"); - String gujesi = deptStng.string("NXRP_RGN_SE_CD"); - - for(String crdnID : crdnIds) { - DataObject crdnInfo = crdnInfoMapper.selectCrdnInfo(crdnID); - - if(crdnInfo.string("NXRP_CRDN_LINK_YN").equals("Y")) { - rtnMsg += "이미 세외수입 단속 연계 처리된 자료입니다."; - throw new RuntimeException(rtnMsg); - } - - String firstTaskSeCd = ""; - String taskSeCd = crdnInfo.string("TASK_SE_CD"); - if(firstTaskSeCd.equals("")) { - firstTaskSeCd = taskSeCd; - } - - if(!taskSeCd.equals("PVS") && !taskSeCd.equals("BPV")) { - rtnMsg += "주정차위반 또는 전용차로위반 자료만 처리 가능합니다."; - throw new RuntimeException(rtnMsg); - } - - if(!firstTaskSeCd.equals(taskSeCd)) { - rtnMsg += "과태료 구분이 동일한 자료만 처리가능합니다."; - throw new RuntimeException(rtnMsg); - } - - if(crdnInfo.number("ATCH_FILE_CNT").intValue() < 1) { - rtnMsg += "단속사진이 없습니다."; - throw new RuntimeException(rtnMsg); - } - - CmmnQuery cmmnQuery = new CmmnQuery(); - cmmnQuery.setUseYn("Y"); - cmmnQuery.setSggCd(crdnInfo.string("SGG_CD")); - cmmnQuery.setTaskSeCd(taskSeCd); - DataObject nxrpLinkInfo = taskMapper.selectTaskInfo(cmmnQuery); - if(nxrpLinkInfo == null) { - rtnMsg += "과태료 설정 정보가 없습니다."; - throw new RuntimeException(rtnMsg); - } - - String nxrpLinkSeCd = nxrpLinkInfo.string("NXRP_LINK_SE_CD"); - String nxrpLinkSeDtlSn = nxrpLinkInfo.string("NXRP_LINK_SE_DTL_SN"); - - if(!nxrpLinkSeCd.equals("B01") && !nxrpLinkSeCd.equals("C01")) { - rtnMsg += "세외수입 연계 구분 코드 설정 오류입니다."; - throw new RuntimeException(rtnMsg); - } - if(!nxrpLinkSeDtlSn.equals("01") && !nxrpLinkSeDtlSn.equals("02")) { - rtnMsg += "세외수입 연계 구분 상세 순번 설정 오류입니다."; - throw new RuntimeException(rtnMsg); - } - - String instDigit7 = currentUser().getInstitute(); - - //법정동코드 구하기 - if(!crdnInfo.string("CRDN_STDG_NM").equals("")) { - - Map stdgQuery = new HashMap<>(); - stdgQuery.put("sggCd", crdnInfo.string("SGG_CD")); - stdgQuery.put("emdNm", crdnInfo.string("CRDN_STDG_NM")); - List stdgCds = crdnStngMapper.selectStdgCdListByStdgNm(stdgQuery); - - if(stdgCds != null && stdgCds.size() == 1 && stdgCds.get(0) != null && !stdgCds.get(0).equals("")) { - crdnInfo.put("STDG_CD", stdgCds.get(0)); - } - } - - LinkFileMaker linkFileMaker = null; - if(nxrpLinkSeDtlSn.equals("01")) { - linkFileMaker = new AttachedTxtMaker(nxrpLinkSeCd, instDigit7); - if(nxrpLinkSeCd.equals("B01")) { - - ((AttachedTxtMaker)linkFileMaker).appendVltnCodeInfo(fimsVltnCodes, nxrpVltnCodes); - } - } else { - linkFileMaker = new OnlyImageMaker(nxrpLinkSeCd, instDigit7); - } - - if(!gujesi.equals("")) { - linkFileMaker.setGujesiStng(gujesi); - } - - String workPath = "files/temp/sendCrdn/"+crdnInfo.string("SGG_CD")+"/"+crdnInfo.string("CRDN_ID"); - File workFolder = new File(workPath); - if(workFolder.exists()) { - boolean del = false; - File[] lf = workFolder.listFiles(); - if(lf != null && lf.length > 0) { - for(File f : lf) { - del = f.delete(); - if(!del) { - throw new RuntimeException("[F]파일삭제오류"); - } - } - } - del = workFolder.delete(); - if(!del) { - throw new RuntimeException("[F]파일삭제오류"); - } - } - workFolder.mkdirs(); - - try { - String[] items = null; - boolean includeTxt = nxrpLinkSeDtlSn.equals("01"); - - if(taskSeCd.equals("PVS")) { - items = linkFileMaker.extractForPVS(crdnInfo,includeTxt).get(); - } else if(taskSeCd.equals("BPV")) { - items = linkFileMaker.extractForBPV(crdnInfo,includeTxt).get(); - } - - if(nxrpLinkSeDtlSn.equals("01")) { - - ((AttachedTxtMaker)linkFileMaker).writeTextFileContents(workPath, items); - - } - - FileQuery fileQuery = new FileQuery(); - fileQuery.setInfoType(Crdn.INF_TYPE); - fileQuery.setInfoKeys(crdnID); - fileQuery.setOrderBy("SRT_ORD"); - List crdnFileList = fileBean.getFileList(fileQuery); - for(int j=0; (j t) { - DataObject convert = new DataObject(); - DataObject convert2 = new DataObject(); - convert = objectMapper.convertValue(s, DataObject.class); - - Field[] fs = t.getDeclaredFields(); - for(Field f : fs) { - String fn = f.getName(); - String val = convert.string(fn); - convert2.set(fn, val); - } - return objectMapper.convertValue(convert2, t); - } -} diff --git a/src/main/java/cokr/xit/fims/nxrp/service/bean/NisIndivServiceBean.java b/src/main/java/cokr/xit/fims/nxrp/service/bean/NisIndivServiceBean.java deleted file mode 100644 index e3605bb9..00000000 --- a/src/main/java/cokr/xit/fims/nxrp/service/bean/NisIndivServiceBean.java +++ /dev/null @@ -1,76 +0,0 @@ -package cokr.xit.fims.nxrp.service.bean; - -import java.util.List; - -import javax.annotation.Resource; - -import org.springframework.stereotype.Service; - -import cokr.xit.fims.nxrp.NisIndivQuery; -import cokr.xit.fims.nxrp.service.NisIndivService; -import cokr.xit.foundation.component.AbstractServiceBean; -import cokr.xit.foundation.data.DataObject; - -/**과태료 대장 단속 정보 등록 서비스 구현체. - * - *

    상세 설명: - * - *

    - * ============ 변경 이력 ============
    - * 2024-02-16	JoJH 최초 작성
    - * ================================
    - * 
    - */ -@Service("nisIndivService") -public class NisIndivServiceBean extends AbstractServiceBean implements NisIndivService { - - /** 과태료 대장 단속 정보 등록 정보 Bean */ - @Resource(name = "nisIndivBean") - private NisIndivBean nisIndivBean; - - @Override - public List getNisIndivA01List(NisIndivQuery req) { - return nisIndivBean.getNisIndivA01List(req); - } - - @Override - public List getNisIndivA01s(NisIndivQuery req) { - return nisIndivBean.getNisIndivA01s(req); - } - - @Override - public String createNisIndivA01(NisIndivQuery req) { - return nisIndivBean.createNisIndivA01(req); - } - - @Override - public List getNisIndivA02List(NisIndivQuery req) { - return nisIndivBean.getNisIndivA02List(req); - } - - @Override - public List getNisIndivA02s(NisIndivQuery req) { - return nisIndivBean.getNisIndivA02s(req); - } - - @Override - public List getNisIndivA03List(NisIndivQuery req) { - return nisIndivBean.getNisIndivA03List(req); - } - - @Override - public List getNisIndivA03s(NisIndivQuery req) { - return nisIndivBean.getNisIndivA03s(req); - } - - @Override - public String createNisIndivB01(NisIndivQuery req) { - return nisIndivBean.createNisIndivB01C01(req); - } - - @Override - public String createNisIndivC01(NisIndivQuery req) { - return nisIndivBean.createNisIndivB01C01(req); - } - -} diff --git a/src/main/java/cokr/xit/fims/nxrp/support/AttachedTxtMaker.java b/src/main/java/cokr/xit/fims/nxrp/support/AttachedTxtMaker.java deleted file mode 100644 index b1aee667..00000000 --- a/src/main/java/cokr/xit/fims/nxrp/support/AttachedTxtMaker.java +++ /dev/null @@ -1,191 +0,0 @@ -package cokr.xit.fims.nxrp.support; - -import java.io.File; -import java.io.FileWriter; -import java.nio.file.Files; -import java.nio.file.StandardCopyOption; -import java.text.SimpleDateFormat; -import java.util.Date; -import java.util.List; - -import org.apache.commons.io.FilenameUtils; - -import cokr.xit.base.code.CommonCode; -import cokr.xit.fims.cmmn.CmmnUtil; -import cokr.xit.fims.nxrp.B01; -import cokr.xit.fims.nxrp.C01; -import cokr.xit.foundation.data.DataObject; - -public class AttachedTxtMaker extends LinkFileMaker { - - private String innerFilePrefix; - private String textFileName; - - private List fimsVltnCodes; - private List nxrpVltnCodes; - - public void appendVltnCodeInfo(List fimsVltnCodes, List nxrpVltnCodes) { - this.fimsVltnCodes = fimsVltnCodes; - this.nxrpVltnCodes = nxrpVltnCodes; - } - - public AttachedTxtMaker(String nxrpLinkSeCd, String instDigit7){ - - String ifId = "EBF_Z000001LGE_1741000NIS_"; - String systemCode = ""; - if(nxrpLinkSeCd.equals("B01")) { - ifId += "0001"; - systemCode = "PVS"; - this.maxImageFileCnt = 4; - } else if(nxrpLinkSeCd.equals("C01")) { - ifId += "0003"; - systemCode = "BPV"; - this.maxImageFileCnt = 7; - } - this.ifId = ifId; - - SimpleDateFormat ymdhmsFormat = new SimpleDateFormat("yyyyMMddHHmmssSSS"); - String currentTime = ymdhmsFormat.format(new Date()); - - this.zipFileName = ifId + "_" + currentTime + "@" + instDigit7 + systemCode + ".zip"; - - - this.innerFilePrefix = ifId + "_" + currentTime + "_" + instDigit7 + "_"; - this.textFileName = this.innerFilePrefix + "0.txt"; - - } - - public String getTextFileName() { - return this.textFileName; - } - - public void writeTextFileContents(String workPath, String... contents) { - try { - - File txtFile = new File(workPath + "/" + this.textFileName); - if(!txtFile.createNewFile()) { - throw new RuntimeException("[F]파일 생성 오류"); - } - - FileWriter fileWriter = new FileWriter(workPath + "/" + this.textFileName); - - for(int i=0; i < contents.length; i++) { - if(i != 0) { - fileWriter.write("|"); - } - fileWriter.write(contents[i]); - } - fileWriter.close(); - } catch (Exception e) { - throw new RuntimeException("[F]"+e); - } - } - - @Override - public B01 extractForPVS(DataObject crdnInfo, boolean includeTxt) { - B01 b01 = new B01(includeTxt); - - b01.set(1, crdnInfo.string("CRDN_YMD")+crdnInfo.string("CRDN_TM")); - b01.set(2, crdnInfo.string("VHRNO")); - String crdnSeCd = crdnInfo.string("CRDN_SE_CD"); - if(!crdnSeCd.equals("01") && !crdnSeCd.equals("02") && !crdnSeCd.equals("07")) { - throw new RuntimeException("[F]잘못된 단속구분입니다."); - } - b01.set(3, crdnSeCd); - b01.set(4, crdnInfo.string("TEAM_ID")); - String vltnCd = crdnInfo.string("VLTN_CD"); - - boolean vltnCdMatch = false; - for(CommonCode nxrpVltnCode : this.nxrpVltnCodes) { - if(nxrpVltnCode.getCode().equals(vltnCd)) { - vltnCdMatch = true; - } - } - - if(vltnCdMatch) { - b01.set(5, vltnCd); - b01.set(6, ""); - } else { - b01.set(5, "99"); - String vltnNm = ""; - for(CommonCode fimsVltnCode : this.fimsVltnCodes) { - if(fimsVltnCode.getCode().equals(vltnCd)) { - vltnNm = fimsVltnCode.getValue(); - } - } - b01.set(6, vltnNm); - } - - String law = CmmnUtil.spacedJoin(crdnInfo.string("VLTN_LAW_NM"), crdnInfo.string("VLTN_LAW1"), crdnInfo.string("VLTN_LAW2")); - b01.set(7, law); - b01.set(8, crdnInfo.string("CRDN_PLC")); - - String crdnSpareaCd = crdnInfo.string("CRDN_SPAREA_CD"); - if(crdnSpareaCd.equals("00")) { - crdnSpareaCd = ""; - } else if(crdnSpareaCd.equals("06") || crdnSpareaCd.equals("07")) { - crdnSpareaCd = "03"; - } - b01.set(9, crdnSpareaCd); - b01.set(10, this.gujesiStng); - b01.set(11, crdnInfo.string("STDG_CD")); - b01.set(12, crdnInfo.string("GPS_X")); - b01.set(13, crdnInfo.string("GPS_Y")); - int atchFileCnt = crdnInfo.number("ATCH_FILE_CNT").intValue(); - if(atchFileCnt > this.maxImageFileCnt) { - atchFileCnt = this.maxImageFileCnt; - } - b01.set(14, Integer.toString(atchFileCnt)); - - return b01; - } - - @Override - public C01 extractForBPV(DataObject crdnInfo, boolean includeTxt) { - C01 c01 = new C01(includeTxt); - - c01.set(1, crdnInfo.string("CRDN_YMD")+crdnInfo.string("CRDN_TM")); - c01.set(2, crdnInfo.string("VHRNO")); - String crdnSeCd = crdnInfo.string("CRDN_SE_CD"); - if(!crdnSeCd.equals("01") && !crdnSeCd.equals("02") && !crdnSeCd.equals("07")) { - throw new RuntimeException("[F]잘못된 단속구분입니다."); - } - c01.set(3, crdnSeCd); - c01.set(4, crdnInfo.string("TEAM_ID")); - String vltnCd = crdnInfo.string("VLTN_CD"); - c01.set(5, vltnCd); - - String law = CmmnUtil.spacedJoin(crdnInfo.string("VLTN_LAW_NM"), crdnInfo.string("VLTN_LAW1"), crdnInfo.string("VLTN_LAW2")); - c01.set(6, law); - c01.set(7, crdnInfo.string("CRDN_PLC")); - c01.set(8, this.gujesiStng); - c01.set(9, crdnInfo.string("STDG_CD")); - c01.set(10, crdnInfo.string("GPS_X")); - c01.set(11, crdnInfo.string("GPS_Y")); - c01.set(12, crdnInfo.string("MOSC_X")); - c01.set(13, crdnInfo.string("MOSC_Y")); - - int atchFileCnt = crdnInfo.number("ATCH_FILE_CNT").intValue(); - if(atchFileCnt > this.maxImageFileCnt) { - atchFileCnt = this.maxImageFileCnt; - } - c01.set(14, Integer.toString(atchFileCnt)); - - return c01; - } - - @Override - public void copyFile(String workPath, String filePath, int fileIndex, String... items) { - - String fileExtension = FilenameUtils.getExtension(filePath); - - String newFileName = this.innerFilePrefix + (fileIndex+1) + "." + fileExtension; - String newPath = workPath + "/" + newFileName; - try { - Files.copy(new File(filePath).toPath(), new File(newPath).toPath(), StandardCopyOption.REPLACE_EXISTING); - } catch (Exception e) { - throw new RuntimeException("[F]"+e); - } - - } -} diff --git a/src/main/java/cokr/xit/fims/nxrp/support/LinkFileMaker.java b/src/main/java/cokr/xit/fims/nxrp/support/LinkFileMaker.java deleted file mode 100644 index ce077cfd..00000000 --- a/src/main/java/cokr/xit/fims/nxrp/support/LinkFileMaker.java +++ /dev/null @@ -1,32 +0,0 @@ -package cokr.xit.fims.nxrp.support; - -import cokr.xit.fims.nxrp.B01; -import cokr.xit.fims.nxrp.C01; -import cokr.xit.foundation.data.DataObject; - -public abstract class LinkFileMaker { - - protected String ifId; - protected String zipFileName; - protected int maxImageFileCnt; - protected String gujesiStng; - - public void setGujesiStng(String gujesi) { - this.gujesiStng = gujesi; - } - - public int getMaxImageFileCnt() { - return this.maxImageFileCnt; - } - - public String getIfId() { - return this.ifId; - } - public String getZipFileName() { - return this.zipFileName; - } - - abstract public B01 extractForPVS(DataObject crdnInfo,boolean includeTxt); - abstract public C01 extractForBPV(DataObject crdnInfo,boolean includeTxt); - abstract public void copyFile(String workPath, String filePath, int fileIndex, String... items); -} diff --git a/src/main/java/cokr/xit/fims/nxrp/support/OnlyImageMaker.java b/src/main/java/cokr/xit/fims/nxrp/support/OnlyImageMaker.java deleted file mode 100644 index 92e06d10..00000000 --- a/src/main/java/cokr/xit/fims/nxrp/support/OnlyImageMaker.java +++ /dev/null @@ -1,107 +0,0 @@ -package cokr.xit.fims.nxrp.support; - -import java.io.File; -import java.nio.file.Files; -import java.nio.file.StandardCopyOption; -import java.text.SimpleDateFormat; -import java.util.Date; - -import org.apache.commons.io.FilenameUtils; - -import cokr.xit.fims.nxrp.B01; -import cokr.xit.fims.nxrp.C01; -import cokr.xit.foundation.data.DataObject; - -public class OnlyImageMaker extends LinkFileMaker { - - public OnlyImageMaker(String nxrpLinkSeCd, String instDigit7){ - - String ifId = "EBF_Z000001LGE_1741000NIS_"; - String systemCode = ""; - if(nxrpLinkSeCd.equals("B01")) { - ifId += "0002"; - systemCode = "PVS"; - this.maxImageFileCnt = 4; - } else if(nxrpLinkSeCd.equals("C01")) { - ifId += "0004"; - systemCode = "BPV"; - this.maxImageFileCnt = 7; - } - this.ifId = ifId; - - SimpleDateFormat ymdhmsFormat = new SimpleDateFormat("yyyyMMddHHmmssSSS"); - String currentTime = ymdhmsFormat.format(new Date()); - - this.zipFileName = ifId + "_" + currentTime + "@" + instDigit7 + systemCode + ".zip"; - } - - @Override - public B01 extractForPVS(DataObject crdnInfo, boolean includeTxt) { - B01 b01 = new B01(includeTxt); - - b01.set(1, crdnInfo.string("CRDN_YMD")+crdnInfo.string("CRDN_TM")); - b01.set(2, crdnInfo.string("VHRNO")); - String crdnSeCd = crdnInfo.string("CRDN_SE_CD"); - if(!crdnSeCd.equals("01") && !crdnSeCd.equals("02") && !crdnSeCd.equals("07")) { - throw new RuntimeException("[F]잘못된 단속구분입니다."); - } - b01.set(3, crdnSeCd); - b01.set(4, crdnInfo.string("TEAM_ID")); - b01.set(5, crdnInfo.string("VLTN_CD")); - b01.set(6, crdnInfo.string("CRDN_PLC")); - String crdnSpareaCd = crdnInfo.string("CRDN_SPAREA_CD"); - if(crdnSpareaCd.equals("00")) { - crdnSpareaCd = ""; - } else if(crdnSpareaCd.equals("06") || crdnSpareaCd.equals("07")) { - crdnSpareaCd = "03"; - } - b01.set(7, crdnSpareaCd); - b01.set(8, this.gujesiStng); - b01.set(9, crdnInfo.string("STDG_CD")); - b01.set(10, crdnInfo.string("GPS_X")); - b01.set(11, crdnInfo.string("GPS_Y")); - - return b01; - } - - @Override - public C01 extractForBPV(DataObject crdnInfo, boolean includeTxt) { - C01 c01 = new C01(includeTxt); - - c01.set(1, crdnInfo.string("CRDN_YMD")+crdnInfo.string("CRDN_TM")); - c01.set(2, crdnInfo.string("VHRNO")); - String crdnSeCd = crdnInfo.string("CRDN_SE_CD"); - if(!crdnSeCd.equals("01") && !crdnSeCd.equals("02") && !crdnSeCd.equals("07")) { - throw new RuntimeException("[F]잘못된 단속구분입니다."); - } - c01.set(3, crdnSeCd); - c01.set(4, crdnInfo.string("TEAM_ID")); - c01.set(5, crdnInfo.string("VLTN_CD")); - c01.set(6, crdnInfo.string("CRDN_PLC")); - c01.set(7, this.gujesiStng); - c01.set(8, crdnInfo.string("STDG_CD")); - c01.set(9, crdnInfo.string("GPS_X")); - c01.set(10, crdnInfo.string("GPS_Y")); - - return c01; - } - - @Override - public void copyFile(String workPath, String filePath, int fileIndex, String... items) { - - String fileExtension = FilenameUtils.getExtension(filePath); - - String delim = "_"; - String newFileName = String.join(delim, items) + delim + fileIndex + "." + fileExtension; - - String newPath = workPath + "/" + newFileName; - - try { - Files.copy(new File(filePath).toPath(), new File(newPath).toPath(), StandardCopyOption.REPLACE_EXISTING); - } catch (Exception e) { - throw new RuntimeException("[F]"+e); - } - - } - -} diff --git a/src/main/java/cokr/xit/fims/nxrp/web/Nxrp01Controller.java b/src/main/java/cokr/xit/fims/nxrp/web/Nxrp01Controller.java deleted file mode 100644 index 6e0151c7..00000000 --- a/src/main/java/cokr/xit/fims/nxrp/web/Nxrp01Controller.java +++ /dev/null @@ -1,115 +0,0 @@ -package cokr.xit.fims.nxrp.web; - -import javax.annotation.Resource; - -import org.springframework.stereotype.Controller; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.servlet.ModelAndView; - -import cokr.xit.fims.nxrp.NisIndivQuery; -import cokr.xit.fims.nxrp.service.NisIndivService; -import cokr.xit.fims.task.Task; -import cokr.xit.foundation.web.AbstractController; - -/**세외수입 매칭 내역 서비스의 웹 컨트롤러 -* -*

    상세 설명: -* -*

    -* ============ 변경 이력 ============
    -* 2023-11-16	JoJH 최초 작성
    -* ================================
    -* 
    -*/ -@Controller -@RequestMapping(name="차세대 세외수입 연계", value=Nxrp01Controller.CLASS_URL) -public class Nxrp01Controller extends AbstractController { - - public static final String CLASS_URL = "/nxrp/nxrp01"; - - public class METHOD_URL { - public static final String - createIndividualA01 = "/010/createIndivA01.do" // 과태료 대장 단속 정보 등록(실시간) - , updateIndividualA02 = "/010/updateIndivA02.do" // 과태료 대장 등록 자료 일괄 조회(전일자 변동자료) - , updateIndividualA03 = "/010/updateIndivA03.do" // 과태료 대장 등록 자료 상세 조회(실시간) - , createIndividualB01 = "/010/createIndivB01.do" // 주정차과태료 대장 단속 정보 등록 - , createIndividualC01 = "/010/createIndivC01.do" // 전용차로과태료 대장 단속 정보 등록 - ; - } - - /**세외수입 매칭 내역 서비스*/ - @Resource(name = "nisIndivService") - private NisIndivService nisIndivService; - - /**과태료 대장 단속 정보 등록를 등록한다. - * @param nisIndivA01 과태료 대장 단속 정보 등록 정보 - * @return jsonView - *
     {
    -	 *     "saved": 등록되었으면 true, 그렇지 않으면 false
    -	 * }
    - */ - @Task({"ECA","DPV","PES","DVS"}) - @RequestMapping(name="차세대 세외수입 과태료 대장 단속 정보 등록", value=METHOD_URL.createIndividualA01) - public ModelAndView createIndividualA01(NisIndivQuery req) { - boolean saved = false; - String rtnMsg = nisIndivService.createNisIndivA01(req); - - if (rtnMsg.contains("[S]")) { - saved = true; - } else { - saved = false; - } - - return new ModelAndView("jsonView") - .addObject("saved", saved) - .addObject("rtnMsg", rtnMsg); - } - - /**주정차 과태료 대장 단속 정보 등록를 등록한다. - * @param nisIndivB01 주정차 과태료 대장 단속 정보 등록 정보 - * @return jsonView - *
     {
    -     *     "saved": 등록되었으면 true, 그렇지 않으면 false
    -     * }
    - */ - @Task("PVS") - @RequestMapping(name="차세대 세외수입 주정차 과태료 대장 단속 정보 등록", value=METHOD_URL.createIndividualB01) - public ModelAndView createIndividualB01(NisIndivQuery req) { - boolean saved = false; - String rtnMsg = nisIndivService.createNisIndivB01(req); - - if (rtnMsg.contains("[S]")) { - saved = true; - } else { - saved = false; - } - - return new ModelAndView("jsonView") - .addObject("saved", saved) - .addObject("rtnMsg", rtnMsg); - } - - /**전용차로 과태료 대장 단속 정보 등록를 등록한다. - * @param nisIndivC01 전용차로 과태료 대장 단속 정보 등록 정보 - * @return jsonView - *
     {
    -     *     "saved": 등록되었으면 true, 그렇지 않으면 false
    -     * }
    - */ - @Task("BPV") - @RequestMapping(name="차세대 세외수입 전용차로 과태료 대장 단속 정보 등록", value=METHOD_URL.createIndividualC01) - public ModelAndView createIndividualC01(NisIndivQuery req) { - boolean saved = false; - String rtnMsg = nisIndivService.createNisIndivC01(req); - - if (rtnMsg.contains("[S]")) { - saved = true; - } else { - saved = false; - } - - return new ModelAndView("jsonView") - .addObject("saved", saved) - .addObject("rtnMsg", rtnMsg); - } -} diff --git a/src/main/java/cokr/xit/fims/payer/Payer.java b/src/main/java/cokr/xit/fims/payer/Payer.java deleted file mode 100644 index 97302d2f..00000000 --- a/src/main/java/cokr/xit/fims/payer/Payer.java +++ /dev/null @@ -1,191 +0,0 @@ -package cokr.xit.fims.payer; - -import cokr.xit.foundation.AbstractEntity; -import cokr.xit.interfaces.lvis.service.reg.BasicInfoResponse; -import lombok.Getter; -import lombok.Setter; - -/** - * 납부자 대장 - * @author mjkhan - */ -@Getter -@Setter -public class Payer extends AbstractEntity { - - /** - * 납부자 ID - */ - private String rtpyrId; - - /** - * 시군구 코드 - */ - private String sggCd; - - /** - * 차량번호 - */ - private String vhrno; - - /** - * 납부자 입력 구분 코드 - */ - private String rtpyrInptSeCd; - - /** - * 납부자 구분 코드 - */ - private String rtpyrSeCd; - - /** - * 납부자 번호 - */ - private String rtpyrNo; - - /** - * 납부자 명 - */ - private String rtpyrNm; - - /** - * 납부자 전화번호 - */ - private String rtpyrTelno; - - /** - * 납부자 휴대 전화번호 - */ - private String rtpyrMblTelno; - - /** - * 납부자 이메일 - */ - private String rtpyrEml; - - /** - * 납부자 생년월일 - */ - private String rtpyrBrdt; - - /** - * 납부자 상태 코드 - */ - private String rtpyrSttsCd; - - /** - * 주소 일련번호 - */ - private String addrSn; - - /** - * 주소 입력 구분 코드 - */ - private String addrInptSeCd; - - /** - * 주소 구분 코드 - */ - private String addrSeCd; - - /** - * 우편번호 - */ - private String zip; - - /** - * 주소 - */ - private String addr; - - /** - * 상세 주소 - */ - private String dtlAddr; - - /** - * 도로 명 코드 - */ - private String roadNmCd; - - /** - * 지하 구분 코드 - */ - private String udgdSeCd; - - /** - * 건물본번 - */ - private Integer bmno; - - /** - * 건물부번 - */ - private Integer bsno; - - /** - * 건물 관리 번호 - */ - private String bldgMngNo; - - /** - * 법정동 코드 - */ - private String stdgCd; - - /** - * 행정동 코드 - */ - private String dongCd; - - /** - * 산 구분 코드 - */ - private String mtnSeCd; - - /** - * 본번 - */ - private Integer mno; - - /** - * 부번 - */ - private Integer sno; - - /** - * 특수 동 - */ - private String spclDong; - - /** - * 특수 호 - */ - private String spclHo; - - /** - * 특수 주소 - */ - private String spclAddr; - - /** - * 전체 주소 - */ - private String wholAddr; - - /** 차량 기본정보 */ - private BasicInfoResponse.BasicInfo vehicleInfo; - - /**"차량번호-납부자번호"를 반환한다. - * @return "차량번호-납부자번호" - */ - public String getKey() { - return String.format("%s-%s", vhrno, rtpyrNo); - } - - /** - * 단속 ID - */ - private String crdnId; - -} \ No newline at end of file diff --git a/src/main/java/cokr/xit/fims/payer/PayerQuery.java b/src/main/java/cokr/xit/fims/payer/PayerQuery.java deleted file mode 100644 index ff4322e5..00000000 --- a/src/main/java/cokr/xit/fims/payer/PayerQuery.java +++ /dev/null @@ -1,233 +0,0 @@ -package cokr.xit.fims.payer; - -import cokr.xit.foundation.component.QueryRequest; - -/**납부자 대장 정보 조회 요청 - * - *

    상세 설명: - * - *

    - * ============ 변경 이력 ============
    - * 2023-08-18	mjkhan 최초 작성
    - * ================================
    - * 
    - */ -public class PayerQuery extends QueryRequest { - private static final long serialVersionUID = 1L; - - /** 납부자 Ids */ - private String[] rtpyrIds; - /** 차량번호 */ - private String vhrno; - /** 납부자 구분 코드 */ - private String rtpyrSeCd; - /** 납부자번호 */ - private String rtpyrNo; - /** 납부자 ID */ - private String rtpyrId; - /** 주소 일련번호 */ - private String addrSn; - /** 이력 일련번호 */ - private String hstrySn; - /** 주소 입력 구분 코드 */ - private String addrInptSeCd; - /** 도로명 코드 */ - private String roadNmCd; - /** 주소 */ - private String addr; - /** 상세 주소 */ - private String dtlAddr; - /** 단속 ID */ - private String crdnId; - /** 호출 용도 */ - private String callPurpose; // infoDialog 호출 용도(view 조회(편집불가), create 등록, update 수정, refresh 재조회). - - /**납부자 Ids를 반환한다. - * @return 납부자 Ids - */ - public String[] getRtpyrIds() { - return ifEmpty(rtpyrIds, () -> null); - } - - /**납부자 Ids를 설정한다. - * @param rtpyrIds 납부자 Ids - * @return 현재 PayerQuery - */ - public PayerQuery setRtpyrIds(String... rtpyrIds) { - this.rtpyrIds = rtpyrIds; - return this; - } - - /**납부자 ID를 반환한다. - * @return 납부자 ID - */ - public String getRtpyrId() { - return !isEmpty(rtpyrIds) ? rtpyrIds[0] : rtpyrId; - } - - /**납부자 ID를 설정한다. - * @param rtpyrId 납부자 ID - * @return 현재 PayerQuery - */ - public PayerQuery setRtpyrId(String rtpyrId) { - this.rtpyrId = rtpyrId; - return this; - } - - /**주소 일련번호를 반환한다. - * @return 주소 일련번호 - */ - public String getAddrSn() { - return ifEmpty(addrSn, () -> null); - } - - /**주소 일련번호를 설정한다. - * @param addrSn 주소 일련번호 - * @return 현재 PayerQuery - */ - public PayerQuery setAddrSn(String addrSn) { - this.addrSn = addrSn; - return self(); - } - - /**이력 일련번호를 반환한다. - * @return 이력 일련번호 - */ - public String getHstrySn() { - return hstrySn; - } - - /**이력 일련번호를 설정한다. - * @param hstrySn 이력 일련번호 - * @return 현재 PayerQuery - */ - public PayerQuery setHstrySn(String hstrySn) { - this.hstrySn = hstrySn; - return this; - } - - /**차량번호를 반환한다. - * @return 차량번호 - */ - public String getVhrno() { - return vhrno; - } - - /**차량번호를 설정한다. - * @param vhrno 차량번호 - * @return 현재 PayerQuery - */ - public PayerQuery setVhrno(String vhrno) { - this.vhrno = vhrno; - return this; - } - - /**납부자 구분 코드를 반환한다. - * @return 납부자 구분 코드 - */ - public String getRtpyrSeCd() { - return rtpyrSeCd; - } - - /**납부자 구분 코드를 설정한다. - * @param rtpyrSeCd 납부자 구분 코드 - * @return 현재 PayerQuery - */ - public void setRtpyrSeCd(String rtpyrSeCd) { - this.rtpyrSeCd = rtpyrSeCd; - } - - /**납부자 번호를 반환한다. - * @return 납부자 번호 - */ - public String getRtpyrNo() { - return rtpyrNo; - } - - /**납부자 번호를 설정한다. - * @param rtpyrNo 납부자 번호 - * @return 현재 PayerQuery - */ - public void setRtpyrNo(String rtpyrNo) { - this.rtpyrNo = rtpyrNo; - } - - /**주소 입력 구분 코드를 반환한다. - * @return 주소 입력 구분 코드 - */ - public String getAddrInptSeCd() { - return addrInptSeCd; - } - - /**주소 입력 구분 코드를 설정한다. - * @param addrInptSeCd 주소 입력 구분 코드 - * @return 현재 PayerQuery - */ - public void setAddrInptSeCd(String addrInptSeCd) { - this.addrInptSeCd = addrInptSeCd; - } - - /**도로명 코드를 반환한다. - * @return 도로명 코드 - */ - public String getRoadNmCd() { - return roadNmCd; - } - - /**도로명 코드를 설정한다. - * @param roadNmCd 도로명 코드 - * @return 현재 PayerQuery - */ - public void setRoadNmCd(String roadNmCd) { - this.roadNmCd = roadNmCd; - } - - /**주소를 반환한다. - * @return 주소 - */ - public String getAddr() { - return addr; - } - - /**주소를 설정한다. - * @param addr 주소 - * @return 현재 PayerQuery - */ - public void setAddr(String addr) { - this.addr = addr; - } - - /**상세 주소를 반환한다. - * @return 상세 주소 - */ - public String getDtlAddr() { - return dtlAddr; - } - - /**상세 주소를 설정한다. - * @param dtlAddr 상세 주소 - * @return 현재 PayerQuery - */ - public void setDtlAddr(String dtlAddr) { - this.dtlAddr = dtlAddr; - } - - public String getCrdnId() { - return ifEmpty(crdnId, () -> null); - } - - public T setCrdnId(String crdnId) { - this.crdnId = crdnId; - return self(); - } - - public String getCallPurpose() { - return ifEmpty(callPurpose, () -> null); - } - - public T setCallPurpose(String callPurpose) { - this.callPurpose = callPurpose; - return self(); - } - -} diff --git a/src/main/java/cokr/xit/fims/payer/dao/PayerAddrMapper.java b/src/main/java/cokr/xit/fims/payer/dao/PayerAddrMapper.java deleted file mode 100644 index 26170fd0..00000000 --- a/src/main/java/cokr/xit/fims/payer/dao/PayerAddrMapper.java +++ /dev/null @@ -1,67 +0,0 @@ -package cokr.xit.fims.payer.dao; - -import java.util.List; - -import org.egovframe.rte.psl.dataaccess.mapper.Mapper; - -import cokr.xit.foundation.component.AbstractMapper; -import cokr.xit.foundation.data.DataObject; -import cokr.xit.fims.payer.Payer; -import cokr.xit.fims.payer.PayerQuery; - -/** 납부자 주소 정보 DAO - * - *

    상세 설명: - * - *

    - * ============ 변경 이력 ============
    - * 2024-05-23	JoJH 최초 작성
    - * ================================
    - * 
    - */ -@Mapper("payerAddrMapper") -public interface PayerAddrMapper extends AbstractMapper { - - /**지정한 조건에 따라 납부자 주소 목록을 조회하여 반환한다.
    - * @param req 납부자 주소 조회 조건 - * @return 납부자 주소 목록 - */ - List selectPayerAddrList(PayerQuery req); - - /**지정한 조건에 따라 납부자 주소 객체들을 반환한다. - * @param req 납부자 주소 조회 조건 - * @return 납부자 주소 객체 목록 - */ - List selectPayerAddrs(PayerQuery req); - - /**지정한 조건에 따라 납부자 주소 정보를 반환한다. - * @param req 부과제외 조회 조건 - * @return 납부자 주소 정보 - */ - List selectPayerAddrInfo(PayerQuery req); - - /**납부자 주소 정보를 등록한다. - * @param params 파라미터 - *
    • "payerAddr" - 납부자 주소
    • - *
    • "currentUser" - 현재 접속한 사용자
    • - *
    - * @return 저장된 정보수 - */ - int insertPayerAddr(Payer payer); - - /**납부자 주소 정보를 수정한다. - * @param params 파라미터 - *
    • "payerAddr" - 납부자 주소
    • - *
    • "currentUser" - 현재 접속한 사용자
    • - *
    - * @return 저장된 정보수 - */ - int updatePayerAddr(Payer payer); - - /**지정한 조건에 따라 납부자 주소 변경 이력 객체들을 반환한다. - * @param req 납부자 대장 조회 조건 - * @return 납부자 대장 객체 목록 - */ - List selectPayerAddrHstrys(PayerQuery req); - -} diff --git a/src/main/java/cokr/xit/fims/payer/dao/PayerMapper.java b/src/main/java/cokr/xit/fims/payer/dao/PayerMapper.java deleted file mode 100644 index ef5f113a..00000000 --- a/src/main/java/cokr/xit/fims/payer/dao/PayerMapper.java +++ /dev/null @@ -1,117 +0,0 @@ -package cokr.xit.fims.payer.dao; - -import java.util.List; -import java.util.Map; - -import org.egovframe.rte.psl.dataaccess.mapper.Mapper; - -import cokr.xit.fims.payer.Payer; -import cokr.xit.fims.payer.PayerQuery; -import cokr.xit.foundation.component.AbstractMapper; -import cokr.xit.foundation.data.DataObject; - -/** 납부자 대장 정보 DAO - * - *

    상세 설명: - * - *

    - * ============ 변경 이력 ============
    - * 2023-08-18	mjkhan 최초 작성
    - * ================================
    - * 
    - */ -@Mapper("payerMapper") -public interface PayerMapper extends AbstractMapper { - /**지정한 조건에 따라 납부자 대장 목록을 조회하여 반환한다.
    - * @param req 납부자 대장 조회 조건 - * @return 납부자 대장 목록 - */ - List selectPayerList(PayerQuery req); - - /**지정한 조건에 따라 납부자 대장 객체들을 반환한다. - * @param req 납부자 대장 조회 조건 - * @return 납부자 대장 객체 목록 - */ - List selectPayers(PayerQuery req); - - /**납부자 대장 정보를 등록한다. - * @param payer 납부자 대장 - * @return 저장된 정보수 - */ - int insertPayer(Map params); - - /**납부자 대장 정보를 등록한다. - * @param payer 납부자 대장 - * @return 저장 여부 - *
    • 저장됐으면 true
    • - *
    • 그렇지 않으면 false
    • - *
    - */ - default boolean insert(Payer payer) { - return payer != null && insertPayer(params().set("payer", payer)) == 1; - } - - /**납부자 대장 정보를 수정한다. - * @param params 파라미터 - *
    • "payer" - 납부자 대장
    • - *
    • "currentUser" - 현재 접속한 사용자
    • - *
    - * @return 저장된 정보수 - */ - int updatePayer(Map params); - - /**납부자 대장 정보를 수정한다. - * @param payer 납부자 대장 - * @return 저장 여부 - *
    • 저장됐으면 true
    • - *
    • 그렇지 않으면 false
    • - *
    - */ - default boolean update(Payer payer) { - return payer != null && updatePayer(params().set("payer", payer)) == 1; - } - - /**납부자 도로명 주소의 우편번호, 건물관리번호를 조회한다. 도로망 주소 연계 구현 시 이동 - * @param params 파라미터 - *
    • roadNmCd - 도로명 코드
    • - *
    • udgdSeCd - 지하 구분코드
    • - *
    • bmno - 건물본번
    • - *
    • bsno - 건물부번
    • - *
    - * @return 납부자 도로명 주소의 우편번호, 건물관리번호 - */ - DataObject selectAddrInfo(Map params); - - /**지정한 조건에 따라 납부자 대장 객체의 마지막 1개를 반환한다. - * @param levyExclId 부과제외 ID - * @return 부과제외 대장 객체 - */ - List selectCrdnPayers(PayerQuery req); - - default DataObject selectPayerInfo(PayerQuery req) { - if (req.getOrderBy() == null) { - req.setOrderBy("P.RTPYR_ID DESC"); - } - - List crdnPayers = selectCrdnPayers(req); - - return !crdnPayers.isEmpty() ? crdnPayers.get(0) : null; - } - - /**지정한 조건에 따라 단속 정보를 반환한다. - * @param crdnId 단속 ID - * @return 단속, 부과제외 정보 - */ - DataObject selectCrdn(PayerQuery req); - - default DataObject selectCrdnInfo(String crdnId) { - return selectCrdn(new PayerQuery().setCrdnId(crdnId)); - } - - /**지정한 조건에 따라 납부자 변경 이력 객체들을 반환한다. - * @param req 납부자 대장 조회 조건 - * @return 납부자 대장 객체 목록 - */ - List selectPayerHstrys(PayerQuery req); - -} \ No newline at end of file diff --git a/src/main/java/cokr/xit/fims/payer/service/PayerService.java b/src/main/java/cokr/xit/fims/payer/service/PayerService.java deleted file mode 100644 index 9b846197..00000000 --- a/src/main/java/cokr/xit/fims/payer/service/PayerService.java +++ /dev/null @@ -1,102 +0,0 @@ -package cokr.xit.fims.payer.service; - -import java.util.List; - -import cokr.xit.fims.payer.Payer; -import cokr.xit.fims.payer.PayerQuery; -import cokr.xit.foundation.data.DataObject; -import cokr.xit.interfaces.lvis.service.reg.BasicInfoRequest; - -/**납부자 대장 관리 서비스 인터페이스. - * - *

    상세 설명: - * - *

    - * ============ 변경 이력 ============
    - * 2023-08-18	mjkhan 최초 작성
    - * ================================
    - * 
    - */ -public interface PayerService { - /**지정한 조건에 따라 납부자 대장 목록을 조회하여 반환한다. - * @param req 납부자 대장 조회 조건 - * @return 납부자 대장 목록 - */ - List getPayerList(PayerQuery req); - - /**지정한 조건에 따라 납부자 대장 객체들을 반환한다. - * @param req 납부자 대장 조회 조건 - * @return 납부자 대장 객체 목록 - */ - List getPayers(PayerQuery req); - - /**납부자 대장 정보를 등록한다. - * @param payer 납부자 대장 - * @return 저장 여부 - *
    • 저장됐으면 true
    • - *
    • 그렇지 않으면 false
    • - *
    - */ - boolean create(Payer payer); - - /**납부자 대장 정보를 수정한다. - * @param payer 납부자 대장 - * @return 저장 여부 - *
    • 저장됐으면 true
    • - *
    • 그렇지 않으면 false
    • - *
    - */ - boolean update(Payer payer); - - /**납부자 주소 정보를 등록한다. - * @param payer 납부자 대장 - * @return 저장 여부 - *
    • 저장됐으면 true
    • - *
    • 그렇지 않으면 false
    • - *
    - */ - boolean createPayerAddr(Payer payer); - - /**납부자 주소 정보를 수정한다. - * @param payer 납부자 대장 - * @return 저장 여부 - *
    • 저장됐으면 true
    • - *
    • 그렇지 않으면 false
    • - *
    - */ - boolean updatePayerAddr(Payer payer); - - /**주어진 조건의 차량 및 소유자(납부자) 정보를 반환한다. - * @param req 자동차 기본정보 조회 조건 - * @return 차량 및 소유자(납부자) 정보 - */ - Payer getVehicleOwner(BasicInfoRequest req); - - /**지정한 조건에 따라 납부자 대장 정보를 반환한다.
    - * @param req 납부자 대장 조회 조건 - * @return 납부자 대장 정보 - */ - DataObject getPayerInfo(PayerQuery req); - - /**납부자 대장 정보를 등록한다. - * @param payer 납부자 대장 - * @return 저장 여부 - *
    • 저장됐으면 true
    • - *
    • 그렇지 않으면 false
    • - *
    - */ - String createCrdnPayer(Payer payer); - - /**지정한 조건에 따라 납부자 이력 목록을 조회하여 반환한다. - * @param req 납부자 대장 조회 조건 - * @return 납부자 변경 이력 목록 - */ - List getPayerHstrys(PayerQuery req); - - /**지정한 조건에 따라 납부자 주소 이력 목록을 조회하여 반환한다. - * @param req 납부자 대장 조회 조건 - * @return 납부자 변경 이력 목록 - */ - List getPayerAddrHstrys(PayerQuery req); - -} diff --git a/src/main/java/cokr/xit/fims/payer/service/bean/PayerBean.java b/src/main/java/cokr/xit/fims/payer/service/bean/PayerBean.java deleted file mode 100644 index 7ea5cb17..00000000 --- a/src/main/java/cokr/xit/fims/payer/service/bean/PayerBean.java +++ /dev/null @@ -1,409 +0,0 @@ -package cokr.xit.fims.payer.service.bean; - -import java.util.List; -import java.util.Map; -import java.util.stream.Collectors; - -import javax.annotation.Resource; - -import org.springframework.stereotype.Component; - -import cokr.xit.fims.cmmn.CrdnPayerHstry; -import cokr.xit.fims.cmmn.CrdnSttsHstry; -import cokr.xit.fims.cmmn.service.bean.CrdnPayerHstryBean; -import cokr.xit.fims.cmmn.service.bean.CrdnSttsHstryBean; -import cokr.xit.fims.payer.Payer; -import cokr.xit.fims.payer.PayerQuery; -import cokr.xit.fims.payer.dao.PayerAddrMapper; -import cokr.xit.fims.payer.dao.PayerMapper; -import cokr.xit.foundation.component.AbstractBean; -import cokr.xit.foundation.data.DataObject; -import cokr.xit.interfaces.lvis.service.bean.VehicleInfoBean; -import cokr.xit.interfaces.lvis.service.reg.BasicInfoRequest; -import cokr.xit.interfaces.lvis.service.reg.BasicInfoResponse; - -/**납부자 정보 관리 Bean - * - *

    상세 설명: - * - *

    - * ============ 변경 이력 ============
    - * 2023-08-18	mjkhan 최초 작성
    - * ================================
    - * 
    - */ -@Component("payerBean") -public class PayerBean extends AbstractBean { - - /** 납부자 정보 DAO */ - @Resource(name = "payerMapper") - private PayerMapper payerMapper; - - /** 납부자 주소 정보 DAO */ - @Resource(name = "payerAddrMapper") - private PayerAddrMapper payerAddrMapper; - - /** 자동차 정보 DAO */ - @Resource(name = "vehicleInfoBean") - private VehicleInfoBean vehicleInfoBean; - - /** 단속 상태 이력 정보 Bean */ - @Resource(name = "crdnSttsHstryBean") - private CrdnSttsHstryBean crdnSttsHstryBean; - - /** 단속 납부자 이력 정보 Bean */ - @Resource(name = "crdnPayerHstryBean") - private CrdnPayerHstryBean crdnPayerHstryBean; - - /**지정한 조건에 따라 납부자 목록을 조회하여 반환한다. - * @param req 납부자 조회 조건 - * @return 납부자 목록 - */ - public List getPayerList(PayerQuery req) { - return payerMapper.selectPayerList(req); - } - - /**지정한 조건에 따라 납부자 객체들을 반환한다. - * @param req 납부자 조회 조건 - * @return 납부자 객체 목록 - */ - public List getPayers(PayerQuery req) { - return payerMapper.selectPayers(req); - } - - /**지정한 조건에 따라 납부자 객체를 반환한다. - * @param req 납부자 조회 조건 - * @return 납부자 객체 - */ - public Payer getPayer(PayerQuery req) { - if (req.getOrderBy() == null) { - req.setOrderBy("P.RTPYR_ID DESC"); - } - - List payers = getPayers(req); - - return !payers.isEmpty() ? payers.get(0) : null; - } - - /**지정한 조건에 따라 납부자 주소 객체들을 반환한다. - * @param req 납부자 조회 조건 - * @return 납부자 주소 객체 목록 - */ - public List getPayerAddrs(PayerQuery req) { - return payerAddrMapper.selectPayerAddrs(req); - } - - /**지정한 조건에 따라 납부자 주소 객체를 반환한다. - * @param req 납부자 조회 조건 - * @return 납부자 주소 객체 - */ - public Payer getPayerAddr(PayerQuery req) { - if (req.getOrderBy() == null) { - req.setOrderBy("PA.ADDR_SN DESC"); - } - - List payers = getPayerAddrs(req); - - return !payers.isEmpty() ? payers.get(0) : null; - } - - public Payer getPayerAddrInfo(Payer payer) { - // PayerQuery - PayerQuery req = new PayerQuery(); - req.setRtpyrSeCd(payer.getRtpyrSeCd()); // 납부자 구분 코드 - req.setRtpyrNo(payer.getRtpyrNo()); // 납부자 번호 - req.setAddrInptSeCd(payer.getAddrInptSeCd()); // 주소 입력 구분 코드 - req.setRoadNmCd(payer.getRoadNmCd()); // 도로명 코드 - req.setAddr(payer.getAddr()); // 주소 - req.setDtlAddr(payer.getDtlAddr()); // 상세 주소 - - // 납부자 정보 조회 - req.setOrderBy("P.RTPYR_ID DESC"); - List payers = getPayers(req); - - // 납부자 ID 설정 - payer.setRtpyrId(payers.get(0).getRtpyrId()); - - // 납부자 정보 및 주소 정보를 조회 - req.setRtpyrId(payer.getRtpyrId()); - req.setOrderBy("PA.ADDR_SN DESC"); - payers = payerAddrMapper.selectPayerAddrInfo(req); - - if (payers.isEmpty()) { - createPayerAddr(payer); // 주소 신규 등록 - } else { - payer.setAddrSn(payers.get(0).getAddrSn()); // 주소 일련번호 설정 - - updatePayerAddr(payer); // 주소 수정 - } - - return payer; - } - - /**납부자 정보를 등록한다. - * @param payer 납부자 - * @return 저장 여부 - *
    • 저장됐으면 true
    • - *
    • 그렇지 않으면 false
    • - *
    - */ - public boolean create(Payer payer) { - // 납부자 등록 - boolean rtnScs = payerMapper.insert(payer); - // 납부자 주소 등록 - if (rtnScs) { - createPayerAddr(payer); - } - - return rtnScs; - } - - /**납부자 정보를 수정한다. - * @param payer 납부자 - * @return 저장 여부 - *
    • 저장됐으면 true
    • - *
    • 그렇지 않으면 false
    • - *
    - */ - public boolean update(Payer payer) { - return payerMapper.update(payer); - } - - /**납부자 주소 정보를 등록한다. - * @param payer 납부자 - * @return 저장 여부 - *
    • 저장됐으면 true
    • - *
    • 그렇지 않으면 false
    • - *
    - */ - public boolean createPayerAddr(Payer payer) { - // 납부자 주소 등록 - DataObject params = new DataObject() - .set("roadNmCd", payer.getRoadNmCd()) - .set("udgdSeCd", payer.getUdgdSeCd()) - .set("bmno", payer.getBmno()) - .set("bsno", payer.getBsno()); - DataObject info = payerMapper.selectAddrInfo(params); - if (info != null) { - payer.setAddrSeCd("02"); - payer.setZip(info.string("ZIP")); - payer.setBldgMngNo(info.string("BLDG_MNG_NO")); - payer.setStdgCd(info.string("STDG_CD")); - payer.setDongCd(info.string("DONG_CD")); - } - - return payerAddrMapper.insertPayerAddr(payer) == 1 ? true : false; - } - - /**납부자 주소 정보를 수정한다. - * @param payer 납부자 - * @return 저장 여부 - *
    • 저장됐으면 true
    • - *
    • 그렇지 않으면 false
    • - *
    - */ - public boolean updatePayerAddr(Payer payer) { - return payerAddrMapper.updatePayerAddr(payer) == 1 ? true : false; - } - - public List getVehicleOwners(List reqs) { - Map vehicleMap = vehicleInfoBean.getBasicInfo(reqs).stream() - .collect(Collectors.toMap(resp -> resp.getBasicInfo().getKey(), resp -> resp)); - - return vehicleMap.values().stream() - .map(resp -> getPayer(resp.getBasicInfo())) - .toList(); - } - - /**시군구 코드와 차량 기본정보에서 납부자 정보를 생성하거나, 등록정보에서 조회하여 반환한다.(차량번호 / 납부자 번호 / 시군구 기준) - * @param basicInfo 차량 기본정보 - * @return 납부자 정보 - */ - private Payer getPayer(BasicInfoResponse.BasicInfo basicInfo) { - Payer payer = new Payer(); - - payer.setSggCd(basicInfo.getSggCd()); - payer.setVhrno(basicInfo.getVhrno()); - payer.setRtpyrInptSeCd("02"); - payer.setAddrInptSeCd("02"); - payer.setRtpyrSeCd( - Map.of( - "11", "01", - "12", "02", - "13", "03", - "14", "04", - "15", "05" - ).getOrDefault(basicInfo.getMber_se_code(), "05") - ); - String rtpyrNo = basicInfo.getMber_se_no(); - payer.setRtpyrNo(rtpyrNo); - payer.setRtpyrNm(basicInfo.getMber_nm()); - payer.setRtpyrTelno(basicInfo.getTelno()); - payer.setRoadNmCd(basicInfo.getUse_strnghld_road_nm_code()); - String str = basicInfo.getUsgsrhld_undgrnd_buld_se_code(); - if (str.equals("")) - payer.setUdgdSeCd("0"); - else - payer.setUdgdSeCd(basicInfo.getUsgsrhld_undgrnd_buld_se_code()); - str = basicInfo.getUse_strnghld_buld_main_no(); - if (!isEmpty(str)) - payer.setBmno(toInt(str)); - str = basicInfo.getUse_strnghld_buld_sub_no(); - if (!isEmpty(str)) - payer.setBsno(toInt(str)); - payer.setStdgCd(basicInfo.getUse_strnghld_legaldong_code()); - payer.setDongCd(basicInfo.getUse_strnghld_adstrd_code()); - payer.setMtnSeCd(basicInfo.getUse_strnghld_mntn()); - str = basicInfo.getUse_strnghld_lnbr(); - if (!isEmpty(str)) - payer.setMno(toInt(str)); - str = basicInfo.getUse_strnghld_ho(); - if (!isEmpty(str)) - payer.setSno(toInt(str)); - payer.setAddr(basicInfo.getRoad_nm_adres()); - payer.setDtlAddr(basicInfo.getUse_strnghld_adres_nm()); - // 전체 주소 - str = basicInfo.getUse_strnghld_adres_nm(); - if (!isEmpty(str)) - payer.setWholAddr(basicInfo.getRoad_nm_adres() + ", " + basicInfo.getUse_strnghld_adres_nm()); - else - payer.setWholAddr(basicInfo.getRoad_nm_adres()); - - Payer result = create(payer) ? payer : getPayerAddrInfo(payer); - - if (result != null) - result.setVehicleInfo(basicInfo); - - return result; - } - - /**지정한 부과제외 ID의 부과제외 정보를 반환한다.
    - * @param req 납부자 조회 조건 - * @return 납부자 정보 - */ - public DataObject getPayerInfo(PayerQuery req) { - return payerMapper.selectPayerInfo(req); - } - - /**지정한 단속 ID의 단속 정보를 반환한다.
    - * @param req 납부자 조회 조건 - * @return 단속 정보 - */ - public DataObject getCrdnInfo(PayerQuery req) { - return payerMapper.selectCrdn(req); // 단속 조회 - } - - /**납부자 정보를 등록하고, 단속 정보에 납부자 ID를 변경한다. - * @param payer 납부자 - * @return 저장 여부 - *
    • 저장됐으면 true
    • - *
    • 그렇지 않으면 false
    • - *
    - */ - public String createCrdnPayer(Payer payer) { - // 변수 선언 - boolean rtnScs = false; // DB 처리 결과 - String strTemp = ""; - - // 지하 구분 코드 - strTemp = payer.getUdgdSeCd(); - if (strTemp.equals("")) { - payer.setUdgdSeCd("0"); - } - // 전체 주소 - strTemp = payer.getWholAddr(); - if (strTemp.equals("")) { - payer.setWholAddr(payer.getAddr() + ", " + payer.getDtlAddr()); - } - - // 단속 ID로 단속, 납부자, 주소 정보 조회 - DataObject crdnPayerAddrInfo = payerMapper.selectCrdnInfo(payer.getCrdnId()); - - // 주민등록번호가 동일하다면.. - if (crdnPayerAddrInfo.string("RTPYR_NO").equals(payer.getRtpyrNo())) { - // 납부자 대장(TB_PAYER)에 납부자 정보를 수정한다. - rtnScs = update(payer); - if (!rtnScs) { - throw new RuntimeException("납부자 정보 수정에 실패하였습니다."); // 예외를 발생시켜서 DB Rollback - } - - // 주소가 변경되었는지 확인 - if (crdnPayerAddrInfo.string("ADDR_INPT_SE_CD").equals(payer.getAddrInptSeCd()) - && crdnPayerAddrInfo.string("ZIP").equals(payer.getZip()) - && crdnPayerAddrInfo.string("ADDR").equals(payer.getAddr()) - && crdnPayerAddrInfo.string("DTL_ADDR").equals(payer.getDtlAddr()) - && crdnPayerAddrInfo.string("ROAD_NM_CD").equals(payer.getRoadNmCd())) { - // 주소 일련번호 설정 - payer.setAddrSn(crdnPayerAddrInfo.string("ADDR_SN")); - } else { - Payer result = getPayerAddrInfo(payer); - - CrdnPayerHstry crdnPayerAddrHstry = new CrdnPayerHstry(); - crdnPayerAddrHstry.setCrdnId(payer.getCrdnId()); - crdnPayerAddrHstry.setRtpyrId(result.getRtpyrId()); - crdnPayerAddrHstry.setAddrSn(result.getAddrSn()); - - // 납부자 주소 변경 이력 생성 - rtnScs = crdnPayerHstryBean.createHstryUpdateCrdnPayerAddr(crdnPayerAddrHstry); - if (!rtnScs) { - throw new RuntimeException("납부자 등록 실행중 단속 대장에 주소 일련번호 등록에 실패하였습니다."); // 예외를 발생시켜서 DB Rollback - } - - } - } else { - Payer result = create(payer) ? payer : getPayerAddrInfo(payer); - - // 단속 대장의 납부자ID 수정 및 단속 납부자 이력(TB_CRDN_PAYER_HSTRY) 대장에 등록한다. - CrdnPayerHstry crdnPayerHstry = new CrdnPayerHstry(); - crdnPayerHstry.setCrdnId(payer.getCrdnId()); - crdnPayerHstry.setRtpyrId(result.getRtpyrId()); - crdnPayerHstry.setAddrSn(result.getAddrSn()); - - rtnScs = crdnPayerHstryBean.createHstryUpdateCrdnPayer(crdnPayerHstry); - if (!rtnScs) { - throw new RuntimeException("납부자 등록 실행중 단속 대장에 납부자 ID 등록에 실패하였습니다."); // 예외를 발생시켜서 DB Rollback - } - } - - // 단속 상태 이력(TB_CRDN_STTS_HSTRY) 대장에 등록하고, 단속(TB_CRDN) 대장을 수정한다. - if (crdnPayerAddrInfo.number("CRDN_STTS_CD").intValue() < 21) { // 납부자 등록 완료 - CrdnSttsHstry crdnSttsHstry = new CrdnSttsHstry(); - crdnSttsHstry.setCrdnId(crdnPayerAddrInfo.string("CRDN_ID")); - crdnSttsHstry.setBfrSttsCd(crdnPayerAddrInfo.string("CRDN_STTS_CD")); - crdnSttsHstry.setBfrSttsChgDt(crdnPayerAddrInfo.string("CRDN_STTS_CHG_DT")); - crdnSttsHstry.setCrdnSttsCd("21"); - - rtnScs = crdnSttsHstryBean.createHstryUpdateCrdnSttsCd(crdnSttsHstry); - if (!rtnScs) { - throw new RuntimeException("납부자 등록 중 단속 대장의 단속상태 변경에 실패하였습니다."); // 예외를 발생시켜서 DB Rollback - } - } - - return "[S] 작업이 정상 처리 되었습니다."; - } - - /**지정한 조건에 따라 납부자 이력 목록을 조회하여 반환한다. - * @param req 납부자 조회 조건 - * @return 납부자 변경 이력 목록 - */ - public List getPayerHstrys(PayerQuery req) { - if (req.getOrderBy() == null) { - req.setOrderBy("CPH.REG_DT DESC"); - } - - return payerMapper.selectPayerHstrys(req); - } - - /**지정한 조건에 따라 납부자 주소 이력 목록을 조회하여 반환한다. - * @param req 납부자 조회 조건 - * @return 납부자 변경 이력 목록 - */ - public List getPayerAddrHstrys(PayerQuery req) { - if (req.getOrderBy() == null) { - req.setOrderBy("CPAH.REG_DT DESC"); - } - - return payerAddrMapper.selectPayerAddrHstrys(req); - } - -} diff --git a/src/main/java/cokr/xit/fims/payer/service/bean/PayerServiceBean.java b/src/main/java/cokr/xit/fims/payer/service/bean/PayerServiceBean.java deleted file mode 100644 index f5b756b3..00000000 --- a/src/main/java/cokr/xit/fims/payer/service/bean/PayerServiceBean.java +++ /dev/null @@ -1,97 +0,0 @@ -package cokr.xit.fims.payer.service.bean; - -import java.util.List; - -import javax.annotation.Resource; - -import org.springframework.stereotype.Service; - -import cokr.xit.fims.payer.Payer; -import cokr.xit.fims.payer.PayerQuery; -import cokr.xit.fims.payer.service.PayerService; -import cokr.xit.foundation.component.AbstractServiceBean; -import cokr.xit.foundation.data.DataObject; -import cokr.xit.interfaces.lvis.service.reg.BasicInfoRequest; - -/**납부자 대장 서비스 구현체. - * - *

    상세 설명: - * - *

    - * ============ 변경 이력 ============
    - * 2023-08-18	mjkhan 최초 작성
    - * ================================
    - * 
    - */ -@Service("payerService") -public class PayerServiceBean extends AbstractServiceBean implements PayerService { - - /** 납부자 대장 정보 Bean */ - @Resource(name = "payerBean") - private PayerBean payerBean; - - @Override - public List getPayerList(PayerQuery req) { - return payerBean.getPayerList(req); - } - - @Override - public List getPayers(PayerQuery req) { - return payerBean.getPayers(req); - } - - @Override - public boolean create(Payer payer) { - return payerBean.create(payer); - } - - @Override - public boolean update(Payer payer) { - return payerBean.update(payer); - } - - @Override - public boolean createPayerAddr(Payer payer) { - return payerBean.createPayerAddr(payer); - } - - @Override - public boolean updatePayerAddr(Payer payer) { - return payerBean.updatePayerAddr(payer); - } - - @Override - public Payer getVehicleOwner(BasicInfoRequest req) { - List payers = payerBean.getVehicleOwners(List.of(req)); - return !payers.isEmpty() ? payers.get(0) : null; - } - - @Override - public DataObject getPayerInfo(PayerQuery req) { - if (req.getCallPurpose() == null) { - req.setCallPurpose("view"); - } - - if (req.getCallPurpose().equals("create")) { - return payerBean.getCrdnInfo(req); - } else { - return payerBean.getPayerInfo(req); - } - } - - @Override - public String createCrdnPayer(Payer payer) { - return payerBean.createCrdnPayer(payer); - } - - @Override - public List getPayerHstrys(PayerQuery req) { - return payerBean.getPayerHstrys(req); - } - - @Override - public List getPayerAddrHstrys(PayerQuery req) { - return payerBean.getPayerAddrHstrys(req); - } - -} \ No newline at end of file diff --git a/src/main/java/cokr/xit/fims/payer/web/PayerController.java b/src/main/java/cokr/xit/fims/payer/web/PayerController.java deleted file mode 100644 index 1a26a349..00000000 --- a/src/main/java/cokr/xit/fims/payer/web/PayerController.java +++ /dev/null @@ -1,194 +0,0 @@ -package cokr.xit.fims.payer.web; - -import java.util.List; -import java.util.Map; - -import javax.annotation.Resource; -import javax.servlet.http.HttpServletRequest; - -import org.springframework.stereotype.Controller; -import org.springframework.web.bind.annotation.PostMapping; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.servlet.ModelAndView; - -import cokr.xit.base.code.CommonCode; -import cokr.xit.base.web.ApplicationController; -import cokr.xit.fims.payer.Payer; -import cokr.xit.fims.payer.PayerQuery; -import cokr.xit.fims.payer.service.PayerService; -import cokr.xit.fims.task.Task; -import cokr.xit.foundation.data.DataObject; -import cokr.xit.interfaces.lvis.service.reg.BasicInfoRequest; - -/**납부자 서비스의 웹 컨트롤러 - * - *

    상세 설명: - * - *

    - * ============ 변경 이력 ============
    - * 2023-08-18	mjkhan 최초 작성
    - * ================================
    - * 
    - */ -@Controller -@RequestMapping(name="납부자", value="/payer") -public class PayerController extends ApplicationController { - - public class METHOD_URL { - public static final String - create = "/create.do" // 납부자 등록 - , update = "/update.do" // 납부자 수정 - , remove = "/remove.do" // 납부자 제거 - , getVehicleOwner = "/vehicle.do" // 차량/납부자 조회 - , getPayerInfo = "/info.do" // 납부자 정보 조회 - , createCrdnPayer = "/createCrdnPayer.do" // 단속, 납부자 대장 등록 - , getPayerHstrys = "/getPayerHstrys.do" // 납부자 변경 이력 조회 - ; - } - - /**납부자 서비스*/ - @Resource(name = "payerService") - private PayerService payerService; - - /**납부자 관리 메인화면(payer/payer-main)을 연다. - * 조건없는 {@link #getPayerList(PayerQuery) 납부자 조회 결과}를 포함시킨다. - * @return /payer/payer-main - */ - @Task("CMN") - @RequestMapping(name = "납부자 메인", value = "/main.do") - public ModelAndView main() { - ModelAndView mav = getPayerList(new PayerQuery().setPageNum(1)); - mav.setViewName("/payer/payer-main"); - return mav.addObject("payerList", toJson(mav.getModel().get("payerList"))); - } - - /**납부자 목록을 조회하여 반환한다.
    - * {@link PayerService#getPayerList(PayerQuery)} 참고 - * @param req 납부자 조회 조건 - * @return jsonView - *
     {
    -	 *     "payerList": [납부자 목록]
    -	 *     "payerStart": 납부자 목록 시작 인덱스
    -	 *     "payerFetch": 한 번에 가져오는 납부자 목록 수
    -	 *     "payerTotal": 조회 결과 찾은 전체 납부자 수
    -	 * }
    - */ - @Task("CMN") - @RequestMapping(name = "납부자 목록 조회", value = "/list.do") - public ModelAndView getPayerList(PayerQuery req) { - List result = payerService.getPayerList(setFetchSize(req)); - return setCollectionInfo(new ModelAndView("jsonView"), result, "payer"); - } - - /**납부자를 등록한다. - * @param payer 납부자 정보 - * @return jsonView - *
     {
    -	 *     "saved": 등록되었으면 true, 그렇지 않으면 false
    -	 * }
    - */ - @Task("CMN") - @PostMapping(name = "납부자 등록", value = "/create.do") - public ModelAndView create(Payer payer) { - boolean saved = payerService.create(payer); - return new ModelAndView("jsonView") - .addObject("saved", saved); - } - - /**납부자 정보를 수정한다. - * @param payer 납부자 정보 - * @return jsonView - *
     {
    -	 *     "saved": 수정되었으면 true, 그렇지 않으면 false
    -	 * }
    - */ - @Task("CMN") - @PostMapping(name = "납부자 수정", value = "/update.do") - public ModelAndView update(Payer payer) { - boolean saved = payerService.update(payer); - return new ModelAndView("jsonView") - .addObject("saved", saved); - } - - @Task("CMN") - @PostMapping(name = "차량/납부자 조회", value = "/vehicle.do") - public ModelAndView getVehicleOwner(BasicInfoRequest req) { - Payer payer = payerService.getVehicleOwner(req); - boolean found = payer != null; - return new ModelAndView("jsonView") - .addObject("found", found) - .addObject("rtpyrId", found ? payer.getRtpyrId() : null) - .addObject("addrSn", found ? payer.getAddrSn() : null) - .addObject("vehicle", found ? payer.getVehicleInfo() : null); - } - - /**납부자 정보를 반환한다. - * @param - * @return fims/payer/payer01020-info 또는 jsonView - *
    {
    -	 *     "payerInfo": 납부자 정보
    -	 * }
    - */ - @Task - @RequestMapping(name="납부자 정보 조회", value=METHOD_URL.getPayerInfo) - public ModelAndView getPayerInfo(HttpServletRequest hReq, PayerQuery req) { - DataObject payerInfo = payerService.getPayerInfo(req); - - boolean json = jsonResponse(); - ModelAndView mav = new ModelAndView(json ? "jsonView" : "fims/payer/payer01020-info"); - - // View(jsp)에서 사용할 공통코드를 조회 - Map> commonCodes = getCodesOf("FIM011", "FIM014", "FIM054"); - - return mav - .addObject("openerPageName", hReq.getParameter("openerPageName")) // 호출한 Jsp PageName - .addObject("pageName", "payer01020") // jsp pageName - .addObject("infoPrefix", "payer") // prefix - .addObject("FIM011List", commonCodes.get("FIM011")) // 납부자 구분 코드(RTPYR_SE_CD) - .addObject("FIM014List", commonCodes.get("FIM014")) // 납부자 상태 코드(RTPYR_STTS_CD) - .addObject("FIM054List", commonCodes.get("FIM054")) // 업무 구분 코드(TASK_SE_CD) - .addObject("payerInfo", json ? payerInfo : toJson(payerInfo)) // 납부자 정보 - ; - } - - /**납부자 대장를 등록한다. - * @param Payer 납부자 대장 정보 - * @return jsonView - *
     {
    -	 *     "saved": 등록되었으면 true, 그렇지 않으면 false
    -	 * }
    - */ - @Task - @RequestMapping(name="단속 납부자 등록", value=METHOD_URL.createCrdnPayer) - public ModelAndView createCrdnPayer(Payer payer) { - boolean saved = false; - String rtnMsg = payerService.createCrdnPayer(payer); - - if (rtnMsg.contains("[S]")) { - saved = true; - } else { - saved = false; - } - - return new ModelAndView("jsonView") - .addObject("saved", saved) - .addObject("rtnMsg", rtnMsg); - } - - /**납부자 변경 이력을 조회하여 반환한다.
    - * {@link PayerService#getPayerList(PayerQuery)} 참고 - * @param req 납부자 조회 조건 - * @return jsonView - *
     {
    -	 *     "payerHstryList": [납부자 변경 이력 목록]
    -	 * }
    - */ - @Task - @RequestMapping(name="납부자 변경 이력 조회", value=METHOD_URL.getPayerHstrys) - public ModelAndView getPayerHstrys(PayerQuery req) { - List result = payerService.getPayerHstrys(req); - - return setCollectionInfo(new ModelAndView("jsonView"), result, "payerHstry"); - } - -} diff --git a/src/main/java/cokr/xit/fims/rcvm/Rcvmt.java b/src/main/java/cokr/xit/fims/rcvm/Rcvmt.java deleted file mode 100644 index ba3776d6..00000000 --- a/src/main/java/cokr/xit/fims/rcvm/Rcvmt.java +++ /dev/null @@ -1,181 +0,0 @@ -package cokr.xit.fims.rcvm; - -import cokr.xit.foundation.AbstractEntity; -import lombok.Getter; -import lombok.Setter; - -/** - * 수납 대장 - * @author JoJH - */ -@Getter -@Setter -public class Rcvmt extends AbstractEntity { - - /** - * 수납 ID - */ - private String rcvmtId; - - /** - * 시군구 코드 - */ - private String sggCd; - - /** - * 업무 구분 코드 - */ - private String taskSeCd; - - /** - * 부과 ID - */ - private String levyId; - - /** - * 수납 입력 구분 코드 - */ - private String rcvmtInptSeCd; - - /** - * 부서 코드 - */ - private String deptCd; - - /** - * 특별회계 사업 코드 - */ - private String spclBizCd; - - /** - * 회계 연도 - */ - private String fyr; - - /** - * 회계 구분 코드 - */ - private String acntgSeCd; - - /** - * 세목 코드 - */ - private String txitmCd; - - /** - * 부과 번호 - */ - private String levyNo; - - /** - * 분납 일련번호 - */ - private String ispySn; - - /** - * 최종 본세 - */ - private Integer lastPcptax; - - /** - * 최종 가산금 - */ - private Integer lastAdamt; - - /** - * 수납 일련번호 - */ - private String rcvmtSn; - - /** - * 수납 구분 코드 - */ - private String rcvmtSeCd; - - /** - * 수납 일자 - */ - private String rcvmtYmd; - - /** - * 회계 일자 - */ - private String acntgYmd; - - /** - * 이체 일자 - */ - private String tsfYmd; - - /** - * 수납 금액 - */ - private Integer rcvmtAmt; - - /** - * 수납 본세 - */ - private Integer rcvmtPcptax; - - /** - * 수납 가산금 - */ - private Integer rcvmtAdamt; - - /** - * 수납 이자 - */ - private Integer rcvmtInt; - - /** - * 수납 은행 명 - */ - private String rcvmtBankNm; - - /** - * 납부 방법 구분 코드 - */ - private String payMthdSeCd; - - /** - * 가상계좌번호 - */ - private String vractno; - - /** - * 전자납부번호 - */ - private String epayno; - - /** - * 수납 취소 여부 - */ - private String rcvmtRtrcnYn; - - /** - * 수납 취소 일시 - */ - private String rcvmtRtrcnDt; - - /** - * 수납 취소 사유 - */ - private String rcvmtRtrcnRsn; - - /** - * 수납 상태 코드 - */ - private String rcvmtSttsCd; - - /** - * 삭제 여부 - */ - private String delYn; - - /** - * 삭제 사유 - */ - private String delRsn; - -} - diff --git a/src/main/java/cokr/xit/fims/rcvm/RcvmtQuery.java b/src/main/java/cokr/xit/fims/rcvm/RcvmtQuery.java deleted file mode 100644 index ddcbd598..00000000 --- a/src/main/java/cokr/xit/fims/rcvm/RcvmtQuery.java +++ /dev/null @@ -1,645 +0,0 @@ -package cokr.xit.fims.rcvm; - -import cokr.xit.fims.cmmn.CmmnQuery; -import cokr.xit.fims.epst.EpostQuery; - -/**수납 대장 정보 조회 요청 - * - *

    상세 설명: - * - *

    - * ============ 변경 이력 ============
    - * 2023-08-31	JoJH 최초 작성
    - * ================================
    - * 
    - */ -public class RcvmtQuery extends CmmnQuery { - - private static final long serialVersionUID = 1L; - - // ID - private String crdnId; // 단속 ID - private String levyId; // 부과 ID - private String[] rcvmtIds; // 수납 Ids - private String rcvmtId; // 수납 ID - // 검색 조건 - private String schAcntgYmdFrom; // 수납(TB_RCVMT)_회계 일자 시작 - private String schAcntgYmdTo; // 수납(TB_RCVMT)_회계 일자 종료 - private String schRcvmtYmdFrom; // 수납(TB_RCVMT)_수납 일자 시작 - private String schRcvmtYmdTo; // 수납(TB_RCVMT)_수납 일자 종료 - private String schTsfYmdFrom; // 수납(TB_RCVMT)_이체 일자 시작 - private String schTsfYmdTo; // 수납(TB_RCVMT)_이체 일자 종료 - private String schRcvmtSeCd; // 수납(TB_RCVMT)_수납 구분 코드 - private String schPayMthdSeCd; // 수납(TB_RCVMT)_납부 방법 구분 코드 - private String schCrdnYmdFrom; // 단속(TB_CRDN)_단속 일자 시작 - private String schCrdnYmdTo; // 단속(TB_CRDN)_단속 일자 종료 - private String schVhrno; // 단속(TB_CRDN)_차량번호 - private String schRtpyrNo; // 납부자(TB_PAYER)_납부자 번호 - private String schRtpyrNm; // 납부자(TB_PAYER)_납부자 명 - // 상세 검색 조건 - - // 동적 검색 조건 - private String rcvmtInptSeCd; // 수납(TB_RCVMT)_수납 입력 구분 코드 - private String rcvmtRtrcnYn; // 수납(TB_RCVMT)_수납 취소 여부 - private String spclBizCd; // 수납(TB_RCVMT)_특별회계 사업 코드 - private String fyr; // 수납(TB_RCVMT)_회계연도 - private String acntgSeCd; // 수납(TB_RCVMT)_회계 구분 코드 - private String txitmCd; // 수납(TB_RCVMT)_세목 코드 - private String operItemCd; // 수납(TB_RCVMT)_운영 항목 코드 - private String levyNo; // 수납(TB_RCVMT)_부과 번호 - private String ispySn; // 수납(TB_RCVMT)_분납 번호 - private String rcvmtSn; // 수납(TB_RCVMT)_수납 일련번호 - private String tsfYmd; // 수납(TB_RCVMT)_이체 일자 - private String acntgYmd; // 수납(TB_RCVMT)_회계 일자 - private String rcvmtYmd; // 수납(TB_RCVMT)_수납 일자 - private String rcvmtAmt; // 수납(TB_RCVMT)_수납 금액 - private String rcvmtPcptax; // 수납(TB_RCVMT)_수납 본세 - private String rcvmtAdamt; // 수납(TB_RCVMT)_수납 가산금 - private String rcvmtInt; // 수납(TB_RCVMT)_수납 이자 - private String rcvmtBankNm; // 수납(TB_RCVMT)_수납 은행 명 - private String payMthdSeCd; // 수납(TB_RCVMT)_납부 방법 구분 코드 - private String rcvmtSeCd; // 수납(TB_RCVMT)_수납 구분 코드 - private String rcvmtSttsCd; // 수납(TB_RCVMT)_수납 상태 코드 - private String levyYmd; // 부과(TB_LEVY)_부과 일자 - private String frstDudtYmd; // 부과(TB_LEVY)_최초 납기 일자 - private String dudtYmd; // 부과(TB_LEVY)_납기 일자 - private String levyPcptax; // 부과(TB_LEVY)_부과 본세 - private String levyAdamt; // 부과(TB_LEVY)_부과 가산금 - private String ispyInt; // 부과(TB_LEVY)_분납 이자 - private String szrYmd; // 부과(TB_LEVY)_압류 일자 - private String szrThing; // 부과(TB_LEVY)_압류 물건 - private String rpmSzrVhrno; // 부과(TB_LEVY)_대체 압류 자동차등록번호 - private String szrRmvYmd; // 부과(TB_LEVY)_압류 해제 일자 - private String crdnYmd; // 단속(TB_CRDN)_단속 일자 - private String vhrno; // 단속(TB_CRDN)_차량번호 - private String crdnStdgNm; // 단속(TB_CRDN)_단속 법정동 명 - private String crdnPlc; // 단속(TB_CRDN)_단속 장소 - private String crdnSttsCd; // 단속(TB_CRDN)_단속 상태 코드 - private String rtpyrSeCd; // 납부자(TB_PAYER)_납부자 구분 코드 - private String rtpyrNo; // 납부자(TB_PAYER)_납부자 번호 - private String rtpyrNm; // 납부자(TB_PAYER)_납부자 명 - private String rtpyrBrdt; // 납부자(TB_PAYER)_납부자 생년월일 - private String rtpyrSttsCd; // 납부자(TB_PAYER)_납부자 상태 코드 - // ETC - private String callPurpose; // infoDialog 호출 용도(view 조회, create 등록, update 수정, remove 삭제, refresh 재조회). - private String delRsn; // 삭제 사유 - private String crdnDelYn; // 단속 삭제 여부 - - public String getCrdnId() { - return ifEmpty(crdnId, () -> null); - } - - public T setCrdnId(String crdnId) { - this.crdnId = crdnId; - return self(); - } - - public String getLevyId() { - return ifEmpty(levyId, () -> null); - } - - public T setLevyId(String levyId) { - this.levyId = levyId; - return self(); - } - - public String[] getRcvmtIds() { - return ifEmpty(rcvmtIds, () -> null); - } - - public T setRcvmtIds(String... rcvmtIds) { - this.rcvmtIds = rcvmtIds; - return self(); - } - - public String getRcvmtId() { - return ifEmpty(rcvmtId, () -> null); - } - - public T setRcvmtId(String rcvmtId) { - this.rcvmtId = rcvmtId; - return self(); - } - - public String getSchAcntgYmdFrom() { - return ifEmpty(schAcntgYmdFrom, () -> null); - } - - public T setSchAcntgYmdFrom(String schAcntgYmdFrom) { - this.schAcntgYmdFrom = schAcntgYmdFrom; - return self(); - } - - public String getSchAcntgYmdTo() { - return ifEmpty(schAcntgYmdTo, () -> null); - } - - public T setSchAcntgYmdTo(String schAcntgYmdTo) { - this.schAcntgYmdTo = schAcntgYmdTo; - return self(); - } - - public String getSchRcvmtYmdFrom() { - return ifEmpty(schRcvmtYmdFrom, () -> null); - } - - public T setSchRcvmtYmdFrom(String schRcvmtYmdFrom) { - this.schRcvmtYmdFrom = schRcvmtYmdFrom; - return self(); - } - - public String getSchRcvmtYmdTo() { - return ifEmpty(schRcvmtYmdTo, () -> null); - } - - public T setSchRcvmtYmdTo(String schRcvmtYmdTo) { - this.schRcvmtYmdTo = schRcvmtYmdTo; - return self(); - } - - public String getSchTsfYmdFrom() { - return ifEmpty(schTsfYmdFrom, () -> null); - } - - public T setSchTsfYmdFrom(String schTsfYmdFrom) { - this.schTsfYmdFrom = schTsfYmdFrom; - return self(); - } - - public String getSchTsfYmdTo() { - return ifEmpty(schTsfYmdTo, () -> null); - } - - public T setSchTsfYmdTo(String schTsfYmdTo) { - this.schTsfYmdTo = schTsfYmdTo; - return self(); - } - - public String getSchRcvmtSeCd() { - return ifEmpty(schRcvmtSeCd, () -> null); - } - - public T setSchRcvmtSeCd(String schRcvmtSeCd) { - this.schRcvmtSeCd = schRcvmtSeCd; - return self(); - } - - public String getSchPayMthdSeCd() { - return ifEmpty(schPayMthdSeCd, () -> null); - } - - public T setSchPayMthdSeCd(String schPayMthdSeCd) { - this.schPayMthdSeCd = schPayMthdSeCd; - return self(); - } - - public String getSchCrdnYmdFrom() { - return ifEmpty(schCrdnYmdFrom, () -> null); - } - - public T setSchCrdnYmdFrom(String schCrdnYmdFrom) { - this.schCrdnYmdFrom = schCrdnYmdFrom; - return self(); - } - - public String getSchCrdnYmdTo() { - return ifEmpty(schCrdnYmdTo, () -> null); - } - - public T setSchCrdnYmdTo(String schCrdnYmdTo) { - this.schCrdnYmdTo = schCrdnYmdTo; - return self(); - } - - public String getSchVhrno() { - return ifEmpty(schVhrno, () -> null); - } - - public T setSchVhrno(String schVhrno) { - this.schVhrno = schVhrno; - return self(); - } - - public String getSchRtpyrNo() { - return ifEmpty(schRtpyrNo, () -> null); - } - - public T setSchRtpyrNo(String schRtpyrNo) { - this.schRtpyrNo = schRtpyrNo; - return self(); - } - - public String getSchRtpyrNm() { - return ifEmpty(schRtpyrNm, () -> null); - } - - public T setSchRtpyrNm(String schRtpyrNm) { - this.schRtpyrNm = schRtpyrNm; - return self(); - } - - // 상세 검색 조건 /////////////////////////////////////////////////////////////// - - // 상세 검색 조건 /////////////////////////////////////////////////////////////// - - // 동적 검색 조건 /////////////////////////////////////////////////////////////// - public String getRcvmtInptSeCd() { - return ifEmpty(rcvmtInptSeCd, () -> null); - } - - public T setRcvmtInptSeCd(String rcvmtInptSeCd) { - this.rcvmtInptSeCd = rcvmtInptSeCd; - return self(); - } - - public String getRcvmtRtrcnYn() { - return ifEmpty(rcvmtRtrcnYn, () -> null); - } - - public T setRcvmtRtrcnYn(String rcvmtRtrcnYn) { - this.rcvmtRtrcnYn = rcvmtRtrcnYn; - return self(); - } - - public String getSpclBizCd() { - return ifEmpty(spclBizCd, () -> null); - } - - public T setSpclBizCd(String spclBizCd) { - this.spclBizCd = spclBizCd; - return self(); - } - - public String getFyr() { - return ifEmpty(fyr, () -> null); - } - - public T setFyr(String fyr) { - this.fyr = fyr; - return self(); - } - - public String getAcntgSeCd() { - return ifEmpty(acntgSeCd, () -> null); - } - - public T setAcntgSeCd(String acntgSeCd) { - this.acntgSeCd = acntgSeCd; - return self(); - } - - public String getTxitmCd() { - return ifEmpty(txitmCd, () -> null); - } - - public T setTxitmCd(String txitmCd) { - this.txitmCd = txitmCd; - return self(); - } - - public String getOperItemCd() { - return ifEmpty(operItemCd, () -> null); - } - - public T setOperItemCd(String operItemCd) { - this.operItemCd = operItemCd; - return self(); - } - - public String getLevyNo() { - return ifEmpty(levyNo, () -> null); - } - - public T setLevyNo(String levyNo) { - this.levyNo = levyNo; - return self(); - } - - public String getIspySn() { - return ifEmpty(ispySn, () -> null); - } - - public T setIspySn(String ispySn) { - this.ispySn = ispySn; - return self(); - } - - public String getRcvmtSn() { - return ifEmpty(rcvmtSn, () -> null); - } - - public T setRcvmtSn(String rcvmtSn) { - this.rcvmtSn = rcvmtSn; - return self(); - } - - public String getTsfYmd() { - return ifEmpty(tsfYmd, () -> null); - } - - public T setTsfYmd(String tsfYmd) { - this.tsfYmd = tsfYmd; - return self(); - } - - public String getAcntgYmd() { - return ifEmpty(acntgYmd, () -> null); - } - - public T setAcntgYmd(String acntgYmd) { - this.acntgYmd = acntgYmd; - return self(); - } - - public String getRcvmtYmd() { - return ifEmpty(rcvmtYmd, () -> null); - } - - public T setRcvmtYmd(String rcvmtYmd) { - this.rcvmtYmd = rcvmtYmd; - return self(); - } - - public String getRcvmtAmt() { - return ifEmpty(rcvmtAmt, () -> null); - } - - public T setRcvmtAmt(String rcvmtAmt) { - this.rcvmtAmt = rcvmtAmt; - return self(); - } - - public String getRcvmtPcptax() { - return ifEmpty(rcvmtPcptax, () -> null); - } - - public T setRcvmtPcptax(String rcvmtPcptax) { - this.rcvmtPcptax = rcvmtPcptax; - return self(); - } - - public String getRcvmtAdamt() { - return ifEmpty(rcvmtAdamt, () -> null); - } - - public T setRcvmtAdamt(String rcvmtAdamt) { - this.rcvmtAdamt = rcvmtAdamt; - return self(); - } - - public String getRcvmtInt() { - return ifEmpty(rcvmtInt, () -> null); - } - - public T setRcvmtInt(String rcvmtInt) { - this.rcvmtInt = rcvmtInt; - return self(); - } - - public String getRcvmtBankNm() { - return ifEmpty(rcvmtBankNm, () -> null); - } - - public T setRcvmtBankNm(String rcvmtBankNm) { - this.rcvmtBankNm = rcvmtBankNm; - return self(); - } - - public String getPayMthdSeCd() { - return ifEmpty(payMthdSeCd, () -> null); - } - - public T setPayMthdSeCd(String payMthdSeCd) { - this.payMthdSeCd = payMthdSeCd; - return self(); - } - - public String getRcvmtSeCd() { - return ifEmpty(rcvmtSeCd, () -> null); - } - - public T setRcvmtSeCd(String rcvmtSeCd) { - this.rcvmtSeCd = rcvmtSeCd; - return self(); - } - - public String getRcvmtSttsCd() { - return ifEmpty(rcvmtSttsCd, () -> null); - } - - public T setRcvmtSttsCd(String rcvmtSttsCd) { - this.rcvmtSttsCd = rcvmtSttsCd; - return self(); - } - - public String getLevyYmd() { - return ifEmpty(levyYmd, () -> null); - } - - public T setLevyYmd(String levyYmd) { - this.levyYmd = levyYmd; - return self(); - } - - public String getFrstDudtYmd() { - return ifEmpty(frstDudtYmd, () -> null); - } - - public T setFrstDudtYmd(String frstDudtYmd) { - this.frstDudtYmd = frstDudtYmd; - return self(); - } - - public String getDudtYmd() { - return ifEmpty(dudtYmd, () -> null); - } - - public T setDudtYmd(String dudtYmd) { - this.dudtYmd = dudtYmd; - return self(); - } - - public String getLevyPcptax() { - return ifEmpty(levyPcptax, () -> null); - } - - public T setLevyPcptax(String levyPcptax) { - this.levyPcptax = levyPcptax; - return self(); - } - - public String getLevyAdamt() { - return ifEmpty(levyAdamt, () -> null); - } - - public T setLevyAdamt(String levyAdamt) { - this.levyAdamt = levyAdamt; - return self(); - } - - public String getIspyInt() { - return ifEmpty(ispyInt, () -> null); - } - - public T setIspyInt(String ispyInt) { - this.ispyInt = ispyInt; - return self(); - } - - public String getSzrYmd() { - return ifEmpty(szrYmd, () -> null); - } - - public T setSzrYmd(String szrYmd) { - this.szrYmd = szrYmd; - return self(); - } - - public String getSzrThing() { - return ifEmpty(szrThing, () -> null); - } - - public T setSzrThing(String szrThing) { - this.szrThing = szrThing; - return self(); - } - - public String getRpmSzrVhrno() { - return ifEmpty(rpmSzrVhrno, () -> null); - } - - public T setRpmSzrVhrno(String rpmSzrVhrno) { - this.rpmSzrVhrno = rpmSzrVhrno; - return self(); - } - - public String getSzrRmvYmd() { - return ifEmpty(szrRmvYmd, () -> null); - } - - public T setSzrRmvYmd(String szrRmvYmd) { - this.szrRmvYmd = szrRmvYmd; - return self(); - } - - public String getCrdnYmd() { - return ifEmpty(crdnYmd, () -> null); - } - - public T setCrdnYmd(String crdnYmd) { - this.crdnYmd = crdnYmd; - return self(); - } - - public String getVhrno() { - return ifEmpty(vhrno, () -> null); - } - - public T setVhrno(String vhrno) { - this.vhrno = vhrno; - return self(); - } - - public String getCrdnStdgNm() { - return ifEmpty(crdnStdgNm, () -> null); - } - - public T setCrdnStdgNm(String crdnStdgNm) { - this.crdnStdgNm = crdnStdgNm; - return self(); - } - - public String getCrdnPlc() { - return ifEmpty(crdnPlc, () -> null); - } - - public T setCrdnPlc(String crdnPlc) { - this.szrRmvYmd = crdnPlc; - return self(); - } - - public String getCrdnSttsCd() { - return ifEmpty(crdnSttsCd, () -> null); - } - - public T setCrdnSttsCd(String crdnSttsCd) { - this.crdnSttsCd = crdnSttsCd; - return self(); - } - - public String getRtpyrSeCd() { - return ifEmpty(rtpyrSeCd, () -> null); - } - - public T setRtpyrSeCd(String rtpyrSeCd) { - this.rtpyrSeCd = rtpyrSeCd; - return self(); - } - - public String getRtpyrNo() { - return ifEmpty(rtpyrNo, () -> null); - } - - public T setRtpyrNo(String rtpyrNo) { - this.rtpyrNo = rtpyrNo; - return self(); - } - - public String getRtpyrNm() { - return ifEmpty(rtpyrNm, () -> null); - } - - public T setRtpyrNm(String rtpyrNm) { - this.rtpyrNm = rtpyrNm; - return self(); - } - - public String getRtpyrBrdt() { - return ifEmpty(rtpyrBrdt, () -> null); - } - - public T setRtpyrBrdt(String rtpyrBrdt) { - this.rtpyrBrdt = rtpyrBrdt; - return self(); - } - - public String getRtpyrSttsCd() { - return ifEmpty(rtpyrSttsCd, () -> null); - } - - public T setRtpyrSttsCd(String rtpyrSttsCd) { - this.rtpyrSttsCd = rtpyrSttsCd; - return self(); - } - // 동적 검색 조건 /////////////////////////////////////////////////////////////// - - // ETC //////////////////////////////////////////////////////////////////// - public String getCallPurpose() { - return ifEmpty(callPurpose, () -> null); - } - - public T setCallPurpose(String callPurpose) { - this.callPurpose = callPurpose; - return self(); - } - - public String getDelRsn() { - return ifEmpty(delRsn, () -> null); - } - - public T setDelRsn(String delRsn) { - this.delRsn = delRsn; - return self(); - } - - public String getCrdnDelYn() { - return ifEmpty(crdnDelYn, () -> null); - } - - public T setCrdnDelYn(String crdnDelYn) { - this.crdnDelYn = crdnDelYn; - return self(); - } - // ETC ///////////////////////////////////////////////////////////////////// - -} diff --git a/src/main/java/cokr/xit/fims/rcvm/dao/RcvmtMapper.java b/src/main/java/cokr/xit/fims/rcvm/dao/RcvmtMapper.java deleted file mode 100644 index f7643282..00000000 --- a/src/main/java/cokr/xit/fims/rcvm/dao/RcvmtMapper.java +++ /dev/null @@ -1,98 +0,0 @@ -package cokr.xit.fims.rcvm.dao; - -import java.util.List; - -import org.egovframe.rte.psl.dataaccess.mapper.Mapper; - -import cokr.xit.fims.rcvm.Rcvmt; -import cokr.xit.fims.rcvm.RcvmtQuery; -import cokr.xit.foundation.component.AbstractMapper; -import cokr.xit.foundation.data.DataObject; - -/** 수납 대장 정보 DAO - * - *

    상세 설명: - * - *

    - * ============ 변경 이력 ============
    - * 2023-08-31	JoJH 최초 작성
    - * ================================
    - * 
    - */ -@Mapper("rcvmtMapper") -public interface RcvmtMapper extends AbstractMapper { - - /**지정한 조건에 따라 수납 대장 목록을 조회하여 반환한다.
    - * @param req 수납 대장 조회 조건 - * @return 수납 대장 목록 - */ - List selectRcvmtList(RcvmtQuery req); - - /**지정한 조건에 따라 수납 대장 객체들을 반환한다. - * @param req 수납 대장 조회 조건 - * @return 수납 대장 객체 목록 - */ - List selectRcvmts(RcvmtQuery req); - - /**지정한 ID에 따라 수납 대장 객체를 반환한다. - * @param req 수납 대장 조회 조건 - * @return 수납 대장 객체 - */ - default DataObject selectRcvmtInfo(RcvmtQuery req) { - // 삭제 여부 확인 - if (req.getDelYn() == null) { - req.setDelYn("N"); - } - // 기본 정렬 - if (req.getOrderBy() == null) { - req.setOrderBy("R.RCVMT_ID DESC"); - } - - List rcvmts = selectRcvmts(req); - - return !rcvmts.isEmpty() ? rcvmts.get(0) : null; - } - - /**수납 대장 정보를 등록한다. - * @param params 파라미터 - *
    • "rcvmt" - 수납 대장
    • - *
    • "currentUser" - 현재 접속한 사용자
    • - *
    - * @return 저장된 정보수 - */ - int insertRcvmt(Rcvmt rcvmt); - - /**수납 대장 정보를 수정한다. - * @param params 파라미터 - *
    • "rcvmt" - 수납 대장
    • - *
    • "currentUser" - 현재 접속한 사용자
    • - *
    - * @return 저장된 정보수 - */ - int updateRcvmt(Rcvmt rcvmt); - - /**수납 취소 정보를 수정한다. - * @param rcvmt 수납 대장 - * @return 저장 여부 - *
    • 저장됐으면 true
    • - *
    • 그렇지 않으면 false
    • - *
    - */ - int updateRcvmtRtrcn(Rcvmt rcvmt); - - /**지정한 수납 대장을 삭제한다. - * @param params 파라미터 - *
    • "rcvmt" - 수납 대장
    • - *
    • "currentUser" - 현재 접속한 사용자
    • - *
    - * @return 저장된 정보수 - */ - int deleteRcvmt(Rcvmt rcvmt); - - /**지정한 조건에 따라 부과 대장 객체를 반환한다. - * @param req 수납 대장 조회 조건 - * @return 부과 대장 객체 - */ - DataObject selectLevyInfo(RcvmtQuery req); - -} diff --git a/src/main/java/cokr/xit/fims/rcvm/service/RcvmtService.java b/src/main/java/cokr/xit/fims/rcvm/service/RcvmtService.java deleted file mode 100644 index ae347e69..00000000 --- a/src/main/java/cokr/xit/fims/rcvm/service/RcvmtService.java +++ /dev/null @@ -1,66 +0,0 @@ -package cokr.xit.fims.rcvm.service; - -import java.util.List; - -import cokr.xit.foundation.data.DataObject; -import cokr.xit.fims.rcvm.Rcvmt; -import cokr.xit.fims.rcvm.RcvmtQuery; - -/**수납 대장 관리 서비스 인터페이스. - * - *

    상세 설명: - * - *

    - * ============ 변경 이력 ============
    - * 2023-08-31	JoJH 최초 작성
    - * ================================
    - * 
    - */ -public interface RcvmtService { - - /**지정한 조건에 따라 수납 대장 목록을 조회하여 반환한다. - * @param req 수납 대장 조회 조건 - * @return 수납 대장 목록 - */ - List getRcvmtList(RcvmtQuery req); - - /**지정한 조건에 따라 수납 대장 객체들을 반환한다. - * @param req 수납 대장 조회 조건 - * @return 수납 대장 객체 목록 - */ - List getRcvmts(RcvmtQuery req); - - /**지정한 ID의 수납 정보를 반환한다.
    - * @param req 수납 대장 조회 조건 - * @return 수납 대장 객체 목록 - */ - DataObject getRcvmtInfo(RcvmtQuery req); - - /**수납 대장 정보를 등록한다. - * @param rcvmt 수납 대장 - * @return 저장 여부 - *
    • 저장됐으면 true
    • - *
    • 그렇지 않으면 false
    • - *
    - */ - String createRcvmt(Rcvmt rcvmt); - - /**수납 대장에 수납취소 정보를 등록한다. - * @param rcvmt 수납 대장 - * @return 저장 여부 - *
    • 저장됐으면 true
    • - *
    • 그렇지 않으면 false
    • - *
    - */ - String updateRcvmtRtrcn(Rcvmt rcvmt); - - /**수납 대장 정보를 삭제한다. - * @param rcvmt 수납 대장 - * @return 저장 여부 - *
    • 저장됐으면 true
    • - *
    • 그렇지 않으면 false
    • - *
    - */ - String removeRcvmt(Rcvmt rcvmt); - -} diff --git a/src/main/java/cokr/xit/fims/rcvm/service/bean/RcvmtBean.java b/src/main/java/cokr/xit/fims/rcvm/service/bean/RcvmtBean.java deleted file mode 100644 index 73ec1b69..00000000 --- a/src/main/java/cokr/xit/fims/rcvm/service/bean/RcvmtBean.java +++ /dev/null @@ -1,340 +0,0 @@ -package cokr.xit.fims.rcvm.service.bean; - -import java.util.List; - -import javax.annotation.Resource; - -import org.springframework.stereotype.Component; - -import cokr.xit.fims.cmmn.CmmnUtil; -import cokr.xit.fims.cmmn.CrdnSttsHstry; -import cokr.xit.fims.cmmn.service.bean.CrdnSttsHstryBean; -import cokr.xit.fims.levy.Levy; -import cokr.xit.fims.levy.LevyQuery; -import cokr.xit.fims.levy.dao.LevyMapper; -import cokr.xit.fims.rcvm.Rcvmt; -import cokr.xit.fims.rcvm.RcvmtQuery; -import cokr.xit.fims.rcvm.dao.RcvmtMapper; -import cokr.xit.foundation.component.AbstractBean; -import cokr.xit.foundation.data.DataObject; - -/**수납 대장 정보 관리 Bean - * - *

    상세 설명: - * - *

    - * ============ 변경 이력 ============
    - * 2023-08-31	JoJH 최초 작성
    - * ================================
    - * 
    - */ -@Component("rcvmtBean") -public class RcvmtBean extends AbstractBean { - - /** 수납 대장 정보 DAO */ - @Resource(name = "rcvmtMapper") - private RcvmtMapper rcvmtMapper; - - /** 부과 대장 정보 DAO */ - @Resource(name = "levyMapper") - private LevyMapper levyMapper; - - /** 단속 상태 이력 정보 Bean */ - @Resource(name = "crdnSttsHstryBean") - private CrdnSttsHstryBean crdnSttsHstryBean; - - /**지정한 조건에 따라 수납 대장 목록을 조회하여 반환한다. - * @param req 수납 대장 조회 조건 - * @return 수납 대장 목록 - */ - public List getRcvmtList(RcvmtQuery req) { - if (req.getDelYn() == null) { - req.setDelYn("N"); - } - // 정렬 확인 - if (req.getOrderBy() == null) { - if (req.getBy() == null) { - req.setOrderBy("REG_DT"); - } else { - req.setOrderBy(CmmnUtil.convertCamelCaseToSnakeCase(req.getBy())); - } - } - - return rcvmtMapper.selectRcvmtList(req); - } - - /**지정한 조건에 따라 수납 대장 객체들을 반환한다. - * @param req 수납 대장 조회 조건 - * @return 수납 대장 객체 목록 - */ - public List getRcvmts(RcvmtQuery req) { - if (req.getDelYn() == null) { - req.setDelYn("N"); - } - if (req.getOrderBy() == null) { - req.setOrderBy("R.RCVMT_ID DESC"); - } - - return rcvmtMapper.selectRcvmts(req); - } - - /**지정한 ID의 수납 정보를 반환한다.
    - * @param req 수납 대장 조회 조건 - * @return 수납 정보 - */ - public DataObject getRcvmtInfo(RcvmtQuery req) { - return rcvmtMapper.selectRcvmtInfo(req); - } - - /**지정한 ID의 부과 정보를 반환한다.
    - * @param req 수납 대장 조회 조건 - * @return 수납 정보 - */ - public DataObject getLevyInfo(RcvmtQuery req) { - return rcvmtMapper.selectLevyInfo(req); - } - - /**수납 대장 정보를 등록한다. - * @param rcvmt 수납 대장 - * @return 저장 여부 - *
    • 저장됐으면 true
    • - *
    • 그렇지 않으면 false
    • - *
    - */ - public String createRcvmt(Rcvmt rcvmt) { - // 변수 선언 - int rtnNocs = -1; // 처리 결과 건수 - String rtnMsg = ""; // 처리 결과 메시지 - - // 부과 ID로 부과 정보 조회 - DataObject levyInfo = levyMapper.selectLevyAmt(new LevyQuery().setLevyId(rcvmt.getLevyId())); - - rcvmt.setDeptCd(levyInfo.string("DEPT_CD")); // 부서 코드 - rcvmt.setSpclBizCd(levyInfo.string("SPCL_BIZ_CD")); // 특별회계 사업 코드 - rcvmt.setLastPcptax(levyInfo.number("LAST_PCPTAX").intValue()); // 최종 본세 - rcvmt.setLastAdamt(levyInfo.number("LAST_ADAMT").intValue()); // 최종 가산금 - - // 입력된 수납 금액으로 수납 본세, 수납 가산금 나누기 - String rcvmtSeCd = ""; // 수납 구분 코드(FIM041) - if (rcvmt.getLastPcptax() + rcvmt.getLastAdamt() == 0) { // 최종 금액이 0원 이라면.. - rcvmt.setRcvmtPcptax(0); // 수납 본세 - rcvmt.setRcvmtAdamt(0); // 수납 가산금 - rcvmtSeCd = "02"; // 수납 구분 코드 = 이중수납 - } else if (rcvmt.getLastPcptax() + rcvmt.getLastAdamt() == rcvmt.getRcvmtAmt()) { // 최종 금액과 수납 금액이 일치한다면.. - rcvmt.setRcvmtPcptax(rcvmt.getLastPcptax()); // 수납 본세 - rcvmt.setRcvmtAdamt(rcvmt.getLastAdamt()); // 수납 가산금 - rcvmtSeCd = "01"; // 수납 구분 코드 = 완납 - } else if (rcvmt.getLastPcptax() + rcvmt.getLastAdamt() < rcvmt.getRcvmtAmt()) { // 최종 금액보다 수납 금액이 많다면.. - rcvmt.setRcvmtPcptax(rcvmt.getLastPcptax()); // 수납 본세 - rcvmt.setRcvmtAdamt(rcvmt.getLastAdamt()); // 수납 가산금 - rcvmtSeCd = "04"; // 수납 구분 코드 = 과납 - } else if (rcvmt.getLastPcptax() + rcvmt.getLastAdamt() > rcvmt.getRcvmtAmt()) { // 최종 금액보다 수납 금액이 적다면.. - if (rcvmt.getRcvmtAmt() > rcvmt.getLastPcptax()) { - rcvmt.setRcvmtPcptax(rcvmt.getLastPcptax()); // 수납 본세 - rcvmt.setRcvmtAdamt(rcvmt.getRcvmtAmt() - rcvmt.getLastPcptax()); // 수납 가산금 - } else { - rcvmt.setRcvmtPcptax(rcvmt.getRcvmtAmt()); // 수납 본세 - rcvmt.setRcvmtAdamt(0); // 수납 가산금 - } - rcvmtSeCd = "06"; // 수납 구분 코드 = 일부수납 - } else { - rtnMsg = "[F] 수납 등록 중 수납금액 계산에 실패하였습니다."; // 예외를 발생시켜서 DB Rollback - return rtnMsg; - } - - // 수납 구분 코드가 입력 되지 않았다면.. - if (rcvmt.getRcvmtSeCd() == null) { - rcvmt.setRcvmtSeCd(rcvmtSeCd); - } - - // 수납(TB_RCVMT) 대장을 등록한다. - rtnNocs = rcvmtMapper.insertRcvmt(rcvmt); - if (rtnNocs != 1) { - throw new RuntimeException("수납 대장 등록에 실패하였습니다."); // 예외를 발생시켜서 DB Rollback - } - - if (!rcvmtSeCd.equals("02")) { // 이중 수납이 아니라면.. - Levy levy = new Levy(); - levy.setLevyId(levyInfo.string("LEVY_ID")); // 부과 ID - levy.setRcvmtPcptax(rcvmt.getRcvmtPcptax()); // 수납 본세 - levy.setRcvmtAdamt(rcvmt.getRcvmtAdamt()); // 수납 가산금 - levy.setSumAmt(rcvmt.getLastPcptax() + rcvmt.getLastAdamt() - rcvmt.getRcvmtPcptax() - rcvmt.getRcvmtAdamt()); // 합계 금액 - levy.setRcvmtYmd(rcvmt.getRcvmtYmd()); // 수납 일자 - levy.setPayMthdSeCd(rcvmt.getPayMthdSeCd()); // 납부 방법 구분 코드 - - // 부과(TB_LEVY) 대장에 수납금액을 수정한다. - rtnNocs = levyMapper.updateRcvmt(levy); - if (rtnNocs != 1) { - throw new RuntimeException("부과 대장에 수납금액 수정에 실패하였습니다."); // 예외를 발생시켜서 DB Rollback - } - - // 합계 금액이 0이면서 완납(01) 또는 과납(04)이라면 단속 상태 코드를 수정한다. - if (levy.getSumAmt() == 0 && (rcvmtSeCd.equals("01") || rcvmtSeCd.equals("04"))) { - // 단속 상태 이력(TB_CRDN_STTS_HSTRY) 대장에 등록하고, 단속(TB_CRDN) 대장을 수정한다. - String newCrdnSttsCd = ""; - if (levyInfo.number("CRDN_STTS_CD").intValue() >= 11 && levyInfo.number("CRDN_STTS_CD").intValue() <= 45) { - newCrdnSttsCd = "71"; // 사전통보수납 - } else if (levyInfo.string("CRDN_STTS_CD").equals("51")) { - newCrdnSttsCd = "72"; // 부과수납 - } else if (levyInfo.string("CRDN_STTS_CD").equals("52")) { - newCrdnSttsCd = "73"; // 독촉수납 - } else if (levyInfo.string("CRDN_STTS_CD").equals("53")) { - newCrdnSttsCd = "74"; // 압류예정수납 - } else if (levyInfo.string("CRDN_STTS_CD").equals("54")) { - newCrdnSttsCd = "74"; // 압류예정수납 - } else if (levyInfo.string("CRDN_STTS_CD").equals("55")) { - newCrdnSttsCd = "75"; // 압류수납 - } - - CrdnSttsHstry crdnSttsHstry = new CrdnSttsHstry(); - crdnSttsHstry.setCrdnId(levyInfo.string("CRDN_ID")); // 단속 ID - crdnSttsHstry.setBfrSttsCd(levyInfo.string("CRDN_STTS_CD")); // 단속 상태 코드 - crdnSttsHstry.setBfrSttsChgDt(levyInfo.string("CRDN_STTS_CHG_DT")); // 단소 상태 변경 일시 - crdnSttsHstry.setCrdnSttsCd(newCrdnSttsCd); // 단속상태코드(FIM010) - crdnSttsHstry.setTaskDtlId(rcvmt.getRcvmtId()); // 수납 ID - - // 단속 상태 이력(TB_CRDN_STTS_HSTRY) 대장에 등록하고, 단속(TB_CRDN) 대장을 수정한다. - boolean rtnScs = crdnSttsHstryBean.createHstryUpdateCrdnSttsCd(crdnSttsHstry); - if (!rtnScs) { - throw new RuntimeException("수납 등록 중 단속 대장의 단속상태 수정에 실패하였습니다."); // 예외를 발생시켜서 DB Rollback - } - } - } - - return "[S] 작업이 정상 처리 되었습니다."; - } - - /**수납 대장에 수납취소 정보를 등록하고, 과오납 정보를 등록을 한다. - * @param rcvmt 수납 대장 - * @return 저장 여부 - *
    • 저장됐으면 true
    • - *
    • 그렇지 않으면 false
    • - *
    - */ - public String updateRcvmtRtrcn(Rcvmt rcvmt) { - // 변수 선언 - String rtnMsg = ""; - - // 수납 취소 - rtnMsg = updateRcvmtCancle(rcvmt); - if (!rtnMsg.contains("[S]")) { - throw new RuntimeException(rtnMsg); // 예외를 발생시켜서 DB Rollback - } - - // 과오납 등록 - - - return "[S] 작업이 정상 처리 되었습니다."; - } - - /**수납 대장에 수납취소 정보를 등록한다. - * @param rcvmt 수납 대장 - * @return 저장 여부 - *
    • 저장됐으면 true
    • - *
    • 그렇지 않으면 false
    • - *
    - */ - public String updateRcvmtCancle(Rcvmt rcvmt) { - // 변수 선언 - int rtnNocs = -1; // 처리 결과 건수 - - // 수납 ID로 수납 정보 조회 - DataObject rcvmtInfo = rcvmtMapper.selectRcvmtInfo(new RcvmtQuery().setRcvmtId(rcvmt.getRcvmtId()).setDelYn("N")); - - // 수납(TB_RCVMT) 대장에 수납취소 정보를 수정한다. - rtnNocs = rcvmtMapper.updateRcvmtRtrcn(rcvmt); - if (rtnNocs != 1) { - throw new RuntimeException("수납 대장에 수납취소 정보 수정에 실패하였습니다."); // 예외를 발생시켜서 DB Rollback - } - - // 수납구분코드(RCVMT_SE_CD)가 이중 수납이 아니라면.. - if (!rcvmtInfo.string("RCVMT_SE_CD").equals("02")) { - // 부과 ID로 단속, 부과 정보 조회 - DataObject levyInfo = levyMapper.selectLevyAmt(new LevyQuery().setLevyId(rcvmtInfo.string("LEVY_ID"))); - - int rcvmtPcptax = levyInfo.number("RCVMT_PCPTAX").intValue() - rcvmtInfo.number("RCVMT_PCPTAX").intValue(); // 부과 수납본세 - 수납 수납본세 - int rcvmtAdamt = levyInfo.number("RCVMT_ADAMT").intValue() - rcvmtInfo.number("RCVMT_ADAMT").intValue(); // 부과 수납가산금 - 수납 수납가산금 - int sumAmt = levyInfo.number("SUM_AMT").intValue() - + rcvmtInfo.number("RCVMT_PCPTAX").intValue() + rcvmtInfo.number("RCVMT_ADAMT").intValue(); // 합계 금액 - - Levy levy = new Levy(); - levy.setLevyId(levyInfo.string("LEVY_ID")); // 부과 ID - levy.setRcvmtPcptax(rcvmtPcptax); // 수납 본세 - levy.setRcvmtAdamt(rcvmtAdamt); // 수납 가산금 - levy.setSumAmt(sumAmt); // 합계 금액 - - // 수납 금액이 0이면서.. 완납(01) 또는 과납(04)이라면 수납 일자를 NULL로 수정한다. - if (rcvmtPcptax + rcvmtAdamt == 0 && "01,04".contains(rcvmtInfo.string("RCVMT_SE_CD"))) { - levy.setRcvmtYmd(null); // 수납 일자 - levy.setPayMthdSeCd(null); // 납부 방법 구분 코드 - } else { - levy.setRcvmtYmd(levyInfo.string("RCVMT_YMD")); // 수납 일자 - levy.setPayMthdSeCd(levyInfo.string("PAY_MTHD_SE_CD")); // 납부 방법 구분 코드 - } - - // 부과(TB_LEVY) 대장에 수납금액 정보를 수정한다. - rtnNocs = levyMapper.updateRcvmt(levy); - if (rtnNocs != 1) { - throw new RuntimeException("부과 대장에 수납금액 수정에 실패하였습니다."); // 예외를 발생시켜서 DB Rollback - } - - // 단속 대장 수정 /////////////////////////////////////////////////////////// - // 합계 금액이 0보다 크면서 완납(01) 또는 과납(04)이라면 단속 상태 코드를 수정한다. - if (levy.getSumAmt() > 0 && "01,04".contains(rcvmtInfo.string("RCVMT_SE_CD"))) { - // 단속 상태 이력(TB_CRDN_STTS_HSTRY) 대장에 등록하고, 단속(TB_CRDN) 대장을 수정한다. - CrdnSttsHstry crdnSttsHstry = new CrdnSttsHstry(); - String newCrdnSttsCd = ""; - - if (levyInfo.string("CRDN_STTS_CD").equals("71")) { - newCrdnSttsCd = "42"; // 사전통보 발송 - } else if (levyInfo.string("CRDN_STTS_CD").equals("72")) { - newCrdnSttsCd = "51"; // 부과 - } else if (levyInfo.string("CRDN_STTS_CD").equals("73")) { - newCrdnSttsCd = "52"; // 독촉 - } else if (levyInfo.string("CRDN_STTS_CD").equals("74")) { - newCrdnSttsCd = "54"; // 압류대상 - } else if (levyInfo.string("CRDN_STTS_CD").equals("75")) { - newCrdnSttsCd = "55"; // 압류 - } - - crdnSttsHstry.setCrdnId(levyInfo.string("CRDN_ID")); // 단속 ID - crdnSttsHstry.setBfrSttsCd(levyInfo.string("CRDN_STTS_CD")); // 단속 상태 코드 - crdnSttsHstry.setBfrSttsChgDt(levyInfo.string("CRDN_STTS_CHG_DT")); // 단소 상태 변경 일시 - crdnSttsHstry.setCrdnSttsCd(newCrdnSttsCd); // 단속상태코드(FIM010) - crdnSttsHstry.setTaskDtlId(rcvmt.getRcvmtId()); // 수납 ID - - // 단속 상태 이력(TB_CRDN_STTS_HSTRY) 대장에 등록하고, 단속(TB_CRDN) 대장을 수정한다. - boolean rtnScs = crdnSttsHstryBean.createHstryUpdateCrdnSttsCd(crdnSttsHstry); - if (!rtnScs) { - throw new RuntimeException("수납 등록 중 단속 대장의 단속상태 수정에 실패하였습니다."); // 예외를 발생시켜서 DB Rollback - } - } - } - - return "[S] 작업이 정상 처리 되었습니다."; - } - - /**수납 대장 정보를 삭제한다. - * @param rcvmt 수납 대장 - * @return 저장 여부 - *
    • 저장됐으면 true
    • - *
    • 그렇지 않으면 false
    • - *
    - */ - public String removeRcvmt(Rcvmt rcvmt) { - // 수납 ID로 수납 정보 조회 - DataObject rcvmtInfo = rcvmtMapper.selectRcvmtInfo(new RcvmtQuery().setRcvmtId(rcvmt.getRcvmtId())); - - if (rcvmtInfo.string("RCVMT_INPT_SE_CD").equals("03")) { - throw new RuntimeException("수납입력구분이 수기등록 자료만 삭제가 가능합니다."); // 예외를 발생시켜서 DB Rollback - } - // 수납(TB_RCVMT) 대장을 삭제한다. - int rtnNocs = rcvmtMapper.deleteRcvmt(rcvmt); - if (rtnNocs != 1) { - throw new RuntimeException("수납 대장 삭제에 실패하였습니다."); // 예외를 발생시켜서 DB Rollback - } - - return "[S] 작업이 정상 처리 되었습니다."; - } - -} diff --git a/src/main/java/cokr/xit/fims/rcvm/service/bean/RcvmtServiceBean.java b/src/main/java/cokr/xit/fims/rcvm/service/bean/RcvmtServiceBean.java deleted file mode 100644 index ced6dbe6..00000000 --- a/src/main/java/cokr/xit/fims/rcvm/service/bean/RcvmtServiceBean.java +++ /dev/null @@ -1,73 +0,0 @@ -package cokr.xit.fims.rcvm.service.bean; - -import java.util.List; - -import javax.annotation.Resource; - -import org.springframework.stereotype.Service; - -import cokr.xit.foundation.component.AbstractServiceBean; -import cokr.xit.foundation.data.DataObject; -import cokr.xit.fims.rcvm.Rcvmt; -import cokr.xit.fims.rcvm.RcvmtQuery; -import cokr.xit.fims.rcvm.service.RcvmtService; - -/**수납 대장 서비스 구현체. - * - *

    상세 설명: - * - *

    - * ============ 변경 이력 ============
    - * 2023-08-31	JoJH 최초 작성
    - * ================================
    - * 
    - */ -@Service("rcvmtService") -public class RcvmtServiceBean extends AbstractServiceBean implements RcvmtService { - - /** 수납 대장 정보 Bean */ - @Resource(name = "rcvmtBean") - private RcvmtBean rcvmtBean; - - @Override - public List getRcvmtList(RcvmtQuery req) { - return rcvmtBean.getRcvmtList(req); - } - - @Override - public List getRcvmts(RcvmtQuery req) { - return rcvmtBean.getRcvmts(req); - } - - @Override - public DataObject getRcvmtInfo(RcvmtQuery req) { - if (req.getCallPurpose() == null) { - req.setCallPurpose("view"); - } - if (req.getDelYn() == null) { - req.setDelYn("N"); - } - - if (req.getCallPurpose().equals("create")) { - return rcvmtBean.getLevyInfo(req); // 부과 정보 조회 - } else { - return rcvmtBean.getRcvmtInfo(req); // 수납 정보 조회 - } - } - - @Override - public String createRcvmt(Rcvmt rcvmt) { - return rcvmtBean.createRcvmt(rcvmt); - } - - @Override - public String updateRcvmtRtrcn(Rcvmt rcvmt) { - return rcvmtBean.updateRcvmtRtrcn(rcvmt); - } - - @Override - public String removeRcvmt(Rcvmt rcvmt) { - return rcvmtBean.removeRcvmt(rcvmt); - } - -} diff --git a/src/main/java/cokr/xit/fims/rcvm/web/Rcvm01Controller.java b/src/main/java/cokr/xit/fims/rcvm/web/Rcvm01Controller.java deleted file mode 100644 index 10ae12ff..00000000 --- a/src/main/java/cokr/xit/fims/rcvm/web/Rcvm01Controller.java +++ /dev/null @@ -1,285 +0,0 @@ -package cokr.xit.fims.rcvm.web; - -import java.text.SimpleDateFormat; -import java.util.HashMap; -import java.util.List; -import java.util.Map; - -import javax.annotation.Resource; -import javax.servlet.http.HttpServletRequest; - -import org.apache.poi.ss.usermodel.CellStyle; -import org.springframework.stereotype.Controller; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.servlet.ModelAndView; - -import cokr.xit.base.code.CommonCode; -import cokr.xit.base.docs.xls.CellDef; -import cokr.xit.base.docs.xls.Format; -import cokr.xit.base.docs.xls.Style; -import cokr.xit.base.docs.xls.XLSWriter; -import cokr.xit.base.web.ApplicationController; -import cokr.xit.fims.base.FimsUser; -import cokr.xit.fims.cmmn.service.bean.StngBean; -import cokr.xit.fims.cmmn.xls.FormatMaker; -import cokr.xit.fims.cmmn.xls.StyleMaker; -import cokr.xit.fims.rcvm.Rcvmt; -import cokr.xit.fims.rcvm.RcvmtQuery; -import cokr.xit.fims.rcvm.service.RcvmtService; -import cokr.xit.fims.task.Task; -import cokr.xit.foundation.data.DataObject; - -/**수납 대장 서비스의 웹 컨트롤러 - * - *

    상세 설명: - * - *

    - * ============ 변경 이력 ============
    - * 2023-08-31	JoJH 최초 작성
    - * ================================
    - * 
    - */ -@Controller -@RequestMapping(name = "수납 관리", value = Rcvm01Controller.CLASS_URL) -public class Rcvm01Controller extends ApplicationController { - - public static final String CLASS_URL = "/rcvm/rcvm01"; - - public class METHOD_URL { - public static final String - receivingMoneyMain = "/010/main.do" // 수납 관리 메인 화면 - , getReceivingMoneyList = "/010/list.do" // 수납 대장 목록 조회 - , getReceivingMoneyInfo = "/020/info.do" // 수납 정보 조회 - , createReceivingMoney = "/020/create.do" // 수납 대장 등록 - , updateReceivingMoney = "/020/update.do" // 수납 대장 수정 - , removeReceivingMoney = "/010/remove.do" // 수납 대장 삭제 - , updateReceivingMoneyRetraction = "/010/updateRcvmtRtrcn.do" // 수납취소 등록 - ; - } - - /**수납 대장 서비스*/ - @Resource(name="rcvmtService") - private RcvmtService rcvmtService; - - @Resource(name="stngBean") - private StngBean stngBean; - - /**수납 대장 관리 메인화면(rcvmt/rcvmt-main)을 연다. - * 조건없는 {@link #getRcvmtList(RcvmtQuery) 수납 대장 조회 결과}를 포함시킨다. - * @return /rcvmt/rcvmt-main - */ - @RequestMapping(name = "수납 관리 메인", value = METHOD_URL.receivingMoneyMain) - public ModelAndView receivingMoneyMain() { - // View(jsp) - ModelAndView mav = new ModelAndView("fims/rcvm/rcvm01010-main"); - - // 사용자 정보 - FimsUser fimsUser = (FimsUser)currentUser().getUser(); - - // View(jsp)에서 사용할 공통코드를 조회 - Map> commonCodes = getCodesOf("FIM041", "FIM045", "FIM054"); - - return mav - .addObject("pageName", "rcvm01010") // View(jsp)에서 사용할 id 뒤에 붙일 suffix - .addObject("infoPrefix", "rcvmt") // prefix - .addObject("infoPrefixUrl", CLASS_URL) // prefixUrl - .addObject("sggCd", fimsUser.getOrgID()) // 시군구 코드(SGG_CD) - .addObject("taskListForSgg", stngBean.filterTaskSectionCodeForSgg(commonCodes.get("FIM054"))) - .addObject("FIM041List", commonCodes.get("FIM041")) // 수납 구분 코드(RCVMT_SE_CD) - .addObject("FIM045List", commonCodes.get("FIM045")) // 납부 방법 구분 코드(PAY_MTHD_SE_CD) - ; - } - - /**수납 대장 목록을 조회하여 반환한다.
    - * {@link RcvmtService#getRcvmtList(RcvmtQuery)} 참고 - * @param req 수납 대장 조회 조건 - * @return jsonView - *
     {
    -	 *     "rcvmtList": [수납 대장 목록]
    -	 *     "rcvmtStart": 수납 대장 목록 시작 인덱스
    -	 *     "rcvmtFetch": 한 번에 가져오는 수납 대장 목록 수
    -	 *     "rcvmtTotal": 조회 결과 찾은 전체 수납 대장 수
    -	 * }
    - */ - @Task - @RequestMapping(name="수납 대장 목록 조회", value=METHOD_URL.getReceivingMoneyList) - public ModelAndView getReceivingMoneyList(RcvmtQuery req) { - if (!"xls".equals(req.getDownload())) { - List result = rcvmtService.getRcvmtList(setFetchSize(req)); - return setCollectionInfo(new ModelAndView("jsonView"), result, "rcvmt"); - } else { - // 현재 날짜 구하기 - SimpleDateFormat dateFormat = new SimpleDateFormat("yyyyMMddHHmmss"); - String dateTime = dateFormat.format(System.currentTimeMillis()); - - List cellDefs = fromJson(req.getCellDefs(), CellDef.listType()); - - XLSWriter xlsx = new XLSWriter().worksheet(0); - Format format = new Format(xlsx); - CellStyle center = format.cellStyle(Style.CENTER); - CellStyle numeric = format.n_nn0(); - CellStyle dateYMD = format.yyyy_mm_dd(); - CellStyle dateDT = format.yyyy_mm_dd_hh_mm_ss(); - - List list = rcvmtService.getRcvmtList(req.setFetchSize(0)); - - Map valueMap = new HashMap(); - valueMap.put("업무구분", format.of("TASK_SE_NM").style(center)); - valueMap.put("수납입력구분", format.of("RCVMT_INPT_SE_NM").style(center)); - valueMap.put("수납취소", format.of("RCVMT_RTRCN_NM").style(center)); - valueMap.put("회계연도", format.of("FYR").style(center)); - valueMap.put("회계구분", format.of("ACNTG_SE_CD").style(center)); - valueMap.put("세목코드", format.of("TXITM_CD").style(center)); - valueMap.put("세목명", format.of("TXITM_NM")); - valueMap.put("부과번호", format.of("LEVY_NO").style(center)); - valueMap.put("분납일련번호", format.of("ISPY_SN").style(center)); - valueMap.put("최종본세", format.of("LAST_PCPTAX").style(numeric)); - valueMap.put("최종가산금", format.of("LAST_ADAMT").style(numeric)); - valueMap.put("수납일련번호", format.of("RCVMT_SN").style(center)); - valueMap.put("수납구분", format.of("RCVMT_SE_NM").style(center)); - valueMap.put("수납일자", FormatMaker.yyyy_mm_dd(format, "RCVMT_YMD").style(dateYMD)); - valueMap.put("회계일자", FormatMaker.yyyy_mm_dd(format, "ACNTG_YMD").style(dateYMD)); - valueMap.put("이체일자", FormatMaker.yyyy_mm_dd(format, "TSF_YMD").style(dateYMD)); - valueMap.put("수납금액", format.of("RCVMT_AMT").style(numeric)); - valueMap.put("수납본세", format.of("RCVMT_PCPTAX").style(numeric)); - valueMap.put("수납가산금", format.of("RCVMT_ADAMT").style(numeric)); - valueMap.put("수납이자", format.of("RCVMT_INT").style(numeric)); - valueMap.put("수납은행", format.of("RCVMT_BANK_NM")); - valueMap.put("납부방법", format.of("PAY_MTHD_SE_NM")); - valueMap.put("수납상태", format.of("RCVMT_STTS_NM").style(center)); - valueMap.put("부과일자", FormatMaker.yyyy_mm_dd(format, "LEVY_YMD").style(dateYMD)); - valueMap.put("최초납기일자", FormatMaker.yyyy_mm_dd(format, "FRST_DUDT_YMD").style(dateYMD)); - valueMap.put("납기일자", FormatMaker.yyyy_mm_dd(format, "DUDT_YMD").style(dateYMD)); - valueMap.put("압류일자", FormatMaker.yyyy_mm_dd(format, "SZR_YMD").style(dateYMD)); - valueMap.put("압류물건", format.of("SZR_THING")); - valueMap.put("대체압류차량", format.of("RPM_SZR_VHRNO")); - valueMap.put("압류해제일자", FormatMaker.yyyy_mm_dd(format, "SZR_RMV_YMD").style(dateYMD)); - valueMap.put("단속일시", FormatMaker.yyyy_mm_dd_hh_mm_ss(format, "CRDN_YMD_TM").style(dateDT)); - valueMap.put("차량번호", format.of("VHRNO")); - valueMap.put("납부자구분", format.of("RTPYR_SE_NM").style(center)); - valueMap.put("납부자번호", format.of("RTPYR_NO").style(center)); - valueMap.put("납부자명", format.of("RTPYR_NM")); - valueMap.put("단속법정동", format.of("CRDN_STDG_NM")); - valueMap.put("단속장소", format.of("CRDN_PLC")); - valueMap.put("처리상태", format.of("CRDN_STTS_NM")); - valueMap.put("등록일시", FormatMaker.yyyy_mm_dd_hh_mm_ss(format, "REG_DT").style(dateDT)); - valueMap.put("등록사용자", format.of("RGTR_NM").style(center)); - valueMap.put("수정일시", FormatMaker.yyyy_mm_dd_hh_mm_ss(format, "MDFCN_DT").style(dateDT)); - valueMap.put("수정사용자", format.of("MDFR_NM").style(center)); - - CellDef.setValues(cellDefs, valueMap); - - xlsx.cell(0, 0).value("수납").value(center).merge(0, cellDefs.size() - 1) - .cell(3, 0).rowValues(CellDef.header(cellDefs, () -> StyleMaker.headerStyle(xlsx))) - .cell(4, 0).values(list, CellDef.values(cellDefs.stream().map(i -> {if(i.getValue() instanceof Format) {i.setField(null);}; return i;}).toList())); - - return new ModelAndView("downloadView") - .addObject("download", xlsx.getDownloadable().setFilename("수납" + "_목록_" + dateTime + ".xlsx")); - } - } - - /**지정한 부과 ID의 수납 정보를 반환한다. - * @param levyId 부과 ID - * @return fims/rcvm/rcvm01020-info 또는 jsonView - *
    {
    -	 *     "rcvmtInfo": 수납 정보
    -	 * }
    - */ - @Task - @RequestMapping(name="수납 정보 조회", value=METHOD_URL.getReceivingMoneyInfo) - public ModelAndView getReceivingMoneyInfo(HttpServletRequest hReq, RcvmtQuery req) { - DataObject info = rcvmtService.getRcvmtInfo(req); - - boolean json = jsonResponse(); - - ModelAndView mav = new ModelAndView(json ? "jsonView" : "fims/rcvm/rcvm01020-info"); - - // View(jsp)에서 사용할 공통코드를 조회 - Map> commonCodes = getCodesOf("FIM041", "FIM045", "FIM054"); - - return mav - .addObject("openerPageName", hReq.getParameter("openerPageName")) // 호출한 Jsp PageName - .addObject("callPurpose", req.getCallPurpose()) // 호출 용도 - .addObject("pageName", "rcvm01020") // jsp pageName - .addObject("infoPrefix", "rcvmt") // prefix - .addObject("infoPrefixUrl", CLASS_URL) // prefixUrl - .addObject("FIM041List", commonCodes.get("FIM041")) // 수납 구분 코드(RCVMT_SE_CD) - .addObject("FIM045List", commonCodes.get("FIM045")) // 납부 방법 구분 코드(PAY_MTHD_SE_CD) - .addObject("FIM054List", commonCodes.get("FIM054")) // 업무 구분 코드(TASK_SE_CD) - .addObject("rcvmtInfo", json ? info : toJson(info)) // 수납 정보 - ; - } - - /**수납 대장 정보를 등록한다. - * @param rcvmt 수납 대장 정보 - * @return jsonView - *
     {
    -	 *     "saved": 등록되었으면 true, 그렇지 않으면 false
    -	 * }
    - */ - @Task - @RequestMapping(name="수납 대장 등록", value=METHOD_URL.createReceivingMoney) - public ModelAndView createReceivingMoney(Rcvmt rcvmt) { - boolean saved = false; - String rtnMsg = rcvmtService.createRcvmt(rcvmt); - - if (rtnMsg.contains("[S]")) { - saved = true; - } else { - saved = false; - } - - return new ModelAndView("jsonView") - .addObject("saved", saved) - .addObject("rtnMsg", rtnMsg); - } - - /**수납 대장에 수납취소 정보를 등록한다. - * @param rcvmt 수납 대장 정보 - * @return jsonView - *
     {
    -	 *     "saved": 등록되었으면 true, 그렇지 않으면 false
    -	 * }
    - */ - @Task - @RequestMapping(name="수납 대장에 수납취소 수정", value=METHOD_URL.updateReceivingMoneyRetraction) - public ModelAndView updateReceivingMoneyRetraction(Rcvmt rcvmt) { - boolean saved = false; - String rtnMsg = rcvmtService.updateRcvmtRtrcn(rcvmt); - - if (rtnMsg.contains("[S]")) { - saved = true; - } else { - saved = false; - } - - return new ModelAndView("jsonView") - .addObject("saved", saved) - .addObject("rtnMsg", rtnMsg); - } - - /**수납 대장 정보를 삭제한다. - * @param rcvmt 수납 대장 정보 - * @return jsonView - *
     {
    -	 *     "saved": 등록되었으면 true, 그렇지 않으면 false
    -	 * }
    - */ - @Task - @RequestMapping(name="수납 대장 삭제", value=METHOD_URL.removeReceivingMoney) - public ModelAndView removeReceivingMoney(Rcvmt rcvmt) { - boolean saved = false; - String rtnMsg = rcvmtService.removeRcvmt(rcvmt); - - if (rtnMsg.contains("[S]")) { - saved = true; - } else { - saved = false; - } - - return new ModelAndView("jsonView") - .addObject("saved", saved) - .addObject("rtnMsg", rtnMsg); - } - -} diff --git a/src/main/java/cokr/xit/fims/rdca/Rdamt.java b/src/main/java/cokr/xit/fims/rdca/Rdamt.java deleted file mode 100644 index 02a786b5..00000000 --- a/src/main/java/cokr/xit/fims/rdca/Rdamt.java +++ /dev/null @@ -1,85 +0,0 @@ -package cokr.xit.fims.rdca; - -import lombok.Getter; -import lombok.Setter; -import cokr.xit.foundation.AbstractEntity; - -/** - * 감액 대장 - * @author JoJH - */ -@Getter -@Setter -public class Rdamt extends AbstractEntity { - /** - * 감액 ID - */ - private String rdamtId; - - /** - * 부과 ID - */ - private String levyId; - - /** - * 최종 본세 - */ - private Integer lastPcptax; - - /** - * 최종 가산금 - */ - private Integer lastAdamt; - - /** - * 감액 일자 - */ - private String rdamtYmd; - - /** - * 감액 구분 코드 - */ - private String rdamtSeCd; - - /** - * 감액 사유 코드 - */ - private String rdamtRsnCd; - - /** - * 감액 본세 - */ - private Integer rdamtPcptax; - - /** - * 감액 가산금 - */ - private Integer rdamtAdamt; - - /** - * 감액 취소 여부 - */ - private String rdamtRtrcnYn; - - /** - * 감액 취소 일자 - */ - private String rdamtRtrcnYmd; - - /** - * 감액 취소 사유 - */ - private String rdamtRtrcnRsn; - - /** - * 삭제 여부 - */ - private String delYn; - - /** - * 삭제 사유 - */ - private String delRsn; - -} - diff --git a/src/main/java/cokr/xit/fims/rdca/RdamtQuery.java b/src/main/java/cokr/xit/fims/rdca/RdamtQuery.java deleted file mode 100644 index af8eb1eb..00000000 --- a/src/main/java/cokr/xit/fims/rdca/RdamtQuery.java +++ /dev/null @@ -1,110 +0,0 @@ -package cokr.xit.fims.rdca; - -import cokr.xit.fims.cmmn.CmmnQuery; - -/**감액 대장 정보 조회 요청 - * - *

    상세 설명: - * - *

    - * ============ 변경 이력 ============
    - * 2024-02-01	JoJH 최초 작성
    - * ================================
    - * 
    - */ -public class RdamtQuery extends CmmnQuery { - - private static final long serialVersionUID = 1L; - - // ID - private String[] rdamtIds; // 감액 Ids - private String rdamtId; // 감액 ID - private String[] levyIds; // 부과 Ids - private String levyId; // 부과 ID - - // 검색 조건 - private String schLevyExclYmdFrom; // 부과제외_부과제외 일자 시작 - private String schLevyExclYmdTo; // 부과제외_부과제외 일자 종료 - // 상세 검색 조건 - - // 동적 검색 조건 - - // ETC - private String callPurpose; // infoDialog 호출 용도(view 조회(편집불가), create 등록, update 수정, refresh 재조회). - private String delRsn; // 삭제 사유 - - - public String[] getRdamtIds() { - return ifEmpty(rdamtIds, () -> null); - } - - public T setRdamtIds(String... rdamtIds) { - this.rdamtIds = rdamtIds; - return self(); - } - - public String getRdamtId() { - return ifEmpty(rdamtId, () -> null); - } - - public T setRdamtId(String rdamtId) { - this.rdamtId = rdamtId; - return self(); - } - - public String[] getLevyIds() { - return ifEmpty(levyIds, () -> null); - } - - public T setLevyIds(String... levyIds) { - this.levyIds = levyIds; - return self(); - } - - public String getLevyId() { - return ifEmpty(levyId, () -> null); - } - - public T setLevyId(String levyId) { - this.levyId = levyId; - return self(); - } - - public String getSchLevyExclYmdFrom() { - return ifEmpty(schLevyExclYmdFrom, () -> null); - } - - public T setSchLevyExclYmdFrom(String schLevyExclYmdFrom) { - this.schLevyExclYmdFrom = schLevyExclYmdFrom; - return self(); - } - - public String getSchLevyExclYmdTo() { - return ifEmpty(schLevyExclYmdTo, () -> null); - } - - public T setSchLevyExclYmdTo(String schLevyExclYmdTo) { - this.schLevyExclYmdTo = schLevyExclYmdTo; - return self(); - } - - // ETC ///////////////////////////////////////////////////////////////////// - public String getCallPurpose() { - return ifEmpty(callPurpose, () -> null); - } - - public T setCallPurpose(String callPurpose) { - this.callPurpose = callPurpose; - return self(); - } - - public String getDelRsn() { - return ifEmpty(delRsn, () -> null); - } - - public T setDelRsn(String delRsn) { - this.delRsn = delRsn; - return self(); - } - // ETC ///////////////////////////////////////////////////////////////////// -} diff --git a/src/main/java/cokr/xit/fims/rdca/dao/RdamtMapper.java b/src/main/java/cokr/xit/fims/rdca/dao/RdamtMapper.java deleted file mode 100644 index 4b3ec010..00000000 --- a/src/main/java/cokr/xit/fims/rdca/dao/RdamtMapper.java +++ /dev/null @@ -1,117 +0,0 @@ -package cokr.xit.fims.rdca.dao; - -import java.util.List; -import java.util.Map; - -import org.egovframe.rte.psl.dataaccess.mapper.Mapper; - -import cokr.xit.foundation.component.AbstractMapper; -import cokr.xit.foundation.data.DataObject; -import cokr.xit.fims.rdca.Rdamt; -import cokr.xit.fims.rdca.RdamtQuery; - -/** 감액 대장 정보 DAO - * - *

    상세 설명: - * - *

    - * ============ 변경 이력 ============
    - * 2024-02-01	JoJH 최초 작성
    - * ================================
    - * 
    - */ -@Mapper("rdamtMapper") -public interface RdamtMapper extends AbstractMapper { - - /**지정한 조건에 따라 감액 대장 목록을 조회하여 반환한다.
    - * @param req 감액 대장 조회 조건 - * @return 감액 대장 목록 - */ - List selectRdamtList(RdamtQuery req); - - /**지정한 조건에 따라 감액 대장 객체들을 반환한다. - * @param req 감액 대장 조회 조건 - * @return 감액 대장 객체 목록 - */ - List selectRdamts(RdamtQuery req); - - /**지정한 조건에 따라 감액 대장 객체 1건을 반환한다. - * @param req 감액 대장 조회 조건 - * @return 감액 대장 객체 - */ - default DataObject selectRdamtInfo(RdamtQuery req) { - // 삭제 여부 확인 - if (req.getDelYn() == null) { - req.setDelYn("N"); - } - // 기본 정렬 - if (req.getOrderBy() == null) { - req.setOrderBy("R.RDAMT_ID DESC"); - } - - List rdcamts = selectRdamts(req); - - return !rdcamts.isEmpty() ? rdcamts.get(0) : null; - } - - /**감액 대장 정보를 등록한다. - * @param params 파라미터 - *
    • "rdcamt" - 감액 대장
    • - *
    • "currentUser" - 현재 접속한 사용자
    • - *
    - * @return 저장된 정보수 - */ - int insertRdamt(Map params); - - /**감액 대장 정보를 등록한다. - * @param rdamt 감액 대장 - * @return 저장 여부 - *
    • 저장됐으면 true
    • - *
    • 그렇지 않으면 false
    • - *
    - */ - default boolean insert(Rdamt rdamt) { - return rdamt != null && insertRdamt(params().set("rdamt", rdamt)) == 1; - } - - /**감액 대장 정보를 수정한다. - * @param params 파라미터 - *
    • "rdamt" - 감액 대장
    • - *
    • "currentUser" - 현재 접속한 사용자
    • - *
    - * @return 저장된 정보수 - */ - int updateRdamt(Map params); - - /**감액 대장 정보를 수정한다. - * @param rdamt 감액 대장 - * @return 저장 여부 - *
    • 저장됐으면 true
    • - *
    • 그렇지 않으면 false
    • - *
    - */ - default boolean update(Rdamt rdamt) { - return rdamt != null && updateRdamt(params().set("rdamt", rdamt)) == 1; - } - - /**지정한 감액 대장을 삭제한다. - * @param params 파라미터 - *
    • "rdcamt" - 감액 대장
    • - *
    • "currentUser" - 현재 접속한 사용자
    • - *
    - * @return 저장된 정보수 - */ - int deleteRdamt(Map params); - - /**감액 대장 정보를 삭제한다. - * @param rdamt 감액 대장 - * @return 저장 여부 - *
    • 저장됐으면 true
    • - *
    • 그렇지 않으면 false
    • - *
    - */ - default boolean delete(Rdamt rdamt) { - return rdamt != null && deleteRdamt(params().set("rdamt", rdamt)) == 1; - } - -} diff --git a/src/main/java/cokr/xit/fims/rdca/service/RdamtService.java b/src/main/java/cokr/xit/fims/rdca/service/RdamtService.java deleted file mode 100644 index 385bb4cf..00000000 --- a/src/main/java/cokr/xit/fims/rdca/service/RdamtService.java +++ /dev/null @@ -1,66 +0,0 @@ -package cokr.xit.fims.rdca.service; - -import java.util.List; - -import cokr.xit.foundation.data.DataObject; -import cokr.xit.fims.rdca.Rdamt; -import cokr.xit.fims.rdca.RdamtQuery; - -/**감액 대장 관리 서비스 인터페이스. - * - *

    상세 설명: - * - *

    - * ============ 변경 이력 ============
    - * 2024-02-01	JoJH 최초 작성
    - * ================================
    - * 
    - */ -public interface RdamtService { - - /**지정한 조건에 따라 감액 대장 목록을 조회하여 반환한다. - * @param req 감액 대장 조회 조건 - * @return 감액 대장 목록 - */ - List getRdamtList(RdamtQuery req); - - /**지정한 조건에 따라 감액 대장 객체들을 반환한다. - * @param req 감액 대장 조회 조건 - * @return 감액 대장 객체 목록 - */ - List getRdamts(RdamtQuery req); - - /**지정한 조건에 따라 감액 대장 정보 1건을 반환한다.
    - * @param req 감액 대장 조회 조건 - * @return 감액 대장 객체 - */ - DataObject getRdamtInfo(RdamtQuery req); - - /**감액 대장 정보를 등록한다. - * @param rdcamt 감액 대장 - * @return 저장 여부 - *
    • 저장됐으면 true
    • - *
    • 그렇지 않으면 false
    • - *
    - */ - String createRdamt(Rdamt rdamt); - - /**감액 대장 정보를 수정한다. - * @param rdcamt 감액 대장 - * @return 저장 여부 - *
    • 저장됐으면 true
    • - *
    • 그렇지 않으면 false
    • - *
    - */ - String updateRdamt(Rdamt rdamt); - - /**감액 대장 정보를 삭제한다. - * @param rdcamt 감액 대장 - * @return 저장 여부 - *
    • 저장됐으면 true
    • - *
    • 그렇지 않으면 false
    • - *
    - */ - String removeRdamt(Rdamt rdamt); - -} diff --git a/src/main/java/cokr/xit/fims/rdca/service/bean/RdamtBean.java b/src/main/java/cokr/xit/fims/rdca/service/bean/RdamtBean.java deleted file mode 100644 index 66ec4624..00000000 --- a/src/main/java/cokr/xit/fims/rdca/service/bean/RdamtBean.java +++ /dev/null @@ -1,207 +0,0 @@ -package cokr.xit.fims.rdca.service.bean; - -import java.util.List; - -import javax.annotation.Resource; - -import org.springframework.stereotype.Component; - -import cokr.xit.fims.cmmn.CmmnUtil; -import cokr.xit.fims.levy.Levy; -import cokr.xit.fims.levy.LevyQuery; -import cokr.xit.fims.levy.dao.LevyMapper; -import cokr.xit.fims.rdca.Rdamt; -import cokr.xit.fims.rdca.RdamtQuery; -import cokr.xit.fims.rdca.dao.RdamtMapper; -import cokr.xit.foundation.component.AbstractBean; -import cokr.xit.foundation.data.DataObject; - -/**감액 대장 정보 관리 Bean - * - *

    상세 설명: - * - *

    - * ============ 변경 이력 ============
    - * 2024-02-01	JoJH 최초 작성
    - * ================================
    - * 
    - */ -@Component("rdamtBean") -public class RdamtBean extends AbstractBean { - - /** 감액 대장 정보 DAO */ - @Resource(name = "rdamtMapper") - private RdamtMapper rdamtMapper; - - /** 부과 대장 정보 DAO */ - @Resource(name = "levyMapper") - private LevyMapper levyMapper; - - /**지정한 조건에 따라 감액 대장 목록을 조회하여 반환한다. - * @param req 감액 대장 조회 조건 - * @return 감액 대장 목록 - */ - public List getRdamtList(RdamtQuery req) { - // 삭제 여부 확인 - if (req.getDelYn() == null) { - req.setDelYn("N"); - } - // 정렬 확인 - if (req.getOrderBy() == null) { - if (req.getBy() == null) { - req.setOrderBy("REG_DT"); - } else { - req.setOrderBy(CmmnUtil.convertCamelCaseToSnakeCase(req.getBy())); - } - } - - return rdamtMapper.selectRdamtList(req); - } - - /**지정한 조건에 따라 감액 대장 객체들을 반환한다. - * @param req 감액 대장 조회 조건 - * @return 감액 대장 객체 목록 - */ - public List getRdamts(RdamtQuery req) { - // 삭제 여부 확인 - if (req.getDelYn() == null) { - req.setDelYn("N"); - } - if (req.getOrderBy() == null) { - req.setOrderBy("R.RDAMT_ID DESC"); - } - - return rdamtMapper.selectRdamts(req); - } - - /**지정한 조건에 따라 감액 대장 객체 1건을 반환한다. - * @param req 감액 대장 조회 조건 - * @return 감액 대장 객체 - */ - public DataObject getRdamtInfo(RdamtQuery req) { - DataObject rdamtInfo = new DataObject(); - -// if (req.getCallPurpose().equals("create")) { -// rdcamtInfo = rdcamtMapper.selectCrdnInfo(req); -// } else { - rdamtInfo = rdamtMapper.selectRdamtInfo(req); -// } - - return rdamtInfo; - } - - /**감액 대장 정보를 등록한다. - * @param rdcamt 감액 대장 - * @return 저장 여부 - *
    • 저장됐으면 true
    • - *
    • 그렇지 않으면 false
    • - *
    - */ - public String createRdamt(Rdamt rdamt) { - // 변수 선언 - boolean rtnScs = false; // DB 처리 결과 - int rtnNocs = -1; // 처리 결과 건수 - String rtnMsg = ""; // 처리 결과 메시지 - - // 부과 ID로 부과 정보 조회 - DataObject levyInfo = levyMapper.selectLevyAmt(new LevyQuery().setLevyId(rdamt.getLevyId())); - - // 부과(TB_LEVY) 대장 정보를 수정한다. - Levy levy = new Levy(); - levy.setLevyId(levyInfo.string("LEVY_ID")); // 부과 ID - - if ("02,03,04".contains(rdamt.getRdamtSeCd())) { // 02:부과취소, 03:이의신청수용, 04:법원이송 - // 수납금액이 있으면 오류 발생 - if (levyInfo.number("RCVMT_PCPTAX").intValue() + levyInfo.number("RCVMT_ADAMT").intValue() > 0) { - rtnMsg = "[F] 수납금액이 존재합니다.
    부분 감액으로 진행하시기 바랍니다."; // 예외를 발생시켜서 DB Rollback - return rtnMsg; - } - - levy.setRdamtPcptax(levyInfo.number("LEVY_PCPTAX").intValue()); // 감액 본세 - levy.setRdamtAdamt(levyInfo.number("LEVY_ADAMT").intValue()); // 감액 가산금 - levy.setSumAmt(0); // 합계 금액 - levy.setDudtAftrAmt(0); // 납기 후 금액 - } else { - levy.setRdamtPcptax(levyInfo.number("RDAMT_PCPTAX").intValue() + rdamt.getRdamtPcptax()); // 감액 본세 - levy.setRdamtAdamt(levyInfo.number("RDAMT_ADAMT").intValue() + rdamt.getRdamtAdamt()); // 감액 가산금 - levy.setSumAmt(levyInfo.number("SUM_AMT").intValue() - rdamt.getRdamtPcptax() - rdamt.getRdamtAdamt()); // 합계 금액 - if (levy.getSumAmt() > 0) { - levy.setDudtAftrAmt(levyInfo.number("DUDT_AFTR_AMT").intValue() - rdamt.getRdamtPcptax() - rdamt.getRdamtAdamt()); // 납기 후 금액 - } else { - levy.setDudtAftrAmt(0); - } - } - - rtnNocs = levyMapper.updateRdamt(levy); - if (rtnNocs != 1) { - throw new RuntimeException("부과 대장의 감액 금액 수정에 실패하였습니다."); // 예외를 발생시켜서 DB Rollback - } - - // 감액(TB_RDAMT) 대장 정보를 등록한다. - if ("02,03,04".contains(rdamt.getRdamtSeCd())) { // 02:부과취소, 03:이의신청수용, 04:법원이송 - rdamt.setLastPcptax(levyInfo.number("LEVY_PCPTAX").intValue()); - rdamt.setLastAdamt(levyInfo.number("LEVY_ADAMT").intValue()); - rdamt.setRdamtPcptax(levyInfo.number("LEVY_PCPTAX").intValue()); - rdamt.setRdamtAdamt(levyInfo.number("LEVY_ADAMT").intValue()); - } else { - rdamt.setLastPcptax(levyInfo.number("LAST_PCPTAX").intValue()); - rdamt.setLastAdamt(levyInfo.number("LAST_ADAMT").intValue()); - rdamt.setRdamtPcptax(rdamt.getRdamtPcptax()); - rdamt.setRdamtAdamt(rdamt.getRdamtAdamt()); - } - - rtnScs = rdamtMapper.insert(rdamt); - if (!rtnScs) { - throw new RuntimeException("감액 대장 등록에 실패하였습니다."); // 예외를 발생시켜서 DB Rollback - } - - return "[S] 작업이 정상 처리 되었습니다."; - } - - /**감액 대장 정보를 수정한다. - * @param rdcamt 감액 대장 - * @return 저장 여부 - *
    • 저장됐으면 true
    • - *
    • 그렇지 않으면 false
    • - *
    - */ - public String updateRdamt(Rdamt rdamt) { - // 변수 선언 - boolean rtnScs = false; // DB 처리 결과 - String rtnMsg = "[F] "; // 처리 결과 메시지 - - // 감액(TB_RDAMT) 대장 정보를 수정한다. - rtnScs = rdamtMapper.update(rdamt); - if (!rtnScs) { - throw new RuntimeException("감액 대장 수정에 실패하였습니다."); // 예외를 발생시켜서 DB Rollback - } - - rtnMsg = "[S] 작업이 정상 처리 되었습니다."; - - return rtnMsg; - } - - /**감액 대장 정보를 삭제한다. - * @param rdcamt 감액 대장 - * @return 저장 여부 - *
    • 저장됐으면 true
    • - *
    • 그렇지 않으면 false
    • - *
    - */ - public String removeRdamt(Rdamt rdamt) { - // 변수 선언 - boolean rtnScs = false; // DB 처리 결과 - String rtnMsg = "[F] "; // 처리 결과 메시지 - - // 감액(TB_RDAMT) 대장 정보를 삭제한다. - rtnScs = rdamtMapper.delete(rdamt); - if (!rtnScs) { - throw new RuntimeException("감액 정보 삭제에 실패하였습니다."); // 예외를 발생시켜서 DB Rollback - } - - rtnMsg = "[S] 작업이 정상 처리 되었습니다."; - - return rtnMsg; - } - -} diff --git a/src/main/java/cokr/xit/fims/rdca/service/bean/RdamtServiceBean.java b/src/main/java/cokr/xit/fims/rdca/service/bean/RdamtServiceBean.java deleted file mode 100644 index b92c3623..00000000 --- a/src/main/java/cokr/xit/fims/rdca/service/bean/RdamtServiceBean.java +++ /dev/null @@ -1,62 +0,0 @@ -package cokr.xit.fims.rdca.service.bean; - -import java.util.List; - -import javax.annotation.Resource; - -import org.springframework.stereotype.Service; - -import cokr.xit.foundation.component.AbstractServiceBean; -import cokr.xit.foundation.data.DataObject; -import cokr.xit.fims.rdca.Rdamt; -import cokr.xit.fims.rdca.RdamtQuery; -import cokr.xit.fims.rdca.service.RdamtService; - -/**감액 대장 서비스 구현체. - * - *

    상세 설명: - * - *

    - * ============ 변경 이력 ============
    - * 2024-02-01	JoJH 최초 작성
    - * ================================
    - * 
    - */ -@Service("rdamtService") -public class RdamtServiceBean extends AbstractServiceBean implements RdamtService { - - /** 감액 대장 정보 Bean */ - @Resource(name = "rdamtBean") - private RdamtBean rdamtBean; - - @Override - public List getRdamtList(RdamtQuery req) { - return rdamtBean.getRdamtList(req); - } - - @Override - public List getRdamts(RdamtQuery req) { - return rdamtBean.getRdamts(req); - } - - @Override - public DataObject getRdamtInfo(RdamtQuery req) { - return rdamtBean.getRdamtInfo(req); - } - - @Override - public String createRdamt(Rdamt rdamt) { - return rdamtBean.createRdamt(rdamt); - } - - @Override - public String updateRdamt(Rdamt rdamt) { - return rdamtBean.updateRdamt(rdamt); - } - - @Override - public String removeRdamt(Rdamt rdamt) { - return rdamtBean.removeRdamt(rdamt); - } - -} diff --git a/src/main/java/cokr/xit/fims/rdca/web/Rdca01Controller.java b/src/main/java/cokr/xit/fims/rdca/web/Rdca01Controller.java deleted file mode 100644 index 2a1964a9..00000000 --- a/src/main/java/cokr/xit/fims/rdca/web/Rdca01Controller.java +++ /dev/null @@ -1,227 +0,0 @@ -package cokr.xit.fims.rdca.web; - -import java.text.SimpleDateFormat; -import java.util.HashMap; -import java.util.List; -import java.util.Map; - -import javax.annotation.Resource; - -import org.apache.poi.ss.usermodel.CellStyle; -import org.springframework.web.servlet.ModelAndView; - -import cokr.xit.base.code.CommonCode; -import cokr.xit.base.docs.xls.CellDef; -import cokr.xit.base.docs.xls.Format; -import cokr.xit.base.docs.xls.Style; -import cokr.xit.base.docs.xls.XLSWriter; -import cokr.xit.base.web.ApplicationController; -import cokr.xit.fims.base.FimsUser; -import cokr.xit.fims.cmmn.service.bean.StngBean; -import cokr.xit.fims.cmmn.xls.FormatMaker; -import cokr.xit.fims.cmmn.xls.StyleMaker; -import cokr.xit.fims.rdca.Rdamt; -import cokr.xit.fims.rdca.RdamtQuery; -import cokr.xit.fims.rdca.service.RdamtService; -import cokr.xit.foundation.data.DataObject; - -/**감액 대장 서비스의 웹 컨트롤러 - * - *

    상세 설명: - * - *

    - * ============ 변경 이력 ============
    - * 2024-02-01	JoJH 최초 작성
    - * ================================
    - * 
    - */ -public class Rdca01Controller extends ApplicationController { - - public static final String CLASS_URL = "/rdca/rdca01"; - - public class METHOD_URL { - public static final String - reducedAmountMain = "/010/main.do" // 감액 관리 메인 화면 - , getReducedAmountList = "/010/list.do" // 감액 대장 목록 조회 - , getReducedAmountInfo = "/020/info.do" // 감액 대장 조회 - , createReducedAmount = "/020/create.do" // 감액 대장 등록 - , updateReducedAmount = "/020/update.do" // 감액 대장 수정 - , removeReducedAmount = "/010/remove.do" // 감액 대장 삭제 - ; - } - - /**감액 대장 서비스*/ - @Resource(name = "rdamtService") - private RdamtService rdamtService; - - @Resource(name = "stngBean") - private StngBean stngBean; - - /**감액 대장 관리 메인화면(rdamt/rdamt-main)을 연다. - * 조건없는 {@link #getRdamtList(RdamtQuery) 감액 대장 조회 결과}를 포함시킨다. - * @return /rdcamt/rdamt-main - */ - public ModelAndView reducedAmountMain() { - ModelAndView mav = new ModelAndView("fims/rdca/rdca01010-main"); - - // 사용자 정보 - FimsUser fimsUser = (FimsUser)currentUser().getUser(); - - // View(jsp)에서 사용할 공통코드를 조회 - Map> commonCodes = getCodesOf("FIM021", "FIM022", "FIM054", "FIM085"); - - addCodes(commonCodes, mav, "FIM021", "FIM022", "FIM085"); - - return mav - .addObject("pageName", "rdca01010") // View(jsp)에서 사용할 id 뒤에 붙일 suffix - .addObject("infoPrefix", "rdamt") // prefix - .addObject("sggCd", fimsUser.getOrgID()) // 시군구 코드(SGG_CD) - .addObject("taskListForSgg", stngBean.filterTaskSectionCodeForSgg(commonCodes.get("FIM054"))) - .addObject("FIM021List", commonCodes.get("FIM021")) // 부과 제외 구분 코드(LEVY_EXCL_SE_CD) - .addObject("FIM022List", commonCodes.get("FIM022")) // 부과 제외 사유 코드(LEVY_EXCL_RSN_CD) - .addObject("FIM054List", commonCodes.get("FIM054")) // 업무 구분 코드(TASK_SE_CD) - .addObject("FIM085List", commonCodes.get("FIM085")) // 감액 구분 코드(RDAMT_SE_CD) - ; - } - - /**감액 대장 목록을 조회하여 반환한다.
    - * {@link RdamtService#getRdamtList(RdamtQuery)} 참고 - * @param req 감액 대장 조회 조건 - * @return jsonView - *
     {
    -	 *     "rdamtList": [감액 대장 목록]
    -	 *     "rdamtStart": 감액 대장 목록 시작 인덱스
    -	 *     "rdamtFetch": 한 번에 가져오는 감액 대장 목록 수
    -	 *     "rdamtTotal": 조회 결과 찾은 전체 감액 대장 수
    -	 * }
    - */ - public ModelAndView getReducedAmountList(RdamtQuery req) { - if (!"xls".equals(req.getDownload())) { - List result = rdamtService.getRdamtList(setFetchSize(req)); - return setCollectionInfo(new ModelAndView("jsonView"), result, "rdamt"); - } else { - // 현재 날짜 구하기 - SimpleDateFormat dateFormat = new SimpleDateFormat("yyyyMMddHHmmss"); - String dateTime = dateFormat.format(System.currentTimeMillis()); - - List cellDefs = fromJson(req.getCellDefs(), CellDef.listType()); - - XLSWriter xlsx = new XLSWriter().worksheet(0); - Format format = new Format(xlsx); - CellStyle center = format.cellStyle(Style.CENTER); - CellStyle numeric = format.n_nn0(); - CellStyle dateYMD = format.yyyy_mm_dd(); - CellStyle dateDT = format.yyyy_mm_dd_hh_mm_ss(); - - List list = rdamtService.getRdamtList(req.setFetchSize(0)); - - Map valueMap = new HashMap(); - valueMap.put("업무구분", format.of("TASK_SE_NM").style(center)); - valueMap.put("부과제외일자", FormatMaker.yyyy_mm_dd(format, "LEVY_EXCL_YMD").style(dateYMD)); - valueMap.put("부과제외구분", format.of("LEVY_EXCL_SE_NM").style(center)); - valueMap.put("부과제외사유", format.of("LEVY_EXCL_RSN_NM")); - valueMap.put("기타내용", format.of("ETC_CN")); - valueMap.put("민원신청번호", format.of("CVLCPT_APLY_NO").style(center)); - valueMap.put("민원접수번호", format.of("CVLCPT_RCPT_NO").style(center)); - valueMap.put("민원접수일자", FormatMaker.yyyy_mm_dd(format, "CVLCPT_RCPT_YMD").style(dateYMD)); - valueMap.put("단속일시", FormatMaker.yyyy_mm_dd_hh_mm_ss(format, "CRDN_YMD_TM").style(dateDT)); - valueMap.put("차량번호", format.of("VHRNO")); - valueMap.put("납부자구분", format.of("RTPYR_SE_NM").style(center)); - valueMap.put("납부자번호", format.of("RTPYR_NO").style(center)); - valueMap.put("납부자명", format.of("RTPYR_NM")); - valueMap.put("단속법정동", format.of("CRDN_STDG_NM").style(center)); - valueMap.put("단속장소", format.of("CRDN_PLC")); - valueMap.put("상세단속장소", format.of("DTL_CRDN_PLC")); - valueMap.put("위반항목", format.of("VLTN_ARTCL")); - valueMap.put("단속원금", format.of("FFNLG_CRDN_AMT").style(numeric)); - valueMap.put("처리상태", format.of("CRDN_STTS_NM")); - valueMap.put("단속특별구역", format.of("CRDN_SPAREA_NM").style(center)); - valueMap.put("사용연료", format.of("USE_FUEL_NM").style(center)); - valueMap.put("주차가능여부", format.of("PRK_PSBLTY_RSLT_NM").style(center)); - valueMap.put("우편번호", format.of("ZIP").style(center)); - valueMap.put("주소", format.of("ADDR")); - valueMap.put("상세주소", format.of("DTL_ADDR")); - valueMap.put("등록일시", FormatMaker.yyyy_mm_dd_hh_mm_ss(format, "REG_DT").style(dateDT)); - valueMap.put("등록사용자", format.of("RGTR_NM").style(center)); - valueMap.put("수정일시", FormatMaker.yyyy_mm_dd_hh_mm_ss(format, "MDFCN_DT").style(dateDT)); - valueMap.put("수정사용자", format.of("MDFR_NM").style(center)); - - CellDef.setValues(cellDefs, valueMap); - - xlsx.cell(0, 0).value("감액").value(center).merge(0, cellDefs.size() - 1) - .cell(3, 0).rowValues(CellDef.header(cellDefs, () -> StyleMaker.headerStyle(xlsx))) - .cell(4, 0).values(list, CellDef.values(cellDefs.stream().map(i -> {if(i.getValue() instanceof Format) {i.setField(null);}; return i;}).toList())); - - return new ModelAndView("downloadView") - .addObject("download", xlsx.getDownloadable().setFilename("감액" + "_목록_" + dateTime + ".xlsx")); - } - } - - /**감액 대장를 등록한다. - * @param rdamt 감액 대장 정보 - * @return jsonView - *
     {
    -	 *     "saved": 등록되었으면 true, 그렇지 않으면 false
    -	 * }
    - */ - public ModelAndView createReducedAmount(Rdamt rdamt) { - boolean saved = false; - String rtnMsg = rdamtService.createRdamt(rdamt); - - if (rtnMsg.contains("[S]")) { - saved = true; - } else { - saved = false; - } - - return new ModelAndView("jsonView") - .addObject("saved", saved) - .addObject("rtnMsg", rtnMsg); - } - - /**감액 대장 정보를 수정한다. - * @param rdamt 감액 대장 정보 - * @return jsonView - *
     {
    -	 *     "saved": 수정되었으면 true, 그렇지 않으면 false
    -	 * }
    - */ - public ModelAndView updateReducedAmount(Rdamt rdamt) { - boolean saved = false; - String rtnMsg = rdamtService.updateRdamt(rdamt); - - if (rtnMsg.contains("[S]")) { - saved = true; - } else { - saved = false; - } - - return new ModelAndView("jsonView") - .addObject("saved", saved) - .addObject("rtnMsg", rtnMsg); - } - - /**지정한 감액 대장를 제거한다. - * @param rdamtIds 감액 대장 아이디 - * @return jsonView - *
     {
    -	 *     "affected": 저장된 정보수
    -	 *     "saved": 저장되었으면 true, 그렇지 않으면 false
    -	 * }
    - */ - public ModelAndView removeReducedAmount(Rdamt rdamt) { - boolean saved = false; - String rtnMsg = rdamtService.removeRdamt(rdamt); - - if (rtnMsg.contains("[S]")) { - saved = true; - } else { - saved = false; - } - - return new ModelAndView("jsonView") - .addObject("saved", saved) - .addObject("rtnMsg", rtnMsg); - } - -} diff --git a/src/main/java/cokr/xit/fims/rent/RentEnt.java b/src/main/java/cokr/xit/fims/rent/RentEnt.java deleted file mode 100644 index 9639a9a2..00000000 --- a/src/main/java/cokr/xit/fims/rent/RentEnt.java +++ /dev/null @@ -1,75 +0,0 @@ -package cokr.xit.fims.rent; - -import cokr.xit.foundation.AbstractEntity; -import lombok.Getter; -import lombok.Setter; - -/** - * 임대 기업 대장 - * @author JoJH - */ -@Getter -@Setter -public class RentEnt extends AbstractEntity { - - /** - * 기업 ID - */ - private String entId; - - /** - * 기업 구분 코드 - */ - private String entSeCd; - - /** - * 기업 명 - */ - private String entNm; - - /** - * 기업 번호 - */ - private String entNo; - - /** - * 기업 전화번호 - */ - private String entTelno; - - /** - * 기업 팩스번호 - */ - private String entFxno; - - /** - * 기업 이메일 주소 - */ - private String entEmlAddr; - - /** - * 기업 우편번호 - */ - private String entZip; - - /** - * 기업 주소 - */ - private String entAddr; - - /** - * 기업 상세 주소 - */ - private String entDtlAddr; - - /** - * 삭제 여부 - */ - private String delYn; - - /** - * 삭제 사유 - */ - private String delRsn; - -} diff --git a/src/main/java/cokr/xit/fims/rent/RentQuery.java b/src/main/java/cokr/xit/fims/rent/RentQuery.java deleted file mode 100644 index 6a704813..00000000 --- a/src/main/java/cokr/xit/fims/rent/RentQuery.java +++ /dev/null @@ -1,105 +0,0 @@ -package cokr.xit.fims.rent; - -import cokr.xit.fims.cmmn.CmmnQuery; - -/**임대 차량 정보 조회 요청 - * - *

    상세 설명: - * - *

    - * ============ 변경 이력 ============
    - * 2024-07-24   JoJH 최초 작성
    - * ================================
    - * 
    - */ -public class RentQuery extends CmmnQuery { - - private static final long serialVersionUID = 1L; - - // ID - private String crdnId; // 단속 ID - private String userId; // 사용자 ID - private String[] entIds; // 기업 Ids - private String entId; // 기업 ID - private String hirerId; // 임차인 ID - private String lsctId; // 임대차계약 ID - - // ETC - private String callPurpose; // infoDialog 호출 용도(view 조회(편집불가), create 등록, update 수정, refresh 재조회). - private String delRsn; // 삭제 사유 - - public String getCrdnId() { - return ifEmpty(crdnId, () -> null); - } - - public T setCrdnId(String crdnId) { - this.crdnId = crdnId; - return self(); - } - - public String getUserId() { - return ifEmpty(userId, () -> null); - } - - public T setUserId(String userId) { - this.userId = userId; - return self(); - } - - public String[] getEntIds() { - return ifEmpty(entIds, () -> null); - } - - public T setEntIds(String... entIds) { - this.entIds = entIds; - return self(); - } - - public String getEntId() { - return ifEmpty(entId, () -> null); - } - - public T setEntId(String entId) { - this.entId = entId; - return self(); - } - - public String getHirerId() { - return ifEmpty(hirerId, () -> null); - } - - public T setHirerId(String hirerId) { - this.hirerId = hirerId; - return self(); - } - - public String getLsctId() { - return ifEmpty(lsctId, () -> null); - } - - public T setLsctId(String lsctId) { - this.lsctId = lsctId; - return self(); - } - - // ETC ///////////////////////////////////////////////////////////////////// - public String getCallPurpose() { - return ifEmpty(callPurpose, () -> null); - } - - public T setCallPurpose(String callPurpose) { - this.callPurpose = callPurpose; - return self(); - } - - public String getDelRsn() { - return ifEmpty(delRsn, () -> null); - } - - public T setDelRsn(String delRsn) { - this.delRsn = delRsn; - return self(); - } - // ETC ///////////////////////////////////////////////////////////////////// - -} diff --git a/src/main/java/cokr/xit/fims/rent/UserRentEntMpng.java b/src/main/java/cokr/xit/fims/rent/UserRentEntMpng.java deleted file mode 100644 index 7cae4a7d..00000000 --- a/src/main/java/cokr/xit/fims/rent/UserRentEntMpng.java +++ /dev/null @@ -1,30 +0,0 @@ -package cokr.xit.fims.rent; - -import cokr.xit.foundation.AbstractEntity; -import lombok.Getter; -import lombok.Setter; - -/** - * 사용자 임대 기업 매핑 - * @author JoJH - */ -@Getter -@Setter -public class UserRentEntMpng extends AbstractEntity { - - /** - * 사용자 ID - */ - private String userId; - - /** - * 기업 ID - */ - private String entId; - - /** - * 삭제 여부 - */ - private String delYn; - -} diff --git a/src/main/java/cokr/xit/fims/rent/dao/RentEntMapper.java b/src/main/java/cokr/xit/fims/rent/dao/RentEntMapper.java deleted file mode 100644 index aa7c8385..00000000 --- a/src/main/java/cokr/xit/fims/rent/dao/RentEntMapper.java +++ /dev/null @@ -1,78 +0,0 @@ -package cokr.xit.fims.rent.dao; - -import java.util.List; - -import org.egovframe.rte.psl.dataaccess.mapper.Mapper; - -import cokr.xit.fims.rent.RentEnt; -import cokr.xit.fims.rent.RentQuery; -import cokr.xit.foundation.component.AbstractMapper; -import cokr.xit.foundation.data.DataObject; - -/** 임대 기업 대장 정보 DAO - * - *

    상세 설명: - * - *

    - * ============ 변경 이력 ============
    - * 2024-07-24   JoJH 최초 작성
    - * ================================
    - * 
    - */ -@Mapper("rentEntMapper") -public interface RentEntMapper extends AbstractMapper { - /**지정한 조건에 따라 임대 기업 대장 목록을 조회하여 반환한다.
    - * @param req 임대 기업 대장 조회 조건 - * @return 임대 기업 대장 목록 - */ - List selectRentEntList(RentQuery req); - - /**지정한 조건에 따라 임대 기업 대장 객체들을 반환한다. - * @param req 임대 기업 대장 조회 조건 - * @return 임대 기업 대장 객체 목록 - */ - List selectRentEnts(RentQuery req); - - default DataObject selectRentEntInfo(RentQuery req) { - // 삭제 여부 확인 - if (req.getDelYn() == null) { - req.setDelYn("N"); - } - // 기본 정렬 - if (req.getOrderBy() == null) { - req.setOrderBy("RE.ENT_ID DESC"); - } - - List rentEnts = selectRentEnts(req); - - return !rentEnts.isEmpty() ? rentEnts.get(0) : null; - } - - /**임대 기업 대장 정보를 등록한다. - * @param params 파라미터 - *
    • "rentEnt" - 임대 기업 대장
    • - *
    • "currentUser" - 현재 접속한 사용자
    • - *
    - * @return 저장된 정보수 - */ - int insertRentEnt(RentEnt rentEnt); - - /**임대 기업 대장 정보를 수정한다. - * @param params 파라미터 - *
    • "rentEnt" - 임대 기업 대장
    • - *
    • "currentUser" - 현재 접속한 사용자
    • - *
    - * @return 저장된 정보수 - */ - int updateRentEnt(RentEnt rentEnt); - - /**지정한 임대 기업 대장을 삭제한다. - * @param params 파라미터 - *
    • "rentEnt" - 임대 기업 대장
    • - *
    • "currentUser" - 현재 접속한 사용자
    • - *
    - * @return 저장된 정보수 - */ - int deleteRentEnt(RentEnt rentEnt); - -} diff --git a/src/main/java/cokr/xit/fims/rent/dao/UserRentEntMpngMapper.java b/src/main/java/cokr/xit/fims/rent/dao/UserRentEntMpngMapper.java deleted file mode 100644 index b058a668..00000000 --- a/src/main/java/cokr/xit/fims/rent/dao/UserRentEntMpngMapper.java +++ /dev/null @@ -1,64 +0,0 @@ -package cokr.xit.fims.rent.dao; - -import java.util.List; - -import org.egovframe.rte.psl.dataaccess.mapper.Mapper; - -import cokr.xit.fims.rent.RentQuery; -import cokr.xit.fims.rent.UserRentEntMpng; -import cokr.xit.foundation.component.AbstractMapper; -import cokr.xit.foundation.data.DataObject; - - -/** 사용자 임대 기업 매핑 정보 DAO - * - *

    상세 설명: - * - *

    - * ============ 변경 이력 ============
    - * 2024-07-24   JoJH 최초 작성
    - * ================================
    - * 
    - */ -@Mapper("userRentEntMpngMapper") -public interface UserRentEntMpngMapper extends AbstractMapper { - /**지정한 조건에 따라 사용자 임대 기업 매핑 목록을 조회하여 반환한다.
    - * @param req 사용자 임대 기업 매핑 조회 조건 - * @return 사용자 임대 기업 매핑 목록 - */ - List selectUserRentEntMpngList(RentQuery req); - - /**지정한 조건에 따라 사용자 임대 기업 매핑 객체들을 반환한다. - * @param req 사용자 임대 기업 매핑 조회 조건 - * @return 사용자 임대 기업 매핑 객체 목록 - */ - List selectUserRentEntMpngs(RentQuery req); - - /**사용자 임대 기업 매핑 정보를 등록한다. - * @param params 파라미터 - *
    • "userRentEntMpng" - 사용자 임대 기업 매핑
    • - *
    • "currentUser" - 현재 접속한 사용자
    • - *
    - * @return 저장된 정보수 - */ - int insertUserRentEntMpng(UserRentEntMpng userRentEntMpng); - - /**사용자 임대 기업 매핑 정보를 수정한다. - * @param params 파라미터 - *
    • "userRentEntMpng" - 사용자 임대 기업 매핑
    • - *
    • "currentUser" - 현재 접속한 사용자
    • - *
    - * @return 저장된 정보수 - */ - int updateUserRentEntMpng(UserRentEntMpng userRentEntMpng); - - /**지정한 사용자 임대 기업 매핑을 삭제한다. - * @param params 파라미터 - *
    • "userRentEntMpng" - 사용자 임대 기업 매핑
    • - *
    • "currentUser" - 현재 접속한 사용자
    • - *
    - * @return 저장된 정보수 - */ - int deleteUserRentEntMpng(UserRentEntMpng userRentEntMpng); - -} diff --git a/src/main/java/cokr/xit/fims/rent/service/RentEntService.java b/src/main/java/cokr/xit/fims/rent/service/RentEntService.java deleted file mode 100644 index 2a715b8a..00000000 --- a/src/main/java/cokr/xit/fims/rent/service/RentEntService.java +++ /dev/null @@ -1,66 +0,0 @@ -package cokr.xit.fims.rent.service; - -import java.util.List; - -import cokr.xit.fims.rent.RentEnt; -import cokr.xit.fims.rent.RentQuery; -import cokr.xit.foundation.data.DataObject; - -/**임대 기업 대장 관리 서비스 인터페이스. - * - *

    상세 설명: - * - *

    - * ============ 변경 이력 ============
    - * 2024-07-24   JoJH 최초 작성
    - * ================================
    - * 
    - */ -public interface RentEntService { - - /**지정한 조건에 따라 임대 기업 대장 목록을 조회하여 반환한다. - * @param req 임대 기업 대장 조회 조건 - * @return 임대 기업 대장 목록 - */ - List getRentEntList(RentQuery req); - - /**지정한 조건에 따라 임대 기업 대장 객체들을 반환한다. - * @param req 임대 기업 대장 조회 조건 - * @return 임대 기업 대장 객체 목록 - */ - List getRentEnts(RentQuery req); - - /**지정한 조건에 따라 임대 기업 상세 정보를 조회하여 반환한다. - * @param req 임대 기업 대장 조회 조건 - * @return 임대 기업 상세 정보 - */ - DataObject getRentEntInfo(RentQuery req); - - /**임대 기업 대장 정보를 등록한다. - * @param rentEnt 임대 기업 대장 - * @return 저장 여부 - *
    • 저장됐으면 true
    • - *
    • 그렇지 않으면 false
    • - *
    - */ - String createRentEnt(RentEnt rentEnt); - - /**임대 기업 대장 정보를 수정한다. - * @param rentEnt 임대 기업 대장 - * @return 저장 여부 - *
    • 저장됐으면 true
    • - *
    • 그렇지 않으면 false
    • - *
    - */ - String updateRentEnt(RentEnt rentEnt); - - /**임대 기업 대장 정보를 삭제한다. - * @param rentEnt 임대 기업 대장 - * @return 저장 여부 - *
    • 저장됐으면 true
    • - *
    • 그렇지 않으면 false
    • - *
    - */ - String removeRentEnt(RentEnt rentEnt); - -} diff --git a/src/main/java/cokr/xit/fims/rent/service/bean/RentEntBean.java b/src/main/java/cokr/xit/fims/rent/service/bean/RentEntBean.java deleted file mode 100644 index dcb7d8c0..00000000 --- a/src/main/java/cokr/xit/fims/rent/service/bean/RentEntBean.java +++ /dev/null @@ -1,107 +0,0 @@ -package cokr.xit.fims.rent.service.bean; - -import java.util.List; - -import javax.annotation.Resource; - -import org.springframework.stereotype.Component; - -import cokr.xit.fims.rent.RentEnt; -import cokr.xit.fims.rent.RentQuery; -import cokr.xit.fims.rent.dao.RentEntMapper; -import cokr.xit.foundation.component.AbstractBean; -import cokr.xit.foundation.data.DataObject; - -/**임대 기업 대장 정보 관리 Bean - * - *

    상세 설명: - * - *

    - * ============ 변경 이력 ============
    - * 2024-07-24   JoJH 최초 작성
    - * ================================
    - * 
    - */ -@Component("rentEntBean") -public class RentEntBean extends AbstractBean { - - /** 임대 기업 대장 정보 DAO */ - @Resource(name = "rentEntMapper") - private RentEntMapper rentEntMapper; - - /**지정한 조건에 따라 임대 기업 대장 목록을 조회하여 반환한다. - * @param req 임대 기업 대장 조회 조건 - * @return 임대 기업 대장 목록 - */ - public List getRentEntList(RentQuery req) { - return rentEntMapper.selectRentEntList(req); - } - - /**지정한 조건에 따라 임대 기업 대장 객체들을 반환한다. - * @param req 임대 기업 대장 조회 조건 - * @return 임대 기업 대장 객체 목록 - */ - public List getRentEnts(RentQuery req) { - return rentEntMapper.selectRentEnts(req); - } - - /**지정한 조건에 따라 임대 기업 대장 목록을 조회하여 반환한다. - * @param req 임대 기업 대장 조회 조건 - * @return 임대 기업 대장 목록 - */ - public DataObject getRentEntInfo(RentQuery req) { - return rentEntMapper.selectRentEntInfo(req); - } - - /**임대 기업 대장 정보를 등록한다. - * @param rentEnt 임대 기업 대장 - * @return 저장 여부 - *
    • 저장됐으면 true
    • - *
    • 그렇지 않으면 false
    • - *
    - */ - public String createRentEnt(RentEnt rentEnt) { - // 임대기업(TB_RENT_ENT) 대장을 등록한다. - int rtnNocs = rentEntMapper.insertRentEnt(rentEnt); - if (rtnNocs != 1) { - throw new RuntimeException("임대기업 정보 등록에 실패하였습니다."); // 예외를 발생시켜서 DB Rollback - } - - return "[S] 작업이 정상 처리 되었습니다."; - } - - /**임대 기업 대장 정보를 수정한다. - * @param rentEnt 임대 기업 대장 - * @return 저장 여부 - *
    • 저장됐으면 true
    • - *
    • 그렇지 않으면 false
    • - *
    - */ - public String updateRentEnt(RentEnt rentEnt) { - // 임대기업(TB_RENT_ENT) 대장을 등록한다. - int rtnNocs = rentEntMapper.updateRentEnt(rentEnt); - if (rtnNocs != 1) { - throw new RuntimeException("임대기업 정보 수정에 실패하였습니다."); // 예외를 발생시켜서 DB Rollback - } - - return "[S] 작업이 정상 처리 되었습니다."; - } - - /**임대 기업 대장 정보를 삭제한다. - * @param rentEnt 임대 기업 대장 - * @return 저장 여부 - *
    • 저장됐으면 true
    • - *
    • 그렇지 않으면 false
    • - *
    - */ - public String removeRentEnt(RentEnt rentEnt) { - // 임대기업(TB_RENT_ENT) 대장을 등록한다. - int rtnNocs = rentEntMapper.deleteRentEnt(rentEnt); - if (rtnNocs != 1) { - throw new RuntimeException("임대기업 정보 삭제에 실패하였습니다."); // 예외를 발생시켜서 DB Rollback - } - - return "[S] 작업이 정상 처리 되었습니다."; - } - -} diff --git a/src/main/java/cokr/xit/fims/rent/service/bean/RentEntServiceBean.java b/src/main/java/cokr/xit/fims/rent/service/bean/RentEntServiceBean.java deleted file mode 100644 index 8c0579b1..00000000 --- a/src/main/java/cokr/xit/fims/rent/service/bean/RentEntServiceBean.java +++ /dev/null @@ -1,62 +0,0 @@ -package cokr.xit.fims.rent.service.bean; - -import java.util.List; - -import javax.annotation.Resource; - -import org.springframework.stereotype.Service; - -import cokr.xit.fims.rent.RentEnt; -import cokr.xit.fims.rent.RentQuery; -import cokr.xit.fims.rent.service.RentEntService; -import cokr.xit.foundation.component.AbstractServiceBean; -import cokr.xit.foundation.data.DataObject; - -/**임대 기업 대장 서비스 구현체. - * - *

    상세 설명: - * - *

    - * ============ 변경 이력 ============
    - * 2024-07-24   JoJH 최초 작성
    - * ================================
    - * 
    - */ -@Service("rentEntService") -public class RentEntServiceBean extends AbstractServiceBean implements RentEntService { - - /** 임대 기업 대장 정보 Bean */ - @Resource(name = "rentEntBean") - private RentEntBean rentEntBean; - - @Override - public List getRentEntList(RentQuery req) { - return rentEntBean.getRentEntList(req); - } - - @Override - public List getRentEnts(RentQuery req) { - return rentEntBean.getRentEnts(req); - } - - @Override - public DataObject getRentEntInfo(RentQuery req) { - return rentEntBean.getRentEntInfo(req); - } - - @Override - public String createRentEnt(RentEnt rentEnt) { - return rentEntBean.createRentEnt(rentEnt); - } - - @Override - public String updateRentEnt(RentEnt rentEnt) { - return rentEntBean.updateRentEnt(rentEnt); - } - - @Override - public String removeRentEnt(RentEnt rentEnt) { - return rentEntBean.removeRentEnt(rentEnt); - } - -} diff --git a/src/main/java/cokr/xit/fims/rent/service/bean/UserRentEntMpngBean.java b/src/main/java/cokr/xit/fims/rent/service/bean/UserRentEntMpngBean.java deleted file mode 100644 index 6a1d12ba..00000000 --- a/src/main/java/cokr/xit/fims/rent/service/bean/UserRentEntMpngBean.java +++ /dev/null @@ -1,82 +0,0 @@ -package cokr.xit.fims.rent.service.bean; - -import java.util.List; - -import javax.annotation.Resource; - -import org.springframework.stereotype.Component; - -import cokr.xit.fims.rent.RentQuery; -import cokr.xit.fims.rent.UserRentEntMpng; -import cokr.xit.fims.rent.dao.UserRentEntMpngMapper; -import cokr.xit.foundation.component.AbstractBean; -import cokr.xit.foundation.data.DataObject; - - -/**사용자 임대 기업 매핑 정보 관리 Bean - * - *

    상세 설명: - * - *

    - * ============ 변경 이력 ============
    - * 2024-07-24   JoJH 최초 작성
    - * ================================
    - * 
    - */ -@Component("userRentEntMpngBean") -public class UserRentEntMpngBean extends AbstractBean { - - /** 사용자 임대 기업 매핑 정보 DAO */ - @Resource(name = "userRentEntMpngMapper") - private UserRentEntMpngMapper userRentEntMpngMapper; - - /**지정한 조건에 따라 사용자 임대 기업 매핑 목록을 조회하여 반환한다. - * @param req 사용자 임대 기업 매핑 조회 조건 - * @return 사용자 임대 기업 매핑 목록 - */ - public List getUserRentEntMpngList(RentQuery req) { - return userRentEntMpngMapper.selectUserRentEntMpngList(req); - } - - /**지정한 조건에 따라 사용자 임대 기업 매핑 객체들을 반환한다. - * @param req 사용자 임대 기업 매핑 조회 조건 - * @return 사용자 임대 기업 매핑 객체 목록 - */ - public List getUserRentEntMpngs(RentQuery req) { - return userRentEntMpngMapper.selectUserRentEntMpngs(req); - } - - /**사용자 임대 기업 매핑 정보를 등록한다. - * @param userRentEntMpng 사용자 임대 기업 매핑 - * @return 저장 여부 - *
    • 저장됐으면 true
    • - *
    • 그렇지 않으면 false
    • - *
    - */ - public int createUserRentEntMpng(UserRentEntMpng userRentEntMpng) { - return userRentEntMpngMapper.insertUserRentEntMpng(userRentEntMpng); - } - - /**사용자 임대 기업 매핑 정보를 수정한다. - * @param userRentEntMpng 사용자 임대 기업 매핑 - * @return 저장 여부 - *
    • 저장됐으면 true
    • - *
    • 그렇지 않으면 false
    • - *
    - */ - public int updateUserRentEntMpng(UserRentEntMpng userRentEntMpng) { - return userRentEntMpngMapper.updateUserRentEntMpng(userRentEntMpng); - } - - /**사용자 임대 기업 매핑 정보를 삭제한다. - * @param userRentEntMpng 사용자 임대 기업 매핑 - * @return 저장 여부 - *
    • 저장됐으면 true
    • - *
    • 그렇지 않으면 false
    • - *
    - */ - public int removeUserRentEntMpng(UserRentEntMpng userRentEntMpng) { - return userRentEntMpngMapper.deleteUserRentEntMpng(userRentEntMpng); - } - -} diff --git a/src/main/java/cokr/xit/fims/rent/web/Rent01Controller.java b/src/main/java/cokr/xit/fims/rent/web/Rent01Controller.java deleted file mode 100644 index 970a3502..00000000 --- a/src/main/java/cokr/xit/fims/rent/web/Rent01Controller.java +++ /dev/null @@ -1,262 +0,0 @@ -package cokr.xit.fims.rent.web; - -import java.text.SimpleDateFormat; -import java.util.HashMap; -import java.util.List; -import java.util.Map; - -import javax.annotation.Resource; -import javax.servlet.http.HttpServletRequest; - -import org.apache.poi.ss.usermodel.CellStyle; -import org.springframework.stereotype.Controller; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.servlet.ModelAndView; - -import cokr.xit.base.code.CommonCode; -import cokr.xit.base.docs.xls.CellDef; -import cokr.xit.base.docs.xls.Format; -import cokr.xit.base.docs.xls.Style; -import cokr.xit.base.docs.xls.XLSWriter; -import cokr.xit.base.web.ApplicationController; -import cokr.xit.fims.base.FimsUser; -import cokr.xit.fims.cmmn.service.bean.StngBean; -import cokr.xit.fims.cmmn.xls.FormatMaker; -import cokr.xit.fims.cmmn.xls.StyleMaker; -import cokr.xit.fims.rent.RentEnt; -import cokr.xit.fims.rent.RentQuery; -import cokr.xit.fims.rent.service.RentEntService; -import cokr.xit.fims.task.Task; -import cokr.xit.foundation.data.DataObject; - -/**임대 기업 대장 서비스의 웹 컨트롤러 - * - *

    상세 설명: - * - *

    - * ============ 변경 이력 ============
    - * 2024-07-24   JoJH 최초 작성
    - * ================================
    - * 
    - */ -@Controller -@RequestMapping(name="임대 기업 관리", value=Rent01Controller.CLASS_URL) -public class Rent01Controller extends ApplicationController { - - public static final String CLASS_URL = "/rent/rent01"; - - public class METHOD_URL { - public static final String - rentEnterpriseMain = "/010/main.do" // 임대 기업 관리 메인 화면 - , getRentEnterpriseList = "/010/list.do" // 임대 기업 대장 목록 조회 - , removeRentEnterprise = "/010/remove.do" // 임대 기업 대장 삭제 - , getRentEnterpriseInfo = "/020/info.do" // 임대 기업 대장 상세 조회 - , createRentEnterprise = "/020/create.do" // 임대 기업 대장 등록 - , updateRentEnterprise = "/020/update.do" // 임대 기업 대장 수정 - ; - } - - /**임대 기업 대장 서비스*/ - @Resource(name = "rentEntService") - private RentEntService rentEntService; - - /**설정 정보 Bean */ - @Resource(name = "stngBean") - private StngBean stngBean; - - /**임대 기업 대장 관리 메인화면(fims/rent/rent01010-main)을 연다. - * 조건없는 {@link #getRentEntList(RentEntQuery) 임대 기업 대장 조회 결과}를 포함시킨다. - * @return /rent/rent01010-main - */ - @RequestMapping(name = "임대기업 대장 메인", value=METHOD_URL.rentEnterpriseMain) - public ModelAndView rentEnterpriseMain() { - ModelAndView mav = new ModelAndView("fims/rent/rent01010-main"); - - // 사용자 정보 - FimsUser fimsUser = (FimsUser)currentUser().getUser(); - - return mav - .addObject("pageName", "rent01010") // View(jsp)에서 사용할 id 뒤에 붙일 suffix - .addObject("infoPrefix", "levyExcl") // prefix - .addObject("infoPrefixUrl", CLASS_URL) // prefixUrl - .addObject("sggCd", fimsUser.getOrgID()) // 시군구 코드(SGG_CD) - .addObject("userId", fimsUser.getId()) // 사용자 ID(USER_ID) - .addObject("userAcnt", fimsUser.getAccount()) // 사용자 계정(USER_ACNT) - ; - } - - /**임대 기업 대장 목록을 조회하여 반환한다.
    - * {@link RentEntService#getRentEntList(RentEntQuery)} 참고 - * @param req 임대 기업 대장 조회 조건 - * @return jsonView - *
     {
    -     *     "rentEntList": [임대 기업 대장 목록]
    -     *     "rentEntStart": 임대 기업 대장 목록 시작 인덱스
    -     *     "rentEntFetch": 한 번에 가져오는 임대 기업 대장 목록 수
    -     *     "rentEntTotal": 조회 결과 찾은 전체 임대 기업 대장 수
    -     * }
    - */ - @Task("CMN") - @RequestMapping(name = "임대기업 대장 조회", value=METHOD_URL.getRentEnterpriseList) - public ModelAndView getRentEnterpriseList(RentQuery req) { - if (!"xls".equals(req.getDownload())) { - List result = rentEntService.getRentEntList(setFetchSize(req)); - return setCollectionInfo(new ModelAndView("jsonView"), result, "rentEnt"); - } else { - // 현재 날짜 구하기 - SimpleDateFormat dateFormat = new SimpleDateFormat("yyyyMMddHHmmss"); - String dateTime = dateFormat.format(System.currentTimeMillis()); - - List cellDefs = fromJson(req.getCellDefs(), CellDef.listType()); - - XLSWriter xlsx = new XLSWriter().worksheet(0); - Format format = new Format(xlsx); - CellStyle center = format.cellStyle(Style.CENTER); - CellStyle numeric = format.n_nn0(); - CellStyle dateYMD = format.yyyy_mm_dd(); - CellStyle dateDT = format.yyyy_mm_dd_hh_mm_ss(); - - List list = rentEntService.getRentEntList(req.setFetchSize(0)); - - Map valueMap = new HashMap(); - valueMap.put("업무구분", format.of("TASK_SE_NM").style(center)); - valueMap.put("부과제외일자", FormatMaker.yyyy_mm_dd(format, "LEVY_EXCL_YMD").style(dateYMD)); - valueMap.put("부과제외구분", format.of("LEVY_EXCL_SE_NM").style(center)); - valueMap.put("부과제외사유", format.of("LEVY_EXCL_RSN_NM")); - valueMap.put("기타내용", format.of("ETC_CN")); - valueMap.put("민원신청번호", format.of("CVLCPT_APLY_NO").style(center)); - valueMap.put("민원접수번호", format.of("CVLCPT_RCPT_NO").style(center)); - valueMap.put("민원접수일자", FormatMaker.yyyy_mm_dd(format, "CVLCPT_RCPT_YMD").style(dateYMD)); - valueMap.put("단속일시", FormatMaker.yyyy_mm_dd_hh_mm_ss(format, "CRDN_YMD_TM").style(dateDT)); - valueMap.put("차량번호", format.of("VHRNO")); - valueMap.put("납부자구분", format.of("RTPYR_SE_NM").style(center)); - valueMap.put("납부자번호", format.of("RTPYR_NO").style(center)); - valueMap.put("납부자명", format.of("RTPYR_NM")); - valueMap.put("단속법정동", format.of("CRDN_STDG_NM").style(center)); - valueMap.put("단속장소", format.of("CRDN_PLC")); - valueMap.put("상세단속장소", format.of("DTL_CRDN_PLC")); - valueMap.put("위반항목", format.of("VLTN_ARTCL")); - valueMap.put("단속원금", format.of("FFNLG_CRDN_AMT").style(numeric)); - valueMap.put("처리상태", format.of("CRDN_STTS_NM")); - valueMap.put("단속특별구역", format.of("CRDN_SPAREA_NM").style(center)); - valueMap.put("사용연료", format.of("USE_FUEL_NM").style(center)); - valueMap.put("주차가능여부", format.of("PRK_PSBLTY_RSLT_NM").style(center)); - valueMap.put("우편번호", format.of("ZIP").style(center)); - valueMap.put("주소", format.of("ADDR")); - valueMap.put("상세주소", format.of("DTL_ADDR")); - valueMap.put("등록일시", FormatMaker.yyyy_mm_dd_hh_mm_ss(format, "REG_DT").style(dateDT)); - valueMap.put("등록사용자", format.of("RGTR_NM").style(center)); - valueMap.put("수정일시", FormatMaker.yyyy_mm_dd_hh_mm_ss(format, "MDFCN_DT").style(dateDT)); - valueMap.put("수정사용자", format.of("MDFR_NM").style(center)); - - CellDef.setValues(cellDefs, valueMap); - - xlsx.cell(0, 0).value("부과제외").value(center).merge(0, cellDefs.size() - 1) - .cell(3, 0).rowValues(CellDef.header(cellDefs, () -> StyleMaker.headerStyle(xlsx))) - .cell(4, 0).values(list, CellDef.values(cellDefs.stream().map(i -> {if(i.getValue() instanceof Format) {i.setField(null);}; return i;}).toList())); - - return new ModelAndView("downloadView") - .addObject("download", xlsx.getDownloadable().setFilename("부과제외" + "_목록_" + dateTime + ".xlsx")); - } - } - - /**임대 기업 대장 상세 정보 화면(fims/rent/rent01020-info)을 연다. - * 조건없는 {@link #getRentEntList(RentEntQuery) 임대 기업 대장 조회 결과}를 포함시킨다. - * @return /rentEnt/rentEnt-main - */ - @Task("CMN") - @RequestMapping(name = "임대기업 정보 상세 조회", value=METHOD_URL.getRentEnterpriseInfo) - public ModelAndView getRentEnterpriseInfo(HttpServletRequest hReq, RentQuery req) { - DataObject info = rentEntService.getRentEntInfo(req); - - boolean json = jsonResponse(); - ModelAndView mav = new ModelAndView(json ? "jsonView" : "fims/rent/rent01020-info"); - - // View(jsp)에서 사용할 공통코드를 조회 - Map> commonCodes = getCodesOf("FIM054"); - - return mav - .addObject("openerPageName", hReq.getParameter("openerPageName")) // 호출한 Jsp PageName - .addObject("callPurpose", req.getCallPurpose()) // 호출 용도 - .addObject("pageName", "rent01020") // jsp pageName - .addObject("infoPrefix", "rentEnt") // prefix - .addObject("infoPrefixUrl", CLASS_URL) // prefixUrl - .addObject("FIM054List", commonCodes.get("FIM054")) // 업무 구분 코드(TASK_SE_CD) - .addObject("rentEntInfo", json ? info : toJson(info)) // 임대기업 정보 - ; - } - - /**임대 기업 대장를 등록한다. - * @param rentEnt 임대 기업 대장 정보 - * @return jsonView - *
     {
    -     *     "saved": 등록되었으면 true, 그렇지 않으면 false
    -     * }
    - */ - @Task - @RequestMapping(name = "임대기업 대장 등록", value=METHOD_URL.createRentEnterprise) - public ModelAndView createRentEnterprise(RentEnt rentEnt) { - boolean saved = false; - String rtnMsg = rentEntService.createRentEnt(rentEnt); - - if (rtnMsg.contains("[S]")) { - saved = true; - } else { - saved = false; - } - - return new ModelAndView("jsonView") - .addObject("saved", saved) - .addObject("rtnMsg", rtnMsg); - } - - /**임대 기업 대장 정보를 수정한다. - * @param rentEnt 임대 기업 대장 정보 - * @return jsonView - *
     {
    -     *     "saved": 수정되었으면 true, 그렇지 않으면 false
    -     * }
    - */ - @Task - @RequestMapping(name = "임대기업 대장 수정", value=METHOD_URL.updateRentEnterprise) - public ModelAndView updateRentEnterprise(RentEnt rentEnt) { - boolean saved = false; - String rtnMsg = rentEntService.updateRentEnt(rentEnt); - - if (rtnMsg.contains("[S]")) { - saved = true; - } else { - saved = false; - } - - return new ModelAndView("jsonView") - .addObject("saved", saved) - .addObject("rtnMsg", rtnMsg); - } - - /**지정한 임대 기업 대장를 제거한다. - * @param rentEntIDs 임대 기업 대장 아이디 - * @return jsonView - *
     {
    -     *     "affected": 저장된 정보수
    -     *     "saved": 저장되었으면 true, 그렇지 않으면 false
    -     * }
    - */ - @Task - @RequestMapping(name = "임대기업 대장 제거", value=METHOD_URL.removeRentEnterprise) - public ModelAndView removeRentEnterprise(RentEnt rentEnt) { - boolean saved = false; - String rtnMsg = rentEntService.removeRentEnt(rentEnt); - - if (rtnMsg.contains("[S]")) { - saved = true; - } else { - saved = false; - } - - return new ModelAndView("jsonView") - .addObject("saved", saved) - .addObject("rtnMsg", rtnMsg); - } - -} diff --git a/src/main/java/cokr/xit/fims/sndb/SndbQuery.java b/src/main/java/cokr/xit/fims/sndb/SndbQuery.java deleted file mode 100644 index 9400ddab..00000000 --- a/src/main/java/cokr/xit/fims/sndb/SndbQuery.java +++ /dev/null @@ -1,648 +0,0 @@ -package cokr.xit.fims.sndb; - -import cokr.xit.fims.cmmn.CmmnQuery; - -/**발송 대장 정보 조회 요청 - * - *

    상세 설명: - * - *

    - * ============ 변경 이력 ============
    - * 2023-08-24	JoJH 최초 작성
    - * ================================
    - * 
    - */ -public class SndbQuery extends CmmnQuery { - - private static final long serialVersionUID = 1L; - - // ID - private String[] crdnIds; // 단속 Ids - private String crdnId; // 단속 ID - private String[] levyIds; // 부과 Ids - private String levyId; // 부과 ID - private String[] sndngIds; // 발송 Ids - private String sndngId; // 발송 ID - private String[] sndngDtlIds; // 발송 상세 Ids - private String sndngDtlId; // 발송 상세 ID - private String[] svbtcIds; // 공시송달 Ids - private String svbtcId; // 공시송달 ID - // 검색 조건 - private String schLevyExclYmdFrom; // 부과제외 일자 시작 - private String schLevyExclYmdTo; // 부과제외 일자 종료 - private String schLevyExclSeCd; // 부과제외 구분 코드 - private String schLevyExclRsnCd; // 부과제외 사유 코드 - private String schVltnCd; // 위반 코드 - private String schCrdnYmdFrom; // 단속 일자 시작 - private String schCrdnYmdTo; // 단속 일자 종료 - private String schVhrno; // 차량번호 - private String schRtpyrNo; // 납부자 번호 - private String schRtpyrNm; // 납부자 명 - private String schSndngRegSeCd; // 발송 등록 구분 코드 - private String schSndngSeCd; // 발송 구분 코드 - private String schSndngYmd; // 발송 일자 - private String schSndngYmdFrom; // 발송 일자 시작 - private String schSndngYmdTo; // 발송 일자 종료 - private String schRcpnNm; // 수령인 명 - private String schDlvrYmdFrom; // 배달 일자 시작 - private String schDlvrYmdTo; // 배달 일자 종료 - private String schRgNo; // 등기번호 - private String schSvbtcYmdFrom; // 공시송달 일자 시작 - private String schSvbtcYmdTo; // 공시송달 일자 종료 - private String schUndlvrRsnCd; // 미배달 사유 코드 - private String schChcRgIndct; // 선택 등기 표시 - private String schLevyYmd; // 부과일자 - private String schFrstDudtYmd; // 최초납기일자 - private String schFyr; // 회계연도 - private String schLevyNoFrom; // 부과번호 시작 - private String schLevyNoTo; // 부과번호 종료 - - // 상세 검색 조건 - - // 동적 검색 조건 - private String levyExclSeCd; // 부과 제외 구분 코드 - private String levyExclSeNm; // 부과 제외 구분 명 - private String vltnCd; // 위반 코드 - private String vhrno; // 차량번호 - private String rtpyrNm; // 납부자 명 - private String crdnSttsCd; // 단속 상태 코드 - private String crdnSttsCdFrom; // 단속 상태 코드 시작 - private String crdnSttsCdTo; // 단속 상태 코드 종료 - private String sndngSeCd; // 발송 구분 코드 - private String sndngSeCdFrom; // 발송 구분 코드 시작 - private String sndngSeCdTo; // 발송 구분 코드 종료 - private String sndngDtlSttsCd; // 발송 상세 상태 코드 - private String rcpnRelNm1; - private String rcpnRelNm2; - private String rcpnRelNm3; - private String rcpnRelNm4; - private String tnocs; // 총건수 - private String printDocNo; // 출력 문서 번호 - private String printTtlNm; // 출력 제목 명 - private String printSvbtcDate; // 출력 공고 기한 - // ETC - private String callPurpose; // infoDialog 호출 용도(view 조회(편집불가), create 등록, update 수정, refresh 재조회). - private String delRsn; // 삭제 사유 - private String crdnDelYn; // 단속 삭제 여부 - - public String[] getCrdnIds() { - return ifEmpty(crdnIds, () -> null); - } - - public T setCrdnIds(String... crdnIds) { - this.crdnIds = crdnIds; - return self(); - } - - public String getCrdnId() { - return ifEmpty(crdnId, () -> null); - } - - public T setCrdnId(String crdnId) { - this.crdnId = crdnId; - return self(); - } - - - public String[] getLevyIds() { - return ifEmpty(levyIds, () -> null); - } - - public T setLevyIds(String... levyIds) { - this.levyIds = levyIds; - return self(); - } - - public String getLevyId() { - return ifEmpty(levyId, () -> null); - } - - public T setLevyId(String levyId) { - this.levyId = levyId; - return self(); - } - - public String[] getSndngIds() { - return ifEmpty(sndngIds, () -> null); - } - - public T setSndngIds(String... sndngIds) { - this.sndngIds = sndngIds; - return self(); - } - - public String getSndngId() { - return ifEmpty(sndngId, () -> null); - } - - public T setSndngId(String sndngId) { - this.sndngId = sndngId; - return self(); - } - - public String[] getSndngDtlIds() { - return ifEmpty(sndngDtlIds, () -> null); - } - - public T setSndngDtlIds(String... sndngDtlIds) { - this.sndngDtlIds = sndngDtlIds; - return self(); - } - - public String getSndngDtlId() { - return ifEmpty(sndngDtlId, () -> null); - } - - public T setSndngDtlId(String sndngDtlId) { - this.sndngDtlId = sndngDtlId; - return self(); - } - - public String[] getSvbtcIds() { - return ifEmpty(svbtcIds, () -> null); - } - - public T setSvbtcIds(String... svbtcIds) { - this.svbtcIds = svbtcIds; - return self(); - } - - public String getSvbtcId() { - return ifEmpty(svbtcId, () -> null); - } - - public T setSvbtcId(String svbtcId) { - this.svbtcId = svbtcId; - return self(); - } - - public String getSchLevyExclYmdFrom() { - return ifEmpty(schLevyExclYmdFrom, () -> null); - } - - public T setSchLevyExclYmdFrom(String schLevyExclYmdFrom) { - this.schLevyExclYmdFrom = schLevyExclYmdFrom; - return self(); - } - - public String getSchLevyExclYmdTo() { - return ifEmpty(schLevyExclYmdTo, () -> null); - } - - public T setSchLevyExclYmdTo(String schLevyExclYmdTo) { - this.schLevyExclYmdTo = schLevyExclYmdTo; - return self(); - } - - public String getSchLevyExclSeCd() { - return ifEmpty(schLevyExclSeCd, () -> null); - } - - public T setSchLevyExclSeCd(String schLevyExclSeCd) { - this.schLevyExclSeCd = schLevyExclSeCd; - return self(); - } - - public String getSchLevyExclRsnCd() { - return ifEmpty(schLevyExclRsnCd, () -> null); - } - - public T setSchLevyExclRsnCd(String schLevyExclRsnCd) { - this.schLevyExclRsnCd = schLevyExclRsnCd; - return self(); - } - - public String getSchVltnCd() { - return ifEmpty(schVltnCd, () -> null); - } - - public T setSchVltnCd(String schVltnCd) { - this.schVltnCd = schVltnCd; - return self(); - } - - public String getSchCrdnYmdFrom() { - return ifEmpty(schCrdnYmdFrom, () -> null); - } - - public T setSchCrdnYmdFrom(String schCrdnYmdFrom) { - this.schCrdnYmdFrom = schCrdnYmdFrom; - return self(); - } - - public String getSchCrdnYmdTo() { - return ifEmpty(schCrdnYmdTo, () -> null); - } - - public T setSchCrdnYmdTo(String schCrdnYmdTo) { - this.schCrdnYmdTo = schCrdnYmdTo; - return self(); - } - - public String getSchVhrno() { - return ifEmpty(schVhrno, () -> null); - } - - public T setSchVhrno(String schVhrno) { - this.schVhrno = schVhrno; - return self(); - } - - public String getSchRtpyrNo() { - return ifEmpty(schRtpyrNo, () -> null); - } - - public T setSchRtpyrNo(String schRtpyrNo) { - this.schRtpyrNo = schRtpyrNo; - return self(); - } - - public String getSchRtpyrNm() { - return ifEmpty(schRtpyrNm, () -> null); - } - - public T setSchRtpyrNm(String schRtpyrNm) { - this.schRtpyrNm = schRtpyrNm; - return self(); - } - - public String getSchSndngRegSeCd() { - return ifEmpty(schSndngRegSeCd, () -> null); - } - - public T setSchSndngRegSeCd(String schSndngRegSeCd) { - this.schSndngRegSeCd = schSndngRegSeCd; - return self(); - } - - public String getSchSndngSeCd() { - return ifEmpty(schSndngSeCd, () -> null); - } - - public T setSchSndngSeCd(String schSndngSeCd) { - this.schSndngSeCd = schSndngSeCd; - return self(); - } - - public String getSchSndngYmd() { - return ifEmpty(schSndngYmd, () -> null); - } - - public T setSchSndngYmd(String schSndngYmd) { - this.schSndngYmd = schSndngYmd; - return self(); - } - - public String getSchSndngYmdFrom() { - return ifEmpty(schSndngYmdFrom, () -> null); - } - - public T setSchSndngYmdFrom(String schSndngYmdFrom) { - this.schSndngYmdFrom = schSndngYmdFrom; - return self(); - } - - public String getSchSndngYmdTo() { - return ifEmpty(schSndngYmdTo, () -> null); - } - - public T setSchSndngYmdTo(String schSndngYmdTo) { - this.schSndngYmdTo = schSndngYmdTo; - return self(); - } - - public String getSchRcpnNm() { - return ifEmpty(schRcpnNm, () -> null); - } - - public T setSchRcpnNm(String schRcpnNm) { - this.schRcpnNm = schRcpnNm; - return self(); - } - - public String getSchDlvrYmdFrom() { - return ifEmpty(schDlvrYmdFrom, () -> null); - } - - public T setSchDlvrYmdFrom(String schDlvrYmdFrom) { - this.schDlvrYmdFrom = schDlvrYmdFrom; - return self(); - } - - public String getSchDlvrYmdTo() { - return ifEmpty(schDlvrYmdTo, () -> null); - } - - public T setSchDlvrYmdTo(String schDlvrYmdTo) { - this.schDlvrYmdTo = schDlvrYmdTo; - return self(); - } - - public String getSchRgNo() { - return ifEmpty(schRgNo, () -> null); - } - - public T setSchRgNo(String schRgNo) { - this.schRgNo = schRgNo; - return self(); - } - - public String getSchSvbtcYmdFrom() { - return ifEmpty(schSvbtcYmdFrom, () -> null); - } - - public T setSchSvbtcYmdFrom(String schSvbtcYmdFrom) { - this.schSvbtcYmdFrom = schSvbtcYmdFrom; - - return self(); - } - - public String getSchSvbtcYmdTo() { - return ifEmpty(schSvbtcYmdTo, () -> null); - } - - public T setSchSvbtcYmdTo(String schSvbtcYmdTo) { - this.schSvbtcYmdTo = schSvbtcYmdTo; - - return self(); - } - - public String getSchUndlvrRsnCd() { - return ifEmpty(schUndlvrRsnCd, () -> null); - } - - public T setSchUndlvrRsnCd(String schUndlvrRsnCd) { - this.schUndlvrRsnCd = schUndlvrRsnCd; - return self(); - } - - public String getSchChcRgIndct() { - return ifEmpty(schChcRgIndct, () -> null); - } - - public T setSchChcRgIndct(String schChcRgIndct) { - this.schChcRgIndct = schChcRgIndct; - return self(); - } - - public String getSchLevyYmd() { - return ifEmpty(schLevyYmd, () -> null); - } - - public T setSchLevyYmd(String schLevyYmd) { - this.schLevyYmd = schLevyYmd; - return self(); - } - - public String getSchFrstDudtYmd() { - return ifEmpty(schFrstDudtYmd, () -> null); - } - - public T setSchFrstDudtYmd(String schFrstDudtYmd) { - this.schFrstDudtYmd = schFrstDudtYmd; - return self(); - } - - public String getSchFyr() { - return ifEmpty(schFyr, () -> null); - } - - public T setSchFyr(String schFyr) { - this.schFyr = schFyr; - return self(); - } - - public String getSchLevyNoFrom() { - return ifEmpty(schLevyNoFrom, () -> null); - } - - public T setSchLevyNoFrom(String schLevyNoFrom) { - this.schLevyNoFrom = schLevyNoFrom; - return self(); - } - - public String getSchLevyNoTo() { - return ifEmpty(schLevyNoTo, () -> null); - } - - public T setSchLevyNoTo(String schLevyNoTo) { - this.schLevyNoTo = schLevyNoTo; - return self(); - } - - // 상세 검색 조건 /////////////////////////////////////////////////////////////// - - // 상세 검색 조건 /////////////////////////////////////////////////////////////// - - // 동적 검색 조건 /////////////////////////////////////////////////////////////// - public String getLevyExclSeNm() { - return ifEmpty(levyExclSeNm, () -> null); - } - - public T setLevyExclSeNm(String levyExclSeNm) { - this.levyExclSeNm = levyExclSeNm; - return self(); - } - - public String getVltnCd() { - return ifEmpty(vltnCd, () -> null); - } - - public T setVltnCd(String vltnCd) { - this.vltnCd = vltnCd; - return self(); - } - - public String getVhrno() { - return ifEmpty(vhrno, () -> null); - } - - public T setVhrno(String vhrno) { - this.vhrno = vhrno; - return self(); - } - - public String getRtpyrNm() { - return ifEmpty(rtpyrNm, () -> null); - } - - public T setRtpyrNm(String rtpyrNm) { - this.rtpyrNm = rtpyrNm; - return self(); - } - - public String getLevyExclSeCd() { - return ifEmpty(levyExclSeCd, () -> null); - } - - public T setLevyExclSeCd(String levyExclSeCd) { - this.levyExclSeCd = levyExclSeCd; - return self(); - } - - public String getCrdnSttsCd() { - return ifEmpty(crdnSttsCd, () -> null); - } - - public T setCrdnSttsCd(String crdnSttsCd) { - this.crdnSttsCd = crdnSttsCd; - return self(); - } - - public String getCrdnSttsCdFrom() { - return ifEmpty(crdnSttsCdFrom, () -> null); - } - - public T setCrdnSttsCdFrom(String crdnSttsCdFrom) { - this.crdnSttsCdFrom = crdnSttsCdFrom; - return self(); - } - - public String getCrdnSttsCdTo() { - return ifEmpty(crdnSttsCdTo, () -> null); - } - - public T setCrdnSttsCdTo(String crdnSttsCdTo) { - this.crdnSttsCdTo = crdnSttsCdTo; - return self(); - } - - public String getSndngSeCd() { - return ifEmpty(sndngSeCd, () -> null); - } - - public T setSndngSeCd(String sndngSeCd) { - this.sndngSeCd = sndngSeCd; - return self(); - } - - public String getSndngSeCdFrom() { - return ifEmpty(sndngSeCdFrom, () -> null); - } - - public T setSndngSeCdFrom(String sndngSeCdFrom) { - this.sndngSeCdFrom = sndngSeCdFrom; - return self(); - } - - public String getSndngSeCdTo() { - return ifEmpty(sndngSeCdTo, () -> null); - } - - public T setSndngSeCdTo(String sndngSeCdTo) { - this.sndngSeCdTo = sndngSeCdTo; - return self(); - } - - public String getSndngDtlSttsCd() { - return ifEmpty(sndngDtlSttsCd, () -> null); - } - - public T setSndngDtlSttsCd(String sndngDtlSttsCd) { - this.sndngDtlSttsCd = sndngDtlSttsCd; - return self(); - } - - public String getRcpnRelNm1() { - return ifEmpty(rcpnRelNm1, () -> null); - } - - public T setRcpnRelNm1(String rcpnRelNm1) { - this.rcpnRelNm1 = rcpnRelNm1; - return self(); - } - - public String getRcpnRelNm2() { - return ifEmpty(rcpnRelNm2, () -> null); - } - - public T setRcpnRelNm2(String rcpnRelNm2) { - this.rcpnRelNm2 = rcpnRelNm2; - return self(); - } - - public String getRcpnRelNm3() { - return ifEmpty(rcpnRelNm3, () -> null); - } - - public T setRcpnRelNm3(String rcpnRelNm3) { - this.rcpnRelNm3 = rcpnRelNm3; - return self(); - } - - public String getRcpnRelNm4() { - return ifEmpty(rcpnRelNm4, () -> null); - } - - public T setRcpnRelNm4(String rcpnRelNm4) { - this.rcpnRelNm4 = rcpnRelNm4; - return self(); - } - - public String getTnocs() { - return ifEmpty(tnocs, () -> null); - } - - public T setTnocs(String tnocs) { - this.tnocs = tnocs; - return self(); - } - - public String getPrintDocNo() { - return ifEmpty(printDocNo, () -> null); - } - - public T setPrintDocNo(String printDocNo) { - this.printDocNo = printDocNo; - return self(); - } - - public String getPrintTtlNm() { - return ifEmpty(printTtlNm, () -> null); - } - - public T setPrintTtlNm(String printTtlNm) { - this.printTtlNm = printTtlNm; - return self(); - } - - public String getPrintSvbtcDate() { - return ifEmpty(printSvbtcDate, () -> null); - } - - public T setPrintSvbtcDate(String printSvbtcDate) { - this.printSvbtcDate = printSvbtcDate; - return self(); - } - // 동적 검색 조건 /////////////////////////////////////////////////////////////// - - // ETC ///////////////////////////////////////////////////////////////////// - public String getCallPurpose() { - return ifEmpty(callPurpose, () -> null); - } - - public T setCallPurpose(String callPurpose) { - this.callPurpose = callPurpose; - return self(); - } - - public String getDelRsn() { - return ifEmpty(delRsn, () -> null); - } - - public T setDelRsn(String delRsn) { - this.delRsn = delRsn; - return self(); - } - - public String getCrdnDelYn() { - return ifEmpty(crdnDelYn, () -> null); - } - - public T setCrdnDelYn(String crdnDelYn) { - this.crdnDelYn = crdnDelYn; - return self(); - } - // ETC ///////////////////////////////////////////////////////////////////// - -} diff --git a/src/main/java/cokr/xit/fims/sndb/Sndng.java b/src/main/java/cokr/xit/fims/sndb/Sndng.java deleted file mode 100644 index 6abb1eff..00000000 --- a/src/main/java/cokr/xit/fims/sndb/Sndng.java +++ /dev/null @@ -1,155 +0,0 @@ -package cokr.xit.fims.sndb; - -import cokr.xit.foundation.AbstractEntity; -import lombok.Getter; -import lombok.Setter; - -/** - * 발송 대장 - * @author JoJH - */ -@Getter -@Setter -public class Sndng extends AbstractEntity { - - /** - * 발송 ID - */ - private String sndngId; - - /** - * 시군구 코드 - */ - private String sggCd; - - /** - * 업무 구분 코드 - */ - private String taskSeCd; - - /** - * 부서 코드 - */ - private String deptCd; - - /** - * 발송 등록 구분 코드 - */ - private String sndngRegSeCd; - - /** - * 발송 구분 코드 - */ - private String sndngSeCd; - - /** - * 위반 ID - */ - private String vltnId; - - /** - * 위반 코드 - */ - private String vltnCd; - - /** - * 부과 시작 일자 - */ - private String levyBgngYmd; - - /** - * 부과 종료 일자 - */ - private String levyEndYmd; - - /** - * 발송 일자 - */ - private String sndngYmd; - - /** - * 발송 종료 일자 - */ - private String sndngEndYmd; - - /** - * 제목 명 - */ - private String ttlNm; - - /** - * 문서 번호 - */ - private String docNo; - - /** - * 기타 내용 - */ - private String etcCn; - - /** - * 총건수 - */ - private Integer tnocs; - - /** - * 총금액 - */ - private Long gramt; - - /** - * 외부연계식별키 - */ - private String conKey; - - /** - * 취급 구분 - */ - private String divKb; - - /** - * 전자우편 안내문 ID - */ - private String epostNoticeId; - - /** - * 발송 상태 코드 - */ - private String sndngSttsCd; - - /** - * 재발송 여부 - */ - private String rsndYn; - - /** - * 삭제 여부 - */ - private String delYn; - - /** - * 삭제 사유 - */ - private String delRsn; - - /** - * 발송 Ids - */ - private String[] sndngIds; - - /** - * 단속 Ids - */ - private String[] crdnIds; - - /** - * 발송 상세 Ids - */ - private String[] sndngDtlIds; - - /** - * 우편 발송 구분 코드 - 0:일반 1:등기 - */ - private String postSndngSeCd; - -} diff --git a/src/main/java/cokr/xit/fims/sndb/SndngDtl.java b/src/main/java/cokr/xit/fims/sndb/SndngDtl.java deleted file mode 100644 index 31c8a92f..00000000 --- a/src/main/java/cokr/xit/fims/sndb/SndngDtl.java +++ /dev/null @@ -1,456 +0,0 @@ -package cokr.xit.fims.sndb; - -import cokr.xit.foundation.AbstractEntity; -import lombok.Getter; -import lombok.Setter; - -/** - * 발송 대장 - * @author JoJH - */ -@Getter -@Setter -public class SndngDtl extends AbstractEntity { - - /** - * 발송 상세 ID - */ - private String sndngDtlId; - - /** - * 발송 ID - */ - private String sndngId; - - /** - * 단속 ID - */ - private String crdnId; - - /** - * 공시송달 ID - */ - private String svbtcId; - - /** - * 연계 대상 코드 - */ - private String linkTrgtCd; - - /** - * 연계 관리 키 - */ - private String linkMngKey; - - /** - * 발송 구분 코드 - */ - private String sndngSeCd; - - /** - * 발송 일자 - */ - private String sndngYmd; - - /** - * 발송 종료 일자 - */ - private String sndngEndYmd; - - /** - * 수령인 명 - */ - private String rcpnNm; - - /** - * 수령인 생년월일 - */ - private String rcpnBrdt; - - /** - * 수령인 주소 - */ - private String rcpnAddr; - - /** - * 수령인 상세 주소 - */ - private String rcpnDtlAddr; - - /** - * 수령인 우편번호 - */ - private String rcpnZip; - - /** - * 외부연계식별키 - */ - private String conKey; - - /** - * 등기 번호 - */ - private String rgNo; - - /** - * 배달 일자 - */ - private String dlvrYmd; - - /** - * 배달 시각 - */ - private String dlvrTm; - - /** - * 미배달 사유 코드 - */ - private String undlvrRsnCd; - - /** - * 미배달 사유 명 - */ - private String undlvrRsnNm; - - /** - * 실제 수령인 명 - */ - private String actlRcpnNm; - - /** - * 수령인 관계 명 - */ - private String rcpnRelNm; - - /** - * 발송 상세 상태 코드 - */ - private String sndngDtlSttsCd; - - /** - * 전 발송 상세 상태 코드 - */ - private String bfrSndngDtlSttsCd; - - /** - * 전 배달 일자 - */ - private String bfrDlvrYmd; - - /** - * 전 배달 시간 - */ - private String bfrDlvrHr; - - /** - * 발송 수납 코드 - */ - private String sndngRcvmtCd; - - /** - * 주소 변경 코드 - */ - private String addrChgCd; - - /** - * 단속 일시 - */ - private String crdnDt; - - /** - * 차량번호 - */ - private String vhrno; - - /** - * 단속 법정동 명 - */ - private String crdnStdgNm; - - /** - * 단속 장소 - */ - private String crdnPlc; - - /** - * 회계연도 - */ - private String fyr; - - /** - * 부과 번호 - */ - private String levyNo; - - /** - * 부과 일자 - */ - private String levyYmd; - - /** - * 납기 일자 - */ - private String dudtYmd; - - /** - * 납기 후 일자 - */ - private String dudtAftrYmd; - - /** - * 과태료 금액 - */ - private Integer ffnlgAmt; - - /** - * 본세 - */ - private Integer pcptax; - - /** - * 가산금 - */ - private Integer adamt; - - /** - * 합계 금액 - */ - private Integer sumAmt; - - /** - * 납기 후 금액 - */ - private Integer dudtAftrAmt; - - /** - * 납세 번호 - */ - private String taxNo; - - /** - * 전자납부번호 - */ - private String epayno; - - /** - * 은행 명 - */ - private String bankNm; - - /** - * 가상 계좌번호 - */ - private String vrActno; - - /** - * 은행 명2 - */ - private String bankNm2; - - /** - * 가상 계좌번호2 - */ - private String vrActno2; - - /** - * 은행 명3 - */ - private String bankNm3; - - /** - * 가상 계좌번호3 - */ - private String vrActno3; - - /** - * 은행 명4 - */ - private String bankNm4; - - /** - * 가상 계좌번호4 - */ - private String vrActno4; - - /** - * 은행 명5 - */ - private String bankNm5; - - /** - * 가상 계좌번호5 - */ - private String vrActno5; - - /** - * 은행 명6 - */ - private String bankNm6; - - /** - * 가상 계좌번호6 - */ - private String vrActno6; - - /** - * 은행 명7 - */ - private String bankNm7; - - /** - * 가상 계좌번호7 - */ - private String vrActno7; - - /** - * 은행 명8 - */ - private String bankNm8; - - /** - * 가상 계좌번호8 - */ - private String vrActno8; - - /** - * 은행 명9 - */ - private String bankNm9; - - /** - * 가상 계좌번호9 - */ - private String vrActno9; - - /** - * 은행 명10 - */ - private String bankNm10; - - /** - * 가상 계좌번호10 - */ - private String vrActno10; - - /** - * 은행 명11 - */ - private String bankNm11; - - /** - * 가상 계좌번호11 - */ - private String vrActno11; - - /** - * 은행 명12 - */ - private String bankNm12; - - /** - * 가상 계좌번호12 - */ - private String vrActno12; - - /** - * 은행 명13 - */ - private String bankNm13; - - /** - * 가상 계좌번호13 - */ - private String vrActno13; - - /** - * 은행 명14 - */ - private String bankNm14; - - /** - * 가상 계좌번호14 - */ - private String vrActno14; - - /** - * 은행 명15 - */ - private String bankNm15; - - /** - * 가상 계좌번호15 - */ - private String vrActno15; - - /** - * 은행 명16 - */ - private String bankNm16; - - /** - * 가상 계좌번호16 - */ - private String vrActno16; - - /** - * 은행 명17 - */ - private String bankNm17; - - /** - * 가상 계좌번호17 - */ - private String vrActno17; - - /** - * 은행 명18 - */ - private String bankNm18; - - /** - * 가상 계좌번호18 - */ - private String vrActno18; - - /** - * 은행 명19 - */ - private String bankNm19; - - /** - * 가상 계좌번호19 - */ - private String vrActno19; - - /** - * 은행 명20 - */ - private String bankNm20; - - /** - * 가상 계좌번호20 - */ - private String vrActno20; - - /** - * 삭제 여부 - */ - private String delYn; - - /** - * 삭제 사유 - */ - private String delRsn; - - // 추가 ///////////////////////////////////////////////////////////////////// - /** - * 발송 상세 Ids - */ - private String[] sndngDtlIds; - - /** - * 시군구 코드 - */ - private String sggCd; - -} diff --git a/src/main/java/cokr/xit/fims/sndb/SndngHstry.java b/src/main/java/cokr/xit/fims/sndb/SndngHstry.java deleted file mode 100644 index 211f478f..00000000 --- a/src/main/java/cokr/xit/fims/sndb/SndngHstry.java +++ /dev/null @@ -1,76 +0,0 @@ -package cokr.xit.fims.sndb; - -import cokr.xit.foundation.AbstractEntity; -import lombok.Getter; -import lombok.Setter; - -/** - * 발송 이력 - * @author JoJH - */ -@Getter -@Setter -public class SndngHstry extends AbstractEntity { - - /** - * 발송 이력 ID - */ - private String sndngHstryId; - - /** - * 발송 상세 ID - */ - private String sndngDtlId; - - /** - * 외부연계식별키 - */ - private String conKey; - - /** - * 등기 번호 - */ - private String rgNo; - - /** - * 배달 일자 - */ - private String dlvrYmd; - - /** - * 배달 시각 - */ - private String dlvrTm; - - /** - * 실제 수령인 명 - */ - private String actlRcpnNm; - - /** - * 수령인 관계 코드 - */ - private String rcpnRelCd; - - /** - * 수령인 관계 명 - */ - private String rcpnRelNm; - - /** - * 배달 결과 코드 - */ - private String dlvrRsltCd; - - /** - * 미배달 사유 코드 - */ - private String undlvrRsnCd; - - /** - * 미배달 사유 명 - */ - private String undlvrRsnNm; - -} - diff --git a/src/main/java/cokr/xit/fims/sndb/Svbtc.java b/src/main/java/cokr/xit/fims/sndb/Svbtc.java deleted file mode 100644 index af107aed..00000000 --- a/src/main/java/cokr/xit/fims/sndb/Svbtc.java +++ /dev/null @@ -1,91 +0,0 @@ -package cokr.xit.fims.sndb; - -import cokr.xit.foundation.AbstractEntity; -import lombok.Getter; -import lombok.Setter; - -/** - * 발송 대장 - * @author JoJH - */ -@Getter -@Setter -public class Svbtc extends AbstractEntity { - - /** - * 공시송달 ID - */ - private String svbtcId; - - /** - * 시군구 코드 - */ - private String sggCd; - - /** - * 업무 구분 코드 - */ - private String taskSeCd; - - /** - * 발송 구분 코드 - */ - private String sndngSeCd; - - /** - * 공시송달 일자 - */ - private String svbtcYmd; - - /** - * 공시송달 종료 일자 - */ - private String svbtcEndYmd; - - /** - * 제목 명 - */ - private String ttlNm; - - /** - * 문서 번호 - */ - private String docNo; - - /** - * 기타 내용 - */ - private String etcCn; - - /** - * 총건수 - */ - private Integer tnocs; - - /** - * 삭제 여부 - */ - private String delYn; - - /** - * 삭제 사유 - */ - private String delRsn; - - // 추가 ///////////////////////////////////////////////////////////////////// - /** - * 공시송달 Ids - */ - private String[] svbtcIds; - - /** - * 발송 상세 Ids - */ - private String[] sndngDtlIds; - - /** - * 발송 상세 ID - */ - private String sndngDtlId; - -} diff --git a/src/main/java/cokr/xit/fims/sndb/dao/SndngDtlMapper.java b/src/main/java/cokr/xit/fims/sndb/dao/SndngDtlMapper.java deleted file mode 100644 index 12bfe9f5..00000000 --- a/src/main/java/cokr/xit/fims/sndb/dao/SndngDtlMapper.java +++ /dev/null @@ -1,220 +0,0 @@ -package cokr.xit.fims.sndb.dao; - -import java.util.List; - -import org.egovframe.rte.psl.dataaccess.mapper.Mapper; - -import cokr.xit.foundation.component.AbstractMapper; -import cokr.xit.foundation.data.DataObject; -import cokr.xit.fims.crdn.Crdn; -import cokr.xit.fims.sndb.SndbQuery; -import cokr.xit.fims.sndb.SndngDtl; - -/** 발송 상세 정보 DAO - * - *

    상세 설명: - * - *

    - * ============ 변경 이력 ============
    - * 2023-12-27	JoJH 최초 작성
    - * ================================
    - * 
    - */ -@Mapper("sndngDtlMapper") -public interface SndngDtlMapper extends AbstractMapper { - - /**지정한 조건에 따라 발송 상세 목록을 조회하여 반환한다.
    - * @param req 발송 상세 조회 조건 - * @return 발송 상세 목록 - */ - List selectSndngDtlList(SndbQuery req); - - /**지정한 조건에 따라 발송 상세 객체들을 반환한다. - * @param req 발송 상세 조회 조건 - * @return 발송 상세 객체 목록 - */ - List selectSndngDtls(SndbQuery req); - - /**지정한 조건에 따라 부과제외 대장 정보를 조회하여 반환한다. - * @param req 부과제외 대장 조회 조건 - * @return 부과제외 대장 정보 - */ - default DataObject selectSndngDtlInfo(SndbQuery req) { - // 삭제 여부 확인 - if (req.getDelYn() == null) { - req.setDelYn("N"); - } - // 기본 정렬 - if (req.getOrderBy() == null) { - req.setOrderBy("SD.SNDNG_DTL_ID DESC"); - } - - List sndngDtls = selectSndngDtls(req); - - return !sndngDtls.isEmpty() ? sndngDtls.get(0) : null; - } - - /**발송 ID에 따라 발송 상세 ID를 반환한다. - * @param req 발송 상세 조회 조건 - * @return 발송 상세 객체 목록 - */ - List selectSndngTrgtDtlIds(SndbQuery req); - - /**발송 상세 정보를 등록한다. - * @param params 파라미터 - *
    • "sndngDtl" - 발송 상세
    • - *
    • "currentUser" - 현재 접속한 사용자
    • - *
    - * @return 저장된 정보수 - */ - int insertSndngDtl(SndngDtl sndngDtl); - - /**발송 상세 정보를 수정한다. - * @param params 파라미터 - *
    • "sndngDtl" - 발송 상세
    • - *
    • "currentUser" - 현재 접속한 사용자
    • - *
    - * @return 저장된 정보수 - */ - int updateSndngDtl(SndngDtl sndngDtl); - - /**지정한 발송 상세을 삭제한다. - * @param params 파라미터 - *
    • "sndngDtl" - 발송 상세
    • - *
    • "currentUser" - 현재 접속한 사용자
    • - *
    - * @return 저장된 정보수 - */ - int deleteSndngDtl(SndngDtl sndngDtl); - - /**발송 상세 정보의 발송 상세 상태 코드를 수정한다. - * @param params 파라미터 - *
    • "sndngDtl" - 발송 상세
    • - *
    • "currentUser" - 현재 접속한 사용자
    • - *
    - * @return 저장된 정보수 - */ - int updateSndngDtlSttsCd(SndngDtl sndngDtl); - - /**차세대 세외수입 연계(A03)를 통해 발송 상세 정보를 수정한다. - * @param params 파라미터 - *
    • "sndngDtl" - 발송 상세
    • - *
    • "currentUser" - 현재 접속한 사용자
    • - *
    - * @return 저장된 정보수 - */ - int updateSndngDtlNxrpA03(SndngDtl sndngDtl); - - /**발송 상세 정보의 발송 수납 코드를 수정한다. - * @param params 파라미터 - *
    • "sndngDtl" - 발송 상세
    • - *
    • "currentUser" - 현재 접속한 사용자
    • - *
    - * @return 저장된 정보수 - */ - int updateSndngDtlRcvmtCd(SndngDtl sndngDtl); - - /**전자우편 발송상세 내역을 수정한다. - * @param params 파라미터 - *
    • "sndngDtl" - 발송 상세
    • - *
    • "currentUser" - 현재 접속한 사용자
    • - *
    - * @return 저장된 정보수 - */ - int updateSndngDtlEPost(SndngDtl sndngDtl); - - /**지정한 단속 ID로 단속, 부과 대장 객체를 반환한다. - * @param crdnId 단속 ID - * @return 단속, 부과 대장 객체 - */ - DataObject selectCrdnLevy(String crdnId); - - /**발송 상세 정보의 발송 수납 코드를 수정한다. - * @param params 파라미터 - *
    • "sndngDtl" - 발송 상세
    • - *
    • "currentUser" - 현재 접속한 사용자
    • - *
    - * @return 저장된 정보수 - */ - int updateCrdnNxrpAcbKey(Crdn crdn); - - /**지정한 조건에 따라 발송 상세 목록을 조회하여 반환한다. - * @param req 발송 조회 조건 - * @return 발송 상세 반송 정보 - */ - List selectSndbkList(SndbQuery req); - - /**지정한 조건에 따라 발송 상세 객체들을 반환한다. - * @param req 발송 조회 조건 - * @return 발송 상세 반송 정보 - */ - List selectSndbks(SndbQuery req); - - /**지정한 조건에 따라 공시송달 대상 발송 상세 객체들을 반환한다. - * @param req 발송 조회 조건 - * @return 발송 상세 반송 정보 - */ - List selectSvbtcsTrgtSndngDtlIds(SndbQuery req); - - /**지정한 조건에 따라 발송 상세 객체의 마지막 1개를 반환한다. - * @param req 발송 조회 조건 - * @return 발송 상세 반송 정보 - */ - default DataObject selectSndbkInfo(SndbQuery req) { - // 삭제여부 - if (req.getDelYn() == null) { - req.setDelYn("N"); - } - // 기본 정렬 - if (req.getOrderBy() == null) { - req.setOrderBy("SD.SNDNG_DTL_ID DESC"); - } - - List sndbks = selectSndbks(req); - - return !sndbks.isEmpty() ? sndbks.get(0) : null; - } - - /**발송 상세의 반송 정보를 등록한다. - * @param sndngDtl 발송 상세 - * @return 저장된 정보수 - */ - int createSndbk(SndngDtl sndngDtl); - - /**발송 상세의 반송 정보를 수정한다. - * @param sndngDtl 발송 상세 - * @return 저장된 정보수 - */ - int updateSndbk(SndngDtl sndngDtl); - - /**발송 상세의 반송 정보를 삭제한다. - * @param sndngDtl 발송 상세 - * @return 저장된 정보수 - */ - int deleteSndbk(SndngDtl sndngDtl); - - /**발송상세 대장에 공시송달ID에 해당하는 총건수 가져오기 - * @param svbtcId 공시송달 ID - * @return 총건수 - */ - int selectTnocsSndngDtlSvbtc(String svbtcId); - - /**발송 상세 정보의 반송 정보를 수정한다. - * @param params 파라미터 - *
    • "sndngDtl" - 발송 상세
    • - *
    • "currentUser" - 현재 접속한 사용자
    • - *
    - * @return 저장된 정보수 - */ - int updateSndngDtlSvbtc(SndngDtl sndngDtl); - - /**지정한 발송 상세을 삭제한다. - * @param params 파라미터 - *
    • "sndngDtl" - 발송 상세
    • - *
    • "currentUser" - 현재 접속한 사용자
    • - *
    - * @return 저장된 정보수 - */ - int deleteSndngDtlSvbtc(SndngDtl sndngDtl); - -} diff --git a/src/main/java/cokr/xit/fims/sndb/dao/SndngHstryMapper.java b/src/main/java/cokr/xit/fims/sndb/dao/SndngHstryMapper.java deleted file mode 100644 index d1763824..00000000 --- a/src/main/java/cokr/xit/fims/sndb/dao/SndngHstryMapper.java +++ /dev/null @@ -1,99 +0,0 @@ -package cokr.xit.fims.sndb.dao; - -import java.util.List; -import java.util.Map; - -import org.egovframe.rte.psl.dataaccess.mapper.Mapper; - -import cokr.xit.foundation.component.AbstractMapper; -import cokr.xit.foundation.data.DataObject; - -import cokr.xit.fims.sndb.SndngHstry; -import cokr.xit.fims.sndb.SndbQuery; - -/** 발송 이력 정보 DAO - * - *

    상세 설명: - * - *

    - * ============ 변경 이력 ============
    - * 2023-12-20	JoJH 최초 작성
    - * ================================
    - * 
    - */ -@Mapper("sndngHstryMapper") -public interface SndngHstryMapper extends AbstractMapper { - - /**지정한 조건에 따라 발송 이력 목록을 조회하여 반환한다.
    - * @param req 발송 이력 조회 조건 - * @return 발송 이력 목록 - */ - List selectSndngHstryList(SndbQuery req); - - /**지정한 조건에 따라 발송 이력 객체들을 반환한다. - * @param req 발송 이력 조회 조건 - * @return 발송 이력 객체 목록 - */ - List selectSndngHstrys(SndbQuery req); - - /**발송 이력 정보를 등록한다. - * @param params 파라미터 - *
    • "sndngHstry" - 발송 이력
    • - *
    • "currentUser" - 현재 접속한 사용자
    • - *
    - * @return 저장된 정보수 - */ - int insertSndngHstry(Map params); - - /**발송 이력 정보를 등록한다. - * @param sndngHstry 발송 이력 - * @return 저장 여부 - *
    • 저장됐으면 true
    • - *
    • 그렇지 않으면 false
    • - *
    - */ - default boolean insert(SndngHstry sndngHstry) { - return sndngHstry != null && insertSndngHstry(params().set("sndngHstry", sndngHstry)) == 1; - } - - /**발송 이력 정보를 수정한다. - * @param params 파라미터 - *
    • "sndngHstry" - 발송 이력
    • - *
    • "currentUser" - 현재 접속한 사용자
    • - *
    - * @return 저장된 정보수 - */ - int updateSndngHstry(Map params); - - /**발송 이력 정보를 수정한다. - * @param sndngHstry 발송 이력 - * @return 저장 여부 - *
    • 저장됐으면 true
    • - *
    • 그렇지 않으면 false
    • - *
    - */ - default boolean update(SndngHstry sndngHstry) { - return sndngHstry != null && updateSndngHstry(params().set("sndngHstry", sndngHstry)) == 1; - } - - /**지정한 발송 이력을 삭제한다. - * @param params 파라미터 - *
    • "sndngHstry" - 발송 이력
    • - *
    • "currentUser" - 현재 접속한 사용자
    • - *
    - * @return 저장된 정보수 - */ - int deleteSndngHstry(Map params); - - /**발송 이력 정보를 삭제한다. - * @param sndngHstry 발송 이력 - * @return 저장 여부 - *
    • 저장됐으면 true
    • - *
    • 그렇지 않으면 false
    • - *
    - */ - default boolean delete(SndngHstry sndngHstry) { - return sndngHstry != null && deleteSndngHstry(params().set("sndngHstry", sndngHstry)) == 1; - } - -} diff --git a/src/main/java/cokr/xit/fims/sndb/dao/SndngMapper.java b/src/main/java/cokr/xit/fims/sndb/dao/SndngMapper.java deleted file mode 100644 index 21367271..00000000 --- a/src/main/java/cokr/xit/fims/sndb/dao/SndngMapper.java +++ /dev/null @@ -1,184 +0,0 @@ -package cokr.xit.fims.sndb.dao; - -import java.util.List; - -import org.egovframe.rte.psl.dataaccess.mapper.Mapper; - -import cokr.xit.foundation.component.AbstractMapper; -import cokr.xit.foundation.data.DataObject; -import cokr.xit.fims.sndb.SndbQuery; -import cokr.xit.fims.sndb.Sndng; - -/** 발송 대장 정보 DAO - * - *

    상세 설명: - * - *

    - * ============ 변경 이력 ============
    - * 2023-08-25	JoJH 최초 작성
    - * ================================
    - * 
    - */ -@Mapper("sndngMapper") -public interface SndngMapper extends AbstractMapper { - - /**지정한 조건에 따라 발송 대장 목록을 조회하여 반환한다.
    - * @param req 발송 대장 조회 조건 - * @return 발송 대장 목록 - */ - List selectSndngList(SndbQuery req); - - /**지정한 조건에 따라 발송 대장 객체들을 반환한다. - * @param req 발송 대장 조회 조건 - * @return 발송 대장 객체 목록 - */ - List selectSndngs(SndbQuery req); - - default DataObject selectSndngInfo(SndbQuery req) { - // 삭제여부 - if (req.getDelYn() == null) { - req.setDelYn("N"); - } - // 기본 정렬 - if (req.getOrderBy() == null) { - req.setOrderBy("S.SNDNG_ID DESC"); - } - - List sndngs = selectSndngs(req); - - return !sndngs.isEmpty() ? sndngs.get(0) : null; - } - - /**지정한 조건에 따라 계도장 발송 대상 목록을 조회하여 반환한다.
    - * @param req 발송 대장 조회 조건 - * @return 계도장 발송 대상 목록 - */ - List selectWrngTrgtList(SndbQuery req); - - /**지정한 조건에 따라 계도장 발송 대상 객체들을 반환한다. - * @param req 발송 대장 조회 조건 - * @return 계도장 발송 대상 객체 목록 - */ - List selectWrngTrgts(SndbQuery req); - - default DataObject selectWrngTrgtInfo(String crdnId) { - List wrngTrgtInfo = selectWrngTrgts(new SndbQuery().setCrdnId(crdnId) - .setDelYn("N")); - - return !wrngTrgtInfo.isEmpty() ? wrngTrgtInfo.get(0) : null; - } - - /**지정한 조건에 따라 계도장 발송 대상의 단속ID 들을 반환한다. - * @param req 발송 대장 조회 조건 - * @return 계도장 발송 대상 단속ID 목록 - */ - List selectWrngTrgtCrdnIds(SndbQuery req); - - /**지정한 조건에 따라 사전통지 발송 대상 목록을 조회하여 반환한다.
    - * @param req 발송 대장 조회 조건 - * @return 발송 대장 목록 - */ - List selectAdvntceTrgtList(SndbQuery req); - - /**지정한 조건에 따라 사전통지 발송 대상 객체들을 반환한다. - * @param req 발송 대장 조회 조건 - * @return 발송 대장 객체 목록 - */ - List selectAdvntceTrgts(SndbQuery req); - - default DataObject selectAdvntceTrgtInfo(String crdnId) { - List advntceTrgtInfo = selectAdvntceTrgts(new SndbQuery().setCrdnId(crdnId) - .setDelYn("N")); - - return !advntceTrgtInfo.isEmpty() ? advntceTrgtInfo.get(0) : null; - } - - /**지정한 조건에 따라 사전통지 발송 대상의 단속ID 들을 반환한다. - * @param req 발송 대장 조회 조건 - * @return 사전통지 발송 대상 단속ID 목록 - */ - List selectAdvntceTrgtCrdnIds(SndbQuery req); - - /**지정한 조건에 따라 단속, 납부자, 부과 객체들을 반환한다. - * @param req 발송 대장 조회 조건 - * @return 계도장 발송 대상 객체 목록 - */ - List selectCrdnPayerTrgts(SndbQuery req); - - default DataObject selectCrdnPayerInfo(String crdnId) { - List crdnPayerInfo = selectCrdnPayerTrgts(new SndbQuery().setCrdnId(crdnId)); - - return !crdnPayerInfo.isEmpty() ? crdnPayerInfo.get(0) : null; - } - - /**지정한 조건에 따라 고지서 발송 대상 목록을 조회하여 반환한다.
    - * @param req 발송 대장 조회 조건 - * @return 발송 대장 목록 - */ - List selectNhtTrgtList(SndbQuery req); - - /**지정한 조건에 따라 사전통지 발송 대상 객체들을 반환한다. - * @param req 발송 대장 조회 조건 - * @return 발송 대장 객체 목록 - */ - List selectNhtTrgts(SndbQuery req); - - default DataObject selectNhtTrgtInfo(String crdnId) { - List nhtTrgtInfo = selectNhtTrgts(new SndbQuery().setCrdnId(crdnId) - .setDelYn("N")); - - return !nhtTrgtInfo.isEmpty() ? nhtTrgtInfo.get(0) : null; - } - - /**지정한 조건에 따라 고지서 발송 대상의 단속ID 들을 반환한다. - * @param req 발송 대장 조회 조건 - * @return 사전통지 발송 대상 단속ID 목록 - */ - List selectNhtTrgtCrdnIds(SndbQuery req); - - /**발송 대장 정보를 등록한다. - * @param params 파라미터 - *
    • "sndng" - 발송 대장
    • - *
    • "currentUser" - 현재 접속한 사용자
    • - *
    - * @return 저장된 정보수 - */ - int insertSndng(Sndng sndng); - - /**발송 대장 정보를 수정한다. - * @param params 파라미터 - *
    • "sndng" - 발송 대장
    • - *
    • "currentUser" - 현재 접속한 사용자
    • - *
    - * @return 저장된 정보수 - */ - int updateSndng(Sndng sndng); - - /**지정한 발송 대장을 삭제한다. - * @param params 파라미터 - *
    • "sndng" - 발송 대장
    • - *
    • "currentUser" - 현재 접속한 사용자
    • - *
    - * @return 저장된 정보수 - */ - int deleteSndng(Sndng sndng); - - /**발송 대장 정보의 발송 상태 코드를 수정한다. - * @param params 파라미터 - *
    • "sndng" - 발송 대장
    • - *
    • "currentUser" - 현재 접속한 사용자
    • - *
    - * @return 저장된 정보수 - */ - int updateSndngSttsCd(Sndng sndng); - - /**전자우편 발송 내역을 수정한다. - * @param params 파라미터 - *
    • "sndngDtl" - 발송 상세
    • - *
    • "currentUser" - 현재 접속한 사용자
    • - *
    - * @return 저장된 정보수 - */ - int updateEPostSndng(Sndng sndng); - -} diff --git a/src/main/java/cokr/xit/fims/sndb/dao/SvbtcMapper.java b/src/main/java/cokr/xit/fims/sndb/dao/SvbtcMapper.java deleted file mode 100644 index 696aa88d..00000000 --- a/src/main/java/cokr/xit/fims/sndb/dao/SvbtcMapper.java +++ /dev/null @@ -1,101 +0,0 @@ -package cokr.xit.fims.sndb.dao; - -import java.util.List; - -import org.egovframe.rte.psl.dataaccess.mapper.Mapper; - -import cokr.xit.foundation.component.AbstractMapper; -import cokr.xit.foundation.data.DataObject; -import cokr.xit.fims.sndb.SndbQuery; -import cokr.xit.fims.sndb.Svbtc; - -/** 공시송달 대장 정보 DAO - * - *

    상세 설명: - * - *

    - * ============ 변경 이력 ============
    - * 2023-08-31	mjkhan 최초 작성
    - * ================================
    - * 
    - */ -@Mapper("svbtcMapper") -public interface SvbtcMapper extends AbstractMapper { - - /**지정한 조건에 따라 공시송달 대장 목록을 조회하여 반환한다.
    - * @param req 공시송달 대장 조회 조건 - * @return 공시송달 대장 목록 - */ - List selectSvbtcList(SndbQuery req); - - /**지정한 조건에 따라 공시송달 대장 객체들을 반환한다. - * @param req 공시송달 대장 조회 조건 - * @return 공시송달 대장 객체 목록 - */ - List selectSvbtcs(SndbQuery req); - - /**지정한 조건에 따라 공시송달 대장 객체의 마지막 1개를 반환한다. - * @param req 공시송달 대장 조회 조건 - * @return 부과제외 대장 객체 - */ - default DataObject selectSvbtcInfo(SndbQuery req) { - // 삭제 여부 - if (req.getDelYn() == null) { - req.setDelYn("N"); - } - // 기본 정렬 - if (req.getOrderBy() == null) { - req.setOrderBy("SV.SVBTC_ID DESC"); - } - - List svbtcs = selectSvbtcs(req); - - return !svbtcs.isEmpty() ? svbtcs.get(0) : null; - } - - /**지정한 조건에 따라 공시송달 상세 목록을 조회하여 반환한다.
    - * @param req 공시송달 대장 조회 조건 - * @return 공시송달 대장 목록 - */ - List selectSvbtcDtlList(SndbQuery req); - - /**지정한 조건에 따라 공시송달 상세 객체들을 반환한다. - * @param req 공시송달 대장 조회 조건 - * @return 공시송달 대장 객체 목록 - */ - List selectSvbtcDtls(SndbQuery req); - - /**지정한 조건에 따라 공시송달 상세 객체들을 반환한다. - * @param req 공시송달 대장 조회 조건 - * @return 공시송달 대장 객체 목록 - */ - List selectSvbtcPrint(SndbQuery req); - - /**공시송달 대장 정보를 등록한다. - * @param params 파라미터 - *
    • "svbtc" - 공시송달 대장
    • - *
    • "currentUser" - 현재 접속한 사용자
    • - *
    - * @return 저장된 정보수 - */ - int insertSvbtc(Svbtc svbtc); - - /**공시송달 대장 정보를 수정한다. - * @param params 파라미터 - *
    • "svbtc" - 공시송달 대장
    • - *
    • "currentUser" - 현재 접속한 사용자
    • - *
    - * @return 저장된 정보수 - */ - int updateSvbtc(Svbtc svbtc); - - /**지정한 공시송달 대장을 삭제한다. - * @param params 파라미터 - *
    • "svbtc" - 공시송달 대장
    • - *
    • "currentUser" - 현재 접속한 사용자
    • - *
    - * @return 저장된 정보수 - */ - int deleteSvbtc(Svbtc svbtc); - -} diff --git a/src/main/java/cokr/xit/fims/sndb/service/SndngDtlService.java b/src/main/java/cokr/xit/fims/sndb/service/SndngDtlService.java deleted file mode 100644 index bf35b6d3..00000000 --- a/src/main/java/cokr/xit/fims/sndb/service/SndngDtlService.java +++ /dev/null @@ -1,100 +0,0 @@ -package cokr.xit.fims.sndb.service; - -import java.util.List; - -import cokr.xit.foundation.data.DataObject; - -import cokr.xit.fims.sndb.SndbQuery; -import cokr.xit.fims.sndb.SndngDtl; - -/**발송 상세 관리 서비스 인터페이스. - * - *

    상세 설명: - * - *

    - * ============ 변경 이력 ============
    - * 2023-12-27	JoJH 최초 작성
    - * ================================
    - * 
    - */ -public interface SndngDtlService { - - /**지정한 조건에 따라 발송상세 목록을 조회하여 반환한다. - * @param req 발송 상세 조회 조건 - * @return 발송 상세 목록 - */ - List getSndngDtlList(SndbQuery req); - - /**지정한 조건에 따라 발송상세 객체들을 반환한다. - * @param req 발송 상세 조회 조건 - * @return 발송 상세 객체 목록 - */ - List getSndngDtls(SndbQuery req); - - /**발송 ID에 따라 발송 상세 ID를 반환한다. - * @param req 발송 상세 조회 조건 - * @return 발송 상세 객체 목록 - */ - List getSndngTrgtDtlIds(SndbQuery req); - - /**과태료 대장 단속 정보 등록 정보를 등록한다. - * @param req 발송 상세 조회 조건 - * @return 저장 여부 - */ - String setNxrpIndivA01List(SndngDtl sndngDtl); - - /**지정한 조건에 따라 과태료 대장 등록 자료 상세 조회 목록을 조회하여 반환한다. - * @param req 발송 상세 조회 조건 - * @return 저장 여부 - */ - String getNxrpIndivA03List(SndngDtl sndngDtl); - - /**지정한 조건에 따라 반송 목록을 조회하여 반환한다. - * @param req 발송 대장 조회 조건 - * @return 발송 대장 객체 목록 - */ - List getSndbkList(SndbQuery req); - - /**지정한 발송상세 ID의 미배달 정보를 반환한다.
    - * @param sndngDtlId 발송 상세 ID - * @return 발송상세 미배달 정보 - */ - DataObject getSndbkInfo(SndbQuery req); - - /**발송상세 목록의 반송 정보를 등록한다. - * @param sndngDtl 발송 상세 - * @return 저장 여부 - *
    • 저장됐으면 true
    • - *
    • 그렇지 않으면 false
    • - *
    - */ - String createSndbkList(SndbQuery req); - - /**발송상세 정보의 반송 정보를 등록한다. - * @param sndngDtl 발송 상세 - * @return 저장 여부 - *
    • 저장됐으면 true
    • - *
    • 그렇지 않으면 false
    • - *
    - */ - String createSndbk(SndngDtl sndngDtl); - - /**발송상세 정보의 반송 정보를 수정한다. - * @param sndngDtl 발송 상세 - * @return 저장 여부 - *
    • 저장됐으면 true
    • - *
    • 그렇지 않으면 false
    • - *
    - */ - String updateSndbk(SndngDtl sndngDtl); - - /**발송상세 정보의 반송 정보를 삭제한다. - * @param sndngDtl 발송 상세 - * @return 저장 여부 - *
    • 저장됐으면 true
    • - *
    • 그렇지 않으면 false
    • - *
    - */ - String removeSndbk(SndngDtl sndngDtl); - -} diff --git a/src/main/java/cokr/xit/fims/sndb/service/SndngHstryService.java b/src/main/java/cokr/xit/fims/sndb/service/SndngHstryService.java deleted file mode 100644 index 7495ba3b..00000000 --- a/src/main/java/cokr/xit/fims/sndb/service/SndngHstryService.java +++ /dev/null @@ -1,61 +0,0 @@ -package cokr.xit.fims.sndb.service; - -import java.util.List; - -import cokr.xit.foundation.data.DataObject; - -import cokr.xit.fims.sndb.SndngHstry; -import cokr.xit.fims.sndb.SndbQuery; - -/**발송 이력 관리 서비스 인터페이스. - * - *

    상세 설명: - * - *

    - * ============ 변경 이력 ============
    - * 2023-12-20	JoJH 최초 작성
    - * ================================
    - * 
    - */ -public interface SndngHstryService { - - /**지정한 조건에 따라 발송 이력 목록을 조회하여 반환한다. - * @param req 발송 이력 조회 조건 - * @return 발송 이력 목록 - */ - List getSndngHstryList(SndbQuery req); - - /**지정한 조건에 따라 발송 이력 객체들을 반환한다. - * @param req 발송 이력 조회 조건 - * @return 발송 이력 객체 목록 - */ - List getSndngHstrys(SndbQuery req); - - /**발송 이력 정보를 등록한다. - * @param sndngHstry 발송 이력 - * @return 저장 여부 - *
    • 저장됐으면 true
    • - *
    • 그렇지 않으면 false
    • - *
    - */ - boolean create(SndngHstry sndngHstry); - - /**발송 이력 정보를 수정한다. - * @param sndngHstry 발송 이력 - * @return 저장 여부 - *
    • 저장됐으면 true
    • - *
    • 그렇지 않으면 false
    • - *
    - */ - boolean update(SndngHstry sndngHstry); - - /**발송 이력 정보를 삭제한다. - * @param sndngHstry 발송 이력 - * @return 저장 여부 - *
    • 저장됐으면 true
    • - *
    • 그렇지 않으면 false
    • - *
    - */ - boolean remove(SndngHstry sndngHstry); - -} diff --git a/src/main/java/cokr/xit/fims/sndb/service/SndngService.java b/src/main/java/cokr/xit/fims/sndb/service/SndngService.java deleted file mode 100644 index f88b80a9..00000000 --- a/src/main/java/cokr/xit/fims/sndb/service/SndngService.java +++ /dev/null @@ -1,132 +0,0 @@ -package cokr.xit.fims.sndb.service; - -import java.util.List; - -import cokr.xit.fims.sndb.SndbQuery; -import cokr.xit.fims.sndb.Sndng; -import cokr.xit.foundation.data.DataObject; - -/**발송 대장 관리 서비스 인터페이스. -* -*

    상세 설명: -* -*

    -* ============ 변경 이력 ============
    -* 2023-08-25	JoJH 최초 작성
    -* ================================
    -* 
    -*/ -public interface SndngService { - - /**지정한 조건에 따라 계도장 발송 대상 목록을 조회하여 반환한다. - * @param req 발송 대장 조회 조건 - * @return 발송 대장 목록 - */ - List getWrngTrgtList(SndbQuery req); - - /**지정한 조건에 따라 계도장 발송 대상 객체들을 반환한다. - * @param req 발송 대장 조회 조건 - * @return 발송 대장 객체 목록 - */ - List getWrngTrgts(SndbQuery req); - - /**계도장 발송 대상을 조회하여 발송 대장에 등록한다. - * @param req 계도장 발송 대상 조회, sndng 발송 대장 - * @return 저장 여부 - *
    • 저장됐으면 true
    • - *
    • 그렇지 않으면 false
    • - *
    - */ - String createWrngSndngList(SndbQuery req, Sndng sndng); - - /**지정한 조건에 따라 계도장 발송 대장 목록을 조회하여 반환한다. - * @param req 발송 대장 조회 조건 - * @return 발송 대장 목록 - */ - List getWrngSndngList(SndbQuery req); - - /**지정한 조건에 따라 사전통지 발송 대상 목록을 조회하여 반환한다. - * @param req 발송 대장 조회 조건 - * @return 발송 대장 목록 - */ - List getAdvntceTrgtList(SndbQuery req); - - /**지정한 조건에 따라 사전통지 발송 대상 객체들을 반환한다. - * @param req 발송 대장 조회 조건 - * @return 발송 대장 객체 목록 - */ - List getAdvntceTrgts(SndbQuery req); - - /**사전통지 발송 대상을 조회하여 발송 대장에 등록한다. - * @param req 계도장 발송 대상 조회, sndng 발송 대장 - * @return 저장 여부 - *
    • 저장됐으면 true
    • - *
    • 그렇지 않으면 false
    • - *
    - */ - String createAdvntceSndngList(SndbQuery req, Sndng sndng); - - /**지정한 조건에 따라 사전통지 발송 대장 목록을 조회하여 반환한다. - * @param req 발송 대장 조회 조건 - * @return 발송 대장 목록 - */ - List getAdvntceSndngList(SndbQuery req); - - /**지정한 조건에 따라 고지서 발송 대상 목록을 조회하여 반환한다. - * @param req 발송 대장 조회 조건 - * @return 발송 대장 목록 - */ - List getNhtTrgtList(SndbQuery req); - - /**지정한 조건에 따라 고지서 발송 대상 객체들을 반환한다. - * @param req 발송 대장 조회 조건 - * @return 발송 대장 객체 목록 - */ - List getNhtTrgts(SndbQuery req); - - /**고지서 발송 대상을 조회하여 발송 대장에 등록한다. - * @param req 계도장 발송 대상 조회, sndng 발송 대장 - * @return 저장 여부 - *
    • 저장됐으면 true
    • - *
    • 그렇지 않으면 false
    • - *
    - */ - String createNhtSndngList(SndbQuery req, Sndng sndng); - - /**지정한 조건에 따라 고지서 발송 대장 목록을 조회하여 반환한다. - * @param req 발송 대장 조회 조건 - * @return 발송 대장 목록 - */ - List getNhtSndngList(SndbQuery req); - - /**지정한 조건에 따라 발송 대장 목록을 조회하여 반환한다. - * @param req 발송 대장 조회 조건 - * @return 발송 대장 목록 - */ - List getSndngList(SndbQuery req); - - /**지정한 조건에 따라 발송 대장 객체들을 반환한다. - * @param req 발송 대장 조회 조건 - * @return 발송 대장 객체 목록 - */ - List getSndngs(SndbQuery req); - - /**전자우편(EPost) 대장 정보를 등록한다. - * @param sndng 발송 대장 - * @return 저장 여부 - *
    • 저장됐으면 true
    • - *
    • 그렇지 않으면 false
    • - *
    - */ - String createSndngLink(Sndng sndng); - - /**발송 대장 정보를 삭제한다. - * @param sndng 발송 대장 - * @return 저장 여부 - *
    • 저장됐으면 true
    • - *
    • 그렇지 않으면 false
    • - *
    - */ - String removeSndng(Sndng sndng); - -} diff --git a/src/main/java/cokr/xit/fims/sndb/service/SvbtcService.java b/src/main/java/cokr/xit/fims/sndb/service/SvbtcService.java deleted file mode 100644 index abfc8f74..00000000 --- a/src/main/java/cokr/xit/fims/sndb/service/SvbtcService.java +++ /dev/null @@ -1,87 +0,0 @@ -package cokr.xit.fims.sndb.service; - -import java.util.List; - -import cokr.xit.fims.sndb.SndbQuery; -import cokr.xit.fims.sndb.Svbtc; -import cokr.xit.foundation.data.DataObject; - -/**공시송달 대장 관리 서비스 인터페이스. - * - *

    상세 설명: - * - *

    - * ============ 변경 이력 ============
    - * 2024-01-09	JoJH 최초 작성
    - * ================================
    - * 
    - */ -public interface SvbtcService { - - /**지정한 조건에 따라 공시송달 대장 목록을 조회하여 반환한다. - * @param req 공시송달 대장 조회 조건 - * @return 공시송달 대장 목록 - */ - List getSvbtcList(SndbQuery req); - - /**지정한 조건에 따라 공시송달 대장 객체들을 반환한다. - * @param req 공시송달 대장 조회 조건 - * @return 공시송달 대장 객체 목록 - */ - List getSvbtcs(SndbQuery req); - - /**지정한 조건에 따라 공시송달 대장 객체의 마지막 1개를 반환한다. - * @param req 공시송달 대장 조회 조건 - * @return 공시송달 대장 객체 목록 - */ - DataObject getSvbtcInfo(SndbQuery req); - - /**지정한 조건에 따라 공시송달 상세 목록을 조회하여 반환한다. - * @param req 공시송달 대장 조회 조건 - * @return 공시송달 대장 목록 - */ - List getSvbtcDtlList(SndbQuery req); - - /**지정한 조건에 따라 공시송달 상세 객체들을 반환한다. - * @param req 공시송달 대장 조회 조건 - * @return 공시송달 대장 객체 목록 - */ - List getSvbtcDtls(SndbQuery req); - - /**공시송달 대장 정보를 등록한다. - * @param svbtc 공시송달 대장 - * @return 저장 여부 - *
    • 저장됐으면 true
    • - *
    • 그렇지 않으면 false
    • - *
    - */ - String createSvbtc(SndbQuery req, Svbtc svbtc); - - /**공시송달 대장 정보를 수정한다. - * @param svbtc 공시송달 대장 - * @return 저장 여부 - *
    • 저장됐으면 true
    • - *
    • 그렇지 않으면 false
    • - *
    - */ - String updateSvbtc(Svbtc svbtc); - - /**공시송달 대장 정보를 삭제한다. - * @param svbtc 공시송달 대장 - * @return 저장 여부 - *
    • 저장됐으면 true
    • - *
    • 그렇지 않으면 false
    • - *
    - */ - String removeSvbtc(Svbtc svbtc); - - /**공시송달 정보를 삭제한다. - * @param svbtc 공시송달 대장 - * @return 저장 여부 - *
    • 저장됐으면 true
    • - *
    • 그렇지 않으면 false
    • - *
    - */ - String removeSvbtcEach(Svbtc svbtc); - -} diff --git a/src/main/java/cokr/xit/fims/sndb/service/bean/SndngBean.java b/src/main/java/cokr/xit/fims/sndb/service/bean/SndngBean.java deleted file mode 100644 index b5932947..00000000 --- a/src/main/java/cokr/xit/fims/sndb/service/bean/SndngBean.java +++ /dev/null @@ -1,1603 +0,0 @@ -package cokr.xit.fims.sndb.service.bean; - -import java.io.File; -import java.io.FileInputStream; -import java.io.FileOutputStream; -import java.io.IOException; -import java.util.List; - -import javax.annotation.Resource; - -import org.springframework.stereotype.Component; - -import cokr.xit.base.file.FileInfo; -import cokr.xit.base.file.service.bean.FileBean; -import cokr.xit.base.user.service.bean.UserBean; -import cokr.xit.fims.cmmn.CmmnUtil; -import cokr.xit.fims.cmmn.CrdnSttsHstry; -import cokr.xit.fims.cmmn.service.bean.CrdnSttsHstryBean; -import cokr.xit.fims.crdn.Crdn; -import cokr.xit.fims.crdn.dao.CrdnUpdtMapper; -import cokr.xit.fims.epst.EpostRcptDtl; -import cokr.xit.fims.epst.EpostRcptReg; -import cokr.xit.fims.epst.service.bean.EpostRcptDtlBean; -import cokr.xit.fims.epst.service.bean.EpostRcptRegBean; -import cokr.xit.fims.levy.Levy; -import cokr.xit.fims.levy.service.bean.LevyBean; -import cokr.xit.fims.mngt.VltnQuery; -import cokr.xit.fims.mngt.dao.VltnMapper; -import cokr.xit.fims.sndb.SndbQuery; -import cokr.xit.fims.sndb.Sndng; -import cokr.xit.fims.sndb.SndngDtl; -import cokr.xit.fims.sndb.dao.SndngDtlMapper; -import cokr.xit.fims.sndb.dao.SndngMapper; -import cokr.xit.foundation.component.AbstractBean; -import cokr.xit.foundation.data.DataObject; - -/**발송 대장 정보 관리 Bean - * - *

    상세 설명: - * - *

    - * ============ 변경 이력 ============
    - * 2023-08-25	JoJH 최초 작성
    - * ================================
    - * 
    - */ -@Component("sndngBean") -public class SndngBean extends AbstractBean { - - /** 발송 대장 정보 DAO */ - @Resource(name = "sndngMapper") - private SndngMapper sndngMapper; - - /** 발송 상세 정보 DAO */ - @Resource(name = "sndngDtlMapper") - private SndngDtlMapper sndngDtlMapper; - - /** 사용자 정보 DAO */ - @Resource(name="userBean") - protected UserBean userBean; - - /** 위반 정보 정보 DAO */ - @Resource(name = "vltnMapper") - private VltnMapper vltnMapper; - - /** 단속 정보 DAO */ - @Resource(name = "crdnUpdtMapper") - private CrdnUpdtMapper crdnUpdtMapper; - - /** 단속 상태 이력 정보 Bean */ - @Resource(name = "crdnSttsHstryBean") - private CrdnSttsHstryBean crdnSttsHstryBean; - - /** 부과 대장 정보 Bean */ - @Resource(name = "levyBean") - private LevyBean levyBean; - - /** 전자우편 접수 등록 정보 Bean */ - @Resource(name = "epostRcptRegBean") - private EpostRcptRegBean epostRcptRegBean; - - /** 전자우편 접수 상세 정보 Bean */ - @Resource(name = "epostRcptDtlBean") - private EpostRcptDtlBean epostRcptDtlBean; - - /** 파일 Bean */ - @Resource(name="fileBean") - private FileBean fileBean; - - /**지정한 조건에 따라 계도장 발송 대상 목록을 조회하여 반환한다. - * @param req 발송 대장 조회 조건 - * @return 계도장 발송 대상 목록 - */ - public List getWrngTrgtList(SndbQuery req) { - // 삭제 여부 확인 - if (req.getDelYn() == null) { - req.setDelYn("N"); - } - // 정렬 확인 - if (req.getOrderBy() == null) { - if (req.getBy() == null) { - req.setOrderBy("REG_DT"); - } else { - req.setOrderBy(CmmnUtil.convertCamelCaseToSnakeCase(req.getBy())); - } - } - - return sndngMapper.selectWrngTrgtList(req); - } - - /**지정한 조건에 따라 발송 대상 객체들을 반환한다. - * @param req 발송 대장 조회 조건 - * @return 계도장 발송 대상 객체 목록 - */ - public List getWrngTrgts(SndbQuery req) { - // 삭제 여부 확인 - if (req.getDelYn() == null) { - req.setDelYn("N"); - } - if (req.getOrderBy() == null) { - req.setOrderBy("CRDN_YMD_TM"); - } - - return sndngMapper.selectWrngTrgts(req); - } - - /**계도장 발송 대상을 조회하여 발송 대장에 등록한다. - * @param req 계도장 발송 대상 조회, sndng 발송 대장 - * @return 저장 여부 - *
    • 저장됐으면 true
    • - *
    • 그렇지 않으면 false
    • - *
    - */ - public String createWrngSndngList(SndbQuery req, Sndng sndng) { - // 변수 선언 - int rtnNocs = -1; // 처리 결과 건수 - String rtnMsg = ""; // 처리 결과 메시지 - - // 단속 Ids로 계도장 발송 대상 정보 조회 - List trgtList = sndngMapper.selectWrngTrgtCrdnIds(req); - - // 조회 건수 확인 - if (trgtList == null || trgtList.size() < 1) { - rtnMsg = "[F] 작업 중 대상 자료가 존재하지 않습니다."; - return rtnMsg; - } - if (sndng.getTnocs() != trgtList.size()) { - rtnMsg = "[F] 조회된 총 건수와 대상 건수가 다릅니다."; - return rtnMsg; - } - - // 사용자 정보를 조회한다. - DataObject userInfo = userBean.getUserInfo(currentUser().getId()); - - // 발송(TB_SNDNG) 대장에 등록한다. - sndng.setDeptCd(userInfo.string("DEPT_CD")); // 부서 코드 - sndng.setVltnId(trgtList.get(0).string("VLTN_ID")); // 위반 ID - sndng.setSndngEndYmd(null); // 발송 종료 일자 - if (sndng.getTnocs() == 1) { - sndng.setSndngRegSeCd("02"); // 발송 등록 구분 코드 - 개별 - } else { - sndng.setSndngRegSeCd("01"); // 발송 등록 구분 코드 - 일괄 - } - if (sndng.getRsndYn() == null) { - sndng.setRsndYn("N"); // 재발송 여부 - } - if (sndng.getDelYn() == null) { - sndng.setDelYn("N"); // 삭제 여부 - } - sndng.setSndngSttsCd("00"); // 발송 상태 코드(FIM049) - 00 발송 준비 - - // 발송(TB_SNDNG) 대장을 등록한다. - rtnNocs = sndngMapper.insertSndng(sndng); - if (rtnNocs != 1) { - throw new RuntimeException("계도장 발송 등록 작업에 실패하였습니다."); // 예외를 발생시켜서 DB Rollback - } - - // 발송 상세 대장을 등록한다. - for (int iLoop = 0; iLoop < trgtList.size(); iLoop++) { - rtnMsg = createWrngSndngDtl(sndng, trgtList.get(iLoop).string("CRDN_ID")); - if (!rtnMsg.contains("[S]")) { // 오류가 발생하였으면 종료.. - throw new RuntimeException(rtnMsg.replace("[F]", "")); // 예외를 발생시켜서 DB Rollback - } - } - - return "[S] 작업이 정상 처리 되었습니다."; - } - - /**계도장 발송 상세 정보를 등록한다. - * @param sndngDtl 발송 상세 - * @return 저장 여부 - *
    • 저장됐으면 true
    • - *
    • 그렇지 않으면 false
    • - *
    - */ - public String createWrngSndngDtl(Sndng sndng, String crdnId) { - // 변수 선언 - boolean rtnScs = false; // 처리 결과 여부 - int rtnNocs = -1; // 처리 결과 건수 - String rtnMsg = ""; // 처리 결과 메시지 - - // 단속, 납부자 대장을 조회 한다. - DataObject crdnPayerInfo = sndngMapper.selectCrdnPayerInfo(crdnId); - - if (crdnPayerInfo == null) { - rtnMsg = "[F] 발송상세 등록 작업중 단속 정보가 확인되지 않았습니다." - + "

    " + "단속 ID : " + crdnId + "

    "; - return rtnMsg; - } - if (crdnPayerInfo.string("RTPYR_ID").equals("")) { - rtnMsg = "[F] 발송상세 등록 작업중 납부자 정보가 확인되지 않았습니다." - + "

    " + "단속ID : " + crdnId - + "
    " + "단속일시 : " + crdnPayerInfo.string("CRDN_YMD_TM_MASK") - + "
    " + "차량번호 : " + crdnPayerInfo.string("VHRNO") - + "

    "; - return rtnMsg; - } - - // 발송 상세(TB_SNDNG_DTL) - SndngDtl sndngDtl = new SndngDtl(); - sndngDtl.setSggCd(sndng.getSggCd()); // 시군구 코드 - sndngDtl.setSndngId(sndng.getSndngId()); // 발송 ID - sndngDtl.setCrdnId(crdnPayerInfo.string("CRDN_ID")); // 단속 ID - sndngDtl.setSndngSeCd(sndng.getSndngSeCd()); // 발송 구분 코드 - sndngDtl.setSndngYmd(sndng.getSndngYmd()); // 발송 일자 - sndngDtl.setSndngEndYmd(sndng.getSndngEndYmd()); // 발송 종료 일자 - sndngDtl.setRcpnNm(crdnPayerInfo.string("RTPYR_NM")); // 수령인 명 - sndngDtl.setRcpnBrdt(crdnPayerInfo.string("RTPYR_BRDT")); // 수령인 생년월일 - sndngDtl.setRcpnAddr(crdnPayerInfo.string("ADDR")); // 수령인 주소 - sndngDtl.setRcpnDtlAddr(crdnPayerInfo.string("DTL_ADDR")); // 수령인 상세 주소 - sndngDtl.setRcpnZip(crdnPayerInfo.string("ZIP")); // 수령인 우편번호 - sndngDtl.setSndngDtlSttsCd("00"); // 발송 상세 상태 코드 - 00 처리전 - sndngDtl.setCrdnDt(crdnPayerInfo.string("CRDN_YMD_TM_MASK")); // 단속 일시 - sndngDtl.setVhrno(crdnPayerInfo.string("VHRNO")); // 차량번호 - sndngDtl.setCrdnStdgNm(crdnPayerInfo.string("CRDN_STDG_NM")); // 단속 법정동 명 - sndngDtl.setCrdnPlc(crdnPayerInfo.string("CRDN_PLC")); // 단속 장소 - sndngDtl.setFfnlgAmt(crdnPayerInfo.number("FFNLG_CRDN_AMT").intValue());// 과태료 금액 - sndngDtl.setPcptax(crdnPayerInfo.number("FFNLG_CRDN_AMT").intValue()); // 본세 - sndngDtl.setAdamt(0); // 가산금 - sndngDtl.setSumAmt(0); // 합계 금액 - sndngDtl.setDudtAftrAmt(0); // 납기 후 금액 - sndngDtl.setDelYn("N"); // 삭제 여부 - - // 발송 상세(TB_SNDNG_DTL) 대장을 등록한다. - rtnNocs = sndngDtlMapper.insertSndngDtl(sndngDtl); - if (rtnNocs != 1) { - throw new RuntimeException("발송상세 등록에 실패하였습니다."); // 예외를 발생시켜서 DB Rollback - } - - // 단속 상태 코드를 수정한다. - if (crdnPayerInfo.string("CRDN_STTS_CD").equals("83")) { - CrdnSttsHstry crdnSttsHstry = new CrdnSttsHstry(); - crdnSttsHstry.setCrdnId(crdnPayerInfo.string("CRDN_ID")); - crdnSttsHstry.setBfrSttsCd(crdnPayerInfo.string("CRDN_STTS_CD")); - crdnSttsHstry.setBfrSttsChgDt(crdnPayerInfo.string("CRDN_STTS_CHG_DT")); - crdnSttsHstry.setCrdnSttsCd("84"); - crdnSttsHstry.setTaskDtlId(sndngDtl.getSndngDtlId()); - - // 단속 상태 이력(TB_CRDN_STTS_HSTRY) 대장에 등록하고, 단속(TB_CRDN) 대장을 수정한다. - rtnScs = crdnSttsHstryBean.createHstryUpdateCrdnSttsCd(crdnSttsHstry); - if (!rtnScs) { - throw new RuntimeException("발송상세 등록 작업중 단속 대장의 단속상태 변경에 실패하였습니다."); // 예외를 발생시켜서 DB Rollback - } - } - - return "[S] 작업이 정상 처리 되었습니다."; - } - - /**지정한 조건에 따라 사전통지 발송 대상 목록을 조회하여 반환한다. - * @param req 발송 대장 조회 조건 - * @return 계도장 발송 대상 목록 - */ - public List getAdvntceTrgtList(SndbQuery req) { - // 삭제 여부 확인 - if (req.getDelYn() == null) { - req.setDelYn("N"); - } - // 정렬 확인 - if (req.getOrderBy() == null) { - if (req.getBy() == null) { - req.setOrderBy("REG_DT"); - } else { - req.setOrderBy(CmmnUtil.convertCamelCaseToSnakeCase(req.getBy())); - } - } - - return sndngMapper.selectAdvntceTrgtList(req); - } - - /**지정한 조건에 따라 사전통지 발송 대상 객체들을 반환한다. - * @param req 발송 대장 조회 조건 - * @return 계도장 발송 대상 객체 목록 - */ - public List getAdvntceTrgts(SndbQuery req) { - // 삭제 여부 확인 - if (req.getDelYn() == null) { - req.setDelYn("N"); - } - // 정렬 확인 - if (req.getOrderBy() == null) { - req.setOrderBy("CRDN_YMD_TM"); - } - - return sndngMapper.selectAdvntceTrgts(req); - } - - /**사전통지 발송 대상을 조회하여 발송 대장에 등록한다. - * @param req 사전통지 발송 대상 조회, sndng 발송 대장 - * @return 저장 여부 - *
    • 저장됐으면 true
    • - *
    • 그렇지 않으면 false
    • - *
    - */ - public String createAdvntceSndngList(SndbQuery req, Sndng sndng) { - // 변수 선언 - int rtnNocs = -1; // 처리 결과 건수 - String rtnMsg = "[F] "; // 처리 결과 메시지 - - // 단속 Ids로 사전통지 발송 대상 정보 조회 - List advntceTrgtList = sndngMapper.selectAdvntceTrgtCrdnIds(req); - - // 조회 건수 확인 - if (advntceTrgtList == null || advntceTrgtList.size() < 1) { - rtnMsg = "[F] 작업 중 대상 자료가 존재하지 않습니다."; - return rtnMsg; - } - if (sndng.getTnocs() != advntceTrgtList.size()) { - rtnMsg = "[F] 조회된 총 건수와 대상 건수가 다릅니다."; - return rtnMsg; - } - - // 사용자 정보를 조회한다. - DataObject userInfo = userBean.getUserInfo(currentUser().getId()); - - // 발송 대장에 등록한다. - sndng.setDeptCd(userInfo.string("DEPT_CD")); // 부서 코드 - if (sndng.getSndngRegSeCd() == null) { - sndng.setSndngRegSeCd("02"); // 발송 등록 구분 코드(FIM067) - 02: 개별 - } - if (sndng.getTnocs() == null) { - sndng.setTnocs(advntceTrgtList.size()); // 총건수 - } - if (sndng.getGramt() == null) { - sndng.setGramt(advntceTrgtList.get(0).number("GRAMT").longValue()); // 총금액 - } - if (sndng.getRsndYn() == null) { - sndng.setRsndYn("N"); // 재발송 여부 - } - if (sndng.getDelYn() == null) { - sndng.setDelYn("N"); // 삭제 여부 - } - sndng.setSndngSttsCd("00"); // 발송 상태 코드(FIM049) - 00: 발송 준비 - - // 발송(TB_SNDNG) 대장을 등록한다. - rtnNocs = sndngMapper.insertSndng(sndng); - if (rtnNocs != 1) { - throw new RuntimeException("사전통지 발송 등록에 실패하였습니다."); // 예외를 발생시켜서 DB Rollback - } - - // 발송 상세 대장에 등록한다. - for (int iLoop = 0; iLoop < advntceTrgtList.size(); iLoop++) { - rtnMsg = createAdvntceSndngDtl(sndng, advntceTrgtList.get(iLoop).string("CRDN_ID")); - // 메시지 확인 - if (!rtnMsg.contains("[S]")) { // 오류가 발생하였으면 종료.. - throw new RuntimeException(rtnMsg.replace("[F]", "")); // 예외를 발생시켜서 DB Rollback - } - } - - return "[S] 작업이 정상 처리 되었습니다."; - } - - /**사전통지 발송 상세 정보를 등록한다. - * @param sndngDtl 발송 상세 - * @return 저장 여부 - *
    • 저장됐으면 true
    • - *
    • 그렇지 않으면 false
    • - *
    - */ - public String createAdvntceSndngDtl(Sndng sndng, String crdnId) { - // 변수 선언 - boolean rtnScs = false; // 처리 결과 여부 - int rtnNocs = -1; // 처리 결과 건수 - String rtnMsg = ""; // 처리 결과 메시지 - - // 단속(TB_CRDN), 납부자(TB_PAYER), 부과(TB_LEVY) 대장을 조회 한다. - DataObject crdnPayerInfo = sndngMapper.selectCrdnPayerInfo(crdnId); - - if (crdnPayerInfo == null) { - rtnMsg = "[F] 발송상세 등록 작업중 단속 정보가 확인되지 않았습니다." - + "

    " + "단속 ID : " + crdnId + "

    "; - return rtnMsg; - } - if (crdnPayerInfo.string("RTPYR_ID").equals("")) { - rtnMsg = "[F] 발송상세 등록 작업중 납부자 정보가 확인되지 않았습니다." - + "

    " + "단속ID : " + crdnId - + "
    " + "단속일시 : " + crdnPayerInfo.string("CRDN_YMD_TM_MASK") - + "
    " + "차량번호 : " + crdnPayerInfo.string("VHRNO") - + "

    "; - return rtnMsg; - } - - if ("BPV,PVS".contains(crdnPayerInfo.string("TASK_SE_CD"))) { - // 사전 감경부과가 되지 않았다면.. 감경부과를 등록한다. - if (crdnPayerInfo.string("LEVY_ID").equals("")) { - Levy levy = new Levy(); - levy.setSggCd(crdnPayerInfo.string("SGG_CD")); // 시군구 코드 - levy.setTaskSeCd(crdnPayerInfo.string("TASK_SE_CD")); // 업무 구분 코드 - levy.setCrdnId(crdnPayerInfo.string("CRDN_ID")); // 단속 ID - levy.setLevyYmd(sndng.getSndngYmd()); // 부과 일자 - levy.setFrstDudtYmd(sndng.getSndngEndYmd()); // 최초 납기 일자 - levy.setDudtYmd(sndng.getSndngEndYmd()); // 납기 일자 - - // 부과(TB_LEVY) 대장을 등록한다. - rtnMsg = levyBean.createRdctLevy(levy); - - // 단속(TB_CRDN), 납부자(TB_PAYER), 부과(TB_LEVY) 대장을 조회 한다. - crdnPayerInfo = sndngMapper.selectCrdnPayerInfo(crdnId); - } else { - // 부과 가산금 확인 - if (crdnPayerInfo.number("LEVY_ADAMT").intValue() != 0) { - rtnMsg = "[F] 발송상세 등록 작업중 부과 가산금액이 0원이 아닙니다." - + "

    " + "단속ID : " + crdnPayerInfo.string("CRDN_ID") - + "
    " + "단속일시 : " + crdnPayerInfo.string("CRDN_YMD_TM_MASK") - + "
    " + "차량번호 : " + crdnPayerInfo.string("VHRNO") - + "

    "; - return rtnMsg; - } - // 사전 감경금액과 부과 본세금액 확인 - if (crdnPayerInfo.number("ADVNTCE_AMT").intValue() != crdnPayerInfo.number("LEVY_PCPTAX").intValue()) { - rtnMsg = "[F] 발송상세 등록 작업중 사전 감경금액과 부과 본세금액이 다릅니다." - + "

    " + "단속ID : " + crdnPayerInfo.string("CRDN_ID") - + "
    " + "단속일시 : " + crdnPayerInfo.string("CRDN_YMD_TM_MASK") - + "
    " + "차량번호 : " + crdnPayerInfo.string("VHRNO") - + "
    " + "사전 감경금액 : " + crdnPayerInfo.string("ADVNTCE_AMT") - + "
    " + "부과 본세금액 : " + crdnPayerInfo.string("LEVY_PCPTAX") - + "

    "; - return rtnMsg; - } - // 부과 본세와 합계 금액이 같은지 확인 - if (crdnPayerInfo.number("LEVY_PCPTAX").intValue() != crdnPayerInfo.number("SUM_AMT").intValue()) { - rtnMsg = "[F] 발송상세 등록 작업중 본세금액과 합계금액이 다릅니다." - + "

    " + "단속ID : " + crdnPayerInfo.string("CRDN_ID") - + "
    " + "단속일시 : " + crdnPayerInfo.string("CRDN_YMD_TM_MASK") - + "
    " + "차량번호 : " + crdnPayerInfo.string("VHRNO") - + "
    " + "본세금액 : " + crdnPayerInfo.string("LEVY_PCPTAX") - + "
    " + "합계금액 : " + crdnPayerInfo.string("SUM_AMT") - + "

    "; - return rtnMsg; - } - - Levy levy = new Levy(); - levy.setLevyId(crdnPayerInfo.string("LEVY_ID")); // 부과 ID - levy.setLevyYmd(sndng.getSndngYmd()); // 부과 일자 - levy.setFrstDudtYmd(sndng.getSndngEndYmd()); // 최초 납기 일자 - levy.setDudtYmd(sndng.getSndngEndYmd()); // 납기 일자 - levy.setFfnlgAmt(crdnPayerInfo.number("FFNLG_AMT").intValue()); // 과태료 금액 - levy.setLevyPcptax(crdnPayerInfo.number("ADVNTCE_AMT").intValue()); // 본세 금액 - levy.setSumAmt(crdnPayerInfo.number("ADVNTCE_AMT").intValue()); // 합계 금액 - - // 부과(TB_LEVY) 대장에 부과일자, 최초납기일자, 납기일자를 수정한다. - rtnMsg = levyBean.updateRdctLevyYmd(levy); - if (!rtnMsg.contains("[S]")) { // 오류가 발생하였으면 종료.. - throw new RuntimeException(rtnMsg.replace("[F]", "")); // 예외를 발생시켜서 DB Rollback - } - } - } - - // 발송 상세(TB_SNDNG_DTL) - SndngDtl sndngDtl = new SndngDtl(); - sndngDtl.setSggCd(sndng.getSggCd()); // 시군구 코드 - sndngDtl.setSndngId(sndng.getSndngId()); // 발송 ID - sndngDtl.setCrdnId(crdnPayerInfo.string("CRDN_ID")); // 단속 ID - sndngDtl.setSndngSeCd(sndng.getSndngSeCd()); // 발송 구분 코드 - sndngDtl.setSndngYmd(sndng.getSndngYmd()); // 발송 일자 - sndngDtl.setSndngEndYmd(sndng.getSndngEndYmd()); // 발송 종료 일자 - sndngDtl.setRcpnNm(crdnPayerInfo.string("RTPYR_NM")); // 수령인 명 - sndngDtl.setRcpnBrdt(crdnPayerInfo.string("RTPYR_BRDT")); // 수령인 생년월일 - sndngDtl.setRcpnAddr(crdnPayerInfo.string("ADDR")); // 수령인 주소 - sndngDtl.setRcpnDtlAddr(crdnPayerInfo.string("DTL_ADDR")); // 수령인 상세 주소 - sndngDtl.setRcpnZip(crdnPayerInfo.string("ZIP")); // 수령인 우편번호 - sndngDtl.setSndngDtlSttsCd("00"); // 발송 상세 상태 코드 - 00 처리전 - sndngDtl.setVhrno(crdnPayerInfo.string("VHRNO")); // 차량번호 - sndngDtl.setCrdnDt(crdnPayerInfo.string("CRDN_YMD_TM_MASK")); // 단속 일시 - sndngDtl.setCrdnStdgNm(crdnPayerInfo.string("CRDN_STDG_NM")); // 단속 법정동 명 - sndngDtl.setCrdnPlc(crdnPayerInfo.string("CRDN_PLC")); // 단속 장소 - sndngDtl.setFyr(crdnPayerInfo.string("FYR")); // 회계연도 - sndngDtl.setLevyNo(crdnPayerInfo.string("LEVY_NO")); // 부과 번호 - sndngDtl.setLevyYmd(sndng.getSndngYmd()); // 부과 일자 - sndngDtl.setDudtYmd(sndng.getSndngEndYmd()); // 납기 일자 - sndngDtl.setFfnlgAmt(crdnPayerInfo.number("FFNLG_AMT").intValue()); // 과태료 금액 - if (crdnPayerInfo.string("PCPTAX").equals("")) { - sndngDtl.setPcptax(crdnPayerInfo.number("ADVNTCE_AMT").intValue()); // 본세 = 사전통지 금액 - } else { - sndngDtl.setPcptax(crdnPayerInfo.number("PCPTAX").intValue()); // 본세 - } - sndngDtl.setAdamt(0); // 가산금 = 0 - if (crdnPayerInfo.string("SUM_AMT").equals("")) { - sndngDtl.setSumAmt(crdnPayerInfo.number("ADVNTCE_AMT").intValue()); // 합계 금액 = 사전통지 금액 - } else { - sndngDtl.setSumAmt(crdnPayerInfo.number("SUM_AMT").intValue()); // 합계 금액 - } - sndngDtl.setDudtAftrAmt(0); // 납기 후 금액 - sndngDtl.setEpayno(crdnPayerInfo.string("TAX_NO")); // 납세 번호 - sndngDtl.setEpayno(crdnPayerInfo.string("EPAYNO")); // 전자납부번호 - sndngDtl.setBankNm(crdnPayerInfo.string("BANK_NM")); // 은행 명 - sndngDtl.setVrActno(crdnPayerInfo.string("VR_ACTNO")); // 가상 계좌번호 - sndngDtl.setBankNm2(crdnPayerInfo.string("BANK_NM2")); // 은행 명2 - sndngDtl.setVrActno2(crdnPayerInfo.string("VR_ACTNO2")); // 가상 계좌번호2 - sndngDtl.setBankNm3(crdnPayerInfo.string("BANK_NM3")); // 은행 명3 - sndngDtl.setVrActno3(crdnPayerInfo.string("VR_ACTNO3")); // 가상 계좌번호3 - sndngDtl.setBankNm4(crdnPayerInfo.string("BANK_NM4")); // 은행 명4 - sndngDtl.setVrActno4(crdnPayerInfo.string("VR_ACTNO4")); // 가상 계좌번호4 - sndngDtl.setBankNm5(crdnPayerInfo.string("BANK_NM5")); // 은행 명5 - sndngDtl.setVrActno5(crdnPayerInfo.string("VR_ACTNO5")); // 가상 계좌번호5 - sndngDtl.setBankNm6(crdnPayerInfo.string("BANK_NM6")); // 은행 명6 - sndngDtl.setVrActno6(crdnPayerInfo.string("VR_ACTNO6")); // 가상 계좌번호6 - sndngDtl.setBankNm7(crdnPayerInfo.string("BANK_NM7")); // 은행 명7 - sndngDtl.setVrActno7(crdnPayerInfo.string("VR_ACTNO7")); // 가상 계좌번호7 - sndngDtl.setBankNm8(crdnPayerInfo.string("BANK_NM8")); // 은행 명8 - sndngDtl.setVrActno8(crdnPayerInfo.string("VR_ACTNO8")); // 가상 계좌번호8 - sndngDtl.setBankNm9(crdnPayerInfo.string("BANK_NM9")); // 은행 명9 - sndngDtl.setVrActno9(crdnPayerInfo.string("VR_ACTNO9")); // 가상 계좌번호9 - sndngDtl.setBankNm10(crdnPayerInfo.string("BANK_NM10")); // 은행 명10 - sndngDtl.setVrActno10(crdnPayerInfo.string("VR_ACTNO10")); // 가상 계좌번호10 - sndngDtl.setBankNm11(crdnPayerInfo.string("BANK_NM11")); // 은행 명11 - sndngDtl.setVrActno11(crdnPayerInfo.string("VR_ACTNO11")); // 가상 계좌번호11 - sndngDtl.setBankNm12(crdnPayerInfo.string("BANK_NM12")); // 은행 명12 - sndngDtl.setVrActno12(crdnPayerInfo.string("VR_ACTNO12")); // 가상 계좌번호12 - sndngDtl.setBankNm13(crdnPayerInfo.string("BANK_NM13")); // 은행 명13 - sndngDtl.setVrActno13(crdnPayerInfo.string("VR_ACTNO13")); // 가상 계좌번호13 - sndngDtl.setBankNm14(crdnPayerInfo.string("BANK_NM14")); // 은행 명14 - sndngDtl.setVrActno14(crdnPayerInfo.string("VR_ACTNO14")); // 가상 계좌번호14 - sndngDtl.setBankNm15(crdnPayerInfo.string("BANK_NM15")); // 은행 명15 - sndngDtl.setVrActno15(crdnPayerInfo.string("VR_ACTNO15")); // 가상 계좌번호15 - sndngDtl.setBankNm16(crdnPayerInfo.string("BANK_NM16")); // 은행 명16 - sndngDtl.setVrActno16(crdnPayerInfo.string("VR_ACTNO16")); // 가상 계좌번호16 - sndngDtl.setBankNm17(crdnPayerInfo.string("BANK_NM17")); // 은행 명17 - sndngDtl.setVrActno17(crdnPayerInfo.string("VR_ACTNO17")); // 가상 계좌번호17 - sndngDtl.setBankNm18(crdnPayerInfo.string("BANK_NM18")); // 은행 명18 - sndngDtl.setVrActno18(crdnPayerInfo.string("VR_ACTNO18")); // 가상 계좌번호18 - sndngDtl.setBankNm19(crdnPayerInfo.string("BANK_NM19")); // 은행 명19 - sndngDtl.setVrActno19(crdnPayerInfo.string("VR_ACTNO19")); // 가상 계좌번호19 - sndngDtl.setBankNm20(crdnPayerInfo.string("BANK_NM20")); // 은행 명20 - sndngDtl.setVrActno20(crdnPayerInfo.string("VR_ACTNO20")); // 가상 계좌번호20 - sndngDtl.setDelYn("N"); // 삭제 여부 - - // 발송 상세(TB_SNDNG_DTL) 대장을 등록한다. - rtnNocs = sndngDtlMapper.insertSndngDtl(sndngDtl); - if (rtnNocs != 1) { - throw new RuntimeException("발송상세 등록에 실패하였습니다."); // 예외를 발생시켜서 DB Rollback - } - - // 단속 대장에 사전통지 일자를 수정한다. - Crdn crdn = new Crdn(); - crdn.setCrdnId(crdnPayerInfo.string("CRDN_ID")); - crdn.setSggCd(crdnPayerInfo.string("SGG_CD")); - crdn.setTaskSeCd(crdnPayerInfo.string("TASK_SE_CD")); - crdn.setAdvntceBgngYmd(sndng.getSndngYmd()); - crdn.setAdvntceDudtYmd(sndng.getSndngEndYmd()); - crdn.setDelYn("N"); - - // 단속(TB_CRDN) 대장을 수정한다. - rtnNocs = crdnUpdtMapper.updateAdvntceYmd(crdn); - if (rtnNocs != 1) { - throw new RuntimeException("단속 대장에 사전통지일자 수정에 실패하였습니다."); // 예외를 발생시켜서 DB Rollback - } - - // 단속 상태 이력(TB_CRDN_STTS_HSTRY)을 등록하고, 단속(TB_CRDN) 대장의 단속상태코드를 수정한다. - if ("21,22,23".contains(crdnPayerInfo.string("CRDN_STTS_CD"))) { - CrdnSttsHstry crdnSttsHstry = new CrdnSttsHstry(); - crdnSttsHstry.setCrdnId(crdnPayerInfo.string("CRDN_ID")); - crdnSttsHstry.setBfrSttsCd(crdnPayerInfo.string("CRDN_STTS_CD")); - crdnSttsHstry.setBfrSttsChgDt(crdnPayerInfo.string("CRDN_STTS_CHG_DT")); - crdnSttsHstry.setCrdnSttsCd("42"); - crdnSttsHstry.setTaskDtlId(sndngDtl.getSndngDtlId()); - crdnSttsHstry.setUseYn("Y"); - - // 단속 상태 이력(TB_CRDN_STTS_HSTRY) 대장에 등록하고, 단속(TB_CRDN) 대장을 수정한다. - rtnScs = crdnSttsHstryBean.createHstryUpdateCrdnSttsCd(crdnSttsHstry); - if (!rtnScs) { - throw new RuntimeException("발송상세 등록 작업중 단속 대장의 단속상태 변경에 실패하였습니다."); // 예외를 발생시켜서 DB Rollback - } - } else if (crdnPayerInfo.string("CRDN_STTS_CD").equals("31")) { - CrdnSttsHstry crdnSttsHstry = new CrdnSttsHstry(); - crdnSttsHstry.setCrdnId(crdnPayerInfo.string("CRDN_ID")); - crdnSttsHstry.setBfrSttsCd(crdnPayerInfo.string("CRDN_STTS_CD")); - crdnSttsHstry.setBfrSttsChgDt(crdnPayerInfo.string("CRDN_STTS_CHG_DT")); - crdnSttsHstry.setCrdnSttsCd("42"); - crdnSttsHstry.setTaskDtlId(sndngDtl.getSndngDtlId()); - crdnSttsHstry.setUseYn("Y"); - - // 단속 상태 이력(TB_CRDN_STTS_HSTRY) 대장에 등록한다. - rtnScs = crdnSttsHstryBean.create(crdnSttsHstry); - if (!rtnScs) { - throw new RuntimeException("발송상세 등록 작업중 단속 대장의 단속상태 변경에 실패하였습니다."); // 예외를 발생시켜서 DB Rollback - } - } - - return "[S] 작업이 정상 처리 되었습니다."; - } - - /**지정한 조건에 따라 고지서 발송 대상 목록을 조회하여 반환한다. - * @param req 발송 대장 조회 조건 - * @return 계도장 발송 대상 목록 - */ - public List getNhtTrgtList(SndbQuery req) { - // 삭제 여부 확인 - if (req.getDelYn() == null) { - req.setDelYn("N"); - } - // 정렬 확인 - if (req.getOrderBy() == null) { - if (req.getBy() == null) { - req.setOrderBy("REG_DT"); - } else { - req.setOrderBy(CmmnUtil.convertCamelCaseToSnakeCase(req.getBy())); - } - } - - return sndngMapper.selectNhtTrgtList(req); - } - - /**지정한 조건에 따라 사전 통보 발송 대상 객체들을 반환한다. - * @param req 발송 대장 조회 조건 - * @return 계도장 발송 대상 객체 목록 - */ - public List getNhtTrgts(SndbQuery req) { - // 삭제 여부 확인 - if (req.getDelYn() == null) { - req.setDelYn("N"); - } - // 정렬 확인 - if (req.getOrderBy() == null) { - req.setOrderBy("CRDN_YMD_TM"); - } - - return sndngMapper.selectNhtTrgts(req); - } - - /**고지서 발송 대상을 조회하여 발송 대장에 등록한다. - * @param req 고지서 발송 대상 조회, sndng 발송 대장 - * @return 저장 여부 - *
    • 저장됐으면 true
    • - *
    • 그렇지 않으면 false
    • - *
    - */ - public String createNhtSndngList(SndbQuery req, Sndng sndng) { - // 변수 선언 - int rtnNocs = -1; // 처리 결과 건수 - String rtnMsg = ""; // 처리 결과 메시지 - - // 단속 Ids로 고지서 발송 대상 정보 조회 - List nhtTrgtList = sndngMapper.selectNhtTrgtCrdnIds(req); - - // 조회 건수 확인 - if (nhtTrgtList == null || nhtTrgtList.size() < 1) { - rtnMsg = "[F] 작업 중 대상 자료가 존재하지 않습니다."; - return rtnMsg; - } -// if (sndng.getTnocs() != nhtTrgtList.size()) { -// rtnMsg = "[F] 조회된 총 건수와 대상 건수가 다릅니다."; -// return rtnMsg; -// } - - // 사용자 정보를 조회한다. - DataObject userInfo = userBean.getUserInfo(currentUser().getId()); - - // 발송 대장에 등록한다. - sndng.setDeptCd(userInfo.string("DEPT_CD")); // 부서 코드 - if (sndng.getSndngRegSeCd() == null) { - sndng.setSndngRegSeCd("02"); // 발송 등록 구분 코드(FIM067) - 02: 개별 - } - if (sndng.getTnocs() == null) { - sndng.setTnocs(nhtTrgtList.size()); // 총건수 - } - if (sndng.getGramt() == null) { - sndng.setGramt(nhtTrgtList.get(0).number("GRAMT").longValue()); // 총금액 - } - if (sndng.getRsndYn() == null) { - sndng.setRsndYn("N"); // 재발송 여부 - } - if (sndng.getDelYn() == null) { - sndng.setDelYn("N"); // 삭제 여부 - } - sndng.setSndngSttsCd("00"); // 발송 상태 코드(FIM049) - 00 발송 준비 - - // 발송(TB_SNDNG) 대장을 등록한다. - rtnNocs = sndngMapper.insertSndng(sndng); - if (rtnNocs != 1) { - throw new RuntimeException("고지서 발송 등록에 실패하였습니다."); // 예외를 발생시켜서 DB Rollback - } - - // 발송 상세 대장에 등록한다. - for (int iLoop = 0; iLoop < nhtTrgtList.size(); iLoop++) { - rtnMsg = createNhtSndngDtl(sndng, nhtTrgtList.get(iLoop).string("CRDN_ID")); - if (!rtnMsg.contains("[S]")) { // 오류가 발생하였으면 종료.. - throw new RuntimeException(rtnMsg.replace("[F]", "")); // 예외를 발생시켜서 DB Rollback - } - } - - return "[S] 작업이 정상 처리 되었습니다."; - } - - /**고지서 발송 상세 정보를 등록한다. - * @param sndngDtl 발송 상세 - * @return 저장 여부 - *
    • 저장됐으면 true
    • - *
    • 그렇지 않으면 false
    • - *
    - */ - public String createNhtSndngDtl(Sndng sndng, String crdnId) { - // 변수 선언 - int rtnNocs = -1; // 처리 결과 건수 - String rtnMsg = ""; // 처리 결과 메시지 - - // 단속, 납부자 대장을 조회 한다. - DataObject crdnPayerInfo = sndngMapper.selectCrdnPayerInfo(crdnId); - - if (crdnPayerInfo == null) { - rtnMsg = "[F] 발송상세 등록 작업중 단속 정보가 확인되지 않았습니다." - + "

    " + "단속 ID : " + crdnId + "

    "; - return rtnMsg; - } - if (crdnPayerInfo.string("RTPYR_ID").equals("")) { - rtnMsg = "[F] 발송상세 등록 작업중 납부자 정보가 확인되지 않았습니다." - + "

    " + "단속 ID : " + crdnId - + "
    " + "단속일시 : " + crdnPayerInfo.string("CRDN_YMD_TM_MASK") - + "
    " + "차량번호 : " + crdnPayerInfo.string("VHRNO") - + "

    "; - return rtnMsg; - } - if (crdnPayerInfo.string("LEVY_ID").equals("")) { - rtnMsg = "[F] 발송상세 등록 작업중 부과 정보가 확인되지 않았습니다." - + "

    " + "단속 ID : " + crdnId - + "
    " + "단속일시 : " + crdnPayerInfo.string("CRDN_YMD_TM_MASK") - + "
    " + "차량번호 : " + crdnPayerInfo.string("VHRNO") - + "

    "; - return rtnMsg; - } - - // 발송 상세(TB_SNDNG_DTL) - SndngDtl sndngDtl = new SndngDtl(); - sndngDtl.setSggCd(sndng.getSggCd()); // 시군구 코드 - sndngDtl.setSndngId(sndng.getSndngId()); // 발송 ID - sndngDtl.setCrdnId(crdnPayerInfo.string("CRDN_ID")); // 단속 ID - sndngDtl.setSndngSeCd(sndng.getSndngSeCd()); // 발송 구분 코드 - sndngDtl.setSndngYmd(sndng.getSndngYmd()); // 발송 일자 - sndngDtl.setSndngEndYmd(sndng.getSndngEndYmd()); // 발송 종료 일자 - sndngDtl.setRcpnNm(crdnPayerInfo.string("RTPYR_NM")); // 수령인 명 - sndngDtl.setRcpnBrdt(crdnPayerInfo.string("RTPYR_BRDT")); // 수령인 생년월일 - sndngDtl.setRcpnAddr(crdnPayerInfo.string("ADDR")); // 수령인 주소 - sndngDtl.setRcpnDtlAddr(crdnPayerInfo.string("DTL_ADDR")); // 수령인 상세 주소 - sndngDtl.setRcpnZip(crdnPayerInfo.string("ZIP")); // 수령인 우편번호 - sndngDtl.setSndngDtlSttsCd("00"); // 발송 상세 상태 코드 - 00 처리전 - sndngDtl.setVhrno(crdnPayerInfo.string("VHRNO")); // 차량번호 - sndngDtl.setCrdnDt(crdnPayerInfo.string("CRDN_YMD_TM_MASK")); // 단속 일시 - sndngDtl.setCrdnStdgNm(crdnPayerInfo.string("CRDN_STDG_NM")); // 단속 법정동 명 - sndngDtl.setCrdnPlc(crdnPayerInfo.string("CRDN_PLC")); // 단속 장소 - sndngDtl.setFyr(crdnPayerInfo.string("FYR")); // 회계연도 - sndngDtl.setLevyNo(crdnPayerInfo.string("LEVY_NO")); // 부과 번호 - sndngDtl.setLevyYmd(crdnPayerInfo.string("LEVY_YMD")); // 부과 일자 - sndngDtl.setDudtYmd(crdnPayerInfo.string("DUDT_YMD")); // 납기 일자 - sndngDtl.setFfnlgAmt(crdnPayerInfo.number("FFNLG_AMT").intValue()); // 과태료 금액 - sndngDtl.setPcptax(crdnPayerInfo.number("PCPTAX").intValue()); // 본세 : 부과본세 - 수납본세 - 감액본세 - sndngDtl.setAdamt(crdnPayerInfo.number("ADAMT").intValue()); // 가산금 : 부과가산금 - 수납가산금 - 감액가산금 - sndngDtl.setSumAmt(crdnPayerInfo.number("SUM_AMT").intValue()); // 합계 금액 - sndngDtl.setDudtAftrAmt(crdnPayerInfo.number("DUDT_AFTR_AMT").intValue()); // 납기 후 금액 - sndngDtl.setEpayno(crdnPayerInfo.string("TAX_NO")); // 납세 번호 - sndngDtl.setEpayno(crdnPayerInfo.string("EPAYNO")); // 전자납부번호 - sndngDtl.setBankNm(crdnPayerInfo.string("BANK_NM")); // 은행 명 - sndngDtl.setVrActno(crdnPayerInfo.string("VR_ACTNO")); // 가상 계좌번호 - sndngDtl.setBankNm2(crdnPayerInfo.string("BANK_NM2")); // 은행 명2 - sndngDtl.setVrActno2(crdnPayerInfo.string("VR_ACTNO2")); // 가상 계좌번호2 - sndngDtl.setBankNm3(crdnPayerInfo.string("BANK_NM3")); // 은행 명3 - sndngDtl.setVrActno3(crdnPayerInfo.string("VR_ACTNO3")); // 가상 계좌번호3 - sndngDtl.setBankNm4(crdnPayerInfo.string("BANK_NM4")); // 은행 명4 - sndngDtl.setVrActno4(crdnPayerInfo.string("VR_ACTNO4")); // 가상 계좌번호4 - sndngDtl.setBankNm5(crdnPayerInfo.string("BANK_NM5")); // 은행 명5 - sndngDtl.setVrActno5(crdnPayerInfo.string("VR_ACTNO5")); // 가상 계좌번호5 - sndngDtl.setBankNm6(crdnPayerInfo.string("BANK_NM6")); // 은행 명6 - sndngDtl.setVrActno6(crdnPayerInfo.string("VR_ACTNO6")); // 가상 계좌번호6 - sndngDtl.setBankNm7(crdnPayerInfo.string("BANK_NM7")); // 은행 명7 - sndngDtl.setVrActno7(crdnPayerInfo.string("VR_ACTNO7")); // 가상 계좌번호7 - sndngDtl.setBankNm8(crdnPayerInfo.string("BANK_NM8")); // 은행 명8 - sndngDtl.setVrActno8(crdnPayerInfo.string("VR_ACTNO8")); // 가상 계좌번호8 - sndngDtl.setBankNm9(crdnPayerInfo.string("BANK_NM9")); // 은행 명9 - sndngDtl.setVrActno9(crdnPayerInfo.string("VR_ACTNO9")); // 가상 계좌번호9 - sndngDtl.setBankNm10(crdnPayerInfo.string("BANK_NM10")); // 은행 명10 - sndngDtl.setVrActno10(crdnPayerInfo.string("VR_ACTNO10")); // 가상 계좌번호10 - sndngDtl.setBankNm11(crdnPayerInfo.string("BANK_NM11")); // 은행 명11 - sndngDtl.setVrActno11(crdnPayerInfo.string("VR_ACTNO11")); // 가상 계좌번호11 - sndngDtl.setBankNm12(crdnPayerInfo.string("BANK_NM12")); // 은행 명12 - sndngDtl.setVrActno12(crdnPayerInfo.string("VR_ACTNO12")); // 가상 계좌번호12 - sndngDtl.setBankNm13(crdnPayerInfo.string("BANK_NM13")); // 은행 명13 - sndngDtl.setVrActno13(crdnPayerInfo.string("VR_ACTNO13")); // 가상 계좌번호13 - sndngDtl.setBankNm14(crdnPayerInfo.string("BANK_NM14")); // 은행 명14 - sndngDtl.setVrActno14(crdnPayerInfo.string("VR_ACTNO14")); // 가상 계좌번호14 - sndngDtl.setBankNm15(crdnPayerInfo.string("BANK_NM15")); // 은행 명15 - sndngDtl.setVrActno15(crdnPayerInfo.string("VR_ACTNO15")); // 가상 계좌번호15 - sndngDtl.setBankNm16(crdnPayerInfo.string("BANK_NM16")); // 은행 명16 - sndngDtl.setVrActno16(crdnPayerInfo.string("VR_ACTNO16")); // 가상 계좌번호16 - sndngDtl.setBankNm17(crdnPayerInfo.string("BANK_NM17")); // 은행 명17 - sndngDtl.setVrActno17(crdnPayerInfo.string("VR_ACTNO17")); // 가상 계좌번호17 - sndngDtl.setBankNm18(crdnPayerInfo.string("BANK_NM18")); // 은행 명18 - sndngDtl.setVrActno18(crdnPayerInfo.string("VR_ACTNO18")); // 가상 계좌번호18 - sndngDtl.setBankNm19(crdnPayerInfo.string("BANK_NM19")); // 은행 명19 - sndngDtl.setVrActno19(crdnPayerInfo.string("VR_ACTNO19")); // 가상 계좌번호19 - sndngDtl.setBankNm20(crdnPayerInfo.string("BANK_NM20")); // 은행 명20 - sndngDtl.setVrActno20(crdnPayerInfo.string("VR_ACTNO20")); // 가상 계좌번호20 - sndngDtl.setDelYn("N"); // 삭제 여부 - - // 발송 상세(TB_SNDNG_DTL) 대장을 등록한다. - rtnNocs = sndngDtlMapper.insertSndngDtl(sndngDtl); - if (rtnNocs != 1) { - throw new RuntimeException("발송상세 등록에 실패하였습니다."); // 예외를 발생시켜서 DB Rollback - } - - return "[S] 작업이 정상 처리 되었습니다."; - } - - /**지정한 조건에 따라 발송 대장 목록을 조회하여 반환한다. - * @param req 발송 대장 조회 조건 - * @return 발송 대장 목록 - */ - public List getSndngList(SndbQuery req) { - // 삭제 여부 확인 - if (req.getDelYn() == null) { - req.setDelYn("N"); - } - // 정렬 확인 - if (req.getOrderBy() == null) { - if (req.getBy() == null) { - req.setOrderBy("REG_DT"); - } else { - req.setOrderBy(CmmnUtil.convertCamelCaseToSnakeCase(req.getBy())); - } - } - - return sndngMapper.selectSndngList(req); - } - - /**지정한 조건에 따라 발송 대장 객체들을 반환한다. - * @param req 발송 대장 조회 조건 - * @return 발송 대장 객체 목록 - */ - public List getSndngs(SndbQuery req) { - // 삭제 여부 확인 - if (req.getDelYn() == null) { - req.setDelYn("N"); - } - // 정렬 확인 - if (req.getOrderBy() == null) { - if (req.getBy() == null) { - req.setOrderBy("REG_DT"); - } else { - req.setOrderBy(CmmnUtil.convertCamelCaseToSnakeCase(req.getBy())); - } - } - - return sndngMapper.selectSndngs(req); - } - - /**발송 대장 정보를 삭제한다. - * @param sndng 발송 대장 - * @return 저장 여부 - *
    • 저장됐으면 true
    • - *
    • 그렇지 않으면 false
    • - *
    - */ - public String removeSndng(Sndng sndng) { - // 변수 선언 - int rtnNocs = -1; - - // 발송 상세(TB_SNDNG_DTL) - SndngDtl sndngDtl = new SndngDtl(); - sndngDtl.setSndngId(sndng.getSndngId()); // 발송 ID - - // 발송 상세(TB_SNDNG_DTL) 대장을 삭제한다. - rtnNocs = sndngDtlMapper.deleteSndngDtl(sndngDtl); - if (rtnNocs < 1) { - throw new RuntimeException("발송상세 정보 삭제에 실패하였습니다."); // 예외를 발생시켜서 DB Rollback - } - - // 발송(TB_SNDNG) 대장을 삭제한다. - rtnNocs = sndngMapper.deleteSndng(sndng); - if (rtnNocs != 1) { - throw new RuntimeException("발송 정보 삭제에 실패하였습니다."); // 예외를 발생시켜서 DB Rollback - } - - return "[S] 작업이 정상 처리 되었습니다."; - } - - /**전자우편 발송 대장 정보를 등록한다. - * @param sndng 발송 대장 - * @return 저장 여부 - *
    • 저장됐으면 true
    • - *
    • 그렇지 않으면 false
    • - *
    - */ - public String createEPost(Sndng sndng) { - // 변수 선언 - boolean rtnScs = false; // DB 처리 결과 - int rtnNocs = -1; // 처리 결과 건수 - String rtnMsg = "[F] "; // 처리 결과 메시지 - - String ctpvCode = ""; // 시도 코드 - String sealCd3 = ""; // 내용문 상세 종류 3번째(마지막) 자리 - String jobCd = ""; - String conKey = ""; // 외부연계식별키 - - // 1. 발송 대장 조회 - DataObject sndngInfo = sndngMapper.selectSndngInfo(new SndbQuery().setSndngId(sndng.getSndngId())); -/* - // 전자우편 발송 등록 전 오류 자료가 존재하는지 체크 - //사진파일 체크 - while not eof do - begin - if FieldByName('MM_CARNO').AsString = '' then - begin - sm('차량번호가 공란인 내역이 있습니다.' + #13 + '차량번호를 입력해주세요.'); - exit; - end; - - if FieldByName('GP_ACCOUNT_NO').AsString = '' then - begin - sm('가상계좌가 공란인 내역이 있습니다.' + #13 + '가상계좌를 입력해주세요.'); - exit; - end; - - if FieldByName('GP_ERC_NO').AsString = '' then - begin - sm('전자납부번호가 공란인 내역이 있습니다.' + #13 + '전자납부번호를 입력해주세요.'); - exit; - end; - - if FieldByName('GP_JUSO').AsString = '' then - begin - sm('주소가 공란인 내역이 있습니다.' + #13 + '주소를 입력해주세요.'); - exit; - end; - - if (FieldByName('GP_TAXNO').AsString = '') and - ((copy(CPSystem_Info.Sido_Code,1,2) = '11') or (debug_level = 4)) then - begin - sm('과세번호가 공란인 내역이 있습니다.' + #13 + '과세번호를 입력해주세요.'); - exit; - end; - - img_chk := 0; - imcode := fieldbyname('MM_code').AsString; -// sm(fieldbyname('MM_code').AsString+#13+fieldbyname('MM_imagecnt').AsString); - sgg_code := Copy(imcode, 1, 5); //시군구 - YearPath := Copy(imcode, 6, 4); //년도 - if fieldbyname('MM_imagecnt').Asinteger = 1 then - begin - if sFtp.isFileExists(sFtp.FtpRootDir + sgg_code + '/' + YearPath + '/' + fieldbyname('MM_code').AsString+'A.jpg') then - inc(img_chk); - end - else if fieldbyname('MM_imagecnt').Asinteger = 2 then - begin - if sFtp.isFileExists(sFtp.FtpRootDir + sgg_code + '/' + YearPath + '/' + fieldbyname('MM_code').AsString+'A.jpg') then - inc(img_chk); - if sFtp.isFileExists(sFtp.FtpRootDir + sgg_code + '/' + YearPath + '/' + fieldbyname('MM_code').AsString+'B.jpg') then - inc(img_chk); - end else if fieldbyname('MM_imagecnt').Asinteger = 3 then - begin - if sFtp.isFileExists(sFtp.FtpRootDir + sgg_code + '/' + YearPath + '/' + fieldbyname('MM_code').AsString+'A.jpg') then - inc(img_chk); - if sFtp.isFileExists(sFtp.FtpRootDir + sgg_code + '/' + YearPath + '/' + fieldbyname('MM_code').AsString+'B.jpg') then - inc(img_chk); - if sFtp.isFileExists(sFtp.FtpRootDir + sgg_code + '/' + YearPath + '/' + fieldbyname('MM_code').AsString+'C.jpg') then - inc(img_chk); - end else if fieldbyname('MM_imagecnt').Asinteger = 4 then - begin - if sFtp.isFileExists(sFtp.FtpRootDir + sgg_code + '/' + YearPath + '/' + fieldbyname('MM_code').AsString+'A.jpg') then - inc(img_chk); - if sFtp.isFileExists(sFtp.FtpRootDir + sgg_code + '/' + YearPath + '/' + fieldbyname('MM_code').AsString+'B.jpg') then - inc(img_chk); - if sFtp.isFileExists(sFtp.FtpRootDir + sgg_code + '/' + YearPath + '/' + fieldbyname('MM_code').AsString+'C.jpg') then - inc(img_chk); - if sFtp.isFileExists(sFtp.FtpRootDir + sgg_code + '/' + YearPath + '/' + fieldbyname('MM_code').AsString+'D.jpg') then - inc(img_chk); - end; - - //sm(FindField('MM_imagecnt').Asstring+#13+inttostr(img_chk)); - //sm(sFtp.FtpRootDir); - - if img_chk <> fieldbyname('MM_imagecnt').Asinteger then - begin - sm('사진파일 검사 중'+#13+ '차량번호 : '+ fieldbyname('MM_carno').AsString +'('+ fieldbyname('MM_code').AsString+')'+ - '의 사진이 서버에 저장되지 않았습니다.'+#13+ - '서버로 사진을 재전송 처리후 발송하시기 바랍니다.'); - //sm(sFtp.FtpRootDir + sgg_code + '/' + YearPath + '/' + fieldbyname('MM_code').AsString); - exit; - end; - next; - end; - end; - //사진파일 체크 - with cdDetail do begin - - IndexDefs.Clear; - IndexDefs.Add('IDX_GP_MM_CARNO_ASC' , 'GP_MM_CARNO;MM_CODE' , []); - IndexName := 'IDX_GP_MM_CARNO_ASC'; - //IndexFieldNames := 'MM_CODE'; - lblSort.Caption := '정렬 : 차량번호'; - lblSeek.Caption := '차량번호 검색'; - - First; - DisableControls; - - LVY_NO_Cnt := 0; - ERC_NO_Cnt := 0; - ACCOUNT_NO_Cnt := 0; - while not eof do begin - if FieldByName('MC_LVY_NO').AsString = '' then Inc(LVY_NO_Cnt); - if FieldByName('MC_ERC_NO').AsString = '' then Inc(ERC_NO_Cnt); - if FieldByName('MC_ACCOUNT_NO').AsString = '' then Inc(ACCOUNT_NO_Cnt); - Next; - end; - EnableControls; - if LVY_NO_Cnt > 0 then - begin - Msg_Warning('출력불가' + #13 + - '부과번호가 발취 안된 자료가 ' + IntToStr(LVY_NO_Cnt) + ' 건 있습니다.'); - Exit; - end; - if ERC_NO_Cnt > 0 then - begin - Msg_Warning('출력불가' + #13 + - '전자납부번호가 발취 안된 자료가 ' + IntToStr(ERC_NO_Cnt) + ' 건 있습니다.'); - Exit; - end; - - if ACCOUNT_NO_Cnt > 0 then - begin - Msg_Warning('출력불가' + #13 + - '가상계좌가 발취 안된 자료가 ' + IntToStr(ACCOUNT_NO_Cnt) + ' 건 있습니다.'); - Exit; - end; - - end; - */ - - // 2. 사용자 정보를 조회한다. - DataObject userInfo = userBean.getUserInfo(currentUser().getId()); - - // 3. 자치단체 및 부서 정보를 조회한다. - DataObject deptSggInfo = epostRcptRegBean.getDeptSggInfo(sndngInfo.string("DEPT_CD")); - - // 4. 위반 정보를 조회한다. - VltnQuery vltnQuery = new VltnQuery(); - - if (sndngInfo.string("VLTN_ID").equals("")) { // 위반 ID가 없다면.. - vltnQuery.setSggCd(sndngInfo.string("SGG_CD")); - vltnQuery.setTaskSeCd(sndngInfo.string("TASK_SE_CD")); - vltnQuery.setVltnCd("01"); - } else { - vltnQuery.setSggCd(sndngInfo.string("SGG_CD")); - vltnQuery.setTaskSeCd(sndngInfo.string("TASK_SE_CD")); - vltnQuery.setVltnId(sndngInfo.string("VLTN_ID")); - } - DataObject vltnInfo = vltnMapper.selectVltnInfo(vltnQuery); - - // 5. 전자우편 접수 내역을 등록한다. - EpostRcptReg epostRcptReg = new EpostRcptReg(); - - ctpvCode = sndngInfo.string("SGG_CD").substring(0, 2); // 시도 코드 - - if (sndngInfo.string("SNDNG_SE_CD").equals("01")) { - sealCd3 = "E"; // E:과태료부과계도장 - } else if (sndngInfo.string("TASK_SE_CD").equals("DPV")) { // 장애인전용 - if (sndngInfo.string("SNDNG_SE_CD").equals("02")) { - sealCd3 = "2"; // 2:장애인주차구역사전통보 - } else { - sealCd3 = "7"; // 7:장애인주차구역고지서 - } - } else if (sndngInfo.string("TASK_SE_CD").equals("ECA")) { // 전기차주차 - if (sndngInfo.string("SNDNG_SE_CD").equals("02")) { - sealCd3 = "L"; // L:전기차충전구역과태료사전통지서 - } else { - sealCd3 = "M"; // M:전기차충전구역과태료고지서 - } - } else { - rtnMsg = "[F] 작업중 지정되지 않았습니다."; - return rtnMsg; - } - - // 발송 구분 - if (sndngInfo.string("SNDNG_SE_CD").equals("01")) { // 계고장 - jobCd = vltnInfo.string("VLTN_CD") + "01"; - } else if (sndngInfo.string("SNDNG_SE_CD").equals("02")) { // 사전통지 - jobCd = vltnInfo.string("VLTN_CD") + "02"; - } else if (sndngInfo.string("SNDNG_SE_CD").equals("03")) { // 부과 - jobCd = vltnInfo.string("VLTN_CD") + "03"; - } else if (sndngInfo.string("SNDNG_SE_CD").equals("04")) { // 독촉 - jobCd = vltnInfo.string("VLTN_CD") + "04"; - } else if (sndngInfo.string("SNDNG_SE_CD").equals("05")) { // 압류예고 - jobCd = vltnInfo.string("VLTN_CD") + "05"; - } else if (sndngInfo.string("SNDNG_SE_CD").equals("06")) { // 압류통지 - jobCd = vltnInfo.string("VLTN_CD") + "06"; - } else if (sndngInfo.string("SNDNG_SE_CD").equals("09")) { // 체납분 - jobCd = vltnInfo.string("VLTN_CD") + "09"; - } else { - rtnMsg = "[F] 작업중 발송 구분이 지정되지 않았습니다."; - return rtnMsg; - } - - String epostSenderRegSeq = epostRcptRegBean.getEpostSenderRegSeq(sndngInfo.string("TODAY"), sndngInfo.string("DEPT_CD")); - conKey = sndngInfo.string("TODAY") + "-" + sndngInfo.string("DEPT_CD") + "0000" + "-" + epostSenderRegSeq; - - int seqNo = 0; - if (sndng.getPostSndngSeCd().equals("0")) { - seqNo = epostRcptDtlBean.getEpostSenderDetailSeq(sndngInfo.string("TODAY")); - } - // 포맷: 등록일(REG_YMD)-발송기관코드(RECEV_SENDER_ORG_CODE)-업무코드(WORK_ID)-우편물구분(POST_SE)일련번호(RECEV_SEQ_NO) - // 예시: 20170719-40504370000-003-1001 - - epostRcptReg.setConKey(conKey); // 외부연계식별키 - epostRcptReg.setConOrg(deptSggInfo.string("EGP_CON_ORG")); // 외부기관구분코드 - epostRcptReg.setRceptId(deptSggInfo.string("EGP_RCEPT_ID")); // 접수우체국국기호 - epostRcptReg.setDataCd("00"); // 접수코드 - - // 취급구분(DIV_KB) 000=일반 001=등기 201=선택등기 - if (sndng.getPostSndngSeCd().equals("1")) { - if (sndngInfo.string("SGG_CD").equals("11500")) { - epostRcptReg.setDivKb("00" + sndng.getPostSndngSeCd()); - epostRcptReg.setSealCd("1" + "2" + sealCd3); - } else { - epostRcptReg.setDivKb("20" + sndng.getPostSndngSeCd()); - epostRcptReg.setSealCd("E" + "2" + sealCd3); - } - } else { - epostRcptReg.setDivKb("00" + sndng.getPostSndngSeCd()); - epostRcptReg.setSealCd(sndng.getPostSndngSeCd() + "2" + sealCd3); - } - - epostRcptReg.setDfpayyn("001"); // 결재방법(DFPAYYN) - epostRcptReg.setRcptKb("020"); // 내용문 유형(RCPT_KB) - epostRcptReg.setWordKb("001"); // 내용문 종류(WORD_KB) - epostRcptReg.setRecevCnt(sndngInfo.number("TNOCS").intValue()); // 수취인 수 -> 건수 확인 필요하다. ///////////////////////////// - epostRcptReg.setEnvCd("003"); // 봉투 종류 - 접착식 - - if (ctpvCode.equals("11")) { // 서울특별시 - epostRcptReg.setColorYn("Y"); - epostRcptReg.setMailCnt(2); - - if (sealCd3.equals("E")) { - epostRcptReg.setFlexCd("N"); - } else { - epostRcptReg.setFlexCd("Y"); - } - } else { - if (sndngInfo.string("SGG_CD").equals("44200")) { // 아산시청 - if (sndng.getSndngSeCd().equals("02")) { // 사전통지는 컬러로.. - epostRcptReg.setColorYn("Y"); - } else { - epostRcptReg.setColorYn("N"); - } - } else if (sndngInfo.string("SGG_CD").equals("50110")) { // 제주시청 - if (sndng.getSndngSeCd().equals("02") || sndng.getSndngSeCd().equals("01") || sndng.getSndngSeCd().equals("10")) { // 사전통지, 계도 컬러로 - epostRcptReg.setColorYn("Y"); - } else { - epostRcptReg.setColorYn("N"); - } - } else { - epostRcptReg.setColorYn("N"); // 칼라우편물/흑백우편물(COLOR_YN) - } - - epostRcptReg.setFlexCd("N"); // 이면구분(FLEX_CD) - epostRcptReg.setMailCnt(1); // 내용문 매수(MAIL_CNT) - } - - epostRcptReg.setMmYn("Y"); // 메일머지 플래그(MM_YN) - epostRcptReg.setDmCnt(0); // 동봉물 개수(DM_CNT) - epostRcptReg.setSbFg("Y"); // 반송불필요 여부(SB_FG) - epostRcptReg.setApvlNb(deptSggInfo.string("EGP_APVL_NB")); // 후납계약 승인번호(APVL_NB) - epostRcptReg.setSendDate(sndngInfo.string("NOW").substring(0, 8)); // 신청 일자(SEND_DATE) - epostRcptReg.setSendTime(sndngInfo.string("NOW").substring(8)); // 전송 시간(SEND_TIME) - - if ("420".equals(sndngInfo.string("DEPT_CD").substring(0, 3)) && (sndngInfo.string("TASK_SE_CD").equals("ECA"))) { - epostRcptReg.setRelorsectCd("4200999"); // 연계기관결제부서코드(RELORSECT_CD) - } else { - epostRcptReg.setRelorsectCd(deptSggInfo.string("DEPT_CD")); // 연계기관결제부서코드(RELORSECT_CD) - } - - epostRcptReg.setRecevSenderOrgCode(deptSggInfo.string("DEPT_CD") + "0000"); // 발송기관코드(RECEV_SENDER_ORG_CODE) - epostRcptReg.setRecevSenderNm(deptSggInfo.string("INST_NM") + " " + deptSggInfo.string("DEPT_NM")); // 발송인명(SENDER_NM) - epostRcptReg.setRecevSenderZipcode(deptSggInfo.string("INST_ZIP")); // 우편번호(SENDER_ZIPCODE) - epostRcptReg.setRecevSenderAddr(deptSggInfo.string("INST_ADDR")); // 주소(SENDER_ADDR) - epostRcptReg.setRecevSenderDetailaddr(deptSggInfo.string("INST_DADDR")); // 상세주소(SENDER_DTAILADDR) - epostRcptReg.setRecevSenderDepartTel(deptSggInfo.string("DEPT_TELNO")); // 부과부서 전화번호(RECEV_SENDER_DEPART_TEL) - epostRcptReg.setRecevSenderDepartNm(deptSggInfo.string("DEPT_NM")); // 부과부서(RECEV_SENDER_DEPART_NM) - epostRcptReg.setRecevDivCd(sndng.getPostSndngSeCd()); // 등기구분(RECEV_DIV_CD) - epostRcptReg.setRecevPrintDt(sndngInfo.string("TODAY_MASK")); // 출력일자(RECEV_PRINT_DT) - epostRcptReg.setRecevPrintYear(sndngInfo.string("TODAY").substring(0, 4)); // 출력연도(RECEV_PRINT_YEAR) - epostRcptReg.setRecevPrintMonth(sndngInfo.string("TODAY").substring(4, 6)); // 출력월(RECEV_PRINT_MONTH) - epostRcptReg.setRecevPrintDay(sndngInfo.string("TODAY").substring(6, 8)); // 출력일(RECEV_PRINT_DAY) - epostRcptReg.setRecevSenderFax(deptSggInfo.string("DEPT_FXNO")); // 부과부서 팩스번호(RECEV_SENDER_FAX) - epostRcptReg.setRecevSerderStaff(userInfo.string("USER_NM")); // 부과부서 담당자(RECEV_SERDER_STAFF) - epostRcptReg.setRecevSenderEmail(userInfo.string("EML_ADRS")); // 부과부서 이메일(RECEV_SENDER_EMAIL) - epostRcptReg.setJobCd(jobCd); // 작업 코드(JOB_CD) - epostRcptReg.setPostPrcsSttsCd("01"); // 우편 처리 상태 코드(POST_PRCS_STTS_CD) - epostRcptReg.setDelYn("N"); // 삭제 여부 - epostRcptReg.setRceptYmd(sndngInfo.string("TODAY")); // 접수 일자 - epostRcptReg.setSndngId(sndngInfo.string("SNDNG_ID")); // 발송 ID - - // 6. 전자우편 접수 등록 - rtnScs = epostRcptRegBean.create(epostRcptReg); - if (!rtnScs) { - // 예외를 발생시켜서 오류메세지를 보내고 DB Rollback - throw new RuntimeException("우편통합 발송 작업중 전자우편 접수 등록에 실패하였습니다."); - } - - // 7. 발송 내역을 수정한다. - Sndng updtSndng = new Sndng(); - updtSndng.setConKey(epostRcptReg.getConKey()); // 외부연계식별키 - updtSndng.setDivKb(epostRcptReg.getDivKb()); // 취급 구분 -// updtSndng.setEpostNoticeId(); // 전자우편 안내문 ID - updtSndng.setSndngSttsCd("01"); // 발송 상태 코드(FIM049) - 01 발송 대기 - updtSndng.setSndngId(sndng.getSndngId()); // 발송 ID - - rtnNocs = sndngMapper.updateEPostSndng(updtSndng); // 전자우편 발송 내역 수정 - if (rtnNocs != 1) { - throw new RuntimeException("우편통합 발송 작업중 발송 내역 수정에 실패하였습니다."); // 예외를 발생시켜서 DB Rollback - } - - // 8. 전자우편 접수 상세 내역을 등록한다. - String infoSndngSeNm = ""; // 약식 발송 구분 명 - - if (sndngInfo.string("SNDNG_SE_CD").equals("01")) { // 계도 - infoSndngSeNm = "계도"; - } else if (sndngInfo.string("SNDNG_SE_CD").equals("02")) { // 사전통지서 - infoSndngSeNm = "사전"; - } else if (sndngInfo.string("SNDNG_SE_CD").equals("03")) { // 부과고지서 - infoSndngSeNm = "부과"; - } else if (sndngInfo.string("SNDNG_SE_CD").equals("04")) { // 독촉고지서 - infoSndngSeNm = "독촉"; - } else if (sndngInfo.string("SNDNG_SE_CD").equals("05")) { // 압류예고통지서 - infoSndngSeNm = "예고"; - } else if (sndngInfo.string("SNDNG_SE_CD").equals("06")) { // 압류통지 - infoSndngSeNm = "압류"; - } else if (sndngInfo.string("SNDNG_SE_CD").equals("07")) { // 사전통지서(개별) - infoSndngSeNm = "사전"; - } else if (sndngInfo.string("SNDNG_SE_CD").equals("08")) { // 체납고지서(개별) - infoSndngSeNm = "체납"; - } else if (sndngInfo.string("SNDNG_SE_CD").equals("09")) { // 체납고지서 - infoSndngSeNm = "체납"; - } - - // 문서종류 - String recevDocCd1 = ""; - String recevDocCd2 = ""; - String recevDocCd3 = ""; - String recevDocCd4 = ""; - String recevDocCd5 = ""; - - if ("DPV,ECA".contains(sndngInfo.string("TASK_SE_CD"))) { - recevDocCd1 = "납부(" + infoSndngSeNm + ")서 영수증"; // 문서종류1 - recevDocCd2 = vltnInfo.string("TASK_SE_NM") + " " + vltnInfo.string("VLTN_ARTCL"); // 문서종류2 - recevDocCd3 = "[" + infoSndngSeNm + "]"; // 문서종류3 - recevDocCd4 = "[" + "시세외" + "]" + sndngInfo.string("TXITM_NM"); // 문서종류4 - recevDocCd5 = "영수필통지서"; // 문서종류5 - } else { - recevDocCd1 = ""; // 문서종류1 - recevDocCd2 = ""; // 문서종류2 - recevDocCd3 = ""; // 문서종류3 - recevDocCd4 = ""; // 문서종류4 - recevDocCd5 = "영수필통지서"; // 문서종류5 - } - - // 과목명 - String recevSubj1 = ""; // 과목명1 - String recevSubj2 = ""; // 과목명2 - String recevSubj3 = ""; // 과목명3 - - recevSubj1 = "과태료"; - if (sndngInfo.string("SNDNG_SE_CD").equals("01") || sndngInfo.string("SNDNG_SE_CD").equals("02")) { // 계도, 사전통지서 - recevSubj2 = ""; - } else { - recevSubj2 = "가산금"; - } - recevSubj3 = deptSggInfo.string("SGG_NM"); - - // 9. 전자우편 접수 상세 조회 - SndbQuery sndbQuery = new SndbQuery(); - sndbQuery.setSndngId(sndng.getSndngId()); - sndbQuery.setDelYn("N"); - - List sndngTrgts = sndngDtlMapper.selectSndngTrgtDtlIds(sndbQuery); - - for (int iLoop = 0; iLoop < sndngTrgts.size(); iLoop++) { - // 전자우편 접수 상세 - EpostRcptDtl epostRcptDtl = new EpostRcptDtl(); - - // 발송 상세 및 단속, 납부자, 부과 정보 조회 - DataObject sndngDtlInfo = sndngDtlMapper.selectSndngDtlInfo(new SndbQuery().setSndngDtlId(sndngTrgts.get(iLoop).string("SNDNG_DTL_ID"))); - - // 가상계좌취득 자료가 아니면 다음 자료로.. - if (!sndngDtlInfo.string("SNDNG_DTL_STTS_CD").equals("02")) { -// continue; - throw new RuntimeException("우편통합 발송 작업중 발송상세 상태코드가 가상계좌취득이 아닌 자료를 발견되었습니다."); // 예외를 발생시켜서 DB Rollback - } - - // 고지번호 - String becevBillNumber = ""; - if ("01,02".contains(sndngDtlInfo.string("SNDNG_SE_CD"))) { - becevBillNumber = ""; - } else { - becevBillNumber = "고지번호:" + sndngDtlInfo.string("FYR") + "-" + sndngDtlInfo.string("LEVY_NO"); - } - - // 등기번호 - String rgstNmbr = ""; - if (sndng.getPostSndngSeCd().equals("1")) { - rgstNmbr = epostRcptRegBean.getEpostRgNo(sndngInfo.string("SGG_CD"), sndngInfo.string("TASK_SE_CD")); - } else { - seqNo++; - rgstNmbr = sndngInfo.string("TODAY") + String.format("%05d", seqNo + 1); - } - - // 금액 - int pcptax = 0; // 본세 - int adamt = 0; // 가산금 - int sumAmt = 0; // 합계 금액 - int afterPcptax = 0; // 납기후 본세 - int afterAdamt = 0; // 납기후 가산금 - int afterSumAmt = 0; // 납기후 합계 금액 - - // 계도장에는 최초 과태료 금액을 출력한다. - if (sndngDtlInfo.string("SNDNG_SE_CD").equals("11") || sndngDtlInfo.string("SNDNG_SE_CD").equals("12")) { - pcptax = sndngDtlInfo.number("FFNLG_AMT").intValue(); // 본세 = 과태료 단속 금액 - adamt = 0; // 가산금 = 0 - sumAmt = sndngDtlInfo.number("FFNLG_AMT").intValue(); // 합계 금액 = 과태료 단속 금액 - afterPcptax = 0; // 납기후 본세 - afterAdamt = 0; // 납기후 가산금 - afterSumAmt = 0; // 납기후 합계 금액 - } else { - pcptax = sndngDtlInfo.number("PCPTAX").intValue(); // 본세 - adamt = sndngDtlInfo.number("ADAMT").intValue(); // 가산금 - sumAmt = sndngDtlInfo.number("SUM_AMT").intValue(); // 합계 금액 - - if (sndngDtlInfo.string("SGG_CD").equals("50110")) { - afterPcptax = 0; // 납기후 본세 - afterAdamt = 0; // 납기후 가산금 - afterSumAmt = 0; // 납기후 합계 금액 - } else { - afterSumAmt = sndngDtlInfo.number("DUDT_AFTR_AMT").intValue(); // 납기후 금액 - if (afterSumAmt == 0) { // 납기후 금액이 0 이라면.. - afterPcptax = 0; - afterAdamt = 0; - afterSumAmt = 0; - } else { - afterPcptax = sndngDtlInfo.number("PCPTAX").intValue(); // 납기후 본세 - if (afterSumAmt > afterPcptax) { // 납기후 금액이 본세보다 크다면.. - afterAdamt = sndngDtlInfo.number("DUDT_AFTR_AMT").intValue() - sndngDtlInfo.number("PCPTAX").intValue(); - } else if (afterSumAmt < afterPcptax) { // 납기후 금액이 본세보다 작다면 오류.. - throw new RuntimeException("우편통합 발송 작업중 납기후 금액이 본세보다 작은 자료가 발견되었습니다."); // 예외를 발생시켜서 DB Rollback - } else { - afterAdamt = 0; - } - } - } - } - - // OCR Band - String ocr0 = ""; - String ocr1 = ""; - String ocr2 = ""; - if ("11,12".contains(sndngDtlInfo.string("SNDNG_SE_CD"))) { // 계도장 - ocr0 = ""; - ocr1 = ""; - ocr2 = ""; - } else if (ctpvCode.equals("11")) { // 서울 - ocr0 = sndngDtlInfo.string("TAX_NO"); - ocr1 = ""; - ocr2 = ""; - } else { - // TAX_NO = 부서코드(7) + 특별회계사업코드(4) + 회계연도(4) + 회계구분(2) + 세목코드(6) + 고지번호(6) + 분납순번(2) - ocr0 = sndngDtlInfo.string("TAX_NO") + CmmnUtil.getOcrVrfcCode("12357", sndngDtlInfo.string("TAX_NO"), 31); - ocr1 = CmmnUtil.getOcrband2(ocr0, sndngDtlInfo.string("LEVY_SE_CD"), sumAmt, sndngDtlInfo.string("DUDT_YMD")); - ocr2 = CmmnUtil.getOcrband3(ocr1, sumAmt, sndngDtlInfo.string("DUDT_YMD"), afterSumAmt); - } - - // 전자우편 접수 상세 ///////////////////////////////////////////////////// - // CON_KEY - epostRcptDtl.setConKey(conKey); - // 등기번호 - epostRcptDtl.setRgstNmbr(rgstNmbr); - // 일련번호 - epostRcptDtl.setRecevSeq(sndngDtlInfo.string("CRDN_ID")); - // 발송코드 - epostRcptDtl.setRecevCode(sndngDtlInfo.string("SNDNG_DTL_ID")); - // 바코드 - epostRcptDtl.setRecevBar1d(deptSggInfo.string("SGG_LEADER")); - // 이차원바코드 - epostRcptDtl.setRecevBar2d(""); - // 고지번호 - epostRcptDtl.setRecevBillNumber(becevBillNumber); - // 문서종류1 - epostRcptDtl.setRecevDocCd1(recevDocCd1); - // 문서종류2 - epostRcptDtl.setRecevDocCd2(recevDocCd2); - // 문서종류3 - epostRcptDtl.setRecevDocCd3(recevDocCd3); - // 문서종류4 - epostRcptDtl.setRecevDocCd4(recevDocCd4); - // 문서종류5 - epostRcptDtl.setRecevDocCd5(recevDocCd5); - // 과목명1 - epostRcptDtl.setRecevSubj1(recevSubj1); - // 과목명2 - epostRcptDtl.setRecevSubj2(recevSubj2); - // 과목명3 - epostRcptDtl.setRecevSubj3(recevSubj3); - // 위반일시 - epostRcptDtl.setRecevViolateDt(sndngDtlInfo.string("CRDN_YMD_TM_MASK")); - // 위반동 - epostRcptDtl.setRecevViolateDong(sndngDtlInfo.string("CRDN_STDG_NM")); - // 위반장소 - 80 - String crdnPlc = sndngDtlInfo.string("CRDN_PLC"); - if (crdnPlc.length() > 80) { - crdnPlc = sndngDtlInfo.string("CRDN_PLC").substring(0, 80); - epostRcptDtl.setRecevViolatePlace(crdnPlc); - } else { - epostRcptDtl.setRecevViolatePlace(crdnPlc); - } - // 법조항 - epostRcptDtl.setRecevLaws(vltnInfo.string("VLTN_LAW_NM") + " " + vltnInfo.string("VLTN_LAW1") + " " + vltnInfo.string("VLTN_LAW2")); - // 납부번호 - if (ocr0.equals("")) { - epostRcptDtl.setRecevPayNumber1(""); // 납부번호1 - epostRcptDtl.setRecevPayNumber2(""); // 납부번호2 - } else { - epostRcptDtl.setRecevPayNumber1(sndngDtlInfo.string("TAX_NO").substring(0, 17)); // 납부번호1 - epostRcptDtl.setRecevPayNumber2(sndngDtlInfo.string("TAX_NO").substring(17)); // 납부번호2 - } - // OCR0 - epostRcptDtl.setRecevOcr0(ocr0); - // OCR1 - epostRcptDtl.setRecevOcr1(ocr1); - // OCR2 - epostRcptDtl.setRecevOcr2(ocr2); - // 전자 납부번호 - epostRcptDtl.setRecevOnlinePayNumber(sndngDtlInfo.string("EPAYNO")); - // 가상계좌 - if (ctpvCode.equals("11")) { // 서울 - epostRcptDtl.setVractno(sndngDtlInfo.string("VR_ACTNO")); - epostRcptDtl.setVractno2(sndngDtlInfo.string("VR_ACTNO2")); - epostRcptDtl.setVractno3(sndngDtlInfo.string("VR_ACTNO3")); - epostRcptDtl.setVractno4(sndngDtlInfo.string("VR_ACTNO4")); - epostRcptDtl.setVractno5(sndngDtlInfo.string("VR_ACTNO5")); - epostRcptDtl.setVractno6(sndngDtlInfo.string("VR_ACTNO6")); - epostRcptDtl.setVractno7(sndngDtlInfo.string("VR_ACTNO7")); - epostRcptDtl.setVractno8(sndngDtlInfo.string("VR_ACTNO8")); - epostRcptDtl.setVractno9(sndngDtlInfo.string("VR_ACTNO9")); - epostRcptDtl.setVractno10(sndngDtlInfo.string("VR_ACTNO10")); - epostRcptDtl.setVractno11(sndngDtlInfo.string("VR_ACTNO11")); - } else { - epostRcptDtl.setVractno(sndngDtlInfo.string("BANK_NM") + " " + sndngDtlInfo.string("VR_ACTNO")); - epostRcptDtl.setVractno2(sndngDtlInfo.string("BANK_NM2") + " " + sndngDtlInfo.string("VR_ACTNO2")); - epostRcptDtl.setVractno3(sndngDtlInfo.string("BANK_NM3") + " " + sndngDtlInfo.string("VR_ACTNO3")); - epostRcptDtl.setVractno4(sndngDtlInfo.string("BANK_NM4") + " " + sndngDtlInfo.string("VR_ACTNO4")); - epostRcptDtl.setVractno5(sndngDtlInfo.string("BANK_NM5") + " " + sndngDtlInfo.string("VR_ACTNO5")); - epostRcptDtl.setVractno6(sndngDtlInfo.string("BANK_NM6") + " " + sndngDtlInfo.string("VR_ACTNO6")); - epostRcptDtl.setVractno7(sndngDtlInfo.string("BANK_NM7") + " " + sndngDtlInfo.string("VR_ACTNO7")); - epostRcptDtl.setVractno8(sndngDtlInfo.string("BANK_NM8") + " " + sndngDtlInfo.string("VR_ACTNO8")); - epostRcptDtl.setVractno9(sndngDtlInfo.string("BANK_NM9") + " " + sndngDtlInfo.string("VR_ACTNO9")); - epostRcptDtl.setVractno10(sndngDtlInfo.string("BANK_NM10") + " " + sndngDtlInfo.string("VR_ACTNO10")); - epostRcptDtl.setVractno11(sndngDtlInfo.string("BANK_NM11") + " " + sndngDtlInfo.string("VR_ACTNO11")); - } - // 과태료금액 - epostRcptDtl.setRecevFinePrice(sndngDtlInfo.string("FFNLG_AMT")); - // 납부금액 - epostRcptDtl.setRecevPayPrice(String.valueOf(sumAmt)); - // 납부기한 - epostRcptDtl.setRecevPayDt(sndngDtlInfo.string("DUDT_YMD_MASK_KOR")); - // 납기내기한 - epostRcptDtl.setRecevPayInDate(sndngDtlInfo.string("DUDT_YMD_MASK")); - // 납기내금액 - epostRcptDtl.setRecevPayInPrice(String.valueOf(pcptax)); - // 납기내가산금 - epostRcptDtl.setRecevPayInAddPrice(String.valueOf(adamt)); - // 납기내합계금액 - epostRcptDtl.setRecevPayInDefaultPrice(String.valueOf(sumAmt)); - // 납기후기한 - epostRcptDtl.setRecevPayOutDate(sndngDtlInfo.string("DUDT_AFTR_YMD_MASK")); - // 납기후금액 - epostRcptDtl.setRecevPayOutPrice(String.valueOf(afterPcptax)); - // 납기후가산금 - epostRcptDtl.setRecevPayOutAddPrice(String.valueOf(afterAdamt)); - // 납기후합계금액 - epostRcptDtl.setRecevPayOutDefaultPrice(String.valueOf(afterSumAmt)); - // 차량번호 - epostRcptDtl.setRecevCarNumber(sndngDtlInfo.string("VHRNO")); - // 우편번호 - epostRcptDtl.setRecevCarOwnerZipcode(sndngDtlInfo.string("ZIP")); - // 주소(시, 구) - epostRcptDtl.setRecevCarOwnerAddr(sndngDtlInfo.string("ADDR")); - // 상세주소 - epostRcptDtl.setRecevCarOwnerDetailaddr(sndngDtlInfo.string("DTL_ADDR")); - // 소유자명 - epostRcptDtl.setRecevCarOwnerNm(sndngDtlInfo.string("RTPYR_NM")); - // 주민번호(납부자 생년월일) - epostRcptDtl.setRecevCarOwnerSsn(sndngDtlInfo.string("RTPYR_BRDT")); - // 증거번호 - epostRcptDtl.setRecevEvidenceNumber(sndngDtlInfo.string("SNDNG_DTL_ID")); - // 사진장수 - epostRcptDtl.setRecevPhotoCnt("0"); - // 사진파일명1 - epostRcptDtl.setRecevPhotoFilename1(""); - // 사진파일명2 - epostRcptDtl.setRecevPhotoFilename2(""); - // 사진파일명3 - epostRcptDtl.setRecevPhotoFilename3(""); - // 사진파일명4 - epostRcptDtl.setRecevPhotoFilename4(""); - - // 계도장(10,11), 사전통지서(01,02)에는 사진을 출력한다. - if ("01,02,11,12".contains(sndngDtlInfo.string("SNDNG_SE_CD"))) { - // 단속 첨부 파일 조회 - List fileInfo = fileBean.getFilesOf(Crdn.INF_TYPE, sndngDtlInfo.string("CRDN_ID")); - - if (fileInfo.size() > 0) { - epostRcptDtl.setRecevPhotoCnt(String.valueOf(fileInfo.size())); // 사진장수 - - // 사진파일명이 중복이 되면 안되다.. 중복을 피하기 위해 서버에 저장된 파일명으로 지정하였다. - for (int jLoop = 0; jLoop < fileInfo.size(); jLoop++) { - // 서버 OS에 따라.. separator 지정. - String strSeparator = ""; // File.separator - if (deptSggInfo.string("SRVR_OS").contains("Windows")) { - strSeparator = "\\"; - } else { - strSeparator = "/"; - } - - // 파일 명 - String fileName = ""; - fileName = fileInfo.get(jLoop).getPath(); - fileName = fileName.substring(fileName.lastIndexOf(strSeparator) + 1); - - try { - // 파일이 저장되는 경로 확인. file-job.conf 에서 확인. epost 전자우편 신청 전송 "attachmentDir" - File fPath = new File(new File("").getAbsolutePath() + "/files/interface/attachment/epost/"); - - // 폴더가 존재하는지 확인 후 폴더가 없다면 생성 - if (!fPath.exists()) { - fPath.mkdir(); - } - - // 파일 복사 - FileInputStream fInputStream = (FileInputStream) fileInfo.get(jLoop).getInputStream(); - FileOutputStream fOutputStream = new FileOutputStream(fPath + File.separator + fileName); - - byte[] buffer = new byte[1024]; - int length; - - while ((length = fInputStream.read(buffer)) > 0) { - fOutputStream.write(buffer, 0, length); - } - - fInputStream.close(); - fOutputStream.close(); - } catch (IOException e) { - throw new RuntimeException("우편통합 발송 작업중 전자우편 단속 사진 등록에 실패하였습니다."); // 예외를 발생시켜서 DB Rollback - } - - if (jLoop == 0) { - epostRcptDtl.setRecevPhotoFilename1(fileName); // 사진파일명1 - } else if (jLoop == 1) { - epostRcptDtl.setRecevPhotoFilename2(fileName); // 사진파일명2 - } else if (jLoop == 2) { - epostRcptDtl.setRecevPhotoFilename3(fileName); // 사진파일명3 - } else if (jLoop == 3) { - epostRcptDtl.setRecevPhotoFilename4(fileName); // 사진파일명4 - } - } - } - } - - // 10. 전자우편 접수 상세 - rtnScs = epostRcptDtlBean.create(epostRcptDtl); - if (!rtnScs) { - throw new RuntimeException("우편통합 발송 작업중 전자우편 상세 등록에 실패하였습니다."); // 예외를 발생시켜서 DB Rollback - } - - // 11. 발송상세 내역을 수정한다. - SndngDtl sndngDtl = new SndngDtl(); - sndngDtl.setConKey(conKey); // 외부연계식별키 - sndngDtl.setRgNo(rgstNmbr); // 등기 번호 - sndngDtl.setSndngDtlSttsCd("03"); // 발송 상세 상태 코드(FIM050) - 03 발송 - sndngDtl.setSndngDtlId(sndngDtlInfo.string("SNDNG_DTL_ID")); - - rtnNocs = sndngDtlMapper.updateSndngDtlEPost(sndngDtl); // 전자우편 발송상세 내역 수정 - if (rtnNocs != 1) { - throw new RuntimeException("우편통합 발송 작업중 전자우편 상세 등록에 실패하였습니다."); // 예외를 발생시켜서 DB Rollback - } - } - - return "[S] 작업이 정상 처리 되었습니다."; - } - -} diff --git a/src/main/java/cokr/xit/fims/sndb/service/bean/SndngDtlBean.java b/src/main/java/cokr/xit/fims/sndb/service/bean/SndngDtlBean.java deleted file mode 100644 index a923dfdf..00000000 --- a/src/main/java/cokr/xit/fims/sndb/service/bean/SndngDtlBean.java +++ /dev/null @@ -1,743 +0,0 @@ -package cokr.xit.fims.sndb.service.bean; - -import java.io.IOException; -import java.util.List; - -import javax.annotation.Resource; - -import org.springframework.stereotype.Component; - -import com.fasterxml.jackson.databind.DeserializationFeature; -import com.fasterxml.jackson.databind.JsonNode; -import com.fasterxml.jackson.databind.ObjectMapper; - -import cokr.xit.fims.cmmn.CmmnUtil; -import cokr.xit.fims.cmmn.CrdnSttsHstry; -import cokr.xit.fims.cmmn.service.bean.CrdnSttsHstryBean; -import cokr.xit.fims.crdn.Crdn; -import cokr.xit.fims.epst.EpostQuery; -import cokr.xit.fims.epst.dao.EpostDlvrRsltMapper; -import cokr.xit.fims.levy.Levy; -import cokr.xit.fims.levy.dao.LevyMapper; -import cokr.xit.fims.nxrp.A03; -import cokr.xit.fims.nxrp.NisIndivQuery; -import cokr.xit.fims.nxrp.service.bean.NisIndivBean; -import cokr.xit.fims.sndb.SndbQuery; -import cokr.xit.fims.sndb.SndngDtl; -import cokr.xit.fims.sndb.dao.SndngDtlMapper; -import cokr.xit.fims.sndb.dao.SvbtcMapper; -import cokr.xit.foundation.component.AbstractBean; -import cokr.xit.foundation.data.DataObject; - -/**발송 상세 정보 관리 Bean - * - *

    상세 설명: - * - *

    - * ============ 변경 이력 ============
    - * 2023-12-27	JoJH 최초 작성
    - * ================================
    - * 
    - */ -@Component("sndngDtlBean") -public class SndngDtlBean extends AbstractBean { - - /** 발송 상세 정보 DAO */ - @Resource(name = "sndngDtlMapper") - private SndngDtlMapper sndngDtlMapper; - - /** 공시송달 대장 정보 DAO */ - @Resource(name = "svbtcMapper") - private SvbtcMapper svbtcMapper; - - /** 전자우편 배달 결과 정보 DAO */ - @Resource(name = "epostDlvrRsltMapper") - private EpostDlvrRsltMapper epostDlvrRsltMapper; - - /** 부과 대장 정보 DAO */ - @Resource(name = "levyMapper") - private LevyMapper levyMapper; - - /** 단속 상태 이력 정보 Bean */ - @Resource(name = "crdnSttsHstryBean") - private CrdnSttsHstryBean crdnSttsHstryBean; - - /** 과태료 대장 단속 정보 등록 정보 Bean */ - @Resource(name = "nisIndivBean") - private NisIndivBean nisIndivBean; - - /**지정한 조건에 따라 발송 상세 목록을 조회하여 반환한다. - * @param req 발송 상세 조회 조건 - * @return 발송 상세 목록 - */ - public List getSndngDtlList(SndbQuery req) { - // 삭제 여부 확인 - if (req.getDelYn() == null) { - req.setDelYn("N"); - } - // 정렬 확인 - if (req.getOrderBy() == null) { - if (req.getBy() == null) { - req.setOrderBy("REG_DT"); - } else { - req.setOrderBy(CmmnUtil.convertCamelCaseToSnakeCase(req.getBy())); - } - } - - return sndngDtlMapper.selectSndngDtlList(req); - } - - /**지정한 조건에 따라 발송 상세 객체들을 반환한다. - * @param req 발송 상세 조회 조건 - * @return 발송 상세 객체 목록 - */ - public List getSndngDtls(SndbQuery req) { - // 삭제 여부 확인 - if (req.getDelYn() == null) { - req.setDelYn("N"); - } - if (req.getOrderBy() == null) { - req.setOrderBy("SNDNG_DTL_ID"); - } - - return sndngDtlMapper.selectSndngDtls(req); - } - - /**발송 ID에 따라 발송 상세 ID를 반환한다. - * @param req 발송 상세 조회 조건 - * @return 발송 상세 객체 목록 - */ - public List getSndngTrgtDtlIds(SndbQuery req) { - return sndngDtlMapper.selectSndngTrgtDtlIds(req); - } - - /**발송 상세 정보를 세외수입 과태료대장 단속 정보를 등록한다. - * @param sndngDtl 발송 상세 - * @return 저장 여부 - *
    • 저장됐으면 true
    • - *
    • 그렇지 않으면 false
    • - *
    - */ - public String setNxrpIndivA01List(SndngDtl sndngDtl) { - // 변수 선언 - int rtnNocs = -1; // 처리 결과 건수 - - // 발송 상세 상태 코드(SNDNG_DTL_STTS_CD) 가 처리전(00)인 자료만 처리 - if (sndngDtl.getSndngDtlSttsCd().equals("00")) { - NisIndivQuery nisIndivQuery = new NisIndivQuery(); - nisIndivQuery.setCrdnId(sndngDtl.getCrdnId()); - nisIndivQuery.setSndngDtlId(sndngDtl.getSndngDtlId()); - - nisIndivQuery.setSndngYmd(sndngDtl.getSndngYmd()); - String a01Msg = nisIndivBean.createNisIndivA01(nisIndivQuery); - - try { - ObjectMapper mapper = new ObjectMapper(); - JsonNode linkRst = mapper.readTree(a01Msg); - - // 개별시스템 연계결과코드(linkRstCd) - 000:정상, 100:검증오류(연계관리키 중복), 101:검증오류(등록 시 자료 null, 길이체크), 900:필수값누락 - if (linkRst.get("linkRstCd").asText().equals("000")) { - // resVo1 - JsonNode resVo1 = linkRst.findValue("resVo1"); - - // 발송 대장(TB_SNDNG) - 발송 상태 코드(SNDNG_DTL_STTS_CD) 수정 - SndngDtl uptSndngDtl = new SndngDtl(); - uptSndngDtl.setSndngDtlSttsCd("01"); // 발송 상태 코드(FIM050) 01:세외수입부과 - uptSndngDtl.setSndngDtlId(sndngDtl.getSndngDtlId()); // 발송 상세 ID - uptSndngDtl.setLinkTrgtCd(resVo1.get("linkTrgtCd").asText()); // 연계 대상 코드 - uptSndngDtl.setLinkMngKey(resVo1.get("linkMngKey").asText()); // 연계 관리 키 - - rtnNocs = sndngDtlMapper.updateSndngDtlSttsCd(uptSndngDtl); - if (rtnNocs != 1) { - throw new RuntimeException("세외수입 과태료대장 연계 정보를 단속 대장에 수정하지 못했습니다."); // 예외를 발생시켜서 DB Rollback - } - } - } catch (IOException e) { - throw new RuntimeException("세외수입 과태료대장 연계 작업중 오류가 발생하였습니다."); // 예외를 발생시켜서 DB Rollback - } - } - - return "[S] 작업이 정상 처리 되었습니다."; - } - - /**발송 상세 정보를 세외수입 과태료대장 상세 조회 정보를 조회하여 발송 상세 정보를 수정한다. - * @param sndngDtl 발송 상세 - * @return 저장 여부 - *
    • 저장됐으면 true
    • - *
    • 그렇지 않으면 false
    • - *
    - */ - public String getNxrpIndivA03List(SndngDtl sndngDtl) { - // 변수 선언 - boolean rtnScs = false; // DB 처리 결과 - int rtnNocs = -1; // 처리 결과 건수 - - // 발송 상세 상태 코드(SNDNG_DTL_STTS_CD) 가 세외수입부과(01)인 자료만 처리 - if (sndngDtl.getSndngDtlSttsCd().equals("01")) { - NisIndivQuery nisIndivQuery = new NisIndivQuery(); - nisIndivQuery.setCrdnId(sndngDtl.getCrdnId()); - nisIndivQuery.setSndngDtlId(sndngDtl.getSndngDtlId()); - - String a03Msg = nisIndivBean.createNisIndivA03(nisIndivQuery); -/* - // 테스트 샘플 - String a03Msg = "{ " - + " \"linkRstCd\":" + "\"000" + "\"" - + ", \"linkRstMsg\":" + "\"정상 조회되었습니다." + "\"" - + ", \"resVo1\":" + "{ " - + " \"sgbCd\":" + "\"5530000" + "\"" - + ", \"linkTrgtCd\":" + "\"5530000DPV01001" + "\"" - + ", \"linkMngKey\":" + "\"415902024000236920240412153509" + "\"" - + ", \"finScrgAcbKey\":" + "\"20240009451" + "\"" - + ", \"dptCd\":" + "\"5530497" + "\"" - + ", \"dptNm\":" + "\"장애인복지과" + "\"" - + ", \"rcptYr\":" + "\"2024" + "\"" - + ", \"spacBizCd\":" + "\"0000" + "\"" - + ", \"spacBizNm\":" + "null" - + ", \"actSeCd\":" + "\"41" + "\"" - + ", \"actSeNm\":" + "\"일반회계(시군구세외)" + "\"" - + ", \"rprsTxmCd\":" + "\"234179" + "\"" - + ", \"rprsTxmNm\":" + "\"장애인등편의법위반과태료" + "\"" - + ", \"operItemCd\":" + "\"002" + "\"" - + ", \"operItemNm\":" + "\"장애인전용주차구역주차방해행위과태료" + "\"" - + ", \"regYmd\":" + "\"20240412" + "\"" - + ", \"pyrSeCd\":" + "\"02" + "\"" - + ", \"pyrSeNm\":" + "\"법인" + "\"" - + ", \"pyrNo\":" + "\"1101113634428" + "\"" - + ", \"pyrNm\":" + "\"엔에이치농협캐피탈(주)" + "\"" - + ", \"pyrSttCd\":" + "\"99" + "\"" - + ", \"pyrSttNm\":" + "\"기타" + "\"" - + ", \"pyrZip\":" + "\"42089" + "\"" - + ", \"pyrAddr\":" + "\"대구광역시 수성구 달구벌대로 2532 4층(범어동, 대아빌딩)" + "\"" - + ", \"telno\":" + "null" - + ", \"mblTelno\":" + "null" - + ", \"pyrEmlAddr\":" + "null" - + ", \"vhrno\":" + "null" - + ", \"mngItemCn1\":" + "\"위반일시 : 2024-04-05 17:40" + "\"" - + ", \"mngItemCn2\":" + "null" - + ", \"mngItemCn3\":" + "\"위반장소 : 경기도 화성시 남양읍 활초리 산 62-3 " + "\"" - + ", \"mngItemCn4\":" + "null" - + ", \"mngItemCn5\":" + "\"주차방해" + "\"" - + ", \"mngItemCn6\":" + "\"4159020240002369" + "\"" - + ", \"fcltSeCd\":" + "null" - + ", \"fcltSeNm\":" + "null" - + ", \"regSeCd\":" + "null" - + ", \"regSeNm\":" + "null" - + ", \"bfAvtsmtYmd\":" + "\"20240412" + "\"" - + ", \"opnSbmsnTermBgngYmd\":" + "\"20240412" + "\"" - + ", \"opnSbmsnTermEndYmd\":" + "\"20240508" + "\"" - + ", \"frstFinScrgAmt\":" + "\"500000" + "\"" - + ", \"rdtRsnSeCd\":" + "null" - + ", \"rdtRsnSeNm\":" + "null" - + ", \"agvtRsnCd\":" + "null" - + ", \"agvtRsnNm\":" + "null" - + ", \"finScrgAmt\":" + "\"500000" + "\"" - + ", \"bfRdtRt\":" + "\"20" + "\"" - + ", \"bfRdtAmt\":" + "\"100000" + "\"" - + ", \"rmCn\":" + "null" - + ", \"rdtRmCn\":" + "null" - + ", \"nhtFrwarSeCd\":" + "null" - + ", \"nhtFrwarSeNm\":" + "null" - + ", \"endYmd\":" + "null" - + ", \"endRsnCn\":" + "null" - + ", \"rcvmtSeNm\":" + "\"수납" + "\"" - + ", \"epayNo\":" + "\"4159022441440452990" + "\"" - + ", \"vtlacBankNm1\":" + "\"농협" + "\"" - + ", \"vrActno1\":" + "\"790253-90-024117" + "\"" - + ", \"vtlacBankNm2\":" + "null" - + ", \"vrActno2\":" + "null" - + ", \"vtlacBankNm3\":" + "null" - + ", \"vrActno3\":" + "null" - + ", \"vtlacBankNm4\":" + "null" - + ", \"vrActno4\":" + "null" - + ", \"vtlacBankNm5\":" + "null" - + ", \"vrActno5\":" + "null" - + ", \"vtlacBankNm6\":" + "null" - + ", \"vrActno6\":" + "null" - + ", \"vtlacBankNm7\":" + "null" - + ", \"vrActno7\":" + "null" - + ", \"vtlacBankNm8\":" + "null" - + ", \"vrActno8\":" + "null" - + ", \"vtlacBankNm9\":" + "null" - + ", \"vrActno9\":" + "null" - + ", \"vtlacBankNm10\":" + "null" - + ", \"vrActno10\":" + "null" - + ", \"vtlacBankNm11\":" + "null" - + ", \"vrActno11\":" + "null" - + ", \"vtlacBankNm12\":" + "null" - + ", \"vrActno12\":" + "null" - + ", \"vtlacBankNm13\":" + "null" - + ", \"vrActno13\":" + "null" - + ", \"vtlacBankNm14\":" + "null" - + ", \"vrActno14\":" + "null" - + ", \"vtlacBankNm15\":" + "null" - + ", \"vrActno15\":" + "null" - + ", \"vtlacBankNm16\":" + "null" - + ", \"vrActno16\":" + "null" - + ", \"vtlacBankNm17\":" + "null" - + ", \"vrActno17\":" + "null" - + ", \"vtlacBankNm18\":" + "null" - + ", \"vrActno18\":" + "null" - + ", \"vtlacBankNm19\":" + "null" - + ", \"vrActno19\":" + "null" - + ", \"vtlacBankNm20\":" + "null" - + ", \"vrActno20\":" + "null" - + ", \"rsveItem1\":" + "\"5530497000020244123417900178200" + "\"" - + ", \"rsveItem2\":" + "null" - + ", \"rsveItem3\":" + "null" - + ", \"rsveItem4\":" + "null" - + ", \"rsveItem5\":" + "null" - + " }" - + " }"; -*/ - try { - ObjectMapper mapper = new ObjectMapper(); - JsonNode linkRst = mapper.readTree(a03Msg); - - // 개별시스템 연계결과코드(linkRstCd) - 000:정상, 100:검증오류(연계관리키 중복), 101:검증오류(등록 시 자료 null, 길이체크), 900:필수값누락 - if (linkRst.get("linkRstCd").asText().equals("000")) { - // resVo1 - JsonNode resVo1 = linkRst.findValue("resVo1"); - - // 이 설정을 통해 JSON의 모든 데이터를 파싱하는 것이 아닌 내가 필요로 하는 데이터, 즉 내가 필드로 선언한 데이터들만 파싱할 수 있다. - mapper.configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, false); - A03 a03 = mapper.readValue(resVo1.toString(), A03.class); - - // 발송 대장(TB_SNDNG) - 발송 상세 수정 - SndngDtl uptSndngDtl = new SndngDtl(); - - uptSndngDtl.setSndngDtlId(sndngDtl.getSndngDtlId()); // 발송 상세 ID - if (Integer.valueOf(sndngDtl.getSndngDtlSttsCd()) >= 3) { - uptSndngDtl.setSndngDtlSttsCd(sndngDtl.getSndngDtlSttsCd()); - } else { - uptSndngDtl.setSndngDtlSttsCd("02"); // 발송 상태 코드(FIM050) 02:가상계좌취득 - } - if (a03.getPyrSeCd().equals("01")) { - uptSndngDtl.setRcpnBrdt(a03.getPyrNo().substring(0, 6)); // 수령인 생년월일 - } - uptSndngDtl.setRcpnNm(a03.getPyrNm()); // 수령인 명 - uptSndngDtl.setRcpnAddr(a03.getPyrAddr()); // 수령인 주소 - uptSndngDtl.setRcpnDtlAddr(""); // 수령인 상세 주소 - uptSndngDtl.setRcpnZip(a03.getPyrZip()); // 수령인 우편번호 - uptSndngDtl.setFyr(a03.getRsveItem1().substring(11, 15)); // 회계연도 - uptSndngDtl.setLevyNo(a03.getRsveItem1().substring(23, 29)); // 부과 번호 - uptSndngDtl.setLevyYmd(a03.getOpnSbmsnTermBgngYmd()); // 부과 일자 - uptSndngDtl.setDudtYmd(a03.getOpnSbmsnTermEndYmd()); // 납기 일자 - uptSndngDtl.setFfnlgAmt(Integer.parseInt(a03.getFinScrgAmt())); // 과태료 금액 - uptSndngDtl.setPcptax(Integer.parseInt(a03.getFinScrgAmt()) - Integer.parseInt(a03.getBfRdtAmt())); // 본세 - uptSndngDtl.setAdamt(0); // 가산금 - uptSndngDtl.setSumAmt(Integer.parseInt(a03.getFinScrgAmt()) - Integer.parseInt(a03.getBfRdtAmt())); // 합계 금액 - uptSndngDtl.setDudtAftrAmt(0); // 납기 후 금액 - uptSndngDtl.setTaxNo(a03.getRsveItem1()); // 납세 번호 - uptSndngDtl.setEpayno(a03.getEpayNo()); // 전자납부번호 - uptSndngDtl.setBankNm(a03.getVtlacBankNm1()); // 은행 명 - uptSndngDtl.setVrActno(a03.getVrActno1()); // 가상 계좌번호 - uptSndngDtl.setBankNm2(a03.getVtlacBankNm2()); // 은행 명2 - uptSndngDtl.setVrActno2(a03.getVrActno2()); // 가상 계좌번호2 - uptSndngDtl.setBankNm3(a03.getVtlacBankNm3()); // 은행 명3 - uptSndngDtl.setVrActno3(a03.getVrActno3()); // 가상 계좌번호3 - uptSndngDtl.setBankNm4(a03.getVtlacBankNm4()); // 은행 명4 - uptSndngDtl.setVrActno4(a03.getVrActno4()); // 가상 계좌번호4 - uptSndngDtl.setBankNm5(a03.getVtlacBankNm5()); // 은행 명5 - uptSndngDtl.setVrActno5(a03.getVrActno5()); // 가상 계좌번호5 - uptSndngDtl.setBankNm6(a03.getVtlacBankNm6()); // 은행 명6 - uptSndngDtl.setVrActno6(a03.getVrActno6()); // 가상 계좌번호6 - uptSndngDtl.setBankNm7(a03.getVtlacBankNm7()); // 은행 명7 - uptSndngDtl.setVrActno7(a03.getVrActno7()); // 가상 계좌번호7 - uptSndngDtl.setBankNm8(a03.getVtlacBankNm8()); // 은행 명8 - uptSndngDtl.setVrActno8(a03.getVrActno8()); // 가상 계좌번호8 - uptSndngDtl.setBankNm9(a03.getVtlacBankNm9()); // 은행 명9 - uptSndngDtl.setVrActno9(a03.getVrActno9()); // 가상 계좌번호9 - uptSndngDtl.setBankNm10(a03.getVtlacBankNm10()); // 은행 명10 - uptSndngDtl.setVrActno10(a03.getVrActno10()); // 가상 계좌번호10 - uptSndngDtl.setBankNm11(a03.getVtlacBankNm11()); // 은행 명11 - uptSndngDtl.setVrActno11(a03.getVrActno11()); // 가상 계좌번호11 - uptSndngDtl.setBankNm12(a03.getVtlacBankNm12()); // 은행 명12 - uptSndngDtl.setVrActno12(a03.getVrActno12()); // 가상 계좌번호12 - uptSndngDtl.setBankNm13(a03.getVtlacBankNm13()); // 은행 명13 - uptSndngDtl.setVrActno13(a03.getVrActno13()); // 가상 계좌번호13 - uptSndngDtl.setBankNm14(a03.getVtlacBankNm14()); // 은행 명14 - uptSndngDtl.setVrActno14(a03.getVrActno14()); // 가상 계좌번호14 - uptSndngDtl.setBankNm15(a03.getVtlacBankNm15()); // 은행 명15 - uptSndngDtl.setVrActno15(a03.getVrActno15()); // 가상 계좌번호15 - uptSndngDtl.setBankNm16(a03.getVtlacBankNm16()); // 은행 명16 - uptSndngDtl.setVrActno16(a03.getVrActno16()); // 가상 계좌번호16 - uptSndngDtl.setBankNm17(a03.getVtlacBankNm17()); // 은행 명17 - uptSndngDtl.setVrActno17(a03.getVrActno17()); // 가상 계좌번호17 - uptSndngDtl.setBankNm18(a03.getVtlacBankNm18()); // 은행 명18 - uptSndngDtl.setVrActno18(a03.getVrActno18()); // 가상 계좌번호18 - uptSndngDtl.setBankNm19(a03.getVtlacBankNm19()); // 은행 명19 - uptSndngDtl.setVrActno19(a03.getVrActno19()); // 가상 계좌번호19 - uptSndngDtl.setBankNm20(a03.getVtlacBankNm20()); // 은행 명20 - uptSndngDtl.setVrActno20(a03.getVrActno20()); // 가상 계좌번호20 - - rtnNocs = sndngDtlMapper.updateSndngDtlNxrpA03(uptSndngDtl); - if (rtnNocs != 1) { - throw new RuntimeException("세외수입 연계 정보를 발송 상세에 수정하지 못했습니다."); // 예외를 발생시켜서 DB Rollback - } - - // 단속, 부과 대장 조회 - DataObject crdnLevyInfo = sndngDtlMapper.selectCrdnLevy(sndngDtl.getCrdnId()); - - // 단속 대장 수정 - Crdn crdn = new Crdn(); - crdn.setCrdnId(crdnLevyInfo.string("CRDN_ID")); // 단속 ID - crdn.setNxrpAcbKey(a03.getFinScrgAcbKey()); // 세외수입 대장 키 - - rtnNocs = sndngDtlMapper.updateCrdnNxrpAcbKey(crdn); - if (rtnNocs != 1) { - throw new RuntimeException("단속 대장에 세외수입 대장키 수정에 실패하였습니다."); // 예외를 발생시켜서 DB Rollback - } - - // 부과 대장에 등록 및 수정 - Levy levy = new Levy(); - levy.setSggCd(crdnLevyInfo.string("SGG_CD")); // 시군구 코드 - levy.setTaskSeCd(crdnLevyInfo.string("TASK_SE_CD")); // 업무 구분 코드 - levy.setCrdnId(crdnLevyInfo.string("CRDN_ID")); // 단속 ID - levy.setInstCd(a03.getSgbCd()); // 기관 코드 - levy.setDeptCd(a03.getDptCd()); // 부서 코드 - levy.setSpclBizCd(a03.getSpacBizCd()); // 특별회계 사업 코드 - levy.setFyr(a03.getRsveItem1().substring(11, 15)); // 회계연도 - levy.setAcntgSeCd(a03.getActSeCd()); // 회계 구분 코드 - levy.setTxitmCd(a03.getRprsTxmCd()); // 세목 코드 - levy.setOperItemCd(a03.getOperItemCd()); // 운영 항목 코드 - levy.setLevyNo(a03.getRsveItem1().substring(23, 29)); // 부과 번호 - levy.setIspySn(a03.getRsveItem1().substring(29, 31)); // 분납 번호 - levy.setLevySeCd("02"); // 부과 구분 코드 FIM040 - levy.setUntySeCd("02"); // 통합 구분 코드 FIM072 - levy.setRdctSeCd("01"); // 감경 구분 코드 FIM046 - 01 감경 - levy.setLevyYmd(a03.getOpnSbmsnTermBgngYmd()); // 부과 일자 - levy.setFrstDudtYmd(a03.getOpnSbmsnTermEndYmd()); // 최초 납기 일자 - levy.setDudtYmd(a03.getOpnSbmsnTermEndYmd()); // 납기 일자 - levy.setFfnlgAmt(Integer.parseInt(a03.getFinScrgAmt())); // 과태료 금액 - levy.setLevyPcptax(Integer.parseInt(a03.getFinScrgAmt()) - Integer.parseInt(a03.getBfRdtAmt())); // 부과 본세 - levy.setLevyAdamt(0); // 부과 가산금 - levy.setIspyInt(0); // 분납 이자 - levy.setRcvmtPcptax(0); // 수납 본세 - levy.setRcvmtAdamt(0); // 수납 가산금 - levy.setRdamtPcptax(0); // 감액 본세 - levy.setRdamtAdamt(0); // 감액 가산금 - levy.setSumAmt(Integer.parseInt(a03.getFinScrgAmt()) - Integer.parseInt(a03.getBfRdtAmt())); // 합계 금액 - levy.setDudtAftrAmt(0); // 납기 후 금액 -// levy.setTxtnThing(a03.getVhrno()); // 과세 물건 -> 값이 넘어오지 않는다.. 차세대 연계 확인 요청이 필요하다. - levy.setTxtnThing(crdnLevyInfo.string("VHRNO")); // 과세 물건 - levy.setMngItem1(a03.getMngItemCn1()); // 관리 아이템1 - levy.setMngItem2(a03.getMngItemCn2()); // 관리 아이템2 - levy.setMngItem3(a03.getMngItemCn3()); // 관리 아이템3 - levy.setMngItem4(a03.getMngItemCn4()); // 관리 아이템4 - levy.setMngItem5(a03.getMngItemCn5()); // 관리 아이템5 - levy.setMngItem6(a03.getMngItemCn6()); // 관리 아이템6 - levy.setEpayno(a03.getEpayNo()); // 전자납부번호 - levy.setBankNm(a03.getVtlacBankNm1()); // 은행 명 - levy.setVrActno(a03.getVrActno1()); // 가상 계좌번호 - levy.setBankNm2(a03.getVtlacBankNm2()); // 은행 명2 - levy.setVrActno2(a03.getVrActno2()); // 가상 계좌번호2 - levy.setBankNm3(a03.getVtlacBankNm3()); // 은행 명3 - levy.setVrActno3(a03.getVrActno3()); // 가상 계좌번호3 - levy.setBankNm4(a03.getVtlacBankNm4()); // 은행 명4 - levy.setVrActno4(a03.getVrActno4()); // 가상 계좌번호4 - levy.setBankNm5(a03.getVtlacBankNm5()); // 은행 명5 - levy.setVrActno5(a03.getVrActno5()); // 가상 계좌번호5 - levy.setBankNm6(a03.getVtlacBankNm6()); // 은행 명6 - levy.setVrActno6(a03.getVrActno6()); // 가상 계좌번호6 - levy.setBankNm7(a03.getVtlacBankNm7()); // 은행 명7 - levy.setVrActno7(a03.getVrActno7()); // 가상 계좌번호7 - levy.setBankNm8(a03.getVtlacBankNm8()); // 은행 명8 - levy.setVrActno8(a03.getVrActno8()); // 가상 계좌번호8 - levy.setBankNm9(a03.getVtlacBankNm9()); // 은행 명9 - levy.setVrActno9(a03.getVrActno9()); // 가상 계좌번호9 - levy.setBankNm10(a03.getVtlacBankNm10()); // 은행 명10 - levy.setVrActno10(a03.getVrActno10()); // 가상 계좌번호10 - levy.setBankNm11(a03.getVtlacBankNm11()); // 은행 명11 - levy.setVrActno11(a03.getVrActno11()); // 가상 계좌번호11 - levy.setBankNm12(a03.getVtlacBankNm12()); // 은행 명12 - levy.setVrActno12(a03.getVrActno12()); // 가상 계좌번호12 - levy.setBankNm13(a03.getVtlacBankNm13()); // 은행 명13 - levy.setVrActno13(a03.getVrActno13()); // 가상 계좌번호13 - levy.setBankNm14(a03.getVtlacBankNm14()); // 은행 명14 - levy.setVrActno14(a03.getVrActno14()); // 가상 계좌번호14 - levy.setBankNm15(a03.getVtlacBankNm15()); // 은행 명15 - levy.setVrActno15(a03.getVrActno15()); // 가상 계좌번호15 - levy.setBankNm16(a03.getVtlacBankNm16()); // 은행 명16 - levy.setVrActno16(a03.getVrActno16()); // 가상 계좌번호16 - levy.setBankNm17(a03.getVtlacBankNm17()); // 은행 명17 - levy.setVrActno17(a03.getVrActno17()); // 가상 계좌번호17 - levy.setBankNm18(a03.getVtlacBankNm18()); // 은행 명18 - levy.setVrActno18(a03.getVrActno18()); // 가상 계좌번호18 - levy.setBankNm19(a03.getVtlacBankNm19()); // 은행 명19 - levy.setVrActno19(a03.getVrActno19()); // 가상 계좌번호19 - levy.setBankNm20(a03.getVtlacBankNm20()); // 은행 명20 - levy.setVrActno20(a03.getVrActno20()); // 가상 계좌번호20 - - if (crdnLevyInfo.string("LEVY_ID").equals("")) { // 부과 ID가 없다면 - // 부과(TB_LEVY) 대장을 등록한다. - rtnNocs = levyMapper.insertLevy(levy); - if (rtnNocs != 1) { - throw new RuntimeException("부과대장 등록에 실패하였습니다."); // 예외를 발생시켜서 DB Rollback - } - - // 단속상태이력(TB_CRDN_STTS_HSTRY) - CrdnSttsHstry crdnSttsHstry = new CrdnSttsHstry(); - crdnSttsHstry.setCrdnId(crdnLevyInfo.string("CRDN_ID")); // 단속 ID - crdnSttsHstry.setBfrSttsCd(crdnLevyInfo.string("CRDN_STTS_CD")); // 이전 단속 상태 코드 - crdnSttsHstry.setBfrSttsChgDt(crdnLevyInfo.string("CRDN_STTS_CHG_DT")); // 이전 단속 상태 변경 일시 - crdnSttsHstry.setCrdnSttsCd("23"); // 단속 상태 코드(FIM010) - 23:감경부과 - - if (crdnLevyInfo.number("CRDN_STTS_CD").intValue() >= 1 && crdnLevyInfo.number("CRDN_STTS_CD").intValue() <= 22 ) { - // 단속 상태 이력(TB_CRDN_STTS_HSTRY) 대장에 등록하고, 단속(TB_CRDN) 대장을 수정한다. - rtnScs = crdnSttsHstryBean.createHstryUpdateCrdnSttsCd(crdnSttsHstry); - if (!rtnScs) { - throw new RuntimeException("감경부과 등록 중 단속 대장의 단속상태 변경에 실패하였습니다."); // 예외를 발생시켜서 DB Rollback - } - } else { - // 단속상태이력(TB_CRDN_STTS_HSTRY) 대장을 등록한다. - rtnScs = crdnSttsHstryBean.create(crdnSttsHstry); - if (!rtnScs) { - throw new RuntimeException("감경부과 등록 중 단속 대장의 단속상태 변경에 실패하였습니다."); // 예외를 발생시켜서 DB Rollback - } - } - } else { - levy.setLevyId(crdnLevyInfo.string("LEVY_ID")); - - // 부과(TB_LEVY) 대장을 수정한다. - rtnNocs = levyMapper.updateLevy(levy); - if (rtnNocs != 1) { - throw new RuntimeException("부과대장 수정에 실패하였습니다."); // 예외를 발생시켜서 DB Rollback - } - } - - // 수납 정보 확인하여 발송(TB_SNDNG) - 발송 상태 코드(SNDNG_DTL_STTS_CD) 수정 - if (resVo1.get("rcvmtSeNm").asText().equals("수납")) { - uptSndngDtl.setSndngDtlSttsCd("09"); // 발송 상세 상태 코드(FIM050) 09:수납 - uptSndngDtl.setSndngRcvmtCd("1"); // 발송 수납 코드(FIM051) 1:수납 - - // 발송(TB_SNDNG) 대장을 수정한다. - rtnNocs = sndngDtlMapper.updateSndngDtlSttsCd(uptSndngDtl); - if (rtnNocs != 1) { - throw new RuntimeException("세외수입 연계 정보를 발송 상세에 수정하지 못했습니다."); // 예외를 발생시켜서 DB Rollback - } - } - } - } catch (IOException e) { - throw new RuntimeException("세외수입 과태료대장 연계 작업중 오류가 발생하였습니다."); // 예외를 발생시켜서 DB Rollback - } - } - - return "[S] 작업이 정상 처리 되었습니다."; - } - - /**지정한 조건에 따라 반송 목록을 조회하여 반환한다. - * @param req 발송 대장 조회 조건 - * @return 반송 목록 - */ - public List getSndbkList(SndbQuery req) { - return sndngDtlMapper.selectSndbkList(req); - } - - /**지정한 발송 상세 ID의 미배달 정보를 반환한다.
    - * @param sndngDtlId 발송 상세 ID - * @return 발송상세 미배달 정보 - */ - public DataObject getSndbkInfo(SndbQuery req) { - DataObject info = new DataObject(); - - if (req.getCallPurpose().equals("create")) { - info = sndngDtlMapper.selectSndngDtlInfo(req); - } else { - info = sndngDtlMapper.selectSndbkInfo(req); - } - - return info; - } - - /**발송 상세 목록의 반송 정보를 등록한다. - * @param sndngDtl 발송 상세 - * @return 저장 여부 - *
    • 저장됐으면 true
    • - *
    • 그렇지 않으면 false
    • - *
    - */ - public String createSndbkList(SndbQuery req) { - // 변수 선언 - String rtnMsg = ""; // 처리 결과 메시지 - - List sndngDtlList = sndngDtlMapper.selectSndngTrgtDtlIds(req); - - // 조회 건수 확인 - if (sndngDtlList == null || sndngDtlList.size() < 1) { - rtnMsg = "[F] 작업 중 대상 자료가 존재하지 않습니다."; - return rtnMsg; - } - - // 반송 정보를 등록한다. - for (int iLoop = 0; iLoop < sndngDtlList.size(); iLoop++) { - // 반송 내역 조회 - DataObject sndbkInfo = sndngDtlMapper.selectSndbkInfo(new SndbQuery().setSndngDtlId(sndngDtlList.get(iLoop).string("SNDNG_DTL_ID"))); - - // 반송 등록이 가능한지 확인. - if (!("03,05".contains(sndbkInfo.string("SNDNG_DTL_STTS_CD")))) { - rtnMsg = "[F] 반송 등록 대상자료가 아닙니다."; - return rtnMsg; - } - // 등기 번호가 있는지 확인 - if (sndbkInfo.string("RG_NO").equals("")) { - rtnMsg = "[F] 등기번호가 존재하지 않습니다."; - return rtnMsg; - } - // 등기 번호가 13자리인지 확인 - if (sndbkInfo.string("RG_NO").length() != 13) { - rtnMsg = "[F] 등기번호 자릿수(13)가 맞지 않습니다."; - return rtnMsg; - } - - // 전자우편 배달 결과 조회 - EpostQuery epostQuery = new EpostQuery(); - epostQuery.setConKey(sndbkInfo.string("CON_KEY")); - epostQuery.setRegino(sndbkInfo.string("RG_NO")); - - DataObject epostDlvrRsltInfo = epostDlvrRsltMapper.selectEpostDlvrRsltInfo(epostQuery); - // 조회 건수 확인 - if (epostDlvrRsltInfo == null) { - rtnMsg = "[F] 반송 자료가 존재하지 않습니다."; - return rtnMsg; - } - - // 발송 상세(TB_SNDNG_DTL) 대장에 반송 정보를 등록한다. - SndngDtl sndngDtl = new SndngDtl(); - if (epostDlvrRsltInfo.string("DELIVRSLTCD").equals("1")) { - sndngDtl.setSndngDtlId(sndbkInfo.string("SNDNG_DTL_ID")); - sndngDtl.setDlvrYmd(epostDlvrRsltInfo.string("DELIVYMD")); // 배달일자 - sndngDtl.setDlvrTm(epostDlvrRsltInfo.string("DELIVHHMI")); // 배달시간 - sndngDtl.setRcpnNm(epostDlvrRsltInfo.string("SUBRECPRSNNM")); // 수령인 명 - sndngDtl.setRcpnRelNm(epostDlvrRsltInfo.string("RELRECPRSNCDNM")); // 수령인 관계 명 - sndngDtl.setSndngDtlSttsCd("04"); // 발송 상세 상태 코드 FIM050 - 04:발송확인 - sndngDtl.setBfrSndngDtlSttsCd(sndbkInfo.string("SNDNG_DTL_STTS_CD")); // 전 발송 상세 상태 코드 - } else { - sndngDtl.setSndngDtlId(sndbkInfo.string("SNDNG_DTL_ID")); - sndngDtl.setDlvrYmd(epostDlvrRsltInfo.string("DELIVYMD")); // 배달일자 - sndngDtl.setDlvrTm(epostDlvrRsltInfo.string("DELIVHHMI")); // 배달시간 - sndngDtl.setUndlvrRsnCd(epostDlvrRsltInfo.string("NONDELIVREASNCD")); // 미배달 사유 코드 - sndngDtl.setUndlvrRsnNm(epostDlvrRsltInfo.string("NONDELIVREASNCDNM")); // 미배달 사유 명 - sndngDtl.setSndngDtlSttsCd("05"); // 발송 상세 상태 코드 FIM050 - 05:반송 - sndngDtl.setBfrSndngDtlSttsCd(sndbkInfo.string("SNDNG_DTL_STTS_CD")); // 전 발송 상세 상태 코드 - } - - // 발송상세(TB_SNDNG_DTL)에 반송 정보를 등록한다. - rtnMsg = createSndbk(sndngDtl); - // 메시지 확인 - if (!rtnMsg.contains("[S]")) { - throw new RuntimeException(rtnMsg); // 예외를 발생시켜서 DB Rollback - } - } - - return "[S] 작업이 정상 처리 되었습니다."; - } - - /**발송 상세의 반송 정보를 등록한다. - * @param sndngDtl 발송 상세 - * @return 저장 여부 - *
    • 저장됐으면 true
    • - *
    • 그렇지 않으면 false
    • - *
    - */ - public String createSndbk(SndngDtl sndngDtl) { - // 발송상세(TB_SNDNG_DTL)에 반송 정보를 등록한다. - int rtnNocs = sndngDtlMapper.createSndbk(sndngDtl); - if (rtnNocs < 1) { - throw new RuntimeException("발송상세의 반송 정보 등록에 실패하였습니다."); // 예외를 발생시켜서 DB Rollback - } - - return "[S] 작업이 정상 처리 되었습니다."; - } - - /**발송 상세의 반송 정보를 수정한다. - * @param sndngDtl 발송 상세 - * @return 저장 여부 - *
    • 저장됐으면 true
    • - *
    • 그렇지 않으면 false
    • - *
    - */ - public String updateSndbk(SndngDtl sndngDtl) { - // 발송상세(TB_SNDNG_DTL)에 반송 정보를 등록한다. - int rtnNocs = sndngDtlMapper.updateSndbk(sndngDtl); - if (rtnNocs != 1) { - throw new RuntimeException("발송상세의 반송 정보 수정에 실패하였습니다."); // 예외를 발생시켜서 DB Rollback - } - - return "[S] 작업이 정상 처리 되었습니다."; - } - - /**발송 상세의 반송 정보를 삭제 한다. - * @param sndngDtl 발송 상세 - * @return 저장 여부 - *
    • 저장됐으면 true
    • - *
    • 그렇지 않으면 false
    • - *
    - */ - public String removeSndbk(SndngDtl sndngDtl) { - // 변수 선언 - int rtnNocs = -1; // 처리 결과 건수 - String rtnMsg = "[F] "; // 처리 결과 메시지 - - // 반송 내역 조회 - SndbQuery req = new SndbQuery(); - req.setSndngDtlId(sndngDtl.getSndngDtlId()); - req.setDelYn("N"); - - DataObject sndbkInfo = sndngDtlMapper.selectSndbkInfo(req); - - // 반송 삭제가 가능한지 확인 - if (sndbkInfo == null) { - rtnMsg = "[F] 작업 중 대상 자료가 존재하지 않습니다."; - return rtnMsg; - } - if (sndbkInfo.size() == 1) { - rtnMsg = "[F] 작업 중 대상 자료가 1건이 아닙니다."; - return rtnMsg; - } - - // 이전 발송상세 상태 코드가 발송확인(04) 이라면.. - if (sndbkInfo.string("BFR_SNDNG_DTL_STTS_CD").equals("04")) { - sndngDtl.setDlvrYmd(sndbkInfo.string("BFR_DLVR_YMD")); - sndngDtl.setDlvrTm(sndbkInfo.string("BFR_DLVR_HR")); - sndngDtl.setSndngDtlSttsCd(sndbkInfo.string("BFR_SNDNG_DTL_STTS_CD")); - } else { - sndngDtl.setDlvrYmd(""); - sndngDtl.setDlvrTm(""); - } - - // 발송 상세(TB_SNDNG_DTL) 대장에 반송 정보를 삭제한다. - rtnNocs = sndngDtlMapper.deleteSndbk(sndngDtl); - if (rtnNocs < 1) { - throw new RuntimeException("발송상세의 반송 정보 삭제에 실패하였습니다."); // 예외를 발생시켜서 DB Rollback - } - - return "[S] 작업이 정상 처리 되었습니다."; - } - - /**공시송달ID 조건에 따라 발송상세 대장의 총 건수를 조회한다. - * @param req 발송 대장 조회 조건 - * @return 계도장 발송 대상 목록 - */ - public int selectTnocsSndngDtlSvbtc(String svbtcId) { - return sndngDtlMapper.selectTnocsSndngDtlSvbtc(svbtcId); - } - - /**발송 상세 대장의 공시송달 정보를 삭제한다. - * @param sndngDtl 발송 상세 - * @return 저장 여부 - *
    • 저장됐으면 true
    • - *
    • 그렇지 않으면 false
    • - *
    - */ - public String removeSndngDtlSvbtc(SndngDtl sndngDtl) { - // 발송 상세(TB_SNDNG_DTL) 대장에 공시송달 정보를 삭제한다. - int rtnNocs = sndngDtlMapper.deleteSndngDtlSvbtc(sndngDtl); - if (rtnNocs != 1) { - throw new RuntimeException("발송상세의 공시송달 정보 삭제에 실패하였습니다."); // 예외를 발생시켜서 DB Rollback - } - - return "[S] 작업이 정상 처리 되었습니다."; - } - -} diff --git a/src/main/java/cokr/xit/fims/sndb/service/bean/SndngDtlServiceBean.java b/src/main/java/cokr/xit/fims/sndb/service/bean/SndngDtlServiceBean.java deleted file mode 100644 index 14655f42..00000000 --- a/src/main/java/cokr/xit/fims/sndb/service/bean/SndngDtlServiceBean.java +++ /dev/null @@ -1,92 +0,0 @@ -package cokr.xit.fims.sndb.service.bean; - -import java.util.List; - -import javax.annotation.Resource; - -import org.springframework.stereotype.Service; - -import cokr.xit.foundation.component.AbstractServiceBean; -import cokr.xit.foundation.data.DataObject; - -import cokr.xit.fims.sndb.SndbQuery; -import cokr.xit.fims.sndb.SndngDtl; -import cokr.xit.fims.sndb.service.SndngDtlService; - -/**발송 상세 서비스 구현체. - * - *

    상세 설명: - * - *

    - * ============ 변경 이력 ============
    - * 2023-12-27	JoJH 최초 작성
    - * ================================
    - * 
    - */ -@Service("sndngDtlService") -public class SndngDtlServiceBean extends AbstractServiceBean implements SndngDtlService { - - /** 발송 상세 정보 Bean */ - @Resource(name = "sndngDtlBean") - private SndngDtlBean sndngDtlBean; - - /** 공시송달 대장 정보 Bean */ - @Resource(name = "svbtcBean") - private SvbtcBean svbtcBean; - - @Override - public List getSndngDtlList(SndbQuery req) { - return sndngDtlBean.getSndngDtlList(req); - } - - @Override - public List getSndngDtls(SndbQuery req) { - return sndngDtlBean.getSndngDtls(req); - } - - @Override - public List getSndngTrgtDtlIds(SndbQuery req) { - return sndngDtlBean.getSndngTrgtDtlIds(req); - } - - @Override - public String setNxrpIndivA01List(SndngDtl sndngDtl) { - return sndngDtlBean.setNxrpIndivA01List(sndngDtl); - } - - @Override - public String getNxrpIndivA03List(SndngDtl sndngDtl) { - return sndngDtlBean.getNxrpIndivA03List(sndngDtl); - } - - @Override - public List getSndbkList(SndbQuery req) { - return sndngDtlBean.getSndbkList(req); - } - - @Override - public DataObject getSndbkInfo(SndbQuery req) { - return sndngDtlBean.getSndbkInfo(req); - } - - @Override - public String createSndbkList(SndbQuery req) { - return sndngDtlBean.createSndbkList(req); - } - - @Override - public String createSndbk(SndngDtl sndngDtl) { - return sndngDtlBean.createSndbk(sndngDtl); - } - - @Override - public String updateSndbk(SndngDtl sndngDtl) { - return sndngDtlBean.updateSndbk(sndngDtl); - } - - @Override - public String removeSndbk(SndngDtl sndngDtl) { - return sndngDtlBean.removeSndbk(sndngDtl); - } - -} diff --git a/src/main/java/cokr/xit/fims/sndb/service/bean/SndngHstryBean.java b/src/main/java/cokr/xit/fims/sndb/service/bean/SndngHstryBean.java deleted file mode 100644 index 0b9c0aef..00000000 --- a/src/main/java/cokr/xit/fims/sndb/service/bean/SndngHstryBean.java +++ /dev/null @@ -1,81 +0,0 @@ -package cokr.xit.fims.sndb.service.bean; - -import java.util.List; - -import javax.annotation.Resource; - -import org.springframework.stereotype.Component; - -import cokr.xit.fims.sndb.SndngHstry; -import cokr.xit.fims.sndb.SndbQuery; -import cokr.xit.fims.sndb.dao.SndngHstryMapper; -import cokr.xit.foundation.component.AbstractBean; -import cokr.xit.foundation.data.DataObject; - -/**발송 이력 정보 관리 Bean - * - *

    상세 설명: - * - *

    - * ============ 변경 이력 ============
    - * 2023-12-20	JoJH 최초 작성
    - * ================================
    - * 
    - */ -@Component("sndngHstryBean") -public class SndngHstryBean extends AbstractBean { - - /** 발송 이력 정보 DAO */ - @Resource(name = "sndngHstryMapper") - private SndngHstryMapper sndngHstryMapper; - - /**지정한 조건에 따라 발송 이력 목록을 조회하여 반환한다. - * @param req 발송 이력 조회 조건 - * @return 발송 이력 목록 - */ - public List getSndngHstryList(SndbQuery req) { - return sndngHstryMapper.selectSndngHstryList(req); - } - - /**지정한 조건에 따라 발송 이력 객체들을 반환한다. - * @param req 발송 이력 조회 조건 - * @return 발송 이력 객체 목록 - */ - public List getSndngHstrys(SndbQuery req) { - return sndngHstryMapper.selectSndngHstrys(req); - } - - /**발송 이력 정보를 등록한다. - * @param sndngHstry 발송 이력 - * @return 저장 여부 - *
    • 저장됐으면 true
    • - *
    • 그렇지 않으면 false
    • - *
    - */ - public boolean create(SndngHstry sndngHstry) { - return sndngHstryMapper.insert(sndngHstry); - } - - /**발송 이력 정보를 수정한다. - * @param sndngHstry 발송 이력 - * @return 저장 여부 - *
    • 저장됐으면 true
    • - *
    • 그렇지 않으면 false
    • - *
    - */ - public boolean update(SndngHstry sndngHstry) { - return sndngHstryMapper.update(sndngHstry); - } - - /**발송 이력 정보를 삭제한다. - * @param sndngHstry 발송 이력 - * @return 저장 여부 - *
    • 저장됐으면 true
    • - *
    • 그렇지 않으면 false
    • - *
    - */ - public boolean remove(SndngHstry sndngHstry) { - return sndngHstryMapper.delete(sndngHstry); - } - -} diff --git a/src/main/java/cokr/xit/fims/sndb/service/bean/SndngHstryServiceBean.java b/src/main/java/cokr/xit/fims/sndb/service/bean/SndngHstryServiceBean.java deleted file mode 100644 index 8be21137..00000000 --- a/src/main/java/cokr/xit/fims/sndb/service/bean/SndngHstryServiceBean.java +++ /dev/null @@ -1,56 +0,0 @@ -package cokr.xit.fims.sndb.service.bean; - -import java.util.List; - -import javax.annotation.Resource; - -import org.springframework.stereotype.Service; - -import cokr.xit.foundation.component.AbstractServiceBean; -import cokr.xit.foundation.data.DataObject; - -import cokr.xit.fims.sndb.SndngHstry; -import cokr.xit.fims.sndb.SndbQuery; -import cokr.xit.fims.sndb.service.SndngHstryService; - -/**발송 이력 서비스 구현체. - * - *

    상세 설명: - * - *

    - * ============ 변경 이력 ============
    - * 2023-12-20	JoJH 최초 작성
    - * ================================
    - * 
    - */ -@Service("sndngHstryService") -public class SndngHstryServiceBean extends AbstractServiceBean implements SndngHstryService { - /** 발송 이력 정보 Bean */ - @Resource(name = "sndngHstryBean") - private SndngHstryBean sndngHstryBean; - - @Override - public List getSndngHstryList(SndbQuery req) { - return sndngHstryBean.getSndngHstryList(req); - } - - @Override - public List getSndngHstrys(SndbQuery req) { - return sndngHstryBean.getSndngHstrys(req); - } - - @Override - public boolean create(SndngHstry sndngHstry) { - return sndngHstryBean.create(sndngHstry); - } - - @Override - public boolean update(SndngHstry sndngHstry) { - return sndngHstryBean.update(sndngHstry); - } - - @Override - public boolean remove(SndngHstry sndngHstry) { - return sndngHstryBean.remove(sndngHstry); - } -} diff --git a/src/main/java/cokr/xit/fims/sndb/service/bean/SndngServiceBean.java b/src/main/java/cokr/xit/fims/sndb/service/bean/SndngServiceBean.java deleted file mode 100644 index b550b206..00000000 --- a/src/main/java/cokr/xit/fims/sndb/service/bean/SndngServiceBean.java +++ /dev/null @@ -1,116 +0,0 @@ -package cokr.xit.fims.sndb.service.bean; - -import java.util.List; - -import javax.annotation.Resource; - -import org.springframework.stereotype.Service; - -import cokr.xit.fims.sndb.SndbQuery; -import cokr.xit.fims.sndb.Sndng; -import cokr.xit.fims.sndb.service.SndngService; -import cokr.xit.foundation.component.AbstractServiceBean; -import cokr.xit.foundation.data.DataObject; - -/**발송 대장 서비스 구현체. -* -*

    상세 설명: -* -*

    -* ============ 변경 이력 ============
    -* 2023-08-25	JoJH 최초 작성
    -* ================================
    -* 
    -*/ -@Service("sndngService") -public class SndngServiceBean extends AbstractServiceBean implements SndngService { - - /** 발송 대장 정보 Bean */ - @Resource(name = "sndngBean") - private SndngBean sndngBean; - - /** 발송 상세 정보 Bean */ - @Resource(name = "sndngDtlBean") - private SndngDtlBean sndngDtlBean; - - @Override - public List getWrngTrgtList(SndbQuery req) { - return sndngBean.getWrngTrgtList(req); - } - - @Override - public List getWrngTrgts(SndbQuery req) { - return sndngBean.getWrngTrgts(req); - } - - @Override - public String createWrngSndngList(SndbQuery req, Sndng sndng) { - return sndngBean.createWrngSndngList(req, sndng); - } - - @Override - public List getWrngSndngList(SndbQuery req) { - return sndngBean.getSndngList(req); - } - - @Override - public List getAdvntceTrgtList(SndbQuery req) { - return sndngBean.getAdvntceTrgtList(req); - } - - @Override - public List getAdvntceTrgts(SndbQuery req) { - return sndngBean.getAdvntceTrgts(req); - } - - @Override - public String createAdvntceSndngList(SndbQuery req, Sndng sndng) { - return sndngBean.createAdvntceSndngList(req, sndng); - } - - @Override - public List getAdvntceSndngList(SndbQuery req) { - return sndngBean.getSndngList(req); - } - - @Override - public List getNhtTrgtList(SndbQuery req) { - return sndngBean.getNhtTrgtList(req); - } - - @Override - public List getNhtTrgts(SndbQuery req) { - return sndngBean.getNhtTrgts(req); - } - - @Override - public String createNhtSndngList(SndbQuery req, Sndng sndng) { - return sndngBean.createNhtSndngList(req, sndng); - } - - @Override - public List getNhtSndngList(SndbQuery req) { - return sndngBean.getSndngList(req); - } - - @Override - public List getSndngList(SndbQuery req) { - return sndngBean.getSndngList(req); - } - - @Override - public List getSndngs(SndbQuery req) { - return sndngBean.getSndngs(req); - } - - @Override - public String createSndngLink(Sndng sndng) { - return sndngBean.createEPost(sndng); - } - - @Override - public String removeSndng(Sndng sndng) { - return sndngBean.removeSndng(sndng); - } - -} diff --git a/src/main/java/cokr/xit/fims/sndb/service/bean/SvbtcBean.java b/src/main/java/cokr/xit/fims/sndb/service/bean/SvbtcBean.java deleted file mode 100644 index b7b4bdae..00000000 --- a/src/main/java/cokr/xit/fims/sndb/service/bean/SvbtcBean.java +++ /dev/null @@ -1,292 +0,0 @@ -package cokr.xit.fims.sndb.service.bean; - -import java.util.ArrayList; -import java.util.List; - -import javax.annotation.Resource; - -import org.springframework.stereotype.Component; - -import cokr.xit.fims.sndb.Svbtc; -import cokr.xit.fims.cmmn.CmmnUtil; -import cokr.xit.fims.sndb.SndbQuery; -import cokr.xit.fims.sndb.SndngDtl; -import cokr.xit.fims.sndb.dao.SndngDtlMapper; -import cokr.xit.fims.sndb.dao.SvbtcMapper; -import cokr.xit.foundation.component.AbstractBean; -import cokr.xit.foundation.data.DataObject; - -/**공시송달 대장 정보 관리 Bean - * - *

    상세 설명: - * - *

    - * ============ 변경 이력 ============
    - * 2024-01-09	JoJH 최초 작성
    - * ================================
    - * 
    - */ -@Component("svbtcBean") -public class SvbtcBean extends AbstractBean { - - /** 공시송달 대장 정보 DAO */ - @Resource(name = "svbtcMapper") - private SvbtcMapper svbtcMapper; - - /** 발송 상세 정보 DAO */ - @Resource(name = "sndngDtlMapper") - private SndngDtlMapper sndngDtlMapper; - - /**지정한 조건에 따라 공시송달 대장 목록을 조회하여 반환한다. - * @param req 공시송달 대장 조회 조건 - * @return 공시송달 대장 목록 - */ - public List getSvbtcList(SndbQuery req) { - // 삭제 여부 확인 - if (req.getDelYn() == null) { - req.setDelYn("N"); - } - // 정렬 확인 - if (req.getOrderBy() == null) { - if (req.getBy() == null) { - req.setOrderBy("REG_DT"); - } else { - req.setOrderBy(CmmnUtil.convertCamelCaseToSnakeCase(req.getBy())); - } - } - - return svbtcMapper.selectSvbtcList(req); - } - - /**지정한 조건에 따라 공시송달 대장 객체들을 반환한다. - * @param req 공시송달 대장 조회 조건 - * @return 공시송달 대장 객체 목록 - */ - public List getSvbtcs(SndbQuery req) { - // 삭제 여부 확인 - if (req.getDelYn() == null) { - req.setDelYn("N"); - } - if (req.getOrderBy() == null) { - req.setOrderBy("SV.SVBTC_ID"); - } - - return svbtcMapper.selectSvbtcs(req); - } - - /**지정한 조건에 따라 공시송달 대장 객체의 마지막 1개를 반환한다. - * @param req 공시송달 대장 조회 조건 - * @return 공시송달 대장 객체 목록 - */ - public DataObject getSvbtcInfo(SndbQuery req) { - DataObject svbtcInfo = new DataObject(); - - if (req.getCallPurpose().equals("create")) { - svbtcInfo.set("SGG_CD", req.getSggCd()); // 시군구 코드 - svbtcInfo.set("TASK_SE_CD", req.getTaskSeCd()); // 업무 구분 코드 - svbtcInfo.set("SNDNG_SE_CD", req.getSndngSeCd()); // 발송 구분 코드 - svbtcInfo.set("TNOCS", req.getTnocs()); // 총건수 - - } else { - svbtcInfo = svbtcMapper.selectSvbtcInfo(req); - } - - return svbtcInfo; - } - - /**지정한 조건에 따라 공시송달 상세 목록을 조회하여 반환한다. - * @param req 공시송달 대장 조회 조건 - * @return 공시송달 대장 객체 목록 - */ - public List getSvbtcDtlList(SndbQuery req) { - return svbtcMapper.selectSvbtcDtlList(req); - } - - /**지정한 조건에 따라 공시송달 상세 객체들을 반환한다. - * @param req 공시송달 대장 조회 조건 - * @return 공시송달 대장 객체 목록 - */ - public List getSvbtcDtls(SndbQuery req) { - return svbtcMapper.selectSvbtcDtls(req); - } - - /**지정한 조건에 따라 공시송달 상세 객체들을 반환한다. - * @param req 공시송달 대장 조회 조건 - * @return 공시송달 대장 객체 목록 - */ - public List getSvbtcPrint(SndbQuery req) { - return svbtcMapper.selectSvbtcPrint(req); - } - - /**공시송달 대장 정보를 등록한다. - * @param svbtc 공시송달 대장 - * @return 저장 여부 - *
    • 저장됐으면 true
    • - *
    • 그렇지 않으면 false
    • - *
    - */ - public String createSvbtc(SndbQuery req, Svbtc svbtc) { - // 변수 선언 - int rtnNocs = -1; // 처리 결과 건수 - - // 공시송달(TB_SNDNG_DTL) 대장에 공시송달 정보를 등록한다. - rtnNocs = svbtcMapper.insertSvbtc(svbtc); - if (rtnNocs != 1) { - throw new RuntimeException("공시송달 정보 등록에 실패하였습니다."); // 예외를 발생시켜서 DB Rollback - } - - List sndngDtlList = new ArrayList(); - if (svbtc.getSndngDtlIds() == null || svbtc.getSndngDtlIds().length < 1) { - req.setOrderBy("SD.SNDNG_DTL_ID"); - - sndngDtlList = sndngDtlMapper.selectSvbtcsTrgtSndngDtlIds(req); - } else { - SndbQuery query = new SndbQuery(); - query.setSndngDtlIds(svbtc.getSndngDtlIds()); - query.setOrderBy("SD.SNDNG_DTL_ID"); - - sndngDtlList = sndngDtlMapper.selectSvbtcsTrgtSndngDtlIds(query); - } - - // 공시송달 정보 수정 - for (int iLoop = 0; iLoop < sndngDtlList.size(); iLoop++) { - // 발송 상세 - SndngDtl sndngDtl = new SndngDtl(); - sndngDtl.setSvbtcId(svbtc.getSvbtcId()); - sndngDtl.setSndngDtlSttsCd("06"); - sndngDtl.setSndngDtlId(sndngDtlList.get(iLoop).string("SNDNG_DTL_ID")); - - // 발송 상세(TB_SNDNG_DTL) 대장에 공시송달 정보를 등록한다. - rtnNocs = sndngDtlMapper.updateSndngDtlSvbtc(sndngDtl); - if (rtnNocs != 1) { - throw new RuntimeException("발송상세 대장에 공시송달 정보 수정에 실패하였습니다."); // 예외를 발생시켜서 DB Rollback - } - } - - return "[S] 작업이 정상 처리 되었습니다."; - } - - /**공시송달 대장 정보를 수정한다. - * @param svbtc 공시송달 대장 - * @return 저장 여부 - *
    • 저장됐으면 true
    • - *
    • 그렇지 않으면 false
    • - *
    - */ - public String updateSvbtc(Svbtc svbtc) { - // 공시송달(TB_SVBTC) 정보를 수정한다. - int rtnNocs = svbtcMapper.updateSvbtc(svbtc); - if (rtnNocs != 1) { - throw new RuntimeException("공시송달 정보 수정에 실패하였습니다."); // 예외를 발생시켜서 DB Rollback - } - - return "[S] 작업이 정상 처리 되었습니다."; - } - - /**공시송달 대장 정보를 삭제한다. - * @param svbtc 공시송달 대장 - * @return 저장 여부 - *
    • 저장됐으면 true
    • - *
    • 그렇지 않으면 false
    • - *
    - */ - public String removeSvbtc(Svbtc svbtc) { - // 변수 선언 - int rtnNocs = -1; // 처리 결과 건수 - String rtnMsg = ""; // 처리 결과 메시지 - - // 공시송달(TB_SVBTC) 정보를 조회한다. - DataObject svbtcInfo = svbtcMapper.selectSvbtcInfo(new SndbQuery().setSvbtcId(svbtc.getSvbtcId())); - - // 삭제 대상 자료 ID 확인 - if (svbtcInfo.string("SVBTC_ID").equals("")) { - rtnMsg = "[F] 작업 중 오류가 발생하였습니다.
    공시송달 대장 자료가 존재하지 않습니다."; - return rtnMsg; - } - - // 공시송달(TB_SVBTC) 대장을 삭제한다. - rtnNocs = svbtcMapper.deleteSvbtc(svbtc); - if (rtnNocs != 1) { - throw new RuntimeException("공시송달 대장 삭제에 실패하였습니다."); // 예외를 발생시켜서 DB Rollback - } - - SndngDtl sndngDtl = new SndngDtl(); - sndngDtl.setSndngDtlIds(svbtc.getSndngDtlIds()); - sndngDtl.setSvbtcId(svbtc.getSvbtcId()); - sndngDtl.setSndngDtlSttsCd("05"); - - // 발송 상세(TB_SNDNG_DTL) 대장에서 공시송달 정보를 삭제한다. - rtnNocs = sndngDtlMapper.deleteSndngDtlSvbtc(sndngDtl); - if (rtnNocs < 1) { - throw new RuntimeException("발송상세 대장에 공시송달 정보 수정에 실패하였습니다."); // 예외를 발생시켜서 DB Rollback - } - if (svbtcInfo.number("TNOCS").intValue() != rtnNocs) { - throw new RuntimeException("공시송달 총건수와 발송상세 건수가 다릅니다."); // 예외를 발생시켜서 DB Rollback - } - - return "[S] 작업이 정상 처리 되었습니다."; - } - - /**공시송달 대장 정보를 삭제한다. - * @param svbtc 공시송달 대장 - * @return 저장 여부 - *
    • 저장됐으면 true
    • - *
    • 그렇지 않으면 false
    • - *
    - */ - public String removeSvbtcEach(Svbtc svbtc) { - // 변수 선언 - int rtnNocs = -1; // 처리 결과 건수 - String rtnMsg = ""; // 처리 결과 메시지 - - // 공시송달(TB_SVBTC) 정보를 조회한다. - DataObject svbtcInfo = svbtcMapper.selectSvbtcInfo(new SndbQuery().setSvbtcId(svbtc.getSvbtcId())); - - // 삭제 대상 자료 ID 확인 - if (svbtcInfo.string("SVBTC_ID").equals("")) { - rtnMsg = "[F] 작업 중 오류가 발생하였습니다.
    공시송달 대장 자료가 존재하지 않습니다."; - return rtnMsg; - } - - // 총건수 - int trgtNocs = svbtcInfo.number("TNOCS").intValue() - svbtc.getSndngDtlIds().length; - - if (trgtNocs == 0) { // 전체 삭제 - rtnMsg = removeSvbtc(svbtc); - if (!rtnMsg.contains("[S]")) { // 오류가 발생하였으면 종료.. - throw new RuntimeException(rtnMsg.replace("[F]", "")); // 예외를 발생시켜서 DB Rollback - } - } else if (trgtNocs >= 1) { // 일부 삭제 - SndngDtl sndngDtl = new SndngDtl(); - sndngDtl.setSndngDtlIds(svbtc.getSndngDtlIds()); - sndngDtl.setSvbtcId(svbtc.getSvbtcId()); - sndngDtl.setSndngDtlSttsCd("05"); - - // 발송 상세(TB_SNDNG_DTL) 대장에서 공시송달 정보를 삭제한다. - rtnNocs = sndngDtlMapper.deleteSndngDtlSvbtc(sndngDtl); - if (rtnNocs < 1) { - throw new RuntimeException("발송 상세 대장에 공시송달 정보 수정에 실패하였습니다."); // 예외를 발생시켜서 DB Rollback - } - - Svbtc updtSvbtc = new Svbtc(); - updtSvbtc.setSvbtcYmd(svbtcInfo.string("SVBTC_YMD")); // 공시송달 일자 - updtSvbtc.setSvbtcEndYmd(svbtcInfo.string("SVBTC_END_YMD")); // 공시송달 종료 일자 - updtSvbtc.setTtlNm(svbtcInfo.string("TTL_NM")); // 제목 명 - updtSvbtc.setDocNo(svbtcInfo.string("DOC_NO")); // 문서 번호 - updtSvbtc.setEtcCn(svbtcInfo.string("ETC_CN")); // 기타 내용 - updtSvbtc.setTnocs(trgtNocs); // 총건수 - updtSvbtc.setSvbtcId(svbtc.getSvbtcId()); - - // 공시송달(TB_SVBTC) 정보를 수정한다. - rtnMsg = updateSvbtc(updtSvbtc); - if (!rtnMsg.contains("[S]")) { // 오류가 발생하였으면 종료.. - throw new RuntimeException(rtnMsg.replace("[F]", "")); // 예외를 발생시켜서 DB Rollback - } - } else { - throw new RuntimeException("공시송달 총건수 보다 선택건수가 많이 조회됩니다."); - } - - return "[S] 작업이 정상 처리 되었습니다."; - } - -} diff --git a/src/main/java/cokr/xit/fims/sndb/service/bean/SvbtcServiceBean.java b/src/main/java/cokr/xit/fims/sndb/service/bean/SvbtcServiceBean.java deleted file mode 100644 index 4d6e109c..00000000 --- a/src/main/java/cokr/xit/fims/sndb/service/bean/SvbtcServiceBean.java +++ /dev/null @@ -1,77 +0,0 @@ -package cokr.xit.fims.sndb.service.bean; - -import java.util.List; - -import javax.annotation.Resource; - -import org.springframework.stereotype.Service; - -import cokr.xit.fims.sndb.SndbQuery; -import cokr.xit.fims.sndb.Svbtc; -import cokr.xit.fims.sndb.service.SvbtcService; -import cokr.xit.foundation.component.AbstractServiceBean; -import cokr.xit.foundation.data.DataObject; - -/**공시송달 대장 서비스 구현체. - * - *

    상세 설명: - * - *

    - * ============ 변경 이력 ============
    - * 2024-01-09	JoJH 최초 작성
    - * ================================
    - * 
    - */ -@Service("svbtcService") -public class SvbtcServiceBean extends AbstractServiceBean implements SvbtcService { - - /** 공시송달 대장 정보 Bean */ - @Resource(name = "svbtcBean") - private SvbtcBean svbtcBean; - - @Override - public List getSvbtcList(SndbQuery req) { - return svbtcBean.getSvbtcList(req); - } - - @Override - public List getSvbtcs(SndbQuery req) { - return svbtcBean.getSvbtcs(req); - } - - @Override - public DataObject getSvbtcInfo(SndbQuery req) { - return svbtcBean.getSvbtcInfo(req); - } - - @Override - public List getSvbtcDtlList(SndbQuery req) { - return svbtcBean.getSvbtcDtlList(req); - } - - @Override - public List getSvbtcDtls(SndbQuery req) { - return svbtcBean.getSvbtcDtls(req); - } - - @Override - public String createSvbtc(SndbQuery req, Svbtc svbtc) { - return svbtcBean.createSvbtc(req, svbtc); - } - - @Override - public String updateSvbtc(Svbtc svbtc) { - return svbtcBean.updateSvbtc(svbtc); - } - - @Override - public String removeSvbtc(Svbtc svbtc) { - return svbtcBean.removeSvbtc(svbtc); - } - - @Override - public String removeSvbtcEach(Svbtc svbtc) { - return svbtcBean.removeSvbtcEach(svbtc); - } - -} diff --git a/src/main/java/cokr/xit/fims/sndb/web/Sndb01Controller.java b/src/main/java/cokr/xit/fims/sndb/web/Sndb01Controller.java deleted file mode 100644 index 94a4962d..00000000 --- a/src/main/java/cokr/xit/fims/sndb/web/Sndb01Controller.java +++ /dev/null @@ -1,2432 +0,0 @@ -package cokr.xit.fims.sndb.web; - -import java.text.SimpleDateFormat; -import java.util.ArrayList; -import java.util.HashMap; -import java.util.List; -import java.util.Map; - -import javax.annotation.Resource; -import javax.servlet.http.HttpServletRequest; - -import org.apache.poi.ss.usermodel.CellStyle; -import org.springframework.stereotype.Controller; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.servlet.ModelAndView; - -import cokr.xit.applib.Print; -import cokr.xit.base.code.CommonCode; -import cokr.xit.base.docs.xls.CellDef; -import cokr.xit.base.docs.xls.Format; -import cokr.xit.base.docs.xls.Style; -import cokr.xit.base.docs.xls.XLSWriter; -import cokr.xit.base.file.service.FileQuery; -import cokr.xit.base.file.service.bean.FileBean; -import cokr.xit.base.web.ApplicationController; -import cokr.xit.fims.base.FimsUser; -import cokr.xit.fims.base.service.bean.OgdpBean; -import cokr.xit.fims.cmmn.CmmnQuery; -import cokr.xit.fims.cmmn.FimsPrintOption; -import cokr.xit.fims.cmmn.OtptStngQuery; -import cokr.xit.fims.cmmn.OutsourcingFileMaker; -import cokr.xit.fims.cmmn.OutsourcingStngQuery; -import cokr.xit.fims.cmmn.dao.OtptStngMapper; -import cokr.xit.fims.cmmn.hwp.format.SvbtcList; -import cokr.xit.fims.cmmn.pdf.print.format.Advntce; -import cokr.xit.fims.cmmn.pdf.print.format.Nht; -import cokr.xit.fims.cmmn.service.bean.OutsourcingStngBean; -import cokr.xit.fims.cmmn.service.bean.StngBean; -import cokr.xit.fims.cmmn.xls.FormatMaker; -import cokr.xit.fims.cmmn.xls.StyleMaker; -import cokr.xit.fims.crdn.Crdn; -import cokr.xit.fims.mngt.service.bean.TaskBean; -import cokr.xit.fims.sndb.SndbQuery; -import cokr.xit.fims.sndb.Sndng; -import cokr.xit.fims.sndb.SndngDtl; -import cokr.xit.fims.sndb.Svbtc; -import cokr.xit.fims.sndb.service.SndngDtlService; -import cokr.xit.fims.sndb.service.SndngService; -import cokr.xit.fims.sndb.service.SvbtcService; -import cokr.xit.fims.sndb.service.bean.SvbtcBean; -import cokr.xit.fims.sprt.SprtQuery; -import cokr.xit.fims.sprt.dao.IntegrationSearchMapper; -import cokr.xit.fims.sprt.service.IntegrationSearchService; -import cokr.xit.fims.sprt.service.bean.MediaBean; -import cokr.xit.fims.task.Task; -import cokr.xit.foundation.UserInfo; -import cokr.xit.foundation.data.DataObject; - -/**발송 대장 서비스의 웹 컨트롤러 -* -*

    상세 설명: -* -*

    -* ============ 변경 이력 ============
    -* 2023-08-24	JoJH 최초 작성
    -* ================================
    -* 
    -*/ -@Controller -@RequestMapping(name="발송반송", value=Sndb01Controller.CLASS_URL) -public class Sndb01Controller extends ApplicationController { - - public static final String CLASS_URL = "/sndb/sndb01"; - - public class METHOD_URL { - public static final String - warningTargetMain = "/010/main.do" // 계고장 발송 대상 메인 화면 - , getWarningTargetList = "/010/list.do" // 계고장 발송 대상 목록 조회 - , getWarningTargetInfo = "/020/info.do" // 계고장 발송 대상 조회 - , createWarningSendingList = "/020/createList.do" // 계고장 발송 대상 목록의 발송 등록 - , warningSendingMain = "/030/main.do" // 계고장 발송 현황 메인 화면 - , getWarningSendingList = "/030/list.do" // 계고장 발송 현황 목록 조회 - , getWarningSendingDetailInfo = "/040/info.do" // 계고장 발송 현황 상세 화면 - , getWarningSendingDetailList = "/040/list.do" // 계고장 발송 현황 상세 목록 조회 - , advanceNoticeTargetMain = "/050/main.do" // 사전통지 발송 대상 메인 화면 - , getAdvanceNoticeTargetList = "/050/list.do" // 사전통지 발송 대상 목록 조회 - , getAdvanceNoticeTargetInfo = "/060/info.do" // 사전통지 발송 대상 조회 - , createAdvanceNoticeSendingList = "/060/createList.do" // 사전통지 발송 대상 목록의 발송 등록 - , advanceNoticeSendingMain = "/070/main.do" // 사전통지 발송 현황 메인 화면 - , getAdvanceNoticeSendingList = "/070/list.do" // 사전통지 발송 현황 목록 조회 - , removeAdvanceNoticeSending = "/070/remove.do" // 사전통지 발송 현황 삭제 - , getAdvanceNoticeSendingDetailInfo = "/080/info.do" // 사전통지 발송 현황 상세 화면 - , getAdvanceNoticeSendingDetailList = "/080/list.do" // 사전통지 발송 현황 상세 목록 조회 - , createSendingLink = "/080/createSndngLink.do" // 사전통지 발송 현황 상세 목록의 우편통합 발송 연계 등록 - , makeAdvanceNoticePdf = "/080/makeAdvntcePdf.do" // 사전통지 발송 현황 사전통지서 출력(PDF) - , makeAdvanceNoticeOutsourcing = "/080/makeAdvntceOutsourcing.do" // 사전통지 발송 현황 사전통지서 출력(외주파일) - , noticeSheetTargetMain = "/090/main.do" // 고지서 발송 대상 메인 화면 - , getNoticeSheetTargetList = "/090/list.do" // 고지서 발송 대상 목록 조회 - , getNoticeSheetTargetInfo = "/100/info.do" // 고지서 발송 대상 조회 - , createNoticeSheetSendingList = "/100/createList.do" // 고지서 발송 대상 목록의 발송 등록 - , noticeSheetSendingMain = "/110/main.do" // 고지서 발송 현황 메인 화면 - , getNoticeSheetSendingList = "/110/list.do" // 고지서 발송 현황 상세 목록 조회 - , removeNoticeSheetSending = "/110/remove.do" // 고지서 발송 현황 삭제 - , getNoticeSheetSendingDetailInfo = "/120/info.do" // 고지서 발송 현황 화면 - , getNoticeSheetSendingDetailList = "/120/list.do" // 고지서 발송 현황 상세 목록 조회 - , makeNoticeSheetPdf = "/120/makeNhtPdf.do" // 고지서 발송 현황 사전통지서 출력(PDF) - , makeNoticeSheetOutsourcing = "/120/makeNhtOutsourcing.do" // 고지서 발송 현황 사전통지서 출력(외주파일) - - - , sendingDetailInfo = "/210/info.do" // 수기 반송 등록 상세 - , getSendingDetailList = "/210/list.do" // 수기 반송 등록 조회 - , sendBackMain = "/220/main.do" // 반송 현황 메인 화면 - , getSendBackList = "/220/list.do" // 반송 현황 목록 조회 - , removeSendBack = "/220/remove.do" // 반송 삭제 - , getSendBackInfo = "/230/info.do" // 반송 정보 조회 - , createSendBackList = "/230/createSndbkList.do" // 사전통지 발송 상세 목록의 반송 확인(등록) - , createSendBack = "/230/create.do" // 반송 등록 - , updateSendBack = "/230/update.do" // 반송 수정 - , serviceByPublicNoticeMain = "/240/main.do" // 공시송달 현황 메인 화면 - , getServiceByPublicNoticeList = "/240/list.do" // 공시송달 현황 목록 조회 - , removeServiceByPublicNotice = "/240/remove.do" // 공시송달 삭제 - , makeSvbtcFileFromHwpFormat = "/240/makeSvbtcHwp.do" // 공시송달 한글 파일 출력 - , getServiceByPublicNoticeDetailInfo = "/250/info.do" // 공시송달 상세 화면 - , getServiceByPublicNoticeDetailList = "/250/list.do" // 공시송달 상세 목록 조회 - , makeSvbtcDetailsFileFromHwpFormat = "/250/makeSvbtcDtlHwp.do" // 공시송달 상세 한글 파일 출력 - , removeServiceByPublicNoticeEach = "/250/remove.do" // 공시송달 개별 삭제 - , getServiceByPublicNoticeInfo = "/260/info.do" // 공시송달 정보 - , createServiceByPublicNotice = "/260/create.do" // 공시송달 등록 - , updateServiceByPublicNotice = "/260/update.do" // 공시송달 수정 - - , setNonTaxReceiptIndividualA01List = "/991/nxrpA01List.do" // 과태료 대장 단속 정보 등록(실시간) A01 - , getNonTaxReceiptIndividualA03List = "/991/nxrpA03List.do" // 과태료 대장 등록 자료 상세 조회(실시간) A03 - , getNonTaxReceiptSpecialB01List = "/991/nxrpB01List.do" // 체납상세세목정보(실시간) B01 - ; - } - - /**발송 대장 서비스*/ - @Resource(name="sndngService") - private SndngService sndngService; - - /**발송 상세 서비스*/ - @Resource(name="sndngDtlService") - private SndngDtlService sndngDtlService; - - /**공시송달 대장 서비스*/ - @Resource(name="svbtcService") - private SvbtcService svbtcService; - - /**업무 정보 서비스*/ - @Resource(name="taskBean") - private TaskBean taskBean; - - /**통합 조회 서비스*/ - @Resource(name="integrationSearchService") - private IntegrationSearchService integrationSearchService; - - @Resource(name="stngBean") - private StngBean stngBean; - - @Resource(name="fileBean") - private FileBean fileBean; - - @Resource(name = "ogdpBean") - private OgdpBean ogdpBean; - - @Resource(name="svbtcBean") - private SvbtcBean svbtcBean; - - @Resource(name="mediaBean") - private MediaBean mediaBean; - - @Resource(name="otptStngMapper") - private OtptStngMapper otptStngMapper; - - @Resource(name="outsourcingStngBean") - protected OutsourcingStngBean outsourcingStngBean; - - @Resource(name="integrationSearchMapper") - private IntegrationSearchMapper integrationSearchMapper; - - /**계고장 발송 대상 자료 메인화면(sndb/sndb01/010-main)을 연다. - * @return /sndb/sndb01/010-main - */ - @RequestMapping(name = "계도장 발송 대상 메인", value = METHOD_URL.warningTargetMain) - public ModelAndView warningTargetMain() { - ModelAndView mav = new ModelAndView("fims/sndb/sndb01010-main"); - - // 사용자 정보 - FimsUser fimsUser = (FimsUser)currentUser().getUser(); - - // View(jsp)에서 사용할 공통코드를 조회 - Map> commonCodes = getCodesOf("FIM004", "FIM005", "FIM006", "FIM022", "FIM054", "FIM061", "FIM064"); - - // 위반 코드(VLTN_CD) - addCodes(commonCodes, mav, "FIM022", "FIM004", "FIM005", "FIM006", "FIM061", "FIM064"); - - return mav - .addObject("pageName", "sndb01010") // View(jsp)에서 사용할 id 뒤에 붙일 suffix - .addObject("infoPrefix", "wrngTrgt") // prefix - .addObject("infoPrefixUrl", CLASS_URL) // prefixUrl - .addObject("sggCd", fimsUser.getOrgID()) // 시군구 코드(SGG_CD) - .addObject("taskListForSgg", stngBean.filterTaskSectionCodeForSgg(commonCodes.get("FIM054"))) // 시군구에서 사용하는 업무 목록 - .addObject("FIM022List", commonCodes.get("FIM022")) // 부과 제외 사유 코드(LEVY_EXCL_RSN_CD) - .addObject("FIM004List", commonCodes.get("FIM004")) // 주정차위반 내역 코드(VLTN_ID) - .addObject("FIM005List", commonCodes.get("FIM005")) // 전용차로위반 내역 코드(VLTN_ID) - .addObject("FIM006List", commonCodes.get("FIM006")) // 장애인주차위반 내역 코드(VLTN_ID) - .addObject("FIM061List", commonCodes.get("FIM061")) // 전기차 충전구역 및 충전방해 위반 코드(VLTN_ID) - .addObject("FIM064List", commonCodes.get("FIM064")) // 화물자동차 밤샘주차 위반 코드(VLTN_ID) - ; - } - - /**계고장 발송 대상 목록을 조회하여 반환한다. - * {@link SndngService#getSndngList(SndngQuery)} 참고 - * @param req 발송 대장 조회 조건 - * @return jsonView - *
     {
    -	 *     "wrngSndngTrgtList": [계고장 발송 대상 목록]
    -	 *     "wrngSndngTrgtStart": 계고장 발송 대상 목록 시작 인덱스
    -	 *     "wrngSndngTrgtFetch": 한 번에 가져오는 계고장 발송 대상 목록 수
    -	 *     "wrngSndngTrgtTotal": 조회 결과 찾은 전체 계고장 발송 대상 수
    -	 * }
    - */ - @Task - @RequestMapping(name="계고장 발송 대상 목록 조회", value=METHOD_URL.getWarningTargetList) - public ModelAndView getWarningTargetList(SndbQuery req) { - if (!"xls".equals(req.getDownload())) { - List result = sndngService.getWrngTrgtList(setFetchSize(req)); - return setCollectionInfo(new ModelAndView("jsonView"), result, "wrngTrgt"); - } else { - // 현재 날짜 구하기 - SimpleDateFormat dateFormat = new SimpleDateFormat("yyyyMMddHHmmss"); - String dateTime = dateFormat.format(System.currentTimeMillis()); - - List cellDefs = fromJson(req.getCellDefs(), CellDef.listType()); - - XLSWriter xlsx = new XLSWriter().worksheet(0); - Format format = new Format(xlsx); - CellStyle center = format.cellStyle(Style.CENTER); - CellStyle numeric = format.n_nn0(); - CellStyle dateYMD = format.yyyy_mm_dd(); - CellStyle dateDT = format.yyyy_mm_dd_hh_mm_ss(); - - List list = sndngService.getWrngTrgtList(req.setFetchSize(0)); - - Map valueMap = new HashMap(); - valueMap.put("업무구분", format.of("TASK_SE_NM").style(center)); - valueMap.put("계고일자", FormatMaker.yyyy_mm_dd(format, "LEVY_EXCL_YMD").style(dateYMD)); - valueMap.put("계고사유", format.of("LEVY_EXCL_RSN_NM")); - valueMap.put("기타내용", format.of("ETC_CN")); - valueMap.put("민원신청번호", format.of("CVLCPT_APLY_NO").style(center)); - valueMap.put("민원접수번호", format.of("CVLCPT_RCPT_NO").style(center)); - valueMap.put("민원접수일자", FormatMaker.yyyy_mm_dd(format, "CVLCPT_RCPT_YMD").style(dateYMD)); - valueMap.put("민원처리담당자", format.of("CVLCPT_PRCS_PIC_NM").style(center)); - valueMap.put("민원처리결과", format.of("CVLCPT_PRCS_NM").style(center)); - valueMap.put("단속일시", FormatMaker.yyyy_mm_dd_hh_mm_ss(format, "CRDN_YMD_TM").style(dateDT)); - valueMap.put("차량번호", format.of("VHRNO")); - valueMap.put("위반항목", format.of("VLTN_ARTCL")); - valueMap.put("단속법정동", format.of("CRDN_STDG_NM")); - valueMap.put("단속장소", format.of("CRDN_PLC")); - valueMap.put("상세단속장소", format.of("DTL_CRDN_PLC")); - valueMap.put("단속원금", format.of("FFNLG_CRDN_AMT").style(numeric)); - valueMap.put("처리상태", format.of("CRDN_STTS_NM")); - valueMap.put("납부자명", format.of("RTPYR_NM")); - valueMap.put("납부자생일", format.of("RTPYR_BRDT_MASK").style(center)); - valueMap.put("우편번호", format.of("ZIP").style(center)); - valueMap.put("주소", format.of("ADDR")); - valueMap.put("상세주소", format.of("DTL_ADDR")); - valueMap.put("단속특별구역", format.of("CRDN_SPAREA_NM").style(center)); - valueMap.put("사용연료", format.of("USE_FUEL_NM").style(center)); - valueMap.put("주차가능여부", format.of("PRK_PSBLTY_RSLT_NM").style(center)); - valueMap.put("등록일시", FormatMaker.yyyy_mm_dd_hh_mm_ss(format, "REG_DT").style(dateDT)); - valueMap.put("등록사용자", format.of("RGTR_NM").style(center)); - valueMap.put("수정일시", FormatMaker.yyyy_mm_dd_hh_mm_ss(format, "MDFCN_DT").style(dateDT)); - valueMap.put("수정사용자", format.of("MDFR_NM").style(center)); - - CellDef.setValues(cellDefs, valueMap); - - xlsx.cell(0, 0).value("계고장 발송 대상").value(center).merge(0, cellDefs.size() - 1) - .cell(3, 0).rowValues(CellDef.header(cellDefs, () -> StyleMaker.headerStyle(xlsx))) - .cell(4, 0).values(list, CellDef.values(cellDefs.stream().map(i -> {if(i.getValue() instanceof Format) {i.setField(null);}; return i;}).toList())); - - return new ModelAndView("downloadView") - .addObject("download", xlsx.getDownloadable().setFilename("계고장발송대상" + "_목록_" + dateTime + ".xlsx")); - } - } - - /**계고장 발송 대상 정보 화면(sndb/sndb01/020-info)을 연다. - * @param crdnIds 단속 Ids - * @return fims/sndb/sndb01020-info 또는 jsonView - *
    {
    -	 *     "wrngSndngTrgts": [계고장 발송 대상 목록]
    -	 * }
    - */ - @Task - @RequestMapping(name="계고장 발송 대상 상세 조회", value=METHOD_URL.getWarningTargetInfo) - public ModelAndView getWarningTargetInfo(HttpServletRequest hReq, SndbQuery req) { - ModelAndView mav = getWarningTargetList(req); - - mav.setViewName("fims/sndb/sndb01020-info"); - - return mav - .addObject("openerPageName", hReq.getParameter("openerPageName")) // 호출한 Jsp PageName - .addObject("callPurpose", req.getCallPurpose()) // 호출 용도 - .addObject("pageName", "sndb01020") // View(jsp)에서 사용할 id 뒤에 붙일 suffix - .addObject("infoPrefix", "wrngTrgt") // prefix - .addObject("infoPrefixUrl", CLASS_URL) // prefixUrl - .addObject("mainQuery", toJson(req)) // 검색 조건 - .addObject("wrngTrgtList", toJson(mav.getModel().get("wrngTrgtList"))) // 자료 - ; - } - - /**계도장 발송 대상을 조회하여 발송 대장에 등록한다. - * @param req 계도장 발송 대상 조회, sndng 발송 대장 - * @return jsonView - *
     {
    -	 *     "saved": 등록되었으면 true, 그렇지 않으면 false
    -	 * }
    - */ - @Task - @RequestMapping(name="계고장 발송 등록", value=METHOD_URL.createWarningSendingList) - public ModelAndView createWarningSendingList(SndbQuery req, Sndng sndng) { - boolean saved = false; - String rtnMsg = sndngService.createWrngSndngList(req, sndng); - - if (rtnMsg.contains("[S]")) { - saved = true; - } else { - saved = false; - } - - return new ModelAndView("jsonView") - .addObject("saved", saved) - .addObject("rtnMsg", rtnMsg); - } - - /**계도장 발송 현황 메인화면(sndb/sndb01/030-main)을 연다. - * @return /sndb/sndb01/030-main - */ - @RequestMapping(name = "계도장 발송 현황 메인", value = METHOD_URL.warningSendingMain) - public ModelAndView warningSendingMain() { - ModelAndView mav = new ModelAndView("fims/sndb/sndb01030-main"); - - // 사용자 정보 - FimsUser fimsUser = (FimsUser)currentUser().getUser(); - - // View(jsp)에서 사용할 공통코드를 조회 - Map> commonCodes = getCodesOf("FIM054", "FIM067"); - - return mav - .addObject("pageName", "sndb01030") // View(jsp)에서 사용할 id 뒤에 붙일 suffix - .addObject("infoPrefix", "wrngSndng") // prefix - .addObject("infoPrefixUrl", CLASS_URL) // prefixUrl - .addObject("sggCd", fimsUser.getOrgID()) // 시군구 코드(SGG_CD) - .addObject("taskListForSgg", stngBean.filterTaskSectionCodeForSgg(commonCodes.get("FIM054"))) // 시군구에서 사용하는 업무 목록 - .addObject("FIM067List", commonCodes.get("FIM067")) // 발송 등록 구분 코드(SNDNG_REG_SE_CD) - ; - } - - /**계도장 발송 현황 목록을 조회하여 반환한다. - * {@link SndngService#getWarningSendingList(SndngQuery)} 참고 - * @param req 발송 대장 조회 조건 - * @return jsonView - *
     {
    -	 *     "sndngList": [계도장 발송 현황 목록]
    -	 *     "sndngStart": 계도장 발송 현황 목록 시작 인덱스
    -	 *     "sndngFetch": 한 번에 가져오는 계도장 발송 현황 목록 수
    -	 *     "sndngTotal": 조회 결과 찾은 전체 계도장 발송 현황 수
    -	 * }
    - */ - @Task - @RequestMapping(name="계고장 발송 현황 목록 조회", value=METHOD_URL.getWarningSendingList) - public ModelAndView getWarningSendingList(SndbQuery req) { - if (!"xls".equals(req.getDownload())) { - List result = sndngService.getWrngSndngList(setFetchSize(req)); - return setCollectionInfo(new ModelAndView("jsonView"), result, "wrngSndng"); - } else { - // 현재 날짜 구하기 - SimpleDateFormat dateFormat = new SimpleDateFormat("yyyyMMddHHmmss"); - String dateTime = dateFormat.format(System.currentTimeMillis()); - - List cellDefs = fromJson(req.getCellDefs(), CellDef.listType()); - - XLSWriter xlsx = new XLSWriter().worksheet(0); - Format format = new Format(xlsx); - CellStyle center = format.cellStyle(Style.CENTER); - CellStyle numeric = format.n_nn0(); - CellStyle dateYMD = format.yyyy_mm_dd(); - CellStyle dateDT = format.yyyy_mm_dd_hh_mm_ss(); - - List list = sndngService.getWrngSndngList(req.setFetchSize(0)); - - Map valueMap = new HashMap(); - valueMap.put("업무구분", format.of("TASK_SE_NM").style(center)); - valueMap.put("등록구분", format.of("SNDNG_REG_SE_NM").style(center)); - valueMap.put("위반항목", format.of("VLTN_ARTCL")); - valueMap.put("발송일자", FormatMaker.yyyy_mm_dd(format, "SNDNG_YMD").style(dateYMD)); - valueMap.put("납기일자", FormatMaker.yyyy_mm_dd(format, "SNDNG_END_YMD").style(dateYMD)); - valueMap.put("총건수", format.of("TNOCS").style(numeric)); - valueMap.put("총금액", format.of("GRAMT").style(numeric)); - valueMap.put("문서번호", format.of("DOC_NO")); - valueMap.put("제목", format.of("TTL_NM")); - valueMap.put("등록일시", FormatMaker.yyyy_mm_dd_hh_mm_ss(format, "REG_DT").style(dateDT)); - valueMap.put("등록사용자", format.of("RGTR_NM").style(center)); - valueMap.put("수정일시", FormatMaker.yyyy_mm_dd_hh_mm_ss(format, "MDFCN_DT").style(dateDT)); - valueMap.put("수정사용자", format.of("MDFR_NM").style(center)); - - CellDef.setValues(cellDefs, valueMap); - - xlsx.cell(0, 0).value("계고장 발송 현황").value(center).merge(0, cellDefs.size() - 1) - .cell(3, 0).rowValues(CellDef.header(cellDefs, () -> StyleMaker.headerStyle(xlsx))) - .cell(4, 0).values(list, CellDef.values(cellDefs.stream().map(i -> {if(i.getValue() instanceof Format) {i.setField(null);}; return i;}).toList())); - - return new ModelAndView("downloadView") - .addObject("download", xlsx.getDownloadable().setFilename("계고장발송현황" + "_목록_" + dateTime + ".xlsx")); - } - } - - /**계도장 발송 현황 - 발송상세 화면(sndb/sndb01/040-info)을 연다. - * @param sndngId 발송 ID - * @return fims/sndb/sndb01040-info 또는 jsonView - *
    {
    -	 *     "sndngDtls": [계도장 발송 상세 목록]
    -	 * }
    - */ - @Task - @RequestMapping(name="계고장 발송 현황 상세 화면", value=METHOD_URL.getWarningSendingDetailInfo) - public ModelAndView getWarningSendingDetailInfo(HttpServletRequest hReq, SndbQuery req) { - ModelAndView mav = getWarningSendingDetailList(req); - - mav.setViewName("fims/sndb/sndb01040-info"); - - return mav - .addObject("openerPageName", hReq.getParameter("openerPageName")) // 호출한 Jsp PageName - .addObject("callPurpose", req.getCallPurpose()) // 호출 용도 - .addObject("pageName", "sndb01040") // View(jsp)에서 사용할 id 뒤에 붙일 suffix - .addObject("infoPrefix", "wrngSndngDtl") // prefix - .addObject("infoPrefixUrl", CLASS_URL) // prefixUrl - .addObject("sggCd", req.getSggCd()) // 시군구 코드(SGG_CD) - .addObject("taskSeCd", req.getTaskSeCd()) // 업무 구분 코드(TASK_SE_CD) - .addObject("sndngId", req.getSndngId()) // 발송 ID(SNDNG_ID) - .addObject("wrngSndngDtlList", toJson(mav.getModel().get("wrngSndngDtlList"))) // 자료 - ; - } - - /**계도장 발송 현황 - 발송상세 목록을 조회하여 반환한다. - * {@link SndngService#getSndngList(SndngQuery)} 참고 - * @param req 발송 대장 조회 조건 - * @return jsonView - *
     {
    -	 *     "sndngDtlList": [발송상세 목록]
    -	 *     "sndngDtlStart": 발송상세 목록 시작 인덱스
    -	 *     "sndngDtlFetch": 한 번에 가져오는 발송상세 목록 수
    -	 *     "sndngDtlTotal": 조회 결과 찾은 전체 발송상세 수
    -	 * }
    - */ - @Task - @RequestMapping(name="계고장 발송 현황 상세 목록 조회", value=METHOD_URL.getWarningSendingDetailList) - public ModelAndView getWarningSendingDetailList(SndbQuery req) { - if (!"xls".equals(req.getDownload())) { - List result = sndngDtlService.getSndngDtlList(setFetchSize(req)); - return setCollectionInfo(new ModelAndView("jsonView"), result, "wrngSndngDtl"); - } else { - // 현재 날짜 구하기 - SimpleDateFormat dateFormat = new SimpleDateFormat("yyyyMMddHHmmss"); - String dateTime = dateFormat.format(System.currentTimeMillis()); - - List cellDefs = fromJson(req.getCellDefs(), CellDef.listType()); - - XLSWriter xlsx = new XLSWriter().worksheet(0); - Format format = new Format(xlsx); - CellStyle center = format.cellStyle(Style.CENTER); - CellStyle numeric = format.n_nn0(); - CellStyle dateYMD = format.yyyy_mm_dd(); - CellStyle dateDT = format.yyyy_mm_dd_hh_mm_ss(); - - List list = sndngDtlService.getSndngDtlList(req.setFetchSize(0)); - - Map valueMap = new HashMap(); - valueMap.put("발송상태", format.of("SNDNG_DTL_STTS_NM").style(center)); - valueMap.put("등기번호", format.of("RG_NO").style(center)); - valueMap.put("발송일자", FormatMaker.yyyy_mm_dd(format, "SNDNG_YMD").style(dateYMD)); - valueMap.put("납기일자", FormatMaker.yyyy_mm_dd(format, "SNDNG_END_YMD").style(dateYMD)); - valueMap.put("성명", format.of("RCPN_NM")); - valueMap.put("우편번호", format.of("RCPN_ZIP").style(center)); - valueMap.put("주소", format.of("RCPN_ADDR")); - valueMap.put("상세주소", format.of("RCPN_DTL_ADDR")); - valueMap.put("배달일자", FormatMaker.yyyy_mm_dd(format, "DLVR_YMD").style(dateYMD)); - valueMap.put("배달시각", format.of("DLVR_TM").style(center)); - valueMap.put("미배달사유", format.of("UNDLVR_RSN_NM")); - valueMap.put("수령인", format.of("ACTL_RCPN_NM")); - valueMap.put("수령인관계", format.of("RCPN_REL_NM")); - valueMap.put("단속일시", format.of("CRDN_DT").style(center)); - valueMap.put("차량번호", format.of("VHRNO")); - valueMap.put("단속법정동", format.of("CRDN_STDG_NM")); - valueMap.put("단속장소", format.of("CRDN_PLC")); - valueMap.put("과태료금액", format.of("FFNLG_AMT").style(numeric)); - valueMap.put("등록일시", FormatMaker.yyyy_mm_dd_hh_mm_ss(format, "REG_DT").style(dateDT)); - valueMap.put("등록사용자", format.of("RGTR_NM").style(center)); - valueMap.put("수정일시", FormatMaker.yyyy_mm_dd_hh_mm_ss(format, "MDFCN_DT").style(dateDT)); - valueMap.put("수정사용자", format.of("MDFR_NM").style(center)); - - CellDef.setValues(cellDefs, valueMap); - - xlsx.cell(0, 0).value("계도장 발송 상세").value(center).merge(0, cellDefs.size() - 1) - .cell(3, 0).rowValues(CellDef.header(cellDefs, () -> StyleMaker.headerStyle(xlsx))) - .cell(4, 0).values(list, CellDef.values(cellDefs.stream().map(i -> {if(i.getValue() instanceof Format) {i.setField(null);}; return i;}).toList())); - - return new ModelAndView("downloadView") - .addObject("download", xlsx.getDownloadable().setFilename("계도장발송상세" + "_목록_" + dateTime + ".xlsx")); - } - } - - /**사전통지 발송 대상 자료 메인화면(sndb/sndb01/050-main)을 연다. - * @return /sndb/sndb01/050-main - */ - @RequestMapping(name = "사전통지 발송 대상 메인", value = METHOD_URL.advanceNoticeTargetMain) - public ModelAndView advanceNoticeTargetMain() { - ModelAndView mav = new ModelAndView("fims/sndb/sndb01050-main"); - - // 사용자 정보 - FimsUser fimsUser = (FimsUser)currentUser().getUser(); - - // View(jsp)에서 사용할 공통코드를 조회 - Map> commonCodes = getCodesOf("FIM004", "FIM005", "FIM006", "FIM054", "FIM061", "FIM064"); - - addCodes(commonCodes, mav, "FIM004", "FIM005", "FIM006", "FIM061", "FIM064"); - - return mav - .addObject("pageName", "sndb01050") // View(jsp)에서 사용할 id 뒤에 붙일 suffix - .addObject("infoPrefix", "advntceTrgt") // prefix - .addObject("infoPrefixUrl", CLASS_URL) // prefixUrl - .addObject("sggCd", fimsUser.getOrgID()) // 시군구 코드(SGG_CD) - .addObject("taskListForSgg", stngBean.filterTaskSectionCodeForSgg(commonCodes.get("FIM054"))) // 시군구에서 사용하는 업무 목록 - .addObject("FIM004List", commonCodes.get("FIM004")) // 주정차위반 내역 코드(VLTN_CD) - .addObject("FIM005List", commonCodes.get("FIM005")) // 전용차로위반 내역 코드(VLTN_CD) - .addObject("FIM006List", commonCodes.get("FIM006")) // 장애인주차위반 내역 코드(VLTN_CD) - .addObject("FIM061List", commonCodes.get("FIM061")) // 전기차 충전구역 및 충전방해 위반 코드(VLTN_CD) - .addObject("FIM064List", commonCodes.get("FIM064")) // 화물자동차 밤샘주차 위반 코드(VLTN_CD) - ; - } - - /**사전통지 발송 대상 목록을 조회하여 반환한다. - * {@link SndngService#getSndngList(SndngQuery)} 참고 - * @param req 발송 대장 조회 조건 - * @return jsonView - *
     {
    -	 *     "sndngList": [사전통지 발송 대상 목록]
    -	 *     "sndngStart": 사전통지 발송 대상 목록 시작 인덱스
    -	 *     "sndngFetch": 한 번에 가져오는 사전통지 발송 대상 목록 수
    -	 *     "sndngTotal": 조회 결과 찾은 전체 사전통지 발송 대상 수
    -	 * }
    - */ - @Task - @RequestMapping(name="사전통지 발송 대상 목록 조회", value=METHOD_URL.getAdvanceNoticeTargetList) - public ModelAndView getAdvanceNoticeTargetList(SndbQuery req) { - if (!"xls".equals(req.getDownload())) { - List result = sndngService.getAdvntceTrgtList(setFetchSize(req)); - return setCollectionInfo(new ModelAndView("jsonView"), result, "advntceTrgt"); - } else { - // 현재 날짜 구하기 - SimpleDateFormat dateFormat = new SimpleDateFormat("yyyyMMddHHmmss"); - String dateTime = dateFormat.format(System.currentTimeMillis()); - - List cellDefs = fromJson(req.getCellDefs(), CellDef.listType()); - - XLSWriter xlsx = new XLSWriter().worksheet(0); - Format format = new Format(xlsx); - CellStyle center = format.cellStyle(Style.CENTER); - CellStyle numeric = format.n_nn0(); - CellStyle dateYMD = format.yyyy_mm_dd(); - CellStyle dateDT = format.yyyy_mm_dd_hh_mm_ss(); - - List list = sndngService.getAdvntceTrgtList(req.setFetchSize(0)); - - Map valueMap = new HashMap(); - valueMap.put("업무구분", format.of("TASK_SE_NM").style(center)); - valueMap.put("민원신청번호", format.of("CVLCPT_APLY_NO").style(center)); - valueMap.put("민원접수번호", format.of("CVLCPT_RCPT_NO").style(center)); - valueMap.put("민원접수일자", FormatMaker.yyyy_mm_dd(format, "CVLCPT_RCPT_YMD").style(dateYMD)); - valueMap.put("민원처리담당자", format.of("CVLCPT_PRCS_PIC_NM").style(center)); - valueMap.put("민원처리결과", format.of("CVLCPT_PRCS_NM").style(center)); - valueMap.put("단속일시", FormatMaker.yyyy_mm_dd_hh_mm_ss(format, "CRDN_YMD_TM").style(dateDT)); - valueMap.put("차량번호", format.of("VHRNO")); - valueMap.put("위반항목", format.of("VLTN_ARTCL")); - valueMap.put("단속법정동", format.of("CRDN_STDG_NM")); - valueMap.put("단속장소", format.of("CRDN_PLC")); - valueMap.put("상세단속장소", format.of("DTL_CRDN_PLC")); - valueMap.put("과태료금액", format.of("FFNLG_AMT").style(numeric)); - valueMap.put("사전통지금액", format.of("ADVNTCE_AMT").style(numeric)); - valueMap.put("처리상태", format.of("CRDN_STTS_NM")); - valueMap.put("납부자명", format.of("RTPYR_NM")); - valueMap.put("납부자생일", format.of("RTPYR_BRDT_MASK").style(center)); - valueMap.put("우편번호", format.of("ZIP").style(center)); - valueMap.put("주소", format.of("ADDR")); - valueMap.put("상세주소", format.of("DTL_ADDR")); - valueMap.put("단속특별구역", format.of("CRDN_SPAREA_NM").style(center)); - valueMap.put("사용연료", format.of("USE_FUEL_NM").style(center)); - valueMap.put("주차가능여부", format.of("PRK_PSBLTY_RSLT_NM").style(center)); - valueMap.put("등록일시", FormatMaker.yyyy_mm_dd_hh_mm_ss(format, "REG_DT").style(dateDT)); - valueMap.put("등록사용자", format.of("RGTR_NM").style(center)); - valueMap.put("수정일시", FormatMaker.yyyy_mm_dd_hh_mm_ss(format, "MDFCN_DT").style(dateDT)); - valueMap.put("수정사용자", format.of("MDFR_NM").style(center)); - - CellDef.setValues(cellDefs, valueMap); - - xlsx.cell(0, 0).value("사전통지 발송 대상").value(center).merge(0, cellDefs.size() - 1) - .cell(3, 0).rowValues(CellDef.header(cellDefs, () -> StyleMaker.headerStyle(xlsx))) - .cell(4, 0).values(list, CellDef.values(cellDefs.stream().map(i -> {if(i.getValue() instanceof Format) {i.setField(null);}; return i;}).toList())); - - return new ModelAndView("downloadView") - .addObject("download", xlsx.getDownloadable().setFilename("사전통지발송대상" + "_목록_" + dateTime + ".xlsx")); - } - } - - /**사전통지 발송 대상 정보 화면(sndb/sndb01/060-info)을 연다. - * @param crdnIds 단속 Ids - * @return fims/sndb/sndb01060-info 또는 jsonView - *
    {
    -	 *     "advntceSndngTrgs": [사전통지 발송 대상 목록]
    -	 * }
    - */ - @Task - @RequestMapping(name="사전통지 발송 대상 상세 조회", value=METHOD_URL.getAdvanceNoticeTargetInfo) - public ModelAndView getAdvanceNoticeTargetInfo(HttpServletRequest hReq, SndbQuery req) { - ModelAndView mav = getAdvanceNoticeTargetList(req); - - mav.setViewName("fims/sndb/sndb01060-info"); - - // 사전통지 납기일자 - DataObject advntceYmdInfo = taskBean.getAdvntceYmdInfo(new CmmnQuery().setSggCd(req.getSggCd()) - .setTaskSeCd(req.getTaskSeCd())); - - return mav - .addObject("openerPageName", hReq.getParameter("openerPageName")) // 호출한 Jsp PageName - .addObject("callPurpose", req.getCallPurpose()) // 호출 용도 - .addObject("pageName", "sndb01060") // View(jsp)에서 사용할 id 뒤에 붙일 suffix - .addObject("infoPrefix", "advntceTrgt") // prefix - .addObject("infoPrefixUrl", CLASS_URL) // prefixUrl - .addObject("mainQuery", toJson(req)) // 검색 조건 - .addObject("advntceTrgtList", toJson(mav.getModel().get("advntceTrgtList"))) // 자료 - .addObject("advntceYmdInfo", toJson(advntceYmdInfo)) // 사전통지 기간 정보 - ; - } - - /**사전통지 발송 대상을 등록한다. - * @param sndng 발송 정보 - * @return jsonView - *
     {
    -	 *     "saved": 등록되었으면 true, 그렇지 않으면 false
    -	 * }
    - */ - @Task - @RequestMapping(name="사전통지 발송 등록", value=METHOD_URL.createAdvanceNoticeSendingList) - public ModelAndView createAdvanceNoticeSendingList(SndbQuery req, Sndng sndng) { - boolean saved = false; - String rtnMsg = sndngService.createAdvntceSndngList(req, sndng); - - if (rtnMsg.contains("[S]")) { - saved = true; - } else { - saved = false; - } - - return new ModelAndView("jsonView") - .addObject("saved", saved) - .addObject("rtnMsg", rtnMsg); - } - - /**사전통지 발송 현황 메인화면(sndb/sndb01/070-main)을 연다. - * - * @return /sndb/sndb01/070-main - */ - @RequestMapping(name = "사전통지 발송 현황 메인", value = METHOD_URL.advanceNoticeSendingMain) - public ModelAndView advanceNoticeSendingMain() { - ModelAndView mav = new ModelAndView("fims/sndb/sndb01070-main"); - - // 사용자 정보 - FimsUser fimsUser = (FimsUser)currentUser().getUser(); - - // View(jsp)에서 사용할 공통코드를 조회 - Map> commonCodes = getCodesOf("FIM054", "FIM067"); - - return mav - .addObject("pageName", "sndb01070") // View(jsp)에서 사용할 id 뒤에 붙일 suffix - .addObject("infoPrefix", "advntceSndng") // prefix - .addObject("infoPrefixUrl", CLASS_URL) // prefixUrl - .addObject("sggCd", fimsUser.getOrgID()) // 시군구 코드(SGG_CD) - .addObject("taskListForSgg", stngBean.filterTaskSectionCodeForSgg(commonCodes.get("FIM054"))) // 시군구에서 사용하는 업무 목록 - .addObject("FIM067List", commonCodes.get("FIM067")) // 발송 등록 구분 코드(SNDNG_REG_SE_CD) - ; - } - - /**사전통지 발송 현황 목록을 조회하여 반환한다. - * {@link SndngService#getSndngList(SndngQuery)} 참고 - * @param req 발송 대장 조회 조건 - * @return jsonView - *
     {
    -	 *     "sndngList": [사전통지 발송 현황 목록]
    -	 *     "sndngStart": 사전통지 발송 현황 목록 시작 인덱스
    -	 *     "sndngFetch": 한 번에 가져오는 사전통지 발송 현황 목록 수
    -	 *     "sndngTotal": 조회 결과 찾은 전체 사전통지 발송 현황 수
    -	 * }
    - */ - @Task - @RequestMapping(name="사전통지 발송 현황 목록 조회", value=METHOD_URL.getAdvanceNoticeSendingList) - public ModelAndView getAdvanceNoticeSendingList(SndbQuery req) { - if (!"xls".equals(req.getDownload())) { - List result = sndngService.getAdvntceSndngList(setFetchSize(req)); - return setCollectionInfo(new ModelAndView("jsonView"), result, "advntceSndng"); - } else { - // 현재 날짜 구하기 - SimpleDateFormat dateFormat = new SimpleDateFormat("yyyyMMddHHmmss"); - String dateTime = dateFormat.format(System.currentTimeMillis()); - - List cellDefs = fromJson(req.getCellDefs(), CellDef.listType()); - - XLSWriter xlsx = new XLSWriter().worksheet(0); - Format format = new Format(xlsx); - CellStyle center = format.cellStyle(Style.CENTER); - CellStyle numeric = format.n_nn0(); - CellStyle dateYMD = format.yyyy_mm_dd(); - CellStyle dateDT = format.yyyy_mm_dd_hh_mm_ss(); - - List list = sndngService.getAdvntceSndngList(req.setFetchSize(0)); - - Map valueMap = new HashMap(); - valueMap.put("업무구분", format.of("TASK_SE_NM").style(center)); - valueMap.put("등록구분", format.of("SNDNG_REG_SE_NM").style(center)); - valueMap.put("위반항목", format.of("VLTN_ARTCL")); - valueMap.put("발송일자", FormatMaker.yyyy_mm_dd(format, "SNDNG_YMD").style(dateYMD)); - valueMap.put("납기일자", FormatMaker.yyyy_mm_dd(format, "SNDNG_END_YMD").style(dateYMD)); - valueMap.put("총건수", format.of("TNOCS").style(numeric)); - valueMap.put("총금액", format.of("GRAMT").style(numeric)); - valueMap.put("문서번호", format.of("DOC_NO")); - valueMap.put("제목", format.of("TTL_NM")); - valueMap.put("등록일시", FormatMaker.yyyy_mm_dd_hh_mm_ss(format, "REG_DT").style(dateDT)); - valueMap.put("등록사용자", format.of("RGTR_NM").style(center)); - valueMap.put("수정일시", FormatMaker.yyyy_mm_dd_hh_mm_ss(format, "MDFCN_DT").style(dateDT)); - valueMap.put("수정사용자", format.of("MDFR_NM").style(center)); - - CellDef.setValues(cellDefs, valueMap); - - xlsx.cell(0, 0).value("사전통지 발송 현황").value(center).merge(0, cellDefs.size() - 1) - .cell(3, 0).rowValues(CellDef.header(cellDefs, () -> StyleMaker.headerStyle(xlsx))) - .cell(4, 0).values(list, CellDef.values(cellDefs.stream().map(i -> {if(i.getValue() instanceof Format) {i.setField(null);}; return i;}).toList())); - - return new ModelAndView("downloadView") - .addObject("download", xlsx.getDownloadable().setFilename("사전통지발송현황" + "_목록_" + dateTime + ".xlsx")); - } - } - - /**사전통지 발송 현황 - 발송상세 화면(sndb/sndb01/080-info)을 연다. - * @param sndngId 발송 ID - * @return fims/sndb/sndb01080-info 또는 jsonView - *
    {
    -	 *     "sndngDtls": [사전통지 발송 상세 목록]
    -	 * }
    - */ - @Task - @RequestMapping(name="사전통지 발송 현황 상세 화면", value=METHOD_URL.getAdvanceNoticeSendingDetailInfo) - public ModelAndView getAdvanceNoticeSendingDetailInfo(HttpServletRequest hReq, SndbQuery req) { - ModelAndView mav = getAdvanceNoticeSendingDetailList(req); - - mav.setViewName("fims/sndb/sndb01080-info"); - - return mav - .addObject("openerPageName", hReq.getParameter("openerPageName")) // 호출한 Jsp PageName - .addObject("callPurpose", req.getCallPurpose()) // 호출 용도 - .addObject("pageName", "sndb01080") // View(jsp)에서 사용할 id 뒤에 붙일 suffix - .addObject("infoPrefix", "advntceSndngDtl") // prefix - .addObject("infoPrefixUrl", CLASS_URL) // prefixUrl - .addObject("sggCd", req.getSggCd()) // 시군구 코드(SGG_CD) - .addObject("taskSeCd", req.getTaskSeCd()) // 업무 구분 코드(TASK_SE_CD) - .addObject("sndngId", req.getSndngId()) // 발송 ID(SNDNG_ID) - .addObject("advntceSndngDtlList", toJson(mav.getModel().get("advntceSndngDtlList"))) // 자료 - ; - } - - /**사전통지 발송 현황 - 발송상세 목록을 조회하여 반환한다. - * {@link SndngService#getSndngList(SndngQuery)} 참고 - * @param req 발송 대장 조회 조건 - * @return jsonView - *
     {
    -	 *     "sndngDtlList": [발송상세 목록]
    -	 *     "sndngDtlStart": 발송상세 목록 시작 인덱스
    -	 *     "sndngDtlFetch": 한 번에 가져오는 발송상세 목록 수
    -	 *     "sndngDtlTotal": 조회 결과 찾은 전체 발송상세 수
    -	 * }
    - */ - @Task - @RequestMapping(name="사전통지 발송 현황 상세 목록 조회", value=METHOD_URL.getAdvanceNoticeSendingDetailList) - public ModelAndView getAdvanceNoticeSendingDetailList(SndbQuery req) { - if (!"xls".equals(req.getDownload())) { - List result = sndngDtlService.getSndngDtlList(setFetchSize(req)); - return setCollectionInfo(new ModelAndView("jsonView"), result, "advntceSndngDtl"); - } else { - // 현재 날짜 구하기 - SimpleDateFormat dateFormat = new SimpleDateFormat("yyyyMMddHHmmss"); - String dateTime = dateFormat.format(System.currentTimeMillis()); - - List cellDefs = fromJson(req.getCellDefs(), CellDef.listType()); - - XLSWriter xlsx = new XLSWriter().worksheet(0); - Format format = new Format(xlsx); - CellStyle center = format.cellStyle(Style.CENTER); - CellStyle numeric = format.n_nn0(); - CellStyle dateYMD = format.yyyy_mm_dd(); - CellStyle dateDT = format.yyyy_mm_dd_hh_mm_ss(); - - List list = sndngDtlService.getSndngDtlList(req.setFetchSize(0)); - - Map valueMap = new HashMap(); - valueMap.put("발송상태", format.of("SNDNG_DTL_STTS_NM").style(center)); - valueMap.put("등기번호", format.of("RG_NO").style(center)); - valueMap.put("발송일자", FormatMaker.yyyy_mm_dd(format, "SNDNG_YMD").style(dateYMD)); - valueMap.put("발송종료일자", FormatMaker.yyyy_mm_dd(format, "SNDNG_END_YMD").style(dateYMD)); - valueMap.put("성명", format.of("RCPN_NM")); - valueMap.put("우편번호", format.of("RCPN_ZIP").style(center)); - valueMap.put("주소", format.of("RCPN_ADDR")); - valueMap.put("상세주소", format.of("RCPN_DTL_ADDR")); - valueMap.put("배달일자", FormatMaker.yyyy_mm_dd(format, "DLVR_YMD").style(dateYMD)); - valueMap.put("배달시각", format.of("DLVR_TM").style(center)); - valueMap.put("미배달사유", format.of("UNDLVR_RSN_NM")); - valueMap.put("수령인", format.of("ACTL_RCPN_NM")); - valueMap.put("수령인관계", format.of("RCPN_REL_NM")); - valueMap.put("단속일시", format.of("CRDN_DT").style(center)); - valueMap.put("차량번호", format.of("VHRNO")); - valueMap.put("단속법정동", format.of("CRDN_STDG_NM")); - valueMap.put("단속장소", format.of("CRDN_PLC")); - valueMap.put("회계연도", format.of("FYR").style(center)); - valueMap.put("부과번호", format.of("LEVY_NO").style(center)); - valueMap.put("부과일자", FormatMaker.yyyy_mm_dd(format, "LEVY_YMD").style(dateYMD)); - valueMap.put("납기일자", FormatMaker.yyyy_mm_dd(format, "DUDT_YMD").style(dateYMD)); - valueMap.put("과태료금액", format.of("FFNLG_AMT").style(numeric)); - valueMap.put("본세", format.of("PCPTAX").style(numeric)); - valueMap.put("가산금", format.of("ADAMT").style(numeric)); - valueMap.put("미납금액", format.of("SUM_AMT").style(numeric)); - valueMap.put("등록일시", FormatMaker.yyyy_mm_dd_hh_mm_ss(format, "REG_DT").style(dateDT)); - valueMap.put("등록사용자", format.of("RGTR_NM").style(center)); - valueMap.put("수정일시", FormatMaker.yyyy_mm_dd_hh_mm_ss(format, "MDFCN_DT").style(dateDT)); - valueMap.put("수정사용자", format.of("MDFR_NM").style(center)); - - CellDef.setValues(cellDefs, valueMap); - - xlsx.cell(0, 0).value("사전통지 발송 상세").value(center).merge(0, cellDefs.size() - 1) - .cell(3, 0).rowValues(CellDef.header(cellDefs, () -> StyleMaker.headerStyle(xlsx))) - .cell(4, 0).values(list, CellDef.values(cellDefs.stream().map(i -> {if(i.getValue() instanceof Format) {i.setField(null);}; return i;}).toList())); - - return new ModelAndView("downloadView") - .addObject("download", xlsx.getDownloadable().setFilename("사전통지발송상세" + "_목록_" + dateTime + ".xlsx")); - } - } - - /**고지서 발송 대상 자료 메인화면(sndb/sndb01/090-main)을 연다. - * @return /sndb/sndb01/090-main - */ - @RequestMapping(name = "고지서 발송 대상 메인", value = METHOD_URL.noticeSheetTargetMain) - public ModelAndView noticeSheetTargetMain() { - ModelAndView mav = new ModelAndView("fims/sndb/sndb01090-main"); - - // 사용자 정보 - FimsUser fimsUser = (FimsUser)currentUser().getUser(); - - // View(jsp)에서 사용할 공통코드를 조회 - Map> commonCodes = getCodesOf("FIM004", "FIM005", "FIM006", "FIM054", "FIM061", "FIM064"); - - addCodes(commonCodes, mav, "FIM004", "FIM005", "FIM006", "FIM061", "FIM064"); - - return mav - .addObject("pageName", "sndb01090") // View(jsp)에서 사용할 id 뒤에 붙일 suffix - .addObject("infoPrefix", "nhtTrgt") // prefix - .addObject("infoPrefixUrl", CLASS_URL) // prefixUrl - .addObject("sggCd", fimsUser.getOrgID()) // 시군구 코드(SGG_CD) - .addObject("taskListForSgg", stngBean.filterTaskSectionCodeForSgg(commonCodes.get("FIM054"))) // 시군구에서 사용하는 업무 목록 - .addObject("FIM004List", commonCodes.get("FIM004")) // 주정차위반 내역 코드(VLTN_CD) - .addObject("FIM005List", commonCodes.get("FIM005")) // 전용차로위반 내역 코드(VLTN_CD) - .addObject("FIM006List", commonCodes.get("FIM006")) // 장애인주차위반 내역 코드(VLTN_CD) - .addObject("FIM061List", commonCodes.get("FIM061")) // 전기차 충전구역 및 충전방해 위반 코드(VLTN_CD) - .addObject("FIM064List", commonCodes.get("FIM064")) // 화물자동차 밤샘주차 위반 코드(VLTN_CD) - ; - } - - /**고지서 발송 대상 목록을 조회하여 반환한다. - * {@link SndngService#getSndngList(SndngQuery)} 참고 - * @param req 발송 대장 조회 조건 - * @return jsonView - *
     {
    -	 *     "sndngList": [사전통지 발송 대상 목록]
    -	 *     "sndngStart": 사전통지 발송 대상 목록 시작 인덱스
    -	 *     "sndngFetch": 한 번에 가져오는 사전통지 발송 대상 목록 수
    -	 *     "sndngTotal": 조회 결과 찾은 전체 사전통지 발송 대상 수
    -	 * }
    - */ - @Task - @RequestMapping(name="고지서 발송 대상 목록 조회", value=METHOD_URL.getNoticeSheetTargetList) - public ModelAndView getNoticeSheetTargetList(SndbQuery req) { - if (!"xls".equals(req.getDownload())) { - List result = sndngService.getNhtTrgtList(setFetchSize(req)); - return setCollectionInfo(new ModelAndView("jsonView"), result, "nhtTrgt"); - } else { - // 현재 날짜 구하기 - SimpleDateFormat dateFormat = new SimpleDateFormat("yyyyMMddHHmmss"); - String dateTime = dateFormat.format(System.currentTimeMillis()); - - List cellDefs = fromJson(req.getCellDefs(), CellDef.listType()); - - XLSWriter xlsx = new XLSWriter().worksheet(0); - Format format = new Format(xlsx); - CellStyle center = format.cellStyle(Style.CENTER); - CellStyle numeric = format.n_nn0(); - CellStyle dateYMD = format.yyyy_mm_dd(); - CellStyle dateDT = format.yyyy_mm_dd_hh_mm_ss(); - - List list = sndngService.getNhtTrgtList(req.setFetchSize(0)); - - Map valueMap = new HashMap(); - valueMap.put("업무구분", format.of("TASK_SE_NM").style(center)); - valueMap.put("민원신청번호", format.of("CVLCPT_APLY_NO").style(center)); - valueMap.put("민원접수번호", format.of("CVLCPT_RCPT_NO").style(center)); - valueMap.put("민원접수일자", FormatMaker.yyyy_mm_dd(format, "CVLCPT_RCPT_YMD").style(dateYMD)); - valueMap.put("민원처리담당자", format.of("CVLCPT_PRCS_PIC_NM").style(center)); - valueMap.put("민원처리결과", format.of("CVLCPT_PRCS_NM").style(center)); - valueMap.put("단속일시", FormatMaker.yyyy_mm_dd_hh_mm_ss(format, "CRDN_YMD_TM").style(dateDT)); - valueMap.put("차량번호", format.of("VHRNO")); - valueMap.put("위반항목", format.of("VLTN_ARTCL")); - valueMap.put("단속법정동", format.of("CRDN_STDG_NM")); - valueMap.put("단속장소", format.of("CRDN_PLC")); - valueMap.put("상세단속장소", format.of("DTL_CRDN_PLC")); - valueMap.put("과태료금액", format.of("FFNLG_AMT").style(numeric)); - valueMap.put("사전통지금액", format.of("ADVNTCE_AMT").style(numeric)); - valueMap.put("처리상태", format.of("CRDN_STTS_NM")); - valueMap.put("납부자명", format.of("RTPYR_NM")); - valueMap.put("납부자생일", format.of("RTPYR_BRDT_MASK").style(center)); - valueMap.put("우편번호", format.of("ZIP").style(center)); - valueMap.put("주소", format.of("ADDR")); - valueMap.put("상세주소", format.of("DTL_ADDR")); - valueMap.put("단속특별구역", format.of("CRDN_SPAREA_NM").style(center)); - valueMap.put("사용연료", format.of("USE_FUEL_NM").style(center)); - valueMap.put("주차가능여부", format.of("PRK_PSBLTY_RSLT_NM").style(center)); - valueMap.put("등록일시", FormatMaker.yyyy_mm_dd_hh_mm_ss(format, "REG_DT").style(dateDT)); - valueMap.put("등록사용자", format.of("RGTR_NM").style(center)); - valueMap.put("수정일시", FormatMaker.yyyy_mm_dd_hh_mm_ss(format, "MDFCN_DT").style(dateDT)); - valueMap.put("수정사용자", format.of("MDFR_NM").style(center)); - - CellDef.setValues(cellDefs, valueMap); - - xlsx.cell(0, 0).value("사전통지 발송 대상").value(center).merge(0, cellDefs.size() - 1) - .cell(3, 0).rowValues(CellDef.header(cellDefs, () -> StyleMaker.headerStyle(xlsx))) - .cell(4, 0).values(list, CellDef.values(cellDefs.stream().map(i -> {if(i.getValue() instanceof Format) {i.setField(null);}; return i;}).toList())); - - return new ModelAndView("downloadView") - .addObject("download", xlsx.getDownloadable().setFilename("사전통지발송대상" + "_목록_" + dateTime + ".xlsx")); - } - } - - /**고지서 발송 대상 현황 - 발송 대상 상세 화면(sndb/sndb01/100-info)을 연다. - * @param sndngId 발송 ID - * @return fims/sndb/sndb01100-info 또는 jsonView - *
    {
    -	 *     "sndngDtls": [고지서 발송 대상 상세 목록]
    -	 * }
    - */ - @Task - @RequestMapping(name="고지서 발송 대상 상세 화면", value=METHOD_URL.getNoticeSheetTargetInfo) - public ModelAndView getNoticeSheetTargetInfo(HttpServletRequest hReq, SndbQuery req) { - ModelAndView mav = new ModelAndView("fims/sndb/sndb01100-info"); - - // View(jsp)에서 사용할 공통코드를 조회 - Map> commonCodes = getCodesOf("FIM004", "FIM005", "FIM006", "FIM047", "FIM061", "FIM064"); - - addCodes(commonCodes, mav, "FIM004", "FIM005", "FIM006", "FIM061", "FIM064", "FIM047"); - - return mav - .addObject("openerPageName", hReq.getParameter("openerPageName")) // 호출한 Jsp PageName - .addObject("callPurpose", req.getCallPurpose()) // 호출 용도 - .addObject("pageName", "sndb01100") // View(jsp)에서 사용할 id 뒤에 붙일 suffix - .addObject("infoPrefix", "nhtTrgt") // prefix - .addObject("infoPrefixUrl", CLASS_URL) // prefixUrl - .addObject("sggCd", req.getSggCd()) // 시군구 코드(SGG_CD) - .addObject("taskSeCd", req.getTaskSeCd()) // 업무 구분 코드(TASK_SE_CD) - .addObject("FIM047List", commonCodes.get("FIM047")) // 발송 구분 코드(SNDNG_SE_CD) - ; - } - - /**고지서 발송 대상을 등록한다. - * @param sndng 발송 정보 - * @return jsonView - *
     {
    -	 *     "saved": 등록되었으면 true, 그렇지 않으면 false
    -	 * }
    - */ - @Task - @RequestMapping(name="고지서 발송 대장 등록", value=METHOD_URL.createNoticeSheetSendingList) - public ModelAndView createNoticeSheetSendingList(SndbQuery req, Sndng sndng) { - boolean saved = false; - String rtnMsg = sndngService.createNhtSndngList(req, sndng); - - if (rtnMsg.contains("[S]")) { - saved = true; - } else { - saved = false; - } - - return new ModelAndView("jsonView") - .addObject("saved", saved) - .addObject("rtnMsg", rtnMsg); - } - - /**지정한 부과제외 ID에 해당하는 부과제외 대장를 제거한다. - * @param levyExclID 부과제외 대장 아이디 - * @return jsonView - *
     {
    -	 *     "affected": 저장된 정보수
    -	 *     "saved": 저장되었으면 true, 그렇지 않으면 false
    -	 * }
    - */ - @Task - @RequestMapping(name="고지서 발송 대장 삭제", value=METHOD_URL.removeNoticeSheetSending) - public ModelAndView removeNoticeSheetSending(Sndng sndng) { - boolean saved = false; - String rtnMsg = ""; - - // 발송(sndngId) 단건 삭제 - if (sndng.getSndngIds() == null || sndng.getSndngIds().length < 1) { - rtnMsg = sndngService.removeSndng(sndng); - } else { - // 발송 Ids 만큼 삭제 반복.. - for (String sndngId : sndng.getSndngIds()) { - Sndng deltSndng = new Sndng(); - deltSndng.setSndngId(sndngId); - deltSndng.setDelRsn(sndng.getDelRsn()); - - // 발송 삭제 호출 - rtnMsg = sndngService.removeSndng(deltSndng); - if (!rtnMsg.contains("[S]")) // 오류가 발생하였으면 종료.. - break; - } - } - - if (rtnMsg.contains("[S]")) { - saved = true; - } else { - saved = false; - } - - return new ModelAndView("jsonView") - .addObject("saved", saved) - .addObject("rtnMsg", rtnMsg); - } - - /**고지서 발송 현황 메인화면(sndb/sndb01/110-main)을 연다. - * - * @return /sndb/sndb01/110-main - */ - @RequestMapping(name = "고지서 발송 현황 메인", value = METHOD_URL.noticeSheetSendingMain) - public ModelAndView noticeSheetSendingMain() { - ModelAndView mav = new ModelAndView("fims/sndb/sndb01110-main"); - - // 사용자 정보 - FimsUser fimsUser = (FimsUser)currentUser().getUser(); - - // View(jsp)에서 사용할 공통코드를 조회 - Map> commonCodes = getCodesOf("FIM047", "FIM054", "FIM067"); - - addCodes(commonCodes, mav, "FIM047"); - - return mav - .addObject("pageName", "sndb01110") // View(jsp)에서 사용할 id 뒤에 붙일 suffix - .addObject("infoPrefix", "nhtSndng") // prefix - .addObject("infoPrefixUrl", CLASS_URL) // prefixUrl - .addObject("sggCd", fimsUser.getOrgID()) // 시군구 코드(SGG_CD) - .addObject("taskListForSgg", stngBean.filterTaskSectionCodeForSgg(commonCodes.get("FIM054"))) // 시군구에서 사용하는 업무 목록 - .addObject("FIM047List", commonCodes.get("FIM047")) // 발송 구분 코드(SNDNG_SE_CD) - .addObject("FIM067List", commonCodes.get("FIM067")) // 발송 등록 구분 코드(SNDNG_REG_SE_CD) - ; - } - - /**고지서 발송 현황 목록을 조회하여 반환한다. - * {@link SndngService#getSndngList(SndngQuery)} 참고 - * @param req 발송 대장 조회 조건 - * @return jsonView - *
     {
    -	 *     "sndngList": [고지서 발송 현황 목록]
    -	 *     "sndngStart": 고지서 발송 현황 목록 시작 인덱스
    -	 *     "sndngFetch": 한 번에 가져오는 고지서 발송 현황 목록 수
    -	 *     "sndngTotal": 조회 결과 찾은 전체 고지서 발송 현황 수
    -	 * }
    - */ - @Task - @RequestMapping(name="고지서 발송 현황 목록 조회", value=METHOD_URL.getNoticeSheetSendingList) - public ModelAndView getNoticeSheetSendingList(SndbQuery req) { - if (!"xls".equals(req.getDownload())) { - List result = sndngService.getSndngList(setFetchSize(req)); - return setCollectionInfo(new ModelAndView("jsonView"), result, "nhtSndng"); - } else { - // 현재 날짜 구하기 - SimpleDateFormat dateFormat = new SimpleDateFormat("yyyyMMddHHmmss"); - String dateTime = dateFormat.format(System.currentTimeMillis()); - - List cellDefs = fromJson(req.getCellDefs(), CellDef.listType()); - - XLSWriter xlsx = new XLSWriter().worksheet(0); - Format format = new Format(xlsx); - CellStyle center = format.cellStyle(Style.CENTER); - CellStyle numeric = format.n_nn0(); - CellStyle dateYMD = format.yyyy_mm_dd(); - CellStyle dateDT = format.yyyy_mm_dd_hh_mm_ss(); - - List list = sndngService.getSndngList(req.setFetchSize(0)); - - Map valueMap = new HashMap(); - valueMap.put("업무구분", format.of("TASK_SE_NM").style(center)); - valueMap.put("등록구분", format.of("SNDNG_REG_SE_NM").style(center)); - valueMap.put("위반항목", format.of("VLTN_ARTCL")); - valueMap.put("발송일자", FormatMaker.yyyy_mm_dd(format, "SNDNG_YMD").style(dateYMD)); - valueMap.put("납기일자", FormatMaker.yyyy_mm_dd(format, "SNDNG_END_YMD").style(dateYMD)); - valueMap.put("총건수", format.of("TNOCS").style(numeric)); - valueMap.put("총금액", format.of("GRAMT").style(numeric)); - valueMap.put("문서번호", format.of("DOC_NO")); - valueMap.put("제목", format.of("TTL_NM")); - valueMap.put("등록일시", FormatMaker.yyyy_mm_dd_hh_mm_ss(format, "REG_DT").style(dateDT)); - valueMap.put("등록사용자", format.of("RGTR_NM").style(center)); - valueMap.put("수정일시", FormatMaker.yyyy_mm_dd_hh_mm_ss(format, "MDFCN_DT").style(dateDT)); - valueMap.put("수정사용자", format.of("MDFR_NM").style(center)); - - CellDef.setValues(cellDefs, valueMap); - - xlsx.cell(0, 0).value("고지서 발송 현황").value(center).merge(0, cellDefs.size() - 1) - .cell(3, 0).rowValues(CellDef.header(cellDefs, () -> StyleMaker.headerStyle(xlsx))) - .cell(4, 0).values(list, CellDef.values(cellDefs.stream().map(i -> {if(i.getValue() instanceof Format) {i.setField(null);}; return i;}).toList())); - - return new ModelAndView("downloadView") - .addObject("download", xlsx.getDownloadable().setFilename("고지서발송현황" + "_목록_" + dateTime + ".xlsx")); - } - } - - /**고지서 발송 현황 - 발송상세 화면(sndb/sndb01/120-info)을 연다. - * @param sndngId 발송 ID - * @return fims/sndb/sndb01120-info 또는 jsonView - *
    {
    -	 *     "sndngDtls": [고지서 발송 상세 목록]
    -	 * }
    - */ - @Task - @RequestMapping(name="고지서 발송 현황 상세 화면", value=METHOD_URL.getNoticeSheetSendingDetailInfo) - public ModelAndView getNoticeSheetSendingDetailInfo(HttpServletRequest hReq, SndbQuery req) { - ModelAndView mav = getNoticeSheetSendingDetailList(req); - - mav.setViewName("fims/sndb/sndb01120-info"); - - return mav - .addObject("openerPageName", hReq.getParameter("openerPageName")) // 호출한 Jsp PageName - .addObject("callPurpose", req.getCallPurpose()) // 호출 용도 - .addObject("pageName", "sndb01120") // View(jsp)에서 사용할 id 뒤에 붙일 suffix - .addObject("infoPrefix", "nhtSndngDtl") // prefix - .addObject("infoPrefixUrl", CLASS_URL) // prefixUrl - .addObject("sggCd", req.getSggCd()) // 시군구 코드(SGG_CD) - .addObject("taskSeCd", req.getTaskSeCd()) // 업무 구분 코드(TASK_SE_CD) - .addObject("sndngId", req.getSndngId()) // 발송 ID(SNDNG_ID) - .addObject("nhtSndngDtlList", toJson(mav.getModel().get("nhtSndngDtlList"))) // 자료 - ; - } - - /**고지서 발송 현황 - 발송상세 목록을 조회하여 반환한다. - * {@link SndngService#getSndngList(SndngQuery)} 참고 - * @param req 발송 대장 조회 조건 - * @return jsonView - *
     {
    -	 *     "sndngDtlList": [발송상세 목록]
    -	 *     "sndngDtlStart": 발송상세 목록 시작 인덱스
    -	 *     "sndngDtlFetch": 한 번에 가져오는 발송상세 목록 수
    -	 *     "sndngDtlTotal": 조회 결과 찾은 전체 발송상세 수
    -	 * }
    - */ - @Task - @RequestMapping(name="고지서 발송 현황 상세 목록 조회", value=METHOD_URL.getNoticeSheetSendingDetailList) - public ModelAndView getNoticeSheetSendingDetailList(SndbQuery req) { - if (!"xls".equals(req.getDownload())) { - List result = sndngDtlService.getSndngDtlList(setFetchSize(req)); - return setCollectionInfo(new ModelAndView("jsonView"), result, "nhtSndngDtl"); - } else { - // 현재 날짜 구하기 - SimpleDateFormat dateFormat = new SimpleDateFormat("yyyyMMddHHmmss"); - String dateTime = dateFormat.format(System.currentTimeMillis()); - - List cellDefs = fromJson(req.getCellDefs(), CellDef.listType()); - - XLSWriter xlsx = new XLSWriter().worksheet(0); - Format format = new Format(xlsx); - CellStyle center = format.cellStyle(Style.CENTER); - CellStyle numeric = format.n_nn0(); - CellStyle dateYMD = format.yyyy_mm_dd(); - CellStyle dateDT = format.yyyy_mm_dd_hh_mm_ss(); - - List list = sndngDtlService.getSndngDtlList(req.setFetchSize(0)); - - Map valueMap = new HashMap(); - valueMap.put("발송상태", format.of("SNDNG_DTL_STTS_NM").style(center)); - valueMap.put("등기번호", format.of("RG_NO").style(center)); - valueMap.put("발송일자", FormatMaker.yyyy_mm_dd(format, "SNDNG_YMD").style(dateYMD)); - valueMap.put("발송종료일자", FormatMaker.yyyy_mm_dd(format, "SNDNG_END_YMD").style(dateYMD)); - valueMap.put("성명", format.of("RCPN_NM")); - valueMap.put("우편번호", format.of("RCPN_ZIP").style(center)); - valueMap.put("주소", format.of("RCPN_ADDR")); - valueMap.put("상세주소", format.of("RCPN_DTL_ADDR")); - valueMap.put("배달일자", FormatMaker.yyyy_mm_dd(format, "DLVR_YMD").style(dateYMD)); - valueMap.put("배달시각", format.of("DLVR_TM").style(center)); - valueMap.put("미배달사유", format.of("UNDLVR_RSN_NM")); - valueMap.put("수령인", format.of("ACTL_RCPN_NM")); - valueMap.put("수령인관계", format.of("RCPN_REL_NM")); - valueMap.put("단속일시", format.of("CRDN_DT").style(center)); - valueMap.put("차량번호", format.of("VHRNO")); - valueMap.put("단속법정동", format.of("CRDN_STDG_NM")); - valueMap.put("단속장소", format.of("CRDN_PLC")); - valueMap.put("회계연도", format.of("FYR").style(center)); - valueMap.put("부과번호", format.of("LEVY_NO").style(center)); - valueMap.put("부과일자", FormatMaker.yyyy_mm_dd(format, "LEVY_YMD").style(dateYMD)); - valueMap.put("납기일자", FormatMaker.yyyy_mm_dd(format, "DUDT_YMD").style(dateYMD)); - valueMap.put("과태료금액", format.of("FFNLG_AMT").style(numeric)); - valueMap.put("본세", format.of("PCPTAX").style(numeric)); - valueMap.put("가산금", format.of("ADAMT").style(numeric)); - valueMap.put("미납금액", format.of("SUM_AMT").style(numeric)); - valueMap.put("등록일시", FormatMaker.yyyy_mm_dd_hh_mm_ss(format, "REG_DT").style(dateDT)); - valueMap.put("등록사용자", format.of("RGTR_NM").style(center)); - valueMap.put("수정일시", FormatMaker.yyyy_mm_dd_hh_mm_ss(format, "MDFCN_DT").style(dateDT)); - valueMap.put("수정사용자", format.of("MDFR_NM").style(center)); - - CellDef.setValues(cellDefs, valueMap); - - xlsx.cell(0, 0).value("고지서 발송 상세").value(center).merge(0, cellDefs.size() - 1) - .cell(3, 0).rowValues(CellDef.header(cellDefs, () -> StyleMaker.headerStyle(xlsx))) - .cell(4, 0).values(list, CellDef.values(cellDefs.stream().map(i -> {if(i.getValue() instanceof Format) {i.setField(null);}; return i;}).toList())); - - return new ModelAndView("downloadView") - .addObject("download", xlsx.getDownloadable().setFilename("고지서발송상세" + "_목록_" + dateTime + ".xlsx")); - } - } - - /**우편통합 발송 대상을 등록한다. - * @param sndng 발송 정보 - * @return jsonView - *
     {
    -	 *     "saved": 등록되었으면 true, 그렇지 않으면 false
    -	 * }
    - */ - @Task - @RequestMapping(name="우편통합 발송 연계 등록", value=METHOD_URL.createSendingLink) - public ModelAndView createSendingLink(Sndng sndng) { - boolean saved = false; - String rtnMsg = sndngService.createSndngLink(sndng); - - if (rtnMsg.contains("[S]")) { - saved = true; - } else { - saved = false; - } - - return new ModelAndView("jsonView") - .addObject("saved", saved) - .addObject("rtnMsg", rtnMsg); - } - - /**수기 반송 등록 정보(sndb/sndb01/210-info)을 연다. - * - * @return /sndb/sndb01/210-info - */ - @Task - @RequestMapping(name = "수기 반송 등록 정보 조회", value = METHOD_URL.sendingDetailInfo) - public ModelAndView sendingDetailInfo(HttpServletRequest hReq, SndbQuery req) { - ModelAndView mav = new ModelAndView("fims/sndb/sndb01210-info"); - - // View(jsp)에서 사용할 공통코드를 조회 - Map> commonCodes = getCodesOf("FIM047", "FIM054", "FIM081"); - - return mav - .addObject("openerPageName", hReq.getParameter("openerPageName")) // 호출한 Jsp PageName - .addObject("callPurpose", req.getCallPurpose()) // 호출 용도 - .addObject("pageName", "sndb01210") // View(jsp)에서 사용할 id 뒤에 붙일 suffix - .addObject("infoPrefix", "sndbkTrgt") // prefix - .addObject("infoPrefixUrl", CLASS_URL) // prefixUrl - .addObject("sggCd", req.getSggCd()) // 시군구 코드(SGG_CD) - .addObject("taskSeCd", req.getTaskSeCd()) // 업무 구분 코드(TASK_SE_CD) - .addObject("FIM047List", commonCodes.get("FIM047")) // 발송 구분 코드(SNDNG_SE_CD) - .addObject("FIM081List", commonCodes.get("FIM081")) // 미배달 사유 코드(UNDLVR_RSN_CD) - ; - } - - /**발송 상세 대장 목록을 조회하여 반환한다 - * {@link SndngService#getSndngList(SndngQuery)} 참고 - * @param req 발송 대장 조회 조건 - * @return jsonView - *
     {
    -	 *     "sndngDtlList": [발송상세 목록]
    -	 *     "sndngDtlStart": 발송상세 목록 시작 인덱스
    -	 *     "sndngDtlFetch": 한 번에 가져오는 발송상세 목록 수
    -	 *     "sndngDtlTotal": 조회 결과 찾은 전체 발송상세 수
    -	 * }
    - */ - @Task - @RequestMapping(name="반송 대상 목록 조회", value=METHOD_URL.getSendingDetailList) - public ModelAndView getSendingDetailList(SndbQuery req) { - if (!"xls".equals(req.getDownload())) { - List result = sndngDtlService.getSndngDtlList(setFetchSize(req)); - return setCollectionInfo(new ModelAndView("jsonView"), result, "sndbkTrgt"); - } else { - // 현재 날짜 구하기 - SimpleDateFormat dateFormat = new SimpleDateFormat("yyyyMMddHHmmss"); - String dateTime = dateFormat.format(System.currentTimeMillis()); - - List cellDefs = fromJson(req.getCellDefs(), CellDef.listType()); - - XLSWriter xlsx = new XLSWriter().worksheet(0); - Format format = new Format(xlsx); - CellStyle center = format.cellStyle(Style.CENTER); - CellStyle numeric = format.n_nn0(); - CellStyle dateYMD = format.yyyy_mm_dd(); - CellStyle dateDT = format.yyyy_mm_dd_hh_mm_ss(); - - List list = sndngDtlService.getSndngDtlList(req.setFetchSize(0)); - - Map valueMap = new HashMap(); - valueMap.put("발송상태", format.of("SNDNG_DTL_STTS_NM").style(center)); - valueMap.put("등기번호", format.of("RG_NO").style(center)); - valueMap.put("발송일자", FormatMaker.yyyy_mm_dd(format, "SNDNG_YMD").style(dateYMD)); - valueMap.put("발송종료일자", FormatMaker.yyyy_mm_dd(format, "SNDNG_END_YMD").style(dateYMD)); - valueMap.put("성명", format.of("RCPN_NM")); - valueMap.put("우편번호", format.of("RCPN_ZIP").style(center)); - valueMap.put("주소", format.of("RCPN_ADDR")); - valueMap.put("상세주소", format.of("RCPN_DTL_ADDR")); - valueMap.put("배달일자", FormatMaker.yyyy_mm_dd(format, "DLVR_YMD").style(dateYMD)); - valueMap.put("배달시각", format.of("DLVR_TM").style(center)); - valueMap.put("미배달사유", format.of("UNDLVR_RSN_NM")); - valueMap.put("수령인", format.of("ACTL_RCPN_NM")); - valueMap.put("수령인관계", format.of("RCPN_REL_NM")); - valueMap.put("단속일시", format.of("CRDN_DT").style(center)); - valueMap.put("차량번호", format.of("VHRNO")); - valueMap.put("단속법정동", format.of("CRDN_STDG_NM")); - valueMap.put("단속장소", format.of("CRDN_PLC")); - valueMap.put("회계연도", format.of("FYR").style(center)); - valueMap.put("부과번호", format.of("LEVY_NO").style(center)); - valueMap.put("부과일자", FormatMaker.yyyy_mm_dd(format, "LEVY_YMD").style(dateYMD)); - valueMap.put("납기일자", FormatMaker.yyyy_mm_dd(format, "DUDT_YMD").style(dateYMD)); - valueMap.put("과태료금액", format.of("FFNLG_AMT").style(numeric)); - valueMap.put("본세", format.of("PCPTAX").style(numeric)); - valueMap.put("가산금", format.of("ADAMT").style(numeric)); - valueMap.put("미납금액", format.of("SUM_AMT").style(numeric)); - valueMap.put("등록일시", FormatMaker.yyyy_mm_dd_hh_mm_ss(format, "REG_DT").style(dateDT)); - valueMap.put("등록사용자", format.of("RGTR_NM").style(center)); - valueMap.put("수정일시", FormatMaker.yyyy_mm_dd_hh_mm_ss(format, "MDFCN_DT").style(dateDT)); - valueMap.put("수정사용자", format.of("MDFR_NM").style(center)); - - CellDef.setValues(cellDefs, valueMap); - - xlsx.cell(0, 0).value("사전통지 발송 상세").value(center).merge(0, cellDefs.size() - 1) - .cell(3, 0).rowValues(CellDef.header(cellDefs, () -> StyleMaker.headerStyle(xlsx))) - .cell(4, 0).values(list, CellDef.values(cellDefs.stream().map(i -> {if(i.getValue() instanceof Format) {i.setField(null);}; return i;}).toList())); - - return new ModelAndView("downloadView") - .addObject("download", xlsx.getDownloadable().setFilename("발송 상세" + "_목록_" + dateTime + ".xlsx")); - } - } - - /**발송상세 목록의 반송 정보를 등록한다. - * @param sndngDtl 발송상세 정보 - * @return jsonView - *
     {
    -	 *     "saved": 수정되었으면 true, 그렇지 않으면 false
    -	 * }
    - */ - @Task - @RequestMapping(name="발송상세 목록의 반송 정보 등록", value=METHOD_URL.createSendBackList) - public ModelAndView createSendBackList(SndbQuery req) { - boolean saved = false; - String rtnMsg = sndngDtlService.createSndbkList(req); - - if (rtnMsg.contains("[S]")) { - saved = true; - } else { - saved = false; - } - - return new ModelAndView("jsonView") - .addObject("saved", saved) - .addObject("rtnMsg", rtnMsg); - } - - /**발송상세 정보의 반송 정보를 등록한다. - * @param sndngDtl 발송상세 정보 - * @return jsonView - *
     {
    -	 *     "saved": 수정되었으면 true, 그렇지 않으면 false
    -	 * }
    - */ - @Task - @RequestMapping(name="발송상세의 반송 정보 등록", value=METHOD_URL.createSendBack) - public ModelAndView createSendBack(SndngDtl sndngDtl) { - boolean saved = false; - String rtnMsg = sndngDtlService.createSndbk(sndngDtl); - - if (rtnMsg.contains("[S]")) { - saved = true; - } else { - saved = false; - } - - return new ModelAndView("jsonView") - .addObject("saved", saved) - .addObject("rtnMsg", rtnMsg); - } - - /**발송상세 정보의 반송 정보를 수정한다. - * @param sndngDtl 발송상세 정보 - * @return jsonView - *
     {
    -	 *     "saved": 수정되었으면 true, 그렇지 않으면 false
    -	 * }
    - */ - @Task - @RequestMapping(name="발송상세의 반송 정보 수정", value=METHOD_URL.updateSendBack) - public ModelAndView updateSendBack(SndngDtl sndngDtl) { - boolean saved = false; - String rtnMsg = sndngDtlService.updateSndbk(sndngDtl); - - if (rtnMsg.contains("[S]")) { - saved = true; - } else { - saved = false; - } - - return new ModelAndView("jsonView") - .addObject("saved", saved) - .addObject("rtnMsg", rtnMsg); - } - - /**발송상세 정보의 반송 정보를 삭제한다. - * @param sndngDtl 발송상세 정보 - * @return jsonView - *
     {
    -	 *     "saved": 수정되었으면 true, 그렇지 않으면 false
    -	 * }
    - */ - @Task - @RequestMapping(name="발송상세의 반송 정보 삭제", value=METHOD_URL.removeSendBack) - public ModelAndView removeSendBack(SndngDtl sndngDtl) { - boolean saved = false; - String rtnMsg = sndngDtlService.removeSndbk(sndngDtl); - - if (rtnMsg.contains("[S]")) { - saved = true; - } else { - saved = false; - } - - return new ModelAndView("jsonView") - .addObject("saved", saved) - .addObject("rtnMsg", rtnMsg); - } - - /**반송 현황 메인화면(sndb/sndb01/220-main)을 연다. - * - * @return /sndb/sndb01/220-main - */ - @RequestMapping(name = "반송 현황 메인", value = METHOD_URL.sendBackMain) - public ModelAndView sendBackMain() { - ModelAndView mav = new ModelAndView("fims/sndb/sndb01220-main"); - - // 사용자 정보 - FimsUser fimsUser = (FimsUser)currentUser().getUser(); - - // View(jsp)에서 사용할 공통코드를 조회 - Map> commonCodes = getCodesOf("FIM004", "FIM005", "FIM006", "FIM047", "FIM054", "FIM061", "FIM064", "FIM081"); - - addCodes(commonCodes, mav, "FIM004", "FIM005", "FIM006", "FIM061", "FIM064"); - - return mav - .addObject("pageName", "sndb01220") // View(jsp)에서 사용할 id 뒤에 붙일 suffix - .addObject("infoPrefix", "sndbk") // prefix - .addObject("infoPrefixUrl", CLASS_URL) // prefixUrl - .addObject("sggCd", fimsUser.getOrgID()) // 시군구 코드(SGG_CD) - .addObject("taskListForSgg", stngBean.filterTaskSectionCodeForSgg(commonCodes.get("FIM054"))) // 시군구에서 사용하는 업무 목록 - .addObject("FIM004List", commonCodes.get("FIM004")) // 주정차위반 내역 코드(VLTN_ID) - .addObject("FIM005List", commonCodes.get("FIM005")) // 전용차로위반 내역 코드(VLTN_ID) - .addObject("FIM006List", commonCodes.get("FIM006")) // 장애인주차위반 내역 코드(VLTN_ID) - .addObject("FIM061List", commonCodes.get("FIM061")) // 전기차 충전구역 및 충전방해 위반 코드(VLTN_ID) - .addObject("FIM064List", commonCodes.get("FIM064")) // 화물자동차 밤샘주차 위반 코드(VLTN_ID) - .addObject("FIM047List", commonCodes.get("FIM047")) // 발송 구분 코드(SNDNG_SE_CD) - .addObject("FIM081List", commonCodes.get("FIM081")) // 미배달 사유 코드(UNDLVR_RSN_CD) - ; - } - - /**반송 현황 목록을 조회하여 반환한다. - * {@link SndngService#getSndngList(SndngQuery)} 참고 - * @param req 발송 대장 조회 조건 - * @return jsonView - *
     {
    -	 *     "sndngList": [반송 현황 목록]
    -	 *     "sndngStart": 반송 현황 목록 시작 인덱스
    -	 *     "sndngFetch": 한 번에 가져오는 반송 현황 목록 수
    -	 *     "sndngTotal": 조회 결과 찾은 전체 반송 현황 수
    -	 * }
    - */ - @Task - @RequestMapping(name="반송 목록 조회", value=METHOD_URL.getSendBackList) - public ModelAndView getSendBackList(SndbQuery req) { - if (!"xls".equals(req.getDownload())) { - List result = sndngDtlService.getSndbkList(setFetchSize(req)); - return setCollectionInfo(new ModelAndView("jsonView"), result, "sndbk"); - } else { - // 현재 날짜 구하기 - SimpleDateFormat dateFormat = new SimpleDateFormat("yyyyMMddHHmmss"); - String dateTime = dateFormat.format(System.currentTimeMillis()); - - List cellDefs = fromJson(req.getCellDefs(), CellDef.listType()); - - XLSWriter xlsx = new XLSWriter().worksheet(0); - Format format = new Format(xlsx); - CellStyle center = format.cellStyle(Style.CENTER); - CellStyle numeric = format.n_nn0(); - CellStyle dateYMD = format.yyyy_mm_dd(); - CellStyle dateDT = format.yyyy_mm_dd_hh_mm_ss(); - - List list = sndngDtlService.getSndbkList(req.setFetchSize(0)); - - Map valueMap = new HashMap(); - valueMap.put("업무구분", format.of("TASK_SE_NM").style(center)); - valueMap.put("고지번호", format.of("GOJI_NO").style(center)); - valueMap.put("등기번호", format.of("RG_NO").style(center)); - valueMap.put("배달일자", FormatMaker.yyyy_mm_dd(format, "DLVR_YMD").style(dateYMD)); - valueMap.put("배달시간", format.of("DLVR_TM")); - valueMap.put("미배달사유", format.of("UNDLVR_RSN_NM")); - valueMap.put("수령인", format.of("ACTL_RCPN_NM")); - valueMap.put("수령인관계", format.of("RCPN_REL_NM")); - valueMap.put("발송구분", format.of("SNDNG_SE_NM").style(center)); - valueMap.put("발송일자", FormatMaker.yyyy_mm_dd(format, "SNDNG_YMD").style(dateYMD)); - valueMap.put("과태료금액", format.of("FFNLG_AMT").style(numeric)); - valueMap.put("성명", format.of("RCPN_NM")); - valueMap.put("우편번호", format.of("RCPN_ZIP").style(center)); - valueMap.put("주소", format.of("RCPN_ADDR")); - valueMap.put("상세주소", format.of("RCPN_DTL_ADDR")); - valueMap.put("단속일시", FormatMaker.yyyy_mm_dd_hh_mm_ss(format, "CRDN_YMD_TM").style(dateDT)); - valueMap.put("차량번호", format.of("VHRNO")); - valueMap.put("납부자구분", format.of("RTPYR_SE_NM").style(center)); - valueMap.put("납부자번호", format.of("RTPYR_NO").style(center)); - valueMap.put("납부자명", format.of("RTPYR_NM")); - valueMap.put("단속법정동", format.of("CRDN_STDG_NM").style(center)); - valueMap.put("단속장소", format.of("CRDN_PLC")); - valueMap.put("처리상태", format.of("CRDN_STTS_NM")); - valueMap.put("등록일시", FormatMaker.yyyy_mm_dd_hh_mm_ss(format, "REG_DT").style(dateDT)); - valueMap.put("등록사용자", format.of("RGTR_NM").style(center)); - valueMap.put("수정일시", FormatMaker.yyyy_mm_dd_hh_mm_ss(format, "MDFCN_DT").style(dateDT)); - valueMap.put("수정사용자", format.of("MDFR_NM").style(center)); - - CellDef.setValues(cellDefs, valueMap); - - xlsx.cell(0, 0).value("반송현황").value(center).merge(0, cellDefs.size() - 1) - .cell(3, 0).rowValues(CellDef.header(cellDefs, () -> StyleMaker.headerStyle(xlsx))) - .cell(4, 0).values(list, CellDef.values(cellDefs.stream().map(i -> {if(i.getValue() instanceof Format) {i.setField(null);}; return i;}).toList())); - - return new ModelAndView("downloadView") - .addObject("download", xlsx.getDownloadable().setFilename("반송현황" + "_목록_" + dateTime + ".xlsx")); - } - } - - /**반송등록 (sndb/sndb01/230-info)을 연다. - * @param sndngId 발송 ID - * @return fims/sndb/sndb01230-info 또는 jsonView - *
    {
    -	 *     "sndngDtls":
    -	 * }
    - */ - @Task - @RequestMapping(name="발송상세의 반송(미배달) 정보 조회", value=METHOD_URL.getSendBackInfo) - public ModelAndView getSendBackInfo(HttpServletRequest hReq, SndbQuery req) { - DataObject info = sndngDtlService.getSndbkInfo(req); - - // 등록을 호출하였지만 등록된 미배달 사유가 있는지 확인. - if (req.getCallPurpose().equals("create") && !info.string("UNDLVR_RSN_NM").equals("")) { - ModelAndView mav = new ModelAndView("jsonView"); - - return mav.addObject("pageName", "sndb01230") - .addObject("rtnMsg", "이미 등록된 미배달 사유가 있습니다.") - ; - } else { - boolean json = jsonResponse(); - ModelAndView mav = new ModelAndView(json ? "jsonView" : "fims/sndb/sndb01230-info"); - - // View(jsp)에서 사용할 공통코드를 조회 - Map> commonCodes = getCodesOf("FIM054", "FIM081"); - - return mav - .addObject("openerPageName", hReq.getParameter("openerPageName")) // 호출한 Jsp PageName - .addObject("callPurpose", req.getCallPurpose()) // 호출 용도 - .addObject("pageName", "sndb01230") // jsp pageName - .addObject("infoPrefix", "sndbk") // prefix - .addObject("infoPrefixUrl", CLASS_URL) // prefixUrl - .addObject("FIM054List", commonCodes.get("FIM054")) // 업무 구분 코드(TASK_SE_CD) - .addObject("FIM081List", commonCodes.get("FIM081")) // 미배달 사유 코드(UNDLVR_RSN_CD) - .addObject("sndbkInfo", json ? info : toJson(info)) // 반송 정보 - ; - } - } - - /**공시송달 현황 메인화면(sndb/sndb01/240-main)을 연다. - * - * @return /sndb/sndb01/240-main - */ - @RequestMapping(name = "공시송달 현황 메인", value = METHOD_URL.serviceByPublicNoticeMain) - public ModelAndView serviceByPublicNoticeMain() { - ModelAndView mav = new ModelAndView("fims/sndb/sndb01240-main"); - - // 사용자 정보 - FimsUser fimsUser = (FimsUser)currentUser().getUser(); - - // View(jsp)에서 사용할 공통코드를 조회 - Map> commonCodes = getCodesOf("FIM047", "FIM054"); - - return mav.addObject("pageName", "sndb01240") // View(jsp)에서 사용할 id 뒤에 붙일 suffix - .addObject("infoPrefix", "svbtc") // prefix - .addObject("infoPrefixUrl", CLASS_URL) // prefixUrl - .addObject("sggCd", fimsUser.getOrgID()) // 시군구 코드(SGG_CD) - .addObject("taskListForSgg", stngBean.filterTaskSectionCodeForSgg(commonCodes.get("FIM054"))) // 시군구에서 사용하는 업무 목록 - .addObject("FIM047List", commonCodes.get("FIM047")) // 발송 구분 코드(SNDNG_SE_CD) - ; - } - - /**공시송달 현황 목록을 조회하여 반환한다. - * {@link SndngService#getSndngList(SndngQuery)} 참고 - * @param req 발송 대장 조회 조건 - * @return jsonView - *
     {
    -	 *     "sndngList": [공시송달 현황 목록]
    -	 *     "sndngStart": 공시송달 현황 목록 시작 인덱스
    -	 *     "sndngFetch": 한 번에 가져오는 공시송달 현황 목록 수
    -	 *     "sndngTotal": 조회 결과 찾은 전체 공시송달 현황 수
    -	 * }
    - */ - @Task - @RequestMapping(name="공시송달 목록 조회", value=METHOD_URL.getServiceByPublicNoticeList) - public ModelAndView getServiceByPublicNoticeList(SndbQuery req) { - if (!"xls".equals(req.getDownload())) { - List result = svbtcService.getSvbtcList(setFetchSize(req)); - return setCollectionInfo(new ModelAndView("jsonView"), result, "svbtc"); - } else { - // 현재 날짜 구하기 - SimpleDateFormat dateFormat = new SimpleDateFormat("yyyyMMddHHmmss"); - String dateTime = dateFormat.format(System.currentTimeMillis()); - - List cellDefs = fromJson(req.getCellDefs(), CellDef.listType()); - - XLSWriter xlsx = new XLSWriter().worksheet(0); - Format format = new Format(xlsx); - CellStyle center = format.cellStyle(Style.CENTER); - CellStyle numeric = format.n_nn0(); - CellStyle dateYMD = format.yyyy_mm_dd(); - CellStyle dateDT = format.yyyy_mm_dd_hh_mm_ss(); - - List list = svbtcService.getSvbtcList(req.setFetchSize(0)); - - Map valueMap = new HashMap(); - valueMap.put("업무구분", format.of("TASK_SE_NM").style(center)); - valueMap.put("발송구분", format.of("SNDNG_SE_NM").style(center)); - valueMap.put("공시송달일자", FormatMaker.yyyy_mm_dd(format, "SVBTC_YMD").style(dateYMD)); - valueMap.put("공시송달종료일자", FormatMaker.yyyy_mm_dd(format, "SVBTC_END_YMD").style(dateYMD)); - valueMap.put("총건수", format.of("TNOCS").style(numeric)); - valueMap.put("문서번호", format.of("DOC_NO")); - valueMap.put("제목", format.of("TTL_NM")); - valueMap.put("기타내용", format.of("ETC_CN")); - valueMap.put("등록일시", FormatMaker.yyyy_mm_dd_hh_mm_ss(format, "REG_DT").style(dateDT)); - valueMap.put("등록사용자", format.of("RGTR_NM").style(center)); - valueMap.put("수정일시", FormatMaker.yyyy_mm_dd_hh_mm_ss(format, "MDFCN_DT").style(dateDT)); - valueMap.put("수정사용자", format.of("MDFR_NM").style(center)); - - CellDef.setValues(cellDefs, valueMap); - - xlsx.cell(0, 0).value("공시송달현황").value(center).merge(0, cellDefs.size() - 1) - .cell(3, 0).rowValues(CellDef.header(cellDefs, () -> StyleMaker.headerStyle(xlsx))) - .cell(4, 0).values(list, CellDef.values(cellDefs.stream().map(i -> {if(i.getValue() instanceof Format) {i.setField(null);}; return i;}).toList())); - - return new ModelAndView("downloadView") - .addObject("download", xlsx.getDownloadable().setFilename("공시송달현황" + "_목록_" + dateTime + ".xlsx")); - } - } - - /**공시송달 발송 현황 - 공시송달 상세 정보 화면(sndb/sndb01/250-info)을 연다. - * @param svbtcId 공시송달 ID - * @return fims/sndb/sndb01250-info 또는 jsonView - *
    {
    -	 *     "sndngDtls": [발송 상세 목록]
    -	 * }
    - */ - @Task - @RequestMapping(name="공시송달 상세 화면", value=METHOD_URL.getServiceByPublicNoticeDetailInfo) - public ModelAndView getServiceByPublicNoticeDetailInfo(HttpServletRequest hReq, SndbQuery req) { - ModelAndView mav = getServiceByPublicNoticeDetailList(req); - - mav.setViewName("fims/sndb/sndb01250-info"); - - return mav - .addObject("openerPageName", hReq.getParameter("openerPageName")) // 호출한 Jsp PageName - .addObject("callPurpose", req.getCallPurpose()) // 호출 용도 - .addObject("pageName", "sndb01250") // View(jsp)에서 사용할 id 뒤에 붙일 suffix - .addObject("infoPrefix", "svbtcDtl") // prefix - .addObject("infoPrefixUrl", CLASS_URL) // prefixUrl - .addObject("mainQuery", toJson(req)) // 검색 조건 - .addObject("svbtcDtlList", toJson(mav.getModel().get("svbtcDtlList"))) // 자료 - ; - } - - /**공시송달 발송 현황 - 공시송달 상세 목록을 조회하여 반환한다. - * {@link SndngService#getSndngList(SndngQuery)} 참고 - * @param req 발송 대장 조회 조건 - * @return jsonView - *
     {
    -	 *     "sndngDtlList": [공시송달 상세 목록]
    -	 *     "sndngDtlStart": 공시송달 상세 목록 시작 인덱스
    -	 *     "sndngDtlFetch": 한 번에 가져오는 공시송달 상세 목록 수
    -	 *     "sndngDtlTotal": 조회 결과 찾은 전체 공시송달 상세 수
    -	 * }
    - */ - @Task - @RequestMapping(name="공시송달 상세 목록 조회", value=METHOD_URL.getServiceByPublicNoticeDetailList) - public ModelAndView getServiceByPublicNoticeDetailList(SndbQuery req) { - if (!"xls".equals(req.getDownload())) { - List result = svbtcService.getSvbtcDtls(req); // 공시송달자료는 일괄조회 하자. List result = svbtcService.getSvbtcDtlList(setFetchSize(req)); - return setCollectionInfo(new ModelAndView("jsonView"), result, "svbtcDtl"); - } else { - // 현재 날짜 구하기 - SimpleDateFormat dateFormat = new SimpleDateFormat("yyyyMMddHHmmss"); - String dateTime = dateFormat.format(System.currentTimeMillis()); - - List cellDefs = fromJson(req.getCellDefs(), CellDef.listType()); - - XLSWriter xlsx = new XLSWriter().worksheet(0); - Format format = new Format(xlsx); - CellStyle center = format.cellStyle(Style.CENTER); - CellStyle numeric = format.n_nn0(); - CellStyle dateYMD = format.yyyy_mm_dd(); - CellStyle dateDT = format.yyyy_mm_dd_hh_mm_ss(); - - List list = svbtcService.getSvbtcDtlList(req.setFetchSize(0)); - - Map valueMap = new HashMap(); - valueMap.put("발송상태", format.of("SNDNG_DTL_STTS_NM").style(center)); - valueMap.put("공시송달일자", FormatMaker.yyyy_mm_dd(format, "SVBTC_YMD").style(dateYMD)); - valueMap.put("등기번호", format.of("RG_NO").style(center)); - valueMap.put("발송일자", FormatMaker.yyyy_mm_dd(format, "SNDNG_YMD").style(dateYMD)); - valueMap.put("발송종료일자", FormatMaker.yyyy_mm_dd(format, "SNDNG_END_YMD").style(dateYMD)); - valueMap.put("성명", format.of("RCPN_NM")); - valueMap.put("우편번호", format.of("RCPN_ZIP").style(center)); - valueMap.put("주소", format.of("RCPN_ADDR")); - valueMap.put("상세주소", format.of("RCPN_DTL_ADDR")); - valueMap.put("배달일자", FormatMaker.yyyy_mm_dd(format, "DLVR_YMD").style(dateYMD)); - valueMap.put("배달시각", format.of("DLVR_TM").style(center)); - valueMap.put("미배달사유", format.of("UNDLVR_RSN_NM")); - valueMap.put("수령인", format.of("ACTL_RCPN_NM")); - valueMap.put("수령인관계", format.of("RCPN_REL_NM")); - valueMap.put("단속일시", format.of("CRDN_DT").style(center)); - valueMap.put("차량번호", format.of("VHRNO")); - valueMap.put("단속법정동", format.of("CRDN_STDG_NM")); - valueMap.put("단속장소", format.of("CRDN_PLC")); - valueMap.put("회계연도", format.of("FYR").style(center)); - valueMap.put("부과번호", format.of("LEVY_NO").style(center)); - valueMap.put("부과일자", FormatMaker.yyyy_mm_dd(format, "LEVY_YMD").style(dateYMD)); - valueMap.put("납기일자", FormatMaker.yyyy_mm_dd(format, "DUDT_YMD").style(dateYMD)); - valueMap.put("과태료금액", format.of("FFNLG_AMT").style(numeric)); - valueMap.put("본세", format.of("PCPTAX").style(numeric)); - valueMap.put("가산금", format.of("ADAMT").style(numeric)); - valueMap.put("등록일시", FormatMaker.yyyy_mm_dd_hh_mm_ss(format, "REG_DT").style(dateDT)); - valueMap.put("등록사용자", format.of("RGTR_NM").style(center)); - valueMap.put("수정일시", FormatMaker.yyyy_mm_dd_hh_mm_ss(format, "MDFCN_DT").style(dateDT)); - valueMap.put("수정사용자", format.of("MDFR_NM").style(center)); - - CellDef.setValues(cellDefs, valueMap); - - xlsx.cell(0, 0).value("공시송달상세").value(center).merge(0, cellDefs.size() - 1) - .cell(3, 0).rowValues(CellDef.header(cellDefs, () -> StyleMaker.headerStyle(xlsx))) - .cell(4, 0).values(list, CellDef.values(cellDefs.stream().map(i -> {if(i.getValue() instanceof Format) {i.setField(null);}; return i;}).toList())); - - return new ModelAndView("downloadView") - .addObject("download", xlsx.getDownloadable().setFilename("공시송달상세" + "_목록_" + dateTime + ".xlsx")); - } - } - - /** 공시송달 한글 파일로 작성한다. - * @return 공시송달 hwp파일 - */ - @Task - @RequestMapping(name="공시송달 한글 저장", value=METHOD_URL.makeSvbtcFileFromHwpFormat) - public ModelAndView makeSvbtcFileFromHwpFormat(SndbQuery req) { - UserInfo userInfo = currentUser(); - ogdpBean.initUserInfo(userInfo); - Print print = new Print(); - print.setPrintRequestUserInfo(userInfo); - - FimsPrintOption printOption = new FimsPrintOption(); - - req.setSggCd((String)userInfo.getInfo().get("sggCd")); - req.setDeptCd((String)userInfo.getInfo().get("deptCd")); - req.setOrderBy("SV.SVBTC_ID, SD.SNDNG_DTL_ID"); - List dataObjectList = svbtcBean.getSvbtcPrint(req); - - SvbtcList hwpFormat = new SvbtcList(print, printOption, dataObjectList); - HashMap result = hwpFormat.makeFile().andDownload(); - ModelAndView mav = new ModelAndView("downloadView"); - mav.addAllObjects(result); - - return mav; - } - - /**지정한 ID의 공시송달 정보를 반환한다. - * @param svbtcId 공시송달 ID - * @return fims/sndb/sndb01260-info 또는 jsonView - *
    {
    -	 *     "svbtcInfo": 공시송달 정보
    -	 * }
    - */ - @Task - @RequestMapping(name="공시송달 정보", value=METHOD_URL.getServiceByPublicNoticeInfo) - public ModelAndView getServiceByPublicNoticeInfo(HttpServletRequest hReq, SndbQuery req) { - // 공시송달 정보 조회 - DataObject info = svbtcService.getSvbtcInfo(req); - - // 등록을 호출하였지만 등록된 공시송달 ID가 있는지 확인. - if (req.getCallPurpose().equals("create") && !info.string("SVBTC_ID").equals("")) { - ModelAndView mav = new ModelAndView("jsonView"); - - return mav.addObject("rtnMsg", "이미 등록된 공시송달 정보가 있습니다."); - } else { - boolean json = jsonResponse(); - ModelAndView mav = new ModelAndView(json ? "jsonView" : "fims/sndb/sndb01260-info"); - - // View(jsp)에서 사용할 공통코드를 조회 - Map> commonCodes = getCodesOf("FIM047", "FIM054"); - - addCodes(commonCodes, mav, "FIM047", "FIM054"); - - return mav - .addObject("openerPageName", hReq.getParameter("openerPageName")) // 호출한 Jsp PageName - .addObject("callPurpose", req.getCallPurpose()) // 호출 용도 - .addObject("pageName", "sndb01260") // View(jsp)에서 사용할 id 뒤에 붙일 suffix - .addObject("infoPrefix", "svbtc") // prefix - .addObject("infoPrefixUrl", CLASS_URL) // prefixUrl - .addObject("mainQuery", json ? req : toJson(req)) // Query - .addObject("svbtcInfo", json ? info : toJson(info)) // 공시송달 정보 - ; - } - } - - /**공시송달 대장에 공시송달 정보를 등록한다. - * @param svbtc 공시송달 정보 - * @return jsonView - *
     {
    -	 *     "saved": 수정되었으면 true, 그렇지 않으면 false
    -	 * }
    - */ - @Task - @RequestMapping(name="공시송달 등록", value=METHOD_URL.createServiceByPublicNotice) - public ModelAndView createServiceByPublicNotice(SndbQuery req, Svbtc svbtc) { - boolean saved = false; - String rtnMsg = svbtcService.createSvbtc(req, svbtc); - - if (rtnMsg.contains("[S]")) { - saved = true; - } else { - saved = false; - } - - return new ModelAndView("jsonView") - .addObject("saved", saved) - .addObject("rtnMsg", rtnMsg); - } - - /**공시송달 대장에 공시송달 정보를 수정한다. - * @param svbtc 공시송달 정보 - * @return jsonView - *
     {
    -	 *     "saved": 수정되었으면 true, 그렇지 않으면 false
    -	 * }
    - */ - @Task - @RequestMapping(name="공시송달 수정", value=METHOD_URL.updateServiceByPublicNotice) - public ModelAndView updateServiceByPublicNotice(Svbtc svbtc) { - boolean saved = false; - String rtnMsg = svbtcService.updateSvbtc(svbtc); - - if (rtnMsg.contains("[S]")) { - saved = true; - } else { - saved = false; - } - - return new ModelAndView("jsonView") - .addObject("saved", saved) - .addObject("rtnMsg", rtnMsg); - } - - /**지정한 공시송달 ID에 해당하는 공시송달 대장을 제거한다. - * @param svbtcId 공시송달 ID - * @return jsonView - *
     {
    -	 *     "affected": 저장된 정보수
    -	 *     "saved": 저장되었으면 true, 그렇지 않으면 false
    -	 * }
    - */ - @Task - @RequestMapping(name="공시송달 삭제", value=METHOD_URL.removeServiceByPublicNotice) - public ModelAndView removeServiceByPublicNotice(Svbtc svbtc) { - boolean saved = false; - String rtnMsg = ""; - - if (svbtc.getSvbtcIds() == null || svbtc.getSvbtcIds().length < 1) { - rtnMsg = svbtcService.removeSvbtc(svbtc); - } else { - // 공시송달 Ids 만큼 삭제 반복.. - for (String svbtcId : svbtc.getSvbtcIds()) { - Svbtc deltSvbtc = new Svbtc(); - deltSvbtc.setSvbtcId(svbtcId); - deltSvbtc.setDelRsn(svbtc.getDelRsn()); - - // 공시송달 삭제 호출 - rtnMsg = svbtcService.removeSvbtc(deltSvbtc); - if (!rtnMsg.contains("[S]")) // 오류가 발생하였으면 종료.. - break; - } - } - - if (rtnMsg.contains("[S]")) { - saved = true; - } else { - saved = false; - } - - return new ModelAndView("jsonView") - .addObject("saved", saved) - .addObject("rtnMsg", rtnMsg); - } - - /**지정한 공시송달 ID에 해당하는 공시송달 대장을 제거한다. - * @param svbtcId 공시송달 ID - * @return jsonView - *
     {
    -	 *     "affected": 저장된 정보수
    -	 *     "saved": 저장되었으면 true, 그렇지 않으면 false
    -	 * }
    - */ - @Task - @RequestMapping(name="공시송달 개별 삭제", value=METHOD_URL.removeServiceByPublicNoticeEach) - public ModelAndView removeServiceByPublicNoticeEach(Svbtc svbtc) { - boolean saved = false; - String rtnMsg = svbtcService.removeSvbtcEach(svbtc); - - if (rtnMsg.contains("[S]")) { - saved = true; - } else { - saved = false; - } - - return new ModelAndView("jsonView") - .addObject("saved", saved) - .addObject("rtnMsg", rtnMsg); - } - - /** 사전통지서를 PDF 파일로 작성한다. - * @return 사전통지서 PDF파일 - */ - @Task - @RequestMapping(name="사전통지서 pdf 파일 생성", value=METHOD_URL.makeAdvanceNoticePdf) - public ModelAndView makeAdvanceNoticePdf(SndbQuery req, FimsPrintOption printOption) { - ModelAndView mav = new ModelAndView("downloadView"); - - List list = sndngDtlService.getSndngTrgtDtlIds(req); - - String[] crdnIds = new String[list.size()]; - - for (int iLoop = 0; iLoop < list.size(); iLoop++) { - crdnIds[iLoop] = list.get(iLoop).string("CRDN_ID"); - } - - List dataObjectList = new ArrayList(); - if(crdnIds.length == 1 && crdnIds[0].equals("sample")) { - DataObject sample = new Advntce().createSampleData(); - dataObjectList.add(sample); - } else { - SprtQuery sprtQuery = new SprtQuery(); - sprtQuery.setCrdnIds(crdnIds); - dataObjectList = integrationSearchMapper.selectIntegrationDataList(sprtQuery); - - for(int i=0; i < dataObjectList.size(); i++) { - DataObject dataObject = dataObjectList.get(i); - String crdnId = dataObject.string("CRDN_ID"); - - FileQuery fileQuery = new FileQuery(); - fileQuery.setInfoType(Crdn.INF_TYPE); - fileQuery.setInfoKeys(crdnId); - - List fileInfoList = fileBean.getFileList(fileQuery); - if (fileInfoList != null && fileInfoList.size() > 0) { - for (int j=0; j mosSet = mediaBean.getMosaicList(fileInfoList.get(j).string("FILE_ID")); - if (mosSet != null && !mosSet.isEmpty()) { - dataObject.set("MOS"+fileInfoList.get(j).string("FILE_ID"), mosSet); - } - } - } - } - } - - Print print = new Print(); - UserInfo userInfo = currentUser(); - ogdpBean.initUserInfo(userInfo); - print.setPrintRequestUserInfo(userInfo); - - //출력물 기본 설정 - OtptStngQuery otptStngQuery = new OtptStngQuery(); - - otptStngQuery.setSggCd((String)userInfo.getInfo().get("sggCd")); - String paperSeCd = printOption.getPaperSeCd(); - String taskSeCd = printOption.getTaskSeCd(); - otptStngQuery.setTaskSeCd(taskSeCd); - otptStngQuery.setSndngSeCd("02"); - otptStngQuery.setPaperSeCd(paperSeCd); - DataObject otptBscStng = otptStngMapper.selectOtptBscStng(otptStngQuery); - if(otptBscStng == null) { - otptBscStng = new DataObject(); - } - - //출력 요소별 설정 - List otptArtclStngList = otptStngMapper.selectOtptArtclStngList(otptStngQuery); - - DataObject sggStngInfo = stngBean.getStng("sgg"); - DataObject deptStngInfo = stngBean.getStng("dept"); - // - Map globalVariable = printOption.getGlobalVariable(); - if(globalVariable == null) { - globalVariable = new HashMap(); - } - globalVariable.put("offcsFilePath", sggStngInfo.string("OFFCS_FILE_PATH")); - globalVariable.put("logoFilePath", sggStngInfo.string("LOGO_FILE_PATH")); - globalVariable.put("instAddr", sggStngInfo.string("INST_ADDR")); - globalVariable.put("instDaddr", sggStngInfo.string("INST_DADDR")); - globalVariable.put("instZip", sggStngInfo.string("INST_ZIP")); - globalVariable.put("deptTelno", deptStngInfo.string("DEPT_TELNO")); - globalVariable.put("deptFxno", deptStngInfo.string("DEPT_FXNO")); - if(!otptBscStng.string("BCRN_IMG_PATH").equals("")) { - globalVariable.put("bcrnImgPath", otptBscStng.string("BCRN_IMG_PATH")); - } - printOption.setGlobalVariable(globalVariable); - - Advntce pdfFormat = new Advntce(print,printOption,otptBscStng,otptArtclStngList,paperSeCd,dataObjectList); - Map result = pdfFormat.makeFile(); - - mav.addAllObjects(result); - - return mav; - } - - /** 사전통지 정보로 txt파일,이미지파일을 생성하고 압축파일로 반환한다. - * @return 사전통지서 압축파일 - */ - @Task - @RequestMapping(name="사전통지서 외주 파일 생성", value=METHOD_URL.makeAdvanceNoticeOutsourcing) - public ModelAndView makeAdvanceNoticeOutsourcing(SndbQuery req, FimsPrintOption printOption) { - ModelAndView mav = new ModelAndView("downloadView"); - - String taskSeCd = ""; - - List list = sndngDtlService.getSndngTrgtDtlIds(req); - - String[] crdnIds = new String[list.size()]; - - for (int iLoop = 0; iLoop < list.size(); iLoop++) { - crdnIds[iLoop] = list.get(iLoop).string("CRDN_ID"); - } - SprtQuery sprtQuery = new SprtQuery(); - sprtQuery.setCrdnIds(crdnIds); - List dataObjectList = integrationSearchMapper.selectIntegrationDataList(sprtQuery); - for(int i=0; i < dataObjectList.size(); i++) { - DataObject sndngDtl = integrationSearchMapper.selectLatestSndngDtlInfo(dataObjectList.get(i).string("CRDN_ID")); - dataObjectList.get(i).set("SNDNG_DTL_ID",sndngDtl.string("SNDNG_DTL_ID")); - dataObjectList.get(i).set("SNDNG_YMD",sndngDtl.string("SNDNG_YMD")); - dataObjectList.get(i).set("OPNN_RANGE", - dataObjectList.get(i).string("SNDNG_YMD")+"~"+dataObjectList.get(i).string("DUDT_YMD")); - dataObjectList.get(i).set("RG_NO",sndngDtl.string("RG_NO")); - } - - for(int i=0; i < dataObjectList.size(); i++) { - DataObject dataObject = dataObjectList.get(i); - - if(taskSeCd.equals("")) { - taskSeCd = dataObject.string("TASK_SE_CD"); - } - - FileQuery fileQuery = new FileQuery(); - fileQuery.setInfoType(Crdn.INF_TYPE); - fileQuery.setInfoKeys(dataObject.string("CRDN_ID")); - List fileInfoList = fileBean.getFileList(fileQuery); - - if(fileInfoList != null) { - int crdnPhotoCnt = fileInfoList.size(); - for(int j=0; j < fileInfoList.size(); j++) { - DataObject fileInfo = fileInfoList.get(j); - - dataObject.set("CRDN_PHOTO"+(j+1), fileInfo.string("FILE_PATH")); - dataObject.set("CRDN_PHOTO"+(j+1)+"KEY", fileInfo.string("FILE_ID")); - List mosSet = mediaBean.getMosaicList(fileInfo.string("FILE_ID")); - if(mosSet != null) { - for(int k=0; k < mosSet.size(); k++) { - dataObject.set("MOS"+fileInfo.string("FILE_ID"), mosSet); - } - } - } - dataObject.set("CRDN_PHOTO_CNT", crdnPhotoCnt); - } else { - dataObject.set("CRDN_PHOTO_CNT", 0); - } - - } - - FimsUser currentUser = (FimsUser) currentUser().getUser(); - String sggCd = currentUser.getOrgID(); - - OutsourcingStngQuery stngQuery = new OutsourcingStngQuery(); - stngQuery.setSggCd(sggCd); - stngQuery.setTaskSeCd(taskSeCd); - stngQuery.setSndngSeCd("02"); - List printStngItems = outsourcingStngBean.getArtclStngList(stngQuery); - - OutsourcingFileMaker osMaker = new OutsourcingFileMaker("사전통지", printOption, printStngItems, dataObjectList); - - Map result = osMaker.makeFile(); - - mav.addAllObjects(result); - - return mav; - } - - /** 고지서를 PDF 파일로 작성한다. - * @return 고지서 PDF파일 - */ - @Task - @RequestMapping(name="고지서 pdf 파일 생성", value=METHOD_URL.makeNoticeSheetPdf) - public ModelAndView makeNoticeSheetPdf(SndbQuery req, FimsPrintOption printOption) { - // 고지서 출력 대상 자료 조회 - List list = sndngDtlService.getSndngTrgtDtlIds(req); - - String[] crdnIds = new String[list.size()]; - for (int iLoop = 0; iLoop < list.size(); iLoop++) { - crdnIds[iLoop] = list.get(iLoop).string("CRDN_ID"); - } - - UserInfo userInfo = currentUser(); - ogdpBean.initUserInfo(userInfo); - - ModelAndView mav = new ModelAndView("downloadView"); - - // 단속 대장 조회 - SprtQuery sprtQuery = new SprtQuery(); - sprtQuery.setCrdnIds(crdnIds); - - ListdataObjectList = integrationSearchMapper.selectIntegrationDataList(sprtQuery); - - for (int i=0; i < dataObjectList.size(); i++) { - DataObject dataObject = dataObjectList.get(i); - String crdnId = dataObject.string("CRDN_ID"); - - FileQuery fileQuery = new FileQuery(); - fileQuery.setInfoType(Crdn.INF_TYPE); - fileQuery.setInfoKeys(crdnId); - - List fileInfoList = fileBean.getFileList(fileQuery); - if (fileInfoList != null && fileInfoList.size() > 0) { - for (int j=0; j mosSet = mediaBean.getMosaicList(fileInfoList.get(j).string("FILE_ID")); - if (mosSet != null && !mosSet.isEmpty()) { - dataObject.set("MOS"+fileInfoList.get(j).string("FILE_ID"), mosSet); - } - } - } - } - - Print print = new Print(); - print.setPrintRequestUserInfo(userInfo); - - //출력물 기본 설정 - OtptStngQuery otptStngQuery = new OtptStngQuery(); - String paperSeCd = printOption.getPaperSeCd(); - String taskSeCd = printOption.getTaskSeCd(); - otptStngQuery.setSggCd((String)userInfo.getInfo().get("sggCd")); - otptStngQuery.setTaskSeCd(taskSeCd); - otptStngQuery.setSndngSeCd("03"); - otptStngQuery.setPaperSeCd(paperSeCd); - DataObject otptBscStng = otptStngMapper.selectOtptBscStng(otptStngQuery); - if(otptBscStng == null) { - otptBscStng = new DataObject(); - } - //출력 요소별 설정 - List otptArtclStngList = otptStngMapper.selectOtptArtclStngList(otptStngQuery); - - DataObject sggStngInfo = stngBean.getStng("sgg"); - DataObject deptStngInfo = stngBean.getStng("dept"); - // - Map globalVariable = printOption.getGlobalVariable(); - if(globalVariable == null) { - globalVariable = new HashMap(); - } - globalVariable.put("offcsFilePath", sggStngInfo.string("OFFCS_FILE_PATH")); - globalVariable.put("logoFilePath", sggStngInfo.string("LOGO_FILE_PATH")); - globalVariable.put("instAddr", sggStngInfo.string("INST_ADDR")); - globalVariable.put("instDaddr", sggStngInfo.string("INST_DADDR")); - globalVariable.put("instZip", sggStngInfo.string("INST_ZIP")); - globalVariable.put("deptTelno", deptStngInfo.string("DEPT_TELNO")); - globalVariable.put("deptFxno", deptStngInfo.string("DEPT_FXNO")); - if(!otptBscStng.string("BCRN_IMG_PATH").equals("")) { - globalVariable.put("bcrnImgPath", otptBscStng.string("BCRN_IMG_PATH")); - } - printOption.setGlobalVariable(globalVariable); - - Nht pdfFormat = new Nht(print,printOption,otptBscStng,otptArtclStngList,paperSeCd,dataObjectList); - - Map result = pdfFormat.makeFile(); - - mav.addAllObjects(result); - - return mav; - } - - /** 고지서 정보로 txt파일,이미지파일을 생성하고 압축파일로 반환한다. - * @return 고지서 압축파일 - */ - @Task - @RequestMapping(name="고지서 외주 파일 생성", value=METHOD_URL.makeNoticeSheetOutsourcing) - public ModelAndView makeNoticeSheetOutsourcing(SndbQuery req, FimsPrintOption printOption) { - // 고지서 출력 대상 자료 조회 - List list = sndngDtlService.getSndngTrgtDtlIds(req); - - String[] crdnIds = new String[list.size()]; - for (int iLoop = 0; iLoop < list.size(); iLoop++) { - crdnIds[iLoop] = list.get(iLoop).string("CRDN_ID"); - } - - UserInfo userInfo = currentUser(); - ogdpBean.initUserInfo(userInfo); - - ModelAndView mav = new ModelAndView("downloadView"); - - String taskSeCd = req.getTaskSeCd(); - - // 단속 대장 조회 - SprtQuery sprtQuery = new SprtQuery(); - sprtQuery.setCrdnIds(crdnIds); - - List dataObjectList = integrationSearchMapper.selectIntegrationDataList(sprtQuery); - - for (int i=0; i < dataObjectList.size(); i++) { - DataObject dataObject = dataObjectList.get(i); - - if (taskSeCd.equals("")) { - taskSeCd = dataObject.string("TASK_SE_CD"); - } - - FileQuery fileQuery = new FileQuery(); - fileQuery.setInfoType(Crdn.INF_TYPE); - fileQuery.setInfoKeys(dataObject.string("CRDN_ID")); - List fileInfoList = fileBean.getFileList(fileQuery); - - if (fileInfoList != null) { - int crdnPhotoCnt = fileInfoList.size(); - for (int j=0; j < fileInfoList.size(); j++) { - DataObject fileInfo = fileInfoList.get(j); - dataObject.set("CRDN_PHOTO"+(j+1), fileInfo.string("FILE_PATH")); - dataObject.set("CRDN_PHOTO"+(j+1)+"KEY", fileInfo.string("FILE_ID")); - - List mosSet = mediaBean.getMosaicList(fileInfo.string("FILE_ID")); - if (mosSet != null) { - for (int k=0; k < mosSet.size(); k++) { - dataObject.set("MOS"+fileInfo.string("FILE_ID"), mosSet); - } - } - } - dataObject.set("CRDN_PHOTO_CNT", crdnPhotoCnt); - } else { - dataObject.set("CRDN_PHOTO_CNT", 0); - } - } - - FimsUser currentUser = (FimsUser) currentUser().getUser(); - String sggCd = currentUser.getOrgID(); - - OutsourcingStngQuery stngQuery = new OutsourcingStngQuery(); - stngQuery.setSggCd(sggCd); - stngQuery.setTaskSeCd(taskSeCd); - stngQuery.setSndngSeCd("03"); - - List printStngItems = outsourcingStngBean.getArtclStngList(stngQuery); - - OutsourcingFileMaker osMaker = new OutsourcingFileMaker("고지서", printOption, printStngItems, dataObjectList); - - Map result = osMaker.makeFile(); - - mav.addAllObjects(result); - - return mav; - } - - /**과태료 대장 단속 정보 등록를 등록한다. - * @param req 발송 대장 조회 조건 - * @return jsonView - *
     {
    -	 *     "saved": 등록되었으면 true, 그렇지 않으면 false
    -	 * }
    - */ - @Task({"ECA","DPV","PES","DVS"}) - @RequestMapping(name="세외수입 과태료 대장 단속 정보 등록", value=METHOD_URL.setNonTaxReceiptIndividualA01List) - public ModelAndView setNonTaxReceiptIndividualA01List(SndbQuery req, Sndng sndng) { - boolean saved = false; - String rtnMsg = ""; - - List dtlList = sndngDtlService.getSndngTrgtDtlIds(req); - - // 발송상세 Ids 만큼 반복.. - for (int iLoop = 0; iLoop < dtlList.size(); iLoop++) { - SndngDtl sndngDtl = new SndngDtl(); - - sndngDtl.setSndngDtlId(dtlList.get(iLoop).string("SNDNG_DTL_ID")); - sndngDtl.setCrdnId(dtlList.get(iLoop).string("CRDN_ID")); - sndngDtl.setLinkTrgtCd(dtlList.get(iLoop).string("LINK_TRGT_CD")); - sndngDtl.setLinkMngKey(dtlList.get(iLoop).string("LINK_MNG_KEY")); - sndngDtl.setSndngDtlSttsCd(dtlList.get(iLoop).string("SNDNG_DTL_STTS_CD")); - sndngDtl.setDelYn("N"); - sndngDtl.setSndngYmd(sndng.getSndngYmd()); - - rtnMsg = sndngDtlService.setNxrpIndivA01List(sndngDtl); - if (rtnMsg.contains("[S]")) { - saved = true; - } else { - saved = false; - } - } - - return new ModelAndView("jsonView") - .addObject("saved", saved) - .addObject("rtnMsg", rtnMsg); - } - - /**과태료 대장 등록 자료 상세 조회(실시간)한다. - * @param req 발송 대장 조회 조건 - * @return jsonView - *
     {
    -	 *     "saved": 등록되었으면 true, 그렇지 않으면 false
    -	 * }
    - */ - @Task({"ECA","DPV","PES","DVS"}) - @RequestMapping(name="세외수입 과태료 대장 등록 자료 상세 조회", value=METHOD_URL.getNonTaxReceiptIndividualA03List) - public ModelAndView getNonTaxReceiptIndividualA03List(SndbQuery req) { - boolean saved = false; - String rtnMsg = ""; - - List dtlList = sndngDtlService.getSndngTrgtDtlIds(req); - - // 발송상세 Ids 만큼 반복.. - for (int iLoop = 0; iLoop < dtlList.size(); iLoop++) { - SndngDtl sndngDtl = new SndngDtl(); - - sndngDtl.setSndngDtlId(dtlList.get(iLoop).string("SNDNG_DTL_ID")); - sndngDtl.setCrdnId(dtlList.get(iLoop).string("CRDN_ID")); - sndngDtl.setLinkTrgtCd(dtlList.get(iLoop).string("LINK_TRGT_CD")); - sndngDtl.setLinkMngKey(dtlList.get(iLoop).string("LINK_MNG_KEY")); - sndngDtl.setSndngDtlSttsCd(dtlList.get(iLoop).string("SNDNG_DTL_STTS_CD")); - sndngDtl.setDelYn("N"); - - rtnMsg = sndngDtlService.getNxrpIndivA03List(sndngDtl); - if (rtnMsg.contains("[S]")) { - saved = true; - } else { - saved = false; - } - } - - return new ModelAndView("jsonView") - .addObject("saved", saved) - .addObject("rtnMsg", rtnMsg); - } - - /**과태료 대장 등록 자료 상세 조회(실시간)한다. - * @param req 발송 대장 조회 조건 - * @return jsonView - *
     {
    -	 *     "saved": 등록되었으면 true, 그렇지 않으면 false
    -	 * }
    - */ - @Task - @RequestMapping(name="세외수입 체납상세 세목정보 조회", value=METHOD_URL.getNonTaxReceiptSpecialB01List) - public ModelAndView getNonTaxReceiptSpecialB01List(SndbQuery req) { - boolean saved = false; - String rtnMsg = ""; -/* - List dtlList = sndngDtlService.getSndngTrgtDtlIds(req); - - // 발송상세 Ids 만큼 반복.. - for (int iLoop = 0; iLoop < dtlList.size(); iLoop++) { - SndngDtl sndngDtl = new SndngDtl(); - - sndngDtl.setSndngDtlId(dtlList.get(iLoop).string("SNDNG_DTL_ID")); - sndngDtl.setCrdnId(dtlList.get(iLoop).string("CRDN_ID")); - sndngDtl.setLinkTrgtCd(dtlList.get(iLoop).string("LINK_TRGT_CD")); - sndngDtl.setLinkMngKey(dtlList.get(iLoop).string("LINK_MNG_KEY")); - sndngDtl.setSndngDtlSttsCd(dtlList.get(iLoop).string("SNDNG_DTL_STTS_CD")); - sndngDtl.setDelYn("N"); - - rtnMsg = sndngDtlService.getNxrpIndivA03List(sndngDtl); - if (rtnMsg.contains("[S]")) { - saved = true; - } else { - saved = false; - } - } -*/ - saved = true; - rtnMsg = "[S]"; - - return new ModelAndView("jsonView") - .addObject("saved", saved) - .addObject("rtnMsg", rtnMsg); - } - -} diff --git a/src/main/java/cokr/xit/fims/sprt/CvlcptDscsn.java b/src/main/java/cokr/xit/fims/sprt/CvlcptDscsn.java deleted file mode 100644 index b4fba4c7..00000000 --- a/src/main/java/cokr/xit/fims/sprt/CvlcptDscsn.java +++ /dev/null @@ -1,96 +0,0 @@ -package cokr.xit.fims.sprt; - -import cokr.xit.foundation.AbstractEntity; -import lombok.Getter; -import lombok.Setter; - -/** - * 민원 상담 내용 - * @author JoJH - */ -@Getter -@Setter -public class CvlcptDscsn extends AbstractEntity { - - /** - * 민원 상담 ID - */ - private String cvlcptDscsnId; - - /** - * 시군구 코드 - */ - private String sggCd; - - /** - * 업무 구분 코드 - */ - private String taskSeCd; - - /** - * 민원 접수 구분 코드 - */ - private String cvlcptRcptSeCd; - - /** - * 단속 ID - */ - private String crdnId; - - /** - * 차량번호 - */ - private String vhrno; - - /** - * 납부자 번호 - */ - private String rtpyrNo; - - /** - * 상담 일자 - */ - private String dscsnYmd; - - /** - * 요일 명 - */ - private String weekNm; - - /** - * 민원인 명 - */ - private String cvlprNm; - - /** - * 민원인 연락처 - */ - private String cvlprCttpc; - - /** - * 상담 내용 - */ - private String dscsnCn; - - /** - * 삭제 여부 - */ - private String delYn; - - /** - * 삭제 사유 - */ - private String delRsn; - - /** - * 민원 상담 Ids - */ - private String[] cvlcptDscsnIds; - - /** - * 납부자 ID - */ - private String rtpyrId; - - -} diff --git a/src/main/java/cokr/xit/fims/sprt/CvlcptDscsnQuery.java b/src/main/java/cokr/xit/fims/sprt/CvlcptDscsnQuery.java deleted file mode 100644 index b024f38f..00000000 --- a/src/main/java/cokr/xit/fims/sprt/CvlcptDscsnQuery.java +++ /dev/null @@ -1,226 +0,0 @@ -package cokr.xit.fims.sprt; - -import cokr.xit.fims.cmmn.CmmnQuery; - -/**부과제외 대장 정보 조회 요청 -* -*

    상세 설명: -* -*

    -* ============ 변경 이력 ============
    -* 2023-10-30	JoJH 최초 작성
    -* ================================
    -* 
    -*/ -public class CvlcptDscsnQuery extends CmmnQuery { - - private static final long serialVersionUID = 1L; - - // ID - private String[] cvlcptDscsnIds; // 민원 상담 Ids - private String cvlcptDscsnId; // 민원 상담 ID - private String crdnId; // 단속 ID - - // 검색 조건 - private String schDscsnYmdFrom; // 상담 일자 시작 - private String schDscsnYmdTo; // 상담 일자 종료 - private String schVhrno; // 차량번호 - private String schCvlprNm; // 민원인 명 - private String schRtpyrNo; // 납부자 번호 - // 상세 검색 조건 - - // 동적 검색 조건 - private String inquiryCondition; - private String cvlcptRcptSeCd; // 민원 접수 구분 코드 - private String vhrno; // 차량번호 - private String rtpyrNo; // 납부자 번호 - private String dscsnYmd; // 상담 일자 - private String weekNm; // 요일 명 - private String cvlprNm; // 민원인 명 - private String cvlprCttpc; // 민원인 연락처 - private String dscsnCn; // 상담 내용 - - // ETC - private String callPurpose; // 자료 조회시 호출용도. (view 조회, create 등록, update 수정, refresh 재조회) - private String delRsn; // 삭제 사유 - - public String getCvlcptDscsnId() { - return ifEmpty(cvlcptDscsnId, () -> null); - } - - public T setCvlcptDscsnId(String cvlcptDscsnId) { - this.cvlcptDscsnId = cvlcptDscsnId; - return self(); - } - - public String[] getCvlcptDscsnIds() { - return ifEmpty(cvlcptDscsnIds, () -> null); - } - - public T setCvlcptDscsnIds(String... cvlcptDscsnIds) { - this.cvlcptDscsnIds = cvlcptDscsnIds; - return self(); - } - - public String getCrdnId() { - return ifEmpty(crdnId, () -> null); - } - - public T setCrdnId(String crdnId) { - this.crdnId = crdnId; - return self(); - } - - public String getSchDscsnYmdFrom() { - return ifEmpty(schDscsnYmdFrom, () -> null); - } - - public T setSchDscsnYmdFrom(String schDscsnYmdFrom) { - this.schDscsnYmdFrom = schDscsnYmdFrom; - return self(); - } - - public String getSchDscsnYmdTo() { - return ifEmpty(schDscsnYmdTo, () -> null); - } - - public T setSchDscsnYmdTo(String schDscsnYmdTo) { - this.schDscsnYmdTo = schDscsnYmdTo; - return self(); - } - - public String getSchVhrno() { - return ifEmpty(schVhrno, () -> null); - } - - public T setSchVhrno(String schVhrno) { - this.schVhrno = schVhrno; - return self(); - } - - public String getSchCvlprNm() { - return ifEmpty(schCvlprNm, () -> null); - } - - public T setSchCvlprNm(String schCvlprNm) { - this.schCvlprNm = schCvlprNm; - return self(); - } - - public String getSchRtpyrNo() { - return ifEmpty(schRtpyrNo, () -> null); - } - - public T setSchRtpyrNo(String schRtpyrNo) { - this.schRtpyrNo = schRtpyrNo; - return self(); - } - - // 상세 검색 조건 /////////////////////////////////////////////////////////////// - - // 상세 검색 조건 /////////////////////////////////////////////////////////////// - - // 동적 검색 조건 /////////////////////////////////////////////////////////////// - public String getInquiryCondition() { - return ifEmpty(inquiryCondition, () -> null); - } - - public T setInquiryCondition(String inquiryCondition) { - this.inquiryCondition = inquiryCondition; - return self(); - } - - public String getCvlcptRcptSeCd() { - return ifEmpty(cvlcptRcptSeCd, () -> null); - } - - public T setCvlcptRcptSeCd(String cvlcptRcptSeCd) { - this.cvlcptRcptSeCd = cvlcptRcptSeCd; - return self(); - } - - public String getVhrno() { - return ifEmpty(vhrno, () -> null); - } - - public T setVhrno(String vhrno) { - this.vhrno = vhrno; - return self(); - } - - public String getRtpyrNo() { - return ifEmpty(rtpyrNo, () -> null); - } - - public T setRtpyrNo(String rtpyrNo) { - this.rtpyrNo = rtpyrNo; - return self(); - } - - public String getDscsnYmd() { - return ifEmpty(dscsnYmd, () -> null); - } - - public T setDscsnYmd(String dscsnYmd) { - this.dscsnYmd = dscsnYmd; - return self(); - } - - public String getWeekNm() { - return ifEmpty(weekNm, () -> null); - } - - public T setWeekNm(String weekNm) { - this.weekNm = weekNm; - return self(); - } - - public String getCvlprNm() { - return ifEmpty(cvlprNm, () -> null); - } - - public T setCvlprNm(String cvlprNm) { - this.cvlprNm = cvlprNm; - return self(); - } - - public String getCvlprCttpc() { - return ifEmpty(cvlprCttpc, () -> null); - } - - public T setCvlprCttpc(String cvlprCttpc) { - this.cvlprCttpc = cvlprCttpc; - return self(); - } - - public String getDscsnCn() { - return ifEmpty(dscsnCn, () -> null); - } - - public T setDscsnCn(String dscsnCn) { - this.dscsnCn = dscsnCn; - return self(); - } - // 동적 검색 조건 /////////////////////////////////////////////////////////////// - - // ETC ///////////////////////////////////////////////////////////////////// - public String getCallPurpose() { - return ifEmpty(callPurpose, () -> null); - } - - public T setCallPurpose(String callPurpose) { - this.callPurpose = callPurpose; - return self(); - } - - public String getDelRsn() { - return ifEmpty(delRsn, () -> null); - } - - public T setDelRsn(String delRsn) { - this.delRsn = delRsn; - return self(); - } - // ETC ///////////////////////////////////////////////////////////////////// - -} diff --git a/src/main/java/cokr/xit/fims/sprt/Keyword.java b/src/main/java/cokr/xit/fims/sprt/Keyword.java deleted file mode 100644 index 0ef8b71b..00000000 --- a/src/main/java/cokr/xit/fims/sprt/Keyword.java +++ /dev/null @@ -1,14 +0,0 @@ -package cokr.xit.fims.sprt; - -import lombok.Getter; -import lombok.Setter; - -@Getter -@Setter -public class Keyword { - private String name; - private String value; - private String from; - private String to; - private String similar; -} diff --git a/src/main/java/cokr/xit/fims/sprt/MediaUtil.java b/src/main/java/cokr/xit/fims/sprt/MediaUtil.java deleted file mode 100644 index 1e1fb7bb..00000000 --- a/src/main/java/cokr/xit/fims/sprt/MediaUtil.java +++ /dev/null @@ -1,49 +0,0 @@ -package cokr.xit.fims.sprt; - -import java.awt.image.BufferedImage; -import java.io.InputStream; -import java.util.ArrayList; -import java.util.List; - -import javax.imageio.ImageIO; - -import cokr.xit.fims.cmmn.PstnAndSize; -import cokr.xit.foundation.data.DataObject; - -public class MediaUtil { - - public static List getTransformedMosaic(List mosaicInfos, InputStream inputStream, PstnAndSize pstnAndSize_in_print) { - List result = new ArrayList<>(); - - try { - - BufferedImage image = ImageIO.read(inputStream); - float originalWidth = image.getWidth(null); - float originalHeight = image.getHeight(null); - float transX = pstnAndSize_in_print.getWidth() / originalWidth; - float transY = pstnAndSize_in_print.getHeight() / originalHeight; - - if(mosaicInfos != null) { - for(int k=0; k < mosaicInfos.size(); k++) { - DataObject mosaicInfo = mosaicInfos.get(k); - float x = mosaicInfo.number("X_AXS").floatValue(); - float y = mosaicInfo.number("Y_AXS").floatValue(); - float w = mosaicInfo.number("MOSC_LEN").floatValue(); - float h = mosaicInfo.number("MOSC_HGT").floatValue(); - - PstnAndSize mosaic = new PstnAndSize(x, y, w, h); - mosaic.transXY(transX, transY); - mosaic.addPstn(pstnAndSize_in_print.getPstn()); - - result.add(mosaic); - } - } - - } catch (Exception e) { - throw new RuntimeException("이미지 모자이크 처리 오류"); - } - - return result; - } - -} diff --git a/src/main/java/cokr/xit/fims/sprt/Sprt.java b/src/main/java/cokr/xit/fims/sprt/Sprt.java deleted file mode 100644 index 289a4665..00000000 --- a/src/main/java/cokr/xit/fims/sprt/Sprt.java +++ /dev/null @@ -1,18 +0,0 @@ -package cokr.xit.fims.sprt; - -import cokr.xit.foundation.AbstractEntity; -import lombok.Getter; -import lombok.Setter; - -/** 업무지원 엔티티 - * @author leebj - */ -@Getter -@Setter -public class Sprt extends AbstractEntity { - - public static String[] VIDEO_MIME_TYPE = { - "video/mp4", "video/webm", "video/ogg" - }; - -} diff --git a/src/main/java/cokr/xit/fims/sprt/SprtQuery.java b/src/main/java/cokr/xit/fims/sprt/SprtQuery.java deleted file mode 100644 index e7ab2850..00000000 --- a/src/main/java/cokr/xit/fims/sprt/SprtQuery.java +++ /dev/null @@ -1,241 +0,0 @@ -package cokr.xit.fims.sprt; - -import java.util.List; - -import cokr.xit.fims.cmmn.CmmnQuery; - -public class SprtQuery extends CmmnQuery { - - private static final long serialVersionUID = 1L; - - // 필수 - private String callControlName; // 호출한 페이지의 Control 이름 - // IDs - private String[] cvlcptDscsnIds; // 민원 상담 Ids - private String[] crdnIds; // 단속 Ids - // ID - private String crdnId; // 단속 ID - private String rtpyrId; // 납부자 ID - private String levyExclId; // 부과 제외 ID - private String opnnId; // 의견 ID - private String levyId; // 부과 ID - private String cvlcptDscsnId; // 민원 상담 ID - - private List ischKeywordSet; // 통합조회 키워드 - private List ischOnlyDataSet; // 특정자료만 조회 - private List ischExclDataSet; // 특정자료 제외 - private String gridType; - - private String vhrno; // 차량번호 - private String rtpyrNo; // 납부자 번호 - private String rtpyrBrdt; // 납부자 생일 - private String rtpyrNm; // 납부자 명 - private String fyr; // 회계연도 - private String levyNo; // 부과 번호 - // ETC - private String callPurpose; // infoDialog 호출 용도(view 조회(편집불가), create 등록, update 수정, refresh 재조회). - private String delRsn; // 삭제 사유 - private String inquiryCondition; // 조회 조건 - - public String getCallControlName() { - return ifEmpty(callControlName, () -> null); - } - - public T setCallControlName(String callControlName) { - this.callControlName = callControlName; - return self(); - } - - public String[] getCvlcptDscsnIds() { - return ifEmpty(cvlcptDscsnIds, () -> null); - } - - public T setCvlcptDscsnIds(String... cvlcptDscsnIds) { - this.cvlcptDscsnIds = cvlcptDscsnIds; - return self(); - } - - public String[] getCrdnIds() { - return ifEmpty(crdnIds, () -> null); - } - - public T setCrdnIds(String... crdnIds) { - this.crdnIds = crdnIds; - return self(); - } - - public String getCrdnId() { - return ifEmpty(crdnId, () -> null); - } - - public T setCrdnId(String crdnId) { - this.crdnId = crdnId; - return self(); - } - - - public String getRtpyrId() { - return ifEmpty(rtpyrId, () -> null); - } - - public T setRtpyrId(String rtpyrId) { - this.rtpyrId = rtpyrId; - return self(); - } - - public String getLevyExclId() { - return ifEmpty(levyExclId, () -> null); - } - - public T setLevyExclId(String levyExclId) { - this.levyExclId = levyExclId; - return self(); - } - - public String getOpnnId() { - return ifEmpty(opnnId, () -> null); - } - - public T setOpnnId(String opnnId) { - this.opnnId = opnnId; - return self(); - } - - public String getLevyId() { - return ifEmpty(levyId, () -> null); - } - - public T setLevyId(String levyId) { - this.levyId = levyId; - return self(); - } - - public String getCvlcptDscsnId() { - return ifEmpty(cvlcptDscsnId, () -> null); - } - - public T setCvlcptDscsnId(String cvlcptDscsnId) { - this.cvlcptDscsnId = cvlcptDscsnId; - return self(); - } - - public List getIschKeywordSet() { - return ifEmpty(ischKeywordSet, () -> null); - } - - public T setIschKeywordSet(List ischKeywordSet) { - this.ischKeywordSet = ischKeywordSet; - return self(); - } - - public List getIschOnlyDataSet() { - return ifEmpty(ischOnlyDataSet, () -> null); - } - - public T setIschOnlyDataSet(List ischOnlyDataSet) { - this.ischOnlyDataSet = ischOnlyDataSet; - return self(); - } - - public List getIschExclDataSet() { - return ifEmpty(ischExclDataSet, () -> null); - } - - public T setIschExclDataSet(List ischExclDataSet) { - this.ischExclDataSet = ischExclDataSet; - return self(); - } - - public String getGridType() { - return ifEmpty(gridType, () -> null); - } - - public T setGridType(String gridType) { - this.gridType = gridType; - return self(); - } - - public String getVhrno() { - return ifEmpty(vhrno, () -> null); - } - - public T setVhrno(String vhrno) { - this.vhrno = vhrno; - return self(); - } - - public String getRtpyrNo() { - return ifEmpty(rtpyrNo, () -> null); - } - - public T setRtpyrNo(String rtpyrNo) { - this.rtpyrNo = rtpyrNo; - return self(); - } - - public String getRtpyrBrdt() { - return ifEmpty(rtpyrBrdt, () -> null); - } - - public T setRtpyrBrdt(String rtpyrBrdt) { - this.rtpyrBrdt = rtpyrBrdt; - return self(); - } - - public String getRtpyrNm() { - return ifEmpty(rtpyrNm, () -> null); - } - - public T setRtpyrNm(String rtpyrNm) { - this.rtpyrNm = rtpyrNm; - return self(); - } - - public String getFyr() { - return ifEmpty(fyr, () -> null); - } - - public T setFyr(String fyr) { - this.fyr = fyr; - return self(); - } - - public String getLevyNo() { - return ifEmpty(levyNo, () -> null); - } - - public T setLevyNo(String levyNo) { - this.levyNo = levyNo; - return self(); - } - - // ETC ///////////////////////////////////////////////////////////////////// - public String getCallPurpose() { - return ifEmpty(callPurpose, () -> null); - } - - public T setCallPurpose(String callPurpose) { - this.callPurpose = callPurpose; - return self(); - } - - public String getDelRsn() { - return ifEmpty(delRsn, () -> null); - } - - public T setDelRsn(String delRsn) { - this.delRsn = delRsn; - return self(); - } - - public String getInquiryCondition() { - return ifEmpty(inquiryCondition, () -> null); - } - - public T setInquiryCondition(String inquiryCondition) { - this.inquiryCondition = inquiryCondition; - return self(); - } - // ETC ///////////////////////////////////////////////////////////////////// - -} diff --git a/src/main/java/cokr/xit/fims/sprt/dao/CvlcptDscsnMapper.java b/src/main/java/cokr/xit/fims/sprt/dao/CvlcptDscsnMapper.java deleted file mode 100644 index 73ae3616..00000000 --- a/src/main/java/cokr/xit/fims/sprt/dao/CvlcptDscsnMapper.java +++ /dev/null @@ -1,90 +0,0 @@ -package cokr.xit.fims.sprt.dao; - -import java.util.List; - -import org.egovframe.rte.psl.dataaccess.mapper.Mapper; - -import cokr.xit.fims.sprt.CvlcptDscsn; -import cokr.xit.fims.sprt.CvlcptDscsnQuery; -import cokr.xit.foundation.component.AbstractMapper; -import cokr.xit.foundation.data.DataObject; - -/**업무지원 - 민원 상담 내용 정보 DAO - * - *

    상세 설명: - * - *

    - * ============ 변경 이력 ============
    - * 2023-09-05	JoJH 최초 작성
    - * ================================
    - * 
    - */ -@Mapper("cvlcptDscsnMapper") -public interface CvlcptDscsnMapper extends AbstractMapper { - - /**지정한 조건에 따라 민원 상담 내용 목록을 조회하여 반환한다.
    - * @param req 민원 상담 내용 조회 조건 - * @return 민원 상담 내용 목록 - */ - List selectCvlcptDscsnList(CvlcptDscsnQuery req); - - /**지정한 조건에 따라 민원 상담 내용 객체들을 반환한다. - * @param req 민원 상담 내용 조회 조건 - * @return 민원 상담 내용 객체 목록 - */ - List selectCvlcptDscsns(CvlcptDscsnQuery req); - - /**지정한 조건에 따라 민원 상담 내용 건수를 반환한다. - * @param req 민원 상담 내용 조회 조건 - * @return 민원 상담 내용 객체 목록 - */ - DataObject selectCvlcptDscsnNocs(CvlcptDscsnQuery req); - - /**지정한 조건에 따라 민원 상담 내용 대장 객체의 마지막 1개를 반환한다. - * @param cvlcptDscsnId 민원 상담 ID - * @return 민원 상담 내용 대장 객체 - */ - default DataObject selectCvlcptDscsnInfo(CvlcptDscsnQuery req) { - if (req.getOrderBy() == null) { - req.setOrderBy("CD.CVLCPT_DSCSN_ID DESC"); - } - - List cvlcptDscsns = selectCvlcptDscsns(req); - - return !cvlcptDscsns.isEmpty() ? cvlcptDscsns.get(0) : null; - } - - /**민원 상담 내용 정보를 등록한다. - * @param params 파라미터 - *
    • "cvlcptDscsnCn" - 민원 상담 내용
    • - *
    • "currentUser" - 현재 접속한 사용자
    • - *
    - * @return 저장된 정보수 - */ - int insertCvlcptDscsn(CvlcptDscsn cvlcptDscsn); - - /**민원 상담 내용 정보를 수정한다. - * @param params 파라미터 - *
    • "cvlcptDscsnCn" - 민원 상담 내용
    • - *
    • "currentUser" - 현재 접속한 사용자
    • - *
    - * @return 저장된 정보수 - */ - int updateCvlcptDscsn(CvlcptDscsn cvlcptDscsn); - - /**지정한 민원 상담 내용을 삭제한다. - * @param params 파라미터 - *
    • "cvlcptDscsnCn" - 민원 상담 내용
    • - *
    • "currentUser" - 현재 접속한 사용자
    • - *
    - * @return 저장된 정보수 - */ - int deleteCvlcptDscsn(CvlcptDscsn cvlcptDscsn); - - /**지정한 단속 ID의 단속 정보를 반환한다. - * @param crdnId 단속 ID - * @return 단속 정보 - */ - DataObject selectCrdn(CvlcptDscsnQuery req); - -} diff --git a/src/main/java/cokr/xit/fims/sprt/dao/IntegrationSearchMapper.java b/src/main/java/cokr/xit/fims/sprt/dao/IntegrationSearchMapper.java deleted file mode 100644 index 3311b4a9..00000000 --- a/src/main/java/cokr/xit/fims/sprt/dao/IntegrationSearchMapper.java +++ /dev/null @@ -1,35 +0,0 @@ -package cokr.xit.fims.sprt.dao; - -import java.util.List; - -import org.egovframe.rte.psl.dataaccess.mapper.Mapper; - -import cokr.xit.fims.sprt.SprtQuery; -import cokr.xit.foundation.component.AbstractMapper; -import cokr.xit.foundation.data.DataObject; - -/** 업무지원 - 통합 조회 DAO -* -*

    상세 설명: -* -*

    -* ============ 변경 이력 ============
    -* 2023-10-26	leebj 최초 작성
    -* ================================
    -* 
    -*/ -@Mapper("integrationSearchMapper") -public interface IntegrationSearchMapper extends AbstractMapper { - - /**지정한 조건에 따라 통합 조회 자료 목록을 조회하여 반환한다.
    - * @param query 통합 조회 조건 - * @return 조회 목록 - */ - List selectIntegrationDataList(SprtQuery query); - - /**지정한 단속 ID의 최근 발송상세정보를 조회한다.
    - * @param crdnId 단속 ID - * @return 발송 상세 정보 - */ - DataObject selectLatestSndngDtlInfo(String crdnId); -} diff --git a/src/main/java/cokr/xit/fims/sprt/dao/MediaMapper.java b/src/main/java/cokr/xit/fims/sprt/dao/MediaMapper.java deleted file mode 100644 index 3ad99d33..00000000 --- a/src/main/java/cokr/xit/fims/sprt/dao/MediaMapper.java +++ /dev/null @@ -1,25 +0,0 @@ -package cokr.xit.fims.sprt.dao; - -import java.util.List; -import java.util.Map; - -import org.egovframe.rte.psl.dataaccess.mapper.Mapper; - -import cokr.xit.foundation.data.DataObject; - -@Mapper("mediaMapper") -public interface MediaMapper { - - /**파일의 모자이크 정보를 조회한다.
    - * @param fileId 파일ID - * @return 모자이크 정보 - */ - List selectMosaicList(String fileId); - - - int reorder(Map params); - - - int copyMosaicInfo(Map param); - -} diff --git a/src/main/java/cokr/xit/fims/sprt/dao/TotalInfoMapper.java b/src/main/java/cokr/xit/fims/sprt/dao/TotalInfoMapper.java deleted file mode 100644 index 5a423234..00000000 --- a/src/main/java/cokr/xit/fims/sprt/dao/TotalInfoMapper.java +++ /dev/null @@ -1,57 +0,0 @@ -package cokr.xit.fims.sprt.dao; - -import java.util.Map; - -import org.egovframe.rte.psl.dataaccess.mapper.Mapper; - -import cokr.xit.fims.crdn.Crdn; -import cokr.xit.fims.sprt.SprtQuery; -import cokr.xit.foundation.component.AbstractMapper; -import cokr.xit.foundation.data.DataObject; - -/** 업무지원 - 개별 총정보 DAO -* -*

    상세 설명: -* -*

    -* ============ 변경 이력 ============
    -* 2023-08-18	JoJH 최초 작성
    -* ================================
    -* 
    -*/ -@Mapper("totalInfoMapper") -public interface TotalInfoMapper extends AbstractMapper { - - /**단속 ID의 개별총정보를 반환한다. - * @param crdnId 단속 ID - * @return 개별총정보 - */ - DataObject selectCrdnInfo(SprtQuery req); - - /**단속 ID의 단속, 납부자, 부과 정보를 반환한다. - * @param crdnId 단속 아이디 - * @return 단속, 납부자, 부과 정보 - */ - DataObject selectCrdnPayerInfo(SprtQuery req); - - /**단속 대장 첨부 파일수 정보를 수정한다. - * @param params 파라미터 - *
    • "crdn" - 단속 대장
    • - *
    • "currentUser" - 현재 접속한 사용자
    • - *
    - * @return 저장된 정보수 - */ - int updateCrdnAtchFileCnt(Map params); - - /**단속 대장 첨부 파일수 정보를 수정한다. - * @param crdn 단속 대장 - * @return 저장 여부 - *
    • 저장됐으면 true
    • - *
    • 그렇지 않으면 false
    • - *
    - */ - default boolean updateCrdnAtchFileCnt(Crdn crdn) { - return crdn != null && updateCrdnAtchFileCnt(params().set("crdn", crdn)) == 1; - } - -} diff --git a/src/main/java/cokr/xit/fims/sprt/service/CvlcptDscsnService.java b/src/main/java/cokr/xit/fims/sprt/service/CvlcptDscsnService.java deleted file mode 100644 index 5de6c517..00000000 --- a/src/main/java/cokr/xit/fims/sprt/service/CvlcptDscsnService.java +++ /dev/null @@ -1,72 +0,0 @@ -package cokr.xit.fims.sprt.service; - -import java.util.List; - -import cokr.xit.foundation.data.DataObject; -import cokr.xit.fims.sprt.CvlcptDscsn; -import cokr.xit.fims.sprt.CvlcptDscsnQuery; - -/**민원 상담 내용 관리 서비스 인터페이스. - * - *

    상세 설명: - * - *

    - * ============ 변경 이력 ============
    - * 2023-09-05	JoJH 최초 작성
    - * ================================
    - * 
    - */ -public interface CvlcptDscsnService { - - /**지정한 조건에 따라 민원 상담 내용 목록을 조회하여 반환한다. - * @param req 민원 상담 내용 조회 조건 - * @return 민원 상담 내용 목록 - */ - List getCvlcptDscsnList(CvlcptDscsnQuery req); - - /**지정한 조건에 따라 민원 상담 내용 객체들을 반환한다. - * @param req 민원 상담 내용 조회 조건 - * @return 민원 상담 내용 객체 목록 - */ - List getCvlcptDscsns(CvlcptDscsnQuery req); - - /**지정한 조건에 따라 민원 상담 내용 건수를 반환한다. - * @param req 민원 상담 내용 조회 조건 - * @return 민원 상담 내용 객체 목록 - */ - DataObject getCvlcptDscsnNocs(CvlcptDscsnQuery req); - - /**지정한 조건에 따라 민원 상담 내용을 반환한다.
    - * @param cvlcptDscsnId 민원 상담 ID - * @return 부과제외 정보 - */ - DataObject getCvlcptDscsnInfo(CvlcptDscsnQuery req); - - /**민원 상담 내용 정보를 등록한다. - * @param cvlcptDscsnCn 민원 상담 내용 - * @return 저장 여부 - *
    • 저장됐으면 true
    • - *
    • 그렇지 않으면 false
    • - *
    - */ - String createCvlcptDscsn(CvlcptDscsn cvlcptDscsnCn); - - /**민원 상담 내용 대장 정보를 수정한다. - * @param cvlcptDscsnCn 민원 상담 내용 - * @return 저장 여부 - *
    • 저장됐으면 true
    • - *
    • 그렇지 않으면 false
    • - *
    - */ - String updateCvlcptDscsn(CvlcptDscsn cvlcptDscsnCn); - - /**민원 상담 내용 대장 정보를 삭제한다. - * @param cvlcptDscsnCn 민원 상담 내용 - * @return 저장 여부 - *
    • 저장됐으면 true
    • - *
    • 그렇지 않으면 false
    • - *
    - */ - String removeCvlcptDscsn(CvlcptDscsn cvlcptDscsnCn); - -} diff --git a/src/main/java/cokr/xit/fims/sprt/service/IntegrationSearchService.java b/src/main/java/cokr/xit/fims/sprt/service/IntegrationSearchService.java deleted file mode 100644 index 2d14e0a8..00000000 --- a/src/main/java/cokr/xit/fims/sprt/service/IntegrationSearchService.java +++ /dev/null @@ -1,32 +0,0 @@ -package cokr.xit.fims.sprt.service; - -import java.util.List; - -import cokr.xit.fims.sprt.SprtQuery; -import cokr.xit.foundation.data.DataObject; - -/**통합 조회 서비스 인터페이스. -* -*

    상세 설명: -* -*

    -* ============ 변경 이력 ============
    -* 2023-08-18	JoJH 최초 작성
    -* ================================
    -* 
    -*/ -public interface IntegrationSearchService { - - /**지정한 조건에 따라 통합 조회 자료 목록을 반환한다. - * @param query 통합 조회 조건 - * @return 통합 자료 목록 - */ - List getIntegrationDataList(SprtQuery query); - - /**단속 특기사항을 일괄 저장한다. - * @param etcCn 특기사항, crdnIds 단속 ID 목록 - * @return 저장여부 - */ - String updateEtcCn(String etcCn, String... crdnIds); - -} diff --git a/src/main/java/cokr/xit/fims/sprt/service/Sprt02Service.java b/src/main/java/cokr/xit/fims/sprt/service/Sprt02Service.java deleted file mode 100644 index 65c0b026..00000000 --- a/src/main/java/cokr/xit/fims/sprt/service/Sprt02Service.java +++ /dev/null @@ -1,52 +0,0 @@ -package cokr.xit.fims.sprt.service; - -import java.util.List; - -import cokr.xit.base.file.FileInfo; -import cokr.xit.fims.crdn.Crdn; -import cokr.xit.fims.sprt.SprtQuery; -import cokr.xit.foundation.data.DataObject; - -/**개별 총정보 서비스 인터페이스. - * - *

    상세 설명: - * - *

    - * ============ 변경 이력 ============
    - * 2023-08-18	JoJH 최초 작성
    - * ================================
    - * 
    - */ -public interface Sprt02Service { - - /**단속 ID의 개별총정보를 반환한다. - * @param crdnId 단속 ID - * @return 개별총정보 - */ - DataObject getCrdnInfo(SprtQuery req); - - /**단속 ID의 단속, 납부자정보를 반환한다. - * @param crdnId 단속 ID - * @return 단속, 납부자 정보 - */ - DataObject getCrdnPayerInfo(SprtQuery req); - - /**단속 ID의 단속, 납부자, 부과 정보를 반환한다. - * @param crdnId 단속 ID - * @return 단속, 납부자, 부과 정보 - */ - List getCrdnFileList(SprtQuery req); - - /** 단속 사진에 대한 정보를 수정한다. - * @param crdn 단속 대장, newFileInfoList 업로드 파일 목록 - * @return 저장 메시지 - */ - String updateCrdnImageFile(Crdn crdn, List newFileInfoList); - - /** 단속 사진에 대한 정보를 삭제한다. - * @param crdnId 단속 Id, atchFileCnt 첨부 파일 갯수, fileIDs 파일 IDs - * @return 저장 메시지 - */ - String removeCrdnImageFile(String crdnId, Integer atchFileCnt, String... fileIDs); - -} diff --git a/src/main/java/cokr/xit/fims/sprt/service/bean/CvlcptDscsnBean.java b/src/main/java/cokr/xit/fims/sprt/service/bean/CvlcptDscsnBean.java deleted file mode 100644 index 0dedf639..00000000 --- a/src/main/java/cokr/xit/fims/sprt/service/bean/CvlcptDscsnBean.java +++ /dev/null @@ -1,156 +0,0 @@ -package cokr.xit.fims.sprt.service.bean; - -import java.util.List; - -import javax.annotation.Resource; - -import org.springframework.stereotype.Component; - -import cokr.xit.fims.cmmn.CmmnUtil; -import cokr.xit.fims.sprt.CvlcptDscsn; -import cokr.xit.fims.sprt.CvlcptDscsnQuery; -import cokr.xit.fims.sprt.dao.CvlcptDscsnMapper; -import cokr.xit.foundation.component.AbstractBean; -import cokr.xit.foundation.data.DataObject; - -/**민원 상담 내용 정보 관리 Bean - * - *

    상세 설명: - * - *

    - * ============ 변경 이력 ============
    - * 2023-09-05	JoJH 최초 작성
    - * ================================
    - * 
    - */ -@Component("cvlcptDscsnBean") -public class CvlcptDscsnBean extends AbstractBean { - - /** 민원 상담 내용 정보 DAO */ - @Resource(name = "cvlcptDscsnMapper") - private CvlcptDscsnMapper cvlcptDscsnMapper; - - /**지정한 조건에 따라 민원 상담 내용 목록을 조회하여 반환한다. - * @param req 민원 상담 내용 조회 조건 - * @return 민원 상담 내용 목록 - */ - public List getCvlcptDscsnList(CvlcptDscsnQuery req) { - // 삭제 여부 확인 - if (req.getDelYn() == null) { - req.setDelYn("N"); - } - // 정렬 확인 - if (req.getOrderBy() == null) { - if (req.getBy() == null) { - req.setOrderBy("REG_DT"); - } else { - req.setOrderBy(CmmnUtil.convertCamelCaseToSnakeCase(req.getBy())); - } - } - - return cvlcptDscsnMapper.selectCvlcptDscsnList(req); - } - - /**지정한 조건에 따라 민원 상담 내용 객체들을 반환한다. - * @param req 민원 상담 내용 조회 조건 - * @return 민원 상담 내용 객체 목록 - */ - public List getCvlcptDscsns(CvlcptDscsnQuery req) { - // 삭제 여부 확인 - if (req.getDelYn() == null) { - req.setDelYn("N"); - } - // 정렬 확인 - if (req.getOrderBy() == null) { - req.setOrderBy("CD.CVLCPT_DSCSN_ID DESC"); - } - - return cvlcptDscsnMapper.selectCvlcptDscsns(req); - } - - /**지정한 조건에 따라 민원 상담 내용 건수를 반환한다. - * @param req 민원 상담 내용 조회 조건 - * @return 민원 상담 내용 객체 목록 - */ - public DataObject getCvlcptDscsnNocs(CvlcptDscsnQuery req) { - return cvlcptDscsnMapper.selectCvlcptDscsnNocs(req); - } - - /**지정한 민원 상담 ID의 민원 상담 내용 정보를 반환한다.
    - * @param cvlcptDscsnId 민원 상담 ID - * @return 민원 상담 내용 정보 - */ - public DataObject getCvlcptDscsnInfo(CvlcptDscsnQuery req) { - return cvlcptDscsnMapper.selectCvlcptDscsnInfo(req); - } - - /**민원 상담 내용 정보를 등록한다. - * @param cvlcptDscsnCn 민원 상담 내용 - * @return 저장 여부 - *
    • 저장됐으면 true
    • - *
    • 그렇지 않으면 false
    • - *
    - */ - public String createCvlcptDscsn(CvlcptDscsn cvlcptDscsn) { - // - if (cvlcptDscsn.getCvlcptRcptSeCd().equals("01")) { - cvlcptDscsn.setVhrno(null); - cvlcptDscsn.setRtpyrNo(null); - } else if (cvlcptDscsn.getCvlcptRcptSeCd().equals("02")) { - cvlcptDscsn.setRtpyrNo(null); - } else if (cvlcptDscsn.getCvlcptRcptSeCd().equals("03")) { - cvlcptDscsn.setVhrno(null); - } - - // 민원상담(TB_CVLCPT_DSCSN) 대장을 등록한다. - int rtnNocs = cvlcptDscsnMapper.insertCvlcptDscsn(cvlcptDscsn); - if (rtnNocs != 1) { - throw new RuntimeException("민원상담내용 대장 등록에 실패하였습니다."); // 예외를 발생시켜서 DB Rollback - } - - return "[S] 작업이 정상 처리 되었습니다."; - } - - /**민원 상담 내용 정보를 수정한다. - * @param cvlcptDscsnCn 민원 상담 내용 - * @return 저장 여부 - *
    • 저장됐으면 true
    • - *
    • 그렇지 않으면 false
    • - *
    - */ - public String updateCvlcptDscsn(CvlcptDscsn cvlcptDscsn) { - // 민원상담(TB_CVLCPT_DSCSN) 대장을 수정한다. - int rtnNocs = cvlcptDscsnMapper.updateCvlcptDscsn(cvlcptDscsn); - if (rtnNocs != 1) { - throw new RuntimeException("민원상담내용 대장 수정에 실패하였습니다."); // 예외를 발생시켜서 DB Rollback - } - - return "[S] 작업이 정상 처리 되었습니다."; - } - - /**민원 상담 내용 정보를 삭제한다. - * @param cvlcptDscsnCn 민원 상담 내용 - * @return 저장 여부 - *
    • 저장됐으면 true
    • - *
    • 그렇지 않으면 false
    • - *
    - */ - public String removeCvlcptDscsn(CvlcptDscsn cvlcptDscsn) { - // 민원상담(TB_CVLCPT_DSCSN) 대장을 삭제한다. - int rtnNocs = cvlcptDscsnMapper.deleteCvlcptDscsn(cvlcptDscsn); - if (rtnNocs < 1) { - throw new RuntimeException("민원상담내용 대장 삭제에 실패하였습니다."); // 예외를 발생시켜서 DB Rollback - } - - return "[S] 작업이 정상 처리 되었습니다."; - } - - /**지정한 단속 ID의 단속 정보를 반환한다.
    - * @param crndId 단속 ID - * @return 단속 정보 - */ - public DataObject getCrdnInfo(CvlcptDscsnQuery req) { - return cvlcptDscsnMapper.selectCrdn(req); - } - -} diff --git a/src/main/java/cokr/xit/fims/sprt/service/bean/CvlcptDscsnServiceBean.java b/src/main/java/cokr/xit/fims/sprt/service/bean/CvlcptDscsnServiceBean.java deleted file mode 100644 index 6c088aea..00000000 --- a/src/main/java/cokr/xit/fims/sprt/service/bean/CvlcptDscsnServiceBean.java +++ /dev/null @@ -1,71 +0,0 @@ -package cokr.xit.fims.sprt.service.bean; - -import java.util.List; - -import javax.annotation.Resource; - -import org.springframework.stereotype.Service; - -import cokr.xit.foundation.component.AbstractServiceBean; -import cokr.xit.foundation.data.DataObject; -import cokr.xit.fims.sprt.CvlcptDscsn; -import cokr.xit.fims.sprt.CvlcptDscsnQuery; -import cokr.xit.fims.sprt.service.CvlcptDscsnService; - -/**민원 상담 내용 서비스 구현체. - * - *

    상세 설명: - * - *

    - * ============ 변경 이력 ============
    - * 2023-09-05	JoJH 최초 작성
    - * ================================
    - * 
    - */ -@Service("cvlcptDscsnService") -public class CvlcptDscsnServiceBean extends AbstractServiceBean implements CvlcptDscsnService { - - /** 민원 상담 내용 정보 Bean */ - @Resource(name = "cvlcptDscsnBean") - private CvlcptDscsnBean cvlcptDscsnBean; - - @Override - public List getCvlcptDscsnList(CvlcptDscsnQuery req) { - return cvlcptDscsnBean.getCvlcptDscsnList(req); - } - - @Override - public List getCvlcptDscsns(CvlcptDscsnQuery req) { - return cvlcptDscsnBean.getCvlcptDscsns(req); - } - - @Override - public DataObject getCvlcptDscsnNocs(CvlcptDscsnQuery req) { - return cvlcptDscsnBean.getCvlcptDscsnNocs(req); - } - - @Override - public DataObject getCvlcptDscsnInfo(CvlcptDscsnQuery req) { - if (req.getCvlcptDscsnId() != null) { - return cvlcptDscsnBean.getCvlcptDscsnInfo(req); - } else { - return cvlcptDscsnBean.getCrdnInfo(req); - } - } - - @Override - public String createCvlcptDscsn(CvlcptDscsn cvlcptDscsn) { - return cvlcptDscsnBean.createCvlcptDscsn(cvlcptDscsn); - } - - @Override - public String updateCvlcptDscsn(CvlcptDscsn cvlcptDscsn) { - return cvlcptDscsnBean.updateCvlcptDscsn(cvlcptDscsn); - } - - @Override - public String removeCvlcptDscsn(CvlcptDscsn cvlcptDscsn) { - return cvlcptDscsnBean.removeCvlcptDscsn(cvlcptDscsn); - } - -} diff --git a/src/main/java/cokr/xit/fims/sprt/service/bean/IntegrationSearchBean.java b/src/main/java/cokr/xit/fims/sprt/service/bean/IntegrationSearchBean.java deleted file mode 100644 index 4af699fc..00000000 --- a/src/main/java/cokr/xit/fims/sprt/service/bean/IntegrationSearchBean.java +++ /dev/null @@ -1,67 +0,0 @@ -package cokr.xit.fims.sprt.service.bean; - -import java.util.List; - -import javax.annotation.Resource; - -import org.springframework.stereotype.Component; - -import cokr.xit.fims.crdn.Crdn; -import cokr.xit.fims.crdn.dao.CrdnUpdtMapper; -import cokr.xit.fims.sprt.SprtQuery; -import cokr.xit.fims.sprt.dao.IntegrationSearchMapper; -import cokr.xit.foundation.component.AbstractBean; -import cokr.xit.foundation.data.DataObject; - -/**통합 조회 Bean -* -*

    상세 설명: -* -*

    -* ============ 변경 이력 ============
    -* 2023-08-18	JoJH 최초 작성
    -* ================================
    -* 
    -*/ -@Component("integrationSearchBean") -public class IntegrationSearchBean extends AbstractBean { - - /** 통합 조회 정보 DAO */ - @Resource(name = "integrationSearchMapper") - private IntegrationSearchMapper integrationSearchMapper; - - @Resource(name = "crdnUpdtMapper") - private CrdnUpdtMapper crdnUpdtMapper; - - /**지정한 조건에 따라 통합 조회 자료 목록을 조회하여 반환한다. - * @param query 통합 조회 조건 - * @return 통합 자료 목록 - */ - public List getIntegrationDataList(SprtQuery query) { - query.setOrderBy("C.CRDN_ID"); - return integrationSearchMapper.selectIntegrationDataList(query); - } - - /**단속 특기사항을 일괄 저장한다. - * @param etcCn 특기사항, crdnIds 단속 ID 목록 - * @return 저장여부 - */ - public boolean updateEtcCn(String etcCn, String[] crdnIds) { - - Crdn crdn = new Crdn(); - crdn.setEtcCn(etcCn); - - int effected = 0; - for(String crdnId : crdnIds) { - crdn.setCrdnId(crdnId); - int result = crdnUpdtMapper.updateEtcCn(crdn); - effected += result; - } - - if(effected != crdnIds.length) { - throw new RuntimeException("특기사항 저장 중 오류가 발생하였습니다."); - } - return true; - } - -} diff --git a/src/main/java/cokr/xit/fims/sprt/service/bean/IntegrationSearchServiceBean.java b/src/main/java/cokr/xit/fims/sprt/service/bean/IntegrationSearchServiceBean.java deleted file mode 100644 index 4b0818a1..00000000 --- a/src/main/java/cokr/xit/fims/sprt/service/bean/IntegrationSearchServiceBean.java +++ /dev/null @@ -1,71 +0,0 @@ -package cokr.xit.fims.sprt.service.bean; - -import java.util.List; - -import javax.annotation.Resource; - -import org.springframework.stereotype.Service; - -import cokr.xit.base.file.service.bean.FileBean; -import cokr.xit.fims.cmmn.dao.OtptStngMapper; -import cokr.xit.fims.cmmn.service.bean.StngBean; -import cokr.xit.fims.crdn.dao.CrdnListMapper; -import cokr.xit.fims.sprt.SprtQuery; -import cokr.xit.fims.sprt.dao.IntegrationSearchMapper; -import cokr.xit.fims.sprt.service.IntegrationSearchService; -import cokr.xit.foundation.component.AbstractServiceBean; -import cokr.xit.foundation.data.DataObject; - -/**통합 조회 서비스 구현체. -* -*

    상세 설명: -* -*

    -* ============ 변경 이력 ============
    -* 2023-08-18	JoJH 최초 작성
    -* ================================
    -* 
    -*/ -@Service("integrationSearchService") -public class IntegrationSearchServiceBean extends AbstractServiceBean implements IntegrationSearchService { - - /** 업무지원 Bean */ - @Resource(name="integrationSearchBean") - protected IntegrationSearchBean integrationSearchBean; - - @Resource(name="crdnListMapper") - protected CrdnListMapper crdnListMapper; - - @Resource(name="fileBean") - protected FileBean fileBean; - - @Resource(name = "stngBean") - protected StngBean stngBean; - - @Resource(name = "integrationSearchMapper") - protected IntegrationSearchMapper integrationSearchMapper; - - @Resource(name = "otptStngMapper") - protected OtptStngMapper otptStngMapper; - - @Resource(name="mediaBean") - private MediaBean mediaBean; - - @Override - public List getIntegrationDataList(SprtQuery query) { - return integrationSearchBean.getIntegrationDataList(query); - } - - @Override - public String updateEtcCn(String etcCn, String... crdnIds) { - - boolean result = integrationSearchBean.updateEtcCn(etcCn, crdnIds); - if(result) { - return "[S]"; - } else { - return "[F]"; - } - } - - -} diff --git a/src/main/java/cokr/xit/fims/sprt/service/bean/MediaBean.java b/src/main/java/cokr/xit/fims/sprt/service/bean/MediaBean.java deleted file mode 100644 index 23e8e70d..00000000 --- a/src/main/java/cokr/xit/fims/sprt/service/bean/MediaBean.java +++ /dev/null @@ -1,133 +0,0 @@ -package cokr.xit.fims.sprt.service.bean; - -import java.io.InputStream; -import java.util.HashMap; -import java.util.List; -import java.util.Map; - -import javax.annotation.Resource; - -import org.assertj.core.util.Arrays; -import org.springframework.stereotype.Component; - -import cokr.xit.base.file.service.FileQuery; -import cokr.xit.base.file.service.bean.FileBean; -import cokr.xit.fims.cmmn.PstnAndSize; -import cokr.xit.fims.crdn.dao.CrdnInfoMapper; -import cokr.xit.fims.sprt.MediaUtil; -import cokr.xit.fims.sprt.Sprt; -import cokr.xit.fims.sprt.dao.MediaMapper; -import cokr.xit.foundation.component.AbstractBean; -import cokr.xit.foundation.data.DataObject; - -/**미디어 업무지원 서비스 인터페이스의 구현체 - * @author leebj - */ -@Component("mediaBean") -public class MediaBean extends AbstractBean { - - @Resource(name = "crdnInfoMapper") - private CrdnInfoMapper crdnInfoMapper; - - @Resource(name = "mediaMapper") - private MediaMapper mediaMapper; - - @Resource(name="fileBean") - private FileBean fileBean; - - - public DataObject getVideoInfo(String crdnId) { - DataObject fileInfo = new DataObject(); - - DataObject cvlcptInfo = crdnInfoMapper.selectCrdnInfo(crdnId); - String linkTblNm = cvlcptInfo.string("LINK_TBL_NM"); - if(!linkTblNm.equals("")) { - FileQuery fileQuery = new FileQuery(); - - if(linkTblNm.equals("TB_ESB_INTERFACE")) { - fileQuery.setInfoType("010"); - } else if(linkTblNm.equals("TB_SA_CVLCPT_DTL")) { - fileQuery.setInfoType("020"); - } else { - throw new RuntimeException("파일 조회 중 오류가 발생하였습니다."); - } - fileQuery.setInfoKeys(cvlcptInfo.string("LINK_ID")); - - List fileList = fileBean.getFileList(fileQuery); - if(fileList != null && !fileList.isEmpty()) { - for(int i=0; i < fileList.size() ;i++) { - DataObject file = fileList.get(i); - String mimeType = file.string("MIME_TYPE"); - if(Arrays.asList(Sprt.VIDEO_MIME_TYPE).contains(mimeType)){ - fileInfo = file; - break; - } - } - } - } - - return fileInfo; - } - - public List getFileAndMosaic(FileQuery fileQuery){ - - List fileList = fileBean.getFileList(fileQuery); - for(DataObject fileInfo : fileList) { - List mosaicInfos = this.getMosaicList(fileInfo.string("FILE_ID")); - if(mosaicInfos != null) { - String mosaic = ""; - for(int i=0; i < mosaicInfos.size(); i++) { - DataObject mosaicInfo = mosaicInfos.get(i); - if(i != 0) { - mosaic += "|"; - } - mosaic += mosaicInfo.string("X_AXS") - + "," + mosaicInfo.string("Y_AXS") - + "," + mosaicInfo.string("MOSC_LEN") - + "," + mosaicInfo.string("MOSC_HGT"); - } - fileInfo.set("MOSAIC", mosaic); - } else { - fileInfo.set("MOSAIC", ""); - } - - } - - return fileList; - } - - /**파일의 모자이크 정보를 조회한다.
    - * @param fileId 파일ID - * @return 모자이크 정보 - */ - public List getMosaicList(String fileId){ - return mediaMapper.selectMosaicList(fileId); - } - - public List getTransformedMosaic(String imageKey, InputStream inputStream, PstnAndSize pstnAndSize_in_print) { - List mosaicInfos = this.getMosaicList(imageKey); - return MediaUtil.getTransformedMosaic(mosaicInfos, inputStream, pstnAndSize_in_print); - - - } - - public int reorder(String fileId, int i) { - Map params = new HashMap<>(); - params.put("fileId", fileId); - params.put("srtOrd", i); - return mediaMapper.reorder(params); - } - - public void copyMosaicInfo(String oldFileId, String newFileId) { - - DataObject param = new DataObject().set("currentUser", currentUser()); - param.put("oldFileId", oldFileId); - param.put("newFileId", newFileId); - - List mosaicInfos = this.getMosaicList(oldFileId); - for(DataObject mosaicInfo : mosaicInfos) { - param.set("oldMoscId", mosaicInfo.string("MOSC_ID")); - mediaMapper.copyMosaicInfo(param); - } - } -} diff --git a/src/main/java/cokr/xit/fims/sprt/service/bean/Sprt02Bean.java b/src/main/java/cokr/xit/fims/sprt/service/bean/Sprt02Bean.java deleted file mode 100644 index 340adb91..00000000 --- a/src/main/java/cokr/xit/fims/sprt/service/bean/Sprt02Bean.java +++ /dev/null @@ -1,140 +0,0 @@ -package cokr.xit.fims.sprt.service.bean; - -import java.util.List; - -import javax.annotation.Resource; - -import org.springframework.stereotype.Component; - -import cokr.xit.base.file.FileInfo; -import cokr.xit.base.file.service.FileQuery; -import cokr.xit.base.file.service.bean.FileBean; -import cokr.xit.fims.crdn.Crdn; -import cokr.xit.fims.sprt.SprtQuery; -import cokr.xit.fims.sprt.dao.TotalInfoMapper; -import cokr.xit.foundation.component.AbstractBean; -import cokr.xit.foundation.data.DataObject; - -/**개별 총정보 Bean -* -*

    상세 설명: -* -*

    -* ============ 변경 이력 ============
    -* 2023-08-18	JoJH 최초 작성
    -* ================================
    -* 
    -*/ -@Component("sprt02Bean") -public class Sprt02Bean extends AbstractBean { - - /** 개별 총정보 DAO */ - @Resource(name = "totalInfoMapper") - private TotalInfoMapper totalInfoMapper; - - /** 파일 Bean */ - @Resource(name="fileBean") - private FileBean fileBean; - - /**지정한 조건에 따라 개별총정보의 main(단속) 정보를 반환한다. - * @param req 개별 총정보 조회 조건 - * @return main(단속) 정보 - */ - public DataObject getCrdnInfo(SprtQuery req) { - return totalInfoMapper.selectCrdnInfo(req); - } - - /**지정한 조건에 따라 개별총정보의 단속, 납부자 정보를 반환한다. - * @param req 개별 총정보 조회 조건 - * @return 단속, 납부자 정보 - */ - public DataObject getCrdnPayerInfo(SprtQuery req) { - return totalInfoMapper.selectCrdnPayerInfo(req); - } - - /** 단속 사진에 대한 정보를 수정한다. - * @param crdn 단속 대장, newFileInfoList 업로드 파일 목록 - * @return 저장 메시지 - */ - public String updateCrdnImageFile(Crdn crdn, List newFileInfoList) { - // 변수 선언 - boolean rtnScs = false; // DB 처리 결과 - String rtnMsg = "[F] "; // 처리 결과 메시지 - - // 파일 등록 - int fileInsertEffected = fileBean.create(newFileInfoList); - - // 단속 ID로 파일(TB_FILE) 정보 조회 - List infoFileList = fileBean.getFileList(new FileQuery().setInfoType(Crdn.INF_TYPE) - .setInfoKeys(crdn.getCrdnId()) - .setOrderBy("FILE_ID")); - - if (infoFileList != null && infoFileList.size() > 0) { - String[] fileIDs = new String[infoFileList.size()]; - - for (int iLoop = 0; iLoop < infoFileList.size(); iLoop++) { - fileIDs[iLoop] = infoFileList.get(iLoop).string("FILE_ID"); - } - - fileBean.reorder(fileIDs); // 첨부파일 재 정렬 - } - - crdn.setAtchFileCnt(crdn.getAtchFileCnt() + fileInsertEffected); - - // 단속 대장을 수정한다. - rtnScs = totalInfoMapper.updateCrdnAtchFileCnt(crdn); - if (!rtnScs) { - // 예외를 발생시켜서 오류메세지를 보내고 DB Rollback - throw new RuntimeException("단속 첨부 파일 갯수 수정에 실패하였습니다."); - } - - rtnMsg = "[S] 작업이 정상 처리 되었습니다."; - - return rtnMsg; - } - - /** 단속 사진에 대한 정보를 삭제한다. - * @param crdnId 단속 Id, atchFileCnt 첨부 파일 갯수, fileIDs 파일 IDs - * @return 저장 메시지 - */ - public String removeCrdnImageFile(String crdnId, Integer atchFileCnt, String... fileIDs) { - // 변수 선언 - boolean rtnScs = false; // DB 처리 결과 - String rtnMsg = "[F] "; // 처리 결과 메시지 - - // 파일 삭제 - int fileInsertEffected = fileBean.remove(fileIDs); - - // 단속 ID로 파일(TB_FILE) 정보 조회 - List infoFileList = fileBean.getFileList(new FileQuery().setInfoType(Crdn.INF_TYPE) - .setInfoKeys(crdnId) - .setOrderBy("FILE_ID")); - - if (infoFileList != null && infoFileList.size() > 0) { - String[] reorderFileIDs = new String[infoFileList.size()]; - - for (int iLoop = 0; iLoop < infoFileList.size(); iLoop++) { - reorderFileIDs[iLoop] = infoFileList.get(iLoop).string("FILE_ID"); - } - - fileBean.reorder(reorderFileIDs); // 첨부파일 재 정렬 - } - - Crdn crdn = new Crdn(); - - crdn.setCrdnId(crdnId); - crdn.setAtchFileCnt(atchFileCnt - fileInsertEffected); - - // 단속 대장을 수정한다. - rtnScs = totalInfoMapper.updateCrdnAtchFileCnt(crdn); - if (!rtnScs) { - // 예외를 발생시켜서 오류메세지를 보내고 DB Rollback - throw new RuntimeException("단속 첨부 파일 갯수 수정에 실패하였습니다."); - } - - rtnMsg = "[S] 작업이 정상 처리 되었습니다."; - - return rtnMsg; - } - -} diff --git a/src/main/java/cokr/xit/fims/sprt/service/bean/Sprt02ServiceBean.java b/src/main/java/cokr/xit/fims/sprt/service/bean/Sprt02ServiceBean.java deleted file mode 100644 index 649014b3..00000000 --- a/src/main/java/cokr/xit/fims/sprt/service/bean/Sprt02ServiceBean.java +++ /dev/null @@ -1,80 +0,0 @@ -package cokr.xit.fims.sprt.service.bean; - -import java.util.List; - -import javax.annotation.Resource; - -import org.springframework.stereotype.Service; - -import cokr.xit.base.file.FileInfo; -import cokr.xit.base.file.service.FileQuery; -import cokr.xit.base.file.service.bean.FileBean; -import cokr.xit.fims.crdn.Crdn; -import cokr.xit.fims.sprt.SprtQuery; -import cokr.xit.fims.sprt.service.Sprt02Service; -import cokr.xit.foundation.component.AbstractServiceBean; -import cokr.xit.foundation.data.DataObject; - -/**개별 총정보 서비스 구현체. -* -*

    상세 설명: -* -*

    -* ============ 변경 이력 ============
    -* 2023-08-18	JoJH 최초 작성
    -* ================================
    -* 
    -*/ -@Service("sprt02Service") -public class Sprt02ServiceBean extends AbstractServiceBean implements Sprt02Service { - - /** 업무지원 Bean */ - @Resource(name="sprt02Bean") - protected Sprt02Bean sprt02Bean; - - /** 파일 Bean */ - @Resource(name="fileBean") - private FileBean fileBean; - - @Override - public DataObject getCrdnInfo(SprtQuery req) { - return sprt02Bean.getCrdnInfo(req); - } - - @Override - public DataObject getCrdnPayerInfo(SprtQuery req) { - // 단속, 납부자 조회 - DataObject dataObject = sprt02Bean.getCrdnPayerInfo(req); - - // 단속 파일 조회 - List fileList = getCrdnFileList(req); - - if (fileList != null && !fileList.isEmpty()) { - dataObject.set("fileList", fileList); - } - - return dataObject; - } - - @Override - public List getCrdnFileList(SprtQuery req) { - // 첨부 파일 조회 - FileQuery fileQuery = new FileQuery(); - - fileQuery.setInfoType(Crdn.INF_TYPE); - fileQuery.setInfoKeys(req.getCrdnId()); - - return fileBean.getFileList(fileQuery); - } - - @Override - public String updateCrdnImageFile(Crdn crdn, List newFileInfoList) { - return sprt02Bean.updateCrdnImageFile(crdn, newFileInfoList); - } - - @Override - public String removeCrdnImageFile(String crdnId, Integer atchFileCnt, String... fileIDs) { - return sprt02Bean.removeCrdnImageFile(crdnId, atchFileCnt, fileIDs); - } - -} diff --git a/src/main/java/cokr/xit/fims/sprt/web/Sprt01Controller.java b/src/main/java/cokr/xit/fims/sprt/web/Sprt01Controller.java deleted file mode 100644 index 3f1e47b7..00000000 --- a/src/main/java/cokr/xit/fims/sprt/web/Sprt01Controller.java +++ /dev/null @@ -1,1111 +0,0 @@ -package cokr.xit.fims.sprt.web; - -import java.text.SimpleDateFormat; -import java.util.ArrayList; -import java.util.Date; -import java.util.Enumeration; -import java.util.HashMap; -import java.util.List; -import java.util.Map; - -import javax.annotation.Resource; -import javax.servlet.http.HttpServletRequest; - -import org.apache.poi.ss.usermodel.CellStyle; -import org.springframework.stereotype.Controller; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.servlet.ModelAndView; - -import cokr.xit.applib.Print; -import cokr.xit.base.code.CommonCode; -import cokr.xit.base.docs.xls.CellDef; -import cokr.xit.base.docs.xls.Format; -import cokr.xit.base.docs.xls.Style; -import cokr.xit.base.docs.xls.XLSWriter; -import cokr.xit.base.file.service.FileQuery; -import cokr.xit.base.file.service.bean.FileBean; -import cokr.xit.base.user.dao.UserMapper; -import cokr.xit.base.web.ApplicationController; -import cokr.xit.fims.base.FimsUser; -import cokr.xit.fims.base.service.bean.OgdpBean; -import cokr.xit.fims.cmmn.CmmnUtil; -import cokr.xit.fims.cmmn.FimsPrintOption; -import cokr.xit.fims.cmmn.OtptStngQuery; -import cokr.xit.fims.cmmn.OutsourcingFileMaker; -import cokr.xit.fims.cmmn.OutsourcingStngQuery; -import cokr.xit.fims.cmmn.dao.OtptStngMapper; -import cokr.xit.fims.cmmn.hwp.format.CrdnConfirm; -import cokr.xit.fims.cmmn.hwp.format.CrdnList; -import cokr.xit.fims.cmmn.hwp.format.RcvmtConfirm; -import cokr.xit.fims.cmmn.hwp.format.ReportOnClaims; -import cokr.xit.fims.cmmn.hwp.format.RequestForDelivery; -import cokr.xit.fims.cmmn.pdf.print.format.Advntce; -import cokr.xit.fims.cmmn.pdf.print.format.Nht; -import cokr.xit.fims.cmmn.service.bean.OtptStngBean; -import cokr.xit.fims.cmmn.service.bean.OutsourcingStngBean; -import cokr.xit.fims.cmmn.service.bean.StngBean; -import cokr.xit.fims.cmmn.xls.FormatMaker; -import cokr.xit.fims.cmmn.xls.StyleMaker; -import cokr.xit.fims.crdn.Crdn; -import cokr.xit.fims.crdn.CrdnQuery; -import cokr.xit.fims.crdn.dao.CrdnListMapper; -import cokr.xit.fims.mngt.service.bean.TaskBean; -import cokr.xit.fims.sndb.SndbQuery; -import cokr.xit.fims.sndb.Sndng; -import cokr.xit.fims.sndb.service.bean.SndngBean; -import cokr.xit.fims.sprt.Keyword; -import cokr.xit.fims.sprt.SprtQuery; -import cokr.xit.fims.sprt.dao.IntegrationSearchMapper; -import cokr.xit.fims.sprt.service.IntegrationSearchService; -import cokr.xit.fims.sprt.service.bean.MediaBean; -import cokr.xit.foundation.UserInfo; -import cokr.xit.foundation.data.DataObject; - -/**통합 조회 서비스의 웹 컨트롤러 -* -*

    상세 설명: -* -*

    -* ============ 변경 이력 ============
    -* 2023-08-18	JoJH 최초 작성
    -* ================================
    -* 
    -*/ -@Controller -@RequestMapping(name = "통합 조회", value = Sprt01Controller.CLASS_URL) -public class Sprt01Controller extends ApplicationController { - - public static final String CLASS_URL = "/sprt/sprt01"; - - public class METHOD_URL { - public static final String - integrationSearchMain = "/010/main.do", - getIntegrationDataList = "/010/list.do", - manageEtcCnMain = "/020/info.do", - - inputEtcCnMain = "/100/info.do", - inputEtcCn = "/100/update.do", - printCrdnMain = "/110/info.do", - makeCrdnListFileFromHwpFormat = "/110/makeCrdnListFileFromHwpFormat.do", - makeCrdnConfirmFileFromHwpFormat = "/110/makeCrdnConfirmFileFromHwpFormat.do", - printBillMain = "/120/info.do", - makeRequestForDeliveryFileFromHwpFormat = "/120/makeRequestForDeliveryFileFromHwpFormat.do", - makeReportOnClaimsFileFromHwpFormat = "/120/makeReportOnClaimsFileFromHwpFormat.do", - makeRcvmtConfirmFileFromHwpFormat = "/130/makeRcvmtConfirmFileFromHwpFormat.do", - printAdvntceMain = "/140/info.do", - makeAdvntcePdf = "/140/makeAdvntcePdf.do", - makeAdvntceOutsourcing = "/140/makeAdvntceOutsourcing.do", - printNhtMain = "/150/info.do", - makeNhtPdf = "/150/makeNhtPdf.do", - makeNhtOutsourcing = "/150/makeNhtOutsourcing.do" - ; - } - - /**통합 조회 서비스*/ - @Resource(name="integrationSearchService") - private IntegrationSearchService integrationSearchService; - - @Resource(name="userMapper") - protected UserMapper userMapper; - - @Resource(name="otptStngBean") - protected OtptStngBean otptStngBean; - - @Resource(name="outsourcingStngBean") - protected OutsourcingStngBean outsourcingStngBean; - - @Resource(name = "fileBean") - private FileBean fileBean; - - @Resource(name = "sndngBean") - private SndngBean sndngBean; - - @Resource(name = "taskBean") - private TaskBean taskBean; - - @Resource(name = "ogdpBean") - private OgdpBean ogdpBean; - - @Resource(name = "mediaBean") - private MediaBean mediaBean; - - @Resource(name = "stngBean") - private StngBean stngBean; - - @Resource(name = "crdnListMapper") - private CrdnListMapper crdnListMapper; - - @Resource(name = "integrationSearchMapper") - private IntegrationSearchMapper integrationSearchMapper; - - @Resource(name = "otptStngMapper") - private OtptStngMapper otptStngMapper; - - /**통합 조회 메인화면(fims/sprt/sprt01/010-main)을 연다. - * - * @return /fims/sprt/sprt01010 - */ - @RequestMapping(name="통합조회 메인", value=METHOD_URL.integrationSearchMain) - public ModelAndView integrationSearchMain() { - - ModelAndView mav = new ModelAndView("fims/sprt/sprt01010-main"); - mav.addObject("pageName", "sprt01010"); - - FimsUser currentUser = (FimsUser) currentUser().getUser(); - String sggCd = currentUser.getOrgID(); - mav.addObject("sggCd", sggCd); - - Map> commonCodes = getCodesOf("FIM003", "FIM010", "FIM026", "FIM054" - ,"FIM004","FIM005","FIM006","FIM061","FIM064"); - - mav.addObject("FIM003List", commonCodes.get("FIM003")); - mav.addObject("FIM010List", commonCodes.get("FIM010")); - mav.addObject("FIM026List", commonCodes.get("FIM026")); - mav.addObject("FIM054List", commonCodes.get("FIM054")); - mav.addObject("TaskListForSgg", stngBean.filterTaskSectionCodeForSgg(commonCodes.get("FIM054"))); - mav.addObject("FIM004List", commonCodes.get("FIM004")); - mav.addObject("FIM005List", commonCodes.get("FIM005")); - mav.addObject("FIM006List", commonCodes.get("FIM006")); - mav.addObject("FIM061List", commonCodes.get("FIM061")); - mav.addObject("FIM064List", commonCodes.get("FIM064")); - - - addCodes(commonCodes, mav, "FIM003", "FIM010", "FIM026", "FIM054" - ,"FIM004","FIM005","FIM006","FIM061","FIM064"); - - return mav; - } - - /**지정한 조건에 따라 통합 조회 자료 목록을 반환한다.
    - * {@link IntegrationSearchService#getIntegrationDataList(SprtQuery)} 참고 - * @param query 통합 조회 조건 - * @return jsonView - */ - @RequestMapping(name="통합조회 자료 목록", value=METHOD_URL.getIntegrationDataList) - public ModelAndView getIntegrationDataList(SprtQuery query, HttpServletRequest req) { - ModelAndView mav = new ModelAndView("jsonView"); - - this.makeIntegrationSearchQuery(query, req); - - List list = integrationSearchService.getIntegrationDataList(query); - - List upList = list.stream().filter(item -> item.string("RCVMT_ETC_YN").equals("N")).toList(); - List downList = list.stream().filter(item -> item.string("RCVMT_ETC_YN").equals("Y")).toList(); - - if("xls".equals(query.getDownload())) { - List cellDefs = fromJson(query.getCellDefs(), CellDef.listType()); - - String fileName = "통합조회자료 목록"; - List listForExcel; - if(ifEmpty(query.getGridType(), () -> "").equals("up")) { - fileName += "(미납자료)"; - listForExcel = upList; - } else if(ifEmpty(query.getGridType(), () -> "").equals("down")) { - fileName += "(수납,기타)"; - listForExcel = downList; - } else { - listForExcel = list; - } - - XLSWriter xlsx = new XLSWriter().worksheet(0); - Format format = new Format(xlsx); - CellStyle center = format.cellStyle(Style.CENTER); - CellStyle numeric = format.n_nn0(); - CellStyle dateYMD = format.yyyy_mm_dd(); - CellStyle dateDT = format.yyyy_mm_dd_hh_mm_ss(); - - Map valueMap = new HashMap(); - valueMap.put("시군구명" , format.of("SGG_NM").style(center)); - valueMap.put("과태료명" , format.of("TASK_SE_NM").style(center)); - valueMap.put("민원신청인" , format.of("CVLCPT_APLCNT_NM").style(center)); - valueMap.put("민원접수번호" , format.of("CVLCPT_RCPT_NO").style(center)); - valueMap.put("민원접수일자" , FormatMaker.yyyy_mm_dd(format, "CVLCPT_RCPT_YMD").style(dateYMD)); - valueMap.put("민원목록번호" , format.of("CVLCPT_LIST_NO").style(center)); - valueMap.put("고지번호" , format.of("GOJI_NO").style(center)); - valueMap.put("단속일시" , FormatMaker.yyyy_mm_dd_hh_mm_ss(format, "CRDN_YMD_TM").style(dateDT)); - valueMap.put("단속차량번호" , format.of("VHRNO")); - valueMap.put("대체차량번호" , format.of("RPM_SZR_VHRNO")); - valueMap.put("사진건수" , format.of("ATCH_FILE_CNT").style(center)); - valueMap.put("차량확인" , format.of("PRK_PSBLTY_RSLT_NM").style(center)); - valueMap.put("납부자명" , format.of("RTPYR_NM").style(center)); - valueMap.put("납부자번호" , format.of("RTPYR_NO").style(center)); - valueMap.put("처리상태" , format.of("CRDN_STTS_NM").style(center)); - valueMap.put("처리일자" , FormatMaker.yyyy_mm_dd(format, "CRDN_STTS_CHG_YMD").style(dateYMD)); - valueMap.put("제외일자" , FormatMaker.yyyy_mm_dd(format, "LEVY_EXCL_YMD").style(dateYMD)); - valueMap.put("제외사유" , format.of("LEVY_EXCL_RSN_NM")); - valueMap.put("단속등록구분" , format.of("CRDN_REG_SE_NM").style(center)); - valueMap.put("단속입력구분" , format.of("CRDN_INPT_SE_NM").style(center)); - valueMap.put("단속구분" , format.of("CRDN_SE_NM").style(center)); - valueMap.put("법정동" , format.of("CRDN_STDG_NM").style(center)); - valueMap.put("단속장소" , format.of("CRDN_PLC")); - valueMap.put("의견진술여부" , format.of("OPNN_SBMSN_YN_NM").style(center)); - valueMap.put("사전통지기한" , FormatMaker.yyyy_mm_dd(format, "ADVNTCE_DUDT_YMD").style(dateYMD)); - valueMap.put("견인여부" , format.of("TOWNG_YN_NM").style(center)); - valueMap.put("기타사항" , format.of("ETC_CN")); - valueMap.put("감경구분" , format.of("RDCT_SE_NM").style(center)); - valueMap.put("부과일자" , FormatMaker.yyyy_mm_dd(format, "LEVY_YMD").style(dateYMD)); - valueMap.put("납기일자" , FormatMaker.yyyy_mm_dd(format, "DUDT_YMD").style(dateYMD)); - valueMap.put("미납금액" , format.of("MINAP_AMT").style(numeric)); - valueMap.put("납기후일자" , FormatMaker.yyyy_mm_dd(format, "DUDT_AFTR_YMD").style(dateYMD)); - valueMap.put("납기후금액" , format.of("DUDT_AFTR_AMT").style(numeric)); - valueMap.put("압류일자" , FormatMaker.yyyy_mm_dd(format, "SZR_YMD").style(dateYMD)); - valueMap.put("압류해제일자" , FormatMaker.yyyy_mm_dd(format, "SZR_RMV_YMD").style(dateYMD)); - valueMap.put("과태료금액" , format.of("FFNLG_AMT").style(numeric)); - valueMap.put("본세" , format.of("LEVY_PCPTAX").style(numeric)); - valueMap.put("가산금" , format.of("LEVY_ADAMT").style(numeric)); - valueMap.put("전자납부번호" , format.of("EPAYNO").style(center)); - valueMap.put("은행명" , format.of("BANK_NM").style(center)); - valueMap.put("가상계좌번호" , format.of("VR_ACTNO").style(center)); - valueMap.put("수납유형" , format.of("PAY_MTHD_SE_NM").style(center)); - valueMap.put("수납일자" , FormatMaker.yyyy_mm_dd(format, "RCVMT_YMD").style(dateYMD)); - valueMap.put("수납금액" , format.of("RCVMT_AMT").style(numeric)); - valueMap.put("수납본세" , format.of("RCVMT_PCPTAX").style(numeric)); - valueMap.put("수납가산금" , format.of("RCVMT_ADAMT").style(numeric)); - valueMap.put("거주상태" , format.of("RTPYR_STTS_NM").style(center)); - valueMap.put("납부자주소" , format.of("RTPYR_FULL_ADDR")); - - CellDef.setValues(cellDefs, valueMap); - - xlsx.cell(0, 0).value(fileName).value(center).merge(0, cellDefs.size()-1) - .cell(3, 0).rowValues(CellDef.header(cellDefs, () -> StyleMaker.headerStyle(xlsx))) - .cell(4, 0).values(listForExcel, CellDef.values(cellDefs.stream().map(i -> {if(i.getValue() instanceof Format) {i.setField(null);}; return i;}).toList())); - - return new ModelAndView("downloadView").addObject("download", xlsx.getDownloadable().setFilename(fileName+".xlsx")) - .addObject("downloadData", listForExcel).addObject("dataNames", cellDefs.stream().map(CellDef::getLabel).toList()); - } - - mav.addObject("upList", upList); - mav.addObject("downList", downList); - return mav; - } - - private void makeIntegrationSearchQuery(SprtQuery query, HttpServletRequest req) { - - Map pm = req.getParameterMap(); - Enumeration pns = req.getParameterNames(); - - List ischKeywordSet = new ArrayList<>(); - - List ischOnlyDataSet = new ArrayList<>(); - List ischExclDataSet = new ArrayList<>(); - - while(pns.hasMoreElements()) { - - String key = pns.nextElement(); - String[] value = pm.get(key); - - if(!key.startsWith("isch")) { - continue; - } - if(value == null || value.length == 0) { - continue; - } - - if(value.length == 1 && ifEmpty(value[0], () -> "").equals("")) { - continue; - } - - if(key.startsWith("ischOnlyData") || key.startsWith("ischExclData")) { - String word = this.fnFirstLower(key.substring(12)); - - if(key.startsWith("ischOnlyData")) { - ischOnlyDataSet.add(word); - } else if(key.startsWith("ischExclData")) { - ischExclDataSet.add(word); - } - continue; - } - - String word = this.fnFirstLower(key.substring(4)); - int substringEnd = 0; - if(key.endsWith("Similar")){ - substringEnd = 7; - } else if(key.endsWith("From")) { - substringEnd = 4; - } else if(key.endsWith("To")){ - substringEnd = 2; - } - - if(substringEnd != 0) { - word = word.substring(0, word.length() - substringEnd); - } - - int findIndex = -1; - for (int i = 0; i < ischKeywordSet.size(); i++) { - if (ischKeywordSet.get(i).getName().equals(word)) { - findIndex = i; - break; - } - } - - if(findIndex == -1){ - - Keyword keyword = new Keyword(); - keyword.setName(word); - - if(key.endsWith("Similar")){ - keyword.setSimilar(value[0]); - } else if(key.endsWith("From")){ - keyword.setFrom(value[0]); - } else if(key.endsWith("To")){ - keyword.setTo(value[0]); - } else { - keyword.setValue(value[0]); - } - - ischKeywordSet.add(keyword); - - } else { - - if(key.endsWith("Similar")){ - ischKeywordSet.get(findIndex).setSimilar(value[0]); - } else if(key.endsWith("From")){ - ischKeywordSet.get(findIndex).setFrom(value[0]); - } else if(key.endsWith("To")){ - ischKeywordSet.get(findIndex).setTo(value[0]); - } else { - ischKeywordSet.get(findIndex).setValue(value[0]); - } - - } - } - - ischKeywordSet.removeIf(item -> item.getSimilar() != null && item.getValue() == null); - - query.setIschKeywordSet(ischKeywordSet); - query.setIschOnlyDataSet(ischOnlyDataSet); - query.setIschExclDataSet(ischExclDataSet); - } - - private String fnFirstLower(String string) { - - String temp1 = string.substring(0,1).toLowerCase(); - String temp2 = string.substring(1); - return temp1 + temp2; - } - - - /**특기사항 일괄 입력 화면을 연다. - * - * @return /fims/sprt/sprt01100 - */ - @RequestMapping(name="특기사항 일괄 입력 화면", value=METHOD_URL.inputEtcCnMain) - public ModelAndView inputEtcCnMain(String... crdnIds) { - ModelAndView mav = new ModelAndView("fims/sprt/sprt01100-info"); - mav.addObject("pageName", "sprt01100"); - mav.addObject("crdnIds", toJson(crdnIds)); - - return mav; - } - - /**특기사항을 일괄 갱신한다. - * @param etcCn 특기사항, crdnIds 단속 ID 목록 - * @return jsonView - *
     {
    -	 *     "affected": 저장된 정보수
    -	 *     "saved": 저장되었으면 true, 그렇지 않으면 false
    -	 * }
    - */ - @RequestMapping(name="특기사항 일괄 입력", value=METHOD_URL.inputEtcCn) - public ModelAndView inputEtcCn(Crdn crdn, String... crdnIds) { - ModelAndView mav = new ModelAndView("jsonView"); - - boolean saved = false; - - String rtnMsg = integrationSearchService.updateEtcCn(crdn.getEtcCn(), crdnIds); - if(rtnMsg.contains("[S]")) { - saved = true; - } - mav.addObject("saved", saved); - - return mav; - } - - /**단속내역서,확인서 출력 화면을 연다. - * - * @return /fims/sprt/sprt01110 - */ - @RequestMapping(name="단속 내역서,확인서 출력 화면", value=METHOD_URL.printCrdnMain) - public ModelAndView printCrdnMain(String... crdnIds) { - ModelAndView mav = new ModelAndView("fims/sprt/sprt01110-info"); - mav.addObject("pageName", "sprt01110"); - mav.addObject("crdnIds", toJson(crdnIds)); - - return mav; - } - - /** 단속내역서를 한글 파일로 작성한다. - * @return 단속내역서 hwp파일 - */ - @RequestMapping(name="단속 내역서 한글 파일 생성", value=METHOD_URL.makeCrdnListFileFromHwpFormat) - public ModelAndView makeCrdnListFileFromHwpFormat(String privateInfoYn, String... crdnIds) { - - FimsPrintOption printOption = new FimsPrintOption(); - printOption.setPrivateInfoYn(privateInfoYn); - UserInfo userInfo = currentUser(); - ogdpBean.initUserInfo(userInfo); - Print print = new Print(); - print.setPrintRequestUserInfo(userInfo); - - CrdnQuery query = new CrdnQuery(); - query.setCrdnIds(crdnIds); - List dataObjectList = crdnListMapper.selectCrackdownList(query); - - - CrdnList hwpFormat = new CrdnList(print, printOption, dataObjectList); - HashMap result = hwpFormat.makeFile().andDownload(); - - ModelAndView mav = new ModelAndView("downloadView"); - mav.addAllObjects(result); - return mav; - } - - /** 단속확인서를 한글 파일로 작성한다. - * @return 단속확인서 hwp파일 - */ - @RequestMapping(name="단속 확인서 한글 파일 생성", value=METHOD_URL.makeCrdnConfirmFileFromHwpFormat) - public ModelAndView makeCrdnConfirmFileFromHwpFormat(String... crdnIds) { - - FimsPrintOption printOption = new FimsPrintOption(); - - UserInfo userInfo = currentUser(); - ogdpBean.initUserInfo(userInfo); - Print print = new Print(); - print.setPrintRequestUserInfo(userInfo); - - CrdnQuery query = new CrdnQuery(); - query.setCrdnIds(crdnIds); - List dataObjectList = crdnListMapper.selectCrackdownList(query); - - for(int i=0; i < dataObjectList.size(); i++) { - DataObject dataObject = dataObjectList.get(i); - String crndId = dataObject.string("CRDN_ID"); - - FileQuery fileQuery = new FileQuery(); - fileQuery.setInfoType(Crdn.INF_TYPE); - fileQuery.setInfoKeys(crndId); - List fileInfoList = fileBean.getFileList(fileQuery); - if(fileInfoList != null && fileInfoList.size() > 0) { - dataObject.set("PHOTO1", fileInfoList.get(0).string("URL")); - if(fileInfoList.size() >= 2) - dataObject.set("PHOTO2", fileInfoList.get(1).string("URL")); - if(fileInfoList.size() >= 3) - dataObject.set("PHOTO3", fileInfoList.get(2).string("URL")); - if(fileInfoList.size() >= 4) - dataObject.set("PHOTO4", fileInfoList.get(3).string("URL")); - } - - } - - CrdnConfirm hwpFormat = new CrdnConfirm(print, printOption, dataObjectList); - HashMap result = hwpFormat.makeFile().andDownload(); - ModelAndView mav = new ModelAndView("downloadView"); - mav.addAllObjects(result); - - return mav; - } - - /**교부청구서,채권신고서 출력 화면을 연다. - * - * @return /fims/sprt/sprt01120 - */ - @RequestMapping(name="교부청구서,채권신고서 출력 화면", value=METHOD_URL.printBillMain) - public ModelAndView printBillMain(String... crdnIds) { - ModelAndView mav = new ModelAndView("fims/sprt/sprt01120-info"); - mav.addObject("pageName", "sprt01120"); - mav.addObject("crdnIds", toJson(crdnIds)); - - return mav; - } - - /** 교부청구서를 한글 파일로 작성한다. - * @return hwp파일 - */ - @RequestMapping(name="교부청구서 한글 파일 생성", value=METHOD_URL.makeRequestForDeliveryFileFromHwpFormat) - public ModelAndView makeRequestForDeliveryFileFromHwpFormat(FimsPrintOption printOption, String globalVariableInfo, String... crdnIds) { - - DataObject sggStngInfo = stngBean.getStng("sgg"); - DataObject deptStngInfo = stngBean.getStng("dept"); - - Map globalVariable = new HashMap(); - - DataObject dataObject = fromJson(globalVariableInfo, DataObject.class); - - globalVariable.put("docNo", dataObject.string("docNo")); - globalVariable.put("caseNo", dataObject.string("caseNo")); - globalVariable.put("receiver", dataObject.string("receiver")); - globalVariable.put("rtpyrNm", dataObject.string("rtpyrNm")); - globalVariable.put("rtpyrNo", dataObject.string("rtpyrNo")); - globalVariable.put("vhrno", dataObject.string("vhrno")); - globalVariable.put("rtpyrFullAddr", dataObject.string("rtpyrFullAddr")); - globalVariable.put("dtbnBankNm", deptStngInfo.string("DTBN_BANK_NM")); - globalVariable.put("dtbnActno", deptStngInfo.string("DTBN_ACTNO")); - globalVariable.put("offcsFilePath", sggStngInfo.string("OFFCS_FILE_PATH")); - printOption.setGlobalVariable(globalVariable); - - UserInfo userInfo = currentUser(); - ogdpBean.initUserInfo(userInfo); - Print print = new Print(); - print.setPrintRequestUserInfo(userInfo); - - SprtQuery sprtQuery = new SprtQuery(); - sprtQuery.setCrdnIds(crdnIds); - List dataObjectList = integrationSearchMapper.selectIntegrationDataList(sprtQuery); - - - RequestForDelivery hwpFormat = new RequestForDelivery(print, printOption, dataObjectList); - HashMap result = hwpFormat.makeFile().andDownload(); - ModelAndView mav = new ModelAndView("downloadView"); - mav.addAllObjects(result); - - return mav; - } - - /** 채권신고서를 한글 파일로 작성한다. - * @return 채권신고서 hwp파일 - */ - @RequestMapping(name="채권신고서 한글 파일 생성", value=METHOD_URL.makeReportOnClaimsFileFromHwpFormat) - public ModelAndView makeReportOnClaimsFileFromHwpFormat(FimsPrintOption printOption, String globalVariableInfo, String... crdnIds) { - DataObject sggStngInfo = stngBean.getStng("sgg"); - DataObject deptStngInfo = stngBean.getStng("dept"); - - UserInfo userInfo = currentUser(); - ogdpBean.initUserInfo(userInfo); - Print print = new Print(); - print.setPrintRequestUserInfo(userInfo); - - Map globalVariable = new HashMap(); - - DataObject dataObject = fromJson(globalVariableInfo, DataObject.class); - - globalVariable.put("caseNo", dataObject.string("caseNo")); - globalVariable.put("rtpyrNm", dataObject.string("rtpyrNm")); - globalVariable.put("rtpyrNo", dataObject.string("rtpyrNo")); - globalVariable.put("rtpyrFullAddr", dataObject.string("rtpyrFullAddr")); - - String deptNm = (String) print.getPrintRequestUserInfo().getInfo().get("deptNm"); - String deptAddr = sggStngInfo.string("INST_FULL_ADDR") + " " + deptNm; - globalVariable.put("deptAddr", deptAddr); - globalVariable.put("deptTelno", deptStngInfo.string("DEPT_TELNO")); - globalVariable.put("deptFxno", deptStngInfo.string("DEPT_FXNO")); - globalVariable.put("offcsFilePath", sggStngInfo.string("OFFCS_FILE_PATH")); - printOption.setGlobalVariable(globalVariable); - - SprtQuery sprtQuery = new SprtQuery(); - sprtQuery.setCrdnIds(crdnIds); - List dataObjectList = integrationSearchMapper.selectIntegrationDataList(sprtQuery); - - - ReportOnClaims hwpFormat = new ReportOnClaims(print, printOption, dataObjectList); - HashMap result = hwpFormat.makeFile().andDownload(); - ModelAndView mav = new ModelAndView("downloadView"); - mav.addAllObjects(result); - return mav; - } - - /** 납부확인서를 한글 파일로 작성한다. - * @return 납부확인서 hwp파일 - */ - @RequestMapping(name="납부확인서 한글 파일 생성", value=METHOD_URL.makeRcvmtConfirmFileFromHwpFormat) - public ModelAndView makeRcvmtConfirmFileFromHwpFormat(String... crdnIds) { - - UserInfo userInfo = currentUser(); - ogdpBean.initUserInfo(userInfo); - Print print = new Print(); - print.setPrintRequestUserInfo(userInfo); - - FimsPrintOption printOption = new FimsPrintOption(); - printOption.setGlobalVariable(new HashMap()); - - SprtQuery sprtQuery = new SprtQuery(); - sprtQuery.setCrdnIds(crdnIds); - List dataObjectList = integrationSearchMapper.selectIntegrationDataList(sprtQuery); - - RcvmtConfirm hwpFormat = new RcvmtConfirm(print, printOption, dataObjectList); - HashMap result = hwpFormat.makeFile().andDownload(); - ModelAndView mav = new ModelAndView("downloadView"); - mav.addAllObjects(result); - - return mav; - } - - /**사전통지서 출력 화면을 연다. - * - * @return /fims/sprt/sprt01140 - */ - @RequestMapping(name="사전통지서 출력 화면", value=METHOD_URL.printAdvntceMain) - public ModelAndView printAdvntceMain(String... crdnIds) { - ModelAndView mav = new ModelAndView("fims/sprt/sprt01140-info"); - mav.addObject("pageName", "sprt01140"); - mav.addObject("crdnIds", toJson(crdnIds)); - - return mav; - } - - /** 사전통지서를 PDF 파일로 작성한다. - * @return 사전통지서 PDF파일 - */ - @RequestMapping(name="사전통지서 pdf 파일 생성", value=METHOD_URL.makeAdvntcePdf) - public ModelAndView makeAdvntcePdf(String[] crdnIds, Sndng sndng, FimsPrintOption printOption) { - UserInfo userInfo = currentUser(); - ogdpBean.initUserInfo(userInfo); - - sndng.setSggCd((String)userInfo.getInfo().get("sggCd")); - - ModelAndView mav = new ModelAndView("downloadView"); - SprtQuery sprtQuery = new SprtQuery(); - sprtQuery.setCrdnIds(crdnIds); - - List dataObjectList = new ArrayList(); - if(crdnIds.length == 1 && crdnIds[0].equals("sample")) { - DataObject sample = new Advntce().createSampleData(); - dataObjectList.add(sample); - } else { - //발송 등록 - List dataObjectList0 = integrationSearchMapper.selectIntegrationDataList(sprtQuery); - SndbQuery sndbQuery = new SndbQuery(); - sndbQuery.setCrdnIds(crdnIds); - sndng.setSndngRegSeCd("02"); - sndng.setSndngSeCd("02"); - sndng.setTnocs(crdnIds.length); - sndng.setGramt(CmmnUtil.sumByKey(dataObjectList0, "FFNLG_AMT")); - - SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMdd"); - String today = sdf.format(new Date()); - sndng.setSndngYmd(today); - - sndbQuery.setSggCd(sndng.getSggCd()); - sndbQuery.setTaskSeCd(sndng.getTaskSeCd()); - DataObject advntceYmdInfo = taskBean.getAdvntceYmdInfo(sndbQuery); - String sndngEndYmd = CmmnUtil.addDay(today, advntceYmdInfo.number("ADVNTCE_DAY_CNT").intValue()); - sndng.setSndngEndYmd(sndngEndYmd); - - DataObject first = dataObjectList0.get(0); - sndng.setTtlNm(first.string("TASK_SE_NM")+" "+"사전통지서"); - sndng.setRsndYn("N"); - String insertSndngResult = sndngBean.createAdvntceSndngList(sndbQuery, sndng); - if(!insertSndngResult.contains("[S]")) { - throw new RuntimeException(insertSndngResult); - } - - //발송 등록 후 출력대상조회 - dataObjectList = integrationSearchMapper.selectIntegrationDataList(sprtQuery); - - for(int i=0; i < dataObjectList.size(); i++) { - DataObject dataObject = dataObjectList.get(i); - String crdnId = dataObject.string("CRDN_ID"); - - FileQuery fileQuery = new FileQuery(); - fileQuery.setInfoType(Crdn.INF_TYPE); - fileQuery.setInfoKeys(crdnId); - List fileInfoList = fileBean.getFileList(fileQuery); - if(fileInfoList != null && fileInfoList.size() > 0) { - - for(int j=0; j mosSet = mediaBean.getMosaicList(fileInfoList.get(j).string("FILE_ID")); - if(mosSet != null && !mosSet.isEmpty()) { - dataObject.set("MOS"+fileInfoList.get(j).string("FILE_ID"), mosSet); - } - } - - } - - } - } - - - Print print = new Print(); - print.setPrintRequestUserInfo(userInfo); - - //출력물 기본 설정 - OtptStngQuery otptStngQuery = new OtptStngQuery(); - String paperSeCd = printOption.getPaperSeCd(); - String taskSeCd = printOption.getTaskSeCd(); - otptStngQuery.setSggCd((String)userInfo.getInfo().get("sggCd")); - otptStngQuery.setTaskSeCd(taskSeCd); - otptStngQuery.setSndngSeCd("02"); - otptStngQuery.setPaperSeCd(paperSeCd); - DataObject otptBscStng = otptStngMapper.selectOtptBscStng(otptStngQuery); - if(otptBscStng == null) { - otptBscStng = new DataObject(); - } - //출력 요소별 설정 - List otptArtclStngList = otptStngMapper.selectOtptArtclStngList(otptStngQuery); - - DataObject sggStngInfo = stngBean.getStng("sgg"); - DataObject deptStngInfo = stngBean.getStng("dept"); - // - Map globalVariable = printOption.getGlobalVariable(); - if(globalVariable == null) { - globalVariable = new HashMap(); - } - globalVariable.put("offcsFilePath", sggStngInfo.string("OFFCS_FILE_PATH")); - globalVariable.put("logoFilePath", sggStngInfo.string("LOGO_FILE_PATH")); - globalVariable.put("instAddr", sggStngInfo.string("INST_ADDR")); - globalVariable.put("instDaddr", sggStngInfo.string("INST_DADDR")); - globalVariable.put("instZip", sggStngInfo.string("INST_ZIP")); - globalVariable.put("deptTelno", deptStngInfo.string("DEPT_TELNO")); - globalVariable.put("deptFxno", deptStngInfo.string("DEPT_FXNO")); - if(!otptBscStng.string("BCRN_IMG_PATH").equals("")) { - globalVariable.put("bcrnImgPath", otptBscStng.string("BCRN_IMG_PATH")); - } - printOption.setGlobalVariable(globalVariable); - - Advntce pdfFormat = new Advntce(print,printOption,otptBscStng,otptArtclStngList,paperSeCd,dataObjectList); - - Map result = pdfFormat.makeFile(); - mav.addAllObjects(result); - return mav; - } - - - /** 사전통지 정보로 txt파일,이미지파일을 생성하고 압축파일로 반환한다. - * @return 사전통지서 압축파일 - */ - @RequestMapping(name="사전통지서 외주 파일 생성", value=METHOD_URL.makeAdvntceOutsourcing) - public ModelAndView makeAdvntceOutsourcing(String[] crdnIds, Sndng sndng, FimsPrintOption printOption) { - UserInfo userInfo = currentUser(); - ogdpBean.initUserInfo(userInfo); - - sndng.setSggCd((String)userInfo.getInfo().get("sggCd")); - - ModelAndView mav = new ModelAndView("downloadView"); - SprtQuery sprtQuery = new SprtQuery(); - sprtQuery.setCrdnIds(crdnIds); - - //발송 등록 - List dataObjectList0 = integrationSearchMapper.selectIntegrationDataList(sprtQuery); - SndbQuery sndbQuery = new SndbQuery(); - sndbQuery.setCrdnIds(crdnIds); - sndng.setSndngSeCd("02"); - sndng.setTnocs(crdnIds.length); - sndng.setGramt(CmmnUtil.sumByKey(dataObjectList0, "FFNLG_AMT")); - - SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMdd"); - String today = sdf.format(new Date()); - sndng.setSndngYmd(today); - - sndbQuery.setSggCd(sndng.getSggCd()); - sndbQuery.setTaskSeCd(sndng.getTaskSeCd()); - DataObject advntceYmdInfo = taskBean.getAdvntceYmdInfo(sndbQuery); - String sndngEndYmd = CmmnUtil.addDay(today, advntceYmdInfo.number("ADVNTCE_DAY_CNT").intValue()); - sndng.setSndngEndYmd(sndngEndYmd); - - DataObject first = dataObjectList0.get(0); - sndng.setTtlNm(first.string("TASK_SE_NM")+" "+first.string("VLTN_ARTCL")+" "+"사전통지서"); - - sndng.setRsndYn("N"); - String insertSndngResult = sndngBean.createAdvntceSndngList(sndbQuery, sndng); - if(insertSndngResult.contains("[F]")) { - throw new RuntimeException(insertSndngResult); - } - - //발송 등록 후 출력대상조회 - List dataObjectList = integrationSearchMapper.selectIntegrationDataList(sprtQuery); - String taskSeCd = ""; - for(int i=0; i < dataObjectList.size(); i++) { - DataObject sndngDtl = integrationSearchMapper.selectLatestSndngDtlInfo(dataObjectList.get(i).string("CRDN_ID")); - dataObjectList.get(i).set("SNDNG_DTL_ID",sndngDtl.string("SNDNG_DTL_ID")); - dataObjectList.get(i).set("SNDNG_YMD",sndngDtl.string("SNDNG_YMD")); - dataObjectList.get(i).set("OPNN_RANGE", - dataObjectList.get(i).string("SNDNG_YMD")+"~"+dataObjectList.get(i).string("DUDT_YMD")); - dataObjectList.get(i).set("RG_NO",sndngDtl.string("RG_NO")); - } - - for(int i=0; i < dataObjectList.size(); i++) { - DataObject dataObject = dataObjectList.get(i); - - if(taskSeCd.equals("")) { - taskSeCd = dataObject.string("TASK_SE_CD"); - } - - FileQuery fileQuery = new FileQuery(); - fileQuery.setInfoType(Crdn.INF_TYPE); - fileQuery.setInfoKeys(dataObject.string("CRDN_ID")); - List fileInfoList = fileBean.getFileList(fileQuery); - - if(fileInfoList != null) { - int crdnPhotoCnt = fileInfoList.size(); - for(int j=0; j < fileInfoList.size(); j++) { - DataObject fileInfo = fileInfoList.get(j); - - dataObject.set("CRDN_PHOTO"+(j+1), fileInfo.string("FILE_PATH")); - dataObject.set("CRDN_PHOTO"+(j+1)+"KEY", fileInfo.string("FILE_ID")); - List mosSet = mediaBean.getMosaicList(fileInfo.string("FILE_ID")); - if(mosSet != null) { - for(int k=0; k < mosSet.size(); k++) { - dataObject.set("MOS"+fileInfo.string("FILE_ID"), mosSet); - } - } - } - dataObject.set("CRDN_PHOTO_CNT", crdnPhotoCnt); - } else { - dataObject.set("CRDN_PHOTO_CNT", 0); - } - - } - - FimsUser currentUser = (FimsUser) currentUser().getUser(); - String sggCd = currentUser.getOrgID(); - - OutsourcingStngQuery stngQuery = new OutsourcingStngQuery(); - stngQuery.setSggCd(sggCd); - stngQuery.setTaskSeCd(taskSeCd); - stngQuery.setSndngSeCd("02"); - List printStngItems = outsourcingStngBean.getArtclStngList(stngQuery); - - OutsourcingFileMaker osMaker = new OutsourcingFileMaker("사전통지", printOption, printStngItems, dataObjectList); - - Map result = osMaker.makeFile(); - mav.addAllObjects(result); - - return mav; - } - - - /**고지서 출력 화면을 연다. - * - * @return /fims/sprt/sprt01150 - */ - @RequestMapping(name="고지서 출력 화면", value=METHOD_URL.printNhtMain) - public ModelAndView printNhtMain(String... crdnIds) { - ModelAndView mav = new ModelAndView("fims/sprt/sprt01150-info"); - mav.addObject("pageName", "sprt01150"); - mav.addObject("crdnIds", toJson(crdnIds)); - - return mav; - } - - /** 고지서를 PDF 파일로 작성한다. - * @return 고지서 PDF파일 - */ - @RequestMapping(name="고지서 pdf 파일 생성", value=METHOD_URL.makeNhtPdf) - public ModelAndView makeNhtPdf(String[] crdnIds, Sndng sndng, FimsPrintOption printOption) { - - UserInfo userInfo = currentUser(); - ogdpBean.initUserInfo(userInfo); - - sndng.setSggCd((String)userInfo.getInfo().get("sggCd")); - - ModelAndView mav = new ModelAndView("downloadView"); - SprtQuery sprtQuery = new SprtQuery(); - sprtQuery.setCrdnIds(crdnIds); - - List dataObjectList = new ArrayList(); - - if(crdnIds.length == 1 && crdnIds[0].equals("sample")) { - DataObject sample = new Nht().createSampleData(); - dataObjectList.add(sample); - } else { - - //발송 등록 - List dataObjectList0 = integrationSearchMapper.selectIntegrationDataList(sprtQuery); - SndbQuery sndbQuery = new SndbQuery(); - sndbQuery.setCrdnIds(crdnIds); - sndng.setSndngSeCd("03"); - sndng.setTnocs(crdnIds.length); - sndng.setGramt(CmmnUtil.sumByKey(dataObjectList0, "FFNLG_AMT")); - - SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMdd"); - String today = sdf.format(new Date()); - sndng.setSndngYmd(today); - - sndbQuery.setSggCd(sndng.getSggCd()); - sndbQuery.setTaskSeCd(sndng.getTaskSeCd()); - DataObject advntceYmdInfo = taskBean.getAdvntceYmdInfo(sndbQuery); - String sndngEndYmd = CmmnUtil.addDay(today, advntceYmdInfo.number("ADVNTCE_DAY_CNT").intValue()); - sndng.setSndngEndYmd(sndngEndYmd); - - DataObject first = dataObjectList0.get(0); - sndng.setTtlNm(first.string("TASK_SE_NM")+" "+first.string("VLTN_ARTCL")+" "+"고지서"); - - sndng.setRsndYn("N"); - String insertSndngResult = sndngBean.createAdvntceSndngList(sndbQuery, sndng); - if(insertSndngResult.contains("[F]")) { - throw new RuntimeException(insertSndngResult); - } - - //발송 등록 후 출력대상조회 - dataObjectList = integrationSearchMapper.selectIntegrationDataList(sprtQuery); - - for(int i=0; i < dataObjectList.size(); i++) { - DataObject dataObject = dataObjectList.get(i); - String crdnId = dataObject.string("CRDN_ID"); - - FileQuery fileQuery = new FileQuery(); - fileQuery.setInfoType(Crdn.INF_TYPE); - fileQuery.setInfoKeys(crdnId); - List fileInfoList = fileBean.getFileList(fileQuery); - if(fileInfoList != null && fileInfoList.size() > 0) { - - for(int j=0; j mosSet = mediaBean.getMosaicList(fileInfoList.get(j).string("FILE_ID")); - if(mosSet != null && !mosSet.isEmpty()) { - dataObject.set("MOS"+fileInfoList.get(j).string("FILE_ID"), mosSet); - } - } - - } - - } - } - - - - Print print = new Print(); - print.setPrintRequestUserInfo(userInfo); - - //출력물 기본 설정 - OtptStngQuery otptStngQuery = new OtptStngQuery(); - String paperSeCd = printOption.getPaperSeCd(); - String taskSeCd = printOption.getTaskSeCd(); - otptStngQuery.setSggCd((String)userInfo.getInfo().get("sggCd")); - otptStngQuery.setTaskSeCd(taskSeCd); - otptStngQuery.setSndngSeCd("03"); - otptStngQuery.setPaperSeCd(paperSeCd); - DataObject otptBscStng = otptStngMapper.selectOtptBscStng(otptStngQuery); - if(otptBscStng == null) { - otptBscStng = new DataObject(); - } - //출력 요소별 설정 - List otptArtclStngList = otptStngMapper.selectOtptArtclStngList(otptStngQuery); - - DataObject sggStngInfo = stngBean.getStng("sgg"); - DataObject deptStngInfo = stngBean.getStng("dept"); - // - Map globalVariable = printOption.getGlobalVariable(); - if(globalVariable == null) { - globalVariable = new HashMap(); - } - globalVariable.put("offcsFilePath", sggStngInfo.string("OFFCS_FILE_PATH")); - globalVariable.put("logoFilePath", sggStngInfo.string("LOGO_FILE_PATH")); - globalVariable.put("instAddr", sggStngInfo.string("INST_ADDR")); - globalVariable.put("instDaddr", sggStngInfo.string("INST_DADDR")); - globalVariable.put("instZip", sggStngInfo.string("INST_ZIP")); - globalVariable.put("deptTelno", deptStngInfo.string("DEPT_TELNO")); - globalVariable.put("deptFxno", deptStngInfo.string("DEPT_FXNO")); - if(!otptBscStng.string("BCRN_IMG_PATH").equals("")) { - globalVariable.put("bcrnImgPath", otptBscStng.string("BCRN_IMG_PATH")); - } - printOption.setGlobalVariable(globalVariable); - - Nht pdfFormat = new Nht(print,printOption,otptBscStng,otptArtclStngList,paperSeCd,dataObjectList); - - Map result = pdfFormat.makeFile(); - mav.addAllObjects(result); - return mav; - } - - /** 고지 정보로 txt파일,이미지파일을 생성하고 압축파일로 반환한다. - * @return 고지서 압축파일 - */ - @RequestMapping(name="고지서 외주 파일 생성", value=METHOD_URL.makeNhtOutsourcing) - public ModelAndView makeNhtOutsourcing(String[] crdnIds, Sndng sndng, FimsPrintOption printOption) { - UserInfo userInfo = currentUser(); - ogdpBean.initUserInfo(userInfo); - - sndng.setSggCd((String)userInfo.getInfo().get("sggCd")); - - ModelAndView mav = new ModelAndView("downloadView"); - SprtQuery sprtQuery = new SprtQuery(); - sprtQuery.setCrdnIds(crdnIds); - - //발송 등록 - List dataObjectList0 = integrationSearchMapper.selectIntegrationDataList(sprtQuery); - SndbQuery sndbQuery = new SndbQuery(); - sndbQuery.setCrdnIds(crdnIds); - sndng.setSndngSeCd("03"); - sndng.setTnocs(crdnIds.length); - sndng.setGramt(CmmnUtil.sumByKey(dataObjectList0, "FFNLG_AMT")); - - SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMdd"); - String today = sdf.format(new Date()); - sndng.setSndngYmd(today); - - sndbQuery.setSggCd(sndng.getSggCd()); - sndbQuery.setTaskSeCd(sndng.getTaskSeCd()); - DataObject advntceYmdInfo = taskBean.getAdvntceYmdInfo(sndbQuery); - String sndngEndYmd = CmmnUtil.addDay(today, advntceYmdInfo.number("ADVNTCE_DAY_CNT").intValue()); - sndng.setSndngEndYmd(sndngEndYmd); - - DataObject first = dataObjectList0.get(0); - sndng.setTtlNm(first.string("TASK_SE_NM")+" "+first.string("VLTN_ARTCL")+" "+"고지서"); - - sndng.setRsndYn("N"); - String insertSndngResult = sndngBean.createAdvntceSndngList(sndbQuery, sndng); - if(insertSndngResult.contains("[F]")) { - throw new RuntimeException(insertSndngResult); - } - - //발송 등록 후 출력대상조회 - List dataObjectList = integrationSearchMapper.selectIntegrationDataList(sprtQuery); - String taskSeCd = ""; - for(int i=0; i < dataObjectList.size(); i++) { - DataObject sndngDtl = integrationSearchMapper.selectLatestSndngDtlInfo(dataObjectList.get(i).string("CRDN_ID")); - dataObjectList.get(i).set("SNDNG_DTL_ID",sndngDtl.string("SNDNG_DTL_ID")); - dataObjectList.get(i).set("SNDNG_YMD",sndngDtl.string("SNDNG_YMD")); - dataObjectList.get(i).set("OPNN_RANGE", - dataObjectList.get(i).string("SNDNG_YMD")+"~"+dataObjectList.get(i).string("DUDT_YMD")); - dataObjectList.get(i).set("RG_NO",sndngDtl.string("RG_NO")); - } - - for(int i=0; i < dataObjectList.size(); i++) { - DataObject dataObject = dataObjectList.get(i); - - if(taskSeCd.equals("")) { - taskSeCd = dataObject.string("TASK_SE_CD"); - } - - FileQuery fileQuery = new FileQuery(); - fileQuery.setInfoType(Crdn.INF_TYPE); - fileQuery.setInfoKeys(dataObject.string("CRDN_ID")); - List fileInfoList = fileBean.getFileList(fileQuery); - - if(fileInfoList != null) { - int crdnPhotoCnt = fileInfoList.size(); - for(int j=0; j < fileInfoList.size(); j++) { - DataObject fileInfo = fileInfoList.get(j); - - dataObject.set("CRDN_PHOTO"+(j+1), fileInfo.string("FILE_PATH")); - dataObject.set("CRDN_PHOTO"+(j+1)+"KEY", fileInfo.string("FILE_ID")); - List mosSet = mediaBean.getMosaicList(fileInfo.string("FILE_ID")); - if(mosSet != null) { - for(int k=0; k < mosSet.size(); k++) { - dataObject.set("MOS"+fileInfo.string("FILE_ID"), mosSet); - } - } - } - dataObject.set("CRDN_PHOTO_CNT", crdnPhotoCnt); - } else { - dataObject.set("CRDN_PHOTO_CNT", 0); - } - - } - - FimsUser currentUser = (FimsUser) currentUser().getUser(); - String sggCd = currentUser.getOrgID(); - - OutsourcingStngQuery stngQuery = new OutsourcingStngQuery(); - stngQuery.setSggCd(sggCd); - stngQuery.setTaskSeCd(taskSeCd); - stngQuery.setSndngSeCd("03"); - List printStngItems = outsourcingStngBean.getArtclStngList(stngQuery); - - OutsourcingFileMaker osMaker = new OutsourcingFileMaker("고지서", printOption, printStngItems, dataObjectList); - - Map result = osMaker.makeFile(); - mav.addAllObjects(result); - - return mav; - } - - - - -} diff --git a/src/main/java/cokr/xit/fims/sprt/web/Sprt02Controller.java b/src/main/java/cokr/xit/fims/sprt/web/Sprt02Controller.java deleted file mode 100644 index 1b8e9fe1..00000000 --- a/src/main/java/cokr/xit/fims/sprt/web/Sprt02Controller.java +++ /dev/null @@ -1,446 +0,0 @@ -package cokr.xit.fims.sprt.web; - -import java.util.List; - -import javax.annotation.Resource; - -import org.springframework.stereotype.Controller; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.servlet.ModelAndView; - -import cokr.xit.base.web.ApplicationController; -import cokr.xit.fims.cmmn.CrdnSttsHstryQuery; -import cokr.xit.fims.cmmn.service.CrdnSttsHstryService; -import cokr.xit.fims.excl.LevyExclQuery; -import cokr.xit.fims.excl.service.LevyExclService; -import cokr.xit.fims.excl.service.OpnnSbmsnService; -import cokr.xit.fims.levy.LevyQuery; -import cokr.xit.fims.levy.service.LevyService; -import cokr.xit.fims.levy.service.RdctService; -import cokr.xit.fims.payer.PayerQuery; -import cokr.xit.fims.payer.service.PayerService; -import cokr.xit.fims.rcvm.RcvmtQuery; -import cokr.xit.fims.rcvm.service.RcvmtService; -import cokr.xit.fims.sndb.SndbQuery; -import cokr.xit.fims.sndb.service.SndngDtlService; -import cokr.xit.fims.sndb.service.SndngService; -import cokr.xit.fims.sndb.service.SvbtcService; -import cokr.xit.fims.sprt.CvlcptDscsnQuery; -import cokr.xit.fims.sprt.SprtQuery; -import cokr.xit.fims.sprt.service.CvlcptDscsnService; -import cokr.xit.fims.sprt.service.Sprt02Service; -import cokr.xit.fims.task.Task; -import cokr.xit.foundation.data.DataObject; - -/**개별총정보 서비스의 웹 컨트롤러 -* -*

    상세 설명: -* -*

    -* ============ 변경 이력 ============
    -* 2023-08-18	JoJH 최초 작성
    -* ================================
    -* 
    -*/ -@Controller -@RequestMapping(name="개별 총정보", value=Sprt02Controller.CLASS_URL) -public class Sprt02Controller extends ApplicationController { - - public static final String CLASS_URL = "/sprt/sprt02"; - - public class METHOD_URL { - public static final String - indivTotalInfoMain = "/010/main.do" // 개별 총정보 메인 화면 - , getCrdnPayerInfo = "/020/info.do" // 단속, 납부자 정보 조회 - , getCrdnFileList = "/020/crdnFileList.do" // 단속 이미지 파일 정보 조회 - , updateCrdnImageFile = "/020/updateFile.do" // 단속 이미지 파일 저장 - , removeCrdnImageFile = "/020/removeFile.do" // 단속 이미지 파일 삭제 - , getOpnnSbmsnInfo = "/030/info.do" // 의견제출 정보 조회 - , getSndngInfo = "/040/info.do" // 발송, 반송 정보 조회 - , getPrcsDtlInfo = "/050/info.do" // 처리 상세 정보 조회 - , getLevyNpmntInfo = "/060/info.do" // 부과체납 정보 조회 - , getRcvmtInfo = "/070/info.do" // 수납 정보 조회 - , getCvlcptDscsnInfo = "/080/info.do" // 민원 상담 정보 조회 - ; - } - - /** 개별총정보 서비스*/ - @Resource(name = "sprt02Service") - private Sprt02Service sprt02Service; - - /** 부과제외 대장 서비스 */ - @Resource(name = "levyExclService") - protected LevyExclService levyExclService; - - /** 의견제출 대장 서비스 */ - @Resource(name = "opnnSbmsnService") - protected OpnnSbmsnService opnnSbmsnService; - - /** 발송 대장 서비스*/ - @Resource(name = "sndngService") - protected SndngService sndngService; - - /** 발송 상세 대장 서비스*/ - @Resource(name = "sndngDtlService") - protected SndngDtlService sndngDtlService; - - /**공시송달 대장 서비스*/ - @Resource(name = "svbtcService") - private SvbtcService svbtcService; - - /** 부과 대장 서비스*/ - @Resource(name = "levyService") - protected LevyService levyService; - - /** 감경 대장 서비스 */ - @Resource(name = "rdctService") - protected RdctService rdctService; - - /** 수납 대장 서비스*/ - @Resource(name = "rcvmtService") - protected RcvmtService rcvmtService; - - /** 단속 상태 이력 서비스 */ - @Resource(name = "crdnSttsHstryService") - private CrdnSttsHstryService crdnSttsHstryService; - - /**납부자 서비스*/ - @Resource(name = "payerService") - private PayerService payerService; - - /** 민원 상담 내용 대장 서비스 */ - @Resource(name = "cvlcptDscsnService") - private CvlcptDscsnService cvlcptDscsnService; - - /**개별 총정보 메인화면(fims/sprt/sprt02/010-main)을 연다. - *조건없는 {@link #getCrdnInfo(SprtQuery) 단속 대장 조회 결과}를 포함시킨다. - * @return fims/sprt/sprt02010 - */ - @Task("CMN") - @RequestMapping(name="개별총정보 메인", value=METHOD_URL.indivTotalInfoMain) - public ModelAndView indivTotalInfoMain(SprtQuery req) { - DataObject totalInfo = sprt02Service.getCrdnInfo(req); - - boolean json = jsonResponse(); - - ModelAndView mav = new ModelAndView(json ? "jsonView" : "fims/sprt/sprt02010-main"); - - return mav - .addObject("callControlName", req.getCallControlName()) - .addObject("callPurpose", req.getCallPurpose()) - .addObject("pageName", "sprt02010") // View(jsp)에서 사용할 id 뒤에 붙일 suffix - .addObject("pageNameMain", "sprt02010") // 개별총정보 메인 화면명 - .addObject("totalInfo", json ? totalInfo : toJson(totalInfo)) // 개별총정보 - ; - } - - /**지정하는 단속 ID의 단속, 납부자 정보를 반환한다. - * @param crdnId 단속ID - * @return fims/sprt/sprt02020-main 또는 jsonView - *
     {
    -	 *     "crdnPayer": {...}
    -	 * }
    - */ - @Task - @RequestMapping(name="개별총정보 단속, 납부자 정보 조회", value=METHOD_URL.getCrdnPayerInfo) - public ModelAndView getCrdnPayerInfo(SprtQuery req) { - // 단속(TB_CRDN), 납부자(TB_PAYER) 정보 - DataObject crdnPayerInfo = sprt02Service.getCrdnPayerInfo(req); - - boolean json = jsonResponse(); - ModelAndView mav = new ModelAndView(json ? "jsonView" : "fims/sprt/sprt02020-info"); - - mav.addObject("pageNameMain", "sprt02010") // pageNameMain - .addObject("pageName", "sprt02020") // pageName - .addObject("infoPrefix", "crdnPayer") // prefix - .addObject("crdnPayerInfo", json ? crdnPayerInfo : toJson(crdnPayerInfo)) // 단속, 납부자 정보 - ; - - // 재 조회로 호출되었다면.. - if (req.getCallPurpose().equals("refresh")) { - DataObject totalInfo = sprt02Service.getCrdnInfo(req); // 단속(TB_CRDN) 대장 조회 - mav.addObject("totalInfo", json ? totalInfo : toJson(totalInfo)); // 단속 정보 - } - - return mav; - } - - /**지정하는 단속 ID의 의견제출 정보를 반환한다. - * @param crdnId 단속ID - * @return fims/sprt/sprt02030-main 또는 jsonView - *
     {
    -	 *     "opnnSbmsn": {...}
    -	 * }
    - */ - @Task - @RequestMapping(name="개별총정보 의견제출 정보 조회", value=METHOD_URL.getOpnnSbmsnInfo) - public ModelAndView getOpnnSbmsnInfo(SprtQuery req) { - // 의견제출 정보 - LevyExclQuery exclQuery = new LevyExclQuery(); - exclQuery.setCrdnId(req.getCrdnId()); - exclQuery.setDelYn(req.getDelYn()); - - // 의견 제출(TB_OPNN_SBMSN) 대장 조회 - DataObject opnnSbmsnInfo = opnnSbmsnService.getOpnnSbmsnInfo(exclQuery); - - boolean json = jsonResponse(); - ModelAndView mav = new ModelAndView(json ? "jsonView" : "fims/sprt/sprt02030-info"); - - mav.addObject("pageNameMain", "sprt02010") // pageNameMain - .addObject("pageName", "sprt02030") // pageName - .addObject("infoPrefix", "opnnSbmsn") // prefix - .addObject("opnnSbmsnInfo", json ? opnnSbmsnInfo : toJson(opnnSbmsnInfo)) // 의견제출 정보 - ; - - // 재 조회로 호출되었다면.. - if (req.getCallPurpose().equals("refresh")) { - DataObject totalInfo = sprt02Service.getCrdnInfo(req); // 단속(TB_CRDN) 대장 조회 - mav.addObject("totalInfo", json ? totalInfo : toJson(totalInfo)); // 단속 정보 - } - - return mav; - } - - /**지정하는 단속 ID의 발송상세 정보를 반환한다. - * @param crdnId 단속ID - * @return fims/sprt/sprt02040-main 또는 jsonView - *
     {
    -	 *     "sndngDtl": {...}
    -	 * }
    - */ - @Task - @RequestMapping(name="개별총정보 발송, 반송 정보 조회", value=METHOD_URL.getSndngInfo) - public ModelAndView getSndngInfo(SprtQuery req) { - // 발송상세 정보 - SndbQuery sndbQuery = new SndbQuery(); - sndbQuery.setCrdnId(req.getCrdnId()); - sndbQuery.setDelYn(req.getDelYn()); - sndbQuery.setOrderBy("SD.REG_DT, SD.SNDNG_DTL_ID DESC"); - - List sndngDtls = sndngDtlService.getSndngDtls(sndbQuery); - - // 공시송달 정보 - sndbQuery.setCrdnId(req.getCrdnId()); - sndbQuery.setDelYn(req.getDelYn()); - sndbQuery.setOrderBy("SV.REG_DT DESC, SV.SVBTC_ID DESC"); - - List svbtcDtls = svbtcService.getSvbtcDtls(sndbQuery); - - boolean json = jsonResponse(); - ModelAndView mav = new ModelAndView(json ? "jsonView" : "fims/sprt/sprt02040-info"); - - mav.addObject("pageNameMain", "sprt02010") // pageNameMain - .addObject("pageName", "sprt02040") // pageName - .addObject("infoPrefix", "sndngDtl") // prefix - .addObject("sndngDtls", json ? sndngDtls : toJson(sndngDtls)) // 발송 상세 정보 - .addObject("svbtcDtls", json ? svbtcDtls : toJson(svbtcDtls)) // 공시송달 정보 - ; - - // 재조회로 호출되었다면.. - if (req.getCallPurpose().equals("refresh")) { - DataObject totalInfo = sprt02Service.getCrdnInfo(req); // 단속(TB_CRDN) 대장 조회 - mav.addObject("totalInfo", json ? totalInfo : toJson(totalInfo)); // 단속 정보 - } - - return mav; - } - - /**지정하는 단속 ID의 처리상태이력, 감경, 부과제외 정보를 반환한다. - * @param crdnId 단속ID - * @return fims/sprt/sprt02050-main 또는 jsonView - *
     {
    -	 *     "sndngDtl": {...}
    -	 * }
    - */ - @Task - @RequestMapping(name="개별총정보 처리 상세 정보 조회", value=METHOD_URL.getPrcsDtlInfo) - public ModelAndView getPrcsDtlInfo(SprtQuery req) { - // 과태료 감경(TB_RDCT) 대장 조회 - LevyQuery levyQuery = new LevyQuery(); - - if (req.getCallPurpose() == null) { - levyQuery.setCallPurpose("view"); - } else { - levyQuery.setCallPurpose(req.getCallPurpose()); - } - levyQuery.setCrdnId(req.getCrdnId()); - levyQuery.setDelYn(req.getDelYn()); - levyQuery.setOrderBy("RDCT_ID DESC"); // 정렬 - - DataObject rdctInfo = rdctService.getRdctInfo(levyQuery); - - // 부과 제외(TB_LEVY_EXCL) 대장 조회 - LevyExclQuery exclQuery = new LevyExclQuery(); - - if (req.getCallPurpose() == null) { - exclQuery.setCallPurpose("view"); - } else { - exclQuery.setCallPurpose(req.getCallPurpose()); - } - exclQuery.setCrdnId(req.getCrdnId()); - exclQuery.setDelYn(req.getDelYn()); - exclQuery.setOrderBy("LEVY_EXCL_ID DESC"); // 정렬 - - DataObject levyExclInfo = levyExclService.getLevyExclInfo(exclQuery); - - // 단속 상태 이력(TB_CRDN_STTS_HSTRY) 조회 - CrdnSttsHstryQuery crdnSttsHstryQuery = new CrdnSttsHstryQuery(); - crdnSttsHstryQuery.setCrdnId(req.getCrdnId()); // 단속 ID - crdnSttsHstryQuery.setOrderBy("CSH.STTS_HSTRY_ID DESC"); // 정렬 - - List crdnSttsHstrys = crdnSttsHstryService.getCrdnSttsHstrys(crdnSttsHstryQuery); - - // 납부자 변경 이력(TB_PAYER_HSTRY) 조회 - PayerQuery payerQuery = new PayerQuery(); - payerQuery.setCrdnId(req.getCrdnId()); // 단속 ID - payerQuery.setRtpyrId(req.getRtpyrId()); // 납부자 ID - payerQuery.setOrderBy("CPAH.REG_DT DESC"); // 정렬 - - List payerAddrHstrys = payerService.getPayerAddrHstrys(payerQuery); - - boolean json = jsonResponse(); - ModelAndView mav = new ModelAndView(json ? "jsonView" : "fims/sprt/sprt02050-info"); - - mav.addObject("pageNameMain", "sprt02010") - .addObject("pageName", "sprt02050") - .addObject("rdctInfo", json ? rdctInfo : toJson(rdctInfo)) // 과태료 감경 정보 - .addObject("levyExclInfo", json ? levyExclInfo : toJson(levyExclInfo)) // 부과 제외 정보 - .addObject("crdnSttsHstrys", json ? crdnSttsHstrys : toJson(crdnSttsHstrys)) // 단속 상태 이력 - .addObject("payerAddrHstrys", json ? payerAddrHstrys : toJson(payerAddrHstrys)) // 납부자 주소 변경 이력 - ; - - // 재조회로 호출되었다면.. - if (req.getCallPurpose().equals("refresh")) { - DataObject totalInfo = sprt02Service.getCrdnInfo(req); // 단속(TB_CRDN) 대장 조회 - mav.addObject("totalInfo", json ? totalInfo : toJson(totalInfo)); // 단속 정보 - } - - return mav; - } - - /**지정하는 단속 ID의 부과, 체납 정보를 반환한다. - * @param crdnId 단속ID - * @return fims/sprt/sprt02060-main 또는 jsonView - *
     {
    -	 *     "sndngDtl": {...}
    -	 * }
    - */ - @Task - @RequestMapping(name="개별총정보 부과, 체납 정보 조회", value=METHOD_URL.getLevyNpmntInfo) - public ModelAndView getLevyNpmntInfo(SprtQuery req) { - // 부과 정보 - LevyQuery levyQuery = new LevyQuery(); - - if (req.getCallPurpose() == null) { - levyQuery.setCallPurpose("view"); - } else { - levyQuery.setCallPurpose(req.getCallPurpose()); - } - levyQuery.setCrdnId(req.getCrdnId()); - levyQuery.setDelYn(req.getDelYn()); - levyQuery.setOrderBy("LEVY_ID DESC"); // 정렬 - - DataObject levyInfo = levyService.getLevyInfo(levyQuery); - - boolean json = jsonResponse(); - ModelAndView mav = new ModelAndView(json ? "jsonView" : "fims/sprt/sprt02060-info"); - - mav.addObject("pageNameMain", "sprt02010") - .addObject("pageName", "sprt02060") - .addObject("levyInfo", json ? levyInfo : toJson(levyInfo)) // 부과 정보 - ; - - // 재조회로 호출되었다면.. - if (req.getCallPurpose().equals("refresh")) { - DataObject totalInfo = sprt02Service.getCrdnInfo(req); // 단속(TB_CRDN) 대장 조회 - mav.addObject("totalInfo", json ? totalInfo : toJson(totalInfo)); // 단속 정보 - } - - return mav; - } - - /**지정하는 단속 ID의 수납 정보를 반환한다. - * @param crdnId 단속ID - * @return fims/sprt/sprt02070-main 또는 jsonView - *
     {
    -	 *     "rcvmt": {...}
    -	 * }
    - */ - @Task - @RequestMapping(name="개별총정보 수납 정보 조회", value=METHOD_URL.getRcvmtInfo) - public ModelAndView getRcvmtInfo(SprtQuery req) { - // 수납 정보 - RcvmtQuery rcvmtQuery = new RcvmtQuery(); - - if (req.getCallPurpose() == null) { - rcvmtQuery.setCallPurpose("view"); - } else { - rcvmtQuery.setCallPurpose(req.getCallPurpose()); - } - rcvmtQuery.setCrdnId(req.getCrdnId()); - rcvmtQuery.setDelYn(req.getDelYn()); - rcvmtQuery.setOrderBy("R.RCVMT_ID DESC"); - - List rcvmts = rcvmtService.getRcvmts(rcvmtQuery); - - boolean json = jsonResponse(); - ModelAndView mav = new ModelAndView(json ? "jsonView" : "fims/sprt/sprt02070-info"); - - mav.addObject("pageNameMain", "sprt02010") - .addObject("pageName", "sprt02070") - .addObject("rcvmts", json ? rcvmts : toJson(rcvmts)) // 수납 정보 - ; - - // 재조회로 호출되었다면.. - if (req.getCallPurpose().equals("refresh")) { - DataObject totalInfo = sprt02Service.getCrdnInfo(req); // 단속(TB_CRDN) 대장 조회 - mav.addObject("totalInfo", json ? totalInfo : toJson(totalInfo)); // 단속 정보 - } - - return mav; - } - - /**지정하는 단속 ID의 민원 상담 정보를 반환한다. - * @param crdnId 단속ID - * @return fims/sprt/sprt02080-main 또는 jsonView - *
     {
    -	 *     "cvlcptDscsnCn": {...}
    -	 * }
    - */ - @Task - @RequestMapping(name="개별총정보 민원 상담 정보 조회", value=METHOD_URL.getCvlcptDscsnInfo) - public ModelAndView getCvlcptDscsnInfo(SprtQuery req) { - // 민원 상담 정보 - CvlcptDscsnQuery cvlcptDscsnQuery = new CvlcptDscsnQuery(); - - if (req.getCallPurpose() == null) { - cvlcptDscsnQuery.setCallPurpose("view"); - } else { - cvlcptDscsnQuery.setCallPurpose(req.getCallPurpose()); - } - cvlcptDscsnQuery.setInquiryCondition(req.getInquiryCondition()); - cvlcptDscsnQuery.setSggCd(req.getSggCd()); - cvlcptDscsnQuery.setTaskSeCd(req.getTaskSeCd()); - cvlcptDscsnQuery.setCrdnId(req.getCrdnId()); - cvlcptDscsnQuery.setVhrno(req.getVhrno()); - - List cvlcptDscsns = cvlcptDscsnService.getCvlcptDscsns(cvlcptDscsnQuery); - - boolean json = jsonResponse(); - ModelAndView mav = new ModelAndView(json ? "jsonView" : "fims/sprt/sprt02080-info"); - - mav.addObject("pageNameMain", "sprt02010") - .addObject("pageName", "sprt02080") - .addObject("cvlcptDscsns", json ? cvlcptDscsns : toJson(cvlcptDscsns)) // 민원상담내용 정보 - ; - - // 재조회로 호출되었다면.. - if (req.getCallPurpose().equals("refresh")) { - DataObject totalInfo = sprt02Service.getCrdnInfo(req); // 단속(TB_CRDN) 대장 조회 - mav.addObject("totalInfo", json ? totalInfo : toJson(totalInfo)); // 단속 정보 - } - - return mav; - } - -} diff --git a/src/main/java/cokr/xit/fims/sprt/web/Sprt03Controller.java b/src/main/java/cokr/xit/fims/sprt/web/Sprt03Controller.java deleted file mode 100644 index 37bcb71b..00000000 --- a/src/main/java/cokr/xit/fims/sprt/web/Sprt03Controller.java +++ /dev/null @@ -1,72 +0,0 @@ -package cokr.xit.fims.sprt.web; - -import java.util.List; - -import javax.annotation.Resource; - -import org.springframework.stereotype.Controller; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.servlet.ModelAndView; - -import cokr.xit.base.file.service.FileQuery; -import cokr.xit.base.file.service.bean.FileBean; -import cokr.xit.base.web.ApplicationController; -import cokr.xit.fims.sprt.service.bean.MediaBean; -import cokr.xit.foundation.data.DataObject; - -@Controller -@RequestMapping(name="동영상 재생", value="/sprt/sprt03") -public class Sprt03Controller extends ApplicationController { - - @Resource(name="fileBean") - private FileBean fileBean; - - @Resource(name="mediaBean") - private MediaBean mediaBean; - - /** 동영상 재생 메인화면을 연다. - * @return fims/sprt/sprt03010-main - */ - @RequestMapping(name="동영상 재생 메인", value="/010/main.do") - public ModelAndView videoMain(String openerPageName, String crdnId) { - ModelAndView mav = new ModelAndView(); - - mav.setViewName("fims/sprt/sprt03010-main"); - mav.addObject("openerPageName", openerPageName); - - if(crdnId != null && !crdnId.equals("")) { - mav.addObject("crdnId", crdnId); - DataObject file = mediaBean.getVideoInfo(crdnId); - if(!file.isEmpty()) { - mav.addObject("fileInfo", toJson(file)); - } - } - - return mav; - } - - /** 사진 편집 메인화면을 연다. - * @return fims/sprt/sprt03020-main - */ - @RequestMapping(name="사진 편집 메인", value="/020/main.do") - public ModelAndView editPhotoMain(String openerPageName, String fileId) { - ModelAndView mav = new ModelAndView(); - - mav.setViewName("fims/sprt/sprt03020-main"); - mav.addObject("openerPageName", openerPageName); - - if(!ifEmpty(fileId, ()->"").equals("")) { - mav.addObject("fileId", fileId); - - FileQuery fileQuery = new FileQuery(); - fileQuery.setFileIDs(fileId); - List fileList = fileBean.getFileList(fileQuery); - if(fileList != null && !fileList.isEmpty()) { - DataObject file = fileList.get(0); - mav.addObject("fileInfo", toJson(file)); - } - } - - return mav; - } -} diff --git a/src/main/java/cokr/xit/fims/sprt/web/Sprt04Controller.java b/src/main/java/cokr/xit/fims/sprt/web/Sprt04Controller.java deleted file mode 100644 index 4de2eac4..00000000 --- a/src/main/java/cokr/xit/fims/sprt/web/Sprt04Controller.java +++ /dev/null @@ -1,266 +0,0 @@ -package cokr.xit.fims.sprt.web; - -import java.text.SimpleDateFormat; -import java.util.HashMap; -import java.util.List; -import java.util.Map; - -import javax.annotation.Resource; -import javax.servlet.http.HttpServletRequest; - -import org.apache.poi.ss.usermodel.CellStyle; -import org.springframework.stereotype.Controller; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.servlet.ModelAndView; - -import cokr.xit.base.code.CommonCode; -import cokr.xit.base.docs.xls.CellDef; -import cokr.xit.base.docs.xls.Format; -import cokr.xit.base.docs.xls.Style; -import cokr.xit.base.docs.xls.XLSWriter; -import cokr.xit.base.web.ApplicationController; -import cokr.xit.fims.base.FimsUser; -import cokr.xit.fims.cmmn.service.bean.StngBean; -import cokr.xit.fims.cmmn.xls.FormatMaker; -import cokr.xit.fims.cmmn.xls.StyleMaker; -import cokr.xit.fims.sprt.CvlcptDscsn; -import cokr.xit.fims.sprt.CvlcptDscsnQuery; -import cokr.xit.fims.sprt.service.CvlcptDscsnService; -import cokr.xit.fims.task.Task; -import cokr.xit.foundation.data.DataObject; - -/**민원 상담 내용 서비스의 웹 컨트롤러 - * - *

    상세 설명: - * - *

    - * ============ 변경 이력 ============
    - * 2023-09-05	JoJH 최초 작성
    - * ================================
    - * 
    - */ -@Controller -@RequestMapping(name="민원 상담 내용", value="/sprt/sprt04") -public class Sprt04Controller extends ApplicationController { - - public static final String CLASS_URL = "/sprt/sprt04"; - - public class METHOD_URL { - public static final String - civilComplaintDiscussionMain = "/010/main.do" // 민원 상담 관리 메인 화면 - , getCvlcptDscsnList = "/010/list.do" // 민원 상담 내용 대장 목록 조회 - , getCvlcptDscsnNocs = "/010/nocs.do" // 민원 상담 내용 건수 조회 - , getCvlcptDscsnInfo = "/020/info.do" // 민원 상담 내용 정보 조회 - , createCvlcptDscsn = "/020/create.do" // 민원 상담 내용 대장 등럭 - , updateCvlcptDscsn = "/020/update.do" // 민원 상담 내용 대장 수정 - , removeCvlcptDscsn = "/010/remove.do" // 민원 상담 내용 대장 삭제 - ; - } - - /**민원 상담 내용 서비스*/ - @Resource(name = "cvlcptDscsnService") - private CvlcptDscsnService cvlcptDscsnService; - - @Resource(name = "stngBean") - private StngBean stngBean; - - /**민원 상담 내용 관리 메인화면(fims/sprt/sprt04/010-main)을 연다. - * - * @return /fims/sprt/sprt04010 - */ - @RequestMapping(name="민원 상담 내용 메인", value="/010/main.do") - public ModelAndView civilComplaintDiscussionMain() { - ModelAndView mav = new ModelAndView("fims/sprt/sprt04010-main"); - - // 사용자 정보 - FimsUser fimsUser = (FimsUser)currentUser().getUser(); - - // View(jsp)에서 사용할 공통코드를 조회 - Map> commonCodes = getCodesOf("FIM054"); - - return mav.addObject("pageName", "sprt04010") // View(jsp)에서 사용할 id 뒤에 붙일 suffix - .addObject("infoPrefix", "cvlcptDscsn") // prefix - .addObject("infoPrefixUrl", CLASS_URL) // prefixUrl - .addObject("sggCd", fimsUser.getOrgID()) // 시군구 코드(SGG_CD) - .addObject("taskListForSgg", stngBean.filterTaskSectionCodeForSgg(commonCodes.get("FIM054"))) - ; - } - - /**민원 상담 내용 목록을 조회하여 반환한다.
    - * {@link CvlcptDscsnService#getCvlcptDscsnList(CvlcptDscsnQuery)} 참고 - * @param req 민원 상담 내용 조회 조건 - * @return jsonView - *
     {
    -	 *     "cvlcptDscsnList": [민원 상담 내용 목록]
    -	 *     "cvlcptDscsnStart": 민원 상담 내용 목록 시작 인덱스
    -	 *     "cvlcptDscsnFetch": 한 번에 가져오는 민원 상담 내용 목록 수
    -	 *     "cvlcptDscsnTotal": 조회 결과 찾은 전체 민원 상담 내용 수
    -	 * }
    - */ - @Task - @RequestMapping(name="민원 상담 대장 목록 조회", value=METHOD_URL.getCvlcptDscsnList) - public ModelAndView getCvlcptDscsnList(CvlcptDscsnQuery req) { - if (!"xls".equals(req.getDownload())) { - List result = cvlcptDscsnService.getCvlcptDscsnList(setFetchSize(req)); - return setCollectionInfo(new ModelAndView("jsonView"), result, "cvlcptDscsn"); - } else { - // 현재 날짜 구하기 - SimpleDateFormat dateFormat = new SimpleDateFormat("yyyyMMddHHmmss"); - String dateTime = dateFormat.format(System.currentTimeMillis()); - - List cellDefs = fromJson(req.getCellDefs(), CellDef.listType()); - - XLSWriter xlsx = new XLSWriter().worksheet(0); - Format format = new Format(xlsx); - CellStyle center = format.cellStyle(Style.CENTER); - CellStyle dateYMD = format.yyyy_mm_dd(); - CellStyle dateDT = format.yyyy_mm_dd_hh_mm_ss(); - - List list = cvlcptDscsnService.getCvlcptDscsnList(req.setFetchSize(0)); - - Map valueMap = new HashMap(); - valueMap.put("민원접수구분", format.of("CVLCPT_RCPT_SE_NM").style(center)); - valueMap.put("상담일자", FormatMaker.yyyy_mm_dd(format, "DSCSN_YMD").style(dateYMD)); - valueMap.put("요일", format.of("WEEK_NM").style(center)); - valueMap.put("성명", format.of("CVLPR_NM").style(center)); - valueMap.put("연락처", format.of("CVLPR_CTTPC").style(center)); - valueMap.put("상담내용", format.of("DSCSN_CN")); - valueMap.put("차량번호", format.of("VHRNO")); - valueMap.put("납부자번호", format.of("RTPYR_NO").style(center)); - valueMap.put("등록일시", FormatMaker.yyyy_mm_dd_hh_mm_ss(format, "REG_DT").style(dateDT)); - valueMap.put("등록사용자", format.of("RGTR_NM").style(center)); - valueMap.put("수정일시", FormatMaker.yyyy_mm_dd_hh_mm_ss(format, "MDFCN_DT").style(dateDT)); - valueMap.put("수정사용자", format.of("MDFR_NM").style(center)); - - CellDef.setValues(cellDefs, valueMap); - - xlsx.cell(0, 0).value("민원상담").value(center).merge(0, cellDefs.size() - 1) - .cell(3, 0).rowValues(CellDef.header(cellDefs, () -> StyleMaker.headerStyle(xlsx))) - .cell(4, 0).values(list, CellDef.values(cellDefs.stream().map(i -> {if(i.getValue() instanceof Format) {i.setField(null);}; return i;}).toList())); - - return new ModelAndView("downloadView") - .addObject("download", xlsx.getDownloadable().setFilename("민원상담" + "_목록_" + dateTime + ".xlsx")); - } - } - - /**민원 상담 내용 건수를 조회하여 반환한다.
    - * {@link CvlcptDscsnService#getCvlcptDscsnList(CvlcptDscsnQuery)} 참고 - * @param req 민원 상담 내용 조회 조건 - * @return jsonView - *
    {
    -	 *     "cvlcptDscsnInfo": 민원 상담 정보
    -	 * }
    - */ - @Task - @RequestMapping(name="민원 상담 대장 건수 조회", value=METHOD_URL.getCvlcptDscsnNocs) - public ModelAndView getCvlcptDscsnNocs(CvlcptDscsnQuery req) { - DataObject result = cvlcptDscsnService.getCvlcptDscsnNocs(req); - - boolean json = jsonResponse(); - - return new ModelAndView("jsonView") - .addObject("cvlcptDscsnNocs", json ? result : toJson(result)); - } - - /**지정한 ID의 민원 상담 정보(info)를 반환한다. - * @param SprtQuery req - * @return fims/sprt/sprt04020-info 또는 jsonView - *
    {
    -	 *     "cvlcptDscsnInfo": 민원 상담 정보
    -	 * }
    - */ - @Task - @RequestMapping(name="민원 상담 정보 조회", value=METHOD_URL.getCvlcptDscsnInfo) - public ModelAndView getCvlcptDscsnInfo(HttpServletRequest hReq, CvlcptDscsnQuery req) { - DataObject cvlcptDscsnInfo = cvlcptDscsnService.getCvlcptDscsnInfo(req); - - boolean json = jsonResponse(); - ModelAndView mav = new ModelAndView(json ? "jsonView" : "fims/sprt/sprt04020-info"); - - // View(jsp)에서 사용할 공통코드를 조회 - Map> commonCodes = getCodesOf("FIM065"); - - return mav - .addObject("openerPageName", hReq.getParameter("openerPageName")) // 호출한 Jsp PageName - .addObject("callPurpose", req.getCallPurpose()) // 호출 용도 - .addObject("pageName", "sprt04020") // - .addObject("infoPrefixUrl", CLASS_URL) // prefixUrl - .addObject("FIM065List", commonCodes.get("FIM065")) // 민원 접수 구분 코드(CVLCPT_RCPT_SE_CD) - .addObject("cvlcptDscsnInfo", json ? cvlcptDscsnInfo : toJson(cvlcptDscsnInfo)) // 민원 상담 정보 - ; - } - - /**민원 상담 내용를 등록한다. - * @param cvlcptDscsn 민원 상담 정보 - * @return jsonView - *
     {
    -	 *     "saved": 등록되었으면 true, 그렇지 않으면 false
    -	 * }
    - */ - @Task - @RequestMapping(name="민원 상담 대장 등록", value=METHOD_URL.createCvlcptDscsn) - public ModelAndView createCvlcptDscsn(CvlcptDscsn cvlcptDscsn) { - boolean saved = false; - String rtnMsg = cvlcptDscsnService.createCvlcptDscsn(cvlcptDscsn); - - if (rtnMsg.contains("[S]")) { - saved = true; - } else { - saved = false; - } - - return new ModelAndView("jsonView") - .addObject("saved", saved) - .addObject("rtnMsg", rtnMsg); - } - - /**민원 상담 내용 정보를 수정한다. - * @param cvlcptDscsn 민원 상담 내용 정보 - * @return jsonView - *
     {
    -	 *     "saved": 수정되었으면 true, 그렇지 않으면 false
    -	 * }
    - */ - @Task - @RequestMapping(name="민원 상담 대장 수정", value=METHOD_URL.updateCvlcptDscsn) - public ModelAndView updateCvlcptDscsn(CvlcptDscsn cvlcptDscsn) { - boolean saved = false; - String rtnMsg = cvlcptDscsnService.updateCvlcptDscsn(cvlcptDscsn); - - if (rtnMsg.contains("[S]")) { - saved = true; - } else { - saved = false; - } - - return new ModelAndView("jsonView") - .addObject("saved", saved) - .addObject("rtnMsg", rtnMsg); - } - - /**지정한 민원 상담 내용를 제거한다. - * @param cvlcptDscsnId 민원 상담 아이디 - * @return jsonView - *
     {
    -	 *     "affected": 저장된 정보수
    -	 *     "saved": 저장되었으면 true, 그렇지 않으면 false
    -	 * }
    - */ - @Task - @RequestMapping(name="민원 상담 대장 삭제", value=METHOD_URL.removeCvlcptDscsn) - public ModelAndView removeCvlcptDscsn(CvlcptDscsn cvlcptDscsn) { - boolean saved = false; - String rtnMsg = cvlcptDscsnService.removeCvlcptDscsn(cvlcptDscsn); - - if (rtnMsg.contains("[S]")) { - saved = true; - } else { - saved = false; - } - - return new ModelAndView("jsonView") - .addObject("saved", saved) - .addObject("rtnMsg", rtnMsg); - } - -} diff --git a/src/main/java/cokr/xit/fims/stat/CodeSubsetInfo.java b/src/main/java/cokr/xit/fims/stat/CodeSubsetInfo.java deleted file mode 100644 index ce532d6d..00000000 --- a/src/main/java/cokr/xit/fims/stat/CodeSubsetInfo.java +++ /dev/null @@ -1,45 +0,0 @@ -package cokr.xit.fims.stat; - -public class CodeSubsetInfo { - - private String sourceGroup; - - private String[] sourceCodes; - - private String targetCode; - - private String targetCodeVal; - - public String getSourceGroup(){ - return this.sourceGroup; - } - - public void setSourceGroup(String sourceGroup){ - this.sourceGroup = sourceGroup; - } - - public String[] getSourceCodes(){ - return this.sourceCodes; - } - - public void setSourceCodes(String[] sourceCodes){ - this.sourceCodes = sourceCodes; - } - - public String getTargetCode(){ - return this.targetCode; - } - - public void setTargetCode(String targetCode){ - this.targetCode = targetCode; - } - - public String getTargetCodeVal(){ - return this.targetCodeVal; - } - - public void setTargetCodeVal(String targetCodeVal){ - this.targetCodeVal = targetCodeVal; - } - -} diff --git a/src/main/java/cokr/xit/fims/stat/CompositeKey.java b/src/main/java/cokr/xit/fims/stat/CompositeKey.java deleted file mode 100644 index 7afeec12..00000000 --- a/src/main/java/cokr/xit/fims/stat/CompositeKey.java +++ /dev/null @@ -1,47 +0,0 @@ -package cokr.xit.fims.stat; - -import java.util.Objects; - -import lombok.Getter; -import lombok.Setter; - -@Getter -@Setter -public class CompositeKey { - private String level1; - private String level2; - private String level3; - private String level4; - - public String[] toArray() { - - if(this.level2 == null) { - return new String[] { this.level1 }; - } - if(this.level3 == null) { - return new String[] { this.level1, this.level2 }; - } - if(this.level4 == null) { - return new String[] { this.level1, this.level2, this.level3 }; - } - - return new String[] { this.level1, this.level2, this.level3, this.level4 }; - } - - @Override - public boolean equals(Object o) { - if(this == o) return true; - if(o == null || getClass() != o.getClass()) return false; - CompositeKey k = (CompositeKey) o; - - return Objects.equals(level1, k.level1) - && Objects.equals(level2, k.level2) - && Objects.equals(level3, k.level3) - && Objects.equals(level4, k.level4); - } - - @Override - public int hashCode() { - return Objects.hash(level1,level2,level3,level4); - } -} diff --git a/src/main/java/cokr/xit/fims/stat/GroupInfo.java b/src/main/java/cokr/xit/fims/stat/GroupInfo.java deleted file mode 100644 index c7812c0f..00000000 --- a/src/main/java/cokr/xit/fims/stat/GroupInfo.java +++ /dev/null @@ -1,44 +0,0 @@ -package cokr.xit.fims.stat; - -public class GroupInfo { - - /** - * 기준 컬럼 - */ - private String refCol; - - /** - * 분류 유형 - */ - private String ctgrType; - - /** - * 상세 분류 - */ - private String dtlCtgr; - - - public String getRefCol(){ - return this.refCol; - } - - public void setRefCol(String refCol){ - this.refCol = refCol; - } - - public String getCtgrType(){ - return this.ctgrType; - } - - public void setCtgrType(String ctgrType){ - this.ctgrType = ctgrType; - } - - public String getDtlCtgr(){ - return this.dtlCtgr; - } - - public void setDtlCtgr(String dtlCtgr){ - this.dtlCtgr = dtlCtgr; - } -} diff --git a/src/main/java/cokr/xit/fims/stat/NumberValueInfo.java b/src/main/java/cokr/xit/fims/stat/NumberValueInfo.java deleted file mode 100644 index 39194619..00000000 --- a/src/main/java/cokr/xit/fims/stat/NumberValueInfo.java +++ /dev/null @@ -1,96 +0,0 @@ -package cokr.xit.fims.stat; - -public class NumberValueInfo { - - /** - * 구분자 기준 컬럼 - */ - private String seperatorRefCol; - - /** - * 조건 값 - */ - private String conditionValue; - - /** - * 구분자 분류 유형 - */ - private String seperatorCtgrType; - - /** - * 구분자 상세분류 - */ - private String seperatorDtlCtgr; - - /** - * 수치값 집계 유형(count 건수, sum 합계, ratio 비율) - */ - private String aggregateType; - - /** - * 합계 기준 컬럼 - */ - private String sumRefCol; - - /** - * 비율 전체 참조 인덱스 - */ - private int ratioRefIndex; - - - public String getSeperatorRefCol(){ - return this.seperatorRefCol; - } - - public void setSeperatorRefCol(String seperatorRefCol){ - this.seperatorRefCol = seperatorRefCol; - } - - public String getConditionValue(){ - return this.conditionValue; - } - - public void setConditionValue(String conditionValue){ - this.conditionValue = conditionValue; - } - - public String getSeperatorCtgrType(){ - return this.seperatorCtgrType; - } - - public void setSeperatorCtgrType(String seperatorCtgrType){ - this.seperatorCtgrType = seperatorCtgrType; - } - - public String getSeperatorDtlCtgr(){ - return this.seperatorDtlCtgr; - } - - public void setSeperatorDtlCtgr(String seperatorDtlCtgr){ - this.seperatorDtlCtgr = seperatorDtlCtgr; - } - - public String getAggregateType(){ - return this.aggregateType; - } - - public void setAggregateType(String aggregateType){ - this.aggregateType = aggregateType; - } - - public String getSumRefCol(){ - return this.sumRefCol; - } - - public void setSumRefCol(String sumRefCol){ - this.sumRefCol = sumRefCol; - } - - public int getRatioRefIndex(){ - return this.ratioRefIndex; - } - - public void setRatioRefIndex(int ratioRefIndex){ - this.ratioRefIndex = ratioRefIndex; - } -} diff --git a/src/main/java/cokr/xit/fims/stat/Stat.java b/src/main/java/cokr/xit/fims/stat/Stat.java deleted file mode 100644 index 3538bda5..00000000 --- a/src/main/java/cokr/xit/fims/stat/Stat.java +++ /dev/null @@ -1,51 +0,0 @@ -package cokr.xit.fims.stat; - -import java.util.List; - -import cokr.xit.foundation.data.DataObject; -import lombok.Getter; -import lombok.Setter; - -/**통계 자료 정보 - * @author leebj - */ -@Getter -@Setter -public class Stat { - - /** - * 통계 제목 - */ - private String statTitle; - - /** - * 통계 부 제목 - */ - private String statSubTitle; - - /** - * 집계 여부 - */ - private String aggregateYn; - - /** - * 항목 제목 - */ - private String[] itemsLabel; - - /** - * 수치 값 제목 - */ - private String[] numberValueLabel; - - /** - * (집계일 때)통계 항목 - */ - private List statItems; - - /** - * (목록일 때)결과 목록(현황) - */ - private List resultList; - -} diff --git a/src/main/java/cokr/xit/fims/stat/StatItem.java b/src/main/java/cokr/xit/fims/stat/StatItem.java deleted file mode 100644 index b512cafc..00000000 --- a/src/main/java/cokr/xit/fims/stat/StatItem.java +++ /dev/null @@ -1,33 +0,0 @@ -package cokr.xit.fims.stat; - -import java.util.List; - -import cokr.xit.foundation.data.DataObject; -import lombok.Getter; -import lombok.Setter; - -@Getter -@Setter -public class StatItem { - - /** - * 항목 ID - */ - private String[] itemId; - - /** - * 항목 명 - */ - private String[] itemName; - - /** - * 수치 값 - */ - private int[] numberValue; - - /** - * 참조 목록 - */ - private List refList; - -} diff --git a/src/main/java/cokr/xit/fims/stat/StatQuery.java b/src/main/java/cokr/xit/fims/stat/StatQuery.java deleted file mode 100644 index 63d99c6e..00000000 --- a/src/main/java/cokr/xit/fims/stat/StatQuery.java +++ /dev/null @@ -1,275 +0,0 @@ -package cokr.xit.fims.stat; - -import java.util.List; - -import cokr.xit.fims.cmmn.CmmnQuery; - -/**통계 요청 -* -*

    상세 설명: -* -*

    -* ============ 변경 이력 ============
    -* 2023-10-24	leebj 최초 작성
    -* ================================
    -* 
    -*/ -public class StatQuery extends CmmnQuery { - - private static final long serialVersionUID = 1L; - - /** - * 구조 형식(aggregate 집계, list 목록) - */ - private String structureType; - - /** - * 통계 영역 - */ - private String statDomain; - - /** - * 참조 리스트 추가 여부 - */ - private String refListYn; - - /** - * 항목 정보 - */ - private List groupInfoList; - - /** - * 수치값 정보 - */ - private List numberValueInfoList; - - /** - * 코드 서브셋 정보 - */ - List codeSubsetInfoList; - - /** - * 고정적으로 표시할 항목 ID (항목이 단일키일 경우) - */ - private String[] fixedItemId; - - /** - * 명명된 복합 수치값 구분자 - */ - private String namedNumberValueSeperator; - - /** - * 전역 집계 형식 - */ - private String globalAggregate; - - /** - * 전역 합계 기준 컬럼 - */ - private String globalSumRefCol; - - /** - * 표기할 소수점 자릿수 - */ - private int decimalPoint; - - /** - * 날짜 컬럼 - */ - private String dayColumn; - - /** - * 시작일자 - */ - private String firstDay; - - /** - * 종료일자 - */ - private String lastDay; - - /** - * 날짜 범위 - */ - private int dayRange; - - /** - * 차량구분 - */ - private String carGb; - - /** - * 서손자료 제외 - */ - private String schExclEnd; - - /** - * 렌트카 차량만 조회 - */ - private String schOnlyRent; - - - public String getStructureType() { - return ifEmpty(structureType, () -> null); - } - - public T setStructureType(String structureType) { - this.structureType = structureType; - return self(); - } - - public String getStatDomain() { - return ifEmpty(statDomain, () -> null); - } - - public T setStatDomain(String statDomain) { - this.statDomain = statDomain; - return self(); - } - - public String getRefListYn() { - return ifEmpty(refListYn, () -> null); - } - - public T setRefListYn(String refListYn) { - this.refListYn = refListYn; - return self(); - } - - public List getGroupInfoList() { - return this.groupInfoList; - } - - public T setGroupInfoList(List groupInfoList) { - this.groupInfoList = groupInfoList; - return self(); - } - - public List getNumberValueInfoList() { - return this.numberValueInfoList; - } - - public T setNumberValueInfoList(List numberValueInfoList) { - this.numberValueInfoList = numberValueInfoList; - return self(); - } - - - public String getNamedNumberValueSeperator() { - return ifEmpty(namedNumberValueSeperator, () -> null); - } - - public T setNamedNumberValueSeperator(String namedNumberValueSeperator) { - this.namedNumberValueSeperator = namedNumberValueSeperator; - return self(); - } - - public String getGlobalAggregate() { - return ifEmpty(globalAggregate, () -> null); - } - - public T setGlobalAggregate(String globalAggregate) { - this.globalAggregate = globalAggregate; - return self(); - } - - public String getGlobalSumRefCol() { - return ifEmpty(globalSumRefCol, () -> null); - } - - public T setGlobalSumRefCol(String globalSumRefCol) { - this.globalSumRefCol = globalSumRefCol; - return self(); - } - - public int getDecimalPoint() { - return ifEmpty(decimalPoint, () -> null); - } - - public T setDecimalPoint(int decimalPoint) { - this.decimalPoint = decimalPoint; - return self(); - } - - public String[] getFixedItemId() { - return ifEmpty(fixedItemId, () -> null); - } - - public T setFixedItemId(String... fixedItemId) { - this.fixedItemId = fixedItemId; - return self(); - } - - public int getDayRange() { - return ifEmpty(dayRange, () -> null); - } - - public T setDayRange(int dayRange) { - this.dayRange = dayRange; - return self(); - } - - public String getDayColumn() { - return ifEmpty(dayColumn, () -> null); - } - - public T setDayColumn(String dayColumn) { - this.dayColumn = dayColumn; - return self(); - } - - public String getFirstDay() { - return ifEmpty(firstDay, () -> null); - } - - public T setFirstDay(String firstDay) { - this.firstDay = firstDay; - return self(); - } - - public String getLastDay() { - return ifEmpty(lastDay, () -> null); - } - - public T setLastDay(String lastDay) { - this.lastDay = lastDay; - return self(); - } - - public List getCodeSubsetInfoList() { - return this.codeSubsetInfoList; - } - - public T setCodeSubsetInfoList(List codeSubsetInfoList) { - this.codeSubsetInfoList = codeSubsetInfoList; - return self(); - } - - public String getCarGb() { - return ifEmpty(carGb, () -> null); - } - - public T setCarGb(String carGb) { - this.carGb = carGb; - return self(); - } - - public String getSchExclEnd() { - return ifEmpty(schExclEnd, () -> null); - } - - public T setSchExclEnd(String schExclEnd) { - this.schExclEnd = schExclEnd; - return self(); - } - - public String getSchOnlyRent() { - return ifEmpty(schOnlyRent, () -> null); - } - - public T setSchOnlyRent(String schOnlyRent) { - this.schOnlyRent = schOnlyRent; - return self(); - } - -} diff --git a/src/main/java/cokr/xit/fims/stat/service/StatService.java b/src/main/java/cokr/xit/fims/stat/service/StatService.java deleted file mode 100644 index d7eed07e..00000000 --- a/src/main/java/cokr/xit/fims/stat/service/StatService.java +++ /dev/null @@ -1,14 +0,0 @@ -package cokr.xit.fims.stat.service; - -import java.util.List; -import java.util.Map; - -import cokr.xit.base.code.CommonCode; -import cokr.xit.fims.stat.Stat; -import cokr.xit.fims.stat.StatQuery; - -public interface StatService { - - Stat getStatistics(StatQuery statQuery, Map> commonCodes); - -} diff --git a/src/main/java/cokr/xit/fims/stat/service/bean/StatBean.java b/src/main/java/cokr/xit/fims/stat/service/bean/StatBean.java deleted file mode 100644 index cc0e6205..00000000 --- a/src/main/java/cokr/xit/fims/stat/service/bean/StatBean.java +++ /dev/null @@ -1,682 +0,0 @@ -package cokr.xit.fims.stat.service.bean; - -import java.lang.reflect.Method; -import java.util.ArrayList; -import java.util.Arrays; -import java.util.Comparator; -import java.util.Iterator; -import java.util.List; -import java.util.Map; -import java.util.Set; -import java.util.stream.Collectors; - -import javax.annotation.Resource; - -import org.springframework.stereotype.Component; - -import cokr.xit.base.code.CommonCode; -import cokr.xit.base.user.DepartmentQuery; -import cokr.xit.base.user.SigunguQuery; -import cokr.xit.base.user.UserQuery; -import cokr.xit.base.user.service.bean.DepartmentBean; -import cokr.xit.base.user.service.bean.SigunguBean; -import cokr.xit.base.user.service.bean.UserBean; -import cokr.xit.fims.cmmn.CmmnQuery; -import cokr.xit.fims.cmmn.CmmnUtil; -import cokr.xit.fims.cmmn.CodeConverter; -import cokr.xit.fims.crdn.dao.CrdnTeamMapper; -import cokr.xit.fims.crdn.service.bean.CrdnStngBean; -import cokr.xit.fims.mngt.VltnQuery; -import cokr.xit.fims.mngt.dao.VltnMapper; -import cokr.xit.fims.stat.CodeSubsetInfo; -import cokr.xit.fims.stat.CompositeKey; -import cokr.xit.fims.stat.GroupInfo; -import cokr.xit.fims.stat.NumberValueInfo; -import cokr.xit.fims.stat.Stat; -import cokr.xit.fims.stat.StatItem; -import cokr.xit.fims.stat.StatQuery; -import cokr.xit.foundation.component.AbstractBean; -import cokr.xit.foundation.data.DataObject; - - -@Component("statBean") -public class StatBean extends AbstractBean { - - @Resource(name = "crdnStngBean") - private CrdnStngBean crdnStngBean; - - @Resource(name="sigunguBean") - protected SigunguBean sigunguBean; - - @Resource(name = "departmentBean") - private DepartmentBean departmentBean; - - @Resource(name="userBean") - private UserBean userBean; - - @Resource(name="crdnTeamMapper") - private CrdnTeamMapper teamMapper; - - @Resource(name="vltnMapper") - private VltnMapper vltnMapper; - - /**쿼리에서 날짜와 관련된 파라미터를 설정한다. - * @param sql처리용 query, dayCol 날짜조회용 컬럼, from 조회시작일, to 조회종료일 - * @return - */ - public void daySetting(CmmnQuery someQuery, String className, String dayCol, String from, String to) { - try { - if(dayCol.equals("REG_DT")) { - - Method m0 = CmmnQuery.class.getDeclaredMethod("setSchDateOpt", String.class); - m0.invoke(someQuery, "regDt"); - Method m1 = CmmnQuery.class.getDeclaredMethod("setSchDateFrom", String.class); - m1.invoke(someQuery, from); - Method m2 = CmmnQuery.class.getDeclaredMethod("setSchDateTo", String.class); - m2.invoke(someQuery, to); - - } else if(dayCol.equals("CRDN_YMD")) { - - Method m1 = someQuery.getClass().getDeclaredMethod("setSchCrdnYmdFrom", String.class); - m1.invoke(someQuery, from); - Method m2 = someQuery.getClass().getDeclaredMethod("setSchCrdnYmdTo", String.class); - m2.invoke(someQuery, to); - - } else if(dayCol.equals("SNDNG_YMD")) { - - Method m1 = someQuery.getClass().getDeclaredMethod("setSchSndngYmdFrom", String.class); - m1.invoke(someQuery, from); - Method m2 = someQuery.getClass().getDeclaredMethod("setSchSndngYmdTo", String.class); - m2.invoke(someQuery, to); - } else if(dayCol.equals("RCPT_YMD")) { - - if(className.equals("LevyExclQuery")) { - Method m1 = someQuery.getClass().getDeclaredMethod("setSchRcptYmdFrom", String.class); - m1.invoke(someQuery, from); - Method m2 = someQuery.getClass().getDeclaredMethod("setSchRcptYmdTo", String.class); - m2.invoke(someQuery, to); - } - - } - - - } catch (Exception e) { - throw new RuntimeException(e); - } - } - - /**통계요청에 따라 데이터목록에서 통계를 생성한다. - * @param queryResult SQL쿼리 처리 결과, statQuery 통계 요청 - * @return 통계 - */ - public Stat groupByCartegory(List queryResult, StatQuery statQuery) { - - Stat stat = new Stat(); - - - //통계 항목별 그룹핑 - Map> group = this.grouping(queryResult, statQuery); - - - //고정 항목 설정 - if(statQuery.getFixedItemId() != null) { - this.itemFix(group, statQuery); - } - - //수치 값 추출 - Set keySet = group.keySet(); - Iterator it = keySet.iterator(); - - List statItems = new ArrayList<>(); - while(it.hasNext()){ - CompositeKey compositeKey = it.next(); - StatItem statItem = new StatItem(); - - statItem.setItemId(compositeKey.toArray()); - - List listByKey = group.get(compositeKey); - - int[] numberValues = this.extractNumberValue(listByKey, statQuery); - - statItem.setNumberValue(numberValues); - - if(ifEmpty(statQuery.getRefListYn(), () -> "").equals("Y")) { - statItem.setRefList(listByKey); - } - - statItems.add(statItem); - } - - stat.setStatItems(statItems); - - return stat; - } - - /**통계요청에 따라 데이터목록을 그룹핑한다. - * @param queryResult SQL쿼리 처리 결과, statQuery 통계 요청 - * @return 통계 항목별로 그룹핑된 목록 - */ - public Map> grouping(List queryResult, StatQuery statQuery){ - - List groupInfoList = statQuery.getGroupInfoList(); - - List subsetInfoList = statQuery.getCodeSubsetInfoList(); - - Map> group = queryResult.stream() - .collect( - Collectors.groupingBy( - (item) -> { - - CompositeKey compositeKey = new CompositeKey(); - - for(int i = 0; i < groupInfoList.size(); i++) { - String key = ""; - GroupInfo groupInfo = groupInfoList.get(i); - - String refCol = groupInfo.getRefCol(); - String colValue = item.string(refCol); - - if(ifEmpty(groupInfo.getCtgrType(), ()-> "").equals("")) { - key = colValue; - if(key.equals("")) { - key = "(정보없음)"; - } - if(i == 0) { - compositeKey.setLevel1(key); - } - if(i == 1) { - compositeKey.setLevel2(key); - } - if(i == 2) { - compositeKey.setLevel3(key); - } - if(i == 3) { - compositeKey.setLevel4(key); - } - - continue; - } - - String ctgrType = groupInfo.getCtgrType(); - String addOption = groupInfo.getDtlCtgr(); - - if(ctgrType.equals("date")) { - - if(addOption.equals("YYYY")) { //연도별 - key = colValue.substring(0,4); - } else if(addOption.equals("YYYYMM")) { //연월별 - key = colValue.substring(0,6); - } else if(addOption.equals("YYYYMMDD")) { //일자별 - key = colValue.substring(0,8); - } else if(addOption.equals("DAY_OF_WEEK")) { //요일별 - key = CmmnUtil.getDayOfWeek(colValue); - } else if(addOption.equals("HH")) { //시간대별 - if(colValue.length() == 14) { - key = colValue.substring(8,10); - } else { - key = colValue.substring(0,2); - } - } else { - key = colValue; - } - - if(key.equals("")) { - key = "(날짜없음)"; - } - } else if(ctgrType.equals("code") || ctgrType.equals("otherCode")) { - - if(ctgrType.equals("code") - && subsetInfoList != null - && !subsetInfoList.isEmpty() - ) { - - for(CodeSubsetInfo subsetInfo : subsetInfoList) { - if(subsetInfo.getSourceGroup().equals(addOption)) { - if(Arrays.asList(subsetInfo.getSourceCodes()).contains(colValue)) { - colValue = subsetInfo.getTargetCode(); - } - } - } - } - - key = colValue; - - if(key.equals("")) { - key = "(정보없음)"; - } - - } else if(ctgrType.equals("method")) { - - if(addOption.equals("businessYnOfCar")){ - - String ffnlgCarmdlCd = item.string("FFNLG_CARMDL_CD"); - String vhrno = item.string("VHRNO"); - key = crdnStngBean.getBusinessYnOfCar(ffnlgCarmdlCd, vhrno); - - } else if(addOption.equals("carGb")){ - - String vhrno = item.string("VHRNO"); - key = crdnStngBean.getCarGb(vhrno); - - } else { - key = colValue; - if(key.equals("")) { - key = "(정보없음)"; - } - } - - } else { - key = colValue; - if(key.equals("")) { - key = "(정보없음)"; - } - } - - if(i == 0) { - compositeKey.setLevel1(key); - } - if(i == 1) { - compositeKey.setLevel2(key); - } - if(i == 2) { - compositeKey.setLevel3(key); - } - if(i == 3) { - compositeKey.setLevel4(key); - } - } - - return compositeKey; - } - ) - ); - - return group; - } - - /** 통계에 고정적으로 표시할 항목을 설정한다. - * @param group 그룹핑한 데이터 목록, statQuery 통계 요청; - * @return - */ - public void itemFix(Map> group, StatQuery statQuery) { - - String[] fixedItemId = statQuery.getFixedItemId(); - - CompositeKey[] fixedItemKey = new CompositeKey[fixedItemId.length]; - - for(int i=0; i < fixedItemId.length; i++) { - CompositeKey newObj = new CompositeKey(); - newObj.setLevel1(fixedItemId[i]); - fixedItemKey[i] = newObj; - } - - for(int i=0; i < fixedItemKey.length; i++) { - if(!group.containsKey(fixedItemKey[i])) { - group.put(fixedItemKey[i], null); - } - } - - Set keySet = group.keySet(); - Iterator it = keySet.iterator(); - - List deleteTargets = new ArrayList<>(); - - while(it.hasNext()) { - CompositeKey compositekey = it.next(); - if(!Arrays.asList(fixedItemKey).contains(compositekey)) { - deleteTargets.add(compositekey); - } - } - - for(CompositeKey deleteTarget : deleteTargets) { - group.remove(deleteTarget); - } - } - - /**통계요청에 따라 수치값(합계, 건수)을 계산한다. - * @param listByKey 특정 범주로 묶인 데이터 목록, statQuery 통계 요청 - * @return 수치값 - */ - public int[] extractNumberValue(List listByKey, StatQuery statQuery) { - - List numberValueInfoList = statQuery.getNumberValueInfoList(); - - List subsetInfoList = statQuery.getCodeSubsetInfoList(); - - int[] aggregateArr = new int[numberValueInfoList.size()]; - for(int i=0; i < numberValueInfoList.size(); i++) { - aggregateArr[i] = 0; - } - - if(listByKey != null) { - for(int i=0; i ""); - String conditionValue = ifEmpty(numverValueInfo.getConditionValue(), ()-> ""); - - String seperatorCtgrType = ifEmpty(numverValueInfo.getSeperatorCtgrType(), ()-> ""); - String seperatorDtlCtgr = ifEmpty(numverValueInfo.getSeperatorDtlCtgr(), ()-> ""); - - String aggregateType = ifEmpty(numverValueInfo.getAggregateType(), ()-> ""); - String sumRefCol = ifEmpty(numverValueInfo.getSumRefCol(), ()-> ""); - - if(!seperatorRefCol.equals("")) { - - String dataColumnValue = dataObject.string(seperatorRefCol); - - if(seperatorCtgrType.equals("date")) { - if(seperatorDtlCtgr.equals("YYYY")) { //연도별 - dataColumnValue = dataColumnValue.substring(0,4); - } else if(seperatorDtlCtgr.equals("YYYYMM")) { //연월별 - dataColumnValue = dataColumnValue.substring(0,6); - } else if(seperatorDtlCtgr.equals("YYYYMMDD")) { //일자별 - dataColumnValue = dataColumnValue.substring(0,8); - } else if(seperatorDtlCtgr.equals("DAY_OF_WEEK")) { //요일별 - dataColumnValue = CmmnUtil.getDayOfWeek(dataColumnValue); - } else if(seperatorDtlCtgr.equals("HH")) { //시간대별 - if(dataColumnValue.length() == 14) { - dataColumnValue = dataColumnValue.substring(8,10); - } else { - dataColumnValue = dataColumnValue.substring(0,2); - } - } - - } else if(seperatorCtgrType.equals("code") || seperatorCtgrType.equals("otherCode")) { - - if(seperatorCtgrType.equals("code") - && subsetInfoList != null - && !subsetInfoList.isEmpty() - ) { - - for(CodeSubsetInfo subsetInfo : subsetInfoList) { - if(subsetInfo.getSourceGroup().equals(seperatorDtlCtgr)) { - if(Arrays.asList(subsetInfo.getSourceCodes()).contains(dataColumnValue)) { - dataColumnValue = subsetInfo.getTargetCode(); - } - } - } - } - - } - - if(!dataColumnValue.equals(conditionValue)) { - continue; - } - - } - - - if(aggregateType.equals("sum")) { - aggregateArr[j] += dataObject.number(sumRefCol).intValue(); - } else { - aggregateArr[j] += 1; - } - - } - - } - } - - return aggregateArr; - - } - - /** 특정 범주로 묶인 통계 항목에 항목명을 추가한다. - * @param statItems 통계 항목 목록, statQuery 통계 요청, allCode 코드 목록 - * @return - */ - public void attachItemName(List statItems, StatQuery statQuery, Map> allCode) { - - CodeConverter codeConverter = new CodeConverter(allCode); - - List groupInfoList = statQuery.getGroupInfoList(); - - int taskSeCdIndex = -1; - for(int i=0; i < groupInfoList.size(); i++) { - if(groupInfoList.get(i).getCtgrType().equals("code") - && groupInfoList.get(i).getDtlCtgr().equals("FIM054")) { - taskSeCdIndex = i; - } - } - - for(StatItem statItem : statItems) { - - String[] compositeItemId = statItem.getItemId(); - String[] compositeItemName = new String[compositeItemId.length]; - - for(int i=0; i < compositeItemId.length ;i++) { - - GroupInfo groupInfo = groupInfoList.get(i); - - String ctgrType = ifEmpty(groupInfo.getCtgrType(), ()-> ""); - String dtlCtgr = ifEmpty(groupInfo.getDtlCtgr(), ()-> ""); - - - if(ctgrType.equals("") || ctgrType.equals("plain") - || ctgrType.equals("date") || ctgrType.equals("method")) { //일반텍스트 - compositeItemName[i] = compositeItemId[i]; - continue; - } - - - String itemName = ""; - - if(ctgrType.equals("code")){ //공통코드 - String converted = codeConverter.codeToValue(dtlCtgr, compositeItemId[i]); - if(ifEmpty(converted, ()->"").equals("")) { - itemName = compositeItemId[i]; - } else { - itemName = converted; - } - } else if(ctgrType.equals("otherCode")) { //비공통코드 - - if(dtlCtgr.equals("VLTN_CD")) { - - String taskSeCd = ""; - if(taskSeCdIndex != -1) { - taskSeCd = compositeItemId[taskSeCdIndex]; - } else if(!statQuery.getTaskSeCd().equals("")) { - taskSeCd = statQuery.getTaskSeCd(); - } - - if(taskSeCd.equals("")) { - throw new RuntimeException("위반코드 변환 오류"); - } - - String converted = codeConverter.vltnCdToValue(taskSeCd, compositeItemId[i]); - if(ifEmpty(converted, ()->"").equals("")) { - itemName = compositeItemId[i]; - } else { - itemName = converted; - } - } else if(dtlCtgr.equals("VLTN_ID") || dtlCtgr.equals("TEAM_ID") - || dtlCtgr.equals("SGG_CD") || dtlCtgr.equals("DEPT_CD") || dtlCtgr.equals("USER_ID")) { - - String find = codeConverter.uniqOtherCodeToValue(dtlCtgr,compositeItemId[i]); - if(!find.equals("")) { - itemName = find; - } else { - DataObject findRow = this.selectOtherCode(dtlCtgr, compositeItemId[i]); - - if(findRow != null){ - itemName = findRow.string("NAME"); - codeConverter.putOtherCode(dtlCtgr, findRow); - } else { - itemName = compositeItemId[i]; - } - } - } - - } - - compositeItemName[i] = itemName; - } - - statItem.setItemName(compositeItemName); - - } - } - - - /** 통계의 수치값 중 비율(%)을 계산한다. - * @param statItems 통계 항목 목록, statQuery 통계 요청 - * @return - */ - public void attachRatioValue(List statItems, StatQuery statQuery) { - - int decimalPoint = statQuery.getDecimalPoint(); - - List numberValueInfoList = statQuery.getNumberValueInfoList(); - - for(StatItem statItem : statItems) { - - for(int i = 0; i < numberValueInfoList.size(); i++) { - NumberValueInfo numberValueInfo = numberValueInfoList.get(i); - - String aggregateType = numberValueInfo.getAggregateType(); - - if(aggregateType.equals("ratio")) { - - int refIndex = numberValueInfo.getRatioRefIndex(); - - int totValue = statItem.getNumberValue()[refIndex]; - if(totValue == 0) { - statItem.getNumberValue()[i] = 0; - } else { - int originalValue = statItem.getNumberValue()[i]; - double ratioValue = (double) originalValue / (double) totValue; - double percent = ratioValue * Math.pow(10, 2f+decimalPoint); - statItem.getNumberValue()[i] = (int) Math.floor(percent); - } - - } - - } - - } - - } - - public DataObject selectOtherCode(String type, String uniqId) { - DataObject result = null; - - switch(type) { - case "SGG_CD" : - List sggs = sigunguBean.getSigunguList(new SigunguQuery().setSggIDs(uniqId)); - if(sggs != null && !sggs.isEmpty()) { - sggs.get(0).set("NAME", sggs.get(0).string("SGG_NM")); - result = sggs.get(0); - } - break; - case "DEPT_CD" : - List depts = departmentBean.getDepartmentList(new DepartmentQuery().setDeptIDs(uniqId)); - if(depts != null && !depts.isEmpty()) { - depts.get(0).set("NAME", depts.get(0).string("DEPT_NM")); - result = depts.get(0); - } - break; - case "VLTN_ID" : - DataObject vltn = vltnMapper.selectVltnInfo(new VltnQuery().setVltnId(uniqId)); - if(vltn != null && !vltn.isEmpty()) { - vltn.set("NAME", vltn.string("VLTN_NM")); - result = vltn; - } - break; - case "USER_ID" : - List users = userBean.getUserList(new UserQuery().setUserIDs(uniqId)); - if(users != null && !users.isEmpty()) { - users.get(0).set("NAME", users.get(0).string("USER_NM")); - result = users.get(0); - } - break; - case "TEAM_ID" : - DataObject team = teamMapper.selectTeamInfo(uniqId); - if(team != null && !team.isEmpty()) { - team.set("NAME", team.string("TEAM_NM")); - result = team; - } - break; - } - - return result; - } - - /** 통계결과를 정렬한다. - * @param stat 통계 - * @return - */ - public void sort(Stat stat) { - - List statItems = stat.getStatItems(); - - if(statItems != null && statItems.size() > 0) { - - Comparator comparator = getStatItemComparator(statItems.get(0)); - - statItems = statItems.stream().sorted(comparator).collect(Collectors.toList()); - - stat.setStatItems(statItems); - } - } - - public Comparator getStatItemComparator(StatItem sample){ - - String[] itemIds = sample.getItemId(); - - int level = itemIds.length; - - Comparator chainComparator = getStatItemNLevelComparator(1); - if(level > 1) { - for(int i=2; i <= level; i++) { - chainComparator = chainComparator.thenComparing(getStatItemNLevelComparator(i)); - } - } - - return chainComparator; - } - - public Comparator getStatItemNLevelComparator(int level){ - - Comparator nLevelComparator = (statItemA, statItemB) -> { - - String[] statItemAIds = statItemA.getItemId(); - String[] statItemBIds = statItemB.getItemId(); - - Comparator tempComparator = getIndexOfStringArrayComparator(level-1); - - return tempComparator.compare(statItemAIds, statItemBIds); - }; - - return nLevelComparator; - } - - - public Comparator getStringArrayChainComparator(int lastIndex){ - - Comparator chainComparator = getIndexOfStringArrayComparator(0); - - if(lastIndex > 0) { - for(int i=1; i <= lastIndex; i++) { - chainComparator = chainComparator.thenComparing(getIndexOfStringArrayComparator(i)); - } - } - - return chainComparator; - } - - public Comparator getIndexOfStringArrayComparator(int index) { - - Comparator onlyNComparator = (arr1, arr2) -> { - String str1 = arr1[index]; - String str2 = arr2[index]; - return str1.compareTo(str2); - }; - - return onlyNComparator; - } -} diff --git a/src/main/java/cokr/xit/fims/stat/service/bean/StatServiceBean.java b/src/main/java/cokr/xit/fims/stat/service/bean/StatServiceBean.java deleted file mode 100644 index 07e69503..00000000 --- a/src/main/java/cokr/xit/fims/stat/service/bean/StatServiceBean.java +++ /dev/null @@ -1,269 +0,0 @@ -package cokr.xit.fims.stat.service.bean; - -import java.text.SimpleDateFormat; -import java.util.ArrayList; -import java.util.Date; -import java.util.Iterator; -import java.util.List; -import java.util.Map; - -import javax.annotation.Resource; - -import org.springframework.stereotype.Service; - -import cokr.xit.base.code.CommonCode; -import cokr.xit.fims.cmmn.CmmnUtil; -import cokr.xit.fims.cmmn.CrdnSttsHstryQuery; -import cokr.xit.fims.cmmn.service.CrdnSttsHstryService; -import cokr.xit.fims.crdn.CrdnQuery; -import cokr.xit.fims.crdn.service.CrdnService; -import cokr.xit.fims.crdn.service.bean.CrdnStngBean; -import cokr.xit.fims.excl.LevyExclQuery; -import cokr.xit.fims.excl.service.OpnnSbmsnService; -import cokr.xit.fims.sndb.SndbQuery; -import cokr.xit.fims.sndb.service.SndngService; -import cokr.xit.fims.stat.NumberValueInfo; -import cokr.xit.fims.stat.Stat; -import cokr.xit.fims.stat.StatQuery; -import cokr.xit.fims.stat.service.StatService; -import cokr.xit.foundation.component.AbstractServiceBean; -import cokr.xit.foundation.data.DataObject; - -@Service("statService") -public class StatServiceBean extends AbstractServiceBean implements StatService { - - @Resource(name = "crdnService") - private CrdnService crdnService; - - @Resource(name = "crdnSttsHstryService") - private CrdnSttsHstryService crdnSttsHstryService; - - @Resource(name = "opnnSbmsnService") - private OpnnSbmsnService opnnSbmsnService; - - @Resource(name = "sndngService") - private SndngService sndngService; - - @Resource(name = "statBean") - private StatBean statBean; - - @Resource(name = "crdnStngBean") - private CrdnStngBean crdnStngBean; - - @Override - public Stat getStatistics(StatQuery statQuery, Map> commonCodes) { - Stat stat = new Stat(); - - List queryResult = new ArrayList<>(); - - SimpleDateFormat yyyyMMdd = new SimpleDateFormat("yyyyMMdd"); - Date curDate = new Date(); - String today = yyyyMMdd.format(curDate); - - boolean daySetting = false; - - - if(statQuery.getStructureType().equals("aggregate")) { - - String dayColumn = ifEmpty(statQuery.getDayColumn(), () -> ""); - String lastDay = ifEmpty(statQuery.getLastDay(), () -> ""); - String firstDay = ifEmpty(statQuery.getFirstDay(), () -> ""); - - if(!dayColumn.equals("")) { - daySetting = true; - } - - String[] numberValueLabel = null; - - String namedNumberValueSeperator = ifEmpty(statQuery.getNamedNumberValueSeperator(), () -> ""); - - if(namedNumberValueSeperator.equals("completeAndTotal")) { //완료자료 및 전체자료 - - - String globalAggregate = statQuery.getGlobalAggregate(); - String globalSumRefCol = ifEmpty(statQuery.getGlobalSumRefCol(), () -> "") ; - - List numberValueInfoList = new ArrayList(); - NumberValueInfo col1 = new NumberValueInfo(); - col1.setSeperatorRefCol("COMPLETE_YN"); - col1.setConditionValue("Y"); - col1.setAggregateType(globalAggregate); - col1.setSumRefCol(globalSumRefCol); - numberValueInfoList.add(col1); - NumberValueInfo col2 = new NumberValueInfo(); - col2.setAggregateType(globalAggregate); - col2.setSumRefCol(globalSumRefCol); - numberValueInfoList.add(col2); - statQuery.setNumberValueInfoList(numberValueInfoList); - - numberValueLabel = new String[] {"처리","전체"}; - - daySetting = true; - - } else if(namedNumberValueSeperator.equals("lastFewDays")) { - daySetting = true; - - int dayRange = statQuery.getDayRange() == 0 ? 15 : statQuery.getDayRange(); - - if(dayColumn.equals("")) { - dayColumn = "REG_DT"; - } - - lastDay = today; - firstDay = CmmnUtil.addDay(lastDay, (-1 * (dayRange-1))); - - String globalAggregate = statQuery.getGlobalAggregate(); - - List numberValueInfoList = new ArrayList(); - - for(int i=0; i iterator = queryResult.iterator(); - while(iterator.hasNext()) { - DataObject dataObject = iterator.next(); - String dataId = dataObject.string(domainKey); - dataObject.set("DATA_ID", dataId); - } - } - - - //차량구분 지정 - if(!ifEmpty(statQuery.getCarGb(), ()->"").equals("")) { - queryResult.removeIf(item -> !(crdnStngBean.getCarGb(item.string("VHRNO")).equals(statQuery.getCarGb()))); - } - //서손자료 제외 - if(!ifEmpty(statQuery.getSchExclEnd(), ()->"").equals("")) { - queryResult.removeIf(item -> item.string("CRDN_STTS_CD").equals("81")); - } - //렌트카만 조회 - if(!ifEmpty(statQuery.getSchOnlyRent(), ()->"").equals("")) { - queryResult.removeIf(item -> !crdnStngBean.isRent(item.string("VHRNO"))); - } - - //통계 생성 - stat = statBean.groupByCartegory(queryResult, statQuery); - - //통계 항목명 변환 - statBean.attachItemName(stat.getStatItems(), statQuery, commonCodes); - - //비율 값 계산 - boolean exsistRatioValue = false; - for(NumberValueInfo numberValueInfo : statQuery.getNumberValueInfoList()) { - if(numberValueInfo.getAggregateType().equals("ratio")) { - exsistRatioValue = true; - } - } - if(exsistRatioValue){ - statBean.attachRatioValue(stat.getStatItems(), statQuery); - } - - //수치값 제목(건수, 금액, 비율 등) - if(numberValueLabel != null) { - stat.setNumberValueLabel(numberValueLabel); - } - - //정렬 - statBean.sort(stat); - - stat.setAggregateYn("Y"); - } - - - return stat; - } - -} diff --git a/src/main/java/cokr/xit/fims/stat/web/Stat01Controller.java b/src/main/java/cokr/xit/fims/stat/web/Stat01Controller.java deleted file mode 100644 index 5a306966..00000000 --- a/src/main/java/cokr/xit/fims/stat/web/Stat01Controller.java +++ /dev/null @@ -1,265 +0,0 @@ -package cokr.xit.fims.stat.web; - -import java.util.ArrayList; -import java.util.HashMap; -import java.util.List; -import java.util.Map; - -import javax.annotation.Resource; - -import org.springframework.stereotype.Controller; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.servlet.ModelAndView; - -import cokr.xit.base.code.CommonCode; -import cokr.xit.base.user.SigunguQuery; -import cokr.xit.base.user.dao.UserMapper; -import cokr.xit.base.user.service.bean.SigunguBean; -import cokr.xit.base.web.ApplicationController; -import cokr.xit.fims.base.FimsUser; -import cokr.xit.fims.cmmn.service.bean.StngBean; -import cokr.xit.fims.stat.CodeSubsetInfo; -import cokr.xit.fims.stat.GroupInfo; -import cokr.xit.fims.stat.NumberValueInfo; -import cokr.xit.fims.stat.Stat; -import cokr.xit.fims.stat.StatQuery; -import cokr.xit.fims.stat.service.StatService; -import cokr.xit.foundation.data.DataObject; - -/**통계 관리 서비스 웹 컨트롤러.
    - * {웹 컨텍스트}/stat 로 접근할 수 있다. - * @author leebj - */ -@Controller -@RequestMapping(name="통계", value=Stat01Controller.CLASS_URL) -public class Stat01Controller extends ApplicationController { - - public static final String CLASS_URL = "/stat/stat01"; - - public class METHOD_URL { - public static final String - getStatistics = "/010/info.do", - comprehensiveStatisticsMain = "/010/main.do", - crackdownStatisticsMain = "/020/main.do", - levyStatisticsMain = "/030/main.do", - sendStatisticsMain = "/040/main.do", - receivingStatisticsMain = "/050/main.do" - ; - } - - @Resource(name="statService") - private StatService statService; - - @Resource(name="sigunguBean") - protected SigunguBean sigunguBean; - - @Resource(name="userMapper") - protected UserMapper userMapper; - - @Resource(name = "stngBean") - private StngBean stngBean; - - /** - * @return - */ - @RequestMapping(name="통계 요청", value=METHOD_URL.getStatistics) - public ModelAndView getStatistics(StatQuery statQuery) { - ModelAndView mav = new ModelAndView("jsonView"); - - //FimsUser currentUser = (FimsUser) currentUser().getUser(); - //String sggCd = currentUser.getOrgID(); - //statQuery.setSggCd(sggCd); - - List codeGroup = new ArrayList(); - - List groupInfoList = statQuery.getGroupInfoList(); - if(groupInfoList != null) { - for(int i=0; i < groupInfoList.size(); i++) { - GroupInfo groupInfo = groupInfoList.get(i); - String ctgrType = ifEmpty(groupInfo.getCtgrType(), () -> ""); - String dtlCtgr = ifEmpty(groupInfo.getDtlCtgr(), () -> ""); - if(ctgrType.equals("code")) { - codeGroup.add(dtlCtgr); - } else if(ctgrType.equals("otherCode")) { - - if(dtlCtgr.equals("VLTN_CD")) { - codeGroup.add("FIM054"); - codeGroup.add("FIM004"); - codeGroup.add("FIM005"); - codeGroup.add("FIM006"); - codeGroup.add("FIM061"); - codeGroup.add("FIM064"); - } - - } - } - } - - List numberValueInfoList = statQuery.getNumberValueInfoList(); - if(numberValueInfoList != null) { - for(int i=0; i < numberValueInfoList.size(); i++) { - NumberValueInfo numberValueInfo = numberValueInfoList.get(i); - String ctgrType = ifEmpty(numberValueInfo.getSeperatorCtgrType(), () -> ""); - String dtlCtgr = ifEmpty(numberValueInfo.getSeperatorDtlCtgr(), () -> ""); - if(ctgrType.equals("code")) { - codeGroup.add(dtlCtgr); - } else if(ctgrType.equals("otherCode")) { - - if(dtlCtgr.equals("VLTN_CD")) { - codeGroup.add("FIM054"); - codeGroup.add("FIM004"); - codeGroup.add("FIM005"); - codeGroup.add("FIM006"); - codeGroup.add("FIM061"); - codeGroup.add("FIM064"); - } - - } - } - } - - Map> commonCodes = new HashMap>(); - if(codeGroup.size() > 0) { - commonCodes = getCodesOf(codeGroup.toArray(new String[codeGroup.size()])); - } - - if(statQuery.getCodeSubsetInfoList() != null && !statQuery.getCodeSubsetInfoList().isEmpty()) { - for(CodeSubsetInfo subsetInfo : statQuery.getCodeSubsetInfoList()) { - CommonCode newCode = new CommonCode(); - newCode.setGroupID(subsetInfo.getSourceGroup()); - newCode.setCode(subsetInfo.getTargetCode()); - newCode.setValue(subsetInfo.getTargetCodeVal()); - commonCodes.get(subsetInfo.getSourceGroup()).add(newCode); - } - } - - Stat stat = statService.getStatistics(statQuery, commonCodes); - - mav.addObject("stat", stat); - return mav; - } - - /** 종합 통계 메인 화면을 연다. - * @return fims/stat/stat01010-main - */ - @RequestMapping(name="종합 통계 메인", value=METHOD_URL.comprehensiveStatisticsMain) - public ModelAndView comprehensiveStatisticsMain() { - - ModelAndView mav = new ModelAndView(); - mav.setViewName("fims/stat/stat01010-main"); - mav.addObject("pageName", "stat01010"); - - FimsUser currentUser = (FimsUser) currentUser().getUser(); - String sggCd = currentUser.getOrgID(); - mav.addObject("sggCd", sggCd); - DataObject sgg = sigunguBean.getSigunguList(new SigunguQuery().setSggIDs(sggCd)).get(0); - String sggNm = sgg.string("SGG_NM"); - mav.addObject("sggNm", sggNm); - - Map> commonCodes = getCodesOf("FIM054","FIM002"); - mav.addObject("FIM054List", commonCodes.get("FIM054")); - mav.addObject("TaskListForSgg", stngBean.filterTaskSectionCodeForSgg(commonCodes.get("FIM054"))); - mav.addObject("FIM002List", commonCodes.get("FIM002")); - - return mav; - } - - /** 단속 통계 메인 화면을 연다. - * @return fims/stat/stat01020-main - */ - @RequestMapping(name="단속 통계 메인", value=METHOD_URL.crackdownStatisticsMain) - public ModelAndView crackdownStatisticsMain() { - - ModelAndView mav = new ModelAndView(); - mav.setViewName("fims/stat/stat01020-main"); - mav.addObject("pageName", "stat01020"); - - FimsUser currentUser = (FimsUser) currentUser().getUser(); - String sggCd = currentUser.getOrgID(); - mav.addObject("sggCd", sggCd); - DataObject sgg = sigunguBean.getSigunguList(new SigunguQuery().setSggIDs(sggCd)).get(0); - String sggNm = sgg.string("SGG_NM"); - mav.addObject("sggNm", sggNm); - - Map> commonCodes = getCodesOf("FIM054","FIM002"); - mav.addObject("FIM054List", commonCodes.get("FIM054")); - mav.addObject("TaskListForSgg", stngBean.filterTaskSectionCodeForSgg(commonCodes.get("FIM054"))); - mav.addObject("FIM002List", commonCodes.get("FIM002")); - - return mav; - } - - - /** 부과 통계 메인 화면을 연다. - * @return fims/stat/stat01030-main - */ - @RequestMapping(name="부과 통계 메인", value=METHOD_URL.levyStatisticsMain) - public ModelAndView levyStatisticsMain() { - - ModelAndView mav = new ModelAndView(); - mav.setViewName("fims/stat/stat01030-main"); - mav.addObject("pageName", "stat01030"); - - FimsUser currentUser = (FimsUser) currentUser().getUser(); - String sggCd = currentUser.getOrgID(); - mav.addObject("sggCd", sggCd); - DataObject sgg = sigunguBean.getSigunguList(new SigunguQuery().setSggIDs(sggCd)).get(0); - String sggNm = sgg.string("SGG_NM"); - mav.addObject("sggNm", sggNm); - - Map> commonCodes = getCodesOf("FIM054"); - mav.addObject("FIM054List", commonCodes.get("FIM054")); - mav.addObject("TaskListForSgg", stngBean.filterTaskSectionCodeForSgg(commonCodes.get("FIM054"))); - - return mav; - } - - /** 발송 통계 메인 화면을 연다. - * @return fims/stat/stat01040-main - */ - @RequestMapping(name="발송 통계 메인", value=METHOD_URL.sendStatisticsMain) - public ModelAndView sendStatisticsMain() { - - ModelAndView mav = new ModelAndView(); - mav.setViewName("fims/stat/stat01040-main"); - mav.addObject("pageName", "stat01040"); - - FimsUser currentUser = (FimsUser) currentUser().getUser(); - String sggCd = currentUser.getOrgID(); - mav.addObject("sggCd", sggCd); - DataObject sgg = sigunguBean.getSigunguList(new SigunguQuery().setSggIDs(sggCd)).get(0); - String sggNm = sgg.string("SGG_NM"); - mav.addObject("sggNm", sggNm); - - Map> commonCodes = getCodesOf("FIM054"); - mav.addObject("FIM054List", commonCodes.get("FIM054")); - mav.addObject("TaskListForSgg", stngBean.filterTaskSectionCodeForSgg(commonCodes.get("FIM054"))); - - return mav; - } - - /** 수납 통계 메인 화면을 연다. - * @return fims/stat/stat01050-main - */ - @RequestMapping(name="수납 통계 메인", value=METHOD_URL.receivingStatisticsMain) - public ModelAndView receivingStatisticsMain() { - - ModelAndView mav = new ModelAndView(); - mav.setViewName("fims/stat/stat01050-main"); - mav.addObject("pageName", "stat01050"); - - FimsUser currentUser = (FimsUser) currentUser().getUser(); - String sggCd = currentUser.getOrgID(); - mav.addObject("sggCd", sggCd); - DataObject sgg = sigunguBean.getSigunguList(new SigunguQuery().setSggIDs(sggCd)).get(0); - String sggNm = sgg.string("SGG_NM"); - mav.addObject("sggNm", sggNm); - - Map> commonCodes = getCodesOf("FIM054","FIM002"); - mav.addObject("FIM054List", commonCodes.get("FIM054")); - mav.addObject("TaskListForSgg", stngBean.filterTaskSectionCodeForSgg(commonCodes.get("FIM054"))); - mav.addObject("FIM002List", commonCodes.get("FIM002")); - - return mav; - } -} diff --git a/src/main/java/cokr/xit/fims/task/Task.java b/src/main/java/cokr/xit/fims/task/Task.java deleted file mode 100644 index e33ad40a..00000000 --- a/src/main/java/cokr/xit/fims/task/Task.java +++ /dev/null @@ -1,12 +0,0 @@ -package cokr.xit.fims.task; - -import java.lang.annotation.ElementType; -import java.lang.annotation.Retention; -import java.lang.annotation.RetentionPolicy; -import java.lang.annotation.Target; - -@Target(ElementType.METHOD) -@Retention(RetentionPolicy.RUNTIME) -public @interface Task { - String[] value() default "ALL"; -} diff --git a/src/main/java/cokr/xit/fims/task/TaskMvcConfig.java b/src/main/java/cokr/xit/fims/task/TaskMvcConfig.java deleted file mode 100644 index 71ebc5bc..00000000 --- a/src/main/java/cokr/xit/fims/task/TaskMvcConfig.java +++ /dev/null @@ -1,22 +0,0 @@ -package cokr.xit.fims.task; - -import org.springframework.context.annotation.Bean; -import org.springframework.context.annotation.Configuration; -import org.springframework.web.servlet.config.annotation.DelegatingWebMvcConfiguration; -import org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerMapping; - - -@Configuration -public class TaskMvcConfig extends DelegatingWebMvcConfiguration { - - @Override - protected RequestMappingHandlerMapping createRequestMappingHandlerMapping() { - return new TaskRequestMappingHandlerMapping(); - } - - @Bean - TaskRequestMappingHandlerMapping taskRequestMappingHandlerMapping() { - return new TaskRequestMappingHandlerMapping(); - } - -} diff --git a/src/main/java/cokr/xit/fims/task/TaskRequestMappingHandlerMapping.java b/src/main/java/cokr/xit/fims/task/TaskRequestMappingHandlerMapping.java deleted file mode 100644 index 8ab66c8b..00000000 --- a/src/main/java/cokr/xit/fims/task/TaskRequestMappingHandlerMapping.java +++ /dev/null @@ -1,69 +0,0 @@ -package cokr.xit.fims.task; - -import java.lang.reflect.Method; -import java.util.Set; - -import org.springframework.core.annotation.AnnotatedElementUtils; -import org.springframework.lang.Nullable; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.servlet.mvc.method.RequestMappingInfo; -import org.springframework.web.servlet.mvc.method.RequestMappingInfo.BuilderConfiguration; -import org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerMapping; - -public class TaskRequestMappingHandlerMapping extends RequestMappingHandlerMapping { - - @Override - @Nullable - public RequestMappingInfo getMappingForMethod(Method method, Class handlerType) { - - RequestMappingInfo info = super.getMappingForMethod(method, handlerType); - - Task task = AnnotatedElementUtils.findMergedAnnotation(method, Task.class); - - if(task != null && info != null) { - return createRequestMappingInfo(task, method, info); - } else { - return info; - } - - } - - protected RequestMappingInfo createRequestMappingInfo(Task task, Method method, - RequestMappingInfo info) { - - String[] prefix = task.value(); - if(prefix[0].equals("ALL")) { - prefix = new String[] {"PVS","BPV","DPV","ECA","PES","DVS"}; - } else if(prefix[0].equals("CMN")) { - prefix = new String[] {"","PVS","BPV","DPV","ECA","PES","DVS"}; - } - - RequestMapping rm = AnnotatedElementUtils.findMergedAnnotation(method, RequestMapping.class); - - Set olds0 = info.getPatternValues(); - String[] olds = olds0.toArray(new String[olds0.size()]); - String[] news = new String[prefix.length*olds.length]; - for(int i=0;i < prefix.length; i++) { - for(int j=0;j < olds.length; j++) { - String newPattern = (prefix[i].equals("") ? "" : "/")+prefix[i]+olds[j]; - news[i*(olds.length)+j] = newPattern; - } - } - - BuilderConfiguration bc = new RequestMappingInfo.BuilderConfiguration(); - bc.setContentNegotiationManager(super.getContentNegotiationManager()); - bc.setPatternParser(super.getPatternParser()); - - return RequestMappingInfo - .paths(super.resolveEmbeddedValuesInPatterns(news)) - .mappingName(rm.name()) - .methods(rm.method()) - .params(rm.params()) - .headers(rm.headers()) - .consumes(rm.consumes()) - .produces(rm.produces()) - .options(bc) - .build(); - - } -}