발주기관> 건설현장 수정 : 프로젝트 수정시 건설사 지정 처리(지정 건설사 없을 때)

main
유지인 2026-01-21 16:25:01 +09:00
parent 2856b4a956
commit bb3c8a3499
3 changed files with 132 additions and 69 deletions

View File

@ -112,7 +112,7 @@ public class DrillingInputController {
try { try {
HashMap<String, Object> hashMap = drillingInputService.drillingInputAdd(request, params); HashMap<String, Object> hashMap = drillingInputService.drillingInputAdd(request, response, params);
int nRetCode = MyUtil.getIntegerFromObject(hashMap.get("v_RetCode")); int nRetCode = MyUtil.getIntegerFromObject(hashMap.get("v_RetCode"));
String lpszRetMsg = MyUtil.getStringFromObject(hashMap.get("v_RetMsg")); String lpszRetMsg = MyUtil.getStringFromObject(hashMap.get("v_RetMsg"));
@ -363,7 +363,7 @@ public class DrillingInputController {
HashMap<String, Object> params = MyUtil.JSONObjectToHashMap(jsonObject); HashMap<String, Object> params = MyUtil.JSONObjectToHashMap(jsonObject);
try { try {
HashMap<String, Object> hashMap = drillingInputService.drillingInputModify(request, params); HashMap<String, Object> hashMap = drillingInputService.drillingInputModify(request, response, params);
int nRetCode = MyUtil.getIntegerFromObject(hashMap.get("v_RetCode")); int nRetCode = MyUtil.getIntegerFromObject(hashMap.get("v_RetCode"));
String lpszRetMsg = MyUtil.getStringFromObject(hashMap.get("v_RetMsg")); String lpszRetMsg = MyUtil.getStringFromObject(hashMap.get("v_RetMsg"));

View File

@ -100,12 +100,18 @@ public class DrillingInputServiceImpl implements DrillingInputService {
Long constCompanyCode = drillingInputMapper.findConstCompanyCodeByConstCompanyName(params); Long constCompanyCode = drillingInputMapper.findConstCompanyCodeByConstCompanyName(params);
params.put("constCompanyCode", constCompanyCode); params.put("constCompanyCode", constCompanyCode);
drillingInputMapper.spAddTblCsi(params); drillingInputMapper.spAddTblCsi(params);
// if( 기업사용자를 지정했다면 ) { /**
// String constUserId = "복호화된 기업 사용자 아이디"; *
// params.put("constUserId", constUserId); * : . .
// params.put("CID", params.get("cid")); //drillingInputMapper.spAddTblCsi(params); 호출 후 생성된 cid 값 * @constUserId
// saveAndInsertMeta(params, request, response); * @holeNumber ( , -999 )
// } */
if (!"".equals(encryptId)) {
String constUserId = decryptId;
params.put("constUserId", constUserId);
params.put("holeNumber", -999);
saveAndInsertMeta(params, request, response);
}
return params; return params;
} catch (SQLException e) { } catch (SQLException e) {
throw new Exception( e.getMessage() ); throw new Exception( e.getMessage() );
@ -366,6 +372,23 @@ public class DrillingInputServiceImpl implements DrillingInputService {
// //
// saveAndInsertMeta(params, request, response); // saveAndInsertMeta(params, request, response);
//} //}
if (!"".equals(encryptId)) {
EgovMap tbl = null; // cid로 발주기관 등록 건설현장 정보 조회(PROJECT_CODE 취득)
String constUserId = decryptId;
params.put("constUserId", constUserId);
tbl = drillingInputMapper.getItemByCid( params );
if (tbl.get("projectCode") != null && !"".equals(tbl.get("projectCode"))) { // PROJECT_CODE가 존재하면 입력중인 프로젝트.
// 입력중인 프로젝트
// 입력여부 판단 필요
} else { // 입력된 정보 없음. INSERT 처리 후 끝
params.put("constProjectCode", "");
params.put("holeNumber", -999);
}
}
saveAndInsertMeta(params, request, response);
return spUdtTblCsiParams; return spUdtTblCsiParams;
} catch (SQLException e) { } catch (SQLException e) {
throw new Exception( e.getMessage() ); throw new Exception( e.getMessage() );
@ -396,14 +419,15 @@ public class DrillingInputServiceImpl implements DrillingInputService {
public ModelAndView saveAndInsertMeta(@RequestParam HashMap<String, Object> params, HttpServletRequest request, HttpServletResponse response) throws Exception { public ModelAndView saveAndInsertMeta(@RequestParam HashMap<String, Object> params, HttpServletRequest request, HttpServletResponse response) throws Exception {
HashMap<String,Object> getProviderInfoParams = new HashMap<String, Object>(); HashMap<String,Object> getProviderInfoParams = new HashMap<String, Object>();
getProviderInfoParams.put("userid", params.get("constUserId")); getProviderInfoParams.put("USERID", params.get("constUserId"));
EgovMap constUserInfo = commonService.getProviderInfo(getProviderInfoParams); // 기업사용자 회원정보 EgovMap constUserInfo = commonService.getProviderInfo(getProviderInfoParams); // 기업사용자 회원정보
// 1. 전달받은 파라미터 설정 // 1. 전달받은 파라미터 설정
HashMap<String, Object> metaParams = new HashMap<String, Object>(); HashMap<String, Object> metaParams = new HashMap<String, Object>();
metaParams.put("REPORT_TYPE", "CH"); metaParams.put("REPORT_TYPE", "CH");
metaParams.put("PROJECT_CODE", params.get("constProjectCode")); // 프로젝트코드 metaParams.put("PROJECT_CODE", params.get("constProjectCode")); // 프로젝트코드
metaParams.put("TEMP_CONSTRUCT_SITE_INFO-CID", params.get("CID")); metaParams.put("TEMP_CONSTRUCT_SITE_INFO-CID", params.get("v_CID"));
metaParams.put("constUserId", params.get("constUserId")); // 발주기관 선택 건설사 계정
metaParams.put("INPUT_COMPANY", params.get("constCompanyName")); // 입력기관. metaParams.put("INPUT_COMPANY", params.get("constCompanyName")); // 입력기관.
metaParams.put("DEPT", constUserInfo.get("partName")); // 부서명. 해당 기업 사용자의 부서명 조회해서 넣기. metaParams.put("DEPT", constUserInfo.get("partName")); // 부서명. 해당 기업 사용자의 부서명 조회해서 넣기.
@ -414,15 +438,15 @@ public class DrillingInputServiceImpl implements DrillingInputService {
metaParams.put("TEL", params.get("constCompanyTel")); // 전화번호 <- 건설현장 입력 시 사용된 전화번호를 넣는다. metaParams.put("TEL", params.get("constCompanyTel")); // 전화번호 <- 건설현장 입력 시 사용된 전화번호를 넣는다.
metaParams.put("PHONE", params.get("constCompanyTel")); // 핸드폰 <- 건설현장 입력 시 사용된 전화번호를 넣는다. metaParams.put("PHONE", params.get("constCompanyTel")); // 핸드폰 <- 건설현장 입력 시 사용된 전화번호를 넣는다.
metaParams.put("SEARCHDATE", null); // 시추 날짜 metaParams.put("SEARCHDATE", ""); // 시추 날짜
metaParams.put("PROJECT_NAME", params.get("constName")); // 사업명 metaParams.put("PROJECT_NAME", params.get("constName")); // 사업명
metaParams.put("HOLE_NUMBER", null); // 총 시추공수 metaParams.put("HOLE_NUMBER", params.get("holeNumber")); // 총 시추공수
metaParams.put("HOLE_ADMIN_NAME", null); // 시추담당자 metaParams.put("HOLE_ADMIN_NAME", ""); // 시추담당자
metaParams.put("HOLE_COMPANY", null); // 시추업체 metaParams.put("HOLE_COMPANY", ""); // 시추업체
metaParams.put("HOLE_SPOT_SD", null); // 시추지역 - 시도 metaParams.put("HOLE_SPOT_SD", ""); // 시추지역 - 시도
metaParams.put("HOLE_SPOT_SGG", null); // 시추지역 - 시군구 metaParams.put("HOLE_SPOT_SGG", ""); // 시추지역 - 시군구
metaParams.put("HOLE_SPOT", null); // 시추지역 - 지역명 metaParams.put("HOLE_SPOT", ""); // 시추지역 - 지역명
metaParams.put("REMARK", null); // 비고 metaParams.put("REMARK", ""); // 비고
metaParams.put("rUrl", ""); metaParams.put("rUrl", "");
// 2. ProjectListController의 insertMeta 호출 // 2. ProjectListController의 insertMeta 호출

View File

@ -65,7 +65,8 @@ public class ProjectListServiceImpl implements ProjectListService {
String oREMARK = sUtil.checkNull(String.valueOf(request.getParameter("REMARK"))); String oREMARK = sUtil.checkNull(String.valueOf(request.getParameter("REMARK")));
String oREPORT_TYPE =sUtil.checkNull(String.valueOf(params.get("REPORT_TYPE"))); String oREPORT_TYPE =sUtil.checkNull(String.valueOf(params.get("REPORT_TYPE")));
String oTEMP_CONSTRUCT_SITE_INFO_CID =sUtil.checkNull(String.valueOf(params.get("TEMP_CONSTRUCT_SITE_INFO-CID"))); // 발주기관에서 생성한 프로젝트 식별 번호. TEMP_CONSTRUCT_SITE_INFO 테이블의 cid 컬럼 값. String oTEMP_CONSTRUCT_SITE_INFO_CID =sUtil.checkNull(String.valueOf(params.get("TEMP_CONSTRUCT_SITE_INFO-CID"))); // 발주기관에서 생성한 프로젝트 식별 번호. TEMP_CONSTRUCT_SITE_INFO 테이블의 cid 컬럼 값.
if("".equals(oPROJECT_CODE)){ // if("".equals(oPROJECT_CODE)){
if(oPROJECT_CODE!= null || "".equals(oPROJECT_CODE)){
HashMap prjCd = new HashMap(); HashMap prjCd = new HashMap();
prjCd = getProjectCd(params); prjCd = getProjectCd(params);
oPROJECT_CODE=(String)prjCd.get("P_CODE")+prjCd.get("P_NUM"); oPROJECT_CODE=(String)prjCd.get("P_CODE")+prjCd.get("P_NUM");
@ -73,35 +74,73 @@ public class ProjectListServiceImpl implements ProjectListService {
params.put("PROJECT_CODE", oPROJECT_CODE); params.put("PROJECT_CODE", oPROJECT_CODE);
// PROJECT_NAME, INPUT_COMPANY, DEPT ADMIN_NAME, EMAIL ==> 이동(아래 >>발주기관이 건설사 계정<< if else 블록으로 이동)
// params.put("PROJECT_NAME", oPROJECT_NAME);
// params.put("INPUT_COMPANY", oINPUT_COMPANY);
// params.put("DEPT", oDEPT);
// params.put("ADMIN_NAME", oADMIN_NAME);
// params.put("EMAIL", oEMAIL);
params.put("TEL", oTEL);
params.put("PHONE", oPHONE);
params.put("SEARCHDATE", oSEARCHDATE);
params.put("INPUTDATE", oINPUTDATE);
params.put("HOLE_NUMBER", oHOLE_NUMBER);
// params.put("HOLE_ADMIN_NAME", oHOLE_ADMIN_NAME); (아래 >>발주기관이 건설사 계정<< if else 블록으로 이동)
// params.put("HOLE_COMPANY", oHOLE_COMPANY); (아래 >>발주기관이 건설사 계정<< if else 블록으로 이동)
params.put("HOLE_TYPE", oHOLE_TYPE);
params.put("HOLE_SPOT_SD", oHOLE_SPOT_SD);
params.put("HOLE_SPOT_SGG", oHOLE_SPOT_SGG);
// params.put("HOLE_SPOT", oHOLE_SPOT); (아래 >>발주기관이 건설사 계정<< if else 블록으로 이동)
// params.put("REMARK", oREMARK); (아래 >>발주기관이 건설사 계정<< if else 블록으로 이동)
params.put("REPORT_TYPE", oREPORT_TYPE);
params.put("MODUSERID",request.getSession().getAttribute("USERID"));
//System.out.println("!!!!!!!!!!!params!!!!!!!!!!!!!!!+"+oPROJECT_NAME);
if (params.get("constUserId") != null && !"".equals(params.get("constUserId"))) {
// 발주기관이 건설사 계정을 지정한 경우 건설사명, 부서, 담당자명, 이메일, 프로젝트명을 파라미터에서 넘어온 값으로 셋팅한다.
String INPUT_COMPANY = params.get("INPUT_COMPANY") != null ? (String)params.get("INPUT_COMPANY") : "";
String DEPT = params.get("DEPT") != null ? (String)params.get("DEPT") : "";
String ADMIN_NAME = params.get("ADMIN_NAME") != null ? (String)params.get("ADMIN_NAME") : "";
String EMAIL = params.get("EMAIL") != null ? (String)params.get("EMAIL") : "";
String PROJECT_NAME = params.get("PROJECT_NAME") != null ? (String)params.get("PROJECT_NAME") : "";
String HOLE_ADMIN_NAME = params.get("HOLE_ADMIN_NAME") != null ? (String)params.get("HOLE_ADMIN_NAME") : "";
String HOLE_COMPANY = params.get("HOLE_COMPANY") != null ? (String)params.get("HOLE_COMPANY") : "";
String HOLE_SPOT = params.get("HOLE_SPOT") != null ? (String)params.get("HOLE_SPOT") : "";
String REMARK = params.get("REMARK") != null ? (String)params.get("REMARK") : "";
params.put("USERID",params.get("constUserId"));
params.put("INPUT_COMPANY",INPUT_COMPANY);
params.put("DEPT",DEPT);
params.put("ADMIN_NAME",ADMIN_NAME);
params.put("EMAIL",EMAIL);
params.put("PROJECT_NAME",PROJECT_NAME);
params.put("HOLE_ADMIN_NAME", HOLE_ADMIN_NAME);
params.put("HOLE_COMPANY", HOLE_COMPANY);
params.put("HOLE_SPOT", HOLE_SPOT);
params.put("REMARK", REMARK);
} else {
params.put("USERID",request.getSession().getAttribute("USERID"));
params.put("PROJECT_NAME", oPROJECT_NAME); params.put("PROJECT_NAME", oPROJECT_NAME);
params.put("INPUT_COMPANY", oINPUT_COMPANY); params.put("INPUT_COMPANY", oINPUT_COMPANY);
params.put("DEPT", oDEPT); params.put("DEPT", oDEPT);
params.put("ADMIN_NAME", oADMIN_NAME); params.put("ADMIN_NAME", oADMIN_NAME);
params.put("EMAIL", oEMAIL); params.put("EMAIL", oEMAIL);
params.put("TEL", oTEL); params.put("TEL", oTEL);
params.put("PHONE", oPHONE);
params.put("SEARCHDATE", oSEARCHDATE);
params.put("INPUTDATE", oINPUTDATE);
params.put("HOLE_NUMBER", oHOLE_NUMBER);
params.put("HOLE_ADMIN_NAME", oHOLE_ADMIN_NAME); params.put("HOLE_ADMIN_NAME", oHOLE_ADMIN_NAME);
params.put("HOLE_COMPANY", oHOLE_COMPANY); params.put("HOLE_COMPANY", oHOLE_COMPANY);
params.put("HOLE_TYPE", oHOLE_TYPE);
params.put("HOLE_SPOT_SD", oHOLE_SPOT_SD);
params.put("HOLE_SPOT_SGG", oHOLE_SPOT_SGG);
params.put("HOLE_SPOT", oHOLE_SPOT); params.put("HOLE_SPOT", oHOLE_SPOT);
params.put("REMARK", oREMARK); params.put("REMARK", oREMARK);
params.put("REPORT_TYPE", oREPORT_TYPE); params.put("PROJECT_WORK_COMPANY", oHOLE_COMPANY);
params.put("USERID",request.getSession().getAttribute("USERID")); params.put("PROJECT_START_SPOT", oHOLE_SPOT);
params.put("MODUSERID",request.getSession().getAttribute("USERID")); }
//System.out.println("!!!!!!!!!!!params!!!!!!!!!!!!!!!+"+oPROJECT_NAME);
//TEMP_PROJECT_INFO //TEMP_PROJECT_INFO
params.put("PROJECT_START_SPOT_SD", oHOLE_SPOT_SD); params.put("PROJECT_START_SPOT_SD", oHOLE_SPOT_SD);
params.put("PROJECT_START_SPOT_SGG", oHOLE_SPOT_SGG); params.put("PROJECT_START_SPOT_SGG", oHOLE_SPOT_SGG);
params.put("PROJECT_START_SPOT", oHOLE_SPOT); // params.put("PROJECT_START_SPOT", oHOLE_SPOT); (상단 >>발주기관이 건설사 계정<< if else 블록으로 이동)
params.put("PROJECT_END_SPOT_SD", oHOLE_SPOT_SD); params.put("PROJECT_END_SPOT_SD", oHOLE_SPOT_SD);
params.put("PROJECT_END_SPOT_SGG", oHOLE_SPOT_SGG); params.put("PROJECT_END_SPOT_SGG", oHOLE_SPOT_SGG);
params.put("PROJECT_WORK_COMPANY", oHOLE_COMPANY); // params.put("PROJECT_WORK_COMPANY", oHOLE_COMPANY); (상단 >>발주기관이 건설사 계정<< if else 블록으로 이동)
params.put("PROJECT_HOLE_NUMBER", oHOLE_NUMBER); params.put("PROJECT_HOLE_NUMBER", oHOLE_NUMBER);
params.put("STATE", "4"); params.put("STATE", "4");
params.put("REPORT_TYPE", "CH"); params.put("REPORT_TYPE", "CH");