shjung 3 lat temu
rodzic
commit
11b1f00dd4

+ 38 - 0
src/main/java/com/its/op/controller/analysis/PtrnDataController.java

@@ -0,0 +1,38 @@
+package com.its.op.controller.analysis;
+
+import com.its.op.service.analysis.impl.PtrnDataServiceImpl;
+import com.its.op.vo.analysis.PtrnDataParam;
+import com.its.op.vo.analysis.PtrnDataVo;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.http.HttpStatus;
+import org.springframework.http.ResponseEntity;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.RequestBody;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+import javax.servlet.http.HttpServletRequest;
+import java.util.List;
+
+@Slf4j
+@RestController
+@RequestMapping("/analysis/ptrn-data")
+@Api(tags = "04.분석-5.패턴데이터분석", description="패턴데이터분석")
+public class PtrnDataController {
+
+    private PtrnDataServiceImpl service;
+
+    public PtrnDataController(PtrnDataServiceImpl service) {
+        this.service = service;
+    }
+
+    @ApiOperation(value = "패턴데이터분석(TB_CLCT_SYST_STTS_HS, TB_TRFC_PRCN_STAT)", response = PtrnDataParam.class, responseContainer = "ArrayList")
+    @PostMapping(value = "/", produces = {"application/json; charset=utf8"})
+    public ResponseEntity<List<PtrnDataVo>> findAllByDateRange(@RequestBody PtrnDataParam cond, HttpServletRequest request) {
+        List<PtrnDataVo> result = this.service.findAllByDateRange(cond);
+        return new ResponseEntity<>(result, HttpStatus.OK);
+    }
+
+}

+ 38 - 0
src/main/java/com/its/op/controller/analysis/TrafHistController.java

@@ -0,0 +1,38 @@
+package com.its.op.controller.analysis;
+
+import com.its.op.service.analysis.impl.PrcnResultServiceImpl;
+import com.its.op.vo.analysis.PrcnResultParam;
+import com.its.op.vo.analysis.PrcnResultVo;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.http.HttpStatus;
+import org.springframework.http.ResponseEntity;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.RequestBody;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+import javax.servlet.http.HttpServletRequest;
+import java.util.List;
+
+@Slf4j
+@RestController
+@RequestMapping("/analysis/traf-hist")
+@Api(tags = "04.분석-4.소통정보이력분석", description="소통정보이력분석")
+public class TrafHistController {
+
+    private PrcnResultServiceImpl service;
+
+    public TrafHistController(PrcnResultServiceImpl service) {
+        this.service = service;
+    }
+
+    @ApiOperation(value = "교통정보가공결과분석(TB_CLCT_SYST_STTS_HS, TB_TRFC_PRCN_STAT)", response = PrcnResultVo.class, responseContainer = "ArrayList")
+    @PostMapping(value = "/", produces = {"application/json; charset=utf8"})
+    public ResponseEntity<List<PrcnResultVo>> findAllByDateRange(@RequestBody PrcnResultParam cond, HttpServletRequest request) {
+        List<PrcnResultVo> result = this.service.findAllByDateRange(cond);
+        return new ResponseEntity<>(result, HttpStatus.OK);
+    }
+
+}

+ 38 - 0
src/main/java/com/its/op/controller/analysis/TrafResultController.java

@@ -0,0 +1,38 @@
+package com.its.op.controller.analysis;
+
+import com.its.op.service.analysis.impl.PrcnResultServiceImpl;
+import com.its.op.vo.analysis.PrcnResultParam;
+import com.its.op.vo.analysis.PrcnResultVo;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.http.HttpStatus;
+import org.springframework.http.ResponseEntity;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.RequestBody;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+import javax.servlet.http.HttpServletRequest;
+import java.util.List;
+
+@Slf4j
+@RestController
+@RequestMapping("/analysis/traf-result")
+@Api(tags = "04.분석-3.교통정보제공결과분석", description="교통정보제공결과분석")
+public class TrafResultController {
+
+    private PrcnResultServiceImpl service;
+
+    public TrafResultController(PrcnResultServiceImpl service) {
+        this.service = service;
+    }
+
+    @ApiOperation(value = "교통정보제공결과분석(TB_CLCT_SYST_STTS_HS, TB_TRFC_PRCN_STAT)", response = PrcnResultVo.class, responseContainer = "ArrayList")
+    @PostMapping(value = "/", produces = {"application/json; charset=utf8"})
+    public ResponseEntity<List<PrcnResultVo>> findAllByDateRange(@RequestBody PrcnResultParam cond, HttpServletRequest request) {
+        List<PrcnResultVo> result = this.service.findAllByDateRange(cond);
+        return new ResponseEntity<>(result, HttpStatus.OK);
+    }
+
+}

