충돌 수정

main
thkim 2025-11-03 14:48:49 +09:00
commit 04c1cf1ace
3 changed files with 116 additions and 75 deletions

View File

@ -58,6 +58,7 @@ import egovframework.com.cmm.EgovMessageSource;
import egovframework.com.cmm.service.EgovProperties; import egovframework.com.cmm.service.EgovProperties;
import egovframework.rte.psl.dataaccess.util.EgovMap; import egovframework.rte.psl.dataaccess.util.EgovMap;
import geoinfo.com.GeoinfoCommon; import geoinfo.com.GeoinfoCommon;
import geoinfo.drilling.input.service.DrillingInputService;
import geoinfo.main.login.service.LoginService; import geoinfo.main.login.service.LoginService;
import geoinfo.main.main.MainController; import geoinfo.main.main.MainController;
import geoinfo.map.mapControl.service.MapControlService; import geoinfo.map.mapControl.service.MapControlService;
@ -80,6 +81,9 @@ public class LoginController {
@Resource(name = "loginService") @Resource(name = "loginService")
private LoginService loginService; private LoginService loginService;
@Resource(name = "drillingInputService")
DrillingInputService drillingInputService;
@Resource(name="egovMessageSource") @Resource(name="egovMessageSource")
EgovMessageSource egovMessageSource; EgovMessageSource egovMessageSource;
@ -802,7 +806,7 @@ public class LoginController {
// 로그인 횟수 제한 : 10분설정시 1/(24*6) 5분설정시 1/(24*12) // 로그인 횟수 제한 : 10분설정시 1/(24*6) 5분설정시 1/(24*12)
map.put("userid", userid); map.put("userid", userid);
Map<String, Object> selectWebMemberIn = loginService.selectWebMemberIn(map); Map<String, Object> selectWebMemberIn = loginService.selectWebMemberIn(map);
cls = selectWebMemberIn.get("cls").toString();
boolean adminYn = false; boolean adminYn = false;
@ -1041,72 +1045,93 @@ public class LoginController {
} }
else { else {
// 국토부 소속+산하기관 계정만 로그인 허용(국토부소속+산하기관:GL_CODE = 01)
// 로그인 성공시 실패회수 초기화 HashMap<String, Object> userGMap = drillingInputService.getOrganizationUserGlGmGsGfCodes(userid);
map.put("loginCount", 0); String glCode = MyUtil.getStringFromObject( userGMap.get("v_gl") );
map.put("userid", userid); if (!"01".equals(glCode)) {
loginService.pswdResetWebMemberIn(map); msg = "<script>alert('해당 계정은 현재 잠김 상태입니다');</script>";
url = "index.do?cntyn=0";
//최초 1회 지자체 사용자 인증 여부 // --------------- 로그인 세션 정보 초기화 ---------------------
liq_yn = selectWebMemberIn.get("liq_yn").toString(); request.getSession().removeAttribute("USERID");
map.put("liq_yn", liq_yn); request.getSession().removeAttribute("USERNAME");
request.getSession().removeAttribute("COMPANYNAME");
// 2018-08-27 중복 로그인 방지. request.getSession().removeAttribute("MASTERCODE");
// 2018-11-29. admin_user계정은 중복방지에서 제거 request.getSession().removeAttribute("CLS");
// admin_user가 아닐 경우에만 세션 중복 방지 적용. request.getSession().removeAttribute("GOVECODE");
if (!adminYn && loginFlag) { request.getSession().removeAttribute("USERIP"); // IP 추가
session.setAttribute("userId", id); request.getSession().removeAttribute("USERAGENT"); // 접속 브라우져 정보
request.getSession().removeAttribute("PARTNNAME");
String sessionId = session.getId(); request.getSession().removeAttribute("PHONE");
mv.addObject("sessionId", sessionId); request.getSession().removeAttribute("EMAIL");
mv.addObject("name", session.getAttribute("userId")); // --------------- 로그인 세션 정보 초기화 END ----------------
dupLoginCheck(userid);
users.put(userid, session);
// GeoInfoSessionMgrListener listener = new GeoInfoSessionMgrListener();
// request.getSession().setAttribute(userid , listener);
}
// 분기별 1회 비밀번호 공지 안내
String strpswd_month = (String)selectWebMemberIn.get("PSWD_LIMIT");
System.out.println(" 비밀번호 변경일자 - " + strpswd_month);
if (strpswd_month != null && ! "".equals(strpswd_month) ) {
int intpswd_month = Integer.parseInt(strpswd_month);
// 3개월마다 1번씩 비밀번호 변경 안내를 띄운다.
if ( intpswd_month >= 3 ) {
request.getSession().setAttribute("pswd_month", "Y");
}
}
if (cls.equals("1")) {
if (location.equals("left"))
url = "left.do";
else if (location.equals("main"))
url = "main.do";
else if (location.equals("left_sitemap"))
url = "home/main_sitemap.jsp";
else
url = "index.do?cntyn=0";
} else if (cls.equals("2")) { // 발주기관일경우
if (location.equals("left"))
url = "left.do";
else
url = "drilling/index.do";
} else if (cls.equals("9")) { // 관리자일경우
if (location.equals("left"))
url = "left.do";
else
url = "index.do?cntyn";
} else { } else {
if (location.equals("left"))
url = "left.do"; // 로그인 성공시 실패회수 초기화
else if (location.equals("main")) map.put("loginCount", 0);
url = "main.do"; map.put("userid", userid);
else if (location.equals("left_sitemap")) loginService.pswdResetWebMemberIn(map);
url = "home/main_sitemap.jsp";
else //최초 1회 지자체 사용자 인증 여부
url = "index.do?cntyn=0"; liq_yn = selectWebMemberIn.get("liq_yn").toString();
map.put("liq_yn", liq_yn);
// 2018-08-27 중복 로그인 방지.
// 2018-11-29. admin_user계정은 중복방지에서 제거
// admin_user가 아닐 경우에만 세션 중복 방지 적용.
if (!adminYn && loginFlag) {
session.setAttribute("userId", id);
String sessionId = session.getId();
mv.addObject("sessionId", sessionId);
mv.addObject("name", session.getAttribute("userId"));
dupLoginCheck(userid);
users.put(userid, session);
// GeoInfoSessionMgrListener listener = new GeoInfoSessionMgrListener();
// request.getSession().setAttribute(userid , listener);
}
// 분기별 1회 비밀번호 공지 안내
String strpswd_month = (String)selectWebMemberIn.get("PSWD_LIMIT");
System.out.println(" 비밀번호 변경일자 - " + strpswd_month);
if (strpswd_month != null && ! "".equals(strpswd_month) ) {
int intpswd_month = Integer.parseInt(strpswd_month);
// 3개월마다 1번씩 비밀번호 변경 안내를 띄운다.
if ( intpswd_month >= 3 ) {
request.getSession().setAttribute("pswd_month", "Y");
}
}
if (cls.equals("1")) {
if (location.equals("left"))
url = "left.do";
else if (location.equals("main"))
url = "main.do";
else if (location.equals("left_sitemap"))
url = "home/main_sitemap.jsp";
else
url = "index.do?cntyn=0";
} else if (cls.equals("2")) { // 발주기관일경우
if (location.equals("left"))
url = "left.do";
else
url = "drilling/index.do";
} else if (cls.equals("9")) { // 관리자일경우
if (location.equals("left"))
url = "left.do";
else
url = "index.do?cntyn";
} else {
if (location.equals("left"))
url = "left.do";
else if (location.equals("main"))
url = "main.do";
else if (location.equals("left_sitemap"))
url = "home/main_sitemap.jsp";
else
url = "index.do?cntyn=0";
}
} }
} }
} }

