This commit is contained in:
myname 2024-12-04 17:47:26 +09:00
commit b5993e9942
14 changed files with 619 additions and 608 deletions

View File

@ -299,6 +299,10 @@ public class BaseController {
params.put("sql", pageFolder+".selectCaseTrublResult");
params.put("selectCaseTrublResult", JSPUtil.fixNull(bservice.list(params)));
}
//사건 승인권한 조회
params.put("sql", pageFolder+".selectCaseAuth");
params.put("selectCaseAuthData", JSPUtil.fixNull(bservice.list(params)));
}

View File

@ -1,5 +1,6 @@
package seed.com.gtm.cases;
import java.util.HashMap;
import java.util.Map;
import javax.servlet.http.HttpServletRequest;
@ -8,6 +9,8 @@ import javax.servlet.http.HttpSession;
import org.apache.ibatis.logging.Log;
import org.apache.ibatis.logging.LogFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.http.HttpStatus;
import org.springframework.http.ResponseEntity;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestMapping;
@ -19,6 +22,8 @@ import seed.com.gtm.seedfile.SeedFileService;
import seed.com.gtm.service.BaseService;
import seed.com.gtm.util.JSONView;
import seed.com.gtm.util.JSPUtil;
import seed.com.user.mypage.CaseAuthService;
import seed.com.user.mypage.CaseAuthVO;
@Controller
@ -34,6 +39,9 @@ public class CaseController {
@Autowired
private SeedFileService fileService;
@Autowired
private CaseAuthService caseAuthService;
/**
* 접수 -> 사건 이관
* @param request
@ -95,4 +103,27 @@ public class CaseController {
return new ModelAndView("redirect:/uat/uia/EgovLoginUsr.do");
}
/**
* 사용자 사건권한 승인 변경 처리
* @param request
* @param session
* @param map
* @return
* @throws Exception
*/
@RequestMapping(value="/gtm/case/updateCaseAuthAjax.do")
public ResponseEntity<?> updateCaseAuthAjax(HttpServletRequest request, HttpSession session, CaseAuthVO caseAuthVO) throws Exception{
Map<String, String> returnData = new HashMap<String, String>();
try {
caseAuthService.updateCaseAuth(caseAuthVO);
returnData.put("result", "success");
returnData.put("msg", "변경되었습니다.");
}catch(Exception e) {
returnData.put("result", "faile");
returnData.put("msg", "실패하였습니다.");
}
return new ResponseEntity<>(returnData, HttpStatus.OK);
}
}

View File

