/* * @author Dongmin.lee * @since 2022-11-08 * @version 22.11.08 * @see
 *  Copyright (C) 2007 by 313 DEV GRP, Inc - All Rights Reserved
 *  Unauthorized copying of this file, via any medium is strictly prohibited
 *  Proprietary and confidential
 *  Written by 313 developer group <313@313.co.kr>, December 2010
 * 
*/ package egovframework.api.arms.module_pdserviceconnect.controller; import egovframework.api.arms.module_pdserviceconnect.model.PdServiceConnectDTO; import egovframework.api.arms.module_pdserviceconnect.service.PdServiceConnect; import egovframework.api.arms.util.PropertiesReader; import egovframework.com.ext.jstree.springHibernate.core.controller.SHVAbstractController; import egovframework.com.ext.jstree.springHibernate.core.util.Util_TitleChecker; import egovframework.com.ext.jstree.springHibernate.core.validation.group.AddNode; import egovframework.com.ext.jstree.springHibernate.core.validation.group.UpdateNode; import lombok.extern.slf4j.Slf4j; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Qualifier; import org.springframework.http.ResponseEntity; import org.springframework.stereotype.Controller; import org.springframework.ui.ModelMap; import org.springframework.validation.BindingResult; import org.springframework.validation.annotation.Validated; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMethod; import org.springframework.web.bind.annotation.ResponseBody; import org.springframework.web.client.RestTemplate; import org.springframework.web.servlet.ModelAndView; import javax.annotation.PostConstruct; import javax.servlet.http.HttpServletRequest; import java.util.List; @Slf4j @Controller @RequestMapping(value = {"/auth-user/api/arms/pdServiceConnect"}) public class UserPdServiceConnectController extends SHVAbstractController { @Autowired @Qualifier("pdServiceConnect") private PdServiceConnect pdServiceConnect; @PostConstruct public void initialize() { setJsTreeHibernateService(pdServiceConnect); } private final Logger logger = LoggerFactory.getLogger(this.getClass()); @ResponseBody @RequestMapping(value = "/getExistNode.do", method = RequestMethod.GET) public ModelAndView getExistNode(PdServiceConnectDTO pdServiceConnectDTO, BindingResult bindingResult) throws Exception { if (bindingResult.hasErrors()) throw new RuntimeException(); //루트 노드를 기준으로 리스트를 검색 PdServiceConnectDTO serviceConnectDTO = new PdServiceConnectDTO(); serviceConnectDTO.setWhere("c_pdservice_id", pdServiceConnectDTO.getC_pdservice_id()); serviceConnectDTO.setWhere("c_pdservice_version_id", pdServiceConnectDTO.getC_pdservice_version_id()); List list = pdServiceConnect.getChildNode(serviceConnectDTO); for ( PdServiceConnectDTO dto : list){ String replaceTxt = dto.getC_pdservice_jira_ids().replaceAll("\\[","").replaceAll("\\]",""); replaceTxt = replaceTxt.replaceAll("\"",""); dto.setC_pdservice_jira_ids(replaceTxt); } ModelAndView modelAndView = new ModelAndView("jsonView"); modelAndView.addObject("result", list); return modelAndView; } @ResponseBody @RequestMapping( value = {"/addNode.do"}, method = {RequestMethod.POST} ) public ModelAndView addNode(@Validated({AddNode.class}) PdServiceConnectDTO jsTreeHibernateSearchDTO, BindingResult bindingResult, ModelMap model) throws Exception { if (bindingResult.hasErrors()) { throw new RuntimeException(); } else { jsTreeHibernateSearchDTO.setC_title(Util_TitleChecker.StringReplace(jsTreeHibernateSearchDTO.getC_title())); PdServiceConnectDTO returnVO = pdServiceConnect.addNode(jsTreeHibernateSearchDTO); PropertiesReader propertiesReader = new PropertiesReader("egovframework/egovProps/globals.properties"); String armsUrl = "http://127.0.0.1:13131"; String targetUrl = "/callback/api/arms/armsScheduler/forceExec/set_PdServiceVersion_toJiraProjectVersion.do"; RestTemplate restTemplate = new RestTemplate(); ResponseEntity response = restTemplate.getForEntity(armsUrl + targetUrl, String.class); logger.info("response = " + response); ModelAndView modelAndView = new ModelAndView("jsonView"); modelAndView.addObject("result", returnVO); return modelAndView; } } @ResponseBody @RequestMapping(value = "/updateNode.do") public ModelAndView updateNode(@Validated(value = UpdateNode.class) PdServiceConnectDTO jsTreeHibernateSearchDTO, BindingResult bindingResult, HttpServletRequest request, ModelMap model) throws Exception { if (bindingResult.hasErrors()) { throw new RuntimeException(); } pdServiceConnect.updateNode(jsTreeHibernateSearchDTO); PropertiesReader propertiesReader = new PropertiesReader("egovframework/egovProps/globals.properties"); String armsUrl = "http://127.0.0.1:13131"; String targetUrl = "/callback/api/arms/armsScheduler/forceExec/set_PdServiceVersion_toJiraProjectVersion.do"; RestTemplate restTemplate = new RestTemplate(); ResponseEntity response = restTemplate.getForEntity(armsUrl + targetUrl, String.class); logger.info("response = " + response); ModelAndView modelAndView = new ModelAndView("jsonView"); modelAndView.addObject("result", "UserPdServiceConnectController :: updateNode"); return modelAndView; } }