From 50f9c1e9729a175a32cd038e531e65a3fca2e1c0 Mon Sep 17 00:00:00 2001 From: leebj Date: Thu, 30 Oct 2025 17:02:45 +0900 Subject: [PATCH] =?UTF-8?q?1.=20=EC=9E=84=EB=8C=80=EC=B0=A8=EA=B3=84?= =?UTF-8?q?=EC=95=BD=EC=84=9C=20=EC=88=98=EA=B8=B0=20=EB=93=B1=EB=A1=9D=20?= =?UTF-8?q?api=20=EC=B6=94=EA=B0=80=202.=20=EC=84=B8=EC=99=B8=EC=88=98?= =?UTF-8?q?=EC=9E=85=EC=97=B0=EA=B3=84=ED=8C=8C=EC=9D=BC=20=EA=B2=80?= =?UTF-8?q?=EC=A6=9D=EA=B3=84=20=EC=A0=84=EC=86=A1api(=ED=85=8C=EC=8A=A4?= =?UTF-8?q?=ED=8A=B8=EC=9A=A9)=20=EC=B6=94=EA=B0=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../cokr/xit/fims/appl/dao/ApplMapper.java | 16 ++ .../xit/fims/appl/service/bean/ApplBean.java | 231 ++++++++++++++++++ .../xit/fims/appl/web/ApplController.java | 93 +++++++ .../fims/nxrp/service/bean/NisIndivBean.java | 21 ++ .../xit/fims/nxrp/web/NxrpController.java | 34 +++ .../java/cokr/xit/fims/rent/LsctAprv.java | 4 + .../fims/rent/service/bean/LsctMpngBean.java | 4 + .../sql/mapper/fims/appl/appl-mapper.xml | 31 +++ .../sql/mapper/fims/rent/lsctMpng-mapper.xml | 21 +- 9 files changed, 453 insertions(+), 2 deletions(-) create mode 100644 src/main/java/cokr/xit/fims/appl/dao/ApplMapper.java create mode 100644 src/main/java/cokr/xit/fims/appl/service/bean/ApplBean.java create mode 100644 src/main/java/cokr/xit/fims/appl/web/ApplController.java create mode 100644 src/main/resources/sql/mapper/fims/appl/appl-mapper.xml diff --git a/src/main/java/cokr/xit/fims/appl/dao/ApplMapper.java b/src/main/java/cokr/xit/fims/appl/dao/ApplMapper.java new file mode 100644 index 00000000..510c7929 --- /dev/null +++ b/src/main/java/cokr/xit/fims/appl/dao/ApplMapper.java @@ -0,0 +1,16 @@ +package cokr.xit.fims.appl.dao; + +import org.egovframe.rte.psl.dataaccess.mapper.Mapper; + +import cokr.xit.fims.crdn.Crdn; +import cokr.xit.fims.rent.LsctAprv; +import cokr.xit.foundation.component.AbstractMapper; + +@Mapper("applMapper") +public interface ApplMapper extends AbstractMapper { + + int countRequestedLsctAprv(LsctAprv lsctAprv); + + int updateInProgress(Crdn crdn); + +} diff --git a/src/main/java/cokr/xit/fims/appl/service/bean/ApplBean.java b/src/main/java/cokr/xit/fims/appl/service/bean/ApplBean.java new file mode 100644 index 00000000..4d5fb1f8 --- /dev/null +++ b/src/main/java/cokr/xit/fims/appl/service/bean/ApplBean.java @@ -0,0 +1,231 @@ +package cokr.xit.fims.appl.service.bean; + +import java.text.SimpleDateFormat; + +import javax.annotation.Resource; + +import org.springframework.stereotype.Component; + +import cokr.xit.base.file.service.bean.FileBean; +import cokr.xit.fims.appl.dao.ApplMapper; +import cokr.xit.fims.cmmn.CmmnUtil; +import cokr.xit.fims.crdn.Crdn; +import cokr.xit.fims.levy.dao.LevyMapper; +import cokr.xit.fims.payer.service.bean.PayerBean; +import cokr.xit.fims.rent.LsctAprv; +import cokr.xit.fims.rent.dao.FinSysFtpMapper; +import cokr.xit.fims.rent.dao.LsctAprvMapper; +import cokr.xit.fims.rent.dao.LsctMapper; +import cokr.xit.fims.rent.dao.LsctMpngMapper; +import cokr.xit.fims.rent.dao.RentEntMapper; +import cokr.xit.foundation.component.AbstractBean; + +@Component("applBean") +public class ApplBean extends AbstractBean { + /** 임대차계약 대장 정보 DAO */ + @Resource(name = "applMapper") + private ApplMapper applMapper; + + /** 임대차계약 대장 정보 DAO */ + @Resource(name = "lsctMpngMapper") + private LsctMpngMapper lsctMpngMapper; + + /** 임대차계약 승인 대장 정보 DAO */ + @Resource(name = "lsctAprvMapper") + private LsctAprvMapper lsctAprvMapper; + + /** 임대 기업 대장 정보 DAO */ + @Resource(name = "rentEntMapper") + private RentEntMapper rentEntMapper; + + /** 임대차계약 정보 정보 DAO */ + @Resource(name = "lsctMapper") + private LsctMapper lsctMapper; + + /** 파일 정보 Bean */ + @Resource(name = "fileBean") + private FileBean fileBean; + + /** 납부자 대장 정보 Bean */ + @Resource(name = "payerBean") + private PayerBean payerBean; + + /** 부과 대장 정보 DAO */ + @Resource(name = "levyMapper") + private LevyMapper levyMapper; + + @Resource(name = "finSysFtpMapper") + private FinSysFtpMapper finSysFtpMapper; + + public int countRequestedLsctAprv(LsctAprv lsctAprv) { + return applMapper.countRequestedLsctAprv(lsctAprv); + } + + public String createLsctAprv(LsctAprv lsctAprv) { + // 변수 선언 + int rtnNocs = -1; // 처리 결과 건수 + String rtnMsg = ""; // 처리 결과 메시지 + + + String sggCd = ifEmpty(lsctAprv.getSggCd(), ()->""); + String taskSeCd = ifEmpty(lsctAprv.getTaskSeCd(), ()->""); + if (sggCd.equals("")) { + rtnMsg = "[F] 시군구 코드 파라미터가 없습니다.(sggCd)"; + return rtnMsg; + } + if (taskSeCd.equals("")) { + rtnMsg = "[F] 업무 구분 코드 파라미터가 없습니다.(taskSeCd)"; + return rtnMsg; + } + + // 연계 테이블명 + if (sggCd.equals("50110") && taskSeCd.equals("ECA")) { + lsctAprv.setLsctLinkTblNm("TB_LSCT_APRV_50110_ECA"); + } else if (sggCd.equals("50130") && taskSeCd.equals("ECA")) { + lsctAprv.setLsctLinkTblNm("TB_LSCT_APRV_50130_ECA"); + } else { + rtnMsg = "[F] 작업 중 연계시스템이 확인되지 않았습니다."; + return rtnMsg; + } + + + String rentEntNm = ifEmpty(lsctAprv.getRentEntNm(), ()->""); + if (rentEntNm.equals("")) { + rtnMsg = "[F] 임대기업명 파라미터가 없습니다.(rentEntNm)"; + return rtnMsg; + } + + String rentEntRegNo = ifEmpty(lsctAprv.getRentEntRegNo(), ()->""); + rentEntRegNo = rentEntRegNo.replace("-", ""); + if (rentEntRegNo.equals("")) { + rtnMsg = "[F] 임대기업등록번호 파라미터가 없습니다.(rentEntRegNo)"; + return rtnMsg; + } + + String vhrno = ifEmpty(lsctAprv.getVhrno(), ()->""); + if (vhrno.equals("")) { + rtnMsg = "[F] 차량번호 파라미터가 없습니다.(vhrno)"; + return rtnMsg; + } + + String hirerNm = ifEmpty(lsctAprv.getHirerNm(), ()->""); + if (hirerNm.equals("")) { + rtnMsg = "[F] 임차인명 파라미터가 없습니다.(hirerNm)"; + return rtnMsg; + } + + String omJno = ifEmpty(lsctAprv.getOmJno(), ()->""); + omJno = omJno.replace("-", ""); + omJno = omJno.replace(" ", ""); + if (omJno.equals("")) { + rtnMsg = "[F] 면허번호 파라미터가 없습니다.(omJno)"; + return rtnMsg; + } + if (!CmmnUtil.isNumeric(omJno)) { + rtnMsg = "[F] 면허번호는 숫자만 입력 가능합니다.(omJno)"; + return rtnMsg; + } + if (omJno.length() != 12) { + rtnMsg = "[F] 면허번호 자릿수는 12자리이여야 합니다.(omJno)"; + return rtnMsg; + } + + String crdnYmd = ifEmpty(lsctAprv.getCrdnYmd(), ()->""); + crdnYmd = crdnYmd.replace("-",""); + if (crdnYmd.equals("")) { + rtnMsg = "[F] 단속일자 파라미터가 없습니다.(crdnYmd)"; + return rtnMsg; + } + SimpleDateFormat sdf_ymd = new SimpleDateFormat("yyyyMMdd"); + sdf_ymd.setLenient(false); + boolean ymdErr = false; + try { + sdf_ymd.parse(crdnYmd); + } catch (Exception e) { + ymdErr = true; + } + if (ymdErr) { + rtnMsg = "[F] 단속일자가 년월일 형식이 아닙니다.(crdnYmd)"; + return rtnMsg; + } + + String crdnTm = ifEmpty(lsctAprv.getCrdnTm(), ()->""); + crdnTm = crdnTm.replace(":",""); + if (crdnTm.equals("")) { + rtnMsg = "[F] 단속시간 파라미터가 없습니다.(crdnTm)"; + return rtnMsg; + } + SimpleDateFormat sdf_hms = new SimpleDateFormat("HHmmss"); + sdf_hms.setLenient(false); + boolean hmsErr = false; + try { + sdf_hms.parse(crdnTm); + } catch (Exception e) { + hmsErr = true; + } + if (hmsErr) { + rtnMsg = "[F] 단속시간이 시분초 형식이 아닙니다.(crdnTm)"; + return rtnMsg; + } + + + String ctrtBgngYmd = ifEmpty(lsctAprv.getCtrtBgngYmd(), ()->""); + ctrtBgngYmd = ctrtBgngYmd.replace("-",""); + if (!ctrtBgngYmd.equals("")) { + try { + sdf_ymd.parse(ctrtBgngYmd); + } catch (Exception e) { + ymdErr = true; + } + if (ymdErr) { + rtnMsg = "[F] 계약시작일자가 년월일 형식이 아닙니다.(ctrtBgngYmd)"; + return rtnMsg; + } + } + String ctrtEndYmd = ifEmpty(lsctAprv.getCtrtEndYmd(), ()->""); + ctrtEndYmd = ctrtEndYmd.replace("-",""); + if (!ctrtEndYmd.equals("")) { + try { + sdf_ymd.parse(ctrtEndYmd); + } catch (Exception e) { + ymdErr = true; + } + if (ymdErr) { + rtnMsg = "[F] 계약종료일자가 년월일 형식이 아닙니다.(ctrtEndYmd)"; + return rtnMsg; + } + } + + lsctAprv.setHirerSeCd("01"); // 임차인 구분 코드 + lsctAprv.setNxrpCrdnLinkYn("N"); // 세외수입 단속 연계 여부 + lsctAprv.setAtchFileCnt(0); // 첨부 파일 수 + lsctAprv.setLsctMpngId("9999999999"); + + + // 현재 날짜 구하기 + SimpleDateFormat dateFormat = new SimpleDateFormat("yyyyMMddHHmmss"); + String dmndDateTime = dateFormat.format(System.currentTimeMillis()); + + lsctAprv.setDmndYmd(dmndDateTime.substring(0, 8)); // 요청 일자 + lsctAprv.setDmndTm(dmndDateTime.substring(8, 14)); // 요청 시각 + lsctAprv.setChgAprvSttsCd("RQ"); // 변경 승인 상태 + + + // 임대차계약 승인 대장(TB_LSCT_APRV)을 등록한다. + rtnNocs = lsctAprvMapper.insertLsctAprv(lsctAprv); + if (rtnNocs < 1) { + throw new RuntimeException("[F] 임대차계약 등록 작업에 실패하였습니다."); // 예외를 발생시켜서 DB Rollback + } + + // 단속 대장의 임차인수기등록 여부를 변경한다. + Crdn crdn = new Crdn(); + crdn.setMmCode(lsctAprv.getMmCode()); + crdn.setSggCd(lsctAprv.getSggCd()); + crdn.setTaskSeCd(lsctAprv.getTaskSeCd()); + applMapper.updateInProgress(crdn); + + + return "[S] 임대차계약 등록 작업이 정상 처리 되었습니다."; + } + +} diff --git a/src/main/java/cokr/xit/fims/appl/web/ApplController.java b/src/main/java/cokr/xit/fims/appl/web/ApplController.java new file mode 100644 index 00000000..355e3dad --- /dev/null +++ b/src/main/java/cokr/xit/fims/appl/web/ApplController.java @@ -0,0 +1,93 @@ +package cokr.xit.fims.appl.web; + +import javax.annotation.Resource; +import javax.servlet.http.HttpServletRequest; + +import org.springframework.stereotype.Controller; +import org.springframework.web.bind.annotation.RequestBody; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.servlet.ModelAndView; + +import cokr.xit.applib.AppCmmnUtil; +import cokr.xit.fims.appl.service.bean.ApplBean; +import cokr.xit.fims.rent.LsctAprv; +import cokr.xit.foundation.web.AbstractController; + +@Controller +@RequestMapping(name="응용프로그램 연계", value=ApplController.CLASS_URL) +public class ApplController extends AbstractController { + + public static final String CLASS_URL = "/intf/appl"; + + @Resource(name = "applBean") + private ApplBean applBean; + + @RequestMapping(name = "임대차계약정보 수기 등록", value="/createLeaseContractApproval.do") + public ModelAndView createLeaseContractApproval(HttpServletRequest hreq, @RequestBody LsctAprv lsctAprv) { + boolean saved = false; + String rtnMsg = ""; + + // 클라이언트 IP 확인 + String remoteAddr = AppCmmnUtil.getClientIpAddr(hreq); + lsctAprv.setChgDmndIp(remoteAddr); // 변경 요청 IP + + + + String sggCd = ifEmpty(lsctAprv.getSggCd(), ()->""); + String taskSeCd = ifEmpty(lsctAprv.getTaskSeCd(), ()->""); + if (sggCd.equals("")) { + rtnMsg = "[F] 시군구 코드 파라미터가 없습니다."; + return new ModelAndView("jsonView") + .addObject("saved", saved) + .addObject("rtnMsg", rtnMsg); + } + if (taskSeCd.equals("")) { + rtnMsg = "[F] 업무 구분 코드 파라미터가 없습니다."; + return new ModelAndView("jsonView") + .addObject("saved", saved) + .addObject("rtnMsg", rtnMsg); + } + + // 연계 테이블명 + if (sggCd.equals("50110") && taskSeCd.equals("ECA")) { + lsctAprv.setLsctLinkTblNm("TB_LSCT_APRV_50110_ECA"); + } else if (sggCd.equals("50130") && taskSeCd.equals("ECA")) { + lsctAprv.setLsctLinkTblNm("TB_LSCT_APRV_50130_ECA"); + } else { + rtnMsg = "[F] 작업 중 연계시스템이 확인되지 않았습니다."; + return new ModelAndView("jsonView") + .addObject("saved", saved) + .addObject("rtnMsg", rtnMsg); + } + + String mmCode = ifEmpty(lsctAprv.getMmCode(), ()->""); + if (mmCode.equals("")) { + rtnMsg = "[F] mmCode 파라미터가 없습니다."; + return new ModelAndView("jsonView") + .addObject("saved", saved) + .addObject("rtnMsg", rtnMsg); + } + + int existRq = applBean.countRequestedLsctAprv(lsctAprv); + if(existRq > 0) { + rtnMsg = "[F] 임대차계약서가 이미 등록되어 있습니다."; + return new ModelAndView("jsonView") + .addObject("saved", saved) + .addObject("rtnMsg", rtnMsg); + } + + + rtnMsg = applBean.createLsctAprv(lsctAprv); // 등록 + + if (rtnMsg.contains("[S]")) { + saved = true; + } else { + saved = false; + } + + return new ModelAndView("jsonView") + .addObject("saved", saved) + .addObject("rtnMsg", rtnMsg); + } + +} diff --git a/src/main/java/cokr/xit/fims/nxrp/service/bean/NisIndivBean.java b/src/main/java/cokr/xit/fims/nxrp/service/bean/NisIndivBean.java index f951f716..97ca8aca 100644 --- a/src/main/java/cokr/xit/fims/nxrp/service/bean/NisIndivBean.java +++ b/src/main/java/cokr/xit/fims/nxrp/service/bean/NisIndivBean.java @@ -211,6 +211,27 @@ public class NisIndivBean extends AbstractBean { sftp.disconnect(); } + public void send_DO_to_SI_geomjung(String zipPath) { + + SFTPUtil sftp = new SFTPUtil(); + RemoteSystemInfo rs = new RemoteSystemInfo(); + + rs.setId("d_user"); + rs.setPw("1111"); + rs.setIp("172.25.102.61"); + rs.setPort("1922"); + rs.setWorkPath("StorkShareAgent_ECA_JEJU_dev/files/SND/1741000NIS"); + + + rs.setOsType("windows"); + + + sftp.connect(rs); + + sftp.upload(zipPath); + sftp.disconnect(); + } + public void get_SI_to_DO() { SFTPUtil sftp = new SFTPUtil(); diff --git a/src/main/java/cokr/xit/fims/nxrp/web/NxrpController.java b/src/main/java/cokr/xit/fims/nxrp/web/NxrpController.java index cf810018..8b0e4eb5 100644 --- a/src/main/java/cokr/xit/fims/nxrp/web/NxrpController.java +++ b/src/main/java/cokr/xit/fims/nxrp/web/NxrpController.java @@ -5,9 +5,13 @@ import java.io.FileInputStream; import java.io.IOException; import java.io.InputStream; import java.io.OutputStream; +import java.nio.file.Files; +import java.nio.file.StandardCopyOption; +import java.text.SimpleDateFormat; import java.time.LocalDateTime; import java.time.format.DateTimeFormatter; import java.util.ArrayList; +import java.util.Date; import java.util.List; import java.util.Map; import java.util.function.Consumer; @@ -21,6 +25,7 @@ import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.multipart.MultipartFile; import org.springframework.web.servlet.ModelAndView; +import cokr.xit.base.file.ZIP; import cokr.xit.fims.nxrp.Hirer; import cokr.xit.fims.nxrp.NisIndivQuery; import cokr.xit.fims.nxrp.service.NisIndivService; @@ -308,7 +313,36 @@ public class NxrpController extends AbstractController { return new ModelAndView("jsonView"); } + @RequestMapping(name="검증계로 파일 보내기", value="/sendGeomjung.do") + public ModelAndView sendGeomjung(HttpServletRequest hreq) throws IOException { + String geomjungTestFolder = "files/temp/sendLcnsGeomjung"; + + File originalTxt = new File(geomjungTestFolder+"/test.txt"); + + + + SimpleDateFormat ymdhmsFormat = new SimpleDateFormat("yyyyMMddHHmmssSSS"); + String currentTime = ymdhmsFormat.format(new Date()); + + String newName = "EBF_Z000001LGE_1741000NIS_2001_"+currentTime+"@6510000ECA"; + String newTxtName = newName+".txt"; + String newZipName = newName+".zip"; + + File newTxtFile = new File(geomjungTestFolder + "/" + newTxtName); + + Files.copy(originalTxt.toPath(), newTxtFile.toPath(), StandardCopyOption.REPLACE_EXISTING); + + String zipFilePath = geomjungTestFolder + "/" + newZipName; + new ZIP().compress(zipFilePath, newTxtFile.getPath()); + + newTxtFile.delete(); + + nisIndivBean.send_DO_to_SI_geomjung(zipFilePath); + + + return new ModelAndView("jsonView"); + } diff --git a/src/main/java/cokr/xit/fims/rent/LsctAprv.java b/src/main/java/cokr/xit/fims/rent/LsctAprv.java index a774b53f..d35f963a 100644 --- a/src/main/java/cokr/xit/fims/rent/LsctAprv.java +++ b/src/main/java/cokr/xit/fims/rent/LsctAprv.java @@ -31,6 +31,10 @@ public class LsctAprv extends AbstractEntity { * 시군구 코드 */ private String sggCd; + /** + * 업무 구분 코드 + */ + private String taskSeCd; /** * 단속 일자 diff --git a/src/main/java/cokr/xit/fims/rent/service/bean/LsctMpngBean.java b/src/main/java/cokr/xit/fims/rent/service/bean/LsctMpngBean.java index f7df74ee..6d2dd455 100644 --- a/src/main/java/cokr/xit/fims/rent/service/bean/LsctMpngBean.java +++ b/src/main/java/cokr/xit/fims/rent/service/bean/LsctMpngBean.java @@ -18,6 +18,7 @@ import cokr.xit.base.file.service.FileQuery; import cokr.xit.base.file.service.bean.FileBean; import cokr.xit.base.file.web.FileInfoFactory; import cokr.xit.fims.FimsConf; +import cokr.xit.fims.appl.dao.ApplMapper; import cokr.xit.fims.base.FimsUser; import cokr.xit.fims.cmmn.ftp.RemoteSystemInfo; import cokr.xit.fims.cmmn.ftp.SFTPUtil; @@ -51,6 +52,9 @@ import cokr.xit.foundation.data.DataObject; @Component("lsctMpngBean") public class LsctMpngBean extends AbstractBean { + @Resource(name = "applMapper") + private ApplMapper applMapper; + /** 임대차계약 대장 정보 DAO */ @Resource(name = "lsctMpngMapper") private LsctMpngMapper lsctMpngMapper; diff --git a/src/main/resources/sql/mapper/fims/appl/appl-mapper.xml b/src/main/resources/sql/mapper/fims/appl/appl-mapper.xml new file mode 100644 index 00000000..8df7fb87 --- /dev/null +++ b/src/main/resources/sql/mapper/fims/appl/appl-mapper.xml @@ -0,0 +1,31 @@ + + + + + + + +UPDATE TB_CRDN + SET IN_PROGRESS = 'Y' + WHERE DEL_YN = 'N' + AND MM_CODE = #{mmCode} + AND SGG_CD = #{sggCd} + AND TASK_SE_CD = #{taskSeCd} + + + + \ No newline at end of file diff --git a/src/main/resources/sql/mapper/fims/rent/lsctMpng-mapper.xml b/src/main/resources/sql/mapper/fims/rent/lsctMpng-mapper.xml index 3af4bb53..b2ce477e 100644 --- a/src/main/resources/sql/mapper/fims/rent/lsctMpng-mapper.xml +++ b/src/main/resources/sql/mapper/fims/rent/lsctMpng-mapper.xml @@ -666,7 +666,8 @@ , P.RTPYR_NO , P.RTPYR_NM , LM.LSCT_MPNG_ID - , (CASE WHEN LM.LSCT_MPNG_ID IS NOT NULL AND LM.DMND_YN = 'Y' AND LM.CHG_APRV_STTS_CD = 'RQ' THEN '승인요청(요청중)' + , (CASE WHEN C.IN_PROGRESS = 'Y' THEN '담당자처리' + WHEN LM.LSCT_MPNG_ID IS NOT NULL AND LM.DMND_YN = 'Y' AND LM.CHG_APRV_STTS_CD = 'RQ' THEN '승인요청(요청중)' WHEN LM.LSCT_MPNG_ID IS NOT NULL AND LM.DMND_YN = 'Y' AND LM.CHG_APRV_STTS_CD = 'RT' THEN '승인요청(요청취소)' WHEN LM.LSCT_MPNG_ID IS NOT NULL AND LM.DMND_YN = 'Y' AND LM.CHG_APRV_STTS_CD = 'AP' THEN '승인요청(승인)' WHEN LM.LSCT_MPNG_ID IS NOT NULL AND LM.DMND_YN = 'Y' AND LM.CHG_APRV_STTS_CD = 'UA' THEN '승인요청(미승인)' @@ -734,10 +735,12 @@ AND C.CRDN_STTS_CD BETWEEN '11' AND '45' AND LM.LSCT_MPNG_ID IS NULL + AND C.IN_PROGRESS = 'N' AND LM.LSCT_MPNG_ID IS NOT NULL AND LM.DMND_YN = 'N' + AND C.IN_PROGRESS = 'N' AND LM.LSCT_MPNG_ID IS NOT NULL @@ -746,6 +749,10 @@ AND C.CRDN_STTS_CD NOT BETWEEN '11' AND '45' AND LM.LSCT_MPNG_ID IS NULL + AND C.IN_PROGRESS = 'N' + + + AND C.IN_PROGRESS = 'Y' @@ -829,7 +836,8 @@ , LM.MDFCN_DT , LM.MDFR , (SELECT USER_NM FROM TB_USER X WHERE X.USER_ID = LM.MDFR) AS MDFR_NM - , (CASE WHEN LM.DMND_YN = 'Y' AND LM.CHG_APRV_STTS_CD = 'AP' THEN '승인' + , (CASE WHEN C.IN_PROGRESS = 'Y' THEN '담당자처리' + WHEN LM.DMND_YN = 'Y' AND LM.CHG_APRV_STTS_CD = 'AP' THEN '승인' WHEN LM.DMND_YN = 'Y' AND LM.CHG_APRV_STTS_CD = 'UA' THEN '미승인' WHEN LM.DMND_YN = 'Y' AND LM.CHG_APRV_STTS_CD = 'RQ' AND C.CRDN_STTS_CD BETWEEN '11' AND '45' THEN '요청중' WHEN LM.DMND_YN = 'N' AND LM.CHG_APRV_STTS_CD = 'RT' AND C.CRDN_STTS_CD BETWEEN '11' AND '45' THEN '요청취소' @@ -932,28 +940,37 @@ AND LM.DMND_YN = 'Y' AND LM.CHG_APRV_STTS_CD = 'AP' + AND C.IN_PROGRESS = 'N' AND LM.DMND_YN = 'Y' AND LM.CHG_APRV_STTS_CD = 'UA' + AND C.IN_PROGRESS = 'N' AND LM.DMND_YN = 'Y' AND LM.CHG_APRV_STTS_CD = 'RQ' AND C.CRDN_STTS_CD BETWEEN '11' AND '45' + AND C.IN_PROGRESS = 'N' AND LM.DMND_YN = 'N' AND LM.CHG_APRV_STTS_CD = 'RT' AND C.CRDN_STTS_CD BETWEEN '11' AND '45' + AND C.IN_PROGRESS = 'N' AND LM.DMND_YN = 'N' AND LM.CHG_APRV_STTS_CD IS NULL AND C.CRDN_STTS_CD BETWEEN '11' AND '45' + AND C.IN_PROGRESS = 'N' + + + AND C.IN_PROGRESS = 'Y' AND C.CRDN_STTS_CD NOT BETWEEN '11' AND '45' + AND C.IN_PROGRESS = 'N'