sk_fems_comm commit
This commit is contained in:
28
src/main/java/com/lsitc/fems/comm/CommApplication.java
Normal file
28
src/main/java/com/lsitc/fems/comm/CommApplication.java
Normal file
@ -0,0 +1,28 @@
|
||||
/*
|
||||
* 상기 프로그램에 대한 저작권을 포함한 지적재산권은 LS ITC에 있으며,
|
||||
* LS ITC가 명시적으로 허용하지 않은 사용, 복사, 변경, 제3자에의 공개, 배포는 엄격히 금지되며,
|
||||
* LS ITC의 지적재산권 침해에 해당됩니다.
|
||||
* (Copyright ⓒ 2021 LS ITC. All Rights Reserved| Confidential)
|
||||
*
|
||||
* You are strictly prohibited to copy, disclose, distribute, modify, or use
|
||||
* this program in part or as a whole without the prior written consent of
|
||||
* LS ITC Business unit. LS ITC Business unit., owns the intellectual property rights in
|
||||
* and to this program.
|
||||
* (Copyright ⓒ 2021 LS ITC Business unit. All Rights Reserved| Confidential)
|
||||
* Author : LS ITC
|
||||
* Created : 2021-04-23 17:58:11
|
||||
*/
|
||||
|
||||
package com.lsitc.fems.comm;
|
||||
|
||||
import org.springframework.boot.SpringApplication;
|
||||
import org.springframework.boot.autoconfigure.SpringBootApplication;
|
||||
import org.springframework.scheduling.annotation.EnableScheduling;
|
||||
|
||||
@SpringBootApplication(scanBasePackages = { "com.lsitc.core", "com.lsitc.fems.comm", "system.session"})
|
||||
@EnableScheduling
|
||||
public class CommApplication {
|
||||
public static void main(String[] args) {
|
||||
SpringApplication.run(CommApplication.class, args);
|
||||
}
|
||||
}
|
@ -0,0 +1,406 @@
|
||||
/*
|
||||
* 상기 프로그램에 대한 저작권을 포함한 지적재산권은 LS ITC에 있으며,
|
||||
* LS ITC가 명시적으로 허용하지 않은 사용, 복사, 변경, 제3자에의 공개, 배포는 엄격히 금지되며,
|
||||
* LS ITC의 지적재산권 침해에 해당됩니다.
|
||||
* (Copyright ⓒ 2021 LS ITC. All Rights Reserved| Confidential)
|
||||
*
|
||||
* You are strictly prohibited to copy, disclose, distribute, modify, or use
|
||||
* this program in part or as a whole without the prior written consent of
|
||||
* LS ITC Business unit. LS ITC Business unit., owns the intellectual property rights in
|
||||
* and to this program.
|
||||
* (Copyright ⓒ 2021 LS ITC Business unit. All Rights Reserved| Confidential)
|
||||
* Author : LS ITC
|
||||
* Created : 2021-04-23 17:58:11
|
||||
*/
|
||||
|
||||
package com.lsitc.fems.comm.auth.controller;
|
||||
|
||||
import java.io.IOException;
|
||||
import java.io.UnsupportedEncodingException;
|
||||
import java.util.ArrayList;
|
||||
import java.util.Arrays;
|
||||
import java.util.HashMap;
|
||||
import java.util.Map;
|
||||
|
||||
import javax.servlet.http.Cookie;
|
||||
import javax.servlet.http.HttpServletRequest;
|
||||
import javax.servlet.http.HttpServletResponse;
|
||||
import javax.servlet.http.HttpSession;
|
||||
|
||||
import org.apache.commons.lang3.StringUtils;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.beans.factory.annotation.Value;
|
||||
import org.springframework.core.env.Environment;
|
||||
import org.springframework.http.HttpStatus;
|
||||
import org.springframework.http.ResponseEntity;
|
||||
import org.springframework.stereotype.Controller;
|
||||
import org.springframework.web.bind.annotation.GetMapping;
|
||||
import org.springframework.web.bind.annotation.PostMapping;
|
||||
import org.springframework.web.bind.annotation.RequestBody;
|
||||
import org.springframework.web.bind.annotation.RequestMapping;
|
||||
import org.springframework.web.bind.annotation.RequestParam;
|
||||
import org.springframework.web.bind.annotation.ResponseBody;
|
||||
import org.springframework.web.servlet.ModelAndView;
|
||||
import org.springframework.web.servlet.mvc.support.RedirectAttributes;
|
||||
|
||||
import com.lsitc.core.base.BaseParam;
|
||||
import com.lsitc.core.base.BaseResponse;
|
||||
import com.lsitc.core.jwt.JwtTokenUtils;
|
||||
import com.lsitc.core.utils.CryptoUtils;
|
||||
import com.lsitc.fems.comm.auth.service.LoginInfoSvc;
|
||||
import com.lsitc.fems.comm.base.service.MenuMngSvc;
|
||||
import com.lsitc.fems.comm.base.service.SystemLogReadSvc;
|
||||
|
||||
import io.jsonwebtoken.security.InvalidKeyException;
|
||||
|
||||
@Controller
|
||||
public class LoginInfoCtr{
|
||||
@Autowired
|
||||
private MenuMngSvc commMenuSvc;
|
||||
|
||||
@Autowired
|
||||
private Environment env;
|
||||
private static String COOKIE_ID = "";
|
||||
private static String REDIRECT_URL = "";
|
||||
|
||||
@Value("${jwt.cookieId:FEMS_SESSION}")
|
||||
private void setCookieId(String cookieId) {
|
||||
COOKIE_ID = cookieId;
|
||||
System.out.println("setCookieId" + cookieId);
|
||||
};
|
||||
|
||||
|
||||
@Value("${spring.gatewayUrl}")
|
||||
private void setGatewayUrl(String gatewayUrl) {
|
||||
StringBuilder sb = new StringBuilder();
|
||||
sb.append("redirect:");
|
||||
sb.append(gatewayUrl);
|
||||
REDIRECT_URL = sb.toString();
|
||||
};
|
||||
|
||||
@Autowired
|
||||
private LoginInfoSvc loginInfoSvc;
|
||||
@Autowired
|
||||
private SystemLogReadSvc systemLogReadSvc;
|
||||
|
||||
@GetMapping("/login")
|
||||
public Object login(ModelAndView mav) {
|
||||
// profile 정보
|
||||
ArrayList<String> activeProfileArr = new ArrayList<>(Arrays.asList(env.getActiveProfiles()));
|
||||
if( activeProfileArr.indexOf("prod") >= 0 ) {
|
||||
//운영일때 profile 넣어준다.
|
||||
mav.addObject("profile", "prod");
|
||||
}
|
||||
mav.setViewName("login");
|
||||
return mav;
|
||||
// return "login";
|
||||
}
|
||||
|
||||
@GetMapping("/sso")
|
||||
public String sso(HttpServletRequest request, RedirectAttributes redirect) {
|
||||
String userId = request.getHeader("SM_USER");
|
||||
//System.out.println("SSO로 들어오고" );
|
||||
//System.out.println(userId);
|
||||
if(StringUtils.isNotBlank(userId)) {
|
||||
HttpSession session = request.getSession();
|
||||
session.setAttribute("comId", "COM01");
|
||||
session.setAttribute("userId", userId);//userId
|
||||
session.setAttribute("flag", "AD");
|
||||
return REDIRECT_URL + "/login";
|
||||
} else {
|
||||
return REDIRECT_URL + "/login";
|
||||
}
|
||||
}
|
||||
|
||||
@PostMapping("/login")
|
||||
//public Object loginCheck(@RequestBody Map<String, String> inputUserInfo, Response response) {
|
||||
public Object loginCheck(@RequestParam(defaultValue = "ko") String locale,
|
||||
@RequestParam String comId, @RequestParam String userId,
|
||||
@RequestParam(required = false) String userPswd,
|
||||
HttpServletResponse response,
|
||||
ModelAndView mav,
|
||||
RedirectAttributes ra,
|
||||
HttpSession session) throws InvalidKeyException, UnsupportedEncodingException {
|
||||
Map<String, String> inputUserInfo = new HashMap<String, String>();
|
||||
|
||||
comId = session.getAttribute("comId") != null ? (String) session.getAttribute("comId") : comId;
|
||||
userId = session.getAttribute("userId") != null ? (String) session.getAttribute("userId") : userId;
|
||||
String flag = session.getAttribute("flag") != null ? (String) session.getAttribute("flag") : "";
|
||||
|
||||
inputUserInfo.put("locale", locale);
|
||||
inputUserInfo.put("comId", comId);
|
||||
inputUserInfo.put("userId", userId);
|
||||
inputUserInfo.put("userPswd", userPswd);
|
||||
|
||||
//clear
|
||||
session.setAttribute("comId", null);
|
||||
session.setAttribute("userId", null);
|
||||
session.setAttribute("flag", null);
|
||||
|
||||
//사용자 조회
|
||||
Map<String, Object> loginInfo = loginInfoSvc.loginCheck(inputUserInfo);
|
||||
|
||||
// profile 정보
|
||||
ArrayList<String> activeProfileArr = new ArrayList<>(Arrays.asList(env.getActiveProfiles()));
|
||||
|
||||
//운영이 아닐때 SSO 미적용
|
||||
|
||||
if ( loginInfo == null ) {
|
||||
//로그인 실패
|
||||
Cookie cookie = new Cookie(COOKIE_ID, null);
|
||||
cookie.setMaxAge(0);
|
||||
response.addCookie(cookie);
|
||||
mav.addObject("resultCode", "N");
|
||||
mav.addObject("resultDesc", "로그인에 실패하였습니다.");
|
||||
mav.setViewName("login");
|
||||
return mav;
|
||||
}
|
||||
|
||||
String userPswdChk= loginInfo.get("userPswd").toString();
|
||||
String userPswdCrypted= CryptoUtils.getSHA512(inputUserInfo.get("userPswd").toString());
|
||||
|
||||
if ( loginInfo.get("userPswd").equals(userPswdCrypted) ){
|
||||
//비밀번호 삭제!
|
||||
loginInfo.remove("userPswd");
|
||||
//로그인 성공
|
||||
String token = JwtTokenUtils.createToken(loginInfo);
|
||||
//토큰을 쿠키에 셋팅
|
||||
JwtTokenUtils.setTokenOnResponse(token, response);
|
||||
//로그인 이력 저장
|
||||
systemLogReadSvc.saveLoginLog(loginInfo);
|
||||
return REDIRECT_URL;
|
||||
} else {
|
||||
//로그인 실패
|
||||
Cookie cookie = new Cookie(COOKIE_ID, null);
|
||||
cookie.setMaxAge(0);
|
||||
response.addCookie(cookie);
|
||||
mav.addObject("resultDesc", "로그인에 실패하였습니다.");
|
||||
mav.setViewName("login");
|
||||
return mav;
|
||||
}
|
||||
}
|
||||
@PostMapping("/loginProc")
|
||||
//public Object loginCheck(@RequestBody Map<String, String> inputUserInfo, Response response) {
|
||||
public Object loginProc(@RequestParam(defaultValue = "ko") String locale,
|
||||
@RequestParam String comId, @RequestParam String userId,
|
||||
@RequestParam(required = false) String userPswd,
|
||||
HttpServletResponse response,
|
||||
ModelAndView mav,
|
||||
RedirectAttributes ra,
|
||||
HttpSession session) throws InvalidKeyException, UnsupportedEncodingException {
|
||||
Map<String, String> inputUserInfo = new HashMap<String, String>();
|
||||
|
||||
comId = session.getAttribute("comId") != null ? (String) session.getAttribute("comId") : comId;
|
||||
userId = session.getAttribute("userId") != null ? (String) session.getAttribute("userId") : userId;
|
||||
String flag = session.getAttribute("flag") != null ? (String) session.getAttribute("flag") : "";
|
||||
|
||||
inputUserInfo.put("locale", locale);
|
||||
inputUserInfo.put("comId", comId);
|
||||
inputUserInfo.put("userId", userId);
|
||||
inputUserInfo.put("userPswd", userPswd);
|
||||
|
||||
//clear
|
||||
session.setAttribute("comId", null);
|
||||
session.setAttribute("userId", null);
|
||||
session.setAttribute("flag", null);
|
||||
|
||||
//사용자 조회
|
||||
Map<String, Object> loginInfo = loginInfoSvc.loginCheck(inputUserInfo);
|
||||
|
||||
// profile 정보
|
||||
ArrayList<String> activeProfileArr = new ArrayList<>(Arrays.asList(env.getActiveProfiles()));
|
||||
|
||||
//운영이 아닐때 SSO 미적용
|
||||
|
||||
if ( loginInfo == null ) {
|
||||
//로그인 실패
|
||||
Cookie cookie = new Cookie(COOKIE_ID, null);
|
||||
cookie.setMaxAge(0);
|
||||
response.addCookie(cookie);
|
||||
mav.addObject("resultCode", "N");
|
||||
mav.addObject("resultDesc", "로그인에 실패하였습니다.");
|
||||
mav.setViewName("login");
|
||||
// return mav;
|
||||
return REDIRECT_URL + "/login";
|
||||
}
|
||||
|
||||
String userPswdChk= loginInfo.get("userPswd").toString();
|
||||
String userPswdCrypted= CryptoUtils.getSHA512(inputUserInfo.get("userPswd").toString());
|
||||
|
||||
if ( loginInfo.get("userPswd").equals(userPswdCrypted) ){
|
||||
//비밀번호 삭제!
|
||||
loginInfo.remove("userPswd");
|
||||
//로그인 성공
|
||||
String token = JwtTokenUtils.createToken(loginInfo);
|
||||
//토큰을 쿠키에 셋팅
|
||||
JwtTokenUtils.setTokenOnResponse(token, response);
|
||||
//로그인 이력 저장
|
||||
systemLogReadSvc.saveLoginLog(loginInfo);
|
||||
return REDIRECT_URL;
|
||||
} else {
|
||||
//로그인 실패
|
||||
Cookie cookie = new Cookie(COOKIE_ID, null);
|
||||
cookie.setMaxAge(0);
|
||||
response.addCookie(cookie);
|
||||
mav.addObject("resultDesc", "로그인에 실패하였습니다.");
|
||||
mav.setViewName("login");
|
||||
return REDIRECT_URL + "/login";
|
||||
}
|
||||
}
|
||||
|
||||
@RequestMapping("/loginChk")
|
||||
@ResponseBody
|
||||
public Object loginChk (HttpServletRequest request, HttpServletResponse response, @RequestBody BaseParam paramMap, HttpSession session) throws InvalidKeyException, UnsupportedEncodingException {
|
||||
BaseResponse result = new BaseResponse();
|
||||
|
||||
HashMap<String, Object> loingInfo = paramMap.getParams();
|
||||
Map<String, String> inputUserInfo = new HashMap<String, String>();
|
||||
|
||||
inputUserInfo.put("locale", loingInfo.get("local") == null ? "ko" : loingInfo.get("local").toString());
|
||||
inputUserInfo.put("comId", loingInfo.get("comId").toString());
|
||||
inputUserInfo.put("userId", loingInfo.get("userId").toString());
|
||||
inputUserInfo.put("userPswd", loingInfo.get("userPswd").toString());
|
||||
|
||||
//clear
|
||||
session.setAttribute("comId", null);
|
||||
session.setAttribute("userId", null);
|
||||
session.setAttribute("flag", null);
|
||||
|
||||
//사용자 조회
|
||||
Map<String, Object> loginInfo = loginInfoSvc.loginCheck(inputUserInfo);
|
||||
|
||||
if ( loginInfo == null ) {
|
||||
//로그인 실패
|
||||
Cookie cookie = new Cookie(COOKIE_ID, null);
|
||||
cookie.setMaxAge(0);
|
||||
response.addCookie(cookie);
|
||||
|
||||
result.setRetnCd(-9001);
|
||||
result.setRetnMsg("로그인에 실패하였습니다.");
|
||||
return result;
|
||||
}
|
||||
|
||||
String userPswdCrypted= CryptoUtils.getSHA512(inputUserInfo.get("userPswd").toString());
|
||||
|
||||
if ( loginInfo.get("userPswd").equals(userPswdCrypted) ){
|
||||
//비밀번호 삭제!
|
||||
loginInfo.remove("userPswd");
|
||||
//로그인 성공
|
||||
String token = JwtTokenUtils.createToken(loginInfo);
|
||||
//토큰을 쿠키에 셋팅
|
||||
JwtTokenUtils.setTokenOnResponse(token, response);
|
||||
//로그인 이력 저장
|
||||
systemLogReadSvc.saveLoginLog(loginInfo);
|
||||
result.add(COOKIE_ID, token);
|
||||
result.add("userInfo", loginInfo);
|
||||
return result;
|
||||
} else {
|
||||
//로그인 실패
|
||||
Cookie cookie = new Cookie(COOKIE_ID, null);
|
||||
cookie.setMaxAge(0);
|
||||
response.addCookie(cookie);
|
||||
|
||||
result.setRetnCd(-9001);
|
||||
result.setRetnMsg("로그인에 실패하였습니다.");
|
||||
return result;
|
||||
}
|
||||
}
|
||||
@RequestMapping("/isValidToken")
|
||||
@ResponseBody
|
||||
public Object isValidToken (HttpServletRequest request, HttpServletResponse response, @RequestBody Map<String, String> param) throws InvalidKeyException, UnsupportedEncodingException {
|
||||
BaseResponse ret = new BaseResponse();
|
||||
//Cookies에서 JWT token을 받아온다.
|
||||
String token = JwtTokenUtils.resolveToken(request);
|
||||
if( "".equals(token) ) {
|
||||
//로그인 안되었고
|
||||
//FIXME 다국어 처리
|
||||
// throw new BisiExcp("로그인하지 않았습니다.");
|
||||
// return response.setStatus(HttpStatus.UNAUTHORIZED.value());
|
||||
return new ResponseEntity<Object>(HttpStatus.UNAUTHORIZED);
|
||||
} else {
|
||||
// 토큰이 유효하면 토큰으로부터 유저 정보를 받아옵니다.(유효하지 않은 경우 Excetion발생..)
|
||||
String newToken;
|
||||
try {
|
||||
newToken = JwtTokenUtils.createToken(JwtTokenUtils.getClaims(token));
|
||||
} catch (Exception e) {
|
||||
e.printStackTrace();
|
||||
return new ResponseEntity<Object>(HttpStatus.UNAUTHORIZED);
|
||||
}
|
||||
|
||||
if("/".equals(param.get("requestURI")) || loginInfoSvc.selectMenuAuth(param)) {
|
||||
//최초 페이지거나 유효한 권한이면..
|
||||
// 토큰이 유효하면 새로운 토큰을 발급합니다.
|
||||
JwtTokenUtils.setTokenOnResponse(newToken, response);
|
||||
} else {
|
||||
//유효하지 않으면..
|
||||
return new ResponseEntity<Object>(HttpStatus.UNAUTHORIZED);
|
||||
}
|
||||
|
||||
return ret;
|
||||
}
|
||||
}
|
||||
|
||||
@RequestMapping("/logout")
|
||||
public Object logout (HttpServletRequest request, HttpServletResponse response) throws IOException {
|
||||
//쿠키 삭제..
|
||||
Cookie cookie = new Cookie(COOKIE_ID, null);
|
||||
cookie.setMaxAge(0);
|
||||
response.addCookie(cookie);
|
||||
return REDIRECT_URL + "/login";
|
||||
}
|
||||
|
||||
@PostMapping("/saveChangePasswordBGR")
|
||||
@ResponseBody
|
||||
public Object loginCheck(@RequestBody Map<String, Object> paramMap) {
|
||||
BaseResponse ret = new BaseResponse();
|
||||
|
||||
Map<String ,Object> resultMap = new HashMap<String, Object>();
|
||||
try {
|
||||
ret.add("resultCode", resultMap.get("resultCode"));
|
||||
ret.add("resultDesc", resultMap.get("resultDesc"));
|
||||
} catch (NoClassDefFoundError e) {
|
||||
e.printStackTrace();
|
||||
ret.add("resultCode", "N");
|
||||
ret.add("resultDesc", "처리도중 에러가 발생했습니다");
|
||||
System.out.println("NoClassDefFoundError ERROR CATCHED");
|
||||
}
|
||||
return ret;
|
||||
}
|
||||
|
||||
|
||||
@RequestMapping("/menuLogCont")
|
||||
@ResponseBody
|
||||
public Object menuLogCont(HttpServletRequest request, HttpServletResponse response, @RequestBody Map<String, String> param) throws InvalidKeyException, UnsupportedEncodingException {
|
||||
BaseResponse ret = new BaseResponse();
|
||||
//Cookies에서 JWT token을 받아온다.
|
||||
String token = JwtTokenUtils.resolveToken(request);
|
||||
if( "".equals(token) ) {
|
||||
//로그인 안되었고
|
||||
//FIXME 다국어 처리
|
||||
// throw new BisiExcp("로그인하지 않았습니다.");
|
||||
// return response.setStatus(HttpStatus.UNAUTHORIZED.value());
|
||||
return new ResponseEntity<Object>(HttpStatus.UNAUTHORIZED);
|
||||
} else {
|
||||
// 토큰이 유효하면 토큰으로부터 유저 정보를 받아옵니다.(유효하지 않은 경우 Excetion발생..)
|
||||
String newToken;
|
||||
try {
|
||||
newToken = JwtTokenUtils.createToken(JwtTokenUtils.getClaims(token));
|
||||
} catch (Exception e) {
|
||||
e.printStackTrace();
|
||||
return new ResponseEntity<Object>(HttpStatus.UNAUTHORIZED);
|
||||
}
|
||||
|
||||
if("/".equals(param.get("requestURI")) || loginInfoSvc.selectMenuAuth(param)) {
|
||||
//최초 페이지거나 유효한 권한이면..
|
||||
// 토큰이 유효하면 새로운 토큰을 발급합니다.
|
||||
JwtTokenUtils.setTokenOnResponse(newToken, response);
|
||||
systemLogReadSvc.saveMenuCnctLog(param.get("menuId").toString());
|
||||
} else {
|
||||
//유효하지 않으면..
|
||||
return new ResponseEntity<Object>(HttpStatus.UNAUTHORIZED);
|
||||
}
|
||||
|
||||
return ret;
|
||||
}
|
||||
}
|
||||
}
|
@ -0,0 +1,70 @@
|
||||
/*
|
||||
* 상기 프로그램에 대한 저작권을 포함한 지적재산권은 LS ITC에 있으며,
|
||||
* LS ITC가 명시적으로 허용하지 않은 사용, 복사, 변경, 제3자에의 공개, 배포는 엄격히 금지되며,
|
||||
* LS ITC의 지적재산권 침해에 해당됩니다.
|
||||
* (Copyright ⓒ 2021 LS ITC. All Rights Reserved| Confidential)
|
||||
*
|
||||
* You are strictly prohibited to copy, disclose, distribute, modify, or use
|
||||
* this program in part or as a whole without the prior written consent of
|
||||
* LS ITC Business unit. LS ITC Business unit., owns the intellectual property rights in
|
||||
* and to this program.
|
||||
* (Copyright ⓒ 2021 LS ITC Business unit. All Rights Reserved| Confidential)
|
||||
* Author : LS ITC
|
||||
* Created : 2021-04-23 17:58:11
|
||||
*/
|
||||
package com.lsitc.fems.comm.auth.controller;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Controller;
|
||||
import org.springframework.web.bind.annotation.GetMapping;
|
||||
import org.springframework.web.bind.annotation.PathVariable;
|
||||
import org.springframework.web.bind.annotation.RequestMapping;
|
||||
import org.springframework.web.bind.annotation.RequestParam;
|
||||
import org.springframework.web.servlet.ModelAndView;
|
||||
|
||||
import com.lsitc.core.jwt.JwtTokenUtils;
|
||||
import com.lsitc.core.utils.CommonUtils;
|
||||
import com.lsitc.fems.comm.base.service.MenuMngSvc;
|
||||
import com.lsitc.fems.comm.auth.vo.CommMenuVo;
|
||||
import com.lsitc.fems.comm.base.service.SystemLogReadSvc;
|
||||
|
||||
@Controller
|
||||
public class MainCtr {
|
||||
@Autowired
|
||||
private MenuMngSvc commMenuSvc;
|
||||
|
||||
@Autowired
|
||||
private SystemLogReadSvc systemLogReadSvc;
|
||||
|
||||
@RequestMapping("/")
|
||||
public ModelAndView index(ModelAndView mav) {
|
||||
List<CommMenuVo> menuList = commMenuSvc.selectAuthMenu();
|
||||
List<CommMenuVo> treeMenuList = new ArrayList<CommMenuVo>();
|
||||
|
||||
treeMenuList = CommonUtils.getTree(menuList, "menuId", "upMenuId");
|
||||
menuList.remove(0);
|
||||
mav.addObject("userNm", JwtTokenUtils.getSessionValue("userNm"));
|
||||
mav.addObject("userInfo", JwtTokenUtils.getSessionMap());
|
||||
mav.addObject("jwt", JwtTokenUtils.getSessionMap());
|
||||
mav.addObject("menuList", menuList);
|
||||
mav.addObject("treeMenuList", treeMenuList.get(0).getChildeVo());
|
||||
mav.setViewName("index");
|
||||
return mav;
|
||||
}
|
||||
|
||||
@GetMapping("/{busiDiv}/{PageNm:.+[Page]$}")
|
||||
public ModelAndView getPage(@PathVariable String busiDiv,
|
||||
@PathVariable String PageNm,
|
||||
@RequestParam(name="$menuId", defaultValue = "NONE") String menuId,
|
||||
ModelAndView mav) {
|
||||
|
||||
mav.setViewName(busiDiv + "/" + PageNm.substring(0, PageNm.length() - 4));
|
||||
systemLogReadSvc.saveMenuCnctLog(menuId); //메뉴접근로그 저장
|
||||
mav.addObject("userInfo", JwtTokenUtils.getSessionMap());
|
||||
mav.addObject("$menuId", menuId);
|
||||
return mav;
|
||||
}
|
||||
}
|
@ -0,0 +1,78 @@
|
||||
/*
|
||||
* 상기 프로그램에 대한 저작권을 포함한 지적재산권은 LS ITC에 있으며,
|
||||
* LS ITC가 명시적으로 허용하지 않은 사용, 복사, 변경, 제3자에의 공개, 배포는 엄격히 금지되며,
|
||||
* LS ITC의 지적재산권 침해에 해당됩니다.
|
||||
* (Copyright ⓒ 2021 LS ITC. All Rights Reserved| Confidential)
|
||||
*
|
||||
* You are strictly prohibited to copy, disclose, distribute, modify, or use
|
||||
* this program in part or as a whole without the prior written consent of
|
||||
* LS ITC Business unit. LS ITC Business unit., owns the intellectual property rights in
|
||||
* and to this program.
|
||||
* (Copyright ⓒ 2021 LS ITC Business unit. All Rights Reserved| Confidential)
|
||||
* Author : LS ITC
|
||||
* Created : 2021-04-23 17:58:11
|
||||
*/
|
||||
package com.lsitc.fems.comm.auth.controller;
|
||||
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Controller;
|
||||
import org.springframework.web.bind.annotation.RequestBody;
|
||||
import org.springframework.web.bind.annotation.RequestMapping;
|
||||
import org.springframework.web.bind.annotation.RequestMethod;
|
||||
import org.springframework.web.bind.annotation.ResponseBody;
|
||||
|
||||
import com.lsitc.core.base.BaseParam;
|
||||
import com.lsitc.core.base.BaseResponse;
|
||||
import com.lsitc.fems.comm.auth.service.MenuRoleMngSvc;
|
||||
|
||||
@RequestMapping("/comm/auth/MenuRoleMngCtr")
|
||||
@Controller
|
||||
public class MenuRoleMngCtr {
|
||||
@Autowired
|
||||
private MenuRoleMngSvc menuRoleMngSvc;
|
||||
|
||||
/**
|
||||
* @methodName : selectMenuRole
|
||||
* @date : 2021.04.26
|
||||
* @desc : 역할별메뉴 조회
|
||||
* @param paramMap
|
||||
* @return
|
||||
*/
|
||||
@RequestMapping(value="/selectMenuRole", method=RequestMethod.POST)
|
||||
@ResponseBody
|
||||
public Object selectMenuRole(@RequestBody BaseParam paramMap){
|
||||
BaseResponse result = new BaseResponse();
|
||||
result.add("menuRoleData", menuRoleMngSvc.selectMenuRole(paramMap.getParams()));
|
||||
return result;
|
||||
}
|
||||
|
||||
/**
|
||||
* @methodName : selectunAsgnMenu
|
||||
* @date : 2021.04.26
|
||||
* @desc : 미배정별메뉴 조회
|
||||
* @param paramMap
|
||||
* @return
|
||||
*/
|
||||
@RequestMapping(value="/selectUnAsgnMenu", method=RequestMethod.POST)
|
||||
@ResponseBody
|
||||
public Object selectUnAsgnMenu(@RequestBody BaseParam paramMap){
|
||||
BaseResponse result = new BaseResponse();
|
||||
result.add("menuRoleData", menuRoleMngSvc.selectUnAsgnMenu(paramMap.getParams()));
|
||||
return result;
|
||||
}
|
||||
|
||||
/**
|
||||
* @methodName : saveMenuRole
|
||||
* @date : 2021.04.26
|
||||
* @desc : 역할별메뉴 저장
|
||||
* @param paramMap
|
||||
* @return
|
||||
*/
|
||||
@RequestMapping(value="/saveMenuRole", method=RequestMethod.POST)
|
||||
@ResponseBody
|
||||
public Object saveMenuRole(@RequestBody BaseParam paramMap){
|
||||
BaseResponse result = new BaseResponse();
|
||||
menuRoleMngSvc.saveMenuRole(paramMap.getDs("dsMenuRole"));
|
||||
return result;
|
||||
}
|
||||
}
|
@ -0,0 +1,66 @@
|
||||
/*
|
||||
* 상기 프로그램에 대한 저작권을 포함한 지적재산권은 LS ITC에 있으며,
|
||||
* LS ITC가 명시적으로 허용하지 않은 사용, 복사, 변경, 제3자에의 공개, 배포는 엄격히 금지되며,
|
||||
* LS ITC의 지적재산권 침해에 해당됩니다.
|
||||
* (Copyright ⓒ 2021 LS ITC. All Rights Reserved| Confidential)
|
||||
*
|
||||
* You are strictly prohibited to copy, disclose, distribute, modify, or use
|
||||
* this program in part or as a whole without the prior written consent of
|
||||
* LS ITC Business unit. LS ITC Business unit., owns the intellectual property rights in
|
||||
* and to this program.
|
||||
* (Copyright ⓒ 2021 LS ITC Business unit. All Rights Reserved| Confidential)
|
||||
* Author : LS ITC
|
||||
* Created : 2021-04-23 17:58:11
|
||||
*/
|
||||
|
||||
package com.lsitc.fems.comm.auth.controller;
|
||||
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Controller;
|
||||
import org.springframework.web.bind.annotation.RequestBody;
|
||||
import org.springframework.web.bind.annotation.RequestMapping;
|
||||
import org.springframework.web.bind.annotation.RequestMethod;
|
||||
import org.springframework.web.bind.annotation.ResponseBody;
|
||||
|
||||
import com.lsitc.core.base.BaseParam;
|
||||
import com.lsitc.core.base.BaseResponse;
|
||||
import com.lsitc.fems.comm.auth.service.RoleMngSvc;
|
||||
import com.lsitc.fems.comm.auth.vo.RoleVo;
|
||||
|
||||
@RequestMapping("/comm/auth/RoleMngCtr")
|
||||
@Controller
|
||||
public class RoleMngCtr{
|
||||
|
||||
@Autowired
|
||||
private RoleMngSvc roleMngSvc;
|
||||
|
||||
/**
|
||||
* @methodName : selectRole
|
||||
* @date : 2021.04.26
|
||||
* @desc : 역할조회
|
||||
* @param paramMap
|
||||
* @return
|
||||
*/
|
||||
@RequestMapping(value="/selectRole", method=RequestMethod.POST)
|
||||
@ResponseBody
|
||||
public Object selectRole(@RequestBody BaseParam paramMap){
|
||||
BaseResponse result = new BaseResponse();
|
||||
result.add("roleData", roleMngSvc.selectRole(paramMap.getParams()));
|
||||
return result;
|
||||
}
|
||||
|
||||
/**
|
||||
* @methodName : saveRole
|
||||
* @date : 2021.04.26
|
||||
* @desc : 역할저장
|
||||
* @param paramMap
|
||||
* @return
|
||||
*/
|
||||
@RequestMapping(value="/saveRole", method=RequestMethod.POST)
|
||||
@ResponseBody
|
||||
public Object saveRole(@RequestBody BaseParam paramMap){
|
||||
BaseResponse result = new BaseResponse();
|
||||
roleMngSvc.saveRole(paramMap.getDs("dsRole", RoleVo.class));
|
||||
return result;
|
||||
}
|
||||
}
|
@ -0,0 +1,179 @@
|
||||
/*
|
||||
* 상기 프로그램에 대한 저작권을 포함한 지적재산권은 LS ITC에 있으며,
|
||||
* LS ITC가 명시적으로 허용하지 않은 사용, 복사, 변경, 제3자에의 공개, 배포는 엄격히 금지되며,
|
||||
* LS ITC의 지적재산권 침해에 해당됩니다.
|
||||
* (Copyright ⓒ 2021 LS ITC. All Rights Reserved| Confidential)
|
||||
*
|
||||
* You are strictly prohibited to copy, disclose, distribute, modify, or use
|
||||
* this program in part or as a whole without the prior written consent of
|
||||
* LS ITC Business unit. LS ITC Business unit., owns the intellectual property rights in
|
||||
* and to this program.
|
||||
* (Copyright ⓒ 2021 LS ITC Business unit. All Rights Reserved| Confidential)
|
||||
* Author : LS ITC
|
||||
* Created : 2021-04-23 17:58:11
|
||||
*/
|
||||
package com.lsitc.fems.comm.auth.controller;
|
||||
|
||||
import java.util.HashMap;
|
||||
import java.util.Map;
|
||||
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Controller;
|
||||
import org.springframework.web.bind.annotation.RequestBody;
|
||||
import org.springframework.web.bind.annotation.RequestMapping;
|
||||
import org.springframework.web.bind.annotation.RequestMethod;
|
||||
import org.springframework.web.bind.annotation.ResponseBody;
|
||||
|
||||
import com.lsitc.core.base.BaseParam;
|
||||
import com.lsitc.core.base.BaseResponse;
|
||||
import com.lsitc.fems.comm.auth.service.UserRoleMngSvc;
|
||||
import com.lsitc.fems.comm.auth.vo.RoleUserVo;
|
||||
import com.lsitc.fems.comm.auth.vo.UserInfoVo;
|
||||
|
||||
@RequestMapping("/comm/auth/UserRoleMngCtr")
|
||||
@Controller
|
||||
public class UserRoleMngCtr {
|
||||
@Autowired
|
||||
private UserRoleMngSvc userRoleMngSvc;
|
||||
|
||||
/**
|
||||
* @methodName : selectRoleUser
|
||||
* @date : 2021.04.26
|
||||
* @desc : 역할별 사용자 조회
|
||||
* @param paramMap
|
||||
* @return
|
||||
*/
|
||||
@RequestMapping(value="/selectRoleUser", method=RequestMethod.POST)
|
||||
@ResponseBody
|
||||
public Object selectRoleUser(@RequestBody BaseParam paramMap){
|
||||
BaseResponse result = new BaseResponse();
|
||||
result.add("roleUserData", userRoleMngSvc.selectRoleUser(paramMap.getParams()));
|
||||
return result;
|
||||
}
|
||||
|
||||
/**
|
||||
* @methodName : selectUnAsgnRoleByUser
|
||||
* @date : 2021.04.26
|
||||
* @desc : 사용자의 미배정 역할 조회
|
||||
* @param paramMap
|
||||
* @return
|
||||
*/
|
||||
@RequestMapping(value="/selectUnAsgnRoleByUser", method=RequestMethod.POST)
|
||||
@ResponseBody
|
||||
public Object selectUnAsgnRoleByUser(@RequestBody BaseParam paramMap){
|
||||
BaseResponse result = new BaseResponse();
|
||||
result.add("roleUserData", userRoleMngSvc.selectUnAsgnRoleByUser(paramMap.getParams()));
|
||||
return result;
|
||||
}
|
||||
|
||||
/**
|
||||
* @methodName : selectAsgnRoleByUser
|
||||
* @date : 2021.04.26
|
||||
* @desc : 사용자의 역할 조회
|
||||
* @param paramMap
|
||||
* @return
|
||||
*/
|
||||
@RequestMapping(value="/selectAsgnRoleByUser", method=RequestMethod.POST)
|
||||
@ResponseBody
|
||||
public Object selectAsgnRoleByUser(@RequestBody BaseParam paramMap){
|
||||
BaseResponse result = new BaseResponse();
|
||||
result.add("roleUserData", userRoleMngSvc.selectAsgnRoleByUser(paramMap.getParams()));
|
||||
return result;
|
||||
}
|
||||
|
||||
/**
|
||||
*
|
||||
* @methodName : selectAsgnMenuByUser
|
||||
* @date : 2021.04.26
|
||||
* @desc : 사용자의 메뉴 조회
|
||||
* @param paramMap
|
||||
* @return
|
||||
*/
|
||||
@RequestMapping(value="/selectAsgnMenuByUser", method=RequestMethod.POST)
|
||||
@ResponseBody
|
||||
public Object selectAsgnMenuByUser(@RequestBody BaseParam paramMap){
|
||||
BaseResponse result = new BaseResponse();
|
||||
result.add("roleUserData", userRoleMngSvc.selectAsgnMenuByUser(paramMap.getParams()));
|
||||
return result;
|
||||
}
|
||||
|
||||
/**
|
||||
* @methodName : selectUser
|
||||
* @date : 2021.04.23
|
||||
* @desc : 사용자를 조회한다.
|
||||
* @param paramMap
|
||||
* @return
|
||||
*/
|
||||
@RequestMapping(value="/selectUser", method=RequestMethod.POST)
|
||||
@ResponseBody
|
||||
public Object selectUser(@RequestBody BaseParam paramMap){
|
||||
BaseResponse result = new BaseResponse();
|
||||
result.add("userData", userRoleMngSvc.selectUser(paramMap.getParams()));
|
||||
return result;
|
||||
}
|
||||
|
||||
/**
|
||||
* @methodName : saveRoleUser
|
||||
* @date : 2021.04.26
|
||||
* @desc : 역할별 사용자 저장
|
||||
* @param paramMap
|
||||
* @return
|
||||
*/
|
||||
@RequestMapping(value="/saveRoleUser", method=RequestMethod.POST)
|
||||
@ResponseBody
|
||||
public Object saveRoleUser(@RequestBody BaseParam paramMap){
|
||||
BaseResponse result = new BaseResponse();
|
||||
userRoleMngSvc.saveRoleUser(paramMap.getDs("dsRoleUser", RoleUserVo.class));
|
||||
return result;
|
||||
}
|
||||
|
||||
/**
|
||||
* @methodName : selectUserPop
|
||||
* @date : 2021.06.09
|
||||
* @desc : [팝업]사용자 조회
|
||||
* @param paramMap
|
||||
* @return
|
||||
*/
|
||||
@RequestMapping(value="/selectUserPop", method=RequestMethod.POST)
|
||||
@ResponseBody
|
||||
public Object selectUserPop(@RequestBody BaseParam paramMap){
|
||||
BaseResponse result = new BaseResponse();
|
||||
result.add("userData", userRoleMngSvc.selectUserPop(paramMap.getParams()));
|
||||
return result;
|
||||
}
|
||||
|
||||
/**
|
||||
* @methodName : saveUser
|
||||
* @date : 2021.04.23
|
||||
* @desc : 사용자를 저장한다.
|
||||
* @param paramMap
|
||||
* @return
|
||||
*/
|
||||
@RequestMapping(value="/saveUser", method=RequestMethod.POST)
|
||||
@ResponseBody
|
||||
public Object saveUser(@RequestBody BaseParam paramMap){
|
||||
BaseResponse result = new BaseResponse();
|
||||
Map<String, String> inputUserInfo = new HashMap<String, String>();
|
||||
userRoleMngSvc.saveUser(paramMap.getDs("dsUser", UserInfoVo.class));
|
||||
return result;
|
||||
}
|
||||
|
||||
@RequestMapping(value="/selectComparePswd", method=RequestMethod.POST)
|
||||
@ResponseBody
|
||||
public Object selectComparePswd(@RequestBody BaseParam paramMap){
|
||||
BaseResponse result = new BaseResponse();
|
||||
result.add("roleUserData", userRoleMngSvc.selectComparePswd(paramMap.getParams()));
|
||||
return result;
|
||||
}
|
||||
|
||||
@RequestMapping(value="/updatePswd", method=RequestMethod.POST)
|
||||
@ResponseBody
|
||||
public Object updatePswd(@RequestBody BaseParam paramMap){
|
||||
BaseResponse result = new BaseResponse();
|
||||
Map<String, String> inputUserInfo = new HashMap<String, String>();
|
||||
userRoleMngSvc.updatePswd(paramMap.getDs("dsUser", UserInfoVo.class));
|
||||
return result;
|
||||
}
|
||||
|
||||
|
||||
}
|
@ -0,0 +1,74 @@
|
||||
/*
|
||||
* 상기 프로그램에 대한 저작권을 포함한 지적재산권은 LS ITC에 있으며,
|
||||
* LS ITC가 명시적으로 허용하지 않은 사용, 복사, 변경, 제3자에의 공개, 배포는 엄격히 금지되며,
|
||||
* LS ITC의 지적재산권 침해에 해당됩니다.
|
||||
* (Copyright ⓒ 2021 LS ITC. All Rights Reserved| Confidential)
|
||||
*
|
||||
* You are strictly prohibited to copy, disclose, distribute, modify, or use
|
||||
* this program in part or as a whole without the prior written consent of
|
||||
* LS ITC Business unit. LS ITC Business unit., owns the intellectual property rights in
|
||||
* and to this program.
|
||||
* (Copyright ⓒ 2021 LS ITC Business unit. All Rights Reserved| Confidential)
|
||||
* Author : LS ITC
|
||||
* Created : 2021-04-23 17:58:11
|
||||
*/
|
||||
package com.lsitc.fems.comm.auth.service;
|
||||
|
||||
|
||||
import java.util.Map;
|
||||
import java.util.regex.Pattern;
|
||||
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
import com.lsitc.core.base.BaseSvc;
|
||||
|
||||
|
||||
@Service
|
||||
public class LoginInfoSvc extends BaseSvc {
|
||||
public Map<String, Object> loginCheck(Map<String, String> inputUserInfo) {
|
||||
return dao.selectOne("comm.auth.loginInfo.selectLoginInfoForLogin", inputUserInfo);
|
||||
}
|
||||
|
||||
|
||||
public boolean selectMenuAuth(Map<String, String> paramMap) {
|
||||
Map<String, Object> menuAuth = dao.selectOne("comm.auth.loginInfo.selectMenuAuth", paramMap);
|
||||
|
||||
Pattern FIND_PATTERN = Pattern.compile("(.*)/select");
|
||||
Pattern INSER_PATTERN = Pattern.compile("(.*)/insert");
|
||||
Pattern UPDATE_PATTERN = Pattern.compile("(.*)/update");
|
||||
Pattern DELETE_PATTERN = Pattern.compile("(.*)/delete");
|
||||
Pattern SAVE_PATTERN = Pattern.compile("(.*)/save");
|
||||
Pattern GET_UI_PATTERN = Pattern.compile("(.*)/.+Page$");
|
||||
Pattern DOWNLOAD_PATTERN = Pattern.compile("(.*)/download");
|
||||
|
||||
//요청하는 URI
|
||||
String requestUri = paramMap.get("requestURI");
|
||||
//사용자가 가진 권한
|
||||
String authCd = menuAuth != null && menuAuth.get("authCd") != null ? menuAuth.get("authCd").toString() : "";
|
||||
|
||||
if ( FIND_PATTERN.matcher(requestUri).find() ) {
|
||||
logger.debug("select패턴");
|
||||
return authCd.indexOf("R") >= 0;
|
||||
} else if ( SAVE_PATTERN.matcher(requestUri).find() ) {
|
||||
logger.debug("save패턴");
|
||||
return authCd.indexOf("S") >= 0;
|
||||
} else if ( INSER_PATTERN.matcher(requestUri).find() ){
|
||||
logger.debug("inser패턴");
|
||||
return authCd.indexOf("C") >= 0;
|
||||
} else if ( UPDATE_PATTERN.matcher(requestUri).find() ){
|
||||
logger.debug("update패턴");
|
||||
return authCd.indexOf("U") >= 0;
|
||||
} else if ( DELETE_PATTERN.matcher(requestUri).find() ){
|
||||
logger.debug("delete패턴");
|
||||
return authCd.indexOf("D") >= 0;
|
||||
} else if ( GET_UI_PATTERN.matcher(requestUri).find() ){
|
||||
logger.debug("UI패턴");
|
||||
return authCd.indexOf("R") >= 0;
|
||||
} else if ( DOWNLOAD_PATTERN.matcher(requestUri).find() ) {
|
||||
logger.debug("다운로드패턴");
|
||||
return authCd.indexOf("R") >= 0;
|
||||
} else {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
}
|
@ -0,0 +1,88 @@
|
||||
/*
|
||||
* 상기 프로그램에 대한 저작권을 포함한 지적재산권은 LS ITC에 있으며,
|
||||
* LS ITC가 명시적으로 허용하지 않은 사용, 복사, 변경, 제3자에의 공개, 배포는 엄격히 금지되며,
|
||||
* LS ITC의 지적재산권 침해에 해당됩니다.
|
||||
* (Copyright ⓒ 2021 LS ITC. All Rights Reserved| Confidential)
|
||||
*
|
||||
* You are strictly prohibited to copy, disclose, distribute, modify, or use
|
||||
* this program in part or as a whole without the prior written consent of
|
||||
* LS ITC Business unit. LS ITC Business unit., owns the intellectual property rights in
|
||||
* and to this program.
|
||||
* (Copyright ⓒ 2021 LS ITC Business unit. All Rights Reserved| Confidential)
|
||||
* Author : LS ITC
|
||||
* Created : 2021-04-23 17:58:11
|
||||
*/
|
||||
package com.lsitc.fems.comm.auth.service;
|
||||
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
import org.springframework.stereotype.Service;
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
|
||||
import com.lsitc.core.base.BaseSvc;
|
||||
|
||||
@Service
|
||||
public class MenuRoleMngSvc extends BaseSvc {
|
||||
|
||||
/**
|
||||
* @methodName : selectMenuRole
|
||||
* @date : 2021.04.26
|
||||
* @desc : 역할별메뉴 조회
|
||||
* @param param
|
||||
* @return
|
||||
*/
|
||||
public List<?> selectMenuRole(HashMap<String, Object> param){
|
||||
return dao.selectList("comm.auth.menuRoleMng.selectMenuRole", param);
|
||||
}
|
||||
|
||||
/**
|
||||
* @methodName : selectunAsgnMenu
|
||||
* @date : 2021.04.26
|
||||
* @desc : 미배정메뉴 조회
|
||||
* @param param
|
||||
* @return
|
||||
*/
|
||||
public List<?> selectUnAsgnMenu(HashMap<String, Object> param){
|
||||
return dao.selectList("comm.auth.menuRoleMng.selectUnAsgnMenu", param);
|
||||
}
|
||||
|
||||
/**
|
||||
* @methodName : saveMenuRole
|
||||
* @date : 2021.04.26
|
||||
* @desc : 역할별메뉴 저장
|
||||
* @param list
|
||||
*/
|
||||
@Transactional
|
||||
public void saveMenuRole(List<Map<String, Object>> list) {
|
||||
String[] authCdArr = { "R", "C", "U", "D", "S", "E" };
|
||||
for(Map<String, Object> eachRow : list ) {
|
||||
if(RowType.DELETE.equals(eachRow.get("rowStat"))) {
|
||||
//역할별메뉴권한 먼저 삭제
|
||||
dao.delete("comm.auth.menuRoleMng.deleteMenuRoleAuth", eachRow);
|
||||
dao.delete("comm.auth.menuRoleMng.deleteMenuRole", eachRow);
|
||||
} else if(RowType.UPDATE.equals(eachRow.get("rowStat"))) {
|
||||
//Merge문 실행
|
||||
dao.update("comm.auth.menuRoleMng.updateMenuRole", eachRow);
|
||||
dao.update("comm.auth.menuRoleMng.updateCommMenu",eachRow);
|
||||
|
||||
//권한 추가
|
||||
for(int i=1,len=6; i<=len; i++) {
|
||||
//각 컬럼별 권한을 셋팅
|
||||
String authCd = eachRow.get("authCd"+i).toString();
|
||||
|
||||
if("0".equals(authCd)) {
|
||||
//'N'일 경우 삭제
|
||||
eachRow.put("authCd", authCdArr[i-1]);
|
||||
dao.delete("comm.auth.menuRoleMng.deleteMenuRoleAuth", eachRow);
|
||||
} else {
|
||||
//'Y'일 경우 추가
|
||||
eachRow.put("authCd", authCdArr[i-1]);
|
||||
dao.update("comm.auth.menuRoleMng.insertMenuRoleAuth", eachRow);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
@ -0,0 +1,64 @@
|
||||
/*
|
||||
* 상기 프로그램에 대한 저작권을 포함한 지적재산권은 LS ITC에 있으며,
|
||||
* LS ITC가 명시적으로 허용하지 않은 사용, 복사, 변경, 제3자에의 공개, 배포는 엄격히 금지되며,
|
||||
* LS ITC의 지적재산권 침해에 해당됩니다.
|
||||
* (Copyright ⓒ 2021 LS ITC. All Rights Reserved| Confidential)
|
||||
*
|
||||
* You are strictly prohibited to copy, disclose, distribute, modify, or use
|
||||
* this program in part or as a whole without the prior written consent of
|
||||
* LS ITC Business unit. LS ITC Business unit., owns the intellectual property rights in
|
||||
* and to this program.
|
||||
* (Copyright ⓒ 2021 LS ITC Business unit. All Rights Reserved| Confidential)
|
||||
* Author : LS ITC
|
||||
* Created : 2021-04-23 17:58:11
|
||||
*/
|
||||
package com.lsitc.fems.comm.auth.service;
|
||||
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
|
||||
import org.springframework.stereotype.Service;
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
|
||||
import com.lsitc.core.base.BaseSvc;
|
||||
import com.lsitc.fems.comm.auth.vo.RoleVo;
|
||||
|
||||
@Service
|
||||
public class RoleMngSvc extends BaseSvc {
|
||||
|
||||
/**
|
||||
* @methodName : selectRole
|
||||
* @date : 2021.04.26
|
||||
* @desc : 역할조회
|
||||
* @param param
|
||||
* @return
|
||||
*/
|
||||
public List<RoleVo> selectRole(HashMap<String, Object> param){
|
||||
return dao.selectList("comm.auth.roleMng.selectRole", param);
|
||||
}
|
||||
|
||||
/**
|
||||
* @methodName : saveRole
|
||||
* @date : 2021.04.26
|
||||
* @desc : 역할저장
|
||||
* @param roleList
|
||||
*/
|
||||
@Transactional
|
||||
public void saveRole(List<RoleVo> roleList) {
|
||||
for(RoleVo eachRow : roleList ) {
|
||||
switch (eachRow.getRowStat()) {
|
||||
case RowType.INSERT :
|
||||
dao.insert("comm.auth.roleMng.insertRole", eachRow);
|
||||
break;
|
||||
case RowType.UPDATE :
|
||||
dao.update("comm.auth.roleMng.updateRole", eachRow);
|
||||
break;
|
||||
case RowType.DELETE:
|
||||
dao.delete("comm.auth.roleMng.deleteRole", eachRow);
|
||||
break;
|
||||
default :
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
@ -0,0 +1,197 @@
|
||||
/*
|
||||
* 상기 프로그램에 대한 저작권을 포함한 지적재산권은 LS ITC에 있으며,
|
||||
* LS ITC가 명시적으로 허용하지 않은 사용, 복사, 변경, 제3자에의 공개, 배포는 엄격히 금지되며,
|
||||
* LS ITC의 지적재산권 침해에 해당됩니다.
|
||||
* (Copyright ⓒ 2021 LS ITC. All Rights Reserved| Confidential)
|
||||
*
|
||||
* You are strictly prohibited to copy, disclose, distribute, modify, or use
|
||||
* this program in part or as a whole without the prior written consent of
|
||||
* LS ITC Business unit. LS ITC Business unit., owns the intellectual property rights in
|
||||
* and to this program.
|
||||
* (Copyright ⓒ 2021 LS ITC Business unit. All Rights Reserved| Confidential)
|
||||
* Author : LS ITC
|
||||
* Created : 2021-04-23 17:58:11
|
||||
*/
|
||||
package com.lsitc.fems.comm.auth.service;
|
||||
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
|
||||
import org.springframework.stereotype.Service;
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
|
||||
import com.lsitc.core.base.BaseSvc;
|
||||
import com.lsitc.fems.comm.auth.vo.RoleUserVo;
|
||||
import com.lsitc.fems.comm.auth.vo.UserInfoVo;
|
||||
import com.lsitc.fems.comm.auth.vo.UserVo;
|
||||
|
||||
@Service
|
||||
public class UserRoleMngSvc extends BaseSvc {
|
||||
|
||||
/**
|
||||
* @methodName : selectRoleUser
|
||||
* @date : 2021.04.26
|
||||
* @desc : 역할별 사용자 조회
|
||||
* @param param
|
||||
* @return
|
||||
*/
|
||||
public List<RoleUserVo> selectRoleUser(HashMap<String, Object> param){
|
||||
return dao.selectList("comm.auth.userRoleMng.selectRoleUser", param);
|
||||
}
|
||||
|
||||
/**
|
||||
* @methodName : selectUnAsgnRoleByUser
|
||||
* @date : 2021.04.26
|
||||
* @desc : 사용자의 미배정 역할 조회
|
||||
* @param params
|
||||
* @return
|
||||
*/
|
||||
public Object selectUnAsgnRoleByUser(HashMap<String, Object> param) {
|
||||
return dao.selectList("comm.auth.userRoleMng.selectUnAsgnRoleByUser", param);
|
||||
}
|
||||
|
||||
/**
|
||||
* @methodName : selectAsgnRoleByUser
|
||||
* @date : 2021.04.26
|
||||
* @desc : 사용자의 역할 조회
|
||||
* @param params
|
||||
* @return
|
||||
*/
|
||||
public Object selectAsgnRoleByUser(HashMap<String, Object> param) {
|
||||
return dao.selectList("comm.auth.userRoleMng.selectAsgnRoleByUser", param);
|
||||
}
|
||||
|
||||
/**
|
||||
* @methodName : selectAsgnMenuByUser
|
||||
* @date : 2021.04.26
|
||||
* @desc : 사용자의 메뉴 조회
|
||||
* @param params
|
||||
* @return
|
||||
*/
|
||||
public Object selectAsgnMenuByUser(HashMap<String, Object> param) {
|
||||
return dao.selectList("comm.auth.userRoleMng.selectAsgnMenuByUser", param);
|
||||
}
|
||||
|
||||
/**
|
||||
* @methodName : selectUser
|
||||
* @date : 2021.04.23
|
||||
* @desc : 사용자를 조회한다.
|
||||
* @param param
|
||||
* @return
|
||||
*/
|
||||
public List<UserVo> selectUser(HashMap<String, Object> param){
|
||||
return dao.selectList("comm.auth.userRoleMng.selectUser", param);
|
||||
}
|
||||
|
||||
/**
|
||||
* @methodName : saveRoleUser
|
||||
* @date : 2021.04.26
|
||||
* @desc : 역할별 사용자 저장
|
||||
* @param roleUserList
|
||||
*/
|
||||
@Transactional
|
||||
public void saveRoleUser(List<RoleUserVo> roleUserList) {
|
||||
for(RoleUserVo eachRow : roleUserList ) {
|
||||
switch (eachRow.getRowStat()) {
|
||||
case RowType.INSERT :
|
||||
dao.insert("comm.auth.userRoleMng.insertRoleUser", eachRow);
|
||||
break;
|
||||
case RowType.UPDATE :
|
||||
dao.update("comm.auth.userRoleMng.updateRoleUser", eachRow);
|
||||
break;
|
||||
case RowType.DELETE :
|
||||
dao.delete("comm.auth.userRoleMng.deleteRoleUser", eachRow);
|
||||
break;
|
||||
default :
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
//향후 user로 분리가능성 있음.----------------------------------------------
|
||||
public Object selectUserPop(HashMap<String, Object> params) {
|
||||
return dao.selectList("comm.auth.userRoleMng.selectUserPop", params);
|
||||
}
|
||||
|
||||
/**
|
||||
* @methodName : saveUser
|
||||
* @date : 2021.04.23
|
||||
* @desc : 사용자를 저장한다.
|
||||
* @param userList
|
||||
*/
|
||||
@Transactional
|
||||
public void saveUser(List<UserInfoVo> userList) {
|
||||
for(UserInfoVo eachRow : userList ) {
|
||||
//암호화(최초로 비밀번호 입력 or 비밀번호를 변경했을 경우)
|
||||
// if(eachRow.getUserPswd() != null) {
|
||||
// String userPswdCrypted= CryptoUtils.getSHA512(eachRow.getUserPswd().toString());
|
||||
// eachRow.setUserPswd(userPswdCrypted);
|
||||
// }
|
||||
switch (eachRow.getRowStat()) {
|
||||
case RowType.INSERT:
|
||||
//사용자 추가
|
||||
dao.insert("comm.auth.userRoleMng.insertUser", eachRow);
|
||||
//FIXME 로그인 정보 추가(이 기능은 풀어야할지.. 한다면 어떻게 값을 받을지?
|
||||
insertLoginInfo(eachRow);
|
||||
break;
|
||||
case RowType.UPDATE:
|
||||
//사용자 update
|
||||
dao.update("comm.auth.userRoleMng.updateUser", eachRow);
|
||||
//로그인 정보 업데이트
|
||||
updateLoginInfo(eachRow);
|
||||
break;
|
||||
case RowType.DELETE:
|
||||
//사용자 정보 업데이트
|
||||
dao.update("comm.auth.userRoleMng.deleteUser", eachRow);
|
||||
//로그인정보 삭제
|
||||
deleteLoginInfo(eachRow);
|
||||
break;
|
||||
default :
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* @methodName : insertLoginInfo
|
||||
* @date : 2021.04.23
|
||||
* @desc : 로그인정보 추가
|
||||
* @param loginInfo
|
||||
*/
|
||||
public void insertLoginInfo(UserInfoVo loginInfo) {
|
||||
//비밀번호 암호화(단방향)
|
||||
// loginInfo.setUserPswd(CryptoUtils.getSHA512(loginInfo.getUserPswd()));
|
||||
dao.insert("comm.auth.loginInfo.insertLoginInfo", loginInfo);
|
||||
}
|
||||
|
||||
/**
|
||||
* @methodName : updateLoginInfo
|
||||
* @date : 2021.04.23
|
||||
* @desc : 로그인정보 수정
|
||||
* @param loginInfo
|
||||
*/
|
||||
public void updateLoginInfo(UserInfoVo loginInfo) {
|
||||
dao.update("comm.auth.loginInfo.updateLoginInfo", loginInfo);
|
||||
}
|
||||
|
||||
/**
|
||||
*
|
||||
* @methodName : deleteLoginInfo
|
||||
* @date : 2021.04.23
|
||||
* @desc : 로그인정보 삭제
|
||||
* @param loginInfo
|
||||
*/
|
||||
public void deleteLoginInfo(UserInfoVo loginInfo) {
|
||||
dao.delete("comm.auth.loginInfo.deleteLoginInfo", loginInfo);
|
||||
}
|
||||
|
||||
public Object selectComparePswd(HashMap<String, Object> params) {
|
||||
return dao.selectList("comm.auth.userRoleMng.selectComparePswd", params);
|
||||
}
|
||||
|
||||
public void updatePswd(List<UserInfoVo> userList) {
|
||||
for(UserInfoVo eachRow : userList ) {
|
||||
dao.update("comm.auth.userRoleMng.updatePswd", eachRow);
|
||||
}
|
||||
}
|
||||
}
|
23
src/main/java/com/lsitc/fems/comm/auth/vo/CommLoginVo.java
Normal file
23
src/main/java/com/lsitc/fems/comm/auth/vo/CommLoginVo.java
Normal file
@ -0,0 +1,23 @@
|
||||
|
||||
/*
|
||||
* 상기 프로그램에 대한 저작권을 포함한 지적재산권은 LS ITC에 있으며,
|
||||
* LS ITC가 명시적으로 허용하지 않은 사용, 복사, 변경, 제3자에의 공개, 배포는 엄격히 금지되며,
|
||||
* LS ITC의 지적재산권 침해에 해당됩니다.
|
||||
* (Copyright ⓒ 2021 LS ITC. All Rights Reserved| Confidential)
|
||||
*
|
||||
* You are strictly prohibited to copy, disclose, distribute, modify, or use
|
||||
* this program in part or as a whole without the prior written consent of
|
||||
* LS ITC Business unit. LS ITC Business unit., owns the intellectual property rights in
|
||||
* and to this program.
|
||||
* (Copyright ⓒ 2021 LS ITC Business unit. All Rights Reserved| Confidential)
|
||||
* Author : LS ITC
|
||||
* Created : 2021-04-23 17:58:11
|
||||
*/
|
||||
package com.lsitc.fems.comm.auth.vo;
|
||||
|
||||
public class CommLoginVo {
|
||||
// FIXME 향후..수정?
|
||||
|
||||
|
||||
|
||||
}
|
33
src/main/java/com/lsitc/fems/comm/auth/vo/CommMenuVo.java
Normal file
33
src/main/java/com/lsitc/fems/comm/auth/vo/CommMenuVo.java
Normal file
@ -0,0 +1,33 @@
|
||||
/*
|
||||
* 상기 프로그램에 대한 저작권을 포함한 지적재산권은 LS ITC에 있으며,
|
||||
* LS ITC가 명시적으로 허용하지 않은 사용, 복사, 변경, 제3자에의 공개, 배포는 엄격히 금지되며,
|
||||
* LS ITC의 지적재산권 침해에 해당됩니다.
|
||||
* (Copyright ⓒ 2021 LS ITC. All Rights Reserved| Confidential)
|
||||
*
|
||||
* You are strictly prohibited to copy, disclose, distribute, modify, or use
|
||||
* this program in part or as a whole without the prior written consent of
|
||||
* LS ITC Business unit. LS ITC Business unit., owns the intellectual property rights in
|
||||
* and to this program.
|
||||
* (Copyright ⓒ 2021 LS ITC Business unit. All Rights Reserved| Confidential)
|
||||
* Author : LS ITC
|
||||
* Created : 2021-04-23 17:58:11
|
||||
*/
|
||||
package com.lsitc.fems.comm.auth.vo;
|
||||
|
||||
import com.lsitc.core.base.BaseVo;
|
||||
import java.math.BigDecimal;
|
||||
|
||||
import lombok.Getter;
|
||||
import lombok.Setter;
|
||||
|
||||
@Getter
|
||||
@Setter
|
||||
public class CommMenuVo extends BaseVo<CommMenuVo>{
|
||||
private String upMenuId;
|
||||
private String menuId;
|
||||
private String menuNm;
|
||||
private String url;
|
||||
private String authCd;
|
||||
private BigDecimal lvl;
|
||||
private String prgmId;
|
||||
}
|
35
src/main/java/com/lsitc/fems/comm/auth/vo/LoginInfoVo.java
Normal file
35
src/main/java/com/lsitc/fems/comm/auth/vo/LoginInfoVo.java
Normal file
@ -0,0 +1,35 @@
|
||||
/*
|
||||
* 상기 프로그램에 대한 저작권을 포함한 지적재산권은 LS ITC에 있으며,
|
||||
* LS ITC가 명시적으로 허용하지 않은 사용, 복사, 변경, 제3자에의 공개, 배포는 엄격히 금지되며,
|
||||
* LS ITC의 지적재산권 침해에 해당됩니다.
|
||||
* (Copyright ⓒ 2021 LS ITC. All Rights Reserved| Confidential)
|
||||
*
|
||||
* You are strictly prohibited to copy, disclose, distribute, modify, or use
|
||||
* this program in part or as a whole without the prior written consent of
|
||||
* LS ITC Business unit. LS ITC Business unit., owns the intellectual property rights in
|
||||
* and to this program.
|
||||
* (Copyright ⓒ 2021 LS ITC Business unit. All Rights Reserved| Confidential)
|
||||
* Author : LS ITC
|
||||
* Created : 2021-04-23 17:58:11
|
||||
*/
|
||||
package com.lsitc.fems.comm.auth.vo;
|
||||
|
||||
|
||||
import java.math.BigDecimal;
|
||||
import java.util.Date;
|
||||
|
||||
import com.lsitc.core.base.BaseVo;
|
||||
|
||||
import lombok.Getter;
|
||||
import lombok.Setter;
|
||||
|
||||
@Getter
|
||||
@Setter
|
||||
public class LoginInfoVo extends BaseVo<LoginInfoVo> {
|
||||
private String userNo; // USER_NO (사용자ID(YYYY + MM + 000001))
|
||||
private String userStatCd; // USER_STAT_CD (유저상태코드??)
|
||||
private String userLoginId; // USER_LOGIN_ID (사용자로그인ID)
|
||||
private String userPswd; // USER_PSWD (비밀번호)
|
||||
private BigDecimal pswdErrCnt; // PSWD_ERR_CNT (비밀번호 오류횟수)
|
||||
private Date pswdModDttm; // PSWD_MOD_DTTM (비밀번호 변경일시)
|
||||
}
|
@ -0,0 +1,36 @@
|
||||
/*
|
||||
* 상기 프로그램에 대한 저작권을 포함한 지적재산권은 LS ITC에 있으며,
|
||||
* LS ITC가 명시적으로 허용하지 않은 사용, 복사, 변경, 제3자에의 공개, 배포는 엄격히 금지되며,
|
||||
* LS ITC의 지적재산권 침해에 해당됩니다.
|
||||
* (Copyright ⓒ 2021 LS ITC. All Rights Reserved| Confidential)
|
||||
*
|
||||
* You are strictly prohibited to copy, disclose, distribute, modify, or use
|
||||
* this program in part or as a whole without the prior written consent of
|
||||
* LS ITC Business unit. LS ITC Business unit., owns the intellectual property rights in
|
||||
* and to this program.
|
||||
* (Copyright ⓒ 2021 LS ITC Business unit. All Rights Reserved| Confidential)
|
||||
* Author : LS ITC
|
||||
* Created : 2021-04-23 17:58:11
|
||||
*/
|
||||
package com.lsitc.fems.comm.auth.vo;
|
||||
|
||||
|
||||
import com.lsitc.core.base.BaseVo;
|
||||
|
||||
import lombok.Getter;
|
||||
import lombok.Setter;
|
||||
|
||||
@Getter
|
||||
@Setter
|
||||
public class MenuRoleAuthVo extends BaseVo<MenuRoleAuthVo> {
|
||||
|
||||
private String comId; // COM_ID (회사코드)
|
||||
|
||||
private String roleId; // ROLE_ID (역할코드)
|
||||
|
||||
private String menuId; // MENU_ID (메뉴ID)
|
||||
|
||||
private String authCd; // AUTH_CD (권한코드)
|
||||
|
||||
private String rmrk; // RMRK (비고)
|
||||
}
|
34
src/main/java/com/lsitc/fems/comm/auth/vo/MenuRoleVo.java
Normal file
34
src/main/java/com/lsitc/fems/comm/auth/vo/MenuRoleVo.java
Normal file
@ -0,0 +1,34 @@
|
||||
/*
|
||||
* 상기 프로그램에 대한 저작권을 포함한 지적재산권은 LS ITC에 있으며,
|
||||
* LS ITC가 명시적으로 허용하지 않은 사용, 복사, 변경, 제3자에의 공개, 배포는 엄격히 금지되며,
|
||||
* LS ITC의 지적재산권 침해에 해당됩니다.
|
||||
* (Copyright ⓒ 2021 LS ITC. All Rights Reserved| Confidential)
|
||||
*
|
||||
* You are strictly prohibited to copy, disclose, distribute, modify, or use
|
||||
* this program in part or as a whole without the prior written consent of
|
||||
* LS ITC Business unit. LS ITC Business unit., owns the intellectual property rights in
|
||||
* and to this program.
|
||||
* (Copyright ⓒ 2021 LS ITC Business unit. All Rights Reserved| Confidential)
|
||||
* Author : LS ITC
|
||||
* Created : 2021-04-23 17:58:11
|
||||
*/
|
||||
package com.lsitc.fems.comm.auth.vo;
|
||||
|
||||
|
||||
import com.lsitc.core.base.BaseVo;
|
||||
|
||||
import lombok.Getter;
|
||||
import lombok.Setter;
|
||||
|
||||
@Getter
|
||||
@Setter
|
||||
public class MenuRoleVo extends BaseVo<MenuRoleVo> {
|
||||
|
||||
private String roleId; // ROLE_ID (역할코드)
|
||||
|
||||
private String comId; // COM_ID (회사코드)
|
||||
|
||||
private String menuId; // MENU_ID (메뉴ID)
|
||||
|
||||
private String rmrk; // RMRK (비고)
|
||||
}
|
37
src/main/java/com/lsitc/fems/comm/auth/vo/RoleUserVo.java
Normal file
37
src/main/java/com/lsitc/fems/comm/auth/vo/RoleUserVo.java
Normal file
@ -0,0 +1,37 @@
|
||||
/*
|
||||
* 상기 프로그램에 대한 저작권을 포함한 지적재산권은 LS ITC에 있으며,
|
||||
* LS ITC가 명시적으로 허용하지 않은 사용, 복사, 변경, 제3자에의 공개, 배포는 엄격히 금지되며,
|
||||
* LS ITC의 지적재산권 침해에 해당됩니다.
|
||||
* (Copyright ⓒ 2021 LS ITC. All Rights Reserved| Confidential)
|
||||
*
|
||||
* You are strictly prohibited to copy, disclose, distribute, modify, or use
|
||||
* this program in part or as a whole without the prior written consent of
|
||||
* LS ITC Business unit. LS ITC Business unit., owns the intellectual property rights in
|
||||
* and to this program.
|
||||
* (Copyright ⓒ 2021 LS ITC Business unit. All Rights Reserved| Confidential)
|
||||
* Author : LS ITC
|
||||
* Created : 2021-04-23 17:58:11
|
||||
*/
|
||||
package com.lsitc.fems.comm.auth.vo;
|
||||
|
||||
|
||||
import java.util.Date;
|
||||
|
||||
import com.lsitc.core.base.BaseVo;
|
||||
|
||||
import lombok.Getter;
|
||||
import lombok.Setter;
|
||||
|
||||
@Getter
|
||||
@Setter
|
||||
public class RoleUserVo extends BaseVo<RoleUserVo> {
|
||||
private String comId; // COM_ID (회사코드)
|
||||
private String roleId; // ROLE_ID (역할코드)
|
||||
private String roleNm; // ROLE_ID (역할코드)
|
||||
private String userNo; // USER_NO (사용자NO)
|
||||
private Date aplyStartDt; // APLY_START_DT (적용시작일)
|
||||
private Date aplyEndDt; // APLY_END_DT (적용종료일)
|
||||
private String rmrk; // RMRK (비고)
|
||||
private String userNm;
|
||||
private String procUserNm;
|
||||
}
|
36
src/main/java/com/lsitc/fems/comm/auth/vo/RoleVo.java
Normal file
36
src/main/java/com/lsitc/fems/comm/auth/vo/RoleVo.java
Normal file
@ -0,0 +1,36 @@
|
||||
/*
|
||||
* 상기 프로그램에 대한 저작권을 포함한 지적재산권은 LS ITC에 있으며,
|
||||
* LS ITC가 명시적으로 허용하지 않은 사용, 복사, 변경, 제3자에의 공개, 배포는 엄격히 금지되며,
|
||||
* LS ITC의 지적재산권 침해에 해당됩니다.
|
||||
* (Copyright ⓒ 2021 LS ITC. All Rights Reserved| Confidential)
|
||||
*
|
||||
* You are strictly prohibited to copy, disclose, distribute, modify, or use
|
||||
* this program in part or as a whole without the prior written consent of
|
||||
* LS ITC Business unit. LS ITC Business unit., owns the intellectual property rights in
|
||||
* and to this program.
|
||||
* (Copyright ⓒ 2021 LS ITC Business unit. All Rights Reserved| Confidential)
|
||||
* Author : LS ITC
|
||||
* Created : 2021-04-23 17:58:11
|
||||
*/
|
||||
package com.lsitc.fems.comm.auth.vo;
|
||||
|
||||
|
||||
import com.lsitc.core.base.BaseVo;
|
||||
|
||||
import lombok.Getter;
|
||||
import lombok.Setter;
|
||||
|
||||
@Getter
|
||||
@Setter
|
||||
public class RoleVo extends BaseVo<RoleVo> {
|
||||
|
||||
private String comId; // COM_ID (회사코드)
|
||||
|
||||
private String roleId; // ROLE_ID (역할코드)
|
||||
|
||||
private String roleNm; // ROLE_NM (역할명)
|
||||
|
||||
private String useFg; // USE_FG (사용여부)
|
||||
|
||||
private String rmrk; // RMRK (비고)
|
||||
}
|
45
src/main/java/com/lsitc/fems/comm/auth/vo/UserInfoVo.java
Normal file
45
src/main/java/com/lsitc/fems/comm/auth/vo/UserInfoVo.java
Normal file
@ -0,0 +1,45 @@
|
||||
/*
|
||||
* 상기 프로그램에 대한 저작권을 포함한 지적재산권은 LS ITC에 있으며,
|
||||
* LS ITC가 명시적으로 허용하지 않은 사용, 복사, 변경, 제3자에의 공개, 배포는 엄격히 금지되며,
|
||||
* LS ITC의 지적재산권 침해에 해당됩니다.
|
||||
* (Copyright ⓒ 2021 LS ITC. All Rights Reserved| Confidential)
|
||||
*
|
||||
* You are strictly prohibited to copy, disclose, distribute, modify, or use
|
||||
* this program in part or as a whole without the prior written consent of
|
||||
* LS ITC Business unit. LS ITC Business unit., owns the intellectual property rights in
|
||||
* and to this program.
|
||||
* (Copyright ⓒ 2021 LS ITC Business unit. All Rights Reserved| Confidential)
|
||||
* Author : LS ITC
|
||||
* Created : 2021-04-23 17:58:11
|
||||
*/
|
||||
package com.lsitc.fems.comm.auth.vo;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
import java.util.Date;
|
||||
|
||||
import com.lsitc.core.base.BaseVo;
|
||||
|
||||
import lombok.Getter;
|
||||
import lombok.Setter;
|
||||
|
||||
@Getter
|
||||
@Setter
|
||||
public class UserInfoVo extends BaseVo<UserInfoVo> {
|
||||
private String comId; // COM_ID (회사코드)
|
||||
private String deptId; // DEPT_ID (부서코드)
|
||||
private String userNo; // USER_NO (사용자NO)
|
||||
private String userStatCd; // USER_STAT_CD (유저상태코드??)
|
||||
private String userLoginId; // USER_LOGIN_ID (사용자로그인ID)
|
||||
private String userPswd; // USER_PSWD (비밀번호)
|
||||
private BigDecimal pswdErrCnt; // PSWD_ERR_CNT (비밀번호 오류횟수)
|
||||
private Date pswdModDttm; // PSWD_MOD_DTTM (비밀번호 변경일시)
|
||||
private String userNm; // USER_NM (사용자명)
|
||||
private String email; // EMAIL (이메일)
|
||||
private String moblphon; // MOBLPHON (휴대전화번호)
|
||||
private String officeTelno; // OFFICE_TELNO (사무실 전화번호)
|
||||
private String faxTelno; // FAX_TELNO (FAX번호)
|
||||
private String postNo; // POST_NO (우편번호)
|
||||
private String postAdres; // POST_ADRES (우편번호주소)
|
||||
private String adresDetail; // ADRES_DETAIL (주소상세)
|
||||
private String blocId;
|
||||
}
|
40
src/main/java/com/lsitc/fems/comm/auth/vo/UserVo.java
Normal file
40
src/main/java/com/lsitc/fems/comm/auth/vo/UserVo.java
Normal file
@ -0,0 +1,40 @@
|
||||
/*
|
||||
* 상기 프로그램에 대한 저작권을 포함한 지적재산권은 LS ITC에 있으며,
|
||||
* LS ITC가 명시적으로 허용하지 않은 사용, 복사, 변경, 제3자에의 공개, 배포는 엄격히 금지되며,
|
||||
* LS ITC의 지적재산권 침해에 해당됩니다.
|
||||
* (Copyright ⓒ 2021 LS ITC. All Rights Reserved| Confidential)
|
||||
*
|
||||
* You are strictly prohibited to copy, disclose, distribute, modify, or use
|
||||
* this program in part or as a whole without the prior written consent of
|
||||
* LS ITC Business unit. LS ITC Business unit., owns the intellectual property rights in
|
||||
* and to this program.
|
||||
* (Copyright ⓒ 2021 LS ITC Business unit. All Rights Reserved| Confidential)
|
||||
* Author : LS ITC
|
||||
* Created : 2021-04-23 17:58:11
|
||||
*/
|
||||
package com.lsitc.fems.comm.auth.vo;
|
||||
|
||||
|
||||
import com.lsitc.core.base.BaseVo;
|
||||
|
||||
import lombok.Getter;
|
||||
import lombok.Setter;
|
||||
|
||||
@Getter
|
||||
@Setter
|
||||
public class UserVo extends BaseVo<UserVo> {
|
||||
private String comId; // COM_ID (회사코드)
|
||||
private String deptId; // DEPT_ID (부서코드)
|
||||
private String userNo; // USER_NO (사용자NO)
|
||||
private String userNm; // USER_NM (사용자명)
|
||||
private String email; // EMAIL (이메일)
|
||||
private String moblphon; // MOBLPHON (휴대전화번호)
|
||||
private String officeTelno; // OFFICE_TELNO (사무실 전화번호)
|
||||
private String faxTelno; // FAX_TELNO (FAX번호)
|
||||
private String postNo; // POST_NO (우편번호)
|
||||
private String postAdres; // POST_ADRES (우편번호주소)
|
||||
private String adresDetail; // ADRES_DETAIL (주소상세)
|
||||
private String userLoginId;
|
||||
private String userPswd;
|
||||
private String blocId;
|
||||
}
|
@ -0,0 +1,141 @@
|
||||
/*
|
||||
* 상기 프로그램에 대한 저작권을 포함한 지적재산권은 LS ITC에 있으며,
|
||||
* LS ITC가 명시적으로 허용하지 않은 사용, 복사, 변경, 제3자에의 공개, 배포는 엄격히 금지되며,
|
||||
* LS ITC의 지적재산권 침해에 해당됩니다.
|
||||
* (Copyright ⓒ 2021 LS ITC. All Rights Reserved| Confidential)
|
||||
*
|
||||
* You are strictly prohibited to copy, disclose, distribute, modify, or use
|
||||
* this program in part or as a whole without the prior written consent of
|
||||
* LS ITC Business unit. LS ITC Business unit., owns the intellectual property rights in
|
||||
* and to this program.
|
||||
* (Copyright ⓒ 2021 LS ITC Business unit. All Rights Reserved| Confidential)
|
||||
* Author : LS ITC
|
||||
* Created : 2021-04-23 17:58:11
|
||||
*/
|
||||
|
||||
package com.lsitc.fems.comm.base.controller;
|
||||
|
||||
|
||||
import java.io.File;
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
|
||||
import javax.servlet.http.HttpServletRequest;
|
||||
import javax.servlet.http.HttpServletResponse;
|
||||
|
||||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Controller;
|
||||
import org.springframework.web.bind.annotation.RequestBody;
|
||||
import org.springframework.web.bind.annotation.RequestMapping;
|
||||
import org.springframework.web.bind.annotation.RequestMethod;
|
||||
import org.springframework.web.bind.annotation.RequestParam;
|
||||
import org.springframework.web.bind.annotation.ResponseBody;
|
||||
import org.springframework.web.multipart.MultipartFile;
|
||||
import org.springframework.web.multipart.MultipartHttpServletRequest;
|
||||
|
||||
import com.lsitc.core.base.BaseParam;
|
||||
import com.lsitc.core.base.BaseResponse;
|
||||
import com.lsitc.core.base.CamelHashMap;
|
||||
import com.lsitc.core.utils.FileUtils;
|
||||
import com.lsitc.fems.comm.base.service.ApndFileSvc;
|
||||
|
||||
@RequestMapping("/comm/base/ApndFileCtr")
|
||||
@Controller
|
||||
public class ApndFileCtr{
|
||||
|
||||
protected final Logger logger = LoggerFactory.getLogger(this.getClass());
|
||||
|
||||
@Autowired
|
||||
private ApndFileSvc apndFileSvc;
|
||||
|
||||
/**
|
||||
*
|
||||
* @methodName : uploadFile
|
||||
* @date : 2021.07.14
|
||||
* @desc : 파일 업로드
|
||||
* @param paramMap
|
||||
* @return
|
||||
*/
|
||||
@RequestMapping(value="/saveFile", method=RequestMethod.POST)
|
||||
@ResponseBody
|
||||
public Object uploadFile(MultipartHttpServletRequest mtfRequest){
|
||||
BaseResponse result = new BaseResponse();
|
||||
HashMap<String, Object> params = new HashMap<String, Object>();
|
||||
|
||||
List<MultipartFile> fileList = mtfRequest.getFiles("file");
|
||||
params.put("bordNo", mtfRequest.getParameter("bordNo"));
|
||||
params.put("postNo", mtfRequest.getParameter("postNo"));
|
||||
// String apndFileUuid = apndFileSvc.uploadFile(fileList, params);
|
||||
HashMap<String, Object> resultMap = apndFileSvc.uploadFile(fileList, params);
|
||||
|
||||
if(fileList.size() > 0) {
|
||||
result.add("apndFileUuid", String.valueOf(resultMap.get("apndFileUuid")) );
|
||||
}
|
||||
result.add("uploadStatus", String.valueOf(resultMap.get("uploadStatus")) );
|
||||
return result;
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
*
|
||||
* @methodName : selectApndFile
|
||||
* @date : 2021.07.12
|
||||
* @desc : 파일 목록 반환
|
||||
* @param paramMap
|
||||
* @return
|
||||
*/
|
||||
@RequestMapping(value="/selectApndFile", method=RequestMethod.POST)
|
||||
@ResponseBody
|
||||
public Object selectApndFile(@RequestBody BaseParam paramMap){
|
||||
BaseResponse result = new BaseResponse();
|
||||
result.add("apndFile", apndFileSvc.selectApndFile(paramMap.getParams()));
|
||||
return result;
|
||||
}
|
||||
|
||||
/**
|
||||
*
|
||||
* @methodName : deleteApndFile
|
||||
* @date : 2021.07.12
|
||||
* @desc : 파일 삭제
|
||||
* @param paramMap
|
||||
* @return
|
||||
*/
|
||||
@RequestMapping(value="/deleteApndFile", method=RequestMethod.POST)
|
||||
@ResponseBody
|
||||
public Object deleteApndFile(@RequestBody BaseParam paramMap){
|
||||
BaseResponse result = new BaseResponse();
|
||||
apndFileSvc.deleteApndFile(paramMap.getParams());
|
||||
return result;
|
||||
}
|
||||
|
||||
/**
|
||||
*
|
||||
* @methodName : selectDownloadApndFile
|
||||
* @date : 2021.07.12
|
||||
* @desc : 파일 다운로드
|
||||
* @param paramMap
|
||||
* @return
|
||||
*/
|
||||
@RequestMapping(value="/selectDownloadApndFile", method=RequestMethod.GET)
|
||||
public void selectDownloadApndFile(@RequestParam String apndFileId, HttpServletRequest request, HttpServletResponse response){
|
||||
HashMap<String, Object> params = new HashMap<String, Object>();
|
||||
|
||||
params.put("apndFileId", apndFileId);
|
||||
logger.debug("apndFileId : {}", apndFileId);
|
||||
List<CamelHashMap> list = apndFileSvc.selectApndFile(params);
|
||||
|
||||
// String apndFileId = (String) list.get(0).get("apndFileId");
|
||||
String fileName = (String) list.get(0).get("apndFileNm");
|
||||
String fileExt = (String) list.get(0).get("apndFileExt");
|
||||
// String filePath = (String) list.get(0).get("apndFilePath") + "\\" + fileName + "." + fileExt ;
|
||||
// String filePath = (String) list.get(0).get("apndFilePath") + "\\" + apndFileId + "." + fileExt;
|
||||
String filePath = (String) list.get(0).get("apndFilePath") + File.separator + apndFileId + "." + fileExt;
|
||||
|
||||
|
||||
FileUtils fileUtils = new FileUtils();
|
||||
fileUtils.sendFileStream(request, response, fileName+"."+fileExt, filePath);
|
||||
}
|
||||
|
||||
}
|
@ -0,0 +1,58 @@
|
||||
/*
|
||||
* 상기 프로그램에 대한 저작권을 포함한 지적재산권은 LS ITC에 있으며,
|
||||
* LS ITC가 명시적으로 허용하지 않은 사용, 복사, 변경, 제3자에의 공개, 배포는 엄격히 금지되며,
|
||||
* LS ITC의 지적재산권 침해에 해당됩니다.
|
||||
* (Copyright ⓒ 2021 LS ITC. All Rights Reserved| Confidential)
|
||||
*
|
||||
* You are strictly prohibited to copy, disclose, distribute, modify, or use
|
||||
* this program in part or as a whole without the prior written consent of
|
||||
* LS ITC Business unit. LS ITC Business unit., owns the intellectual property rights in
|
||||
* and to this program.
|
||||
* (Copyright ⓒ 2021 LS ITC Business unit. All Rights Reserved| Confidential)
|
||||
* Author : LS ITC
|
||||
* Created : 2021-04-23 17:58:11
|
||||
*/
|
||||
|
||||
package com.lsitc.fems.comm.base.controller;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Controller;
|
||||
import org.springframework.web.bind.annotation.RequestBody;
|
||||
import org.springframework.web.bind.annotation.RequestMapping;
|
||||
import org.springframework.web.bind.annotation.RequestMethod;
|
||||
import org.springframework.web.bind.annotation.ResponseBody;
|
||||
|
||||
import com.lsitc.core.base.BaseParam;
|
||||
import com.lsitc.core.base.BaseResponse;
|
||||
import com.lsitc.core.base.CamelHashMap;
|
||||
import com.lsitc.fems.comm.base.service.BatchLogSvc;
|
||||
|
||||
@RequestMapping("/comm/base/BatchLogCtr")
|
||||
@Controller
|
||||
public class BatchLogCtr{
|
||||
|
||||
@Autowired
|
||||
private BatchLogSvc batchLogSvc;
|
||||
|
||||
/**
|
||||
* @methodName : selectBatchLog
|
||||
* @date : 2021.09.09
|
||||
* @desc : 배치 로그 조회
|
||||
* @param paramMap
|
||||
* @return
|
||||
*/
|
||||
@RequestMapping(value="/selectBatchLog", method=RequestMethod.POST)
|
||||
@ResponseBody
|
||||
public Object selectPrgm(@RequestBody BaseParam paramMap){
|
||||
BaseResponse result = new BaseResponse();
|
||||
List<CamelHashMap> batchLog = (List<CamelHashMap>) batchLogSvc.selectBatchLog(paramMap.getParams());
|
||||
for(int i = 0; i < batchLog.size(); i++) {
|
||||
batchLog.get(i).put("EXEC_LOG_CONT", batchLog.get(i).getOrDefault("execLogCont1", "").toString() + batchLog.get(i).getOrDefault("execLogCont2", "").toString() );
|
||||
}
|
||||
result.add("batchLogData", batchLog);
|
||||
return result;
|
||||
}
|
||||
|
||||
}
|
@ -0,0 +1,84 @@
|
||||
/*
|
||||
* 상기 프로그램에 대한 저작권을 포함한 지적재산권은 K-FEMS 사업단에 있으며,
|
||||
* K-FEMS 사업단가 명시적으로 허용하지 않은 사용, 복사, 변경, 제3자에의 공개, 배포는 엄격히 금지되며,
|
||||
* K-FEMS 사업단의 지적재산권 침해에 해당됩니다.
|
||||
* (Copyright ⓒ 2020 K-FEMS 사업단. All Rights Reserved| Confidential)
|
||||
*
|
||||
* You are strictly prohibited to copy, disclose, distribute, modify, or use
|
||||
* this program in part or as a whole without the prior written consent of
|
||||
* K-FEMS Business unit. K-FEMS Business unit., owns the intellectual property rights in
|
||||
* and to this program.
|
||||
* (Copyright ⓒ 2020 K-FEMS Business unit. All Rights Reserved| Confidential)
|
||||
* Author : djnine9
|
||||
* E-mail :
|
||||
* Created : 2021-02-16 12:26:57
|
||||
*/
|
||||
package com.lsitc.fems.comm.base.controller;
|
||||
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Controller;
|
||||
import org.springframework.web.bind.annotation.RequestBody;
|
||||
import org.springframework.web.bind.annotation.RequestMapping;
|
||||
import org.springframework.web.bind.annotation.RequestMethod;
|
||||
import org.springframework.web.bind.annotation.ResponseBody;
|
||||
|
||||
import com.lsitc.core.base.BaseParam;
|
||||
import com.lsitc.core.base.BaseResponse;
|
||||
import com.lsitc.core.base.BaseSvc;
|
||||
import com.lsitc.fems.comm.base.service.BatchMngSvc;
|
||||
import com.lsitc.fems.comm.base.vo.BatchMngVo;
|
||||
|
||||
@RequestMapping("/comm/base/BatchMngCtr")
|
||||
@Controller
|
||||
public class BatchMngCtr extends BaseSvc {
|
||||
|
||||
@Autowired
|
||||
private BatchMngSvc batchMngSvc;
|
||||
|
||||
/**
|
||||
* @methodName : selectBatchMng
|
||||
* @date : 2021.09.09
|
||||
* @desc : 배치 리스트 조회
|
||||
* @param paramMap
|
||||
* @return
|
||||
*/
|
||||
@RequestMapping(value="/selectBatchMng", method=RequestMethod.POST)
|
||||
@ResponseBody
|
||||
public Object selectBatchMng(@RequestBody BaseParam paramMap){
|
||||
BaseResponse result = new BaseResponse();
|
||||
result.add("batchMngData", batchMngSvc.selectBatchMng(paramMap.getParams()));
|
||||
return result;
|
||||
}
|
||||
|
||||
/**
|
||||
* @methodName : saveBatchMng
|
||||
* @date : 2021.09.09
|
||||
* @desc : 배치 상세 저장
|
||||
* @param paramMap
|
||||
* @return
|
||||
*/
|
||||
@RequestMapping(value="/saveBatchMng", method=RequestMethod.POST)
|
||||
@ResponseBody
|
||||
public Object saveBatchMgn(@RequestBody BaseParam paramMap){
|
||||
BaseResponse result = new BaseResponse();
|
||||
batchMngSvc.saveBatchMng(paramMap.getDs("dsBatchMng", BatchMngVo.class));
|
||||
return result;
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* @methodName : selectFllwBatchList
|
||||
* @date : 2021.09.09
|
||||
* @desc : 후속 배치 리스트 조회
|
||||
* @param paramMap
|
||||
* @return
|
||||
*/
|
||||
@RequestMapping(value="/selectFllwBatchList", method=RequestMethod.POST)
|
||||
@ResponseBody
|
||||
public Object selectFllwBatchList(@RequestBody BaseParam paramMap){
|
||||
BaseResponse result = new BaseResponse();
|
||||
result.add("fllwBatchListData", batchMngSvc.selectFllwBatchList(paramMap.getParams()));
|
||||
return result;
|
||||
}
|
||||
|
||||
}
|
@ -0,0 +1,345 @@
|
||||
/*
|
||||
* 상기 프로그램에 대한 저작권을 포함한 지적재산권은 LS ITC에 있으며,
|
||||
* LS ITC가 명시적으로 허용하지 않은 사용, 복사, 변경, 제3자에의 공개, 배포는 엄격히 금지되며,
|
||||
* LS ITC의 지적재산권 침해에 해당됩니다.
|
||||
* (Copyright ⓒ 2021 LS ITC. All Rights Reserved| Confidential)
|
||||
*
|
||||
* You are strictly prohibited to copy, disclose, distribute, modify, or use
|
||||
* this program in part or as a whole without the prior written consent of
|
||||
* LS ITC Business unit. LS ITC Business unit., owns the intellectual property rights in
|
||||
* and to this program.
|
||||
* (Copyright ⓒ 2021 LS ITC Business unit. All Rights Reserved| Confidential)
|
||||
* Author : LS ITC
|
||||
* Created : 2021-04-23 17:58:11
|
||||
*/
|
||||
|
||||
package com.lsitc.fems.comm.base.controller;
|
||||
|
||||
|
||||
import java.text.SimpleDateFormat;
|
||||
import java.util.ArrayList;
|
||||
import java.util.Calendar;
|
||||
import java.util.GregorianCalendar;
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Controller;
|
||||
import org.springframework.web.bind.annotation.RequestBody;
|
||||
import org.springframework.web.bind.annotation.RequestMapping;
|
||||
import org.springframework.web.bind.annotation.RequestMethod;
|
||||
import org.springframework.web.bind.annotation.ResponseBody;
|
||||
|
||||
import com.lsitc.core.base.BaseParam;
|
||||
import com.lsitc.core.base.BaseResponse;
|
||||
import com.lsitc.fems.comm.base.service.CalendarMngSvc;
|
||||
import com.lsitc.fems.comm.base.vo.WorkCaldVo;
|
||||
|
||||
@RequestMapping("/comm/base/CalendarMngCtr")
|
||||
@Controller
|
||||
public class CalendarMngCtr{
|
||||
|
||||
@Autowired
|
||||
private CalendarMngSvc calendarMngSvc;
|
||||
|
||||
/**
|
||||
* @methodName : selectWorkcald
|
||||
* @date : 2021.06.07
|
||||
* @desc : 근무달력 조회
|
||||
* @param paramMap
|
||||
* @return
|
||||
*/
|
||||
@RequestMapping(value="/selectWorkCald", method=RequestMethod.POST)
|
||||
@ResponseBody
|
||||
public Object selectWorkcald(@RequestBody BaseParam paramMap){
|
||||
BaseResponse result = new BaseResponse();
|
||||
result.add("workcaldData", calendarMngSvc.selectWorkCald(paramMap.getParams()));
|
||||
return result;
|
||||
}
|
||||
|
||||
/**
|
||||
* @methodName : saveWorkcald
|
||||
* @date : 2021.06.07
|
||||
* @desc : 근무달력 저장
|
||||
* @param paramMap
|
||||
* @return
|
||||
*/
|
||||
@RequestMapping(value="/saveWorkCald", method=RequestMethod.POST)
|
||||
@ResponseBody
|
||||
public Object saveWorkcald(@RequestBody BaseParam paramMap){
|
||||
BaseResponse result = new BaseResponse();
|
||||
calendarMngSvc.saveWorkCald(paramMap.getDs("dsWorkcald", WorkCaldVo.class));
|
||||
return result;
|
||||
}
|
||||
|
||||
/**
|
||||
* @methodName : selectMonthWeekendList
|
||||
* @date : 2021.06.07
|
||||
* @desc : 특정 기간 및 월에 대한 휴일 목록 조회
|
||||
* @param paramMap
|
||||
* @return
|
||||
*/
|
||||
@RequestMapping(value="/selectMonthWeekendList", method=RequestMethod.POST)
|
||||
@ResponseBody
|
||||
public Object selectMonthWeekendList(@RequestBody(required = false) HashMap<String, Object> paramMap){
|
||||
BaseResponse result = new BaseResponse();
|
||||
HashMap<String, Object> param = new HashMap<String, Object>();
|
||||
String dt = (String) paramMap.get("sh_date");
|
||||
String startDt = (String) paramMap.get("sh_startDt");
|
||||
String endDt = (String) paramMap.get("sh_endDt");
|
||||
String sh_date = "";
|
||||
String sh_startDt = "";
|
||||
String sh_endDt = "";
|
||||
List<String> hldyNmNotInList = new ArrayList<String>();
|
||||
hldyNmNotInList.add("토요일");
|
||||
hldyNmNotInList.add("일요일");
|
||||
|
||||
if(dt != null) {
|
||||
sh_date = dt.replaceAll("/", "-");
|
||||
dt = dt.replaceAll("-", "");
|
||||
dt = dt.replaceAll("/", "");
|
||||
}
|
||||
if(startDt != null) {
|
||||
sh_startDt = startDt.replaceAll("/", "-");
|
||||
startDt = startDt.replaceAll("-", "");
|
||||
startDt = startDt.replaceAll("/", "");
|
||||
}
|
||||
if(endDt != null) {
|
||||
sh_endDt = endDt.replaceAll("/", "-");
|
||||
endDt = endDt.replaceAll("-", "");
|
||||
endDt = endDt.replaceAll("/", "");
|
||||
}
|
||||
|
||||
param.put("dtLike", sh_date);
|
||||
param.put("startDt", sh_startDt);
|
||||
param.put("endDt", sh_endDt);
|
||||
param.put("comId", paramMap.get("sh_comId"));
|
||||
param.put("blocId", paramMap.get("sh_blocId"));
|
||||
param.put("hldyFg", "1");
|
||||
param.put("hldyNmNotInList", hldyNmNotInList);
|
||||
|
||||
result.add("workcaldData", calendarMngSvc.selectWorkCaldAll(param));
|
||||
|
||||
if(dt != null && !"".equals(dt) && dt.length() >= 6) {
|
||||
String strYear = dt.substring(0, 4);
|
||||
String strMonth = dt.substring(4, 6);
|
||||
|
||||
HashMap<String, Object> weekList = getMonthStdSunDayList(Integer.parseInt(strYear), Integer.parseInt(strMonth));
|
||||
|
||||
result.add("dayOfMonth", weekList.get("dayOfMonth"));
|
||||
result.add("staList", weekList.get("staList"));
|
||||
result.add("sunList", weekList.get("sunList"));
|
||||
}
|
||||
|
||||
if((dt == null || "".equals(dt)) && startDt != null && !"".equals(startDt) && startDt.length() >= 8 &&
|
||||
endDt != null && !"".equals(endDt) && endDt.length() >= 8) {
|
||||
String strStartYear = startDt.substring(0, 4);
|
||||
String strStartMonth = startDt.substring(4, 6);
|
||||
String strStartDay = startDt.substring(6, 8);
|
||||
String strEndYear = endDt.substring(0, 4);
|
||||
String strEndMonth = endDt.substring(4, 6);
|
||||
String strEndDay = endDt.substring(6, 8);
|
||||
|
||||
HashMap<String, Object> weekList = getMonthStdSunDayList(Integer.parseInt(strStartYear), Integer.parseInt(strStartMonth), Integer.parseInt(strStartDay)
|
||||
,Integer.parseInt(strEndYear), Integer.parseInt(strEndMonth), Integer.parseInt(strEndDay));
|
||||
|
||||
result.add("dayOfMonth", weekList.get("dayOfMonth"));
|
||||
result.add("staList", weekList.get("staList"));
|
||||
result.add("sunList", weekList.get("sunList"));
|
||||
|
||||
}
|
||||
|
||||
result.add("sh_date", paramMap.get("sh_date"));
|
||||
result.add("sh_searchType", paramMap.get("sh_searchType"));
|
||||
|
||||
return result;
|
||||
}
|
||||
|
||||
|
||||
private HashMap<String, Object> getMonthStdSunDayList(int year, int month){
|
||||
HashMap<String, Object> result = new HashMap<String, Object>();
|
||||
int dayOfMonth = 0;
|
||||
List<String> staList = new ArrayList<String>();
|
||||
List<String> sunList = new ArrayList<String>();
|
||||
|
||||
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
|
||||
Calendar ca = new GregorianCalendar();
|
||||
|
||||
ca.set(Calendar.YEAR, year);
|
||||
ca.set(Calendar.MONTH, month - 1);
|
||||
ca.set(Calendar.DATE, 1);
|
||||
|
||||
dayOfMonth = ca.getActualMaximum(Calendar.DAY_OF_MONTH);
|
||||
|
||||
for(int i = 1; i <= dayOfMonth; i++) {
|
||||
if( ca.get(Calendar.DAY_OF_WEEK) == Calendar.SUNDAY ) {
|
||||
sunList.add(sdf.format(ca.getTime()));
|
||||
}else if(ca.get(Calendar.DAY_OF_WEEK) == Calendar.SATURDAY) {
|
||||
staList.add(sdf.format(ca.getTime()));
|
||||
}
|
||||
ca.add(Calendar.DATE, 1);
|
||||
}
|
||||
result.put("dayOfMonth", dayOfMonth);
|
||||
result.put("staList", staList);
|
||||
result.put("sunList", sunList);
|
||||
|
||||
return result;
|
||||
}
|
||||
|
||||
/**
|
||||
* @methodName : getMonthStdSunDayList
|
||||
* @date : 2021.06.07
|
||||
* @desc : 토,일의 목록을 구한다.
|
||||
* @param startYear
|
||||
* @param startMonth
|
||||
* @param startDay
|
||||
* @param endYear
|
||||
* @param endMonth
|
||||
* @param endDay
|
||||
* @return
|
||||
*/
|
||||
private HashMap<String, Object> getMonthStdSunDayList(int startYear, int startMonth, int startDay, int endYear, int endMonth, int endDay){
|
||||
HashMap<String, Object> result = new HashMap<String, Object>();
|
||||
int dayOfMonth = 0;
|
||||
List<String> staList = new ArrayList<String>();
|
||||
List<String> sunList = new ArrayList<String>();
|
||||
|
||||
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
|
||||
Calendar ca = new GregorianCalendar();
|
||||
|
||||
ca.set(Calendar.YEAR, startYear);
|
||||
ca.set(Calendar.MONTH, startMonth - 1);
|
||||
ca.set(Calendar.DATE, startDay);
|
||||
|
||||
Calendar endCa = new GregorianCalendar();
|
||||
endCa.set(Calendar.YEAR, endYear);
|
||||
endCa.set(Calendar.MONTH, endMonth - 1);
|
||||
endCa.set(Calendar.DATE, endDay);
|
||||
|
||||
|
||||
Long diffSec = (endCa.getTimeInMillis() - ca.getTimeInMillis()) / 1000;
|
||||
Long diffDays = diffSec / (24*60*60); //일자수 차이
|
||||
|
||||
dayOfMonth = diffDays.intValue();
|
||||
|
||||
for(int i = 1; i <= dayOfMonth; i++) {
|
||||
if( ca.get(Calendar.DAY_OF_WEEK) == Calendar.SUNDAY ) {
|
||||
sunList.add(sdf.format(ca.getTime()));
|
||||
}else if(ca.get(Calendar.DAY_OF_WEEK) == Calendar.SATURDAY) {
|
||||
staList.add(sdf.format(ca.getTime()));
|
||||
}
|
||||
ca.add(Calendar.DATE, 1);
|
||||
}
|
||||
result.put("dayOfMonth", dayOfMonth);
|
||||
result.put("staList", staList);
|
||||
result.put("sunList", sunList);
|
||||
|
||||
return result;
|
||||
}
|
||||
|
||||
/**
|
||||
* @methodName : selectWorkCaldDetl
|
||||
* @date : 2022.05.11
|
||||
* @desc : 근무달력 조회
|
||||
* @param paramMap
|
||||
* @return
|
||||
*/
|
||||
@RequestMapping(value="/selectWorkCaldDetl", method=RequestMethod.POST)
|
||||
@ResponseBody
|
||||
public Object selectWorkCaldDetl(@RequestBody BaseParam paramMap){
|
||||
BaseResponse result = new BaseResponse();
|
||||
result.add("workcaldDetlData", calendarMngSvc.selectWorkCaldDetl(paramMap.getParams()));
|
||||
return result;
|
||||
}
|
||||
|
||||
/**
|
||||
* @methodName : selectWorkCaldDetlOne
|
||||
* @date : 2022.05.11
|
||||
* @desc : 근무달력 조회
|
||||
* @param paramMap
|
||||
* @return
|
||||
*/
|
||||
@RequestMapping(value="/selectWorkCaldDetlOne", method=RequestMethod.POST)
|
||||
@ResponseBody
|
||||
public Object selectWorkCaldDetlOne(@RequestBody BaseParam paramMap){
|
||||
BaseResponse result = new BaseResponse();
|
||||
result.add("workcaldDetlOneData", calendarMngSvc.selectWorkCaldDetlOne(paramMap.getParams()));
|
||||
return result;
|
||||
}
|
||||
|
||||
/**
|
||||
* @methodName : savePlanDetl
|
||||
* @date : 2021.06.07
|
||||
* @desc : 근무달력 저장
|
||||
* @param paramMap
|
||||
* @return
|
||||
*/
|
||||
@RequestMapping(value="/savePlanDetl", method=RequestMethod.POST)
|
||||
@ResponseBody
|
||||
public Object savePlanDetl(@RequestBody BaseParam paramMap){
|
||||
BaseResponse result = new BaseResponse();
|
||||
calendarMngSvc.savePlanDetl(paramMap.getDs("savePlanDetl", WorkCaldVo.class));
|
||||
return result;
|
||||
}
|
||||
|
||||
/**
|
||||
* @methodName : updatePlanDetl
|
||||
* @date : 2021.06.07
|
||||
* @desc : 근무달력 저장
|
||||
* @param paramMap
|
||||
* @return
|
||||
*/
|
||||
@RequestMapping(value="/updatePlanDetl", method=RequestMethod.POST)
|
||||
@ResponseBody
|
||||
public Object updatePlanDetl(@RequestBody BaseParam paramMap){
|
||||
BaseResponse result = new BaseResponse();
|
||||
calendarMngSvc.updatePlanDetl(paramMap.getDs("updatePlanDetl", WorkCaldVo.class));
|
||||
return result;
|
||||
}
|
||||
|
||||
/**
|
||||
* @methodName : deletePlanDetl
|
||||
* @date : 2021.06.07
|
||||
* @desc : 근무달력 저장
|
||||
* @param paramMap
|
||||
* @return
|
||||
*/
|
||||
@RequestMapping(value="/deletePlanDetl", method=RequestMethod.POST)
|
||||
@ResponseBody
|
||||
public Object deletePlanDetl(@RequestBody BaseParam paramMap){
|
||||
BaseResponse result = new BaseResponse();
|
||||
calendarMngSvc.deletePlanDetl(paramMap.getDs("deletePlanDetl", WorkCaldVo.class));
|
||||
return result;
|
||||
}
|
||||
|
||||
/**
|
||||
* @methodName : selectWorkcald
|
||||
* @date : 2021.06.07
|
||||
* @desc : 근무달력 조회
|
||||
* @param paramMap
|
||||
* @return
|
||||
*/
|
||||
@RequestMapping(value="/selectWeekWorkCald", method=RequestMethod.POST)
|
||||
@ResponseBody
|
||||
public Object selectWeekWorkCald(@RequestBody BaseParam paramMap){
|
||||
BaseResponse result = new BaseResponse();
|
||||
result.add("workcaldData", calendarMngSvc.selectWeekWorkCald(paramMap.getParams()));
|
||||
return result;
|
||||
}
|
||||
|
||||
/**
|
||||
* @methodName : selectWorkcald
|
||||
* @date : 2021.06.07
|
||||
* @desc : 근무달력 조회
|
||||
* @param paramMap
|
||||
* @return
|
||||
*/
|
||||
@RequestMapping(value="/selectWeekWorkCaldDetl", method=RequestMethod.POST)
|
||||
@ResponseBody
|
||||
public Object selectWeekWorkCaldDetl(@RequestBody BaseParam paramMap){
|
||||
BaseResponse result = new BaseResponse();
|
||||
result.add("workcaldData", calendarMngSvc.selectWeekWorkCaldDetl(paramMap.getParams()));
|
||||
return result;
|
||||
}
|
||||
|
||||
}
|
@ -0,0 +1,70 @@
|
||||
/*
|
||||
* 상기 프로그램에 대한 저작권을 포함한 지적재산권은 LS ITC에 있으며,
|
||||
* LS ITC가 명시적으로 허용하지 않은 사용, 복사, 변경, 제3자에의 공개, 배포는 엄격히 금지되며,
|
||||
* LS ITC의 지적재산권 침해에 해당됩니다.
|
||||
* (Copyright ⓒ 2021 LS ITC. All Rights Reserved| Confidential)
|
||||
*
|
||||
* You are strictly prohibited to copy, disclose, distribute, modify, or use
|
||||
* this program in part or as a whole without the prior written consent of
|
||||
* LS ITC Business unit. LS ITC Business unit., owns the intellectual property rights in
|
||||
* and to this program.
|
||||
* (Copyright ⓒ 2021 LS ITC Business unit. All Rights Reserved| Confidential)
|
||||
* Author : LS ITC
|
||||
* Created : 2021-04-23 17:58:11
|
||||
*/
|
||||
|
||||
package com.lsitc.fems.comm.base.controller;
|
||||
|
||||
import java.util.HashMap;
|
||||
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Controller;
|
||||
import org.springframework.web.bind.annotation.RequestBody;
|
||||
import org.springframework.web.bind.annotation.RequestMapping;
|
||||
import org.springframework.web.bind.annotation.RequestMethod;
|
||||
import org.springframework.web.bind.annotation.ResponseBody;
|
||||
|
||||
import com.lsitc.core.base.BaseParam;
|
||||
import com.lsitc.core.base.BaseResponse;
|
||||
import com.lsitc.fems.comm.base.service.ComIdSvc;
|
||||
import com.lsitc.fems.comm.base.vo.ComIdVo;
|
||||
|
||||
@RequestMapping("/comm/base/ComIdCtr/")
|
||||
@Controller
|
||||
public class ComIdCtr{
|
||||
|
||||
@Autowired
|
||||
private ComIdSvc comIdSvc;
|
||||
|
||||
/**
|
||||
*
|
||||
* @methodName : selectComId
|
||||
* @date : 2021.04.23
|
||||
* @desc : 회사코드 조회
|
||||
* @param paramMap
|
||||
* @return
|
||||
*/
|
||||
@RequestMapping(value="/selectComId", method=RequestMethod.POST)
|
||||
@ResponseBody
|
||||
public Object selectComId(@RequestBody HashMap<String, Object> paramMap){
|
||||
BaseResponse result = new BaseResponse();
|
||||
result.add("comIdData", comIdSvc.selectComId(paramMap));
|
||||
return result;
|
||||
}
|
||||
|
||||
/**
|
||||
*
|
||||
* @methodName : saveComId
|
||||
* @date : 2021.04.23
|
||||
* @desc : 회사코드 저장
|
||||
* @param paramMap
|
||||
* @return
|
||||
*/
|
||||
@RequestMapping(value="/saveComId", method=RequestMethod.POST)
|
||||
@ResponseBody
|
||||
public Object saveComId(@RequestBody BaseParam paramMap){
|
||||
BaseResponse result = new BaseResponse();
|
||||
comIdSvc.saveComId(paramMap.getDs("comIdData", ComIdVo.class));
|
||||
return result;
|
||||
}
|
||||
}
|
@ -0,0 +1,114 @@
|
||||
/*
|
||||
* 상기 프로그램에 대한 저작권을 포함한 지적재산권은 LS ITC에 있으며,
|
||||
* LS ITC가 명시적으로 허용하지 않은 사용, 복사, 변경, 제3자에의 공개, 배포는 엄격히 금지되며,
|
||||
* LS ITC의 지적재산권 침해에 해당됩니다.
|
||||
* (Copyright ⓒ 2021 LS ITC. All Rights Reserved| Confidential)
|
||||
*
|
||||
* You are strictly prohibited to copy, disclose, distribute, modify, or use
|
||||
* this program in part or as a whole without the prior written consent of
|
||||
* LS ITC Business unit. LS ITC Business unit., owns the intellectual property rights in
|
||||
* and to this program.
|
||||
* (Copyright ⓒ 2021 LS ITC Business unit. All Rights Reserved| Confidential)
|
||||
* Author : LS ITC
|
||||
* Created : 2021-04-23 17:58:11
|
||||
*/
|
||||
package com.lsitc.fems.comm.base.controller;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Controller;
|
||||
import org.springframework.web.bind.annotation.RequestBody;
|
||||
import org.springframework.web.bind.annotation.RequestMapping;
|
||||
import org.springframework.web.bind.annotation.ResponseBody;
|
||||
|
||||
import com.fasterxml.jackson.core.JsonProcessingException;
|
||||
import com.lsitc.core.base.BaseParam;
|
||||
import com.lsitc.core.base.BaseResponse;
|
||||
import com.lsitc.fems.comm.base.service.CommCdMngSvc;
|
||||
import com.lsitc.fems.comm.base.vo.CommCdVo;
|
||||
import com.lsitc.fems.comm.base.vo.CommGrpCdVo;
|
||||
|
||||
@RequestMapping("/comm/base/CommCdMngCtr")
|
||||
@Controller
|
||||
public class CommCdMngCtr {
|
||||
@Autowired
|
||||
private CommCdMngSvc commCdMngSvc;
|
||||
|
||||
/**
|
||||
* @methodName : selectCommGrpCd
|
||||
* @date : 2021.06.07
|
||||
* @desc : 공통그룹코드 조회
|
||||
* @param paramMap
|
||||
* @return
|
||||
*/
|
||||
@RequestMapping("/selectCommGrpCd")
|
||||
@ResponseBody
|
||||
public Object selectCommGrpCd(@RequestBody BaseParam paramMap) {
|
||||
BaseResponse result = new BaseResponse();
|
||||
result.add("commGrpCdData", commCdMngSvc.selectCommGrpCd(paramMap.getParams()));
|
||||
return result;
|
||||
}
|
||||
|
||||
/**
|
||||
* @methodName : saveCommGrpCd
|
||||
* @date : 2021.06.07
|
||||
* @desc : 공통그룹코드 저장
|
||||
* @param paramMap
|
||||
* @return
|
||||
*/
|
||||
@RequestMapping("/saveCommGrpCd")
|
||||
@ResponseBody
|
||||
public Object saveCommGrpCd(@RequestBody BaseParam paramMap) {
|
||||
BaseResponse result = new BaseResponse();
|
||||
commCdMngSvc.saveCommGrpCd(paramMap.getDs("dsGrpCd", CommGrpCdVo.class));
|
||||
return result;
|
||||
}
|
||||
|
||||
/**
|
||||
* @methodName : selectCommCd
|
||||
* @date : 2021.06.07
|
||||
* @desc : 공통코드 조회
|
||||
* @param paramMap
|
||||
* @return
|
||||
*/
|
||||
@RequestMapping("/selectCommCd")
|
||||
@ResponseBody
|
||||
public Object selectCommCd(@RequestBody(required = false) BaseParam paramMap ) {
|
||||
BaseResponse result = new BaseResponse();
|
||||
result.add("commCdData", commCdMngSvc.selectCommCd(paramMap));
|
||||
return result;
|
||||
}
|
||||
|
||||
/**
|
||||
* @methodName : saveCommCd
|
||||
* @date : 2021.06.07
|
||||
* @desc : 공통코드 저장
|
||||
* @param paramMap
|
||||
* @return
|
||||
*/
|
||||
@RequestMapping("/saveCommCd")
|
||||
@ResponseBody
|
||||
public Object saveCommCd(@RequestBody BaseParam paramMap) {
|
||||
BaseResponse result = new BaseResponse();
|
||||
commCdMngSvc.saveCommCd(paramMap.getDs("dsCommCd", CommCdVo.class));
|
||||
return result;
|
||||
}
|
||||
|
||||
/**
|
||||
* @methodName : selectCodeList
|
||||
* @date : 2021.06.08
|
||||
* @desc : 화면용 공통코드 조회
|
||||
* @param paramMap
|
||||
* @return
|
||||
* @throws JsonProcessingException
|
||||
*/
|
||||
@RequestMapping("/selectCodeList")
|
||||
@ResponseBody
|
||||
public Object selectCodeList(@RequestBody(required = false) BaseParam paramMap) throws JsonProcessingException {
|
||||
BaseResponse result = new BaseResponse();
|
||||
List<CommCdVo> codeResult = commCdMngSvc.selectCommCd(paramMap);
|
||||
result.add("codeLists", codeResult);
|
||||
return result;
|
||||
}
|
||||
}
|
@ -0,0 +1,55 @@
|
||||
/*
|
||||
* 상기 프로그램에 대한 저작권을 포함한 지적재산권은 LS ITC에 있으며,
|
||||
* LS ITC가 명시적으로 허용하지 않은 사용, 복사, 변경, 제3자에의 공개, 배포는 엄격히 금지되며,
|
||||
* LS ITC의 지적재산권 침해에 해당됩니다.
|
||||
* (Copyright ⓒ 2021 LS ITC. All Rights Reserved| Confidential)
|
||||
*
|
||||
* You are strictly prohibited to copy, disclose, distribute, modify, or use
|
||||
* this program in part or as a whole without the prior written consent of
|
||||
* LS ITC Business unit. LS ITC Business unit., owns the intellectual property rights in
|
||||
* and to this program.
|
||||
* (Copyright ⓒ 2021 LS ITC Business unit. All Rights Reserved| Confidential)
|
||||
* Author : LS ITC
|
||||
* Created : 2021-04-23 17:58:11
|
||||
*/
|
||||
package com.lsitc.fems.comm.base.controller;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Controller;
|
||||
import org.springframework.web.bind.annotation.RequestBody;
|
||||
import org.springframework.web.bind.annotation.RequestMapping;
|
||||
import org.springframework.web.bind.annotation.RequestMethod;
|
||||
import org.springframework.web.bind.annotation.ResponseBody;
|
||||
|
||||
import com.lsitc.core.base.BaseParam;
|
||||
import com.lsitc.core.base.BaseResponse;
|
||||
import com.lsitc.fems.comm.base.service.CommSvc;
|
||||
import com.lsitc.fems.comm.base.vo.BlocMstrVo;
|
||||
|
||||
@RequestMapping("/comm/base/CommCtr")
|
||||
@Controller
|
||||
public class CommCtr {
|
||||
|
||||
@Autowired
|
||||
private CommSvc commSvc;
|
||||
|
||||
/**
|
||||
* @methodName : selectBlocMstrCodeList
|
||||
* @date : 2021.06.08
|
||||
* @desc : 사업장 코드 정보 조회
|
||||
* @param paramMap
|
||||
* @return
|
||||
*/
|
||||
@RequestMapping(value="/selectBlocMstrCodeList", method=RequestMethod.POST)
|
||||
@ResponseBody
|
||||
public Object selectBlocMstrCodeList(@RequestBody BaseParam paramMap) {
|
||||
BaseResponse result = new BaseResponse();
|
||||
List<BlocMstrVo> codeResult = commSvc.selectBlocMstr(paramMap.getParams());
|
||||
result.add("blocCodeLists", codeResult);
|
||||
return result;
|
||||
|
||||
}
|
||||
|
||||
}
|
102
src/main/java/com/lsitc/fems/comm/base/controller/FileCtr.java
Normal file
102
src/main/java/com/lsitc/fems/comm/base/controller/FileCtr.java
Normal file
@ -0,0 +1,102 @@
|
||||
/*
|
||||
* 상기 프로그램에 대한 저작권을 포함한 지적재산권은 LS ITC에 있으며,
|
||||
* LS ITC가 명시적으로 허용하지 않은 사용, 복사, 변경, 제3자에의 공개, 배포는 엄격히 금지되며,
|
||||
* LS ITC의 지적재산권 침해에 해당됩니다.
|
||||
* (Copyright ⓒ 2021 LS ITC. All Rights Reserved| Confidential)
|
||||
*
|
||||
* You are strictly prohibited to copy, disclose, distribute, modify, or use
|
||||
* this program in part or as a whole without the prior written consent of
|
||||
* LS ITC Business unit. LS ITC Business unit., owns the intellectual property rights in
|
||||
* and to this program.
|
||||
* (Copyright ⓒ 2021 LS ITC Business unit. All Rights Reserved| Confidential)
|
||||
* Author : LS ITC
|
||||
* Created : 2021-04-23 17:58:11
|
||||
*/
|
||||
package com.lsitc.fems.comm.base.controller;
|
||||
|
||||
import java.util.HashMap;
|
||||
import java.util.Map;
|
||||
|
||||
import javax.servlet.http.HttpServletRequest;
|
||||
import javax.servlet.http.HttpServletResponse;
|
||||
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Controller;
|
||||
import org.springframework.web.bind.annotation.RequestMapping;
|
||||
import org.springframework.web.bind.annotation.RequestParam;
|
||||
import org.springframework.web.bind.annotation.ResponseBody;
|
||||
import org.springframework.web.multipart.MultipartFile;
|
||||
|
||||
import com.lsitc.core.base.BaseResponse;
|
||||
import com.lsitc.core.share.service.FileSvc;
|
||||
|
||||
@Controller
|
||||
public class FileCtr {
|
||||
|
||||
@Autowired
|
||||
FileSvc fileSvc;
|
||||
|
||||
//업로드 파일 조회
|
||||
@RequestMapping("/comm/base/selectUploadFile")
|
||||
@ResponseBody
|
||||
public Object selectUploadFile() {//@RequestBody(required = false) Map<String, String> paramMap
|
||||
BaseResponse result = new BaseResponse();
|
||||
Map<String, String> paramMap = new HashMap<String, String>();
|
||||
|
||||
result.add("uploadFileList", fileSvc.selectUploadFile(paramMap));
|
||||
return result;
|
||||
}
|
||||
|
||||
//파일업로드(임시)
|
||||
@RequestMapping("/comm/base/saveUploadFileToTemp")
|
||||
@ResponseBody
|
||||
public Object saveUploadFileToTemp(@RequestParam("upload_file") MultipartFile uploadfile,
|
||||
@RequestParam(name = "apndFileUuid", required = false, defaultValue = "new")String apndFileUuid,
|
||||
//FIXME menuID는 어떻게 할지..
|
||||
@RequestParam(name = "menuId", required = false, defaultValue = "test")String menuId,
|
||||
@RequestParam(name = "sortSeq", required = false, defaultValue = "1")String sortSeq) throws Exception {
|
||||
BaseResponse result = new BaseResponse();
|
||||
|
||||
result.add("fileVo", fileSvc.saveUploadFileToTemp(apndFileUuid, menuId, sortSeq, uploadfile));
|
||||
|
||||
return result;
|
||||
}
|
||||
|
||||
//파일업로드(기존에 존재하는것)
|
||||
@RequestMapping("/comm/base/saveUploadFile")
|
||||
@ResponseBody
|
||||
public Object saveUploadFile(@RequestParam("upload_file") MultipartFile uploadfile,
|
||||
@RequestParam(name = "apndFileUuid")String apndFileUuid,
|
||||
//FIXME menuID는 어떻게 할지..
|
||||
@RequestParam(name = "menuId", required = false, defaultValue = "test")String menuId,
|
||||
@RequestParam(name = "sortSeq", required = false, defaultValue = "1")String sortSeq) throws Exception {
|
||||
BaseResponse result = new BaseResponse();
|
||||
|
||||
result.add("fileVo", fileSvc.saveUploadFile(apndFileUuid, menuId, sortSeq, uploadfile));
|
||||
|
||||
return result;
|
||||
}
|
||||
|
||||
//파일삭제
|
||||
@RequestMapping("/comm/base/deleteUploadFile")
|
||||
@ResponseBody
|
||||
public Object deleteUploadFile(@RequestParam(name = "apndFileUuid")String apndFileUuid,
|
||||
@RequestParam(name = "apndFileId", required = false)String apndFileId) throws Exception {
|
||||
BaseResponse result = new BaseResponse();
|
||||
fileSvc.deleteUploadFile(apndFileUuid, apndFileId);
|
||||
return result;
|
||||
}
|
||||
|
||||
//파일다운로드
|
||||
@RequestMapping("/comm/base/downloadFile")
|
||||
public void downloadFile(HttpServletRequest request, HttpServletResponse response,@RequestParam(name = "apndFileUuid", required = false) String apndFileUuid,
|
||||
@RequestParam(name = "apndFileId", required = false) String apndFileId) throws Exception {
|
||||
fileSvc.downloadFile(request, response, apndFileUuid, apndFileId);
|
||||
}
|
||||
//파일다운로드(zip)
|
||||
@RequestMapping("/comm/base/downloadFiles")
|
||||
public void downloadFiles(HttpServletRequest request, HttpServletResponse response,@RequestParam(name = "apndFileUuid", required = false) String apndFileUuid,
|
||||
@RequestParam(name = "fileNm", required = false) String fileNm) throws Exception {
|
||||
fileSvc.downloadFiles(request, response, apndFileUuid, fileNm);
|
||||
}
|
||||
}
|
@ -0,0 +1,154 @@
|
||||
/*
|
||||
* 상기 프로그램에 대한 저작권을 포함한 지적재산권은 LS ITC에 있으며,
|
||||
* LS ITC가 명시적으로 허용하지 않은 사용, 복사, 변경, 제3자에의 공개, 배포는 엄격히 금지되며,
|
||||
* LS ITC의 지적재산권 침해에 해당됩니다.
|
||||
* (Copyright ⓒ 2021 LS ITC. All Rights Reserved| Confidential)
|
||||
*
|
||||
* You are strictly prohibited to copy, disclose, distribute, modify, or use
|
||||
* this program in part or as a whole without the prior written consent of
|
||||
* LS ITC Business unit. LS ITC Business unit., owns the intellectual property rights in
|
||||
* and to this program.
|
||||
* (Copyright ⓒ 2021 LS ITC Business unit. All Rights Reserved| Confidential)
|
||||
* Author : LS ITC
|
||||
* Created : 2021-04-23 17:58:11
|
||||
*/
|
||||
|
||||
package com.lsitc.fems.comm.base.controller;
|
||||
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Controller;
|
||||
import org.springframework.web.bind.annotation.RequestBody;
|
||||
import org.springframework.web.bind.annotation.RequestMapping;
|
||||
import org.springframework.web.bind.annotation.RequestMethod;
|
||||
import org.springframework.web.bind.annotation.ResponseBody;
|
||||
|
||||
import com.lsitc.core.base.BaseParam;
|
||||
import com.lsitc.core.base.BaseResponse;
|
||||
import com.lsitc.core.utils.CommonUtils;
|
||||
import com.lsitc.fems.comm.auth.vo.CommMenuVo;
|
||||
import com.lsitc.fems.comm.base.service.MenuMngSvc;
|
||||
import com.lsitc.fems.comm.base.vo.MenuVo;
|
||||
|
||||
@RequestMapping("/comm/base/MenuMngCtr")
|
||||
@Controller
|
||||
public class MenuMngCtr{
|
||||
|
||||
@Autowired
|
||||
private MenuMngSvc menuMngSvc;
|
||||
|
||||
/**
|
||||
* @methodName : selectMenu
|
||||
* @date : 2021.06.07
|
||||
* @desc : 메뉴 조회
|
||||
* @param paramMap
|
||||
* @return
|
||||
*/
|
||||
@RequestMapping(value="/selectMenu", method=RequestMethod.POST)
|
||||
@ResponseBody
|
||||
public Object selectMenu(@RequestBody BaseParam paramMap){
|
||||
BaseResponse result = new BaseResponse();
|
||||
result.add("menuData", menuMngSvc.selectMenu(paramMap.getParams()));
|
||||
return result;
|
||||
}
|
||||
|
||||
/**
|
||||
* @methodName : saveMenu
|
||||
* @date : 2021.06.07
|
||||
* @desc : 메뉴 저장
|
||||
* @param paramMap
|
||||
* @return
|
||||
*/
|
||||
@RequestMapping(value="/saveMenu", method=RequestMethod.POST)
|
||||
@ResponseBody
|
||||
public Object saveMenu(@RequestBody BaseParam paramMap){
|
||||
BaseResponse result = new BaseResponse();
|
||||
menuMngSvc.saveMenu(paramMap.getDs("dsMenu", MenuVo.class));
|
||||
return result;
|
||||
}
|
||||
|
||||
/**
|
||||
* @methodName : selectMenuPop
|
||||
* @date : 2021.06.07
|
||||
* @desc : (팝업)메뉴 조회
|
||||
* @param paramMap
|
||||
* @return
|
||||
*/
|
||||
@RequestMapping(value="/selectMenuPop", method=RequestMethod.POST)
|
||||
@ResponseBody
|
||||
public Object selectMenuPop(@RequestBody BaseParam paramMap){
|
||||
BaseResponse result = new BaseResponse();
|
||||
result.add("menuData", menuMngSvc.selectMenuPop(paramMap.getParams()));
|
||||
return result;
|
||||
}
|
||||
/**
|
||||
* @methodName : selectAuthMenu
|
||||
* @date : 2021.06.07
|
||||
* @desc : (팝업)메뉴 조회
|
||||
* @param paramMap
|
||||
* @return
|
||||
*/
|
||||
@RequestMapping(value="/selectAuthMenu", method=RequestMethod.POST)
|
||||
@ResponseBody
|
||||
public Object selectAuthMenu(@RequestBody BaseParam paramMap){
|
||||
BaseResponse result = new BaseResponse();
|
||||
List<CommMenuVo> menuList = menuMngSvc.selectAuthMenu();
|
||||
List<CommMenuVo> treeMenuList = new ArrayList<CommMenuVo>();
|
||||
|
||||
treeMenuList = CommonUtils.getTree(menuList, "menuId", "upMenuId");
|
||||
menuList.remove(0);
|
||||
result.add("menuList", menuList);
|
||||
result.add("treeMenuList", treeMenuList.get(0).getChildeVo());
|
||||
return result;
|
||||
}
|
||||
|
||||
/**
|
||||
* @methodName : saveBookmark
|
||||
* @date : 2021.06.07
|
||||
* @desc : 메뉴 저장
|
||||
* @param paramMap
|
||||
* @return
|
||||
*/
|
||||
@RequestMapping(value="/saveBookmark", method=RequestMethod.POST)
|
||||
@ResponseBody
|
||||
public Object saveBookmark(@RequestBody BaseParam paramMap){
|
||||
BaseResponse result = new BaseResponse();
|
||||
menuMngSvc.saveBookmark(paramMap.getDs("bookmarkDt", MenuVo.class));
|
||||
return result;
|
||||
}
|
||||
|
||||
/**
|
||||
* @methodName : deleteBookmark
|
||||
* @date : 2021.06.07
|
||||
* @desc : 메뉴 저장
|
||||
* @param paramMap
|
||||
* @return
|
||||
*/
|
||||
@RequestMapping(value="/deleteBookmark", method=RequestMethod.POST)
|
||||
@ResponseBody
|
||||
public Object deleteBookmark(@RequestBody BaseParam paramMap){
|
||||
BaseResponse result = new BaseResponse();
|
||||
menuMngSvc.deleteBookmark(paramMap.getDs("bookmarkDt", MenuVo.class));
|
||||
return result;
|
||||
}
|
||||
|
||||
/**
|
||||
* @methodName : selectAuthMenu
|
||||
* @date : 2021.06.07
|
||||
* @desc : (팝업)메뉴 조회
|
||||
* @param paramMap
|
||||
* @return
|
||||
*/
|
||||
@RequestMapping(value="/selectMyMenu", method=RequestMethod.POST)
|
||||
@ResponseBody
|
||||
public Object selectMyMenu(@RequestBody BaseParam paramMap){
|
||||
BaseResponse result = new BaseResponse();
|
||||
result.add("menuData", menuMngSvc.selectMyMenu(paramMap.getParams()));
|
||||
|
||||
return result;
|
||||
}
|
||||
|
||||
}
|
@ -0,0 +1,196 @@
|
||||
/*
|
||||
* 상기 프로그램에 대한 저작권을 포함한 지적재산권은 LS ITC에 있으며,
|
||||
* LS ITC가 명시적으로 허용하지 않은 사용, 복사, 변경, 제3자에의 공개, 배포는 엄격히 금지되며,
|
||||
* LS ITC의 지적재산권 침해에 해당됩니다.
|
||||
* (Copyright ⓒ 2021 LS ITC. All Rights Reserved| Confidential)
|
||||
*
|
||||
* You are strictly prohibited to copy, disclose, distribute, modify, or use
|
||||
* this program in part or as a whole without the prior written consent of
|
||||
* LS ITC Business unit. LS ITC Business unit., owns the intellectual property rights in
|
||||
* and to this program.
|
||||
* (Copyright ⓒ 2021 LS ITC Business unit. All Rights Reserved| Confidential)
|
||||
* Author : LS ITC
|
||||
* Created : 2021-04-23 17:58:11
|
||||
*/
|
||||
|
||||
package com.lsitc.fems.comm.base.controller;
|
||||
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Controller;
|
||||
import org.springframework.web.bind.annotation.RequestBody;
|
||||
import org.springframework.web.bind.annotation.RequestMapping;
|
||||
import org.springframework.web.bind.annotation.RequestMethod;
|
||||
import org.springframework.web.bind.annotation.ResponseBody;
|
||||
|
||||
import com.lsitc.core.base.BaseParam;
|
||||
import com.lsitc.core.base.BaseResponse;
|
||||
import com.lsitc.core.base.CamelHashMap;
|
||||
import com.lsitc.fems.comm.base.service.NoticeMngSvc;
|
||||
|
||||
@RequestMapping("/comm/base/NoticeMngCtr")
|
||||
@Controller
|
||||
public class NoticeMngCtr{
|
||||
|
||||
@Autowired
|
||||
private NoticeMngSvc noticeMngSvc;
|
||||
|
||||
/**
|
||||
* @methodName : selectPostList
|
||||
* @date : 2021.07.28
|
||||
* @desc : 게시물 목록 조회
|
||||
* @param paramMap
|
||||
* @return
|
||||
*/
|
||||
@RequestMapping(value="/selectPostList", method=RequestMethod.POST)
|
||||
@ResponseBody
|
||||
public Object selectPostList(@RequestBody BaseParam paramMap){
|
||||
BaseResponse result = new BaseResponse();
|
||||
|
||||
List<HashMap<String, Object>> finalValue = new ArrayList<HashMap<String, Object>>();
|
||||
List<CamelHashMap> postList = noticeMngSvc.selectPostList(paramMap.getParams());
|
||||
|
||||
//제목앞에 RE달기
|
||||
// for(int i=0; i<postList.size(); i++){
|
||||
// HashMap<String, Object> tempAvg = new HashMap<String, Object>();
|
||||
// String str = "";
|
||||
// String bef = "";
|
||||
// for(String key : postList.get(i).keySet()) {
|
||||
// if(key.equals("title")) {
|
||||
// if(Integer.parseInt(postList.get(i).get("postGrpOrd").toString()) > 0 && Integer.parseInt(postList.get(i).get("postGrpLayer").toString()) > 0) {
|
||||
// for(int j=0; j<Integer.parseInt(postList.get(i).get("postGrpLayer").toString()); j++) {
|
||||
// bef += " ";
|
||||
// str += "RE:";
|
||||
// }
|
||||
//
|
||||
// str +=postList.get(i).get("postTitl").toString();
|
||||
// tempAvg.put("title", bef+str);
|
||||
// }else {
|
||||
// tempAvg.put(key, postList.get(i).get(key));
|
||||
// }
|
||||
// }else {
|
||||
// tempAvg.put(key, postList.get(i).get(key));
|
||||
// }
|
||||
// }
|
||||
// finalValue.add(tempAvg);
|
||||
// }
|
||||
// result.add("postData", finalValue);
|
||||
result.add("postData", postList);
|
||||
return result;
|
||||
}
|
||||
|
||||
/**
|
||||
* @methodName : selectPost
|
||||
* @date : 2021.07.28
|
||||
* @desc : 게시물 조회
|
||||
* @param paramMap
|
||||
* @return
|
||||
*/
|
||||
@RequestMapping(value="/selectPost", method=RequestMethod.POST)
|
||||
@ResponseBody
|
||||
public Object selectPost(@RequestBody BaseParam paramMap){
|
||||
BaseResponse result = new BaseResponse();
|
||||
|
||||
List<HashMap<String, Object>> finalValue = new ArrayList<HashMap<String, Object>>();
|
||||
List<CamelHashMap> postList = noticeMngSvc.selectPost(paramMap.getParams());
|
||||
|
||||
//제목앞에 RE달기
|
||||
// for(int i=0; i<postList.size(); i++){
|
||||
// HashMap<String, Object> tempAvg = new HashMap<String, Object>();
|
||||
// String str = "";
|
||||
// for(String key : postList.get(i).keySet()) {
|
||||
// if(key.equals("title")) {
|
||||
// if(Integer.parseInt(postList.get(i).get("postGrpOrd").toString()) > 0 && Integer.parseInt(postList.get(i).get("postGrpLayer").toString()) > 0) {
|
||||
// for(int j=0; j<Integer.parseInt(postList.get(i).get("postGrpLayer").toString()); j++) {
|
||||
// str += "RE:";
|
||||
// }
|
||||
// str +=postList.get(i).get("postTitl").toString();
|
||||
// tempAvg.put("title", str);
|
||||
// }else {
|
||||
// tempAvg.put(key, postList.get(i).get(key));
|
||||
// }
|
||||
// }else {
|
||||
// tempAvg.put(key, postList.get(i).get(key));
|
||||
// }
|
||||
// }
|
||||
// finalValue.add(tempAvg);
|
||||
// }
|
||||
// result.add("postData", finalValue);
|
||||
|
||||
result.add("postData", postList);
|
||||
//게시글 조회수
|
||||
noticeMngSvc.updateViewCnt(paramMap.getParams());
|
||||
|
||||
return result;
|
||||
}
|
||||
|
||||
/**
|
||||
*
|
||||
* @methodName : insertPost
|
||||
* @date : 2021.07.28
|
||||
* @desc : 게시물 등록
|
||||
* @param paramMap
|
||||
* @return
|
||||
*/
|
||||
@RequestMapping(value="/insertPost", method=RequestMethod.POST)
|
||||
@ResponseBody
|
||||
public Object insertPost(@RequestBody BaseParam paramMap){
|
||||
BaseResponse result = new BaseResponse();
|
||||
noticeMngSvc.insertPost(paramMap.getParams());
|
||||
return result;
|
||||
}
|
||||
|
||||
/**
|
||||
*
|
||||
* @methodName : insertRplPost
|
||||
* @date : 2021.07.28
|
||||
* @desc : 게시물 답글 등록
|
||||
* @param paramMap
|
||||
* @return
|
||||
*/
|
||||
@RequestMapping(value="/insertRplPost", method=RequestMethod.POST)
|
||||
@ResponseBody
|
||||
public Object insertRplPost(@RequestBody BaseParam paramMap){
|
||||
BaseResponse result = new BaseResponse();
|
||||
noticeMngSvc.updateRplPostGrpOrd(paramMap.getParams());
|
||||
noticeMngSvc.insertRplPost(paramMap.getParams());
|
||||
return result;
|
||||
}
|
||||
|
||||
/**
|
||||
*
|
||||
* @methodName : updatePost
|
||||
* @date : 2021.07.28
|
||||
* @desc : 게시물 수정
|
||||
* @param paramMap
|
||||
* @return
|
||||
*/
|
||||
@RequestMapping(value="/updatePost", method=RequestMethod.POST)
|
||||
@ResponseBody
|
||||
public Object updatePost(@RequestBody BaseParam paramMap){
|
||||
BaseResponse result = new BaseResponse();
|
||||
noticeMngSvc.updatePost(paramMap.getParams());
|
||||
return result;
|
||||
}
|
||||
|
||||
/**
|
||||
*
|
||||
* @methodName : deletePostList
|
||||
* @date : 2021.07.28
|
||||
* @desc : 게시물 삭제
|
||||
* @param paramMap
|
||||
* @return
|
||||
*/
|
||||
@RequestMapping(value="/deletePost", method=RequestMethod.POST)
|
||||
@ResponseBody
|
||||
public Object deletePost(@RequestBody BaseParam paramMap){
|
||||
BaseResponse result = new BaseResponse();
|
||||
noticeMngSvc.deletePost(paramMap.getParams());
|
||||
return result;
|
||||
}
|
||||
|
||||
}
|
@ -0,0 +1,65 @@
|
||||
/*
|
||||
* 상기 프로그램에 대한 저작권을 포함한 지적재산권은 LS ITC에 있으며,
|
||||
* LS ITC가 명시적으로 허용하지 않은 사용, 복사, 변경, 제3자에의 공개, 배포는 엄격히 금지되며,
|
||||
* LS ITC의 지적재산권 침해에 해당됩니다.
|
||||
* (Copyright ⓒ 2021 LS ITC. All Rights Reserved| Confidential)
|
||||
*
|
||||
* You are strictly prohibited to copy, disclose, distribute, modify, or use
|
||||
* this program in part or as a whole without the prior written consent of
|
||||
* LS ITC Business unit. LS ITC Business unit., owns the intellectual property rights in
|
||||
* and to this program.
|
||||
* (Copyright ⓒ 2021 LS ITC Business unit. All Rights Reserved| Confidential)
|
||||
* Author : LS ITC
|
||||
* Created : 2021-04-23 17:58:11
|
||||
*/
|
||||
package com.lsitc.fems.comm.base.controller;
|
||||
|
||||
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Controller;
|
||||
import org.springframework.web.bind.annotation.RequestBody;
|
||||
import org.springframework.web.bind.annotation.RequestMapping;
|
||||
import org.springframework.web.bind.annotation.RequestMethod;
|
||||
import org.springframework.web.bind.annotation.ResponseBody;
|
||||
|
||||
import com.lsitc.core.base.BaseParam;
|
||||
import com.lsitc.core.base.BaseResponse;
|
||||
import com.lsitc.fems.comm.base.service.OrgMngSvc;
|
||||
import com.lsitc.fems.comm.base.vo.DeptCdVo;
|
||||
|
||||
@RequestMapping("/comm/base/OrgMngCtr")
|
||||
@Controller
|
||||
public class OrgMngCtr{
|
||||
@Autowired
|
||||
private OrgMngSvc orgMngSvc;
|
||||
|
||||
/**
|
||||
* @methodName : selectDeptCd
|
||||
* @date : 2021.06.07
|
||||
* @desc : 부서코드 조회
|
||||
* @param paramMap
|
||||
* @return
|
||||
*/
|
||||
@RequestMapping(value="/selectDeptCd", method=RequestMethod.POST)
|
||||
@ResponseBody
|
||||
public Object selectDeptCd(@RequestBody BaseParam paramMap){
|
||||
BaseResponse result = new BaseResponse();
|
||||
result.add("deptCdData", orgMngSvc.selectDeptCd(paramMap.getParams()));
|
||||
return result;
|
||||
}
|
||||
|
||||
/**
|
||||
* @methodName : saveDeptCd
|
||||
* @date : 2021.06.07
|
||||
* @desc : 부서코드 저장
|
||||
* @param paramMap
|
||||
* @return
|
||||
*/
|
||||
@RequestMapping(value="/saveDeptCd", method=RequestMethod.POST)
|
||||
@ResponseBody
|
||||
public Object saveDeptCd(@RequestBody BaseParam paramMap){
|
||||
BaseResponse result = new BaseResponse();
|
||||
orgMngSvc.saveDeptCd(paramMap.getDs("dsDeptCd", DeptCdVo.class));
|
||||
return result;
|
||||
}
|
||||
}
|
@ -0,0 +1,97 @@
|
||||
/*
|
||||
* 상기 프로그램에 대한 저작권을 포함한 지적재산권은 LS ITC에 있으며,
|
||||
* LS ITC가 명시적으로 허용하지 않은 사용, 복사, 변경, 제3자에의 공개, 배포는 엄격히 금지되며,
|
||||
* LS ITC의 지적재산권 침해에 해당됩니다.
|
||||
* (Copyright ⓒ 2021 LS ITC. All Rights Reserved| Confidential)
|
||||
*
|
||||
* You are strictly prohibited to copy, disclose, distribute, modify, or use
|
||||
* this program in part or as a whole without the prior written consent of
|
||||
* LS ITC Business unit. LS ITC Business unit., owns the intellectual property rights in
|
||||
* and to this program.
|
||||
* (Copyright ⓒ 2021 LS ITC Business unit. All Rights Reserved| Confidential)
|
||||
* Author : LS ITC
|
||||
* Created : 2021-04-23 17:58:11
|
||||
*/
|
||||
|
||||
package com.lsitc.fems.comm.base.controller;
|
||||
|
||||
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Controller;
|
||||
import org.springframework.web.bind.annotation.RequestBody;
|
||||
import org.springframework.web.bind.annotation.RequestMapping;
|
||||
import org.springframework.web.bind.annotation.RequestMethod;
|
||||
import org.springframework.web.bind.annotation.ResponseBody;
|
||||
|
||||
import com.lsitc.core.base.BaseParam;
|
||||
import com.lsitc.core.base.BaseResponse;
|
||||
import com.lsitc.fems.comm.base.service.PrgmMngSvc;
|
||||
import com.lsitc.fems.comm.base.vo.PrgmVo;
|
||||
|
||||
@RequestMapping("/comm/base/PrgmMngCtr")
|
||||
@Controller
|
||||
public class PrgmMngCtr {
|
||||
|
||||
@Autowired
|
||||
private PrgmMngSvc prgmMngSvc;
|
||||
|
||||
/**
|
||||
* @methodName : selectPrgm
|
||||
* @date : 2021.04.26
|
||||
* @desc : 프로그램 조회
|
||||
* @param paramMap
|
||||
* @return
|
||||
*/
|
||||
@RequestMapping(value="/selectPrgm", method=RequestMethod.POST)
|
||||
@ResponseBody
|
||||
public Object selectPrgm(@RequestBody BaseParam paramMap){
|
||||
BaseResponse result = new BaseResponse();
|
||||
result.add("prgmData", prgmMngSvc.selectPrgm(paramMap.getParams()));
|
||||
return result;
|
||||
}
|
||||
|
||||
/**
|
||||
* @methodName : savePrgm
|
||||
* @date : 2021.04.26
|
||||
* @desc : 프로그램 저장
|
||||
* @param paramMap
|
||||
* @return
|
||||
*/
|
||||
@RequestMapping(value="/savePrgm", method=RequestMethod.POST)
|
||||
@ResponseBody
|
||||
public Object savePrgm(@RequestBody BaseParam paramMap){
|
||||
BaseResponse result = new BaseResponse();
|
||||
prgmMngSvc.savePrgm(paramMap.getDs("dsPrgm", PrgmVo.class));
|
||||
return result;
|
||||
}
|
||||
|
||||
/**
|
||||
* @methodName : selectPrgmPage
|
||||
* @date : 2022.10.15
|
||||
* @desc : 프로그램 페이지 조회
|
||||
* @param paramMap
|
||||
* @return
|
||||
*/
|
||||
@RequestMapping(value="/selectPrgmPage", method=RequestMethod.POST)
|
||||
@ResponseBody
|
||||
public Object selectPrgmPage(@RequestBody BaseParam paramMap){
|
||||
BaseResponse result = new BaseResponse();
|
||||
result.add("prgmData", prgmMngSvc.selectPrgmPage(paramMap.getParams()));
|
||||
return result;
|
||||
}
|
||||
|
||||
/**
|
||||
* @methodName : selectPrgmTotal
|
||||
* @date : 2022.10.15
|
||||
* @desc : 프로그램 토탈 조회
|
||||
* @param paramMap
|
||||
* @return
|
||||
*/
|
||||
@RequestMapping(value="/selectPrgmTotal", method=RequestMethod.POST)
|
||||
@ResponseBody
|
||||
public Object selectPrgmTotal(@RequestBody BaseParam paramMap){
|
||||
BaseResponse result = new BaseResponse();
|
||||
result.add("prgmDataTotal", prgmMngSvc.selectPrgmTotal(paramMap.getParams()));
|
||||
return result;
|
||||
}
|
||||
}
|
@ -0,0 +1,80 @@
|
||||
/*
|
||||
* 상기 프로그램에 대한 저작권을 포함한 지적재산권은 LS ITC에 있으며,
|
||||
* LS ITC가 명시적으로 허용하지 않은 사용, 복사, 변경, 제3자에의 공개, 배포는 엄격히 금지되며,
|
||||
* LS ITC의 지적재산권 침해에 해당됩니다.
|
||||
* (Copyright ⓒ 2021 LS ITC. All Rights Reserved| Confidential)
|
||||
*
|
||||
* You are strictly prohibited to copy, disclose, distribute, modify, or use
|
||||
* this program in part or as a whole without the prior written consent of
|
||||
* LS ITC Business unit. LS ITC Business unit., owns the intellectual property rights in
|
||||
* and to this program.
|
||||
* (Copyright ⓒ 2021 LS ITC Business unit. All Rights Reserved| Confidential)
|
||||
* Author : LS ITC
|
||||
* Created : 2021-04-23 17:58:11
|
||||
*/
|
||||
package com.lsitc.fems.comm.base.controller;
|
||||
|
||||
import java.util.Map;
|
||||
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Controller;
|
||||
import org.springframework.web.bind.annotation.RequestBody;
|
||||
import org.springframework.web.bind.annotation.RequestMapping;
|
||||
import org.springframework.web.bind.annotation.RequestMethod;
|
||||
import org.springframework.web.bind.annotation.ResponseBody;
|
||||
|
||||
import com.lsitc.core.base.BaseParam;
|
||||
import com.lsitc.core.base.BaseResponse;
|
||||
import com.lsitc.fems.comm.base.service.SystemLogReadSvc;
|
||||
|
||||
@RequestMapping("/comm/base/SystemLogReadCtr")
|
||||
@Controller
|
||||
public class SystemLogReadCtr {
|
||||
@Autowired
|
||||
private SystemLogReadSvc systemLogReadSvc;
|
||||
|
||||
/**
|
||||
* @methodName : selectLoginLog
|
||||
* @date : 2021.05.04
|
||||
* @desc : 로그인로그 조회
|
||||
* @param paramMap
|
||||
* @return
|
||||
*/
|
||||
@RequestMapping(value="/selectLoginLog", method=RequestMethod.POST)
|
||||
@ResponseBody
|
||||
public Object selectLoginLog(@RequestBody BaseParam paramMap) {
|
||||
BaseResponse result = new BaseResponse();
|
||||
result.add("loginLogData", systemLogReadSvc.selectLoginLog(paramMap.getParams()));
|
||||
return result;
|
||||
}
|
||||
|
||||
/**
|
||||
* @methodName : selectMenuCnctLog
|
||||
* @date : 2021.05.04
|
||||
* @desc : 메뉴접근로그 조회
|
||||
* @param paramMap
|
||||
* @return
|
||||
*/
|
||||
@RequestMapping(value="/selectMenuCnctLog", method=RequestMethod.POST)
|
||||
@ResponseBody
|
||||
public Object selectMenuCnctLog(@RequestBody BaseParam paramMap) {
|
||||
BaseResponse result = new BaseResponse();
|
||||
result.add("menuCnctLogData", systemLogReadSvc.selectMenuCnctLog(paramMap.getParams()));
|
||||
return result;
|
||||
}
|
||||
|
||||
/**
|
||||
* @methodName : saveMenuCnctLog
|
||||
* @date : 2021.05.04
|
||||
* @desc : 메뉴접근로그 저장
|
||||
* @param param
|
||||
* @return
|
||||
*/
|
||||
@RequestMapping("/saveMenuCnctLog")
|
||||
@ResponseBody
|
||||
public Object saveMenuCnctLog(@RequestBody Map<String, Object> param) {
|
||||
BaseResponse ret = new BaseResponse();
|
||||
systemLogReadSvc.saveMenuCnctLog(param.get("menuId").toString());
|
||||
return ret;
|
||||
}
|
||||
}
|
293
src/main/java/com/lsitc/fems/comm/base/service/ApndFileSvc.java
Normal file
293
src/main/java/com/lsitc/fems/comm/base/service/ApndFileSvc.java
Normal file
@ -0,0 +1,293 @@
|
||||
/*
|
||||
* 상기 프로그램에 대한 저작권을 포함한 지적재산권은 LS ITC에 있으며,
|
||||
* LS ITC가 명시적으로 허용하지 않은 사용, 복사, 변경, 제3자에의 공개, 배포는 엄격히 금지되며,
|
||||
* LS ITC의 지적재산권 침해에 해당됩니다.
|
||||
* (Copyright ⓒ 2021 LS ITC. All Rights Reserved| Confidential)
|
||||
*
|
||||
* You are strictly prohibited to copy, disclose, distribute, modify, or use
|
||||
* this program in part or as a whole without the prior written consent of
|
||||
* LS ITC Business unit. LS ITC Business unit., owns the intellectual property rights in
|
||||
* and to this program.
|
||||
* (Copyright ⓒ 2021 LS ITC Business unit. All Rights Reserved| Confidential)
|
||||
* Author : LS ITC
|
||||
* Created : 2021-04-23 17:58:11
|
||||
*/
|
||||
package com.lsitc.fems.comm.base.service;
|
||||
|
||||
import java.io.File;
|
||||
import java.io.IOException;
|
||||
import java.nio.file.Files;
|
||||
import java.nio.file.Path;
|
||||
import java.nio.file.Paths;
|
||||
import java.text.SimpleDateFormat;
|
||||
import java.util.Date;
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
|
||||
import org.apache.commons.compress.utils.FileNameUtils;
|
||||
import org.springframework.stereotype.Service;
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
import org.springframework.web.multipart.MultipartFile;
|
||||
|
||||
import com.lsitc.core.base.BaseSvc;
|
||||
import com.lsitc.core.base.CamelHashMap;
|
||||
import com.lsitc.core.utils.FileUtils;
|
||||
import com.lsitc.core.advice.BaseControllerAdvice;
|
||||
|
||||
|
||||
@Service
|
||||
public class ApndFileSvc extends BaseSvc {
|
||||
/**
|
||||
*
|
||||
* @methodName : selectApndFile
|
||||
* @date : 2021.07.12
|
||||
* @desc : 파일 정보 조회
|
||||
* @param params
|
||||
* @return
|
||||
*/
|
||||
public List<CamelHashMap> selectApndFile(HashMap<String, Object> params){
|
||||
return dao.selectList("comm.base.apndFile.selectApndFile", params);
|
||||
}
|
||||
|
||||
/**
|
||||
*
|
||||
* @methodName : deleteApndFile
|
||||
* @date : 2021.07.12
|
||||
* @desc : 파일 삭제
|
||||
* @param params
|
||||
* @return
|
||||
*/
|
||||
@Transactional
|
||||
public void deleteApndFile(HashMap<String, Object> params){
|
||||
List<HashMap<String, String>> apndFile_List = (List<HashMap<String, String>>)params.get("apndFile");
|
||||
|
||||
for(HashMap<String, String> eachRow : apndFile_List) {
|
||||
dao.update("comm.base.apndFile.deleteApndFile", eachRow);
|
||||
}
|
||||
}
|
||||
|
||||
// /**
|
||||
// *
|
||||
// * @methodName : uploadFile
|
||||
// * @date : 2021.07.12
|
||||
// * @desc : 파일 업로드
|
||||
// * @param params
|
||||
// * @return
|
||||
// */
|
||||
// @Transactional
|
||||
// public String uploadFile_bak(List<MultipartFile> fileList, HashMap<String, Object> param){
|
||||
// FileUtils fileUtils = new FileUtils();
|
||||
// HashMap<String, Object> params = new HashMap<String, Object>();
|
||||
//
|
||||
// String apndFileUuid = "";
|
||||
// String bordNo = param.get("bordNo").toString();
|
||||
// String postNo = param.get("postNo").toString();
|
||||
//
|
||||
// //Apnd_File_Grp 처리
|
||||
// if(postNo != null && !postNo.equals("")) {
|
||||
// HashMap<String, Object> paramsForUuid = new HashMap<String, Object>();
|
||||
// paramsForUuid.put("bordNo", bordNo);
|
||||
// paramsForUuid.put("postNo", postNo);
|
||||
// List<CamelHashMap> tempList = dao.selectList("comm.base.noticeMng.selectPost", paramsForUuid);
|
||||
// if(tempList.get(0).get("apndFileUuid") != null) {
|
||||
// apndFileUuid = (String) tempList.get(0).get("apndFileUuid");
|
||||
// }
|
||||
// }
|
||||
//
|
||||
// if(apndFileUuid.isEmpty() || apndFileUuid == null || postNo == null || postNo.equals("")) {
|
||||
// apndFileUuid = fileUtils.getUUID();
|
||||
// params.put("apndFileUuid", apndFileUuid);
|
||||
// dao.insert("comm.base.apndFile.insertApndFileGrp", params);
|
||||
// }
|
||||
//
|
||||
// String apndFileId = "";
|
||||
// String apndFileNm = "";
|
||||
// String apndFileExt = "";
|
||||
// Long apndFileSize = (long) 0;
|
||||
// String apndFilePath = "";
|
||||
//
|
||||
// for(MultipartFile eachFile : fileList) {
|
||||
// HashMap<String, Object> fileParams = new HashMap<String, Object>();
|
||||
//
|
||||
// apndFileId = fileUtils.getUUID();
|
||||
// apndFileNm = FileNameUtils.getBaseName(eachFile.getOriginalFilename());
|
||||
// apndFileExt = FileNameUtils.getExtension(eachFile.getOriginalFilename());
|
||||
// apndFileSize = eachFile.getSize();
|
||||
//// apndFilePath = FileUtils.FILE_PATH + "/" + new SimpleDateFormat("yyyyMMdd").format(new Date());;
|
||||
// apndFilePath = FileUtils.FILE_PATH + File.separator + new SimpleDateFormat("yyyyMMdd").format(new Date());;
|
||||
//
|
||||
// fileParams.put("apndFileUuid", apndFileUuid);
|
||||
// fileParams.put("apndFileId", apndFileId);
|
||||
// fileParams.put("apndFileNm", apndFileNm);
|
||||
// fileParams.put("apndFileExt", apndFileExt);
|
||||
// fileParams.put("apndFileSize", apndFileSize);
|
||||
// fileParams.put("apndFilePath", apndFilePath);
|
||||
//
|
||||
// makeDirectory(apndFilePath);
|
||||
// uploadFile(eachFile, apndFilePath, apndFileId, apndFileExt);
|
||||
////====================================================================================================================================
|
||||
//// core - uploadFile
|
||||
////====================================================================================================================================
|
||||
//// try {
|
||||
//// fileUtils.uplaodFile(eachFile, apndFilePath);
|
||||
////
|
||||
//// } catch (IOException e) {
|
||||
//// logger.debug("error in uploadFileConstructionWorkLog ...");
|
||||
//// e.printStackTrace();
|
||||
//// }
|
||||
////====================================================================================================================================
|
||||
// dao.insert("comm.base.apndFile.insertApndFile", fileParams);
|
||||
// }
|
||||
// return apndFileUuid;
|
||||
// }
|
||||
|
||||
/**
|
||||
*
|
||||
* @methodName : uploadFile
|
||||
* @date : 2021.07.12
|
||||
* @desc : 파일 업로드
|
||||
* @param params
|
||||
* @return
|
||||
*/
|
||||
@Transactional
|
||||
public HashMap<String, Object> uploadFile(List<MultipartFile> fileList, HashMap<String, Object> param){
|
||||
HashMap<String, Object> resultMap = new HashMap<String, Object>();
|
||||
|
||||
FileUtils fileUtils = new FileUtils();
|
||||
HashMap<String, Object> params = new HashMap<String, Object>();
|
||||
|
||||
String apndFileUuid = "";
|
||||
String bordNo = param.get("bordNo").toString();
|
||||
String postNo = param.get("postNo").toString();
|
||||
|
||||
//Apnd_File_Grp 처리
|
||||
if(postNo != null && !postNo.equals("")) {
|
||||
HashMap<String, Object> paramsForUuid = new HashMap<String, Object>();
|
||||
paramsForUuid.put("bordNo", bordNo);
|
||||
paramsForUuid.put("postNo", postNo);
|
||||
List<CamelHashMap> tempList = dao.selectList("comm.base.noticeMng.selectPost", paramsForUuid);
|
||||
if(tempList.get(0).get("apndFileUuid") != null) {
|
||||
apndFileUuid = (String) tempList.get(0).get("apndFileUuid");
|
||||
}
|
||||
}
|
||||
|
||||
if(apndFileUuid.isEmpty() || apndFileUuid == null || postNo == null || postNo.equals("")) {
|
||||
apndFileUuid = fileUtils.getUUID();
|
||||
params.put("apndFileUuid", apndFileUuid);
|
||||
dao.insert("comm.base.apndFile.insertApndFileGrp", params);
|
||||
}
|
||||
|
||||
String apndFileId = "";
|
||||
String apndFileNm = "";
|
||||
String apndFileExt = "";
|
||||
Long apndFileSize = (long) 0;
|
||||
String apndFilePath = "";
|
||||
int uploadStatus = 0;
|
||||
for(MultipartFile eachFile : fileList) {
|
||||
HashMap<String, Object> fileParams = new HashMap<String, Object>();
|
||||
|
||||
|
||||
apndFileId = fileUtils.getUUID();
|
||||
apndFileNm = FileNameUtils.getBaseName(eachFile.getOriginalFilename());
|
||||
apndFileExt = FileNameUtils.getExtension(eachFile.getOriginalFilename());
|
||||
apndFileSize = eachFile.getSize();
|
||||
// apndFilePath = FileUtils.FILE_PATH + "/" + new SimpleDateFormat("yyyyMMdd").format(new Date());;
|
||||
apndFilePath = FileUtils.FILE_PATH + File.separator + new SimpleDateFormat("yyyyMMdd").format(new Date());;
|
||||
|
||||
fileParams.put("apndFileUuid", apndFileUuid);
|
||||
fileParams.put("apndFileId", apndFileId);
|
||||
fileParams.put("apndFileNm", apndFileNm);
|
||||
fileParams.put("apndFileExt", apndFileExt);
|
||||
fileParams.put("apndFileSize", apndFileSize);
|
||||
fileParams.put("apndFilePath", apndFilePath);
|
||||
|
||||
makeDirectory(apndFilePath);
|
||||
uploadStatus = uploadFile(eachFile, apndFilePath, apndFileId, apndFileExt);
|
||||
|
||||
if(uploadStatus != 0) {
|
||||
break;
|
||||
}
|
||||
|
||||
dao.insert("comm.base.apndFile.insertApndFile", fileParams);
|
||||
}
|
||||
|
||||
resultMap.put("apndFileUuid", apndFileUuid);
|
||||
resultMap.put("uploadStatus", uploadStatus);
|
||||
|
||||
|
||||
return resultMap;
|
||||
|
||||
// return apndFileUuid;
|
||||
}
|
||||
|
||||
/*
|
||||
*
|
||||
* returnCode
|
||||
* 0 -> 정상
|
||||
* -1 -> 유효성 실패(MimeType, 확장자)
|
||||
* -2 -> 사이즈 초과
|
||||
*
|
||||
*
|
||||
*/
|
||||
public int uploadFile(MultipartFile file, String path, String uuId, String fileExt) {
|
||||
FileUtils fileUtils = new FileUtils();
|
||||
String filePath = path + File.separator + uuId + "." + fileExt;
|
||||
|
||||
String configurationSize = BaseControllerAdvice.getMaxFileSize();
|
||||
int configurationIntSize = Integer.parseInt(configurationSize.replaceAll("[^0-9]", ""));
|
||||
String configurationUnit = configurationSize.replaceAll("[0-9]", "").toLowerCase();
|
||||
|
||||
if(configurationUnit.equals("kb")) {
|
||||
configurationIntSize = configurationIntSize * 1024;
|
||||
}else if(configurationUnit.equals("mb")) {
|
||||
configurationIntSize = configurationIntSize * 1024 * 1024;
|
||||
}
|
||||
|
||||
if(file.getSize() > configurationIntSize) {
|
||||
return -2;
|
||||
}
|
||||
|
||||
if(fileUtils.isVaildFile(file)) {
|
||||
try {
|
||||
file.transferTo(new File(filePath));
|
||||
} catch (Exception e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
return 0;
|
||||
}else {
|
||||
return -1;
|
||||
}
|
||||
|
||||
|
||||
// System.out.println("fileExt : " + fileExt);
|
||||
// System.out.println("upload_check");
|
||||
// if(!fileUtils.isVaildFile(file)) {
|
||||
// System.out.println("upload_check2");
|
||||
// return;
|
||||
// }
|
||||
// System.out.println("upload_check3");
|
||||
//
|
||||
// try {
|
||||
// System.out.println("upload_check4");
|
||||
// file.transferTo(new File(filePath));
|
||||
// } catch (Exception e) {
|
||||
// e.printStackTrace();
|
||||
// }
|
||||
// System.out.println("upload_check5");
|
||||
}
|
||||
|
||||
public void makeDirectory(String path) {
|
||||
Path directoryPath = Paths.get(path);
|
||||
|
||||
System.out.println("path : " + path);
|
||||
|
||||
// 해당 디렉토리가 없을경우 디렉토리를 생성합니다.
|
||||
try {
|
||||
// 디렉토리 생성
|
||||
Files.createDirectories(directoryPath);
|
||||
} catch (IOException e){
|
||||
e.printStackTrace();
|
||||
}
|
||||
}
|
||||
|
||||
}
|
@ -0,0 +1,41 @@
|
||||
/*
|
||||
* 상기 프로그램에 대한 저작권을 포함한 지적재산권은 LS ITC에 있으며,
|
||||
* LS ITC가 명시적으로 허용하지 않은 사용, 복사, 변경, 제3자에의 공개, 배포는 엄격히 금지되며,
|
||||
* LS ITC의 지적재산권 침해에 해당됩니다.
|
||||
* (Copyright ⓒ 2021 LS ITC. All Rights Reserved| Confidential)
|
||||
*
|
||||
* You are strictly prohibited to copy, disclose, distribute, modify, or use
|
||||
* this program in part or as a whole without the prior written consent of
|
||||
* LS ITC Business unit. LS ITC Business unit., owns the intellectual property rights in
|
||||
* and to this program.
|
||||
* (Copyright ⓒ 2021 LS ITC Business unit. All Rights Reserved| Confidential)
|
||||
* Author : LS ITC
|
||||
* Created : 2021-04-23 17:58:11
|
||||
*/
|
||||
package com.lsitc.fems.comm.base.service;
|
||||
|
||||
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
import com.lsitc.core.base.BaseSvc;
|
||||
import com.lsitc.core.base.CamelHashMap;
|
||||
import com.lsitc.fems.comm.base.vo.BatchMngVo;
|
||||
|
||||
|
||||
@Service
|
||||
public class BatchLogSvc extends BaseSvc {
|
||||
|
||||
/**
|
||||
* @methodName : selectBatchLog
|
||||
* @date : 2021.09.09
|
||||
* @desc : 배치로그 조회
|
||||
* @return
|
||||
*/
|
||||
public List<CamelHashMap> selectBatchLog(HashMap<String, Object> param) {
|
||||
return dao.selectList("comm.base.batchLog.selectBatchLog", param);
|
||||
}
|
||||
|
||||
}
|
@ -0,0 +1,77 @@
|
||||
/*
|
||||
* 상기 프로그램에 대한 저작권을 포함한 지적재산권은 LS ITC에 있으며,
|
||||
* LS ITC가 명시적으로 허용하지 않은 사용, 복사, 변경, 제3자에의 공개, 배포는 엄격히 금지되며,
|
||||
* LS ITC의 지적재산권 침해에 해당됩니다.
|
||||
* (Copyright ⓒ 2021 LS ITC. All Rights Reserved| Confidential)
|
||||
*
|
||||
* You are strictly prohibited to copy, disclose, distribute, modify, or use
|
||||
* this program in part or as a whole without the prior written consent of
|
||||
* LS ITC Business unit. LS ITC Business unit., owns the intellectual property rights in
|
||||
* and to this program.
|
||||
* (Copyright ⓒ 2021 LS ITC Business unit. All Rights Reserved| Confidential)
|
||||
* Author : LS ITC
|
||||
* Created : 2021-04-23 17:58:11
|
||||
*/
|
||||
package com.lsitc.fems.comm.base.service;
|
||||
|
||||
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
|
||||
import org.springframework.stereotype.Service;
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
|
||||
import com.lsitc.core.base.BaseSvc;
|
||||
import com.lsitc.fems.comm.base.vo.BatchMngVo;
|
||||
|
||||
|
||||
@Service
|
||||
public class BatchMngSvc extends BaseSvc {
|
||||
|
||||
/**
|
||||
* @methodName : selectBatchMng
|
||||
* @date : 2021.09.09
|
||||
* @desc : 배치리스트 조회
|
||||
* @return
|
||||
*/
|
||||
public List<BatchMngVo> selectBatchMng(HashMap<String, Object> param) {
|
||||
return dao.selectList("comm.base.batchMng.selectBatchMng", param);
|
||||
}
|
||||
|
||||
/**
|
||||
* @methodName : saveBatchMng
|
||||
* @date : 2021.09.09
|
||||
* @desc : 배치리스트 저장
|
||||
* @param
|
||||
* @param prgmList
|
||||
*/
|
||||
@Transactional
|
||||
public void saveBatchMng(List<BatchMngVo> batchList) {
|
||||
for (BatchMngVo eachRow : batchList) {
|
||||
switch (eachRow.getRowStat()) {
|
||||
case RowType.INSERT:
|
||||
dao.insert("comm.base.batchMng.insertBatchMng", eachRow);
|
||||
break;
|
||||
case RowType.UPDATE:
|
||||
dao.update("comm.base.batchMng.updateBatchMng", eachRow);
|
||||
break;
|
||||
case RowType.DELETE:
|
||||
dao.delete("comm.base.batchMng.deleteBatchMng", eachRow);
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* @methodName : selectFllwBatchList
|
||||
* @date : 2021.09.09
|
||||
* @desc : 후속 배치리스트 조회
|
||||
* @return
|
||||
*/
|
||||
public List<BatchMngVo> selectFllwBatchList(HashMap<String, Object> param) {
|
||||
return dao.selectList("comm.base.batchMng.selectFllwBatchList", param);
|
||||
}
|
||||
}
|
@ -0,0 +1,106 @@
|
||||
/*
|
||||
* 상기 프로그램에 대한 저작권을 포함한 지적재산권은 LS ITC에 있으며,
|
||||
* LS ITC가 명시적으로 허용하지 않은 사용, 복사, 변경, 제3자에의 공개, 배포는 엄격히 금지되며,
|
||||
* LS ITC의 지적재산권 침해에 해당됩니다.
|
||||
* (Copyright ⓒ 2021 LS ITC. All Rights Reserved| Confidential)
|
||||
*
|
||||
* You are strictly prohibited to copy, disclose, distribute, modify, or use
|
||||
* this program in part or as a whole without the prior written consent of
|
||||
* LS ITC Business unit. LS ITC Business unit., owns the intellectual property rights in
|
||||
* and to this program.
|
||||
* (Copyright ⓒ 2021 LS ITC Business unit. All Rights Reserved| Confidential)
|
||||
* Author : LS ITC
|
||||
* Created : 2021-04-23 17:58:11
|
||||
*/
|
||||
package com.lsitc.fems.comm.base.service;
|
||||
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
|
||||
import org.springframework.stereotype.Service;
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
|
||||
import com.lsitc.core.base.BaseSvc;
|
||||
import com.lsitc.fems.comm.auth.vo.CommMenuVo;
|
||||
import com.lsitc.fems.comm.base.vo.WorkCaldVo;
|
||||
|
||||
@Service
|
||||
public class CalendarMngSvc extends BaseSvc {
|
||||
|
||||
/**
|
||||
* @methodName : selectWorkcald
|
||||
* @date : 2021.06.07
|
||||
* @desc : 근무달력 조회
|
||||
* @param paramMap
|
||||
* @return
|
||||
*/
|
||||
public List<CommMenuVo> selectWorkCald(HashMap<String, Object> params) {
|
||||
return dao.selectList("comm.base.calendarMng.selectWorkCald", params);
|
||||
}
|
||||
|
||||
/**
|
||||
* @methodName : saveWorkcald
|
||||
* @date : 2021.06.07
|
||||
* @desc : 근무달력 저장
|
||||
* @param paramMap
|
||||
* @return
|
||||
*/
|
||||
@Transactional
|
||||
public void saveWorkCald(List<WorkCaldVo> workCaldList) {
|
||||
for(WorkCaldVo eachRow : workCaldList ) {
|
||||
dao.update("comm.base.calendarMng.updateComId", eachRow);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* @methodName : selectMonthWeekendList
|
||||
* @date : 2021.06.07
|
||||
* @desc : 특정 기간 및 월에 대한 휴일 목록 조회
|
||||
* @param paramMap
|
||||
* @return
|
||||
*/
|
||||
public List<CommMenuVo> selectWorkCaldAll(HashMap<String, Object> params) {
|
||||
return dao.selectList("comm.base.calendarMng.selectWorkcaldAll", params);
|
||||
}
|
||||
|
||||
/**
|
||||
* @methodName : selectWorkCaldDetl
|
||||
* @date : 2022.05.11
|
||||
* @desc : 상세 일정 조회
|
||||
* @param paramMap
|
||||
* @return
|
||||
*/
|
||||
public List<CommMenuVo> selectWorkCaldDetl(HashMap<String, Object> params) {
|
||||
return dao.selectList("comm.base.calendarMng.selectWorkCaldDetl", params);
|
||||
}
|
||||
|
||||
public List<CommMenuVo> selectWorkCaldDetlOne(HashMap<String, Object> params) {
|
||||
return dao.selectList("comm.base.calendarMng.selectWorkCaldDetlOne", params);
|
||||
}
|
||||
|
||||
public void savePlanDetl(List<WorkCaldVo> ds) {
|
||||
for(WorkCaldVo eachRow : ds ) {
|
||||
dao.update("comm.base.calendarMng.savePlanDetl", eachRow);
|
||||
}
|
||||
}
|
||||
|
||||
public void updatePlanDetl(List<WorkCaldVo> ds) {
|
||||
for(WorkCaldVo eachRow : ds ) {
|
||||
dao.update("comm.base.calendarMng.updatePlanDetl", eachRow);
|
||||
}
|
||||
}
|
||||
|
||||
public void deletePlanDetl(List<WorkCaldVo> ds) {
|
||||
for(WorkCaldVo eachRow : ds ) {
|
||||
dao.update("comm.base.calendarMng.deletePlanDetl", eachRow);
|
||||
}
|
||||
}
|
||||
|
||||
public Object selectWeekWorkCald(HashMap<String, Object> params) {
|
||||
return dao.selectList("comm.base.calendarMng.selectWeekWorkCald", params);
|
||||
}
|
||||
|
||||
public Object selectWeekWorkCaldDetl(HashMap<String, Object> params) {
|
||||
return dao.selectList("comm.base.calendarMng.selectWeekWorkCaldDetl", params);
|
||||
}
|
||||
}
|
66
src/main/java/com/lsitc/fems/comm/base/service/ComIdSvc.java
Normal file
66
src/main/java/com/lsitc/fems/comm/base/service/ComIdSvc.java
Normal file
@ -0,0 +1,66 @@
|
||||
/*
|
||||
* 상기 프로그램에 대한 저작권을 포함한 지적재산권은 LS ITC에 있으며,
|
||||
* LS ITC가 명시적으로 허용하지 않은 사용, 복사, 변경, 제3자에의 공개, 배포는 엄격히 금지되며,
|
||||
* LS ITC의 지적재산권 침해에 해당됩니다.
|
||||
* (Copyright ⓒ 2021 LS ITC. All Rights Reserved| Confidential)
|
||||
*
|
||||
* You are strictly prohibited to copy, disclose, distribute, modify, or use
|
||||
* this program in part or as a whole without the prior written consent of
|
||||
* LS ITC Business unit. LS ITC Business unit., owns the intellectual property rights in
|
||||
* and to this program.
|
||||
* (Copyright ⓒ 2021 LS ITC Business unit. All Rights Reserved| Confidential)
|
||||
* Author : LS ITC
|
||||
* Created : 2021-04-23 17:58:11
|
||||
*/
|
||||
package com.lsitc.fems.comm.base.service;
|
||||
|
||||
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
import org.springframework.stereotype.Service;
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
|
||||
import com.lsitc.core.base.BaseSvc;
|
||||
import com.lsitc.fems.comm.base.vo.ComIdVo;
|
||||
|
||||
|
||||
@Service
|
||||
public class ComIdSvc extends BaseSvc {
|
||||
|
||||
/**
|
||||
* @methodName : selectComId
|
||||
* @date : 2021.04.23
|
||||
* @desc : 회사코드 조회
|
||||
* @param paramMap
|
||||
* @return
|
||||
*/
|
||||
public List<ComIdVo> selectComId(Map<String, Object> map){
|
||||
return dao.selectList("comm.base.comId.selectComId", map);
|
||||
}
|
||||
|
||||
/**
|
||||
*
|
||||
* @methodName : saveComId
|
||||
* @date : 2021.04.23
|
||||
* @desc : 회사코드 저장
|
||||
* @param paramMap
|
||||
* @return
|
||||
*/
|
||||
@Transactional
|
||||
public void saveComId(List<ComIdVo> comIdList) {
|
||||
for(ComIdVo eachRow : comIdList ) {
|
||||
switch (eachRow.getRowStat()) {
|
||||
case RowType.INSERT:
|
||||
dao.insert("comm.base.comId.insertComId", eachRow);
|
||||
break;
|
||||
case RowType.UPDATE:
|
||||
dao.update("comm.base.comId.updateComId", eachRow);
|
||||
break;
|
||||
case RowType.DELETE:
|
||||
dao.delete("comm.base.comId.deleteComId", eachRow);
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
114
src/main/java/com/lsitc/fems/comm/base/service/CommCdMngSvc.java
Normal file
114
src/main/java/com/lsitc/fems/comm/base/service/CommCdMngSvc.java
Normal file
@ -0,0 +1,114 @@
|
||||
/*
|
||||
* 상기 프로그램에 대한 저작권을 포함한 지적재산권은 LS ITC에 있으며,
|
||||
* LS ITC가 명시적으로 허용하지 않은 사용, 복사, 변경, 제3자에의 공개, 배포는 엄격히 금지되며,
|
||||
* LS ITC의 지적재산권 침해에 해당됩니다.
|
||||
* (Copyright ⓒ 2021 LS ITC. All Rights Reserved| Confidential)
|
||||
*
|
||||
* You are strictly prohibited to copy, disclose, distribute, modify, or use
|
||||
* this program in part or as a whole without the prior written consent of
|
||||
* LS ITC Business unit. LS ITC Business unit., owns the intellectual property rights in
|
||||
* and to this program.
|
||||
* (Copyright ⓒ 2021 LS ITC Business unit. All Rights Reserved| Confidential)
|
||||
* Author : LS ITC
|
||||
* Created : 2021-04-23 17:58:11
|
||||
*/
|
||||
package com.lsitc.fems.comm.base.service;
|
||||
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
import com.lsitc.core.base.BaseParam;
|
||||
import com.lsitc.core.base.BaseSvc;
|
||||
import com.lsitc.fems.comm.base.vo.CommCdVo;
|
||||
import com.lsitc.fems.comm.base.vo.CommGrpCdVo;
|
||||
|
||||
@Service
|
||||
public class CommCdMngSvc extends BaseSvc {
|
||||
|
||||
/**
|
||||
* @methodName : selectCommGrpCd
|
||||
* @date : 2021.06.07
|
||||
* @desc : 공통그룹코드 조회
|
||||
* @param paramMap
|
||||
* @return
|
||||
*/
|
||||
public Object selectCommGrpCd(HashMap<String, Object> paramMap) {
|
||||
return dao.selectList("comm.base.commCdMng.selectCommGrpCd", paramMap);
|
||||
}
|
||||
|
||||
/**
|
||||
* @methodName : saveCommGrpCd
|
||||
* @date : 2021.06.07
|
||||
* @desc : 공통그룹코드 저장
|
||||
* @param paramMap
|
||||
* @return
|
||||
*/
|
||||
public void saveCommGrpCd(List<CommGrpCdVo> grpCdList){
|
||||
for(CommGrpCdVo eachRow : grpCdList) {
|
||||
switch (eachRow.getRowStat()) {
|
||||
case RowType.INSERT :
|
||||
dao.insert("comm.base.commCdMng.insertCommGrpCd", eachRow);
|
||||
break;
|
||||
case RowType.UPDATE :
|
||||
dao.update("comm.base.commCdMng.updateCommGrpCd", eachRow);
|
||||
break;
|
||||
case RowType.DELETE :
|
||||
dao.delete("comm.base.commCdMng.deleteCommGrpCd", eachRow);
|
||||
break;
|
||||
default :
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* @methodName : selectCommCd
|
||||
* @date : 2021.06.07
|
||||
* @desc : 공통코드 조회
|
||||
* @param paramMap
|
||||
* @return
|
||||
*/
|
||||
public List<CommCdVo> selectCommCd(BaseParam paramMap) {
|
||||
return dao.selectList("comm.base.commCdMng.selectCommCd", paramMap.getParams());
|
||||
}
|
||||
|
||||
/**
|
||||
* @methodName : saveCommCd
|
||||
* @date : 2021.06.07
|
||||
* @desc : 공통코드 저장
|
||||
* @param paramMap
|
||||
* @return
|
||||
*/
|
||||
public void saveCommCd(List<CommCdVo> commCdList){
|
||||
for(CommCdVo eachRow : commCdList) {
|
||||
switch (eachRow.getRowStat()) {
|
||||
case RowType.INSERT :
|
||||
dao.insert("comm.base.commCdMng.insertCommCd", eachRow);
|
||||
break;
|
||||
case RowType.UPDATE :
|
||||
dao.update("comm.base.commCdMng.updateCommCd", eachRow);
|
||||
break;
|
||||
case RowType.DELETE :
|
||||
dao.delete("comm.base.commCdMng.deleteCommCd", eachRow);
|
||||
break;
|
||||
default :
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* @methodName : selectGvno
|
||||
* @date : 2021.03.15
|
||||
* @desc : 채번API
|
||||
* @param paramMap
|
||||
* @return
|
||||
*/
|
||||
public String selectGvno(Map<String, Object> paramMap) {
|
||||
return dao.selectOne("comm.base.commCdMng.selectGvno", paramMap);
|
||||
}
|
||||
|
||||
}
|
39
src/main/java/com/lsitc/fems/comm/base/service/CommSvc.java
Normal file
39
src/main/java/com/lsitc/fems/comm/base/service/CommSvc.java
Normal file
@ -0,0 +1,39 @@
|
||||
/*
|
||||
* 상기 프로그램에 대한 저작권을 포함한 지적재산권은 LS ITC에 있으며,
|
||||
* LS ITC가 명시적으로 허용하지 않은 사용, 복사, 변경, 제3자에의 공개, 배포는 엄격히 금지되며,
|
||||
* LS ITC의 지적재산권 침해에 해당됩니다.
|
||||
* (Copyright ⓒ 2021 LS ITC. All Rights Reserved| Confidential)
|
||||
*
|
||||
* You are strictly prohibited to copy, disclose, distribute, modify, or use
|
||||
* this program in part or as a whole without the prior written consent of
|
||||
* LS ITC Business unit. LS ITC Business unit., owns the intellectual property rights in
|
||||
* and to this program.
|
||||
* (Copyright ⓒ 2021 LS ITC Business unit. All Rights Reserved| Confidential)
|
||||
* Author : LS ITC
|
||||
* Created : 2021-04-23 17:58:11
|
||||
*/
|
||||
package com.lsitc.fems.comm.base.service;
|
||||
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
import com.lsitc.core.base.BaseSvc;
|
||||
import com.lsitc.fems.comm.base.vo.BlocMstrVo;
|
||||
|
||||
@Service
|
||||
public class CommSvc extends BaseSvc {
|
||||
|
||||
/**
|
||||
* @methodName : selectBlocMstr
|
||||
* @date : 2021.06.01
|
||||
* @desc : 사업장 코드 조회
|
||||
* @param param
|
||||
* @return
|
||||
*/
|
||||
public List<BlocMstrVo> selectBlocMstr(HashMap<String, Object> param){
|
||||
return dao.selectList("comm.base.comm.selectBlocMstr", param);
|
||||
}
|
||||
|
||||
}
|
107
src/main/java/com/lsitc/fems/comm/base/service/MenuMngSvc.java
Normal file
107
src/main/java/com/lsitc/fems/comm/base/service/MenuMngSvc.java
Normal file
@ -0,0 +1,107 @@
|
||||
/*
|
||||
* 상기 프로그램에 대한 저작권을 포함한 지적재산권은 LS ITC에 있으며,
|
||||
* LS ITC가 명시적으로 허용하지 않은 사용, 복사, 변경, 제3자에의 공개, 배포는 엄격히 금지되며,
|
||||
* LS ITC의 지적재산권 침해에 해당됩니다.
|
||||
* (Copyright ⓒ 2021 LS ITC. All Rights Reserved| Confidential)
|
||||
*
|
||||
* You are strictly prohibited to copy, disclose, distribute, modify, or use
|
||||
* this program in part or as a whole without the prior written consent of
|
||||
* LS ITC Business unit. LS ITC Business unit., owns the intellectual property rights in
|
||||
* and to this program.
|
||||
* (Copyright ⓒ 2021 LS ITC Business unit. All Rights Reserved| Confidential)
|
||||
* Author : LS ITC
|
||||
* Created : 2021-04-23 17:58:11
|
||||
*/
|
||||
package com.lsitc.fems.comm.base.service;
|
||||
|
||||
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
|
||||
import org.springframework.stereotype.Service;
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
|
||||
import com.lsitc.core.base.BaseSvc;
|
||||
import com.lsitc.fems.comm.auth.vo.CommMenuVo;
|
||||
import com.lsitc.fems.comm.base.vo.MenuVo;
|
||||
import com.lsitc.fems.comm.base.vo.WorkCaldVo;
|
||||
|
||||
|
||||
@Service
|
||||
public class MenuMngSvc extends BaseSvc {
|
||||
/**
|
||||
* @methodName : selectMenu
|
||||
* @date : 2021.06.07
|
||||
* @desc : 메뉴 조회
|
||||
* @param paramMap
|
||||
* @return
|
||||
*/
|
||||
public List<MenuVo> selectMenu(HashMap<String, Object> param){
|
||||
return dao.selectList("comm.base.menuMng.selectCommMenuTree", param);
|
||||
}
|
||||
|
||||
/**
|
||||
* @methodName : saveMenu
|
||||
* @date : 2021.06.07
|
||||
* @desc : 메뉴 저장
|
||||
* @param paramMap
|
||||
* @return
|
||||
*/
|
||||
@Transactional
|
||||
public void saveMenu(List<MenuVo> menuList) {
|
||||
for(MenuVo eachRow : menuList ) {
|
||||
switch (eachRow.getRowStat()) {
|
||||
case RowType.INSERT:
|
||||
dao.insert("comm.base.menuMng.insertMenu", eachRow);
|
||||
break;
|
||||
case RowType.UPDATE:
|
||||
dao.update("comm.base.menuMng.updateMenu", eachRow);
|
||||
break;
|
||||
case RowType.DELETE:
|
||||
dao.delete("comm.base.menuMng.deleteMenu", eachRow);
|
||||
break;
|
||||
default :
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* @methodName : selectMenuPop
|
||||
* @date : 2021.06.07
|
||||
* @desc : (팝업)메뉴 조회
|
||||
* @param paramMap
|
||||
* @return
|
||||
*/
|
||||
public Object selectMenuPop(HashMap<String, Object> params) {
|
||||
return dao.selectList("comm.base.menuMng.selectMenuPop", params);
|
||||
}
|
||||
|
||||
|
||||
//FIXME 이거 수정할 것!
|
||||
public List<CommMenuVo> selectAuthMenu() {
|
||||
return dao.selectList("comm.base.menuMng.selectAuthMenu", new HashMap<String, Object>());
|
||||
}
|
||||
//FIXME 이거 수정할 것!
|
||||
public List<CommMenuVo> selectAuthMenu(String userId) {
|
||||
//FIXME ???
|
||||
//최초 로그인 시에는 session이 없어 userID를 넣는다..
|
||||
return dao.selectList("comm.base.menuMng.selectAuthMenu", userId);
|
||||
}
|
||||
|
||||
public void saveBookmark(List<MenuVo> ds) {
|
||||
for(MenuVo eachRow : ds ) {
|
||||
dao.update("comm.base.menuMng.saveBookmark", eachRow);
|
||||
}
|
||||
}
|
||||
|
||||
public void deleteBookmark(List<MenuVo> ds) {
|
||||
for(MenuVo eachRow : ds ) {
|
||||
dao.update("comm.base.menuMng.deleteBookmark", eachRow);
|
||||
}
|
||||
}
|
||||
|
||||
public List<CommMenuVo> selectMyMenu(HashMap<String, Object> params) {
|
||||
return dao.selectList("comm.base.menuMng.selectMyMenu", params);
|
||||
}
|
||||
}
|
132
src/main/java/com/lsitc/fems/comm/base/service/NoticeMngSvc.java
Normal file
132
src/main/java/com/lsitc/fems/comm/base/service/NoticeMngSvc.java
Normal file
@ -0,0 +1,132 @@
|
||||
/*
|
||||
* 상기 프로그램에 대한 저작권을 포함한 지적재산권은 LS ITC에 있으며,
|
||||
* LS ITC가 명시적으로 허용하지 않은 사용, 복사, 변경, 제3자에의 공개, 배포는 엄격히 금지되며,
|
||||
* LS ITC의 지적재산권 침해에 해당됩니다.
|
||||
* (Copyright ⓒ 2021 LS ITC. All Rights Reserved| Confidential)
|
||||
*
|
||||
* You are strictly prohibited to copy, disclose, distribute, modify, or use
|
||||
* this program in part or as a whole without the prior written consent of
|
||||
* LS ITC Business unit. LS ITC Business unit., owns the intellectual property rights in
|
||||
* and to this program.
|
||||
* (Copyright ⓒ 2021 LS ITC Business unit. All Rights Reserved| Confidential)
|
||||
* Author : LS ITC
|
||||
* Created : 2021-04-23 17:58:11
|
||||
*/
|
||||
package com.lsitc.fems.comm.base.service;
|
||||
|
||||
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
|
||||
import org.springframework.stereotype.Service;
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
|
||||
import com.lsitc.core.base.BaseSvc;
|
||||
import com.lsitc.core.base.CamelHashMap;
|
||||
|
||||
|
||||
@Service
|
||||
public class NoticeMngSvc extends BaseSvc {
|
||||
/**
|
||||
* @methodName : selectPost
|
||||
* @date : 2021.07.28
|
||||
* @desc : 게시물 목록 조회
|
||||
* @param paramMap
|
||||
* @return
|
||||
*/
|
||||
public List<CamelHashMap> selectPostList(HashMap<String, Object> param){
|
||||
return dao.selectList("comm.base.noticeMng.selectPostList", param);
|
||||
}
|
||||
|
||||
/**
|
||||
* @methodName : selectPost
|
||||
* @date : 2021.07.28
|
||||
* @desc : 게시물 조회
|
||||
* @param paramMap
|
||||
* @return
|
||||
*/
|
||||
public List<CamelHashMap> selectPost(HashMap<String, Object> param){
|
||||
return dao.selectList("comm.base.noticeMng.selectPost", param);
|
||||
}
|
||||
|
||||
/**
|
||||
* @methodName : insertPost
|
||||
* @date : 2021.07.28
|
||||
* @desc : 게시물 입력
|
||||
* @param paramMap
|
||||
* @return
|
||||
*/
|
||||
public void insertPost(HashMap<String, Object> param) {
|
||||
// logger.debug("parameter...");
|
||||
// Iterator it = param.entrySet().iterator();
|
||||
// while (it.hasNext()) {
|
||||
// Map.Entry pair = (Map.Entry)it.next();
|
||||
// logger.info(pair.getKey() + " = " + pair.getValue());
|
||||
// }
|
||||
dao.insert("comm.base.noticeMng.insertPost", param);
|
||||
}
|
||||
|
||||
/**
|
||||
* @methodName : insertRplPost
|
||||
* @date : 2021.07.28
|
||||
* @desc : 게시물 답글 입력
|
||||
* @param paramMap
|
||||
* @return
|
||||
*/
|
||||
public void insertRplPost(HashMap<String, Object> param) {
|
||||
dao.insert("comm.base.noticeMng.insertRplPost", param);
|
||||
}
|
||||
|
||||
/**
|
||||
* @methodName : updatePost
|
||||
* @date : 2021.07.28
|
||||
* @desc : 게시물 수정
|
||||
* @param paramMap
|
||||
* @return
|
||||
*/
|
||||
public void updatePost(HashMap<String, Object> param) {
|
||||
dao.update("comm.base.noticeMng.updatePost", param);
|
||||
}
|
||||
|
||||
/**
|
||||
* @methodName : updateRplPostGrpOrd
|
||||
* @date : 2021.07.28
|
||||
* @desc : 게시물 답글 추가될때 POST_GRP_ORD UPDATE
|
||||
* @param paramMap
|
||||
* @return
|
||||
*/
|
||||
public void updateRplPostGrpOrd(HashMap<String, Object> param) {
|
||||
dao.update("comm.base.noticeMng.updateRplPostGrpOrd", param);
|
||||
}
|
||||
|
||||
/**
|
||||
* @methodName : updateViewCnt
|
||||
* @date : 2021.07.28
|
||||
* @desc : 게시물 조회수 업데이트
|
||||
* @param paramMap
|
||||
* @return
|
||||
*/
|
||||
public void updateViewCnt(HashMap<String, Object> param) {
|
||||
dao.update("comm.base.noticeMng.updateViewCnt", param);
|
||||
}
|
||||
|
||||
/**
|
||||
*
|
||||
* @methodName : deletePostList
|
||||
* @date : 2021.07.13
|
||||
* @desc : 게시물 삭제
|
||||
* @param paramMap
|
||||
* @return
|
||||
*/
|
||||
@Transactional
|
||||
public void deletePost(HashMap<String, Object> param){
|
||||
//logger.debug("###########param : {}", param);
|
||||
dao.delete("comm.base.noticeMng.deletePost", param);
|
||||
//if(param.get("apndFileUuid").toString() != null || param.get("apndFileUuid").toString() != ""){
|
||||
if(param.get("apndFileUuid") != null || param.get("apndFileUuid") != ""){
|
||||
dao.delete("comm.base.apndFile.deleteCommApndFileGrp", param);
|
||||
dao.delete("comm.base.apndFile.deleteCommApndFile", param);
|
||||
}
|
||||
}
|
||||
|
||||
}
|
@ -0,0 +1,63 @@
|
||||
/*
|
||||
* 상기 프로그램에 대한 저작권을 포함한 지적재산권은 LS ITC에 있으며,
|
||||
* LS ITC가 명시적으로 허용하지 않은 사용, 복사, 변경, 제3자에의 공개, 배포는 엄격히 금지되며,
|
||||
* LS ITC의 지적재산권 침해에 해당됩니다.
|
||||
* (Copyright ⓒ 2021 LS ITC. All Rights Reserved| Confidential)
|
||||
*
|
||||
* You are strictly prohibited to copy, disclose, distribute, modify, or use
|
||||
* this program in part or as a whole without the prior written consent of
|
||||
* LS ITC Business unit. LS ITC Business unit., owns the intellectual property rights in
|
||||
* and to this program.
|
||||
* (Copyright ⓒ 2021 LS ITC Business unit. All Rights Reserved| Confidential)
|
||||
* Author : LS ITC
|
||||
* Created : 2021-04-23 17:58:11
|
||||
*/
|
||||
package com.lsitc.fems.comm.base.service;
|
||||
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
|
||||
import org.springframework.stereotype.Service;
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
|
||||
import com.lsitc.core.base.BaseSvc;
|
||||
import com.lsitc.fems.comm.base.vo.DeptCdVo;
|
||||
|
||||
@Service
|
||||
public class OrgMngSvc extends BaseSvc {
|
||||
|
||||
/**
|
||||
* @methodName : selectDeptCd
|
||||
* @date : 2021.06.07
|
||||
* @desc : 부서코드 조회
|
||||
* @param paramMap
|
||||
* @return
|
||||
*/
|
||||
public List<DeptCdVo> selectDeptCd(HashMap<String, Object> param){
|
||||
return dao.selectList("comm.base.orgMng.selectDeptCd", param);
|
||||
}
|
||||
|
||||
/**
|
||||
* @methodName : saveDeptCd
|
||||
* @date : 2021.06.07
|
||||
* @desc : 부서코드 저장
|
||||
* @param paramMap
|
||||
* @return
|
||||
*/
|
||||
@Transactional
|
||||
public void saveDeptCd(List<DeptCdVo> deptCdList) {
|
||||
for(DeptCdVo eachRow : deptCdList ) {
|
||||
switch (eachRow.getRowStat()) {
|
||||
case RowType.INSERT:
|
||||
dao.insert("comm.base.orgMng.insertDeptCd", eachRow);
|
||||
break;
|
||||
case RowType.UPDATE:
|
||||
dao.update("comm.base.orgMng.updateDeptCd", eachRow);
|
||||
break;
|
||||
case RowType.DELETE:
|
||||
dao.delete("comm.base.orgMng.deleteDeptCd", eachRow);
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
@ -0,0 +1,88 @@
|
||||
/*
|
||||
* 상기 프로그램에 대한 저작권을 포함한 지적재산권은 LS ITC에 있으며,
|
||||
* LS ITC가 명시적으로 허용하지 않은 사용, 복사, 변경, 제3자에의 공개, 배포는 엄격히 금지되며,
|
||||
* LS ITC의 지적재산권 침해에 해당됩니다.
|
||||
* (Copyright ⓒ 2021 LS ITC. All Rights Reserved| Confidential)
|
||||
*
|
||||
* You are strictly prohibited to copy, disclose, distribute, modify, or use
|
||||
* this program in part or as a whole without the prior written consent of
|
||||
* LS ITC Business unit. LS ITC Business unit., owns the intellectual property rights in
|
||||
* and to this program.
|
||||
* (Copyright ⓒ 2021 LS ITC Business unit. All Rights Reserved| Confidential)
|
||||
* Author : LS ITC
|
||||
* Created : 2021-04-23 17:58:11
|
||||
*/
|
||||
package com.lsitc.fems.comm.base.service;
|
||||
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
|
||||
import org.springframework.stereotype.Service;
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
|
||||
import com.lsitc.core.base.BaseSvc;
|
||||
import com.lsitc.fems.comm.base.vo.PrgmVo;
|
||||
|
||||
@Service
|
||||
public class PrgmMngSvc extends BaseSvc {
|
||||
|
||||
/**
|
||||
* @methodName : selectPrgm
|
||||
* @date : 2021.04.26
|
||||
* @desc : 프로그램 조회
|
||||
* @param param
|
||||
* @return
|
||||
*/
|
||||
public List<PrgmVo> selectPrgm(HashMap<String, Object> param){
|
||||
return dao.selectList("comm.base.prgmMng.selectPrgm", param);
|
||||
}
|
||||
|
||||
/**
|
||||
* @methodName : savePrgm
|
||||
* @date : 2021.04.26
|
||||
* @desc : 프로그램 저장
|
||||
* @param prgmList
|
||||
*/
|
||||
@Transactional
|
||||
public void savePrgm(List<PrgmVo> prgmList) {
|
||||
for(PrgmVo eachRow : prgmList ) {
|
||||
switch (eachRow.getRowStat()) {
|
||||
case RowType.INSERT:
|
||||
dao.insert("comm.base.prgmMng.insertPrgm", eachRow);
|
||||
break;
|
||||
case RowType.UPDATE:
|
||||
dao.update("comm.base.prgmMng.updatePrgm", eachRow);
|
||||
break;
|
||||
case RowType.DELETE:
|
||||
dao.delete("comm.base.prgmMng.deletePrgm", eachRow);
|
||||
break;
|
||||
default :
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* @methodName : selectPrgmPage
|
||||
* @date : 2022.10.15
|
||||
* @desc : 프로그램 페이지 조회
|
||||
* @param param
|
||||
* @return
|
||||
*/
|
||||
public List<PrgmVo> selectPrgmPage(HashMap<String, Object> param){
|
||||
return dao.selectList("comm.base.prgmMng.selectPrgmPage", param);
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* @methodName : selectPrgmTotal
|
||||
* @date : 2022.10.15
|
||||
* @desc : 프로그램 토탈 조회
|
||||
* @param param
|
||||
* @return
|
||||
*/
|
||||
public List<PrgmVo> selectPrgmTotal(HashMap<String, Object> param){
|
||||
return dao.selectList("comm.base.prgmMng.selectPrgmTotal", param);
|
||||
}
|
||||
|
||||
}
|
@ -0,0 +1,107 @@
|
||||
/*
|
||||
* 상기 프로그램에 대한 저작권을 포함한 지적재산권은 LS ITC에 있으며,
|
||||
* LS ITC가 명시적으로 허용하지 않은 사용, 복사, 변경, 제3자에의 공개, 배포는 엄격히 금지되며,
|
||||
* LS ITC의 지적재산권 침해에 해당됩니다.
|
||||
* (Copyright ⓒ 2021 LS ITC. All Rights Reserved| Confidential)
|
||||
*
|
||||
* You are strictly prohibited to copy, disclose, distribute, modify, or use
|
||||
* this program in part or as a whole without the prior written consent of
|
||||
* LS ITC Business unit. LS ITC Business unit., owns the intellectual property rights in
|
||||
* and to this program.
|
||||
* (Copyright ⓒ 2021 LS ITC Business unit. All Rights Reserved| Confidential)
|
||||
* Author : LS ITC
|
||||
* Created : 2021-04-23 17:58:11
|
||||
*/
|
||||
package com.lsitc.fems.comm.base.service;
|
||||
|
||||
import java.util.HashMap;
|
||||
import java.util.Map;
|
||||
import java.util.UUID;
|
||||
|
||||
import org.springframework.beans.factory.annotation.Value;
|
||||
import org.springframework.stereotype.Service;
|
||||
import org.springframework.transaction.annotation.Propagation;
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
|
||||
import com.lsitc.core.base.BaseSvc;
|
||||
|
||||
@Service
|
||||
public class SystemLogReadSvc extends BaseSvc {
|
||||
private static Boolean LOGIN_LOG_ENABLE = false;
|
||||
private static Boolean MENU_CNCT_LOG_ENABLE = false;
|
||||
|
||||
@Value("${logging.loginLogEnable:false}")
|
||||
private void setLoginLogEnable(Boolean loginLogEnable) {
|
||||
LOGIN_LOG_ENABLE = loginLogEnable;
|
||||
}
|
||||
|
||||
@Value("${logging.menuCnctLogEnable:FEMS_SESSION}")
|
||||
private void setMenuCnctLogEnable(Boolean menuCnctLogEnable) {
|
||||
MENU_CNCT_LOG_ENABLE = menuCnctLogEnable;
|
||||
}
|
||||
|
||||
/**
|
||||
* @methodName : selectMenuCnctLog
|
||||
* @date : 2021.05.04
|
||||
* @desc : 로그인로그 조회
|
||||
* @param params
|
||||
* @return
|
||||
*/
|
||||
public Object selectLoginLog(HashMap<String, Object> paramMap) {
|
||||
return dao.selectList("comm.base.SystemLogRead.selectLoginLog", paramMap);
|
||||
}
|
||||
|
||||
/**
|
||||
* @methodName : selectMenuCnctLog
|
||||
* @date : 2021.05.04
|
||||
* @desc : 메뉴접근로그 조회
|
||||
* @param params
|
||||
* @return
|
||||
*/
|
||||
public Object selectMenuCnctLog(HashMap<String, Object> paramMap) {
|
||||
return dao.selectList("comm.base.SystemLogRead.selectMenuCnctLog", paramMap);
|
||||
}
|
||||
|
||||
/**
|
||||
* @param loginInfo
|
||||
* @methodName : saveLoginLog
|
||||
* @date : 2021.05.04
|
||||
* @desc : 로그인로그 저장
|
||||
*/
|
||||
@Transactional(propagation = Propagation.REQUIRES_NEW)
|
||||
public void saveLoginLog(Map<String, Object> loginInfo) {
|
||||
if( LOGIN_LOG_ENABLE ) {
|
||||
Map<String, Object> paramMap = new HashMap<String, Object>();
|
||||
paramMap.putAll(loginInfo); //loginInfo에 put이 안되는 문제로 인해 새로운 map에 옮김.
|
||||
paramMap.put("logId", getUUID());
|
||||
dao.insert("comm.base.SystemLogRead.insertLoginLog", paramMap);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* @methodName : saveMenuCnctLog
|
||||
* @date : 2021.05.04
|
||||
* @desc : 메뉴접근로그 저장
|
||||
* @param menuId
|
||||
*/
|
||||
@Transactional(propagation = Propagation.REQUIRES_NEW)
|
||||
public void saveMenuCnctLog(String menuId) {
|
||||
if( MENU_CNCT_LOG_ENABLE ) {
|
||||
Map<String, Object> paramMap = new HashMap<String, Object>();
|
||||
paramMap.put("logId", getUUID());
|
||||
paramMap.put("menuId", menuId);
|
||||
dao.insert("comm.base.SystemLogRead.insertMenuCnctLog", paramMap);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* @methodName : getUUID
|
||||
* @date : 2021.05.04
|
||||
* @desc : UUID반환
|
||||
* @return
|
||||
*/
|
||||
private String getUUID() {
|
||||
String uuid = UUID.randomUUID().toString();
|
||||
return uuid.replaceAll("-", "");
|
||||
}
|
||||
}
|
117
src/main/java/com/lsitc/fems/comm/base/service/WidgetMngSvc.java
Normal file
117
src/main/java/com/lsitc/fems/comm/base/service/WidgetMngSvc.java
Normal file
@ -0,0 +1,117 @@
|
||||
/*
|
||||
* 상기 프로그램에 대한 저작권을 포함한 지적재산권은 LS ITC에 있으며,
|
||||
* LS ITC가 명시적으로 허용하지 않은 사용, 복사, 변경, 제3자에의 공개, 배포는 엄격히 금지되며,
|
||||
* LS ITC의 지적재산권 침해에 해당됩니다.
|
||||
* (Copyright ⓒ 2021 LS ITC. All Rights Reserved| Confidential)
|
||||
*
|
||||
* You are strictly prohibited to copy, disclose, distribute, modify, or use
|
||||
* this program in part or as a whole without the prior written consent of
|
||||
* LS ITC Business unit. LS ITC Business unit., owns the intellectual property rights in
|
||||
* and to this program.
|
||||
* (Copyright ⓒ 2021 LS ITC Business unit. All Rights Reserved| Confidential)
|
||||
* Author : LS ITC
|
||||
* Created : 2021-04-23 17:58:11
|
||||
*/
|
||||
package com.lsitc.fems.comm.base.service;
|
||||
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
|
||||
import org.springframework.stereotype.Service;
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
|
||||
import com.lsitc.core.base.BaseSvc;
|
||||
import com.lsitc.fems.comm.base.vo.WidgetVo;
|
||||
|
||||
@Service
|
||||
public class WidgetMngSvc extends BaseSvc {
|
||||
|
||||
/**
|
||||
* @methodName : selectWidget
|
||||
* @date : 2022.05.31
|
||||
* @desc : 프로그램 조회
|
||||
* @param param
|
||||
* @return
|
||||
*/
|
||||
public List<WidgetVo> selectWidget(HashMap<String, Object> param){
|
||||
return dao.selectList("comm.base.widgetMng.selectWidget", param);
|
||||
}
|
||||
|
||||
/**
|
||||
* @methodName : saveWidget
|
||||
* @date : 2022.05.31
|
||||
* @desc : 프로그램 저장
|
||||
* @param prgmList
|
||||
*/
|
||||
@Transactional
|
||||
public void saveWidget(List<WidgetVo> prgmList) {
|
||||
for(WidgetVo eachRow : prgmList ) {
|
||||
switch (eachRow.getRowStat()) {
|
||||
case RowType.INSERT:
|
||||
dao.insert("comm.base.widgetMng.insertWidget", eachRow);
|
||||
break;
|
||||
case RowType.UPDATE:
|
||||
dao.update("comm.base.widgetMng.updateWidget", eachRow);
|
||||
break;
|
||||
case RowType.DELETE:
|
||||
dao.delete("comm.base.widgetMng.deleteWidget", eachRow);
|
||||
break;
|
||||
default :
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* @methodName : selectNotMyWidget
|
||||
* @date : 2022.05.31
|
||||
* @desc : 프로그램 조회
|
||||
* @param param
|
||||
* @return
|
||||
*/
|
||||
public Object selectNotMyWidget(HashMap<String, Object> params) {
|
||||
return dao.selectList("comm.base.widgetMng.selectNotMyWidget", params);
|
||||
}
|
||||
|
||||
/**
|
||||
* @methodName : selectMyWidget
|
||||
* @date : 2022.05.31
|
||||
* @desc : 프로그램 조회
|
||||
* @param param
|
||||
* @return
|
||||
*/
|
||||
public Object selectMyWidget(HashMap<String, Object> params) {
|
||||
return dao.selectList("comm.base.widgetMng.selectMyWidget", params);
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* @methodName : saveMyWidget
|
||||
* @date : 2022.05.31
|
||||
* @desc : 프로그램 저장
|
||||
* @param prgmList
|
||||
*/
|
||||
@Transactional
|
||||
public void saveMyWidget(List<WidgetVo> prgmList) {
|
||||
for(WidgetVo eachRow : prgmList ) {
|
||||
switch (eachRow.getRowStat()) {
|
||||
case RowType.INSERT:
|
||||
dao.insert("comm.base.widgetMng.insertMyWidget", eachRow);
|
||||
break;
|
||||
case RowType.UPDATE:
|
||||
dao.update("comm.base.widgetMng.updateMyWidget", eachRow);
|
||||
break;
|
||||
case RowType.DELETE:
|
||||
dao.delete("comm.base.widgetMng.deleteMyWidget", eachRow);
|
||||
break;
|
||||
default :
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public Object selectWidgetPrgmUrl(HashMap<String, Object> params) {
|
||||
return dao.selectList("comm.base.widgetMng.selectWidgetPrgmUrl", params);
|
||||
}
|
||||
|
||||
}
|
36
src/main/java/com/lsitc/fems/comm/base/vo/ApndFileGrpVo.java
Normal file
36
src/main/java/com/lsitc/fems/comm/base/vo/ApndFileGrpVo.java
Normal file
@ -0,0 +1,36 @@
|
||||
/*
|
||||
* 상기 프로그램에 대한 저작권을 포함한 지적재산권은 LS ITC에 있으며,
|
||||
* LS ITC가 명시적으로 허용하지 않은 사용, 복사, 변경, 제3자에의 공개, 배포는 엄격히 금지되며,
|
||||
* LS ITC의 지적재산권 침해에 해당됩니다.
|
||||
* (Copyright ⓒ 2021 LS ITC. All Rights Reserved| Confidential)
|
||||
*
|
||||
* You are strictly prohibited to copy, disclose, distribute, modify, or use
|
||||
* this program in part or as a whole without the prior written consent of
|
||||
* LS ITC Business unit. LS ITC Business unit., owns the intellectual property rights in
|
||||
* and to this program.
|
||||
* (Copyright ⓒ 2021 LS ITC Business unit. All Rights Reserved| Confidential)
|
||||
* Author : LS ITC
|
||||
* Created : 2021-04-23 17:58:11
|
||||
*/
|
||||
package com.lsitc.fems.comm.base.vo;
|
||||
|
||||
|
||||
import com.lsitc.core.base.BaseVo;
|
||||
|
||||
import lombok.Getter;
|
||||
import lombok.Setter;
|
||||
|
||||
@Getter
|
||||
@Setter
|
||||
public class ApndFileGrpVo extends BaseVo<ApndFileGrpVo> {
|
||||
|
||||
private String apndFileUuid; // APND_FILE_UUID (첨부파일UUID)
|
||||
|
||||
private String menuId; // MENU_ID (메뉴ID)
|
||||
|
||||
private String useTableNm; // USE_TABLE_NM (사용테이블명)
|
||||
|
||||
private String useFg; // USE_FG (사용여부)
|
||||
|
||||
private String rmrk; // RMRK (비고)
|
||||
}
|
46
src/main/java/com/lsitc/fems/comm/base/vo/ApndFileVo.java
Normal file
46
src/main/java/com/lsitc/fems/comm/base/vo/ApndFileVo.java
Normal file
@ -0,0 +1,46 @@
|
||||
/*
|
||||
* 상기 프로그램에 대한 저작권을 포함한 지적재산권은 LS ITC에 있으며,
|
||||
* LS ITC가 명시적으로 허용하지 않은 사용, 복사, 변경, 제3자에의 공개, 배포는 엄격히 금지되며,
|
||||
* LS ITC의 지적재산권 침해에 해당됩니다.
|
||||
* (Copyright ⓒ 2021 LS ITC. All Rights Reserved| Confidential)
|
||||
*
|
||||
* You are strictly prohibited to copy, disclose, distribute, modify, or use
|
||||
* this program in part or as a whole without the prior written consent of
|
||||
* LS ITC Business unit. LS ITC Business unit., owns the intellectual property rights in
|
||||
* and to this program.
|
||||
* (Copyright ⓒ 2021 LS ITC Business unit. All Rights Reserved| Confidential)
|
||||
* Author : LS ITC
|
||||
* Created : 2021-04-23 17:58:11
|
||||
*/
|
||||
package com.lsitc.fems.comm.base.vo;
|
||||
|
||||
|
||||
import java.math.BigDecimal;
|
||||
|
||||
import com.lsitc.core.base.BaseVo;
|
||||
|
||||
import lombok.Getter;
|
||||
import lombok.Setter;
|
||||
|
||||
@Getter
|
||||
@Setter
|
||||
public class ApndFileVo extends BaseVo<ApndFileVo> {
|
||||
|
||||
private String apndFileUuid; // APND_FILE_UUID (첨부파일UUID)
|
||||
|
||||
private String apndFileId; // APND_FILE_ID (첨부파일ID(UUID))
|
||||
|
||||
private String apndFileNm; // APND_FILE_NM (첨부파일명)
|
||||
|
||||
private String apndFileExt; // APND_FILE_EXT (첨부파일확장자)
|
||||
|
||||
private BigDecimal apndFileSize; // APND_FILE_SIZE (첨부파일사이즈)
|
||||
|
||||
private String apndFilePath; // APND_FILE_PATH (첨부파일경로)
|
||||
|
||||
private String useFg; // USE_FG (사용여부)
|
||||
|
||||
private BigDecimal sortSeq; // SORT_SEQ (정렬순서)
|
||||
|
||||
private String rmrk; // RMRK (비고)
|
||||
}
|
46
src/main/java/com/lsitc/fems/comm/base/vo/BatchLogVo.java
Normal file
46
src/main/java/com/lsitc/fems/comm/base/vo/BatchLogVo.java
Normal file
@ -0,0 +1,46 @@
|
||||
/*
|
||||
* 상기 프로그램에 대한 저작권을 포함한 지적재산권은 LS ITC에 있으며,
|
||||
* LS ITC가 명시적으로 허용하지 않은 사용, 복사, 변경, 제3자에의 공개, 배포는 엄격히 금지되며,
|
||||
* LS ITC의 지적재산권 침해에 해당됩니다.
|
||||
* (Copyright ⓒ 2021 LS ITC. All Rights Reserved| Confidential)
|
||||
*
|
||||
* You are strictly prohibited to copy, disclose, distribute, modify, or use
|
||||
* this program in part or as a whole without the prior written consent of
|
||||
* LS ITC Business unit. LS ITC Business unit., owns the intellectual property rights in
|
||||
* and to this program.
|
||||
* (Copyright ⓒ 2021 LS ITC Business unit. All Rights Reserved| Confidential)
|
||||
* Author : LS ITC
|
||||
* Created : 2021-04-23 17:58:11
|
||||
*/
|
||||
package com.lsitc.fems.comm.base.vo;
|
||||
|
||||
|
||||
import java.util.Date;
|
||||
|
||||
import com.lsitc.core.base.BaseVo;
|
||||
|
||||
import lombok.Getter;
|
||||
import lombok.Setter;
|
||||
|
||||
@Getter
|
||||
@Setter
|
||||
public class BatchLogVo extends BaseVo<BatchLogVo> {
|
||||
|
||||
private Integer batchLogSeq; // BATCH_LOG_SEQ (배치 로그 순번)
|
||||
|
||||
private String batchId; // BATCH_ID (배치 ID)
|
||||
|
||||
private String batchNm; // BATCH_NM (배치명)
|
||||
|
||||
private String execDt; // EXEC_DT (실행 일자)
|
||||
|
||||
private String execRsltCd; // EXEC_RSLT_CD (실행 결과 코드)
|
||||
|
||||
private String execLogCont1; // EXEC_LOG_CONT_1 (실행 로그 1)
|
||||
|
||||
private String execLogCont2; // EXEC_LOG_CONT_2 (실행 로그 2)
|
||||
|
||||
private Date batchStrtDttm; // BATCH_STRT_DTTM (배치 시작 일시)
|
||||
|
||||
private Date batchEndDttm; // BATCH_END_DTTM (배치 종료 일시)
|
||||
}
|
62
src/main/java/com/lsitc/fems/comm/base/vo/BatchMngVo.java
Normal file
62
src/main/java/com/lsitc/fems/comm/base/vo/BatchMngVo.java
Normal file
@ -0,0 +1,62 @@
|
||||
/*
|
||||
* 상기 프로그램에 대한 저작권을 포함한 지적재산권은 LS ITC에 있으며,
|
||||
* LS ITC가 명시적으로 허용하지 않은 사용, 복사, 변경, 제3자에의 공개, 배포는 엄격히 금지되며,
|
||||
* LS ITC의 지적재산권 침해에 해당됩니다.
|
||||
* (Copyright ⓒ 2021 LS ITC. All Rights Reserved| Confidential)
|
||||
*
|
||||
* You are strictly prohibited to copy, disclose, distribute, modify, or use
|
||||
* this program in part or as a whole without the prior written consent of
|
||||
* LS ITC Business unit. LS ITC Business unit., owns the intellectual property rights in
|
||||
* and to this program.
|
||||
* (Copyright ⓒ 2021 LS ITC Business unit. All Rights Reserved| Confidential)
|
||||
* Author : LS ITC
|
||||
* Created : 2021-04-23 17:58:11
|
||||
*/
|
||||
package com.lsitc.fems.comm.base.vo;
|
||||
|
||||
|
||||
import com.lsitc.core.base.BaseVo;
|
||||
|
||||
import lombok.Getter;
|
||||
import lombok.Setter;
|
||||
|
||||
@Getter
|
||||
@Setter
|
||||
public class BatchMngVo extends BaseVo<BatchMngVo> {
|
||||
|
||||
private String batchId; // BATCH_ID (배치 ID)
|
||||
|
||||
private String batchNm; // BATCH_NM (배치명)
|
||||
|
||||
private String batchExecTp; // BATCH_EXEC_TP (배치 실행 구분)
|
||||
|
||||
private String batchDupExecFg; // BATCH_DUP_EXEC_FG (배치 중복 실행 여부)
|
||||
|
||||
private String execCyclSecVal; // EXEC_CYCL_SEC_VAL (실행주가(초))
|
||||
|
||||
private String execCyclMinVal; // EXEC_CYCL_MIN_VAL (실행주기(분))
|
||||
|
||||
private String execCyclHhVal; // EXEC_CYCL_HH_VAL (실행주기(시간))
|
||||
|
||||
private String execCyclDdVal; // EXEC_CYCL_DD_VAL (실행주기(일))
|
||||
|
||||
private String execCyclMmVal; // EXEC_CYCL_MM_VAL (실행주기(월))
|
||||
|
||||
private String execCyclWdayVal; // EXEC_CYCL_WDAY_VAL (실행주기(요일))
|
||||
|
||||
private String execCyclYyyyVal; // EXEC_CYCL_YYYY_VAL (실행주기(년))
|
||||
|
||||
private String execCmnd; // EXEC_CMND (실행 명령)
|
||||
|
||||
private String execCmndPath; // EXEC_CMND_PATH (실행 명령 경로)
|
||||
|
||||
private String fllwBatchId; // FLLW_BATCH_ID (후속배치ID)
|
||||
|
||||
private String refVal1; // REF_VAL_1 (참조값 1)
|
||||
|
||||
private String refVal2; // REF_VAL_2 (참조값 2)
|
||||
|
||||
private String refVal3; // REF_VAL_3 (참조값 3)
|
||||
|
||||
private String useFg; // USE_FG (사용여부)
|
||||
}
|
33
src/main/java/com/lsitc/fems/comm/base/vo/BlocMstrVo.java
Normal file
33
src/main/java/com/lsitc/fems/comm/base/vo/BlocMstrVo.java
Normal file
@ -0,0 +1,33 @@
|
||||
/*
|
||||
* 상기 프로그램에 대한 저작권을 포함한 지적재산권은 LS ITC에 있으며,
|
||||
* LS ITC가 명시적으로 허용하지 않은 사용, 복사, 변경, 제3자에의 공개, 배포는 엄격히 금지되며,
|
||||
* LS ITC의 지적재산권 침해에 해당됩니다.
|
||||
* (Copyright ⓒ 2021 LS ITC. All Rights Reserved| Confidential)
|
||||
*
|
||||
* You are strictly prohibited to copy, disclose, distribute, modify, or use
|
||||
* this program in part or as a whole without the prior written consent of
|
||||
* LS ITC Business unit. LS ITC Business unit., owns the intellectual property rights in
|
||||
* and to this program.
|
||||
* (Copyright ⓒ 2021 LS ITC Business unit. All Rights Reserved| Confidential)
|
||||
* Author : LS ITC
|
||||
* Created : 2021-04-23 17:58:11
|
||||
*/
|
||||
package com.lsitc.fems.comm.base.vo;
|
||||
|
||||
import com.lsitc.core.base.BaseVo;
|
||||
|
||||
import lombok.Getter;
|
||||
import lombok.Setter;
|
||||
|
||||
@Getter
|
||||
@Setter
|
||||
public class BlocMstrVo extends BaseVo<BlocMstrVo> {
|
||||
|
||||
private String comId; // COM_ID (회사코드)
|
||||
private String blocId; // BLOC_ID (사업장코드)
|
||||
private String blocNm; //BLOC_NM (사업장명)
|
||||
private String plcId; // PLC_ID (위치ID)
|
||||
private String sortSeq; //SORT_SEQ (순서)
|
||||
private String useFg; //USE_FG (사용여부)
|
||||
|
||||
}
|
36
src/main/java/com/lsitc/fems/comm/base/vo/ComIdVo.java
Normal file
36
src/main/java/com/lsitc/fems/comm/base/vo/ComIdVo.java
Normal file
@ -0,0 +1,36 @@
|
||||
/*
|
||||
* 상기 프로그램에 대한 저작권을 포함한 지적재산권은 LS ITC에 있으며,
|
||||
* LS ITC가 명시적으로 허용하지 않은 사용, 복사, 변경, 제3자에의 공개, 배포는 엄격히 금지되며,
|
||||
* LS ITC의 지적재산권 침해에 해당됩니다.
|
||||
* (Copyright ⓒ 2021 LS ITC. All Rights Reserved| Confidential)
|
||||
*
|
||||
* You are strictly prohibited to copy, disclose, distribute, modify, or use
|
||||
* this program in part or as a whole without the prior written consent of
|
||||
* LS ITC Business unit. LS ITC Business unit., owns the intellectual property rights in
|
||||
* and to this program.
|
||||
* (Copyright ⓒ 2021 LS ITC Business unit. All Rights Reserved| Confidential)
|
||||
* Author : LS ITC
|
||||
* Created : 2021-04-23 17:58:11
|
||||
*/
|
||||
package com.lsitc.fems.comm.base.vo;
|
||||
|
||||
|
||||
import com.lsitc.core.base.BaseVo;
|
||||
|
||||
import lombok.Getter;
|
||||
import lombok.Setter;
|
||||
|
||||
@Getter
|
||||
@Setter
|
||||
public class ComIdVo extends BaseVo<ComIdVo> {
|
||||
|
||||
private String comId; // COM_ID (회사코드)
|
||||
|
||||
private String comNm; // COM_NM (회사명)
|
||||
|
||||
private String comAbbrnm; // COM_ABBRNM (회사약칭)
|
||||
|
||||
private String useFg; // USE_FG (사용여부)
|
||||
|
||||
private String rmrk; // RMRK (비고)
|
||||
}
|
39
src/main/java/com/lsitc/fems/comm/base/vo/CommCdVo.java
Normal file
39
src/main/java/com/lsitc/fems/comm/base/vo/CommCdVo.java
Normal file
@ -0,0 +1,39 @@
|
||||
/*
|
||||
* 상기 프로그램에 대한 저작권을 포함한 지적재산권은 LS ITC에 있으며,
|
||||
* LS ITC가 명시적으로 허용하지 않은 사용, 복사, 변경, 제3자에의 공개, 배포는 엄격히 금지되며,
|
||||
* LS ITC의 지적재산권 침해에 해당됩니다.
|
||||
* (Copyright ⓒ 2021 LS ITC. All Rights Reserved| Confidential)
|
||||
*
|
||||
* You are strictly prohibited to copy, disclose, distribute, modify, or use
|
||||
* this program in part or as a whole without the prior written consent of
|
||||
* LS ITC Business unit. LS ITC Business unit., owns the intellectual property rights in
|
||||
* and to this program.
|
||||
* (Copyright ⓒ 2021 LS ITC Business unit. All Rights Reserved| Confidential)
|
||||
* Author : LS ITC
|
||||
* Created : 2021-04-23 17:58:11
|
||||
*/
|
||||
package com.lsitc.fems.comm.base.vo;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
|
||||
import com.lsitc.core.base.BaseVo;
|
||||
|
||||
import lombok.Getter;
|
||||
import lombok.Setter;
|
||||
|
||||
@Getter
|
||||
@Setter
|
||||
public class CommCdVo extends BaseVo<CommCdVo> {
|
||||
private String commGrpCd;
|
||||
private String commCd;
|
||||
private String commCdNm;
|
||||
private String commCdAbbrnm;
|
||||
private String userDefVal1;
|
||||
private String userDefVal2;
|
||||
private String userDefVal3;
|
||||
private String useFg;
|
||||
private BigDecimal sortSeq;
|
||||
private String rmrk;
|
||||
private Integer seq;
|
||||
private String cdKind;
|
||||
}
|
30
src/main/java/com/lsitc/fems/comm/base/vo/CommGrpCdVo.java
Normal file
30
src/main/java/com/lsitc/fems/comm/base/vo/CommGrpCdVo.java
Normal file
@ -0,0 +1,30 @@
|
||||
/*
|
||||
* 상기 프로그램에 대한 저작권을 포함한 지적재산권은 LS ITC에 있으며,
|
||||
* LS ITC가 명시적으로 허용하지 않은 사용, 복사, 변경, 제3자에의 공개, 배포는 엄격히 금지되며,
|
||||
* LS ITC의 지적재산권 침해에 해당됩니다.
|
||||
* (Copyright ⓒ 2021 LS ITC. All Rights Reserved| Confidential)
|
||||
*
|
||||
* You are strictly prohibited to copy, disclose, distribute, modify, or use
|
||||
* this program in part or as a whole without the prior written consent of
|
||||
* LS ITC Business unit. LS ITC Business unit., owns the intellectual property rights in
|
||||
* and to this program.
|
||||
* (Copyright ⓒ 2021 LS ITC Business unit. All Rights Reserved| Confidential)
|
||||
* Author : LS ITC
|
||||
* Created : 2021-04-23 17:58:11
|
||||
*/
|
||||
package com.lsitc.fems.comm.base.vo;
|
||||
|
||||
import com.lsitc.core.base.BaseVo;
|
||||
|
||||
import lombok.Getter;
|
||||
import lombok.Setter;
|
||||
|
||||
@Getter
|
||||
@Setter
|
||||
public class CommGrpCdVo extends BaseVo<CommGrpCdVo> {
|
||||
private String commGrpCd;
|
||||
private String commGrpNm;
|
||||
private String useFg;
|
||||
private String rmrk;
|
||||
private String sysDiv;
|
||||
}
|
44
src/main/java/com/lsitc/fems/comm/base/vo/DeptCdVo.java
Normal file
44
src/main/java/com/lsitc/fems/comm/base/vo/DeptCdVo.java
Normal file
@ -0,0 +1,44 @@
|
||||
/*
|
||||
* 상기 프로그램에 대한 저작권을 포함한 지적재산권은 LS ITC에 있으며,
|
||||
* LS ITC가 명시적으로 허용하지 않은 사용, 복사, 변경, 제3자에의 공개, 배포는 엄격히 금지되며,
|
||||
* LS ITC의 지적재산권 침해에 해당됩니다.
|
||||
* (Copyright ⓒ 2021 LS ITC. All Rights Reserved| Confidential)
|
||||
*
|
||||
* You are strictly prohibited to copy, disclose, distribute, modify, or use
|
||||
* this program in part or as a whole without the prior written consent of
|
||||
* LS ITC Business unit. LS ITC Business unit., owns the intellectual property rights in
|
||||
* and to this program.
|
||||
* (Copyright ⓒ 2021 LS ITC Business unit. All Rights Reserved| Confidential)
|
||||
* Author : LS ITC
|
||||
* Created : 2021-04-23 17:58:11
|
||||
*/
|
||||
package com.lsitc.fems.comm.base.vo;
|
||||
|
||||
|
||||
import java.math.BigDecimal;
|
||||
|
||||
import com.lsitc.core.base.BaseVo;
|
||||
|
||||
import lombok.Getter;
|
||||
import lombok.Setter;
|
||||
|
||||
@Getter
|
||||
@Setter
|
||||
public class DeptCdVo extends BaseVo<DeptCdVo> {
|
||||
|
||||
private String comId; // COM_ID (회사코드)
|
||||
|
||||
private String deptId; // DEPT_ID (부서코드)
|
||||
|
||||
private String upDeptId; // UP_DEPT_ID (상위부서코드)
|
||||
|
||||
private String deptNm; // DEPT_NM (부서명)
|
||||
|
||||
private String deptAbrvNm; // DEPT_ABRV_NM (부서약칭)
|
||||
|
||||
private String useFg; // USE_FG (사용여부)
|
||||
|
||||
private BigDecimal sortSeq; // SORT_SEQ (정렬순서)
|
||||
|
||||
private String blocId;
|
||||
}
|
34
src/main/java/com/lsitc/fems/comm/base/vo/GrpCdVo.java
Normal file
34
src/main/java/com/lsitc/fems/comm/base/vo/GrpCdVo.java
Normal file
@ -0,0 +1,34 @@
|
||||
/*
|
||||
* 상기 프로그램에 대한 저작권을 포함한 지적재산권은 LS ITC에 있으며,
|
||||
* LS ITC가 명시적으로 허용하지 않은 사용, 복사, 변경, 제3자에의 공개, 배포는 엄격히 금지되며,
|
||||
* LS ITC의 지적재산권 침해에 해당됩니다.
|
||||
* (Copyright ⓒ 2021 LS ITC. All Rights Reserved| Confidential)
|
||||
*
|
||||
* You are strictly prohibited to copy, disclose, distribute, modify, or use
|
||||
* this program in part or as a whole without the prior written consent of
|
||||
* LS ITC Business unit. LS ITC Business unit., owns the intellectual property rights in
|
||||
* and to this program.
|
||||
* (Copyright ⓒ 2021 LS ITC Business unit. All Rights Reserved| Confidential)
|
||||
* Author : LS ITC
|
||||
* Created : 2021-04-23 17:58:11
|
||||
*/
|
||||
package com.lsitc.fems.comm.base.vo;
|
||||
|
||||
|
||||
import com.lsitc.core.base.BaseVo;
|
||||
|
||||
import lombok.Getter;
|
||||
import lombok.Setter;
|
||||
|
||||
@Getter
|
||||
@Setter
|
||||
public class GrpCdVo extends BaseVo<GrpCdVo> {
|
||||
|
||||
private String commGrpCd; // COMM_GRP_CD (공통그룹코드(업무명 앞 세자리+0001))
|
||||
|
||||
private String commGrpNm; // COMM_GRP_NM (공통그룹명)
|
||||
|
||||
private String useFg; // USE_FG (사용여부)
|
||||
|
||||
private String rmrk; // RMRK (비고)
|
||||
}
|
45
src/main/java/com/lsitc/fems/comm/base/vo/MenuVo.java
Normal file
45
src/main/java/com/lsitc/fems/comm/base/vo/MenuVo.java
Normal file
@ -0,0 +1,45 @@
|
||||
/*
|
||||
* 상기 프로그램에 대한 저작권을 포함한 지적재산권은 LS ITC에 있으며,
|
||||
* LS ITC가 명시적으로 허용하지 않은 사용, 복사, 변경, 제3자에의 공개, 배포는 엄격히 금지되며,
|
||||
* LS ITC의 지적재산권 침해에 해당됩니다.
|
||||
* (Copyright ⓒ 2021 LS ITC. All Rights Reserved| Confidential)
|
||||
*
|
||||
* You are strictly prohibited to copy, disclose, distribute, modify, or use
|
||||
* this program in part or as a whole without the prior written consent of
|
||||
* LS ITC Business unit. LS ITC Business unit., owns the intellectual property rights in
|
||||
* and to this program.
|
||||
* (Copyright ⓒ 2021 LS ITC Business unit. All Rights Reserved| Confidential)
|
||||
* Author : LS ITC
|
||||
* Created : 2021-04-23 17:58:11
|
||||
*/
|
||||
package com.lsitc.fems.comm.base.vo;
|
||||
|
||||
|
||||
import java.math.BigDecimal;
|
||||
|
||||
import com.lsitc.core.base.BaseVo;
|
||||
|
||||
import lombok.Getter;
|
||||
import lombok.Setter;
|
||||
|
||||
@Getter
|
||||
@Setter
|
||||
public class MenuVo extends BaseVo<MenuVo> {
|
||||
private String comId; //회사코드
|
||||
|
||||
private String sysDivCd; //시스템구분
|
||||
|
||||
private String menuId; // MENU_ID (메뉴ID)
|
||||
|
||||
private String prgmId; // PRGM_ID (프로그램ID)
|
||||
|
||||
private String upMenuId; // UP_MENU_ID (상위메뉴ID)
|
||||
|
||||
private String menuNm; // MENU_NM (메뉴명)
|
||||
|
||||
private BigDecimal sortSeq; // SORT_SEQ (정렬순서)
|
||||
|
||||
private String useFg; // USE_FG (사용여부)
|
||||
|
||||
private String rmrk; // RMRK (비고)
|
||||
}
|
47
src/main/java/com/lsitc/fems/comm/base/vo/NoticeMngVo.java
Normal file
47
src/main/java/com/lsitc/fems/comm/base/vo/NoticeMngVo.java
Normal file
@ -0,0 +1,47 @@
|
||||
/*
|
||||
* 상기 프로그램에 대한 저작권을 포함한 지적재산권은 LS ITC에 있으며,
|
||||
* LS ITC가 명시적으로 허용하지 않은 사용, 복사, 변경, 제3자에의 공개, 배포는 엄격히 금지되며,
|
||||
* LS ITC의 지적재산권 침해에 해당됩니다.
|
||||
* (Copyright ⓒ 2021 LS ITC. All Rights Reserved| Confidential)
|
||||
*
|
||||
* You are strictly prohibited to copy, disclose, distribute, modify, or use
|
||||
* this program in part or as a whole without the prior written consent of
|
||||
* LS ITC Business unit. LS ITC Business unit., owns the intellectual property rights in
|
||||
* and to this program.
|
||||
* (Copyright ⓒ 2021 LS ITC Business unit. All Rights Reserved| Confidential)
|
||||
* Author : LS ITC
|
||||
* Created : 2021-04-23 17:58:11
|
||||
*/
|
||||
package com.lsitc.fems.comm.base.vo;
|
||||
|
||||
|
||||
import java.math.BigDecimal;
|
||||
import java.sql.Date;
|
||||
|
||||
import com.lsitc.core.base.BaseVo;
|
||||
|
||||
import lombok.Getter;
|
||||
import lombok.Setter;
|
||||
|
||||
@Getter
|
||||
@Setter
|
||||
public class NoticeMngVo extends BaseVo<NoticeMngVo> {
|
||||
private String comId; //회사코드
|
||||
private String bordNo;
|
||||
private String bordNm;
|
||||
private String useFg;
|
||||
private int postNo;
|
||||
private int postOrgNo;
|
||||
private int postGrpOrd;
|
||||
private int postGrpLayer;
|
||||
private String postTitle;
|
||||
private String title;
|
||||
private String postCntn;
|
||||
private String notiYn;
|
||||
private String rplyPossYn;
|
||||
private Date strtDttm;
|
||||
private Date endDttm;
|
||||
private String apndFileUuid;
|
||||
private int viewCount;
|
||||
|
||||
}
|
39
src/main/java/com/lsitc/fems/comm/base/vo/PrgmVo.java
Normal file
39
src/main/java/com/lsitc/fems/comm/base/vo/PrgmVo.java
Normal file
@ -0,0 +1,39 @@
|
||||
/*
|
||||
* 상기 프로그램에 대한 저작권을 포함한 지적재산권은 LS ITC에 있으며,
|
||||
* LS ITC가 명시적으로 허용하지 않은 사용, 복사, 변경, 제3자에의 공개, 배포는 엄격히 금지되며,
|
||||
* LS ITC의 지적재산권 침해에 해당됩니다.
|
||||
* (Copyright ⓒ 2021 LS ITC. All Rights Reserved| Confidential)
|
||||
*
|
||||
* You are strictly prohibited to copy, disclose, distribute, modify, or use
|
||||
* this program in part or as a whole without the prior written consent of
|
||||
* LS ITC Business unit. LS ITC Business unit., owns the intellectual property rights in
|
||||
* and to this program.
|
||||
* (Copyright ⓒ 2021 LS ITC Business unit. All Rights Reserved| Confidential)
|
||||
* Author : LS ITC
|
||||
* Created : 2021-04-23 17:58:11
|
||||
*/
|
||||
package com.lsitc.fems.comm.base.vo;
|
||||
|
||||
|
||||
import com.lsitc.core.base.BaseVo;
|
||||
|
||||
import lombok.Getter;
|
||||
import lombok.Setter;
|
||||
|
||||
@Getter
|
||||
@Setter
|
||||
public class PrgmVo extends BaseVo<PrgmVo> {
|
||||
|
||||
private String prgmId; // PRGM_ID (프로그램ID)
|
||||
|
||||
private String prgmNm; // PRGM_NM (프로그램 명)
|
||||
|
||||
private String prgmTpCd; // PRGM_TP_CD (프로그램유형코드)
|
||||
|
||||
private String url; // URL (URL)
|
||||
|
||||
private String useFg; // USE_FG (사용여부)
|
||||
|
||||
private Integer totalCount; // TOTALCOUNT (토탈카운트)
|
||||
|
||||
}
|
48
src/main/java/com/lsitc/fems/comm/base/vo/WidgetVo.java
Normal file
48
src/main/java/com/lsitc/fems/comm/base/vo/WidgetVo.java
Normal file
@ -0,0 +1,48 @@
|
||||
/*
|
||||
* 상기 프로그램에 대한 저작권을 포함한 지적재산권은 LS ITC에 있으며,
|
||||
* LS ITC가 명시적으로 허용하지 않은 사용, 복사, 변경, 제3자에의 공개, 배포는 엄격히 금지되며,
|
||||
* LS ITC의 지적재산권 침해에 해당됩니다.
|
||||
* (Copyright ⓒ 2021 LS ITC. All Rights Reserved| Confidential)
|
||||
*
|
||||
* You are strictly prohibited to copy, disclose, distribute, modify, or use
|
||||
* this program in part or as a whole without the prior written consent of
|
||||
* LS ITC Business unit. LS ITC Business unit., owns the intellectual property rights in
|
||||
* and to this program.
|
||||
* (Copyright ⓒ 2021 LS ITC Business unit. All Rights Reserved| Confidential)
|
||||
* Author : LS ITC
|
||||
* Created : 2021-04-23 17:58:11
|
||||
*/
|
||||
package com.lsitc.fems.comm.base.vo;
|
||||
|
||||
|
||||
import java.math.BigDecimal;
|
||||
|
||||
import com.lsitc.core.base.BaseVo;
|
||||
|
||||
import lombok.Getter;
|
||||
import lombok.Setter;
|
||||
|
||||
@Getter
|
||||
@Setter
|
||||
public class WidgetVo extends BaseVo<PrgmVo> {
|
||||
|
||||
private String widgetId;
|
||||
|
||||
private String widgetNm;
|
||||
|
||||
private String widgetDesc;
|
||||
|
||||
private String prgmId;
|
||||
|
||||
private String prgmUrl;
|
||||
|
||||
private BigDecimal widgetOrdrSeq;
|
||||
|
||||
private BigDecimal widgetReflashMm;
|
||||
|
||||
private String useFg;
|
||||
|
||||
private String widgetThumbnailFile;
|
||||
|
||||
private String widgetThumbnail;
|
||||
}
|
50
src/main/java/com/lsitc/fems/comm/base/vo/WorkCaldVo.java
Normal file
50
src/main/java/com/lsitc/fems/comm/base/vo/WorkCaldVo.java
Normal file
@ -0,0 +1,50 @@
|
||||
/*
|
||||
* 상기 프로그램에 대한 저작권을 포함한 지적재산권은 LS ITC에 있으며,
|
||||
* LS ITC가 명시적으로 허용하지 않은 사용, 복사, 변경, 제3자에의 공개, 배포는 엄격히 금지되며,
|
||||
* LS ITC의 지적재산권 침해에 해당됩니다.
|
||||
* (Copyright ⓒ 2021 LS ITC. All Rights Reserved| Confidential)
|
||||
*
|
||||
* You are strictly prohibited to copy, disclose, distribute, modify, or use
|
||||
* this program in part or as a whole without the prior written consent of
|
||||
* LS ITC Business unit. LS ITC Business unit., owns the intellectual property rights in
|
||||
* and to this program.
|
||||
* (Copyright ⓒ 2021 LS ITC Business unit. All Rights Reserved| Confidential)
|
||||
* Author : LS ITC
|
||||
* Created : 2021-04-23 17:58:11
|
||||
*/
|
||||
package com.lsitc.fems.comm.base.vo;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
import java.util.Date;
|
||||
|
||||
import com.lsitc.core.base.BaseVo;
|
||||
|
||||
import lombok.Getter;
|
||||
import lombok.Setter;
|
||||
|
||||
@Getter
|
||||
@Setter
|
||||
public class WorkCaldVo extends BaseVo<WorkCaldVo>{
|
||||
private String comId;
|
||||
private String blocId;
|
||||
private String scheFg;
|
||||
private Date dt;
|
||||
private String hldyFg;
|
||||
private String dow;
|
||||
private BigDecimal weekCt;
|
||||
private String hldyNm;
|
||||
private String rmrk;
|
||||
|
||||
private String planSeq;
|
||||
private Date strtDt;
|
||||
private String strtHh;
|
||||
private String strtMm;
|
||||
private Date endDt;
|
||||
private String endHh;
|
||||
private String endMm;
|
||||
private String planTitle;
|
||||
private String planCntn;
|
||||
private String planColor;
|
||||
|
||||
private String day;
|
||||
}
|
36
src/main/java/com/lsitc/fems/comm/jasyptCodeGen.java
Normal file
36
src/main/java/com/lsitc/fems/comm/jasyptCodeGen.java
Normal file
@ -0,0 +1,36 @@
|
||||
package com.lsitc.fems.comm;
|
||||
|
||||
import org.jasypt.encryption.pbe.StandardPBEStringEncryptor;
|
||||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
|
||||
public class jasyptCodeGen {
|
||||
|
||||
protected final Logger logger = LoggerFactory.getLogger(this.getClass());
|
||||
|
||||
private static void jasypt( ) {
|
||||
String url = "jdbc:log4jdbc:sqlserver://ap.kfems.net:51433;databaseName=sempio;sendStringParametersAsUnicode=false";
|
||||
String username = "fems_test";
|
||||
String password = "fems2021";
|
||||
|
||||
System.out.println("url : ENC(" + jasyptEncoding(url) + ")");
|
||||
System.out.println("username : ENC(" + jasyptEncoding(username) + ")");
|
||||
System.out.println("password : ENC(" + jasyptEncoding(password) + ")");
|
||||
System.out.println("secretKey : ENC(" + jasyptEncoding("secretKeysecretKeysecretKeysecretKeysecretKeysecretKey") + ")");
|
||||
|
||||
}
|
||||
|
||||
private static String jasyptEncoding(String value) {
|
||||
|
||||
String key = "857b2405e94125f026da8aecb65ad1616bcf336ae827b549146a83cfc17bcbeb79253b61f016fac169e5cf033d470c319afa591224c1cbb84450aa08bf7cf372";
|
||||
StandardPBEStringEncryptor pbeEnc = new StandardPBEStringEncryptor();
|
||||
pbeEnc.setAlgorithm("PBEWithMD5AndDES");
|
||||
pbeEnc.setPassword(key);
|
||||
return pbeEnc.encrypt(value);
|
||||
}
|
||||
|
||||
public static void main(String[] args) {
|
||||
jasypt();
|
||||
}
|
||||
|
||||
}
|
186
src/main/resources/application.yaml
Normal file
186
src/main/resources/application.yaml
Normal file
@ -0,0 +1,186 @@
|
||||
#공통적용 내용으로 반드시 채워주셔야 합니다.
|
||||
spring:
|
||||
application:
|
||||
#업무명
|
||||
name: comm
|
||||
config:
|
||||
#core.yaml(do not modify!)
|
||||
import: application-core.yaml
|
||||
datasource:
|
||||
#db type으로 반드시 지정하여야 한다.(mapper-scan용)
|
||||
#SK DB
|
||||
# db-type: oracle
|
||||
# serverIp: 58.232.11.31
|
||||
# port: 1569
|
||||
# databaseName: PDBFOPSK
|
||||
# username: LSITC
|
||||
# password: "!Q2w3e4r"
|
||||
|
||||
#local db
|
||||
db-type: oracle
|
||||
serverIp: localhost
|
||||
port: 1521
|
||||
databaseName: free
|
||||
username: LSITC
|
||||
password: "ziin2117!"
|
||||
|
||||
|
||||
#판교 개발 DB
|
||||
# db-type: oracle
|
||||
# serverIp: ap.kfems.net
|
||||
# port: 41521
|
||||
# databaseName: ORCL1
|
||||
# username: femsadmin
|
||||
# password: fems2021
|
||||
|
||||
profiles:
|
||||
#프로파일(local:개발자 환경, dev:개발서버, prod:운영 택1, 향후 runtime argument로 넘어갈 예정)
|
||||
active: local
|
||||
|
||||
#이하 해당 프로젝트에서 profile별로 필요한 정보를 세팅한다.(default와 중복될 경우 override)
|
||||
#DB외 SPRING과 관련된 직접적인 셋팅은 자제하고, 이 외 필요한 것들만 선언해서 사용한다. (t)
|
||||
---
|
||||
##############
|
||||
####local#####
|
||||
##############
|
||||
spring:
|
||||
config:
|
||||
activate:
|
||||
on-profile: local
|
||||
# datasource:
|
||||
# db-type: maria #db type으로 반드시 지정하여야 한다.(essential!)
|
||||
# driver-class-name: net.sf.log4jdbc.sql.jdbcapi.DriverSpy
|
||||
# url: jdbc:log4jdbc:mariadb://ap.kfems.net:13306/fems_test
|
||||
# username: fems_test
|
||||
# password: fems2021
|
||||
gatewayUrl: http://localhost:9999
|
||||
|
||||
datasource:
|
||||
driver-class-name: net.sf.log4jdbc.sql.jdbcapi.DriverSpy
|
||||
url: jdbc:log4jdbc:oracle:thin:@${spring.datasource.serverIp}:${spring.datasource.port}/${spring.datasource.databaseName}
|
||||
# username: LSITC
|
||||
# password: "!Q2w3e4r"
|
||||
username: LSITC
|
||||
password: "ziin2117!"
|
||||
# user-name: femsadmin
|
||||
# password: fems2021
|
||||
|
||||
mybatis:
|
||||
configuration:
|
||||
jdbc-type-for-null: varchar
|
||||
|
||||
#로깅관련
|
||||
logging:
|
||||
loginLogEnable: true
|
||||
menuCnctLogEnable: true
|
||||
level:
|
||||
root: DEBUG
|
||||
#logging
|
||||
config: classpath:logback_spring.xml
|
||||
file:
|
||||
path: logs
|
||||
max-history: 30
|
||||
max-size: 100MB
|
||||
|
||||
server:
|
||||
#port설정
|
||||
port: 8080
|
||||
|
||||
---
|
||||
##############
|
||||
####Docker#####
|
||||
##############
|
||||
spring:
|
||||
config:
|
||||
activate:
|
||||
on-profile: docker
|
||||
gatewayUrl: http://apigw:9999
|
||||
|
||||
datasource:
|
||||
driver-class-name: net.sf.log4jdbc.sql.jdbcapi.DriverSpy
|
||||
url: jdbc:log4jdbc:oracle:thin:@${spring.datasource.serverIp}:${spring.datasource.port}/${spring.datasource.databaseName}
|
||||
# username: LSITC
|
||||
# password: "!Q2w3e4r"
|
||||
username: LSITC
|
||||
password: "ziin2117!"
|
||||
# username: femsadmin
|
||||
# password: fems2021
|
||||
|
||||
mybatis:
|
||||
configuration:
|
||||
jdbc-type-for-null: varchar
|
||||
|
||||
#로깅관련
|
||||
logging:
|
||||
loginLogEnable: true
|
||||
menuCnctLogEnable: true
|
||||
level:
|
||||
root: DEBUG
|
||||
#logging
|
||||
config: classpath:logback_spring.xml
|
||||
file:
|
||||
path: logs
|
||||
max-history: 30
|
||||
max-size: 100MB
|
||||
|
||||
management:
|
||||
endpoints:
|
||||
web:
|
||||
exposure:
|
||||
include: health, info, prometheus
|
||||
metrics:
|
||||
tags:
|
||||
application: ${spring.application.name}
|
||||
|
||||
server:
|
||||
#port설정
|
||||
port: 8080
|
||||
---
|
||||
##############
|
||||
####Cloud#####
|
||||
##############
|
||||
spring:
|
||||
config:
|
||||
activate:
|
||||
on-profile: cloud
|
||||
gatewayUrl: /
|
||||
#datasource-mssql
|
||||
datasource:
|
||||
driver-class-name: net.sf.log4jdbc.sql.jdbcapi.DriverSpy
|
||||
url: jdbc:log4jdbc:oracle:thin:@${spring.datasource.serverIp}:${spring.datasource.port}/${spring.datasource.databaseName}
|
||||
# username: LSITC
|
||||
# password: "!Q2w3e4r"
|
||||
username: LSITC
|
||||
password: "ziin2117!"
|
||||
# username: femsadmin
|
||||
# password: fems2021
|
||||
|
||||
mybatis:
|
||||
configuration:
|
||||
jdbc-type-for-null: varchar
|
||||
|
||||
#로깅관련
|
||||
logging:
|
||||
loginLogEnable: true
|
||||
menuCnctLogEnable: true
|
||||
level:
|
||||
root: DEBUG
|
||||
#logging
|
||||
config: classpath:logback_spring.xml
|
||||
file:
|
||||
path: logs
|
||||
max-history: 30
|
||||
max-size: 100MB
|
||||
|
||||
management:
|
||||
endpoints:
|
||||
web:
|
||||
exposure:
|
||||
include: health, info, prometheus
|
||||
metrics:
|
||||
tags:
|
||||
application: ${spring.application.name}
|
||||
|
||||
server:
|
||||
#port설정
|
||||
port: 8080
|
67
src/main/resources/logback_spring.xml
Normal file
67
src/main/resources/logback_spring.xml
Normal file
@ -0,0 +1,67 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!-- 60초마다 설정 파일의 변경을 확인 하여 변경시 갱신 -->
|
||||
<configuration scan="true" scanPeriod="60 seconds">
|
||||
<!--springProfile 태그를 사용하면 logback 설정파일에서 복수개의 프로파일을 설정할 수 있다. -->
|
||||
<springProperty scope="context" name="LOG_LEVEL" source="logging.level.root" />
|
||||
<!-- log file path -->
|
||||
<springProperty scope="context" name="LOG_PATH" source="logging.file.path"/>
|
||||
<!-- log file name -->
|
||||
<springProperty scope="context" name="LOG_FILE_NAME" source="spring.application.name"/>
|
||||
<!-- log file size -->
|
||||
<springProperty scope="context" name="LOG_MAX-SIZE" source="logging.file.max-size"/>
|
||||
<!-- log history -->
|
||||
<springProperty scope="context" name="LOG_MAX_HISTORY" source="logging.file.max-history"/>
|
||||
<!-- pattern -->
|
||||
<property name="LOG_PATTERN" value="%d{yyyy-MM-dd HH:mm:ss} [%-6level] [%logger{0}:%line] - %msg%n" />
|
||||
|
||||
<!-- Console Appender -->
|
||||
<appender name="CONSOLE" class="ch.qos.logback.core.ConsoleAppender">
|
||||
<encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder">
|
||||
<pattern>${LOG_PATTERN}</pattern>
|
||||
</encoder>
|
||||
</appender>
|
||||
|
||||
<!-- File Appender -->
|
||||
<appender name="FILE" class="ch.qos.logback.core.rolling.RollingFileAppender">
|
||||
<!-- 파일경로 설정 -->
|
||||
<file>${LOG_PATH}/${LOG_FILE_NAME}.log</file>
|
||||
<!-- 출력패턴 설정 -->
|
||||
<encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder">
|
||||
<pattern>${LOG_PATTERN}</pattern>
|
||||
</encoder>
|
||||
<!-- Rolling 정책 -->
|
||||
<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
|
||||
<!-- .gz,.zip 등을 넣으면 자동 일자별 로그파일 압축 -->
|
||||
<fileNamePattern>${LOG_PATH}/${LOG_FILE_NAME}.%d{yyyy-MM-dd}_%i.log
|
||||
</fileNamePattern>
|
||||
<timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">
|
||||
<!-- 파일당 최고 용량 kb, mb, gb -->
|
||||
<maxFileSize>${LOG_MAX-SIZE}</maxFileSize>
|
||||
</timeBasedFileNamingAndTriggeringPolicy>
|
||||
<!-- 일자별 로그파일 최대 보관주기(~일), 해당 설정일 이상된 파일은 자동으로 제거 -->
|
||||
<maxHistory>${LOG_MAX_HISTORY}</maxHistory>
|
||||
<!--<MinIndex>1</MinIndex> <MaxIndex>10</MaxIndex> -->
|
||||
</rollingPolicy>
|
||||
</appender>
|
||||
|
||||
<root level="${LOG_LEVEL}">
|
||||
<appender-ref ref="CONSOLE" />
|
||||
<appender-ref ref="FILE" />
|
||||
</root>
|
||||
|
||||
<!-- log4jdbc 옵션 설정 -->
|
||||
<logger name="jdbc" level="OFF" />
|
||||
<!-- 커넥션 open close 이벤트를 로그로 남긴다. -->
|
||||
<logger name="jdbc.connection" level="OFF" />
|
||||
<!-- SQL문만을 로그로 남기며, PreparedStatement일 경우 관련된 argument 값으로 대체된 SQL문이 보여진다. -->
|
||||
<logger name="jdbc.sqlonly" level="OFF" />
|
||||
<!-- SQL문과 해당 SQL을 실행시키는데 수행된 시간 정보(milliseconds)를 포함한다. -->
|
||||
<logger name="jdbc.sqltiming" level="DEBUG" />
|
||||
<!-- ResultSet을 제외한 모든 JDBC 호출 정보를 로그로 남긴다. 많은 양의 로그가 생성되므로 특별히 JDBC 문제를 추적해야 할 필요가 있는 경우를 제외하고는 사용을 권장하지 않는다. -->
|
||||
<logger name="jdbc.audit" level="OFF" />
|
||||
<!-- ResultSet을 포함한 모든 JDBC 호출 정보를 로그로 남기므로 매우 방대한 양의 로그가 생성된다. -->
|
||||
<logger name="jdbc.resultset" level="OFF" />
|
||||
<!-- SQL 결과 조회된 데이터의 table을 로그로 남긴다. -->
|
||||
<logger name="jdbc.resultsettable" level="OFF" />
|
||||
|
||||
</configuration>
|
185
src/main/resources/sqlmap/comm/oracle/auth/LoginInfoMapper.xml
Normal file
185
src/main/resources/sqlmap/comm/oracle/auth/LoginInfoMapper.xml
Normal file
@ -0,0 +1,185 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
|
||||
<mapper namespace="comm.auth.loginInfo">
|
||||
<insert id="insertLoginInfo">
|
||||
/* comm.loginInfo.insertLoginInfo : 로그인정보 등록 */
|
||||
INSERT INTO COMM_LOGIN_INFO
|
||||
(
|
||||
USER_NO
|
||||
,USER_STAT_CD
|
||||
,USER_LOGIN_ID
|
||||
,USER_PSWD
|
||||
,PSWD_ERR_CNT
|
||||
,PSWD_MOD_DTTM
|
||||
,REG_USER_NO
|
||||
,REG_DTTM
|
||||
,PROC_USER_NO
|
||||
,PROC_DTTM
|
||||
)
|
||||
VALUES (
|
||||
#{userNo}
|
||||
<choose>
|
||||
<when test="userStatCd != null and userStatCd != ''.toString()">
|
||||
,#{userStatCd}
|
||||
</when>
|
||||
<otherwise>
|
||||
,'0'
|
||||
</otherwise>
|
||||
</choose>
|
||||
,#{userLoginId}
|
||||
,#{userPswd}
|
||||
<choose>
|
||||
<when test="pswdErrCnt != null and pswdErrCnt != ''.toString()">
|
||||
,#{pswdErrCnt}
|
||||
</when>
|
||||
<otherwise>
|
||||
,0
|
||||
</otherwise>
|
||||
</choose>
|
||||
<choose>
|
||||
<when test="pswdErrCnt != null and pswdErrCnt != ''.toString()">
|
||||
,#{pswdModDttm}
|
||||
</when>
|
||||
<otherwise>
|
||||
,SYSDATE
|
||||
</otherwise>
|
||||
</choose>
|
||||
,#{session.userNo}
|
||||
,SYSDATE
|
||||
,#{session.userNo}
|
||||
,SYSDATE
|
||||
)
|
||||
</insert>
|
||||
|
||||
<update id="updateLoginInfo">
|
||||
/* comm.loginInfo.updateLoginInfo : 로그인정보 수정 */
|
||||
UPDATE COMM_LOGIN_INFO
|
||||
<trim prefix="SET" prefixOverrides=",">
|
||||
<if test="userStatCd != null and userStatCd != ''">
|
||||
,USER_STAT_CD = #{userStatCd}
|
||||
</if>
|
||||
<if test="userLoginId != null and userLoginId != ''">
|
||||
,USER_LOGIN_ID = #{userLoginId}
|
||||
</if>
|
||||
<if test="userPswd != null and userPswd != ''">
|
||||
,USER_PSWD = #{userPswd}
|
||||
</if>
|
||||
<if test="pswdErrCnt != null and pswdErrCnt != ''">
|
||||
,PSWD_ERR_CNT = #{pswdErrCnt}
|
||||
</if>
|
||||
<if test="pswdModDttm != null">
|
||||
,PSWD_MOD_DTTM = #{pswdModDttm}
|
||||
</if>
|
||||
,PROC_USER_NO = #{session.userNo}
|
||||
,PROC_DTTM = SYSDATE
|
||||
</trim>
|
||||
WHERE 1=1
|
||||
AND USER_NO = #{userNo}
|
||||
</update>
|
||||
|
||||
<delete id="deleteLoginInfo">
|
||||
/* comm.loginInfo.deleteLoginInfo : 로그인정보 삭제 */
|
||||
DELETE
|
||||
FROM COMM_LOGIN_INFO
|
||||
WHERE 1=1
|
||||
AND USER_NO = #{userNo}
|
||||
</delete>
|
||||
|
||||
<select id="selectLoginInfoForLogin" resultType="com.lsitc.core.base.CamelHashMap">
|
||||
SELECT A.USER_NO
|
||||
,A.USER_PSWD
|
||||
,B.USER_NM
|
||||
,B.COM_ID
|
||||
,B.BLOC_ID
|
||||
, NVL(C.BLOC_NM, '') as BLOC_NM
|
||||
, (
|
||||
SELECT /* 사용자가 가지는 ROLE */
|
||||
LISTAGG(X.ROLE_ID, ',')
|
||||
FROM COMM_ROLE_USER X
|
||||
WHERE 1=1
|
||||
AND B.COM_ID = X.COM_ID
|
||||
AND B.USER_NO = X.USER_NO
|
||||
) AS ROLE_LIST
|
||||
FROM COMM_LOGIN_INFO A
|
||||
INNER JOIN COMM_USER B ON A.USER_NO = B.USER_NO
|
||||
LEFT JOIN COMM_BLOC_INFO C ON B.COM_ID = C.COM_ID AND B.BLOC_ID = C.BLOC_ID
|
||||
WHERE 1=1
|
||||
AND B.COM_ID = #{comId}
|
||||
AND USER_LOGIN_ID = #{userId}
|
||||
</select>
|
||||
|
||||
<select id="selectLoginInfo"
|
||||
resultType="com.lsitc.fems.comm.auth.vo.LoginInfoVo">
|
||||
/* comm.loginInfo.selectLoginInfo : 로그인 정보 조회 */
|
||||
SELECT
|
||||
USER_NO
|
||||
,USER_STAT_CD
|
||||
,USER_LOGIN_ID
|
||||
,USER_PSWD
|
||||
,PSWD_ERR_CNT
|
||||
,PSWD_MOD_DTTM
|
||||
,REG_USER_NO
|
||||
,REG_DTTM
|
||||
,PROC_USER_NO
|
||||
,PROC_DTTM
|
||||
FROM COMM_LOGIN_INFO
|
||||
WHERE
|
||||
1=1
|
||||
<if test="userNo != null and userNo != ''">
|
||||
AND USER_NO = #{userNo}
|
||||
</if>
|
||||
<if test="userStatCd != null and userStatCd != ''">
|
||||
AND USER_STAT_CD = #{userStatCd}
|
||||
</if>
|
||||
<if test="userLoginId != null and userLoginId != ''">
|
||||
AND USER_LOGIN_ID = #{userLoginId}
|
||||
</if>
|
||||
<if test="userPswd != null and userPswd != ''">
|
||||
AND USER_PSWD = #{userPswd}
|
||||
</if>
|
||||
<if test="pswdErrCnt != null and pswdErrCnt != ''">
|
||||
AND PSWD_ERR_CNT = #{pswdErrCnt}
|
||||
</if>
|
||||
<if test="pswdModDttm != null and pswdModDttm != ''">
|
||||
AND PSWD_MOD_DTTM = #{pswdModDttm}
|
||||
</if>
|
||||
</select>
|
||||
|
||||
<select id="selectMenuAuth" resultType="com.lsitc.core.base.CamelHashMap">
|
||||
/* comm.loginInfo.selectLoginInfo : 로그인 정보 조회 */
|
||||
WITH TMP AS (
|
||||
SELECT /* comm.loginInfo.selectMenuAuth 권한이 있는 메뉴 목록 */
|
||||
D.MENU_ID /* 메뉴ID */
|
||||
, D.MENU_NM /* 메뉴명 */
|
||||
, D.UP_MENU_ID /* 상위메뉴ID */
|
||||
, E.URL /* URL */
|
||||
, C.AUTH_CD /* 권한 */
|
||||
FROM COMM_ROLE_USER A /* 역할별사용자 */
|
||||
INNER JOIN COMM_MENU_ROLE B ON ( A.COM_ID=B.COM_ID AND A.ROLE_ID = B.ROLE_ID ) /* 역할별메뉴 */
|
||||
LEFT OUTER JOIN COMM_MENU_ROLE_AUTH C ON ( A.COM_ID=C.COM_ID AND B.ROLE_ID = C.ROLE_ID AND B.MENU_ID = C.MENU_ID ) /* 역할별 권한 */
|
||||
INNER JOIN COMM_MENU D ON ( A.COM_ID=D.COM_ID AND B.MENU_ID = D.MENU_ID ) /* 메뉴 */
|
||||
LEFT OUTER JOIN COMM_PRGM E ON ( D.PRGM_ID = E.PRGM_ID ) /* 프로그램 */
|
||||
WHERE A.COM_ID = #{session.comId}
|
||||
/* essential */
|
||||
AND A.USER_NO = #{session.userNo} /* USER_NO */
|
||||
AND D.MENU_ID = #{menuId}
|
||||
AND SYSDATE BETWEEN A.APLY_START_DT AND A.APLY_END_DT /* 현재 유효한것만 */
|
||||
)
|
||||
SELECT A.MENU_ID
|
||||
,A.MENU_NM
|
||||
,A.UP_MENU_ID
|
||||
,A.URL
|
||||
,( SELECT /* 사용자가 가지는 ROLE */
|
||||
LISTAGG(C.AUTH_CD, ',')
|
||||
FROM TMP C
|
||||
WHERE 1=1
|
||||
AND C.MENU_ID = A.MENU_ID
|
||||
) AS AUTH_CD
|
||||
FROM TMP A
|
||||
GROUP
|
||||
BY A.MENU_ID
|
||||
,A.MENU_NM
|
||||
,A.UP_MENU_ID
|
||||
,A.URL
|
||||
</select>
|
||||
</mapper>
|
231
src/main/resources/sqlmap/comm/oracle/auth/MenuRoleMngMapper.xml
Normal file
231
src/main/resources/sqlmap/comm/oracle/auth/MenuRoleMngMapper.xml
Normal file
@ -0,0 +1,231 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
|
||||
<mapper namespace="comm.auth.menuRoleMng">
|
||||
<select id="selectMenuRole" resultType="camelHashMap">
|
||||
/* comm.menuRoleMng.selectMenuRole : 역할별메뉴 조회 */
|
||||
WITH CTE (COM_ID, MENU_ID, UP_MENU_ID, MENU_NM, SORT_SEQ, USE_FG, LVL, T) AS (
|
||||
SELECT COM_ID
|
||||
,MENU_ID
|
||||
,UP_MENU_ID
|
||||
,MENU_NM
|
||||
,SORT_SEQ
|
||||
,USE_FG
|
||||
,0 AS LVL
|
||||
,LPAD(SORT_SEQ, 5, '0') AS T
|
||||
FROM COMM_MENU
|
||||
WHERE COM_ID=#{session.comId}
|
||||
AND MENU_ID = '0'
|
||||
UNION ALL
|
||||
SELECT A.COM_ID
|
||||
,A.MENU_ID
|
||||
,A.UP_MENU_ID
|
||||
,A.MENU_NM
|
||||
,A.SORT_SEQ
|
||||
,A.USE_FG
|
||||
,LVL + 1 AS LVL
|
||||
,CONCAT(CONCAT(T, '-'), LPAD(A.SORT_SEQ, 5, '0')) AS T
|
||||
FROM COMM_MENU A
|
||||
INNER JOIN CTE B ON A.COM_ID=B.COM_ID AND A.UP_MENU_ID = B.MENU_ID
|
||||
WHERE A.COM_ID= #{session.comId}
|
||||
)
|
||||
SELECT A.MENU_ID
|
||||
,A.UP_MENU_ID
|
||||
,A.MENU_NM
|
||||
,A.SORT_SEQ
|
||||
,A.USE_FG
|
||||
,A.LVL
|
||||
,A.UP_MENU_ID AS PARENT_ID
|
||||
,B.ROLE_ID
|
||||
,B.COM_ID
|
||||
,MAX(CASE WHEN C.AUTH_CD = 'R' THEN '1' ELSE '0' END) AS AUTH_CD1
|
||||
,MAX(CASE WHEN C.AUTH_CD = 'C' THEN '1' ELSE '0' END) AS AUTH_CD2
|
||||
,MAX(CASE WHEN C.AUTH_CD = 'D' THEN '1' ELSE '0' END) AS AUTH_CD3
|
||||
,MAX(CASE WHEN C.AUTH_CD = 'U' THEN '1' ELSE '0' END) AS AUTH_CD4
|
||||
,MAX(CASE WHEN C.AUTH_CD = 'S' THEN '1' ELSE '0' END) AS AUTH_CD5
|
||||
,MAX(CASE WHEN C.AUTH_CD = 'E' THEN '1' ELSE '0' END) AS AUTH_CD6
|
||||
FROM CTE A /* 메뉴Tree */
|
||||
LEFT OUTER JOIN COMM_MENU_ROLE B /* 역할별메뉴 */ ON (A.COM_ID=B.COM_ID AND B.ROLE_ID = #{roleId} AND A.MENU_ID = B.MENU_ID)
|
||||
LEFT OUTER JOIN COMM_MENU_ROLE_AUTH C /* 역할별메뉴권한 */ ON (B.COM_ID = C.COM_ID AND B.ROLE_ID = C.ROLE_ID AND B.MENU_ID = C.MENU_ID)
|
||||
WHERE A.COM_ID= #{session.comId}
|
||||
AND B.ROLE_ID IS NOT NULL
|
||||
GROUP
|
||||
BY A.MENU_ID, A.UP_MENU_ID, A.MENU_NM, A.SORT_SEQ, A.USE_FG
|
||||
,A.LVL,A.UP_MENU_ID, B.ROLE_ID, B.COM_ID, A.T
|
||||
ORDER
|
||||
BY A.T
|
||||
</select>
|
||||
|
||||
<select id="selectUnAsgnMenu" resultType="camelHashMap">
|
||||
/* comm.menuRoleMng.selectUnAsgnMenu : 역할별메뉴 조회 */
|
||||
WITH CTE (MENU_ID, UP_MENU_ID, COM_ID, MENU_NM, SORT_SEQ, USE_FG, LVL, T) AS (
|
||||
SELECT MENU_ID
|
||||
,UP_MENU_ID
|
||||
,COM_ID
|
||||
,MENU_NM
|
||||
,SORT_SEQ
|
||||
,USE_FG
|
||||
,0 AS LVL
|
||||
,LPAD(SORT_SEQ, 5, '0') AS T
|
||||
FROM COMM_MENU
|
||||
WHERE COM_ID= #{session.comId}
|
||||
AND MENU_ID = '0'
|
||||
UNION ALL
|
||||
SELECT A.MENU_ID
|
||||
,A.UP_MENU_ID
|
||||
,A.COM_ID
|
||||
,A.MENU_NM
|
||||
,A.SORT_SEQ
|
||||
,A.USE_FG
|
||||
,LVL + 1 AS LVL
|
||||
,CONCAT(CONCAT(T, '-'), LPAD(A.SORT_SEQ, 5, '0')) AS T
|
||||
FROM COMM_MENU A
|
||||
INNER JOIN CTE B ON A.UP_MENU_ID = B.MENU_ID
|
||||
WHERE A.COM_ID=#{session.comId}
|
||||
)
|
||||
SELECT A.MENU_ID
|
||||
,A.UP_MENU_ID
|
||||
,A.MENU_NM
|
||||
,A.SORT_SEQ
|
||||
,A.USE_FG
|
||||
,A.LVL
|
||||
,A.UP_MENU_ID AS PARENT_ID
|
||||
,A.COM_ID
|
||||
,CASE WHEN B.MENU_ID IS NULL THEN '0'
|
||||
ELSE '1'
|
||||
END AS IS_EXISTS
|
||||
FROM CTE A /* 메뉴Tree */
|
||||
LEFT OUTER JOIN COMM_MENU_ROLE B ON B.ROLE_ID = #{roleId} AND A.COM_ID = B.COM_ID AND A.MENU_ID = B.MENU_ID
|
||||
WHERE A.COM_ID=#{session.comId}
|
||||
ORDER
|
||||
BY A.T
|
||||
</select>
|
||||
|
||||
<update id="updateMenuRole">
|
||||
/* comm.menuRoleMng.updateMenuRole : 역할별메뉴 수정 */
|
||||
MERGE INTO COMM_MENU_ROLE
|
||||
USING DUAL
|
||||
ON
|
||||
(
|
||||
ROLE_ID = #{roleId}
|
||||
AND COM_ID = #{session.comId}
|
||||
AND MENU_ID = #{menuId}
|
||||
)
|
||||
WHEN MATCHED THEN
|
||||
UPDATE SET PROC_USER_NO = #{session.userNo}
|
||||
,PROC_DTTM = SYSDATE
|
||||
<if test="rmrk != null and rmrk != ''">
|
||||
,RMRK = #{rmrk}
|
||||
</if>
|
||||
WHEN NOT MATCHED THEN
|
||||
INSERT
|
||||
(
|
||||
ROLE_ID
|
||||
,COM_ID
|
||||
,MENU_ID
|
||||
,RMRK
|
||||
,REG_USER_NO
|
||||
,REG_DTTM
|
||||
,PROC_USER_NO
|
||||
,PROC_DTTM
|
||||
)
|
||||
VALUES
|
||||
(
|
||||
#{roleId}
|
||||
,#{session.comId}
|
||||
,#{menuId}
|
||||
,#{rmrk}
|
||||
,#{session.userNo}
|
||||
,SYSDATE
|
||||
,#{session.userNo}
|
||||
,SYSDATE
|
||||
)
|
||||
|
||||
</update>
|
||||
|
||||
<update id="updateCommMenu">
|
||||
/* comm.menuRoleMng.updateCommMenu : 역할별 메뉴 사용여부 수정 */
|
||||
UPDATE COMM_MENU
|
||||
<trim prefix="SET" prefixOverrides=",">
|
||||
PROC_DTTM = sysdate
|
||||
<if test="useFg != null and useFg != ''">
|
||||
,USE_FG = #{useFg}
|
||||
</if>
|
||||
<if test="procUserNo != null and procUserNo != ''">
|
||||
,PROC_USER_NO = #{procUserNo}
|
||||
</if>
|
||||
</trim>
|
||||
WHERE 1=1
|
||||
AND COM_ID = #{session.comId}
|
||||
AND MENU_ID = #{menuId}
|
||||
|
||||
</update>
|
||||
|
||||
<delete id="deleteMenuRole">
|
||||
/* comm.menuRoleMng.deleteMenuRole : 역할별메뉴 삭제 */
|
||||
DELETE
|
||||
FROM COMM_MENU_ROLE
|
||||
WHERE 1=1
|
||||
AND ROLE_ID = #{roleId}
|
||||
AND COM_ID = #{comId}
|
||||
AND MENU_ID = #{menuId}
|
||||
</delete>
|
||||
|
||||
<insert id="insertMenuRoleAuth">
|
||||
/* comm.menuRoleMng.insertMenuRoleAuth : 역할별 메뉴 권한 등록 */
|
||||
MERGE INTO COMM_MENU_ROLE_AUTH
|
||||
USING DUAL
|
||||
ON
|
||||
(
|
||||
COM_ID = #{session.comId}
|
||||
AND ROLE_ID = #{roleId}
|
||||
AND MENU_ID = #{menuId}
|
||||
AND AUTH_CD = #{authCd}
|
||||
)
|
||||
WHEN MATCHED THEN
|
||||
UPDATE SET PROC_USER_NO = #{session.userNo}
|
||||
,PROC_DTTM = SYSDATE
|
||||
<if test="rmrk != null and rmrk != ''">
|
||||
,RMRK = #{rmrk}
|
||||
</if>
|
||||
WHEN NOT MATCHED THEN
|
||||
INSERT
|
||||
(
|
||||
COM_ID
|
||||
,ROLE_ID
|
||||
,MENU_ID
|
||||
,AUTH_CD
|
||||
,RMRK
|
||||
,REG_USER_NO
|
||||
,REG_DTTM
|
||||
,PROC_USER_NO
|
||||
,PROC_DTTM
|
||||
)
|
||||
VALUES
|
||||
(
|
||||
#{session.comId}
|
||||
,#{roleId}
|
||||
,#{menuId}
|
||||
,#{authCd}
|
||||
,#{rmrk}
|
||||
,#{session.userNo}
|
||||
,SYSDATE
|
||||
,#{session.userNo}
|
||||
,SYSDATE
|
||||
)
|
||||
|
||||
</insert>
|
||||
|
||||
<delete id="deleteMenuRoleAuth">
|
||||
/* comm.menuRoleMng.deleteMenuRoleAuth : 역할별 메뉴 권한 삭제 */
|
||||
DELETE
|
||||
FROM COMM_MENU_ROLE_AUTH
|
||||
WHERE 1=1
|
||||
AND COM_ID = #{session.comId}
|
||||
AND ROLE_ID = #{roleId}
|
||||
AND MENU_ID = #{menuId}
|
||||
<if test="authCd != null and authCd != ''">
|
||||
AND AUTH_CD = #{authCd}
|
||||
</if>
|
||||
</delete>
|
||||
|
||||
</mapper>
|
91
src/main/resources/sqlmap/comm/oracle/auth/RoleMngMapper.xml
Normal file
91
src/main/resources/sqlmap/comm/oracle/auth/RoleMngMapper.xml
Normal file
@ -0,0 +1,91 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
|
||||
<mapper namespace="comm.auth.roleMng">
|
||||
<insert id="insertRole">
|
||||
/* comm.roleMng.insertRole : 역할 등록 */
|
||||
<selectKey keyProperty="roleId" resultType="java.lang.String" order="BEFORE">
|
||||
SELECT /* 프로그램ID 채번 */
|
||||
CONCAT('ROL', LPAD(SEQ_COMM_ROLE.nextval, 4,'0')) FROM DUAL
|
||||
</selectKey>
|
||||
INSERT INTO COMM_ROLE
|
||||
(
|
||||
COM_ID
|
||||
,ROLE_ID
|
||||
,ROLE_NM
|
||||
,USE_FG
|
||||
,RMRK
|
||||
,REG_USER_NO
|
||||
,REG_DTTM
|
||||
,PROC_USER_NO
|
||||
,PROC_DTTM
|
||||
)
|
||||
VALUES (
|
||||
#{session.comId}
|
||||
,#{roleId}
|
||||
,#{roleNm}
|
||||
,#{useFg}
|
||||
,#{rmrk}
|
||||
,#{session.userNo}
|
||||
,SYSDATE
|
||||
,#{session.userNo}
|
||||
,SYSDATE
|
||||
)
|
||||
</insert>
|
||||
|
||||
<update id="updateRole">
|
||||
/* comm.roleMng.updateRole : 역할 수정 */
|
||||
UPDATE COMM_ROLE
|
||||
<trim prefix="SET" prefixOverrides=",">
|
||||
<if test="roleNm != null and roleNm != ''">
|
||||
,ROLE_NM = #{roleNm}
|
||||
</if>
|
||||
<if test="useFg != null and useFg != ''">
|
||||
,USE_FG = #{useFg}
|
||||
</if>
|
||||
<if test="rmrk != null">
|
||||
,RMRK = #{rmrk}
|
||||
</if>
|
||||
,PROC_USER_NO = #{session.userNo}
|
||||
,PROC_DTTM = SYSDATE
|
||||
</trim>
|
||||
WHERE 1=1
|
||||
AND COM_ID = #{session.comId}
|
||||
AND ROLE_ID = #{roleId}
|
||||
</update>
|
||||
|
||||
<delete id="deleteRole">
|
||||
/* comm.roleMng.deleteRole : 역할 삭제 */
|
||||
DELETE
|
||||
FROM COMM_ROLE
|
||||
WHERE 1=1
|
||||
AND COM_ID = #{session.comId}
|
||||
AND ROLE_ID = #{roleId}
|
||||
</delete>
|
||||
|
||||
<select id="selectRole" resultType="com.lsitc.fems.comm.auth.vo.RoleVo">
|
||||
/* comm.roleMng.selectRole : 역할 조회 */
|
||||
SELECT
|
||||
COM_ID
|
||||
,ROLE_ID
|
||||
,ROLE_NM
|
||||
,USE_FG
|
||||
,RMRK
|
||||
,REG_USER_NO
|
||||
,REG_DTTM
|
||||
,PROC_USER_NO
|
||||
,PROC_DTTM
|
||||
FROM COMM_ROLE
|
||||
WHERE 1=1
|
||||
AND COM_ID = #{session.comId}
|
||||
<if test="roleId != null and roleId != ''">
|
||||
AND ROLE_ID LIKE CONCAT(CONCAT('%', #{roleId}), '%')
|
||||
</if>
|
||||
<if test="roleNm != null and roleNm != ''">
|
||||
AND ROLE_NM LIKE CONCAT(CONCAT('%', #{roleNm}), '%')
|
||||
</if>
|
||||
<if test="useFg != null and useFg != ''">
|
||||
AND USE_FG = #{useFg}
|
||||
</if>
|
||||
ORDER BY ROLE_ID, ROLE_NM, USE_FG
|
||||
</select>
|
||||
</mapper>
|
377
src/main/resources/sqlmap/comm/oracle/auth/UserRoleMngMapper.xml
Normal file
377
src/main/resources/sqlmap/comm/oracle/auth/UserRoleMngMapper.xml
Normal file
@ -0,0 +1,377 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
|
||||
<mapper namespace="comm.auth.userRoleMng">
|
||||
<select id="selectRoleUser" resultType="camelHashMap">
|
||||
/* comm.userRoleMng.selectRoleUser : 역할별사용자 조회 */
|
||||
SELECT
|
||||
A.COM_ID
|
||||
,A.ROLE_ID
|
||||
,D.ROLE_NM AS ROLE_NM
|
||||
,A.USER_NO
|
||||
,B.USER_NM
|
||||
,A.APLY_START_DT
|
||||
,A.APLY_END_DT
|
||||
,A.RMRK
|
||||
,A.PROC_USER_NO
|
||||
,C.USER_NM AS PROC_USER_NM
|
||||
,A.PROC_DTTM
|
||||
FROM COMM_ROLE_USER A /* 역할별사용자 */
|
||||
INNER JOIN COMM_USER B /* 사용자 */ ON A.COM_ID = B.COM_ID AND A.USER_NO = B.USER_NO
|
||||
INNER JOIN COMM_USER C /* 사용자 */ ON A.COM_ID = C.COM_ID AND A.PROC_USER_NO = C.USER_NO
|
||||
INNER JOIN COMM_ROLE D /* 역할 */ ON A.COM_ID = D.COM_ID AND A.ROLE_ID = D.ROLE_ID
|
||||
WHERE 1=1
|
||||
AND A.COM_ID = #{session.comId}
|
||||
<if test="roleId != null and roleId != ''">
|
||||
AND A.ROLE_ID = #{roleId}
|
||||
</if>
|
||||
<if test="userNo != null and userNo != ''">
|
||||
AND A.USER_NO = #{userNo}
|
||||
</if>
|
||||
<if test="aplyStartDt != null and aplyStartDt != ''">
|
||||
AND A.APLY_START_DT = #{aplyStartDt}
|
||||
</if>
|
||||
<if test="aplyEndDt != null and aplyEndDt != ''">
|
||||
AND A.APLY_END_DT = #{aplyEndDt}
|
||||
</if>
|
||||
</select>
|
||||
|
||||
<select id="selectUnAsgnRoleByUser" resultType="com.lsitc.fems.comm.auth.vo.RoleUserVo">
|
||||
/* comm.userRoleMng.selectUnAsgnRoleByUser : 사용자의 미배정 역할 조회 */
|
||||
SELECT A.ROLE_ID
|
||||
, A.ROLE_NM
|
||||
, #{userNo} AS USER_NO
|
||||
, A.COM_ID
|
||||
FROM COMM_ROLE A /* 역할 */
|
||||
WHERE 1=1
|
||||
AND A.COM_ID = #{session.comId}
|
||||
AND NOT EXISTS(
|
||||
SELECT 1
|
||||
FROM COMM_ROLE_USER X /* 역할별사용자 */
|
||||
WHERE 1=1
|
||||
AND X.COM_ID = #{session.comId}
|
||||
AND X.USER_NO = #{userNo}
|
||||
AND X.ROLE_ID = A.ROLE_ID
|
||||
)
|
||||
</select>
|
||||
|
||||
<select id="selectAsgnRoleByUser" resultType="com.lsitc.fems.comm.auth.vo.RoleUserVo">
|
||||
/* comm.userRoleMng.selectAsgnRoleByUser : 사용자의 역할 조회 */
|
||||
SELECT B.ROLE_ID
|
||||
,B.ROLE_NM
|
||||
,A.USER_NO
|
||||
,A.APLY_START_DT
|
||||
,A.APLY_END_DT
|
||||
,A.COM_ID
|
||||
FROM COMM_ROLE_USER A /* 역할별사용자 */
|
||||
INNER JOIN COMM_ROLE B /* 역할 */ ON A.ROLE_ID = B.ROLE_ID AND A.COM_ID = B.COM_ID
|
||||
WHERE 1=1
|
||||
AND A.COM_ID = #{session.comId}
|
||||
AND A.USER_NO = #{userNo}
|
||||
</select>
|
||||
|
||||
<select id="selectAsgnMenuByUser" resultType="com.lsitc.fems.comm.base.vo.MenuVo">
|
||||
/* comm.userRoleMng.selectAsgnMenuByUser : 사용자의 메뉴 조회 */
|
||||
WITH MENU_LIST AS (
|
||||
SELECT /* comm.menu.selectAuthMenu 권한이 있는 메뉴 목록 */
|
||||
D.MENU_ID /* 메뉴ID */
|
||||
, D.MENU_NM /* 메뉴명 */
|
||||
, D.UP_MENU_ID /* 상위메뉴ID */
|
||||
, E.URL /* URL */
|
||||
, D.SORT_SEQ
|
||||
FROM COMM_ROLE_USER A /* 역할별사용자 */
|
||||
INNER JOIN COMM_MENU_ROLE B ON ( A.ROLE_ID = B.ROLE_ID ) /* 역할별메뉴 */
|
||||
INNER JOIN COMM_MENU D ON ( B.MENU_ID = D.MENU_ID ) /* 메뉴 */
|
||||
LEFT OUTER JOIN COMM_PRGM E ON ( D.PRGM_ID = E.PRGM_ID ) /* 프로그램 */
|
||||
WHERE 1=1
|
||||
/* essential */
|
||||
AND A.USER_NO = #{userNo} /* USER_NO */
|
||||
AND D.COM_ID = #{session.comId} /* */
|
||||
AND SYSDATE BETWEEN A.APLY_START_DT AND A.APLY_END_DT /* 현재 유효한것만 */
|
||||
AND D.USE_FG = '1' /* 메뉴-사용여부 Y인것만 */
|
||||
GROUP
|
||||
BY D.MENU_ID
|
||||
,D.MENU_NM
|
||||
,D.UP_MENU_ID
|
||||
,E.URL
|
||||
,D.SORT_SEQ
|
||||
), MENU_TREE (MENU_ID, MENU_NM, UP_MENU_ID, URL, LVL, SORT_SEQ) AS (
|
||||
SELECT
|
||||
'0' AS MENU_ID ,
|
||||
'ROOT' AS MENU_NM ,
|
||||
'' AS UP_MENU_ID ,
|
||||
'' AS URL ,
|
||||
0 AS LVL ,
|
||||
'00000' AS SORT_SEQ
|
||||
FROM DUAL
|
||||
UNION ALL
|
||||
SELECT A.MENU_ID
|
||||
,A.MENU_NM
|
||||
,A.UP_MENU_ID
|
||||
,A.URL
|
||||
,B.LVL + 1 AS LVL
|
||||
,CONCAT(CONCAT(B.SORT_SEQ, '-'), LPAD(A.SORT_SEQ, 5, '0')) AS SORT_SEQ
|
||||
FROM MENU_LIST A
|
||||
INNER
|
||||
JOIN MENU_TREE B ON A.UP_MENU_ID = B.MENU_ID
|
||||
)
|
||||
SELECT
|
||||
MENU_ID
|
||||
,MENU_NM
|
||||
,UP_MENU_ID
|
||||
,URL
|
||||
,lvl
|
||||
FROM MENU_TREE
|
||||
ORDER
|
||||
BY SORT_SEQ
|
||||
</select>
|
||||
<insert id="insertRoleUser">
|
||||
/* comm.userRoleMng.insertRoleUser : 역할별사용자 등록 */
|
||||
INSERT INTO COMM_ROLE_USER
|
||||
(
|
||||
COM_ID
|
||||
,ROLE_ID
|
||||
,USER_NO
|
||||
,APLY_START_DT
|
||||
,APLY_END_DT
|
||||
,RMRK
|
||||
,REG_USER_NO
|
||||
,REG_DTTM
|
||||
,PROC_USER_NO
|
||||
,PROC_DTTM
|
||||
)
|
||||
VALUES (
|
||||
#{session.comId}
|
||||
,#{roleId}
|
||||
,#{userNo}
|
||||
,#{aplyStartDt}
|
||||
,#{aplyEndDt}
|
||||
,#{rmrk}
|
||||
,#{session.userNo}
|
||||
,SYSDATE
|
||||
,#{session.userNo}
|
||||
,SYSDATE
|
||||
)
|
||||
</insert>
|
||||
|
||||
<update id="updateRoleUser">
|
||||
/* comm.userRoleMng.updateRoleUser : 역할별사용자 수정 */
|
||||
UPDATE COMM_ROLE_USER
|
||||
<trim prefix="SET" prefixOverrides=",">
|
||||
<if test="aplyStartDt != null">
|
||||
,APLY_START_DT = #{aplyStartDt}
|
||||
</if>
|
||||
<if test="aplyEndDt != null">
|
||||
,APLY_END_DT = #{aplyEndDt}
|
||||
</if>
|
||||
<if test="rmrk != null and rmrk != ''">
|
||||
,RMRK = #{rmrk}
|
||||
</if>
|
||||
,PROC_USER_NO = #{session.userNo}
|
||||
,PROC_DTTM = SYSDATE
|
||||
</trim>
|
||||
WHERE 1=1
|
||||
AND COM_ID = #{session.comId}
|
||||
AND ROLE_ID = #{roleId}
|
||||
AND USER_NO = #{userNo}
|
||||
</update>
|
||||
|
||||
<delete id="deleteRoleUser">
|
||||
/* comm.userRoleMng.deleteRoleUser : 역할별사용자 삭제 */
|
||||
DELETE
|
||||
FROM COMM_ROLE_USER
|
||||
WHERE 1=1
|
||||
AND COM_ID = #{session.comId}
|
||||
AND ROLE_ID = #{roleId}
|
||||
AND USER_NO = #{userNo}
|
||||
</delete>
|
||||
|
||||
<select id="selectUser" resultType="com.lsitc.fems.comm.auth.vo.UserVo">
|
||||
/* comm.user.selectUser : 사용자 조회 */
|
||||
SELECT A.COM_ID
|
||||
,A.DEPT_ID
|
||||
,A.USER_NO
|
||||
,A.USER_NM
|
||||
,A.EMAIL
|
||||
,A.MOBLPHON
|
||||
,A.OFFICE_TELNO
|
||||
,A.FAX_TELNO
|
||||
,A.POST_NO
|
||||
,A.POST_ADRES
|
||||
,A.ADRES_DETAIL
|
||||
,A.REG_USER_NO
|
||||
,A.REG_DTTM
|
||||
,A.PROC_USER_NO
|
||||
,A.PROC_DTTM
|
||||
,B.USER_LOGIN_ID
|
||||
,'' AS USER_PSWD
|
||||
,A.BLOC_ID
|
||||
FROM COMM_USER A
|
||||
LEFT OUTER JOIN COMM_LOGIN_INFO B ON A.USER_NO = B.USER_NO
|
||||
WHERE 1=1
|
||||
<if test="comId != null and comId != ''">
|
||||
AND A.COM_ID = #{session.comId}
|
||||
</if>
|
||||
<if test="blocId != null and blocId != ''">
|
||||
AND A.BLOC_ID = #{blocId}
|
||||
</if>
|
||||
<if test="deptCd != null and deptCd != ''">
|
||||
AND A.DEPT_ID = #{deptId}
|
||||
</if>
|
||||
<if test="userNo != null and userNo != ''">
|
||||
AND A.USER_NO LIKE ('%' || #{userNo} || '%')
|
||||
</if>
|
||||
<if test="userNm != null and userNm != ''">
|
||||
AND A.USER_NM LIKE ('%' || #{userNm} || '%')
|
||||
</if>
|
||||
<if test="userLoginId != null and userLoginId != ''">
|
||||
AND B.USER_LOGIN_ID LIKE ('%' || #{userLoginId} || '%')
|
||||
</if>
|
||||
order by A.USER_NO * 1
|
||||
</select>
|
||||
|
||||
<insert id="insertUser">
|
||||
/* comm.user.insertUser : 사용자 등록 */
|
||||
<selectKey resultType="string" keyProperty="userNo" order="BEFORE">
|
||||
SELECT NVL(MAX(USER_NO * 1), 0) + 1 FROM COMM_USER
|
||||
</selectKey>
|
||||
INSERT INTO COMM_USER
|
||||
(
|
||||
COM_ID
|
||||
,DEPT_ID
|
||||
,BLOC_ID
|
||||
,USER_NO
|
||||
,USER_NM
|
||||
,EMAIL
|
||||
,MOBLPHON
|
||||
,OFFICE_TELNO
|
||||
,FAX_TELNO
|
||||
,POST_NO
|
||||
,POST_ADRES
|
||||
,ADRES_DETAIL
|
||||
,REG_USER_NO
|
||||
,REG_DTTM
|
||||
,PROC_USER_NO
|
||||
,PROC_DTTM
|
||||
)
|
||||
VALUES (
|
||||
#{session.comId}
|
||||
,#{deptId}
|
||||
,#{blocId}
|
||||
,#{userNo}
|
||||
,#{userNm}
|
||||
,#{email}
|
||||
,#{moblphon}
|
||||
,#{officeTelno}
|
||||
,#{faxTelno}
|
||||
,#{postNo}
|
||||
,#{postAdres}
|
||||
,#{adresDetail}
|
||||
,#{session.userNo}
|
||||
,SYSDATE
|
||||
,#{session.userNo}
|
||||
,SYSDATE
|
||||
)
|
||||
</insert>
|
||||
|
||||
<update id="updateUser">
|
||||
/* comm.userRoleMng.updateUser : 사용자 수정 */
|
||||
UPDATE COMM_USER
|
||||
<trim prefix="SET" prefixOverrides=",">
|
||||
<if test="blocId != null and blocId != ''">
|
||||
,BLOC_ID = #{blocId}
|
||||
</if>
|
||||
<if test="userNm != null">
|
||||
,USER_NM = #{userNm}
|
||||
</if>
|
||||
<if test="email != null">
|
||||
,EMAIL = #{email}
|
||||
</if>
|
||||
<if test="moblphon != null">
|
||||
,MOBLPHON = #{moblphon}
|
||||
</if>
|
||||
<if test="officeTelno != null">
|
||||
,OFFICE_TELNO = #{officeTelno}
|
||||
</if>
|
||||
<if test="faxTelno != null">
|
||||
,FAX_TELNO = #{faxTelno}
|
||||
</if>
|
||||
<if test="postNo != null">
|
||||
,POST_NO = #{postNo}
|
||||
</if>
|
||||
<if test="postAdres != null">
|
||||
,POST_ADRES = #{postAdres}
|
||||
</if>
|
||||
<if test="adresDetail != null">
|
||||
,ADRES_DETAIL = #{adresDetail}
|
||||
</if>
|
||||
,PROC_USER_NO = #{session.userNo}
|
||||
,PROC_DTTM = SYSDATE
|
||||
</trim>
|
||||
WHERE 1=1
|
||||
AND COM_ID = #{session.comId}
|
||||
AND USER_NO = #{userNo}
|
||||
<if test="deptId != null">
|
||||
AND DEPT_ID = #{deptId}
|
||||
</if>
|
||||
</update>
|
||||
|
||||
<delete id="deleteUser">
|
||||
/* comm.userRoleMng.deleteUser : 사용자 삭제 */
|
||||
DELETE
|
||||
FROM COMM_USER
|
||||
WHERE 1=1
|
||||
AND COM_ID = #{session.comId}
|
||||
AND USER_NO = #{userNo}
|
||||
<if test="deptId != null">
|
||||
AND DEPT_ID = #{deptId}
|
||||
</if>
|
||||
</delete>
|
||||
|
||||
<select id="selectUserPop" resultType="camelHashMap">
|
||||
/* comm.userRoleMng.selectUserPop : [팝업]사용자 조회 */
|
||||
SELECT A.COM_ID
|
||||
/* ,A.DEPT_ID
|
||||
,C.DEPT_NM */
|
||||
,A.USER_NO
|
||||
,A.USER_NM
|
||||
,A.EMAIL
|
||||
,A.MOBLPHON
|
||||
,A.OFFICE_TELNO
|
||||
,B.USER_LOGIN_ID
|
||||
FROM COMM_USER A
|
||||
INNER JOIN COMM_LOGIN_INFO B ON A.USER_NO = B.USER_NO
|
||||
/* INNER JOIN COMM_DEPT_CD C ON A.DEPT_ID = C.DEPT_ID */
|
||||
WHERE 1=1
|
||||
AND A.COM_ID = #{session.comId}
|
||||
<if test="deptCd != null and deptCd != ''">
|
||||
AND A.DEPT_ID = #{deptId}
|
||||
</if>
|
||||
<if test="userNo != null and userNo != ''">
|
||||
AND A.USER_NO LIKE ('%' || #{userNo} || '%')
|
||||
</if>
|
||||
<if test="userNm != null and userNm != ''">
|
||||
AND A.USER_NM LIKE ('%' || #{userNm} || '%')
|
||||
</if>
|
||||
<if test="userLoginId != null and userLoginId != ''">
|
||||
AND B.USER_LOGIN_ID LIKE ('%' || #{userLoginId} || '%')
|
||||
</if>
|
||||
</select>
|
||||
|
||||
<select id="selectComparePswd" resultType="camelHashMap">
|
||||
SELECT
|
||||
CASE WHEN A.USER_PSWD = #{userPswd} THEN 'TRUE' ELSE 'FALSE' END AS USER_COMPARE
|
||||
FROM COMM_LOGIN_INFO A
|
||||
JOIN COMM_USER B
|
||||
WHERE B.COM_ID = #{session.comId}
|
||||
AND B.USER_NO = #{session.userNo}
|
||||
AND A.USER_NO = B.USER_NO
|
||||
</select>
|
||||
|
||||
<update id="updatePswd">
|
||||
UPDATE COMM_LOGIN_INFO SET
|
||||
USER_PSWD = #{userPswd}
|
||||
,PROC_USER_NO = #{session.userNo}
|
||||
,PROC_DTTM = SYSDATE
|
||||
WHERE USER_NO = #{session.userNo}
|
||||
</update>
|
||||
</mapper>
|
126
src/main/resources/sqlmap/comm/oracle/base/ApndFileMapper.xml
Normal file
126
src/main/resources/sqlmap/comm/oracle/base/ApndFileMapper.xml
Normal file
@ -0,0 +1,126 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
|
||||
<mapper namespace="comm.base.apndFile">
|
||||
<select id="selectApndFile" resultType="camelHashMap">
|
||||
/* comm.apndFile.selectApndFile : 파일 정보 조회 */
|
||||
SELECT
|
||||
AA.APND_FILE_UUID,
|
||||
AA.APND_FILE_ID,
|
||||
AA.APND_FILE_NM,
|
||||
AA.APND_FILE_EXT,
|
||||
AA.APND_FILE_SIZE,
|
||||
AA.APND_FILE_PATH,
|
||||
AA.USE_FG,
|
||||
AA.SORT_SEQ,
|
||||
AA.RMRK,
|
||||
AA.REG_USER_NO,
|
||||
AA.REG_DTTM,
|
||||
AA.PROC_USER_NO,
|
||||
AA.PROC_DTTM
|
||||
FROM comm_apnd_file AA
|
||||
INNER JOIN comm_apnd_file_grp BB
|
||||
ON AA.APND_FILE_UUID = BB.APND_FILE_UUID
|
||||
WHERE
|
||||
1=1
|
||||
<if test=" apndFileId == null ">
|
||||
AND BB.APND_FILE_UUID = #{apndFileUuid}
|
||||
</if>
|
||||
<if test=" apndFileId != null ">
|
||||
AND AA.APND_FILE_ID = #{apndFileId}
|
||||
</if>
|
||||
AND AA.USE_FG = '1'
|
||||
</select>
|
||||
|
||||
<update id="deleteApndFile">
|
||||
UPDATE
|
||||
comm_apnd_file
|
||||
SET
|
||||
USE_FG = '0'
|
||||
WHERE
|
||||
APND_FILE_ID = #{apndFileId}
|
||||
</update>
|
||||
|
||||
<insert id="insertApndFileGrp">
|
||||
/* comm.apndFile.insertApndFileGrp : apndFileGrp 삽입 */
|
||||
INSERT INTO comm_apnd_file_grp (
|
||||
APND_FILE_UUID
|
||||
<!-- , MENU_ID -->
|
||||
<!-- , USE_TABLE_NM -->
|
||||
, USE_FG
|
||||
<!-- , RMRK -->
|
||||
, REG_USER_NO
|
||||
, REG_DTTM
|
||||
, PROC_USER_NO
|
||||
, PROC_DTTM
|
||||
)
|
||||
VALUES(
|
||||
#{apndFileUuid},
|
||||
<!-- #{menuId}, -->
|
||||
<!-- #{useTableNm}, -->
|
||||
'1',
|
||||
<!-- #{useFg}, -->
|
||||
<!-- #{rmrk}, -->
|
||||
#{session.userNo},
|
||||
SYSDATE,
|
||||
#{session.userNo},
|
||||
SYSDATE
|
||||
)
|
||||
</insert>
|
||||
|
||||
<insert id="insertApndFile">
|
||||
/* comm.apndFile.insertApndFile : apndFile 삽입 */
|
||||
INSERT INTO comm_apnd_file (
|
||||
APND_FILE_UUID
|
||||
, APND_FILE_ID
|
||||
, APND_FILE_NM
|
||||
<!-- /* 파일 확장자는 FILE_NM에 한꺼번에 저장 */ -->
|
||||
, APND_FILE_EXT
|
||||
, APND_FILE_SIZE
|
||||
, APND_FILE_PATH
|
||||
, USE_FG
|
||||
<!-- , SORT_SEQ -->
|
||||
<!-- , RMRK -->
|
||||
, REG_USER_NO
|
||||
, REG_DTTM
|
||||
, PROC_USER_NO
|
||||
, PROC_DTTM
|
||||
)
|
||||
VALUES(
|
||||
#{apndFileUuid},
|
||||
#{apndFileId},
|
||||
#{apndFileNm},
|
||||
#{apndFileExt},
|
||||
#{apndFileSize},
|
||||
#{apndFilePath},
|
||||
'1',
|
||||
<!-- #{useFg}, -->
|
||||
<!-- #{sortSeq}, -->
|
||||
<!-- #{rmrk}, -->
|
||||
#{session.userNo},
|
||||
SYSDATE,
|
||||
#{session.userNo},
|
||||
SYSDATE
|
||||
)
|
||||
</insert>
|
||||
|
||||
|
||||
<delete id="deleteCommApndFileGrp">
|
||||
/* comm.ConstructionWorkList.deleteCommApndFileGrp : 게시물 마다의 첨부파일 삭제 */
|
||||
DELETE
|
||||
FROM comm_apnd_file_grp
|
||||
WHERE
|
||||
APND_FILE_UUID = #{apndFileUuid}
|
||||
</delete>
|
||||
|
||||
<delete id="deleteCommApndFile">
|
||||
/* comm.ConstructionWorkList.deleteCommApndFile : 게시물의 각각의 첨부파일 삭제 */
|
||||
DELETE
|
||||
FROM comm_apnd_file
|
||||
WHERE
|
||||
APND_FILE_UUID = #{apndFileUuid}
|
||||
<if test="apndFileId != null and apndFileId != '' ">
|
||||
AND APND_FILE_ID = #{apndFileId}
|
||||
</if>
|
||||
</delete>
|
||||
|
||||
</mapper>
|
143
src/main/resources/sqlmap/comm/oracle/base/BatchLogMapper.xml
Normal file
143
src/main/resources/sqlmap/comm/oracle/base/BatchLogMapper.xml
Normal file
@ -0,0 +1,143 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
|
||||
<mapper namespace="comm.base.batchLog">
|
||||
|
||||
<insert id="insertBatchLog">
|
||||
/* comm.batchLog.insertBatchLog : 배치 수행 로그 등록 */
|
||||
INSERT INTO COMM_BATCH_LOG
|
||||
(
|
||||
BATCH_LOG_SEQ
|
||||
,BATCH_ID
|
||||
,EXEC_DT
|
||||
,EXEC_RSLT_CD
|
||||
,EXEC_LOG_CONT_1
|
||||
,EXEC_LOG_CONT_2
|
||||
,BATCH_STRT_DTTM
|
||||
,BATCH_END_DTTM
|
||||
,REG_USER_NO
|
||||
,REG_DTTM
|
||||
,PROC_USER_NO
|
||||
,PROC_DTTM
|
||||
)
|
||||
VALUES (
|
||||
#{batchLogSeq}
|
||||
,#{batchId}
|
||||
,#{execDt}
|
||||
,#{execRsltCd}
|
||||
,#{execLogCont1}
|
||||
,#{execLogCont2}
|
||||
,#{batchStrtDttm}
|
||||
,#{batchEndDttm}
|
||||
,#{session.userNo}
|
||||
,SYSDATE
|
||||
,#{session.userNo}
|
||||
,SYSDATE
|
||||
)
|
||||
</insert>
|
||||
|
||||
<update id="updateBatchLog">
|
||||
/* comm.batchLog.updateBatchLog : 배치 수행 로그 수정 */
|
||||
UPDATE COMM_BATCH_LOG
|
||||
<trim prefix="SET" prefixOverrides=",">
|
||||
<if test="batchId != null and batchId != ''">
|
||||
,BATCH_ID = #{batchId}
|
||||
</if>
|
||||
<if test="execDt != null and execDt != ''">
|
||||
,EXEC_DT = #{execDt}
|
||||
</if>
|
||||
<if test="execRsltCd != null and execRsltCd != ''">
|
||||
,EXEC_RSLT_CD = #{execRsltCd}
|
||||
</if>
|
||||
<if test="execLogCont1 != null and execLogCont1 != ''">
|
||||
,EXEC_LOG_CONT_1 = #{execLogCont1}
|
||||
</if>
|
||||
<if test="execLogCont2 != null and execLogCont2 != ''">
|
||||
,EXEC_LOG_CONT_2 = #{execLogCont2}
|
||||
</if>
|
||||
<if test="batchStrtDttm != null and batchStrtDttm != ''">
|
||||
,BATCH_STRT_DTTM = #{batchStrtDttm}
|
||||
</if>
|
||||
<if test="batchEndDttm != null and batchEndDttm != ''">
|
||||
,BATCH_END_DTTM = #{batchEndDttm}
|
||||
</if>
|
||||
,PROC_USER_No = #{session.userNo}
|
||||
,PROC_DTTM = SYSDATE
|
||||
</trim>
|
||||
WHERE 1=1
|
||||
AND BATCH_LOG_SEQ = #{batchLogSeq}
|
||||
</update>
|
||||
|
||||
<delete id="deleteBatchLog">
|
||||
/* comm.batchLog.deleteBatchLog : 배치 수행 로그 삭제 */
|
||||
DELETE
|
||||
FROM COMM_BATCH_LOG
|
||||
WHERE 1=1
|
||||
AND BATCH_LOG_SEQ = #{batchLogSeq}
|
||||
</delete>
|
||||
|
||||
<select id="selectBatchLog" resultType="camelHashMap">
|
||||
/* comm.batchLog.selectBatchLog : 배치 수행 로그 조회 */
|
||||
SELECT * FROM
|
||||
(
|
||||
SELECT
|
||||
BATCH_LOG_SEQ
|
||||
,BATCH_ID
|
||||
,(
|
||||
SELECT MAX(CBM.BATCH_NM)
|
||||
FROM COMM_BATCH_MGNT CBM
|
||||
WHERE
|
||||
CBM.BATCH_ID = CBL.BATCH_ID
|
||||
) AS BATCH_NM
|
||||
,EXEC_DT
|
||||
,EXEC_RSLT_CD
|
||||
,EXEC_LOG_CONT_1
|
||||
,EXEC_LOG_CONT_2
|
||||
-- ,CONCAT(NVL(EXEC_LOG_CONT_1, ''), NVL(EXEC_LOG_CONT_2, '')) as EXEC_LOG_CONT
|
||||
,BATCH_STRT_DTTM
|
||||
,BATCH_END_DTTM
|
||||
,REG_USER_NO
|
||||
,REG_DTTM
|
||||
,PROC_USER_NO
|
||||
,PROC_DTTM
|
||||
FROM COMM_BATCH_LOG CBL
|
||||
) T
|
||||
WHERE 1=1
|
||||
<if test="batchLogSeq != null and batchLogSeq != ''">
|
||||
AND BATCH_LOG_SEQ = #{batchLogSeq}
|
||||
</if>
|
||||
<if test="batchId != null and batchId != ''">
|
||||
AND BATCH_ID = #{batchId}
|
||||
</if>
|
||||
<if test="batchNm != null and batchNm != ''">
|
||||
AND BATCH_NM like ('%' || #{batchNm} || '%')
|
||||
</if>
|
||||
<if test="execDt != null and execDt != ''">
|
||||
AND EXEC_DT = #{execDt}
|
||||
</if>
|
||||
<if test="execRsltCd != null and execRsltCd != ''">
|
||||
AND EXEC_RSLT_CD = #{execRsltCd}
|
||||
</if>
|
||||
<if test="execLogCont1 != null and execLogCont1 != ''">
|
||||
AND EXEC_LOG_CONT_1 = #{execLogCont1}
|
||||
</if>
|
||||
<if test="execLogCont2 != null and execLogCont2 != ''">
|
||||
AND EXEC_LOG_CONT_2 = #{execLogCont2}
|
||||
</if>
|
||||
<if test="batchStrtDttm != null and batchStrtDttm != ''">
|
||||
AND BATCH_STRT_DTTM = #{batchStrtDttm}
|
||||
</if>
|
||||
<if test="batchEndDttm != null and batchEndDttm != ''">
|
||||
AND BATCH_END_DTTM = #{batchEndDttm}
|
||||
</if>
|
||||
AND EXEC_DT
|
||||
BETWEEN #{fromDt} AND #{fromDt}
|
||||
ORDER BY EXEC_DT DESC, BATCH_STRT_DTTM DESC
|
||||
</select>
|
||||
|
||||
<select id="getBatchLogSeq" resultType="int">
|
||||
SELECT
|
||||
NEXTVAL(SEQ_COMM_BATCH_LOG_01)
|
||||
FROM DUAL
|
||||
</select>
|
||||
|
||||
</mapper>
|
224
src/main/resources/sqlmap/comm/oracle/base/BatchMngMapper.xml
Normal file
224
src/main/resources/sqlmap/comm/oracle/base/BatchMngMapper.xml
Normal file
@ -0,0 +1,224 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
|
||||
<mapper namespace="comm.base.batchMng">
|
||||
|
||||
<insert id="insertBatchMng">
|
||||
/* comm.batchMng.insertBatchMng : 배치 관리 등록 */
|
||||
INSERT INTO COMM_BATCH_MGNT
|
||||
(
|
||||
BATCH_ID
|
||||
,BATCH_NM
|
||||
,BATCH_EXEC_TP
|
||||
,BATCH_DUP_EXEC_FG
|
||||
,EXEC_CYCL_SEC_VAL
|
||||
,EXEC_CYCL_MIN_VAL
|
||||
,EXEC_CYCL_HH_VAL
|
||||
,EXEC_CYCL_DD_VAL
|
||||
,EXEC_CYCL_MM_VAL
|
||||
,EXEC_CYCL_WDAY_VAL
|
||||
,EXEC_CYCL_YYYY_VAL
|
||||
,EXEC_CMND
|
||||
,EXEC_CMND_PATH
|
||||
,FLLW_BATCH_ID
|
||||
,REF_VAL_1
|
||||
,REF_VAL_2
|
||||
,REF_VAL_3
|
||||
,USE_FG
|
||||
,REG_USER_NO
|
||||
,REG_DTTM
|
||||
,PROC_USER_NO
|
||||
,PROC_DTTM
|
||||
)
|
||||
VALUES (
|
||||
(SEQ_COMM_BATCH_ID.NEXTVAL)
|
||||
,#{batchNm}
|
||||
,#{batchExecTp}
|
||||
,#{batchDupExecFg}
|
||||
,#{execCyclSecVal}
|
||||
,#{execCyclMinVal}
|
||||
,#{execCyclHhVal}
|
||||
,#{execCyclDdVal}
|
||||
,#{execCyclMmVal}
|
||||
,#{execCyclWdayVal}
|
||||
,#{execCyclYyyyVal}
|
||||
,#{execCmnd}
|
||||
,#{execCmndPath}
|
||||
,#{fllwBatchId}
|
||||
,#{refVal1}
|
||||
,#{refVal2}
|
||||
,#{refVal3}
|
||||
,#{useFg}
|
||||
,#{session.userNo}
|
||||
,SYSDATE
|
||||
,#{session.userNo}
|
||||
,SYSDATE
|
||||
)
|
||||
</insert>
|
||||
|
||||
<update id="updateBatchMng">
|
||||
/* comm.batchMng.updateBatchMng : 배치 관리 수정 */
|
||||
UPDATE COMM_BATCH_MGNT
|
||||
<trim prefix="SET" prefixOverrides=",">
|
||||
<if test="batchNm != null and batchNm != ''">
|
||||
,BATCH_NM = #{batchNm}
|
||||
</if>
|
||||
<if test="batchExecTp != null and batchExecTp != ''">
|
||||
,BATCH_EXEC_TP = #{batchExecTp}
|
||||
</if>
|
||||
<if test="batchDupExecFg != null and batchDupExecFg != ''">
|
||||
,BATCH_DUP_EXEC_FG = #{batchDupExecFg}
|
||||
</if>
|
||||
<if test="execCyclSecVal != null and execCyclSecVal != ''">
|
||||
,EXEC_CYCL_SEC_VAL = #{execCyclSecVal}
|
||||
</if>
|
||||
<if test="execCyclMinVal != null and execCyclMinVal != ''">
|
||||
,EXEC_CYCL_MIN_VAL = #{execCyclMinVal}
|
||||
</if>
|
||||
<if test="execCyclHhVal != null and execCyclHhVal != ''">
|
||||
,EXEC_CYCL_HH_VAL = #{execCyclHhVal}
|
||||
</if>
|
||||
<if test="execCyclDdVal != null and execCyclDdVal != ''">
|
||||
,EXEC_CYCL_DD_VAL = #{execCyclDdVal}
|
||||
</if>
|
||||
<if test="execCyclMmVal != null and execCyclMmVal != ''">
|
||||
,EXEC_CYCL_MM_VAL = #{execCyclMmVal}
|
||||
</if>
|
||||
<if test="execCyclWdayVal != null and execCyclWdayVal != ''">
|
||||
,EXEC_CYCL_WDAY_VAL = #{execCyclWdayVal}
|
||||
</if>
|
||||
<if test="execCyclYyyyVal != null and execCyclYyyyVal != ''">
|
||||
,EXEC_CYCL_YYYY_VAL = #{execCyclYyyyVal}
|
||||
</if>
|
||||
<if test="execCmnd != null and execCmnd != ''">
|
||||
,EXEC_CMND = #{execCmnd}
|
||||
</if>
|
||||
<if test="execCmndPath != null and execCmndPath != ''">
|
||||
,EXEC_CMND_PATH = #{execCmndPath}
|
||||
</if>
|
||||
,FLLW_BATCH_ID = #{fllwBatchId}
|
||||
,REF_VAL_1 = #{refVal1}
|
||||
,REF_VAL_2 = #{refVal2}
|
||||
,REF_VAL_3 = #{refVal3}
|
||||
,USE_FG = #{useFg}
|
||||
,PROC_USER_NO = #{session.userNo}
|
||||
,PROC_DTTM = SYSDATE
|
||||
</trim>
|
||||
WHERE 1=1
|
||||
AND BATCH_ID = #{batchId}
|
||||
</update>
|
||||
|
||||
<delete id="deleteBatchMng">
|
||||
/* comm.batchMng.deleteBatchMng : 배치 관리 삭제 */
|
||||
DELETE
|
||||
FROM COMM_BATCH_MGNT
|
||||
WHERE 1=1
|
||||
AND BATCH_ID = #{batchId}
|
||||
</delete>
|
||||
|
||||
<select id="selectBatchMng" resultType="camelHashMap">
|
||||
/* comm.batchMng.selectBatchMng : 배치 관리 조회 */
|
||||
SELECT
|
||||
BATCH_ID
|
||||
,BATCH_NM
|
||||
,BATCH_EXEC_TP
|
||||
,BATCH_DUP_EXEC_FG
|
||||
,EXEC_CYCL_SEC_VAL
|
||||
,EXEC_CYCL_MIN_VAL
|
||||
,EXEC_CYCL_HH_VAL
|
||||
,EXEC_CYCL_DD_VAL
|
||||
,EXEC_CYCL_MM_VAL
|
||||
,EXEC_CYCL_WDAY_VAL
|
||||
,EXEC_CYCL_YYYY_VAL
|
||||
,EXEC_CMND
|
||||
,EXEC_CMND_PATH
|
||||
,FLLW_BATCH_ID
|
||||
,REF_VAL_1
|
||||
,REF_VAL_2
|
||||
,REF_VAL_3
|
||||
,USE_FG
|
||||
,REG_USER_NO
|
||||
,REG_DTTM
|
||||
,PROC_USER_NO
|
||||
,PROC_DTTM
|
||||
FROM COMM_BATCH_MGNT
|
||||
WHERE 1=1
|
||||
<if test="batchId != null and batchId != ''">
|
||||
AND BATCH_ID = #{batchId}
|
||||
</if>
|
||||
<if test="batchNm != null and batchNm != ''">
|
||||
AND BATCH_NM like ('%' || #{batchNm} || '%')
|
||||
</if>
|
||||
<if test="batchExecTp != null and batchExecTp != ''">
|
||||
AND BATCH_EXEC_TP = #{batchExecTp}
|
||||
</if>
|
||||
<if test="batchDupExecFg != null and batchDupExecFg != ''">
|
||||
AND BATCH_DUP_EXEC_FG = #{batchDupExecFg}
|
||||
</if>
|
||||
<if test="execCyclSecVal != null and execCyclSecVal != ''">
|
||||
AND EXEC_CYCL_SEC_VAL = #{execCyclSecVal}
|
||||
</if>
|
||||
<if test="execCyclMinVal != null and execCyclMinVal != ''">
|
||||
AND EXEC_CYCL_MIN_VAL = #{execCyclMinVal}
|
||||
</if>
|
||||
<if test="execCyclHhVal != null and execCyclHhVal != ''">
|
||||
AND EXEC_CYCL_HH_VAL = #{execCyclHhVal}
|
||||
</if>
|
||||
<if test="execCyclDdVal != null and execCyclDdVal != ''">
|
||||
AND EXEC_CYCL_DD_VAL = #{execCyclDdVal}
|
||||
</if>
|
||||
<if test="execCyclMmVal != null and execCyclMmVal != ''">
|
||||
AND EXEC_CYCL_MM_VAL = #{execCyclMmVal}
|
||||
</if>
|
||||
<if test="execCyclWdayVal != null and execCyclWdayVal != ''">
|
||||
AND EXEC_CYCL_WDAY_VAL = #{execCyclWdayVal}
|
||||
</if>
|
||||
<if test="execCyclYyyyVal != null and execCyclYyyyVal != ''">
|
||||
AND EXEC_CYCL_YYYY_VAL = #{execCyclYyyyVal}
|
||||
</if>
|
||||
<if test="execCmnd != null and execCmnd != ''">
|
||||
AND EXEC_CMND = #{execCmnd}
|
||||
</if>
|
||||
<if test="execCmndPath != null and execCmndPath != ''">
|
||||
AND EXEC_CMND_PATH = #{execCmndPath}
|
||||
</if>
|
||||
<if test="refVal1 != null and refVal1 != ''">
|
||||
AND REF_VAL_1 = #{refVal1}
|
||||
</if>
|
||||
<if test="refVal2 != null and refVal2 != ''">
|
||||
AND REF_VAL_2 = #{refVal2}
|
||||
</if>
|
||||
<if test="refVal3 != null and refVal3 != ''">
|
||||
AND REF_VAL_3 = #{refVal3}
|
||||
</if>
|
||||
<if test="useFg != null and useFg != ''">
|
||||
AND USE_FG = #{useFg}
|
||||
</if>
|
||||
ORDER BY CAST(BATCH_ID AS NUMBER)
|
||||
</select>
|
||||
|
||||
<select id="selectFllwBatchList" resultType="camelHashMap">
|
||||
/* comm.batchMng.selectFllwBatchList : 후속 배치리스트 */
|
||||
SELECT *
|
||||
FROM (
|
||||
SELECT
|
||||
'' AS BATCH_ID,
|
||||
'' AS BATCH_NM,
|
||||
'없음' AS BATCH_ID_NM
|
||||
FROM DUAL
|
||||
UNION ALL
|
||||
SELECT
|
||||
BATCH_ID, BATCH_NM,
|
||||
CONCAT(CONCAT('[', BATCH_ID), CONCAT('] ', BATCH_NM)) AS BATCH_ID_NM
|
||||
FROM COMM_BATCH_MGNT
|
||||
WHERE 1=1
|
||||
<if test="batchId != null and batchId != ''">
|
||||
AND BATCH_ID != #{batchId}
|
||||
</if>
|
||||
<if test="useFg != null and useFg != ''">
|
||||
AND USE_FG = #{useFg}
|
||||
</if>
|
||||
)
|
||||
ORDER BY TO_NUMBER(NVL(BATCH_ID, 0))
|
||||
</select>
|
||||
|
||||
</mapper>
|
306
src/main/resources/sqlmap/comm/oracle/base/CalendarMngMapper.xml
Normal file
306
src/main/resources/sqlmap/comm/oracle/base/CalendarMngMapper.xml
Normal file
@ -0,0 +1,306 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
|
||||
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
|
||||
|
||||
|
||||
<mapper namespace="comm.base.calendarMng">
|
||||
<update id="updateComId">
|
||||
/* comm.calendarMng.updateWorkcald : 근무달력 수정 */
|
||||
UPDATE COMM_WORKCALD
|
||||
<trim prefix="SET" prefixOverrides=",">
|
||||
<if test="scheFg != null and scheFg != ''">
|
||||
,SCHE_FG = #{scheFg} -- 제거고려..
|
||||
</if>
|
||||
,HLDY_FG = #{hldyFg}
|
||||
<if test="dow != null and dow != ''">
|
||||
,DOW = #{dow}
|
||||
</if>
|
||||
<if test="weekCt != null and weekCt != ''">
|
||||
,WEEK_CT = #{weekCt}
|
||||
</if>
|
||||
,HLDY_NM = #{hldyNm}
|
||||
<if test="rmrk != null and rmrk != ''">
|
||||
,RMRK = #{rmrk}
|
||||
</if>
|
||||
,PROC_USER_NO = #{session.userNo}
|
||||
,PROC_DTTM = SYSDATE
|
||||
</trim>
|
||||
WHERE 1=1
|
||||
AND COM_ID = #{session.comId}
|
||||
AND BLOC_ID = #{blocId}
|
||||
AND DT = #{dt}
|
||||
</update>
|
||||
|
||||
<select id="selectWorkCald" resultType="com.lsitc.fems.comm.base.vo.WorkCaldVo">
|
||||
/* comm.calendarMng.selectWorkCald : 근무달력 조회 */
|
||||
SELECT COM_ID
|
||||
,BLOC_ID
|
||||
,SCHE_FG
|
||||
,DT
|
||||
,HLDY_FG
|
||||
,DOW
|
||||
,WEEK_CT
|
||||
,HLDY_NM
|
||||
,RMRK
|
||||
FROM COMM_WORKCALD
|
||||
WHERE 1=1
|
||||
AND COM_ID = #{session.comId}
|
||||
AND BLOC_ID = #{blocId}
|
||||
AND DT BETWEEN TO_DATE((substr(#{yymm}, 1,4) || '-' || substr(#{yymm}, 5,2) || '-01'),'YYYY-MM-DD')
|
||||
AND LAST_DAY(TO_DATE(substr(#{yymm}, 1,4) || '-' || substr(#{yymm}, 5,2) || '-01','YYYY-MM-DD'))
|
||||
</select>
|
||||
|
||||
|
||||
<select id="selectWorkcaldAll" resultType="com.lsitc.fems.comm.base.vo.WorkCaldVo">
|
||||
/* comm.calendarMng.selectWorkcald : 특정 기간 및 월에 대한 휴일 목록 조회 */
|
||||
SELECT
|
||||
COM_ID
|
||||
,BLOC_ID
|
||||
,DT
|
||||
,SCHE_FG
|
||||
,HLDY_FG
|
||||
,DOW
|
||||
,WEEK_CT
|
||||
,HLDY_NM
|
||||
,RMRK
|
||||
,REG_USER_NO
|
||||
,REG_DTTM
|
||||
,PROC_USER_NO
|
||||
,PROC_DTTM
|
||||
FROM COMM_WORKCALD
|
||||
WHERE 1=1
|
||||
AND COM_ID = #{session.comId}
|
||||
<if test="blocId != null and blocId != ''">
|
||||
AND BLOC_ID = #{blocId}
|
||||
</if>
|
||||
<if test="dt != null and dt != ''">
|
||||
AND DT = #{dt}
|
||||
</if>
|
||||
<if test="dtLike != null and dtLike != ''">
|
||||
AND DT LIKE #{dtLike} + '%'
|
||||
</if>
|
||||
<if test="startDt != null and startDt != '' and endDt != null and endDt != ''">
|
||||
AND DT BETWEEN #{startDt} AND #{endDt}
|
||||
</if>
|
||||
<if test="scheFg != null and scheFg != ''">
|
||||
AND SCHE_FG = #{scheFg}
|
||||
</if>
|
||||
<if test="hldyFg != null and hldyFg != ''">
|
||||
AND HLDY_FG = #{hldyFg}
|
||||
</if>
|
||||
<if test="dow != null and dow != ''">
|
||||
AND DOW = #{dow}
|
||||
</if>
|
||||
<if test="weekCt != null and weekCt != ''">
|
||||
AND WEEK_CT = #{weekCt}
|
||||
</if>
|
||||
<if test="hldyNm != null and hldyNm != ''">
|
||||
AND HLDY_NM = #{hldyNm}
|
||||
</if>
|
||||
<if test="hldyNmNotInList !=null and hldyNmNotInList.size != 0">
|
||||
AND HLDY_NM NOT IN
|
||||
<foreach collection="hldyNmNotInList" item="code" index="index" separator="," open="(" close=")">
|
||||
#{code}
|
||||
</foreach>
|
||||
</if>
|
||||
<if test="rmrk != null and rmrk != ''">
|
||||
AND RMRK = #{rmrk}
|
||||
</if>
|
||||
<if test="regUserNo != null and regUserNo != ''">
|
||||
AND REG_USER_NO = #{regUserNo}
|
||||
</if>
|
||||
<if test="regDttm != null and regDttm != ''">
|
||||
AND REG_DTTM = #{regDttm}
|
||||
</if>
|
||||
<if test="procUserNo != null and procUserNo != ''">
|
||||
AND PROC_USER_NO = #{procUserNo}
|
||||
</if>
|
||||
<if test="procDttm != null and procDttm != ''">
|
||||
AND PROC_DTTM = #{procDttm}
|
||||
</if>
|
||||
</select>
|
||||
|
||||
<select id="selectWorkCaldDetl" resultType="com.lsitc.fems.comm.base.vo.WorkCaldVo">
|
||||
/* comm.calendarMng.selectWorkCaldDetl : 근무달력 일정 조회 */
|
||||
SELECT C.COM_ID
|
||||
,C.BLOC_ID
|
||||
,C.SCHE_FG
|
||||
,C.DT
|
||||
,C.HLDY_FG
|
||||
,C.DOW
|
||||
,C.WEEK_CT
|
||||
,C.HLDY_NM
|
||||
,C.RMRK
|
||||
,B.STRT_DT
|
||||
,B.END_DT
|
||||
,PLAN_SEQ
|
||||
,B.PLAN_TITLE
|
||||
,B.PLAN_COLOR
|
||||
FROM COMM_WORKCALD C
|
||||
LEFT JOIN COMM_WORKCALD_DETL B ON C.COM_ID = B.COM_ID AND C.BLOC_ID = B.BLOC_ID AND C.DT BETWEEN B.STRT_DT AND B.END_DT
|
||||
WHERE 1=1
|
||||
AND C.COM_ID = #{session.comId}
|
||||
AND C.BLOC_ID = #{blocId}
|
||||
AND C.DT BETWEEN TO_DATE((substr(#{yymm}, 1,4) || '-' || substr(#{yymm}, 5,2) || '-01'),'YYYY-MM-DD')
|
||||
AND LAST_DAY(TO_DATE(substr(#{yymm}, 1,4) || '-' || substr(#{yymm}, 5,2) || '-01','YYYY-MM-DD'))
|
||||
ORDER BY C.DT, B.PLAN_SEQ
|
||||
</select>
|
||||
|
||||
<select id="selectWorkCaldDetlOne" resultType="com.lsitc.fems.comm.base.vo.WorkCaldVo">
|
||||
SELECT
|
||||
C.COM_ID
|
||||
,C.BLOC_ID
|
||||
,C.PLAN_SEQ
|
||||
,C.STRT_DT
|
||||
,C.STRT_HH
|
||||
,C.STRT_MM
|
||||
,C.END_DT
|
||||
,C.END_HH
|
||||
,C.END_MM
|
||||
,C.PLAN_TITLE
|
||||
,C.PLAN_CNTN
|
||||
,C.PLAN_COLOR
|
||||
,C.REG_USER_NO
|
||||
,C.REG_DTTM
|
||||
,C.PROC_USER_NO
|
||||
,C.PROC_DTTM
|
||||
FROM COMM_WORKCALD_DETL C
|
||||
WHERE 1=1
|
||||
AND C.COM_ID = #{session.comId}
|
||||
AND C.BLOC_ID = #{blocId}
|
||||
AND C.PLAN_SEQ = #{planSeq}
|
||||
</select>
|
||||
|
||||
<insert id="savePlanDetl">
|
||||
/* comm.calendarMng.savePlanDetl : 일정 등록 */
|
||||
INSERT INTO COMM_WORKCALD_DETL(
|
||||
COM_ID,
|
||||
BLOC_ID,
|
||||
PLAN_SEQ,
|
||||
STRT_DT,
|
||||
STRT_HH,
|
||||
STRT_MM,
|
||||
END_DT,
|
||||
END_HH,
|
||||
END_MM,
|
||||
PLAN_TITLE,
|
||||
PLAN_CNTN,
|
||||
PLAN_COLOR,
|
||||
REG_USER_NO,
|
||||
REG_DTTM,
|
||||
PROC_USER_NO,
|
||||
PROC_DTTM
|
||||
)VALUES(
|
||||
#{session.comId},
|
||||
#{blocId},
|
||||
(SELECT NVL(MAX(CAST(PLAN_SEQ AS INTEGER))+1,1) AS PLAN_SEQ FROM COMM_WORKCALD_DETL A WHERE A.COM_ID = #{session.comId} AND A.BLOC_ID = #{blocId}),
|
||||
#{strtDt},
|
||||
#{strtHh},
|
||||
#{strtMm},
|
||||
#{endDt},
|
||||
#{endHh},
|
||||
#{endMm},
|
||||
#{planTitle},
|
||||
#{planCntn},
|
||||
#{planColor},
|
||||
#{session.userNo},
|
||||
SYSDATE,
|
||||
#{session.userNo},
|
||||
SYSDATE
|
||||
)
|
||||
</insert>
|
||||
|
||||
<update id="updatePlanDetl">
|
||||
/* comm.calendarMng.updatePlanDetl : 일정 수정 */
|
||||
UPDATE COMM_WORKCALD_DETL SET
|
||||
STRT_DT = #{strtDt}
|
||||
,STRT_HH = #{strtHh}
|
||||
,STRT_MM = #{strtMm}
|
||||
,END_DT = #{endDt}
|
||||
,END_HH = #{endHh}
|
||||
,END_MM = #{endMm}
|
||||
,PLAN_TITLE = #{planTitle}
|
||||
,PLAN_CNTN = #{planCntn}
|
||||
,PLAN_COLOR = #{planColor}
|
||||
,PROC_USER_NO = #{session.userNo}
|
||||
,PROC_DTTM = SYSDATE
|
||||
WHERE 1=1
|
||||
AND COM_ID = #{session.comId}
|
||||
AND BLOC_ID = #{blocId}
|
||||
AND PLAN_SEQ = #{planSeq}
|
||||
</update>
|
||||
|
||||
<update id="updatePlanDetl_bak">
|
||||
/* comm.calendarMng.updatePlanDetl : 일정 수정 */
|
||||
UPDATE COMM_WORKCALD_DETL SET
|
||||
STRT_DT = STR_TO_DATE(#{strtDt}, '%Y-%m-%d 00:00:00')
|
||||
,STRT_HH = #{strtHh}
|
||||
,STRT_MM = #{strtMm}
|
||||
,END_DT = STR_TO_DATE(#{endDt}, '%Y-%m-%d 00:00:00')
|
||||
,END_HH = #{endHh}
|
||||
,END_MM = #{endMm}
|
||||
,PLAN_TITLE = #{planTitle}
|
||||
,PLAN_CNTN = #{planCntn}
|
||||
,PLAN_COLOR = #{planColor}
|
||||
,PROC_USER_NO = #{session.userNo}
|
||||
,PROC_DTTM = SYSDATE
|
||||
WHERE 1=1
|
||||
AND COM_ID = #{session.comId}
|
||||
AND BLOC_ID = #{blocId}
|
||||
AND PLAN_SEQ = #{planSeq}
|
||||
</update>
|
||||
|
||||
<delete id="deletePlanDetl">
|
||||
/* comm.calendarMng.deletePlanDetl : 일정 삭제 */
|
||||
DELETE FROM COMM_WORKCALD_DETL
|
||||
WHERE 1=1
|
||||
AND COM_ID = #{session.comId}
|
||||
AND BLOC_ID = #{blocId}
|
||||
AND PLAN_SEQ = #{planSeq}
|
||||
</delete>
|
||||
|
||||
<select id="selectWeekWorkCald" resultType="com.lsitc.fems.comm.base.vo.WorkCaldVo">
|
||||
/* comm.calendarMng.selectWeekWorkCald : 2주 일정조 */
|
||||
SELECT COM_ID
|
||||
,BLOC_ID
|
||||
,SCHE_FG
|
||||
,DT
|
||||
,SUBSTR(DT, 9,2) AS DAY
|
||||
,HLDY_FG
|
||||
,DOW
|
||||
,WEEK_CT
|
||||
,HLDY_NM
|
||||
,RMRK
|
||||
FROM COMM_WORKCALD
|
||||
WHERE 1=1
|
||||
AND COM_ID = #{session.comId}
|
||||
AND BLOC_ID = #{session.blocId}
|
||||
AND DT BETWEEN ADDDATE( CURDATE(), - WEEKDAY(CURDATE()) + -1 ) AND ADDDATE( CURDATE(), - WEEKDAY(CURDATE()) + 12 )
|
||||
</select>
|
||||
|
||||
<select id="selectWeekWorkCaldDetl" resultType="com.lsitc.fems.comm.base.vo.WorkCaldVo">
|
||||
/* comm.calendarMng.selectWorkCaldDetl : 근무달력 일정 조회 */
|
||||
SELECT C.COM_ID
|
||||
,C.BLOC_ID
|
||||
,C.SCHE_FG
|
||||
,C.DT
|
||||
,SUBSTR(C.DT, 9,2) AS DAY
|
||||
,C.HLDY_FG
|
||||
,C.DOW
|
||||
,C.WEEK_CT
|
||||
,C.HLDY_NM
|
||||
,C.RMRK
|
||||
,B.STRT_DT
|
||||
,B.END_DT
|
||||
,PLAN_SEQ
|
||||
,B.PLAN_TITLE
|
||||
,B.PLAN_COLOR
|
||||
FROM COMM_WORKCALD C
|
||||
LEFT JOIN COMM_WORKCALD_DETL B ON C.COM_ID = B.COM_ID AND C.BLOC_ID = B.BLOC_ID AND C.DT BETWEEN B.STRT_DT AND B.END_DT
|
||||
WHERE 1=1
|
||||
AND C.COM_ID = #{session.comId}
|
||||
AND C.BLOC_ID = #{session.blocId}
|
||||
AND C.DT BETWEEN ADDDATE( CURDATE(), - WEEKDAY(CURDATE()) + -1 ) AND ADDDATE( CURDATE(), - WEEKDAY(CURDATE()) + 12 )
|
||||
ORDER BY C.DT, B.PLAN_SEQ
|
||||
</select>
|
||||
</mapper>
|
97
src/main/resources/sqlmap/comm/oracle/base/ComIdMapper.xml
Normal file
97
src/main/resources/sqlmap/comm/oracle/base/ComIdMapper.xml
Normal file
@ -0,0 +1,97 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
|
||||
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
|
||||
|
||||
|
||||
<mapper namespace="comm.base.comId">
|
||||
|
||||
<insert id="insertComId">
|
||||
/* comm.comId.insertComId : 등록 */
|
||||
INSERT INTO COMM_COM_CD
|
||||
(
|
||||
COM_ID
|
||||
,COM_NM
|
||||
,COM_ABBRNM
|
||||
,USE_FG
|
||||
,RMRK
|
||||
,REG_USER_NO
|
||||
,REG_DTTM
|
||||
,PROC_USER_NO
|
||||
,PROC_DTTM
|
||||
)
|
||||
VALUES (
|
||||
#{comId}
|
||||
,#{comNm}
|
||||
,#{comAbbrnm}
|
||||
,#{useFg}
|
||||
,#{rmrk}
|
||||
,#{session.userNo}
|
||||
,SYSDATE
|
||||
,#{session.userNo}
|
||||
,SYSDATE
|
||||
)
|
||||
</insert>
|
||||
|
||||
<update id="updateComId">
|
||||
/* comm.comId.updateComId : 수정 */
|
||||
UPDATE COMM_COM_CD
|
||||
<trim prefix="SET" prefixOverrides=",">
|
||||
<if test="comNm != null and comNm != ''">
|
||||
,COM_NM = #{comNm}
|
||||
</if>
|
||||
<if test="comAbbrnm != null and comAbbrnm != ''">
|
||||
,COM_ABBRNM = #{comAbbrnm}
|
||||
</if>
|
||||
<if test="useFg != null and useFg != ''">
|
||||
,USE_FG = #{useFg}
|
||||
</if>
|
||||
<if test="rmrk != null and rmrk != ''">
|
||||
,RMRK = #{rmrk}
|
||||
</if>
|
||||
<if test="regUserNo != null and regUserNo != ''">
|
||||
,REG_USER_NO = #{session.userNo}
|
||||
</if>
|
||||
<if test="regDttm != null and regDttm != ''">
|
||||
,REG_DTTM = SYSDATE
|
||||
</if>
|
||||
<if test="procUserNo != null and procUserNo != ''">
|
||||
,PROC_USER_NO = #{session.userNo}
|
||||
</if>
|
||||
<if test="procDttm != null and procDttm != ''">
|
||||
,PROC_DTTM = SYSDATE
|
||||
</if>
|
||||
</trim>
|
||||
WHERE 1=1
|
||||
AND COM_ID = #{comId}
|
||||
</update>
|
||||
|
||||
<delete id="deleteComId">
|
||||
/* comm.comId.deleteComId : 삭제 */
|
||||
DELETE
|
||||
FROM COMM_COM_CD
|
||||
WHERE 1=1
|
||||
AND COM_ID = #{comId}
|
||||
</delete>
|
||||
|
||||
<select id="selectComId" resultType="com.lsitc.fems.comm.base.vo.ComIdVo">
|
||||
/* comm.comId.selectComId : 조회 */
|
||||
SELECT
|
||||
COM_ID
|
||||
,COM_NM
|
||||
,COM_ABBRNM
|
||||
,USE_FG
|
||||
,RMRK
|
||||
FROM COMM_COM_CD
|
||||
WHERE 1=1
|
||||
<if test="comId != null and comId != ''">
|
||||
AND COM_ID = #{comId}
|
||||
</if>
|
||||
<if test="comNm != null and comNm != ''">
|
||||
AND COM_NM = #{comNm}
|
||||
</if>
|
||||
<if test="useFg != null and useFg != ''">
|
||||
AND USE_FG = #{useFg}
|
||||
</if>
|
||||
</select>
|
||||
|
||||
</mapper>
|
211
src/main/resources/sqlmap/comm/oracle/base/CommCdMapper.xml
Normal file
211
src/main/resources/sqlmap/comm/oracle/base/CommCdMapper.xml
Normal file
@ -0,0 +1,211 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
|
||||
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
|
||||
|
||||
<mapper namespace="comm.base.commCdMng">
|
||||
<!-- 조회 - 공통 코드 그룹 목록 -->
|
||||
<select id="selectCommGrpCd" resultType="com.lsitc.core.base.CamelHashMap">
|
||||
/* comm.commCdMng.selectCommGrpCd : 조회 - 공통 코드 그룹 목록 */
|
||||
SELECT A.COMM_GRP_CD
|
||||
,A.COMM_GRP_NM
|
||||
,A.USE_FG
|
||||
,A.RMRK
|
||||
,A.SYS_DIV
|
||||
FROM COMM_GRP_CD A
|
||||
WHERE 1=1
|
||||
<if test='commGrpCd != null and commGrpCd != ""'>
|
||||
AND COMM_GRP_CD LIKE ('%' || #{commGrpCd} || '%')
|
||||
</if>
|
||||
<if test='commGrpNm != null and commGrpNm != ""'>
|
||||
AND COMM_GRP_NM LIKE ('%' || #{commGrpNm} || '%')
|
||||
</if>
|
||||
<if test='useFg != null and useFg != ""'>
|
||||
AND USE_FG = #{useFg}
|
||||
</if>
|
||||
<if test='sysDivCd != null and sysDivCd != ""'>
|
||||
AND A.SYS_DIV = #{sysDivCd}
|
||||
</if>
|
||||
ORDER BY SYS_DIV, COMM_GRP_CD , COMM_GRP_NM, USE_FG
|
||||
</select>
|
||||
|
||||
<!-- 등록 - 공통 코드 그룹 -->
|
||||
<insert id="insertCommGrpCd">
|
||||
/* comm.commCdMng.insertCommGrpCd : 등록 - 공통 코드 그룹 */
|
||||
INSERT INTO COMM_GRP_CD (
|
||||
COMM_GRP_CD
|
||||
, COMM_GRP_NM
|
||||
, USE_FG
|
||||
, RMRK
|
||||
, SYS_DIV
|
||||
, REG_USER_NO
|
||||
, REG_DTTM
|
||||
, PROC_USER_NO
|
||||
, PROC_DTTM
|
||||
) VALUES (
|
||||
#{commGrpCd}
|
||||
, #{commGrpNm}
|
||||
, #{useFg}
|
||||
, #{rmrk}
|
||||
, #{sysDiv}
|
||||
, #{session.userNo}
|
||||
, SYSDATE
|
||||
, #{session.userNo}
|
||||
, SYSDATE
|
||||
)
|
||||
</insert>
|
||||
|
||||
<!-- 수정 - 공통 코드 그룹 -->
|
||||
<update id="updateCommGrpCd">
|
||||
/* comm.commCdMng.updateCommGrpCd : 수정 - 공통 코드 그룹 */
|
||||
UPDATE COMM_GRP_CD
|
||||
SET
|
||||
COMM_GRP_NM = #{commGrpNm}
|
||||
, SYS_DIV = #{sysDiv}
|
||||
, USE_FG = #{useFg}
|
||||
, RMRK = #{rmrk}
|
||||
, PROC_USER_NO = #{session.userNo}
|
||||
, PROC_DTTM = SYSDATE
|
||||
WHERE 1=1
|
||||
AND COMM_GRP_CD = #{commGrpCd}
|
||||
</update>
|
||||
|
||||
<!-- 삭제 - 공통 코드 그룹 -->
|
||||
<delete id="deleteCommGrpCd">
|
||||
/* comm.commCdMng.deleteCommGrpCd : 삭제 - 공통 코드 그룹 */
|
||||
DELETE
|
||||
FROM COMM_GRP_CD
|
||||
WHERE 1=1
|
||||
AND COMM_GRP_CD = #{commGrpCd}
|
||||
</delete>
|
||||
|
||||
<select id="selectCommCd" resultType="com.lsitc.fems.comm.base.vo.CommCdVo">
|
||||
/* comm.commCdMng.selectCommCd 화면용 공통코드 조회 */
|
||||
SELECT
|
||||
<!-- CD AS CODE, -->
|
||||
<!-- CD_NM AS VALUE, -->
|
||||
COMM_CD,
|
||||
COMM_CD_NM,
|
||||
COMM_GRP_CD,
|
||||
COMM_CD_ABBRNM,
|
||||
USER_DEF_VAL1,
|
||||
USER_DEF_VAL2,
|
||||
USER_DEF_VAL3,
|
||||
USE_FG,
|
||||
SORT_SEQ,
|
||||
RMRK,
|
||||
#{session.comId} AS COM_ID
|
||||
FROM
|
||||
COMM_CD
|
||||
WHERE
|
||||
COMM_GRP_CD = #{commGrpCd}
|
||||
<if test="useFg!='' and useFg != null">
|
||||
AND USE_FG = #{useFg}
|
||||
</if>
|
||||
<if test="userDefVal1 != '' and userDefVal1 != null">
|
||||
AND USER_DEF_VAL1 = #{userDefVal1}
|
||||
</if>
|
||||
<if test="userDefVal2 != '' and userDefVal2 != null">
|
||||
AND USER_DEF_VAL2 = #{userDefVal2}
|
||||
</if>
|
||||
<if test="userDefVal3 != '' and userDefVal3 != null">
|
||||
AND USER_DEF_VAL3 = #{userDefVal3}
|
||||
</if>
|
||||
<if test="modeFg == 'T'.toString()">
|
||||
UNION ALL
|
||||
SELECT
|
||||
'' AS COMM_CD,
|
||||
'전체' AS COMM_CD_NM,
|
||||
'' AS COMM_GRP_CD ,
|
||||
-1 AS SORT_SEQ ,
|
||||
#{session.comId} AS COM_ID
|
||||
</if>
|
||||
<if test = "modeFg == 'S'.toString()">
|
||||
UNION ALL
|
||||
SELECT
|
||||
'' AS COMM_CD,
|
||||
'선택' AS COMM_CD_NM,
|
||||
'' AS COMM_GRP_CD ,
|
||||
-1 AS SORT_SEQ ,
|
||||
#{session.comId} AS COM_ID
|
||||
</if>
|
||||
<if test = "modeFg == 'N'.toString()">
|
||||
UNION ALL
|
||||
SELECT
|
||||
'' AS COMM_CD,
|
||||
'전체' AS COMM_CD_NM,
|
||||
'' AS COMM_GRP_CD,
|
||||
-1 AS SORT_SEQ,
|
||||
#{session.comId} AS COM_ID
|
||||
</if>
|
||||
<if test = "orderBy == null or orderBy == ''" >
|
||||
ORDER BY SORT_SEQ, COMM_CD, COMM_CD_NM
|
||||
</if>
|
||||
</select>
|
||||
|
||||
<!-- 등록 - 공통 코드 -->
|
||||
<insert id="insertCommCd">
|
||||
/* comm.commCdMng.insertCommCd : 등록 - 공통 코드 */
|
||||
INSERT INTO COMM_CD (
|
||||
COMM_GRP_CD
|
||||
, COMM_CD
|
||||
, COMM_CD_NM
|
||||
, COMM_CD_ABBRNM
|
||||
, USER_DEF_VAL1
|
||||
, USER_DEF_VAL2
|
||||
, USER_DEF_VAL3
|
||||
, USE_FG
|
||||
, SORT_SEQ
|
||||
, RMRK
|
||||
, REG_USER_NO
|
||||
, REG_DTTM
|
||||
, PROC_USER_NO
|
||||
, PROC_DTTM
|
||||
) VALUES (
|
||||
#{commGrpCd}
|
||||
, #{commCd}
|
||||
, #{commCdNm}
|
||||
, #{commCdAbbrnm}
|
||||
, #{userDefVal1}
|
||||
, #{userDefVal2}
|
||||
, #{userDefVal3}
|
||||
, #{useFg}
|
||||
, #{sortSeq}
|
||||
, #{rmrk}
|
||||
, #{session.userNo}
|
||||
, SYSDATE
|
||||
, #{session.userNo}
|
||||
, SYSDATE
|
||||
)
|
||||
</insert>
|
||||
|
||||
<!-- 수정 - 공통 코드 -->
|
||||
<update id="updateCommCd">
|
||||
/* comm.commCdMng.updateCommCd : 수정 - 공통 코드 */
|
||||
UPDATE COMM_CD
|
||||
SET
|
||||
COMM_GRP_CD = #{commGrpCd}
|
||||
, COMM_CD = #{commCd}
|
||||
, COMM_CD_NM = #{commCdNm}
|
||||
, COMM_CD_ABBRNM = #{commCdAbbrnm}
|
||||
, USER_DEF_VAL1 = #{userDefVal1}
|
||||
, USER_DEF_VAL2 = #{userDefVal2}
|
||||
, USER_DEF_VAL3 = #{userDefVal3}
|
||||
, USE_FG = #{useFg}
|
||||
, SORT_SEQ = #{sortSeq}
|
||||
, RMRK = #{rmrk}
|
||||
, PROC_USER_NO = #{session.userNo}
|
||||
, PROC_DTTM = SYSDATE
|
||||
WHERE 1=1
|
||||
AND COMM_GRP_CD = #{commGrpCd}
|
||||
AND COMM_CD = #{commCd}
|
||||
</update>
|
||||
|
||||
<!-- 삭제 - 공통 코드 -->
|
||||
<delete id="deleteCommCd">
|
||||
/* comm.commCdMng.deleteCommCd : 삭제 - 공통 코드 */
|
||||
DELETE FROM COMM_CD
|
||||
WHERE 1=1
|
||||
AND COMM_GRP_CD = #{commGrpCd}
|
||||
AND COMM_CD = #{commCd}
|
||||
</delete>
|
||||
</mapper>
|
31
src/main/resources/sqlmap/comm/oracle/base/CommMapper.xml
Normal file
31
src/main/resources/sqlmap/comm/oracle/base/CommMapper.xml
Normal file
@ -0,0 +1,31 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
|
||||
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
|
||||
|
||||
|
||||
<mapper namespace="comm.base.comm">
|
||||
<select id="selectBlocMstr" resultType="com.lsitc.fems.comm.base.vo.BlocMstrVo">
|
||||
/* comm.comm.selectBlocMstr : 사업장 코드 조회 */
|
||||
SELECT COM_ID
|
||||
,BLOC_ID
|
||||
,BLOC_NM
|
||||
,PLC_ID
|
||||
,SORT_SEQ
|
||||
,USE_FG
|
||||
,RMRK
|
||||
,REG_USER_NO
|
||||
,REG_DTTM
|
||||
,PROC_USER_NO
|
||||
,PROC_DTTM
|
||||
FROM COMM_BLOC_INFO
|
||||
WHERE 1=1
|
||||
AND COM_ID = #{session.comId}
|
||||
<if test="blocId != null and blocId != ''">
|
||||
AND BLOC_ID = #{blocId}
|
||||
</if>
|
||||
<if test="plcId != null and plcId != ''">
|
||||
AND PLC_ID = #{plcId}
|
||||
</if>
|
||||
</select>
|
||||
|
||||
</mapper>
|
286
src/main/resources/sqlmap/comm/oracle/base/MenuMngMapper.xml
Normal file
286
src/main/resources/sqlmap/comm/oracle/base/MenuMngMapper.xml
Normal file
@ -0,0 +1,286 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
|
||||
<mapper namespace="comm.base.menuMng">
|
||||
<select id="selectCommMenuTree" resultType="com.lsitc.core.base.CamelHashMap" >
|
||||
/* comm.menuMng.selectCommMenuTree : 메뉴 트리 조회 */
|
||||
WITH CTE (MENU_ID, PRGM_ID, UP_MENU_ID, MENU_NM, SORT_SEQ, USE_FG, RMRK, REG_USER_NO, REG_DTTM, PROC_USER_NO, PROC_DTTM, COM_ID, SYS_DIV_CD, LVL, T)
|
||||
AS (
|
||||
SELECT MENU_ID, PRGM_ID, UP_MENU_ID, MENU_NM, SORT_SEQ, USE_FG, RMRK, REG_USER_NO, REG_DTTM, PROC_USER_NO, PROC_DTTM, COM_ID, SYS_DIV_CD
|
||||
, 0 AS LVL
|
||||
, LPAD(SORT_SEQ, 5, '0') AS T
|
||||
FROM COMM_MENU
|
||||
WHERE
|
||||
COM_ID = #{session.comId}
|
||||
AND MENU_ID = '0'
|
||||
UNION ALL
|
||||
SELECT A.MENU_ID, A.PRGM_ID, A.UP_MENU_ID, A.MENU_NM, A.SORT_SEQ, A.USE_FG, A.RMRK, A.REG_USER_NO, A.REG_DTTM, A.PROC_USER_NO, A.PROC_DTTM, A.COM_ID, A.SYS_DIV_CD
|
||||
, LVL + 1 AS LVL
|
||||
, CONCAT(CONCAT(T, '-'), LPAD(A.SORT_SEQ, 5, '0')) AS T
|
||||
FROM COMM_MENU A
|
||||
INNER JOIN CTE B ON A.COM_ID=B.COM_ID and A.UP_MENU_ID = B.MENU_ID WHERE A.COM_ID=#{session.comId}
|
||||
)
|
||||
SELECT A.MENU_ID, A.PRGM_ID, A.UP_MENU_ID, A.MENU_NM, A.SORT_SEQ, A.USE_FG, A.RMRK, A.REG_USER_NO, A.REG_DTTM, A.PROC_USER_NO, A.PROC_DTTM, A.COM_ID, NVL(A.SYS_DIV_CD, '') AS SYS_DIV_CD
|
||||
, A.LVL
|
||||
, A.UP_MENU_ID AS PARENT_ID
|
||||
FROM CTE A
|
||||
LEFT OUTER JOIN COMM_PRGM B ON A.PRGM_ID = B.PRGM_ID
|
||||
WHERE 1=1
|
||||
-- AND UP_MENU_ID <![CDATA[<>]]> ''
|
||||
AND A.COM_ID = #{session.comId}
|
||||
<if test="menuNm != null and menuNm != ''">
|
||||
AND (MENU_NM LIKE CONCAT('%', #{menuNm}, '%') OR MENU_ID = '0')
|
||||
</if>
|
||||
<if test="menuId != null and menuId != ''">
|
||||
AND (MENU_ID LIKE CONCAT('%', UPPER(#{menuId}), '%') OR MENU_ID = '0')
|
||||
</if>
|
||||
<if test="useFg != null and useFg != ''">
|
||||
AND A.USE_FG = #{useFg}
|
||||
</if>
|
||||
<if test="sysDivCd != null and sysDivCd != ''">
|
||||
AND (A.SYS_DIV_CD = #{sysDivCd} OR MENU_ID = '0') -- root는 포함되도록..
|
||||
</if>
|
||||
ORDER
|
||||
BY T
|
||||
</select>
|
||||
|
||||
<select id="selectMenuPop" resultType="camelHashMap">
|
||||
/* comm.menuMng.selectMenuPop : 메뉴(팝업) 조회 */
|
||||
WITH RECURSIVE CTE AS (
|
||||
SELECT MENU_ID, PRGM_ID, UP_MENU_ID, MENU_NM, SORT_SEQ, USE_FG, RMRK, REG_USER_NO, REG_DTTM, PROC_USER_NO, PROC_DTTM, COM_ID
|
||||
, 0 AS LVL
|
||||
, CONVERT(CONCAT(REPEAT('0', 5-LENGTH(SORT_SEQ)), SORT_SEQ), VARCHAR(100)) AS T
|
||||
FROM COMM_MENU
|
||||
WHERE COM_ID = #{session.comId}
|
||||
AND MENU_ID = '0'
|
||||
|
||||
UNION ALL
|
||||
|
||||
SELECT A.MENU_ID, A.PRGM_ID, A.UP_MENU_ID, A.MENU_NM, A.SORT_SEQ, A.USE_FG, A.RMRK, A.REG_USER_NO, A.REG_DTTM, A.PROC_USER_NO, A.PROC_DTTM, A.COM_ID
|
||||
, LVL + 1 AS LVL
|
||||
, CONVERT(CONCAT(T, '-', REPEAT('0', 5-LENGTH(A.SORT_SEQ)), A.SORT_SEQ), VARCHAR(100)) AS T
|
||||
FROM COMM_MENU A
|
||||
INNER JOIN CTE B ON A.COM_ID=B.COM_ID AND A.UP_MENU_ID = B.MENU_ID
|
||||
WHERE A.COM_ID = #{session.comId}
|
||||
)
|
||||
SELECT A.MENU_ID, A.PRGM_ID, A.UP_MENU_ID, A.MENU_NM, A.SORT_SEQ, A.USE_FG, A.RMRK, A.REG_USER_NO, A.REG_DTTM, A.PROC_USER_NO, A.PROC_DTTM, A.COM_ID
|
||||
, A.LVL
|
||||
, A.UP_MENU_ID AS PARENT_ID
|
||||
FROM CTE A
|
||||
LEFT OUTER JOIN COMM_PRGM B ON A.PRGM_ID = B.PRGM_ID
|
||||
WHERE 1=1
|
||||
-- AND UP_MENU_ID <![CDATA[<>]]> ''
|
||||
AND A.COM_ID = #{session.comId}
|
||||
<if test="useFg != null and useFg != ''">
|
||||
AND A.USE_FG = #{useFg}
|
||||
</if>
|
||||
<if test="sysDivCd != null and sysDivCd !=''">
|
||||
AND A.SYS_DIV_CD = #{sysDivCd}
|
||||
</if>
|
||||
ORDER
|
||||
BY T
|
||||
</select>
|
||||
|
||||
<insert id="insertMenu">
|
||||
/* comm.menuMng.insertMenu : 메뉴 추가 */
|
||||
<selectKey keyProperty="menuId" resultType="java.lang.String" order="BEFORE">
|
||||
SELECT /* 메뉴ID 채번 */
|
||||
CONCAT('MNU', LPAD(SEQ_COMM_MENU.NEXTVAL, 4, '0')) FROM DUAL
|
||||
</selectKey>
|
||||
INSERT
|
||||
INTO COMM_MENU
|
||||
(
|
||||
MENU_ID
|
||||
,COM_ID
|
||||
,SYS_DIV_CD
|
||||
,PRGM_ID
|
||||
,UP_MENU_ID
|
||||
,MENU_NM
|
||||
,SORT_SEQ
|
||||
,USE_FG
|
||||
,RMRK
|
||||
,REG_USER_NO
|
||||
,REG_DTTM
|
||||
,PROC_USER_NO
|
||||
,PROC_DTTM
|
||||
)
|
||||
VALUES
|
||||
(
|
||||
#{menuId}
|
||||
,#{comId}
|
||||
,#{sysDivCd}
|
||||
,#{prgmId}
|
||||
,#{upMenuId}
|
||||
,#{menuNm}
|
||||
,#{sortSeq}
|
||||
,#{useFg}
|
||||
,#{rmrk}
|
||||
,#{session.userNo}
|
||||
,SYSDATE
|
||||
,#{session.userNo}
|
||||
,SYSDATE
|
||||
)
|
||||
</insert>
|
||||
|
||||
<update id="updateMenu">
|
||||
/* comm.menuMng.updateMenu : 수정 */
|
||||
UPDATE COMM_MENU
|
||||
<trim prefix="SET" prefixOverrides=",">
|
||||
<if test="sysDivCd != null and sysDivCd != ''">
|
||||
,SYS_DIV_CD = #{sysDivCd}
|
||||
</if>
|
||||
<if test="prgmId != null and prgmId != ''">
|
||||
,PRGM_ID = #{prgmId}
|
||||
</if>
|
||||
<if test="upMenuId != null and upMenuId != ''">
|
||||
,UP_MENU_ID = #{upMenuId}
|
||||
</if>
|
||||
<if test="menuNm != null and menuNm != ''">
|
||||
,MENU_NM = #{menuNm}
|
||||
</if>
|
||||
<if test="sortSeq != null and sortSeq != ''">
|
||||
,SORT_SEQ = #{sortSeq}
|
||||
</if>
|
||||
<if test="useFg != null and useFg != ''">
|
||||
,USE_FG = #{useFg}
|
||||
</if>
|
||||
<if test="rmrk != null and rmrk != ''">
|
||||
,RMRK = #{rmrk}
|
||||
</if>
|
||||
,PROC_USER_NO = #{session.userNo}
|
||||
,PROC_DTTM = SYSDATE
|
||||
</trim>
|
||||
WHERE 1=1
|
||||
AND MENU_ID = #{menuId}
|
||||
AND COM_ID = #{comId}
|
||||
</update>
|
||||
|
||||
<delete id="deleteMenu">
|
||||
/* comm.menuMng.deleteMenu : 메뉴 삭제 */
|
||||
DELETE
|
||||
FROM COMM_MENU
|
||||
WHERE 1=1
|
||||
AND MENU_ID = #{menuId}
|
||||
AND COM_ID = #{comId}
|
||||
</delete>
|
||||
|
||||
<select id="selectAuthMenu" resultType="com.lsitc.fems.comm.auth.vo.CommMenuVo">
|
||||
/* comm.menuMng.selectAuthMenu 권한이 있는 메뉴 목록 */
|
||||
WITH MENU_LIST AS (
|
||||
SELECT /* 권한있는 메뉴 목록 조회 */
|
||||
D.MENU_ID /* 메뉴ID */
|
||||
, D.MENU_NM /* 메뉴명 */
|
||||
, D.UP_MENU_ID /* 상위메뉴ID */
|
||||
, E.URL /* URL */
|
||||
, C.AUTH_CD
|
||||
, D.SORT_SEQ
|
||||
, E.PRGM_ID
|
||||
FROM COMM_ROLE_USER A /* 역할별사용자 */
|
||||
INNER JOIN COMM_MENU_ROLE B ON ( A.COM_ID=B.COM_ID and A.ROLE_ID = B.ROLE_ID ) /* 역할별메뉴 */
|
||||
LEFT OUTER JOIN COMM_MENU_ROLE_AUTH C ON ( B.COM_ID=C.COM_ID and B.ROLE_ID = C.ROLE_ID AND B.MENU_ID = C.MENU_ID ) /* 역할별 권한 */
|
||||
INNER JOIN COMM_MENU D ON ( A.COM_ID=D.COM_ID and B.MENU_ID = D.MENU_ID ) /* 메뉴 */
|
||||
LEFT OUTER JOIN COMM_PRGM E ON ( D.PRGM_ID = E.PRGM_ID ) /* 프로그램 */
|
||||
WHERE A.COM_ID=#{session.comId}
|
||||
/* essential */
|
||||
AND A.USER_NO = #{session.userNo} /* USER_NO */
|
||||
AND SYSDATE BETWEEN A.APLY_START_DT AND A.APLY_END_DT /* 현재 유효한것만 */
|
||||
AND D.USE_FG = '1' /* 메뉴-사용여부 Y인것만 */
|
||||
)
|
||||
, MENU_LIST_GRP AS (
|
||||
SELECT /* LIST_AGG이 안되 GRP하기 위함. */
|
||||
A.MENU_ID
|
||||
,A.MENU_NM
|
||||
,A.UP_MENU_ID
|
||||
,A.URL
|
||||
,A.SORT_SEQ
|
||||
,(SELECT /* 사용자가 가지는 ROLE */
|
||||
LISTAGG(C.AUTH_CD, ',')
|
||||
FROM MENU_LIST C
|
||||
WHERE 1=1
|
||||
AND C.MENU_ID = A.MENU_ID
|
||||
) AS AUTH_CD
|
||||
,A.PRGM_ID
|
||||
FROM MENU_LIST A
|
||||
GROUP
|
||||
BY A.MENU_ID
|
||||
,A.MENU_NM
|
||||
,A.UP_MENU_ID
|
||||
,A.URL
|
||||
,A.SORT_SEQ
|
||||
,A.PRGM_ID
|
||||
), MENU_TREE (MENU_ID, MENU_NM, UP_MENU_ID, URL, AUTH_CD, LVL, SORT_SEQ, PRGM_ID) AS (
|
||||
SELECT /* Tree로 변경. */
|
||||
'0' AS MENU_ID
|
||||
,'ROOT' AS MENU_NM
|
||||
,' ' AS UP_MENU_ID
|
||||
,'' AS URL
|
||||
,'' AS AUTH_CD
|
||||
,0 AS LVL
|
||||
,'00000' AS SORT_SEQ
|
||||
,'' AS PRGM_ID
|
||||
FROM DUAL
|
||||
UNION ALL
|
||||
SELECT A.MENU_ID
|
||||
,A.MENU_NM
|
||||
,A.UP_MENU_ID
|
||||
,A.URL
|
||||
,A.AUTH_CD AS AUTH_CD
|
||||
,B.LVL + 1 AS LVL
|
||||
,CONCAT(CONCAT(B.SORT_SEQ, '-'), LPAD(A.SORT_SEQ, 5, '0')) AS SORT_SEQ
|
||||
,A.PRGM_ID
|
||||
FROM MENU_LIST_GRP A
|
||||
INNER
|
||||
JOIN MENU_TREE B ON A.UP_MENU_ID = B.MENU_ID
|
||||
)
|
||||
SELECT
|
||||
MENU_ID
|
||||
,MENU_NM
|
||||
,UP_MENU_ID
|
||||
,URL
|
||||
,AUTH_CD
|
||||
,lvl
|
||||
,PRGM_ID
|
||||
FROM MENU_TREE
|
||||
ORDER
|
||||
BY SORT_SEQ, MENU_NM
|
||||
</select>
|
||||
|
||||
<insert id="saveBookmark">
|
||||
INSERT INTO COMM_USER_BKMK_MENU(
|
||||
COM_ID
|
||||
,USER_NO
|
||||
,MENU_ID
|
||||
,REG_USER_NO
|
||||
,REG_DTTM
|
||||
,PROC_USER_NO
|
||||
,PROC_DTTM
|
||||
)VALUES(
|
||||
#{session.comId}
|
||||
,#{session.userNo}
|
||||
,#{menuId}
|
||||
,#{session.userNo}
|
||||
,SYSDATE
|
||||
,#{session.userNo}
|
||||
,SYSDATE
|
||||
)
|
||||
</insert>
|
||||
|
||||
<delete id="deleteBookmark">
|
||||
DELETE FROM COMM_USER_BKMK_MENU WHERE COM_ID = #{session.comId} AND USER_NO = #{session.userNo} AND MENU_ID = #{menuId}
|
||||
</delete>
|
||||
|
||||
<select id="selectMyMenu" resultType="com.lsitc.fems.comm.auth.vo.CommMenuVo">
|
||||
SELECT
|
||||
A.COM_ID
|
||||
,A.USER_NO
|
||||
,A.MENU_ID
|
||||
,B.PRGM_ID
|
||||
,B.MENU_NM
|
||||
,C.URL
|
||||
FROM COMM_USER_BKMK_MENU A
|
||||
LEFT JOIN COMM_MENU B ON (A.COM_ID = B.COM_ID AND A.MENU_ID = B.MENU_ID)
|
||||
LEFT JOIN COMM_PRGM C ON (B.PRGM_ID = C.PRGM_ID)
|
||||
WHERE A.COM_ID = #{session.comId}
|
||||
AND A.USER_NO = #{session.userNo}
|
||||
ORDER BY B.MENU_NM
|
||||
</select>
|
||||
</mapper>
|
218
src/main/resources/sqlmap/comm/oracle/base/NoticeMngMapper.xml
Normal file
218
src/main/resources/sqlmap/comm/oracle/base/NoticeMngMapper.xml
Normal file
@ -0,0 +1,218 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
|
||||
<mapper namespace="comm.base.noticeMng">
|
||||
<select id="selectPostList" resultType="com.lsitc.core.base.CamelHashMap" >
|
||||
/* comm.noticeMng.selectPostList : 게시판 리스트 조회 */
|
||||
SELECT B.COM_ID, B.BORD_NO, P.POST_NO, P.POST_ORG_NO, P.POST_GRP_ORD, P.POST_GRP_LAYER,
|
||||
P.POST_TITL, P.POST_TITL AS TITLE,
|
||||
P.NOTI_YN, P.RPLY_POSS_YN, P.STRT_DTTM, P.END_DTTM, P.VIEW_CNT, P.APND_FILE_UUID,
|
||||
P.REG_USER_NO, P.REG_DTTM
|
||||
FROM comm_bord B
|
||||
INNER JOIN comm_post P
|
||||
ON B.COM_ID = P.COM_ID
|
||||
AND B.BORD_NO = P.BORD_NO
|
||||
WHERE B.COM_ID = #{session.comId}
|
||||
AND B.USE_FG = '1'
|
||||
AND B.BORD_NO = #{bordNo}
|
||||
<if test="postOrgNo != null and postOrgNo != ''">
|
||||
AND P.POST_ORG_NO = #{postOrgNo}
|
||||
</if>
|
||||
ORDER BY P.POST_ORG_NO DESC, P.POST_GRP_ORD ASC
|
||||
</select>
|
||||
|
||||
<!-- resultMap 지정 -->
|
||||
<resultMap id="selectPostResult" type="com.lsitc.core.base.CamelHashMap" >
|
||||
<result property="POST_CNTN" column="POST_CNTN" jdbcType="CLOB" javaType="java.lang.String" />
|
||||
</resultMap>
|
||||
|
||||
<select id ="selectPost" resultType="com.lsitc.core.base.CamelHashMap" resultMap="selectPostResult">
|
||||
/* comm.noticeMng.selectPost : 게시물 조회 */
|
||||
SELECT B.COM_ID, B.BORD_NO, P.POST_NO, P.POST_ORG_NO, P.POST_GRP_ORD, P.POST_GRP_LAYER,
|
||||
P.POST_TITL, P.POST_TITL AS TITLE, P.POST_CNTN,
|
||||
P.NOTI_YN, P.RPLY_POSS_YN, P.STRT_DTTM, P.END_DTTM, P.APND_FILE_UUID, P.VIEW_CNT,
|
||||
P.REG_USER_NO, P.REG_DTTM
|
||||
FROM comm_bord B
|
||||
INNER JOIN
|
||||
comm_post P
|
||||
ON B.COM_ID = P.COM_ID
|
||||
AND B.BORD_NO = P.BORD_NO
|
||||
WHERE B.COM_ID = #{session.comId}
|
||||
AND B.USE_FG = '1'
|
||||
AND B.BORD_NO = #{bordNo}
|
||||
AND P.POST_NO = #{postNo}
|
||||
</select>
|
||||
|
||||
<insert id="insertPost">
|
||||
/* comm.noticeMng.insertPost : 게시물 등록 */
|
||||
<selectKey keyProperty="postNo" resultType="java.math.BigDecimal" order="BEFORE">
|
||||
SELECT NVL(MAX(POST_NO),0)+1
|
||||
FROM comm_post
|
||||
WHERE COM_ID = #{session.comId}
|
||||
AND BORD_NO =#{bordNo}
|
||||
</selectKey>
|
||||
INSERT
|
||||
INTO comm_post
|
||||
(
|
||||
COM_ID,
|
||||
BORD_NO,
|
||||
POST_NO,
|
||||
POST_ORG_NO,
|
||||
POST_GRP_ORD,
|
||||
POST_GRP_LAYER,
|
||||
POST_TITL,
|
||||
POST_CNTN,
|
||||
RPLY_POSS_YN,
|
||||
APND_FILE_UUID,
|
||||
VIEW_CNT,
|
||||
REG_USER_NO,
|
||||
REG_DTTM,
|
||||
PROC_USER_NO,
|
||||
PROC_DTTM
|
||||
)
|
||||
VALUES (
|
||||
#{session.comId}
|
||||
,#{bordNo}
|
||||
,#{postNo}
|
||||
,#{postNo}
|
||||
,0
|
||||
,0
|
||||
,#{postTitl, jdbcType=VARCHAR}
|
||||
,#{postCntn}
|
||||
,#{rplyPossYn}
|
||||
,#{apndFileUuid}
|
||||
,0
|
||||
,#{session.userNo}
|
||||
,SYSDATE
|
||||
,#{session.userNo}
|
||||
,SYSDATE
|
||||
)
|
||||
</insert>
|
||||
|
||||
<insert id="insertRplPost">
|
||||
/* comm.noticeMng.insertRplPost : 게시물 답글 등록 */
|
||||
|
||||
INSERT
|
||||
INTO comm_post
|
||||
(
|
||||
COM_ID,
|
||||
BORD_NO,
|
||||
POST_NO,
|
||||
POST_ORG_NO,
|
||||
POST_GRP_ORD,
|
||||
POST_GRP_LAYER,
|
||||
POST_TITL,
|
||||
POST_CNTN,
|
||||
RPLY_POSS_YN,
|
||||
APND_FILE_UUID,
|
||||
VIEW_CNT,
|
||||
REG_USER_NO,
|
||||
REG_DTTM,
|
||||
PROC_USER_NO,
|
||||
PROC_DTTM
|
||||
)
|
||||
VALUES (
|
||||
#{session.comId}
|
||||
,#{bordNo}
|
||||
,(SELECT NVL(MAX(POST_NO),0)+1
|
||||
FROM comm_post cp
|
||||
WHERE cp.COM_ID = #{session.comId}
|
||||
AND cp.BORD_NO =#{bordNo})
|
||||
,#{postOrgNo}
|
||||
,#{postGrpOrd} + 1
|
||||
,#{postGrpLayer} + 1
|
||||
,#{postTitl}
|
||||
,#{postCntn}
|
||||
,#{rplyPossYn}
|
||||
,#{apndFileUuid}
|
||||
,0
|
||||
,#{session.userNo}
|
||||
,SYSDATE
|
||||
,#{session.userNo}
|
||||
,SYSDATE
|
||||
)
|
||||
</insert>
|
||||
|
||||
<update id="updateRplPostGrpOrd">
|
||||
UPDATE comm_post
|
||||
SET POST_GRP_ORD = POST_GRP_ORD + 1
|
||||
WHERE POST_ORG_NO = #{postOrgNo} and POST_GRP_ORD > #{postGrpOrd}
|
||||
</update>
|
||||
|
||||
<update id="updateViewCnt">
|
||||
UPDATE comm_post
|
||||
SET VIEW_CNT = VIEW_CNT + 1
|
||||
WHERE BORD_NO = #{bordNo}
|
||||
AND POST_NO = #{postNo}
|
||||
</update>
|
||||
|
||||
<update id="updatePost">
|
||||
/* comm.noticeMng.updatePost : 게시물 수정 */
|
||||
UPDATE comm_post
|
||||
<trim prefix="SET" prefixOverrides=",">
|
||||
<if test="postTitl != null and postTitl != ''">
|
||||
,POST_TITL = #{postTitl}
|
||||
</if>
|
||||
<if test="postCntn != null and postCntn != ''">
|
||||
,POST_CNTN = #{postCntn}
|
||||
</if>
|
||||
<if test="notiYn != null and notiYn != ''">
|
||||
,NOTI_YN = #{notiYn}
|
||||
</if>
|
||||
<if test="apndFileUuid != null and apndFileUuid != ''">
|
||||
,APND_FILE_UUID = #{apndFileUuid}
|
||||
</if>
|
||||
,PROC_USER_NO = #{session.userNo}
|
||||
,PROC_DTTM = SYSDATE
|
||||
</trim>
|
||||
WHERE 1=1
|
||||
AND COM_ID = #{session.comId}
|
||||
AND BORD_NO = #{bordNo}
|
||||
AND POST_NO = #{postNo}
|
||||
</update>
|
||||
|
||||
<delete id="deletePost">
|
||||
/* comm.noticeMng.deletePostList : 삭제 */
|
||||
<!-- BEGIN TRAN -->
|
||||
DELETE
|
||||
FROM comm_post
|
||||
WHERE 1=1
|
||||
AND COM_ID = #{session.comId}
|
||||
AND BORD_NO = #{bordNo}
|
||||
AND POST_NO = #{postNo}
|
||||
<!-- COMMIT TRAN -->
|
||||
</delete>
|
||||
|
||||
<update id="updateMenu">
|
||||
/* comm.menuMng.updateMenu : 수정 */
|
||||
UPDATE COMM_MENU
|
||||
<trim prefix="SET" prefixOverrides=",">
|
||||
<if test="sysDivCd != null and sysDivCd != ''">
|
||||
,SYS_DIV_CD = #{sysDivCd}
|
||||
</if>
|
||||
<if test="prgmId != null and prgmId != ''">
|
||||
,PRGM_ID = #{prgmId}
|
||||
</if>
|
||||
<if test="upMenuId != null and upMenuId != ''">
|
||||
,UP_MENU_ID = #{upMenuId}
|
||||
</if>
|
||||
<if test="menuNm != null and menuNm != ''">
|
||||
,MENU_NM = #{menuNm}
|
||||
</if>
|
||||
<if test="sortSeq != null and sortSeq != ''">
|
||||
,SORT_SEQ = #{sortSeq}
|
||||
</if>
|
||||
<if test="useFg != null and useFg != ''">
|
||||
,USE_FG = #{useFg}
|
||||
</if>
|
||||
<if test="rmrk != null and rmrk != ''">
|
||||
,RMRK = #{rmrk}
|
||||
</if>
|
||||
,PROC_USER_NO = #{session.userNo}
|
||||
,PROC_DTTM = SYSDATE
|
||||
</trim>
|
||||
WHERE 1=1
|
||||
AND MENU_ID = #{menuId}
|
||||
AND COM_ID = #{session.comId}
|
||||
</update>
|
||||
|
||||
</mapper>
|
141
src/main/resources/sqlmap/comm/oracle/base/OrgMngMapper.xml
Normal file
141
src/main/resources/sqlmap/comm/oracle/base/OrgMngMapper.xml
Normal file
@ -0,0 +1,141 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
|
||||
<mapper namespace="comm.base.orgMng">
|
||||
<insert id="insertDeptCd">
|
||||
/* comm.orgMng.insertDeptCd : 부서 채번 */
|
||||
<selectKey keyProperty="deptCd" resultType="java.lang.String" order="BEFORE">
|
||||
SELECT /* 메뉴ID 채번 */
|
||||
CONCAT('DPT', LPAD(NEXT VALUE FOR SEQ_COMM_DEPT_CD, 4,'0'))
|
||||
</selectKey>
|
||||
/* comm.orgMng.insertDeptCd : 부서코드 등록 */
|
||||
INSERT INTO COMM_DEPT_CD
|
||||
(
|
||||
COM_ID
|
||||
,DEPT_ID
|
||||
,UP_DEPT_ID
|
||||
,DEPT_NM
|
||||
,DEPT_ABRV_NM
|
||||
,USE_FG
|
||||
,SORT_SEQ
|
||||
,REG_USER_NO
|
||||
,REG_DTTM
|
||||
,PROC_USER_NO
|
||||
,PROC_DTTM
|
||||
)
|
||||
VALUES (
|
||||
#{session.comId}
|
||||
,#{deptId}
|
||||
,#{upDeptId}
|
||||
,#{deptNm}
|
||||
,#{deptAbrvNm}
|
||||
,#{useFg}
|
||||
,#{sortSeq}
|
||||
,#{session.userNo}
|
||||
,SYSDATE
|
||||
,#{session.userNo}
|
||||
,SYSDATE
|
||||
)
|
||||
</insert>
|
||||
|
||||
<update id="updateDeptCd">
|
||||
/* comm.orgMng.updateDeptCd : 부서코드 수정 */
|
||||
UPDATE COMM_DEPT_CD
|
||||
<trim prefix="SET" prefixOverrides=",">
|
||||
<if test="upDeptId != null and upDeptId != ''">
|
||||
,UP_DEPT_CD = #{upDeptId}
|
||||
</if>
|
||||
<if test="deptNm != null and deptNm != ''">
|
||||
,DEPT_NM = #{deptNm}
|
||||
</if>
|
||||
<if test="deptAbrvNm != null">
|
||||
,DEPT_ABRV_NM = #{deptAbrvNm}
|
||||
</if>
|
||||
<if test="useFg != null and useFg != ''">
|
||||
,USE_FG = #{useFg}
|
||||
</if>
|
||||
<if test="sortSeq != null">
|
||||
,SORT_SEQ = #{sortSeq}
|
||||
</if>
|
||||
,PROC_USER_NO = #{session.userNo}
|
||||
,PROC_DTTM = SYSDATE
|
||||
</trim>
|
||||
WHERE 1=1
|
||||
AND COM_ID = #{session.comId}
|
||||
AND DEPT_ID = #{deptId}
|
||||
</update>
|
||||
|
||||
<delete id="deleteDeptCd">
|
||||
/* comm.orgMng.deleteDeptCd : 부서코드 삭제 */
|
||||
DELETE
|
||||
FROM COMM_DEPT_CD
|
||||
WHERE 1=1
|
||||
AND COM_ID = #{session.comId}
|
||||
AND DEPT_ID = #{deptId}
|
||||
</delete>
|
||||
|
||||
<select id="selectDeptCd" resultType="com.lsitc.fems.comm.base.vo.DeptCdVo">
|
||||
/* comm.orgMng.selectDeptCd : 부서를 트리형태로 조회 */
|
||||
WITH CTE AS (
|
||||
/* 부서를 트리형태로 조회 */
|
||||
SELECT
|
||||
COM_ID
|
||||
,DEPT_ID
|
||||
,UP_DEPT_ID
|
||||
,DEPT_NM
|
||||
,DEPT_ABRV_NM
|
||||
,USE_FG
|
||||
,CONVERT(SORT_SEQ, VARCHAR(10)) as SORT_SEQ
|
||||
,CONVERT('.' + CAST(SORT_SEQ as varchar(10)), varchar(10)) AS SORT_REF
|
||||
,ROW_NUMBER() OVER(order by COM_ID)-1 as LVL
|
||||
,REG_USER_NO
|
||||
,REG_DTTM
|
||||
,PROC_USER_NO
|
||||
,PROC_DTTM
|
||||
FROM COMM_DEPT_CD
|
||||
WHERE 1=1
|
||||
AND COM_ID = #{session.comId}
|
||||
AND UP_DEPT_ID = 'ROOT'
|
||||
|
||||
UNION ALL
|
||||
|
||||
SELECT
|
||||
B.COM_ID
|
||||
,B.DEPT_ID
|
||||
,B.UP_DEPT_ID
|
||||
,B.DEPT_NM
|
||||
,B.DEPT_ABRV_NM
|
||||
,B.USE_FG
|
||||
,CONVERT(B.SORT_SEQ, VARCHAR(10)) as SORT_SEQ
|
||||
,CONVERT(A.SORT_REF + '.' + CAST(B.SORT_SEQ as varchar(10)), varchar(10)) AS SORT_REF
|
||||
,A.LVL + 1 as LVL
|
||||
,A.REG_USER_NO
|
||||
,A.REG_DTTM
|
||||
,A.PROC_USER_NO
|
||||
,A.PROC_DTTM
|
||||
FROM CTE A INNER JOIN COMM_DEPT_CD B ON A.DEPT_ID = B.UP_DEPT_ID
|
||||
WHERE 1=1
|
||||
<if test="comId != null and comId != ''">
|
||||
AND B.COM_ID = #{session.comId}
|
||||
</if>
|
||||
<if test="deptId != null and deptId != ''">
|
||||
AND B.DEPT_ID = #{deptId}
|
||||
</if>
|
||||
<if test="upDeptId != null and upDeptId != ''">
|
||||
AND B.UP_DEPT_ID = #{upDeptId}
|
||||
</if>
|
||||
<if test="deptNm != null and deptNm != ''">
|
||||
AND B.DEPT_NM = #{deptNm}
|
||||
</if>
|
||||
<if test="deptAbrvNm != null and deptAbrvNm != ''">
|
||||
AND B.DEPT_ABRV_NM = #{deptAbrvNm}
|
||||
</if>
|
||||
<if test="useFg != null and useFg != ''">
|
||||
AND B.USE_FG = #{useFg}
|
||||
</if>
|
||||
)
|
||||
SELECT *
|
||||
FROM CTE
|
||||
ORDER
|
||||
BY SORT_REF
|
||||
</select>
|
||||
</mapper>
|
148
src/main/resources/sqlmap/comm/oracle/base/PrgmMngMapper.xml
Normal file
148
src/main/resources/sqlmap/comm/oracle/base/PrgmMngMapper.xml
Normal file
@ -0,0 +1,148 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
|
||||
<mapper namespace="comm.base.prgmMng">
|
||||
|
||||
<insert id="insertPrgm">
|
||||
/* comm.prgmMng.insertPrgm : 프로그램 등록 */
|
||||
<selectKey keyProperty="prgmId" resultType="java.lang.String" order="BEFORE">
|
||||
SELECT /* 프로그램ID 채번 */
|
||||
CONCAT('PRG', LPAD(SEQ_COMM_ROLE.nextval, 4,'0')) FROM DUAL
|
||||
</selectKey>
|
||||
INSERT INTO COMM_PRGM
|
||||
(
|
||||
PRGM_ID
|
||||
,PRGM_NM
|
||||
,PRGM_TP_CD
|
||||
,URL
|
||||
,USE_FG
|
||||
,REG_USER_NO
|
||||
,REG_DTTM
|
||||
,PROC_USER_NO
|
||||
,PROC_DTTM
|
||||
)
|
||||
VALUES (
|
||||
#{prgmId}
|
||||
,#{prgmNm}
|
||||
,#{prgmTpCd}
|
||||
,#{url}
|
||||
,#{useFg}
|
||||
,#{session.userNo}
|
||||
,SYSDATE
|
||||
,#{session.userNo}
|
||||
,SYSDATE
|
||||
)
|
||||
</insert>
|
||||
|
||||
<update id="updatePrgm">
|
||||
/* comm.prgmMng.updatePrgm : 프로그램 수정 */
|
||||
UPDATE COMM_PRGM
|
||||
<trim prefix="SET" prefixOverrides=",">
|
||||
<if test="prgmNm != null and prgmNm != ''">
|
||||
,PRGM_NM = #{prgmNm}
|
||||
</if>
|
||||
<if test="prgmTpCd != null and prgmTpCd != ''">
|
||||
,PRGM_TP_CD = #{prgmTpCd}
|
||||
</if>
|
||||
<if test="url != null and url != ''">
|
||||
,URL = #{url}
|
||||
</if>
|
||||
<if test="useFg != null and useFg != ''">
|
||||
,USE_FG = #{useFg}
|
||||
</if>
|
||||
,PROC_USER_NO = #{session.userNo}
|
||||
,PROC_DTTM = SYSDATE
|
||||
</trim>
|
||||
WHERE 1=1
|
||||
AND PRGM_ID = #{prgmId}
|
||||
</update>
|
||||
|
||||
<delete id="deletePrgm">
|
||||
/* comm.prgmMng.deletePrgm : 프로그램 삭제 */
|
||||
DELETE
|
||||
FROM COMM_PRGM
|
||||
WHERE 1=1
|
||||
AND PRGM_ID = #{prgmId}
|
||||
</delete>
|
||||
|
||||
<select id="selectPrgm" resultType="com.lsitc.fems.comm.base.vo.PrgmVo">
|
||||
/* comm.prgmMng.selectPrgm : 프로그램 조회 */
|
||||
SELECT
|
||||
PRGM_ID
|
||||
,PRGM_NM
|
||||
,PRGM_TP_CD
|
||||
,URL
|
||||
,USE_FG
|
||||
,REG_USER_NO
|
||||
,REG_DTTM
|
||||
,PROC_USER_NO
|
||||
,PROC_DTTM
|
||||
FROM COMM_PRGM
|
||||
WHERE 1=1
|
||||
<if test="prgmId != null and prgmId != ''">
|
||||
AND PRGM_ID LIKE CONCAT('%', #{prgmId}, '%')
|
||||
</if>
|
||||
<if test="prgmNm != null and prgmNm != ''">
|
||||
AND PRGM_NM LIKE CONCAT('%', #{prgmNm}, '%')
|
||||
</if>
|
||||
<if test="prgmTpCd != null and prgmTpCd != ''">
|
||||
AND PRGM_TP_CD = #{prgmTpCd}
|
||||
</if>
|
||||
<if test="useFg != null and useFg != ''">
|
||||
AND USE_FG = #{useFg}
|
||||
</if>
|
||||
ORDER
|
||||
BY PRGM_ID
|
||||
</select>
|
||||
|
||||
<select id="selectPrgmPage" resultType="com.lsitc.fems.comm.base.vo.PrgmVo">
|
||||
/* comm.prgmMng.selectPrgmPage : 프로그램 페이지 조회 */
|
||||
SELECT
|
||||
PRGM_ID
|
||||
,PRGM_NM
|
||||
,PRGM_TP_CD
|
||||
,URL
|
||||
,USE_FG
|
||||
,REG_USER_NO
|
||||
,REG_DTTM
|
||||
,PROC_USER_NO
|
||||
,PROC_DTTM
|
||||
FROM COMM_PRGM
|
||||
WHERE 1=1
|
||||
<if test="prgmId != null and prgmId != ''">
|
||||
AND PRGM_ID LIKE CONCAT('%', #{prgmId}, '%')
|
||||
</if>
|
||||
<if test="prgmNm != null and prgmNm != ''">
|
||||
AND PRGM_NM LIKE CONCAT('%', #{prgmNm}, '%')
|
||||
</if>
|
||||
<if test="prgmTpCd != null and prgmTpCd != ''">
|
||||
AND PRGM_TP_CD = #{prgmTpCd}
|
||||
</if>
|
||||
<if test="useFg != null and useFg != ''">
|
||||
AND USE_FG = #{useFg}
|
||||
</if>
|
||||
ORDER
|
||||
BY PRGM_ID
|
||||
LIMIT #{limit}
|
||||
OFFSET #{offset}
|
||||
</select>
|
||||
|
||||
<select id="selectPrgmTotal" resultType="com.lsitc.fems.comm.base.vo.PrgmVo">
|
||||
/* comm.prgmMng.selectPrgmTotal : 프로그램 토탈 조회 */
|
||||
SELECT count(*) totalCount
|
||||
FROM COMM_PRGM
|
||||
WHERE 1=1
|
||||
<if test="prgmId != null and prgmId != ''">
|
||||
AND PRGM_ID LIKE CONCAT('%', #{prgmId}, '%')
|
||||
</if>
|
||||
<if test="prgmNm != null and prgmNm != ''">
|
||||
AND PRGM_NM LIKE CONCAT('%', #{prgmNm}, '%')
|
||||
</if>
|
||||
<if test="prgmTpCd != null and prgmTpCd != ''">
|
||||
AND PRGM_TP_CD = #{prgmTpCd}
|
||||
</if>
|
||||
<if test="useFg != null and useFg != ''">
|
||||
AND USE_FG = #{useFg}
|
||||
</if>
|
||||
</select>
|
||||
|
||||
</mapper>
|
@ -0,0 +1,111 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
|
||||
<mapper namespace="comm.base.SystemLogRead">
|
||||
<select id="selectLoginLog" resultType="CamelHashMap">
|
||||
/* comm.SystemLogRead.selectLoginLog : 로그인로그 조회 */
|
||||
SELECT A.REG_USER_NO AS USER_NO
|
||||
, B.USER_NM
|
||||
, TO_CHAR(A.REG_DTTM, 'YYYY-MM-DD HH24:MI:SS') AS LOGIN_DTTM
|
||||
, C.USER_LOGIN_ID
|
||||
FROM COMM_LOGIN_LOG A
|
||||
INNER JOIN COMM_USER B ON A.COM_ID=B.COM_ID AND A.REG_USER_NO = B.USER_NO
|
||||
INNER JOIN COMM_LOGIN_INFO C ON A.REG_USER_NO = C.USER_NO
|
||||
WHERE 1=1
|
||||
AND A.COM_ID = #{session.comId}
|
||||
<if test="userList != null and userList != ''">
|
||||
AND A.REG_USER_NO IN
|
||||
<foreach item="eachRow" open="(" separator="," close=")" collection="userList">
|
||||
#{eachRow}
|
||||
</foreach>
|
||||
</if>
|
||||
<if test="frDttm != null">
|
||||
AND A.REG_DTTM <![CDATA[>=]]> TO_DATE(#{frDttm}, 'YYYY-MM-DD HH24:MI:SS')
|
||||
</if>
|
||||
<if test="endDttm != null">
|
||||
AND A.REG_DTTM <![CDATA[<=]]> TO_DATE(#{endDttm}, 'YYYY-MM-DD HH24:MI:SS')
|
||||
</if>
|
||||
ORDER
|
||||
BY A.REG_DTTM DESC
|
||||
</select>
|
||||
<select id="selectMenuCnctLog" resultType="CamelHashMap">
|
||||
/* comm.SystemLogRead.selectMenuCnctLog : 메뉴접근로그 조회 */
|
||||
SELECT A.REG_USER_NO AS USER_NO
|
||||
, B.USER_NM
|
||||
, C.MENU_NM
|
||||
, TO_CHAR(A.REG_DTTM, 'YYYY-MM-DD HH24:MI:SS') AS MENU_CNCT_DTTM
|
||||
, D.USER_LOGIN_ID
|
||||
FROM COMM_MENU_CNCT_LOG A
|
||||
INNER JOIN COMM_USER B ON A.COM_ID =B.COM_ID and A.REG_USER_NO = B.USER_NO
|
||||
INNER JOIN COMM_MENU C ON A.COM_ID =C.COM_ID and A.MENU_ID = C.MENU_ID
|
||||
INNER JOIN COMM_LOGIN_INFO D ON A.REG_USER_NO = D.USER_NO
|
||||
WHERE 1=1
|
||||
AND A.COM_ID = #{session.comId}
|
||||
<if test="userList != null and userList != ''">
|
||||
AND A.REG_USER_NO IN
|
||||
<foreach item="eachRow" open="(" separator="," close=")" collection="userList">
|
||||
#{eachRow}
|
||||
</foreach>
|
||||
</if>
|
||||
<if test="menuId != null and menuId != ''">
|
||||
AND C.MENU_ID = #{menuId}
|
||||
</if>
|
||||
<if test="frDttm != null">
|
||||
AND A.REG_DTTM <![CDATA[>=]]> TO_DATE(#{frDttm}, 'YYYY-MM-DD HH24:MI:SS')
|
||||
</if>
|
||||
<if test="endDttm != null">
|
||||
AND A.REG_DTTM <![CDATA[<=]]> TO_DATE(#{endDttm}, 'YYYY-MM-DD HH24:MI:SS')
|
||||
</if>
|
||||
<if test="menuList != null and menuList != ''">
|
||||
AND A.MENU_ID IN
|
||||
<foreach open="(" item="eachRow" separator="," close=")" collection="menuList">
|
||||
#{eachRow}
|
||||
</foreach>
|
||||
</if>
|
||||
ORDER
|
||||
BY A.REG_DTTM DESC
|
||||
</select>
|
||||
|
||||
<insert id="insertLoginLog">
|
||||
/* comm.SystemLogRead.insertLoginLog : 로그인로그 등록 */
|
||||
INSERT INTO COMM_LOGIN_LOG
|
||||
(
|
||||
LOG_ID
|
||||
,COM_ID
|
||||
,REG_USER_NO
|
||||
,REG_DTTM
|
||||
,PROC_USER_NO
|
||||
,PROC_DTTM
|
||||
)
|
||||
VALUES (
|
||||
#{logId}
|
||||
,#{comId}
|
||||
,#{userNo}
|
||||
,SYSDATE
|
||||
,#{userNo}
|
||||
,SYSDATE
|
||||
)
|
||||
</insert>
|
||||
|
||||
<insert id="insertMenuCnctLog">
|
||||
/* comm.SystemLogRead.insertMenuCnctLog : 메뉴접근로그 등록 */
|
||||
INSERT INTO COMM_MENU_CNCT_LOG
|
||||
(
|
||||
LOG_ID
|
||||
,MENU_ID
|
||||
,COM_ID
|
||||
,REG_USER_NO
|
||||
,REG_DTTM
|
||||
,PROC_USER_NO
|
||||
,PROC_DTTM
|
||||
)
|
||||
VALUES (
|
||||
#{logId}
|
||||
,#{menuId}
|
||||
,#{session.comId}
|
||||
,#{session.userNo}
|
||||
,SYSDATE
|
||||
,#{session.userNo}
|
||||
,SYSDATE
|
||||
)
|
||||
</insert>
|
||||
</mapper>
|
128
src/main/resources/sqlmap/comm/oracle/base/UserMapper.xml
Normal file
128
src/main/resources/sqlmap/comm/oracle/base/UserMapper.xml
Normal file
@ -0,0 +1,128 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
|
||||
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
|
||||
|
||||
|
||||
<mapper namespace="comm.base.user">
|
||||
|
||||
<insert id="insertUser">
|
||||
/* comm.user.insertUser : 사용자 등록 */
|
||||
INSERT INTO COMM_USER
|
||||
(
|
||||
COM_ID
|
||||
,DEPT_ID
|
||||
,BLOC_ID
|
||||
,USER_NO
|
||||
,USER_NM
|
||||
,EMAIL
|
||||
,MOBLPHON
|
||||
,OFFICE_TELNO
|
||||
,FAX_TELNO
|
||||
,POST_NO
|
||||
,POST_ADRES
|
||||
,ADRES_DETAIL
|
||||
,REG_USER_NO
|
||||
,REG_DTTM
|
||||
,PROC_USER_NO
|
||||
,PROC_DTTM
|
||||
)
|
||||
VALUES (
|
||||
#{session.comId}
|
||||
,#{deptId}
|
||||
,#{blocId}
|
||||
,#{userNo}
|
||||
,#{userNm}
|
||||
,#{email}
|
||||
,#{moblphon}
|
||||
,#{officeTelno}
|
||||
,#{faxTelno}
|
||||
,#{postNo}
|
||||
,#{postAdres}
|
||||
,#{adresDetail}
|
||||
,#{session.userNo}
|
||||
,SYSDATE
|
||||
,#{session.userNo}
|
||||
,SYSDATE
|
||||
)
|
||||
</insert>
|
||||
|
||||
<update id="updateUser">
|
||||
/* comm.user.updateUser : 사용자 수정 */
|
||||
UPDATE COMM_USER
|
||||
<trim prefix="SET" prefixOverrides=",">
|
||||
<if test="blocId != null and blocId != ''">
|
||||
,BLOC_ID = #{blocId}
|
||||
</if>
|
||||
<if test="userNm != null and userNm != ''">
|
||||
,USER_NM = #{userNm}
|
||||
</if>
|
||||
<if test="email != null and email != ''">
|
||||
,EMAIL = #{email}
|
||||
</if>
|
||||
<if test="moblphon != null and moblphon != ''">
|
||||
,MOBLPHON = #{moblphon}
|
||||
</if>
|
||||
<if test="officeTelno != null and officeTelno != ''">
|
||||
,OFFICE_TELNO = #{officeTelno}
|
||||
</if>
|
||||
<if test="faxTelno != null and faxTelno != ''">
|
||||
,FAX_TELNO = #{faxTelno}
|
||||
</if>
|
||||
<if test="postNo != null and postNo != ''">
|
||||
,POST_NO = #{postNo}
|
||||
</if>
|
||||
<if test="postAdres != null and postAdres != ''">
|
||||
,POST_ADRES = #{postAdres}
|
||||
</if>
|
||||
<if test="adresDetail != null and adresDetail != ''">
|
||||
,ADRES_DETAIL = #{adresDetail}
|
||||
</if>
|
||||
,PROC_USER_NO = #{session.userNo}
|
||||
,PROC_DTTM = SYSDATE
|
||||
</trim>
|
||||
WHERE 1=1
|
||||
AND COM_ID = #{session.comId}
|
||||
AND DEPT_ID = #{deptId}
|
||||
AND USER_NO = #{userNo}
|
||||
</update>
|
||||
|
||||
<delete id="deleteUser">
|
||||
/* comm.user.deleteUser : 사용자 삭제 */
|
||||
DELETE
|
||||
FROM COMM_USER
|
||||
WHERE 1=1
|
||||
AND COM_ID = #{session.comId}
|
||||
AND DEPT_ID = #{deptId}
|
||||
AND USER_NO = #{userNo}
|
||||
</delete>
|
||||
|
||||
<select id="selectUserPop" resultType="camelHashMap">
|
||||
/* comm.user.selectUserPop : [팝업]사용자 조회 */
|
||||
SELECT A.COM_ID
|
||||
,A.DEPT_ID
|
||||
,C.DEPT_NM
|
||||
,A.USER_NO
|
||||
,A.USER_NM
|
||||
,A.EMAIL
|
||||
,A.MOBLPHON
|
||||
,A.OFFICE_TELNO
|
||||
,B.USER_LOGIN_ID
|
||||
FROM COMM_USER A
|
||||
INNER JOIN COMM_LOGIN_INFO B ON A.USER_NO = B.USER_NO
|
||||
INNER JOIN COMM_DEPT_CD C ON A.DEPT_ID = C.DEPT_ID
|
||||
WHERE 1=1
|
||||
AND A.COM_ID = #{session.comId}
|
||||
<if test="deptCd != null and deptCd != ''">
|
||||
AND A.DEPT_ID = #{deptId}
|
||||
</if>
|
||||
<if test="userNo != null and userNo != ''">
|
||||
AND A.USER_NO LIKE CONCAT('%', #{userNo}, '%')
|
||||
</if>
|
||||
<if test="userNm != null and userNm != ''">
|
||||
AND A.USER_NM LIKE CONCAT('%', #{userNm}, '%')
|
||||
</if>
|
||||
<if test="userLoginId != null and userLoginId != ''">
|
||||
AND B.USER_LOGIN_ID LIKE CONCAT('%', #{userLoginId}, '%')
|
||||
</if>
|
||||
</select>
|
||||
</mapper>
|
215
src/main/resources/sqlmap/comm/oracle/base/WidgetMngMapper.xml
Normal file
215
src/main/resources/sqlmap/comm/oracle/base/WidgetMngMapper.xml
Normal file
@ -0,0 +1,215 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
|
||||
<mapper namespace="comm.base.widgetMng">
|
||||
|
||||
|
||||
<select id="selectWidget" resultType="com.lsitc.fems.comm.base.vo.WidgetVo">
|
||||
/* comm.widgetMng.selectWidget : 위젯 조회 */
|
||||
SELECT
|
||||
WIDGET_ID
|
||||
,WIDGET_NM
|
||||
,WIDGET_DESC
|
||||
,PRGM_ID
|
||||
,WIDGET_THUMBNAIL_FILE
|
||||
,WIDGET_THUMBNAIL
|
||||
,USE_FG
|
||||
,REG_USER_NO
|
||||
,REG_DTTM
|
||||
,PROC_USER_NO
|
||||
,PROC_DTTM
|
||||
FROM COMM_WIDGET
|
||||
WHERE 1=1
|
||||
<if test="widgetNm != null and widgetNm != ''">
|
||||
AND WIDGET_NM LIKE CONCAT('%', #{widgetNm}, '%')
|
||||
</if>
|
||||
<if test="useFg != null and useFg != ''">
|
||||
AND USE_FG = #{useFg}
|
||||
</if>
|
||||
ORDER
|
||||
BY WIDGET_ID
|
||||
</select>
|
||||
|
||||
<insert id="insertWidget">
|
||||
/* comm.widgetMng.insertWidget : 위젯 등록 */
|
||||
INSERT INTO COMM_WIDGET
|
||||
(
|
||||
WIDGET_ID
|
||||
,WIDGET_NM
|
||||
,WIDGET_DESC
|
||||
,PRGM_ID
|
||||
,WIDGET_THUMBNAIL_FILE
|
||||
,WIDGET_THUMBNAIL
|
||||
,USE_FG
|
||||
,REG_USER_NO
|
||||
,REG_DTTM
|
||||
,PROC_USER_NO
|
||||
,PROC_DTTM
|
||||
)
|
||||
VALUES (
|
||||
#{widgetId}
|
||||
,#{widgetNm}
|
||||
,#{widgetDesc}
|
||||
,#{prgmId}
|
||||
,#{widgetThumbnailFile}
|
||||
,#{widgetThumbnail}
|
||||
,#{useFg}
|
||||
,#{session.userNo}
|
||||
,SYSDATE
|
||||
,#{session.userNo}
|
||||
,SYSDATE
|
||||
)
|
||||
</insert>
|
||||
|
||||
<update id="updateWidget">
|
||||
/* comm.widgetMng.updateWidget : 위젯 수정 */
|
||||
UPDATE COMM_WIDGET
|
||||
<trim prefix="SET" prefixOverrides=",">
|
||||
<if test="widgetNm != null and widgetNm != ''">
|
||||
,WIDGET_NM = #{widgetNm}
|
||||
</if>
|
||||
<if test="widgetId != null and widgetId != ''">
|
||||
,WIDGET_ID = #{widgetId}
|
||||
</if>
|
||||
<if test="widgetDesc != null and widgetDesc != ''">
|
||||
,WIDGET_DESC = #{widgetDesc}
|
||||
</if>
|
||||
<if test="prgmId != null and prgmId != ''">
|
||||
,PRGM_ID = #{prgmId}
|
||||
</if>
|
||||
<if test="useFg != null and useFg != ''">
|
||||
,USE_FG = #{useFg}
|
||||
</if>
|
||||
<if test="widgetThumbnailFile != null and widgetThumbnailFile != ''">
|
||||
,WIDGET_THUMBNAIL_FILE = #{widgetThumbnailFile}
|
||||
</if>
|
||||
<if test="widgetThumbnail != null and widgetThumbnail != ''">
|
||||
,WIDGET_THUMBNAIL = #{widgetThumbnail}
|
||||
</if>
|
||||
,PROC_USER_NO = #{session.userNo}
|
||||
,PROC_DTTM = SYSDATE
|
||||
</trim>
|
||||
WHERE 1=1
|
||||
AND WIDGET_ID = #{widgetId}
|
||||
</update>
|
||||
|
||||
<delete id="deleteWidget">
|
||||
/* comm.widgetMng.deleteWidget : 위젯 삭제 */
|
||||
DELETE
|
||||
FROM COMM_WIDGET
|
||||
WHERE 1=1
|
||||
AND WIDGET_ID = #{widgetId}
|
||||
</delete>
|
||||
|
||||
<select id="selectNotMyWidget" resultType="com.lsitc.fems.comm.base.vo.WidgetVo">
|
||||
/* comm.widgetMng.selectMyWidget : 위젯 수정 */
|
||||
SELECT
|
||||
WIDGET_ID
|
||||
,WIDGET_NM
|
||||
,WIDGET_DESC
|
||||
,WIDGET_THUMBNAIL_FILE
|
||||
,WIDGET_THUMBNAIL
|
||||
,USE_FG
|
||||
,REG_USER_NO
|
||||
,REG_DTTM
|
||||
,PROC_USER_NO
|
||||
,PROC_DTTM
|
||||
FROM COMM_WIDGET
|
||||
WHERE WIDGET_ID NOT IN (
|
||||
SELECT WIDGET_ID
|
||||
FROM COMM_INDV_WIDGET
|
||||
WHERE COM_ID = #{session.comId}
|
||||
AND BLOC_ID = #{session.blocId}
|
||||
AND USER_NO = #{session.userNo}
|
||||
)
|
||||
</select>
|
||||
|
||||
<select id="selectMyWidget" resultType="com.lsitc.fems.comm.base.vo.WidgetVo">
|
||||
/* comm.widgetMng.selectMyWidget : 위젯 수정 */
|
||||
SELECT
|
||||
A.COM_ID
|
||||
,A.BLOC_ID
|
||||
,A.USER_NO
|
||||
,A.WIDGET_ID
|
||||
,(SELECT B.WIDGET_NM FROM COMM_WIDGET B WHERE A.WIDGET_ID = B.WIDGET_ID) AS WIDGET_NM
|
||||
,A.WIDGET_ORDR_SEQ
|
||||
,A.WIDGET_REFLASH_MM
|
||||
,A.REG_USER_NO
|
||||
,A.REG_DTTM
|
||||
,A.PROC_USER_NO
|
||||
,A.PROC_DTTM
|
||||
FROM COMM_INDV_WIDGET A
|
||||
WHERE A.COM_ID = #{session.comId}
|
||||
AND A.BLOC_ID = #{session.blocId}
|
||||
AND A.USER_NO = #{session.userNo}
|
||||
ORDER BY A.WIDGET_ORDR_SEQ
|
||||
</select>
|
||||
|
||||
<insert id="insertMyWidget">
|
||||
/* comm.widgetMng.insertMyWidget : 위젯 등록 */
|
||||
INSERT INTO COMM_INDV_WIDGET
|
||||
(
|
||||
COM_ID
|
||||
,BLOC_ID
|
||||
,USER_NO
|
||||
,WIDGET_ID
|
||||
,WIDGET_ORDR_SEQ
|
||||
,WIDGET_REFLASH_MM
|
||||
,REG_USER_NO
|
||||
,REG_DTTM
|
||||
,PROC_USER_NO
|
||||
,PROC_DTTM
|
||||
)
|
||||
VALUES (
|
||||
#{session.comId}
|
||||
,#{session.blocId}
|
||||
,#{session.userNo}
|
||||
,#{widgetId}
|
||||
,#{widgetOrdrSeq}
|
||||
,#{widgetReflashMm}
|
||||
,#{session.userNo}
|
||||
,SYSDATE
|
||||
,#{session.userNo}
|
||||
,SYSDATE
|
||||
)
|
||||
</insert>
|
||||
|
||||
<update id="updateMyWidget">
|
||||
/* comm.widgetMng.updateMyWidget : 위젯 수정 */
|
||||
UPDATE COMM_INDV_WIDGET SET
|
||||
WIDGET_ORDR_SEQ = #{widgetOrdrSeq}
|
||||
,WIDGET_REFLASH_MM = #{widgetReflashMm}
|
||||
,PROC_USER_NO = #{session.userNo}
|
||||
,PROC_DTTM = SYSDATE
|
||||
WHERE 1=1
|
||||
AND COM_ID = #{session.comId}
|
||||
AND BLOC_ID = #{session.blocId}
|
||||
AND USER_NO = #{session.userNo}
|
||||
AND WIDGET_ID = #{widgetId}
|
||||
</update>
|
||||
|
||||
<delete id="deleteMyWidget">
|
||||
/* comm.widgetMng.deleteMyWidget : 위젯 삭제 */
|
||||
DELETE
|
||||
FROM COMM_INDV_WIDGET
|
||||
WHERE 1=1
|
||||
AND COM_ID = #{session.comId}
|
||||
AND BLOC_ID = #{session.blocId}
|
||||
AND USER_NO = #{session.userNo}
|
||||
AND WIDGET_ID = #{widgetId}
|
||||
</delete>
|
||||
|
||||
<select id="selectWidgetPrgmUrl" resultType="com.lsitc.fems.comm.base.vo.WidgetVo">
|
||||
SELECT
|
||||
A.WIDGET_ID
|
||||
,A.PRGM_ID
|
||||
,CONCAT(B.URL,'?prgmId=',B.PRGM_ID) AS PRGM_URL
|
||||
FROM COMM_WIDGET A
|
||||
JOIN COMM_PRGM B
|
||||
JOIN COMM_INDV_WIDGET C
|
||||
WHERE C.COM_ID = #{session.comId}
|
||||
AND C.BLOC_ID = #{session.blocId}
|
||||
AND C.USER_NO = #{session.userNo}
|
||||
AND A.PRGM_ID = B.PRGM_ID
|
||||
AND A.WIDGET_ID = C.WIDGET_ID
|
||||
</select>
|
||||
</mapper>
|
13
src/test/java/com/lsitc/fems/comm/CommApplicationTests.java
Normal file
13
src/test/java/com/lsitc/fems/comm/CommApplicationTests.java
Normal file
@ -0,0 +1,13 @@
|
||||
package com.lsitc.fems.comm;
|
||||
|
||||
import org.junit.jupiter.api.Test;
|
||||
import org.springframework.boot.test.context.SpringBootTest;
|
||||
|
||||
@SpringBootTest
|
||||
class CommApplicationTests {
|
||||
|
||||
@Test
|
||||
void contextLoads() {
|
||||
}
|
||||
|
||||
}
|
Reference in New Issue
Block a user