From 5f339e3f632145a5c1b81cddfdef31d83b77026a Mon Sep 17 00:00:00 2001 From: mjkhan21 Date: Tue, 22 Apr 2025 17:13:17 +0900 Subject: [PATCH] =?UTF-8?q?=EB=8B=A8=EC=86=8D=ED=8C=8C=EC=9D=BC=20?= =?UTF-8?q?=EB=93=B1=EB=A1=9D=20=EC=88=98=EC=A0=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/cokr/xit/fims/crdn/CrdnQuery.java | 12 + .../fims/crdn/service/bean/ImportBean.java | 15 +- .../crdn/service/bean/ImportServiceBean.java | 303 ++++++++++-------- .../xit/fims/crdn/web/Crdn05Controller.java | 20 +- .../service/bean/LevyExclServiceBean.java | 4 +- .../xit/fims/sprt/web/Sprt01Controller.java | 15 +- .../stat/service/bean/StatServiceBean.java | 7 +- .../mapper/fims/crdn/exmptn-vhcl-mapper.xml | 5 +- 8 files changed, 207 insertions(+), 174 deletions(-) diff --git a/src/main/java/cokr/xit/fims/crdn/CrdnQuery.java b/src/main/java/cokr/xit/fims/crdn/CrdnQuery.java index 959be330..9a89eae9 100644 --- a/src/main/java/cokr/xit/fims/crdn/CrdnQuery.java +++ b/src/main/java/cokr/xit/fims/crdn/CrdnQuery.java @@ -1,5 +1,7 @@ package cokr.xit.fims.crdn; +import java.util.List; + import cokr.xit.fims.cmmn.CmmnQuery; /**단속 대장 정보 조회 요청 @@ -72,6 +74,7 @@ public class CrdnQuery extends CmmnQuery { //기타 private String vhrno; + private List vhrnos; private String cvlcptPrcsPicNm; private String teamNm; private String nxrpSendStts; @@ -167,6 +170,15 @@ public class CrdnQuery extends CmmnQuery { return self(); } + public List getVhrnos() { + return ifEmpty(vhrnos, () -> null); + } + + public T setVhrnos(List vhrnos) { + this.vhrnos = vhrnos; + return self(); + } + public String getCvlcptPrcsPicNm() { return ifEmpty(cvlcptPrcsPicNm, () -> null); } 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 index 3039f9c5..034b0fb9 100644 --- a/src/main/java/cokr/xit/fims/crdn/service/bean/ImportBean.java +++ b/src/main/java/cokr/xit/fims/crdn/service/bean/ImportBean.java @@ -36,13 +36,10 @@ import cokr.xit.interfaces.smg.dao.SmgMapper; 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 = "payerBean") private PayerBean payerBean; @@ -247,13 +244,21 @@ public class ImportBean extends AbstractBean { } } - for(Crdn crdn : crdns) { + for (Crdn crdn : crdns) { Payer payer = payerMap.get(crdn.getCrdnYmd()+","+crdn.getVhrno()); if (payer == null) return; BasicInfoResponse.BasicInfo vehicle = payer.getVehicleInfo(); crdn.setSggCd(payer.getSggCd()); // 시군구 데이터 정리되면 지울 것 - crdn.setRtpyrId(isEmpty(vehicle.getErsr_regist_de()) ? "" : payer.getRtpyrId()); + crdn.setRtpyrId(!isEmpty(vehicle.getErsr_regist_de()) ? "" : payer.getRtpyrId()); + crdn.setRtpyrNm(payer.getRtpyrNm()); + crdn.setRtpyrSeCd(payer.getRtpyrSeCd()); + crdn.setRtpyrNo(payer.getRtpyrNo()); + crdn.setZip(payer.getZip()); + crdn.setAddr(payer.getAddr()); + crdn.setDtlAddr(payer.getDtlAddr()); + crdn.setAddrSn(blankIfEmpty(payer.getAddrSn())); + crdn.setVin(vehicle.getVin()); crdn.setVhclNm(vehicle.getCnm()); crdn.setVhclColr(vehicle.getColor_nm()); 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 index ee88e3c5..b0c8f19f 100644 --- a/src/main/java/cokr/xit/fims/crdn/service/bean/ImportServiceBean.java +++ b/src/main/java/cokr/xit/fims/crdn/service/bean/ImportServiceBean.java @@ -7,11 +7,11 @@ import java.util.Comparator; import java.util.HashMap; import java.util.List; import java.util.Map; +import java.util.Optional; 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; @@ -20,6 +20,7 @@ import cokr.xit.base.file.web.FileInfoFactory; import cokr.xit.base.user.dao.UserMapper; import cokr.xit.fims.cmmn.CmmnUtil; import cokr.xit.fims.crdn.Crdn; +import cokr.xit.fims.crdn.CrdnQuery; import cokr.xit.fims.crdn.Team; import cokr.xit.fims.crdn.dao.CrdnTeamMapper; import cokr.xit.fims.crdn.receive.eqpmnt.SingleFileParser; @@ -46,6 +47,8 @@ public class ImportServiceBean extends AbstractServiceBean implements ImportServ private CrdnService crdnService; @Resource(name = "crdnBean") private CrdnBean crdnBean; + @Resource(name = "crdnStngBean") + private CrdnStngBean crdnStngBean; @Resource(name="userMapper") protected UserMapper userMapper; @@ -83,152 +86,178 @@ public class ImportServiceBean extends AbstractServiceBean implements ImportServ } @Override - public HashMap createCrdnByEquipmentLinkFile(Map processInfo, List linkFileInfoList) { + public HashMap createCrdnByEquipmentLinkFile(Map processInfo, List fileList) { String workPath = processInfo.get("workPath"); String taskSeCd = processInfo.get("taskSeCd"); + String orgID = currentUser().getOrgID(); String fileGroupType = processInfo.get("fileGroupType"); + boolean statByTeamEquipment = TaskProcessor.get().statByTeamEquipment(taskSeCd); + HashMap resultMap = new HashMap<>(); - Crdn crdn = new Crdn(); - crdn.setCrdnRegSeCd("07"); - crdn.setTaskSeCd(taskSeCd); - 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. 연계파일정보를 단속 엔티티로 변환 - crdnTimeRangeSet(crdn, bgngData, endData); - - String crdnInptSeCd = switch (blankIfEmpty(metaFileInfo.get("LINK_ENT_NM"))) { - case "ino" -> "11"; - case "knl" -> "12"; - default -> "15"; - }; - crdn.setCrdnInptSeCd(crdnInptSeCd); - crdn.setVltnCd(ifEmpty(metaFileInfo.string("VLTN_CD"), () -> "01")); - crdn.setCrdnSpareaCd(ifEmpty(metaFileInfo.string("CRDN_SPAREA_CD"), () -> "00")); - - 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 (TaskProcessor.get().statByTeamEquipment(taskSeCd)) { - if (!isEmpty(crdn.getCrdnSeCd()) && !isEmpty(metaFileInfo.string("EQPMNT_CD"))) { - 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")); + List crdnList = divideFiles(fileList).stream() + .map(dividedInfo -> { + Crdn crdn = new Crdn(); + crdn.setCrdnRegSeCd("07"); + crdn.setTaskSeCd(taskSeCd); + crdn.setSggCd(orgID); + + DataObject metaInfo = (DataObject)dividedInfo.get("metaInfo"); + List imageList = CmmnUtil.getDataObjectListFromMap(dividedInfo,"imageInfo"); + DataObject bgngData = (DataObject)dividedInfo.get("bgngData"); + DataObject endData = (DataObject)dividedInfo.get("endData"); + //1. 연계파일정보를 단속 엔티티로 변환 + crdnTimeRangeSet(crdn, bgngData, endData); + + String crdnInptSeCd = switch (blankIfEmpty(metaInfo.get("LINK_ENT_NM"))) { + case "ino" -> "11"; + case "knl" -> "12"; + default -> "15"; + }; + crdn.setCrdnInptSeCd(crdnInptSeCd); + crdn.setVltnCd(ifEmpty(metaInfo.string("VLTN_CD"), () -> "01")); + crdn.setCrdnSpareaCd(ifEmpty(metaInfo.string("CRDN_SPAREA_CD"), () -> "00")); + + crdn.setVhrno(metaInfo.string("VHRNO")); + crdn.setCrdnYmd(metaInfo.string("CRDN_YMD")); + crdn.setCrdnTm(metaInfo.string("CRDN_TM")); + if (isEmpty(crdn.getCrdnBgngTm())) { + crdn.setCrdnBgngTm(metaInfo.string("CRDN_BGNG_TM")); + crdn.setCrdnEndTm(metaInfo.string("CRDN_END_TM")); } - } - } - - //metaFileInfo.string("PLATE_WIDTH"); - //metaFileInfo.string("PLATE_HEIGHT"); - List fileInfoList = this.parsedDataInfoToFileInfo(imageFileInfoList, fileGroupType); + crdn.setGpsX(metaInfo.string("GPS_X")); + crdn.setGpsY(metaInfo.string("GPS_Y")); + crdn.setCrdnPlc(metaInfo.string("CRDN_PLC")); + crdn.setCrdnRoadNm(metaInfo.string("CRDN_ROAD_NM")); + crdn.setCrdnStdgNm(metaInfo.string("CRDN_STDG_NM")); + + crdn.setCrdnSeCd(metaInfo.string("CRDN_SE_CD")); + crdn.setMoscX(metaInfo.string("MOSC_X")); + crdn.setMoscY(metaInfo.string("MOSC_Y")); + + if (statByTeamEquipment) { + if (!isEmpty(crdn.getCrdnSeCd()) && !isEmpty(metaInfo.string("EQPMNT_CD"))) { + Team team = new Team(); + team.setSggCd(crdn.getSggCd()); + team.setTaskSeCd(taskSeCd); + team.setTeamNm(metaInfo.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")); + } + } + } + //metaInfo.string("PLATE_WIDTH"); + //metaInfo.string("PLATE_HEIGHT"); + List fileInfos = parseDataInfoToFileInfo(imageList, fileGroupType); + DataObject result = new DataObject() + .set("crdn", crdn) + .set("fileInfos", fileInfos); + return result; + }) + .toList(); + + List crdns = crdnList.stream() + .map(info -> (Crdn)info.get("crdn")) + .toList(); //2. 차적 조회 - importBean.setVehicleInfo(List.of(crdn)); - + importBean.setVehicleInfo(crdns); + + List + vhrnos = crdns.stream().map(crdn -> crdn.getVhrno()).toList(), + exempted = crdnStngBean.selectExemptionVehicleList(new CrdnQuery().setVhrnos(vhrnos).setSggCd(orgID)) + .stream() + .map(row -> row.string("VHRNO")) + .toList(); //3.등록 - boolean saved = crdnBean.create(null, crdn, fileInfoList); - HashMap resultMap = new HashMap<>(); - resultMap.put("saved", saved); - - if (saved) { - for (DataObject delInfo : linkFileInfoList) { - crdnBean.removeEquipmentLinkFile(workPath, delInfo.string("FILE_NAME")); - } - - if (!isEmpty(crdn.getErsrRegYmd())) { - 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); + crdnList.forEach(info -> { + Crdn crdn = (Crdn)info.get("crdn"); + if (exempted.contains(crdn.getVhrno())) + crdn.setCrdnSttsCd("81"); // 면제차량 + boolean saved = crdnBean.create(null, crdn, (List)info.get("fileInfos")); + resultMap.put("saved", saved); + if (saved) { + if (!isEmpty(crdn.getErsrRegYmd())) { + 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); + + resultMap.put("alertMessage", vhrno + " : " + ersrYear + "년" + ersrMonth + "월" + ersrDay + "일로 말소된 차량입니다."); + } - resultMap.put("alertMessage", vhrno + " : " + ersrYear + "년" + ersrMonth + "월" + ersrDay + "일로 말소된 차량입니다."); + } else { + resultMap.put("failReason", "기타 오류"); } - - } else { - resultMap.put("failReason", "기타 오류"); - } + }); + fileList.forEach(delInfo -> crdnBean.removeEquipmentLinkFile(workPath, delInfo.string("FILE_NAME"))); return resultMap; } - /**파싱된 데이터 목록을 메타정보, 이미지정보목록, 최초단속자료, 최종단속자료로 분리한다.
- * @param linkFileInfoList 연계파일정보목록, fileGroupType 연계파일그룹형식 + * @param fileList 연계파일정보목록, 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 ("TXT".equals(fileGroupType)) { - for (DataObject linkFileInfo : linkFileInfoList) { - if (linkFileInfo.string("FILE_EXTENSION").toUpperCase().equals("TXT")) { - metaFileInfo = linkFileInfo; - } else { - imageFileInfoList.add(linkFileInfo); + private List divideFiles(List fileList) { + Map> byName = fileList.stream().collect(Collectors.groupingBy(fileInfo -> { + String filename = fileInfo.string("FILE_NAME"); + return filename.substring(0, filename.lastIndexOf("_")); + })); + + List list = byName.values().stream() + .map(files -> { + DataObject result = new DataObject(); + DataObject metaInfo = null; + List imgs = null; + DataObject[] bgngAndEnd = null; + + DataObject first = files.get(0); + String groupType = first.string("FILE_GROUP_TYPE"); + if ("TXT".equalsIgnoreCase(groupType)) { + Optional found = files.stream() + .filter(file -> "TXT".equalsIgnoreCase(file.string("FILE_EXTENSION"))) + .findFirst(); + if (found.isPresent()) { + files.remove(metaInfo = found.get()); + } + imgs = files; + bgngAndEnd = getBgngDataAndEndData(imgs); + } else if ("JPG".equalsIgnoreCase(groupType)) { + bgngAndEnd = getBgngDataAndEndData(imgs = files); + metaInfo = bgngAndEnd[1] == null ? first : bgngAndEnd[1]; + } else if ("BIN".equalsIgnoreCase(groupType)) { + metaInfo = first; + imgs = new ArrayList<>(); + for (int i = 1, otherPhotoCnt = toInt(metaInfo.get("PHOTO_CNT")); i <= otherPhotoCnt; i++){ + String fileName = metaInfo.string("B64IMAGE" + i + "_NM"); + String b64str = metaInfo.string("B64IMAGE" + i); + DataObject dataObject = new DataObject() + .set("B64IMAGE_NM", fileName) + .set("B64IMAGE", b64str); + imgs.add(dataObject); + } } - } - bgngAndEnd = getBgngDataAndEndData(imageFileInfoList); - } else if ("JPG".equals(fileGroupType)){ - imageFileInfoList = linkFileInfoList; - bgngAndEnd = getBgngDataAndEndData(linkFileInfoList); - metaFileInfo = bgngAndEnd[1] == null ? linkFileInfoList.get(0) : bgngAndEnd[1]; - } else if ("BIN".equals(fileGroupType)) { - metaFileInfo = linkFileInfoList.get(0); - for (int i = 1, otherPhotoCnt = toInt(metaFileInfo.get("PHOTO_CNT")); 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]); + result + .set("metaInfo", metaInfo) + .set("imageInfo", imgs) + .set("bgngData", bgngAndEnd[0]) + .set("endData", bgngAndEnd[1]); + return result; + }) + .toList(); - return result; + return list; } /**단속이미지정보 목록 내에서 최초단속자료와 최종단속자료를 반환한다. 단속일시 정보가 없을 경우 null을 반환한다.
* @param imageDataList 단속이미지정보 목록 * @return 최초단속자료, 최종단속자료 */ - public DataObject[] getBgngDataAndEndData(List imageDataList) { + private DataObject[] getBgngDataAndEndData(List imageDataList) { DataObject[] bgngAndEnd = {null, null}; if (!isEmpty(imageDataList.get(0).get("CRDN_TIMESTAMP"))) { @@ -251,7 +280,7 @@ public class ImportServiceBean extends AbstractServiceBean implements ImportServ * @param crdn 단속대장, bgngData 최초단속자료, endData 최종단속자료 * @return */ - public void crdnTimeRangeSet(Crdn crdn, DataObject bgngData, DataObject endData) { + private void crdnTimeRangeSet(Crdn crdn, DataObject bgngData, DataObject endData) { if (isEmpty(bgngData) || isEmpty(endData)) return; String crdnBgngTm = endData.string("CRDN_BGNG_TM"); @@ -268,32 +297,32 @@ public class ImportServiceBean extends AbstractServiceBean implements ImportServ } /**단속이미지정보를 List로 변환한다.
- * @param imageFileInfoList 단속이미지정보 목록, fileGroupType 연계파일그룹형식 + * @param imageList 단속이미지정보 목록, fileGroupType 연계파일그룹형식 * @return fileInfo리스트 */ - public List parsedDataInfoToFileInfo(List imageFileInfoList, String fileGroupType){ + private List parseDataInfoToFileInfo(List imageList, String fileGroupType){ try { - List fileInfoList = null; + List fileInfos = null; if ("JPG,TXT".contains(fileGroupType)) { - List files = imageFileInfoList.stream() - .map(imageFileInfo -> new File(imageFileInfo.string("FILE_PATH"))) + List files = imageList.stream() + .map(imageInfo -> new File(imageInfo.string("FILE_PATH"))) .toList(); - fileInfoList = new FileInfoFactory().createFileInfos(null, files); - for (int i = 0; i < fileInfoList.size(); i++) { - FileInfo fileInfo = fileInfoList.get(i); - fileInfo.setName("image" + i + "." + FilenameUtils.getExtension(fileInfo.getName())); + fileInfos = new FileInfoFactory().createFileInfos(null, files); + for (int i = 0; i < fileInfos.size(); i++) { + FileInfo fileInfo = fileInfos.get(i); + fileInfo.setName("image" + i + "." + fileInfo.getExtension()); } } else if ("BIN".equals(fileGroupType)) { - fileInfoList = new ArrayList<>(); - for (int i = 0; i < imageFileInfoList.size(); i++){ - String fileName = imageFileInfoList.get(i).string("B64IMAGE_NM"); - String b64str = imageFileInfoList.get(i).string("B64IMAGE"); + fileInfos = new ArrayList<>(); + for (int i = 0; i < imageList.size(); i++){ + String fileName = imageList.get(i).string("B64IMAGE_NM"); + String b64str = imageList.get(i).string("B64IMAGE"); FileInfo FileInfo = SingleFileParser.base64ToFileInfo(fileName, b64str, (i + 1)); - fileInfoList.add(FileInfo); + fileInfos.add(FileInfo); } } - return fileInfoList; + return fileInfos; } catch (Exception e) { throw runtimeException(e); } diff --git a/src/main/java/cokr/xit/fims/crdn/web/Crdn05Controller.java b/src/main/java/cokr/xit/fims/crdn/web/Crdn05Controller.java index aadea53d..0523d4a5 100644 --- a/src/main/java/cokr/xit/fims/crdn/web/Crdn05Controller.java +++ b/src/main/java/cokr/xit/fims/crdn/web/Crdn05Controller.java @@ -162,7 +162,8 @@ public class Crdn05Controller extends ApplicationController { List layoutDescriptors = crdnStngService.getLinkFileLayoutMetadata(currentUser.getOrgID(), hReq.getParameter("taskSeCd"), currentUser().getInstitute(), currentUser.getDeptCode()); ModelAndView mav = new ModelAndView("jsonView"); for(int i=0; i < layoutDescriptors.size(); i++) { - DataObject remoteInfo = crdnEqpmntMapper.selectRemoteInfo(layoutDescriptors.get(i).getFileLayoutId()); + LayoutDescriptor layoutDescriptor = layoutDescriptors.get(i); + DataObject remoteInfo = crdnEqpmntMapper.selectRemoteInfo(layoutDescriptor.getFileLayoutId()); if (remoteInfo == null || isEmpty(remoteInfo.string("REMOTE_IP"))) continue; @@ -174,8 +175,7 @@ public class Crdn05Controller extends ApplicationController { rs.setOsType(remoteInfo.string("REMOTE_OS")); String remoteWorkPath = remoteInfo.string("REMOTE_WORK_PATH"); - - String workPath = layoutDescriptors.get(i).getLinkFileLocation(); + String workPath = layoutDescriptor.getLinkFileLocation(); ensureDir(workPath); try { @@ -252,7 +252,8 @@ public class Crdn05Controller extends ApplicationController { TaskProcessor taskProcessor = TaskProcessor.get(); Map> codeInfo = getCodesOf("FIM007","FIM004","FIM005","FIM006","FIM005","FIM061"); for(int i = 0; i < layoutDescriptors.size(); i++) { - String workPath = layoutDescriptors.get(i).getLinkFileLocation(); + LayoutDescriptor layoutDescriptor = layoutDescriptors.get(i); + String workPath = layoutDescriptor.getLinkFileLocation(); ensureDir(workPath); List fileList = null; @@ -263,7 +264,7 @@ public class Crdn05Controller extends ApplicationController { } if (isEmpty(fileList)) continue; - LayoutParser parser = switch (layoutDescriptors.get(i).getFileGroup()){ + LayoutParser parser = switch (layoutDescriptor.getFileGroup()){ case "TXT" -> new AttachedTxtParser(); case "JPG" -> new OnlyImageParser(); case "BIN" -> new SingleFileParser(); @@ -272,7 +273,7 @@ public class Crdn05Controller extends ApplicationController { parser.setTaskProcessor(taskProcessor); parser.setTempGroupSeq(nextTempGroupSeq); parser.addCommonCode(codeInfo); - parser.setDescriptor(layoutDescriptors.get(i)); + parser.setDescriptor(layoutDescriptor); List parsedDataList = parser.parsing(fileList); allParsedDataList.addAll(parsedDataList); @@ -344,8 +345,8 @@ public class Crdn05Controller extends ApplicationController { */ @Task @RequestMapping(name="단속자료 수기 등록 화면", value=METHOD_URL.getManualRegistrationScreen) - public ModelAndView getManualRegistrationScreen(HttpServletRequest hReq) { - String taskSeCd = hReq.getParameter("taskSeCd"); + public ModelAndView getManualRegistrationScreen(HttpServletRequest hreq) { + String taskSeCd = hreq.getParameter("taskSeCd"); String sggCd = currentUser().getOrgID(); List stdgNmList = crdnStngMapper.selectStdgNmList(sggCd); @@ -353,7 +354,8 @@ public class Crdn05Controller extends ApplicationController { .addObject("pageName", "crdn05030") .addObject("taskSeCd", taskSeCd) .addObject("sggCd", sggCd) - .addObject("stdgNmList", stdgNmList); + .addObject("stdgNmList", stdgNmList) + .addObject("today", dateFormats.format("yyyyMMdd", System.currentTimeMillis())); TaskProcessor taskProcessor = TaskProcessor.get(); String vltnByTask = taskProcessor.getVltnCdGrp(taskSeCd); 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 index f5ed1696..d707c21d 100644 --- a/src/main/java/cokr/xit/fims/excl/service/bean/LevyExclServiceBean.java +++ b/src/main/java/cokr/xit/fims/excl/service/bean/LevyExclServiceBean.java @@ -24,7 +24,6 @@ import cokr.xit.foundation.data.DataObject; */ @Service("levyExclService") public class LevyExclServiceBean extends AbstractServiceBean implements LevyExclService { - /* 부과제외 대장 정보 Bean */ @Resource(name = "levyExclBean") protected LevyExclBean levyExclBean; @@ -58,5 +57,4 @@ public class LevyExclServiceBean extends AbstractServiceBean implements LevyExcl public String removeLevyExcl(LevyExcl levyExcl) { return levyExclBean.removeLevyExcl(levyExcl); } - -} +} \ No newline at end of file diff --git a/src/main/java/cokr/xit/fims/sprt/web/Sprt01Controller.java b/src/main/java/cokr/xit/fims/sprt/web/Sprt01Controller.java index f0559ac0..3479f3ba 100644 --- a/src/main/java/cokr/xit/fims/sprt/web/Sprt01Controller.java +++ b/src/main/java/cokr/xit/fims/sprt/web/Sprt01Controller.java @@ -1,8 +1,6 @@ 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; @@ -614,9 +612,7 @@ public class Sprt01Controller extends ApplicationController { 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()); + String today = dateFormats.format("yyyyMMdd", System.currentTimeMillis()); sndng.setSndngYmd(today); sndbQuery.setSggCd(sndng.getSggCd()); @@ -728,8 +724,7 @@ public class Sprt01Controller extends ApplicationController { sndng.setTnocs(crdnIds.length); sndng.setGramt(CmmnUtil.sumByKey(dataObjectList0, "FFNLG_AMT")); - SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMdd"); - String today = sdf.format(new Date()); + String today = dateFormats.format("yyyyMMdd", System.currentTimeMillis()); sndng.setSndngYmd(today); sndbQuery @@ -847,8 +842,7 @@ public class Sprt01Controller extends ApplicationController { sndng.setTnocs(crdnIds.length); sndng.setGramt(CmmnUtil.sumByKey(dataObjectList0, "FFNLG_AMT")); - SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMdd"); - String today = sdf.format(new Date()); + String today = dateFormats.format("yyyyMMdd", System.currentTimeMillis()); sndng.setSndngYmd(today); sndbQuery @@ -958,8 +952,7 @@ public class Sprt01Controller extends ApplicationController { sndng.setTnocs(crdnIds.length); sndng.setGramt(CmmnUtil.sumByKey(dataObjectList0, "FFNLG_AMT")); - SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMdd"); - String today = sdf.format(new Date()); + String today = dateFormats.format("yyyyMMdd", System.currentTimeMillis()); sndng.setSndngYmd(today); sndbQuery 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 index 0e124a38..d5988018 100644 --- a/src/main/java/cokr/xit/fims/stat/service/bean/StatServiceBean.java +++ b/src/main/java/cokr/xit/fims/stat/service/bean/StatServiceBean.java @@ -1,8 +1,6 @@ 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; @@ -56,10 +54,7 @@ public class StatServiceBean extends AbstractServiceBean implements StatService List queryResult = new ArrayList<>(); - SimpleDateFormat yyyyMMdd = new SimpleDateFormat("yyyyMMdd"); - Date curDate = new Date(); - String today = yyyyMMdd.format(curDate); - + String today = dateFormats.format("yyyyMMdd", System.currentTimeMillis()); boolean daySetting = false; diff --git a/src/main/resources/sql/mapper/fims/crdn/exmptn-vhcl-mapper.xml b/src/main/resources/sql/mapper/fims/crdn/exmptn-vhcl-mapper.xml index c4b32666..3ea98aca 100644 --- a/src/main/resources/sql/mapper/fims/crdn/exmptn-vhcl-mapper.xml +++ b/src/main/resources/sql/mapper/fims/crdn/exmptn-vhcl-mapper.xml @@ -22,9 +22,8 @@ SELECT A.EXMPTN_VHCL_ID , A.DEL_YN FROM TB_EXMPTN_VHCL A WHERE A.SGG_CD = #{sggCd} - - AND A.VHRNO LIKE CONCAT('%', #{vhrno}, '%') - + AND A.VHRNO LIKE CONCAT('%', #{vhrno}, '%') + AND A.VHRNO IN (#{vhrno}) AND A.DEL_YN = #{delYn}