건설현장 관리 > 발주기관 계정 건설현장 목록 표시 처리
parent
f00701dd51
commit
c17b89c984
|
|
@ -1,6 +1,8 @@
|
|||
package geoinfo.admins.constructionProjectManagement;
|
||||
|
||||
import java.io.IOException;
|
||||
import java.io.OutputStream;
|
||||
import java.io.UnsupportedEncodingException;
|
||||
import java.util.Date;
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
|
|
@ -12,6 +14,7 @@ import javax.servlet.http.HttpServletResponse;
|
|||
import org.json.simple.JSONArray;
|
||||
import org.json.simple.JSONObject;
|
||||
import org.json.simple.parser.JSONParser;
|
||||
import org.springframework.http.ResponseEntity;
|
||||
import org.springframework.stereotype.Controller;
|
||||
import org.springframework.ui.ModelMap;
|
||||
import org.springframework.web.bind.annotation.RequestBody;
|
||||
|
|
@ -610,42 +613,111 @@ public class ConstructionProjectManagementController {
|
|||
}
|
||||
|
||||
// 발주기관 프로젝트목록 가져오기
|
||||
@ResponseBody
|
||||
@RequestMapping(value = "/drilling-project-list", method = RequestMethod.GET, produces = "application/json; charset=UTF-8")
|
||||
public String getDrillingProjectList(HttpServletRequest request, HttpServletResponse response, @RequestParam HashMap<String,Object> params) throws Exception {
|
||||
// @ResponseBody
|
||||
// @RequestMapping(value = "/drilling-project-list", method = RequestMethod.GET, produces = "application/json; charset=UTF-8")
|
||||
// public String getDrillingProjectList(HttpServletRequest request, HttpServletResponse response, @RequestParam HashMap<String,Object> params) throws Exception {
|
||||
// if (!UserInfo.isValidSession(request, response, "admin")) {
|
||||
// return "";
|
||||
// }
|
||||
// JSONObject jsonObject = new JSONObject();
|
||||
// strUtil sUtil = new strUtil();
|
||||
//
|
||||
// String projectName = sUtil.checkNull((String)params.get("projectName"));
|
||||
//
|
||||
// JSONArray jsonListObject = new JSONArray();
|
||||
//
|
||||
//// if( projectName == ""){
|
||||
//// jsonObject.put("resultMessage", "OK");
|
||||
//// jsonObject.put("resultCode", 200);
|
||||
//// jsonObject.put("result", new JSONObject().put("list", jsonListObject));
|
||||
//// } else {
|
||||
// JSONObject result = new JSONObject();
|
||||
// result.put("list", drillingInquiryService.drillingInquiryAutocompleteList(request, params));
|
||||
//
|
||||
// jsonObject.put("resultMessage", "OK");
|
||||
// jsonObject.put("resultCode", 200);
|
||||
// jsonObject.put("result", result);
|
||||
//// }
|
||||
//
|
||||
// response.setContentType("application/json; charset=UTF-8"); // 응답 헤더 설정
|
||||
// response.setCharacterEncoding("UTF-8"); // 응답 데이터 인코딩 설정 (중요)
|
||||
//
|
||||
// try (OutputStream os = response.getOutputStream()) { // OutputStream 사용
|
||||
// os.write(jsonObject.toString().getBytes("UTF-8")); // UTF-8 인코딩하여 출력
|
||||
// }
|
||||
//
|
||||
// return null; // @ResponseBody이므로 반환 값은 필요 없습니다.
|
||||
// }
|
||||
@RequestMapping(value = "/drilling/inquiry/list.do", method = RequestMethod.GET, produces = { "application/json; charset=utf-8" })
|
||||
@ResponseBody
|
||||
public ResponseEntity<JSONObject> drillingInquiryList (
|
||||
HttpServletRequest request,
|
||||
@RequestParam HashMap<String, Object> params,
|
||||
HttpServletResponse response
|
||||
) throws IOException {
|
||||
if (!UserInfo.isValidSession(request, response, "admin")) {
|
||||
return "";
|
||||
return null;
|
||||
}
|
||||
JSONObject jsonObject = new JSONObject();
|
||||
strUtil sUtil = new strUtil();
|
||||
|
||||
String projectName = sUtil.checkNull((String)params.get("projectName"));
|
||||
System.out.println(
|
||||
"\n--------------------------------------------------------------\n" +
|
||||
request.getRequestURI() + " IN:" +
|
||||
"\n--------------------------------------------------------------\n" +
|
||||
"params" + params.toString() + "\n" +
|
||||
"\n--------------------------------------------------------------\n"
|
||||
);
|
||||
|
||||
JSONArray jsonListObject = new JSONArray();
|
||||
|
||||
if( projectName == ""){
|
||||
jsonObject.put("resultMessage", "OK");
|
||||
jsonObject.put("resultCode", 200);
|
||||
jsonObject.put("result", new JSONObject().put("list", jsonListObject));
|
||||
} else {
|
||||
JSONObject result = new JSONObject();
|
||||
result.put("list", drillingInquiryService.drillingInquiryAutocompleteList(request, params));
|
||||
|
||||
jsonObject.put("resultMessage", "OK");
|
||||
jsonObject.put("resultCode", 200);
|
||||
jsonObject.put("result", result);
|
||||
}
|
||||
|
||||
response.setContentType("application/json; charset=UTF-8"); // 응답 헤더 설정
|
||||
response.setCharacterEncoding("UTF-8"); // 응답 데이터 인코딩 설정 (중요)
|
||||
|
||||
try (OutputStream os = response.getOutputStream()) { // OutputStream 사용
|
||||
os.write(jsonObject.toString().getBytes("UTF-8")); // UTF-8 인코딩하여 출력
|
||||
}
|
||||
|
||||
return null; // @ResponseBody이므로 반환 값은 필요 없습니다.
|
||||
}
|
||||
|
||||
JSONObject jSONOResponse = null;
|
||||
try {
|
||||
jSONOResponse = drillingInquiryService.drillingInquiryList( request, params );
|
||||
} catch (Exception e) {
|
||||
// TODO Auto-generated catch block
|
||||
jSONOResponse = new JSONObject();
|
||||
String strTxt =
|
||||
"---------- BUG REPORTING START ----------" + "\n" +
|
||||
"에러 문구:[" + request.getRequestURI() + " " + "]" + "\n" +
|
||||
"params:[\n" + params.toString() + "\n]\n" +
|
||||
"e.getMessage():[\n" + e.getMessage() + "\n]\n" + "\n" +
|
||||
"new Date().toString():[" + new Date().toString() + "]\n" + "\n" +
|
||||
"---------- BUG REPORTING END ----------" + "\n" +
|
||||
"";
|
||||
System.out.println(strTxt);
|
||||
jSONOResponse.put("resultCode", -1);
|
||||
jSONOResponse.put("result", "false");
|
||||
jSONOResponse.put("message", e.getMessage());
|
||||
}
|
||||
|
||||
|
||||
System.out.println(
|
||||
"\n--------------------------------------------------------------\n" +
|
||||
request.getRequestURI() + " OUT:" +
|
||||
"\n--------------------------------------------------------------\n" +
|
||||
"jSONOResponse.toJSONString():[" + jSONOResponse.toJSONString() + "]\n" +
|
||||
"\n--------------------------------------------------------------\n"
|
||||
);
|
||||
|
||||
|
||||
int contentLength = 0;
|
||||
try {
|
||||
contentLength = jSONOResponse.toJSONString().getBytes("UTF-8").length;
|
||||
} catch (UnsupportedEncodingException e1) {
|
||||
// TODO Auto-generated catch block
|
||||
e1.printStackTrace();
|
||||
}
|
||||
response.setStatus(HttpServletResponse.SC_OK);
|
||||
response.setCharacterEncoding("UTF-8");
|
||||
response.setHeader("Content-Type", "application/json; charset=utf-8");
|
||||
response.setContentLength(contentLength); // Content-Length 설정
|
||||
try {
|
||||
response.getWriter().print(jSONOResponse);
|
||||
} catch (IOException e) {
|
||||
// TODO Auto-generated catch block
|
||||
e.printStackTrace();
|
||||
}
|
||||
|
||||
return null;
|
||||
}
|
||||
|
||||
/**
|
||||
* 건설현장 관리 > 발주기관 로그인 내역 화면
|
||||
* @param params
|
||||
|
|
|
|||
|
|
@ -10,8 +10,12 @@ import egovframework.rte.psl.dataaccess.util.EgovMap;
|
|||
@Mapper("drillingInquiryMapper")
|
||||
public interface DrillingInquiryMapper {
|
||||
|
||||
public List<EgovMap> drillingInquiryAutocompleteList(HashMap<String, Object> params) throws SQLException;
|
||||
|
||||
// public List<EgovMap> drillingInquiryAutocompleteList(HashMap<String, Object> params) throws SQLException;
|
||||
|
||||
public Long sPCntTblCsiByKeyword(HashMap<String, Object> params) throws SQLException;
|
||||
public List<EgovMap> spGetTblCsiByKeyword(HashMap<String, Object> params) throws SQLException;
|
||||
public String getComCodes(HashMap<String, Object> params) throws SQLException;
|
||||
public String spGetConstCompanyName(Long constCompanyCode) throws SQLException;
|
||||
}
|
||||
|
||||
|
||||
|
|
|
|||
|
|
@ -12,5 +12,8 @@ import egovframework.rte.psl.dataaccess.util.EgovMap;
|
|||
|
||||
|
||||
public interface DrillingInquiryService {
|
||||
List<EgovMap> drillingInquiryAutocompleteList(HttpServletRequest request, HashMap<String, Object> params) throws Exception;
|
||||
// List<EgovMap> drillingInquiryAutocompleteList(HttpServletRequest request, HashMap<String, Object> params) throws Exception;
|
||||
|
||||
public JSONObject drillingInquiryList(HttpServletRequest request, HashMap<String, Object> params) throws Exception;
|
||||
|
||||
}
|
||||
|
|
|
|||
|
|
@ -11,7 +11,6 @@ import geoinfo.admins.user.service.DrillingInputMapper;
|
|||
import geoinfo.admins.user.service.DrillingInputService;
|
||||
import geoinfo.admins.user.service.DrillingInquiryService;
|
||||
import geoinfo.admins.user.service.GeneralUserMngMapper;
|
||||
import geoinfo.main.login.service.LoginMapper;
|
||||
|
||||
@Service("drillingInputService")
|
||||
public class DrillingInputServiceImpl implements DrillingInputService {
|
||||
|
|
|
|||
|
|
@ -1,6 +1,8 @@
|
|||
package geoinfo.admins.user.service.impl;
|
||||
|
||||
import java.sql.SQLException;
|
||||
import java.sql.Timestamp;
|
||||
import java.text.SimpleDateFormat;
|
||||
import java.util.Date;
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
|
|
@ -8,6 +10,7 @@ import java.util.List;
|
|||
import javax.annotation.Resource;
|
||||
import javax.servlet.http.HttpServletRequest;
|
||||
|
||||
import org.json.simple.JSONObject;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
|
|
@ -18,6 +21,7 @@ import geoinfo.admins.user.service.DrillingInquiryMapper;
|
|||
import geoinfo.admins.user.service.DrillingInquiryService;
|
||||
import geoinfo.admins.user.service.GeneralUserMngMapper;
|
||||
import geoinfo.util.MyUtil;
|
||||
import oracle.sql.TIMESTAMP;
|
||||
|
||||
@Service("drillingInquiryService")
|
||||
public class DrillingInquiryServiceImpl implements DrillingInquiryService {
|
||||
|
|
@ -34,47 +38,249 @@ public class DrillingInquiryServiceImpl implements DrillingInquiryService {
|
|||
@Autowired
|
||||
DrillingInputService drillingInputService;
|
||||
|
||||
@Override
|
||||
public List<EgovMap> drillingInquiryAutocompleteList(HttpServletRequest request, HashMap<String, Object> params) throws Exception {
|
||||
HashMap<String, Object> map = new HashMap<String, Object>();
|
||||
String userid = (String)params.get("userid");
|
||||
map.put("userId", userid);
|
||||
// @Override
|
||||
// public List<EgovMap> drillingInquiryAutocompleteList(HttpServletRequest request, HashMap<String, Object> params) throws Exception {
|
||||
// HashMap<String, Object> map = new HashMap<String, Object>();
|
||||
// String userid = (String)params.get("userid");
|
||||
// map.put("userId", userid);
|
||||
//
|
||||
// EgovMap result = userMapper.selectInfo(map);
|
||||
//
|
||||
// int cls = MyUtil.getIntegerFromObject(result.get("cls"));
|
||||
//
|
||||
// if( cls == 2 ) {
|
||||
// // 발주기관 계정으로 조회한 경우, 본인의 영역에 해당하는 프로젝트만 조회한다.
|
||||
// String masterCompanyCode = MyUtil.getStringFromObject( result.get("masterCompanyCode") );
|
||||
//
|
||||
// HashMap<String, Object> spGetMasterCompanyDistrictParams = drillingInputService.getOrganizationUserGlGmGsGfCodes(userid);
|
||||
//
|
||||
// String glDistrict = MyUtil.getStringFromObject( spGetMasterCompanyDistrictParams.get("v_gl") );
|
||||
// String gmDistrict = MyUtil.getStringFromObject( spGetMasterCompanyDistrictParams.get("v_gm") );
|
||||
// String gsDistrict = MyUtil.getStringFromObject( spGetMasterCompanyDistrictParams.get("v_gs") );
|
||||
// params.put("glDistrict", glDistrict);
|
||||
// params.put("gmDistrict", gmDistrict);
|
||||
// params.put("gsDistrict", gsDistrict);
|
||||
//
|
||||
// }
|
||||
//
|
||||
//
|
||||
//
|
||||
//
|
||||
// try {
|
||||
// try {
|
||||
// List<EgovMap> list = drillingInquiryMapper.drillingInquiryAutocompleteList(params);
|
||||
// return list;
|
||||
// } catch (SQLException e) {
|
||||
// String strTxt =
|
||||
// "---------- BUG REPORTING START ----------" + "\n" +
|
||||
// "에러 문구:[" + request.getRequestURI() + " " + "]" + "\n" +
|
||||
// "params:[\n" + params.toString() + "\n]\n" +
|
||||
// "e.getMessage():[\n" + e.getMessage() + "\n]\n" + "\n" +
|
||||
// "new Date().toString():[" + new Date().toString() + "]\n" + "\n" +
|
||||
// "---------- BUG REPORTING END ----------" + "\n" +
|
||||
// "";
|
||||
// System.out.println(strTxt);
|
||||
// throw new Exception( "오류가 발생하였습니다." + "\n" + "SQLException" );
|
||||
// }
|
||||
//
|
||||
//
|
||||
// } catch (org.json.simple.parser.ParseException e) {
|
||||
// // TODO Auto-generated catch block
|
||||
// throw new Exception( e.getMessage() );
|
||||
// }
|
||||
// }
|
||||
|
||||
// public HashMap<String, Object> getOrganizationUserGlGmGsGfCodes(String userId) throws Exception {
|
||||
//
|
||||
// String projectMasterCompanyName = userMapper.findProjectMasterCompanyNameByUserid(userId);
|
||||
//
|
||||
// if( projectMasterCompanyName == null ) {
|
||||
// throw new Exception( "발주 기관 계정에 설정된 기관이 존재하지 않습니다" );
|
||||
// }
|
||||
//
|
||||
// HashMap<String, Object> spGetMasterCompanyDistrictParams = new HashMap<String, Object>();
|
||||
//
|
||||
// //String[] words = projectMasterCompanyName.split(" ");
|
||||
// //String lastWord = words[words.length - 1];
|
||||
// //spGetMasterCompanyDistrictParams.put("projectMasterCompanyName", lastWord);
|
||||
// spGetMasterCompanyDistrictParams.put("projectMasterCompanyName", projectMasterCompanyName);
|
||||
//
|
||||
//
|
||||
// drillingInputMapper.spGetMasterCompanyDistrict(spGetMasterCompanyDistrictParams);
|
||||
//
|
||||
// return spGetMasterCompanyDistrictParams;
|
||||
//
|
||||
// }
|
||||
|
||||
@Override
|
||||
public JSONObject drillingInquiryList(HttpServletRequest request, HashMap<String, Object> params) throws Exception {
|
||||
|
||||
JSONObject jsonResponse = new JSONObject();
|
||||
SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
|
||||
String userId = MyUtil.getStringFromObject( params.get("userId") );
|
||||
|
||||
EgovMap result = userMapper.selectInfo(map);
|
||||
|
||||
int cls = MyUtil.getIntegerFromObject(result.get("cls"));
|
||||
|
||||
if( cls == 2 ) {
|
||||
// 발주기관 계정으로 조회한 경우, 본인의 영역에 해당하는 프로젝트만 조회한다.
|
||||
String masterCompanyCode = MyUtil.getStringFromObject( result.get("masterCompanyCode") );
|
||||
|
||||
HashMap<String, Object> spGetMasterCompanyDistrictParams = drillingInputService.getOrganizationUserGlGmGsGfCodes(userid);
|
||||
|
||||
String glDistrict = MyUtil.getStringFromObject( spGetMasterCompanyDistrictParams.get("v_gl") );
|
||||
String gmDistrict = MyUtil.getStringFromObject( spGetMasterCompanyDistrictParams.get("v_gm") );
|
||||
String gsDistrict = MyUtil.getStringFromObject( spGetMasterCompanyDistrictParams.get("v_gs") );
|
||||
params.put("glDistrict", glDistrict);
|
||||
params.put("gmDistrict", gmDistrict);
|
||||
params.put("gsDistrict", gsDistrict);
|
||||
|
||||
}
|
||||
|
||||
|
||||
// if( userId == null){
|
||||
// throw new Exception( "로그인이 필요한 서비스입니다." );
|
||||
// }
|
||||
|
||||
|
||||
try {
|
||||
HashMap<String, Object> spGetMasterCompanyDistrictParams = drillingInputService.getOrganizationUserGlGmGsGfCodes(userId);
|
||||
|
||||
String masterCompanyOCode = MyUtil.getStringFromObject( spGetMasterCompanyDistrictParams.get("v_gl") );
|
||||
String masterCompanyTwCode = MyUtil.getStringFromObject( spGetMasterCompanyDistrictParams.get("v_gm") );
|
||||
String masterCompanyThCode = MyUtil.getStringFromObject( spGetMasterCompanyDistrictParams.get("v_gs") );
|
||||
String masterCompanyName = MyUtil.getStringFromObject( spGetMasterCompanyDistrictParams.get("v_gf") );
|
||||
String sortfield = "C".equals(MyUtil.getStringFromObject(params.get("constTag"))) ? "0" : "2";
|
||||
String sorttype = "2";
|
||||
params.put("masterCompanyOCode", masterCompanyOCode);
|
||||
params.put("masterCompanyTwCode", masterCompanyTwCode);
|
||||
params.put("masterCompanyThCode", masterCompanyThCode);
|
||||
params.put("masterCompanyName", masterCompanyName);
|
||||
params.put("sortfield", sortfield);
|
||||
params.put("sorttype", sorttype);
|
||||
|
||||
|
||||
try {
|
||||
|
||||
try {
|
||||
List<EgovMap> list = drillingInquiryMapper.drillingInquiryAutocompleteList(params);
|
||||
return list;
|
||||
String keyName = "constName";
|
||||
params.put(keyName, MyUtil.removeBlank( params.get(keyName) ));
|
||||
|
||||
keyName = "constCompanyAdmin";
|
||||
params.put(keyName, MyUtil.removeBlank( params.get(keyName) ));
|
||||
|
||||
keyName = "constCompanyTel";
|
||||
params.put(keyName, MyUtil.removeBlank( params.get(keyName) ));
|
||||
|
||||
keyName = "constCompanyName";
|
||||
params.put(keyName, MyUtil.removeBlank( params.get(keyName) ));
|
||||
|
||||
keyName = "constComCodes";
|
||||
if( params.get("constCompanyName") != null && !MyUtil.getStringFromObject(params.get("constCompanyName")).trim().isEmpty() ) {
|
||||
params.put(keyName, drillingInquiryMapper.getComCodes(params));
|
||||
} else {
|
||||
params.put(keyName, null);
|
||||
}
|
||||
|
||||
|
||||
Long count = drillingInquiryMapper.sPCntTblCsiByKeyword(params);
|
||||
List<EgovMap> datas = drillingInquiryMapper.spGetTblCsiByKeyword(params);
|
||||
|
||||
|
||||
|
||||
String constStateCodeKey = "constStateCode";
|
||||
String constCompanyCodeKey = "constCompanyCode";
|
||||
String projectStateCodeKey = "projectStateCode";
|
||||
String crtDtKey = "crtDt";
|
||||
String modDtKey = "modDt";
|
||||
|
||||
for( EgovMap data : datas ) {
|
||||
|
||||
Integer nConstStateCodeKey = MyUtil.getIntegerFromObject(data.get(constStateCodeKey));
|
||||
if( nConstStateCodeKey == null ) {
|
||||
nConstStateCodeKey = -1;
|
||||
}
|
||||
String constStateCodeName = "";
|
||||
switch(nConstStateCodeKey) {
|
||||
case 1:
|
||||
constStateCodeName = "타당성조사 및 계획검토";
|
||||
break;
|
||||
case 2:
|
||||
constStateCodeName = "기본설계";
|
||||
break;
|
||||
case 3:
|
||||
constStateCodeName = "실시설계";
|
||||
break;
|
||||
case 4:
|
||||
constStateCodeName = "시공중";
|
||||
break;
|
||||
case 5:
|
||||
constStateCodeName = "준공";
|
||||
break;
|
||||
case 6:
|
||||
constStateCodeName = "유지보수";
|
||||
break;
|
||||
default:
|
||||
constStateCodeName = "알 수 없음";
|
||||
break;
|
||||
|
||||
}
|
||||
data.put("constStateCodeName", constStateCodeName);
|
||||
|
||||
|
||||
|
||||
Long nConstCompanyCodeKey = MyUtil.getLongFromObject(data.get(constCompanyCodeKey));
|
||||
if( nConstCompanyCodeKey != null ) {
|
||||
params.put(constCompanyCodeKey, nConstCompanyCodeKey);
|
||||
String coinstCompanyDept = drillingInquiryMapper.spGetConstCompanyName(nConstCompanyCodeKey);
|
||||
data.put("coinstCompanyDept", coinstCompanyDept);
|
||||
}
|
||||
|
||||
|
||||
Integer nProjectStateCodeKey = MyUtil.getIntegerFromObject(data.get(projectStateCodeKey) );
|
||||
if( nProjectStateCodeKey == null ) {
|
||||
nProjectStateCodeKey = -1;
|
||||
}
|
||||
String projectStateCodeName = "";
|
||||
switch(nProjectStateCodeKey) {
|
||||
case 0:
|
||||
projectStateCodeName = "미입력";
|
||||
break;
|
||||
case 1:
|
||||
projectStateCodeName = "입력 중";
|
||||
break;
|
||||
case 2:
|
||||
projectStateCodeName = "검수 준비 대기중";
|
||||
break;
|
||||
case 3:
|
||||
projectStateCodeName = "검수 중";
|
||||
break;
|
||||
case 4:
|
||||
projectStateCodeName = "수정 요청";
|
||||
break;
|
||||
case 5:
|
||||
projectStateCodeName = "검수 완료";
|
||||
break;
|
||||
case 6:
|
||||
projectStateCodeName = "등록 완료";
|
||||
break;
|
||||
default:
|
||||
constStateCodeName = "알 수 없음";
|
||||
break;
|
||||
|
||||
}
|
||||
data.put("projectStateCodeName", projectStateCodeName);
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
TIMESTAMP oracleTimestamp = (TIMESTAMP)data.get(crtDtKey);
|
||||
if( oracleTimestamp != null ) {
|
||||
Timestamp javaTimestamp = oracleTimestamp.timestampValue();
|
||||
String formattedDate = dateFormat.format(javaTimestamp);
|
||||
data.put(crtDtKey, formattedDate);
|
||||
}
|
||||
|
||||
oracleTimestamp = (TIMESTAMP)data.get(modDtKey);
|
||||
if( oracleTimestamp != null ) {
|
||||
Timestamp javaTimestamp = oracleTimestamp.timestampValue();
|
||||
String formattedDate = dateFormat.format(javaTimestamp);
|
||||
data.put(modDtKey, formattedDate);
|
||||
}
|
||||
}
|
||||
jsonResponse.put("count", count);
|
||||
jsonResponse.put("datas", datas);
|
||||
return jsonResponse;
|
||||
} catch (SQLException e) {
|
||||
String strTxt =
|
||||
"---------- BUG REPORTING START ----------" + "\n" +
|
||||
"에러 문구:[" + request.getRequestURI() + " " + "]" + "\n" +
|
||||
"params:[\n" + params.toString() + "\n]\n" +
|
||||
"e.getMessage():[\n" + e.getMessage() + "\n]\n" + "\n" +
|
||||
"new Date().toString():[" + new Date().toString() + "]\n" + "\n" +
|
||||
"---------- BUG REPORTING END ----------" + "\n" +
|
||||
"";
|
||||
"---------- BUG REPORTING START ----------" + "\n" +
|
||||
"에러 문구:[" + request.getRequestURI() + " " + "]" + "\n" +
|
||||
"params:[\n" + params.toString() + "\n]\n" +
|
||||
"e.getMessage():[\n" + e.getMessage() + "\n]\n" + "\n" +
|
||||
"new Date().toString():[" + new Date().toString() + "]\n" + "\n" +
|
||||
"---------- BUG REPORTING END ----------" + "\n" +
|
||||
"";
|
||||
System.out.println(strTxt);
|
||||
throw new Exception( "오류가 발생하였습니다." + "\n" + "SQLException" );
|
||||
}
|
||||
|
|
@ -85,26 +291,4 @@ public class DrillingInquiryServiceImpl implements DrillingInquiryService {
|
|||
throw new Exception( e.getMessage() );
|
||||
}
|
||||
}
|
||||
|
||||
public HashMap<String, Object> getOrganizationUserGlGmGsGfCodes(String userId) throws Exception {
|
||||
|
||||
String projectMasterCompanyName = userMapper.findProjectMasterCompanyNameByUserid(userId);
|
||||
|
||||
if( projectMasterCompanyName == null ) {
|
||||
throw new Exception( "발주 기관 계정에 설정된 기관이 존재하지 않습니다" );
|
||||
}
|
||||
|
||||
HashMap<String, Object> spGetMasterCompanyDistrictParams = new HashMap<String, Object>();
|
||||
|
||||
//String[] words = projectMasterCompanyName.split(" ");
|
||||
//String lastWord = words[words.length - 1];
|
||||
//spGetMasterCompanyDistrictParams.put("projectMasterCompanyName", lastWord);
|
||||
spGetMasterCompanyDistrictParams.put("projectMasterCompanyName", projectMasterCompanyName);
|
||||
|
||||
|
||||
drillingInputMapper.spGetMasterCompanyDistrict(spGetMasterCompanyDistrictParams);
|
||||
|
||||
return spGetMasterCompanyDistrictParams;
|
||||
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -811,4 +811,20 @@ public final class MyUtil {
|
|||
return false;
|
||||
}
|
||||
|
||||
/**
|
||||
* 문자열의 공백을 제거 후 return한다
|
||||
* @param target 공백을 제거할 대상
|
||||
* @return
|
||||
* @throws Exception
|
||||
*/
|
||||
public static String removeBlank( Object target ) throws Exception {
|
||||
|
||||
String str = getStringFromObject( target );
|
||||
|
||||
if( str != null ) {
|
||||
str = str.replaceAll("\\s", "");
|
||||
}
|
||||
|
||||
return str;
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,7 +1,7 @@
|
|||
<?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="geoinfo.drilling.input.service.DrillingInputMapper">
|
||||
<mapper namespace="geoinfo.admins.user.service.DrillingInputMapper">
|
||||
|
||||
<select id="spGetMasterCompanyDistrict" parameterType="map" statementType="CALLABLE" >
|
||||
{ CALL SP_GET_MASTER_COMPANY_DISTRICT(
|
||||
|
|
|
|||
|
|
@ -1,67 +1,122 @@
|
|||
<?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="geoinfo.drilling.inquiry.service.DrillingInquiryMapper">
|
||||
<mapper namespace="geoinfo.admins.user.service.DrillingInquiryMapper">
|
||||
|
||||
|
||||
<select id="drillingInquiryAutocompleteList" parameterType="map" resultType="egovMap">
|
||||
SELECT
|
||||
tgld.GL_DISTRICT,
|
||||
tgmd.GM_DISTRICT,
|
||||
tgsd.GS_DISTRICT,
|
||||
tcsi.CID,
|
||||
tcsi.CONST_NAME,
|
||||
tcsi.CONST_START_DATE
|
||||
FROM
|
||||
TEMP_CONSTRUCT_SITE_INFO tcsi
|
||||
LEFT JOIN (
|
||||
SELECT
|
||||
*
|
||||
FROM
|
||||
tbl_gl_district
|
||||
WHERE
|
||||
use_yn = 'Y'
|
||||
ORDER BY
|
||||
gl_code
|
||||
) tgld ON tcsi.MASTER_COMPANY_O_CODE = tgld.GL_CODE
|
||||
LEFT JOIN (
|
||||
SELECT
|
||||
*
|
||||
FROM
|
||||
tbl_gm_district
|
||||
WHERE
|
||||
use_yn = 'Y'
|
||||
ORDER BY
|
||||
gm_code
|
||||
) tgmd ON tcsi.MASTER_COMPANY_O_CODE = tgmd.GL_CODE AND tcsi.MASTER_COMPANY_TW_CODE = tgmd.GM_CODE
|
||||
LEFT JOIN (
|
||||
SELECT
|
||||
*
|
||||
FROM
|
||||
tbl_gs_district
|
||||
WHERE
|
||||
use_yn = 'Y'
|
||||
ORDER BY
|
||||
gs_code
|
||||
) tgsd ON
|
||||
tcsi.MASTER_COMPANY_O_CODE = tgsd.GL_CODE AND
|
||||
tcsi.MASTER_COMPANY_TW_CODE = tgsd.GM_CODE AND
|
||||
tcsi.MASTER_COMPANY_TH_CODE = tgsd.GS_CODE
|
||||
WHERE
|
||||
tcsi.PROJECT_CODE IS NULL AND
|
||||
tcsi.CONST_NAME LIKE '%' || #{projectName} || '%'
|
||||
<if test="glDistrict != null">
|
||||
<![CDATA[ AND tgld.GL_CODE = #{glDistrict} ]]>
|
||||
</if>
|
||||
<if test="gmDistrict != null">
|
||||
<![CDATA[ AND tgmd.GM_CODE = #{gmDistrict} ]]>
|
||||
</if>
|
||||
<if test="gsDistrict != null">
|
||||
<![CDATA[ AND tgsd.GS_CODE = #{gsDistrict} ]]>
|
||||
</if>
|
||||
ORDER BY tcsi.CRT_DT DESC
|
||||
<!-- <select id="drillingInquiryAutocompleteList" parameterType="map" resultType="egovMap"> -->
|
||||
<!-- SELECT -->
|
||||
<!-- tgld.GL_DISTRICT, -->
|
||||
<!-- tgmd.GM_DISTRICT, -->
|
||||
<!-- tgsd.GS_DISTRICT, -->
|
||||
<!-- tcsi.CID, -->
|
||||
<!-- tcsi.CONST_NAME, -->
|
||||
<!-- tcsi.CONST_START_DATE -->
|
||||
<!-- FROM -->
|
||||
<!-- TEMP_CONSTRUCT_SITE_INFO tcsi -->
|
||||
<!-- LEFT JOIN ( -->
|
||||
<!-- SELECT -->
|
||||
<!-- * -->
|
||||
<!-- FROM -->
|
||||
<!-- tbl_gl_district -->
|
||||
<!-- WHERE -->
|
||||
<!-- use_yn = 'Y' -->
|
||||
<!-- ORDER BY -->
|
||||
<!-- gl_code -->
|
||||
<!-- ) tgld ON tcsi.MASTER_COMPANY_O_CODE = tgld.GL_CODE -->
|
||||
<!-- LEFT JOIN ( -->
|
||||
<!-- SELECT -->
|
||||
<!-- * -->
|
||||
<!-- FROM -->
|
||||
<!-- tbl_gm_district -->
|
||||
<!-- WHERE -->
|
||||
<!-- use_yn = 'Y' -->
|
||||
<!-- ORDER BY -->
|
||||
<!-- gm_code -->
|
||||
<!-- ) tgmd ON tcsi.MASTER_COMPANY_O_CODE = tgmd.GL_CODE AND tcsi.MASTER_COMPANY_TW_CODE = tgmd.GM_CODE -->
|
||||
<!-- LEFT JOIN ( -->
|
||||
<!-- SELECT -->
|
||||
<!-- * -->
|
||||
<!-- FROM -->
|
||||
<!-- tbl_gs_district -->
|
||||
<!-- WHERE -->
|
||||
<!-- use_yn = 'Y' -->
|
||||
<!-- ORDER BY -->
|
||||
<!-- gs_code -->
|
||||
<!-- ) tgsd ON -->
|
||||
<!-- tcsi.MASTER_COMPANY_O_CODE = tgsd.GL_CODE AND -->
|
||||
<!-- tcsi.MASTER_COMPANY_TW_CODE = tgsd.GM_CODE AND -->
|
||||
<!-- tcsi.MASTER_COMPANY_TH_CODE = tgsd.GS_CODE -->
|
||||
<!-- WHERE -->
|
||||
<!-- tcsi.PROJECT_CODE IS NULL -->
|
||||
<!-- <if test="projectName != null and projectName != ''"> -->
|
||||
<!-- AND tcsi.CONST_NAME LIKE '%' || #{projectName} || '%' -->
|
||||
<!-- </if> -->
|
||||
<!-- <if test="glDistrict != null"> -->
|
||||
<!-- <![CDATA[ AND tgld.GL_CODE = #{glDistrict} ]]> -->
|
||||
<!-- </if> -->
|
||||
<!-- <if test="gmDistrict != null"> -->
|
||||
<!-- <![CDATA[ AND tgmd.GM_CODE = #{gmDistrict} ]]> -->
|
||||
<!-- </if> -->
|
||||
<!-- <if test="gsDistrict != null"> -->
|
||||
<!-- <![CDATA[ AND tgsd.GS_CODE = #{gsDistrict} ]]> -->
|
||||
<!-- </if> -->
|
||||
<!-- ORDER BY tcsi.CRT_DT DESC -->
|
||||
<!-- </select> -->
|
||||
|
||||
<select id="sPCntTblCsiByKeyword" parameterType="map" resultType="long">
|
||||
SELECT SP_CNT_TBL_CSI_BY_KEYWORD(
|
||||
#{constTag, jdbcType=VARCHAR},
|
||||
#{constName, jdbcType=VARCHAR},
|
||||
#{constStartDate, jdbcType=VARCHAR},
|
||||
#{constEndDate, jdbcType=VARCHAR},
|
||||
#{constStateCode, jdbcType=VARCHAR},
|
||||
#{masterCompanyOCode, jdbcType=VARCHAR},
|
||||
#{masterCompanyTwCode, jdbcType=VARCHAR},
|
||||
#{masterCompanyThCode, jdbcType=VARCHAR},
|
||||
#{masterCompanyName, jdbcType=VARCHAR},
|
||||
#{constCompanyName, jdbcType=VARCHAR},
|
||||
#{constComCodes, jdbcType=VARCHAR},
|
||||
#{constCompanyAdmin, jdbcType=VARCHAR},
|
||||
#{constCompanyTel, jdbcType=VARCHAR},
|
||||
NULL
|
||||
) FROM DUAL
|
||||
</select>
|
||||
|
||||
<select id="spGetTblCsiByKeyword" parameterType="map" resultType="egovMap">
|
||||
SELECT * FROM TABLE(SP_GET_TBL_CSI_BY_KEYWORD(
|
||||
#{constTag, jdbcType=VARCHAR},
|
||||
#{constName, jdbcType=VARCHAR},
|
||||
#{constStartDate, jdbcType=VARCHAR},
|
||||
#{constEndDate, jdbcType=VARCHAR},
|
||||
#{constStateCode, jdbcType=VARCHAR},
|
||||
#{masterCompanyOCode, jdbcType=VARCHAR},
|
||||
#{masterCompanyTwCode, jdbcType=VARCHAR},
|
||||
#{masterCompanyThCode, jdbcType=VARCHAR},
|
||||
#{masterCompanyName, jdbcType=VARCHAR},
|
||||
#{constCompanyName, jdbcType=VARCHAR},
|
||||
#{constComCodes, jdbcType=VARCHAR},
|
||||
#{constCompanyAdmin, jdbcType=VARCHAR},
|
||||
#{constCompanyTel, jdbcType=VARCHAR},
|
||||
NULL,
|
||||
#{sortfield},
|
||||
#{sorttype},
|
||||
#{nCount},
|
||||
#{nPage}))
|
||||
</select>
|
||||
|
||||
<select id="getComCodes" parameterType="map" resultType="String">
|
||||
SELECT
|
||||
LISTAGG(COM_CODE, ',') WITHIN GROUP (
|
||||
ORDER BY COM_CODE) AS COM_CODES
|
||||
FROM
|
||||
TBL_CONST_COMPANY
|
||||
WHERE
|
||||
REPLACE(COM_NAME, ' ', '') LIKE '%' || #{constCompanyName} || '%'
|
||||
</select>
|
||||
|
||||
<select id="spGetConstCompanyName" parameterType="Long" resultType="String">
|
||||
SELECT SP_GET_CONST_COMPANY_NAME(#{constCompanyCode}) FROM DUAL
|
||||
</select>
|
||||
|
||||
</mapper>
|
||||
|
|
@ -11,12 +11,12 @@
|
|||
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.4.1/css/bootstrap.min.css">
|
||||
<link rel="stylesheet" HREF="${pageContext.request.contextPath}/css/admins/style.css" type="text/css">
|
||||
<script>
|
||||
console.log("${params}")
|
||||
const userId = "${params.userid}"
|
||||
function backBtn() {
|
||||
window.history.back();
|
||||
// location.href = "${pageContext.request.contextPath}/admins/constructionProjectManagement/construction-user-mgmt-index.do";
|
||||
}
|
||||
|
||||
|
||||
function onClickBtnSearch() {
|
||||
const pagingEle = document.getElementById('paging');
|
||||
const activeLinks = pagingEle.querySelectorAll('li.is-active a');
|
||||
|
|
@ -47,6 +47,7 @@
|
|||
'&' +'constCompanyName='+ constCompanyName +
|
||||
'&' +'constCompanyAdmin='+ constCompanyAdmin +
|
||||
'&' +'constCompanyTel='+ constCompanyTel +
|
||||
'&' +'userId='+ userId +
|
||||
'&' +'nPage='+ nPage +
|
||||
'&' +'nCount='+ nCount,
|
||||
true);
|
||||
|
|
@ -73,7 +74,7 @@
|
|||
const constCompanyTel = obj.datas[idx].constCompanyTel == null ? '-' : obj.datas[idx].constCompanyTel;
|
||||
|
||||
// content += '<tr onclick="location.href=\'modify.do?CID=' + obj.datas[idx].cid + '\';" data-cid="' + obj.datas[idx].cid + '">';
|
||||
content += '<tr onmousedown="handleMouseDown()" onmousemove="handleMouseMove()" onmouseup="handleRowClick(' + obj.datas[idx].cid + ')" data-cid="' + obj.datas[idx].cid + '">';
|
||||
content += '<tr <%--onmousedown="handleMouseDown()" onmousemove="handleMouseMove()" --%> onmouseup="handleRowClick(' + obj.datas[idx].cid + ')" data-cid="' + obj.datas[idx].cid + '">';
|
||||
content += '<td>' + (obj.count - idx - (nCount * (nPage - 1))) + '</td>';
|
||||
content += '<td style="text-align: left; text-indent: 10px;">' + obj.datas[idx].constName + '</td>';
|
||||
content += '<td>' + obj.datas[idx].projectStateCodeName + '</td>';
|
||||
|
|
@ -161,7 +162,7 @@
|
|||
});
|
||||
|
||||
//발주기관 프로젝트목록 가져오기
|
||||
getConstructSiteList()
|
||||
onClickBtnSearch();
|
||||
|
||||
|
||||
// 초기 테이블 추가 트리거
|
||||
|
|
@ -288,84 +289,6 @@
|
|||
|
||||
});
|
||||
|
||||
function getConstructSiteList() {
|
||||
|
||||
var projectName = String(this.value).trim();
|
||||
|
||||
if (projectName.length > 0) {
|
||||
|
||||
$.ajax({
|
||||
type : "GET",
|
||||
data : {
|
||||
projectName : projectName,
|
||||
isProjectNameChecking : "true",
|
||||
userid: "${param.userid}"
|
||||
},
|
||||
url : "/drilling-project-list.json",
|
||||
dataType : "json",
|
||||
success : function( json ) {
|
||||
suggestionListDiv.innerHTML = ""; // 이전 목록 비우기
|
||||
suggestionListDiv.style.display = "none";
|
||||
var list = json.result.list;
|
||||
var matchingProjects = [];
|
||||
for (var i = 0; i < list.length; i++) {
|
||||
matchingProjects.push(list[i]);
|
||||
}
|
||||
if (matchingProjects.length > 0) {
|
||||
for (var i = 0; i < matchingProjects.length; i++) {
|
||||
var suggestionItem = document.createElement("div");
|
||||
|
||||
var organHierarchy = " " + matchingProjects[i].glDistrict !== null ? matchingProjects[i].glDistrict : "";
|
||||
if( matchingProjects[i].gmDistrict !== null ) {
|
||||
organHierarchy = organHierarchy + " > " + matchingProjects[i].gmDistrict;
|
||||
}
|
||||
if( matchingProjects[i].gsDistrict !== null ) {
|
||||
organHierarchy = organHierarchy + " > " + matchingProjects[i].gsDistrict;
|
||||
}
|
||||
|
||||
suggestionItem.setAttribute('data-const-name', matchingProjects[i].constName);
|
||||
suggestionItem.setAttribute('data-cid', matchingProjects[i].cid);
|
||||
|
||||
// 검색어를 굵게 표시
|
||||
var constName = matchingProjects[i].constName;
|
||||
var projectName = String(projectNameInput.value).trim();
|
||||
// 정규식으로 검색어를 찾고, 대소문자 구분 없이 처리
|
||||
var regex = new RegExp(projectName, "gi");
|
||||
var boldConstName = constName.replace(regex, '<b>' + projectName + '</b>');
|
||||
|
||||
suggestionItem.innerHTML =
|
||||
'<span>' + boldConstName + '</span><br />\n' +
|
||||
'<span class="organizational-structure" data->' +
|
||||
"발주처: " + organHierarchy
|
||||
'</span>';
|
||||
|
||||
suggestionItem.onclick = function() {
|
||||
projectNameInput.value = this.getAttribute('data-const-name');
|
||||
suggestionListDiv.style.display = "none";
|
||||
};
|
||||
|
||||
suggestionListDiv.appendChild(suggestionItem);
|
||||
}
|
||||
// suggestionListDiv 위치 설정
|
||||
var rect = projectNameInput.getBoundingClientRect();
|
||||
suggestionListDiv.style.position = 'absolute';
|
||||
//suggestionListDiv.style.left = rect.left + 'px';
|
||||
//suggestionListDiv.style.top = (rect.bottom + window.scrollY) + 'px';
|
||||
//suggestionListDiv.style.float = 'left';
|
||||
suggestionListDiv.style.width = rect.width + 'px';
|
||||
suggestionListDiv.style.display = "block";
|
||||
}
|
||||
|
||||
},
|
||||
error: function(xhr, option, error){
|
||||
alert(xhr.status); //오류코드
|
||||
alert(error); //오류내용
|
||||
}
|
||||
});
|
||||
|
||||
}
|
||||
|
||||
};
|
||||
/**
|
||||
* 발주기관 목록화면 tr 드래그 시 상세화면 이동 방지처리
|
||||
* 드래그 이벤트와 클릭이벤트를 구분하여 감지한다.
|
||||
|
|
@ -380,6 +303,12 @@
|
|||
return str.replace(/^\s+|\s+$/g, '');
|
||||
}
|
||||
</script><style>
|
||||
.drilling .page-content-inner {
|
||||
padding: 30px 0;
|
||||
}
|
||||
li {
|
||||
list-style: none;
|
||||
}
|
||||
@keyframes shake {
|
||||
0% { transform: translateX(0); }
|
||||
10% { transform: translateX(-5px); }
|
||||
|
|
@ -484,7 +413,6 @@
|
|||
box-shadow: 0 2px 8px rgba(0,0,0,0.05);"><h3>> 건설현장 조회 ${ params.userid }</h3></div></td>
|
||||
</tr>
|
||||
<tr height=20 colspan=2><td class=btn_group><a href="javascript:void(0)" class="btn btn-sm btn-success" onclick="javascript:backBtn();">뒤로</a></td></tr>
|
||||
<tr height=20 colspan=2><td> </td></tr>
|
||||
<%-- <tr height=25>
|
||||
<!-- START : 엑셀 다운로드 ------------------------------------------------------------------------->
|
||||
<td>
|
||||
|
|
@ -539,7 +467,7 @@
|
|||
</tbody>
|
||||
</td>
|
||||
</tr>--%>
|
||||
<tr height=42>
|
||||
<%-- <tr height=42> --%>
|
||||
<!-- START : 네비게이션 ---------------------------------------------------------------------------->
|
||||
<!-- <td align=center class="navi" colspan='2'> -->
|
||||
<!-- <table width=100% > -->
|
||||
|
|
@ -553,9 +481,10 @@
|
|||
<!-- </table> -->
|
||||
<!-- </td> -->
|
||||
<!-- END : 네비게이션 ---------------------------------------------------------------------------->
|
||||
</tr>
|
||||
<%-- </tr> --%>
|
||||
</table><!-- 페이지 컨테이너 시작 -->
|
||||
<section class="drilling-page-container">
|
||||
<input id="PROJECT_NAME" name="PROJECT_NAME" maxlength="2000" type="hidden" value="" valid="notnull" validNm="사업명" />
|
||||
<div class="page-content-wrapper drilling inquiry">
|
||||
<!-- 콘텐츠 시작 -->
|
||||
<div class="page-content">
|
||||
|
|
|
|||
|
|
@ -16,7 +16,7 @@ var waitWin;
|
|||
727보다 크게 하는 경우는 문제 없습니다.
|
||||
-->
|
||||
|
||||
<iframe src="${pageContext.request.contextPath}/admins/${menuId}/${pId}.do?isFirst=true" frameborder="0" height="650" width="1300" scrolling="yes" name="iframeMain" style="overflow-x: hidden;"></iframe>
|
||||
<iframe src="${pageContext.request.contextPath}/admins/${menuId}/${pId}.do?isFirst=true" frameborder="0" height="650" width="100%" scrolling="yes" name="iframeMain" style="overflow-x: hidden;"></iframe>
|
||||
|
||||
</body>
|
||||
</html>
|
||||
|
|
|
|||
|
|
@ -130,7 +130,7 @@ document.addEventListener('keyup', function(e) {
|
|||
<td width="10" valign="top"> </td>
|
||||
|
||||
<td width="100%" valign="top">
|
||||
<iframe height="650" width="1300" marginheight="0" src="${pageContext.request.contextPath}/admins/frame/mainframe.do?menuId=${menuId}&pId=${pId}&viewName=${viewName}&idx=${idx}" name="mainFrame" frameborder="0" scrolling="no"></iframe>
|
||||
<iframe height="650" width="100%" marginheight="0" src="${pageContext.request.contextPath}/admins/frame/mainframe.do?menuId=${menuId}&pId=${pId}&viewName=${viewName}&idx=${idx}" name="mainFrame" frameborder="0" scrolling="no"></iframe>
|
||||
|
||||
|
||||
</td>
|
||||
|
|
|
|||
Loading…
Reference in New Issue