@ -23,7 +23,11 @@ import org.springframework.web.servlet.ModelAndView;
import com.ibm.icu.text.SimpleDateFormat;
import kcc.let.uat.uia.service.CertService;
import kcc.let.uat.uia.service.CertVO;
import seed.com.gtm.seedfile.SeedFileService;
import seed.com.user.mypage.CaseAuthService;
import seed.com.user.mypage.CaseAuthVO;
import seed.com.user.mypage.MyPageService;
import seed.common.service.InnorixFileService;
import seed.manager.group.service.ManagerGroupService;
@ -71,6 +75,12 @@ public class WebMediationController {
@Autowired
private SeedFileService fileService;
@Autowired
private CaseAuthService caseAuthService;
@Autowired
private CertService certService;
@Value("#{config['member.merge']}")
private String memberMerge;
@ -2889,6 +2899,7 @@ public class WebMediationController {
map.put("rceptNo", paramMap.get("rceptNo"));
map.put("applcntCompany", paramMap.get("applcntCompany"));
map.put("hpCi1", session.getAttribute("hpCi1"));
paramMap.put("hpName", session.getAttribute("certNm"));
//접수마스터 INSERT
service.rceptmstInsert(paramMap);
@ -2936,6 +2947,22 @@ public class WebMediationController {
service.rceInsert(paramMap);
paramMap.put("sts", "success");
//접수 처리 사건권한 테이블 insert
CaseAuthVO caseAuthVO = new CaseAuthVO();
//rceptNo구하기
caseAuthVO.setRceptNo(SeedUtils.setReplaceNull(paramMap.get("rceptNo")));
//certId 구하기
CertVO certVO = certService.selectCert(FairnetUtils.getCertSession(request));
caseAuthVO.setCertId(certVO.getCertId());
//등록자 승인 완료 설정
caseAuthVO.setCaseAuthType("REG");
caseAuthVO.setCaseAuthYn("Y");
caseAuthService.insertCaseAuth(caseAuthVO);
}catch (Exception e) {
log.error("CHECK ERROR:",e);
paramMap.put("sts", "fail");

View File

@ -7,4 +7,6 @@ public interface CaseAuthService {
public List<CaseAuthVO> selectCaseAuthList(CaseAuthVO caseAuthVO) throws Exception;
public void insertCaseAuth(CaseAuthVO caseAuthVO) throws Exception;
public CaseAuthVO selectRceptNo(CaseAuthVO caseAuthVO) throws Exception;
public CaseAuthVO selectCaseAuthExist(CaseAuthVO caseAuthVO) throws Exception;
public void updateCaseAuth(CaseAuthVO caseAuthVO) throws Exception;
}

View File

@ -461,6 +461,15 @@ private Logger log = Logger.getLogger(this.getClass());
ex.printStackTrace();
}
//사건권한 설정
try {
CertVO certVO = certService.selectCert(FairnetUtils.getCertSession(req));
paramMap.put("certName", certVO.getName());
paramMap.put("certPhone", certVO.getPhone());
}catch(Exception ex) {
ex.printStackTrace();
}
//페이지용 추가 2
try {
PageMaker pageMaker = new PageMaker();
@ -634,6 +643,23 @@ private Logger log = Logger.getLogger(this.getClass());
map.put("selectSubcntrsttus", service.selectSubcntrsttus(paramMap));//하도급대급 내역 리스
map.put("selectSubcntrsttusTot", service.selectSubcntrsttusTot(paramMap));//하도급 소계 그룹바이
map.put("caseFileList", fileService.caseFileList(paramMap));//파일 리스트
map.put("mediType", paramMap.get("mediType"));//구분
//사건권한 조회하기
try {
CertVO certVO = certService.selectCert(FairnetUtils.getCertSession(req));
if(certVO != null) {
CaseAuthVO caseAuthVO = new CaseAuthVO();
caseAuthVO.setCertId(certVO.getCertId());
caseAuthVO.setRceptNo(SeedUtils.setReplaceNull(paramMap.get("rceptNo")));
caseAuthVO = caseAuthService.selectCaseAuthExist(caseAuthVO);
map.put("caseAuthVO", caseAuthVO);//구분
}
}catch(Exception e) {
e.printStackTrace();
}
return new ModelAndView("/_extra/web/user/myPage/myMediationView");
}
@ -1063,11 +1089,11 @@ private Logger log = Logger.getLogger(this.getClass());
List<Map<String,Object>> applCnt = mediationService.selectCaseApplcnt(paramMap);
List<Map<String,Object>> respondentCnt = mediationService.selectCaseRespondent(paramMap);
if((applCnt == null || applCnt.size() == 0) && (respondentCnt == null || respondentCnt.size() == 0)){
/*if((applCnt == null || applCnt.size() == 0) && (respondentCnt == null || respondentCnt.size() == 0)){
result.put("stauts", "fail");
result.put("msg", "해당 조정 사건이 존재하지 않습니다.");
return new ResponseEntity<>(result, HttpStatus.OK);
}
}*/
String caseAuthType = "";
@ -1092,12 +1118,12 @@ private Logger log = Logger.getLogger(this.getClass());
}
}
if(status == false) {
/*if(status == false) {
result.put("status", "fail");
result.put("msg", "비밀번호가 일치 하지 않습니다.");
return new ResponseEntity<>(result, HttpStatus.OK);
}
}*/
try {
CaseAuthVO caseAuthVO = new CaseAuthVO();
@ -1128,6 +1154,34 @@ private Logger log = Logger.getLogger(this.getClass());
return new ResponseEntity<>(result, HttpStatus.OK);
}
@RequestMapping("/web/user/mypage/{siteIdx}/01/{siteMenuIdx}/delReq.do")
public ModelAndView delReq(ModelMap map, HttpServletRequest request, HttpSession session,@RequestParam Map<String,Object> paramMap,
@PathVariable(value="siteIdx") String siteIdx,
@PathVariable(value="siteMenuIdx") Integer siteMenuIdx){
if(SeedUtils.setReplaceNull(session.getAttribute("certName")).equals("")){
map.put("siteIdx", "case");
map.put("url", "/web/user/mypage/case/01/168/myCheck.do");
map.put("message", "common.message.my.check");
map.put("opener", "");
map.put("append", "");
map.put("self", "");
return new ModelAndView("/_common/jsp/umessage");
}
service.delReq(paramMap);
map.put("siteIdx", "case");
map.put("url", "/user/mypage/case/01/169/myMediationList.do");
map.put("message", "user.message.mod");
map.put("opener", "");
map.put("append", "");
map.put("self", "");
return new ModelAndView("/_common/jsp/umessage");
}
private Boolean ciCheck(ModelMap map, HttpSession session) {
String certNm = SeedUtils.setReplaceNull(session.getAttribute("certNm"));
String certHpNo = SeedUtils.setReplaceNull(session.getAttribute("certHpNo"));

View File

@ -19,4 +19,10 @@ public class CaseAuthDAO extends EgovAbstractDAO {
public CaseAuthVO selectRceptNo(CaseAuthVO caseAuthVO) throws Exception{
return (CaseAuthVO) select("caseAuthDAO.selectRceptNo", caseAuthVO);
}
public CaseAuthVO selectCaseAuthExist(CaseAuthVO caseAuthVO) throws Exception{
return (CaseAuthVO) select("caseAuthDAO.selectCaseAuthExist", caseAuthVO);
}
public void updateCaseAuth(CaseAuthVO caseAuthVO) throws Exception {
update("caseAuthDAO.updateCaseAuth", caseAuthVO);
}
}

View File

@ -34,5 +34,13 @@ public class CaseAuthServiceImpl extends EgovAbstractServiceImpl implements Case
public CaseAuthVO selectRceptNo(CaseAuthVO caseAuthVO) throws Exception{
return caseAuthDAO.selectRceptNo(caseAuthVO);
}
@Override
public CaseAuthVO selectCaseAuthExist(CaseAuthVO caseAuthVO) throws Exception{
return caseAuthDAO.selectCaseAuthExist(caseAuthVO);
}
@Override
public void updateCaseAuth(CaseAuthVO caseAuthVO) throws Exception {
caseAuthDAO.updateCaseAuth(caseAuthVO);
}
}

View File

@ -61,13 +61,18 @@
)AS RES_CNT,
REQUEST_CHECK
FROM C_RCEPTMST CR
WHERE 1=1
<choose>
<when test="hpDi == null">AND APPLCNT_DI IS NULL</when>
<otherwise>AND APPLCNT_DI = #{hpDi}</otherwise>
</choose>
WHERE ( RCEPT_NO IN (
SELECT UCA.RCEPT_NO
FROM UNP_CASE_AUTH UCA
JOIN UNP_CERT UC
ON UCA.CERT_ID = UC.CERT_ID
WHERE UCA.RCEPT_NO = RCEPT_NO
AND UC.CERT_NAME = #{certName}
AND UC.CERT_PHONE = #{certPhone}
AND UCA.CASE_AUTH_YN = 'Y'
)
<if test="hpDi != null"> OR APPLCNT_DI = #{hpDi}</if>
)
AND DEL_GUBUN = 'N'
<choose>
<when test="command == 'temp'">AND REQUEST_CHECK = '1601000000'</when>
@ -83,14 +88,19 @@
/* mypage.selectCnt */
SELECT COUNT(*)
FROM C_RCEPTMST
WHERE 1=1
<choose>
<when test="hpDi == null">AND APPLCNT_DI IS NULL</when>
<otherwise>AND APPLCNT_DI = #{hpDi}</otherwise>
</choose>
WHERE (
RCEPT_NO IN (
SELECT UCA.RCEPT_NO
FROM UNP_CASE_AUTH UCA
JOIN UNP_CERT UC
ON UCA.CERT_ID = UC.CERT_ID
WHERE UCA.RCEPT_NO = RCEPT_NO
AND UC.CERT_NAME = #{certName}
AND UC.CERT_PHONE = #{certPhone}
AND UCA.CASE_AUTH_YN = 'Y'
)
<if test="hpDi != null"> OR APPLCNT_DI = #{hpDi}</if>
)
AND DEL_GUBUN = 'N'
<choose>
<when test="command == 'temp'">AND REQUEST_CHECK = '1601000000'</when>
@ -121,7 +131,9 @@
CASE_REASON1,
CASE_REASON2,
CASE_REASON3,
CONSIGNMENT_GUBUN
(SELECT CODE_NAME FROM C_CODE WHERE CODE_IDXS = CR.CONSIGNMENT_GUBUN) AS CONSIGNMENT_GUBUN_NAME,
CONSIGNMENT_GUBUN,
DEL_GUBUN
FROM C_RCEPTMST CR
WHERE RCEPT_NO = #{rceptNo}
</select>

View File

@ -2202,4 +2202,28 @@
SET REPORT_PAYMENT_DT = REPLACE(#{reportPaymentDt},'-','')
WHERE CASE_NO = #{caseNo}
</update>
<!--사건 승인권한 조회 -->
<select id="selectCaseAuth" parameterType="egovMap" resultType="egovMap">
SELECT UCA.CASE_AUTH_ID,
UCA.RCEPT_NO,
UCA.CERT_ID,
UCA.CASE_AUTH_TYPE,
CASE
WHEN UCA.CASE_AUTH_TYPE = 'REG' THEN '등록인'
WHEN UCA.CASE_AUTH_TYPE = 'APP' THEN '신청인'
WHEN UCA.CASE_AUTH_TYPE = 'RES' THEN '피신청인'
ELSE ''
END AS CASE_AUTH_TYPE_NAME,
UCA.CASE_AUTH_YN,
UCA.FRST_REGIST_PNTTM,
UCA.LAST_UPDT_PNTTM,
UC.CERT_NAME,
UC.CERT_PHONE
FROM UNP_CASE_AUTH UCA
LEFT JOIN UNP_CERT UC
ON UCA.CERT_ID = UC.CERT_ID
WHERE RCEPT_NO = #{rceptNo}
ORDER BY CASE_AUTH_ID
</select>
</mapper>

View File

@ -68,4 +68,34 @@
</select>
<select id="caseAuthDAO.selectCaseAuthExist" parameterClass="caseAuthVO" resultClass="caseAuthVO">
SELECT
A.CASE_AUTH_ID as caseAuthId,
A.RCEPT_NO as rceptNo,
A.CERT_ID as certId,
A.CASE_AUTH_TYPE as caseAuthType,
A.CASE_AUTH_YN as caseAuthYn,
A.FRST_REGIST_PNTTM as frstRegistPnttm,
A.LAST_UPDT_PNTTM as lastUpdtPnttm
FROM
UNP_CASE_AUTH A
WHERE
A.CERT_ID = #certId#
AND
A.RCEPT_NO = #rceptNo#
</select>
<update id="caseAuthDAO.updateCaseAuth" parameterClass="caseAuthVO">
UPDATE
UNP_CASE_AUTH
SET
CASE_AUTH_YN = #caseAuthYn#,
LAST_UPDT_PNTTM = SYSDATE
WHERE
CASE_AUTH_ID = #caseAuthId#
</update>
</sqlMap>

View File

@ -65,7 +65,7 @@
<div class="tab_contents active">
<div class="table_top">
<p class="list_total_number">전체 <span class="color_blue">3</span>건 (<span class="color_blue">1</span>/1페이지)</p>
<p class="list_total_number">전체 <span class="color_blue"><c:out value='${pageMaker.totalCount}'/></span>건 (<span class="color_blue">1</span>/1페이지)</p>
<button type="button" class="btn btn_text btn_35 orange_border" onclick="mediationPop();">사건조회</button>
</div>
@ -132,44 +132,6 @@
</div>
<div class="tab_contents">
<div class="table_top">
<p class="list_total_number">전체 <span class="color_blue">3</span>건 (<span class="color_blue">1</span>/1페이지)</p>
</div>
<div class="table_type_cols">
<table>
<colgroup>
<col style="width:120px;">
<col style="width:auto;">
<col style="width:20%;">
<col style="width:20%;">
<col style="width:20%;">
</colgroup>
<thead>
<tr>
<th>번호</th>
<th>신청인</th>
<th>조정유형</th>
<th>보관일</th>
<th>수정</th>
</tr>
</thead>
<tbody>
<tr>
<td class="table_number">3</td>
<td class="td_person"><i class="icon hide td_icon td_person"></i>홍길동</td>
<td class="td_type"><i class="icon hide td_icon td_type"></i>공정거래</td>
<td class="td_hide">2024-08-20</td>
<td class="td_title"><button type="button" class="btn btn btn_35 darkblue_border btn_edit">수정하기</button></td>
</tr>
</tbody>
</table>
</div>
</div>
</div>

View File

@ -67,7 +67,7 @@
<div class="tab_contents active">
<div class="table_top">
<p class="list_total_number">전체 <span class="color_blue">3</span>건 (<span class="color_blue">1</span>/1페이지)</p>
<p class="list_total_number">전체 <span class="color_blue"><c:out value='${pageMaker.totalCount}'/></span>건 (<span class="color_blue">1</span>/1페이지)</p>
<button type="button" class="btn btn_text btn_35 orange_border">사건조회</button>
</div>
@ -130,7 +130,7 @@
<div class="tab_contents">
<div class="table_top">
<p class="list_total_number">전체 <span class="color_blue">3</span>건 (<span class="color_blue">1</span>/1페이지)</p>
<p class="list_total_number">전체 <span class="color_blue"><c:out value='${pageMaker.totalCount}'/></span>/span>건 (<span class="color_blue">1</span>/1페이지)</p>
</div>
<div class="table_type_cols">

View File

@ -4073,6 +4073,27 @@ function nanumProcessStartTmp(){
}
function authChg(caseAuthId, authYn){
$("#caseAuthId").val(caseAuthId)
$("#caseAuthYn").val(authYn)
$.ajax({
url : '/gtm/case/updateCaseAuthAjax.do',
type : 'POST',
processData: false,
contentType: false,
data: new FormData(document.caseAuthForm),
success: function(response) {
alert(response.msg);
if(response.result == 'success'){
location.reload();
}
},
error: function(error) {
alert("error");
}
})
}
</script>
<form:form name="clipFrm" id="clipFrm" action="" method="post">
@ -8784,20 +8805,27 @@ function nanumProcessStartTmp(){
</tr>
</thead>
<tbody>
<tr>
<td>1</td>
<td>사용자1</td>
<td>010-0000-0000</td>
<td class="color_blue fw_bold">승인완료</td>
<td><button type="button" class="btn-change-state btn btn_text btn_30 subgray_border" style="width:100px;">승인취소</button></td>
</tr>
<tr>
<td>2</td>
<td>사용자2</td>
<td>010-1111-1111</td>
<td class="color_333 fw_bold">승인요청</td>
<td><button type="button" class="btn-change-state btn btn_text btn_30 blue_border" style="width:100px;">승인처리</button></td>
</tr>
<c:forEach items="${selectCaseAuthData}" var="data" varStatus="status">
<tr>
<td>${status.count}</td>
<td>${data.certName}</td>
<td>${data.certPhone}</td>
<c:if test="${data.caseAuthYn eq 'Y'}">
<td class="color_blue fw_bold">승인완료</td>
</c:if>
<c:if test="${data.caseAuthYn ne 'Y'}">
<td class="color_333 fw_bold">승인요청</td>
</c:if>
<td>
<c:if test="${data.caseAuthYn eq 'Y'}">
<button type="button" onclick="authChg('<c:out value="${data.caseAuthId}"/>', 'N')" class="btn-change-state btn btn_text btn_30 subgray_border" style="width:100px;">승인취소</button>
</c:if>
<c:if test="${data.caseAuthYn ne 'Y'}">
<button type="button" onclick="authChg('<c:out value="${data.caseAuthId}"/>', 'Y')" class="btn-change-state btn btn_text btn_30 blue_border" style="width:100px;">승인처리</button>
</c:if>
</td>
</tr>
</c:forEach>
</tbody>
</table>
</div>
@ -9100,3 +9128,9 @@ function nanumProcessStartTmp(){
</form>
<!-- 나눔폼 끝 -->
<!-- 사건권한 폼 -->
<form name="caseAuthForm" id="caseAuthForm" action="" method="post">
<input type="hidden" id="caseAuthId" name="caseAuthId" value=""/>
<input type="hidden" id="caseAuthYn" name="caseAuthYn" value=""/>
</form>
<!-- 사건권한 끝 -->