+ 15 - 0
src/main/java/com/its/op/mapper/analysis/PtrnDataMapper.java

@@ -0,0 +1,15 @@
+package com.its.op.mapper.analysis;
+
+import com.its.op.vo.analysis.PtrnDataParam;
+import com.its.op.vo.analysis.PtrnDataVo;
+import org.apache.ibatis.annotations.Mapper;
+import org.apache.ibatis.annotations.Param;
+
+import java.util.List;
+
+@Mapper
+public interface PtrnDataMapper {
+
+    List<PtrnDataVo> findAllByDateRange(@Param("cond") PtrnDataParam cond);
+
+}

+ 15 - 0
src/main/java/com/its/op/mapper/analysis/TrafHistMapper.java

@@ -0,0 +1,15 @@
+package com.its.op.mapper.analysis;
+
+import com.its.op.vo.analysis.PrcnResultParam;
+import com.its.op.vo.analysis.PrcnResultVo;
+import org.apache.ibatis.annotations.Mapper;
+import org.apache.ibatis.annotations.Param;
+
+import java.util.List;
+
+@Mapper
+public interface TrafHistMapper {
+
+    List<PrcnResultVo> findAllByDateRange(@Param("cond") PrcnResultParam cond);
+
+}

+ 15 - 0
src/main/java/com/its/op/mapper/analysis/TrafResultMapper.java

@@ -0,0 +1,15 @@
+package com.its.op.mapper.analysis;
+
+import com.its.op.vo.analysis.PrcnResultParam;
+import com.its.op.vo.analysis.PrcnResultVo;
+import org.apache.ibatis.annotations.Mapper;
+import org.apache.ibatis.annotations.Param;
+
+import java.util.List;
+
+@Mapper
+public interface TrafResultMapper {
+
+    List<PrcnResultVo> findAllByDateRange(@Param("cond") PrcnResultParam cond);
+
+}

+ 40 - 0
src/main/java/com/its/op/service/analysis/impl/PtrnDataServiceImpl.java

@@ -0,0 +1,40 @@
+package com.its.op.service.analysis.impl;
+
+import com.its.op.mapper.analysis.PrcnResultMapper;
+import com.its.op.mapper.analysis.PtrnDataMapper;
+import com.its.op.service.analysis.AnalysisService;
+import com.its.op.vo.analysis.PtrnDataParam;
+import com.its.op.vo.analysis.PtrnDataVo;
+import lombok.Getter;
+import lombok.Setter;
+import lombok.ToString;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.stereotype.Service;
+
+import java.util.ArrayList;
+import java.util.List;
+
+@Slf4j
+@Getter
+@Setter
+@ToString
+@Service
+public class PtrnDataServiceImpl implements AnalysisService {
+
+    private final PtrnDataMapper mapper;
+
+    public PtrnDataServiceImpl(PtrnDataMapper mapper) {
+        this.mapper = mapper;
+    }
+
+    public List<PtrnDataVo> findAllByDateRange(PtrnDataParam cond) {
+        try {
+            return this.mapper.findAllByDateRange(cond);
+        }
+        catch (Exception e) {
+            log.error("{}.findAllByDateRange: Cond: {}, Exception: {}", getClass().getSimpleName(), cond, e.getMessage());
+        }
+        return new ArrayList<PtrnDataVo>();
+    }
+
+}

+ 39 - 0
src/main/java/com/its/op/service/analysis/impl/TrafHistServiceImpl.java

