2024-11-20 18:19 gw 수동 연동 처리

This commit is contained in:
myname 2024-11-20 18:20:03 +09:00
parent 25bf900b69
commit 6120143e26
4 changed files with 283 additions and 32 deletions

View File

@ -84,13 +84,6 @@ public class GwBaseController {
//String customsql = "";
String s_jobID = "";
try {
s_jobID = params.get("jobID").toString();
}catch(Exception ex) {
ex.printStackTrace();
}
if(!"".equals((String) params.get("type")) && (String) params.get("type") != null){
type = (String) params.get("type");
}else{
@ -108,6 +101,12 @@ public class GwBaseController {
if ("SanctnhistoryInsNew".equals(pageAction)) { //gw 보고서 팝업 띄우기
try {
s_jobID = params.get("jobID").toString();
}catch(Exception ex) {
ex.printStackTrace();
}
if("S".equals(type)){ //작성용
//SanctnhistoryInsNew - pageAction
//ajax - pageName
@ -149,7 +148,26 @@ public class GwBaseController {
}
}
}else if ("nanumHisDelSelTmp".equals(pageAction)) { //삭제대상 보고서 리스트 가져오기
}else if ("nanumMasterProcessChg".equals(pageAction)) { //사건 상태 수동 변경 - 임시
String s_caseNo = params.get("caseNo").toString();
String s_statePro = params.get("statePro").toString();
if(!"0406000000".equals(s_statePro)){ //중지는 여기에서 처리하지 않고, 나머지는 처리한다.
//mav.addObject("data", bservice.list(params));
params.put("sql", "nanumMasterProcessChg"); //사건 정보
params.put("data", JSPUtil.fixNull(bservice.list(params)));
params.put("resultCode", "SUCCESS");
params.put("resultMessage", "성공하였습니다");
}else {
params.put("resultCode", "FAIL");
params.put("resultMessage", "실패하였습니다");
}
}else if ("nanumHisDelSelTmp".equals(pageAction)) { //삭제대상 보고서 리스트 가져오기 - 임시
if("L".equals(type)){ //리스트 정보
//mav.addObject("data", bservice.list(params));
@ -160,8 +178,19 @@ public class GwBaseController {
}
}else if ("nanumHisDelSelProTmp".equals(pageAction)) { //사건의 진행상태 수동 변경용 대상 리스트 - 임시
}else if ("RetrunHisDelTmp".equals(pageAction)) { //삭제 호출
if("L".equals(type)){ //리스트 정보
//mav.addObject("data", bservice.list(params));
params.put("codeIdxs", "0400000000"); //사건진행상태
params.put("sql", "commonCaseGubunAll"); //사건 정보
params.put("data", JSPUtil.fixNull(bservice.list(params)));
System.out.println("22222222222222222222222222222222222lllllllllllllllllllllllllllllllllllllll");
}
}else if ("RetrunHisDelTmp".equals(pageAction)) { //삭제 호출 - 임시
if("D".equals(type)){
//mav.addObject("data", bservice.delete(params));
@ -203,6 +232,8 @@ public class GwBaseController {
//Map<String, Object> map,
@RequestParam Map<String, Object> map){
String v_ret = "0";
System.out.println("request.getParameter(\"approKey\")="+request.getParameter("approKey"));
System.out.println("request.getParameter(\"docId\")="+request.getParameter("docId"));
@ -303,7 +334,7 @@ public class GwBaseController {
}
this.nanumOld(params);
v_ret = this.nanumOld(params, p_caseNo);
System.out.println(p_approKey);
System.out.println(p_docId);
@ -312,8 +343,15 @@ public class GwBaseController {
}else { //자동으로 g/w에서 전달된 데이터 처리
String[] s_Arr = params.get("approKey").toString().split("_");
params.put("caseNo", s_Arr[0]); //사건 정보
params.put("docId", s_Arr[1]); //문서 정보
try {
params.put("caseNo", s_Arr[0]); //사건 정보
params.put("docId", s_Arr[1]); //문서 정보
}catch(Exception ex) {
ex.printStackTrace();
}
//params.put("result", p_docSts); //결과값
if ("DP".equals(p_docSts)) { //자동 전달의 삭제코드 확인 필요 - returned
@ -345,13 +383,23 @@ public class GwBaseController {
}
this.nanumOld(params);
v_ret = this.nanumOld(params, p_caseNo);
}
GwApi testApi = new GwApi();
testApi.setResultCode("SUCCESS");
testApi.setResultMessage("성공하였습니다");
if ("1".equals(v_ret)) { //처리 실패한 경우
testApi.setResultCode("FAIL");
testApi.setResultMessage("실패하였습니다");
testApi.setResultCode("SUCCESS");
testApi.setResultMessage("성공하였습니다");
}else {
testApi.setResultCode("SUCCESS");
testApi.setResultMessage("성공하였습니다");
}
return testApi;
@ -450,7 +498,7 @@ public class GwBaseController {
return v_ret;
}
private String nanumOld(EgovMap params) {
private String nanumOld(EgovMap params, String p_caseNo) { //manu
String v_ret = "0";
try {
@ -631,8 +679,29 @@ public class GwBaseController {
bservice.insert(params);
}
}else if("returned".equals(params.get("status"))){
params.put("sql", "nanumSanctnhistorySel");
params.put("data", JSPUtil.fixNull(bservice.select(params)));
if ("manu".equals(p_caseNo)) {
//수동 삭제인 경우 모두 삭제
params.put("sql", "nanumSanctnhistorySel");
params.put("data", JSPUtil.fixNull(bservice.select(params)));
}else {
//자동 삭제인경우 processed가 없으면
params.put("sql", "nanumSanctnhistorySelTmp");
params.put("data", JSPUtil.fixNull(bservice.select(params)));
EgovMap emap = new EgovMap();
emap = (EgovMap) params.get("data");
if (Integer.parseInt(emap.get("cnt").toString())<=0) {
params.put("sql", "nanumSanctnhistorySel");
params.put("data", JSPUtil.fixNull(bservice.select(params)));
}else {
v_ret = "1";
}
}
EgovMap emap = new EgovMap();
emap = (EgovMap) params.get("data");
@ -645,8 +714,6 @@ public class GwBaseController {
}
}
v_ret = "0";
}catch(Exception ex) {
ex.printStackTrace();
}

View File

@ -16,6 +16,24 @@
)
WHERE RNUM > #{pageStart} AND #{perPageNum} >= ROWNUM
</sql>
<!-- 조정유형 combobox -->
<select id="commonCaseGubunAll" parameterType="egovMap" resultType="egovMap">
/* commonCaseGubunAll */
SELECT CODE_IDX
, code_name
, code_idxs
, CODE_PARENT_IDX
, CODE_ORDER
, CODE_STATUS
, CODE_DEPTH
FROM c_code
WHERE CODE_PARENT_IDX =#{codeIdxs}
AND CODE_STATUS = 'U'
ORDER BY CODE_ORDER
</select>
<!-- 조정유형 combobox -->
<select id="commonCaseGubun" parameterType="egovMap" resultType="egovMap">
@ -562,6 +580,27 @@
A.CASE_NO = #{caseNo}
ORDER BY A.SEQ_NO DESC
</select>
<!-- 최종 기안문 불러오기 -->
<select id="commonnanumHisDelSelProTmp" parameterType="egovMap" resultType="egovMap">
SELECT
A.CASE_NO,
A.DOC_ID,
A.CODE_NO,
A.SEQ_NO,
A.RESULT,
A.REG_DT,
(SELECT C.CODE_NAME FROM C_CODE C WHERE C.CODE_IDXS = A.CODE_NO) AS DOC_NAME,
(SELECT C.CODE_DC FROM C_CODE C WHERE C.CODE_IDXS = A.CODE_NO) AS ORGIN_NAME,
(SELECT C.CODE_IDX5 FROM C_CODE C WHERE C.CODE_IDXS = A.CODE_NO) AS DOC_NO,
(SELECT C.CODE_ORDER FROM C_CODE C WHERE C.CODE_IDXS = A.CODE_NO) AS CODE_ORDER
FROM
C_SANCTNHISTORY A
WHERE
A.CASE_NO = #{caseNo}
ORDER BY A.SEQ_NO DESC
</select>
<!-- 분쟁유형상세 combobox -->
<select id="commonTroubleTypeDetail" parameterType="egovMap" resultType="egovMap">
SELECT

View File

@ -804,6 +804,20 @@
WHERE DOC_ID = #{docID}
ORDER BY SEQ_NO ASC)
WHERE ROWNUM = 1
</select>
<select id="nanumSanctnhistorySelTmp" parameterType="egovMap" resultType="egovMap">
SELECT
COUNT(*) as CNT
FROM C_SANCTNHISTORY A
, C_SANCTNHISTORY B
WHERE A.DOC_ID = #{docID}
AND A.CASE_NO=B.CASE_NO
AND A.CODE_NO=B.CODE_NO
AND B.result='processed'
</select>
<!-- 분쟁사건 처리관리 접수에서 통지로 변경 -->
@ -1201,4 +1215,10 @@
, MEDIATION_BIG = ''
WHERE CASE_NO = #{caseNo}
</update>
<update id="nanumMasterProcessChg" parameterType="egovMap">
UPDATE C_MASTER SET
STATE_PRO = #{statePro}
WHERE CASE_NO = #{caseNo}
</update>
</mapper>

View File

@ -55,10 +55,15 @@ $(document).ready(function(){
nanumHisDelSel();
}
//결재 내용 연동 처리를 위한 임시 리스트 - callback 작동하면 주석처리 하애한다.
//결재 내용 연동 처리를 위한 임시 리스트 - callback 작동하면 주석처리 하애한다.
if($("#nanumHisDelSelTmp") != undefined){
nanumHisDelSelTmp();
}
//결재 내용 연동 처리를 위한 임시 리스트 - callback 작동하면 주석처리 하애한다.
if($("#nanumHisDelSelProTmp") != undefined){
nanumHisDelSelProTmp();
}
selectFunc();
@ -2473,6 +2478,25 @@ function mediationSmall(){
});
}
/* 사건의 진행상태값 수동 변경용 */
function nanumHisDelSelProTmp(){
var url = "";
$("#type").val("L");
var param = jQuery('#frm').serialize();
url = "/gtm/case/ajax/nanumHisDelSelProTmp.do";
XHR2(url, param, function(r){
$.each(r.data, function(k,v) {
if (v.codeDepth == 1){
//$('#nanumHisDelSelProTmp').append('<option value="">'+v.codeName+'('+v.codeIdxs+')</option>');
}else{
$('#nanumHisDelSelProTmp').append('<option value="'+v.codeIdxs+'">'+v.codeName+'('+v.codeIdxs+')</option>');
}
//$('#prveConfirmTmp').append('<option value="'+ v.codeOrder +'" onclick="nanumProcessCall('+ v.codeNo +');">' + v.orginName + '</option>');
});
});
}
function mediationBig(){
var url = "";
$("#type").val("L");
@ -3658,15 +3682,24 @@ function nanumProcessCall(codeNo){
XHR2(url, param, function(r){
/* $("#doc").val(r.data.docId);
$("#docID").val(r.data.docId); */
$("#approKeyTmp").val(r.data.docId);
$("#docIdImsi").val(r.data.docId);
$("#formIdImsi").val('336');
$("#modImsi").val('v'); //작성 고정
$("#compSeq").val('1000');
$("#deptSeq").val('1221');
$("#approKey").val('uni_9999_20221107_2');
$("#outProcessCode").val('st_test1');
$("#empSeq").val('1331');
$("#fileKey").val('Yb27d960f-97f1-41e5-bfdc-9b027e327079&');
$("#mod").val('V');
//$("#approKeyImsi").val(r.data2.docId); //외부시스템 연동키 외부시스템 연동키
$("#loginIdImsi").val('test04'); //그룹웨어로그인아이디
//$("#subjectStrImsi").val(r.title); //그룹웨어로그인아이디
//$("#contentsStrImsi").val(r.contents); //그룹웨어로그인아이디
var f = document.nanumImsiFrm;
f.action = $("#gwCallUrlImsi").val();
f.target = "_blank";
f.submit();
/*
var f = document.nanumFrm;
f.target = "_blank";
if(r.data.resultData == 'NODATA'){
@ -3676,6 +3709,14 @@ function nanumProcessCall(codeNo){
f.action = $("#nanumProcessUrl").val();
}
f.submit();
*/
/*
var f = document.nanumImsiFrm;
f.action = $("#gwCallUrlImsi").val();
f.target = "_blank";
f.submit();
*/
});
}
@ -3720,9 +3761,27 @@ function nanumHisDelTmp(p_type){
var url = "";
//$("#typeNanum").val("D");
$("#typeTmp").val(p_type);
$("#approKeyTmp").val(codeNo);
$("#approKeyTmp").val(codeNo);
if ("D" == p_type && codeNo.includes("undefined")){ //결과값은 받지않은(callback 없는) 삭제는 바로DB에서 제거한다.
//callback을 수동으로 호출한다.
var url = "";
//$("#typeTmp").val(p_type);
//$("#approKeyTmp").val(codeNo);
$("#docIdTmp").val('');
$("#docStsTmp").val(p_type);
$("#caseNoTmp").val('manu');
var param = jQuery('#callbackFrm').serialize();
url = "/web/GwCallback.do";
XHR2(url, param, function(r){ //C_SANCTNHISTORY 에 데이터 생성
//alert("해당 기안문 상태가 변경되었습니다.");
alert(r.resultCode);
location.reload();
});
/*
if ("D" == p_type && codeNo.includes("undefined")){ //결과값은 받지않은(callback 없는) 삭제는 바로DB에서 제거한다. - 일종의 이력삭제임
var param = jQuery('#callbackFrm').serialize();
url = "/gtm/case/ajax/RetrunHisDelTmp.do";
XHR2(url, param, function(r){
@ -3748,8 +3807,54 @@ function nanumHisDelTmp(p_type){
location.reload();
});
}
*/
}
function nanumHisDelProTmp(p_type){
var codeNo = $("#nanumHisDelSelProTmp").val();
//var docId = $("#nanumHisDelSelTmp").val();
alert(codeNo);
if(codeNo == "" || codeNo == undefined){
alert("상태를 변경할 사건진행상태를 선택해 주세요.(임시기능임 callback 이후 삭제)");
return false;
}
if(codeNo == "0406000000"){
alert("중지는 기존 프로세스를 사용해야 합니다.");
return false;
}
if(!confirm("사건 진행 상태를 수동 변경 하시겠습니까? 다시한번 확인해 주세요.(임시기능임 callback 이후 삭제)")){
return false;
}
var url = "";
//$("#typeNanum").val("D");
$("#stateProTmp").val(codeNo);
$("#caseNoTmp").val($("#caseNo").val());
var param = jQuery('#callbackFrm').serialize();
url = "/gtm/case/ajax/nanumMasterProcessChg.do";
XHR2(url, param, function(r){
alert(r.resultMessage);
location.reload();
/*
if (r.resultCode=="SUCCESS"){
alert("해당 사건 상태가 변경되었습니다.");
//alert(r.resultCode);
location.reload();
}else{
alert(r.resultMessage);
}
*/
});
}
function SetPriceInput(str){
str=str.replace(/,/g,'');
var retValue = "";
@ -4234,8 +4339,8 @@ function nanumProcessStartTmp(){
<!-- 접수 -->
<div class="area_left">
<button type="button" class="btn-default btn btn_text btn_36 blue_border" onclick="nanumCall('1', '<c:out value="${masterData.caseNo }"/> 사건착수보고');">착수보고</button>
<button type="button" class="btn-default btn btn_text btn_36 blue_border" onclick="nanumCallImsi('');">임시 착수보고</button>
<button type="button" class="btn-default btn btn_text btn_36 blue_border" onclick="nanumCallImsiView('');">임시 착수보고V</button>
<!-- <button type="button" class="btn-default btn btn_text btn_36 blue_border" onclick="nanumCallImsi('');">임시 착수보고</button> -->
<!-- <button type="button" class="btn-default btn btn_text btn_36 blue_border" onclick="nanumCallImsiView('');">임시 착수보고V</button> -->
<c:if test="${masterData.caseGubun == '0201000000' || masterData.caseGubun == '0202000000' || masterData.caseGubun == '0203000000' || masterData.caseGubun == '0206000000'}">
<c:choose>
@ -4410,6 +4515,23 @@ function nanumProcessStartTmp(){
<div class="btn_wrap">
<div class="area_left" style="flex-wrap:wrap;">
====하기는 GW연동을 대체하는 임시 기능힙니다.====
</div>
<div class="area_right">
====하기는 GW연동을 대체하는 임시 기능힙니다.====
</div>
</div>
<div class="btn_wrap">
<div class="area_left" style="flex-wrap:wrap;">
<select name="nanumHisDelSelProTmp" id="nanumHisDelSelProTmp">
<option value="">사건진행상태</option>
</select>
<button type="button" class="btn-default btn btn_text btn_36 red_border" onclick="nanumHisDelProTmp('');">변경</button>
</div>
<div class="area_right">
<select name="nanumHisDelSelTmp" id="nanumHisDelSelTmp">
@ -8849,6 +8971,7 @@ function nanumProcessStartTmp(){
<input type="hidden" id="deptSeqImsi" name="deptSeq" value=""/>
<input type="hidden" id="approKeyImsi" name="approKey" value=""/>
<input type="hidden" id="docIdImsi" name="docId" value=""/>
<input type="hidden" id="approKeyTmp" name="approKey" value=""/>
<input type="hidden" id="outProcessCodeImsi" name="outProcessCode" value=""/>
<input type="hidden" id="formIdImsi" name="formId" value=""/>
<input type="hidden" id="empSeqImsi" name="empSeq" value=""/>
@ -8872,6 +8995,8 @@ function nanumProcessStartTmp(){
<input type="hidden" id="docIdTmp" name="docId" value=""/>
<input type="hidden" id="docStsTmp" name="docSts" value=""/>
<input type="hidden" id="caseNoTmp" name="caseNo" value=""/>
<input type="hidden" id="stateProTmp" name="statePro" value=""/>
<input type="hidden" id="codeNoTmp" name="codeNo" value=""/>
<input type="hidden" id="typeTmp" name="type" value=""/>
</form>