View File

@ -51,6 +51,7 @@ import geoinfo.regi.common.service.CommonService;
import geoinfo.regi.selectClassInfo.service.SelectClassService; import geoinfo.regi.selectClassInfo.service.SelectClassService;
import geoinfo.regi.status.RegiController; import geoinfo.regi.status.RegiController;
import geoinfo.util.MyUtil; import geoinfo.util.MyUtil;
import geoinfo.util.StringUtil;
import ictway.comm.util.strUtil; import ictway.comm.util.strUtil;
import ictway.comm.web.WebUtil; import ictway.comm.web.WebUtil;
@ -870,17 +871,17 @@ public class BasicController {
params.put("depthTo", wUtil.isNullNode(nDEPTH_TO)); params.put("depthTo", wUtil.isNullNode(nDEPTH_TO));
params.put("rockType", wUtil.isNullNode(nROCK_TYPE)); params.put("rockType", wUtil.isNullNode(nROCK_TYPE));
params.put("rqd", wUtil.isNullNode(nRQD)); params.put("rqd", wUtil.isNullNode(nRQD));
params.put("rqdDesc", wUtil.isNullNode(nRQD_DESC)); //비고 1 params.put("rqdDesc", StringUtil.removeTabStr(wUtil.isNullNode(nRQD_DESC)));// 비고 1
params.put("jn", wUtil.isNullNode(nJN)); params.put("jn", wUtil.isNullNode(nJN));
params.put("jnDesc", wUtil.isNullNode(nJN_DESC)); //비고 2 params.put("jnDesc", StringUtil.removeTabStr(wUtil.isNullNode(nJN_DESC))); // 비고2
params.put("jr", wUtil.isNullNode(nJR)); params.put("jr", wUtil.isNullNode(nJR));
params.put("jrDesc", wUtil.isNullNode(nJR_DESC)); //비고 3 params.put("jrDesc", StringUtil.removeTabStr(wUtil.isNullNode(nJR_DESC))); // 비고 3
params.put("ja", wUtil.isNullNode(nJA)); params.put("ja", wUtil.isNullNode(nJA));
params.put("jaDesc", wUtil.isNullNode(nJA_DESC)); //비고 4 params.put("jaDesc", StringUtil.removeTabStr(wUtil.isNullNode(nJA_DESC))); // 비고 4
params.put("jw", wUtil.isNullNode(nJW)); params.put("jw", wUtil.isNullNode(nJW));
params.put("jwDesc", wUtil.isNullNode(nJW_DESC)); //비고 5 params.put("jwDesc", StringUtil.removeTabStr(wUtil.isNullNode(nJW_DESC))); // 비고 5
params.put("srf", wUtil.isNullNode(nSRF)); params.put("srf", wUtil.isNullNode(nSRF));
params.put("srfDesc", wUtil.isNullNode(nSRF_DESC)); //비고 6 params.put("srfDesc", StringUtil.removeTabStr(wUtil.isNullNode(nSRF_DESC)));// 비고 6
params.put("userId", request.getSession().getAttribute("USERID")); params.put("userId", request.getSession().getAttribute("USERID"));
basicService.insertTempQ(params); basicService.insertTempQ(params);
@ -2153,9 +2154,9 @@ public class BasicController {
params.put("fieldperCasingDia", wUtil.isNullNode(nFIELDPER_CASING_DIA)); params.put("fieldperCasingDia", wUtil.isNullNode(nFIELDPER_CASING_DIA));
params.put("fieldperCasingHeight", wUtil.isNullNode(nFIELDPER_CASING_HEIGHT)); params.put("fieldperCasingHeight", wUtil.isNullNode(nFIELDPER_CASING_HEIGHT));
params.put("fieldperAvgPermeability", wUtil.isNullNode(nFIELDPER_AVG_PERMEABILITY)); params.put("fieldperAvgPermeability", wUtil.isNullNode(nFIELDPER_AVG_PERMEABILITY));
params.put("fieldperInspectedBy", wUtil.isNullNode(nFIELDPER_INSPECTED_BY)); params.put("fieldperInspectedBy", StringUtil.removeTabStr(wUtil.isNullNode(nFIELDPER_INSPECTED_BY)));
params.put("fieldperCheckedBy", wUtil.isNullNode(nFIELDPER_CHECKED_BY)); params.put("fieldperCheckedBy", StringUtil.removeTabStr(wUtil.isNullNode(nFIELDPER_CHECKED_BY)));
params.put("fieldperRemark", wUtil.isNullNode(nFIELDPER_REMARK)); params.put("fieldperRemark", StringUtil.removeTabStr(wUtil.isNullNode(nFIELDPER_REMARK)));
// ----------------------file처리--------------------- // ----------------------file처리---------------------
// 현장수압 graph // 현장수압 graph

View File

@ -1530,4 +1530,19 @@ public class StringUtil {
} }
/**
* <pre>
* \t
* </pre>
*
* @return String
* @changed 2025.11.03 YJI
*/
public static String removeTabStr(String str) {
String rtnStr = "";
if (str != null && !"".equals(str)) {
rtnStr = str.replace("\t", "");
}
return rtnStr;
}
} }