@@ -0,0 +1,39 @@
+package com.its.op.service.analysis.impl;
+
+import com.its.op.mapper.analysis.PrcnResultMapper;
+import com.its.op.service.analysis.AnalysisService;
+import com.its.op.vo.analysis.PrcnResultParam;
+import com.its.op.vo.analysis.PrcnResultVo;
+import lombok.Getter;
+import lombok.Setter;
+import lombok.ToString;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.stereotype.Service;
+
+import java.util.ArrayList;
+import java.util.List;
+
+@Slf4j
+@Getter
+@Setter
+@ToString
+@Service
+public class TrafHistServiceImpl implements AnalysisService {
+
+    private final PrcnResultMapper mapper;
+
+    public TrafHistServiceImpl(PrcnResultMapper mapper) {
+        this.mapper = mapper;
+    }
+
+    public List<PrcnResultVo> findAllByDateRange(PrcnResultParam cond) {
+        try {
+            return this.mapper.findAllByDateRange(cond);
+        }
+        catch (Exception e) {
+            log.error("{}.findAllByDateRange: Cond: {}, Exception: {}", getClass().getSimpleName(), cond, e.getMessage());
+        }
+        return new ArrayList<PrcnResultVo>();
+    }
+
+}

+ 39 - 0
src/main/java/com/its/op/service/analysis/impl/TrafResultServiceImpl.java

@@ -0,0 +1,39 @@
+package com.its.op.service.analysis.impl;
+
+import com.its.op.mapper.analysis.PrcnResultMapper;
+import com.its.op.service.analysis.AnalysisService;
+import com.its.op.vo.analysis.PrcnResultParam;
+import com.its.op.vo.analysis.PrcnResultVo;
+import lombok.Getter;
+import lombok.Setter;
+import lombok.ToString;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.stereotype.Service;
+
+import java.util.ArrayList;
+import java.util.List;
+
+@Slf4j
+@Getter
+@Setter
+@ToString
+@Service
+public class TrafResultServiceImpl implements AnalysisService {
+
+    private final PrcnResultMapper mapper;
+
+    public TrafResultServiceImpl(PrcnResultMapper mapper) {
+        this.mapper = mapper;
+    }
+
+    public List<PrcnResultVo> findAllByDateRange(PrcnResultParam cond) {
+        try {
+            return this.mapper.findAllByDateRange(cond);
+        }
+        catch (Exception e) {
+            log.error("{}.findAllByDateRange: Cond: {}, Exception: {}", getClass().getSimpleName(), cond, e.getMessage());
+        }
+        return new ArrayList<PrcnResultVo>();
+    }
+
+}

+ 1 - 1
src/main/java/com/its/op/vo/analysis/ClctResultParam.java

@@ -8,7 +8,7 @@ import lombok.ToString;
 @Getter
 @Setter
 @ToString
