Compare commits
No commits in common. "423f896c391b044fe6fd22df98a0cb738e25cdb9" and "62b4989fc3249de76e6cf431ad529416825e9d99" have entirely different histories.
423f896c39
...
62b4989fc3
|
|
@ -36,7 +36,3 @@ out/
|
|||
### VS Code ###
|
||||
.vscode/
|
||||
.vs/
|
||||
|
||||
|
||||
src/main/resources/application-cks1.properties
|
||||
src/main/resources/application-cks2.properties
|
||||
|
|
|
|||
39
build.gradle
39
build.gradle
|
|
@ -1,7 +1,7 @@
|
|||
plugins {
|
||||
id 'org.springframework.boot' version '2.7.2'
|
||||
id 'io.spring.dependency-management' version '1.0.12.RELEASE'
|
||||
id 'java'
|
||||
id 'org.springframework.boot' version '2.7.2'
|
||||
id 'io.spring.dependency-management' version '1.0.12.RELEASE'
|
||||
id 'java'
|
||||
}
|
||||
|
||||
group = 'com.dbnt'
|
||||
|
|
@ -9,34 +9,17 @@ version = '0.0.1-SNAPSHOT'
|
|||
sourceCompatibility = '11'
|
||||
|
||||
configurations {
|
||||
compileOnly {
|
||||
extendsFrom annotationProcessor
|
||||
}
|
||||
configureEach {
|
||||
exclude group: 'ch.qos.logback', module: 'logback-classic'
|
||||
exclude group: 'org.apache.logging.log4j', module: 'log4j-to-slf4j'
|
||||
}
|
||||
compileOnly {
|
||||
extendsFrom annotationProcessor
|
||||
}
|
||||
}
|
||||
|
||||
repositories {
|
||||
mavenLocal()
|
||||
mavenCentral()
|
||||
maven {
|
||||
url "https://maven.egovframe.kr:8080/maven/"
|
||||
}
|
||||
maven {
|
||||
url "https://maven.egovframe.go.kr/maven/"
|
||||
metadataSources {
|
||||
artifact()
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
dependencies {
|
||||
compileOnly 'org.projectlombok:lombok:1.18.24'
|
||||
annotationProcessor 'org.springframework.boot:spring-boot-configuration-processor:2.7.2'
|
||||
annotationProcessor 'org.projectlombok:lombok:1.18.24'
|
||||
|
||||
implementation 'org.springframework.boot:spring-boot-starter-actuator:2.7.2'
|
||||
implementation 'org.springframework.boot:spring-boot-starter-data-jpa:2.7.2'
|
||||
implementation 'org.springframework.boot:spring-boot-starter-security:2.7.2'
|
||||
|
|
@ -48,19 +31,12 @@ dependencies {
|
|||
implementation 'org.thymeleaf.extras:thymeleaf-extras-springsecurity5:3.0.4.RELEASE'
|
||||
|
||||
developmentOnly 'org.springframework.boot:spring-boot-devtools:2.7.2'
|
||||
implementation 'org.apache.tomcat:tomcat-catalina-ha:9.0.62'
|
||||
|
||||
implementation 'org.bgee.log4jdbc-log4j2:log4jdbc-log4j2-jdbc4.1:1.16'
|
||||
runtimeOnly 'org.postgresql:postgresql:42.3.6'
|
||||
implementation 'com.oracle.database.jdbc:ojdbc8:21.7.0.0'
|
||||
implementation files('libs/tibero6-jdbc.jar')
|
||||
|
||||
/*전자정부*/
|
||||
implementation(group: 'org.egovframe.rte', name: 'org.egovframe.rte.ptl.mvc', version:'4.1.0') {
|
||||
exclude(module: 'commons-logging')
|
||||
}
|
||||
implementation group: 'org.egovframe.rte', name: 'org.egovframe.rte.fdl.cmmn', version:'4.1.0'
|
||||
|
||||
// json
|
||||
implementation group: 'com.googlecode.json-simple', name: 'json-simple', version: '1.1.1'
|
||||
|
||||
|
|
@ -68,6 +44,9 @@ dependencies {
|
|||
implementation 'org.apache.poi:poi:4.1.0'
|
||||
implementation 'org.apache.poi:poi-ooxml:4.1.0'
|
||||
|
||||
annotationProcessor 'org.springframework.boot:spring-boot-configuration-processor:2.7.2'
|
||||
annotationProcessor 'org.projectlombok:lombok:1.18.24'
|
||||
|
||||
//crossEditor 요구 라이브러리
|
||||
//implementation files('libs/commons-codec-1.15.jar') // 이미 추가되어 있어서 제외.
|
||||
implementation files('libs/commons-fileupload-1.4.jar')
|
||||
|
|
|
|||
|
|
@ -1,37 +1,26 @@
|
|||
package com.dbnt.faisp.config;
|
||||
|
||||
import com.dbnt.faisp.main.authMgt.service.AuthMgtService;
|
||||
import com.dbnt.faisp.main.codeMgt.model.CodeMgt;
|
||||
import com.dbnt.faisp.main.faRpt.model.FaRptBoard;
|
||||
import com.dbnt.faisp.main.faRpt.model.Sri;
|
||||
import com.dbnt.faisp.main.faRpt.service.FaRptService;
|
||||
import com.dbnt.faisp.main.faRpt.service.SriService;
|
||||
import com.dbnt.faisp.main.fpiMgt.affair.model.DashboardAffair;
|
||||
import com.dbnt.faisp.main.fpiMgt.affair.model.AffairBoard;
|
||||
import com.dbnt.faisp.main.fpiMgt.affair.service.AffairService;
|
||||
import com.dbnt.faisp.main.menuMgt.model.MenuMgt;
|
||||
import com.dbnt.faisp.main.menuMgt.service.MenuMgtService;
|
||||
import com.dbnt.faisp.main.organMgt.service.OrganConfigService;
|
||||
import com.dbnt.faisp.main.publicBoard.model.PublicBoard;
|
||||
import com.dbnt.faisp.main.publicBoard.service.PublicBoardService;
|
||||
import com.dbnt.faisp.main.userInfo.model.UserAlarm;
|
||||
import com.dbnt.faisp.main.userInfo.model.UserInfo;
|
||||
import com.dbnt.faisp.main.codeMgt.service.CodeMgtService;
|
||||
|
||||
import com.dbnt.faisp.main.userInfo.service.UserAlarmService;
|
||||
import com.dbnt.faisp.main.userInfo.service.UserLogService;
|
||||
import com.dbnt.faisp.util.Utils;
|
||||
import com.dbnt.faisp.main.userInfo.service.UserInfoService;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import org.egovframe.rte.fdl.cmmn.trace.LeaveaTrace;
|
||||
import org.springframework.security.core.annotation.AuthenticationPrincipal;
|
||||
import org.springframework.web.bind.annotation.GetMapping;
|
||||
import org.springframework.web.bind.annotation.RestController;
|
||||
import org.springframework.web.servlet.ModelAndView;
|
||||
|
||||
import javax.annotation.Resource;
|
||||
import javax.servlet.http.HttpServletRequest;
|
||||
import javax.servlet.http.HttpSession;
|
||||
import java.util.ArrayList;
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
|
|
@ -44,15 +33,7 @@ public class BaseController {
|
|||
private final MenuMgtService menuMgtService;
|
||||
private final PublicBoardService publicBoardService;
|
||||
private final FaRptService faRptService;
|
||||
private final SriService sriService;
|
||||
private final AffairService affairService;
|
||||
private final UserAlarmService userAlarmService;
|
||||
private final AuthMgtService authMgtService;
|
||||
private final UserLogService userLogService;
|
||||
|
||||
/** TRACE */
|
||||
@Resource(name = "leaveaTrace")
|
||||
LeaveaTrace leaveaTrace;
|
||||
|
||||
@GetMapping("/")
|
||||
public ModelAndView loginCheck(@AuthenticationPrincipal UserInfo loginUser) {
|
||||
|
|
@ -67,13 +48,13 @@ public class BaseController {
|
|||
|
||||
@GetMapping("/login")
|
||||
public ModelAndView goLogin() {
|
||||
ModelAndView mav = new ModelAndView("login/login2");
|
||||
ModelAndView mav = new ModelAndView("login/login");
|
||||
return mav;
|
||||
}
|
||||
|
||||
@GetMapping("/login-error")
|
||||
public ModelAndView loginError() {
|
||||
ModelAndView mav = new ModelAndView("login/login2");
|
||||
ModelAndView mav = new ModelAndView("login/login");
|
||||
mav.addObject("loginError", true);
|
||||
return mav;
|
||||
}
|
||||
|
|
@ -85,47 +66,27 @@ public class BaseController {
|
|||
}
|
||||
|
||||
@GetMapping("/dashboard")
|
||||
public ModelAndView dashboard(@AuthenticationPrincipal UserInfo loginUser, HttpSession session) {
|
||||
public ModelAndView dashboard(@AuthenticationPrincipal UserInfo loginUser) {
|
||||
ModelAndView mav = new ModelAndView("login/dashboard");
|
||||
|
||||
setSession(loginUser, session);
|
||||
|
||||
mav.addObject("lastLoginDt", userLogService.selectLastLoginDt((String) session.getAttribute("belongValue")));
|
||||
|
||||
DashboardAffair affair = new DashboardAffair();
|
||||
affair.setUserSeq(loginUser.getUserSeq());
|
||||
affair.setOgCd(loginUser.getOgCd());
|
||||
mav.addObject("apprvStayList", affairService.selectApprvStayList(affair));
|
||||
|
||||
UserAlarm alarm = new UserAlarm();
|
||||
alarm.setUserSeq(loginUser.getUserSeq());
|
||||
alarm.setViewYn("N");
|
||||
alarm.setRowCnt(9);
|
||||
mav.addObject("dashboardAlarmList", userAlarmService.selectAlarmList(alarm));
|
||||
|
||||
PublicBoard noticeParams = new PublicBoard();
|
||||
noticeParams.setPublicType("PLB001");
|
||||
noticeParams.setRowCnt(5);
|
||||
noticeParams.setDownOrganCdList(loginUser.getDownOrganCdList());
|
||||
noticeParams.setUpOrganCdList(loginUser.getUpOrganCdList());
|
||||
mav.addObject("noticeList", publicBoardService.selectContentList(noticeParams));
|
||||
FaRptBoard faRpt = new FaRptBoard();
|
||||
faRpt.setActiveTab("receive");
|
||||
faRpt.setRowCnt(9);
|
||||
faRpt.setRowCnt(5);
|
||||
faRpt.setStatus("DST007");
|
||||
faRpt.setReceiveUserSeq(loginUser.getUserSeq());
|
||||
mav.addObject("faRptList", faRptService.selectFaRptList(faRpt));
|
||||
Sri sri = new Sri();
|
||||
sri.setActiveTab("receive");
|
||||
sri.setRowCnt(9);
|
||||
sri.setStatus("DST007");
|
||||
sri.setReceiveUserSeq(loginUser.getUserSeq());
|
||||
mav.addObject("sriList", sriService.selectSriList(sri));
|
||||
|
||||
PublicBoard params = new PublicBoard();
|
||||
params.setPublicType("PLB001");
|
||||
params.setRowCnt(12);
|
||||
params.setDownOrganCdList(loginUser.getDownOrganCdList());
|
||||
params.setUpOrganCdList(loginUser.getUpOrganCdList());
|
||||
mav.addObject("noticeList", publicBoardService.selectContentList(params));
|
||||
params.setPublicType("PLB003");
|
||||
params.setRowCnt(6);
|
||||
mav.addObject("referenceList", publicBoardService.selectContentList(params));
|
||||
|
||||
AffairBoard affair = new AffairBoard();
|
||||
affair.setAffairCategory("CAT215");
|
||||
affair.setRatingOrgan(loginUser.getOgCd());
|
||||
affair.setRowCnt(5);
|
||||
mav.addObject("affair1List", affairService.selectAffairBoardList(affair));
|
||||
affair.setAffairCategory("CAT216");
|
||||
mav.addObject("affair2List", affairService.selectAffairBoardList(affair));
|
||||
return mav;
|
||||
}
|
||||
|
||||
|
|
@ -142,37 +103,32 @@ public class BaseController {
|
|||
setSession(loginUser, request.getSession());
|
||||
return new ModelAndView("redirect:/dashboard");
|
||||
}
|
||||
@GetMapping("/apprvStayDocRedirect")
|
||||
public ModelAndView apprvStayDocRedirect (DashboardAffair doc){
|
||||
ModelAndView mav = new ModelAndView();
|
||||
String url = menuMgtService.selectMenuUrl(doc.getBoard());
|
||||
if(url.contains("?")){
|
||||
url+="&refDocKey="+doc.getKey();
|
||||
}else{
|
||||
url+="?refDocKey="+doc.getKey();
|
||||
}
|
||||
mav.setViewName("redirect:"+url);
|
||||
return mav;
|
||||
}
|
||||
|
||||
public void setSession(@AuthenticationPrincipal UserInfo loginUser, HttpSession session){
|
||||
loginUser.setDownOrganCdList(organConfigService.selectDownOrganList(loginUser.getOgCd()));
|
||||
loginUser.setUpOrganCdList(organConfigService.selectUpOrganList(loginUser.getOgCd()));
|
||||
|
||||
loginUser.setDownOrganCdList(organConfigService.selectDownOrganListWhereUserOgCd(loginUser.getOgCd()));
|
||||
loginUser.setUpOrganCdList(organConfigService.selectUpOrganListWhereUserOgCd(loginUser.getOgCd()));
|
||||
session.setAttribute("menuList", menuMgtService.selectAccessMenuListWhereUserSeq(loginUser.getUserSeq()));
|
||||
Map<String, List<CodeMgt>> codeMap = codeMgtService.getCommonCode();
|
||||
List<MenuMgt> menuList = menuMgtService.selectSortedAccessMenuList(loginUser.getUserSeq());
|
||||
|
||||
String belongValue = "";
|
||||
belongValue += Utils.searchCodeValue(loginUser.getOgCd(), codeMap.get("OG"));
|
||||
belongValue += Utils.searchCodeValue(loginUser.getOfcCd(), codeMap.get(loginUser.getOgCd()));
|
||||
belongValue += Utils.searchCodeValue(loginUser.getTitleCd(), codeMap.get("JT"));
|
||||
belongValue += loginUser.getUserNm()+"("+loginUser.getUserId()+")";
|
||||
|
||||
session.setAttribute("menuList", new ArrayList<>(menuList));
|
||||
session.setAttribute("commonCode", new HashMap<>(codeMap));
|
||||
session.setAttribute("commonCode", codeMap);
|
||||
session.setAttribute("userSeq", loginUser.getUserSeq());
|
||||
session.setAttribute("userOrgan", loginUser.getOgCd());
|
||||
String belongValue = "";
|
||||
belongValue += searchCodeValue(loginUser.getOgCd(), codeMap.get("OG"));
|
||||
belongValue += searchCodeValue(loginUser.getOfcCd(), codeMap.get("OFC"));
|
||||
belongValue += searchCodeValue(loginUser.getTitleCd(), codeMap.get("JT"));
|
||||
belongValue += loginUser.getUserNm()+"("+loginUser.getUserId()+")";
|
||||
session.setAttribute("belongValue", belongValue);
|
||||
}
|
||||
|
||||
private String searchCodeValue(String itemCd, List<CodeMgt> codeList){
|
||||
if(itemCd==null){
|
||||
return "";
|
||||
}else{
|
||||
for(CodeMgt code: codeList){
|
||||
if(itemCd.equals(code.getItemCd())){
|
||||
return code.getItemValue()+" ";
|
||||
}
|
||||
}
|
||||
}
|
||||
return "";
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -11,13 +11,9 @@ import java.util.List;
|
|||
@Setter
|
||||
@NoArgsConstructor
|
||||
public class BaseModel {
|
||||
@Transient
|
||||
private String accessAuth;
|
||||
@Transient
|
||||
private List<String> upOrganCdList;
|
||||
@Transient
|
||||
private List<String> groupOrganCdList;
|
||||
@Transient
|
||||
private List<String> downOrganCdList;
|
||||
@Transient
|
||||
private Integer pageIndex=1; //요청페이지
|
||||
|
|
@ -34,8 +30,6 @@ public class BaseModel {
|
|||
@Transient
|
||||
private Integer contentCnt=0;
|
||||
@Transient
|
||||
private String searchKeyword;
|
||||
@Transient
|
||||
private String dateSelector;
|
||||
@Transient
|
||||
private String startDate;
|
||||
|
|
@ -45,10 +39,6 @@ public class BaseModel {
|
|||
private Boolean dashboardFlag = false;
|
||||
@Transient
|
||||
private Integer refDocKey;
|
||||
@Transient
|
||||
private String modalType;
|
||||
@Transient
|
||||
private String excel;
|
||||
|
||||
public void setQueryInfo(){
|
||||
setFirstIndex((getPageIndex()-1)*getRowCnt());
|
||||
|
|
|
|||
|
|
@ -1,7 +1,6 @@
|
|||
package com.dbnt.faisp.config;
|
||||
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import org.egovframe.rte.fdl.cmmn.EgovAbstractServiceImpl;
|
||||
import org.springframework.beans.factory.annotation.Value;
|
||||
import org.springframework.stereotype.Service;
|
||||
import org.springframework.web.multipart.MultipartFile;
|
||||
|
|
@ -11,54 +10,10 @@ import java.io.IOException;
|
|||
|
||||
@Service
|
||||
@RequiredArgsConstructor
|
||||
public class BaseService extends EgovAbstractServiceImpl {
|
||||
public class BaseService {
|
||||
|
||||
@Value("${spring.servlet.multipart.location}")
|
||||
protected String locationPath;
|
||||
@Value("${file.dir.publicBoard}")
|
||||
protected String publicBoardPath;
|
||||
@Value("${file.dir.faRpt}")
|
||||
protected String faRptPath;
|
||||
@Value("${file.dir.vulnerable}")
|
||||
protected String vulnerablePath;
|
||||
@Value("${file.dir.part}")
|
||||
protected String partPath;
|
||||
@Value("${file.dir.equip}")
|
||||
protected String equipPath;
|
||||
@Value("${file.dir.sailor}")
|
||||
protected String sailorPath;
|
||||
@Value("${file.dir.affair}")
|
||||
protected String affairPath;
|
||||
@Value("${file.dir.affair.plan}")
|
||||
protected String affairPlanPath;
|
||||
@Value("${file.dir.affair.result}")
|
||||
protected String affairResultPath;
|
||||
@Value("${file.dir.editor}")
|
||||
protected String editorPath;
|
||||
@Value("${file.dir.sri}")
|
||||
protected String sriPath;
|
||||
@Value("${file.dir.ciw}")
|
||||
protected String ciwPath;
|
||||
@Value("${file.dir.cia.safety}")
|
||||
protected String ciaSafetyPath;
|
||||
@Value("${file.dir.cia.company}")
|
||||
protected String ciaCompanyPath;
|
||||
@Value("${file.dir.cia.foreigner}")
|
||||
protected String ciaForeignerPath;
|
||||
@Value("${file.dir.cia.edu}")
|
||||
protected String ciaEduPath;
|
||||
@Value("${file.dir.activityCase}")
|
||||
protected String activityCasePath;
|
||||
@Value("${file.dir.majorStatus}")
|
||||
protected String majorStatusPath;
|
||||
@Value("${file.dir.monitoring}")
|
||||
protected String monitoringPath;
|
||||
@Value("${file.dir.intelligenceNetwork}")
|
||||
protected String intelligenceNetworkPath;
|
||||
@Value("${file.dir.affairTemp}")
|
||||
protected String affairTempPath;
|
||||
@Value("${file.dir.translator}")
|
||||
protected String translatorPath;
|
||||
|
||||
protected String calculationSize(double fileSize){
|
||||
String[] units = {"bytes", "KB", "MB", "GB", "TB", "PB"};
|
||||
|
|
@ -70,11 +25,11 @@ public class BaseService extends EgovAbstractServiceImpl {
|
|||
}
|
||||
}
|
||||
|
||||
protected void deleteStoredFile(File deleteFile){
|
||||
public void deleteStoredFile(File deleteFile){
|
||||
deleteFile.delete();
|
||||
}
|
||||
|
||||
protected void saveFile(MultipartFile file, File saveFile){
|
||||
public void saveFile(MultipartFile file, File saveFile){
|
||||
if(file.getSize()!=0){ // 저장될 파일 확인
|
||||
if(!saveFile.exists()){ // 저장될 경로 확인
|
||||
if(saveFile.getParentFile().mkdirs()){
|
||||
|
|
|
|||
|
|
@ -1,19 +0,0 @@
|
|||
package com.dbnt.faisp.config;
|
||||
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import org.springframework.boot.web.servlet.error.ErrorController;
|
||||
import org.springframework.web.bind.annotation.GetMapping;
|
||||
import org.springframework.web.bind.annotation.RestController;
|
||||
import org.springframework.web.servlet.ModelAndView;
|
||||
|
||||
|
||||
@RestController
|
||||
@RequiredArgsConstructor
|
||||
public class CustomErrorController implements ErrorController {
|
||||
|
||||
@GetMapping("/errors")
|
||||
public ModelAndView errorsToRedirectRoot() {
|
||||
return new ModelAndView("redirect:/");
|
||||
}
|
||||
|
||||
}
|
||||
|
|
@ -35,18 +35,20 @@ import javax.servlet.http.HttpSession;
|
|||
|
||||
@RestController
|
||||
@RequiredArgsConstructor
|
||||
public class EditorController{
|
||||
public class EditorController {
|
||||
|
||||
@Value("${site.domain}")
|
||||
protected String siteDomain;
|
||||
|
||||
@Value("${file.dir}")
|
||||
protected String fileDir;
|
||||
|
||||
@Value("${file.dir.editor}")
|
||||
protected String editorPath;
|
||||
|
||||
@Value("${editor.img.view}")
|
||||
protected String imgView;
|
||||
|
||||
@Value("${spring.servlet.multipart.location}")
|
||||
protected String locationPath;
|
||||
@Value("${file.dir.editor}")
|
||||
protected String editorPath;
|
||||
|
||||
@PostMapping("/Crosseditor/uploadImg")
|
||||
public @ResponseBody JSONObject uploadImg(Model model, HttpServletRequest request, HttpServletResponse response, HttpSession session) {
|
||||
|
|
@ -69,7 +71,7 @@ public class EditorController{
|
|||
String extNm = attach_file_Name.substring( attach_file_Name.lastIndexOf( "." ) + 1);
|
||||
if("jpg,png,jpeg".contains(extNm.toLowerCase())) {
|
||||
|
||||
File dir = new File(locationPath+editorPath);
|
||||
File dir = new File(fileDir+File.separator+editorPath);
|
||||
if (!dir.exists()) {
|
||||
try{
|
||||
|
||||
|
|
@ -88,7 +90,7 @@ public class EditorController{
|
|||
System.out.println("Directory already exists");
|
||||
}
|
||||
|
||||
File file = new File(locationPath+editorPath, attach_save_Name +"."+ extNm);
|
||||
File file = new File(fileDir+File.separator+editorPath, attach_save_Name +"."+ extNm);
|
||||
FileCopyUtils.copy(mFile.getBytes(), file);
|
||||
InputStream is = new FileInputStream(file);
|
||||
BufferedImage input = ImageIO.read(is);
|
||||
|
|
|
|||
|
|
@ -30,7 +30,6 @@ public class FaispInterceptor implements HandlerInterceptor {
|
|||
UserAlarm param = new UserAlarm();
|
||||
param.setUserSeq((Integer) request.getSession().getAttribute("userSeq"));
|
||||
param.setViewYn("N");
|
||||
param.setRowCnt(15);
|
||||
param.setQueryInfo();
|
||||
mav.addObject("alarmList", userAlarmService.selectAlarmList(param));
|
||||
mav.addObject("alarmListCnt", userAlarmService.selectAlarmListCnt(param));
|
||||
|
|
@ -41,11 +40,12 @@ public class FaispInterceptor implements HandlerInterceptor {
|
|||
@Override
|
||||
public void afterCompletion(HttpServletRequest request, HttpServletResponse response, Object handler, Exception ex) throws Exception {
|
||||
//페이지 렌더링 후 실행.
|
||||
if(handler instanceof HandlerMethod){
|
||||
String uri = request.getRequestURI();
|
||||
if(request.getParameter("dashboardFlag") == null){
|
||||
// 대시보드 ajax 조회 로그 저장시 키 중첩으로 오류 발생.
|
||||
// 대시보드 ajax 조회는 로그를 쌓지 않음.
|
||||
UserRequestLog log = new UserRequestLog();
|
||||
log.setContactIp(Utils.getClientIP(request));
|
||||
log.setRequestUrl(uri);
|
||||
log.setRequestUrl(request.getRequestURI());
|
||||
log.setRequestMethod(request.getMethod());
|
||||
log.setSearchParams(request.getQueryString());
|
||||
log.setHandlerDescription(((HandlerMethod) handler).toString());
|
||||
|
|
|
|||
|
|
@ -1,97 +1,59 @@
|
|||
package com.dbnt.faisp.config;
|
||||
|
||||
import com.dbnt.faisp.main.authMgt.service.AuthMgtService;
|
||||
import com.dbnt.faisp.main.counterIntelligence.activityCase.service.ActivityCaseService;
|
||||
import com.dbnt.faisp.main.counterIntelligence.model.CounterIntelligenceActivity;
|
||||
import com.dbnt.faisp.main.counterIntelligence.model.CounterIntelligenceWork;
|
||||
import com.dbnt.faisp.main.counterIntelligence.service.CounterIntelligenceService;
|
||||
import com.dbnt.faisp.main.faRpt.model.FaRptBoard;
|
||||
import com.dbnt.faisp.main.faRpt.model.Sri;
|
||||
import com.dbnt.faisp.main.faRpt.service.FaRptService;
|
||||
import com.dbnt.faisp.main.faStatistics.unlawfulFishing.model.sailor.Sailor;
|
||||
import com.dbnt.faisp.main.faStatistics.unlawfulFishing.service.FishingBoatService;
|
||||
import com.dbnt.faisp.main.faStatistics.unlawfulFishing.service.SailorService;
|
||||
import com.dbnt.faisp.main.fpiMgt.affair.model.AffairBoard;
|
||||
import com.dbnt.faisp.main.faStatistics.crackdownsStatus.service.FishingBoatService;
|
||||
import com.dbnt.faisp.main.faStatistics.crackdownsStatus.service.SailorService;
|
||||
import com.dbnt.faisp.main.fpiMgt.affair.service.AffairService;
|
||||
import com.dbnt.faisp.main.fpiMgt.affairPlan.model.PlanBoard;
|
||||
import com.dbnt.faisp.main.fpiMgt.affairPlan.service.PlanService;
|
||||
import com.dbnt.faisp.main.fpiMgt.affairResult.model.ResultBoard;
|
||||
import com.dbnt.faisp.main.fpiMgt.affairResult.service.ResultService;
|
||||
import com.dbnt.faisp.main.fpiMgt.intelligenceNetwork.model.OperationPlan;
|
||||
import com.dbnt.faisp.main.fpiMgt.intelligenceNetwork.service.IntelligenceNetworkService;
|
||||
import com.dbnt.faisp.main.fpiMgt.monitoring.model.MonitoringDesignation;
|
||||
import com.dbnt.faisp.main.fpiMgt.monitoring.model.MonitoringResult;
|
||||
import com.dbnt.faisp.main.fpiMgt.monitoring.service.MonitoringService;
|
||||
import com.dbnt.faisp.main.faRpt.service.SriService;
|
||||
import com.dbnt.faisp.main.ivsgtMgt.boardInvestigation.model.InvestigationBoard;
|
||||
import com.dbnt.faisp.main.ivsgtMgt.boardInvestigation.service.IvsgtService;
|
||||
import com.dbnt.faisp.main.ivsgtMgt.majorStatus.model.MajorStatus;
|
||||
import com.dbnt.faisp.main.ivsgtMgt.majorStatus.service.MajorStatusService;
|
||||
import com.dbnt.faisp.main.publicBoard.model.PublicBoard;
|
||||
import com.dbnt.faisp.main.fpiMgt.sri.service.SriService;
|
||||
import com.dbnt.faisp.main.ivsgtMgt.boardInvestigation.service.BoardInvestigationService;
|
||||
import com.dbnt.faisp.main.publicBoard.service.PublicBoardService;
|
||||
import com.dbnt.faisp.main.userInfo.model.UserInfo;
|
||||
import com.dbnt.faisp.util.Utils;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import ognl.Ognl;
|
||||
import org.springframework.beans.factory.annotation.Value;
|
||||
import org.springframework.core.io.FileSystemResource;
|
||||
import org.springframework.core.io.Resource;
|
||||
import org.springframework.http.HttpHeaders;
|
||||
import org.springframework.http.HttpStatus;
|
||||
import org.springframework.http.ResponseEntity;
|
||||
import org.springframework.security.core.annotation.AuthenticationPrincipal;
|
||||
import org.springframework.util.FileCopyUtils;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
import org.springframework.web.bind.annotation.GetMapping;
|
||||
import org.springframework.web.bind.annotation.RequestMapping;
|
||||
import org.springframework.web.bind.annotation.RestController;
|
||||
|
||||
import javax.servlet.http.HttpServletRequest;
|
||||
import javax.servlet.http.HttpServletResponse;
|
||||
import java.io.*;
|
||||
import java.net.URLEncoder;
|
||||
import java.nio.file.Files;
|
||||
import java.nio.file.Path;
|
||||
import java.nio.file.Paths;
|
||||
import java.time.LocalDateTime;
|
||||
import java.time.format.DateTimeFormatter;
|
||||
import java.util.ArrayList;
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.zip.ZipEntry;
|
||||
import java.util.zip.ZipOutputStream;
|
||||
|
||||
@RestController
|
||||
@RequiredArgsConstructor
|
||||
@RequestMapping("/file")
|
||||
public class FileController{
|
||||
|
||||
@Value("${spring.servlet.multipart.location}")
|
||||
protected String locationPath;
|
||||
@Value("${file.dir.editor}")
|
||||
protected String editorPath;
|
||||
@Value("${file.dir.affairTemp}")
|
||||
protected String affairTempPath;
|
||||
public class FileController {
|
||||
|
||||
private final FaRptService faRptService;
|
||||
private final PlanService planService;
|
||||
private final PublicBoardService publicBoardService;
|
||||
private final AffairService affairService;
|
||||
private final ResultService resultService;
|
||||
private final IvsgtService ivsgtService;
|
||||
private final BoardInvestigationService boardInvestigationService;
|
||||
private final FishingBoatService fishingBoatService;
|
||||
private final SailorService sailorService;
|
||||
private final SriService sriService;
|
||||
private final CounterIntelligenceService ciService;
|
||||
private final MajorStatusService majorStatusService;
|
||||
private final IntelligenceNetworkService inrelligenceNetworkService;
|
||||
private final MonitoringService monitoringService;
|
||||
private final AuthMgtService authMgtService;
|
||||
private final ActivityCaseService activityCaseService;
|
||||
|
||||
@Value("${file.dir}")
|
||||
protected String fileDir;
|
||||
@Value("${file.dir.editor}")
|
||||
protected String editorPath;
|
||||
|
||||
@GetMapping("/editorFileDisplay")
|
||||
public ResponseEntity<Resource> editorFileDisplay(HttpServletRequest request,
|
||||
HttpServletResponse response,
|
||||
String fileNm) {
|
||||
|
||||
String pathStr = locationPath+editorPath+File.separator+fileNm;
|
||||
String pathStr = fileDir+File.separator+editorPath+File.separator+fileNm;
|
||||
Resource resource = new FileSystemResource(pathStr);
|
||||
if(!resource.exists()){
|
||||
return new ResponseEntity<>(HttpStatus.NOT_FOUND);
|
||||
|
|
@ -114,7 +76,7 @@ public class FileController{
|
|||
Integer parentKey,
|
||||
Integer fileSeq) {
|
||||
FileInfo fileInfo = getFileInfo(board, parentKey, fileSeq);
|
||||
String pathStr = fileInfo.getSavePath()+File.separator+fileInfo.getConvNm();
|
||||
String pathStr = fileInfo.getSavePath()+fileInfo.getConvNm();
|
||||
Resource resource = new FileSystemResource(pathStr);
|
||||
if(!resource.exists()){
|
||||
return new ResponseEntity<>(HttpStatus.NOT_FOUND);
|
||||
|
|
@ -134,36 +96,16 @@ public class FileController{
|
|||
public void fileDownload(HttpServletRequest request,
|
||||
HttpServletResponse response,
|
||||
String board,
|
||||
Integer menuKey,
|
||||
Integer parentKey,
|
||||
Integer fileSeq,
|
||||
@AuthenticationPrincipal UserInfo loginUser) throws Exception {
|
||||
FileInfo fileInfo = null;
|
||||
if(Utils.isEmpty(menuKey)){
|
||||
fileInfo = getFileInfo(board, parentKey, fileSeq);
|
||||
}else{
|
||||
if(menuKey!=0){
|
||||
String accessAuth = authMgtService.selectAccessAuth(menuKey, loginUser.getUserSeq());
|
||||
Map<String, Object> wrtInfo = getWrtInfo(menuKey, parentKey);
|
||||
if(!Utils.isEmpty(accessAuth)){
|
||||
if(wrtOrganCheck(loginUser.getUserSeq(), accessAuth, wrtInfo, loginUser.getDownOrganCdList())){
|
||||
fileInfo = getFileInfoToMenuKey(menuKey, parentKey, fileSeq);
|
||||
}else{
|
||||
throw new Exception();
|
||||
}
|
||||
}else{
|
||||
throw new Exception();
|
||||
}
|
||||
}else{
|
||||
fileInfo = getFileInfoToMenuKey(menuKey, parentKey, fileSeq);
|
||||
}
|
||||
}
|
||||
Integer fileSeq) {
|
||||
|
||||
FileInfo fileInfo = getFileInfo(board, parentKey, fileSeq);
|
||||
BufferedInputStream in;
|
||||
BufferedOutputStream out;
|
||||
try {
|
||||
File file = new File(fileInfo.getSavePath(), fileInfo.getConvNm());
|
||||
|
||||
Utils.setDisposition(fileInfo.getFullName(), request, response);
|
||||
setDisposition(fileInfo.getFullName(), request, response);
|
||||
in = new BufferedInputStream(new FileInputStream(file));
|
||||
out = new BufferedOutputStream(response.getOutputStream());
|
||||
FileCopyUtils.copy(in, out);
|
||||
|
|
@ -174,220 +116,83 @@ public class FileController{
|
|||
e.printStackTrace();
|
||||
}
|
||||
}
|
||||
|
||||
private boolean wrtOrganCheck(Integer userSeq, String accessAuth, Map<String, Object> wrtInfo, List<String> mgtOrganList) {
|
||||
if (accessAuth.equals("ACC003")){
|
||||
return mgtOrganList.contains(wrtInfo.get("wrtOrgan").toString());
|
||||
}else if(accessAuth.equals("ACC002")||accessAuth.equals("ACC001")){
|
||||
return userSeq.equals(wrtInfo.get("wrtUserSeq"));
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
@GetMapping("/downloadAffairFiles")
|
||||
public void downloadAffairFiles(HttpServletRequest request,
|
||||
HttpServletResponse response,
|
||||
@RequestParam(value="fileNm", defaultValue = "견문보고서 첨부파일_") String fileNm,
|
||||
@RequestParam(value="affairKeyList") List<Integer> affairKeyList){
|
||||
List<FileInfo> fileList = affairService.selectAffairFileList(affairKeyList);
|
||||
|
||||
makeZipAndOut(request, response, fileNm, fileList);
|
||||
}
|
||||
|
||||
|
||||
@GetMapping("/downloadMajorStatusFiles")
|
||||
public void downloadMajorStatusFiles(HttpServletRequest request,
|
||||
HttpServletResponse response,
|
||||
@RequestParam(value="majorKeyList") List<Integer> majorKeyList){
|
||||
List<FileInfo> fileList = majorStatusService.selectMajorFileList(majorKeyList);
|
||||
makeZipAndOut(request, response, "주요사건처리현황 첨부파일_", fileList);
|
||||
|
||||
}
|
||||
|
||||
private void makeZipAndOut(HttpServletRequest request,
|
||||
HttpServletResponse response,
|
||||
String fileName, List<FileInfo> fileList) {
|
||||
List<Map<String, String>> fileInfoList = new ArrayList<>();
|
||||
for(FileInfo file: fileList){
|
||||
Map<String, String> fileInfoMap = new HashMap<>();
|
||||
fileInfoMap.put("filePath", file.getSavePath()+File.separator+file.getConvNm());
|
||||
fileInfoMap.put("originalName", file.getOrigNm()+"."+file.getFileExtn());
|
||||
fileInfoList.add(fileInfoMap);
|
||||
}
|
||||
|
||||
String zipFile = locationPath+affairTempPath;
|
||||
File saveFolder = new File(zipFile);
|
||||
|
||||
if (!saveFolder.exists() || saveFolder.isFile()) {
|
||||
saveFolder.mkdirs();
|
||||
}
|
||||
String downloadFileName = fileName+ LocalDateTime.now().format(DateTimeFormatter.ofPattern("yyyyMMddHHmmss"))+".zip";
|
||||
zipFile += File.separator+downloadFileName;
|
||||
try{
|
||||
// ZipOutputStream을 FileOutputStream 으로 감쌈
|
||||
FileOutputStream fout = new FileOutputStream(zipFile);
|
||||
ZipOutputStream zout = new ZipOutputStream(fout);
|
||||
for(Map<String, String> fileMap: fileInfoList){
|
||||
//본래 파일명 유지, 경로제외 파일압축을 위해 new File로
|
||||
ZipEntry zipEntry = new ZipEntry(fileMap.get("originalName"));
|
||||
zout.putNextEntry(zipEntry);
|
||||
//경로포함 압축
|
||||
//zout.putNextEntry(new ZipEntry(sourceFiles.get(i)));
|
||||
|
||||
FileInputStream fin = new FileInputStream(fileMap.get("filePath"));
|
||||
byte[] buffer = new byte[1024];
|
||||
int length;
|
||||
|
||||
// input file을 1024바이트로 읽음, zip stream에 읽은 바이트를 씀
|
||||
while((length = fin.read(buffer)) > 0){
|
||||
zout.write(buffer, 0, length);
|
||||
}
|
||||
|
||||
zout.closeEntry();
|
||||
fin.close();
|
||||
}
|
||||
|
||||
zout.close();
|
||||
|
||||
|
||||
Utils.setDisposition(downloadFileName, request, response);
|
||||
BufferedInputStream in = new BufferedInputStream(new FileInputStream(zipFile));
|
||||
BufferedOutputStream out = new BufferedOutputStream(response.getOutputStream());
|
||||
FileCopyUtils.copy(in, out);
|
||||
out.flush();
|
||||
/*byte[] data=new byte[2048];
|
||||
int input=0;
|
||||
|
||||
while((input=in.read(data))!=-1){
|
||||
out.write(data,0,input);
|
||||
out.flush();
|
||||
}*/
|
||||
if(out!=null) out.close();
|
||||
if(in!=null) in.close();
|
||||
} catch(IOException e){
|
||||
e.printStackTrace();
|
||||
}
|
||||
}
|
||||
|
||||
private FileInfo getFileInfo(String board, Integer parentKey, Integer fileSeq){
|
||||
FileInfo downloadFile = null;
|
||||
switch (board){
|
||||
case "faRpt": downloadFile = faRptService.selectFaRptFile(parentKey, fileSeq); break;
|
||||
case "affairPlan": downloadFile = planService.selectPlanFile(parentKey, fileSeq); break;
|
||||
case "publicFile": downloadFile = publicBoardService.selectPublicFile(parentKey, fileSeq); break;
|
||||
case "affair": downloadFile = affairService.selectAffairFile(parentKey, fileSeq); break;
|
||||
case "affairResult": downloadFile = resultService.selectResultFile(parentKey, fileSeq); break;
|
||||
case "ivsgt": downloadFile = ivsgtService.selectIvsgtFile(parentKey, fileSeq); break;
|
||||
case "sailor": downloadFile = sailorService.selectSailorFile(parentKey, fileSeq); break;
|
||||
case "sri": downloadFile = sriService.selectFaSriFile(parentKey, fileSeq); break;
|
||||
case "ciWork": downloadFile = ciService.selectCiWorkFile(parentKey, fileSeq); break;
|
||||
case "majorFile" : downloadFile = majorStatusService.selectMajorFile(parentKey, fileSeq); break;
|
||||
case "ciActivity": downloadFile = ciService.selectCiaForeignerFile(parentKey, fileSeq); break;
|
||||
case "operationPlan": downloadFile = inrelligenceNetworkService.selectOperationPlanFile(parentKey, fileSeq); break;
|
||||
case "designation": downloadFile = monitoringService.selectDesignationFile(parentKey, fileSeq); break;
|
||||
case "monitoringResult": downloadFile = monitoringService.selectMonitoringResultFile(parentKey, fileSeq); break;
|
||||
case "monitoringReport": downloadFile = monitoringService.selectMonitoringReportFile(parentKey, fileSeq); break;
|
||||
case "activityCase": downloadFile = activityCaseService.selectActivityCaseFile(parentKey, fileSeq); break;
|
||||
case "faRpt":
|
||||
downloadFile = faRptService.selectFaRptFile(parentKey, fileSeq);
|
||||
break;
|
||||
case "affairPlan":
|
||||
downloadFile = planService.selectPlanFile(parentKey, fileSeq);
|
||||
break;
|
||||
case "publicFile":
|
||||
downloadFile = publicBoardService.selectPublicFile(parentKey, fileSeq);
|
||||
break;
|
||||
case "affair":
|
||||
downloadFile = affairService.selectAffairFile(parentKey, fileSeq);
|
||||
break;
|
||||
case "affairResult":
|
||||
downloadFile = resultService.selectResultFile(parentKey, fileSeq);
|
||||
break;
|
||||
case "ivsgt":
|
||||
downloadFile = boardInvestigationService.selectIvsgtFile(parentKey, fileSeq);
|
||||
break;
|
||||
case "sailor":
|
||||
downloadFile = fishingBoatService.selectSailorFile(parentKey, fileSeq);
|
||||
break;
|
||||
case "sri":
|
||||
downloadFile = sriService.selectFaSriFile(parentKey, fileSeq);
|
||||
break;
|
||||
}
|
||||
return downloadFile;
|
||||
}
|
||||
private void setDisposition(String filename, HttpServletRequest request, HttpServletResponse response) throws IOException {
|
||||
String browser = getBrowser(request);
|
||||
|
||||
private FileInfo getFileInfoToMenuKey(Integer menuKey, Integer parentKey, Integer fileSeq){
|
||||
FileInfo downloadFile = null;
|
||||
switch (menuKey){
|
||||
case 0: downloadFile = publicBoardService.selectPublicFile(parentKey, fileSeq); break;
|
||||
case 1: downloadFile = faRptService.selectFaRptFile(parentKey, fileSeq); break;
|
||||
case 29: downloadFile = planService.selectPlanFile(parentKey, fileSeq); break;
|
||||
case 30:case 33: downloadFile = affairService.selectAffairFile(parentKey, fileSeq); break;
|
||||
case 31: downloadFile = resultService.selectResultFile(parentKey, fileSeq); break;
|
||||
case 2: downloadFile = ivsgtService.selectIvsgtFile(parentKey, fileSeq); break;
|
||||
case 44: downloadFile = sailorService.selectSailorFile(parentKey, fileSeq); break;
|
||||
case 40: downloadFile = sriService.selectFaSriFile(parentKey, fileSeq); break;
|
||||
case 5: downloadFile = majorStatusService.selectMajorFile(parentKey, fileSeq); break;
|
||||
case 6: downloadFile = ciService.selectCiWorkFile(parentKey, fileSeq); break;
|
||||
case 7: case 8: case 9: case 10:downloadFile = ciService.selectCiaForeignerFile(parentKey, fileSeq); break;
|
||||
case 32: downloadFile = inrelligenceNetworkService.selectOperationPlanFile(parentKey, fileSeq); break;
|
||||
case 36: downloadFile = monitoringService.selectDesignationFile(parentKey, fileSeq); break;
|
||||
case 37: downloadFile = monitoringService.selectMonitoringResultFile(parentKey, fileSeq); break;
|
||||
case 370: downloadFile = monitoringService.selectMonitoringReportFile(parentKey, fileSeq); break;
|
||||
String dispositionPrefix = "attachment; filename=";
|
||||
String encodedFilename = null;
|
||||
|
||||
if (browser.equals("MSIE")) {
|
||||
encodedFilename = URLEncoder.encode(filename, "UTF-8").replaceAll("\\+", "%20");
|
||||
} else if (browser.equals("Trident")) { // IE11 문자열 깨짐 방지
|
||||
encodedFilename = URLEncoder.encode(filename, "UTF-8").replaceAll("\\+", "%20");
|
||||
} else if (browser.equals("Firefox")) {
|
||||
encodedFilename = "\"" + new String(filename.getBytes("UTF-8"), "8859_1") + "\"";
|
||||
} else if (browser.equals("Opera")) {
|
||||
encodedFilename = "\"" + new String(filename.getBytes("UTF-8"), "8859_1") + "\"";
|
||||
} else if (browser.equals("Chrome")) {
|
||||
StringBuffer sb = new StringBuffer();
|
||||
for (int i = 0; i < filename.length(); i++) {
|
||||
char c = filename.charAt(i);
|
||||
if (c > '~') {
|
||||
sb.append(URLEncoder.encode("" + c, "UTF-8"));
|
||||
} else {
|
||||
sb.append(c);
|
||||
}
|
||||
}
|
||||
encodedFilename = sb.toString();
|
||||
} else {
|
||||
throw new IOException("Not supported browser");
|
||||
}
|
||||
|
||||
response.setHeader("Content-Disposition", dispositionPrefix + encodedFilename);
|
||||
|
||||
if ("Opera".equals(browser)) {
|
||||
response.setContentType("application/octet-stream;charset=UTF-8");
|
||||
}
|
||||
return downloadFile;
|
||||
}
|
||||
|
||||
private Map<String, Object> getWrtInfo(Integer menuKey, Integer parentKey){
|
||||
Map<String, Object> wrtInfo = new HashMap<>();
|
||||
switch (menuKey){
|
||||
case 0:
|
||||
PublicBoard board = publicBoardService.selectPublicBoard(parentKey);
|
||||
wrtInfo.put("wrtOrgan", board.getWrtOrgan());
|
||||
wrtInfo.put("wrtUserSeq", board.getWrtUserSeq());
|
||||
break;
|
||||
case 1:
|
||||
FaRptBoard faRpt = faRptService.selectFaRptBoard(parentKey, null);
|
||||
wrtInfo.put("wrtOrgan", faRpt.getWrtOrgan());
|
||||
wrtInfo.put("wrtUserSeq", faRpt.getWrtUserSeq());
|
||||
break;
|
||||
case 2:
|
||||
InvestigationBoard invest = ivsgtService.selectBoardInvestigation(parentKey);
|
||||
wrtInfo.put("wrtOrgan", invest.getWrtOrgan());
|
||||
wrtInfo.put("wrtUserSeq", invest.getWrtUserSeq());
|
||||
break;
|
||||
case 5:
|
||||
MajorStatus major = majorStatusService.selectMajor(parentKey);
|
||||
wrtInfo.put("wrtOrgan", major.getWrtOrgan());
|
||||
wrtInfo.put("wrtUserSeq", major.getWrtUserSeq());
|
||||
break;
|
||||
case 6:
|
||||
CounterIntelligenceWork ciw = ciService.selectCounterIntelligenceWork(parentKey);
|
||||
wrtInfo.put("wrtOrgan", ciw.getWrtOrgan());
|
||||
wrtInfo.put("wrtUserSeq", ciw.getWrtUserSeq());
|
||||
break;
|
||||
case 7: case 8: case 9: case 10:
|
||||
CounterIntelligenceActivity cia = ciService.selectCia(parentKey);
|
||||
wrtInfo.put("wrtOrgan", cia.getWrtOrgan());
|
||||
wrtInfo.put("wrtUserSeq", cia.getWrtUserSeq());
|
||||
break;
|
||||
case 29:
|
||||
PlanBoard plan = planService.selectPlanBoard(parentKey);
|
||||
wrtInfo.put("wrtOrgan", plan.getWrtOrgan());
|
||||
wrtInfo.put("wrtUserSeq", plan.getWrtUserSeq());
|
||||
break;
|
||||
case 30:case 33:
|
||||
AffairBoard affair = affairService.selectAffairBoard(parentKey);
|
||||
wrtInfo.put("wrtOrgan", affair.getWrtOrgan());
|
||||
wrtInfo.put("wrtUserSeq", affair.getWrtUserSeq());
|
||||
break;
|
||||
case 31:
|
||||
ResultBoard affairResult = resultService.selectResultBoard(parentKey);
|
||||
wrtInfo.put("wrtOrgan", affairResult.getWrtOrgan());
|
||||
wrtInfo.put("wrtUserSeq", affairResult.getWrtUserSeq());
|
||||
break;
|
||||
case 32:
|
||||
OperationPlan operationPlan = inrelligenceNetworkService.selectOperationPlan(parentKey);
|
||||
wrtInfo.put("wrtOrgan", operationPlan.getWrtOrgan());
|
||||
wrtInfo.put("wrtUserSeq", operationPlan.getWrtUserSeq());
|
||||
break;
|
||||
case 36:
|
||||
MonitoringDesignation designation = monitoringService.selectDesignation(parentKey);
|
||||
wrtInfo.put("wrtOrgan", designation.getWrtOrgan());
|
||||
wrtInfo.put("wrtUserSeq", designation.getWrtUserSeq());
|
||||
break;
|
||||
case 37:case 370:
|
||||
MonitoringResult monitoringResult = monitoringService.selectResult(parentKey);
|
||||
wrtInfo.put("wrtOrgan", monitoringResult.getWrtOrgan());
|
||||
wrtInfo.put("wrtUserSeq", monitoringResult.getWrtUserSeq());
|
||||
break;
|
||||
case 40:
|
||||
Sri sri = sriService.selectFaSriBoard(parentKey, null);
|
||||
wrtInfo.put("wrtOrgan", sri.getWrtOrgan());
|
||||
wrtInfo.put("wrtUserSeq", sri.getWrtUserSeq());
|
||||
break;
|
||||
case 44:
|
||||
Sailor sailor = sailorService.selectSailor(parentKey);
|
||||
wrtInfo.put("wrtOrgan", sailor.getWrtOrgan());
|
||||
wrtInfo.put("wrtUserSeq", sailor.getWrtUserSeq());
|
||||
break;
|
||||
private String getBrowser(HttpServletRequest request) {
|
||||
String header = request.getHeader("User-Agent");
|
||||
if (header.indexOf("MSIE") > -1) {
|
||||
return "MSIE";
|
||||
} else if (header.indexOf("Trident") > -1) { // IE11 문자열 깨짐 방지
|
||||
return "Trident";
|
||||
} else if (header.indexOf("Chrome") > -1) {
|
||||
return "Chrome";
|
||||
} else if (header.indexOf("Opera") > -1) {
|
||||
return "Opera";
|
||||
}
|
||||
return wrtInfo;
|
||||
return "Firefox";
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,4 +1,4 @@
|
|||
package com.dbnt.faisp.config.database;
|
||||
package com.dbnt.faisp.config;
|
||||
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.boot.context.properties.ConfigurationProperties;
|
||||
|
|
@ -39,7 +39,7 @@ public class KwmsDatabaseConfig {
|
|||
//Hibernate 설정
|
||||
HashMap<String, Object> properties = new HashMap<>();
|
||||
properties.put("hibernate.hbm2ddl.auto", "none");
|
||||
properties.put("hibernate.dialect", TiberoDialect.class.getName());
|
||||
properties.put("hibernate.dialect", "org.hibernate.dialect.Oracle10gDialect");
|
||||
em.setJpaPropertyMap(properties);
|
||||
return em;
|
||||
}
|
||||
|
|
@ -1,4 +1,4 @@
|
|||
package com.dbnt.faisp.config.database;
|
||||
package com.dbnt.faisp.config;
|
||||
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.boot.context.properties.ConfigurationProperties;
|
||||
|
|
@ -1,10 +1,12 @@
|
|||
package com.dbnt.faisp.config;
|
||||
|
||||
import com.dbnt.faisp.main.codeMgt.service.CodeMgtService;
|
||||
import com.dbnt.faisp.main.faStatistics.unlawfulFishing.model.UnlawfulFishingParam;
|
||||
import com.dbnt.faisp.main.faStatistics.unlawfulFishing.model.crackdownStatus.CSStatistics;
|
||||
import com.dbnt.faisp.main.faStatistics.unlawfulFishing.model.crackdownStatus.CrackdownStatusDTO;
|
||||
import com.dbnt.faisp.main.faStatistics.unlawfulFishing.service.FishingBoatService;
|
||||
import com.dbnt.faisp.main.faStatistics.crackdownsStatus.model.crackdownStatus.CrackdownStatus;
|
||||
import com.dbnt.faisp.main.faStatistics.crackdownsStatus.repository.FishingBoatRepository;
|
||||
import com.dbnt.faisp.main.faStatistics.crackdownsStatus.repository.ProcessResultRepository;
|
||||
import com.dbnt.faisp.main.faStatistics.crackdownsStatus.repository.SailorRepository;
|
||||
import com.dbnt.faisp.main.faStatistics.crackdownsStatus.repository.ViolationRepository;
|
||||
import com.dbnt.faisp.main.faStatistics.crackdownsStatus.service.CrackdownStatusService;
|
||||
import com.dbnt.faisp.main.menuMgt.model.MenuMgt;
|
||||
import com.dbnt.faisp.main.menuMgt.service.MenuMgtService;
|
||||
import com.dbnt.faisp.main.userInfo.model.UserInfo;
|
||||
|
|
@ -16,7 +18,6 @@ import org.springframework.web.bind.annotation.RequestMapping;
|
|||
import org.springframework.web.bind.annotation.RestController;
|
||||
import org.springframework.web.servlet.ModelAndView;
|
||||
|
||||
import java.time.LocalDateTime;
|
||||
import java.util.List;
|
||||
|
||||
|
||||
|
|
@ -28,7 +29,11 @@ public class ModalController {
|
|||
private final MenuMgtService menuMgtService;
|
||||
private final UserInfoService userInfoService;
|
||||
private final CodeMgtService codeMgtService;
|
||||
private final FishingBoatService fishingBoatService;
|
||||
private final CrackdownStatusService crackdownStatusService;
|
||||
private final ViolationRepository violationRepository;
|
||||
private final ProcessResultRepository processResultRepository;
|
||||
private final FishingBoatRepository fishingBoatRepository;
|
||||
private final SailorRepository sailorRepository;
|
||||
|
||||
@GetMapping("/menuModal")
|
||||
public ModelAndView menuModalPage(@AuthenticationPrincipal UserInfo loginUser, MenuMgt menuMgt){
|
||||
|
|
@ -43,13 +48,14 @@ public class ModalController {
|
|||
}
|
||||
|
||||
@GetMapping("/userModal")
|
||||
public ModelAndView userMoadlPage(@AuthenticationPrincipal UserInfo loginUser, UserInfo userInfo, String pageName){
|
||||
public ModelAndView userMoadlPage(@AuthenticationPrincipal UserInfo loginUser, UserInfo userInfo){
|
||||
ModelAndView mav = new ModelAndView("common/modal/userModal");
|
||||
userInfo.setQueryInfo();
|
||||
if(userInfo.getUserStatus() == null || userInfo.getUserStatus().equals("")) {
|
||||
userInfo.setUserStatus("USC003");
|
||||
}
|
||||
mav.addObject("pageName", pageName);
|
||||
mav.addObject("OgList", codeMgtService.selectCodeMgtList("OG"));
|
||||
mav.addObject("OfcList", codeMgtService.selectCodeMgtList("OFC"));
|
||||
mav.addObject("userInfoList", userInfoService.selectUserInfoList(userInfo));
|
||||
userInfo.setContentCnt(userInfoService.selectUserInfoListCnt(userInfo));
|
||||
userInfo.setPaginationInfo();
|
||||
|
|
@ -58,21 +64,21 @@ public class ModalController {
|
|||
}
|
||||
|
||||
@GetMapping("/crackdownStatusModal")
|
||||
public ModelAndView crackdownStatusModal(@AuthenticationPrincipal UserInfo loginUser, UnlawfulFishingParam params){
|
||||
public ModelAndView crackdownStatusModal(@AuthenticationPrincipal UserInfo loginUser, CrackdownStatus crackdownStatus){
|
||||
ModelAndView mav = new ModelAndView("common/modal/crackdownStatusModal");
|
||||
if(params.getYear()==null){
|
||||
params.setYear(LocalDateTime.now().getYear());
|
||||
crackdownStatus.setQueryInfo();
|
||||
|
||||
List<CrackdownStatus> crackdownList = crackdownStatusService.selectCrackdownStatusList(crackdownStatus);
|
||||
for (CrackdownStatus cds: crackdownList) {
|
||||
cds.setViolationList(violationRepository.findByFbKey(cds.getFbKey()));
|
||||
cds.setProcessResult(processResultRepository.findByCdsKey(cds.getCdsKey()).orElse(null));
|
||||
cds.setFishingBoat(fishingBoatRepository.findByCdsKey(cds.getCdsKey()).orElse(null));
|
||||
cds.setSailorList(sailorRepository.findByFbKey(cds.getFbKey()));
|
||||
}
|
||||
List<Integer> yearList = fishingBoatService.selectFishingBoatYearParam(params);
|
||||
if(!yearList.contains(params.getYear())){
|
||||
yearList.add(params.getYear());
|
||||
}
|
||||
List<CrackdownStatusDTO> csDTOList = fishingBoatService.selectCrackdownStatusList(params);
|
||||
CSStatistics statistics = fishingBoatService.calculationCSStatistics(csDTOList);
|
||||
mav.addObject("statistics", statistics);
|
||||
mav.addObject("crackdownStatusList", csDTOList);
|
||||
mav.addObject("yearList", yearList);
|
||||
mav.addObject("searchParams", params);
|
||||
mav.addObject("crackdownList", crackdownList);
|
||||
crackdownStatus.setContentCnt(crackdownStatusService.selectCrackdownStatusListCnt(crackdownStatus));
|
||||
crackdownStatus.setPaginationInfo();
|
||||
mav.addObject("searchParams", crackdownStatus);
|
||||
return mav;
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -11,7 +11,6 @@ import org.springframework.context.annotation.Bean;
|
|||
import org.springframework.context.annotation.Configuration;
|
||||
import org.springframework.security.config.annotation.web.builders.HttpSecurity;
|
||||
import org.springframework.security.config.annotation.web.configuration.EnableWebSecurity;
|
||||
import org.springframework.security.core.session.SessionRegistryImpl;
|
||||
import org.springframework.security.crypto.password.PasswordEncoder;
|
||||
import org.springframework.security.crypto.password.Pbkdf2PasswordEncoder;
|
||||
import org.springframework.security.web.AuthenticationEntryPoint;
|
||||
|
|
@ -112,54 +111,42 @@ public class SecurityConfig{
|
|||
@Bean
|
||||
protected SecurityFilterChain filterChain(HttpSecurity http) throws Exception {
|
||||
http.authorizeRequests() // 페이지 권한 설정
|
||||
.antMatchers(
|
||||
"/css/**",
|
||||
"/font/**",
|
||||
"/img/**",
|
||||
"/js/**",
|
||||
"/vendor/**",
|
||||
"/login",
|
||||
"/Crosseditor/uploadImg",
|
||||
"/user/findUser"
|
||||
).permitAll() // 권한 없이 접근 허용
|
||||
.antMatchers(
|
||||
"/dashboard",
|
||||
"/resetSession",
|
||||
"/selectBoxOptions",
|
||||
"/apprvStayDoc",
|
||||
"/myInfo/**",
|
||||
"/modal/**",
|
||||
"/publicBoard/**",
|
||||
"/faRpt/**",
|
||||
"/ivsgt/**",
|
||||
"/target/**",
|
||||
"/equip/**",
|
||||
"/affairPlan/**",
|
||||
"/affair/**",
|
||||
"/affairStatistics/**",
|
||||
"/affairResult/**",
|
||||
"/faStatistics/**",
|
||||
"/unlawfulFishing/**",
|
||||
"/translator/**",
|
||||
"/police/**",
|
||||
"/sri/**",
|
||||
"/counterIntelligence/**",
|
||||
"/monitoring/**",
|
||||
"/intelligenceNetwork/**",
|
||||
"/budget/**",
|
||||
"/faics/**",
|
||||
"/deadline/**",
|
||||
"/search/**"
|
||||
).hasRole(Role.USER.name()) // USER 접근 허용
|
||||
.antMatchers(
|
||||
"/authMgt/**",
|
||||
"/userMgt/**"
|
||||
).hasRole(Role.SUB_ADMIN.name()) // SUB_ADMIN 접근 허용
|
||||
.antMatchers(
|
||||
"/codeMgt/**",
|
||||
"/organMgt/**",
|
||||
"/menuMgt/**"
|
||||
).hasRole(Role.ADMIN.name()) // ADMIN 접근 허용
|
||||
.antMatchers(
|
||||
"/dashboard",
|
||||
"/myInfo/**",
|
||||
"/modal/**",
|
||||
"/selectBoxOptions",
|
||||
"/publicBoard/**",
|
||||
"/faRpt/**",
|
||||
"/ivsgt/**",
|
||||
"/target/**",
|
||||
"/equip/**",
|
||||
"/affairPlan/**",
|
||||
"/affair/**",
|
||||
"/affairResult/**",
|
||||
"/faStatistics/**",
|
||||
"/translator/**",
|
||||
"/police/**",
|
||||
"/sri/**",
|
||||
"/resetSession"
|
||||
).hasRole(Role.USER.name()) // USER 접근 허용
|
||||
.antMatchers(
|
||||
"/authMgt/**",
|
||||
"/userMgt/**"
|
||||
).hasRole(Role.SUB_ADMIN.name()) // SUB_ADMIN 접근 허용
|
||||
.antMatchers(
|
||||
"/codeMgt/**",
|
||||
"/organMgt/**",
|
||||
"/menuMgt/**"
|
||||
).hasRole(Role.ADMIN.name()) // ADMIN 접근 허용
|
||||
.antMatchers(
|
||||
"/login",
|
||||
"/css/**",
|
||||
"/img/**",
|
||||
"/js/**",
|
||||
"/vendor/**",
|
||||
"/Crosseditor/uploadImg"
|
||||
).permitAll() // 로그인 페이지는 권한 없이 접근 허용
|
||||
.and() // 로그인 설정
|
||||
.formLogin().loginPage("/login") // Custom login form 사용
|
||||
.failureHandler(loginFailureHandler()) // 로그인 실패시 동작 수행
|
||||
|
|
@ -180,12 +167,7 @@ public class SecurityConfig{
|
|||
// https://computer-science-student.tistory.com/497
|
||||
http.headers().frameOptions().sameOrigin();
|
||||
// 나모에디터 이미지 업로드시 csrf 토큰을 추가할 수 없어서 예외처리.
|
||||
// 비밀번호찾기 토큰없이 사용
|
||||
http.csrf().ignoringAntMatchers(
|
||||
"/Crosseditor/uploadImg",
|
||||
"/user/findUser"
|
||||
);
|
||||
|
||||
http.csrf().ignoringAntMatchers("/Crosseditor/uploadImg");
|
||||
return http.build();
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -1,6 +1,7 @@
|
|||
package com.dbnt.faisp.config.tomcat;
|
||||
package com.dbnt.faisp.config;
|
||||
|
||||
import org.apache.catalina.connector.Connector;
|
||||
import org.apache.coyote.ProtocolHandler;
|
||||
import org.apache.coyote.ajp.AbstractAjpProtocol;
|
||||
import org.springframework.beans.factory.annotation.Value;
|
||||
import org.springframework.boot.web.embedded.tomcat.TomcatServletWebServerFactory;
|
||||
|
|
@ -8,8 +9,10 @@ import org.springframework.boot.web.servlet.server.ServletWebServerFactory;
|
|||
import org.springframework.context.annotation.Bean;
|
||||
import org.springframework.context.annotation.Configuration;
|
||||
|
||||
import java.net.InetAddress;
|
||||
|
||||
@Configuration
|
||||
public class TomcatAjpConfiguration {
|
||||
public class TomcatConfiguration {
|
||||
|
||||
@Value("${tomcat.ajp.protocol}")
|
||||
private String protocol;
|
||||
|
|
@ -20,12 +20,11 @@ public class WebMvcConfig implements WebMvcConfigurer {
|
|||
"/favicon.ico",
|
||||
"/editorFileDisplay",
|
||||
"/fileDisplay",
|
||||
"/Crosseditor/**",
|
||||
"/css/**",
|
||||
"/font/**",
|
||||
"/img/**",
|
||||
"/js/**",
|
||||
"/vendor/**",
|
||||
"/Crosseditor/**",
|
||||
"/CrossUploader/**"
|
||||
);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,6 +0,0 @@
|
|||
package com.dbnt.faisp.config.database;
|
||||
|
||||
import org.hibernate.dialect.Oracle10gDialect;
|
||||
|
||||
public class TiberoDialect extends Oracle10gDialect{
|
||||
}
|
||||
|
|
@ -1,112 +0,0 @@
|
|||
package com.dbnt.faisp.config.tomcat;
|
||||
|
||||
import org.apache.catalina.Context;
|
||||
import org.apache.catalina.Engine;
|
||||
import org.apache.catalina.ha.session.ClusterSessionListener;
|
||||
import org.apache.catalina.ha.session.DeltaManager;
|
||||
import org.apache.catalina.ha.session.JvmRouteBinderValve;
|
||||
import org.apache.catalina.ha.tcp.ReplicationValve;
|
||||
import org.apache.catalina.ha.tcp.SimpleTcpCluster;
|
||||
import org.apache.catalina.tribes.Channel;
|
||||
import org.apache.catalina.tribes.group.GroupChannel;
|
||||
import org.apache.catalina.tribes.group.interceptors.MessageDispatchInterceptor;
|
||||
import org.apache.catalina.tribes.group.interceptors.StaticMembershipInterceptor;
|
||||
import org.apache.catalina.tribes.group.interceptors.TcpFailureDetector;
|
||||
import org.apache.catalina.tribes.group.interceptors.TcpPingInterceptor;
|
||||
import org.apache.catalina.tribes.membership.McastService;
|
||||
import org.apache.catalina.tribes.membership.StaticMember;
|
||||
import org.apache.catalina.tribes.transport.ReplicationTransmitter;
|
||||
import org.apache.catalina.tribes.transport.nio.NioReceiver;
|
||||
import org.apache.catalina.tribes.transport.nio.PooledParallelSender;
|
||||
import org.springframework.beans.factory.annotation.Value;
|
||||
import org.springframework.boot.web.embedded.tomcat.TomcatContextCustomizer;
|
||||
import org.springframework.stereotype.Component;
|
||||
|
||||
@Component
|
||||
public class TomcatClusterContextCustomizer implements TomcatContextCustomizer {
|
||||
|
||||
@Value("${tomcat.cluster.static-member-host:}")
|
||||
private String staticMemberHost;
|
||||
@Value("${tomcat.cluster.static-member-port:}")
|
||||
private Integer staticMemberPort;
|
||||
@Value("${tomcat.cluster.static-member-unique-id:}")
|
||||
private String staticMemberUniqueId;
|
||||
@Value("${tomcat.cluster.receiver-address:}")
|
||||
private String receiverAddress;
|
||||
@Value("${tomcat.cluster.receiver-port:}")
|
||||
private Integer receiverPort;
|
||||
|
||||
@Override
|
||||
public void customize( final Context context ) {
|
||||
context.setDistributable(true);
|
||||
|
||||
DeltaManager manager = new DeltaManager();
|
||||
manager.setExpireSessionsOnShutdown(false);
|
||||
manager.setNotifyListenersOnReplication(true);
|
||||
context.setManager(manager);
|
||||
configureCluster( (Engine)context.getParent().getParent() );
|
||||
}
|
||||
|
||||
private void configureCluster(Engine engine) {
|
||||
//cluster setting
|
||||
SimpleTcpCluster cluster = new SimpleTcpCluster();
|
||||
cluster.setChannelStartOptions(Channel.SND_RX_SEQ|Channel.SND_TX_SEQ);
|
||||
cluster.setChannelSendOptions(Channel.SEND_OPTIONS_ASYNCHRONOUS);
|
||||
|
||||
//channel setting
|
||||
GroupChannel channel = new GroupChannel();
|
||||
|
||||
StaticMembershipInterceptor interceptor = new StaticMembershipInterceptor();
|
||||
// 대상 정보
|
||||
StaticMember staticMember = new StaticMember();
|
||||
staticMember.setPort(staticMemberPort);
|
||||
staticMember.setSecurePort(-1);
|
||||
staticMember.setHost(staticMemberHost);
|
||||
staticMember.setUniqueId(staticMemberUniqueId);
|
||||
interceptor.addStaticMember(staticMember);
|
||||
|
||||
//receiver(현재 자신의 정보)
|
||||
NioReceiver receiver = new NioReceiver();
|
||||
receiver.setAddress(receiverAddress);
|
||||
receiver.setMaxThreads(6);
|
||||
receiver.setPort(receiverPort);
|
||||
channel.setChannelReceiver(receiver);
|
||||
|
||||
channel.addInterceptor(interceptor);
|
||||
|
||||
/* cluster.setChannelSendOptions(6);
|
||||
|
||||
//channel
|
||||
GroupChannel channel = new GroupChannel();
|
||||
//membership setting
|
||||
McastService mcastService = new McastService();
|
||||
mcastService.setAddress("228.0.0.4");
|
||||
mcastService.setPort(45564); // TCP&UDP port 오픈 필요
|
||||
mcastService.setFrequency(500);
|
||||
mcastService.setDropTime(3000);
|
||||
channel.setMembershipService(mcastService);
|
||||
|
||||
//receiver
|
||||
NioReceiver receiver = new NioReceiver();
|
||||
receiver.setAddress("auto");
|
||||
receiver.setMaxThreads(6);
|
||||
receiver.setPort(5000); // TCP port 오픈 필요
|
||||
channel.setChannelReceiver(receiver);
|
||||
*/
|
||||
|
||||
//sender
|
||||
ReplicationTransmitter sender = new ReplicationTransmitter();
|
||||
sender.setTransport(new PooledParallelSender());
|
||||
channel.setChannelSender(sender);
|
||||
|
||||
//interceptor
|
||||
channel.addInterceptor(new TcpPingInterceptor());
|
||||
channel.addInterceptor(new TcpFailureDetector());
|
||||
channel.addInterceptor(new MessageDispatchInterceptor());
|
||||
cluster.addValve(new ReplicationValve());
|
||||
cluster.addValve(new JvmRouteBinderValve());
|
||||
cluster.setChannel(channel);
|
||||
cluster.addClusterListener(new ClusterSessionListener());
|
||||
engine.setCluster(cluster);
|
||||
}
|
||||
}
|
||||
|
|
@ -1,24 +0,0 @@
|
|||
package com.dbnt.faisp.config.tomcat;
|
||||
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import org.springframework.beans.factory.annotation.Value;
|
||||
import org.springframework.boot.web.embedded.tomcat.TomcatServletWebServerFactory;
|
||||
import org.springframework.boot.web.server.WebServerFactoryCustomizer;
|
||||
import org.springframework.context.annotation.Configuration;
|
||||
|
||||
@Configuration
|
||||
@RequiredArgsConstructor
|
||||
public class TomcatClusterUtil implements WebServerFactoryCustomizer<TomcatServletWebServerFactory> {
|
||||
private final TomcatClusterContextCustomizer tomcatClusterContextCustomizer;
|
||||
|
||||
@Value("${tomcat.cluster.enabled}")
|
||||
private boolean clusterEnabled;
|
||||
|
||||
@Override
|
||||
public void customize( final TomcatServletWebServerFactory factory ) {
|
||||
if(clusterEnabled){
|
||||
factory.addContextCustomizers(tomcatClusterContextCustomizer);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -1,31 +0,0 @@
|
|||
package com.dbnt.faisp.egovframe.com.cmm;
|
||||
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.egovframe.rte.fdl.cmmn.trace.handler.TraceHandler;
|
||||
|
||||
/**
|
||||
* @Class Name : EgovComTraceHandler.java
|
||||
* @Description : 공통서비스의 trace 처리 클래스
|
||||
* @Modification Information
|
||||
*
|
||||
* 수정일 수정자 수정내용
|
||||
* ------- ------- -------------------
|
||||
* 2011. 09. 30. JJY
|
||||
*
|
||||
* @author JJY
|
||||
* @since 2011. 9. 30.
|
||||
*
|
||||
*/
|
||||
@Slf4j
|
||||
public class EgovComTraceHandler implements TraceHandler {
|
||||
|
||||
/**
|
||||
* 발생된 메시지를 출력한다.
|
||||
*/
|
||||
public void todo(Class<?> clazz, String message) {
|
||||
//log.debug("log ==> DefaultTraceHandler run...............");
|
||||
log.debug("[TRACE]CLASS::: {}", clazz.getName());
|
||||
log.debug("[TRACE]MESSAGE::: {}", message);
|
||||
//이곳에서 후속처리로 필요한 액션을 취할 수 있다.
|
||||
}
|
||||
}
|
||||
|
|
@ -1,87 +0,0 @@
|
|||
package com.dbnt.faisp.egovframe.com.config;
|
||||
|
||||
import com.dbnt.faisp.egovframe.com.cmm.EgovComTraceHandler;
|
||||
import org.egovframe.rte.fdl.cmmn.trace.LeaveaTrace;
|
||||
import org.egovframe.rte.fdl.cmmn.trace.handler.TraceHandler;
|
||||
import org.egovframe.rte.fdl.cmmn.trace.manager.DefaultTraceHandleManager;
|
||||
import org.egovframe.rte.fdl.cmmn.trace.manager.TraceHandlerService;
|
||||
import org.springframework.context.annotation.Bean;
|
||||
import org.springframework.context.annotation.ComponentScan;
|
||||
import org.springframework.context.annotation.Configuration;
|
||||
import org.springframework.context.annotation.FilterType;
|
||||
import org.springframework.stereotype.Controller;
|
||||
import org.springframework.stereotype.Repository;
|
||||
import org.springframework.stereotype.Service;
|
||||
import org.springframework.util.AntPathMatcher;
|
||||
|
||||
import java.util.HashMap;
|
||||
import java.util.Map;
|
||||
|
||||
/**
|
||||
* @ClassName : EgovConfigAppCommon.java
|
||||
* @Description : 공통 Bean 설정
|
||||
*
|
||||
* @author : 윤주호
|
||||
* @since : 2021. 7. 20
|
||||
* @version : 1.0
|
||||
*
|
||||
* <pre>
|
||||
* << 개정이력(Modification Information) >>
|
||||
*
|
||||
* 수정일 수정자 수정내용
|
||||
* ------------- ------------ ---------------------
|
||||
* 2021. 7. 20 윤주호 최초 생성
|
||||
* 2023. 5. 05 crlee remove EgovMessageSource config
|
||||
* </pre>
|
||||
*
|
||||
*/
|
||||
@Configuration
|
||||
@ComponentScan(basePackages = "com.dbnt.faisp", includeFilters = {
|
||||
@ComponentScan.Filter(type = FilterType.ANNOTATION, value = Service.class),
|
||||
@ComponentScan.Filter(type = FilterType.ANNOTATION, value = Repository.class)
|
||||
}, excludeFilters = {
|
||||
@ComponentScan.Filter(type = FilterType.ANNOTATION, value = Controller.class),
|
||||
@ComponentScan.Filter(type = FilterType.ANNOTATION, value = Configuration.class)
|
||||
})
|
||||
public class EgovConfigAppCommon {
|
||||
|
||||
/**
|
||||
* @return AntPathMatcher 등록. Ant 경로 패턴 경로와 일치하는지 여부를 확인
|
||||
*/
|
||||
@Bean
|
||||
public AntPathMatcher antPathMatcher() {
|
||||
return new AntPathMatcher();
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* @return [LeaveaTrace 설정] defaultTraceHandler 등록
|
||||
*/
|
||||
@Bean
|
||||
public EgovComTraceHandler defaultTraceHandler() {
|
||||
return new EgovComTraceHandler();
|
||||
}
|
||||
|
||||
/**
|
||||
* @return [LeaveaTrace 설정] traceHandlerService 등록. TraceHandler 설정
|
||||
*/
|
||||
@Bean
|
||||
public DefaultTraceHandleManager traceHandlerService() {
|
||||
DefaultTraceHandleManager defaultTraceHandleManager = new DefaultTraceHandleManager();
|
||||
defaultTraceHandleManager.setReqExpMatcher(antPathMatcher());
|
||||
defaultTraceHandleManager.setPatterns(new String[] {"*"});
|
||||
defaultTraceHandleManager.setHandlers(new TraceHandler[] {defaultTraceHandler()});
|
||||
return defaultTraceHandleManager;
|
||||
}
|
||||
|
||||
/**
|
||||
* @return [LeaveaTrace 설정] LeaveaTrace 등록
|
||||
*/
|
||||
@Bean
|
||||
public LeaveaTrace leaveaTrace() {
|
||||
LeaveaTrace leaveaTrace = new LeaveaTrace();
|
||||
leaveaTrace.setTraceHandlerServices(new TraceHandlerService[] {traceHandlerService()});
|
||||
return leaveaTrace;
|
||||
}
|
||||
|
||||
}
|
||||
|
|
@ -5,7 +5,6 @@ import com.dbnt.faisp.kwms.service.KwmsService;
|
|||
import com.dbnt.faisp.main.codeMgt.service.CodeMgtService;
|
||||
import com.dbnt.faisp.main.userInfo.model.UserInfo;
|
||||
import com.dbnt.faisp.main.userInfo.service.UserInfoService;
|
||||
import com.dbnt.faisp.util.Utils;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import org.springframework.web.bind.annotation.GetMapping;
|
||||
import org.springframework.web.bind.annotation.RequestMapping;
|
||||
|
|
@ -24,50 +23,26 @@ public class KwmsController {
|
|||
@GetMapping("/getEmpInfoToJoinForm")
|
||||
public ModelAndView getEmpInfo(VEmployee empInfo){
|
||||
ModelAndView mav = new ModelAndView("login/joinForm");
|
||||
if(Utils.isEmpty(empInfo.getDic())){
|
||||
if(userInfoService.selectUserInfoToDicCode(empInfo.getDic()) == null){
|
||||
UserInfo userInfo = kwmsService.selectEmpInfo(empInfo.getDic());
|
||||
if(userInfo==null){
|
||||
mav.addObject("joinFlag", "F");
|
||||
mav.addObject("userInfo", empInfo);
|
||||
mav.addObject("msg", "검색 결과가 없습니다.");
|
||||
}else{
|
||||
mav.addObject("joinFlag", "T");
|
||||
mav.addObject("userInfo", userInfo);
|
||||
mav.addObject("ogList", codeMgtService.selectCodeMgtList("OG"));
|
||||
mav.addObject("ofcList", codeMgtService.selectCodeMgtList("OFC"));
|
||||
mav.addObject("titleList", codeMgtService.selectCodeMgtList("JT"));
|
||||
mav.addObject("outturnList", codeMgtService.selectCodeMgtList("OTC"));
|
||||
mav.addObject("seriesList", codeMgtService.selectCodeMgtList("SRC"));
|
||||
mav.addObject("languageList", codeMgtService.selectCodeMgtList("LNG"));
|
||||
}
|
||||
}else{
|
||||
mav.addObject("joinFlag", "F");
|
||||
mav.addObject("userInfo", empInfo);
|
||||
mav.addObject("msg", "*-포함 입력 ex) M00-00000");
|
||||
}else{
|
||||
UserInfo savedUser = userInfoService.selectUserInfoToDicCode(empInfo.getDic());
|
||||
if(savedUser == null){
|
||||
UserInfo userInfo = kwmsService.selectEmpInfo(empInfo.getDic());
|
||||
if(userInfo==null){
|
||||
mav.addObject("joinFlag", "F");
|
||||
mav.addObject("userInfo", empInfo);
|
||||
mav.addObject("msg", "검색 결과가 없습니다.");
|
||||
}else{
|
||||
mav.addObject("joinFlag", "T");
|
||||
mav.addObject("userInfo", userInfo);
|
||||
mav.addObject("ogList", codeMgtService.selectCodeMgtList("OG"));
|
||||
mav.addObject("ofcList", codeMgtService.selectCodeMgtList(userInfo.getOgCd()));
|
||||
mav.addObject("titleList", codeMgtService.selectCodeMgtList("JT"));
|
||||
mav.addObject("dutyList", codeMgtService.selectCodeMgtList("DT"));
|
||||
mav.addObject("outturnList", codeMgtService.selectCodeMgtList("OTC"));
|
||||
mav.addObject("seriesList", codeMgtService.selectCodeMgtList(userInfo.getOutturnCd()));
|
||||
mav.addObject("languageList", codeMgtService.selectCodeMgtList("LNG"));
|
||||
mav.addObject("eduGrdList", codeMgtService.selectCodeMgtList("UED"));
|
||||
}
|
||||
}else{
|
||||
if(savedUser.getUserStatus().equals("USC004")){
|
||||
UserInfo userInfo = kwmsService.selectEmpInfo(empInfo.getDic());
|
||||
userInfo.setUserSeq(savedUser.getUserSeq());
|
||||
mav.addObject("joinFlag", "T");
|
||||
mav.addObject("userInfo", userInfo);
|
||||
mav.addObject("ogList", codeMgtService.selectCodeMgtList("OG"));
|
||||
mav.addObject("ofcList", codeMgtService.selectCodeMgtList(userInfo.getOgCd()));
|
||||
mav.addObject("titleList", codeMgtService.selectCodeMgtList("JT"));
|
||||
mav.addObject("dutyList", codeMgtService.selectCodeMgtList("DT"));
|
||||
mav.addObject("outturnList", codeMgtService.selectCodeMgtList("OTC"));
|
||||
mav.addObject("seriesList", codeMgtService.selectCodeMgtList(userInfo.getOutturnCd()));
|
||||
mav.addObject("languageList", codeMgtService.selectCodeMgtList("LNG"));
|
||||
mav.addObject("eduGrdList", codeMgtService.selectCodeMgtList("UED"));
|
||||
}else{
|
||||
mav.addObject("joinFlag", "F");
|
||||
mav.addObject("userInfo", empInfo);
|
||||
mav.addObject("msg", "이미 가입된 식별번호입니다.");
|
||||
}
|
||||
}
|
||||
mav.addObject("msg", "이미 가입된 식별번호입니다.");
|
||||
}
|
||||
return mav;
|
||||
}
|
||||
|
|
@ -85,7 +60,7 @@ public class KwmsController {
|
|||
mav.addObject("joinFlag", "T");
|
||||
mav.addObject("userInfo", userInfo);
|
||||
mav.addObject("ogList", codeMgtService.selectCodeMgtList("OG"));
|
||||
mav.addObject("ofcList", codeMgtService.selectCodeMgtList(userInfo.getOgCd()));
|
||||
mav.addObject("ofcList", codeMgtService.selectCodeMgtList("OFC"));
|
||||
mav.addObject("titleList", codeMgtService.selectCodeMgtList("JT"));
|
||||
mav.addObject("outturnList", codeMgtService.selectCodeMgtList("OTC"));
|
||||
mav.addObject("seriesList", codeMgtService.selectCodeMgtList("SRC"));
|
||||
|
|
|
|||
|
|
@ -28,8 +28,6 @@ public class VEmployee {
|
|||
private String sexcd;
|
||||
@Column(name = "BIRTHDT")
|
||||
private String birthdt;
|
||||
@Column(name = "TDEPTNM")
|
||||
private String tdeptnm;
|
||||
@Column(name = "LDEPTNM")
|
||||
private String ldeptnm;
|
||||
@Column(name = "JIKGUBNM")
|
||||
|
|
|
|||
|
|
@ -7,9 +7,7 @@ import com.dbnt.faisp.main.userInfo.model.UserCareer;
|
|||
import com.dbnt.faisp.main.userInfo.model.UserInfo;
|
||||
import com.dbnt.faisp.main.userInfo.repository.UserCareerRepository;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import org.egovframe.rte.fdl.cmmn.EgovAbstractServiceImpl;
|
||||
import org.springframework.stereotype.Service;
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
|
||||
import java.time.LocalDate;
|
||||
import java.time.format.DateTimeFormatter;
|
||||
|
|
@ -19,12 +17,11 @@ import java.util.List;
|
|||
|
||||
@Service
|
||||
@RequiredArgsConstructor
|
||||
public class KwmsService extends EgovAbstractServiceImpl {
|
||||
public class KwmsService {
|
||||
private final VEmployeeRepository vEmployeeRepository;
|
||||
private final CodeMgtService codeMgtService;
|
||||
private final UserCareerRepository careerRepository;
|
||||
|
||||
@Transactional
|
||||
public UserInfo selectEmpInfo(String dicCode){
|
||||
VEmployee empInfo = vEmployeeRepository.findByDic(dicCode).orElse(null);
|
||||
if(empInfo==null){
|
||||
|
|
@ -40,31 +37,13 @@ public class KwmsService extends EgovAbstractServiceImpl {
|
|||
userInfo.setUserId(empInfo.getUserid());
|
||||
userInfo.setUserNm(empInfo.getName());
|
||||
userInfo.setSex(empInfo.getSexcd().strip().equals("F")?"SEX001":"SEX002");
|
||||
if(empInfo.getLdeptnm()!=null){
|
||||
String[] positionAry = empInfo.getLdeptnm().split(" ");
|
||||
userInfo.setOgCd(codeMgtService.searchCodeToCategoryAndValue("OG", positionAry[0]));
|
||||
if (positionAry.length>1){
|
||||
userInfo.setOfcCd(codeMgtService.searchCodeToCategoryAndValue(userInfo.getOgCd(), positionAry[1]));
|
||||
}
|
||||
}else{
|
||||
String[] positionAry = empInfo.getTdeptnm().split(" ");
|
||||
String ogCd = null;
|
||||
String ofcValue = null;
|
||||
for(String value: positionAry){
|
||||
String temp = codeMgtService.searchCodeToCategoryAndValueEtc("OG", value);
|
||||
if(temp == null){
|
||||
ofcValue = value;
|
||||
}else{
|
||||
ogCd = temp;
|
||||
}
|
||||
}
|
||||
userInfo.setOgCd(ogCd);
|
||||
userInfo.setOfcCd(codeMgtService.searchCodeToCategoryAndValue(ogCd, ofcValue));
|
||||
String[] positionAry = empInfo.getLdeptnm().split(" ");
|
||||
userInfo.setOgCd(codeMgtService.searchCodeToCategoryAndValue("OG", positionAry[0]));
|
||||
if (positionAry.length>1){
|
||||
userInfo.setOfcCd(codeMgtService.searchCodeToCategoryAndValue("OFC", positionAry[1]));
|
||||
}
|
||||
userInfo.setTitleCd(codeMgtService.searchCodeToCategoryAndValue("JT", empInfo.getJikgubnm()));
|
||||
if(empInfo.getKyunggwa()!=null){
|
||||
userInfo.setOutturnCd(codeMgtService.searchCodeToCategoryAndValue("OTC", empInfo.getKyunggwa()));
|
||||
}
|
||||
userInfo.setOutturnCd(codeMgtService.searchCodeToCategoryAndValue("OTC", empInfo.getKyunggwa()));
|
||||
|
||||
DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyyMMdd");
|
||||
empInfo.setBirthdt(
|
||||
|
|
|
|||
|
|
@ -5,7 +5,6 @@ import com.dbnt.faisp.main.authMgt.model.AuthMgt;
|
|||
import com.dbnt.faisp.main.userInfo.service.UserInfoService;
|
||||
import com.dbnt.faisp.main.userInfo.model.UserInfo;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import org.springframework.security.core.annotation.AuthenticationPrincipal;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
import org.springframework.web.servlet.ModelAndView;
|
||||
|
||||
|
|
@ -19,16 +18,12 @@ public class AuthMgtController {
|
|||
private final AuthMgtService authMgtService;
|
||||
|
||||
@GetMapping("/authMgtPage")
|
||||
public ModelAndView authMgtPage(@AuthenticationPrincipal UserInfo loginUser, UserInfo userInfo) {
|
||||
public ModelAndView authMgtPage(UserInfo userInfo) {
|
||||
ModelAndView mav = new ModelAndView("adminPage/authMgt/authMgt");
|
||||
userInfo.setQueryInfo();
|
||||
userInfo.setDownOrganCdList(loginUser.getDownOrganCdList());
|
||||
|
||||
mav.addObject("userInfoList", userInfoService.selectUserInfoList(userInfo));
|
||||
userInfo.setContentCnt(userInfoService.selectUserInfoListCnt(userInfo));
|
||||
userInfo.setPaginationInfo();
|
||||
|
||||
mav.addObject("mgtOrganList", loginUser.getDownOrganCdList());
|
||||
mav.addObject("searchParams", userInfo);
|
||||
return mav;
|
||||
}
|
||||
|
|
@ -43,8 +38,9 @@ public class AuthMgtController {
|
|||
}
|
||||
|
||||
@PostMapping("/saveAuth")
|
||||
public void saveAuth(@RequestBody AuthMgt authMgt){
|
||||
public String saveAuth(@RequestBody AuthMgt authMgt){
|
||||
authMgtService.saveAuth(authMgt);
|
||||
return "";
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
|||
|
|
@ -6,5 +6,4 @@ import org.springframework.data.jpa.repository.JpaRepository;
|
|||
|
||||
public interface ApprovalConfigRepository extends JpaRepository<ApprovalConfig, ApprovalConfig.ApprovalConfigId> {
|
||||
|
||||
void deleteByMenuKey(Integer menuKey);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -7,10 +7,8 @@ import com.dbnt.faisp.main.authMgt.model.AuthMgt;
|
|||
import com.dbnt.faisp.main.authMgt.repository.AccessConfigRepository;
|
||||
import com.dbnt.faisp.main.authMgt.repository.ApprovalConfigRepository;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import org.egovframe.rte.fdl.cmmn.EgovAbstractServiceImpl;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
|
@ -18,7 +16,7 @@ import java.util.Map;
|
|||
|
||||
@Service
|
||||
@RequiredArgsConstructor
|
||||
public class AuthMgtService extends EgovAbstractServiceImpl {
|
||||
public class AuthMgtService {
|
||||
private final AuthMgtMapper authMgtMapper;
|
||||
private final AccessConfigRepository accessConfigRepository;
|
||||
private final ApprovalConfigRepository approvalConfigRepository;
|
||||
|
|
@ -30,10 +28,6 @@ public class AuthMgtService extends EgovAbstractServiceImpl {
|
|||
return authMgtMapper.selectAccessConfigList(params);
|
||||
}
|
||||
|
||||
public String selectAccessAuth(Integer menuKey, Integer userSeq){
|
||||
return accessConfigRepository.findById(new AccessConfig.AccessConfigId(menuKey, userSeq)).orElse(new AccessConfig()).getAccessAuth();
|
||||
}
|
||||
|
||||
public List<ApprovalConfig> selectApprovalConfigList(Integer userSeq, String url) {
|
||||
Map<String, Object> params = new HashMap<>();
|
||||
params.put("userSeq", userSeq);
|
||||
|
|
@ -42,27 +36,8 @@ public class AuthMgtService extends EgovAbstractServiceImpl {
|
|||
}
|
||||
|
||||
public void saveAuth(AuthMgt authMgt) {
|
||||
List<ApprovalConfig> approvalConfigList = authMgt.getApprovalConfigList();
|
||||
List<AccessConfig> accessConfigList = authMgt.getAccessConfigList();
|
||||
List<AccessConfig> tempList = new ArrayList<>();
|
||||
for(ApprovalConfig approvalConfig: approvalConfigList){
|
||||
boolean menuFlag = false;
|
||||
for(AccessConfig accessConfig: accessConfigList){
|
||||
if (accessConfig.getAccessAuth() != null && approvalConfig.getApprovalAuth() != null && accessConfig.getMenuKey().equals(approvalConfig.getMenuKey())){
|
||||
menuFlag = true;
|
||||
}
|
||||
}
|
||||
if(!menuFlag){
|
||||
AccessConfig temp = new AccessConfig();
|
||||
temp.setMenuKey(approvalConfig.getMenuKey());
|
||||
temp.setUserSeq(approvalConfig.getUserSeq());
|
||||
temp.setAccessAuth("ACC002");
|
||||
tempList.add(temp);
|
||||
}
|
||||
}
|
||||
accessConfigList.addAll(tempList);
|
||||
approvalConfigRepository.saveAll(approvalConfigList);
|
||||
accessConfigRepository.saveAll(accessConfigList);
|
||||
accessConfigRepository.saveAll(authMgt.getAccessConfigList());
|
||||
approvalConfigRepository.saveAll(authMgt.getApprovalConfigList());
|
||||
}
|
||||
|
||||
public List<Integer> selectApprvUserList(String wrtOrgan, Integer menuKey, String apprvAuth) {
|
||||
|
|
|
|||
|
|
@ -1,393 +0,0 @@
|
|||
package com.dbnt.faisp.main.budget;
|
||||
|
||||
import com.dbnt.faisp.main.budget.common.ResultResponseCode;
|
||||
import com.dbnt.faisp.main.budget.model.*;
|
||||
import com.dbnt.faisp.main.budget.model.result.*;
|
||||
import com.dbnt.faisp.main.budget.service.BudgetService;
|
||||
import com.dbnt.faisp.main.userInfo.model.UserInfo;
|
||||
import com.dbnt.faisp.main.userInfo.service.UserInfoService;
|
||||
|
||||
import lombok.RequiredArgsConstructor;
|
||||
|
||||
import org.springframework.data.domain.Pageable;
|
||||
import org.springframework.security.core.annotation.AuthenticationPrincipal;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
import org.springframework.web.servlet.ModelAndView;
|
||||
|
||||
import java.time.LocalDate;
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
|
||||
@SuppressWarnings("unchecked")
|
||||
@RequiredArgsConstructor
|
||||
@RestController
|
||||
@RequestMapping("/budget")
|
||||
public class BudgetController {
|
||||
private final UserInfoService userInfoService;
|
||||
private final BudgetService budgetService;
|
||||
|
||||
/* 예산편성 - 화면 */
|
||||
@GetMapping("/budgeting")
|
||||
public ModelAndView viewShipList(@AuthenticationPrincipal UserInfo loginUser, BudgetDto.BudgetingSearchReqeust requestDto, Pageable pageable) {
|
||||
ModelAndView mav = new ModelAndView("budget/budgeting");
|
||||
if (requestDto.getYear() == null) {
|
||||
LocalDate date = LocalDate.now();
|
||||
requestDto.setYear(date.getYear());
|
||||
}
|
||||
System.out.println(requestDto.getYear());
|
||||
List<BudgetingList> list = budgetService.selectBudgetingList(loginUser, requestDto);
|
||||
List<Integer> yearList = budgetService.selectBudgetingYearList(loginUser);
|
||||
long sum = 0;
|
||||
for (int i = 0; i < list.size(); i++) {
|
||||
sum += list.get(i).getAmount();
|
||||
}
|
||||
requestDto.setSum(sum);
|
||||
// System.out.println(yearList.get(1).getYear());
|
||||
// System.out.println(yearList.size());
|
||||
mav.addObject("list", list);
|
||||
mav.addObject("yearList", yearList);
|
||||
mav.addObject("searchParams", requestDto);
|
||||
|
||||
return mav;
|
||||
}
|
||||
|
||||
// 예산편성 - 연도 추가
|
||||
@PostMapping("/budgeting/year")
|
||||
public ResultResponse<?> copyBudgeting(@AuthenticationPrincipal UserInfo loginUser, @RequestBody BudgetDto.BudgetingCopyReqeust requestDto) {
|
||||
budgetService.copyYearBudgeting(loginUser, requestDto);
|
||||
return new ResultResponse().successResponse(ResultResponseCode.SUCCESS);
|
||||
}
|
||||
|
||||
// 예산편성 - 연도 삭제
|
||||
@PostMapping("/budgeting/deleteYear")
|
||||
public ResultResponse<?> deleteYearBudgeting(@AuthenticationPrincipal UserInfo loginUser, BudgetDto.BudgetingCopyReqeust requestDto) {
|
||||
budgetService.deleteBudgetingYear(loginUser, requestDto);
|
||||
return new ResultResponse().successResponse(ResultResponseCode.SUCCESS);
|
||||
}
|
||||
|
||||
//예산편성 - 항목추가/변경 모달(버튼)
|
||||
@GetMapping("/budgeting/modal/edit")
|
||||
public ModelAndView editModal(@AuthenticationPrincipal UserInfo loginUser, BudgetDto.BudgetingInsertReqeust requestDto) {
|
||||
ModelAndView mav = new ModelAndView("budget/budgetingEditModal");
|
||||
|
||||
// System.out.println(requestDto.getNameL1());
|
||||
if (requestDto.getNameL1() != null) {
|
||||
mav.addObject("info", requestDto);
|
||||
mav.addObject("cmd", "update");
|
||||
} else {
|
||||
mav.addObject("info");
|
||||
mav.addObject("cmd", "insert");
|
||||
}
|
||||
return mav;
|
||||
}
|
||||
|
||||
//예산편성 - 항목추가
|
||||
@PostMapping("/budgeting/code")
|
||||
public ResultResponse<?> insertBudgeting(@AuthenticationPrincipal UserInfo loginUser, BudgetDto.BudgetingInsertReqeust requestDto) {
|
||||
return new ResultResponse(budgetService.insertBudgetingList(loginUser, requestDto));
|
||||
}
|
||||
|
||||
//예산편성 - 항목변경
|
||||
@PostMapping("/budgeting/updateCode")
|
||||
public ResultResponse<?> updateBudgeting(@AuthenticationPrincipal UserInfo loginUser, BudgetDto.BudgetingUpdateReqeust requestDto) {
|
||||
return new ResultResponse(budgetService.updateBudgetingList(loginUser, requestDto));
|
||||
}
|
||||
|
||||
//예산편성 - 항목삭제
|
||||
@PostMapping("/budgeting/deleteCode")
|
||||
public ResultResponse<?> deleteBudgeting(@AuthenticationPrincipal UserInfo loginUser, BudgetDto.BudgetingInsertReqeust requestDto) {
|
||||
return new ResultResponse(budgetService.deleteBudgetingList(loginUser, requestDto));
|
||||
}
|
||||
|
||||
// 예산편성 - 예산편성 버튼(modal)
|
||||
@GetMapping("/budgeting/modal/org")
|
||||
public ModelAndView orgModal(@AuthenticationPrincipal UserInfo loginUser, BudgetDto.BudgetingSearchReqeust requestDto) {
|
||||
ModelAndView mav = new ModelAndView("budget/budgetingOrgModal");
|
||||
List<BudgetingList> list = budgetService.selectBudgetingList(loginUser, requestDto);
|
||||
mav.addObject("list", list);
|
||||
mav.addObject("searchParams", requestDto);
|
||||
return mav;
|
||||
}
|
||||
|
||||
// 예산편성 - 예산편성(저장)
|
||||
@PostMapping("/budgeting/save")
|
||||
public ResultResponse<?> saveBudgeting(@AuthenticationPrincipal UserInfo loginUser, @RequestBody BudgetDto.BudgetingSaveReqeust requestDto) {
|
||||
budgetService.saveBudgetingList(loginUser, requestDto);
|
||||
return new ResultResponse().successResponse(ResultResponseCode.SUCCESS);
|
||||
}
|
||||
|
||||
// 예산편성 - 예산삭제 (0원 세팅)
|
||||
@PostMapping("/deleteBudgeting") //@AuthenticationPrincipal
|
||||
public ResultResponse<?> deleteBudgeting(UserInfo loginUser, BudgetDto.BudgetingSaveReqeust requestDto) {
|
||||
budgetService.deleteBudgeting(loginUser, requestDto);
|
||||
return new ResultResponse().successResponse(ResultResponseCode.SUCCESS);
|
||||
}
|
||||
|
||||
// 예산배정
|
||||
@GetMapping("/assign")
|
||||
public ModelAndView viewAssignList(@AuthenticationPrincipal UserInfo loginUser, BudgetDto.AssignSearchReqeust requestDto, Pageable pageable) {
|
||||
ModelAndView mav = new ModelAndView("budget/assign");
|
||||
String userOrgCode;
|
||||
if (requestDto.getYear() != null) {
|
||||
userOrgCode = requestDto.getCode();
|
||||
|
||||
// List<AssignResult> list = budgetService.selectBudgetAssignInfo(loginUser, requestDto);
|
||||
List<AssignResult> list = budgetService.selectBudgetAssignInfoList(requestDto);
|
||||
mav.addObject("list", list);
|
||||
} else {
|
||||
// 로그인된 해당청 기본선택
|
||||
userOrgCode = loginUser.getOgCd();
|
||||
requestDto.setCode(userOrgCode);
|
||||
|
||||
mav.addObject("list");
|
||||
|
||||
// 첫해 첫날 ~ 오늘날짜 기본세팅
|
||||
LocalDate date = LocalDate.now();
|
||||
String CurrentYear = date.getYear() + "-01-01";
|
||||
requestDto.setStDate(LocalDate.parse(CurrentYear));
|
||||
requestDto.setEdDate(date);
|
||||
}
|
||||
//하위청 리스트 - 검색용
|
||||
mav.addObject("downOrgList", budgetService.selectDownOrg(loginUser.getOgCd()));
|
||||
//하위청 리스트 - 목록용
|
||||
mav.addObject("downList", budgetService.selectDownOrg(requestDto.getCode()));
|
||||
mav.addObject("loginOrgan", loginUser.getOgCd());
|
||||
|
||||
mav.addObject("searchParams", requestDto);
|
||||
|
||||
return mav;
|
||||
}
|
||||
|
||||
|
||||
// 예산배정 - 리스트 수정
|
||||
@GetMapping("/assign/modal/edit")
|
||||
public ModelAndView viewAssignModal(@AuthenticationPrincipal UserInfo loginUser, BudgetDto.AssignSearchReqeust requestDto, Pageable pageable) {
|
||||
ModelAndView mav = new ModelAndView("budget/assignEditModal");
|
||||
String userOrgCode;
|
||||
LocalDate date = LocalDate.now();
|
||||
requestDto.setModalDate(date);
|
||||
if (requestDto.getYear() != null) {
|
||||
userOrgCode = requestDto.getCode();
|
||||
|
||||
// List<AssignResult> list = budgetService.selectBudgetAssignInfo(loginUser, requestDto);
|
||||
List<AssignResult> list = budgetService.selectBudgetAssignInfoList(requestDto);
|
||||
mav.addObject("list", list);
|
||||
} else {
|
||||
// 로그인된 해당청 기본선택
|
||||
userOrgCode = userInfoService.selectUserInfo(loginUser.getUserSeq()).getOgCd();
|
||||
String HighOrgCode = budgetService.selectGetHighOrgCode(userOrgCode);
|
||||
if (HighOrgCode == null) { // 1, 2단계시
|
||||
requestDto.setCode(userOrgCode);
|
||||
} else { // 3단계 이하 관서시
|
||||
requestDto.setCode(HighOrgCode);
|
||||
userOrgCode = HighOrgCode;
|
||||
}
|
||||
|
||||
mav.addObject("list");
|
||||
}
|
||||
//하위청 리스트
|
||||
List<CodeResult> downOrgList = budgetService.selectDownOrg(loginUser.getOgCd());
|
||||
mav.addObject("downOrgList", downOrgList);
|
||||
|
||||
List<CodeResult> codeList = budgetService.selectGetLowerOrgCodeByName(loginUser);
|
||||
mav.addObject("codeList", codeList);
|
||||
|
||||
mav.addObject("searchParams", requestDto);
|
||||
|
||||
return mav;
|
||||
}
|
||||
|
||||
// 예산배정 - 등록(저장버튼)
|
||||
@PostMapping("/assign/save")
|
||||
public List<ResultResponse<?>> saveAssign(@AuthenticationPrincipal UserInfo loginUser, @RequestBody List<BudgetDto.AssignSaveReqeust> requestList) {
|
||||
List<ResultResponse<?>> responseList = new ArrayList<>();
|
||||
for(BudgetDto.AssignSaveReqeust requestDto : requestList){
|
||||
responseList.add(new ResultResponse(budgetService.updateAssignList(loginUser, requestDto)));
|
||||
}
|
||||
return responseList;
|
||||
}
|
||||
|
||||
// 집행관리
|
||||
@GetMapping("/expense")
|
||||
public ModelAndView viewExpenseList(@AuthenticationPrincipal UserInfo loginUser, BudgetDto.AssignSearchReqeust requestDto, Pageable pageable) {
|
||||
ModelAndView mav = new ModelAndView("budget/expense");
|
||||
String userOrgCode;
|
||||
if (requestDto.getYear() != null) {
|
||||
userOrgCode = requestDto.getCode();
|
||||
|
||||
// List<ExpenseResult> list = budgetService.selectBudgetExpenseInfo(loginUser, requestDto);
|
||||
BudgetParams params = new BudgetParams();
|
||||
params.setYear(requestDto.getYear().toString());
|
||||
params.setCode(requestDto.getCode());
|
||||
params.setUser(loginUser.getUserId());
|
||||
params.setStDate(requestDto.getStDate());
|
||||
params.setEdDate(requestDto.getEdDate());
|
||||
List<ExpenseResult> list = budgetService.selectBudgetExpenseInfoList(params);
|
||||
mav.addObject("list", list);
|
||||
} else {
|
||||
// 로그인된 해당청 기본선택
|
||||
userOrgCode = loginUser.getOgCd();
|
||||
requestDto.setCode(userOrgCode);
|
||||
|
||||
mav.addObject("list");
|
||||
|
||||
// 첫해 첫날 ~ 오늘날짜 기본세팅
|
||||
LocalDate date = LocalDate.now();
|
||||
String CurrentYear = date.getYear() + "-01-01";
|
||||
requestDto.setStDate(LocalDate.parse(CurrentYear));
|
||||
requestDto.setEdDate(date);
|
||||
}
|
||||
//하위청 리스트 - 검색용
|
||||
mav.addObject("downOrgList", budgetService.selectDownOrg(loginUser.getOgCd()));
|
||||
//하위청 리스트 - 목록용
|
||||
mav.addObject("downList", budgetService.selectDownOrg(requestDto.getCode()));
|
||||
mav.addObject("loginOrgan", loginUser.getOgCd());
|
||||
|
||||
mav.addObject("searchParams", requestDto);
|
||||
|
||||
return mav;
|
||||
}
|
||||
|
||||
@PostMapping("/expense")
|
||||
public ResultResponse<?> saveExpense(@AuthenticationPrincipal UserInfo loginUser, @RequestBody BudgetDto.ExpenseSaveReqeust requestDto) {
|
||||
return new ResultResponse(budgetService.insertExpense(loginUser, requestDto));
|
||||
}
|
||||
|
||||
/* 집행? - 팝업화면 */
|
||||
@GetMapping("/expense/modal/view")
|
||||
public ModelAndView viewExpenseModal(@AuthenticationPrincipal UserInfo loginUser, BudgetDto.ExpenseSearchReqeust requestDto, Pageable pageable) {
|
||||
ModelAndView mav = new ModelAndView("budget/expenseEditModal");
|
||||
List<ExpenseInfoResult> list = budgetService.selectBudgetExpense(loginUser, requestDto);
|
||||
|
||||
mav.addObject("list", list);
|
||||
mav.addObject("searchParams", requestDto);
|
||||
|
||||
return mav;
|
||||
}
|
||||
|
||||
/* 집행표 - 화면 */
|
||||
@GetMapping("/stats")
|
||||
public ModelAndView viewStatsAllList(@AuthenticationPrincipal UserInfo loginUser, BudgetDto.StatsSearchReqeust requestDto, Pageable pageable) {
|
||||
ModelAndView mav = new ModelAndView("budget/stats");
|
||||
if(requestDto.getCode()==null){
|
||||
//기초 검색 데이터 세팅
|
||||
requestDto.setCode(loginUser.getOgCd());
|
||||
requestDto.setWon(1);
|
||||
LocalDate date = LocalDate.now();
|
||||
requestDto.setStDate(LocalDate.parse(date.getYear()+"-01-01"));
|
||||
requestDto.setEdDate(date);
|
||||
}
|
||||
|
||||
mav.addObject("budgetCode", budgetService.selectBudgetCodeToYear(requestDto.getStDate().getYear()));
|
||||
BudgetParams params = new BudgetParams();
|
||||
params.setCode(requestDto.getCode());
|
||||
params.setWon(requestDto.getWon());
|
||||
params.setYear(((Integer)requestDto.getStDate().getYear()).toString());
|
||||
params.setStDate(requestDto.getStDate());
|
||||
params.setEdDate(requestDto.getEdDate());
|
||||
mav.addObject("totalList", budgetService.selectStatsTotal(params));
|
||||
mav.addObject("statsList", budgetService.selectStatsList(params, loginUser.getDownOrganCdList()));
|
||||
mav.addObject("loginOrgan", loginUser.getOgCd());
|
||||
if(loginUser.getOgCd().equals("OG001")){
|
||||
//하위청 리스트
|
||||
List<CodeResult> downOrgList = budgetService.selectDownOrg(loginUser.getOgCd());
|
||||
mav.addObject("downOrgList", downOrgList);
|
||||
}
|
||||
mav.addObject("searchParams", requestDto);
|
||||
return mav;
|
||||
}
|
||||
|
||||
/* 집행표 - 화면 */
|
||||
@GetMapping("/stats/org")
|
||||
public ModelAndView viewExpenseList(@AuthenticationPrincipal UserInfo loginUser, BudgetDto.StatsSearchReqeust requestDto) {
|
||||
ModelAndView mav = new ModelAndView("budget/statsOrg");
|
||||
String userOrgCode;
|
||||
if (requestDto.getYear() != null) {
|
||||
userOrgCode = requestDto.getCode();
|
||||
|
||||
// List<ExpenseResult> list = budgetService.selectSpGetbudgetStatOrg(loginUser, requestDto);
|
||||
BudgetParams params = new BudgetParams();
|
||||
params.setYear(requestDto.getYear().toString());
|
||||
params.setCode(requestDto.getCode());
|
||||
params.setUser(loginUser.getUserId());
|
||||
params.setStDate(requestDto.getStDate());
|
||||
params.setEdDate(requestDto.getEdDate());
|
||||
params.setWon(requestDto.getWon());
|
||||
List<ExpenseResult> list = budgetService.selectBudgetExpenseInfoList(params);
|
||||
|
||||
mav.addObject("list", list);
|
||||
} else {
|
||||
// 로그인된 해당청 기본선택
|
||||
userOrgCode = userInfoService.selectUserInfo(loginUser.getUserSeq()).getOgCd();
|
||||
String HighOrgCode = budgetService.selectGetHighOrgCode(userOrgCode);
|
||||
if (HighOrgCode == null) { // 1, 2단계시
|
||||
requestDto.setCode(userOrgCode);
|
||||
} else { // 3단계 이하 관서시
|
||||
requestDto.setCode(HighOrgCode);
|
||||
userOrgCode = HighOrgCode;
|
||||
}
|
||||
|
||||
mav.addObject("list");
|
||||
|
||||
// 첫해 첫날 ~ 오늘날짜 기본세팅
|
||||
LocalDate date = LocalDate.now();
|
||||
String CurrentYear = String.valueOf(date.getYear()) + "-01-01";
|
||||
requestDto.setStDate(LocalDate.parse(CurrentYear));
|
||||
requestDto.setEdDate(date);
|
||||
}
|
||||
//하위청 리스트 - 검색용
|
||||
mav.addObject("downOrgList", budgetService.selectDownOrg(loginUser.getOgCd()));
|
||||
//하위청 리스트 - 목록용
|
||||
mav.addObject("downList", budgetService.selectDownOrg(requestDto.getCode()));
|
||||
mav.addObject("loginOrgan", loginUser.getOgCd());
|
||||
mav.addObject("searchParams", requestDto);
|
||||
|
||||
return mav;
|
||||
}
|
||||
|
||||
/* 세부내역별현황 - 화면 */
|
||||
@GetMapping("/stats/detail")
|
||||
public ModelAndView viewStatsDetailList(@AuthenticationPrincipal UserInfo loginUser, BudgetDto.StatsSearchReqeust requestDto, Pageable pageable) {
|
||||
ModelAndView mav = new ModelAndView("budget/statsDetail");
|
||||
requestDto.setCode(loginUser.getOgCd());
|
||||
|
||||
List<Integer> yearList = budgetService.selectBudgetingYearList(loginUser);
|
||||
if (requestDto.getStDate() != null) {
|
||||
// List<StatsItemResult> list = budgetService.selectSpGetbudgetStatDetail(loginUser, requestDto);
|
||||
List<StatsDetailResult> list = budgetService.selectStatDetailList(requestDto);
|
||||
List<L3CodeResult> codeList = budgetService.selectSpGetL3Code(loginUser, requestDto.getYear());
|
||||
mav.addObject("list", list);
|
||||
mav.addObject("codeList", codeList);
|
||||
} else {
|
||||
LocalDate date = LocalDate.now();
|
||||
List<L3CodeResult> codeList = budgetService.selectSpGetL3Code(loginUser, date.getYear());
|
||||
requestDto.setYear(requestDto.getYear()==null?date.getYear():requestDto.getYear());
|
||||
mav.addObject("list");
|
||||
mav.addObject("codeList", codeList);
|
||||
// 첫해 첫날 ~ 오늘날짜 기본세팅
|
||||
String CurrentYear = requestDto.getYear() + "-01-01";
|
||||
requestDto.setStDate(LocalDate.parse(CurrentYear));
|
||||
if(requestDto.getYear().equals(date.getYear())){
|
||||
requestDto.setEdDate(date);
|
||||
}else{
|
||||
requestDto.setEdDate(LocalDate.parse(requestDto.getYear()+"-12-31"));
|
||||
}
|
||||
}
|
||||
|
||||
mav.addObject("yearList", yearList);
|
||||
mav.addObject("searchParams", requestDto);
|
||||
|
||||
return mav;
|
||||
}
|
||||
|
||||
@GetMapping("/stats/code")
|
||||
@ResponseBody
|
||||
public List<L3CodeResult> selectCodeL3(@AuthenticationPrincipal UserInfo loginUser, BudgetDto.L3CodeRequest requestDto) {
|
||||
|
||||
List<L3CodeResult> list = budgetService.selectSpGetL3Code(loginUser, requestDto.getYear());
|
||||
return list;
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
|
@ -1,18 +0,0 @@
|
|||
package com.dbnt.faisp.main.budget.common;
|
||||
|
||||
import com.dbnt.faisp.main.budget.common.ResultResponseCode;
|
||||
|
||||
public class BaseException extends RuntimeException {
|
||||
|
||||
private static final long serialVersionUID = 163922632784183581L;
|
||||
private ResultResponseCode code;
|
||||
|
||||
public BaseException(ResultResponseCode code) {
|
||||
this.code = code;
|
||||
}
|
||||
|
||||
public ResultResponseCode getCode(){
|
||||
return code;
|
||||
}
|
||||
|
||||
}
|
||||
|
|
@ -1,53 +0,0 @@
|
|||
package com.dbnt.faisp.main.budget.common;
|
||||
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Getter;
|
||||
|
||||
import java.util.Collections;
|
||||
import java.util.Map;
|
||||
import java.util.stream.Collectors;
|
||||
import java.util.stream.Stream;
|
||||
|
||||
@AllArgsConstructor
|
||||
@Getter
|
||||
public enum ResultResponseCode {
|
||||
|
||||
SUCCESS(200, "정상처리되었습니다.","Success"),
|
||||
DATA_NOT_FOUND(604, "존재하지 않는 데이터입니다.","InternalNotFound"),
|
||||
FORBIDDEN(403,"해당요청에 대한 권한이 없습니다.","Forbidden"),
|
||||
PARAM_NOT_NULL(900, " - 필수 입력 사항입니다.", "NotNull"),
|
||||
PARAM_NOT_EMPTY(900, " - 필수 입력 사항입니다.", "NotEmpty"),
|
||||
INTERNAL_PARAM_EMPTY(900, "필수 항목이 누락되었습니다.", "InternalParamEmpty"),
|
||||
FILE_EMPTY(900, "필수 파일이 존재하지 않습니다.", "FileEmpty"),
|
||||
PARAM_PERMIT_TYPE(901, "잘못된 형식의 데이터입니다.", "ParamType"),
|
||||
NOT_FOUND_SENDER(903, "발송대상이 없습니다.","NotFoundSender"),
|
||||
TYPE_MISMATCH(905, "잘못된 형식의 데이터입니다..", "typeMismatch"),
|
||||
DUPLICATE_CODE(906, "이미 등록된 코드명칭입니다.", "DuplicateCode"),
|
||||
DELETE_FOUND_VALUE(907, "예산표에 값이 있습니다. 예산삭제 후 해당 코드를 삭제하십시요.", "DELETE_FOUND_VALUE"),
|
||||
|
||||
|
||||
NOT_FOUND_CODE(908, "없는 코드 또는 명칭입니다." ,"NotFoundCodE"),
|
||||
NOT_FOUND_YEAR(909 , " 없는 연도의 코드입니다.", "NotFoundYear"),
|
||||
FOUND_YEAR(910, "이미 등록되어 있는 연도의 코드입니다.", "FoundYear"),
|
||||
EXPENSE_OVER_VALUE(911, "총 지출금액이 배정된 예산보다 큽니다.", "ExepenseOverValue"),
|
||||
ERROR(999, "오류가 발생하였습니다.","ERROR");
|
||||
|
||||
|
||||
|
||||
private static final Map<String, String> CODE_MAP = Collections.unmodifiableMap(Stream.of(values()).collect(Collectors.toMap(ResultResponseCode::getType, ResultResponseCode::name)));
|
||||
|
||||
private int code;
|
||||
private String message;
|
||||
private String type;
|
||||
|
||||
public static ResultResponseCode of(final String code) {
|
||||
try {
|
||||
return ResultResponseCode.valueOf(CODE_MAP.get(code));
|
||||
}catch(NullPointerException NPE) {
|
||||
return ResultResponseCode.valueOf("ERROR");
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
|
@ -1,41 +0,0 @@
|
|||
package com.dbnt.faisp.main.budget.mapper;
|
||||
|
||||
import com.dbnt.faisp.main.budget.model.*;
|
||||
import com.dbnt.faisp.main.budget.model.result.*;
|
||||
import org.apache.ibatis.annotations.Mapper;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
@Mapper
|
||||
public interface BudgetMapper {
|
||||
List<BudgetingList> callSpGetBudgetPlanInfo(BudgetParams param);
|
||||
List<Integer> callSpGetBudgetCodeYearList();
|
||||
UpdateResult callSpCopyBudgetItem(BudgetParams param);
|
||||
UpdateResult callBruteForceDeleteBudgetItem(BudgetParams param);
|
||||
UpdateResult callSpUpdateBudgetPlanCodeItem(BudgetParams param);
|
||||
UpdateResult callSpDeleteBudgetPlan(BudgetParams param);
|
||||
List<AssignResult> callSpGetBudgetAssignInfo(BudgetParams param);
|
||||
List<CodeResult> callSpGetDownOrg(BudgetParams param);
|
||||
List<CodeResult> selectDownOrgList(BudgetParams params);
|
||||
List<CodeResult> callSpGetLowerOrgCodeByName();
|
||||
String callSpGetHighOrgCode(BudgetParams params);
|
||||
UpdateResult callSpAddBudgetAssign(BudgetParams params);
|
||||
List<ExpenseResult> callSpGetBudgetExpenseInfo(BudgetParams params);
|
||||
List<ExpenseInfoResult> callSpGetBudgetExpense(BudgetParams params);
|
||||
UpdateResult callSpAddBudgetExpense(BudgetParams params);
|
||||
List<ExpenseResult> callSpGetbudgetStatOrg(BudgetParams params);
|
||||
List<StatsItemResult> callSpGetbudgetStatDetail(BudgetParams params);
|
||||
List<L3CodeResult> callSpGetBudgetCodeL3(BudgetParams params);
|
||||
|
||||
|
||||
List<BudgetName> selectBudgetInfoList(BudgetParams params);
|
||||
List<AssignAmount> selectBudgetAssignAmountList(BudgetParams params);
|
||||
List<ExpenseAmount> selectBudgetExpenseAmountList(BudgetParams params);
|
||||
List<StatsDetailResult> selectStatDetailList(BudgetParams params);
|
||||
|
||||
List<TblBudgetCodeL1> selectBudgetCodeL1List(String year);
|
||||
List<TblBudgetCodeL2> selectBudgetCodeL2List(String l1Code);
|
||||
|
||||
List<StatsDetailResult> selectStatsTotal(BudgetParams params);
|
||||
List<StatsDetailResult> selectStats(BudgetParams params);
|
||||
}
|
||||
|
|
@ -1,14 +0,0 @@
|
|||
package com.dbnt.faisp.main.budget.model;
|
||||
|
||||
import lombok.Getter;
|
||||
import lombok.Setter;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
@Getter
|
||||
@Setter
|
||||
public class BudgetCode {
|
||||
List<TblBudgetCodeL1> codeL1List;
|
||||
List<TblBudgetCodeL2> codeL2List;
|
||||
List<TblBudgetCodeL3> codeL3List;
|
||||
}
|
||||
|
|
@ -1,156 +0,0 @@
|
|||
package com.dbnt.faisp.main.budget.model;
|
||||
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Data;
|
||||
import lombok.NoArgsConstructor;
|
||||
import lombok.ToString;
|
||||
import org.springframework.format.annotation.DateTimeFormat;
|
||||
|
||||
import java.time.LocalDate;
|
||||
|
||||
public class BudgetDto {
|
||||
|
||||
@Data
|
||||
@AllArgsConstructor
|
||||
@ToString
|
||||
public static class BudgetingListResponse {
|
||||
private String budgetNameL1;
|
||||
private String budgetNameL2;
|
||||
private String budgetNameL3;
|
||||
}
|
||||
|
||||
@Data
|
||||
@AllArgsConstructor
|
||||
@ToString
|
||||
public static class BudgetingSearchReqeust {
|
||||
private Integer year;
|
||||
private Long sum;
|
||||
}
|
||||
|
||||
@Data
|
||||
@AllArgsConstructor
|
||||
@ToString
|
||||
public static class BudgetingInsertReqeust {
|
||||
private String year;
|
||||
private String nameL1;
|
||||
private String nameL2;
|
||||
private String nameL3;
|
||||
}
|
||||
|
||||
@Data
|
||||
@AllArgsConstructor
|
||||
@NoArgsConstructor
|
||||
@ToString
|
||||
public static class BudgetingSaveReqeust {
|
||||
private String year;
|
||||
private String nameL1;
|
||||
private String nameL2;
|
||||
private String nameL3;
|
||||
private Integer amount;
|
||||
}
|
||||
|
||||
@Data
|
||||
@AllArgsConstructor
|
||||
@NoArgsConstructor
|
||||
@ToString
|
||||
public static class AssignSaveReqeust {
|
||||
private String year;
|
||||
private String code;
|
||||
private Integer amount;
|
||||
private String org;
|
||||
private String org1;
|
||||
|
||||
}
|
||||
|
||||
@Data
|
||||
@AllArgsConstructor
|
||||
@NoArgsConstructor
|
||||
@ToString
|
||||
public static class BudgetingCopyReqeust {
|
||||
private String year;
|
||||
private String copyYear;
|
||||
}
|
||||
|
||||
@Data
|
||||
@AllArgsConstructor
|
||||
@ToString
|
||||
public static class BudgetingUpdateReqeust {
|
||||
private String year;
|
||||
private String nameL1;
|
||||
private String nameL2;
|
||||
private String nameL3;
|
||||
private String prevNameL1;
|
||||
private String prevNameL2;
|
||||
private String prevNameL3;
|
||||
|
||||
}
|
||||
|
||||
@Data
|
||||
@AllArgsConstructor
|
||||
@ToString
|
||||
public static class AssignSearchReqeust {
|
||||
private Integer year;
|
||||
private String code;
|
||||
@DateTimeFormat(pattern = "yyyy-MM-dd")
|
||||
private LocalDate stDate;
|
||||
@DateTimeFormat(pattern = "yyyy-MM-dd")
|
||||
private LocalDate edDate;
|
||||
@DateTimeFormat(pattern = "yyyy-MM-dd")
|
||||
private LocalDate modalDate;
|
||||
|
||||
}
|
||||
|
||||
@Data
|
||||
@AllArgsConstructor
|
||||
@NoArgsConstructor
|
||||
@ToString
|
||||
public static class ExpenseSaveReqeust {
|
||||
private String year;
|
||||
private String nameL1;
|
||||
private String nameL2;
|
||||
private String nameL3;
|
||||
private String item;
|
||||
private Integer amount;
|
||||
private String org;
|
||||
@DateTimeFormat(pattern = "yyyy-MM-dd")
|
||||
private LocalDate expenseDate;
|
||||
|
||||
|
||||
}
|
||||
|
||||
@Data
|
||||
@AllArgsConstructor
|
||||
@ToString
|
||||
public static class StatsSearchReqeust {
|
||||
private Integer year;
|
||||
private String code;
|
||||
private String item;
|
||||
@DateTimeFormat(pattern = "yyyy-MM-dd")
|
||||
private LocalDate stDate;
|
||||
@DateTimeFormat(pattern = "yyyy-MM-dd")
|
||||
private LocalDate edDate;
|
||||
private Integer won;
|
||||
|
||||
|
||||
}
|
||||
|
||||
@Data
|
||||
@AllArgsConstructor
|
||||
@NoArgsConstructor
|
||||
@ToString
|
||||
public static class ExpenseSearchReqeust {
|
||||
private String year;
|
||||
private String nameL1;
|
||||
private String nameL2;
|
||||
private String nameL3;
|
||||
private Integer amount;
|
||||
}
|
||||
|
||||
@Data
|
||||
@AllArgsConstructor
|
||||
@ToString
|
||||
public static class L3CodeRequest {
|
||||
private Integer year;
|
||||
|
||||
}
|
||||
}
|
||||
|
|
@ -1,40 +0,0 @@
|
|||
package com.dbnt.faisp.main.budget.model;
|
||||
|
||||
import lombok.Getter;
|
||||
import lombok.NoArgsConstructor;
|
||||
import lombok.Setter;
|
||||
|
||||
import java.time.LocalDate;
|
||||
|
||||
@Getter
|
||||
@Setter
|
||||
@NoArgsConstructor
|
||||
public class BudgetParams {
|
||||
private String code;
|
||||
private String code1;
|
||||
private String code2;
|
||||
private String code3;
|
||||
|
||||
private String year;
|
||||
private String copyYear;
|
||||
private String org;
|
||||
private String org1;
|
||||
private String user;
|
||||
private String id;
|
||||
private String item;
|
||||
private Integer won = 1;
|
||||
|
||||
private String newCode1;
|
||||
private String newCode2;
|
||||
private String newCode3;
|
||||
|
||||
private String nameL1;
|
||||
private String nameL2;
|
||||
private String nameL3;
|
||||
|
||||
private Integer amount;
|
||||
private String dt;
|
||||
|
||||
private LocalDate stDate;
|
||||
private LocalDate edDate;
|
||||
}
|
||||
|
|
@ -1,14 +0,0 @@
|
|||
package com.dbnt.faisp.main.budget.model;
|
||||
|
||||
import com.dbnt.faisp.main.budget.model.result.StatsDetailResult;
|
||||
import lombok.Getter;
|
||||
import lombok.Setter;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
@Getter
|
||||
@Setter
|
||||
public class BudgetStat {
|
||||
String organ;
|
||||
List<StatsDetailResult> amountList;
|
||||
}
|
||||
|
|
@ -1,15 +0,0 @@
|
|||
package com.dbnt.faisp.main.budget.model;
|
||||
|
||||
import lombok.Getter;
|
||||
|
||||
@Getter
|
||||
public class BudgetingList {
|
||||
String budgetNameL1;
|
||||
String budgetNameL2;
|
||||
String budgetNameL3;
|
||||
String budgetCodeL3;
|
||||
Integer amount;
|
||||
String remark;
|
||||
String modiId;
|
||||
String modiDate;
|
||||
}
|
||||
|
|
@ -1,50 +0,0 @@
|
|||
package com.dbnt.faisp.main.budget.model;
|
||||
|
||||
import lombok.Getter;
|
||||
import lombok.NoArgsConstructor;
|
||||
import lombok.Setter;
|
||||
import org.hibernate.annotations.DynamicInsert;
|
||||
import org.hibernate.annotations.DynamicUpdate;
|
||||
|
||||
import javax.persistence.*;
|
||||
import java.time.LocalDateTime;
|
||||
|
||||
@Getter
|
||||
@Setter
|
||||
@Entity
|
||||
@NoArgsConstructor
|
||||
@DynamicInsert
|
||||
@DynamicUpdate
|
||||
@Table(name = "tbl_budget_code_l1")
|
||||
public class TblBudgetCodeL1 {
|
||||
|
||||
@Id
|
||||
@Column(name = "l1_code")
|
||||
private String l1Code;
|
||||
@Column(name = "l1_name")
|
||||
private String l1Name;
|
||||
@Column(name = "l1_year")
|
||||
private String l1Year;
|
||||
@Column(name = "use_tag")
|
||||
private String useTag;
|
||||
@Column(name = "seq_ord")
|
||||
private Integer seqOrd;
|
||||
@Column(name = "remark")
|
||||
private String remark;
|
||||
@Column(name = "modi_date")
|
||||
private LocalDateTime modiDate;
|
||||
|
||||
@Transient
|
||||
private Integer colspan;
|
||||
|
||||
public void setData(String l1Code, String l1Name, String l1Year, String useTag, Integer seqOrd, String remark, LocalDateTime modiDate){
|
||||
this.l1Code = l1Code;
|
||||
this.l1Name = l1Name;
|
||||
this.l1Year = l1Year;
|
||||
this.useTag = useTag;
|
||||
this.seqOrd = seqOrd;
|
||||
this.remark = remark;
|
||||
this.modiDate = modiDate;
|
||||
}
|
||||
|
||||
}
|
||||
|
|
@ -1,49 +0,0 @@
|
|||
package com.dbnt.faisp.main.budget.model;
|
||||
|
||||
import lombok.Getter;
|
||||
import lombok.NoArgsConstructor;
|
||||
import lombok.Setter;
|
||||
import org.hibernate.annotations.DynamicInsert;
|
||||
import org.hibernate.annotations.DynamicUpdate;
|
||||
|
||||
import javax.persistence.*;
|
||||
import java.time.LocalDateTime;
|
||||
|
||||
@Getter
|
||||
@Setter
|
||||
@Entity
|
||||
@NoArgsConstructor
|
||||
@DynamicInsert
|
||||
@DynamicUpdate
|
||||
@Table(name = "tbl_budget_code_l2")
|
||||
public class TblBudgetCodeL2 {
|
||||
|
||||
@Id
|
||||
@Column(name = "l2_code")
|
||||
private String l2Code;
|
||||
@Column(name = "l2_name")
|
||||
private String l2Name;
|
||||
@Column(name = "l1_code")
|
||||
private String l1Code;
|
||||
@Column(name = "use_tag")
|
||||
private String useTag;
|
||||
@Column(name = "seq_ord")
|
||||
private Integer seqOrd;
|
||||
@Column(name = "remark")
|
||||
private String remark;
|
||||
@Column(name = "modi_date")
|
||||
private LocalDateTime modiDate;
|
||||
|
||||
@Transient
|
||||
private Integer colspan;
|
||||
|
||||
public void setData(String l2Code, String l2Name, String l1Code, String useTag, Integer seqOrd, String remark, LocalDateTime modiDate){
|
||||
this.l2Code = l2Code;
|
||||
this.l2Name = l2Name;
|
||||
this.l1Code = l1Code;
|
||||
this.useTag = useTag;
|
||||
this.seqOrd = seqOrd;
|
||||
this.remark = remark;
|
||||
this.modiDate = modiDate;
|
||||
}
|
||||
}
|
||||
|
|
@ -1,49 +0,0 @@
|
|||
package com.dbnt.faisp.main.budget.model;
|
||||
|
||||
import lombok.Getter;
|
||||
import lombok.NoArgsConstructor;
|
||||
import lombok.Setter;
|
||||
import org.hibernate.annotations.DynamicInsert;
|
||||
import org.hibernate.annotations.DynamicUpdate;
|
||||
|
||||
import javax.persistence.*;
|
||||
import java.time.LocalDateTime;
|
||||
|
||||
@Getter
|
||||
@Setter
|
||||
@Entity
|
||||
@NoArgsConstructor
|
||||
@DynamicInsert
|
||||
@DynamicUpdate
|
||||
@Table(name = "tbl_budget_code_l3")
|
||||
public class TblBudgetCodeL3 {
|
||||
|
||||
@Id
|
||||
@Column(name = "l3_code")
|
||||
private String l3Code;
|
||||
@Column(name = "l3_name")
|
||||
private String l3Name;
|
||||
@Column(name = "l2_code")
|
||||
private String l2Code;
|
||||
@Column(name = "use_tag")
|
||||
private String useTag;
|
||||
@Column(name = "seq_ord")
|
||||
private Integer seqOrd;
|
||||
@Column(name = "remark")
|
||||
private String remark;
|
||||
@Column(name = "modi_date")
|
||||
private LocalDateTime modiDate;
|
||||
|
||||
@Transient
|
||||
private Integer colspan;
|
||||
|
||||
public void setData(String l3Code, String l3Name, String l2Code, String useTag, Integer seqOrd, String remark, LocalDateTime modiDate){
|
||||
this.l3Code = l3Code;
|
||||
this.l3Name = l3Name;
|
||||
this.l2Code = l2Code;
|
||||
this.useTag = useTag;
|
||||
this.seqOrd = seqOrd;
|
||||
this.remark = remark;
|
||||
this.modiDate = modiDate;
|
||||
}
|
||||
}
|
||||
|
|
@ -1,50 +0,0 @@
|
|||
package com.dbnt.faisp.main.budget.model;
|
||||
|
||||
import lombok.Getter;
|
||||
import lombok.NoArgsConstructor;
|
||||
import lombok.Setter;
|
||||
import org.hibernate.annotations.DynamicInsert;
|
||||
import org.hibernate.annotations.DynamicUpdate;
|
||||
|
||||
import javax.persistence.*;
|
||||
import java.time.LocalDateTime;
|
||||
|
||||
@Getter
|
||||
@Setter
|
||||
@Entity
|
||||
@NoArgsConstructor
|
||||
@DynamicInsert
|
||||
@DynamicUpdate
|
||||
@Table(name = "tbl_budget_history")
|
||||
public class TblBudgetHistory {
|
||||
|
||||
@Id
|
||||
@GeneratedValue(strategy = GenerationType.IDENTITY)
|
||||
@Column(name = "seq")
|
||||
private Integer seq;
|
||||
@Column(name = "budget_code")
|
||||
private String budgetCode;
|
||||
@Column(name = "org_code")
|
||||
private String orgCode;
|
||||
@Column(name = "update_title")
|
||||
private String updateTitle;
|
||||
@Column(name = "old_amount")
|
||||
private Integer oldAmount;
|
||||
@Column(name = "new_amount")
|
||||
private Integer newAmonut;
|
||||
@Column(name = "modi_id")
|
||||
private String modiId;
|
||||
@Column(name = "modi_date")
|
||||
private LocalDateTime modiDate;
|
||||
|
||||
public void setData(String budgetCode, String orgCode, String updateTitle, Integer oldAmount, Integer newAmonut, String modiId, LocalDateTime modiDate){
|
||||
this.budgetCode = budgetCode;
|
||||
this.orgCode = orgCode;
|
||||
this.updateTitle = updateTitle;
|
||||
this.oldAmount = oldAmount;
|
||||
this.newAmonut = newAmonut;
|
||||
this.modiId = modiId;
|
||||
this.modiDate = modiDate;
|
||||
}
|
||||
|
||||
}
|
||||
|
|
@ -1,47 +0,0 @@
|
|||
package com.dbnt.faisp.main.budget.model;
|
||||
|
||||
import lombok.Getter;
|
||||
import lombok.NoArgsConstructor;
|
||||
import lombok.Setter;
|
||||
import org.hibernate.annotations.DynamicInsert;
|
||||
import org.hibernate.annotations.DynamicUpdate;
|
||||
|
||||
import javax.persistence.*;
|
||||
import java.time.LocalDateTime;
|
||||
|
||||
@Getter
|
||||
@Setter
|
||||
@Entity
|
||||
@NoArgsConstructor
|
||||
@DynamicInsert
|
||||
@DynamicUpdate
|
||||
@Table(name = "tbl_budget_plan")
|
||||
public class TblBudgetPlan {
|
||||
|
||||
@Id
|
||||
@GeneratedValue(strategy = GenerationType.IDENTITY)
|
||||
@Column(name = "seq")
|
||||
private Integer seq;
|
||||
@Column(name = "budget_code")
|
||||
private String budgetCode;
|
||||
@Column(name = "org_code")
|
||||
private String orgCode;
|
||||
@Column(name = "amount")
|
||||
private Integer amount;
|
||||
@Column(name = "remark")
|
||||
private String remark;
|
||||
@Column(name = "modi_id")
|
||||
private String modiId;
|
||||
@Column(name = "modi_date")
|
||||
private LocalDateTime modiDate;
|
||||
|
||||
public void setData(String budgetCode, String orgCode, Integer amount, String remark, String modiId, LocalDateTime modiDate){
|
||||
this.budgetCode = budgetCode;
|
||||
this.orgCode = orgCode;
|
||||
this.amount = amount;
|
||||
this.remark = remark;
|
||||
this.modiId = modiId;
|
||||
this.modiDate = modiDate;
|
||||
}
|
||||
|
||||
}
|
||||
|
|
@ -1,12 +0,0 @@
|
|||
package com.dbnt.faisp.main.budget.model.result;
|
||||
|
||||
import lombok.Getter;
|
||||
|
||||
@Getter
|
||||
public class AssignAmount {
|
||||
Integer orderSeq;
|
||||
String organCd;
|
||||
String budgetCode;
|
||||
Integer periodAssignAmount;
|
||||
Integer sumAssignAmount;
|
||||
}
|
||||
|
|
@ -1,29 +0,0 @@
|
|||
package com.dbnt.faisp.main.budget.model.result;
|
||||
|
||||
import lombok.Getter;
|
||||
import lombok.Setter;
|
||||
|
||||
@Getter
|
||||
@Setter
|
||||
public class AssignResult extends BudgetName{
|
||||
String totalAssignAmount = "0";
|
||||
String periodAssignAmount1 = "0";
|
||||
String sumAssignAmount1 = "0";
|
||||
String periodAssignAmount2 = "0";
|
||||
String sumAssignAmount2 = "0";
|
||||
String periodAssignAmount3 = "0";
|
||||
String sumAssignAmount3 = "0";
|
||||
String periodAssignAmount4 = "0";
|
||||
String sumAssignAmount4 = "0";
|
||||
String periodAssignAmount5 = "0";
|
||||
String sumAssignAmount5 = "0";
|
||||
String periodAssignAmount6 = "0";
|
||||
String sumAssignAmount6 = "0";
|
||||
String periodAssignAmount7 = "0";
|
||||
String sumAssignAmount7 = "0";
|
||||
String periodAssignAmount8 = "0";
|
||||
String sumAssignAmount8 = "0";
|
||||
String periodAssignAmount9 = "0";
|
||||
String sumAssignAmount9 = "0";
|
||||
|
||||
}
|
||||
|
|
@ -1,15 +0,0 @@
|
|||
package com.dbnt.faisp.main.budget.model.result;
|
||||
|
||||
import lombok.Getter;
|
||||
import lombok.Setter;
|
||||
|
||||
@Getter
|
||||
@Setter
|
||||
public class BudgetName {
|
||||
String orgCount;
|
||||
String budgetNameL1;
|
||||
String budgetNameL2;
|
||||
String budgetNameL3;
|
||||
String budgetCodeL3;
|
||||
String planAmount = "0";
|
||||
}
|
||||
|
|
@ -1,10 +0,0 @@
|
|||
package com.dbnt.faisp.main.budget.model.result;
|
||||
|
||||
import lombok.Getter;
|
||||
|
||||
@Getter
|
||||
public class CodeResult {
|
||||
String orgName;
|
||||
String orgCode;
|
||||
|
||||
}
|
||||
|
|
@ -1,14 +0,0 @@
|
|||
package com.dbnt.faisp.main.budget.model.result;
|
||||
|
||||
import lombok.Getter;
|
||||
|
||||
@Getter
|
||||
public class ExpenseAmount {
|
||||
Integer orderSeq;
|
||||
String organCd;
|
||||
String budgetCode;
|
||||
Integer periodAssignAmount;
|
||||
Integer expenseAssignAmount;
|
||||
Integer balanceAmount;
|
||||
Double expenseRate;
|
||||
}
|
||||
|
|
@ -1,13 +0,0 @@
|
|||
package com.dbnt.faisp.main.budget.model.result;
|
||||
|
||||
import lombok.Getter;
|
||||
|
||||
@Getter
|
||||
public class ExpenseInfoResult {
|
||||
String seq;
|
||||
String expenseDate;
|
||||
String expenseItem;
|
||||
String amount;
|
||||
String modiId;
|
||||
String modiDate;
|
||||
}
|
||||
|
|
@ -1,61 +0,0 @@
|
|||
package com.dbnt.faisp.main.budget.model.result;
|
||||
|
||||
import lombok.Getter;
|
||||
import lombok.Setter;
|
||||
|
||||
@Getter
|
||||
@Setter
|
||||
public class ExpenseResult extends BudgetName{
|
||||
Double totalAssignAmount = 0d;
|
||||
Double expenseTAmount = 0d;
|
||||
Double balanceTAmount = 0d;
|
||||
Double taRate = 0d;
|
||||
|
||||
Double periodAssignAmount1 = 0d;
|
||||
Double expensePAmount1 = 0d;
|
||||
Double balanceAmount1 = 0d;
|
||||
Double expenseRate1 = 0d;
|
||||
|
||||
Double periodAssignAmount2 = 0d;
|
||||
Double expensePAmount2 = 0d;
|
||||
Double balanceAmount2 = 0d;
|
||||
Double expenseRate2 = 0d;
|
||||
|
||||
Double periodAssignAmount3 = 0d;
|
||||
Double expensePAmount3 = 0d;
|
||||
Double balanceAmount3 = 0d;
|
||||
Double expenseRate3 = 0d;
|
||||
|
||||
|
||||
Double periodAssignAmount4 = 0d;
|
||||
Double expensePAmount4 = 0d;
|
||||
Double balanceAmount4 = 0d;
|
||||
Double expenseRate4 = 0d;
|
||||
|
||||
|
||||
Double periodAssignAmount5 = 0d;
|
||||
Double expensePAmount5 = 0d;
|
||||
Double balanceAmount5 = 0d;
|
||||
Double expenseRate5 = 0d;
|
||||
|
||||
|
||||
Double periodAssignAmount6 = 0d;
|
||||
Double expensePAmount6 = 0d;
|
||||
Double balanceAmount6 = 0d;
|
||||
Double expenseRate6 = 0d;
|
||||
|
||||
Double periodAssignAmount7 = 0d;
|
||||
Double expensePAmount7 = 0d;
|
||||
Double balanceAmount7 = 0d;
|
||||
Double expenseRate7 = 0d;
|
||||
|
||||
Double periodAssignAmount8 = 0d;
|
||||
Double expensePAmount8 = 0d;
|
||||
Double balanceAmount8 = 0d;
|
||||
Double expenseRate8 = 0d;
|
||||
|
||||
Double periodAssignAmount9 = 0d;
|
||||
Double expensePAmount9 = 0d;
|
||||
Double balanceAmount9 = 0d;
|
||||
Double expenseRate9 = 0d;
|
||||
}
|
||||
|
|
@ -1,10 +0,0 @@
|
|||
package com.dbnt.faisp.main.budget.model.result;
|
||||
|
||||
import lombok.Getter;
|
||||
|
||||
@Getter
|
||||
public class L3CodeResult {
|
||||
|
||||
String l3Name;
|
||||
String l3Code;
|
||||
}
|
||||
|
|
@ -1,37 +0,0 @@
|
|||
package com.dbnt.faisp.main.budget.model.result;
|
||||
|
||||
import com.dbnt.faisp.main.budget.common.ResultResponseCode;
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Getter;
|
||||
import lombok.NoArgsConstructor;
|
||||
import lombok.Setter;
|
||||
|
||||
@Getter
|
||||
@Setter
|
||||
@NoArgsConstructor
|
||||
@AllArgsConstructor
|
||||
public class ResultResponse<T> {
|
||||
|
||||
private int code;
|
||||
private String message;
|
||||
private T data;
|
||||
|
||||
public ResultResponse(int code, String message) {
|
||||
this.code = code;
|
||||
this.message = message;
|
||||
}
|
||||
|
||||
public ResultResponse(ResultResponseCode responseCode) {
|
||||
this.code = responseCode.getCode();
|
||||
this.message = responseCode.getMessage();
|
||||
}
|
||||
|
||||
public ResultResponse<?> successResponse(T data) {
|
||||
this.code = ResultResponseCode.SUCCESS.getCode();
|
||||
this.message = ResultResponseCode.SUCCESS.getMessage();
|
||||
this.data = data;
|
||||
return new ResultResponse<>(this.code, this.message, this.data);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
|
@ -1,17 +0,0 @@
|
|||
package com.dbnt.faisp.main.budget.model.result;
|
||||
|
||||
import lombok.Getter;
|
||||
import lombok.Setter;
|
||||
|
||||
@Getter
|
||||
@Setter
|
||||
public class StatsDetailResult {
|
||||
String parentOrgan;
|
||||
String organCd;
|
||||
String budgetCode;
|
||||
Double planAmount = 0d;
|
||||
Double assignAmount = 0d;
|
||||
Double expenseAmount = 0d;
|
||||
Double balanceAmount = 0d;
|
||||
Double rate = 0d;
|
||||
}
|
||||
|
|
@ -1,13 +0,0 @@
|
|||
package com.dbnt.faisp.main.budget.model.result;
|
||||
|
||||
import lombok.Getter;
|
||||
|
||||
@Getter
|
||||
public class StatsItemResult {
|
||||
String orgName;
|
||||
String planAmount;
|
||||
String totalAssignAmount;
|
||||
String expenseTAmount;
|
||||
String balanceTAmount;
|
||||
String expenseTotalRate;
|
||||
}
|
||||
|
|
@ -1,10 +0,0 @@
|
|||
package com.dbnt.faisp.main.budget.model.result;
|
||||
|
||||
import lombok.Getter;
|
||||
|
||||
@Getter
|
||||
public class UpdateResult {
|
||||
Integer resultCount;
|
||||
String resultCode;
|
||||
String errorMessage;
|
||||
}
|
||||
|
|
@ -1,8 +0,0 @@
|
|||
package com.dbnt.faisp.main.budget.model.result;
|
||||
|
||||
import lombok.Getter;
|
||||
|
||||
@Getter
|
||||
public class YearResult {
|
||||
Integer year;
|
||||
}
|
||||
|
|
@ -1,204 +0,0 @@
|
|||
package com.dbnt.faisp.main.budget.repository;
|
||||
|
||||
import com.dbnt.faisp.main.budget.model.*;
|
||||
import com.dbnt.faisp.main.budget.model.result.*;
|
||||
import com.dbnt.faisp.main.codeMgt.model.CodeCatg;
|
||||
import org.springframework.data.jpa.repository.JpaRepository;
|
||||
import org.springframework.data.jpa.repository.Query;
|
||||
import org.springframework.data.repository.query.Param;
|
||||
import org.springframework.stereotype.Repository;
|
||||
|
||||
import java.sql.Date;
|
||||
import java.util.List;
|
||||
|
||||
@Repository
|
||||
public interface BudgetRepository extends JpaRepository<CodeCatg, String> {
|
||||
|
||||
@Query(value = " select "
|
||||
+ "budget_name_l1 as budgetNameL1,"
|
||||
+ "budget_name_l2 as budgetNameL2,"
|
||||
+ "budget_name_l3 as budgetNameL3,"
|
||||
+ "budget_code_l3 as budgetCodeL3,"
|
||||
+ "amount,"
|
||||
+ "remark,"
|
||||
+ "modi_id as modiId,"
|
||||
+ "modi_date as modiDate "
|
||||
+ " from public.sp_get_budget_plan_info(:code1, :code2, :code3) ", nativeQuery = true)
|
||||
List<BudgetingList> callSpGetBudgetPlanInfo(
|
||||
@Param("code1") String code1,
|
||||
@Param("code2") String code2,
|
||||
@Param("code3") String code3);
|
||||
|
||||
//(공통) - 생선된 년도 (셀렉트박스)
|
||||
@Query(value ="select l1_year as year from public.sp_get_budget_code_year_list( );", nativeQuery = true)
|
||||
List<YearResult> callSpGetBudgetCodeYearList();
|
||||
|
||||
//예산편성 - 연도추가
|
||||
@Query(value ="call public.sp_copy_budget_item (:year,:copyYear,:id,NULL,NULL,NULL);", nativeQuery = true)
|
||||
UpdateResult callSpCopyBudgetItem(
|
||||
@Param("year") String year,
|
||||
@Param("copyYear") String org,
|
||||
@Param("id") String id);
|
||||
|
||||
//예산편성 - 연도삭제
|
||||
@Query(value ="call public.sp_brute_force_delete_budget_item(:year, :id,NULL,NULL,NULL);", nativeQuery = true)
|
||||
UpdateResult callBruteForceDeleteBudgetItem(
|
||||
@Param("year") String year,
|
||||
@Param("id") String id);
|
||||
|
||||
//예산편성 - 항목추가
|
||||
@Query(value ="call public.sp_add_budget_plan_codename (:year, :code1, :code2, :code3, :org, :id ,NULL, NULL, NULL);", nativeQuery = true)
|
||||
UpdateResult callSpAddBudgetPlanCodeName(
|
||||
@Param("year") String year,
|
||||
@Param("code1") String nameL1,
|
||||
@Param("code2") String nameL2,
|
||||
@Param("code3") String nameL3,
|
||||
@Param("org") String org,
|
||||
@Param("id") String id);
|
||||
|
||||
//예산편성 - 항목변경
|
||||
@Query(value ="call public.sp_update_budget_plan_codename(:year, :code1, :code2, :code3, :newCode1, :newCode2, :newCode3, :org,:id,NULL,NULL,NULL);", nativeQuery = true)
|
||||
UpdateResult callSpUpdateBudgetPlanCodeName(
|
||||
@Param("year") String year,
|
||||
@Param("code1") String prevNameL1,
|
||||
@Param("code2") String prevNameL2,
|
||||
@Param("code3") String prevNameL3,
|
||||
@Param("newCode1") String nameL1,
|
||||
@Param("newCode2") String nameL2,
|
||||
@Param("newCode3") String nameL3,
|
||||
@Param("org") String org,
|
||||
@Param("id") String id);
|
||||
|
||||
//예산편성 - 항목삭제
|
||||
@Query(value ="call public.sp_delete_budget_plan_codename(:year, :code1, :code2, :code3, :org,:id,NULL,NULL,NULL);", nativeQuery = true)
|
||||
UpdateResult callSpDeleteBudgetPlanCodeName(
|
||||
@Param("year") String year,
|
||||
@Param("code1") String nameL1,
|
||||
@Param("code2") String nameL2,
|
||||
@Param("code3") String nameL3,
|
||||
@Param("org") String org,
|
||||
@Param("id") String id);
|
||||
|
||||
//예산편성 - 예산저장
|
||||
@Query(value ="call public.sp_update_budget_plan_item (:year, :code1, :code2, :code3, :amount, :org, :id,NULL, NULL, NULL);", nativeQuery = true)
|
||||
UpdateResult callSpUpdateBudgetPlanCodeItem(
|
||||
@Param("year") String year,
|
||||
@Param("code1") String nameL1,
|
||||
@Param("code2") String nameL2,
|
||||
@Param("code3") String nameL3,
|
||||
@Param("amount") Integer amount,
|
||||
@Param("org") String org,
|
||||
@Param("id") String id);
|
||||
|
||||
//예산편성 - 예산삭제
|
||||
@Query(value ="call public.sp_clear_budget_plan(:year, :org, :id,NULL,NULL,NULL);", nativeQuery = true)
|
||||
UpdateResult callSpDeleteBudgetPlan(
|
||||
@Param("year") String year,
|
||||
@Param("org") String org,
|
||||
@Param("id") String id);
|
||||
|
||||
// 예산배정
|
||||
@Query(value ="select * from public.sp_get_budget_assign_info(:year, :code, :user ,:stDate, :edDate)", nativeQuery = true)
|
||||
List<AssignResult> callSpGetBudgetAssignInfo(
|
||||
@Param("year") String year,
|
||||
@Param("code") String code,
|
||||
@Param("user") String user,
|
||||
@Param("stDate") Date stDate,
|
||||
@Param("edDate") Date edDate
|
||||
);
|
||||
|
||||
//(공통) 2단계로 하위청 뿌려주기
|
||||
@Query(value ="select org_code as orgCode, org_name as orgName from public.sp_get_down_org(:org);", nativeQuery = true)
|
||||
List<CodeResult> callSpGetDownOrg(
|
||||
@Param("org") String org
|
||||
);
|
||||
|
||||
//
|
||||
@Query(value ="select org_code as orgCode, org_name as orgName from public.sp_get_lower_org_code_by_name('본청');", nativeQuery = true)
|
||||
List<CodeResult> callSpGetLowerOrgCodeByName(
|
||||
|
||||
);
|
||||
|
||||
//상위 기관 코드 가져오기 (3단계인경우만)
|
||||
@Query(value ="select * from public.sp_get_high_org_code(:org);", nativeQuery = true)
|
||||
String callSpGetHighOrgCode(
|
||||
@Param("org") String org
|
||||
);
|
||||
|
||||
// 예산배정 - 등록(저장버튼)
|
||||
@Query(value ="call public.sp_add_budget_assign(:code, :org, :org1, cast (:amount as bigint), to_date(:dt,'YYYY-MM-DD'), 'admin', NULL,NULL,NULL);", nativeQuery = true)
|
||||
UpdateResult callSpAddBudgetAssign(
|
||||
@Param("code") String year,
|
||||
@Param("org") String org,
|
||||
@Param("org1") String org1,
|
||||
@Param("amount") Integer amount,
|
||||
@Param("dt") String dt);
|
||||
|
||||
// 집행관리
|
||||
@Query(value ="select * from public.sp_get_budget_expense_info(:year,:code,:user,:stDate,:edDate);", nativeQuery = true)
|
||||
List<ExpenseResult> callSpGetBudgetExpenseInfo(
|
||||
@Param("year") String year,
|
||||
@Param("code") String code,
|
||||
@Param("user") String user,
|
||||
@Param("stDate") Date stDate,
|
||||
@Param("edDate") Date edDate
|
||||
);
|
||||
|
||||
@Query(value ="select * from public.sp_get_budget_expense(:year,:code1,:code2,:code3,:org,1,2,20,1);", nativeQuery = true)
|
||||
List<ExpenseInfoResult> callSpGetBudgetExpense(
|
||||
@Param("year") String year,
|
||||
@Param("code1") String code1,
|
||||
@Param("code2") String code2,
|
||||
@Param("code3") String code3,
|
||||
@Param("org") String org
|
||||
);
|
||||
|
||||
@Query(value ="call public.sp_add_budget_EXPENSE(:year,:code1,:code2,:code3, :org, :item ,cast (:amount as bigint), to_date(:dt,'YYYY-MM-DD'),'admin',NULL,NULL,NULL);", nativeQuery = true)
|
||||
UpdateResult callSpAddBudgetExpense(
|
||||
@Param("year") String year,
|
||||
@Param("code1") String code1,
|
||||
@Param("code2") String code2,
|
||||
@Param("code3") String code3,
|
||||
@Param("org") String org,
|
||||
@Param("item") String item,
|
||||
@Param("amount") Integer amount,
|
||||
@Param("dt") Date dt
|
||||
|
||||
);
|
||||
|
||||
@Query(value ="call public.sp_update_budget_expense(:seq,:item ,cast (:amount as bigint),NULL,NULL,NULL,NULL,NULL);;", nativeQuery = true)
|
||||
List<ExpenseResult> callSpUpdateBudgetExpense(
|
||||
@Param("seq") Integer seq,
|
||||
@Param("item") String item,
|
||||
@Param("amount") Integer amount
|
||||
);
|
||||
|
||||
@Query(value ="select * from public.sp_get_budget_statistics_by_org(:year,:code,:user,:stDate,:edDate,:won);", nativeQuery = true)
|
||||
List<ExpenseResult> callSpGetbudgetStatOrg(
|
||||
@Param("year") String year,
|
||||
@Param("code") String code,
|
||||
@Param("user") String user,
|
||||
@Param("stDate") Date stDate,
|
||||
@Param("edDate") Date edDate,
|
||||
@Param("won") int won
|
||||
);
|
||||
|
||||
@Query(value ="select * from public.sp_get_budget_statistics_by_item(:year,:code,:item, :user,:stDate,:edDate,:won);", nativeQuery = true)
|
||||
List<StatsItemResult> callSpGetbudgetStatDetail(
|
||||
@Param("year") String year,
|
||||
@Param("code") String code,
|
||||
@Param("item") String item,
|
||||
@Param("user") String user,
|
||||
@Param("stDate") Date stDate,
|
||||
@Param("edDate") Date edDate,
|
||||
@Param("won") int won
|
||||
);
|
||||
|
||||
@Query(value ="select * from public.sp_get_budget_code_l3(:year,null,null,null);", nativeQuery = true)
|
||||
List<L3CodeResult> callSpGetBudgetCodeL3(
|
||||
@Param("year") String year
|
||||
);
|
||||
|
||||
|
||||
|
||||
}
|
||||
|
|
@ -1,13 +0,0 @@
|
|||
package com.dbnt.faisp.main.budget.repository;
|
||||
|
||||
import com.dbnt.faisp.main.budget.model.TblBudgetCodeL1;
|
||||
import org.springframework.data.jpa.repository.JpaRepository;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.Optional;
|
||||
|
||||
public interface TblBudgetCodeL1Repository extends JpaRepository<TblBudgetCodeL1, String> {
|
||||
Optional<TblBudgetCodeL1> findByL1NameAndL1YearAndUseTag(String l1Name, String l1Year, String useTag);
|
||||
Optional<TblBudgetCodeL1> findTop1ByL1YearOrderByL1CodeDesc(String l1Year);
|
||||
List<TblBudgetCodeL1> findByL1YearOrderByL1Code(String year);
|
||||
}
|
||||
|
|
@ -1,15 +0,0 @@
|
|||
package com.dbnt.faisp.main.budget.repository;
|
||||
|
||||
import com.dbnt.faisp.main.budget.model.TblBudgetCodeL2;
|
||||
import org.springframework.data.jpa.repository.JpaRepository;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.Optional;
|
||||
|
||||
public interface TblBudgetCodeL2Repository extends JpaRepository<TblBudgetCodeL2, String> {
|
||||
Optional<TblBudgetCodeL2> findByL2NameAndL1CodeAndUseTag(String codeL2Name, String l1Code, String y);
|
||||
|
||||
Optional<TblBudgetCodeL2> findTop1ByL1CodeOrderByL2CodeDesc(String l1Code);
|
||||
|
||||
List<TblBudgetCodeL2> findByL1CodeOrderByL2Code(String l1Code);
|
||||
}
|
||||
|
|
@ -1,15 +0,0 @@
|
|||
package com.dbnt.faisp.main.budget.repository;
|
||||
|
||||
import com.dbnt.faisp.main.budget.model.TblBudgetCodeL3;
|
||||
import org.springframework.data.jpa.repository.JpaRepository;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.Optional;
|
||||
|
||||
public interface TblBudgetCodeL3Repository extends JpaRepository<TblBudgetCodeL3, String> {
|
||||
Optional<TblBudgetCodeL3> findByL3NameAndL2CodeAndUseTag(String codeL3Name, String l2Code, String useTag);
|
||||
|
||||
Optional<TblBudgetCodeL3> findTop1ByL2CodeOrderByL3CodeDesc(String l2Code);
|
||||
|
||||
List<TblBudgetCodeL3> findByL2CodeAndUseTagOrderByL3Code(String l2Code, String useTag);
|
||||
}
|
||||
|
|
@ -1,8 +0,0 @@
|
|||
package com.dbnt.faisp.main.budget.repository;
|
||||
|
||||
import com.dbnt.faisp.main.budget.model.TblBudgetHistory;
|
||||
import org.springframework.data.jpa.repository.JpaRepository;
|
||||
|
||||
public interface TblBudgetHistoryRepository extends JpaRepository<TblBudgetHistory, Integer> {
|
||||
|
||||
}
|
||||
|
|
@ -1,10 +0,0 @@
|
|||
package com.dbnt.faisp.main.budget.repository;
|
||||
|
||||
import com.dbnt.faisp.main.budget.model.TblBudgetPlan;
|
||||
import org.springframework.data.jpa.repository.JpaRepository;
|
||||
|
||||
import java.util.Optional;
|
||||
|
||||
public interface TblBudgetPlanRepository extends JpaRepository<TblBudgetPlan, Integer> {
|
||||
Optional<TblBudgetPlan> findTop1ByBudgetCodeAndOrgCode(String budgetCode, String orgCode);
|
||||
}
|
||||
|
|
@ -1,679 +0,0 @@
|
|||
package com.dbnt.faisp.main.budget.service;
|
||||
|
||||
|
||||
import com.dbnt.faisp.main.budget.common.BaseException;
|
||||
import com.dbnt.faisp.main.budget.common.ResultResponseCode;
|
||||
import com.dbnt.faisp.main.budget.mapper.BudgetMapper;
|
||||
import com.dbnt.faisp.main.budget.model.*;
|
||||
import com.dbnt.faisp.main.budget.model.result.*;
|
||||
import com.dbnt.faisp.main.budget.repository.*;
|
||||
import com.dbnt.faisp.main.userInfo.model.UserInfo;
|
||||
|
||||
import lombok.RequiredArgsConstructor;
|
||||
|
||||
import org.egovframe.rte.fdl.cmmn.EgovAbstractServiceImpl;
|
||||
import org.springframework.stereotype.Service;
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
|
||||
import java.time.LocalDate;
|
||||
import java.time.LocalDateTime;
|
||||
import java.time.format.DateTimeFormatter;
|
||||
import java.util.*;
|
||||
|
||||
|
||||
@Service
|
||||
@Transactional
|
||||
@RequiredArgsConstructor
|
||||
public class BudgetService extends EgovAbstractServiceImpl {
|
||||
|
||||
private final TblBudgetCodeL1Repository codeL1Repository;
|
||||
private final TblBudgetCodeL2Repository codeL2Repository;
|
||||
private final TblBudgetCodeL3Repository codeL3Repository;
|
||||
private final TblBudgetHistoryRepository historyRepository;
|
||||
private final TblBudgetPlanRepository planRepository;
|
||||
private final BudgetRepository budgetRepository;
|
||||
private final BudgetMapper budgetMapper;
|
||||
|
||||
public List<BudgetingList> selectBudgetingList(UserInfo loginUser, BudgetDto.BudgetingSearchReqeust requestDto){
|
||||
|
||||
/*return budgetRepository.callSpGetBudgetPlanInfo(requestDto.getYear(), "OG001", "admin");*/
|
||||
BudgetParams param = new BudgetParams();
|
||||
param.setCode1(requestDto.getYear().toString());
|
||||
param.setCode2("OG001");
|
||||
param.setCode3("admin");
|
||||
return budgetMapper.callSpGetBudgetPlanInfo(param);
|
||||
}
|
||||
|
||||
public List<Integer> selectBudgetingYearList(UserInfo loginUser){
|
||||
// return budgetRepository.callSpGetBudgetCodeYearList();
|
||||
return budgetMapper.callSpGetBudgetCodeYearList();
|
||||
}
|
||||
|
||||
// 예산편성 - 연도추가(버튼)
|
||||
@Transactional
|
||||
public void copyYearBudgeting(UserInfo loginUser, BudgetDto.BudgetingCopyReqeust requestDto){
|
||||
// System.out.println(requestDto.getYear());
|
||||
// System.out.println(requestDto.getCopyYear());
|
||||
// UpdateResult result = budgetRepository.callSpCopyBudgetItem(requestDto.getYear(), requestDto.getCopyYear(), loginUser.getUserId());
|
||||
BudgetParams params = new BudgetParams();
|
||||
params.setYear(requestDto.getYear());
|
||||
params.setCopyYear(requestDto.getCopyYear());
|
||||
params.setId(loginUser.getUserId());
|
||||
UpdateResult result = budgetMapper.callSpCopyBudgetItem(params);
|
||||
|
||||
if(result.getResultCode().equals("100")) {
|
||||
return;
|
||||
} else {
|
||||
// System.out.println(result.getErrorMessage());
|
||||
// System.out.println(result.getResultCode());
|
||||
// System.out.println(result.getResultCount());
|
||||
throw new BaseException(ResultResponseCode.FOUND_YEAR);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
//예산편성 - 연도삭제(버튼)
|
||||
@Transactional
|
||||
public void deleteBudgetingYear(UserInfo loginUser, BudgetDto.BudgetingCopyReqeust requestDto){
|
||||
// System.out.println(requestDto.getYear());
|
||||
// System.out.println(requestDto.getCopyYear());
|
||||
// UpdateResult result = budgetRepository.callBruteForceDeleteBudgetItem(requestDto.getYear(), "admin");
|
||||
BudgetParams params = new BudgetParams();
|
||||
params.setYear(requestDto.getYear());
|
||||
params.setId("admin");
|
||||
UpdateResult result = budgetMapper.callBruteForceDeleteBudgetItem(params);
|
||||
|
||||
if(result.getResultCode().equals("100")) {
|
||||
return;
|
||||
}else if( result.getResultCode().equals("93")){
|
||||
// System.out.println(result.getErrorMessage());
|
||||
// System.out.println(result.getResultCode());
|
||||
// System.out.println(result.getResultCount());
|
||||
throw new BaseException(ResultResponseCode.NOT_FOUND_YEAR);
|
||||
} else {
|
||||
// System.out.println(result.getErrorMessage());
|
||||
// System.out.println(result.getResultCode());
|
||||
// System.out.println(result.getResultCount());
|
||||
throw new BaseException(ResultResponseCode.DELETE_FOUND_VALUE);
|
||||
}
|
||||
}
|
||||
|
||||
//예산편성 - 항목추가
|
||||
@Transactional
|
||||
public ResultResponseCode insertBudgetingList(UserInfo loginUser, BudgetDto.BudgetingInsertReqeust requestDto){
|
||||
// UpdateResult result = budgetRepository.callSpAddBudgetPlanCodeName(requestDto.getYear(),requestDto.getNameL1(),requestDto.getNameL2(),requestDto.getNameL3(), "OG001", "admin");
|
||||
// BudgetParams params = new BudgetParams();
|
||||
// params.setYear(requestDto.getYear());
|
||||
// params.setCode1(requestDto.getNameL1());
|
||||
// params.setCode2(requestDto.getNameL2());
|
||||
// params.setCode3(requestDto.getNameL3());
|
||||
// params.setOrg("OG001");
|
||||
// params.setId("admin");
|
||||
// UpdateResult result = budgetMapper.callSpAddBudgetPlanCodeName(params);
|
||||
|
||||
LocalDateTime modiDate = LocalDateTime.now();
|
||||
String year = requestDto.getYear();
|
||||
String codeL1Name = requestDto.getNameL1();
|
||||
String codeL2Name = requestDto.getNameL2();
|
||||
String codeL3Name = requestDto.getNameL3();
|
||||
|
||||
TblBudgetCodeL1 codeL1 = codeL1Repository.findByL1NameAndL1YearAndUseTag(codeL1Name, year, "Y").orElse(new TblBudgetCodeL1());
|
||||
if(codeL1.getL1Code() == null){
|
||||
TblBudgetCodeL1 lastL1Code = codeL1Repository.findTop1ByL1YearOrderByL1CodeDesc(year).orElse(null);
|
||||
String l1Code = makeCode(year.substring(2), lastL1Code==null?null:lastL1Code.getL1Code());
|
||||
Integer seqOrd = lastL1Code==null?1:(lastL1Code.getSeqOrd()+1);
|
||||
codeL1.setData(l1Code, codeL1Name, year, "Y", seqOrd, "항목추가", modiDate);
|
||||
codeL1Repository.save(codeL1);
|
||||
}
|
||||
|
||||
String l1Code = codeL1.getL1Code();
|
||||
TblBudgetCodeL2 codeL2 = codeL2Repository.findByL2NameAndL1CodeAndUseTag(codeL2Name, l1Code, "Y").orElse(new TblBudgetCodeL2());;
|
||||
if(codeL2.getL1Code() == null){
|
||||
TblBudgetCodeL2 lastL2Code = codeL2Repository.findTop1ByL1CodeOrderByL2CodeDesc(l1Code).orElse(null);
|
||||
String l2Code = makeCode(l1Code, lastL2Code==null?null: lastL2Code.getL2Code());
|
||||
Integer seqOrd = lastL2Code==null?1:(lastL2Code.getSeqOrd()+1);
|
||||
codeL2.setData(l2Code, codeL1Name, l1Code, "Y", seqOrd, "항목추가", modiDate);
|
||||
codeL2Repository.save(codeL2);
|
||||
}
|
||||
|
||||
String l2Code = codeL2.getL2Code();
|
||||
TblBudgetCodeL3 codeL3 = codeL3Repository.findByL3NameAndL2CodeAndUseTag(codeL3Name, l2Code, "Y").orElse(new TblBudgetCodeL3());;
|
||||
if(codeL3.getL3Code() == null){
|
||||
TblBudgetCodeL3 lastL3Code = codeL3Repository.findTop1ByL2CodeOrderByL3CodeDesc(l2Code).orElse(null);
|
||||
String l3Code = makeCode(l2Code, lastL3Code==null?null: lastL3Code.getL3Code());
|
||||
Integer seqOrd = lastL3Code==null?1:(lastL3Code.getSeqOrd()+1);
|
||||
codeL3.setData(l3Code, codeL3Name, l2Code, "Y", seqOrd, "항목추가", modiDate);
|
||||
codeL3Repository.save(codeL3);
|
||||
}else{
|
||||
// throw new BaseException(ResultResponseCode.DUPLICATE_CODE);
|
||||
return ResultResponseCode.DUPLICATE_CODE;
|
||||
}
|
||||
String l3Code = codeL3.getL3Code();
|
||||
TblBudgetHistory history = new TblBudgetHistory();
|
||||
history.setData(l3Code, loginUser.getOgCd(), "예산편성 등록", 0, 0, loginUser.getUserId(), modiDate);
|
||||
historyRepository.save(history);
|
||||
TblBudgetPlan plan = new TblBudgetPlan();
|
||||
plan.setData(l3Code, loginUser.getOgCd(), 0, null, loginUser.getUserId(), modiDate);
|
||||
planRepository.save(plan);
|
||||
|
||||
return ResultResponseCode.SUCCESS;
|
||||
}
|
||||
|
||||
private String makeCode(String upCode, String lastCode){
|
||||
if (lastCode==null){
|
||||
return upCode+"001";
|
||||
}else{
|
||||
String codeSeq = "00"+(Integer.parseInt(lastCode.substring(lastCode.length()-3))+1);
|
||||
return upCode+codeSeq.substring(codeSeq.length()-3);
|
||||
}
|
||||
}
|
||||
|
||||
//예산편성 - 항목변경
|
||||
@Transactional
|
||||
public ResultResponseCode updateBudgetingList(UserInfo loginUser, BudgetDto.BudgetingUpdateReqeust requestDto){
|
||||
|
||||
TblBudgetCodeL1 codeL1 = codeL1Repository.findByL1NameAndL1YearAndUseTag(requestDto.getPrevNameL1(), requestDto.getYear(), "Y").orElse(new TblBudgetCodeL1());
|
||||
TblBudgetCodeL2 codeL2 = codeL2Repository.findByL2NameAndL1CodeAndUseTag(requestDto.getPrevNameL2(), codeL1.getL1Code(), "Y").orElse(new TblBudgetCodeL2());
|
||||
TblBudgetCodeL3 codeL3 = codeL3Repository.findByL3NameAndL2CodeAndUseTag(requestDto.getPrevNameL3(), codeL2.getL2Code(), "Y").orElse(null);
|
||||
if(codeL3 == null){
|
||||
return ResultResponseCode.NOT_FOUND_CODE;
|
||||
}
|
||||
|
||||
if(!codeL3.getL3Name().equals(requestDto.getNameL3())){
|
||||
TblBudgetCodeL3 duplCodeChk = codeL3Repository.findByL3NameAndL2CodeAndUseTag(requestDto.getNameL3(), codeL2.getL2Code(), "Y").orElse(null);
|
||||
if(duplCodeChk!=null){
|
||||
return ResultResponseCode.DUPLICATE_CODE;
|
||||
}else{
|
||||
codeL3.setL3Name(requestDto.getNameL3());
|
||||
codeL3Repository.save(codeL3);
|
||||
}
|
||||
}
|
||||
if(!codeL2.getL2Name().equals(requestDto.getNameL2())){
|
||||
TblBudgetCodeL2 duplCodeChk = codeL2Repository.findByL2NameAndL1CodeAndUseTag(requestDto.getNameL2(), codeL1.getL1Code(), "Y").orElse(null);
|
||||
if(duplCodeChk!=null){
|
||||
return ResultResponseCode.DUPLICATE_CODE;
|
||||
}else{
|
||||
codeL2.setL2Name(requestDto.getNameL2());
|
||||
codeL2Repository.save(codeL2);
|
||||
}
|
||||
}
|
||||
if(!codeL1.getL1Name().equals(requestDto.getNameL1())){
|
||||
TblBudgetCodeL1 duplCodeChk = codeL1Repository.findByL1NameAndL1YearAndUseTag(requestDto.getNameL1(), requestDto.getYear(), "Y").orElse(null);
|
||||
if(duplCodeChk!=null){
|
||||
return ResultResponseCode.DUPLICATE_CODE;
|
||||
}else{
|
||||
codeL1.setL1Name(requestDto.getNameL1());
|
||||
codeL1Repository.save(codeL1);
|
||||
}
|
||||
}
|
||||
|
||||
return ResultResponseCode.SUCCESS;
|
||||
}
|
||||
|
||||
//예산편성 - 항목삭제
|
||||
@Transactional
|
||||
public ResultResponseCode deleteBudgetingList(UserInfo loginUser, BudgetDto.BudgetingInsertReqeust requestDto){
|
||||
/*잔여 예산 확인*/
|
||||
TblBudgetCodeL1 codeL1 = codeL1Repository.findByL1NameAndL1YearAndUseTag(requestDto.getNameL1(), requestDto.getYear(), "Y").orElse(new TblBudgetCodeL1());
|
||||
TblBudgetCodeL2 codeL2 = codeL2Repository.findByL2NameAndL1CodeAndUseTag(requestDto.getNameL2(), codeL1.getL1Code(), "Y").orElse(new TblBudgetCodeL2());
|
||||
TblBudgetCodeL3 codeL3 = codeL3Repository.findByL3NameAndL2CodeAndUseTag(requestDto.getNameL3(), codeL2.getL2Code(), "Y").orElse(null);
|
||||
if(codeL3 == null){
|
||||
return ResultResponseCode.NOT_FOUND_CODE;
|
||||
}
|
||||
|
||||
TblBudgetPlan savedAmount = planRepository.findTop1ByBudgetCodeAndOrgCode(codeL3.getL3Code(), loginUser.getOgCd()).orElse(null);
|
||||
if(savedAmount==null){
|
||||
return ResultResponseCode.NOT_FOUND_CODE;
|
||||
}else if(savedAmount.getAmount()>0){
|
||||
return ResultResponseCode.DELETE_FOUND_VALUE;
|
||||
}else{
|
||||
codeL3.setUseTag("N");
|
||||
codeL3Repository.save(codeL3);
|
||||
}
|
||||
|
||||
return ResultResponseCode.SUCCESS;
|
||||
}
|
||||
|
||||
// 예산편성 - 예산편성 저장(modal)
|
||||
@Transactional
|
||||
public void saveBudgetingList(UserInfo loginUser, BudgetDto.BudgetingSaveReqeust requestDto){
|
||||
|
||||
BudgetParams params = new BudgetParams();
|
||||
params.setYear(requestDto.getYear());
|
||||
params.setCode1(requestDto.getNameL1());
|
||||
params.setCode2(requestDto.getNameL2());
|
||||
params.setCode3(requestDto.getNameL3());
|
||||
params.setAmount(requestDto.getAmount());
|
||||
params.setOrg("OG001");
|
||||
params.setId("admin");
|
||||
UpdateResult result = budgetMapper.callSpUpdateBudgetPlanCodeItem(params);
|
||||
|
||||
if(result.getResultCode().equals("100")) {
|
||||
return;
|
||||
} else {
|
||||
throw new BaseException(ResultResponseCode.DUPLICATE_CODE);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
//예산편성 - 예산삭제(버튼)
|
||||
@Transactional
|
||||
public void deleteBudgeting(UserInfo loginUser, BudgetDto.BudgetingSaveReqeust requestDto){
|
||||
|
||||
BudgetParams params = new BudgetParams();
|
||||
params.setYear(requestDto.getYear());
|
||||
params.setOrg("OG001");
|
||||
params.setId("admin");
|
||||
UpdateResult result = budgetMapper.callSpDeleteBudgetPlan(params);
|
||||
|
||||
if(result.getResultCode().equals("100")) {
|
||||
return;
|
||||
} else {
|
||||
throw new BaseException(ResultResponseCode.NOT_FOUND_CODE);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
// 예산배정
|
||||
public List<AssignResult> selectBudgetAssignInfo(UserInfo loginUser, BudgetDto.AssignSearchReqeust requestDto){
|
||||
BudgetParams params = new BudgetParams();
|
||||
params.setYear(requestDto.getYear().toString());
|
||||
params.setCode(requestDto.getCode());
|
||||
params.setUser("admin");
|
||||
params.setStDate(requestDto.getStDate());
|
||||
params.setEdDate(requestDto.getEdDate());
|
||||
return budgetMapper.callSpGetBudgetAssignInfo(params);
|
||||
}
|
||||
|
||||
public List<AssignResult> selectBudgetAssignInfoList(BudgetDto.AssignSearchReqeust requestDto){
|
||||
BudgetParams params = new BudgetParams();
|
||||
params.setYear(requestDto.getYear().toString());
|
||||
params.setCode(requestDto.getCode());
|
||||
params.setUser("admin");
|
||||
params.setStDate(requestDto.getStDate());
|
||||
params.setEdDate(requestDto.getEdDate());
|
||||
List<AssignResult> assignResultList = new ArrayList<>();
|
||||
List<BudgetName> budgetList = budgetMapper.selectBudgetInfoList(params);
|
||||
List<AssignAmount> assignAmountList = budgetMapper.selectBudgetAssignAmountList(params);
|
||||
for(BudgetName budget: budgetList){
|
||||
AssignResult result = new AssignResult();
|
||||
result.setBudgetNameL1(budget.getBudgetNameL1());
|
||||
result.setBudgetNameL2(budget.getBudgetNameL2());
|
||||
result.setBudgetNameL3(budget.getBudgetNameL3());
|
||||
result.setBudgetCodeL3(budget.getBudgetCodeL3());
|
||||
result.setPlanAmount(budget.getPlanAmount());
|
||||
for(AssignAmount amount: assignAmountList){
|
||||
if(result.getBudgetCodeL3().equals(amount.getBudgetCode())){
|
||||
int totalAssignAmount = result.getTotalAssignAmount()==null?0:Integer.parseInt(result.getTotalAssignAmount());
|
||||
totalAssignAmount += amount.getSumAssignAmount();
|
||||
result.setTotalAssignAmount(Integer.toString(totalAssignAmount));
|
||||
switch (amount.getOrderSeq()){
|
||||
case 1:
|
||||
result.setPeriodAssignAmount1(amount.getPeriodAssignAmount().toString());
|
||||
result.setSumAssignAmount1(amount.getSumAssignAmount().toString());
|
||||
break;
|
||||
case 2:
|
||||
result.setPeriodAssignAmount2(amount.getPeriodAssignAmount().toString());
|
||||
result.setSumAssignAmount2(amount.getSumAssignAmount().toString());
|
||||
break;
|
||||
case 3:
|
||||
result.setPeriodAssignAmount3(amount.getPeriodAssignAmount().toString());
|
||||
result.setSumAssignAmount3(amount.getSumAssignAmount().toString());
|
||||
break;
|
||||
case 4:
|
||||
result.setPeriodAssignAmount4(amount.getPeriodAssignAmount().toString());
|
||||
result.setSumAssignAmount4(amount.getSumAssignAmount().toString());
|
||||
break;
|
||||
case 5:
|
||||
result.setPeriodAssignAmount5(amount.getPeriodAssignAmount().toString());
|
||||
result.setSumAssignAmount5(amount.getSumAssignAmount().toString());
|
||||
break;
|
||||
case 6:
|
||||
result.setPeriodAssignAmount6(amount.getPeriodAssignAmount().toString());
|
||||
result.setSumAssignAmount6(amount.getSumAssignAmount().toString());
|
||||
break;
|
||||
case 7:
|
||||
result.setPeriodAssignAmount7(amount.getPeriodAssignAmount().toString());
|
||||
result.setSumAssignAmount7(amount.getSumAssignAmount().toString());
|
||||
break;
|
||||
case 8:
|
||||
result.setPeriodAssignAmount8(amount.getPeriodAssignAmount().toString());
|
||||
result.setSumAssignAmount8(amount.getSumAssignAmount().toString());
|
||||
break;
|
||||
case 9:
|
||||
result.setPeriodAssignAmount9(amount.getPeriodAssignAmount().toString());
|
||||
result.setSumAssignAmount9(amount.getSumAssignAmount().toString());
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
assignResultList.add(result);
|
||||
}
|
||||
|
||||
return assignResultList;
|
||||
|
||||
}
|
||||
|
||||
//(공통) 2단계로 하위청 뿌려주기
|
||||
public List<CodeResult> selectDownOrg(String userOrgCode){
|
||||
// return budgetRepository.callSpGetDownOrg(userOrgCode);
|
||||
BudgetParams params = new BudgetParams();
|
||||
params.setOrg(userOrgCode);
|
||||
// return budgetMapper.callSpGetDownOrg(params);
|
||||
return budgetMapper.selectDownOrgList(params);
|
||||
}
|
||||
|
||||
//
|
||||
public List<CodeResult> selectGetLowerOrgCodeByName(UserInfo loginUser){
|
||||
// return budgetRepository.callSpGetLowerOrgCodeByName();
|
||||
return budgetMapper.callSpGetLowerOrgCodeByName();
|
||||
}
|
||||
|
||||
//상위 기관 코드 가져오기 (3단계인경우만)
|
||||
public String selectGetHighOrgCode(String userOrgCode){
|
||||
// return budgetRepository.callSpGetHighOrgCode(userOrgCode);
|
||||
BudgetParams params = new BudgetParams();
|
||||
params.setOrg(userOrgCode);
|
||||
return budgetMapper.callSpGetHighOrgCode(params);
|
||||
}
|
||||
|
||||
// 예산배정 - 등록(저장버튼)
|
||||
@Transactional
|
||||
public ResultResponseCode updateAssignList(UserInfo loginUser, BudgetDto.AssignSaveReqeust requestDto){
|
||||
|
||||
BudgetParams params = new BudgetParams();
|
||||
params.setCode(requestDto.getCode());
|
||||
params.setOrg(requestDto.getOrg());
|
||||
params.setOrg1(requestDto.getOrg1());
|
||||
params.setAmount(requestDto.getAmount());
|
||||
DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd");
|
||||
params.setDt(LocalDate.now().format(formatter));
|
||||
UpdateResult result = budgetMapper.callSpAddBudgetAssign(params);
|
||||
|
||||
if(result.getResultCode().equals("100")) {
|
||||
return ResultResponseCode.SUCCESS;
|
||||
}else if(result.getResultCode().equals("72")) {
|
||||
return ResultResponseCode.EXPENSE_OVER_VALUE;
|
||||
} else {
|
||||
return ResultResponseCode.DUPLICATE_CODE;
|
||||
}
|
||||
// return ResultResponseCode.ERROR;
|
||||
}
|
||||
|
||||
//집행관리
|
||||
public List<ExpenseResult> selectBudgetExpenseInfo(UserInfo loginUser, BudgetDto.AssignSearchReqeust requestDto){
|
||||
BudgetParams params = new BudgetParams();
|
||||
params.setYear(requestDto.getYear().toString());
|
||||
params.setCode(requestDto.getCode());
|
||||
params.setUser("admin");
|
||||
params.setStDate(requestDto.getStDate());
|
||||
params.setEdDate(requestDto.getEdDate());
|
||||
return budgetMapper.callSpGetBudgetExpenseInfo(params);
|
||||
}
|
||||
|
||||
public List<ExpenseResult> selectBudgetExpenseInfoList(BudgetParams params){
|
||||
List<ExpenseResult> expenseList = new ArrayList<>();
|
||||
List<BudgetName> budgetList = budgetMapper.selectBudgetInfoList(params);
|
||||
List<ExpenseAmount> amountList = budgetMapper.selectBudgetExpenseAmountList(params);
|
||||
Integer wonUnit = params.getWon();
|
||||
for(BudgetName budget : budgetList){
|
||||
ExpenseResult result = new ExpenseResult();
|
||||
result.setBudgetNameL1(budget.getBudgetNameL1());
|
||||
result.setBudgetNameL2(budget.getBudgetNameL2());
|
||||
result.setBudgetNameL3(budget.getBudgetNameL3());
|
||||
result.setBudgetCodeL3(budget.getBudgetCodeL3());
|
||||
result.setPlanAmount(budget.getPlanAmount());
|
||||
for(ExpenseAmount amount : amountList){
|
||||
if(result.getBudgetCodeL3().equals(amount.getBudgetCode())){
|
||||
result.setTotalAssignAmount(result.getTotalAssignAmount()+(double)(amount.getPeriodAssignAmount()/wonUnit));
|
||||
result.setExpenseTAmount(result.getExpenseTAmount()+(double)(amount.getExpenseAssignAmount()/wonUnit));
|
||||
result.setBalanceTAmount(result.getBalanceTAmount()+ (double)(amount.getBalanceAmount()/wonUnit));
|
||||
switch (amount.getOrderSeq()){
|
||||
case 1:
|
||||
result.setPeriodAssignAmount1((double)amount.getPeriodAssignAmount()/wonUnit);
|
||||
result.setExpensePAmount1((double)amount.getExpenseAssignAmount()/wonUnit);
|
||||
result.setBalanceAmount1((double)amount.getBalanceAmount()/wonUnit);
|
||||
result.setExpenseRate1(amount.getExpenseRate());
|
||||
break;
|
||||
case 2:
|
||||
result.setPeriodAssignAmount2((double)amount.getPeriodAssignAmount()/wonUnit);
|
||||
result.setExpensePAmount2((double)amount.getExpenseAssignAmount()/wonUnit);
|
||||
result.setBalanceAmount2((double)amount.getBalanceAmount()/wonUnit);
|
||||
result.setExpenseRate2(amount.getExpenseRate());
|
||||
break;
|
||||
case 3:
|
||||
result.setPeriodAssignAmount3((double)amount.getPeriodAssignAmount()/wonUnit);
|
||||
result.setExpensePAmount3((double)amount.getExpenseAssignAmount()/wonUnit);
|
||||
result.setBalanceAmount3((double)amount.getBalanceAmount()/wonUnit);
|
||||
result.setExpenseRate3(amount.getExpenseRate());
|
||||
break;
|
||||
case 4:
|
||||
result.setPeriodAssignAmount4((double)amount.getPeriodAssignAmount()/wonUnit);
|
||||
result.setExpensePAmount4((double)amount.getExpenseAssignAmount()/wonUnit);
|
||||
result.setBalanceAmount4((double)amount.getBalanceAmount()/wonUnit);
|
||||
result.setExpenseRate4(amount.getExpenseRate());
|
||||
break;
|
||||
case 5:
|
||||
result.setPeriodAssignAmount5((double)amount.getPeriodAssignAmount()/wonUnit);
|
||||
result.setExpensePAmount5((double)amount.getExpenseAssignAmount()/wonUnit);
|
||||
result.setBalanceAmount5((double)amount.getBalanceAmount()/wonUnit);
|
||||
result.setExpenseRate5(amount.getExpenseRate());
|
||||
break;
|
||||
case 6:
|
||||
result.setPeriodAssignAmount6((double)amount.getPeriodAssignAmount()/wonUnit);
|
||||
result.setExpensePAmount6((double)amount.getExpenseAssignAmount()/wonUnit);
|
||||
result.setBalanceAmount6((double)amount.getBalanceAmount()/wonUnit);
|
||||
result.setExpenseRate6(amount.getExpenseRate());
|
||||
break;
|
||||
case 7:
|
||||
result.setPeriodAssignAmount7((double)amount.getPeriodAssignAmount()/wonUnit);
|
||||
result.setExpensePAmount7((double)amount.getExpenseAssignAmount()/wonUnit);
|
||||
result.setBalanceAmount7((double)amount.getBalanceAmount()/wonUnit);
|
||||
result.setExpenseRate7(amount.getExpenseRate());
|
||||
break;
|
||||
case 8:
|
||||
result.setPeriodAssignAmount8((double)amount.getPeriodAssignAmount()/wonUnit);
|
||||
result.setExpensePAmount8((double)amount.getExpenseAssignAmount()/wonUnit);
|
||||
result.setBalanceAmount8((double)amount.getBalanceAmount()/wonUnit);
|
||||
result.setExpenseRate8(amount.getExpenseRate());
|
||||
break;
|
||||
case 9:
|
||||
result.setPeriodAssignAmount9((double)amount.getPeriodAssignAmount()/wonUnit);
|
||||
result.setExpensePAmount9((double)amount.getExpenseAssignAmount()/wonUnit);
|
||||
result.setBalanceAmount9((double)amount.getBalanceAmount()/wonUnit);
|
||||
result.setExpenseRate9(amount.getExpenseRate());
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
expenseList.add(result);
|
||||
}
|
||||
for(ExpenseResult result : expenseList){
|
||||
result.setTaRate(Math.round((result.getExpenseTAmount()/(result.getBalanceTAmount()+result.getExpenseTAmount()))*10000)/100.0);
|
||||
}
|
||||
return expenseList;
|
||||
}
|
||||
|
||||
public List<ExpenseInfoResult> selectBudgetExpense(UserInfo loginUser, BudgetDto.ExpenseSearchReqeust requestDto){
|
||||
BudgetParams params = new BudgetParams();
|
||||
params.setYear(requestDto.getYear());
|
||||
params.setCode1(requestDto.getNameL1());
|
||||
params.setCode2(requestDto.getNameL2());
|
||||
params.setCode3(requestDto.getNameL3());
|
||||
params.setOrg(loginUser.getOgCd());
|
||||
return budgetMapper.callSpGetBudgetExpense(params);
|
||||
}
|
||||
|
||||
@Transactional
|
||||
public ResultResponseCode insertExpense(UserInfo loginUser, BudgetDto.ExpenseSaveReqeust requestDto){
|
||||
BudgetParams params = new BudgetParams();
|
||||
params.setYear(requestDto.getYear());
|
||||
params.setCode1(requestDto.getNameL1());
|
||||
params.setCode2(requestDto.getNameL2());
|
||||
params.setCode3(requestDto.getNameL3());
|
||||
params.setOrg(loginUser.getOgCd());
|
||||
params.setItem(requestDto.getItem());
|
||||
params.setAmount(requestDto.getAmount());
|
||||
DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd");
|
||||
params.setDt(formatter.format(requestDto.getExpenseDate()));
|
||||
UpdateResult result = budgetMapper.callSpAddBudgetExpense(params);
|
||||
if(result.getResultCode().equals("100")) {
|
||||
return ResultResponseCode.SUCCESS;
|
||||
}else if(result.getResultCode().equals("71")) {
|
||||
return ResultResponseCode.EXPENSE_OVER_VALUE;
|
||||
} else {
|
||||
return ResultResponseCode.ERROR;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
public List<ExpenseResult> selectSpGetbudgetStatOrg(UserInfo loginUser,BudgetDto.StatsSearchReqeust requestDto){
|
||||
// System.out.println(requestDto.getYear());
|
||||
// System.out.println(requestDto.getCode());
|
||||
// System.out.println(java.sql.Date.valueOf(requestDto.getStDate()));
|
||||
// System.out.println(requestDto.getEdDate());
|
||||
// System.out.println(requestDto.getWon());
|
||||
// return budgetRepository.callSpGetbudgetStatOrg(requestDto.getYear(), requestDto.getCode(), "admin", java.sql.Date.valueOf(requestDto.getStDate()), java.sql.Date.valueOf(requestDto.getEdDate()), requestDto.getWon());
|
||||
|
||||
BudgetParams params = new BudgetParams();
|
||||
params.setYear(requestDto.getYear().toString());
|
||||
params.setCode(requestDto.getCode());
|
||||
params.setUser("admin");
|
||||
params.setStDate(requestDto.getStDate());
|
||||
params.setEdDate(requestDto.getEdDate());
|
||||
params.setWon(requestDto.getWon());
|
||||
return budgetMapper.callSpGetbudgetStatOrg(params);
|
||||
}
|
||||
|
||||
public List<StatsItemResult> selectSpGetbudgetStatDetail(UserInfo loginUser,BudgetDto.StatsSearchReqeust requestDto){
|
||||
// System.out.println(requestDto.getYear());
|
||||
// System.out.println(requestDto.getCode());
|
||||
// System.out.println(java.sql.Date.valueOf(requestDto.getStDate()));
|
||||
// System.out.println(requestDto.getEdDate());
|
||||
// System.out.println(requestDto.getWon());
|
||||
// return budgetRepository.callSpGetbudgetStatDetail(requestDto.getYear(), requestDto.getCode(), requestDto.getItem(), "admin", java.sql.Date.valueOf(requestDto.getStDate()), java.sql.Date.valueOf(requestDto.getEdDate()), requestDto.getWon());
|
||||
|
||||
BudgetParams params = new BudgetParams();
|
||||
params.setYear(requestDto.getYear().toString());
|
||||
params.setCode(requestDto.getCode());
|
||||
params.setItem(requestDto.getItem());
|
||||
params.setUser("admin");
|
||||
params.setStDate(requestDto.getStDate());
|
||||
params.setEdDate(requestDto.getEdDate());
|
||||
params.setWon(requestDto.getWon());
|
||||
return budgetMapper.callSpGetbudgetStatDetail(params);
|
||||
}
|
||||
|
||||
public List<StatsDetailResult> selectStatDetailList(BudgetDto.StatsSearchReqeust requestDto){
|
||||
BudgetParams params = new BudgetParams();
|
||||
params.setYear(requestDto.getYear().toString());
|
||||
params.setCode(requestDto.getCode());
|
||||
params.setItem(requestDto.getItem());
|
||||
params.setUser("admin");
|
||||
params.setStDate(requestDto.getStDate());
|
||||
params.setEdDate(requestDto.getEdDate());
|
||||
params.setWon(requestDto.getWon());
|
||||
List<StatsDetailResult> statsList = new ArrayList<>();
|
||||
List<StatsDetailResult> tempList = budgetMapper.selectStatDetailList(params);
|
||||
if(requestDto.getCode().equals("OG001")){
|
||||
StatsDetailResult total = new StatsDetailResult();
|
||||
for(StatsDetailResult stats: tempList){
|
||||
if(stats.getParentOrgan()!=null){
|
||||
params.setCode(stats.getOrganCd());
|
||||
List<StatsDetailResult> subList = budgetMapper.selectStatDetailList(params);
|
||||
StatsDetailResult subTotal = new StatsDetailResult();
|
||||
subTotal.setOrganCd(stats.getOrganCd());
|
||||
subTotal.setParentOrgan(stats.getOrganCd());
|
||||
for(StatsDetailResult sub: subList){
|
||||
total.setAssignAmount(total.getAssignAmount()+sub.getAssignAmount());
|
||||
total.setExpenseAmount(total.getExpenseAmount()+sub.getExpenseAmount());
|
||||
subTotal.setAssignAmount(subTotal.getAssignAmount()+sub.getAssignAmount());
|
||||
subTotal.setExpenseAmount(subTotal.getExpenseAmount()+sub.getExpenseAmount());
|
||||
}
|
||||
statsList.add(subTotal);
|
||||
statsList.addAll(subList);
|
||||
}else{
|
||||
total.setAssignAmount(total.getAssignAmount()+stats.getAssignAmount());
|
||||
total.setExpenseAmount(total.getExpenseAmount()+stats.getExpenseAmount());
|
||||
statsList.add(stats);
|
||||
}
|
||||
}
|
||||
tempList.clear();
|
||||
tempList.addAll(statsList);
|
||||
statsList.clear();
|
||||
statsList.add(total);
|
||||
statsList.addAll(tempList);
|
||||
}else{
|
||||
statsList.addAll(tempList);
|
||||
}
|
||||
|
||||
|
||||
Double wonUnit = params.getWon().doubleValue();
|
||||
for(StatsDetailResult stat : statsList){
|
||||
stat.setPlanAmount(stat.getPlanAmount()/wonUnit);
|
||||
stat.setAssignAmount(stat.getAssignAmount()/wonUnit);
|
||||
stat.setExpenseAmount(stat.getExpenseAmount()/wonUnit);
|
||||
stat.setBalanceAmount(stat.getAssignAmount()-stat.getExpenseAmount());
|
||||
stat.setRate((double)Math.round(stat.getExpenseAmount()/stat.getAssignAmount()*10000)/100);
|
||||
}
|
||||
return statsList;
|
||||
}
|
||||
|
||||
public List<L3CodeResult> selectSpGetL3Code(UserInfo loginUser, Integer year){
|
||||
|
||||
// return budgetRepository.callSpGetBudgetCodeL3(year);
|
||||
|
||||
BudgetParams params = new BudgetParams();
|
||||
params.setYear(year.toString());
|
||||
return budgetMapper.callSpGetBudgetCodeL3(params);
|
||||
}
|
||||
|
||||
public BudgetCode selectBudgetCodeToYear(Integer year) {
|
||||
BudgetCode budgetCode = new BudgetCode();
|
||||
List<TblBudgetCodeL1> codeL1List = budgetMapper.selectBudgetCodeL1List(year.toString());
|
||||
List<TblBudgetCodeL2> codeL2List = new ArrayList<>();
|
||||
List<TblBudgetCodeL3> codeL3List = new ArrayList<>();
|
||||
for(TblBudgetCodeL1 codeL1: codeL1List){
|
||||
List<TblBudgetCodeL2> temp2List = budgetMapper.selectBudgetCodeL2List(codeL1.getL1Code());
|
||||
int l1Colspan = 0;
|
||||
for(TblBudgetCodeL2 codeL2: temp2List){
|
||||
List<TblBudgetCodeL3> temp3List = codeL3Repository.findByL2CodeAndUseTagOrderByL3Code(codeL2.getL2Code(), "Y");
|
||||
codeL2.setColspan(temp3List.size());
|
||||
l1Colspan += temp3List.size();
|
||||
codeL3List.addAll(temp3List);
|
||||
}
|
||||
codeL2List.addAll(temp2List);
|
||||
codeL1.setColspan(l1Colspan);
|
||||
}
|
||||
budgetCode.setCodeL1List(codeL1List);
|
||||
budgetCode.setCodeL2List(codeL2List);
|
||||
budgetCode.setCodeL3List(codeL3List);
|
||||
return budgetCode;
|
||||
}
|
||||
|
||||
public List<StatsDetailResult> selectStatsTotal(BudgetParams params){
|
||||
List<StatsDetailResult> statsTotalList = budgetMapper.selectStatsTotal(params);
|
||||
int wonUnit = params.getWon();
|
||||
for(StatsDetailResult total: statsTotalList){
|
||||
total.setPlanAmount(total.getPlanAmount()/wonUnit);
|
||||
total.setAssignAmount(total.getAssignAmount()/wonUnit);
|
||||
total.setExpenseAmount(total.getExpenseAmount()/wonUnit);
|
||||
total.setBalanceAmount(total.getAssignAmount()-total.getExpenseAmount());
|
||||
total.setRate(Math.round((total.getExpenseAmount()/total.getAssignAmount())*10000)/100d);
|
||||
}
|
||||
return statsTotalList;
|
||||
}
|
||||
|
||||
public List<BudgetStat> selectStatsList(BudgetParams params, List<String> downOrganList){
|
||||
List<BudgetStat> statList = new ArrayList<>();
|
||||
for(String organ: downOrganList){
|
||||
BudgetStat stat = new BudgetStat();
|
||||
stat.setOrgan(organ);
|
||||
params.setCode(organ);
|
||||
stat.setAmountList(budgetMapper.selectStats(params));
|
||||
statList.add(stat);
|
||||
}
|
||||
return statList;
|
||||
}
|
||||
|
||||
}
|
||||
|
|
@ -16,7 +16,7 @@ import java.util.Comparator;
|
|||
@DynamicUpdate
|
||||
@Table(name = "code_mgt")
|
||||
@IdClass(CodeMgt.CodeMgtId.class)
|
||||
public class CodeMgt implements Serializable{
|
||||
public class CodeMgt {
|
||||
@Id
|
||||
@Column(name = "category_cd")
|
||||
private String categoryCd;
|
||||
|
|
@ -29,8 +29,6 @@ public class CodeMgt implements Serializable{
|
|||
private String useChk;
|
||||
@Column(name = "order_num")
|
||||
private Integer orderNum;
|
||||
@Column(name = "value_etc")
|
||||
private String valueEtc;
|
||||
|
||||
@Transient
|
||||
private String status;
|
||||
|
|
|
|||
|
|
@ -3,9 +3,7 @@ package com.dbnt.faisp.main.codeMgt.repository;
|
|||
import com.dbnt.faisp.main.codeMgt.model.CodeCatg;
|
||||
import org.springframework.data.jpa.repository.JpaRepository;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
|
||||
public interface CodeCatgRepository extends JpaRepository<CodeCatg, String> {
|
||||
List<CodeCatg> findAllByOrderByCategoryCd();
|
||||
|
||||
}
|
||||
|
|
|
|||
|
|
@ -12,10 +12,7 @@ public interface CodeMgtRepository extends JpaRepository<CodeMgt, CodeMgt.CodeMg
|
|||
List<CodeMgt> findByCategoryCdOrderByItemCdAsc(String categoryCd);
|
||||
List<CodeMgt> findByCategoryCdAndUseChkOrderByOrderNumAsc(String categoryCd, String useChk);
|
||||
Optional<CodeMgt> findByCategoryCdAndItemValue(String categoryCd, String itemValue);
|
||||
Optional<CodeMgt> findByCategoryCdAndValueEtc(String categoryCd, String valueEtc);
|
||||
List<CodeMgt> findByUseChkOrderByItemCdAsc(String useChk);
|
||||
List<CodeMgt> findByOrderByOrderNumAscItemCdAsc();
|
||||
List<CodeMgt> findByOrderByOrderNumAsc();
|
||||
Optional<CodeMgt> findTop1ByCategoryCdOrderByItemCdDesc(String categoryCd);
|
||||
|
||||
CodeMgt findTop1ByItemCd(String itemCd);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -6,7 +6,6 @@ import com.dbnt.faisp.main.codeMgt.model.CodeMgt;
|
|||
import com.dbnt.faisp.main.codeMgt.repository.CodeCatgRepository;
|
||||
import com.dbnt.faisp.main.codeMgt.repository.CodeMgtRepository;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import org.egovframe.rte.fdl.cmmn.EgovAbstractServiceImpl;
|
||||
import org.springframework.stereotype.Service;
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
|
||||
|
|
@ -14,7 +13,7 @@ import java.util.*;
|
|||
|
||||
@Service
|
||||
@RequiredArgsConstructor
|
||||
public class CodeMgtService extends EgovAbstractServiceImpl {
|
||||
public class CodeMgtService{
|
||||
|
||||
private final CodeMgtRepository codeMgtRepository;
|
||||
private final CodeCatgRepository codeCatgRepository;
|
||||
|
|
@ -66,7 +65,7 @@ public class CodeMgtService extends EgovAbstractServiceImpl {
|
|||
}
|
||||
|
||||
public List<CodeCatg> selectCodeCatgAndChild() {
|
||||
List<CodeCatg> codeCatgList = codeCatgRepository.findAllByOrderByCategoryCd();
|
||||
List<CodeCatg> codeCatgList = codeCatgRepository.findAll();
|
||||
for(CodeCatg codeCatg: codeCatgList){
|
||||
codeCatg.setItemList(codeMgtRepository.findByCategoryCdOrderByItemCdAsc(codeCatg.getCategoryCd()));
|
||||
}
|
||||
|
|
@ -74,8 +73,8 @@ public class CodeMgtService extends EgovAbstractServiceImpl {
|
|||
}
|
||||
|
||||
public Map<String, List<CodeMgt>> getCommonCode() {
|
||||
List<CodeCatg> categoryList = codeCatgRepository.findAllByOrderByCategoryCd();
|
||||
List<CodeMgt> codeList = codeMgtRepository.findByOrderByOrderNumAscItemCdAsc();
|
||||
List<CodeCatg> categoryList = codeCatgRepository.findAll();
|
||||
List<CodeMgt> codeList = codeMgtRepository.findByOrderByOrderNumAsc();
|
||||
Map<String, List<CodeMgt>> categoryMap = new HashMap<>();
|
||||
for(CodeCatg category: categoryList){
|
||||
List<CodeMgt> childList = new ArrayList<>();
|
||||
|
|
@ -99,52 +98,14 @@ public class CodeMgtService extends EgovAbstractServiceImpl {
|
|||
}
|
||||
public String searchCodeToCategoryAndValue(String categoryCd, String value){
|
||||
CodeMgt code = codeMgtRepository.findByCategoryCdAndItemValue(categoryCd, value).orElse(null);
|
||||
if(code==null){
|
||||
CodeMgt lastCode = codeMgtRepository.findTop1ByCategoryCdOrderByItemCdDesc(categoryCd).orElse(null);
|
||||
String lastCodeSeq = "1";
|
||||
if(lastCode!=null){
|
||||
lastCodeSeq = lastCode.getItemCd().replace(lastCode.getCategoryCd(), "");
|
||||
}
|
||||
String tempItemCd = "000" + (Integer.parseInt(lastCodeSeq)+1);
|
||||
|
||||
CodeMgt newCode = new CodeMgt();
|
||||
newCode.setCategoryCd(categoryCd);
|
||||
newCode.setItemCd(categoryCd+(tempItemCd.substring(tempItemCd.length() - 3)));
|
||||
newCode.setItemValue(value);
|
||||
newCode.setUseChk("T");
|
||||
codeMgtRepository.save(newCode);
|
||||
|
||||
// 새 관서 등록시 부서 추가될 수 있도록 공통코드 카테고리 추가.
|
||||
if(categoryCd.equals("OG")){
|
||||
CodeCatg newCategory = new CodeCatg();
|
||||
newCategory.setCategoryCd(newCode.getItemCd());
|
||||
newCategory.setCategoryValue(newCode.getItemValue());
|
||||
newCategory.setDescription(newCode.getItemValue()+" 부서");
|
||||
codeCatgRepository.save(newCategory);
|
||||
}
|
||||
|
||||
return newCode.getItemCd();
|
||||
}
|
||||
return code.getItemCd();
|
||||
}
|
||||
|
||||
public String searchCodeToCategoryAndValueEtc(String categoryCd, String valueEtc){
|
||||
CodeMgt code = codeMgtRepository.findByCategoryCdAndValueEtc(categoryCd, valueEtc).orElse(null);
|
||||
if (code == null){
|
||||
return null;
|
||||
}
|
||||
return code.getItemCd();
|
||||
return code==null?null:code.getItemCd();
|
||||
}
|
||||
|
||||
public List<CodeCatg> selectAllCategoryList() {
|
||||
return codeCatgRepository.findAllByOrderByCategoryCd();
|
||||
return codeCatgRepository.findAll();
|
||||
}
|
||||
|
||||
public List<CodeMgt> selectAllCodeList() {
|
||||
return codeMgtRepository.findByOrderByOrderNumAscItemCdAsc();
|
||||
}
|
||||
|
||||
public String searchValue(String itemCd) {
|
||||
return codeMgtRepository.findTop1ByItemCd(itemCd).getItemValue();
|
||||
return codeMgtRepository.findByOrderByOrderNumAsc();
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,320 +0,0 @@
|
|||
package com.dbnt.faisp.main.counterIntelligence;
|
||||
|
||||
import com.dbnt.faisp.main.authMgt.service.AuthMgtService;
|
||||
import com.dbnt.faisp.main.codeMgt.service.CodeMgtService;
|
||||
import com.dbnt.faisp.main.counterIntelligence.model.*;
|
||||
import com.dbnt.faisp.main.counterIntelligence.service.CounterIntelligenceService;
|
||||
import com.dbnt.faisp.main.userInfo.model.UserInfo;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import org.springframework.security.core.annotation.AuthenticationPrincipal;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
import org.springframework.web.multipart.MultipartHttpServletRequest;
|
||||
import org.springframework.web.servlet.ModelAndView;
|
||||
|
||||
import javax.servlet.http.HttpServletResponse;
|
||||
import java.io.BufferedOutputStream;
|
||||
import java.io.File;
|
||||
import java.io.FileInputStream;
|
||||
import java.io.InputStream;
|
||||
import java.time.LocalDateTime;
|
||||
import java.util.List;
|
||||
|
||||
@RestController
|
||||
@RequiredArgsConstructor
|
||||
@RequestMapping("/counterIntelligence")
|
||||
public class CounterIntelligenceController {
|
||||
private final CounterIntelligenceService ciService;
|
||||
private final AuthMgtService authMgtService;
|
||||
private final CodeMgtService codeMgtService;
|
||||
|
||||
@GetMapping("/ciWorkList")
|
||||
public ModelAndView ciWorkListPage(@AuthenticationPrincipal UserInfo loginUser, CounterIntelligenceWork ciWork){
|
||||
ModelAndView mav = new ModelAndView("counterIntelligence/ciWork/ciWorkBoard");
|
||||
mav.addObject("searchUrl", "/counterIntelligence/ciWorkList");
|
||||
String accessAuth = authMgtService.selectAccessConfigList
|
||||
(loginUser.getUserSeq(), "/counterIntelligence/ciWorkList").get(0).getAccessAuth();
|
||||
mav.addObject("accessAuth", accessAuth);
|
||||
if(accessAuth.equals("ACC003")){
|
||||
mav.addObject("downOrganCdList", loginUser.getDownOrganCdList());
|
||||
ciWork.setDownOrganCdList(loginUser.getDownOrganCdList());
|
||||
}else{
|
||||
ciWork.setWrtOrgan(loginUser.getOgCd());
|
||||
}
|
||||
ciWork.setQueryInfo();
|
||||
mav.addObject("ciWorkList", ciService.selectCounterIntelligenceWorkList(ciWork));
|
||||
ciWork.setContentCnt(ciService.selectCounterIntelligenceWorkCnt(ciWork));
|
||||
ciWork.setPaginationInfo();
|
||||
mav.addObject("searchParams", ciWork);
|
||||
return mav;
|
||||
}
|
||||
|
||||
@GetMapping("/ciWorkEditModal")
|
||||
public ModelAndView ciWorkEditModal(@AuthenticationPrincipal UserInfo loginUser, CounterIntelligenceWork ciWork){
|
||||
ModelAndView mav = new ModelAndView("counterIntelligence/ciWork/ciWorkEditModal");
|
||||
|
||||
mav.addObject("ciwrCodeList", codeMgtService.selectCodeMgtList("CIWR"));
|
||||
if(ciWork.getCiwKey()==null){
|
||||
ciWork.setWrtOrgan(loginUser.getOgCd());
|
||||
ciWork.setWrtPart(loginUser.getOfcCd());
|
||||
ciWork.setWrtUserSeq(loginUser.getUserSeq());
|
||||
ciWork.setWrtUserGrd(loginUser.getTitleCd());
|
||||
ciWork.setWrtUserNm(loginUser.getUserNm());
|
||||
ciWork.setWrtDt(LocalDateTime.now());
|
||||
}else{
|
||||
ciWork = ciService.selectCounterIntelligenceWork(ciWork.getCiwKey());
|
||||
}
|
||||
String accessAuth = authMgtService.selectAccessConfigList
|
||||
(loginUser.getUserSeq(), "/counterIntelligence/ciWorkList").get(0).getAccessAuth();
|
||||
mav.addObject("accessAuth", accessAuth);
|
||||
mav.addObject("ciWork", ciWork);
|
||||
return mav;
|
||||
}
|
||||
|
||||
@GetMapping("/ciWorkViewModal")
|
||||
public ModelAndView ciWorkViewModal(@AuthenticationPrincipal UserInfo loginUser, CounterIntelligenceWork ciWork){
|
||||
ModelAndView mav = new ModelAndView("counterIntelligence/ciWork/ciWorkViewModal");
|
||||
mav.addObject("lineSeparator", '\n');
|
||||
mav.addObject("viewUserSeq", loginUser.getUserSeq());
|
||||
String accessAuth = authMgtService.selectAccessConfigList
|
||||
(loginUser.getUserSeq(), "/counterIntelligence/ciWorkList").get(0).getAccessAuth();
|
||||
mav.addObject("accessAuth", accessAuth);
|
||||
mav.addObject("ciWork", ciService.selectCounterIntelligenceWork(ciWork.getCiwKey()));
|
||||
return mav;
|
||||
}
|
||||
@PostMapping("/saveCiWork")
|
||||
public Integer saveCiWork(CounterIntelligenceWork ciWork,
|
||||
MultipartHttpServletRequest request,
|
||||
@RequestParam(value = "fileSeq", required = false) List<Integer> deleteFileSeq){
|
||||
ciWork.setMultipartFileList(request.getMultiFileMap().get("uploadFiles"));
|
||||
return ciService.saveCiWork(ciWork, deleteFileSeq);
|
||||
}
|
||||
|
||||
@PostMapping("/deleteCiWork")
|
||||
public Integer deleteCiWork(@AuthenticationPrincipal UserInfo loginUser, CounterIntelligenceWork ciWork){
|
||||
// String accessAuth = authMgtService.selectAccessConfigList(loginUser.getUserSeq(), "/counterIntelligence/ciWorkList").get(0).getAccessAuth();
|
||||
return ciService.deleteCiWork(ciWork.getCiwKey());
|
||||
/*if(accessAuth.equals("ACC003")){
|
||||
return ciService.deleteCiWork(ciWork.getCiwKey());
|
||||
}else{
|
||||
return 0;
|
||||
}*/
|
||||
}
|
||||
@GetMapping("/CiWorkStatistics")
|
||||
public ModelAndView ciWorkStatistics(@AuthenticationPrincipal UserInfo loginUser, CiWorkStatistics ciWorkStatistics){
|
||||
if(ciWorkStatistics.getYear()==null){
|
||||
ciWorkStatistics.setYear(LocalDateTime.now().getYear());
|
||||
}
|
||||
ModelAndView mav = new ModelAndView("counterIntelligence/ciWork/ciWorkStatistics");
|
||||
mav.addObject("yearList", ciService.selectCiWorkYearList());
|
||||
|
||||
String accessAuth = authMgtService.selectAccessConfigList
|
||||
(loginUser.getUserSeq(), "/counterIntelligence/ciWorkList").get(0).getAccessAuth();
|
||||
if(accessAuth.equals("ACC003")) {
|
||||
ciWorkStatistics.setDownOrganCdList(loginUser.getDownOrganCdList());
|
||||
}else{
|
||||
ciWorkStatistics.setOgCd(loginUser.getOgCd());
|
||||
}
|
||||
mav.addObject("ciWorkStatisticsList", ciService.selectCiWorkStatisticsList(ciWorkStatistics));
|
||||
mav.addObject("searchParams", ciWorkStatistics);
|
||||
return mav;
|
||||
}
|
||||
|
||||
|
||||
|
||||
@PostMapping("/saveCiActivity")
|
||||
public Integer saveCiActivity(CounterIntelligenceActivity cia,@AuthenticationPrincipal UserInfo loginUser,
|
||||
MultipartHttpServletRequest request,
|
||||
@RequestParam(value = "fileSeq", required = false) List<Integer> deleteFileSeq){
|
||||
cia.setMultipartFileList(request.getMultiFileMap().get("uploadFiles"));
|
||||
if(cia.getCiKey()==null){
|
||||
cia.setWrtOrgan(loginUser.getOgCd());
|
||||
cia.setWrtPart(loginUser.getOfcCd());
|
||||
cia.setWrtUserSeq(loginUser.getUserSeq());
|
||||
cia.setWrtUserGrd(loginUser.getTitleCd());
|
||||
cia.setWrtUserNm(loginUser.getUserNm());
|
||||
cia.setWrtDt(LocalDateTime.now());
|
||||
}
|
||||
Integer ciKey = ciService.saveCiActivity(cia, deleteFileSeq);
|
||||
|
||||
|
||||
return ciKey;
|
||||
}
|
||||
|
||||
|
||||
@GetMapping("/ciaSafetyDemandList")
|
||||
public ModelAndView ciaSafetyDemandList(@AuthenticationPrincipal UserInfo loginUser, CounterIntelligenceActivity cia){
|
||||
ModelAndView mav = new ModelAndView("counterIntelligence/ciaSafetyDemandList");
|
||||
String accessAuth = authMgtService.selectAccessConfigList
|
||||
(loginUser.getUserSeq(), "/counterIntelligence/ciaSafetyDemandList").get(0).getAccessAuth();
|
||||
mav.addObject("accessAuth", accessAuth);
|
||||
|
||||
cia.setDownOrganCdList(loginUser.getDownOrganCdList());
|
||||
cia.setWrtUserSeq(loginUser.getUserSeq());
|
||||
cia.setQueryInfo();
|
||||
mav.addObject("sdiList", ciService.selectCiaSafetyDemandList(cia));
|
||||
cia.setContentCnt(ciService.selectCiaSafetyDemandListCnt(cia));
|
||||
cia.setPaginationInfo();
|
||||
mav.addObject("mgtOrganList", loginUser.getDownOrganCdList());
|
||||
mav.addObject("loginUserSeq", loginUser.getUserSeq());
|
||||
mav.addObject("searchParams", cia);
|
||||
return mav;
|
||||
}
|
||||
|
||||
@GetMapping("/ciaManageCompanyList")
|
||||
public ModelAndView ciaManageCompanyList(@AuthenticationPrincipal UserInfo loginUser, CounterIntelligenceActivity cia){
|
||||
ModelAndView mav = new ModelAndView("counterIntelligence/ciaManageCompanyList");
|
||||
String accessAuth = authMgtService.selectAccessConfigList
|
||||
(loginUser.getUserSeq(), "/counterIntelligence/ciaManageCompanyList").get(0).getAccessAuth();
|
||||
mav.addObject("accessAuth", accessAuth);
|
||||
|
||||
cia.setWrtUserSeq(loginUser.getUserSeq());
|
||||
cia.setDownOrganCdList(loginUser.getDownOrganCdList());
|
||||
cia.setQueryInfo();
|
||||
mav.addObject("mciList", ciService.selectCiaManageCompanyList(cia));
|
||||
cia.setContentCnt(ciService.selectCiaManageCompanyListCnt(cia));
|
||||
cia.setPaginationInfo();
|
||||
mav.addObject("mgtOrganList", loginUser.getDownOrganCdList());
|
||||
mav.addObject("loginUserSeq", loginUser.getUserSeq());
|
||||
mav.addObject("searchParams", cia);
|
||||
return mav;
|
||||
}
|
||||
|
||||
|
||||
|
||||
@GetMapping("/ciaForeignerList")
|
||||
public ModelAndView ciaForeignerList(@AuthenticationPrincipal UserInfo loginUser, CounterIntelligenceActivity cia){
|
||||
ModelAndView mav = new ModelAndView("counterIntelligence/ciaForeignerList");
|
||||
String accessAuth = authMgtService.selectAccessConfigList
|
||||
(loginUser.getUserSeq(), "/counterIntelligence/ciaForeignerList").get(0).getAccessAuth();
|
||||
mav.addObject("accessAuth", accessAuth);
|
||||
|
||||
cia.setWrtUserSeq(loginUser.getUserSeq());
|
||||
cia.setDownOrganCdList(loginUser.getDownOrganCdList());
|
||||
cia.setQueryInfo();
|
||||
mav.addObject("fiList", ciService.selectCiaForeignerList(cia));
|
||||
cia.setContentCnt(ciService.selectCiaForeignerListCnt(cia));
|
||||
cia.setPaginationInfo();
|
||||
mav.addObject("mgtOrganList", loginUser.getDownOrganCdList());
|
||||
mav.addObject("loginUserSeq", loginUser.getUserSeq());
|
||||
mav.addObject("searchParams", cia);
|
||||
return mav;
|
||||
}
|
||||
|
||||
|
||||
@GetMapping("/ciaEduList")
|
||||
public ModelAndView ciaEduList(@AuthenticationPrincipal UserInfo loginUser, CounterIntelligenceActivity cia){
|
||||
ModelAndView mav = new ModelAndView("counterIntelligence/ciaEduList");
|
||||
String accessAuth = authMgtService.selectAccessConfigList
|
||||
(loginUser.getUserSeq(), "/counterIntelligence/ciaEduList").get(0).getAccessAuth();
|
||||
mav.addObject("accessAuth", accessAuth);
|
||||
|
||||
cia.setWrtUserSeq(loginUser.getUserSeq());
|
||||
cia.setDownOrganCdList(loginUser.getDownOrganCdList());
|
||||
cia.setQueryInfo();
|
||||
mav.addObject("eiList", ciService.selectCiaEduList(cia));
|
||||
cia.setContentCnt(ciService.selectCiaEduListCnt(cia));
|
||||
cia.setPaginationInfo();
|
||||
mav.addObject("mgtOrganList", loginUser.getDownOrganCdList());
|
||||
mav.addObject("loginUserSeq", loginUser.getUserSeq());
|
||||
mav.addObject("searchParams", cia);
|
||||
return mav;
|
||||
}
|
||||
|
||||
|
||||
@GetMapping("/ciaEditModal")
|
||||
public ModelAndView ciaEditModal(@AuthenticationPrincipal UserInfo loginUser, CounterIntelligenceActivity cia){
|
||||
ModelAndView mav = new ModelAndView();
|
||||
switch (cia.getCiType()){
|
||||
case "SDI":
|
||||
mav.setViewName("counterIntelligence/ciaSafetyDemandEditModal");
|
||||
break;
|
||||
case "MCI":
|
||||
mav.setViewName("counterIntelligence/ciaManageCompanyEditModal");
|
||||
break;
|
||||
case "FI":
|
||||
mav.setViewName("counterIntelligence/ciaForeignerEditModal");
|
||||
break;
|
||||
case "EI":
|
||||
mav.setViewName("counterIntelligence/ciaEduEditModal");
|
||||
break;
|
||||
}
|
||||
mav.addObject("mgtOrganList", loginUser.getDownOrganCdList());
|
||||
mav.addObject("cia", ciService.selectCiaInfo(cia));
|
||||
return mav;
|
||||
}
|
||||
|
||||
@GetMapping("/ciaViewModal")
|
||||
public ModelAndView ciaViewModal(@AuthenticationPrincipal UserInfo loginUser, CounterIntelligenceActivity cia){
|
||||
ModelAndView mav = new ModelAndView();
|
||||
String accessAuth = null;
|
||||
switch (cia.getCiType()){
|
||||
case "SDI":
|
||||
mav.setViewName("counterIntelligence/ciaSafetyDemandViewModal");
|
||||
accessAuth = authMgtService.selectAccessConfigList
|
||||
(loginUser.getUserSeq(), "/counterIntelligence/ciaSafetyDemandList").get(0).getAccessAuth();
|
||||
break;
|
||||
case "MCI":
|
||||
mav.setViewName("counterIntelligence/ciaManageCompanyViewModal");
|
||||
accessAuth = authMgtService.selectAccessConfigList
|
||||
(loginUser.getUserSeq(), "/counterIntelligence/ciaManageCompanyList").get(0).getAccessAuth();
|
||||
break;
|
||||
case "FI":
|
||||
mav.setViewName("counterIntelligence/ciaForeignerViewModal");
|
||||
accessAuth = authMgtService.selectAccessConfigList
|
||||
(loginUser.getUserSeq(), "/counterIntelligence/ciaForeignerList").get(0).getAccessAuth();
|
||||
break;
|
||||
case "EI":
|
||||
mav.setViewName("counterIntelligence/ciaEduViewModal");
|
||||
accessAuth = authMgtService.selectAccessConfigList
|
||||
(loginUser.getUserSeq(), "/counterIntelligence/ciaEduList").get(0).getAccessAuth();
|
||||
break;
|
||||
}
|
||||
mav.addObject("accessAuth", accessAuth);
|
||||
mav.addObject("lineSeparator", '\n');
|
||||
mav.addObject("viewUserSeq", loginUser.getUserSeq());
|
||||
mav.addObject("cia", ciService.selectCiaInfo(cia));
|
||||
return mav;
|
||||
}
|
||||
|
||||
@PostMapping("/deleteCounterIntelligenceActivity")
|
||||
public void deleteCounterIntelligenceActivity(@AuthenticationPrincipal UserInfo loginUser,@RequestBody CounterIntelligenceActivity cia){
|
||||
cia.setContentStatus("DST008");
|
||||
ciService.deleteCounterIntelligenceActivity(cia);
|
||||
}
|
||||
|
||||
@GetMapping("/getCiaForeignerImg")
|
||||
public void getCiaForeignerImg(CiaFile cf , HttpServletResponse response) throws Exception {
|
||||
|
||||
CiaFile dbImg = ciService.selectCiaForeignerFile(cf.getCiKey(),cf.getFileSeq());
|
||||
|
||||
String realFile = dbImg.getSavePath()+"/"+ dbImg.getConvNm();
|
||||
String fileNm = dbImg.getConvNm();
|
||||
|
||||
|
||||
BufferedOutputStream out = null;
|
||||
InputStream in = null;
|
||||
|
||||
try {
|
||||
response.setContentType("image/jpeg;charset=UTF-8");
|
||||
response.setHeader("Content-Disposition", "inline;filename=" + fileNm);
|
||||
File file = new File(realFile);
|
||||
// File file = new File(realFile + "/" + fileNm);
|
||||
if(file.exists()){
|
||||
in = new FileInputStream(file);
|
||||
out = new BufferedOutputStream(response.getOutputStream());
|
||||
int len;
|
||||
byte[] buf = new byte[1024];
|
||||
while ((len = in.read(buf)) > 0) {
|
||||
out.write(buf, 0, len);
|
||||
}
|
||||
}
|
||||
} catch (Exception e) {
|
||||
|
||||
} finally {
|
||||
if(out != null){ out.flush(); }
|
||||
if(out != null){ out.close(); }
|
||||
if(in != null){ in.close(); }
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
|
@ -1,209 +0,0 @@
|
|||
package com.dbnt.faisp.main.counterIntelligence.activityCase;
|
||||
|
||||
import com.dbnt.faisp.main.authMgt.service.AuthMgtService;
|
||||
import com.dbnt.faisp.main.codeMgt.model.CodeMgt;
|
||||
import com.dbnt.faisp.main.codeMgt.service.CodeMgtService;
|
||||
import com.dbnt.faisp.main.counterIntelligence.activityCase.model.*;
|
||||
import com.dbnt.faisp.main.counterIntelligence.activityCase.service.ActivityCaseService;
|
||||
import com.dbnt.faisp.main.userInfo.model.UserInfo;
|
||||
import com.dbnt.faisp.util.Utils;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import org.springframework.security.core.annotation.AuthenticationPrincipal;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
import org.springframework.web.multipart.MultipartHttpServletRequest;
|
||||
import org.springframework.web.servlet.ModelAndView;
|
||||
|
||||
import javax.servlet.http.HttpSession;
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
@RestController
|
||||
@RequiredArgsConstructor
|
||||
@RequestMapping("/counterIntelligence")
|
||||
public class ActivityCaseController {
|
||||
|
||||
private final ActivityCaseService activityCaseService;
|
||||
private final AuthMgtService authMgtService;
|
||||
|
||||
@GetMapping("/activityCaseList")
|
||||
public ModelAndView activityCaseListPage(@AuthenticationPrincipal UserInfo loginUser, ActivityCaseBoard activityCase){
|
||||
ModelAndView mav = new ModelAndView("counterIntelligence/activityCase/activityCaseBoard");
|
||||
mav.addObject("searchUrl", "/counterIntelligence/activityCaseList");
|
||||
String accessAuth = authMgtService.selectAccessConfigList
|
||||
(loginUser.getUserSeq(), "/counterIntelligence/activityCaseList").get(0).getAccessAuth();
|
||||
mav.addObject("accessAuth", accessAuth);
|
||||
|
||||
mav.addObject("ogCd", loginUser.getOgCd());
|
||||
if(accessAuth.equals("ACC003")){
|
||||
activityCase.setDownOrganCdList(loginUser.getDownOrganCdList());
|
||||
}else{
|
||||
activityCase.setWrtOrgan(loginUser.getOgCd());
|
||||
}
|
||||
activityCase.setWrtUserSeq(loginUser.getUserSeq());
|
||||
activityCase.setQueryInfo();
|
||||
mav.addObject("activityCaseList", activityCaseService.selectActivityCaseList(activityCase));
|
||||
activityCase.setContentCnt(activityCaseService.selectActivityCaseCnt(activityCase));
|
||||
activityCase.setPaginationInfo();
|
||||
mav.addObject("searchParams", activityCase);
|
||||
return mav;
|
||||
}
|
||||
|
||||
@GetMapping("/activityCaseEditModal")
|
||||
public ModelAndView activityCaseEditModal(@AuthenticationPrincipal UserInfo loginUser, ActivityCase activityCase, ActivityCaseInfo activityCaseInfo){
|
||||
ModelAndView mav = new ModelAndView("counterIntelligence/activityCase/activityCaseEditModal");
|
||||
if(activityCase.getReceiptKey()==null){
|
||||
activityCase.setWrtOrgan(loginUser.getOgCd());
|
||||
activityCase.setWrtPart(loginUser.getOfcCd());
|
||||
activityCase.setWrtUserSeq(loginUser.getUserSeq());
|
||||
activityCase.setWrtUserGrd(loginUser.getTitleCd());
|
||||
activityCase.setWrtUserNm(loginUser.getUserNm());
|
||||
}else{
|
||||
activityCase = activityCaseService.selectActivityCase(activityCase.getReceiptKey());
|
||||
if(activityCaseInfo.getCaseKey()!=null){
|
||||
activityCaseInfo = activityCaseService.selectActivityCaseInfo(activityCaseInfo.getCaseKey());
|
||||
}
|
||||
}
|
||||
String accessAuth = authMgtService.selectAccessConfigList
|
||||
(loginUser.getUserSeq(), "/counterIntelligence/activityCaseList").get(0).getAccessAuth();
|
||||
mav.addObject("accessAuth", accessAuth);
|
||||
mav.addObject("activityCase", activityCase);
|
||||
mav.addObject("activityCaseInfo", activityCaseInfo);
|
||||
return mav;
|
||||
}
|
||||
|
||||
@GetMapping("/getSuspectDiv")
|
||||
public ModelAndView suspectDiv(){
|
||||
ModelAndView mav = new ModelAndView("counterIntelligence/activityCase/suspectDiv");
|
||||
return mav;
|
||||
}
|
||||
|
||||
@PostMapping("/getApprvDiv")
|
||||
@ResponseBody
|
||||
public ModelAndView apprvDiv(@RequestBody List<ActivityCaseApprv> apprvList){
|
||||
ModelAndView mav = new ModelAndView("counterIntelligence/activityCase/apprvDiv");
|
||||
mav.addObject("userList", apprvList);
|
||||
return mav;
|
||||
}
|
||||
|
||||
@GetMapping("/activityCaseSummaryModal")
|
||||
public ModelAndView activityCaseSummaryModal(@AuthenticationPrincipal UserInfo loginUser, ActivityCaseSummary activityCase){
|
||||
ModelAndView mav = new ModelAndView("counterIntelligence/activityCase/activityCaseSummaryModal");
|
||||
mav.addObject("modalType", activityCase.getModalType());
|
||||
List<ActivityCaseSummary> activityCaseList = activityCaseService.selectActivityCaseInfoList(activityCase.getReceiptKey());
|
||||
|
||||
mav.addObject("viewUserSeq", loginUser.getUserSeq());
|
||||
mav.addObject("wrtUserSeq", activityCaseList.get(activityCaseList.size()-1).getWrtUserSeq());
|
||||
mav.addObject("lastCaseType", activityCaseList.get(activityCaseList.size()-1).getCaseType());
|
||||
mav.addObject("lastStatus", activityCaseList.get(activityCaseList.size()-1).getStatus());
|
||||
mav.addObject("receiptKey", activityCase.getReceiptKey());
|
||||
mav.addObject("activityCaseList", activityCaseList);
|
||||
return mav;
|
||||
}
|
||||
|
||||
@GetMapping("/activityCaseViewModal")
|
||||
public ModelAndView activityCaseViewModal(@AuthenticationPrincipal UserInfo loginUser, ActivityCaseInfo activityCaseInfo){
|
||||
ModelAndView mav = new ModelAndView("counterIntelligence/activityCase/activityCaseViewModal");
|
||||
mav.addObject("modalType", activityCaseInfo.getModalType());
|
||||
activityCaseInfo = activityCaseService.selectActivityCaseInfo(activityCaseInfo.getCaseKey());
|
||||
ActivityCase activityCase = activityCaseService.selectActivityCase(activityCaseInfo.getReceiptKey());
|
||||
mav.addObject("viewUserSeq", loginUser.getUserSeq());
|
||||
String accessAuth = authMgtService.selectAccessConfigList
|
||||
(loginUser.getUserSeq(), "/counterIntelligence/activityCaseList").get(0).getAccessAuth();
|
||||
mav.addObject("accessAuth", accessAuth);
|
||||
mav.addObject("activityCase", activityCase);
|
||||
mav.addObject("activityCaseInfo", activityCaseInfo);
|
||||
boolean printFlag = false;
|
||||
for(ActivityCaseApprv apprv: activityCaseInfo.getApprvList()){
|
||||
if((!Utils.isEmpty(apprv.getApprvYn()) && apprv.getApprvYn().equals("Y"))
|
||||
&& (!Utils.isEmpty(apprv.getApprvType()) && !apprv.getApprvType().equals("ACAT001"))){
|
||||
printFlag = true;
|
||||
}
|
||||
}
|
||||
mav.addObject("printFlag", printFlag);
|
||||
return mav;
|
||||
}
|
||||
|
||||
@PostMapping("/saveActivityCase")
|
||||
public Integer saveActivityCase(ActivityCase activityCase,
|
||||
ActivityCaseInfo activityCaseInfo,
|
||||
MultipartHttpServletRequest request,
|
||||
@RequestParam(value = "fileSeq", required = false) List<Integer> deleteFileSeq){
|
||||
activityCaseInfo.setMultipartFileList(request.getMultiFileMap().get("uploadFiles"));
|
||||
return activityCaseService.saveActivityCase(activityCase, activityCaseInfo, deleteFileSeq);
|
||||
}
|
||||
|
||||
@PostMapping("/saveActivityCaseApprv")
|
||||
public void saveActivityCaseApprv(@RequestBody ActivityCaseApprv apprv){
|
||||
activityCaseService.saveActivityCaseApprv(apprv);
|
||||
}
|
||||
|
||||
@PostMapping("/deleteActivityCase")
|
||||
@ResponseBody
|
||||
public void deleteActivityCase(@AuthenticationPrincipal UserInfo loginUser, @RequestBody ActivityCase activityCase){
|
||||
activityCaseService.deleteActivityCase(activityCase.getReceiptKey());
|
||||
}
|
||||
|
||||
@PostMapping("/deleteActivityCaseInfo")
|
||||
@ResponseBody
|
||||
public void deleteActivityCaseInfo(@AuthenticationPrincipal UserInfo loginUser, @RequestBody ActivityCaseInfo acInfo) {
|
||||
activityCaseService.deleteActivityCaseInfo(acInfo.getCaseKey());
|
||||
}
|
||||
|
||||
@GetMapping("/activityCaseMgt")
|
||||
public ModelAndView activityCaseMgt(@AuthenticationPrincipal UserInfo loginUser, ActivityCaseBoard activityCase){
|
||||
ModelAndView mav = new ModelAndView("counterIntelligence/activityCase/activityCaseMgt");
|
||||
mav.addObject("searchUrl", "/counterIntelligence/activityCaseMgt");
|
||||
String accessAuth = authMgtService.selectAccessConfigList
|
||||
(loginUser.getUserSeq(), "/counterIntelligence/activityCaseMgt").get(0).getAccessAuth();
|
||||
mav.addObject("accessAuth", accessAuth);
|
||||
|
||||
mav.addObject("ogCd", loginUser.getOgCd());
|
||||
if(accessAuth.equals("ACC003")){
|
||||
activityCase.setDownOrganCdList(loginUser.getDownOrganCdList());
|
||||
}else{
|
||||
activityCase.setWrtOrgan(loginUser.getOgCd());
|
||||
}
|
||||
activityCase.setWrtUserSeq(loginUser.getUserSeq());
|
||||
activityCase.setQueryInfo();
|
||||
mav.addObject("activityCaseList", activityCaseService.selectActivityCaseMgt(activityCase));
|
||||
activityCase.setContentCnt(activityCaseService.selectActivityCaseMgtCnt(activityCase));
|
||||
activityCase.setPaginationInfo();
|
||||
mav.addObject("searchParams", activityCase);
|
||||
return mav;
|
||||
}
|
||||
|
||||
@GetMapping("/activityCasePrint")
|
||||
public Map<String, Object> activityCasePrint(ActivityCaseInfo info, HttpSession session){
|
||||
Map<String, List<CodeMgt>> codeMap = (Map<String, List<CodeMgt>>) session.getAttribute("commonCode");
|
||||
Map<String, Object> map = new HashMap<>();
|
||||
info = activityCaseService.selectActivityCaseInfo(info.getCaseKey());
|
||||
ActivityCase activityCase = activityCaseService.selectActivityCase(info.getReceiptKey());
|
||||
String reception = "";
|
||||
String reference = "";
|
||||
switch (activityCase.getWrtOrgan()){
|
||||
case "OG001":
|
||||
reception = "해양경찰청장";
|
||||
reference = "외사과장";
|
||||
break;
|
||||
case "OG027":
|
||||
reception = "서해5도특별경비단장";
|
||||
reference = "경비작전과장";
|
||||
break;
|
||||
default:
|
||||
String organNm = Utils.searchCodeValue(activityCase.getWrtOrgan(), codeMap.get("OG")).trim();
|
||||
if(organNm.endsWith("청")){
|
||||
reception = organNm.substring(0, organNm.length()-1)+"지방청장";
|
||||
}else{
|
||||
reception = organNm.substring(0, organNm.length()-1)+"경찰서장";
|
||||
}
|
||||
reference = "정보외사과장";
|
||||
break;
|
||||
}
|
||||
map.put("reception", reception);
|
||||
map.put("reference", reference);
|
||||
map.put("activityCase", activityCaseService.getActivityCasePrintData(activityCase, codeMap));
|
||||
map.put("activityCaseInfo", activityCaseService.getActivityCaseInfoPrintData(info, codeMap));
|
||||
return map;
|
||||
}
|
||||
}
|
||||
|
|
@ -1,25 +0,0 @@
|
|||
package com.dbnt.faisp.main.counterIntelligence.activityCase.mapper;
|
||||
|
||||
import com.dbnt.faisp.main.counterIntelligence.activityCase.model.ActivityCase;
|
||||
import com.dbnt.faisp.main.counterIntelligence.activityCase.model.ActivityCaseBoard;
|
||||
import com.dbnt.faisp.main.counterIntelligence.activityCase.model.ActivityCaseSummary;
|
||||
import org.apache.ibatis.annotations.Mapper;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
|
||||
@Mapper
|
||||
public interface ActivityCaseMapper {
|
||||
|
||||
List<ActivityCaseBoard> selectActivityCaseList(ActivityCaseBoard activityCase);
|
||||
Integer selectActivityCaseCnt(ActivityCaseBoard activityCase);
|
||||
|
||||
List<ActivityCaseSummary> selectActivityCaseInfoList(Integer receiptKey);
|
||||
|
||||
Integer selectReceiptNum(int year);
|
||||
Integer selectCaseNum(Map<String, Object> map);
|
||||
|
||||
List<ActivityCaseBoard> selectActivityCaseMgt(ActivityCaseBoard activityCase);
|
||||
Integer selectActivityCaseMgtCnt(ActivityCaseBoard activityCase);
|
||||
}
|
||||
|
|
@ -1,46 +0,0 @@
|
|||
package com.dbnt.faisp.main.counterIntelligence.activityCase.model;
|
||||
|
||||
import com.dbnt.faisp.config.BaseModel;
|
||||
import com.dbnt.faisp.main.counterIntelligence.model.CiwFile;
|
||||
import com.dbnt.faisp.main.counterIntelligence.model.HashTagLinkCiw;
|
||||
import lombok.Getter;
|
||||
import lombok.NoArgsConstructor;
|
||||
import lombok.Setter;
|
||||
import org.hibernate.annotations.DynamicInsert;
|
||||
import org.hibernate.annotations.DynamicUpdate;
|
||||
import org.springframework.format.annotation.DateTimeFormat;
|
||||
import org.springframework.web.multipart.MultipartFile;
|
||||
|
||||
import javax.persistence.*;
|
||||
import java.time.LocalDate;
|
||||
import java.time.LocalDateTime;
|
||||
import java.util.List;
|
||||
|
||||
@Getter
|
||||
@Setter
|
||||
@Entity
|
||||
@NoArgsConstructor
|
||||
@DynamicInsert
|
||||
@DynamicUpdate
|
||||
@Table(name = "activity_case")
|
||||
public class ActivityCase extends BaseModel {
|
||||
@Id
|
||||
@GeneratedValue(strategy = GenerationType.IDENTITY)
|
||||
@Column(name = "receipt_key")
|
||||
private Integer receiptKey;
|
||||
@Column(name = "receipt_num")
|
||||
private String receiptNum;
|
||||
@Column(name = "wrt_organ")
|
||||
private String wrtOrgan;
|
||||
@Column(name = "wrt_part")
|
||||
private String wrtPart;
|
||||
@Column(name = "wrt_user_seq")
|
||||
private Integer wrtUserSeq;
|
||||
@Column(name = "wrt_user_grd")
|
||||
private String wrtUserGrd;
|
||||
@Column(name = "wrt_user_nm")
|
||||
private String wrtUserNm;
|
||||
|
||||
@Transient
|
||||
private List<ActivityCaseSuspect> suspectList;
|
||||
}
|
||||
|
|
@ -1,55 +0,0 @@
|
|||
package com.dbnt.faisp.main.counterIntelligence.activityCase.model;
|
||||
|
||||
import lombok.*;
|
||||
import org.hibernate.annotations.DynamicInsert;
|
||||
import org.hibernate.annotations.DynamicUpdate;
|
||||
import org.springframework.format.annotation.DateTimeFormat;
|
||||
|
||||
import javax.persistence.*;
|
||||
import java.io.Serializable;
|
||||
import java.time.LocalDate;
|
||||
import java.time.LocalDateTime;
|
||||
|
||||
@Getter
|
||||
@Setter
|
||||
@Entity
|
||||
@NoArgsConstructor
|
||||
@DynamicInsert
|
||||
@DynamicUpdate
|
||||
@Table(name = "activity_case_apprv")
|
||||
@IdClass(ActivityCaseApprv.ActivityCaseApprvId.class)
|
||||
public class ActivityCaseApprv {
|
||||
@Id
|
||||
@Column(name = "case_key")
|
||||
private Integer caseKey;
|
||||
@Id
|
||||
@Column(name = "user_seq")
|
||||
private Integer userSeq;
|
||||
@Column(name = "apprv_type")
|
||||
private String apprvType;
|
||||
@Column(name = "og_cd")
|
||||
private String ogCd;
|
||||
@Column(name = "ofc_cd")
|
||||
private String ofcCd;
|
||||
@Column(name = "title_cd")
|
||||
private String titleCd;
|
||||
@Column(name = "user_nm")
|
||||
private String userNm;
|
||||
@Column(name = "instructions")
|
||||
private String instructions;
|
||||
@Column(name = "apprv_dt")
|
||||
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm")
|
||||
private LocalDateTime apprvDt;
|
||||
@Column(name = "apprv_yn")
|
||||
private String apprvYn;
|
||||
|
||||
|
||||
@Embeddable
|
||||
@Data
|
||||
@NoArgsConstructor
|
||||
@AllArgsConstructor
|
||||
public static class ActivityCaseApprvId implements Serializable {
|
||||
private Integer caseKey;
|
||||
private Integer userSeq;
|
||||
}
|
||||
}
|
||||
|
|
@ -1,40 +0,0 @@
|
|||
package com.dbnt.faisp.main.counterIntelligence.activityCase.model;
|
||||
|
||||
import com.dbnt.faisp.config.BaseModel;
|
||||
import lombok.Getter;
|
||||
import lombok.NoArgsConstructor;
|
||||
import lombok.Setter;
|
||||
|
||||
import java.time.LocalDate;
|
||||
import java.time.LocalDateTime;
|
||||
|
||||
@Getter
|
||||
@Setter
|
||||
@NoArgsConstructor
|
||||
public class ActivityCaseBoard extends BaseModel {
|
||||
private Integer receiptKey;
|
||||
private String receiptNum;
|
||||
private String wrtOrgan;
|
||||
private String wrtPart;
|
||||
private Integer wrtUserSeq;
|
||||
private String wrtUserGrd;
|
||||
private String wrtUserNm;
|
||||
private Integer reportCnt;
|
||||
private String caseType;
|
||||
private String caseNum;
|
||||
private String title;
|
||||
private String content;
|
||||
private LocalDate reportDate;
|
||||
private LocalDate activityStartDate;
|
||||
private LocalDate activityEndDate;
|
||||
private LocalDateTime wrtDt;
|
||||
private String status;
|
||||
private String suspectNm;
|
||||
private String suspectBirthDate;
|
||||
private String suspectAddress;
|
||||
private Integer suspectCnt;
|
||||
private String activityResult;
|
||||
private String apprvType;
|
||||
private String apprvUserNm;
|
||||
private String description;
|
||||
}
|
||||
|
|
@ -1,46 +0,0 @@
|
|||
package com.dbnt.faisp.main.counterIntelligence.activityCase.model;
|
||||
|
||||
import com.dbnt.faisp.config.FileInfo;
|
||||
import lombok.*;
|
||||
import org.hibernate.annotations.DynamicInsert;
|
||||
import org.hibernate.annotations.DynamicUpdate;
|
||||
|
||||
import javax.persistence.*;
|
||||
import java.io.Serializable;
|
||||
|
||||
@Getter
|
||||
@Setter
|
||||
@Entity
|
||||
@NoArgsConstructor
|
||||
@DynamicInsert
|
||||
@DynamicUpdate
|
||||
@Table(name = "activity_case_file")
|
||||
@IdClass(ActivityCaseFile.ActivityCaseFileId.class)
|
||||
public class ActivityCaseFile extends FileInfo {
|
||||
@Id
|
||||
@Column(name = "case_key")
|
||||
private Integer caseKey;
|
||||
@Id
|
||||
@Column(name = "file_seq")
|
||||
private Integer fileSeq;
|
||||
@Column(name = "orig_nm")
|
||||
private String origNm;
|
||||
@Column(name = "conv_nm")
|
||||
private String convNm;
|
||||
@Column(name = "file_extn")
|
||||
private String fileExtn;
|
||||
@Column(name = "file_size")
|
||||
private String fileSize;
|
||||
@Column(name = "save_path")
|
||||
private String savePath;
|
||||
|
||||
|
||||
@Embeddable
|
||||
@Data
|
||||
@NoArgsConstructor
|
||||
@AllArgsConstructor
|
||||
public static class ActivityCaseFileId implements Serializable {
|
||||
private Integer caseKey;
|
||||
private Integer fileSeq;
|
||||
}
|
||||
}
|
||||
|
|
@ -1,58 +0,0 @@
|
|||
package com.dbnt.faisp.main.counterIntelligence.activityCase.model;
|
||||
|
||||
import com.dbnt.faisp.config.BaseModel;
|
||||
import lombok.Getter;
|
||||
import lombok.NoArgsConstructor;
|
||||
import lombok.Setter;
|
||||
import org.hibernate.annotations.DynamicInsert;
|
||||
import org.hibernate.annotations.DynamicUpdate;
|
||||
import org.springframework.format.annotation.DateTimeFormat;
|
||||
import org.springframework.web.multipart.MultipartFile;
|
||||
|
||||
import javax.persistence.*;
|
||||
import java.time.LocalDate;
|
||||
import java.time.LocalDateTime;
|
||||
import java.util.List;
|
||||
|
||||
@Getter
|
||||
@Setter
|
||||
@Entity
|
||||
@NoArgsConstructor
|
||||
@DynamicInsert
|
||||
@DynamicUpdate
|
||||
@Table(name = "activity_case_info")
|
||||
public class ActivityCaseInfo extends BaseModel {
|
||||
@Id
|
||||
@GeneratedValue(strategy = GenerationType.IDENTITY)
|
||||
@Column(name = "case_key")
|
||||
private Integer caseKey;
|
||||
@Column(name = "receipt_key")
|
||||
private Integer receiptKey;
|
||||
@Column(name = "case_num")
|
||||
private String caseNum;
|
||||
@Column(name = "report_date")
|
||||
@DateTimeFormat(pattern = "yyyy-MM-dd")
|
||||
private LocalDate reportDate;
|
||||
@Column(name = "case_type")
|
||||
private String caseType;
|
||||
@Column(name = "title")
|
||||
private String title;
|
||||
@Column(name = "content")
|
||||
private String content;
|
||||
@Column(name = "description")
|
||||
private String description;
|
||||
@Column(name = "activity_result")
|
||||
private String activityResult;
|
||||
@Column(name = "wrt_dt")
|
||||
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm")
|
||||
private LocalDateTime wrtDt;
|
||||
@Column(name = "status")
|
||||
private String status;
|
||||
|
||||
@Transient
|
||||
private List<ActivityCaseApprv> apprvList;
|
||||
@Transient
|
||||
private List<ActivityCaseFile> fileList;
|
||||
@Transient
|
||||
private List<MultipartFile> multipartFileList;
|
||||
}
|
||||
|
|
@ -1,36 +0,0 @@
|
|||
package com.dbnt.faisp.main.counterIntelligence.activityCase.model;
|
||||
|
||||
import com.dbnt.faisp.config.BaseModel;
|
||||
import lombok.Getter;
|
||||
import lombok.NoArgsConstructor;
|
||||
import lombok.Setter;
|
||||
import org.hibernate.annotations.DynamicInsert;
|
||||
import org.hibernate.annotations.DynamicUpdate;
|
||||
|
||||
import javax.persistence.*;
|
||||
import java.time.LocalDate;
|
||||
import java.time.LocalDateTime;
|
||||
import java.util.List;
|
||||
|
||||
@Getter
|
||||
@Setter
|
||||
@NoArgsConstructor
|
||||
public class ActivityCaseSummary extends BaseModel {
|
||||
private Integer receiptKey;
|
||||
private String receiptNum;
|
||||
private String wrtOrgan;
|
||||
private String wrtPart;
|
||||
private Integer wrtUserSeq;
|
||||
private String wrtUserGrd;
|
||||
private String wrtUserNm;
|
||||
private Integer caseKey;
|
||||
private String caseNum;
|
||||
private LocalDate reportDate;
|
||||
private String caseType;
|
||||
private String title;
|
||||
private LocalDateTime wrtDt;
|
||||
private String status;
|
||||
private Integer apprvCnt;
|
||||
private Integer allCnt;
|
||||
private Integer fileCnt;
|
||||
}
|
||||
|
|
@ -1,56 +0,0 @@
|
|||
package com.dbnt.faisp.main.counterIntelligence.activityCase.model;
|
||||
|
||||
import lombok.*;
|
||||
import org.hibernate.annotations.DynamicInsert;
|
||||
import org.hibernate.annotations.DynamicUpdate;
|
||||
import org.springframework.format.annotation.DateTimeFormat;
|
||||
|
||||
import javax.persistence.*;
|
||||
import java.io.Serializable;
|
||||
import java.time.LocalDate;
|
||||
|
||||
@Getter
|
||||
@Setter
|
||||
@Entity
|
||||
@NoArgsConstructor
|
||||
@DynamicInsert
|
||||
@DynamicUpdate
|
||||
@Table(name = "activity_case_suspect")
|
||||
@IdClass(ActivityCaseSuspect.ActivityCaseSuspectId.class)
|
||||
public class ActivityCaseSuspect {
|
||||
@Id
|
||||
@Column(name = "receipt_key")
|
||||
private Integer receiptKey;
|
||||
@Id
|
||||
@Column(name = "suspect_seq")
|
||||
private Integer suspectSeq;
|
||||
@Column(name = "type")
|
||||
private String type;
|
||||
@Column(name = "name")
|
||||
private String name;
|
||||
@Column(name = "sex")
|
||||
private String sex;
|
||||
@Column(name = "birth_date")
|
||||
@DateTimeFormat(pattern = "yyyy-MM-dd")
|
||||
private LocalDate birthDate;
|
||||
@Column(name = "phone")
|
||||
private String phone;
|
||||
@Column(name = "address")
|
||||
private String address;
|
||||
@Column(name = "area")
|
||||
private String area;
|
||||
@Column(name = "job")
|
||||
private String job;
|
||||
@Column(name = "etc")
|
||||
private String etc;
|
||||
|
||||
|
||||
@Embeddable
|
||||
@Data
|
||||
@NoArgsConstructor
|
||||
@AllArgsConstructor
|
||||
public static class ActivityCaseSuspectId implements Serializable {
|
||||
private Integer receiptKey;
|
||||
private Integer suspectSeq;
|
||||
}
|
||||
}
|
||||
|
|
@ -1,15 +0,0 @@
|
|||
package com.dbnt.faisp.main.counterIntelligence.activityCase.repository;
|
||||
|
||||
import com.dbnt.faisp.main.counterIntelligence.activityCase.model.ActivityCaseApprv;
|
||||
import com.dbnt.faisp.main.counterIntelligence.activityCase.model.ActivityCaseFile;
|
||||
import org.springframework.data.jpa.repository.JpaRepository;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.Optional;
|
||||
|
||||
|
||||
public interface ActivityCaseApprvRepository extends JpaRepository<ActivityCaseApprv, ActivityCaseApprv.ActivityCaseApprvId> {
|
||||
|
||||
List<ActivityCaseApprv> findByCaseKey(Integer caseKey);
|
||||
|
||||
}
|
||||
|
|
@ -1,16 +0,0 @@
|
|||
package com.dbnt.faisp.main.counterIntelligence.activityCase.repository;
|
||||
|
||||
import com.dbnt.faisp.main.counterIntelligence.activityCase.model.ActivityCaseFile;
|
||||
import com.dbnt.faisp.main.counterIntelligence.model.CiwFile;
|
||||
import org.springframework.data.jpa.repository.JpaRepository;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.Optional;
|
||||
|
||||
|
||||
public interface ActivityCaseFileRepository extends JpaRepository<ActivityCaseFile, ActivityCaseFile.ActivityCaseFileId> {
|
||||
List<ActivityCaseFile> findByCaseKey(Integer caseKey);
|
||||
Optional<ActivityCaseFile> findTopByCaseKeyOrderByFileSeqDesc(Integer caseKey);
|
||||
|
||||
List<ActivityCaseFile> findByCaseKeyOrderByFileSeqAsc(Integer caseKey);
|
||||
}
|
||||
|
|
@ -1,17 +0,0 @@
|
|||
package com.dbnt.faisp.main.counterIntelligence.activityCase.repository;
|
||||
|
||||
import com.dbnt.faisp.main.counterIntelligence.activityCase.model.ActivityCaseInfo;
|
||||
import org.springframework.data.jpa.repository.JpaRepository;
|
||||
import org.springframework.data.jpa.repository.Modifying;
|
||||
import org.springframework.data.jpa.repository.Query;
|
||||
|
||||
|
||||
public interface ActivityCaseInfoRepository extends JpaRepository<ActivityCaseInfo, Integer> {
|
||||
@Modifying(clearAutomatically = true)
|
||||
@Query("update ActivityCaseInfo set status = :status where receiptKey = :receiptKey")
|
||||
void bulkModifyingByReceiptKeyToStatus(Integer receiptKey, String status);
|
||||
|
||||
@Modifying(clearAutomatically = true)
|
||||
@Query("update ActivityCaseInfo set status = :status where caseKey = :caseKey")
|
||||
void bulkModifyingByCaseKeyToStatus(Integer caseKey, String status);
|
||||
}
|
||||
|
|
@ -1,9 +0,0 @@
|
|||
package com.dbnt.faisp.main.counterIntelligence.activityCase.repository;
|
||||
|
||||
import com.dbnt.faisp.main.counterIntelligence.activityCase.model.ActivityCase;
|
||||
import org.springframework.data.jpa.repository.JpaRepository;
|
||||
|
||||
|
||||
public interface ActivityCaseRepository extends JpaRepository<ActivityCase, Integer> {
|
||||
|
||||
}
|
||||
|
|
@ -1,13 +0,0 @@
|
|||
package com.dbnt.faisp.main.counterIntelligence.activityCase.repository;
|
||||
|
||||
import com.dbnt.faisp.main.counterIntelligence.activityCase.model.ActivityCaseSuspect;
|
||||
import org.springframework.data.jpa.repository.JpaRepository;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.Optional;
|
||||
|
||||
|
||||
public interface ActivityCaseSuspectRepository extends JpaRepository<ActivityCaseSuspect, ActivityCaseSuspect.ActivityCaseSuspectId> {
|
||||
|
||||
List<ActivityCaseSuspect> findByReceiptKeyOrderBySuspectSeqDesc(Integer receiptKey);
|
||||
}
|
||||
|
|
@ -1,191 +0,0 @@
|
|||
package com.dbnt.faisp.main.counterIntelligence.activityCase.service;
|
||||
|
||||
import com.dbnt.faisp.config.BaseService;
|
||||
import com.dbnt.faisp.config.FileInfo;
|
||||
import com.dbnt.faisp.main.codeMgt.model.CodeMgt;
|
||||
import com.dbnt.faisp.main.counterIntelligence.activityCase.mapper.ActivityCaseMapper;
|
||||
import com.dbnt.faisp.main.counterIntelligence.activityCase.model.*;
|
||||
import com.dbnt.faisp.main.counterIntelligence.activityCase.repository.*;
|
||||
import com.dbnt.faisp.util.Utils;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import org.springframework.stereotype.Service;
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
import org.springframework.web.multipart.MultipartFile;
|
||||
|
||||
import java.io.File;
|
||||
import java.time.LocalDate;
|
||||
import java.time.LocalDateTime;
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.UUID;
|
||||
|
||||
@Service
|
||||
@RequiredArgsConstructor
|
||||
public class ActivityCaseService extends BaseService {
|
||||
private final ActivityCaseRepository acRepository;
|
||||
private final ActivityCaseSuspectRepository acsRepository;
|
||||
private final ActivityCaseInfoRepository aciRepository;
|
||||
private final ActivityCaseFileRepository acfRepository;
|
||||
private final ActivityCaseApprvRepository acaRepository;
|
||||
private final ActivityCaseMapper acMapper;
|
||||
|
||||
public List<ActivityCaseBoard> selectActivityCaseList(ActivityCaseBoard activityCase){
|
||||
return acMapper.selectActivityCaseList(activityCase);
|
||||
}
|
||||
public Integer selectActivityCaseCnt(ActivityCaseBoard activityCase){
|
||||
return acMapper.selectActivityCaseCnt(activityCase);
|
||||
}
|
||||
public ActivityCase selectActivityCase(Integer receiptKey) {
|
||||
ActivityCase activityCase = acRepository.findById(receiptKey).orElse(null);
|
||||
activityCase.setSuspectList(acsRepository.findByReceiptKeyOrderBySuspectSeqDesc(receiptKey));
|
||||
return activityCase;
|
||||
}
|
||||
|
||||
public ActivityCaseInfo selectActivityCaseInfo(Integer caseKey) {
|
||||
ActivityCaseInfo activityCaseInfo = aciRepository.findById(caseKey).orElse(null);
|
||||
activityCaseInfo.setApprvList(acaRepository.findByCaseKey(caseKey));
|
||||
activityCaseInfo.setFileList(acfRepository.findByCaseKeyOrderByFileSeqAsc(caseKey));
|
||||
return activityCaseInfo;
|
||||
}
|
||||
|
||||
@Transactional
|
||||
public Integer saveActivityCase(ActivityCase activityCase, ActivityCaseInfo activityCaseInfo, List<Integer> deleteFileSeq) {
|
||||
Integer receiptKey = null;
|
||||
if(Utils.isEmpty(activityCase.getReceiptKey())){
|
||||
if(Utils.isEmpty(activityCase.getReceiptNum())){
|
||||
activityCase.setReceiptNum(makeReceiptNum(LocalDate.now().getYear()));
|
||||
}
|
||||
receiptKey = acRepository.save(activityCase).getReceiptKey();
|
||||
}else{
|
||||
receiptKey = activityCase.getReceiptKey();
|
||||
}
|
||||
int suspectSeq = 1;
|
||||
for(ActivityCaseSuspect suspect: activityCase.getSuspectList()){
|
||||
suspect.setSuspectSeq(suspectSeq++);
|
||||
suspect.setReceiptKey(receiptKey);
|
||||
}
|
||||
acsRepository.saveAll(activityCase.getSuspectList());
|
||||
|
||||
if(Utils.isEmpty(activityCaseInfo.getCaseNum())){
|
||||
activityCaseInfo.setCaseNum(makeCaseNum(LocalDate.now().getYear(), activityCase.getReceiptNum()));
|
||||
}
|
||||
activityCaseInfo.setReceiptKey(receiptKey);
|
||||
activityCaseInfo.setWrtDt(LocalDateTime.now());
|
||||
Integer caseKey = aciRepository.save(activityCaseInfo).getCaseKey();
|
||||
if(deleteFileSeq != null && deleteFileSeq.size()>0){
|
||||
deleteActivityCaseFile(caseKey, deleteFileSeq);
|
||||
}
|
||||
if(activityCaseInfo.getMultipartFileList()!=null && activityCaseInfo.getMultipartFileList().size()>0){
|
||||
saveUploadFiles(caseKey, activityCaseInfo.getMultipartFileList());
|
||||
}
|
||||
if(activityCaseInfo.getApprvList()!=null && activityCaseInfo.getApprvList().size()>0){
|
||||
for(ActivityCaseApprv apprv: activityCaseInfo.getApprvList()){
|
||||
apprv.setCaseKey(caseKey);
|
||||
}
|
||||
acaRepository.saveAll(activityCaseInfo.getApprvList());
|
||||
}
|
||||
return caseKey;
|
||||
}
|
||||
|
||||
private void deleteActivityCaseFile(Integer caseKey, List<Integer> deleteFileSeq) {
|
||||
List<ActivityCaseFile> activityCaseFileList = acfRepository.findByCaseKey(caseKey);
|
||||
for(ActivityCaseFile file: activityCaseFileList){
|
||||
if(deleteFileSeq.contains(file.getFileSeq())){
|
||||
deleteStoredFile(new File(file.getSavePath(), file.getConvNm()));
|
||||
acfRepository.delete(file);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private void saveUploadFiles(Integer caseKey, List<MultipartFile> multipartFileList){
|
||||
ActivityCaseFile lastFileInfo = acfRepository.findTopByCaseKeyOrderByFileSeqDesc(caseKey).orElse(null);
|
||||
int fileSeq = lastFileInfo==null?1:(lastFileInfo.getFileSeq()+1);
|
||||
for(MultipartFile file : multipartFileList){
|
||||
String saveName = UUID.randomUUID().toString();
|
||||
String path = locationPath+activityCasePath;
|
||||
saveFile(file, new File(path+File.separator+saveName));
|
||||
|
||||
String originalFilename = file.getOriginalFilename();
|
||||
int extnIdx = originalFilename.lastIndexOf(".");
|
||||
ActivityCaseFile fileInfo = new ActivityCaseFile();
|
||||
fileInfo.setCaseKey(caseKey);
|
||||
fileInfo.setFileSeq(fileSeq++);
|
||||
fileInfo.setOrigNm(originalFilename.substring(0, extnIdx));
|
||||
fileInfo.setFileExtn(originalFilename.substring(extnIdx+1));
|
||||
fileInfo.setConvNm(saveName);
|
||||
fileInfo.setFileSize(calculationSize(file.getSize()));
|
||||
fileInfo.setSavePath(path);
|
||||
acfRepository.save(fileInfo);
|
||||
}
|
||||
}
|
||||
|
||||
public FileInfo selectActivityCaseFile(Integer caseKey, Integer fileSeq) {
|
||||
return acfRepository.findById(new ActivityCaseFile.ActivityCaseFileId(caseKey, fileSeq)).orElse(null);
|
||||
}
|
||||
|
||||
@Transactional
|
||||
public void deleteActivityCase(Integer receiptKey) {
|
||||
aciRepository.bulkModifyingByReceiptKeyToStatus(receiptKey, "DST008");
|
||||
}
|
||||
@Transactional
|
||||
public void deleteActivityCaseInfo(Integer caseKey) {
|
||||
aciRepository.bulkModifyingByCaseKeyToStatus(caseKey, "DST008");
|
||||
}
|
||||
|
||||
private String makeReceiptNum(int year){
|
||||
String receiptNum = "000"+acMapper.selectReceiptNum(year);
|
||||
return year+"-"+receiptNum.substring(receiptNum.length()-4);
|
||||
}
|
||||
private String makeCaseNum(int year, String receiptNum){
|
||||
Map<String, Object> params = new HashMap<>();
|
||||
params.put("receiptNum", receiptNum);
|
||||
params.put("year", year);
|
||||
String caseNum = "000"+acMapper.selectCaseNum(params);
|
||||
return year+"-"+caseNum.substring(caseNum.length()-4);
|
||||
}
|
||||
|
||||
public List<ActivityCaseSummary> selectActivityCaseInfoList(Integer receiptKey) {
|
||||
return acMapper.selectActivityCaseInfoList(receiptKey);
|
||||
}
|
||||
|
||||
@Transactional
|
||||
public void saveActivityCaseApprv(ActivityCaseApprv apprv) {
|
||||
ActivityCaseApprv savedApprv = acaRepository.findById(new ActivityCaseApprv.ActivityCaseApprvId(apprv.getCaseKey(), apprv.getUserSeq())).orElse(null);
|
||||
if(savedApprv!=null){
|
||||
savedApprv.setInstructions(apprv.getInstructions());
|
||||
savedApprv.setApprvYn(apprv.getApprvYn());
|
||||
savedApprv.setApprvDt(LocalDateTime.now());
|
||||
acaRepository.save(savedApprv);
|
||||
}
|
||||
}
|
||||
|
||||
public List<ActivityCaseBoard> selectActivityCaseMgt(ActivityCaseBoard activityCase) {
|
||||
return acMapper.selectActivityCaseMgt(activityCase);
|
||||
}
|
||||
|
||||
public Integer selectActivityCaseMgtCnt(ActivityCaseBoard activityCase) {
|
||||
return acMapper.selectActivityCaseMgtCnt(activityCase);
|
||||
}
|
||||
|
||||
public ActivityCaseInfo getActivityCaseInfoPrintData(ActivityCaseInfo info, Map<String, List<CodeMgt>> codeMap) {
|
||||
for(ActivityCaseApprv apprv: info.getApprvList()){
|
||||
apprv.setOfcCd(Utils.searchCodeValue(apprv.getOfcCd(), codeMap.get(apprv.getOgCd())));
|
||||
apprv.setOgCd(Utils.searchCodeValue(apprv.getOgCd(), codeMap.get("OG")));
|
||||
apprv.setTitleCd(Utils.searchCodeValue(apprv.getTitleCd(), codeMap.get("JT")));
|
||||
apprv.setApprvType(Utils.searchCodeValue(apprv.getApprvType(), codeMap.get("ACAT")));
|
||||
}
|
||||
return info;
|
||||
}
|
||||
|
||||
public ActivityCase getActivityCasePrintData(ActivityCase activityCase, Map<String, List<CodeMgt>> codeMap) {
|
||||
activityCase.setWrtPart(Utils.searchCodeValue(activityCase.getWrtPart(), codeMap.get(activityCase.getWrtOrgan())));
|
||||
activityCase.setWrtOrgan(Utils.searchCodeValue(activityCase.getWrtOrgan(), codeMap.get("OG")));
|
||||
activityCase.setWrtUserGrd(Utils.searchCodeValue(activityCase.getWrtUserGrd(), codeMap.get("JT")));
|
||||
for(ActivityCaseSuspect suspect: activityCase.getSuspectList()){
|
||||
suspect.setType(Utils.searchCodeValue(suspect.getType(), codeMap.get("ACS")));
|
||||
suspect.setSex(Utils.searchCodeValue(suspect.getSex(), codeMap.get("SEX")));
|
||||
}
|
||||
return activityCase;
|
||||
}
|
||||
}
|
||||
|
|
@ -1,41 +0,0 @@
|
|||
package com.dbnt.faisp.main.counterIntelligence.mapper;
|
||||
|
||||
import com.dbnt.faisp.main.counterIntelligence.model.CiWorkStatistics;
|
||||
import com.dbnt.faisp.main.counterIntelligence.model.CounterIntelligenceActivity;
|
||||
import com.dbnt.faisp.main.counterIntelligence.model.CounterIntelligenceWork;
|
||||
import com.dbnt.faisp.main.counterIntelligence.model.ForeignerInfo;
|
||||
|
||||
import org.apache.ibatis.annotations.Mapper;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
|
||||
@Mapper
|
||||
public interface CounterIntelligenceMapper {
|
||||
|
||||
List<CounterIntelligenceWork> selectCounterIntelligenceWorkList(CounterIntelligenceWork ciWork);
|
||||
|
||||
Integer selectCounterIntelligenceWorkCnt(CounterIntelligenceWork ciWork);
|
||||
|
||||
String selectHashTags(Integer ciwKey);
|
||||
|
||||
List<CiWorkStatistics> selectCiWorkStatisticsList(CiWorkStatistics ciWorkStatistics);
|
||||
|
||||
List<Integer> selectCiWorkYearList();
|
||||
|
||||
List<CounterIntelligenceActivity> selectCiaSafetyDemandList(CounterIntelligenceActivity cia);
|
||||
|
||||
Integer selectCiaSafetyDemandListCnt(CounterIntelligenceActivity cia);
|
||||
|
||||
List<CounterIntelligenceActivity> selectCiaManageCompanyList(CounterIntelligenceActivity cia);
|
||||
|
||||
Integer selectCiaManageCompanyListCnt(CounterIntelligenceActivity cia);
|
||||
|
||||
List<ForeignerInfo> selectCiaForeignerList(CounterIntelligenceActivity cia);
|
||||
|
||||
Integer selectCiaForeignerListCnt(CounterIntelligenceActivity cia);
|
||||
|
||||
List<CounterIntelligenceActivity> selectCiaEduList(CounterIntelligenceActivity cia);
|
||||
|
||||
Integer selectCiaEduListCnt(CounterIntelligenceActivity cia);
|
||||
}
|
||||
|
|
@ -1,24 +0,0 @@
|
|||
package com.dbnt.faisp.main.counterIntelligence.model;
|
||||
|
||||
import lombok.Getter;
|
||||
import lombok.NoArgsConstructor;
|
||||
import lombok.Setter;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
@Getter
|
||||
@Setter
|
||||
@NoArgsConstructor
|
||||
public class CiWorkStatistics {
|
||||
|
||||
private String workRating;
|
||||
|
||||
private Integer newWorkCnt=0;
|
||||
private Integer doingWorkCnt=0;
|
||||
private Integer prevYearWorkEndCnt=0;
|
||||
private Integer thisYearWorkEndCnt=0;
|
||||
|
||||
private Integer year;
|
||||
private String ogCd;
|
||||
private List<String> downOrganCdList;
|
||||
}
|
||||
|
|
@ -1,46 +0,0 @@
|
|||
package com.dbnt.faisp.main.counterIntelligence.model;
|
||||
|
||||
import com.dbnt.faisp.config.FileInfo;
|
||||
import lombok.*;
|
||||
import org.hibernate.annotations.DynamicInsert;
|
||||
import org.hibernate.annotations.DynamicUpdate;
|
||||
|
||||
import javax.persistence.*;
|
||||
import java.io.Serializable;
|
||||
|
||||
@Getter
|
||||
@Setter
|
||||
@Entity
|
||||
@NoArgsConstructor
|
||||
@DynamicInsert
|
||||
@DynamicUpdate
|
||||
@Table(name = "cia_file")
|
||||
@IdClass(CiaFile.CiaFileId.class)
|
||||
public class CiaFile extends FileInfo {
|
||||
@Id
|
||||
@Column(name = "ci_key")
|
||||
private Integer ciKey;
|
||||
@Id
|
||||
@Column(name = "file_seq")
|
||||
private Integer fileSeq;
|
||||
@Column(name = "orig_nm")
|
||||
private String origNm;
|
||||
@Column(name = "conv_nm")
|
||||
private String convNm;
|
||||
@Column(name = "file_extn")
|
||||
private String fileExtn;
|
||||
@Column(name = "file_size")
|
||||
private String fileSize;
|
||||
@Column(name = "save_path")
|
||||
private String savePath;
|
||||
|
||||
|
||||
@Embeddable
|
||||
@Data
|
||||
@NoArgsConstructor
|
||||
@AllArgsConstructor
|
||||
public static class CiaFileId implements Serializable {
|
||||
private Integer ciKey;
|
||||
private Integer fileSeq;
|
||||
}
|
||||
}
|
||||
|
|
@ -1,46 +0,0 @@
|
|||
package com.dbnt.faisp.main.counterIntelligence.model;
|
||||
|
||||
import com.dbnt.faisp.config.FileInfo;
|
||||
import lombok.*;
|
||||
import org.hibernate.annotations.DynamicInsert;
|
||||
import org.hibernate.annotations.DynamicUpdate;
|
||||
|
||||
import javax.persistence.*;
|
||||
import java.io.Serializable;
|
||||
|
||||
@Getter
|
||||
@Setter
|
||||
@Entity
|
||||
@NoArgsConstructor
|
||||
@DynamicInsert
|
||||
@DynamicUpdate
|
||||
@Table(name = "ciw_file")
|
||||
@IdClass(CiwFile.CiwFileId.class)
|
||||
public class CiwFile extends FileInfo {
|
||||
@Id
|
||||
@Column(name = "ciw_key")
|
||||
private Integer ciwKey;
|
||||
@Id
|
||||
@Column(name = "file_seq")
|
||||
private Integer fileSeq;
|
||||
@Column(name = "orig_nm")
|
||||
private String origNm;
|
||||
@Column(name = "conv_nm")
|
||||
private String convNm;
|
||||
@Column(name = "file_extn")
|
||||
private String fileExtn;
|
||||
@Column(name = "file_size")
|
||||
private String fileSize;
|
||||
@Column(name = "save_path")
|
||||
private String savePath;
|
||||
|
||||
|
||||
@Embeddable
|
||||
@Data
|
||||
@NoArgsConstructor
|
||||
@AllArgsConstructor
|
||||
public static class CiwFileId implements Serializable {
|
||||
private Integer ciwKey;
|
||||
private Integer fileSeq;
|
||||
}
|
||||
}
|
||||
|
|
@ -1,103 +0,0 @@
|
|||
package com.dbnt.faisp.main.counterIntelligence.model;
|
||||
|
||||
import com.dbnt.faisp.config.BaseModel;
|
||||
import lombok.Getter;
|
||||
import lombok.NoArgsConstructor;
|
||||
import lombok.Setter;
|
||||
import org.hibernate.annotations.DynamicInsert;
|
||||
import org.hibernate.annotations.DynamicUpdate;
|
||||
import org.springframework.format.annotation.DateTimeFormat;
|
||||
import org.springframework.web.multipart.MultipartFile;
|
||||
|
||||
import javax.persistence.*;
|
||||
import java.time.LocalDate;
|
||||
import java.time.LocalDateTime;
|
||||
import java.util.List;
|
||||
|
||||
@Getter
|
||||
@Setter
|
||||
@Entity
|
||||
@NoArgsConstructor
|
||||
@DynamicInsert
|
||||
@DynamicUpdate
|
||||
@Table(name = "counter_intelligence_activity")
|
||||
public class CounterIntelligenceActivity extends BaseModel {
|
||||
@Id
|
||||
@GeneratedValue(strategy = GenerationType.IDENTITY)
|
||||
@Column(name = "ci_key")
|
||||
private Integer ciKey;
|
||||
@Column(name = "ci_type")
|
||||
private String ciType;
|
||||
@Column(name = "content_status")
|
||||
private String contentStatus;
|
||||
@Column(name = "wrt_organ")
|
||||
private String wrtOrgan;
|
||||
@Column(name = "wrt_part")
|
||||
private String wrtPart;
|
||||
@Column(name = "wrt_user_seq")
|
||||
private Integer wrtUserSeq;
|
||||
@Column(name = "wrt_user_grd")
|
||||
private String wrtUserGrd;
|
||||
@Column(name = "wrt_user_nm")
|
||||
private String wrtUserNm;
|
||||
@Column(name = "wrt_dt")
|
||||
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm")
|
||||
private LocalDateTime wrtDt;
|
||||
|
||||
@Transient
|
||||
private String localInfo;
|
||||
@Transient
|
||||
private String outlookProblem;
|
||||
@Transient
|
||||
private Integer fileCnt;
|
||||
@Transient
|
||||
private SafetyDemandInfo safetyDemandInfo;
|
||||
@Transient
|
||||
private ManageCompanyInfo manageCompanyInfo;
|
||||
@Transient
|
||||
private ForeignerInfo foreignerInfo;
|
||||
@Transient
|
||||
private EduInfo eduInfo;
|
||||
@Transient
|
||||
private String mgtOrgan;
|
||||
@Transient
|
||||
private String companyNm;
|
||||
@Transient
|
||||
private String companyLocation;
|
||||
@Transient
|
||||
private String relatedField;
|
||||
@Transient
|
||||
private String description;
|
||||
@Transient
|
||||
private String cellPhone;
|
||||
@Transient
|
||||
private String department;
|
||||
@Transient
|
||||
private String name;
|
||||
@Transient
|
||||
private String manager;
|
||||
@Transient
|
||||
private String commuLocation;
|
||||
@Transient
|
||||
private String commuNational;
|
||||
@Transient
|
||||
private String commuAddress;
|
||||
@Transient
|
||||
private String selectReason;
|
||||
@Transient
|
||||
private String monitoringInfo;
|
||||
@Transient
|
||||
@DateTimeFormat(pattern = "yyyy-MM-dd")
|
||||
private LocalDate eduDate;
|
||||
@Transient
|
||||
private String eduType;
|
||||
@Transient
|
||||
private Integer peopleCnt;
|
||||
@Transient
|
||||
@DateTimeFormat(pattern = "yyyy-MM-dd")
|
||||
private LocalDate fixDate;
|
||||
@Transient
|
||||
private List<CiaFile> fileList;
|
||||
@Transient
|
||||
private List<MultipartFile> multipartFileList;
|
||||
}
|
||||
|
|
@ -1,78 +0,0 @@
|
|||
package com.dbnt.faisp.main.counterIntelligence.model;
|
||||
|
||||
import com.dbnt.faisp.config.BaseModel;
|
||||
import lombok.Getter;
|
||||
import lombok.NoArgsConstructor;
|
||||
import lombok.Setter;
|
||||
import org.hibernate.annotations.DynamicInsert;
|
||||
import org.hibernate.annotations.DynamicUpdate;
|
||||
import org.springframework.format.annotation.DateTimeFormat;
|
||||
import org.springframework.web.multipart.MultipartFile;
|
||||
|
||||
import javax.persistence.*;
|
||||
import java.time.LocalDate;
|
||||
import java.time.LocalDateTime;
|
||||
import java.util.List;
|
||||
|
||||
@Getter
|
||||
@Setter
|
||||
@Entity
|
||||
@NoArgsConstructor
|
||||
@DynamicInsert
|
||||
@DynamicUpdate
|
||||
@Table(name = "counter_intelligence_work")
|
||||
public class CounterIntelligenceWork extends BaseModel {
|
||||
@Id
|
||||
@GeneratedValue(strategy = GenerationType.IDENTITY)
|
||||
@Column(name = "ciw_key")
|
||||
private Integer ciwKey;
|
||||
@Column(name = "status")
|
||||
private String status;
|
||||
@Column(name = "work_rating")
|
||||
private String workRating;
|
||||
@Column(name = "work_start_date")
|
||||
@DateTimeFormat(pattern = "yyyy-MM-dd")
|
||||
private LocalDate workStartDate;
|
||||
@Column(name = "work_plan_date")
|
||||
@DateTimeFormat(pattern = "yyyy-MM-dd")
|
||||
private LocalDate workPlanDate;
|
||||
@Column(name = "work_end_date")
|
||||
@DateTimeFormat(pattern = "yyyy-MM-dd")
|
||||
private LocalDate workEndDate;
|
||||
@Column(name = "re_rating_date1")
|
||||
@DateTimeFormat(pattern = "yyyy-MM-dd")
|
||||
private LocalDate reRatingDate1;
|
||||
@Column(name = "re_rating_date2")
|
||||
@DateTimeFormat(pattern = "yyyy-MM-dd")
|
||||
private LocalDate reRatingDate2;
|
||||
@Column(name = "title")
|
||||
private String title;
|
||||
@Column(name = "summary_info")
|
||||
private String summaryInfo;
|
||||
@Column(name = "content")
|
||||
private String content;
|
||||
@Column(name = "wrt_organ")
|
||||
private String wrtOrgan;
|
||||
@Column(name = "wrt_part")
|
||||
private String wrtPart;
|
||||
@Column(name = "wrt_user_seq")
|
||||
private Integer wrtUserSeq;
|
||||
@Column(name = "wrt_user_grd")
|
||||
private String wrtUserGrd;
|
||||
@Column(name = "wrt_user_nm")
|
||||
private String wrtUserNm;
|
||||
@Column(name = "wrt_dt")
|
||||
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm")
|
||||
private LocalDateTime wrtDt;
|
||||
|
||||
@Transient
|
||||
private String hashTags;
|
||||
@Transient
|
||||
private Integer fileCnt;
|
||||
@Transient
|
||||
private List<CiwFile> fileList;
|
||||
@Transient
|
||||
private List<MultipartFile> multipartFileList;
|
||||
@Transient
|
||||
private List<HashTagLinkCiw> tagLinkList;
|
||||
}
|
||||
|
|
@ -1,39 +0,0 @@
|
|||
package com.dbnt.faisp.main.counterIntelligence.model;
|
||||
|
||||
import lombok.Getter;
|
||||
import lombok.NoArgsConstructor;
|
||||
import lombok.Setter;
|
||||
import org.hibernate.annotations.DynamicInsert;
|
||||
import org.hibernate.annotations.DynamicUpdate;
|
||||
import org.springframework.format.annotation.DateTimeFormat;
|
||||
|
||||
import java.time.LocalDate;
|
||||
|
||||
import javax.persistence.*;
|
||||
|
||||
|
||||
@Getter
|
||||
@Setter
|
||||
@Entity
|
||||
@NoArgsConstructor
|
||||
@DynamicInsert
|
||||
@DynamicUpdate
|
||||
@Table(name = "edu_info")
|
||||
public class EduInfo {
|
||||
@Id
|
||||
@Column(name = "ci_key")
|
||||
private Integer ciKey;
|
||||
@Column(name = "mgt_organ")
|
||||
private String mgtOrgan;
|
||||
@Column(name = "edu_date")
|
||||
@DateTimeFormat(pattern = "yyyy-MM-dd")
|
||||
private LocalDate eduDate;
|
||||
@Column(name = "edu_type")
|
||||
private String eduType;
|
||||
@Column(name = "people_cnt")
|
||||
private Integer peopleCnt;
|
||||
@Column(name = "description")
|
||||
private String description;
|
||||
|
||||
|
||||
}
|
||||
|
|
@ -1,44 +0,0 @@
|
|||
package com.dbnt.faisp.main.counterIntelligence.model;
|
||||
|
||||
import lombok.Getter;
|
||||
import lombok.NoArgsConstructor;
|
||||
import lombok.Setter;
|
||||
import org.hibernate.annotations.DynamicInsert;
|
||||
import org.hibernate.annotations.DynamicUpdate;
|
||||
import org.springframework.format.annotation.DateTimeFormat;
|
||||
|
||||
import java.time.LocalDate;
|
||||
|
||||
import javax.persistence.*;
|
||||
|
||||
|
||||
@Getter
|
||||
@Setter
|
||||
@Entity
|
||||
@NoArgsConstructor
|
||||
@DynamicInsert
|
||||
@DynamicUpdate
|
||||
@Table(name = "foreigner_info")
|
||||
public class ForeignerInfo {
|
||||
@Id
|
||||
@Column(name = "ci_key")
|
||||
private Integer ciKey;
|
||||
@Column(name = "mgt_organ")
|
||||
private String mgtOrgan;
|
||||
@Column(name = "manager")
|
||||
private String manager;
|
||||
@Column(name = "commu_location")
|
||||
private String commuLocation;
|
||||
@Column(name = "commu_national")
|
||||
private String commuNational;
|
||||
@Column(name = "commu_address")
|
||||
private String commuAddress;
|
||||
@Column(name = "select_reason")
|
||||
private String selectReason;
|
||||
@Column(name = "monitoring_info")
|
||||
private String monitoringInfo;
|
||||
@Column(name = "fix_date")
|
||||
@DateTimeFormat(pattern = "yyyy-MM-dd")
|
||||
private LocalDate fixDate;
|
||||
|
||||
}
|
||||
|
|
@ -1,36 +0,0 @@
|
|||
package com.dbnt.faisp.main.counterIntelligence.model;
|
||||
|
||||
import lombok.*;
|
||||
import org.hibernate.annotations.DynamicInsert;
|
||||
import org.hibernate.annotations.DynamicUpdate;
|
||||
|
||||
import javax.persistence.*;
|
||||
import java.io.Serializable;
|
||||
|
||||
@Getter
|
||||
@Setter
|
||||
@Entity
|
||||
@NoArgsConstructor
|
||||
@DynamicInsert
|
||||
@DynamicUpdate
|
||||
@Table(name = "hash_tag_link_ciw")
|
||||
@IdClass(HashTagLinkCiw.HashTagLinkCiwId.class)
|
||||
public class HashTagLinkCiw {
|
||||
@Id
|
||||
@Column(name = "ciw_key")
|
||||
private Integer ciwKey;
|
||||
@Id
|
||||
@Column(name = "tag_key")
|
||||
private Integer tagKey;
|
||||
|
||||
|
||||
@Embeddable
|
||||
@Data
|
||||
@NoArgsConstructor
|
||||
@AllArgsConstructor
|
||||
public static class HashTagLinkCiwId implements Serializable {
|
||||
private Integer ciwKey;
|
||||
private Integer tagKey;
|
||||
}
|
||||
|
||||
}
|
||||
|
|
@ -1,41 +0,0 @@
|
|||
package com.dbnt.faisp.main.counterIntelligence.model;
|
||||
|
||||
|
||||
import lombok.Getter;
|
||||
import lombok.NoArgsConstructor;
|
||||
import lombok.Setter;
|
||||
import org.hibernate.annotations.DynamicInsert;
|
||||
import org.hibernate.annotations.DynamicUpdate;
|
||||
|
||||
|
||||
import javax.persistence.*;
|
||||
|
||||
@Getter
|
||||
@Setter
|
||||
@Entity
|
||||
@NoArgsConstructor
|
||||
@DynamicInsert
|
||||
@DynamicUpdate
|
||||
@Table(name = "manage_company_info")
|
||||
public class ManageCompanyInfo {
|
||||
@Id
|
||||
@Column(name = "ci_key")
|
||||
private Integer ciKey;
|
||||
@Column(name = "mgt_organ")
|
||||
private String mgtOrgan;
|
||||
@Column(name = "company_nm")
|
||||
private String companyNm;
|
||||
@Column(name = "company_location")
|
||||
private String companyLocation;
|
||||
@Column(name = "related_field")
|
||||
private String relatedField;
|
||||
@Column(name = "description")
|
||||
private String description;
|
||||
@Column(name = "cell_phone")
|
||||
private String cellPhone;
|
||||
@Column(name = "department")
|
||||
private String department;
|
||||
@Column(name = "name")
|
||||
private String name;
|
||||
|
||||
}
|
||||
|
|
@ -1,29 +0,0 @@
|
|||
package com.dbnt.faisp.main.counterIntelligence.model;
|
||||
|
||||
import lombok.Getter;
|
||||
import lombok.NoArgsConstructor;
|
||||
import lombok.Setter;
|
||||
import org.hibernate.annotations.DynamicInsert;
|
||||
import org.hibernate.annotations.DynamicUpdate;
|
||||
|
||||
|
||||
import javax.persistence.*;
|
||||
|
||||
|
||||
@Getter
|
||||
@Setter
|
||||
@Entity
|
||||
@NoArgsConstructor
|
||||
@DynamicInsert
|
||||
@DynamicUpdate
|
||||
@Table(name = "safety_demand_info")
|
||||
public class SafetyDemandInfo {
|
||||
@Id
|
||||
@Column(name = "ci_key")
|
||||
private Integer ciKey;
|
||||
@Column(name = "local_info")
|
||||
private String localInfo;
|
||||
@Column(name = "outlook_problem")
|
||||
private String outlookProblem;
|
||||
|
||||
}
|
||||
|
|
@ -1,22 +0,0 @@
|
|||
package com.dbnt.faisp.main.counterIntelligence.repository;
|
||||
|
||||
import com.dbnt.faisp.main.counterIntelligence.model.CiaFile;
|
||||
import com.dbnt.faisp.main.counterIntelligence.model.CounterIntelligenceWork;
|
||||
|
||||
import org.springframework.data.jpa.repository.JpaRepository;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.Optional;
|
||||
|
||||
|
||||
public interface CiaFileRepository extends JpaRepository<CiaFile, CiaFile.CiaFileId> {
|
||||
|
||||
List<CiaFile> findByCiKey(Integer ciKey);
|
||||
|
||||
Optional<CiaFile> findTopByCiKeyOrderByFileSeqDesc(Integer ciKey);
|
||||
|
||||
CiaFile findByCiKeyAndFileSeq(Integer ciKey, Integer fileSeq);
|
||||
|
||||
|
||||
|
||||
}
|
||||
|
|
@ -1,14 +0,0 @@
|
|||
package com.dbnt.faisp.main.counterIntelligence.repository;
|
||||
|
||||
import com.dbnt.faisp.main.counterIntelligence.model.CiwFile;
|
||||
import org.springframework.data.jpa.repository.JpaRepository;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.Optional;
|
||||
|
||||
|
||||
public interface CiwFileRepository extends JpaRepository<CiwFile, CiwFile.CiwFileId> {
|
||||
List<CiwFile> findByCiwKey(Integer ciwKey);
|
||||
Optional<CiwFile> findTopByCiwKeyOrderByFileSeqDesc(Integer ciwKey);
|
||||
|
||||
}
|
||||
|
|
@ -1,9 +0,0 @@
|
|||
package com.dbnt.faisp.main.counterIntelligence.repository;
|
||||
|
||||
import com.dbnt.faisp.main.counterIntelligence.model.CounterIntelligenceActivity;
|
||||
import org.springframework.data.jpa.repository.JpaRepository;
|
||||
|
||||
|
||||
public interface CounterIntelligenceActivityRepository extends JpaRepository<CounterIntelligenceActivity, Integer> {
|
||||
|
||||
}
|
||||
|
|
@ -1,9 +0,0 @@
|
|||
package com.dbnt.faisp.main.counterIntelligence.repository;
|
||||
|
||||
import com.dbnt.faisp.main.counterIntelligence.model.CounterIntelligenceWork;
|
||||
import org.springframework.data.jpa.repository.JpaRepository;
|
||||
|
||||
|
||||
public interface CounterIntelligenceWorkRepository extends JpaRepository<CounterIntelligenceWork, Integer> {
|
||||
|
||||
}
|
||||
|
|
@ -1,13 +0,0 @@
|
|||
package com.dbnt.faisp.main.counterIntelligence.repository;
|
||||
|
||||
import com.dbnt.faisp.main.counterIntelligence.model.EduInfo;
|
||||
|
||||
import org.springframework.data.jpa.repository.JpaRepository;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.Optional;
|
||||
|
||||
|
||||
public interface EduInfoRepository extends JpaRepository<EduInfo, Integer> {
|
||||
|
||||
}
|
||||
|
|
@ -1,13 +0,0 @@
|
|||
package com.dbnt.faisp.main.counterIntelligence.repository;
|
||||
|
||||
import com.dbnt.faisp.main.counterIntelligence.model.ForeignerInfo;
|
||||
|
||||
import org.springframework.data.jpa.repository.JpaRepository;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.Optional;
|
||||
|
||||
|
||||
public interface ForeignerInfoRepository extends JpaRepository<ForeignerInfo, Integer> {
|
||||
|
||||
}
|
||||
|
|
@ -1,9 +0,0 @@
|
|||
package com.dbnt.faisp.main.counterIntelligence.repository;
|
||||
|
||||
import com.dbnt.faisp.main.counterIntelligence.model.HashTagLinkCiw;
|
||||
import org.springframework.data.jpa.repository.JpaRepository;
|
||||
|
||||
|
||||
public interface HashTagLinkCiwRepository extends JpaRepository<HashTagLinkCiw, HashTagLinkCiw.HashTagLinkCiwId> {
|
||||
void deleteByCiwKey(Integer ciwKey);
|
||||
}
|
||||
|
|
@ -1,13 +0,0 @@
|
|||
package com.dbnt.faisp.main.counterIntelligence.repository;
|
||||
|
||||
import com.dbnt.faisp.main.counterIntelligence.model.ManageCompanyInfo;
|
||||
|
||||
import org.springframework.data.jpa.repository.JpaRepository;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.Optional;
|
||||
|
||||
|
||||
public interface ManageCompanyInfoRepository extends JpaRepository<ManageCompanyInfo, Integer> {
|
||||
|
||||
}
|
||||
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue