From eea5d35102a6efad3312927494daa291c59a6ce9 Mon Sep 17 00:00:00 2001 From: mjkhan21 Date: Fri, 21 Feb 2025 11:16:19 +0900 Subject: [PATCH] =?UTF-8?q?urlPrefixedWithTask=20=EC=84=A4=EC=A0=95=20?= =?UTF-8?q?=EC=B6=94=EA=B0=80,=20=EC=86=8C=EC=8A=A4=20=EC=A0=95=EB=A6=AC?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- pom.xml | 6 + .../cokr/xit/base/ResponseHeaderFilter.java | 19 +-- .../java/cokr/xit/base/ServletCustomizer.java | 3 +- src/main/java/cokr/xit/fims/FimsConf.java | 2 +- .../java/cokr/xit/fims/base/FimsUser.java | 7 +- .../java/cokr/xit/fims/base/OgdpQuery.java | 5 +- .../java/cokr/xit/fims/base/SseEntity.java | 6 +- .../cokr/xit/fims/base/dao/OgdpMapper.java | 16 +- .../xit/fims/base/service/bean/AdminBean.java | 18 +-- .../xit/fims/base/service/bean/OgdpBean.java | 97 ++++-------- .../xit/fims/base/service/bean/SseBean.java | 45 ++---- .../fims/base/web/ActionGroupController.java | 4 +- .../xit/fims/base/web/AdminController.java | 141 +++++------------- .../xit/fims/base/web/CodeController.java | 13 +- .../xit/fims/base/web/FileController.java | 66 ++------ .../xit/fims/base/web/LoggingController.java | 3 +- .../xit/fims/base/web/MainController.java | 79 +++------- .../xit/fims/base/web/OgdpController.java | 114 ++++---------- .../xit/fims/base/web/UserController.java | 118 ++++++--------- .../cmmn/dao/CrdnPayerAddrHstryMapper.java | 1 - .../fims/cmmn/dao/CrdnSttsHstryMapper.java | 7 +- .../xit/fims/cmmn/dao/ExtrStngMapper.java | 5 +- .../cokr/xit/fims/cmmn/dao/LinkMapper.java | 4 +- .../xit/fims/cmmn/dao/OtptStngMapper.java | 5 +- .../fims/cmmn/dao/OutsourcingStngMapper.java | 4 +- .../cokr/xit/fims/cmmn/dao/StngMapper.java | 4 +- .../xit/fims/cmmn/ftp/RemoteSystemInfo.java | 12 +- .../xit/fims/cmmn/service/bean/StngBean.java | 108 +++++--------- .../xit/fims/crdn/dao/CrdnInfoMapper.java | 3 +- .../xit/fims/crdn/dao/CrdnInstMapper.java | 4 +- .../xit/fims/crdn/dao/CrdnListMapper.java | 4 +- .../xit/fims/crdn/dao/CrdnTeamMapper.java | 4 +- .../xit/fims/crdn/dao/CrdnUpdtMapper.java | 3 +- .../xit/fims/crdn/dao/ExmptnVhclMapper.java | 4 +- .../receive/eqpmnt/AttachedTxtParser.java | 14 +- .../receive/eqpmnt/dao/CrdnEqpmntMapper.java | 4 +- .../eqpmnt/service/bean/CrdnEqpmntBean.java | 60 ++++---- .../xit/fims/crdn/web/Crdn01Controller.java | 8 +- .../xit/fims/crdn/web/Crdn05Controller.java | 72 ++++----- .../xit/fims/cvlc/dao/AnswerWordsMapper.java | 3 +- .../xit/fims/cvlc/dao/CrdnCvlcptMapper.java | 3 +- .../cvlc/dao/SoCvlcptIndviDmndMapper.java | 4 +- .../xit/fims/cvlc/dao/WarningWordsMapper.java | 4 +- .../fims/cvlc/service/CrdnCvlcptService.java | 3 +- .../cvlc/service/bean/CrdnCvlcptMainBean.java | 42 +++--- .../service/bean/CrdnCvlcptServiceBean.java | 87 +++++------ .../xit/fims/cvlc/web/Cvlc01Controller.java | 6 +- .../xit/fims/cvlc/web/Cvlc02Controller.java | 6 +- .../xit/fims/levy/service/bean/LevyBean.java | 69 +++++---- .../fims/mngt/service/bean/TaskProcessor.java | 13 +- .../xit/fims/nxrp/web/Nxrp01Controller.java | 35 +---- .../xit/fims/sndb/web/Sndb01Controller.java | 7 +- .../xit/fims/sprt/dao/TotalInfoMapper.java | 4 +- .../fims/sprt/service/bean/Sprt02Bean.java | 78 ++++------ .../sprt/service/bean/Sprt02ServiceBean.java | 25 +--- .../cokr/xit/fims/task/TaskMvcConfig.java | 5 +- .../TaskRequestMappingHandlerMapping.java | 14 +- .../mapper/fims/crdn/crdn-eqpmnt-mapper.xml | 3 +- .../sql/mapper/fims/crdn/crdn-list-mapper.xml | 4 +- 59 files changed, 522 insertions(+), 985 deletions(-) diff --git a/pom.xml b/pom.xml index 65ecee44..2c1a86ca 100644 --- a/pom.xml +++ b/pom.xml @@ -169,6 +169,12 @@ xit-epost 23.04.01-SNAPSHOT + + + cokr.xit.interfaces + xit-postplus + 23.04.01-SNAPSHOT + diff --git a/src/main/java/cokr/xit/base/ResponseHeaderFilter.java b/src/main/java/cokr/xit/base/ResponseHeaderFilter.java index 742c08fc..456b1dbe 100644 --- a/src/main/java/cokr/xit/base/ResponseHeaderFilter.java +++ b/src/main/java/cokr/xit/base/ResponseHeaderFilter.java @@ -18,29 +18,20 @@ import org.springframework.stereotype.Component; @Component @Order(-10001) public class ResponseHeaderFilter implements Filter { - - public ResponseHeaderFilter() {} - @Override public void destroy() {} @Override public void init(FilterConfig filterConfig) {} - @Override - public void doFilter(ServletRequest request, ServletResponse response, - FilterChain chain) throws IOException, ServletException { - + 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().isEmpty() && cookie.getMaxAge() == 0) { cookie.setValue("null"); } - cookie.setHttpOnly(true); super.addCookie(cookie); @@ -60,21 +51,17 @@ public class ResponseHeaderFilter implements Filter { @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")) { + if(super.getContentType().startsWith("application/json")) return; - } } } } super.setHeader(name, value); - return; } }); - } -} +} \ No newline at end of file diff --git a/src/main/java/cokr/xit/base/ServletCustomizer.java b/src/main/java/cokr/xit/base/ServletCustomizer.java index badb9cdc..e6f0596e 100644 --- a/src/main/java/cokr/xit/base/ServletCustomizer.java +++ b/src/main/java/cokr/xit/base/ServletCustomizer.java @@ -1,6 +1,5 @@ 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; @@ -17,4 +16,4 @@ public class ServletCustomizer implements WebServerFactoryCustomizer tasks; // 업무코드 private List taskUrlNames; // 업무URL명칭 - private List additionalTasks; // 추가업무코드 + private boolean urlPrefixedWithTask; //URL에 업무코드 추가 여부 private List sggNet; // 시군구별 내부망 IP대역 private List externalEntNet; // 외부 협력업체PC IP diff --git a/src/main/java/cokr/xit/fims/base/FimsUser.java b/src/main/java/cokr/xit/fims/base/FimsUser.java index 120dc4ec..3604756d 100644 --- a/src/main/java/cokr/xit/fims/base/FimsUser.java +++ b/src/main/java/cokr/xit/fims/base/FimsUser.java @@ -3,7 +3,6 @@ package cokr.xit.fims.base; import cokr.xit.base.user.GenericUser; public class FimsUser extends GenericUser { - private static final long serialVersionUID = 1L; @Override @@ -29,17 +28,14 @@ public class FimsUser extends GenericUser { * 직위 이름 */ private String positionName; - /** * 인증 DN 값 */ private String certificateDn; - /** * 접속구분코드 */ private String cntnSeCd; - /** * 사용자구분코드 */ @@ -89,5 +85,4 @@ public class FimsUser extends GenericUser { public void setUserSeCd(String userSeCd) { this.userSeCd = userSeCd; } - -} +} \ No newline at end of file diff --git a/src/main/java/cokr/xit/fims/base/OgdpQuery.java b/src/main/java/cokr/xit/fims/base/OgdpQuery.java index 6c8177bb..062f62ee 100644 --- a/src/main/java/cokr/xit/fims/base/OgdpQuery.java +++ b/src/main/java/cokr/xit/fims/base/OgdpQuery.java @@ -6,7 +6,6 @@ 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; // 기관 코드 @@ -58,6 +57,4 @@ public class OgdpQuery extends QueryRequest { this.delYn = delYn; return self(); } - - -} +} \ No newline at end of file diff --git a/src/main/java/cokr/xit/fims/base/SseEntity.java b/src/main/java/cokr/xit/fims/base/SseEntity.java index ecdb880a..55cec43c 100644 --- a/src/main/java/cokr/xit/fims/base/SseEntity.java +++ b/src/main/java/cokr/xit/fims/base/SseEntity.java @@ -9,11 +9,8 @@ import lombok.Setter; @Setter @Getter public class SseEntity { - private long createdAt; - private SseEmitter emitter; - private DataObject progress; public SseEntity(SseEmitter emitter) { @@ -21,5 +18,4 @@ public class SseEntity { this.emitter = emitter; this.progress = new DataObject(); } - -} +} \ No newline at end of file diff --git a/src/main/java/cokr/xit/fims/base/dao/OgdpMapper.java b/src/main/java/cokr/xit/fims/base/dao/OgdpMapper.java index e4c5e6c4..aad4b719 100644 --- a/src/main/java/cokr/xit/fims/base/dao/OgdpMapper.java +++ b/src/main/java/cokr/xit/fims/base/dao/OgdpMapper.java @@ -69,8 +69,6 @@ public interface OgdpMapper extends AbstractMapper { """; - - @Select(SQLUtil.SCRIPT_START+""" /* 유저 수 조회(ogdpMapper.countUser) */ SELECT COUNT(*) @@ -128,7 +126,6 @@ public interface OgdpMapper extends AbstractMapper { * @return 시군구 객체 */ default DataObject selectSggStngInfo(OgdpQuery req) { - // 사용 여부 확인 if (req.getUseYn() == null) { req.setUseYn("Y"); @@ -175,10 +172,6 @@ public interface OgdpMapper extends AbstractMapper { """+SQLUtil.SCRIPT_END) DataObject selectSggStng(OgdpQuery req); - - - - @Update(SQLUtil.SCRIPT_START+""" /* 부서 설정 수정(ogdpMapper.updateDeptStng) */ UPDATE TB_DEPT @@ -213,17 +206,12 @@ public interface OgdpMapper extends AbstractMapper { +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 @@ -232,6 +220,4 @@ public interface OgdpMapper extends AbstractMapper { + SQLUtil.pagingSuffix + SQLUtil.SCRIPT_END) List selectDeptStngList(OgdpQuery query); - - -} +} \ No newline at end of file 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 index 204b33ac..e0653eee 100644 --- a/src/main/java/cokr/xit/fims/base/service/bean/AdminBean.java +++ b/src/main/java/cokr/xit/fims/base/service/bean/AdminBean.java @@ -15,7 +15,6 @@ import cokr.xit.foundation.data.DataObject; @Component("adminBean") public class AdminBean extends AbstractBean { - @Resource(name = "adminMapper") private AdminMapper adminMapper; @@ -39,13 +38,13 @@ public class AdminBean extends AbstractBean { } public boolean deactivate(Backup backup) { - adminMapper.deleteBackupData(backup); int result1 = adminMapper.insertBackupData(backup); int result2 = adminMapper.deleteOriginalData(backup); - return ((result1 != 0) && (result1 == result2)); + return result1 != 0 + && result1 == result2; } public boolean copySggStng(String taskSeCd, String srcSgg, String trgtSgg) { @@ -57,16 +56,11 @@ public class AdminBean extends AbstractBean { adminMapper.copyTask(param); List vltnCds = adminMapper.selectVltnList(param); - if(vltnCds == null || vltnCds.isEmpty()) { + if(isEmpty(vltnCds)) return true; - } + param.put("vltnCds", vltnCds); - int result2 = adminMapper.copyVltn(param); - if(result2 == vltnCds.size()) { - return true; - } else { - return false; - } + return adminMapper.copyVltn(param) == vltnCds.size(); } -} +} \ No newline at end of file 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 index 4683a2cf..f51a6aa8 100644 --- a/src/main/java/cokr/xit/fims/base/service/bean/OgdpBean.java +++ b/src/main/java/cokr/xit/fims/base/service/bean/OgdpBean.java @@ -1,6 +1,5 @@ package cokr.xit.fims.base.service.bean; - import java.util.ArrayList; import java.util.List; import java.util.Map; @@ -22,23 +21,17 @@ 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()); @@ -54,15 +47,14 @@ public class OgdpBean extends AbstractBean { ogdpList.add(dept.clone()); } - 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); - + ogdpList.add(new DataObject() + .set("SGG_CD", "ADMIN") + .set("SGG_NM", "관리자 시군구") + .set("INST_CD", "ADMIN00") + .set("INST_NM", "관리자 기관") + .set("DEPT_CD", "ADMIN00") + .set("DEPT_NM", "관리자 부서") + ); ogdpOutput(ogdpList); return ogdpList; @@ -78,37 +70,29 @@ public class OgdpBean extends AbstractBean { } 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", "(부서 없음)"); + DataObject noDept = sgg.clone() + .set("DEPT_CD", "EMPTY00") + .set("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")); + DataObject ogdp = sgg.clone() + .set("DEPT_CD", dept.string("DEPT_CD")) + .set("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); + if(!anonymous && "ADMIN00".equals(currentUser().getInstitute())) { + ogdpList.add(new DataObject() + .set("SGG_CD", "ADMIN") + .set("SGG_NM", "관리자 시군구") + .set("INST_CD", "ADMIN00") + .set("INST_NM", "관리자 기관") + .set("DEPT_CD", "ADMIN00") + .set("DEPT_NM", "관리자 부서") + ); } ogdpOutput(ogdpList); @@ -116,24 +100,21 @@ public class OgdpBean extends AbstractBean { } 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")); - } + list.forEach(one -> + one.set("OGDP_CD", one.get("SGG_CD")+"/"+one.get("INST_CD") + ":" + one.get("DEPT_CD")) + .set("OGDP_NM", one.get("SGG_NM") + " / " + one.get("INST_NM") + " : " + one.get("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(); @@ -175,7 +156,6 @@ public class OgdpBean extends AbstractBean { return ogdpMapper.selectSggStngInfo(req); } - public List getDeptStngList(OgdpQuery query) { // 기본 정렬 if (query.getOrderBy() == null) { @@ -185,31 +165,18 @@ public class OgdpBean extends AbstractBean { 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; + return ogdpMapper.updateDeptStng(new DataObject() + .set("currentUser", currentUser()) + .set("dept", dept) + ) == 1; } - - -} +} \ No newline at end of file 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 index 6bedff2d..7888e120 100644 --- a/src/main/java/cokr/xit/fims/base/service/bean/SseBean.java +++ b/src/main/java/cokr/xit/fims/base/service/bean/SseBean.java @@ -2,7 +2,6 @@ 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; @@ -52,14 +51,12 @@ public class SseBean extends AbstractBean { * @return SseBean */ public void send(Object msg) { - if(isEmpty(this.cursor)) { + if(isEmpty(this.cursor)) return; - } - SseEntity se = sseMap.get(this.cursor); - if (se == null) { + if (se == null) return; - } + try { se.getEmitter().send(msg); } catch (ClientAbortException ex) { @@ -83,18 +80,15 @@ public class SseBean extends AbstractBean { * @return */ public void end() { - if(isEmpty(this.cursor)) { + if(isEmpty(this.cursor)) return; - } - SseEntity se = sseMap.get(this.cursor); - if (se == null) { + if (se == null) return; - } + String msg = "FIN"; try { se.getEmitter().send(msg); - } catch (ClientAbortException ex) { } catch (Exception e) { e.printStackTrace(); } finally { @@ -109,26 +103,21 @@ public class SseBean extends AbstractBean { @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(); + for (String key: sseMap.keySet()) { 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) { + if (se.getEmitter() != null) se.setEmitter(null); - } sseMap.remove(key); } } } public SseBean setProgress(String key, Object value) { - if(isEmpty(this.cursor)) { + if(isEmpty(this.cursor)) return this; - } SseEntity se = sseMap.get(this.cursor); se.getProgress().set(key, value); @@ -159,19 +148,12 @@ public class SseBean extends AbstractBean { public void sendProgress() { if(isEmpty(this.cursor)) return; - SseEntity se = sseMap.get(this.cursor); - if (se == null) { + 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) { @@ -181,7 +163,4 @@ public class SseBean extends AbstractBean { } } } - - - -} +} \ No newline at end of file diff --git a/src/main/java/cokr/xit/fims/base/web/ActionGroupController.java b/src/main/java/cokr/xit/fims/base/web/ActionGroupController.java index bb2e5509..e8c93aa9 100644 --- a/src/main/java/cokr/xit/fims/base/web/ActionGroupController.java +++ b/src/main/java/cokr/xit/fims/base/web/ActionGroupController.java @@ -7,12 +7,10 @@ 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)); + ModelAndView mav = getActionGroupList(new ActionQuery()); 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 index 3561da2c..0fe8244b 100644 --- a/src/main/java/cokr/xit/fims/base/web/AdminController.java +++ b/src/main/java/cokr/xit/fims/base/web/AdminController.java @@ -35,40 +35,30 @@ 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")) { + if(!"ADMIN00".equals(currentUser().getInstitute())) { hres.setStatus(HttpStatus.FORBIDDEN.value()); - mav.setViewName("jsonView"); - mav.addObject("message","메뉴 접근 권한이 없습니다."); + return new ModelAndView("jsonView") + .addObject("message","메뉴 접근 권한이 없습니다."); } else { - mav.setViewName("fims/admin-main"); - mav.addObject("pageName","adminMain"); + return new ModelAndView("fims/admin-main") + .addObject("pageName","adminMain"); } - - return mav; } @RequestMapping(name="배치 수동 실행",value="/executeBatch.do") public ModelAndView executeBatch(String batch) { - ModelAndView mav = new ModelAndView(); - switch (batch) { case "smgReceive" : { smgService.receivePetitions(); @@ -89,20 +79,15 @@ public class AdminController extends ApplicationController { default: } - mav.setViewName("jsonView"); - return mav; + return new ModelAndView("jsonView"); } @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("")) { + case "smgReceive": { + if(isEmpty(interfaceKey)) throw new RuntimeException("인터페이스키 없음"); - } List interfaceKeys = new ArrayList(); interfaceKeys.add(interfaceKey); @@ -110,33 +95,19 @@ public class AdminController extends ApplicationController { break; } - case "smgSend" : { - - break; - } - case "epostSend" : { - - break; - } - case "epostReceive" : { - - break; - } - default: - + case "smgSend": break; + case "epostSend": break; + case "epostReceive": break; + default: break; } - mav.setViewName("jsonView"); - return mav; + return new ModelAndView("jsonView"); } @RequestMapping(name="서버 파일 현황 조회",value="/getFileTree.do") public ModelAndView getFileTree() throws Exception { - - ModelAndView mav = new ModelAndView(); - mav.setViewName("jsonView"); + ModelAndView mav = new ModelAndView("jsonView"); File files_folder = new File("files"); - if(!files_folder.exists()) { boolean mkdirs = files_folder.mkdirs(); if(!mkdirs) { @@ -145,43 +116,30 @@ public class AdminController extends ApplicationController { } } Node tree = DirectoryStructureToJson.getNode(files_folder); - mav.addObject("tree", tree); - - return mav; + return mav.addObject("tree", tree); } @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(); + boolean saved = newDir.mkdir(); - ModelAndView mav = new ModelAndView(); - mav.setViewName("jsonView"); - mav.addObject("saved", saved); - return mav; + return new ModelAndView("jsonView") + .addObject("saved", saved); } @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); + boolean saved = file.exists(); - saved = file.exists(); - - ModelAndView mav = new ModelAndView(); - mav.setViewName("jsonView"); - mav.addObject("saved", saved); - return mav; + return new ModelAndView("jsonView") + .addObject("saved", saved); } @RequestMapping(name="최고관리자 서버 파일 내용 보기", value="/getFileText.do") @@ -208,81 +166,60 @@ public class AdminController extends ApplicationController { } - ModelAndView mav = new ModelAndView(); - mav.setViewName("jsonView"); - mav.addObject("fileCn", fileCn); - return mav; + return new ModelAndView("jsonView") + .addObject("fileCn", fileCn); } @GetMapping(name="시군구 추가/삭제 메인", value="/sggAddDelInfo.do") public ModelAndView sggAddDelMain() { - ModelAndView mav = new ModelAndView(); - - mav.setViewName("fims/admin-sggAddDel-info"); - mav.addObject("pageName","adminSggAddDel"); - return mav; + return new ModelAndView("fims/admin-sggAddDel-info") + .addObject("pageName","adminSggAddDel"); } @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; + return new ModelAndView("jsonView") + .addObject("originalDataList", originalDataList) + .addObject("backupDataList", backupDataList); } @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; + return new ModelAndView("jsonView") + .addObject("saved", saved); } @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; + return new ModelAndView("jsonView") + .addObject("saved", saved); } @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; + return new ModelAndView("fims/admin-copySggStng-info") + .addObject("pageName","admin-copySggStng") + .addObject("taskSeCdList", taskSeCdList) + .addObject("sggList", sggList); } @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; + return new ModelAndView("jsonView") + .addObject("saved", saved); } -} +} \ 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 index 5eddd8bd..36d61d2d 100644 --- a/src/main/java/cokr/xit/fims/base/web/CodeController.java +++ b/src/main/java/cokr/xit/fims/base/web/CodeController.java @@ -47,20 +47,15 @@ public class CodeController extends cokr.xit.base.code.web.CodeController { 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); + CmmnQuery req = new CmmnQuery() + .setUseYn("Y") + .setSggCd(sggCd); List result = taskBean.getTasks(req); - if(result != null && !result.isEmpty()) { - mav.addObject("sggHasTask", "Y"); - } else { - mav.addObject("sggHasTask", "N"); - } + mav.addObject("sggHasTask", !isEmpty(result) ? "Y" : "N"); } return mav; diff --git a/src/main/java/cokr/xit/fims/base/web/FileController.java b/src/main/java/cokr/xit/fims/base/web/FileController.java index 6dce12e7..7cde0a1c 100644 --- a/src/main/java/cokr/xit/fims/base/web/FileController.java +++ b/src/main/java/cokr/xit/fims/base/web/FileController.java @@ -51,33 +51,22 @@ import cokr.xit.foundation.data.DataObject; public class FileController extends cokr.xit.base.file.web.FileController { @Resource(name = "fileMapper") private FileMapper fileMapper; - @Resource(name="fileBean") private FileBean fileBean; - - @Override public ModelAndView getFileList(FileQuery req) { - ModelAndView mav = new ModelAndView("jsonView"); - - //파일 목록 List fileInfoList = fileService().getFileList(req); - mav = setPagingInfo(mav, fileInfoList, "file"); - - return mav; + return setPagingInfo(new ModelAndView("jsonView"), fileInfoList, "file"); } - /** 메뉴얼을 다운로드한다. * @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 = ""; @@ -105,17 +94,15 @@ public class FileController extends cokr.xit.base.file.web.FileController { } }; - mav.addObject("download", - new Downloadable() - .setContentType("application/vnd.openxmlformats-officedocument.presentationml.presentation") - .setWriter(writer) - .setFilename("과태료통합관리시스템_메뉴얼"+"("+"v"+menualVersion+")"+".pptx") + return new ModelAndView("downloadView") + .addObject("download", + new Downloadable() + .setContentType("application/vnd.openxmlformats-officedocument.presentationml.presentation") + .setWriter(writer) + .setFilename("과태료통합관리시스템_메뉴얼"+"("+"v"+menualVersion+")"+".pptx") ); - - return mav; } - @GetMapping(name = "SVG 이미지 파일 색상 변경", value = "/modifySvg/**") public void modifySvg(HttpServletRequest request, HttpServletResponse response) throws URISyntaxException, IOException, ParserConfigurationException, SAXException { String requestURI = request.getRequestURI().toString(); @@ -125,8 +112,7 @@ public class FileController extends cokr.xit.base.file.web.FileController { filepath = filepath.replaceAll("/", Matcher.quoteReplacement(File.separator)); filepath = "svg" + filepath; - ClassPathResource resource = new ClassPathResource(filepath); - InputStream is = resource.getInputStream(); + InputStream is = new ClassPathResource(filepath).getInputStream(); DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance(); DocumentBuilder documentBuilder = factory.newDocumentBuilder(); @@ -136,8 +122,7 @@ public class FileController extends cokr.xit.base.file.web.FileController { try { String modify = request.getParameter("modify"); - if(modify == null || modify.equals("")){ - + if(isEmpty(modify)){ } else if(modify.equals("active")){ updateTagFillColor(nodeList, "green"); } else if(modify.equals("alert")){ @@ -161,21 +146,12 @@ public class FileController extends cokr.xit.base.file.web.FileController { os.write(bytes); os.flush(); os.close(); - - } catch (Exception e){ - } - - } - - - public static String DocumentToString( Document doc ) - { - try - { + public static String DocumentToString( Document doc ) { + try { StringWriter clsOutput = new StringWriter( ); Transformer clsTrans = TransformerFactory.newInstance( ).newTransformer( ); @@ -187,15 +163,12 @@ public class FileController extends cokr.xit.base.file.web.FileController { clsTrans.transform( new DOMSource( doc ), new StreamResult( clsOutput ) ); return clsOutput.toString( ); - } - catch( Exception ex ) - { + } 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(); @@ -210,13 +183,8 @@ public class FileController extends cokr.xit.base.file.web.FileController { } } - @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); @@ -230,17 +198,13 @@ public class FileController extends cokr.xit.base.file.web.FileController { String filePath = folderPath + "/"+currentTime+"."+extension; File file = new File(filePath); - try { uploadFile.transferTo(file); - saved = true; + return new ModelAndView("jsonView") + .addObject("saved", true) + .addObject("filePath", filePath); } 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 index 8aa8fe0a..37215c0c 100644 --- a/src/main/java/cokr/xit/fims/base/web/LoggingController.java +++ b/src/main/java/cokr/xit/fims/base/web/LoggingController.java @@ -32,8 +32,7 @@ public class LoggingController extends cokr.xit.base.syslog.web.LoggingControlle @Override public ModelAndView getLogs(LogQuery req) { - - if(req.getUserAccounts() != null && req.getUserAccounts().length > 0 + if (req.getUserAccounts() != null && req.getUserAccounts().length > 0 && req.getUserAccounts()[0] != null) { String[] userAccounts = req.getUserAccounts(); for(int i=0; i < userAccounts.length ; i++) { diff --git a/src/main/java/cokr/xit/fims/base/web/MainController.java b/src/main/java/cokr/xit/fims/base/web/MainController.java index 5ff19ed0..b0336e4d 100644 --- a/src/main/java/cokr/xit/fims/base/web/MainController.java +++ b/src/main/java/cokr/xit/fims/base/web/MainController.java @@ -30,53 +30,38 @@ 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()) { + 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")); - return mav; - - + return new ModelAndView("login") + .addObject("sggs", toJson(sggs)) + .addObject("multipleSggs", sggs.size() > 1) + .addObject("sggList", sggs) + .addObject("sysSggCd", System.getProperty("sgg")); } @Override @@ -92,7 +77,7 @@ public class MainController extends cokr.xit.base.web.MainController { @SuppressWarnings("unchecked") private void attachTaskPrefixName(List urlTree) { List tasks = FimsConf.get().getTasks(); - tasks.forEach(task->task = "/"+task); + tasks.forEach(task -> task = "/" + task); List taskUrlNames = FimsConf.get().getTaskUrlNames(); @@ -114,28 +99,24 @@ public class MainController extends cokr.xit.base.web.MainController { @GetMapping(name="회원가입 페이지", value="/signupPage.do") public ModelAndView signupPage(String sggCd, String cntnSeCd) { - ModelAndView mav = new ModelAndView("fims/user/user01010-main"); - mav.addObject("userInfo", "{}"); - - + ModelAndView mav = new ModelAndView("fims/user/user01010-main") + .addObject("userInfo", "{}"); if(cntnSeCd.equals("01")) { - mav.addObject("cntnSeCd", "01"); - - mav.addObject("allOgdpList", ogdpBean.selectAllOgdpList()); + mav.addObject("cntnSeCd", "01") + .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"); + mav.addObject("cntnSeCd", "02") + .addObject("sggCd", sggCd) + .addObject("institute", sggs.get(0).string("INST_CD")) + .addObject("userSeCd", "21"); } return mav; @@ -143,21 +124,19 @@ public class MainController extends cokr.xit.base.web.MainController { @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("21".equals(user.getUserSeCd())) authorityService.addUsers("ROLE_RENT", user.getId()); - mav.addObject("saved",saved); - return mav; + return new ModelAndView("jsonView") + .addObject("saved",saved); } @RequestMapping(name="중복 확인", value="/duplicate.do") public ModelAndView isDuplicate(String account, String sggCd) { - account = account.toUpperCase(); - FimsUser user = userService.getUser(account, sggCd); + FimsUser user = userService.getUser(account.toUpperCase(), sggCd); return new ModelAndView("jsonView") .addObject("duplicate", user != null); } @@ -165,7 +144,6 @@ public class MainController extends cokr.xit.base.web.MainController { @RequestMapping(name="접속자 IP 확인", value="/ipInfo.do") public ModelAndView ipInfo(HttpServletRequest hreq) { String flag = hreq.getParameter("flag"); - boolean flagUsable = false; String remoteAddr = AppCmmnUtil.getClientIpAddr(hreq); String net = ""; @@ -182,38 +160,31 @@ public class MainController extends cokr.xit.base.web.MainController { if(remoteAddr.equals(LOCAL[0]) || remoteAddr.equals(LOCAL[1])) { net = "intra"; - flagUsable = true; } else if(remoteAddr.startsWith(PRIVATES[0]) || remoteAddr.startsWith(PRIVATES[1]) || remoteAddr.startsWith(PRIVATES[2]) || remoteAddr.startsWith(PRIVATES[3])){ net = "intra"; - flagUsable = true; } else if(remoteAddr.startsWith(XIT_NET)) { net = "intra"; - flagUsable = true; } else if(this.includeIp(remoteAddr,EXTERNAL_ENT_NET)){ net = "intra"; - flagUsable = true; } else if(this.includeIp(remoteAddr,SGG_NET)) { net = "intra"; - flagUsable = true; } + boolean flagUsable = !isEmpty(net); - - if(flag != null && !flag.equals("")){ + if(!isEmpty(flag)){ if(flagUsable) { net = flag; } } - - if(net.equals("")) { + if(isEmpty(net)) net = "inter"; - } + return new ModelAndView("jsonView") .addObject("remoteAddr", remoteAddr) - .addObject("net", net) - ; + .addObject("net", net); } private boolean includeIp(String ipAddr, List ipBand){ @@ -241,6 +212,4 @@ public class MainController extends cokr.xit.base.web.MainController { 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/OgdpController.java b/src/main/java/cokr/xit/fims/base/web/OgdpController.java index bbf9025c..fff5331d 100644 --- a/src/main/java/cokr/xit/fims/base/web/OgdpController.java +++ b/src/main/java/cokr/xit/fims/base/web/OgdpController.java @@ -57,55 +57,44 @@ public class OgdpController extends ApplicationController { @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(isEmpty(sggCd)) { - - mav.setViewName("fims/ogdp/select-sgg"); - mav.addObject("pageName", "selectSgg"); - + if ("ADMIN00".equals(userInfo.getInstitute())) { + if (isEmpty(sggCd)) { List sggList = sggDeptService.getSigunguList(new SigunguQuery()) ; - mav.addObject("sggList", sggList); + + return new ModelAndView("fims/ogdp/select-sgg") + .addObject("pageName", "selectSgg") + .addObject("sggList", sggList); } else { - mav.setViewName("fims/ogdp/ogdp01010-main"); - mav.addObject("pageName", "ogdp01010"); - mav.addObject("sggCd", sggCd); + return new ModelAndView("fims/ogdp/ogdp01010-main") + .addObject("pageName", "ogdp01010") + .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 new ModelAndView("fims/ogdp/ogdp01010-main") + .addObject("pageName", "ogdp01010") + .addObject("sggCd", userInfo.getInfo().get("sggCd")); } - - return mav; } /**지정하는 시군구의 설정 정보를 가져온다.
@@ -114,10 +103,8 @@ public class OgdpController extends ApplicationController { */ @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; + return new ModelAndView("jsonView").addObject("sggInfo", sggInfo); } /**지정하는 시군구의 업무 설정 정보를 가져온다.
@@ -149,29 +136,27 @@ public class OgdpController extends ApplicationController { */ @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) { + 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) { + 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) { + 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; + return new ModelAndView("jsonView") + .addObject("saved", saved); } private Map uploadForSgg(MultipartFile mf, String sggCd, String fileSe){ @@ -181,17 +166,15 @@ public class OgdpController extends ApplicationController { String ext = FilenameUtils.getExtension(mf.getOriginalFilename()); String fileName = sggCd+"."+ext; - File workDir = new File(workDirPath); - workDir.mkdirs(); + ensureDir(workDirPath); String newFileFullPath = workDirPath + "/" + fileName; try { File newFile = new File(newFileFullPath); - if(newFile.exists()) { - if(!newFile.delete()) { + if (newFile.exists()) { + if (!newFile.delete()) throw new RuntimeException("[F]이미지 업로드 중 오류가 발생하였습니다."); - } } mf.transferTo(newFile); @@ -213,15 +196,9 @@ public class OgdpController extends ApplicationController { */ @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; + return new ModelAndView("jsonView") + .addObject("saved", rtnMsg.contains("[S]")); } /**시군구별 업무,위반 설정을 추가한다. @@ -233,15 +210,9 @@ public class OgdpController extends ApplicationController { */ @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 new ModelAndView("jsonView") + .addObject("saved", rtnMsg.contains("[S]")); } /** 부서 설정관리 메인화면을 연다. @@ -249,16 +220,11 @@ public class OgdpController extends ApplicationController { */ @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; + return new ModelAndView("fims/ogdp/ogdp02010-main") + .addObject("pageName", "ogdp02010") + .addObject("sggList", allSggList); } /**부서 설정 목록을 조회한다.
@@ -268,7 +234,6 @@ public class OgdpController extends ApplicationController { */ @RequestMapping(name="부서 설정 목록 조회", value=METHOD_URL.getDeptStngList) public ModelAndView getDeptStngList(OgdpQuery query) { - setFetchSize(query); return setPagingInfo(new ModelAndView("jsonView"), ogdpBean.getDeptStngList(query),""); @@ -284,25 +249,14 @@ public class OgdpController extends ApplicationController { */ @RequestMapping(name="부서 설정 상세 조회", value=METHOD_URL.getDeptStngInfo) public ModelAndView getDeptStngInfo(OgdpQuery query) { - DataObject deptInfo = new DataObject(); - - if(!isEmpty(query.getDeptCd())) { - deptInfo = ogdpBean.getDeptStngInfo(query); - } else { - deptInfo = null; - } + DataObject deptInfo = !isEmpty(query.getDeptCd()) ? ogdpBean.getDeptStngInfo(query) : 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; + return new ModelAndView(json ? "jsonView" : "fims/ogdp/ogdp02020-info") + .addObject("pageName", "ogdp02020") + .addObject("deptInfo", json ? deptInfo : toJson(deptInfo)); } - - - /**부서 설정 정보를 수정한다. * @param dept 부서 정보 * @return jsonView @@ -312,10 +266,8 @@ public class OgdpController extends ApplicationController { */ @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; + return new ModelAndView("jsonView").addObject("saved", saved); } } \ 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 index 6d9d6dbc..04467585 100644 --- a/src/main/java/cokr/xit/fims/base/web/UserController.java +++ b/src/main/java/cokr/xit/fims/base/web/UserController.java @@ -26,22 +26,16 @@ 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; @@ -49,25 +43,17 @@ public class UserController extends cokr.xit.base.user.web.UserController> commonCodes = codeService.getCodesOf("CMN009"); - mav.addObject("CMN009List", commonCodes.get("CMN009")); - return mav; + return mav.addObject("CMN009List", commonCodes.get("CMN009")); } @Override public ModelAndView getInfo(String userID) { - - ModelAndView mav = new ModelAndView(); - boolean json = !isEmpty(userID) && jsonResponse(); - String viewName = json ? "jsonView" : "base/user/user-info"; + ModelAndView mav = new ModelAndView(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()); @@ -89,8 +75,7 @@ public class UserController extends cokr.xit.base.user.web.UserController user_auths = userInfo.getAuthorities().stream().map(Authority::getAuthority).toList(); - List user_taskList = codeBean.getCodeList(new CodeQuery().setGroupIDs("FIM054")) - .stream().map(row -> row.string("CODE")).toList() - .stream().filter(task -> { + List user_auths = userInfo.getAuthorities().stream() + .map(Authority::getAuthority) + .toList(); + List user_taskList = codeBean.getCodeList(new CodeQuery().setGroupIDs("FIM054")).stream() + .map(row -> row.string("CODE")) + .filter(task -> { for (String auth: user_auths) if (auth.contains(task)) return true; return false; - }).toList(); + }) + .toList(); boolean hasTaskAuth = !user_taskList.isEmpty(); if(userInfo.hasAuthorities("ROLE_TASK_ADMIN")) { hasTaskAuth = true; @@ -142,45 +127,36 @@ public class UserController extends cokr.xit.base.user.web.UserController ableOgdpList = ogdpBean.selectAbleOgdpList(false, currentUser().getOrgID()); - mav.addObject("ableOgdpList", ableOgdpList); - Map> commonCodes = codeService.getCodesOf("CMN008"); - mav.addObject("CMN008List", commonCodes.get("CMN008")); + mav.addObject("cntnSeCd", "01") + .addObject("allOgdpList", ogdpBean.selectAllOgdpList()) + .addObject("ableOgdpList", ableOgdpList) + .addObject("CMN008List", commonCodes.get("CMN008")); } else if(cntnSeCd.equals("02")) { mav.addObject("cntnSeCd", "02"); } @@ -195,50 +171,40 @@ public class UserController extends cokr.xit.base.user.web.UserController 0); } -} +} \ No newline at end of file diff --git a/src/main/java/cokr/xit/fims/cmmn/dao/CrdnPayerAddrHstryMapper.java b/src/main/java/cokr/xit/fims/cmmn/dao/CrdnPayerAddrHstryMapper.java index 086de042..f366ac89 100644 --- a/src/main/java/cokr/xit/fims/cmmn/dao/CrdnPayerAddrHstryMapper.java +++ b/src/main/java/cokr/xit/fims/cmmn/dao/CrdnPayerAddrHstryMapper.java @@ -52,5 +52,4 @@ public interface CrdnPayerAddrHstryMapper extends AbstractMapper { * @return 저장된 정보수 */ int updateCrdnPayerAddr(CrdnPayerAddrHstry crdnPayerAddrHstry); - } \ 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 index 33ec4364..92d12170 100644 --- a/src/main/java/cokr/xit/fims/cmmn/dao/CrdnSttsHstryMapper.java +++ b/src/main/java/cokr/xit/fims/cmmn/dao/CrdnSttsHstryMapper.java @@ -4,10 +4,10 @@ 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; +import cokr.xit.foundation.component.AbstractMapper; +import cokr.xit.foundation.data.DataObject; /** 단속 상태 이력 정보 DAO * @@ -96,5 +96,4 @@ public interface CrdnSttsHstryMapper extends AbstractMapper { * @return 저장된 정보수 */ int updateCrdnSttsCd(CrdnSttsHstry crdnSttsHstry); - -} +} \ No newline at end of file diff --git a/src/main/java/cokr/xit/fims/cmmn/dao/ExtrStngMapper.java b/src/main/java/cokr/xit/fims/cmmn/dao/ExtrStngMapper.java index f20af81a..ffcbe070 100644 --- a/src/main/java/cokr/xit/fims/cmmn/dao/ExtrStngMapper.java +++ b/src/main/java/cokr/xit/fims/cmmn/dao/ExtrStngMapper.java @@ -12,7 +12,6 @@ import cokr.xit.foundation.data.DataObject; @Mapper("extrStngMapper") public interface ExtrStngMapper extends AbstractMapper { - /**지정한 조건에 따라 자료 추출 템플릿 문구를 조회한다.
* @param query 자료 추출 설정 조회 조건 * @return 자료 추출 템플릿 문구 @@ -34,6 +33,4 @@ public interface ExtrStngMapper extends AbstractMapper { int deleteArtclStng(ExtrForm extrForm); int insertArtclStng(ExtrArtclStng insert); - - -} +} \ No newline at end of file diff --git a/src/main/java/cokr/xit/fims/cmmn/dao/LinkMapper.java b/src/main/java/cokr/xit/fims/cmmn/dao/LinkMapper.java index eec5b003..4481bb86 100644 --- a/src/main/java/cokr/xit/fims/cmmn/dao/LinkMapper.java +++ b/src/main/java/cokr/xit/fims/cmmn/dao/LinkMapper.java @@ -7,7 +7,6 @@ import cokr.xit.foundation.data.DataObject; @Mapper("linkMapper") public interface LinkMapper extends AbstractMapper { - /**전자고지 발송 마스터 정보를 등록한다. * @param params 전자고지 발송 마스터 정보 * @return 저장여부 @@ -19,5 +18,4 @@ public interface LinkMapper extends AbstractMapper { * @return 저장여부 */ int insertElectronicNoticeSndngDetail(DataObject params); - -} +} \ No newline at end of file diff --git a/src/main/java/cokr/xit/fims/cmmn/dao/OtptStngMapper.java b/src/main/java/cokr/xit/fims/cmmn/dao/OtptStngMapper.java index f9c9e109..fe5e4b95 100644 --- a/src/main/java/cokr/xit/fims/cmmn/dao/OtptStngMapper.java +++ b/src/main/java/cokr/xit/fims/cmmn/dao/OtptStngMapper.java @@ -34,7 +34,4 @@ public interface OtptStngMapper extends AbstractMapper { int deleteArtclStng(OtptForm otptForm); int insertArtclStng(OtptArtclStng insert); - - - -} +} \ No newline at end of file diff --git a/src/main/java/cokr/xit/fims/cmmn/dao/OutsourcingStngMapper.java b/src/main/java/cokr/xit/fims/cmmn/dao/OutsourcingStngMapper.java index 5ff65439..ca0549cd 100644 --- a/src/main/java/cokr/xit/fims/cmmn/dao/OutsourcingStngMapper.java +++ b/src/main/java/cokr/xit/fims/cmmn/dao/OutsourcingStngMapper.java @@ -12,7 +12,6 @@ import cokr.xit.foundation.data.DataObject; @Mapper("outsourcingStngMapper") public interface OutsourcingStngMapper extends AbstractMapper { - /**지정한 조건에 따라 외주파일 출력 항목 설정을 조회한다.
* @param query 출력물 설정 조회 조건 * @return 출력물 설정 항목 @@ -24,5 +23,4 @@ public interface OutsourcingStngMapper extends AbstractMapper { int deleteArtclStng(OutsourcingForm outsourcingForm); int insertArtclStng(OutsourcingArtclStng insert); - -} +} \ No newline at end of file diff --git a/src/main/java/cokr/xit/fims/cmmn/dao/StngMapper.java b/src/main/java/cokr/xit/fims/cmmn/dao/StngMapper.java index 9ca289d8..77d37c29 100644 --- a/src/main/java/cokr/xit/fims/cmmn/dao/StngMapper.java +++ b/src/main/java/cokr/xit/fims/cmmn/dao/StngMapper.java @@ -9,7 +9,6 @@ import cokr.xit.foundation.data.DataObject; @Mapper("stngMapper") public interface StngMapper extends AbstractMapper { - /**사용자의 기본 업무를 조회한다. * @param userId 유저ID * @return 기본업무 @@ -51,5 +50,4 @@ public interface StngMapper extends AbstractMapper { * @return 저장여부 */ int updateDefaultTask(Map params); - -} +} \ No newline at end of file diff --git a/src/main/java/cokr/xit/fims/cmmn/ftp/RemoteSystemInfo.java b/src/main/java/cokr/xit/fims/cmmn/ftp/RemoteSystemInfo.java index 98174301..48f043eb 100644 --- a/src/main/java/cokr/xit/fims/cmmn/ftp/RemoteSystemInfo.java +++ b/src/main/java/cokr/xit/fims/cmmn/ftp/RemoteSystemInfo.java @@ -6,10 +6,10 @@ import lombok.Setter; @Getter @Setter public class RemoteSystemInfo { - String ip; - String port; - String id; - String pw; - String osType; - String workPath; + private String ip; + private String port; + private String id; + private String pw; + private String osType; + private String workPath; } 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 index f8f702d6..ed2ceb31 100644 --- a/src/main/java/cokr/xit/fims/cmmn/service/bean/StngBean.java +++ b/src/main/java/cokr/xit/fims/cmmn/service/bean/StngBean.java @@ -4,7 +4,6 @@ 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; @@ -40,18 +39,18 @@ public class StngBean extends AbstractBean { * @return */ public DataObject getStng(String type) { - if(type.equals("user")) { + if (type.equals("user")) { return stngMapper.selectUserStng(currentUser().getId()); - } else if(type.equals("dept")){ + } else if (type.equals("dept")){ UserInfo userInfo = currentUser(); - if(userInfo.getInstitute().equals("ADMIN00")) { + if (userInfo.getInstitute().equals("ADMIN00")) { return new DataObject(); } ogdpBean.initUserInfo(userInfo); return stngMapper.selectDeptStng((String)userInfo.getInfo().get("deptCd")); - } else if(type.equals("sgg")){ + } else if (type.equals("sgg")){ UserInfo userInfo = currentUser(); - if(userInfo.getInstitute().equals("ADMIN00")) { + if (userInfo.getInstitute().equals("ADMIN00")) { return new DataObject(); } ogdpBean.initUserInfo(userInfo); @@ -59,7 +58,6 @@ public class StngBean extends AbstractBean { } else { return null; } - } /**교부 계좌번호를 변경한다. @@ -85,58 +83,48 @@ public class StngBean extends AbstractBean { public void initUserInfo(SecuredUserInfo userInfo) { boolean isAdmin = userInfo.isAdmin(); - //모든 업무 - List taskList = codeBean.getCodeList((new CodeQuery()).setGroupIDs("FIM054")).stream() - .map(item -> item.string("CODE")) - .toList(); - //서버에서 사용가능한 업무 - List taskListForServer = FimsConf.get().getTasks(); - - //사용자별 사용가능한 업무 - List availableTaskList = new ArrayList(); - - if(userInfo.getInstitute().equals("ADMIN00")) { //1.최고관리자 + List + taskList = codeBean.getCodeList((new CodeQuery()).setGroupIDs("FIM054")).stream() //모든 업무 + .map(item -> item.string("CODE")) + .toList(), + taskListForServer = FimsConf.get().getTasks(), //서버에서 사용가능한 업무 + availableTaskList = new ArrayList(); //사용자별 사용가능한 업무 + if ("ADMIN00".equals(userInfo.getInstitute())) { //1.최고관리자 availableTaskList = taskList; - } else { Map info = userInfo.getInfo(); - if(info == null || info.get("sggCd") == null || info.get("sggCd").equals("")) { + if (info == null || isEmpty(info.get("sggCd"))) { ogdpBean.initUserInfo(userInfo); } //사용자의 시군구에서 사용가능한 업무 List taskListForSgg = taskBean.getTasks((new CmmnQuery()).setSggCd((String)userInfo.getInfo().get("sggCd")).setUseYn("Y")) - .stream().map(item -> item.string("TASK_SE_CD")).toList(); + .stream() + .map(item -> item.string("TASK_SE_CD")).toList(); - if(isAdmin) { //2.시스템관리자 - for(String forSgg : taskListForSgg) { - availableTaskList.add(forSgg); - } - for(String forServer : taskListForServer) { - availableTaskList.add(forServer); - } + if (isAdmin) { //2.시스템관리자 + availableTaskList.addAll(taskListForSgg); + availableTaskList.addAll(taskListForServer); } else { - List forServerAndSgg = new ArrayList(); for(String forServer : taskListForServer) { for(String forSgg : taskListForSgg) { - if(forServer.equals(forSgg)) { + if (forServer.equals(forSgg)) { forServerAndSgg.add(forSgg); } } } - if(userInfo.hasAuthorities("ROLE_TASK_ADMIN")) { //3.업무관리자 + if (userInfo.hasAuthorities("ROLE_TASK_ADMIN")) { //3.업무관리자 availableTaskList = forServerAndSgg; } else { //4.업무사용자,일반사용자 - List authorities = userInfo.getAuthorities(); - if(authorities != null && !authorities.isEmpty()) { + if (!isEmpty(authorities)) { for(String task : forServerAndSgg) { for(Authority authority : authorities) { String authId = authority.getId(); - if(authId.contains(task)) { + if (authId.contains(task)) { availableTaskList.add(task); } } @@ -146,30 +134,18 @@ public class StngBean extends AbstractBean { } } - //사용가능한 업무 목록 중복 제거 - availableTaskList = availableTaskList.stream().distinct().collect(Collectors.toList()); - - //계정별 사용가능 업무 - userInfo.getInfo().put("taskForUser", availableTaskList); + availableTaskList = availableTaskList.stream().distinct().toList(); //사용가능한 업무 목록 중복 제거 + userInfo.getInfo().put("taskForUser", availableTaskList); //계정별 사용가능 업무 //계정별 기본업무 - if(availableTaskList.size() == 1) { + if (availableTaskList.size() == 1) { userInfo.getInfo().put("defaultTask", availableTaskList.get(0)); return; } DataObject defaultTaskInfo = stngMapper.selectDefaultTask(userInfo.getId()); - - if(defaultTaskInfo == null || defaultTaskInfo.string("TASK_SE_CD").equals("")) { - userInfo.getInfo().put("defaultTask", ""); - } else { - String defaultTask = defaultTaskInfo.string("TASK_SE_CD"); - if(!availableTaskList.contains(defaultTask)) { - userInfo.getInfo().put("defaultTask", ""); - } else { - userInfo.getInfo().put("defaultTask", defaultTask); - } - } + String defaultTask = defaultTaskInfo == null ? "" : blankIfEmpty(defaultTaskInfo.string("TASK_SE_CD")); + userInfo.getInfo().put("defaultTask", !availableTaskList.contains(defaultTask) ? "" : defaultTask); } /** 사용자의 기본업무 설정을 저장한다. @@ -181,22 +157,22 @@ public class StngBean extends AbstractBean { */ 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) { + int affected = 0; + if (info == null) { params.put("rgtr", currentUser().getId()); - effected = stngMapper.insertDefaultTask(params); + affected = stngMapper.insertDefaultTask(params); } else { params.put("mdfr", currentUser().getId()); params.put("taskMtchgId",info.string("TASK_MTCHG_ID")); - effected = stngMapper.updateDefaultTask(params); + affected = stngMapper.updateDefaultTask(params); } - return effected == 1; + return affected == 1; } /** 업무구분코드 목록 중에서 현재 로그인한 사용자의 시군구에서 사용하는 업무구분코드 목록만 반환한다. @@ -204,23 +180,21 @@ public class StngBean extends AbstractBean { * @return 현재 로그인한 사용자의 시군구에서 사용하는 업무구분코드 목록 */ public List filterTaskSectionCodeForSgg(List taskSectionCodes) { - List taskListForSgg = new ArrayList(); - if(currentUser().getInstitute().equals("ADMIN00")) { - taskListForSgg = taskSectionCodes; + if ("ADMIN00".equals(currentUser().getInstitute())) { + return taskSectionCodes; } else { SecuredUserInfo userInfo = currentUser(); Map info = userInfo.getInfo(); - if(info == null || info.get("sggCd") == null || info.get("sggCd").equals("")) { + if (info == null || isEmpty(info.get("sggCd"))) 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(); + 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 taskSectionCodes.stream() + .filter(item -> taskSeCdListForSgg.contains(item.getCode())) + .toList(); } - - return taskListForSgg; } } \ No newline at end of file diff --git a/src/main/java/cokr/xit/fims/crdn/dao/CrdnInfoMapper.java b/src/main/java/cokr/xit/fims/crdn/dao/CrdnInfoMapper.java index 4da56bf0..a0cf5505 100644 --- a/src/main/java/cokr/xit/fims/crdn/dao/CrdnInfoMapper.java +++ b/src/main/java/cokr/xit/fims/crdn/dao/CrdnInfoMapper.java @@ -10,11 +10,10 @@ import cokr.xit.foundation.data.DataObject; */ @Mapper("crdnInfoMapper") public interface CrdnInfoMapper extends AbstractMapper { - /**단속 대장 정보를 조회한다. * @param crdnId 단속 아이디 * @return 단속 정보 */ DataObject selectCrdnInfo(String crdnId); -} +} \ No newline at end of file diff --git a/src/main/java/cokr/xit/fims/crdn/dao/CrdnInstMapper.java b/src/main/java/cokr/xit/fims/crdn/dao/CrdnInstMapper.java index ad0d5373..296d962b 100644 --- a/src/main/java/cokr/xit/fims/crdn/dao/CrdnInstMapper.java +++ b/src/main/java/cokr/xit/fims/crdn/dao/CrdnInstMapper.java @@ -10,7 +10,6 @@ import cokr.xit.foundation.component.AbstractMapper; */ @Mapper("crdnInstMapper") public interface CrdnInstMapper extends AbstractMapper { - /**단속 대장 정보를 등록한다. * @param params 파라미터 *
  • "crdn" - 단속 대장
  • @@ -28,5 +27,4 @@ public interface CrdnInstMapper extends AbstractMapper { * @return 저장된 정보수 */ int insertCrdnAddition(Crdn crdn); - -} +} \ No newline at end of file diff --git a/src/main/java/cokr/xit/fims/crdn/dao/CrdnListMapper.java b/src/main/java/cokr/xit/fims/crdn/dao/CrdnListMapper.java index bf320171..dbf395d2 100644 --- a/src/main/java/cokr/xit/fims/crdn/dao/CrdnListMapper.java +++ b/src/main/java/cokr/xit/fims/crdn/dao/CrdnListMapper.java @@ -13,7 +13,6 @@ import cokr.xit.foundation.data.DataObject; */ @Mapper("crdnListMapper") public interface CrdnListMapper extends AbstractMapper { - /**금일 등록한 단속자료 목록을 조회한다.
    * {@link cokr.xit.fims.crdn.service.bean.CrdnService#getCrackdownList(CrdnQuery)} 참고 * @param query 단속자료 목록 조회 조건 @@ -61,5 +60,4 @@ public interface CrdnListMapper extends AbstractMapper { * @return 단속 건수 */ int countCrdn(CrdnQuery crdnQuery); - -} +} \ 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 index 745baf0e..fe0922e5 100644 --- a/src/main/java/cokr/xit/fims/crdn/dao/CrdnTeamMapper.java +++ b/src/main/java/cokr/xit/fims/crdn/dao/CrdnTeamMapper.java @@ -11,7 +11,6 @@ import cokr.xit.foundation.data.DataObject; @Mapper("crdnTeamMapper") public interface CrdnTeamMapper extends AbstractMapper { - /**단속팀 목록을 조회한다.
    * @param query 단속팀 목록 조회 조건 * @return 단속팀 목록 @@ -53,5 +52,4 @@ public interface CrdnTeamMapper extends AbstractMapper { * @return 단속팀 정보 */ DataObject selectTeamInfo(String teamId); - -} +} \ No newline at end of file diff --git a/src/main/java/cokr/xit/fims/crdn/dao/CrdnUpdtMapper.java b/src/main/java/cokr/xit/fims/crdn/dao/CrdnUpdtMapper.java index 7ec12ef8..e895ba18 100644 --- a/src/main/java/cokr/xit/fims/crdn/dao/CrdnUpdtMapper.java +++ b/src/main/java/cokr/xit/fims/crdn/dao/CrdnUpdtMapper.java @@ -84,5 +84,4 @@ public interface CrdnUpdtMapper extends AbstractMapper { * @return 저장된 정보수 */ int updateAdvntceYmd(Crdn crdn); - -} +} \ No newline at end of file diff --git a/src/main/java/cokr/xit/fims/crdn/dao/ExmptnVhclMapper.java b/src/main/java/cokr/xit/fims/crdn/dao/ExmptnVhclMapper.java index 1cb77dbb..57837158 100644 --- a/src/main/java/cokr/xit/fims/crdn/dao/ExmptnVhclMapper.java +++ b/src/main/java/cokr/xit/fims/crdn/dao/ExmptnVhclMapper.java @@ -11,7 +11,6 @@ import cokr.xit.foundation.data.DataObject; @Mapper("exmptnVhclMapper") public interface ExmptnVhclMapper extends AbstractMapper { - /**면제차량 목록을 조회한다.
    * @param query 면제차량 목록 조회 조건 * @return 면제차량 목록 @@ -53,5 +52,4 @@ public interface ExmptnVhclMapper extends AbstractMapper { * @return 면제차량 이력 */ List selectExemptionVehicleHistoryList(String exmptnVhclId); - -} +} \ 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 index 048d8468..8be5623c 100644 --- a/src/main/java/cokr/xit/fims/crdn/receive/eqpmnt/AttachedTxtParser.java +++ b/src/main/java/cokr/xit/fims/crdn/receive/eqpmnt/AttachedTxtParser.java @@ -22,11 +22,7 @@ public class AttachedTxtParser extends LayoutParser{ @Override public void analyzeFileContent(DataObject dataObject, File file) { try { - - JSONParser jsonParser = new JSONParser(-1); - - JSONArray jsonArray = (JSONArray)jsonParser.parse(descriptor.getContentItems()); - + JSONArray jsonArray = (JSONArray)new JSONParser(-1).parse(descriptor.getContentItems()); boolean isMetaData = dataObject.string("FILE_EXTENSION").toUpperCase().equals("TXT"); if (isMetaData) { @@ -44,10 +40,8 @@ public class AttachedTxtParser extends LayoutParser{ part = content; } - for(int i = 0; i < jsonArray.size(); i++) { - + for (int i = 0; i < jsonArray.size(); i++) { JSONObject jsonObject = (JSONObject)jsonArray.get(i); - String key = jsonObject.keySet().iterator().next(); if (Arrays.asList(descriptor.getSecondSeperatorStarterItems().split(",",-1)).contains(key)) { @@ -71,14 +65,14 @@ public class AttachedTxtParser extends LayoutParser{ } br.close(); } else { - for(int i = 0; i < jsonArray.size(); i++) { + for (int i = 0; i < jsonArray.size(); i++) { JSONObject jsonObject = (JSONObject)jsonArray.get(i); String key = jsonObject.keySet().iterator().next(); dataObject.put(key, ""); } } } catch (Exception e) { - throw new RuntimeException(e); + throw runtimeException(e); } } } \ No newline at end of file diff --git a/src/main/java/cokr/xit/fims/crdn/receive/eqpmnt/dao/CrdnEqpmntMapper.java b/src/main/java/cokr/xit/fims/crdn/receive/eqpmnt/dao/CrdnEqpmntMapper.java index b53b885a..f691c5a3 100644 --- a/src/main/java/cokr/xit/fims/crdn/receive/eqpmnt/dao/CrdnEqpmntMapper.java +++ b/src/main/java/cokr/xit/fims/crdn/receive/eqpmnt/dao/CrdnEqpmntMapper.java @@ -12,7 +12,6 @@ import cokr.xit.foundation.data.DataObject; @Mapper("crdnEqpmntMapper") public interface CrdnEqpmntMapper extends AbstractMapper { - /** 연계파일 레이아웃 목록을 조회한다. * @param query 연계파일 레이아웃 조회조건 * @return 연계파일 레이아웃 목록 @@ -66,5 +65,4 @@ public interface CrdnEqpmntMapper extends AbstractMapper { * @return ftp정보 */ DataObject selectRemoteInfo(String fileLayoutId); - -} +} \ No newline at end of file diff --git a/src/main/java/cokr/xit/fims/crdn/receive/eqpmnt/service/bean/CrdnEqpmntBean.java b/src/main/java/cokr/xit/fims/crdn/receive/eqpmnt/service/bean/CrdnEqpmntBean.java index 395f51ae..f156ba6c 100644 --- a/src/main/java/cokr/xit/fims/crdn/receive/eqpmnt/service/bean/CrdnEqpmntBean.java +++ b/src/main/java/cokr/xit/fims/crdn/receive/eqpmnt/service/bean/CrdnEqpmntBean.java @@ -15,7 +15,6 @@ import cokr.xit.foundation.data.DataObject; @Component("crdnEqpmntBean") public class CrdnEqpmntBean extends AbstractBean { - @Resource(name = "crdnEqpmntMapper") private CrdnEqpmntMapper crdnEqpmntMapper; @@ -44,17 +43,16 @@ public class CrdnEqpmntBean extends AbstractBean { *
*/ 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 += crdnEqpmntMapper.insertCrdnFileLayout(params); - effected += crdnEqpmntMapper.insertFtpInfo(params); - if(effected != 2) { + DataObject params = new DataObject() + .set("currentUser", currentUser()) + .set("layoutDescriptor", layoutDescriptor) + .set("remoteSystemInfo", remoteSystemInfo); + + int affected = crdnEqpmntMapper.insertCrdnFileLayout(params) + + crdnEqpmntMapper.insertFtpInfo(params); + if(affected != 2) throw new RuntimeException("[F]레이아웃 등록 중 오류가 발생하였습니다."); - } + return true; } @@ -66,24 +64,21 @@ public class CrdnEqpmntBean extends AbstractBean { * */ public boolean updateLinkFileLayoutMetadata(LayoutDescriptor layoutDescriptor, RemoteSystemInfo remoteSystemInfo) { - DataObject params = new DataObject(); - params.set("currentUser", currentUser()); - params.set("layoutDescriptor", layoutDescriptor); - params.set("remoteSystemInfo", remoteSystemInfo); + DataObject params = new DataObject() + .set("currentUser", currentUser()) + .set("layoutDescriptor", layoutDescriptor) + .set("remoteSystemInfo", remoteSystemInfo); - int effected = 0; - effected += crdnEqpmntMapper.updateCrdnFileLayout(params); + int affected = crdnEqpmntMapper.updateCrdnFileLayout(params); DataObject remoteInfo = crdnEqpmntMapper.selectRemoteInfo(layoutDescriptor.getFileLayoutId()); - if(remoteInfo == null) { - effected += crdnEqpmntMapper.insertFtpInfo(params); - } else { - effected += crdnEqpmntMapper.updateFtpInfo(params); - } + affected += remoteInfo == null ? + crdnEqpmntMapper.insertFtpInfo(params) : + crdnEqpmntMapper.updateFtpInfo(params); - if(effected != 2) { + if(affected != 2) throw new RuntimeException("[F]레이아웃 수정 중 오류가 발생하였습니다."); - } + return true; } @@ -95,14 +90,10 @@ public class CrdnEqpmntBean extends AbstractBean { * */ public boolean removeLinkFileLayoutMetadata(String fileLayoutId) { - DataObject params = new DataObject(); - params.set("currentUser", currentUser()); - params.set("fileLayoutId", fileLayoutId); - int effected = crdnEqpmntMapper.deleteCrdnFileLayout(params); - if(effected != 1) { - return false; - } - return true; + DataObject params = new DataObject() + .set("currentUser", currentUser()) + .set("fileLayoutId", fileLayoutId); + return crdnEqpmntMapper.deleteCrdnFileLayout(params) == 1; } /** 연계파일 레이아웃 엔티티 목록을 조회한다. @@ -117,7 +108,6 @@ public class CrdnEqpmntBean extends AbstractBean { CrdnQuery query = new CrdnQuery(); query.setFileLayoutId(fileLayoutId); List list = crdnEqpmntMapper.selectLinkFileLayoutMetadata(query); - return list == null ? null : list.get(0); + return isEmpty(list) ? null : list.get(0); } - -} +} \ 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 index 1cabe682..e5907674 100644 --- a/src/main/java/cokr/xit/fims/crdn/web/Crdn01Controller.java +++ b/src/main/java/cokr/xit/fims/crdn/web/Crdn01Controller.java @@ -73,8 +73,7 @@ public class Crdn01Controller extends ApplicationController { @Task @RequestMapping(name="장비단속파일 레이아웃 목록 조회", value=METHOD_URL.getLinkFileLayoutMetadataList) public ModelAndView getLinkFileLayoutMetadataList(CrdnQuery query) { - setFetchSize(query); - query.setSggCd(currentUser().getOrgID()); + setFetchSize(query.setSggCd(currentUser().getOrgID())); List list = crdnStngService.getLinkFileLayoutMetadataList(query); return setPagingInfo(new ModelAndView("jsonView"), list,""); @@ -87,15 +86,14 @@ public class Crdn01Controller extends ApplicationController { @Task @RequestMapping(name="장비단속파일 레이아웃 상세정보 조회", value=METHOD_URL.getLinkFileLayoutMetadataInfo) public ModelAndView getLinkFileLayoutMetadataInfo(HttpServletRequest hReq, String fileLayoutId) { - String urlTaskSeCd = hReq.getServletPath().split("/")[1]; DataObject info = !isEmpty(fileLayoutId) ? crdnStngService.getLinkFileLayoutMetadataInfo(fileLayoutId) : null; - boolean json = jsonResponse(); + boolean json = jsonResponse(); return new ModelAndView(json ? "jsonView" : "fims/crdn/crdn01020-info") .addObject("pageName", "crdn01020") .addObject("sggCd", currentUser().getOrgID()) .addObject("layoutInfo", json ? info : toJson(info)) - .addObject("taskSeCd", urlTaskSeCd); + .addObject("taskSeCd", hReq.getParameter("taskSeCd")); } /**장비단속파일 레이아웃을 등록한다.
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 cc42572a..cc8f2080 100644 --- a/src/main/java/cokr/xit/fims/crdn/web/Crdn05Controller.java +++ b/src/main/java/cokr/xit/fims/crdn/web/Crdn05Controller.java @@ -126,10 +126,10 @@ public class Crdn05Controller extends ApplicationController { @Task @RequestMapping(name="당일 입력 단속자료 목록 조회", value=METHOD_URL.getTodayCrdnDataList) public ModelAndView getTodayCrdnDataList(CrdnQuery query) { - FimsUser currentUser = (FimsUser) currentUser().getUser(); + UserInfo currentUser = currentUser(); setFetchSize(query) .setGridType("todayInsert") - .setCurrentUserId(currentUser().getId()) + .setCurrentUserId(currentUser.getId()) .setSggCd(currentUser.getOrgID()); return setPagingInfo(new ModelAndView("jsonView"), crdnService.getCrackdownList(query), ""); @@ -143,11 +143,10 @@ public class Crdn05Controller extends ApplicationController { @RequestMapping(name="단속자료 파일 등록 화면", value=METHOD_URL.getFileRegistrationScreen) public ModelAndView getFileRegistrationScreen(HttpServletRequest hReq) { Map> commonCodes = getCodesOf("FIM054"); - String urlTaskSeCd = hReq.getServletPath().split("/")[1]; return new ModelAndView("fims/crdn/crdn05020-info") .addObject("pageName", "crdn05020") - .addObject("taskSeCd", urlTaskSeCd) + .addObject("taskSeCd", hReq.getParameter("taskSeCd")) .addObject("FIM054List", commonCodes.get("FIM054")) .addObject("TaskListForSgg", stngBean.filterTaskSectionCodeForSgg(commonCodes.get("FIM054"))); } @@ -159,15 +158,9 @@ public class Crdn05Controller extends ApplicationController { @Task @RequestMapping(name="단속연계파일 가져오기(FTP)", value=METHOD_URL.importFileFromServer) public ModelAndView importFileFromServer(HttpServletRequest hReq) { - ModelAndView mav = new ModelAndView("jsonView"); - - 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); + 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()); if (remoteInfo == null || isEmpty(remoteInfo.string("REMOTE_IP"))) @@ -206,21 +199,18 @@ public class Crdn05Controller extends ApplicationController { @Task @RequestMapping(name="단속연계파일 가져오기(파일업로드)", value=METHOD_URL.importFileFromClient) public ModelAndView importFileFromClient(HttpServletRequest hReq, MultipartFile[] uploadFiles) { - 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); + UserInfo currentUser = currentUser(); + List layoutDescriptors = crdnStngService.getLinkFileLayoutMetadata( + currentUser.getOrgID(), + hReq.getParameter("taskSeCd"), + currentUser.getInstitute(), + currentUser.getDeptCode() + ); - LayoutDescriptor layoutDescriptor = new LayoutDescriptor(); - - if (layoutDescriptors.size() == 1) { - layoutDescriptor = layoutDescriptors.get(0); - } else if (layoutDescriptors.size() >= 2) { - layoutDescriptor = LayoutDiscriminator.choice(uploadFiles, layoutDescriptors); - } + LayoutDescriptor layoutDescriptor = + layoutDescriptors.size() == 1 ? layoutDescriptors.get(0) : + layoutDescriptors.size() > 1 ? LayoutDiscriminator.choice(uploadFiles, layoutDescriptors) : + new LayoutDescriptor(); String workPath = layoutDescriptor.getLinkFileLocation(); ensureDir(workPath); @@ -247,18 +237,19 @@ public class Crdn05Controller extends ApplicationController { @Task @RequestMapping(name="장비업체 단속파일 목록 조회", value=METHOD_URL.getEquipmentFileInfoList) public ModelAndView getEquipmentFileInfoList(HttpServletRequest hReq) { - String taskSeCd = hReq.getParameter("taskSeCd"); UserInfo currentUser = currentUser(); - String institute = currentUser.getInstitute(); - String deptCd = currentUser.getDeptCode(); - String sggCd = currentUser.getOrgID(); - - List layoutDescriptors = crdnStngService.getLinkFileLayoutMetadata(sggCd, taskSeCd, institute, deptCd); - if (layoutDescriptors == null || layoutDescriptors.isEmpty()) + List layoutDescriptors = crdnStngService.getLinkFileLayoutMetadata( + currentUser.getOrgID(), + hReq.getParameter("taskSeCd"), + currentUser.getInstitute(), + currentUser.getDeptCode() + ); + if (isEmpty(layoutDescriptors)) throw new RuntimeException("연계파일 레이아웃 정보 조회에 실패하였습니다."); int nextTempGroupSeq = 1; List allParsedDataList = new ArrayList(); + 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(); @@ -278,7 +269,7 @@ public class Crdn05Controller extends ApplicationController { case "BIN" -> new SingleFileParser(); default -> null; }; - parser.setTaskProcessor(TaskProcessor.get()); + parser.setTaskProcessor(taskProcessor); parser.setTempGroupSeq(nextTempGroupSeq); parser.addCommonCode(codeInfo); parser.setDescriptor(layoutDescriptors.get(i)); @@ -301,8 +292,7 @@ public class Crdn05Controller extends ApplicationController { @Task @RequestMapping(name="장비업체 단속파일 삭제", value=METHOD_URL.removeLinkFile) public ModelAndView removeLinkFile(HttpServletRequest hReq) { - String fileLayoutId = hReq.getParameter("fileLayoutId"); - LayoutDescriptor info = crdnEqpmntBean.getLinkFileLayoutMetadata(fileLayoutId); + LayoutDescriptor info = crdnEqpmntBean.getLinkFileLayoutMetadata(hReq.getParameter("fileLayoutId")); String workPath = info.getLinkFileLocation(); String fileName = hReq.getParameter("fileName"); @@ -355,18 +345,18 @@ public class Crdn05Controller extends ApplicationController { @Task @RequestMapping(name="단속자료 수기 등록 화면", value=METHOD_URL.getManualRegistrationScreen) public ModelAndView getManualRegistrationScreen(HttpServletRequest hReq) { - String urlTaskSeCd = hReq.getServletPath().split("/")[1]; + String taskSeCd = hReq.getParameter("taskSeCd"); String sggCd = currentUser().getOrgID(); List stdgNmList = crdnStngMapper.selectStdgNmList(sggCd); ModelAndView mav = new ModelAndView("fims/crdn/crdn05030-info") .addObject("pageName", "crdn05030") - .addObject("taskSeCd", urlTaskSeCd) + .addObject("taskSeCd", taskSeCd) .addObject("sggCd", sggCd) .addObject("stdgNmList", stdgNmList); TaskProcessor taskProcessor = TaskProcessor.get(); - String vltnByTask = taskProcessor.getVltnCdGrp(urlTaskSeCd); + String vltnByTask = taskProcessor.getVltnCdGrp(taskSeCd); Map> commonCodes = getCodesOf("FIM011","FIM053","LVS005",vltnByTask); mav.addObject("FIM011List", commonCodes.get("FIM011")) .addObject("FIM053List", commonCodes.get("FIM053")) @@ -375,10 +365,10 @@ public class Crdn05Controller extends ApplicationController { CrdnQuery query = new CrdnQuery() .setSggCd(sggCd) - .setTaskSeCd(urlTaskSeCd); + .setTaskSeCd(taskSeCd); List teamList = crdnStngService.getTeamList(query); - String[] extraCodeGroups = taskProcessor.getExtraCdGrps(urlTaskSeCd); + String[] extraCodeGroups = taskProcessor.getExtraCdGrps(taskSeCd); if (!isEmpty(extraCodeGroups)) { commonCodes = getCodesOf(extraCodeGroups); commonCodes.forEach((codeGroup, codes) -> { diff --git a/src/main/java/cokr/xit/fims/cvlc/dao/AnswerWordsMapper.java b/src/main/java/cokr/xit/fims/cvlc/dao/AnswerWordsMapper.java index ec4a8d3e..da674a54 100644 --- a/src/main/java/cokr/xit/fims/cvlc/dao/AnswerWordsMapper.java +++ b/src/main/java/cokr/xit/fims/cvlc/dao/AnswerWordsMapper.java @@ -14,7 +14,6 @@ import cokr.xit.foundation.data.DataObject; */ @Mapper("answerWordsMapper") public interface AnswerWordsMapper extends AbstractMapper { - /**지정한 조건에 따라 민원 답변 기본문구를 조회하여 반환한다. * @param crdnQuery 답변 기본문구 설정 조회조건 * @return 답변문구 정보 @@ -74,4 +73,4 @@ public interface AnswerWordsMapper extends AbstractMapper { * @return 저장된 정보 수 */ int deleteCvlcptAnswerWordsInfo(CrdnCvlcpt crdnCvlcpt); -} +} \ No newline at end of file diff --git a/src/main/java/cokr/xit/fims/cvlc/dao/CrdnCvlcptMapper.java b/src/main/java/cokr/xit/fims/cvlc/dao/CrdnCvlcptMapper.java index 7c542e30..81d9b702 100644 --- a/src/main/java/cokr/xit/fims/cvlc/dao/CrdnCvlcptMapper.java +++ b/src/main/java/cokr/xit/fims/cvlc/dao/CrdnCvlcptMapper.java @@ -15,7 +15,6 @@ import cokr.xit.foundation.data.DataObject; */ @Mapper("crdnCvlcptMapper") public interface CrdnCvlcptMapper extends AbstractMapper { - /** 단속민원을 등록한다. * @param cvlcpt 단속민원 * @return 저장된 정보수 @@ -126,4 +125,4 @@ public interface CrdnCvlcptMapper extends AbstractMapper { * @return 저장된 정보 수 */ int insertCrdnAdditionFromSelect(DataObject params); -} +} \ No newline at end of file diff --git a/src/main/java/cokr/xit/fims/cvlc/dao/SoCvlcptIndviDmndMapper.java b/src/main/java/cokr/xit/fims/cvlc/dao/SoCvlcptIndviDmndMapper.java index 8fe5dd8e..13035e45 100644 --- a/src/main/java/cokr/xit/fims/cvlc/dao/SoCvlcptIndviDmndMapper.java +++ b/src/main/java/cokr/xit/fims/cvlc/dao/SoCvlcptIndviDmndMapper.java @@ -15,7 +15,6 @@ import cokr.xit.foundation.data.DataObject; */ @Mapper("soCvlcptIndviDmndMapper") public interface SoCvlcptIndviDmndMapper extends AbstractMapper { - /**지정한 조건에 따라 새올요청자료 목록을 조회한다. * @param crdnQuery 새올요청자료 목록 조회조건 * @return 새올요청자료 목록 @@ -33,5 +32,4 @@ public interface SoCvlcptIndviDmndMapper extends AbstractMapper { * @return 저장된 정보 수 */ int deleteDmndDataInfo(Map map); - -} +} \ No newline at end of file diff --git a/src/main/java/cokr/xit/fims/cvlc/dao/WarningWordsMapper.java b/src/main/java/cokr/xit/fims/cvlc/dao/WarningWordsMapper.java index c22aa7ac..19022b07 100644 --- a/src/main/java/cokr/xit/fims/cvlc/dao/WarningWordsMapper.java +++ b/src/main/java/cokr/xit/fims/cvlc/dao/WarningWordsMapper.java @@ -14,7 +14,6 @@ import cokr.xit.foundation.data.DataObject; */ @Mapper("warningWordsMapper") public interface WarningWordsMapper extends AbstractMapper { - /**지정한 조건에 따라 계도문 문구 대장을 조회하여 반환한다. * @param crdnQuery 계도문 문구 조회 파라미터 * @return 계도문 문구 설정 정보 @@ -32,5 +31,4 @@ public interface WarningWordsMapper extends AbstractMapper { * return 저장된 정보 수 */ int updateWarningWordsInfo(CrdnCvlcpt crdnCvlcpt); - -} +} \ No newline at end of file diff --git a/src/main/java/cokr/xit/fims/cvlc/service/CrdnCvlcptService.java b/src/main/java/cokr/xit/fims/cvlc/service/CrdnCvlcptService.java index 1ee5fae8..d7608f31 100644 --- a/src/main/java/cokr/xit/fims/cvlc/service/CrdnCvlcptService.java +++ b/src/main/java/cokr/xit/fims/cvlc/service/CrdnCvlcptService.java @@ -9,7 +9,6 @@ import cokr.xit.fims.cvlc.CrdnCvlcpt; import cokr.xit.foundation.data.DataObject; public interface CrdnCvlcptService { - /** 민원 목록을 조회한다. * @param query 조회 요청 * @return 민원 목록 @@ -122,4 +121,4 @@ public interface CrdnCvlcptService { * @return 저장여부 */ String executeDisabledTagInfoInquire(String... crdnIds); -} +} \ No newline at end of file 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 index 2eb52f43..606b756e 100644 --- a/src/main/java/cokr/xit/fims/cvlc/service/bean/CrdnCvlcptMainBean.java +++ b/src/main/java/cokr/xit/fims/cvlc/service/bean/CrdnCvlcptMainBean.java @@ -96,18 +96,17 @@ public class CrdnCvlcptMainBean extends AbstractBean { Map cvlcptLink = new HashMap<>(); this.setLinkObj(cvlcptLink, cvlcptInfo, isSendBack); - if(!isEmpty(cvlcptInfo.string("INTERFACE_SEQ_N"))) { + if (!isEmpty(cvlcptInfo.string("INTERFACE_SEQ_N"))) { Petition petition = mapper.convertValue(cvlcptLink, Petition.class); return smgSenderBean.createReply(petition); - } else if(!cvlcptInfo.string("DTL_ID").equals("")) { + } else if (!cvlcptInfo.string("DTL_ID").equals("")) { return false; - } else { + } else throw new RuntimeException("[F]민원 연계 오류"); - } } public void setLinkObj(Map cvlcptLink, DataObject cvlcptInfo, boolean isSendBack) { - if(!isEmpty(cvlcptInfo.string("INTERFACE_SEQ_N"))) { + if (!isEmpty(cvlcptInfo.string("INTERFACE_SEQ_N"))) { cvlcptLink.put("interfaceSeqN", cvlcptInfo.string("CVLCPT_LINK_ID")); cvlcptLink.put("sysGubunC", "EC010008"); //시스템 구분("EC010008") cvlcptLink.put("petiAncCodeV", cvlcptInfo.string("PETI_ANC_CODE_V")); //민원 기관 코드(최초신청기관코드) @@ -143,12 +142,9 @@ public class CrdnCvlcptMainBean extends AbstractBean { cvlcptLink.put("sendStatus", "");//전송상태 cvlcptLink.put("sendStatusMsg", "");//전송상태메시지 - } else if(!cvlcptInfo.string("DTL_ID").equals("")) { - - } else { + } else if (!isEmpty(cvlcptInfo.get("DTL_ID"))) { + } else throw new RuntimeException("[F]민원 연계 오류"); - } - } /**답변 내용을 초기화한다. @@ -177,16 +173,16 @@ public class CrdnCvlcptMainBean extends AbstractBean { .setTaskSeCd(dataInfo.string("TASK_SE_CD")) .setSggCd(dataInfo.string("SGG_CD")); - if(dataInfo.string("CVLCPT_PRCS_CD").equals("02")) { + if (dataInfo.string("CVLCPT_PRCS_CD").equals("02")) { crdnQuery.setAnsSeCd("3"); crdnQuery.setAnsRsnCd("3"+dataInfo.string("VLTN_CD")); - if("301".equals(crdnQuery.getAnsRsnCd()) && "Y".equals(dataInfo.string("DSTRBNC_YN"))) { + if ("301".equals(crdnQuery.getAnsRsnCd()) && "Y".equals(dataInfo.string("DSTRBNC_YN"))) { crdnQuery.setDstrbncYn("Y"); } - } else if(dataInfo.string("CVLCPT_PRCS_CD").equals("03") - || dataInfo.string("CVLCPT_PRCS_CD").equals("04")){ + } 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 { @@ -196,14 +192,14 @@ public class CrdnCvlcptMainBean extends AbstractBean { DataObject bodyWordsInfo = answerWordsMapper.selectCvlcptAnswerWordsInfo(crdnQuery); DataObject basicWordsInfo = answerWordsMapper.selectCvlcptAnswerBasicWordsInfo(crdnQuery); - if(bodyWordsInfo == null) + if (bodyWordsInfo == null) return ""; String body = bodyWordsInfo.string("PRCS_RSLT_CN"); String head = basicWordsInfo.string("HEADER_CN"); String tail = basicWordsInfo.string("FOOTER_CN"); - if(isEmpty(body)) + if (isEmpty(body)) return ""; String joinWords = head + "\n\n" + body + "\n\n" + tail; @@ -225,7 +221,7 @@ public class CrdnCvlcptMainBean extends AbstractBean { joinWords = joinWords.replaceAll("@", "@"); String[] splited = joinWords.split(CrdnCvlcpt.MACRO_SEQ); var seqCount = splited.length - 1; - if(seqCount > 0){ + if (seqCount > 0){ int seq = 1; for(; seq <= seqCount; seq++){ joinWords = joinWords.replaceFirst(CrdnCvlcpt.MACRO_SEQ, Integer.toString(seq)); @@ -271,7 +267,7 @@ public class CrdnCvlcptMainBean extends AbstractBean { .setTaskSeCd(crdnCvlcpt.getTaskSeCd()); DataObject info = answerWordsMapper.selectCvlcptAnswerBasicWordsInfo(query); - if(isEmpty(info)) { + if (isEmpty(info)) { return answerWordsMapper.insertAnswerBasicWordsInfo(crdnCvlcpt) == 1; } else { return answerWordsMapper.updateAnswerBasicWordsInfo(crdnCvlcpt) == 1; @@ -286,21 +282,21 @@ public class CrdnCvlcptMainBean extends AbstractBean { * */ public boolean saveAnswerBodyWordsInfo(CrdnCvlcpt crdnCvlcpt) { - if(isEmpty(crdnCvlcpt.getAnsWordsId())) { + if (isEmpty(crdnCvlcpt.getAnsWordsId())) { String codeGroupId = TaskProcessor.get().getVltnCdGrp(crdnCvlcpt.getTaskSeCd()); String code = ""; - if(crdnCvlcpt.getAnsRsnCd().startsWith("1") || crdnCvlcpt.getAnsRsnCd().startsWith("2")) { - if(crdnCvlcpt.getAnsRsnCd().startsWith("1")) { + if (crdnCvlcpt.getAnsRsnCd().startsWith("1") || crdnCvlcpt.getAnsRsnCd().startsWith("2")) { + if (crdnCvlcpt.getAnsRsnCd().startsWith("1")) { crdnCvlcpt.setPrcsSmry("과태료 미부과"); } - if(crdnCvlcpt.getAnsRsnCd().startsWith("2")) { + if (crdnCvlcpt.getAnsRsnCd().startsWith("2")) { crdnCvlcpt.setPrcsSmry("과태료 계고"); } codeGroupId = "FIM022"; code = crdnCvlcpt.getAnsRsnCd(); - } else if(crdnCvlcpt.getAnsRsnCd().startsWith("3")) { + } else if (crdnCvlcpt.getAnsRsnCd().startsWith("3")) { crdnCvlcpt.setPrcsSmry("과태료 부과"); code = crdnCvlcpt.getAnsRsnCd().substring(1); 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 index fb672466..690f720e 100644 --- a/src/main/java/cokr/xit/fims/cvlc/service/bean/CrdnCvlcptServiceBean.java +++ b/src/main/java/cokr/xit/fims/cvlc/service/bean/CrdnCvlcptServiceBean.java @@ -97,7 +97,7 @@ public class CrdnCvlcptServiceBean extends AbstractServiceBean implements CrdnCv 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 (query.getOrderBy() == null) { if (isEmpty(query.getBy())) { query.setOrderBy(appendCopyToOriginal); } else { @@ -139,7 +139,7 @@ public class CrdnCvlcptServiceBean extends AbstractServiceBean implements CrdnCv DataObject dataObject = crdnCvlcptMapper.selectAnswerPreview(query.getCrdnId()); //저장된 답변이 없으면 - if(ifEmpty(dataObject.string("CVLCPT_PRCS_RSLT_CN"), () -> "").equals("")) { + if (isEmpty(dataObject.get("CVLCPT_PRCS_RSLT_CN"))) { String resultWords = crdnCvlcptMainBean.mappingAnswerWords(query.getCrdnId(), query.getSggCd(), query.getCurrentUserAcnt()); dataObject.set("CVLCPT_PRCS_RSLT_CN", resultWords); } @@ -153,32 +153,30 @@ public class CrdnCvlcptServiceBean extends AbstractServiceBean implements CrdnCv DataObject dataObject = crdnCvlcptMapper.selectCivilComplaintReceiptInitialDataInfo(query); //첨부파일 조회 - FileQuery fileQuery = new FileQuery(); - fileQuery.setInfoType(Crdn.INF_TYPE); - fileQuery.setInfoKeys(query.getCrdnId()); + FileQuery fileQuery = new FileQuery() + .setInfoType(Crdn.INF_TYPE) + .setInfoKeys(query.getCrdnId()); List fileList = mediaBean.getFileAndMosaic(fileQuery); - if(fileList != null && !fileList.isEmpty()) { + if (!isEmpty(fileList)) dataObject.set("fileList", fileList); - } //동영상 존재 여부 확인 dataObject.set("VIDEO_EXIST_YN", "N"); String linkTblNm = dataObject.string("LINK_TBL_NM"); - if(!isEmpty(linkTblNm)) { - if(linkTblNm.equals("TB_ESB_INTERFACE")) { + if (!isEmpty(linkTblNm)) { + if (linkTblNm.equals("TB_ESB_INTERFACE")) { fileQuery.setInfoType("010"); - } else if(linkTblNm.equals("TB_SAEOL_CVLCPT_DTL")) { + } else if (linkTblNm.equals("TB_SAEOL_CVLCPT_DTL")) { fileQuery.setInfoType("020"); - } else { + } else throw new RuntimeException("파일 조회 중 오류가 발생하였습니다."); - } fileQuery.setInfoKeys(dataObject.string("LINK_ID")); List linkFileList = fileBean.getFileList(fileQuery); - if(linkFileList != null && !linkFileList.isEmpty()) { + if (!isEmpty(linkFileList)) { 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)) { + if (Arrays.asList(Sprt.VIDEO_MIME_TYPE).contains(mimeType)) { dataObject.set("VIDEO_EXIST_YN", "Y"); } } @@ -191,7 +189,7 @@ public class CrdnCvlcptServiceBean extends AbstractServiceBean implements CrdnCv @Override public String sendBackCivilComplaintInfo(String crdnId) { boolean saved = crdnCvlcptSubBean.executelevyExcl("sendBack", crdnId); - if(!saved) + if (!saved) throw new RuntimeException("반송 처리 중 서손처리에 실패하였습니다."); DataObject crdnInfo = crdnInfoMapper.selectCrdnInfo(crdnId); @@ -208,7 +206,7 @@ public class CrdnCvlcptServiceBean extends AbstractServiceBean implements CrdnCv if (!retSuccess) throw new RuntimeException("반송 처리 중 단속민원답변 수정에 실패하였습니다."); - if(crdnInfo.string("LINK_TBL_NM").equals("TB_ESB_INTERFACE") + if (crdnInfo.string("LINK_TBL_NM").equals("TB_ESB_INTERFACE") || crdnInfo.string("LINK_TBL_NM").equals("TB_SAEOL_CVLCPT_DTL")) { boolean result = crdnCvlcptMainBean.insertTransmitInfo(true, crdnInfo.string("CVLCPT_LINK_ID")); if (!result) @@ -222,7 +220,7 @@ public class CrdnCvlcptServiceBean extends AbstractServiceBean implements CrdnCv @Override public String updateCvlcptProcessSection(Map nonQueryRequest, CrdnCvlcpt crdnCvlcpt, Crdn crdn) { boolean saved = crdnCvlcptSubBean.updateSubInfo(nonQueryRequest, crdn); - if(!saved) + if (!saved) throw new RuntimeException("민원자료 저장 중 오류가 발생하였습니다."); DataObject crdnInfo = crdnInfoMapper.selectCrdnInfo(crdn.getCrdnId()); @@ -241,7 +239,7 @@ public class CrdnCvlcptServiceBean extends AbstractServiceBean implements CrdnCv String newCvlcptTrsmCd = ""; String ansRsnCd = ""; String acceptType = blankIfEmpty(nonQueryRequest.get("acceptType")); - if(acceptType.equals("someAccept") || acceptType.equals("nonAccept")) { //일부수용,불수용 + if (acceptType.equals("someAccept") || acceptType.equals("nonAccept")) { //일부수용,불수용 ansRsnCd = crdn.getLevyExclRsnCd(); } else { ansRsnCd = "3"+crdn.getVltnCd(); @@ -251,13 +249,13 @@ public class CrdnCvlcptServiceBean extends AbstractServiceBean implements CrdnCv .setAnsRsnCd(ansRsnCd) .setSggCd(crdn.getSggCd()) .setTaskSeCd(crdn.getTaskSeCd()); - if(crdn.getVltnCd().equals("01") && "Y".equals(crdnCvlcpt.getDstrbncYn())) { + if (crdn.getVltnCd().equals("01") && "Y".equals(crdnCvlcpt.getDstrbncYn())) { crdnQuery.setDstrbncYn("Y"); } // 민원 답변 문구(TB_CVLCPT_ANS_WORDS) 대장 조회 DataObject infoCvlcptAnsWords = answerWordsMapper.selectCvlcptAnswerWordsInfo(crdnQuery); - if(acceptType.equals("someAccept") || acceptType.equals("nonAccept")) { //일부수용,불수용 + if (acceptType.equals("someAccept") || acceptType.equals("nonAccept")) { //일부수용,불수용 // 비부과(서손)사유가 민원 답변대상인가? 민원 답변 문구(TB_CVLCPT_ANS_WORDS) 대장에 답변 사유 코드가 존재한다면.. if (infoCvlcptAnsWords != null) { newCvlcptPrcsCd = "04"; // 민원 처리 코드 - 불수용(과태료 부과제외) @@ -298,9 +296,8 @@ public class CrdnCvlcptServiceBean extends AbstractServiceBean implements CrdnCv public String updateAnswerContent(CrdnCvlcpt crdnCvlcpt) { int affected = crdnCvlcptMapper.updateAnswerContent(crdnCvlcpt); - if(affected != 1) { + if (affected != 1) throw new RuntimeException("답변 내용 저장에 실패하였습니다."); - } return "[S]"; @@ -308,13 +305,11 @@ public class CrdnCvlcptServiceBean extends AbstractServiceBean implements CrdnCv @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")) { + 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")); @@ -330,31 +325,27 @@ public class CrdnCvlcptServiceBean extends AbstractServiceBean implements CrdnCv CrdnCvlcpt crdnCvlcpt = new CrdnCvlcpt(); crdnCvlcpt.setCvlcptLinkId(targetDataList.get(i).string("CVLCPT_LINK_ID")); - if(processType.equals("answerExecute")) { + if (processType.equals("answerExecute")) { crdnCvlcpt.setCvlcptTrsmCd("04"); - if(ifEmpty(targetDataList.get(i).string("CVLCPT_PRCS_RSLT_CN"), () -> "").equals("")) { + 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")){ + } else if (processType.equals("answerComplete")){ crdnCvlcpt.setCvlcptTrsmCd("09"); - } else { + } else throw new RuntimeException("민원 전송 상태 변경에 실패하였습니다."); - } int affected = crdnCvlcptMapper.updateAnswerTargetTransmitStatus(crdnCvlcpt); - if(affected != 1) { + if (affected != 1) throw new RuntimeException("민원 전송 상태 변경 중 오류가 발생하였습니다."); - } - - if(processType.equals("answerExecute")) { - if(targetDataList.get(i).string("LINK_TBL_NM").equals("TB_ESB_INTERFACE") + 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_SAEOL_CVLCPT_DTL")) { boolean result = crdnCvlcptMainBean.insertTransmitInfo(false, targetDataList.get(i).string("CVLCPT_LINK_ID")); - if (!result) { + if (!result) throw new RuntimeException("민원 전송 상태 변경 중 전송자료 등록에 실패하였습니다."); - } } } @@ -383,10 +374,10 @@ public class CrdnCvlcptServiceBean extends AbstractServiceBean implements CrdnCv @Override public String saveAnswerWordsInfo(String saveData, CrdnCvlcpt crdnCvlcpt) { boolean saved = false; - if(saveData.equals("basic")) { + if (saveData.equals("basic")) { saved = crdnCvlcptMainBean.saveAnswerBasicWordsInfo(crdnCvlcpt); } - if(saveData.equals("body")) { + if (saveData.equals("body")) { saved = crdnCvlcptMainBean.saveAnswerBodyWordsInfo(crdnCvlcpt); } return saved ? "[S]" : "[F]"; @@ -428,10 +419,10 @@ public class CrdnCvlcptServiceBean extends AbstractServiceBean implements CrdnCv public String executeDisabledTagInfoInquire(String... crdnIds) { String disabledParkingDemonYn = FimsConf.get().getDisabledParkingDemonYn(); String disabledParkingDemonUrl = FimsConf.get().getDisabledParkingDemonUrl(); - if(isEmpty(disabledParkingDemonYn)) { + if (isEmpty(disabledParkingDemonYn)) { disabledParkingDemonYn = "N"; } - if(isEmpty(disabledParkingDemonUrl)) { + if (isEmpty(disabledParkingDemonUrl)) { disabledParkingDemonUrl = ""; } @@ -441,14 +432,14 @@ public class CrdnCvlcptServiceBean extends AbstractServiceBean implements CrdnCv DataObject crdnInfo = crdnInfoMapper.selectCrdnInfo(crdnIds[i]); String vhrno = crdnInfo.string("VHRNO"); - if(isEmpty(vhrno)) + if (isEmpty(vhrno)) continue; - if(!vehicleResultMap.containsKey(vhrno)) { + if (!vehicleResultMap.containsKey(vhrno)) { DataObject inquireResult = new DataObject(); // 연계서비스 별도 프로세스 여부 - if(disabledParkingDemonYn.equals("Y")) { + if (disabledParkingDemonYn.equals("Y")) { String sUrl = disabledParkingDemonUrl + "/intf/disabledParking/parkingInfo"; HttpResponse apiRslt = new WebClient().post(request -> { @@ -476,13 +467,13 @@ public class CrdnCvlcptServiceBean extends AbstractServiceBean implements CrdnCv } boolean result = vehicleResultMap.get(vhrno); - if(result) { + if (result) { boolean saved = crdnCvlcptSubBean.executelevyExcl("inquireTag", crdnInfo.string("CRDN_ID")); - if(!saved) + 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")); + boolean isNotYetTransmit = !"04,05,06".contains(crdnInfo.string("CVLCPT_TRSM_CD")); //자동등록된 연계자료이며, 전송 작업 처리 전 자료에 대해 민원 정보를 업데이트한다. if (isFirstBorn && isNotYetTransmit) { @@ -508,7 +499,7 @@ public class CrdnCvlcptServiceBean extends AbstractServiceBean implements CrdnCv Crdn crdn = new Crdn(); crdn.setCrdnId(crdnInfo.string("CRDN_ID")); boolean saved = crdnUpdtMapper.updateTagInfo(crdn) == 1; - if(!saved) + if (!saved) throw new RuntimeException("표지조회처리 중 표지확인여부 변경에 실패하였습니다."); } } diff --git a/src/main/java/cokr/xit/fims/cvlc/web/Cvlc01Controller.java b/src/main/java/cokr/xit/fims/cvlc/web/Cvlc01Controller.java index 45a68312..2f68212f 100644 --- a/src/main/java/cokr/xit/fims/cvlc/web/Cvlc01Controller.java +++ b/src/main/java/cokr/xit/fims/cvlc/web/Cvlc01Controller.java @@ -176,7 +176,8 @@ public class Cvlc01Controller extends ApplicationController { boolean json = jsonResponse(); return new ModelAndView(json ? "jsonView" : "fims/cvlc/cvlc01050-info") .addObject("pageName", "cvlc01050") - .addObject("taskSeCd", hReq.getServletPath().split("/")[1]) + .addObject("taskSeCd", hReq.getParameter("taskSeCd")) +// .addObject("taskSeCd", hReq.getServletPath().split("/")[1]) .addObject("FIM039List", commonCodes.get("FIM039")) .addObject("cvlcptInfo", json ? info : toJson(info)); } @@ -232,7 +233,8 @@ public class Cvlc01Controller extends ApplicationController { @Task @RequestMapping(name="민원접수 초기자료 조회", value=METHOD_URL.getCivilComplaintReceiptInitialDataInfo) public ModelAndView getCivilComplaintReceiptInitialDataInfo(HttpServletRequest hReq, CrdnQuery query) { - String urlTaskSeCd = hReq.getServletPath().split("/")[1]; + String urlTaskSeCd = hReq.getParameter("taskSeCd"); +// String urlTaskSeCd = hReq.getServletPath().split("/")[1]; DataObject info = crdnCvlcptService.getCivilComplaintReceiptInitialDataInfo(query); FimsUser currentUser = (FimsUser) currentUser().getUser(); diff --git a/src/main/java/cokr/xit/fims/cvlc/web/Cvlc02Controller.java b/src/main/java/cokr/xit/fims/cvlc/web/Cvlc02Controller.java index 942f841e..ce495a90 100644 --- a/src/main/java/cokr/xit/fims/cvlc/web/Cvlc02Controller.java +++ b/src/main/java/cokr/xit/fims/cvlc/web/Cvlc02Controller.java @@ -163,17 +163,17 @@ public class Cvlc02Controller extends ApplicationController { @Task @RequestMapping(name="민원답변내용 미리보기", value=METHOD_URL.answerPreviewInfo) public ModelAndView answerPreviewInfo(HttpServletRequest hReq, CrdnQuery query) { - String urlTaskSeCd = hReq.getServletPath().split("/")[1]; query .setCurrentUserAcnt(currentUser().getAccount()) - .setTaskSeCd(urlTaskSeCd) + .setTaskSeCd(hReq.getParameter("taskSeCd")) +// .setTaskSeCd(hReq.getServletPath().split("/")[1]) .setSggCd(currentUser().getOrgID()); DataObject cvlcptInfo = crdnCvlcptService.getAnswerPreview(query); boolean json = jsonResponse(); return new ModelAndView(json ? "jsonView" : "fims/cvlc/cvlc02060-info") .addObject("pageName", "cvlc02060") - .addObject("taskSeCd", urlTaskSeCd) + .addObject("taskSeCd", query.getTaskSeCd()) .addObject("cvlcptInfo", json ? cvlcptInfo : toJson(cvlcptInfo)); } 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 index f8c9e001..6106c364 100644 --- a/src/main/java/cokr/xit/fims/levy/service/bean/LevyBean.java +++ b/src/main/java/cokr/xit/fims/levy/service/bean/LevyBean.java @@ -157,7 +157,8 @@ public class LevyBean extends AbstractBean { String taskSeCd = crdnInfo.string("TASK_SE_CD"); String sggCd = levy.getSggCd(); - if (!TaskProcessor.get().isPreImposable(taskSeCd)) + TaskProcessor taskProcessor = TaskProcessor.get(); + if (!taskProcessor.isPreImposable(taskSeCd)) return "[F] 작업 중 " + crdnInfo.string("TASK_SE_NM") + " 업무는 사전부과를 할 수 없습니다."; if (!isEmpty(crdnInfo.string("LEVY_ID"))) return "[F] 작업 중 이미 감경 부과된 자료가 있습니다."; @@ -170,13 +171,13 @@ public class LevyBean extends AbstractBean { UserInfo userInfo = currentUser(); // 부과 정보 - levy.setInstCd(userInfo.getInstitute()); // 기관 코드 + levy.setInstCd(userInfo.getInstitute()); // 기관 코드 levy.setDeptCd(userInfo.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")); // 운영 항목 코드 + 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(sggCd); @@ -186,54 +187,52 @@ public class LevyBean extends AbstractBean { 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 - levy.setRdctSeCd("BPV".equals(taskSeCd) ? "02" : "01"); // 감경 구분 코드 FIM046 - 02 미감경 01 감경 - levy.setFfnlgAmt(toInt(crdnInfo.get("FFNLG_AMT"))); // 과태료 금액 - levy.setLevyPcptax(toInt(crdnInfo.get("ADVNTCE_AMT"))); // 부과 본세 - levy.setLastAmt(toInt(crdnInfo.get("ADVNTCE_AMT"))); // 최종 금액 - 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.setLevyNo(levyMapper.selectMaxLevyNo(selectLevyNo)); // 부과 번호 (최종 부과번호+1 을 조회 한다.) + levy.setIspySn("00"); // 분납 일련번호 + levy.setLevySeCd("02"); // 부과 구분 코드 FIM040 + levy.setUntySeCd("02"); // 통합 구분 코드 FIM072 + levy.setRdctSeCd(taskProcessor.getRdctSeCd(taskSeCd)); // 감경 구분 코드 + levy.setFfnlgAmt(toInt(crdnInfo.get("FFNLG_AMT"))); // 과태료 금액 + levy.setLevyPcptax(toInt(crdnInfo.get("ADVNTCE_AMT"))); // 부과 본세 + levy.setLastAmt(toInt(crdnInfo.get("ADVNTCE_AMT"))); // 최종 금액 + 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.setMngItem4(crdnInfo.string("VLTN_ARTCL")); // 관리 아이템4 - 위반항목 + levy.setMngItem5(""); // 관리 아이템5 levy.setMngItem6(crdnInfo.string("SGG_CD") + crdnInfo.string("CRDN_ID")); // 관리 아이템6 - 시군구코드 + 단속ID // 부과(TB_LEVY) 대장을 등록한다. int rtnNocs = levyMapper.insertLevy(levy); if (rtnNocs != 1) - throw new RuntimeException("감경부과 대장 등록에 실패하였습니다."); // 예외를 발생시켜서 DB Rollback + throw new RuntimeException("감경부과 대장 등록에 실패하였습니다."); // 단속상태이력(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 + 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 boolean rtnScs = false; if (toInt(crdnInfo.get("CRDN_STTS_CD")) >= 1 && toInt(crdnInfo.get("CRDN_STTS_CD")) <= 22 ) { // 단속 상태 이력(TB_CRDN_STTS_HSTRY) 대장에 등록하고, 단속(TB_CRDN) 대장을 수정한다. rtnScs = crdnSttsHstryBean.createHstryUpdateCrdnSttsCd(crdnSttsHstry); - if (!rtnScs) { + if (!rtnScs) throw new RuntimeException("감경부과 등록 중 단속 대장의 단속상태 변경에 실패하였습니다."); // 예외를 발생시켜서 DB Rollback - } } else { // 단속상태이력(TB_CRDN_STTS_HSTRY) 대장을 등록한다. rtnScs = crdnSttsHstryBean.create(crdnSttsHstry); - if (!rtnScs) { + if (!rtnScs) throw new RuntimeException("감경부과 등록 중 단속 대장의 단속상태 변경에 실패하였습니다."); // 예외를 발생시켜서 DB Rollback - } } return "[S] 작업이 정상 처리 되었습니다."; diff --git a/src/main/java/cokr/xit/fims/mngt/service/bean/TaskProcessor.java b/src/main/java/cokr/xit/fims/mngt/service/bean/TaskProcessor.java index 252fc5a6..894020f7 100644 --- a/src/main/java/cokr/xit/fims/mngt/service/bean/TaskProcessor.java +++ b/src/main/java/cokr/xit/fims/mngt/service/bean/TaskProcessor.java @@ -94,6 +94,14 @@ public class TaskProcessor extends AbstractBean { return "PVS".equals(taskSeCd) ? "한건을 시간초과로 처리하십시요." : "한건을 서손으로 처리하십시요."; } + /**주어진 업무의 감경 구분코드를 반환한다. + * @param taskSeCd 업무구분 코드 + * @return 감경 구분코드 + */ + public String getRdctSeCd(String taskSeCd) { + return "BPV".equals(taskSeCd) ? "02" : "01"; // FIM046 - 02 미감경 01 감경 + } + /**주어진 업무의 과태료과징금 구분코드를 반환한다. * @param taskSeCd 업무구분 코드 * @return 과태료과징금 구분코드 @@ -242,10 +250,7 @@ public class TaskProcessor extends AbstractBean { * @return 사전부과 여부 */ public boolean isPreImposable(String taskSeCd) { - return switch (taskSeCd) { - case "BPV", "PVS" -> true; - default -> false; - }; + return "BPV,PVS".contains(taskSeCd); } /**감경정보를 반영하여 부과본세를 반환한다. diff --git a/src/main/java/cokr/xit/fims/nxrp/web/Nxrp01Controller.java b/src/main/java/cokr/xit/fims/nxrp/web/Nxrp01Controller.java index 6e0151c7..dfe3371f 100644 --- a/src/main/java/cokr/xit/fims/nxrp/web/Nxrp01Controller.java +++ b/src/main/java/cokr/xit/fims/nxrp/web/Nxrp01Controller.java @@ -51,18 +51,11 @@ public class Nxrp01Controller extends AbstractController { @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); + .addObject("saved", rtnMsg.contains("[S]")) + .addObject("rtnMsg", rtnMsg); } /**주정차 과태료 대장 단속 정보 등록를 등록한다. @@ -75,18 +68,11 @@ public class Nxrp01Controller extends AbstractController { @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); + .addObject("saved", rtnMsg.contains("[S]")) + .addObject("rtnMsg", rtnMsg); } /**전용차로 과태료 대장 단속 정보 등록를 등록한다. @@ -99,17 +85,10 @@ public class Nxrp01Controller extends AbstractController { @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); + .addObject("saved", rtnMsg.contains("[S]")) + .addObject("rtnMsg", rtnMsg); } -} +} \ No newline at end of file diff --git a/src/main/java/cokr/xit/fims/sndb/web/Sndb01Controller.java b/src/main/java/cokr/xit/fims/sndb/web/Sndb01Controller.java index e69c6619..481e47b3 100644 --- a/src/main/java/cokr/xit/fims/sndb/web/Sndb01Controller.java +++ b/src/main/java/cokr/xit/fims/sndb/web/Sndb01Controller.java @@ -633,10 +633,9 @@ public class Sndb01Controller extends ApplicationController { mav.setViewName("fims/sndb/sndb01060-info"); // 사전통지 납기일자 조회 - CmmnQuery cmmnReq = new CmmnQuery(); - cmmnReq.setSggCd(req.getSggCd()); - cmmnReq.setTaskSeCd(req.getTaskSeCd()); - + CmmnQuery cmmnReq = new CmmnQuery() + .setSggCd(req.getSggCd()) + .setTaskSeCd(req.getTaskSeCd()); DataObject advntceInfo = taskBean.getAdvntceYmdInfo(cmmnReq); mav.addObject("callPurpose", req.getCallPurpose()) // 호출 용도 diff --git a/src/main/java/cokr/xit/fims/sprt/dao/TotalInfoMapper.java b/src/main/java/cokr/xit/fims/sprt/dao/TotalInfoMapper.java index 5a423234..45327a0c 100644 --- a/src/main/java/cokr/xit/fims/sprt/dao/TotalInfoMapper.java +++ b/src/main/java/cokr/xit/fims/sprt/dao/TotalInfoMapper.java @@ -21,7 +21,6 @@ import cokr.xit.foundation.data.DataObject; */ @Mapper("totalInfoMapper") public interface TotalInfoMapper extends AbstractMapper { - /**단속 ID의 개별총정보를 반환한다. * @param crdnId 단속 ID * @return 개별총정보 @@ -53,5 +52,4 @@ public interface TotalInfoMapper extends AbstractMapper { default boolean updateCrdnAtchFileCnt(Crdn crdn) { return crdn != null && updateCrdnAtchFileCnt(params().set("crdn", crdn)) == 1; } - -} +} \ No newline at end of file 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 index 340adb91..c3f27142 100644 --- a/src/main/java/cokr/xit/fims/sprt/service/bean/Sprt02Bean.java +++ b/src/main/java/cokr/xit/fims/sprt/service/bean/Sprt02Bean.java @@ -27,11 +27,9 @@ import cokr.xit.foundation.data.DataObject; */ @Component("sprt02Bean") public class Sprt02Bean extends AbstractBean { - /** 개별 총정보 DAO */ @Resource(name = "totalInfoMapper") private TotalInfoMapper totalInfoMapper; - /** 파일 Bean */ @Resource(name="fileBean") private FileBean fileBean; @@ -57,40 +55,34 @@ public class Sprt02Bean extends AbstractBean { * @return 저장 메시지 */ public String updateCrdnImageFile(Crdn crdn, List newFileInfoList) { - // 변수 선언 - boolean rtnScs = false; // DB 처리 결과 - String rtnMsg = "[F] "; // 처리 결과 메시지 - // 파일 등록 - int fileInsertEffected = fileBean.create(newFileInfoList); - + int affected = fileBean.create(newFileInfoList); // 단속 ID로 파일(TB_FILE) 정보 조회 - List infoFileList = fileBean.getFileList(new FileQuery().setInfoType(Crdn.INF_TYPE) - .setInfoKeys(crdn.getCrdnId()) - .setOrderBy("FILE_ID")); + List infoFileList = fileBean.getFileList( + new FileQuery().setInfoType(Crdn.INF_TYPE) + .setInfoKeys(crdn.getCrdnId()) + .setOrderBy("FILE_ID") + ); - if (infoFileList != null && infoFileList.size() > 0) { + if (!isEmpty(infoFileList)) { String[] fileIDs = new String[infoFileList.size()]; - - for (int iLoop = 0; iLoop < infoFileList.size(); iLoop++) { - fileIDs[iLoop] = infoFileList.get(iLoop).string("FILE_ID"); - } + infoFileList.stream() + .map(row -> row.string("FILE_ID")) + .toList() + .toArray(fileIDs); fileBean.reorder(fileIDs); // 첨부파일 재 정렬 } - crdn.setAtchFileCnt(crdn.getAtchFileCnt() + fileInsertEffected); + crdn.setAtchFileCnt(crdn.getAtchFileCnt() + affected); // 단속 대장을 수정한다. - rtnScs = totalInfoMapper.updateCrdnAtchFileCnt(crdn); - if (!rtnScs) { + boolean rtnScs = totalInfoMapper.updateCrdnAtchFileCnt(crdn); + if (!rtnScs) // 예외를 발생시켜서 오류메세지를 보내고 DB Rollback throw new RuntimeException("단속 첨부 파일 갯수 수정에 실패하였습니다."); - } - - rtnMsg = "[S] 작업이 정상 처리 되었습니다."; - return rtnMsg; + return "[S] 작업이 정상 처리 되었습니다."; } /** 단속 사진에 대한 정보를 삭제한다. @@ -98,43 +90,35 @@ public class Sprt02Bean extends AbstractBean { * @return 저장 메시지 */ public String removeCrdnImageFile(String crdnId, Integer atchFileCnt, String... fileIDs) { - // 변수 선언 - boolean rtnScs = false; // DB 처리 결과 - String rtnMsg = "[F] "; // 처리 결과 메시지 - // 파일 삭제 - int fileInsertEffected = fileBean.remove(fileIDs); - + int affected = fileBean.remove(fileIDs); // 단속 ID로 파일(TB_FILE) 정보 조회 - List infoFileList = fileBean.getFileList(new FileQuery().setInfoType(Crdn.INF_TYPE) - .setInfoKeys(crdnId) - .setOrderBy("FILE_ID")); + List infoFileList = fileBean.getFileList( + new FileQuery().setInfoType(Crdn.INF_TYPE) + .setInfoKeys(crdnId) + .setOrderBy("FILE_ID") + ); - if (infoFileList != null && infoFileList.size() > 0) { + if (!isEmpty(infoFileList)) { String[] reorderFileIDs = new String[infoFileList.size()]; - for (int iLoop = 0; iLoop < infoFileList.size(); iLoop++) { - reorderFileIDs[iLoop] = infoFileList.get(iLoop).string("FILE_ID"); - } + infoFileList.stream() + .map(row -> row.string("FILE_ID")) + .toList() + .toArray(reorderFileIDs); fileBean.reorder(reorderFileIDs); // 첨부파일 재 정렬 } Crdn crdn = new Crdn(); - crdn.setCrdnId(crdnId); - crdn.setAtchFileCnt(atchFileCnt - fileInsertEffected); + crdn.setAtchFileCnt(atchFileCnt - affected); // 단속 대장을 수정한다. - rtnScs = totalInfoMapper.updateCrdnAtchFileCnt(crdn); - if (!rtnScs) { - // 예외를 발생시켜서 오류메세지를 보내고 DB Rollback + boolean rtnScs = totalInfoMapper.updateCrdnAtchFileCnt(crdn); + if (!rtnScs) throw new RuntimeException("단속 첨부 파일 갯수 수정에 실패하였습니다."); - } - - rtnMsg = "[S] 작업이 정상 처리 되었습니다."; - return rtnMsg; + return "[S] 작업이 정상 처리 되었습니다."; } - -} +} \ No newline at end of file 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 index 649014b3..35c311a9 100644 --- a/src/main/java/cokr/xit/fims/sprt/service/bean/Sprt02ServiceBean.java +++ b/src/main/java/cokr/xit/fims/sprt/service/bean/Sprt02ServiceBean.java @@ -27,11 +27,9 @@ import cokr.xit.foundation.data.DataObject; */ @Service("sprt02Service") public class Sprt02ServiceBean extends AbstractServiceBean implements Sprt02Service { - /** 업무지원 Bean */ @Resource(name="sprt02Bean") protected Sprt02Bean sprt02Bean; - /** 파일 Bean */ @Resource(name="fileBean") private FileBean fileBean; @@ -44,25 +42,19 @@ public class Sprt02ServiceBean extends AbstractServiceBean implements Sprt02Serv @Override public DataObject getCrdnPayerInfo(SprtQuery req) { // 단속, 납부자 조회 - DataObject dataObject = sprt02Bean.getCrdnPayerInfo(req); - - // 단속 파일 조회 - List fileList = getCrdnFileList(req); + DataObject payerInfo = sprt02Bean.getCrdnPayerInfo(req); + if (!isEmpty(payerInfo)) // 단속 파일 조회 + payerInfo.set("fileList", getCrdnFileList(req)); - if (fileList != null && !fileList.isEmpty()) { - dataObject.set("fileList", fileList); - } - - return dataObject; + return payerInfo; } @Override public List getCrdnFileList(SprtQuery req) { // 첨부 파일 조회 - FileQuery fileQuery = new FileQuery(); - - fileQuery.setInfoType(Crdn.INF_TYPE); - fileQuery.setInfoKeys(req.getCrdnId()); + FileQuery fileQuery = new FileQuery() + .setInfoType(Crdn.INF_TYPE) + .setInfoKeys(req.getCrdnId()); return fileBean.getFileList(fileQuery); } @@ -76,5 +68,4 @@ public class Sprt02ServiceBean extends AbstractServiceBean implements Sprt02Serv public String removeCrdnImageFile(String crdnId, Integer atchFileCnt, String... fileIDs) { return sprt02Bean.removeCrdnImageFile(crdnId, atchFileCnt, fileIDs); } - -} +} \ No newline at end of file diff --git a/src/main/java/cokr/xit/fims/task/TaskMvcConfig.java b/src/main/java/cokr/xit/fims/task/TaskMvcConfig.java index 71ebc5bc..594ee220 100644 --- a/src/main/java/cokr/xit/fims/task/TaskMvcConfig.java +++ b/src/main/java/cokr/xit/fims/task/TaskMvcConfig.java @@ -5,10 +5,8 @@ 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(); @@ -18,5 +16,4 @@ public class TaskMvcConfig extends DelegatingWebMvcConfiguration { TaskRequestMappingHandlerMapping taskRequestMappingHandlerMapping() { return new TaskRequestMappingHandlerMapping(); } - -} +} \ No newline at end of file diff --git a/src/main/java/cokr/xit/fims/task/TaskRequestMappingHandlerMapping.java b/src/main/java/cokr/xit/fims/task/TaskRequestMappingHandlerMapping.java index ea7b513e..e0dbd985 100644 --- a/src/main/java/cokr/xit/fims/task/TaskRequestMappingHandlerMapping.java +++ b/src/main/java/cokr/xit/fims/task/TaskRequestMappingHandlerMapping.java @@ -1,7 +1,6 @@ package cokr.xit.fims.task; import java.lang.reflect.Method; -import java.util.ArrayList; import java.util.List; import java.util.Set; @@ -18,12 +17,16 @@ public class TaskRequestMappingHandlerMapping extends RequestMappingHandlerMappi @Override @Nullable public RequestMappingInfo getMappingForMethod(Method method, Class handlerType) { + if (!FimsConf.get().isUrlPrefixedWithTask()) + return super.getMappingForMethod(method, handlerType); + RequestMappingInfo info = super.getMappingForMethod(method, handlerType); Task task = AnnotatedElementUtils.findMergedAnnotation(method, Task.class); return task != null && info != null ? createRequestMappingInfo(task, method, info) : info; + } protected RequestMappingInfo createRequestMappingInfo(Task task, Method method, RequestMappingInfo info) { @@ -38,15 +41,6 @@ public class TaskRequestMappingHandlerMapping extends RequestMappingHandlerMappi prefix = new String[1 + tasksArray.length]; System.arraycopy(new String[] {""}, 0, prefix, 0, 1); System.arraycopy(tasksArray, 0, prefix, 1, tasksArray.length); - } else { - List newTasks = FimsConf.get().getAdditionalTasks(); - if (newTasks != null) { - ArrayList list = new ArrayList<>(); - for (String str: prefix) - list.add(str); - list.addAll(newTasks); - prefix = list.toArray(new String[list.size()]); - } } RequestMapping rm = AnnotatedElementUtils.findMergedAnnotation(method, RequestMapping.class); diff --git a/src/main/resources/sql/mapper/fims/crdn/crdn-eqpmnt-mapper.xml b/src/main/resources/sql/mapper/fims/crdn/crdn-eqpmnt-mapper.xml index cef59bed..8c4e747d 100644 --- a/src/main/resources/sql/mapper/fims/crdn/crdn-eqpmnt-mapper.xml +++ b/src/main/resources/sql/mapper/fims/crdn/crdn-eqpmnt-mapper.xml @@ -141,7 +141,8 @@ INSERT ) VALUES ( #{layoutDescriptor.fileLayoutId} , #{remoteSystemInfo.ip} - , #{remoteSystemInfo.port} + , #{remoteSystemInfo.port} + , NULL , #{remoteSystemInfo.id} , #{remoteSystemInfo.pw} , #{remoteSystemInfo.osType} diff --git a/src/main/resources/sql/mapper/fims/crdn/crdn-list-mapper.xml b/src/main/resources/sql/mapper/fims/crdn/crdn-list-mapper.xml index 7c3a99a8..15cbf2da 100644 --- a/src/main/resources/sql/mapper/fims/crdn/crdn-list-mapper.xml +++ b/src/main/resources/sql/mapper/fims/crdn/crdn-list-mapper.xml @@ -242,6 +242,7 @@ SELECT C.CRDN_ID , C.TASK_SE_CD , CONCAT(C.CRDN_YMD,'',C.CRDN_TM) AS CRDN_YMD_TM , C.VHRNO + , CASE WHEN EV.EXMPTN_VHCL_ID IS NOT NULL THEN 'Y' ELSE 'N' END EXMPTN , COUNT(*) OVER (PARTITION BY C.VHRNO, C.CRDN_PLC) AS CRDN_CNT , '' AS INSP_RSLT , '' AS PRCS_MTHD @@ -255,7 +256,8 @@ SELECT C.CRDN_ID , C.CRDN_INPT_SE_CD , (SELECT GET_CODE_NM('FIM003', C.CRDN_INPT_SE_CD) FROM DUAL) AS CRDN_INPT_SE_NM FROM TB_CRDN C - INNER JOIN TB_CRDN_ADI CA ON (C.CRDN_ID = CA.CRDN_ID) + INNER JOIN TB_CRDN_ADI CA ON (C.CRDN_ID = CA.CRDN_ID) + LEFT OUTER JOIN TB_EXMPTN_VHCL EV ON C.SGG_CD = EV.SGG_CD AND C.VHRNO = EV.VHRNO AND C.CRDN_YMD BETWEEN EV.EXMPTN_BGNG_YMD AND EV.EXMPTN_END_YMD AND EV.DEL_YN = 'N' WHERE C.DEL_YN = 'N' AND C.SGG_CD = #{sggCd} AND C.TASK_SE_CD = #{taskSeCd}