-@ApiModel(description = "간선도로통계 파라미터")
+@ApiModel(description = "교통정보수집결과 파라미터")
 public class ClctResultParam {
     private String FROM_DT;
     private String TO_DT;

+ 1 - 1
src/main/java/com/its/op/vo/analysis/PrcnResultParam.java

@@ -8,7 +8,7 @@ import lombok.ToString;
 @Getter
 @Setter
 @ToString
-@ApiModel(description = "간선도로통계 파라미터")
+@ApiModel(description = "교통정보가공결과분석 파라미터")
 public class PrcnResultParam {
     private String FROM_DT;
     private String TO_DT;

+ 16 - 0
src/main/java/com/its/op/vo/analysis/PtrnDataParam.java

@@ -0,0 +1,16 @@
+package com.its.op.vo.analysis;
+
+import io.swagger.annotations.ApiModel;
+import lombok.Getter;
+import lombok.Setter;
+import lombok.ToString;
+
+@Getter
+@Setter
+@ToString
+@ApiModel(description = "패턴데이터분석 파라미터")
+public class PtrnDataParam {
+    private String TRAF_LEVL;       //
+    private String FROM_DT;
+    private String TO_DT;
+}

+ 24 - 0
src/main/java/com/its/op/vo/analysis/PtrnDataVo.java

@@ -0,0 +1,24 @@
+package com.its.op.vo.analysis;
+
+import lombok.Getter;
+import lombok.Setter;
+import lombok.ToString;
+
+@Getter
+@Setter
+@ToString
+//@JsonNaming(UpperCaseUnderscoreStrategy.class)
+public class PtrnDataVo {
+    private String PRCN_DT;
+    private String PRCN_DT_FMT;
+    private int    PRCN_TOT;        // 총가공개수
+    private int    OPER01;          // 운영자개입
+    private int    VDS01;           // 영상 VDS
+    private int    MOCT01;          // 민간정보
+    private int    UTIS01;          // 중앙센터-UTIS
+    private int    UTIS02;          // 중앙센터-ITS
+
+    private int    MISS_NUM;        // 결측개수
+    private int    ADJS_NUM;        // 보정개수
+    private int    SMTH_NUM;        // 평활화개수
+}

+ 16 - 0
src/main/java/com/its/op/vo/analysis/TrafHistParam.java

@@ -0,0 +1,16 @@
+package com.its.op.vo.analysis;
+
+import io.swagger.annotations.ApiModel;
+import lombok.Getter;
+import lombok.Setter;
+import lombok.ToString;
+
+@Getter
+@Setter
+@ToString
+@ApiModel(description = "소통정보이력분석 파라미터")
+public class TrafHistParam {
+    private String TRAF_LEVL;       //
+    private String FROM_DT;
+    private String TO_DT;
+}

+ 24 - 0
src/main/java/com/its/op/vo/analysis/TrafHistVo.java

@@ -0,0 +1,24 @@
+package com.its.op.vo.analysis;
+
+import lombok.Getter;
+import lombok.Setter;
+import lombok.ToString;
+
+@Getter
+@Setter
+@ToString
+//@JsonNaming(UpperCaseUnderscoreStrategy.class)
+public class TrafHistVo {
+    private String PRCN_DT;
+    private String PRCN_DT_FMT;
+    private int    PRCN_TOT;        // 총가공개수
+    private int    OPER01;          // 운영자개입
+    private int    VDS01;           // 영상 VDS
+    private int    MOCT01;          // 민간정보
+    private int    UTIS01;          // 중앙센터-UTIS
+    private int    UTIS02;          // 중앙센터-ITS
+
+    private int    MISS_NUM;        // 결측개수
+    private int    ADJS_NUM;        // 보정개수
+    private int    SMTH_NUM;        // 평활화개수
+}

+ 16 - 0
src/main/java/com/its/op/vo/analysis/TrafResultParam.java

@@ -0,0 +1,16 @@
+package com.its.op.vo.analysis;
+
+import io.swagger.annotations.ApiModel;
+import lombok.Getter;
+import lombok.Setter;
+import lombok.ToString;
+
+@Getter
+@Setter
+@ToString
+@ApiModel(description = "교통정보제공결과분석 파라미터")
+public class TrafResultParam {
+    private String TRAF_LEVL;       //
+    private String FROM_DT;
+    private String TO_DT;
+}

+ 24 - 0
src/main/java/com/its/op/vo/analysis/TrafResultVo.java

@@ -0,0 +1,24 @@
+package com.its.op.vo.analysis;
+
+import lombok.Getter;
+import lombok.Setter;
+import lombok.ToString;
+
+@Getter
+@Setter
+@ToString
+//@JsonNaming(UpperCaseUnderscoreStrategy.class)
+public class TrafResultVo {
+    private String PRCN_DT;
+    private String PRCN_DT_FMT;
+    private int    PRCN_TOT;        // 총가공개수
+    private int    OPER01;          // 운영자개입
+    private int    VDS01;           // 영상 VDS
+    private int    MOCT01;          // 민간정보
+    private int    UTIS01;          // 중앙센터-UTIS
+    private int    UTIS02;          // 중앙센터-ITS
+
+    private int    MISS_NUM;        // 결측개수
+    private int    ADJS_NUM;        // 보정개수
+    private int    SMTH_NUM;        // 평활화개수
+}

+ 45 - 0
src/main/resources/mybatis/mapper/analysis/PtrnData.xml

@@ -0,0 +1,45 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+
+<mapper namespace="com.its.op.mapper.analysis.PtrnDataMapper">
+
+<!--
+    // 수집시스템 조회
+    SELECT CLCT_SYST_CD, CLCT_SYST_NM
+    FROM TB_CLCT_SYST_STUP
+    WHERE USE_YN = 'Y'
+-->
+
+    <select id="findAllByDateRange" parameterType="com.its.op.vo.analysis.PtrnDataParam" resultType="com.its.op.vo.analysis.PtrnDataVo">
+        SELECT A.PRCN_DT, FN_TODATEFMT(A.PRCN_DT) AS PRCN_DT_FMT
+               ,A.OPER01+A.VDS01+A.MOCT01+A.UTIS01+A.UTIS02+B.MISS_NUM AS PRCN_TOT
+               ,A.OPER01
+               ,A.VDS01
+               ,A.MOCT01
+               ,A.UTIS01
+               ,A.UTIS02
+               ,B.MISS_NUM
+               ,B.ADJS_NUM
+               ,B.SMTH_NUM
+        FROM (SELECT A.PRCN_DT
+                    ,MAX(DECODE(A.CLCT_SYST_CD, 'OPER01', A.FUSN_NUM, 0)) AS OPER01
+                    ,MAX(DECODE(A.CLCT_SYST_CD, 'VDS01',  A.FUSN_NUM, 0)) AS VDS01
+                    ,MAX(DECODE(A.CLCT_SYST_CD, 'MOCT01', A.FUSN_NUM, 0)) AS MOCT01
+                    ,MAX(DECODE(A.CLCT_SYST_CD, 'UTIS01', A.FUSN_NUM, 0)) AS UTIS01
+                    ,MAX(DECODE(A.CLCT_SYST_CD, 'UTIS02', A.FUSN_NUM, 0)) AS UTIS02
+              FROM TB_CLCT_SYST_STTS_HS A
+              WHERE A.PRCN_DT BETWEEN #{cond.FROM_DT} AND #{cond.TO_DT}
+                AND A.CLCT_SYST_CD IN (SELECT CLCT_SYST_CD
+                                       FROM TB_CLCT_SYST_STUP
+                                       WHERE USE_YN = 'Y')
+              GROUP BY A.PRCN_DT
+             ) A,
+             (SELECT PRCN_DT, MISS_NUM, ADJS_NUM, SMTH_NUM
+              FROM TB_TRFC_PRCN_STAT
+              WHERE PRCN_DT BETWEEN #{cond.FROM_DT} AND #{cond.TO_DT}
+             ) B
+        WHERE A.PRCN_DT = B.PRCN_DT
+        ORDER BY A.PRCN_DT
+    </select>
+
+</mapper>

+ 45 - 0
src/main/resources/mybatis/mapper/analysis/TrafHist.xml

@@ -0,0 +1,45 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+
+<mapper namespace="com.its.op.mapper.analysis.TrafHistMapper">
+
+<!--
+    // 수집시스템 조회
+    SELECT CLCT_SYST_CD, CLCT_SYST_NM
+    FROM TB_CLCT_SYST_STUP
+    WHERE USE_YN = 'Y'
+-->
+
+    <select id="findAllByDateRange" parameterType="com.its.op.vo.analysis.TrafHistParam" resultType="com.its.op.vo.analysis.TrafHistVo">
+        SELECT A.PRCN_DT, FN_TODATEFMT(A.PRCN_DT) AS PRCN_DT_FMT
+               ,A.OPER01+A.VDS01+A.MOCT01+A.UTIS01+A.UTIS02+B.MISS_NUM AS PRCN_TOT
+               ,A.OPER01
+               ,A.VDS01
+               ,A.MOCT01
+               ,A.UTIS01
+               ,A.UTIS02
+               ,B.MISS_NUM
+               ,B.ADJS_NUM
+               ,B.SMTH_NUM
+        FROM (SELECT A.PRCN_DT
+                    ,MAX(DECODE(A.CLCT_SYST_CD, 'OPER01', A.FUSN_NUM, 0)) AS OPER01
+                    ,MAX(DECODE(A.CLCT_SYST_CD, 'VDS01',  A.FUSN_NUM, 0)) AS VDS01
+                    ,MAX(DECODE(A.CLCT_SYST_CD, 'MOCT01', A.FUSN_NUM, 0)) AS MOCT01
+                    ,MAX(DECODE(A.CLCT_SYST_CD, 'UTIS01', A.FUSN_NUM, 0)) AS UTIS01
+                    ,MAX(DECODE(A.CLCT_SYST_CD, 'UTIS02', A.FUSN_NUM, 0)) AS UTIS02
+              FROM TB_CLCT_SYST_STTS_HS A
+              WHERE A.PRCN_DT BETWEEN #{cond.FROM_DT} AND #{cond.TO_DT}
+                AND A.CLCT_SYST_CD IN (SELECT CLCT_SYST_CD
+                                       FROM TB_CLCT_SYST_STUP
+                                       WHERE USE_YN = 'Y')
+              GROUP BY A.PRCN_DT
+             ) A,
+             (SELECT PRCN_DT, MISS_NUM, ADJS_NUM, SMTH_NUM
+              FROM TB_TRFC_PRCN_STAT
+              WHERE PRCN_DT BETWEEN #{cond.FROM_DT} AND #{cond.TO_DT}
+             ) B
+        WHERE A.PRCN_DT = B.PRCN_DT
+        ORDER BY A.PRCN_DT
+    </select>
+
+</mapper>

+ 45 - 0
src/main/resources/mybatis/mapper/analysis/TrafResult.xml

@@ -0,0 +1,45 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+
+<mapper namespace="com.its.op.mapper.analysis.TrafResultMapper">
+
+<!--
+    // 수집시스템 조회
+    SELECT CLCT_SYST_CD, CLCT_SYST_NM
+    FROM TB_CLCT_SYST_STUP
+    WHERE USE_YN = 'Y'
+-->
+
+    <select id="findAllByDateRange" parameterType="com.its.op.vo.analysis.TrafResultParam" resultType="com.its.op.vo.analysis.TrafResultVo">
+        SELECT A.PRCN_DT, FN_TODATEFMT(A.PRCN_DT) AS PRCN_DT_FMT
+               ,A.OPER01+A.VDS01+A.MOCT01+A.UTIS01+A.UTIS02+B.MISS_NUM AS PRCN_TOT
+               ,A.OPER01
+               ,A.VDS01
+               ,A.MOCT01
+               ,A.UTIS01
+               ,A.UTIS02
+               ,B.MISS_NUM
+               ,B.ADJS_NUM
+               ,B.SMTH_NUM
+        FROM (SELECT A.PRCN_DT
+                    ,MAX(DECODE(A.CLCT_SYST_CD, 'OPER01', A.FUSN_NUM, 0)) AS OPER01
+                    ,MAX(DECODE(A.CLCT_SYST_CD, 'VDS01',  A.FUSN_NUM, 0)) AS VDS01
+                    ,MAX(DECODE(A.CLCT_SYST_CD, 'MOCT01', A.FUSN_NUM, 0)) AS MOCT01
+                    ,MAX(DECODE(A.CLCT_SYST_CD, 'UTIS01', A.FUSN_NUM, 0)) AS UTIS01
+                    ,MAX(DECODE(A.CLCT_SYST_CD, 'UTIS02', A.FUSN_NUM, 0)) AS UTIS02
+              FROM TB_CLCT_SYST_STTS_HS A
+              WHERE A.PRCN_DT BETWEEN #{cond.FROM_DT} AND #{cond.TO_DT}
+                AND A.CLCT_SYST_CD IN (SELECT CLCT_SYST_CD
+                                       FROM TB_CLCT_SYST_STUP
+                                       WHERE USE_YN = 'Y')
+              GROUP BY A.PRCN_DT
+             ) A,
+             (SELECT PRCN_DT, MISS_NUM, ADJS_NUM, SMTH_NUM
+              FROM TB_TRFC_PRCN_STAT
+              WHERE PRCN_DT BETWEEN #{cond.FROM_DT} AND #{cond.TO_DT}
+             ) B
+        WHERE A.PRCN_DT = B.PRCN_DT
+        ORDER BY A.PRCN_DT
+    </select>
+
+</mapper>