diff --git a/src/main/java/cokr/xit/fims/cmmn/web/StngController.java b/src/main/java/cokr/xit/fims/cmmn/web/StngController.java
new file mode 100644
index 00000000..9d2e5282
--- /dev/null
+++ b/src/main/java/cokr/xit/fims/cmmn/web/StngController.java
@@ -0,0 +1,176 @@
+package cokr.xit.fims.cmmn.web;
+
+import java.io.File;
+import java.util.List;
+import java.util.Map;
+
+import javax.annotation.Resource;
+
+import org.apache.commons.io.FilenameUtils;
+import org.springframework.web.multipart.MultipartFile;
+import org.springframework.web.servlet.ModelAndView;
+
+import cokr.xit.base.code.CommonCode;
+import cokr.xit.base.user.ManagedUser;
+import cokr.xit.base.user.dao.UserMapper;
+import cokr.xit.base.web.ApplicationController;
+import cokr.xit.fims.cmmn.OtptForm;
+import cokr.xit.fims.cmmn.OtptStngQuery;
+import cokr.xit.fims.cmmn.service.StngService;
+import cokr.xit.fims.cmmn.service.bean.OtptStngBean;
+import cokr.xit.fims.cmmn.service.bean.StngBean;
+import cokr.xit.fims.crdn.dao.GlobalStngMapper;
+import cokr.xit.fims.stat.dao.StatMapper;
+import cokr.xit.foundation.data.DataObject;
+
+/**설정 관리 서비스의 웹 컨트롤러
+*
+*
상세 설명:
+*
+*
+* ============ 변경 이력 ============
+* 2024-02-20 leebj 최초 작성
+* ================================
+*
+*/
+public class StngController extends ApplicationController {
+ public static final String CLASS_URL = "/stng/stng01";
+
+ public class METHOD_URL {
+ public static final String
+ otptStngMain = "/010/main.do",
+ getOtptStngInfo = "/010/info.do",
+ saveOtptStngInfo = "/010/save.do"
+ ;
+ }
+
+ @Resource(name = "stngService")
+ private StngService stngService;
+
+ @Resource(name = "stngBean")
+ private StngBean stngBean;
+
+ @Resource(name = "otptStngBean")
+ private OtptStngBean otptStngBean;
+
+ @Resource(name = "userMapper")
+ private UserMapper userMapper;
+
+ @Resource(name = "globalStngMapper")
+ private GlobalStngMapper globalStngMapper;
+
+ @Resource(name = "statMapper")
+ private StatMapper statMapper;
+
+
+ /** 출력물 설정 메인 화면을 연다.
+ * @return 출력물 설정 메인 화면
+ */
+ public ModelAndView otptStngMain() {
+ ModelAndView mav = new ModelAndView("fims/stng01010-main");
+ mav.addObject("pageName", "stng01010");
+
+ Map> commonCodes = getCodesOf("FIM054","FIM047","FIM078","FIM080");
+
+ mav.addObject("FIM047List", commonCodes.get("FIM047"));
+ mav.addObject("FIM054List", commonCodes.get("FIM054"));
+ mav.addObject("TaskListForSgg", stngBean.filterTaskSectionCodeForSgg(commonCodes.get("FIM054")));
+ mav.addObject("FIM078List", commonCodes.get("FIM078"));
+ mav.addObject("FIM080List", commonCodes.get("FIM080"));
+ addCodes(commonCodes, mav, "FIM047", "FIM054", "FIM078","FIM080");
+
+ return mav;
+ }
+
+ /** 출력물 설정 정보를 불러온다.
+ * @return 출력물 설정 정보
+ */
+ public ModelAndView getOtptStngInfo(OtptStngQuery otptStngQuery) {
+
+ ModelAndView mav = new ModelAndView("jsonView");
+
+ //출력 설정 제목
+ String institute = currentUser().getInstitute();
+ String account = currentUser().getAccount();
+ ManagedUser currentUser = userMapper.getUser(account, institute);
+ String deptCd = currentUser.getDeptCode();
+ String sggCd = globalStngMapper.selectSggCd(deptCd);
+ DataObject sgg = statMapper.selectSggByCode(sggCd);
+ String sggNm = sgg.string("NAME");
+
+ Map> commonCodes = getCodesOf("FIM054","FIM047","FIM078");
+ List FIM047 = commonCodes.get("FIM047");
+ List FIM054 = commonCodes.get("FIM054");
+ List FIM078 = commonCodes.get("FIM078");
+
+ String taskSeNm = FIM054.stream().
+ filter(item -> item.getCode().equals(otptStngQuery.getTaskSeCd())).findFirst().get().getValue();
+
+ String sndngSeNm = FIM047.stream().
+ filter(item -> item.getCode().equals(otptStngQuery.getSndngSeCd())).findFirst().get().getValue();
+
+ String otptPaperSeNm = FIM078.stream().
+ filter(item -> item.getCode().equals(otptStngQuery.getPaperSeCd())).findFirst().get().getValue();
+
+ String otptStngTitle = "["+sggNm+", "+taskSeNm+"]"+" "+sndngSeNm+" "+"("+otptPaperSeNm+")";
+ mav.addObject("otptStngTitle", otptStngTitle);
+
+ //출력물 기본 설정
+ DataObject otptBscStng = new DataObject();
+ otptBscStng = otptStngBean.getOtptBscStng(otptStngQuery);
+ mav.addObject("otptGlobalStng", otptBscStng);
+
+ //출력 요소별 설정
+ Map otptArtclStngMap = otptStngBean.getOtptArtclStngMap(otptStngQuery);
+
+ mav.addObject("otptArtclStngMap", otptArtclStngMap);
+
+ return mav;
+ }
+
+ /** 출력물 설정 정보를 저장한다.
+ * @return 저장 여부
+ */
+ public ModelAndView saveOtptStngInfo(OtptForm otptForm, MultipartFile backgroundFile) {
+ ModelAndView mav = new ModelAndView("jsonView");
+ boolean saved = false;
+
+ if(backgroundFile != null && !backgroundFile.isEmpty() && backgroundFile.getSize() != 0) {
+ String institute = currentUser().getInstitute();
+ String account = currentUser().getAccount();
+ ManagedUser currentUser = userMapper.getUser(account, institute);
+ String deptCd = currentUser.getDeptCode();
+ String sggCd = globalStngMapper.selectSggCd(deptCd);
+
+ String bgPath = "files/background/"+sggCd;
+
+ String ext = FilenameUtils.getExtension(backgroundFile.getOriginalFilename());
+ String fileName = otptForm.getTaskSeCd()+"-"+otptForm.getSndngSeCd()+"-"+otptForm.getPaperSeCd()+"."+ext;
+
+ File workDir = new File(bgPath);
+ workDir.mkdirs();
+ try {
+ String bgFullPath = bgPath + "/" + fileName;
+ File newFile = new File(bgFullPath);
+ if(newFile.exists()) {
+ newFile.delete();
+ }
+ backgroundFile.transferTo(newFile);
+
+ otptForm.setBcrnImgPath(bgFullPath);
+ otptForm.setBcrnImgFileNm(backgroundFile.getOriginalFilename());
+ } catch (Exception e) {
+ throw new RuntimeException("배경 이미지 업로드 중 오류가 발생하였습니다.");
+ }
+ }
+
+ saved = otptStngBean.saveOtptBscStng(otptForm);
+ if(saved) {
+ saved = otptStngBean.saveOtptArtclStng(otptForm);
+ }
+
+ mav.addObject("saved", saved);
+ return mav;
+ }
+
+}
diff --git a/src/main/java/cokr/xit/fims/sprt/web/Sprt01Controller.java b/src/main/java/cokr/xit/fims/sprt/web/Sprt01Controller.java
index 2899a85c..5789aadd 100644
--- a/src/main/java/cokr/xit/fims/sprt/web/Sprt01Controller.java
+++ b/src/main/java/cokr/xit/fims/sprt/web/Sprt01Controller.java
@@ -1,6 +1,5 @@
package cokr.xit.fims.sprt.web;
-import java.io.File;
import java.util.ArrayList;
import java.util.Enumeration;
import java.util.HashMap;
@@ -10,9 +9,7 @@ import java.util.Map;
import javax.annotation.Resource;
import javax.servlet.http.HttpServletRequest;
-import org.apache.commons.io.FilenameUtils;
import org.apache.poi.ss.usermodel.CellStyle;
-import org.springframework.web.multipart.MultipartFile;
import org.springframework.web.servlet.ModelAndView;
import com.fasterxml.jackson.core.type.TypeReference;
@@ -30,7 +27,6 @@ import cokr.xit.base.user.ManagedUser;
import cokr.xit.base.user.dao.UserMapper;
import cokr.xit.base.web.ApplicationController;
import cokr.xit.fims.cmmn.CmmnUtil;
-import cokr.xit.fims.cmmn.OtptForm;
import cokr.xit.fims.cmmn.OtptStngQuery;
import cokr.xit.fims.cmmn.Print;
import cokr.xit.fims.cmmn.PrintOption;
@@ -93,11 +89,7 @@ public class Sprt01Controller extends ApplicationController {
makeAdvntceOutsourcing = "/140/makeAdvntceOutsourcing.do",
printNhtMain = "/150/info.do",
makeNhtPdf = "/150/makeNhtPdf.do",
- makeNhtOutsourcing = "/150/makeNhtOutsourcing.do",
-
- otptStngMain = "/200/main.do",
- getOtptStngInfo = "/200/info.do",
- saveOtptStngInfo = "/200/save.do"
+ makeNhtOutsourcing = "/150/makeNhtOutsourcing.do"
;
}
@@ -969,113 +961,7 @@ public class Sprt01Controller extends ApplicationController {
return mav;
}
- /** 출력물 설정 메인 화면을 연다.
- * @return 출력물 설정 메인 화면
- */
- public ModelAndView otptStngMain() {
- ModelAndView mav = new ModelAndView("fims/sprt/sprt01200-main");
- mav.addObject("pageName", "sprt01200");
-
- Map> commonCodes = getCodesOf("FIM054","FIM047","FIM078","FIM080");
-
- mav.addObject("FIM047List", commonCodes.get("FIM047"));
- mav.addObject("FIM054List", commonCodes.get("FIM054"));
- mav.addObject("TaskListForSgg", stngBean.filterTaskSectionCodeForSgg(commonCodes.get("FIM054")));
- mav.addObject("FIM078List", commonCodes.get("FIM078"));
- mav.addObject("FIM080List", commonCodes.get("FIM080"));
- addCodes(commonCodes, mav, "FIM047", "FIM054", "FIM078","FIM080");
-
- return mav;
- }
-
- /** 출력물 설정 정보를 불러온다.
- * @return 출력물 설정 정보
- */
- public ModelAndView getOtptStngInfo(OtptStngQuery otptStngQuery) {
-
- ModelAndView mav = new ModelAndView("jsonView");
-
- //출력 설정 제목
- String institute = currentUser().getInstitute();
- String account = currentUser().getAccount();
- ManagedUser currentUser = userMapper.getUser(account, institute);
- String deptCd = currentUser.getDeptCode();
- String sggCd = globalStngMapper.selectSggCd(deptCd);
- DataObject sgg = statMapper.selectSggByCode(sggCd);
- String sggNm = sgg.string("NAME");
-
- Map> commonCodes = getCodesOf("FIM054","FIM047","FIM078");
- List FIM047 = commonCodes.get("FIM047");
- List FIM054 = commonCodes.get("FIM054");
- List FIM078 = commonCodes.get("FIM078");
-
- String taskSeNm = FIM054.stream().
- filter(item -> item.getCode().equals(otptStngQuery.getTaskSeCd())).findFirst().get().getValue();
-
- String sndngSeNm = FIM047.stream().
- filter(item -> item.getCode().equals(otptStngQuery.getSndngSeCd())).findFirst().get().getValue();
-
- String otptPaperSeNm = FIM078.stream().
- filter(item -> item.getCode().equals(otptStngQuery.getPaperSeCd())).findFirst().get().getValue();
-
- String otptStngTitle = "["+sggNm+", "+taskSeNm+"]"+" "+sndngSeNm+" "+"("+otptPaperSeNm+")";
- mav.addObject("otptStngTitle", otptStngTitle);
-
- //출력물 기본 설정
- DataObject otptBscStng = new DataObject();
- otptBscStng = otptStngBean.getOtptBscStng(otptStngQuery);
- mav.addObject("otptGlobalStng", otptBscStng);
-
- //출력 요소별 설정
- Map otptArtclStngMap = otptStngBean.getOtptArtclStngMap(otptStngQuery);
-
- mav.addObject("otptArtclStngMap", otptArtclStngMap);
-
- return mav;
- }
-
- /** 출력물 설정 정보를 저장한다.
- * @return 저장 여부
- */
- public ModelAndView saveOtptStngInfo(OtptForm otptForm, MultipartFile backgroundFile) {
- ModelAndView mav = new ModelAndView("jsonView");
- boolean saved = false;
- if(backgroundFile != null && !backgroundFile.isEmpty() && backgroundFile.getSize() != 0) {
- String institute = currentUser().getInstitute();
- String account = currentUser().getAccount();
- ManagedUser currentUser = userMapper.getUser(account, institute);
- String deptCd = currentUser.getDeptCode();
- String sggCd = globalStngMapper.selectSggCd(deptCd);
-
- String bgPath = "files/background/"+sggCd;
-
- String ext = FilenameUtils.getExtension(backgroundFile.getOriginalFilename());
- String fileName = otptForm.getTaskSeCd()+"-"+otptForm.getSndngSeCd()+"-"+otptForm.getPaperSeCd()+"."+ext;
-
- File workDir = new File(bgPath);
- workDir.mkdirs();
- try {
- String bgFullPath = bgPath + "/" + fileName;
- File newFile = new File(bgFullPath);
- if(newFile.exists()) {
- newFile.delete();
- }
- backgroundFile.transferTo(newFile);
- otptForm.setBcrnImgPath(bgFullPath);
- otptForm.setBcrnImgFileNm(backgroundFile.getOriginalFilename());
- } catch (Exception e) {
- throw new RuntimeException("배경 이미지 업로드 중 오류가 발생하였습니다.");
- }
- }
- saved = otptStngBean.saveOtptBscStng(otptForm);
- if(saved) {
- saved = otptStngBean.saveOtptArtclStng(otptForm);
- }
-
- mav.addObject("saved", saved);
- return mav;
- }
}
diff --git a/src/main/java/cokr/xit/fims/task/web/CmnController.java b/src/main/java/cokr/xit/fims/task/web/CmnController.java
index 46d5613e..5faaff30 100644
--- a/src/main/java/cokr/xit/fims/task/web/CmnController.java
+++ b/src/main/java/cokr/xit/fims/task/web/CmnController.java
@@ -457,24 +457,6 @@ public class CmnController {
return super.makeNhtOutsourcing(printOption, crdnIds);
}
- @Override
- @RequestMapping(name="출력물 설정 메인 화면", value=METHOD_URL.otptStngMain)
- public ModelAndView otptStngMain() {
- return super.otptStngMain();
- }
-
- @Override
- @RequestMapping(name="출력물 설정 정보 조회", value=METHOD_URL.getOtptStngInfo)
- public ModelAndView getOtptStngInfo(OtptStngQuery otptStngQuery) {
- return super.getOtptStngInfo(otptStngQuery);
- }
-
- @Override
- @RequestMapping(name="출력물 설정 정보 저장", value=METHOD_URL.saveOtptStngInfo)
- public ModelAndView saveOtptStngInfo(OtptForm otptForm, MultipartFile backgroundFile) {
- return super.saveOtptStngInfo(otptForm, backgroundFile);
- }
-
}
@Controller
@@ -717,4 +699,27 @@ public class CmnController {
}
+ @Controller
+ @RequestMapping(name="설정관리", value=StngController.CLASS_URL)
+ class StngController extends cokr.xit.fims.cmmn.web.StngController {
+
+ @Override
+ @RequestMapping(name="출력물 설정 메인 화면", value=METHOD_URL.otptStngMain)
+ public ModelAndView otptStngMain() {
+ return super.otptStngMain();
+ }
+
+ @Override
+ @RequestMapping(name="출력물 설정 정보 조회", value=METHOD_URL.getOtptStngInfo)
+ public ModelAndView getOtptStngInfo(OtptStngQuery otptStngQuery) {
+ return super.getOtptStngInfo(otptStngQuery);
+ }
+
+ @Override
+ @RequestMapping(name="출력물 설정 정보 저장", value=METHOD_URL.saveOtptStngInfo)
+ public ModelAndView saveOtptStngInfo(OtptForm otptForm, MultipartFile backgroundFile) {
+ return super.saveOtptStngInfo(otptForm, backgroundFile);
+ }
+
+ }
}
diff --git a/src/main/webapp/WEB-INF/jsp/fims/sprt/sprt01140-info.jsp b/src/main/webapp/WEB-INF/jsp/fims/sprt/sprt01140-info.jsp
index 42fd5771..3f977028 100644
--- a/src/main/webapp/WEB-INF/jsp/fims/sprt/sprt01140-info.jsp
+++ b/src/main/webapp/WEB-INF/jsp/fims/sprt/sprt01140-info.jsp
@@ -172,7 +172,7 @@ $(document).ready(function(){
fix = $P.provided.getInfo(sample).TASK_SE_CD;
}
- var url = wctx.url("/sprt/sprt01/200/main.do");
+ var url = wctx.url("/stng/stng01/010/main.do");
var dialogId = "otptStngDialog";
ajax.post({
diff --git a/src/main/webapp/WEB-INF/jsp/fims/sprt/sprt01150-info.jsp b/src/main/webapp/WEB-INF/jsp/fims/sprt/sprt01150-info.jsp
index 8a381da5..39a751e2 100644
--- a/src/main/webapp/WEB-INF/jsp/fims/sprt/sprt01150-info.jsp
+++ b/src/main/webapp/WEB-INF/jsp/fims/sprt/sprt01150-info.jsp
@@ -169,7 +169,7 @@ $(document).ready(function(){
fix = $P.provided.getInfo(sample).TASK_SE_CD;
}
- var url = wctx.url("/sprt/sprt01/200/main.do");
+ var url = wctx.url("/stng/stng01/010/main.do");
var dialogId = "otptStngDialog";
ajax.post({
diff --git a/src/main/webapp/WEB-INF/jsp/fims/sprt/sprt01200-main.jsp b/src/main/webapp/WEB-INF/jsp/fims/stng01010-main.jsp
similarity index 99%
rename from src/main/webapp/WEB-INF/jsp/fims/sprt/sprt01200-main.jsp
rename to src/main/webapp/WEB-INF/jsp/fims/stng01010-main.jsp
index 8b13df91..fe953aa5 100644
--- a/src/main/webapp/WEB-INF/jsp/fims/sprt/sprt01200-main.jsp
+++ b/src/main/webapp/WEB-INF/jsp/fims/stng01010-main.jsp
@@ -279,7 +279,7 @@ $(document).ready(function(){
var ff = new FimsFormFields("#frmSearch--${pageName}");
var query = ff.get();
ajax.post({
- url : wctx.url("/sprt/sprt01/200/info.do"),
+ url : wctx.url("/stng/stng01/010/info.do"),
data : query,
success : (resp) => {
$("#btnSave--${pageName}").removeAttr("disabled");
@@ -716,7 +716,7 @@ $(document).ready(function(){
}
ajax.post({
- url : wctx.url("/sprt/sprt01/200/save.do"),
+ url : wctx.url("/stng/stng01/010/save.do"),
data : formData,
contentType : false, processData : false,
success : (resp) => {
diff --git a/src/main/webapp/WEB-INF/jsp/include/top.jsp b/src/main/webapp/WEB-INF/jsp/include/top.jsp
index ea9b4963..c3a5d891 100644
--- a/src/main/webapp/WEB-INF/jsp/include/top.jsp
+++ b/src/main/webapp/WEB-INF/jsp/include/top.jsp
@@ -54,7 +54,7 @@
-