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'