shjung преди 2 години
родител
ревизия
9ced71db3d

+ 0 - 1
conf/vds-comm-server.pid

@@ -1 +0,0 @@
-16088

+ 1 - 1
src/main/java/com/its/vds/VdsCommServerApplication.java

@@ -144,7 +144,7 @@ public class VdsCommServerApplication implements CommandLineRunner, ApplicationL
                 }
             });
             frame.pack();
-            frame.setBounds(100, 100, 1000, 800);
+            frame.setBounds(100, 100, 1000, 600);
             frame.setLocationRelativeTo(null);
             frame.setVisible(true);
 

+ 5 - 3
src/main/java/com/its/vds/dao/mapper/VdsDtctMapper.java

@@ -2,6 +2,8 @@ package com.its.vds.dao.mapper;
 
 import com.its.vds.entity.TbVdsDtct;
 import com.its.vds.entity.voVdsDtctClct;
+import com.its.vds.entity.voVdsDtctStts;
+import com.its.vds.entity.voVdsDtctVehClct;
 import org.apache.ibatis.annotations.Mapper;
 import org.apache.ibatis.annotations.Param;
 
@@ -14,8 +16,8 @@ public interface VdsDtctMapper {
     int          	insertVdsDtctClct(@Param("clct") voVdsDtctClct paramVdsDtctClct);
     int          	updateVdsDtctClctPnst(@Param("clct") voVdsDtctClct paramVdsDtctClct);
 
-    //int          	updateVdsDtctStts(@Param("stts") voVdsDtctStts paramVdsCtlrStts);
-    //int          	insertVdsDtctSttsHs(@Param("stts") voVdsDtctStts paramVdsCtlrStts);
-    //int          	insertVdsDtctVehClct(@Param("clct") voVdsDtctVehClct paramVdsDtctVehClct);
+    int          	updateVdsDtctStts(@Param("stts") voVdsDtctStts paramVdsCtlrStts);
+    int          	insertVdsDtctSttsHs(@Param("stts") voVdsDtctStts paramVdsCtlrStts);
+    int          	insertVdsDtctVehClct(@Param("clct") voVdsDtctVehClct paramVdsDtctVehClct);
     
 }

+ 13 - 11
src/main/java/com/its/vds/dao/mapper/batch/VdsCtlrDao.java

@@ -27,17 +27,19 @@ public class VdsCtlrDao extends BatchDaoService {
         List<HashMap<String, Object>> lists = new ArrayList<>();
         req.forEach(obj -> {
             HashMap<String, Object> param = new HashMap<>();
-            param.put("VDS_CTLR_NMBR",     obj.getVDS_CTLR_NMBR());
-            param.put("UPDT_DT",           obj.getUPDT_DT());
-            param.put("CMNC_STTS_CD",      obj.getCMNC_STTS_CD());
-            param.put("PRNT_PWER_STTS_CD", obj.getPRNT_PWER_STTS_CD());
-            param.put("CBOX_DOOR_STTS_CD", obj.getCBOX_DOOR_STTS_CD());
-            param.put("FAN_STTS_CD",       obj.getFAN_STTS_CD());
-            param.put("HETR_STTS_CD",      obj.getHETR_STTS_CD());
-            param.put("SUB_CTLR_VAL",      obj.getSUB_CTLR_VAL());
-            param.put("CBOX_TMPR",         obj.getCBOX_TMPR());
-            param.put("INPT_VOLT",         obj.getINPT_VOLT());
-            param.put("PRNT_VOLT",         obj.getPRNT_VOLT());
+            param.put("VDS_CTLR_NMBR",      obj.getVDS_CTLR_NMBR());
+            param.put("UPDT_DT",            obj.getUPDT_DT());
+            param.put("CMNC_STTS_CD",       obj.getCMNC_STTS_CD());
+            param.put("CBOX_DOOR_STTS_CD",  obj.getCBOX_DOOR_STTS_CD());
+            param.put("FRONT_DOOR_STTS_CD", obj.getFRONT_DOOR_STTS_CD());
+            param.put("BACK_DOOR_STTS_CD",  obj.getBACK_DOOR_STTS_CD());
+            param.put("FAN_STTS_CD",        obj.getFAN_STTS_CD());
+            param.put("HETR_STTS_CD",       obj.getHETR_STTS_CD());
+            param.put("CBOX_TMPR",          obj.getCBOX_TMPR());
+            param.put("INPT_VOLT",          obj.getINPT_VOLT());
+            param.put("PRNT_VOLT",          obj.getPRNT_VOLT());
+            param.put("PRNT_PWER_STTS_CD",  obj.getPRNT_PWER_STTS_CD());
+            param.put("VIDEO_INPUT",        obj.getVIDEO_INPUT());
             lists.add(param);
         });
         return lists;

+ 1 - 0
src/main/java/com/its/vds/dao/mapper/batch/VdsDtctDao.java

@@ -30,6 +30,7 @@ public class VdsDtctDao extends BatchDaoService {
             param.put("VDS_DTCT_NMBR",  obj.getVDS_DTCT_NMBR());
             param.put("CLCT_DT",        obj.getCLCT_DT());
             param.put("SYST_KIND_DVSN", obj.getSYST_KIND_DVSN());
+            param.put("TRAF_CLCT_CYCL", obj.getTRAF_CLCT_CYCL());
             param.put("TFVL",           obj.getTFVL());
             param.put("SPED",           obj.getSPED());
             param.put("AVRG_OCPY_RATE", obj.getAVRG_OCPY_RATE());

+ 0 - 2
src/main/java/com/its/vds/entity/TbVdsCtlrStts.java

@@ -19,7 +19,6 @@ public class TbVdsCtlrStts {
 	private String HETR_STTS_CD;
 	private int    CBOX_TMPR;
 
-	private int    SUB_CTLR_VAL;	//	7	N	NUMBER(3)	Y	0	부 제어기 값
 	private int    INPT_VOLT;		//	9	N	NUMBER(3)	Y	0	입력 전압
 	private int    PRNT_VOLT;		//	10	N	NUMBER(3)	Y	0	출력 전압
 
@@ -41,7 +40,6 @@ public class TbVdsCtlrStts {
 		this.FAN_STTS_CD        = "PAS2";
 		this.HETR_STTS_CD       = "HTS2";
 		this.CBOX_TMPR          = 0;
-		this.SUB_CTLR_VAL       = 0;
 		this.INPT_VOLT          = 0;
 		this.PRNT_VOLT          = 0;
 

+ 1 - 1
src/main/java/com/its/vds/ui/CtlrSttsTableModel.java

@@ -17,7 +17,7 @@ public class CtlrSttsTableModel extends AbstractTableModel {
     private final String[] columnNames = {
             "#",
             "번호",
-            "시설물ID",
+            "VDS ID",
             "명칭",
             "IP",
             "PORT",

+ 6 - 6
src/main/java/com/its/vds/ui/MainUI.form

@@ -11,7 +11,11 @@
       <grid id="d0095" binding="pnlCtlr" layout-manager="GridLayoutManager" row-count="3" column-count="1" same-size-horizontally="false" same-size-vertically="false" hgap="-1" vgap="-1">
         <margin top="10" left="4" bottom="0" right="4"/>
         <constraints>
-          <grid row="0" column="0" row-span="1" col-span="1" vsize-policy="7" hsize-policy="7" anchor="0" fill="3" indent="0" use-parent-layout="false"/>
+          <grid row="0" column="0" row-span="1" col-span="1" vsize-policy="3" hsize-policy="3" anchor="0" fill="3" indent="0" use-parent-layout="false">
+            <minimum-size width="-1" height="220"/>
+            <preferred-size width="-1" height="220"/>
+            <maximum-size width="-1" height="220"/>
+          </grid>
         </constraints>
         <properties/>
         <border type="none"/>
@@ -195,11 +199,7 @@
       <grid id="1a658" binding="pnlLog" layout-manager="GridLayoutManager" row-count="2" column-count="1" same-size-horizontally="false" same-size-vertically="false" hgap="-1" vgap="-1">
         <margin top="0" left="4" bottom="0" right="4"/>
         <constraints>
-          <grid row="1" column="0" row-span="1" col-span="1" vsize-policy="3" hsize-policy="3" anchor="0" fill="3" indent="0" use-parent-layout="false">
-            <minimum-size width="-1" height="300"/>
-            <preferred-size width="-1" height="300"/>
-            <maximum-size width="-1" height="300"/>
-          </grid>
+          <grid row="1" column="0" row-span="1" col-span="1" vsize-policy="7" hsize-policy="7" anchor="0" fill="3" indent="0" use-parent-layout="false"/>
         </constraints>
         <properties/>
         <border type="none"/>

+ 2 - 2
src/main/java/com/its/vds/ui/MainUI.java

@@ -426,7 +426,7 @@ public class MainUI {
         rootPanel.setLayout(new GridLayoutManager(3, 1, new Insets(0, 0, 0, 0), -1, -1));
         pnlCtlr = new JPanel();
         pnlCtlr.setLayout(new GridLayoutManager(3, 1, new Insets(10, 4, 0, 4), -1, -1));
-        rootPanel.add(pnlCtlr, new GridConstraints(0, 0, 1, 1, GridConstraints.ANCHOR_CENTER, GridConstraints.FILL_BOTH, GridConstraints.SIZEPOLICY_CAN_SHRINK | GridConstraints.SIZEPOLICY_WANT_GROW, GridConstraints.SIZEPOLICY_CAN_SHRINK | GridConstraints.SIZEPOLICY_WANT_GROW, null, null, null, 0, false));
+        rootPanel.add(pnlCtlr, new GridConstraints(0, 0, 1, 1, GridConstraints.ANCHOR_CENTER, GridConstraints.FILL_BOTH, GridConstraints.SIZEPOLICY_CAN_SHRINK | GridConstraints.SIZEPOLICY_CAN_GROW, GridConstraints.SIZEPOLICY_CAN_SHRINK | GridConstraints.SIZEPOLICY_CAN_GROW, new Dimension(-1, 220), new Dimension(-1, 220), new Dimension(-1, 220), 0, false));
         pnlCtlrTitle = new JPanel();
         pnlCtlrTitle.setLayout(new GridLayoutManager(1, 6, new Insets(0, 0, 0, 2), -1, -1));
         pnlCtlr.add(pnlCtlrTitle, new GridConstraints(0, 0, 1, 1, GridConstraints.ANCHOR_CENTER, GridConstraints.FILL_BOTH, GridConstraints.SIZEPOLICY_CAN_SHRINK | GridConstraints.SIZEPOLICY_CAN_GROW, GridConstraints.SIZEPOLICY_CAN_SHRINK | GridConstraints.SIZEPOLICY_CAN_GROW, null, null, null, 0, false));
@@ -518,7 +518,7 @@ public class MainUI {
         pnlControl.add(label4, new GridConstraints(0, 1, 1, 1, GridConstraints.ANCHOR_WEST, GridConstraints.FILL_NONE, GridConstraints.SIZEPOLICY_FIXED, GridConstraints.SIZEPOLICY_FIXED, null, null, null, 0, false));
         pnlLog = new JPanel();
         pnlLog.setLayout(new GridLayoutManager(2, 1, new Insets(0, 4, 0, 4), -1, -1));
-        rootPanel.add(pnlLog, new GridConstraints(1, 0, 1, 1, GridConstraints.ANCHOR_CENTER, GridConstraints.FILL_BOTH, GridConstraints.SIZEPOLICY_CAN_SHRINK | GridConstraints.SIZEPOLICY_CAN_GROW, GridConstraints.SIZEPOLICY_CAN_SHRINK | GridConstraints.SIZEPOLICY_CAN_GROW, new Dimension(-1, 300), new Dimension(-1, 300), new Dimension(-1, 300), 0, false));
+        rootPanel.add(pnlLog, new GridConstraints(1, 0, 1, 1, GridConstraints.ANCHOR_CENTER, GridConstraints.FILL_BOTH, GridConstraints.SIZEPOLICY_CAN_SHRINK | GridConstraints.SIZEPOLICY_WANT_GROW, GridConstraints.SIZEPOLICY_CAN_SHRINK | GridConstraints.SIZEPOLICY_WANT_GROW, null, null, null, 0, false));
         pnlLogTitle = new JPanel();
         pnlLogTitle.setLayout(new GridLayoutManager(1, 6, new Insets(0, 0, 0, 2), 1, 1));
         pnlLog.add(pnlLogTitle, new GridConstraints(0, 0, 1, 1, GridConstraints.ANCHOR_CENTER, GridConstraints.FILL_BOTH, GridConstraints.SIZEPOLICY_CAN_SHRINK | GridConstraints.SIZEPOLICY_CAN_GROW, GridConstraints.SIZEPOLICY_CAN_SHRINK | GridConstraints.SIZEPOLICY_CAN_GROW, null, null, null, 0, false));

+ 9 - 9
src/main/java/com/its/vds/xnettcp/vds/process/Job_Data.java

@@ -75,15 +75,15 @@ public class Job_Data implements JobProtocol {
 		for (int ii = 0; ii < laneCnt; ii++) {
 			idx = (ii * 9) + 5;
 
-			tfvl     = body[idx];
-			spd      = body[idx+1];
-			occ1     = body[idx+2];
-			occ2     = body[idx+3];
-			lngt     = body[idx+4];
-			hdwy     = body[idx+5];
-			spc_occ1 = body[idx+6];
-			spc_occ2 = body[idx+7];
-			spc_spd  = body[idx+8];
+			tfvl     = Byte.toUnsignedInt(body[idx]);
+			spd      = Byte.toUnsignedInt(body[idx+1]);
+			occ1     = Byte.toUnsignedInt(body[idx+2]);
+			occ2     = Byte.toUnsignedInt(body[idx+3]);
+			lngt     = Byte.toUnsignedInt(body[idx+4]);
+			hdwy     = Byte.toUnsignedInt(body[idx+5]);
+			spc_occ1 = Byte.toUnsignedInt(body[idx+6]);
+			spc_occ2 = Byte.toUnsignedInt(body[idx+7]);
+			spc_spd  = Byte.toUnsignedInt(body[idx+8]);
 
 			occ  = (float)(occ1 + (occ2 * 0.01));
 			spc_occ  = (float)(spc_occ1 + (spc_occ2 * 0.01));

+ 14 - 22
src/main/resources/application.yml

@@ -38,7 +38,7 @@ spring:
   application:
     name: vds-comm-server
   profiles:
-    active: prod
+    active: dev
   main:
     banner-mode: off
   mvc:
@@ -49,8 +49,11 @@ spring:
     hikari:
       auto-commit: true
       connection-test-query: SELECT 1 FROM DUAL
-      minimum-idle: 10
-      maximum-pool-size: 50
+      minimumIdle: 5
+      maximumIdle: 10
+      #maximumPoolSize: 20
+      idleTimeout: 30000
+      connectTimeout: 10000
       pool-name: pool-vds-comm-server
 
 ---
@@ -60,15 +63,10 @@ spring:
       on-profile: dev
   datasource:
     hikari:
-      driver-class-name: com.tmax.tibero.jdbc.TbDriver
-      jdbc-url: jdbc:tibero:thin:@115.91.94.42:8629:tibero
-      username: yiits
-      password: yiits
-      minimumIdle: 5
-      maximumIdle: 10
-      maximumPoolSize: 20
-      idleTimeout: 30000
-      connectTimeout: 10000
+      driver-class-name: oracle.jdbc.OracleDriver
+      jdbc-url: jdbc:oracle:thin:@115.91.94.42:1521:HANTE
+      username: ptatms
+      password: ptatms
 
 ---
 spring:
@@ -77,14 +75,8 @@ spring:
       on-profile: prod
   datasource:
     hikari:
-      driver-class-name: com.tmax.tibero.jdbc.TbDriver
-      #jdbc-url: jdbc:tibero:thin:@172.16.11.52:8800:new_yiitsdb
-      jdbc-url: jdbc:tibero:thin:@(DESCRIPTION=(FAILOVER=ON)(LOAD_BALANCE=ON)(ADDRESS_LIST=(ADDRESS=(HOST=172.16.11.52)(PORT=8800))(ADDRESS=(HOST=172.16.11.62)(PORT=8800)))(DATABASE_NAME=new_yiitsdb))
-      username: yiits
-      password: yiits
-      minimumIdle: 5
-      maximumIdle: 10
-      maximumPoolSize: 20
-      idleTimeout: 30000
-      connectTimeout: 10000
+      driver-class-name: oracle.jdbc.OracleDriver
+      jdbc-url: jdbc:oracle:thin:@172.19.10.11:1521:ptatms
+      username: ptatms
+      password: ptatms
 

+ 119 - 100
src/main/resources/mybatis/mapper/VdsCtlrMapper.xml

@@ -5,136 +5,143 @@
 
     <select id="selectAll" resultType="com.its.vds.entity.TbVdsCtlr">
     <![CDATA[
-		SELECT A.CTLR_MNGM_NMBR AS VDS_CTLR_NMBR,
-		       A.VDS_CTLR_ID,
-		       A.LCTN AS VDS_NM,
-		       A.CTLR_TYPE_CD AS VDS_TYPE_CD,
-		       A.TRMN_IP AS VDS_CTLR_IP,
-		       A.TRMN_PORT AS VDS_CTLR_PORT,
-		       0 AS GROUP_NO,
-		       TO_NUMBER(A.CTLR_MNGM_NMBR) AS VDS_CTLR_LOCAL_NO,
-		       0 AS DETECT_LANES,
-		       A.CTLR_CLCT_CYCL AS TRAF_CLCT_CYCL,
-		       A.CTLR_STTS_CYCL AS STTS_CLCT_CYCL,
-		       '0' AS FAN_MODE,
+        SELECT A.VDS_CTLR_NMBR AS VDS_CTLR_NMBR,
+               A.VDS_CTLR_ID,
+               A.VDS_NM AS VDS_NM,
+               A.VDS_TYPE_CD AS VDS_TYPE_CD,
+               A.VDS_CTLR_IP AS VDS_CTLR_IP,
+               A.VDS_CTLR_PORT AS VDS_CTLR_PORT,
+               0 AS GROUP_NO,
+               A.VDS_CTLR_LOCAL_NO AS VDS_CTLR_LOCAL_NO,
+               0 AS DETECT_LANES,
+               A.TRAF_CLCT_CYCL AS TRAF_CLCT_CYCL,
+               A.STTS_CLCT_CYCL AS STTS_CLCT_CYCL,
+               '0' AS FAN_MODE,
                30 AS FAN_RUN_TMPR,
                '0' AS HETR_MODE,
                0 AS HETR_RUN_TMPR,
-		       A.VALD_YN,
-		       A.DEL_YN
-		  FROM TB_VDS_CTLR A  
-		 WHERE A.DEL_YN = 'N'
-		   AND A.VALD_YN = 'Y'
-		 ORDER BY A.CTLR_MNGM_NMBR
-    ]]>
+               A.VALD_YN,
+               A.DEL_YN
+        FROM TB_VDS_CTLR A
+        WHERE A.DEL_YN = 'N'
+          AND A.VALD_YN = 'Y'
+        ORDER BY A.VDS_CTLR_NMBR    ]]>
     </select>
 
     <select id="selectVdsCtlrStts" resultType="com.its.vds.entity.TbVdsCtlrStts">
     <![CDATA[
-        SELECT A.CTLR_MNGM_NMBR AS VDS_CTLR_NMBR,
+        SELECT A.VDS_CTLR_NMBR AS VDS_CTLR_NMBR,
                A.UPDT_DT,
                A.CMNC_STTS_CD,
                A.CBOX_DOOR_STTS_CD,
+               A.FRONT_DOOR_STTS_CD,
+               A.BACK_DOOR_STTS_CD,
                A.FAN_STTS_CD,
                A.HETR_STTS_CD,
                A.CBOX_TMPR,
-               A.SUB_CTLR_VAL,
                A.INPT_VOLT,
                A.PRNT_VOLT,
-               A.CBOX_DOOR_STTS_CD AS FRONT_DOOR_STTS_CD,
-               A.CBOX_DOOR_STTS_CD AS BACK_DOOR_STTS_CD,
-               'VDI2' AS VIDEO_INPUT
+               A.PRNT_PWER_STTS_CD,
+               A.VIDEO_INPUT
         FROM TB_VDS_CTLR_STTS A,
              TB_VDS_CTLR      B
         WHERE B.DEL_YN = 'N'
-          AND A.CTLR_MNGM_NMBR = B.CTLR_MNGM_NMBR
+          AND A.VDS_CTLR_NMBR = B.VDS_CTLR_NMBR
     ]]>
     </select>
 
     <update id="updateVdsCtlrStts" parameterType="com.its.vds.entity.TbVdsCtlrStts">
     <![CDATA[
 		MERGE INTO TB_VDS_CTLR_STTS L                              
-		USING (SELECT #{stts.VDS_CTLR_NMBR} 	 AS CTLR_MNGM_NMBR,
+		USING (SELECT #{stts.VDS_CTLR_NMBR} 	 AS VDS_CTLR_NMBR,
 		              #{stts.UPDT_DT} 			 AS UPDT_DT,
                       #{stts.CMNC_STTS_CD} 		 AS CMNC_STTS_CD,
-                      #{stts.PRNT_PWER_STTS_CD}  AS PRNT_PWER_STTS_CD,
                       #{stts.CBOX_DOOR_STTS_CD}  AS CBOX_DOOR_STTS_CD,
-		              #{stts.FAN_STTS_CD} 		 AS FAN_STTS_CD,
+                      #{stts.FRONT_DOOR_STTS_CD} AS FRONT_DOOR_STTS_CD,
+                      #{stts.BACK_DOOR_STTS_CD}  AS BACK_DOOR_STTS_CD,
+                      #{stts.FAN_STTS_CD} 		 AS FAN_STTS_CD,
                       #{stts.HETR_STTS_CD} 		 AS HETR_STTS_CD,
-                      #{stts.SUB_CTLR_VAL} 		 AS SUB_CTLR_VAL,
                       #{stts.CBOX_TMPR} 		 AS CBOX_TMPR,
 		              #{stts.INPT_VOLT}          AS INPT_VOLT,
-		              #{stts.PRNT_VOLT}          AS PRNT_VOLT
-		         FROM DUAL) M                                      
-		        ON (L.CTLR_MNGM_NMBR = M.CTLR_MNGM_NMBR)
+		              #{stts.PRNT_VOLT}          AS PRNT_VOLT,
+                      #{stts.PRNT_PWER_STTS_CD}  AS PRNT_PWER_STTS_CD,
+                      #{stts.VIDEO_INPUT}        AS VIDEO_INPUT
+		         FROM DUAL) M
+		        ON (L.VDS_CTLR_NMBR = M.VDS_CTLR_NMBR)
 		WHEN MATCHED THEN                                          
 		   UPDATE SET L.UPDT_DT            = M.UPDT_DT,            
      	              L.CMNC_STTS_CD       = M.CMNC_STTS_CD,
-                      L.PRNT_PWER_STTS_CD  = M.PRNT_PWER_STTS_CD,
                       L.CBOX_DOOR_STTS_CD  = M.CBOX_DOOR_STTS_CD,
-		              L.FAN_STTS_CD        = M.FAN_STTS_CD,        
+                      L.FRONT_DOOR_STTS_CD = M.FRONT_DOOR_STTS_CD,
+                      L.BACK_DOOR_STTS_CD  = M.BACK_DOOR_STTS_CD,
+                      L.FAN_STTS_CD        = M.FAN_STTS_CD,
 		              L.HETR_STTS_CD       = M.HETR_STTS_CD,
-                      L.SUB_CTLR_VAL       = M.SUB_CTLR_VAL,
                       L.CBOX_TMPR          = M.CBOX_TMPR,
                       L.INPT_VOLT          = M.INPT_VOLT,
-		              L.PRNT_VOLT          = M.PRNT_VOLT
-		WHEN NOT MATCHED THEN                                      
+		              L.PRNT_VOLT          = M.PRNT_VOLT,
+                      L.PRNT_PWER_STTS_CD  = M.PRNT_PWER_STTS_CD,
+                      L.VIDEO_INPUT        = M.VIDEO_INPUT
+		WHEN NOT MATCHED THEN
 		   INSERT (
-                   CTLR_MNGM_NMBR,
+                   VDS_CTLR_NMBR,
 		           UPDT_DT,                                        
 		           CMNC_STTS_CD,
-                   PRNT_PWER_STTS_CD,
                    CBOX_DOOR_STTS_CD,
+                   FRONT_DOOR_STTS_CD,
+                   BACK_DOOR_STTS_CD,
                    FAN_STTS_CD,
 		           HETR_STTS_CD,
-                   SUB_CTLR_VAL,
 		           CBOX_TMPR,
                    INPT_VOLT,
-                   PRNT_VOLT
-		          )                                   
+                   PRNT_VOLT,
+                   PRNT_PWER_STTS_CD,
+                   VIDEO_INPUT
+		          )
 		   VALUES (
-		           M.CTLR_MNGM_NMBR,
+		           M.VDS_CTLR_NMBR,
 		           M.UPDT_DT,                                      
 		           M.CMNC_STTS_CD,                                 
-		           M.PRNT_PWER_STTS_CD,
                    M.CBOX_DOOR_STTS_CD,
+                   M.FRONT_DOOR_STTS_CD,
+                   M.BACK_DOOR_STTS_CD,
                    M.FAN_STTS_CD,
 		           M.HETR_STTS_CD,
-		           M.SUB_CTLR_VAL,
 		           M.CBOX_TMPR,
 		           M.INPT_VOLT,
-		           M.PRNT_VOLT
-		          )                                 
+    	           M.PRNT_VOLT,
+                   M.PRNT_PWER_STTS_CD,
+                   M.VIDEO_INPUT
+		          )
     ]]>
     </update>
 
     <insert id="insertVdsCtlrSttsHs" parameterType="com.its.vds.entity.TbVdsCtlrStts">
     <![CDATA[
-          INSERT INTO TB_VDS_CTLR_STTS_RAW (
-                  OCRR_DT,
-                  CTLR_MNGM_NMBR,
+          INSERT INTO TB_VDS_CTLR_STTS_HS (
+                  CRTN_DT,
+                  VDS_CTLR_NMBR,
 		          CMNC_STTS_CD,
-                  PRNT_PWER_STTS_CD,
-		          CBOX_DOOR_STTS_CD,      
+		          CBOX_DOOR_STTS_CD,
 		          FAN_STTS_CD,            
 		          HETR_STTS_CD,
-                  SUB_CTLR_VAL,
 		          CBOX_TMPR,
                   INPT_VOLT,
-                  PRNT_VOLT
-		         )           
+                  PRNT_VOLT,
+                  PRNT_PWER_STTS_CD,
+                  VIDEO_INPUT
+		         )
           VALUES (
 				  #{stts.UPDT_DT},
 				  #{stts.VDS_CTLR_NMBR},
 				  #{stts.CMNC_STTS_CD},
-                  #{stts.PRNT_PWER_STTS_CD},
                   #{stts.CBOX_DOOR_STTS_CD},
 				  #{stts.FAN_STTS_CD},
 				  #{stts.HETR_STTS_CD},
-				  #{stts.SUB_CTLR_VAL},
                   #{stts.CBOX_TMPR},
 				  #{stts.INPT_VOLT},
-				  #{stts.PRNT_VOLT}
+				  #{stts.PRNT_VOLT},
+                  #{stts.PRNT_PWER_STTS_CD},
+                  #{stts.VIDEO_INPUT}
                  )
     ]]>
     </insert>
@@ -142,89 +149,101 @@
     <update id="batchUpdateVdsCtlrStts" parameterType="java.util.Map">
     <![CDATA[
         MERGE INTO TB_VDS_CTLR_STTS L
-            USING (SELECT #{VDS_CTLR_NMBR} 	    AS CTLR_MNGM_NMBR,
+            USING (SELECT #{VDS_CTLR_NMBR} 	    AS VDS_CTLR_NMBR,
                           #{UPDT_DT} 			AS UPDT_DT,
                           #{CMNC_STTS_CD} 		AS CMNC_STTS_CD,
-                          #{PRNT_PWER_STTS_CD}  AS PRNT_PWER_STTS_CD,
                           #{CBOX_DOOR_STTS_CD}  AS CBOX_DOOR_STTS_CD,
+                          #{FRONT_DOOR_STTS_CD} AS FRONT_DOOR_STTS_CD,
+                          #{BACK_DOOR_STTS_CD}  AS BACK_DOOR_STTS_CD,
                           #{FAN_STTS_CD} 		AS FAN_STTS_CD,
                           #{HETR_STTS_CD} 		AS HETR_STTS_CD,
-                          #{SUB_CTLR_VAL} 		AS SUB_CTLR_VAL,
                           #{CBOX_TMPR} 		    AS CBOX_TMPR,
                           #{INPT_VOLT}          AS INPT_VOLT,
-                          #{PRNT_VOLT}          AS PRNT_VOLT
+                          #{PRNT_VOLT}          AS PRNT_VOLT,
+                          #{PRNT_PWER_STTS_CD}  AS PRNT_PWER_STTS_CD,
+                          #{VIDEO_INPUT}        AS VIDEO_INPUT
                    FROM DUAL) M
-            ON (L.CTLR_MNGM_NMBR = M.CTLR_MNGM_NMBR)
+            ON (L.VDS_CTLR_NMBR = M.VDS_CTLR_NMBR)
             WHEN MATCHED THEN
                 UPDATE SET
                     L.UPDT_DT            = M.UPDT_DT,
                     L.CMNC_STTS_CD       = M.CMNC_STTS_CD,
-                    L.PRNT_PWER_STTS_CD  = M.PRNT_PWER_STTS_CD,
                     L.CBOX_DOOR_STTS_CD  = M.CBOX_DOOR_STTS_CD,
+                    L.FRONT_DOOR_STTS_CD = M.FRONT_DOOR_STTS_CD,
+                    L.BACK_DOOR_STTS_CD  = M.BACK_DOOR_STTS_CD,
                     L.FAN_STTS_CD        = M.FAN_STTS_CD,
                     L.HETR_STTS_CD       = M.HETR_STTS_CD,
-                    L.SUB_CTLR_VAL       = M.SUB_CTLR_VAL,
                     L.CBOX_TMPR          = M.CBOX_TMPR,
                     L.INPT_VOLT          = M.INPT_VOLT,
-                    L.PRNT_VOLT          = M.PRNT_VOLT
+                    L.PRNT_VOLT          = M.PRNT_VOLT,
+                    L.PRNT_PWER_STTS_CD  = M.PRNT_PWER_STTS_CD,
+                    L.VIDEO_INPUT        = M.VIDEO_INPUT
             WHEN NOT MATCHED THEN
                 INSERT (
-                        CTLR_MNGM_NMBR,
+                        VDS_CTLR_NMBR,
                         UPDT_DT,
                         CMNC_STTS_CD,
-                        PRNT_PWER_STTS_CD,
                         CBOX_DOOR_STTS_CD,
+                        FRONT_DOOR_STTS_CD,
+                        BACK_DOOR_STTS_CD,
                         FAN_STTS_CD,
                         HETR_STTS_CD,
-                        SUB_CTLR_VAL,
                         CBOX_TMPR,
                         INPT_VOLT,
-                        PRNT_VOLT
+                        PRNT_VOLT,
+                        PRNT_PWER_STTS_CD,
+                        VIDEO_INPUT
                     )
                     VALUES (
-                               M.CTLR_MNGM_NMBR,
-                               M.UPDT_DT,
-                               M.CMNC_STTS_CD,
-                               M.PRNT_PWER_STTS_CD,
-                               M.CBOX_DOOR_STTS_CD,
-                               M.FAN_STTS_CD,
-                               M.HETR_STTS_CD,
-                               M.SUB_CTLR_VAL,
-                               M.CBOX_TMPR,
-                               M.INPT_VOLT,
-                               M.PRNT_VOLT
-                           )
+                       M.VDS_CTLR_NMBR,
+                       M.UPDT_DT,
+                       M.CMNC_STTS_CD,
+                       M.CBOX_DOOR_STTS_CD,
+                       M.FRONT_DOOR_STTS_CD,
+                       M.BACK_DOOR_STTS_CD,
+                       M.FAN_STTS_CD,
+                       M.HETR_STTS_CD,
+                       M.CBOX_TMPR,
+                       M.INPT_VOLT,
+                       M.PRNT_VOLT,
+                       M.PRNT_PWER_STTS_CD,
+                       M.VIDEO_INPUT
+                   )
         ]]>
     </update>
 
     <insert id="batchInsertVdsCtlrSttsHs" parameterType="java.util.Map">
     <![CDATA[
-        INSERT INTO TB_VDS_CTLR_STTS_RAW (
-            OCRR_DT,
-            CTLR_MNGM_NMBR,
+        INSERT INTO TB_VDS_CTLR_STTS_HS (
+            CRTN_DT,
+            VDS_CTLR_NMBR,
             CMNC_STTS_CD,
-            PRNT_PWER_STTS_CD,
             CBOX_DOOR_STTS_CD,
+            FRONT_DOOR_STTS_CD,
+            BACK_DOOR_STTS_CD,
             FAN_STTS_CD,
             HETR_STTS_CD,
-            SUB_CTLR_VAL,
             CBOX_TMPR,
             INPT_VOLT,
-            PRNT_VOLT
+            PRNT_VOLT,
+            PRNT_PWER_STTS_CD,
+            VIDEO_INPUT
         )
         VALUES (
-                   #{UPDT_DT},
-                   #{VDS_CTLR_NMBR},
-                   #{CMNC_STTS_CD},
-                   #{PRNT_PWER_STTS_CD},
-                   #{CBOX_DOOR_STTS_CD},
-                   #{FAN_STTS_CD},
-                   #{HETR_STTS_CD},
-                   #{SUB_CTLR_VAL},
-                   #{CBOX_TMPR},
-                   #{INPT_VOLT},
-                   #{PRNT_VOLT}
-               )
+           #{UPDT_DT},
+           #{VDS_CTLR_NMBR},
+           #{CMNC_STTS_CD},
+           #{CBOX_DOOR_STTS_CD},
+           #{FRONT_DOOR_STTS_CD},
+           #{BACK_DOOR_STTS_CD},
+           #{FAN_STTS_CD},
+           #{HETR_STTS_CD},
+           #{CBOX_TMPR},
+           #{INPT_VOLT},
+           #{PRNT_VOLT},
+           #{PRNT_PWER_STTS_CD},
+           #{VIDEO_INPUT}
+           )
         ]]>
     </insert>
 </mapper>

+ 202 - 154
src/main/resources/mybatis/mapper/VdsDtctMapper.xml

@@ -5,13 +5,13 @@
 
     <select id="selectAll" resultType="com.its.vds.entity.TbVdsDtct">
     <![CDATA[
-        SELECT B.CTLR_MNGM_NMBR AS VDS_CTLR_NMBR,
-               B.DTCT_NMBR AS VDS_DTCT_NMBR,
-               B.ISTL_LANE AS DETECT_LANE,
+        SELECT B.VDS_CTLR_NMBR,
+               B.VDS_DTCT_NMBR,
+               B.DETECT_LANE,
                B.ISTL_LANE,
-               1 AS SPED_CLCT_YN,
-               1 AS TFVL_CLCT_YN,
-               1 AS OCPY_CLCT_YN,
+               DECODE(B.SPED_CLCT_YN, 'Y', 1, 0) AS SPED_CLCT_YN,
+               DECODE(B.TFVL_CLCT_YN, 'Y', 1, 0) AS TFVL_CLCT_YN,
+               DECODE(B.OCPY_CLCT_YN, 'Y', 1, 0) AS OCPY_CLCT_YN,
                B.MAX_TFVL,
                B.MIN_TFVL,
                B.MAX_OCPY_RATE,
@@ -20,89 +20,91 @@
                B.MIN_SPED,
                B.DEL_YN
         FROM TB_VDS_CTLR A,
-             TB_VDS_DTCT_MSTR B
+             TB_VDS_DTCT B
         WHERE A.DEL_YN = 'N'
           AND B.DEL_YN = 'N'
           AND B.USE_YN = 'Y'
-          AND A.CTLR_MNGM_NMBR = B.CTLR_MNGM_NMBR
-          AND B.ISTL_LANE BETWEEN 1 AND 16
-        ORDER BY B.CTLR_MNGM_NMBR, B.ISTL_LANE
+          AND A.VDS_CTLR_NMBR = B.VDS_CTLR_NMBR
+          AND B.DETECT_LANE BETWEEN 1 AND 16
+        ORDER BY B.VDS_CTLR_NMBR, B.DETECT_LANE, B.ISTL_LANE
     ]]>
     </select>
 
-    <!-- 용인시는 검지기상태정보 생성하지 않음  -->
-<!--    <update id="updateVdsDtctStts" parameterType="com.its.vds.entity.voVdsDtctStts">-->
-<!--    <![CDATA[-->
-<!--		MERGE INTO TB_VDS_DTCT_STTS L                   -->
-<!--		USING (SELECT #{stts.VDS_DTCT_NMBR} AS VDS_DTCT_NMBR,            -->
-<!--		              #{stts.UPDT_DT} 	 	AS UPDT_DT,                  -->
-<!--		              #{stts.DTCT_STTS} 	AS DTCT_STTS                 -->
-<!--		         FROM DUAL) M                           -->
-<!--		        ON (L.VDS_DTCT_NMBR = M.VDS_DTCT_NMBR)  -->
-<!--		WHEN MATCHED THEN                               -->
-<!--		   UPDATE SET L.UPDT_DT   = M.UPDT_DT,          -->
-<!--		              L.DTCT_STTS = M.DTCT_STTS         -->
-<!--		WHEN NOT MATCHED THEN                           -->
-<!--		   INSERT (-->
-<!--		           VDS_DTCT_NMBR,                       -->
-<!--		           UPDT_DT,                             -->
-<!--		           DTCT_STTS -->
-<!--		          )                          -->
-<!--		   VALUES (-->
-<!--		           M.VDS_DTCT_NMBR,                     -->
-<!--		           M.UPDT_DT,                           -->
-<!--		           M.DTCT_STTS -->
-<!--		          )                        -->
-<!--    ]]>-->
-<!--    </update>-->
+    <update id="updateVdsDtctStts" parameterType="com.its.vds.entity.voVdsDtctStts">
+    <![CDATA[
+		MERGE INTO TB_VDS_DTCT_STTS L
+		USING (SELECT #{stts.VDS_DTCT_NMBR} AS VDS_DTCT_NMBR,
+		              #{stts.UPDT_DT} 	 	AS UPDT_DT,
+		              #{stts.DTCT_STTS} 	AS DTCT_STTS
+		         FROM DUAL) M
+		        ON (L.VDS_DTCT_NMBR = M.VDS_DTCT_NMBR)
+		WHEN MATCHED THEN
+		   UPDATE SET L.UPDT_DT   = M.UPDT_DT,
+		              L.DTCT_STTS = M.DTCT_STTS
+		WHEN NOT MATCHED THEN
+		   INSERT (
+		           VDS_DTCT_NMBR,
+		           UPDT_DT,
+		           DTCT_STTS
+		          )
+		   VALUES (
+		           M.VDS_DTCT_NMBR,
+		           M.UPDT_DT,
+		           M.DTCT_STTS
+		          )
+    ]]>
+    </update>
 
-    <!-- 용인시는 검지기상태정보 생성하지 않음  -->
-<!--    <insert id="insertVdsDtctSttsHs" parameterType="com.its.vds.entity.voVdsDtctStts">-->
-<!--    <![CDATA[-->
-<!--          INSERT INTO TB_VDS_DTCT_STTS_HS (   -->
-<!--		          CRTN_DT,                -->
-<!--		          VDS_DTCT_NMBR,          -->
-<!--		          DTCT_STTS -->
-<!--		         )           -->
-<!--          VALUES (-->
-<!--				  #{stts.UPDT_DT},-->
-<!--				  #{stts.VDS_DTCT_NMBR},-->
-<!--				  #{stts.DTCT_STTS}-->
-<!--                 )-->
-<!--    ]]>-->
-<!--    </insert>-->
+    <insert id="insertVdsDtctSttsHs" parameterType="com.its.vds.entity.voVdsDtctStts">
+    <![CDATA[
+          INSERT INTO TB_VDS_DTCT_STTS_HS (
+		          CRTN_DT,
+		          VDS_DTCT_NMBR,
+		          DTCT_STTS
+		         )
+          VALUES (
+				  #{stts.UPDT_DT},
+				  #{stts.VDS_DTCT_NMBR},
+				  #{stts.DTCT_STTS}
+                 )
+    ]]>
+    </insert>
 
     <insert id="insertVdsDtctClct" parameterType="com.its.vds.entity.voVdsDtctClct">
     <![CDATA[
-		INSERT INTO TB_VDS_DTCT_RAW_CLCT (
-            DTCT_NMBR,
-            OCRR_DT,
-            SYST_KIND_DVSN,
+		INSERT INTO TB_VDS_DTCT_CLCT (
+            CLCT_DT,
+            VDS_DTCT_NMBR,
+            TRAF_CLCT_CYCL,
             TFVL,
             SPED,
             AVRG_OCPY_RATE,
             AVRG_LNGT,
-            HDWY
+            HDWY,
+            SPCE_OCPY_RATE,
+            SPCE_AVRG_SPED
           )
 		   VALUES (
-           #{clct.VDS_DTCT_NMBR},
            #{clct.CLCT_DT},
-           #{clct.SYST_KIND_DVSN},
+           #{clct.VDS_DTCT_NMBR},
+           #{clct.TRAF_CLCT_CYCL},
            #{clct.TFVL},
            #{clct.SPED},
            #{clct.AVRG_OCPY_RATE},
            #{clct.AVRG_LNGT},
-           #{clct.HDWY}
+           #{clct.HDWY},
+           #{clct.SPCE_OCPY_RATE},
+           #{clct.SPCE_AVRG_SPED}
       )
     ]]>
     </insert>
 
     <update id="updateVdsDtctClctPnst" parameterType="com.its.vds.entity.voVdsDtctClct">
     <![CDATA[
-        MERGE INTO TB_VDS_DTCT_RAW_PNST L
-            USING (SELECT #{clct.VDS_DTCT_NMBR}  AS DTCT_NMBR,
-                          #{clct.CLCT_DT} 	     AS OCRR_DT,
-                          #{clct.SYST_KIND_DVSN} AS SYST_KIND_DVSN,
+        MERGE INTO TB_VDS_DTCT_CLCT_PNST L
+            USING (SELECT #{clct.VDS_DTCT_NMBR}  AS VDS_DTCT_NMBR,
+                          #{clct.CLCT_DT} 	     AS CLCT_DT,
+                          #{clct.TRAF_CLCT_CYCL} AS TRAF_CLCT_CYCL,
                           #{clct.TFVL}           AS TFVL,
                           #{clct.SPED}           AS SPED,
                           #{clct.AVRG_OCPY_RATE} AS AVRG_OCPY_RATE,
@@ -111,136 +113,182 @@
                           #{clct.SPCE_OCPY_RATE} AS SPCE_OCPY_RATE,
                           #{clct.SPCE_AVRG_SPED} AS SPCE_AVRG_SPED
                    FROM DUAL) M
-            ON (L.DTCT_NMBR = M.DTCT_NMBR)
+            ON (L.VDS_DTCT_NMBR = M.VDS_DTCT_NMBR)
             WHEN MATCHED THEN
-                UPDATE SET L.OCRR_DT        = M.OCRR_DT,
+                UPDATE SET
+                    L.CLCT_DT        = M.CLCT_DT,
+                    L.TRAF_CLCT_CYCL = M.TRAF_CLCT_CYCL,
                     L.TFVL           = M.TFVL,
                     L.SPED           = M.SPED,
                     L.AVRG_OCPY_RATE = M.AVRG_OCPY_RATE,
                     L.AVRG_LNGT      = M.AVRG_LNGT,
-                    L.HDWY           = M.HDWY
+                    L.HDWY           = M.HDWY,
+                    L.SPCE_OCPY_RATE = M.SPCE_OCPY_RATE,
+                    L.SPCE_AVRG_SPED = M.SPCE_AVRG_SPED
             WHEN NOT MATCHED THEN
-                INSERT (
-                        DTCT_NMBR,
-                        OCRR_DT,
-                        SYST_KIND_DVSN,
-                        TFVL,
-                        SPED,
-                        AVRG_OCPY_RATE,
-                        AVRG_LNGT,
-                        HDWY
-                    )
-                    VALUES (M.DTCT_NMBR,
-                            M.OCRR_DT,
-                            M.SYST_KIND_DVSN,
-                            M.TFVL,
-                            M.SPED,
-                            M.AVRG_OCPY_RATE,
-                            M.AVRG_LNGT,
-                            M.HDWY
-                           )
+            INSERT (
+                    VDS_DTCT_NMBR,
+                    CLCT_DT,
+                    TRAF_CLCT_CYCL,
+                    TFVL,
+                    SPED,
+                    AVRG_OCPY_RATE,
+                    AVRG_LNGT,
+                    HDWY,
+                    SPCE_OCPY_RATE,
+                    SPCE_AVRG_SPED
+                )
+            VALUES (M.VDS_DTCT_NMBR,
+                    M.CLCT_DT,
+                    M.TRAF_CLCT_CYCL,
+                    M.TFVL,
+                    M.SPED,
+                    M.AVRG_OCPY_RATE,
+                    M.AVRG_LNGT,
+                    M.HDWY,
+                    M.SPCE_OCPY_RATE,
+                    M.SPCE_AVRG_SPED
+                   )
         ]]>
     </update>
 
     <update id="batchUpdateVdsDtctClctPnst" parameterType="java.util.Map">
     <![CDATA[
-        MERGE INTO TB_VDS_DTCT_RAW_PNST L
-            USING (SELECT #{VDS_DTCT_NMBR}  AS DTCT_NMBR,
-                          #{CLCT_DT} 	    AS OCRR_DT,
-                          #{SYST_KIND_DVSN} AS SYST_KIND_DVSN,
+        MERGE INTO TB_VDS_DTCT_CLCT_PNST L
+            USING (SELECT #{VDS_DTCT_NMBR}  AS VDS_DTCT_NMBR,
+                          #{CLCT_DT} 	    AS CLCT_DT,
+                          #{TRAF_CLCT_CYCL} AS TRAF_CLCT_CYCL,
                           #{TFVL}           AS TFVL,
                           #{SPED}           AS SPED,
                           #{AVRG_OCPY_RATE} AS AVRG_OCPY_RATE,
                           #{AVRG_LNGT}      AS AVRG_LNGT,
-                          #{HDWY}          AS HDWY,
+                          #{HDWY}           AS HDWY,
                           #{SPCE_OCPY_RATE} AS SPCE_OCPY_RATE,
                           #{SPCE_AVRG_SPED} AS SPCE_AVRG_SPED
                    FROM DUAL) M
-            ON (L.DTCT_NMBR = M.DTCT_NMBR)
+            ON (L.VDS_DTCT_NMBR = M.VDS_DTCT_NMBR)
             WHEN MATCHED THEN
                 UPDATE SET
-                    L.OCRR_DT        = M.OCRR_DT,
+                    L.CLCT_DT        = M.CLCT_DT,
+                    L.TRAF_CLCT_CYCL = M.TRAF_CLCT_CYCL,
                     L.TFVL           = M.TFVL,
                     L.SPED           = M.SPED,
                     L.AVRG_OCPY_RATE = M.AVRG_OCPY_RATE,
                     L.AVRG_LNGT      = M.AVRG_LNGT,
-                    L.HDWY           = M.HDWY
+                    L.HDWY           = M.HDWY,
+                    L.SPCE_OCPY_RATE = M.SPCE_OCPY_RATE,
+                    L.SPCE_AVRG_SPED = M.SPCE_AVRG_SPED
             WHEN NOT MATCHED THEN
-                INSERT (
-                        DTCT_NMBR,
-                        OCRR_DT,
-                        SYST_KIND_DVSN,
-                        TFVL,
-                        SPED,
-                        AVRG_OCPY_RATE,
-                        AVRG_LNGT,
-                        HDWY
-                    )
-                    VALUES (M.DTCT_NMBR,
-                            M.OCRR_DT,
-                            M.SYST_KIND_DVSN,
-                            M.TFVL,
-                            M.SPED,
-                            M.AVRG_OCPY_RATE,
-                            M.AVRG_LNGT,
-                            M.HDWY
-                           )
+            INSERT (
+                    VDS_DTCT_NMBR,
+                    CLCT_DT,
+                    TRAF_CLCT_CYCL,
+                    TFVL,
+                    SPED,
+                    AVRG_OCPY_RATE,
+                    AVRG_LNGT,
+                    HDWY,
+                    SPCE_OCPY_RATE,
+                    SPCE_AVRG_SPED
+                )
+            VALUES (M.DTCT_NMBR,
+                    M.CLCT_DT,
+                    M.TRAF_CLCT_CYCL,
+                    M.TFVL,
+                    M.SPED,
+                    M.AVRG_OCPY_RATE,
+                    M.AVRG_LNGT,
+                    M.HDWY,
+                    M.SPCE_OCPY_RATE,
+                    M.SPCE_AVRG_SPED
+                   )
         ]]>
     </update>
 
     <insert id="batchInsertVdsDtctClct" parameterType="java.util.Map">
     <![CDATA[
-        INSERT INTO TB_VDS_DTCT_RAW_CLCT (
-            DTCT_NMBR,
-            OCRR_DT,
-            SYST_KIND_DVSN,
+        INSERT INTO TB_VDS_DTCT_CLCT (
+            VDS_DTCT_NMBR,
+            CLCT_DT,
+            TRAF_CLCT_CYCL,
             TFVL,
             SPED,
             AVRG_OCPY_RATE,
             AVRG_LNGT,
-            HDWY
+            HDWY,
+            SPCE_OCPY_RATE,
+            SPCE_AVRG_SPED
         )
         VALUES (
-                   #{VDS_DTCT_NMBR},
-                   #{CLCT_DT},
-                   #{SYST_KIND_DVSN},
-                   #{TFVL},
-                   #{SPED},
-                   #{AVRG_OCPY_RATE},
-                   #{AVRG_LNGT},
-                   #{HDWY}
-               )
+           #{VDS_DTCT_NMBR},
+           #{CLCT_DT},
+           #{TRAF_CLCT_CYCL},
+           #{TFVL},
+           #{SPED},
+           #{AVRG_OCPY_RATE},
+           #{AVRG_LNGT},
+           #{HDWY},
+           #{SPCE_OCPY_RATE},
+           #{SPCE_AVRG_SPED}
+       )
         ]]>
     </insert>
 
-    <!-- 용인시는 차량통과정보 생성하지 않음  -->
-<!--    <insert id="insertVdsDtctVehClct" parameterType="com.its.vds.entity.voVdsDtctVehClct">-->
-<!--    <![CDATA[-->
-<!--		INSERT INTO TB_VDS_DTCT_VEH_CLCT (  -->
-<!--		            CLCT_DT,                -->
-<!--		            VDS_DTCT_NMBR,          -->
-<!--		            CLCT_SEQ,               -->
-<!--		            DETECT_LANE,            -->
-<!--		            VEH_CLCT_DT,            -->
-<!--		            SYNC_PASS_TIME,         -->
-<!--		            SPED,                   -->
-<!--		            OCPY_TIME,              -->
-<!--		            VEH_TYPE,               -->
-<!--		            HDWY_VEH_TIME           -->
-<!--		   		  ) -->
-<!--		   VALUES (                       -->
-<!--		           #{clct.CLCT_DT},                    -->
-<!--		           #{clct.VDS_DTCT_NMBR},                    -->
-<!--		           #{clct.CLCT_SEQ},                    -->
-<!--		           #{clct.DETECT_LANE},                    -->
-<!--		           #{clct.VEH_CLCT_DT},                    -->
-<!--		           #{clct.SYNC_PASS_TIME},                    -->
-<!--		           #{clct.SPED},                    -->
-<!--		           #{clct.OCPY_TIME},                    -->
-<!--		           #{clct.VEH_TYPE},                    -->
-<!--		           #{clct.HDWY_VEH_TIME} -->
-<!--		          )                   -->
-<!--    ]]>-->
-<!--    </insert>-->
+    <insert id="insertVdsDtctVehClct" parameterType="com.its.vds.entity.voVdsDtctVehClct">
+    <![CDATA[
+        INSERT INTO TB_VDS_DTCT_VEH_CLCT (
+            CLCT_DT,
+            VDS_DTCT_NMBR,
+            CLCT_SEQ,
+            DETECT_LANE,
+            VEH_CLCT_DT,
+            SYNC_PASS_TIME,
+            SPED,
+            OCPY_TIME,
+            VEH_TYPE,
+            HDWY_VEH_TIME
+        )
+        VALUES (
+           #{clct.CLCT_DT},
+           #{clct.VDS_DTCT_NMBR},
+           #{clct.CLCT_SEQ},
+           #{clct.DETECT_LANE},
+           #{clct.VEH_CLCT_DT},
+           #{clct.SYNC_PASS_TIME},
+           #{clct.SPED},
+           #{clct.OCPY_TIME},
+           #{clct.VEH_TYPE},
+           #{clct.HDWY_VEH_TIME}
+       )
+        ]]>
+    </insert>
+    <insert id="batchInsertVdsDtctVehClct" parameterType="java.util.Map">
+    <![CDATA[
+        INSERT INTO TB_VDS_DTCT_VEH_CLCT (
+            CLCT_DT,
+            VDS_DTCT_NMBR,
+            CLCT_SEQ,
+            DETECT_LANE,
+            VEH_CLCT_DT,
+            SYNC_PASS_TIME,
+            SPED,
+            OCPY_TIME,
+            VEH_TYPE,
+            HDWY_VEH_TIME
+        )
+        VALUES (
+           #{CLCT_DT},
+           #{VDS_DTCT_NMBR},
+           #{CLCT_SEQ},
+           #{DETECT_LANE},
+           #{VEH_CLCT_DT},
+           #{SYNC_PASS_TIME},
+           #{SPED},
+           #{OCPY_TIME},
+           #{VEH_TYPE},
+           #{HDWY_VEH_TIME}
+       )
+        ]]>
+    </insert>
 
 </mapper>

+ 118 - 107
src/main/resources/mybatis/mapper/VdsStatMapper.xml

@@ -2,106 +2,113 @@
 <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
 
 <mapper namespace="com.its.vds.dao.mapper.VdsStatMapper">
-    <!-- 용인시는 5분 통계정보 생성하지 않음  -->
-<!--    <insert id="CRT_TB_VDS_DTCT_HS" parameterType="com.its.vds.vo.voStatisticsTime">-->
-<!--    <![CDATA[-->
-<!--		INSERT INTO TB_VDS_DTCT_HS (      PRCN_DT,                 -->
-<!--		                                  VDS_DTCT_NMBR,           -->
-<!--		                                  TFVL,                    -->
-<!--		                                  SPED,                    -->
-<!--		                                  AVRG_OCPY_RATE,          -->
-<!--		                                  AVRG_LNGT,               -->
-<!--		                                  HDWY,                    -->
-<!--		                                  SPCE_OCPY_RATE,          -->
-<!--		                                  SPCE_AVRG_SPED           -->
-<!--		                                 )                         -->
-<!--		SELECT  #{prcs.STAT_DT}               AS PRCN_DT,          -->
-<!--		        VDS_DTCT_NMBR                 AS VDS_DTCT_NMBR,    -->
-<!--		        SUM(TFVL)                     AS TFVL,             -->
-<!--		        ROUND(AVG(SPED), 0)           AS SPED,             -->
-<!--		        AVG(AVRG_OCPY_RATE)           AS AVRG_OCPY_RATE,   -->
-<!--		        AVG(AVRG_LNGT)                AS AVRG_LNGT,        -->
-<!--		        ROUND(AVG(HDWY), 0)           AS HDWY,             -->
-<!--		        AVG(SPCE_OCPY_RATE)           AS SPCE_OCPY_RATE,   -->
-<!--		        ROUND(AVG(SPCE_AVRG_SPED), 0) AS SPCE_AVRG_SPED    -->
-<!--		  FROM TB_VDS_DTCT_CLCT-->
-<!--		 WHERE CLCT_DT BETWEEN #{prcs.FROM_DT} AND #{prcs.TO_DT}                      -->
-<!--		 GROUP BY VDS_DTCT_NMBR                                    -->
-<!--    ]]>-->
-<!--    </insert>-->
+
+    <insert id="CRT_TB_VDS_DTCT_HS" parameterType="com.its.vds.vo.voStatisticsTime">
+    <![CDATA[
+		INSERT INTO TB_VDS_DTCT_HS (PRCN_DT,
+		                            VDS_DTCT_NMBR,
+		                            TFVL,
+		                            SPED,
+		                            AVRG_OCPY_RATE,
+		                            AVRG_LNGT,
+		                            HDWY,
+		                            SPCE_OCPY_RATE,
+		                            SPCE_AVRG_SPED
+
+		SELECT  #{prcs.STAT_DT}               AS PRCN_DT,
+		        VDS_DTCT_NMBR                 AS VDS_DTCT_NMBR,
+		        SUM(TFVL)                     AS TFVL,
+		        ROUND(AVG(SPED), 0)           AS SPED,
+		        AVG(AVRG_OCPY_RATE)           AS AVRG_OCPY_RATE,
+		        AVG(AVRG_LNGT)                AS AVRG_LNGT,
+		        ROUND(AVG(HDWY), 0)           AS HDWY,
+		        AVG(SPCE_OCPY_RATE)           AS SPCE_OCPY_RATE,
+		        ROUND(AVG(SPCE_AVRG_SPED), 0) AS SPCE_AVRG_SPED
+		  FROM TB_VDS_DTCT_CLCT
+		 WHERE CLCT_DT BETWEEN #{prcs.FROM_DT} AND #{prcs.TO_DT}
+		 GROUP BY VDS_DTCT_NMBR
+    ]]>
+    </insert>
 
     <insert id="CRT_TB_VDS_DTCT_15M_STAT" parameterType="com.its.vds.vo.voStatisticsTime">
     <![CDATA[
 		INSERT INTO TB_VDS_DTCT_15M_STAT (STAT_DT,
-                                          DTCT_NMBR,
-                                          SYST_KIND_DVSN,
-		                                  TFVL,                        
+                                          VDS_DTCT_NMBR,
+		                                  TFVL,
 		                                  AVRG_SPED,                   
 		                                  AVRG_OCPY_RATE,              
 		                                  AVRG_LNGT,                   
-		                                  AVRG_HDWY
+		                                  AVRG_HDWY,
+                                          AVRG_SPCE_OCPY_RATE,
+                                          AVRG_SPCE_AVRG_SPED
 		                                 )                             
 		SELECT  #{prcs.STAT_DT}               AS STAT_DT,
-                DTCT_NMBR                     AS DTCT_NMBR,
-                MIN(SYST_KIND_DVSN)           AS SYST_KIND_DVSN,
-		        SUM(TFVL)                     AS TFVL,                 
-		        ROUND(AVG(SPED), 0)           AS AVRG_SPED,            
-		        AVG(AVRG_OCPY_RATE)           AS AVRG_OCPY_RATE,       
-		        AVG(AVRG_LNGT)                AS AVRG_LNGT,            
-		        ROUND(AVG(HDWY), 0)           AS AVRG_HDWY
-		  FROM TB_VDS_DTCT_RAW_CLCT
-		 WHERE OCRR_DT BETWEEN #{prcs.FROM_DT} AND #{prcs.TO_DT}
-		 GROUP BY DTCT_NMBR
+                VDS_DTCT_NMBR                 AS VDS_DTCT_NMBR,
+		        SUM(TFVL)                     AS TFVL,
+		        ROUND(AVG(SPED), 0)           AS AVRG_SPED,
+		        AVG(AVRG_OCPY_RATE)           AS AVRG_OCPY_RATE,
+		        AVG(AVRG_LNGT)                AS AVRG_LNGT,
+                ROUND(AVG(HDWY), 0)           AS AVRG_HDWY,
+                AVG(SPCE_OCPY_RATE)           AS AVRG_SPCE_OCPY_RATE,
+		        ROUND(AVG(SPCE_AVRG_SPED), 0) AS AVRG_SPCE_AVRG_SPED
+		  FROM TB_VDS_DTCT_CLCT
+		 WHERE CLCT_DT BETWEEN #{prcs.FROM_DT} AND #{prcs.TO_DT}
+		 GROUP BY VDS_DTCT_NMBR
     ]]>
     </insert>
 
     <insert id="CRT_TB_VDS_DTCT_HH_STAT" parameterType="com.its.vds.vo.voStatisticsTime">
     <![CDATA[
 		INSERT INTO TB_VDS_DTCT_HH_STAT (STAT_DT,
-                                         DTCT_NMBR,
-                                         SYST_KIND_DVSN,
+                                         VDS_DTCT_NMBR,
 		                                 TFVL,                              
 		                                 AVRG_SPED,                         
 		                                 AVRG_OCPY_RATE,                    
 		                                 AVRG_LNGT,                         
-		                                 AVRG_HDWY
+		                                 AVRG_HDWY,
+                                         AVRG_SPCE_OCPY_RATE,
+                                         AVRG_SPCE_AVRG_SPED
 		                                )                                   
 		SELECT  #{prcs.STAT_DT}                    AS STAT_DT,
-                DTCT_NMBR                          AS DTCT_NMBR,
-                MIN(SYST_KIND_DVSN)                AS SYST_KIND_DVSN,
+                VDS_DTCT_NMBR                      AS VDS_DTCT_NMBR,
 		        SUM(TFVL)                          AS TFVL,                 
 		        ROUND(AVG(AVRG_SPED), 0)           AS AVRG_SPED,            
-		        AVG(AVRG_OCPY_RATE)                AS AVRG_OCPY_RATE,       
-		        AVG(AVRG_LNGT)                     AS AVRG_LNGT,            
-		        ROUND(AVG(AVRG_HDWY), 0)           AS AVRG_HDWY
-		  FROM TB_VDS_DTCT_15M_STAT                                         
+		        AVG(AVRG_OCPY_RATE)                AS AVRG_OCPY_RATE,
+                AVG(AVRG_LNGT)                     AS AVRG_LNGT,
+                ROUND(AVG(AVRG_HDWY), 0)           AS AVRG_HDWY,
+                AVG(AVRG_SPCE_OCPY_RATE)           AS AVRG_SPCE_OCPY_RATE,
+		        ROUND(AVG(AVRG_SPCE_AVRG_SPED), 0) AS AVRG_SPCE_AVRG_SPED
+		  FROM TB_VDS_DTCT_15M_STAT
 		 WHERE STAT_DT BETWEEN #{prcs.FROM_DT} AND #{prcs.TO_DT}                              
-		 GROUP BY DTCT_NMBR
+		 GROUP BY VDS_DTCT_NMBR
     ]]>
     </insert>
 
     <insert id="CRT_TB_VDS_DTCT_DD_STAT" parameterType="com.its.vds.vo.voStatisticsTime">
     <![CDATA[
 		INSERT INTO TB_VDS_DTCT_DD_STAT (STAT_DT,
-                                         DTCT_NMBR,
-                                         SYST_KIND_DVSN,
+                                         VDS_DTCT_NMBR,
 		                                 TFVL,                              
 		                                 AVRG_SPED,                         
 		                                 AVRG_OCPY_RATE,                    
-		                                 AVRG_LNGT,                         
-		                                 AVRG_HDWY
+		                                 AVRG_LNGT,
+                                         AVRG_HDWY,
+                                         AVRG_SPCE_OCPY_RATE,
+                                         AVRG_SPCE_AVRG_SPED
 		                                )                                   
 		SELECT  #{prcs.STAT_DT}                    AS STAT_DT,
-                DTCT_NMBR                          AS DTCT_NMBR,
+                VDS_DTCT_NMBR                      AS VDS_DTCT_NMBR,
                 MIN(SYST_KIND_DVSN)                AS SYST_KIND_DVSN,
 		        SUM(TFVL)                          AS TFVL,                 
 		        ROUND(AVG(AVRG_SPED), 0)           AS AVRG_SPED,            
 		        AVG(AVRG_OCPY_RATE)                AS AVRG_OCPY_RATE,       
-		        AVG(AVRG_LNGT)                     AS AVRG_LNGT,            
-		        ROUND(AVG(AVRG_HDWY), 0)           AS AVRG_HDWY
+		        AVG(AVRG_LNGT)                     AS AVRG_LNGT,
+                ROUND(AVG(AVRG_HDWY), 0)           AS AVRG_HDWY,
+                AVG(AVRG_SPCE_OCPY_RATE)           AS AVRG_SPCE_OCPY_RATE,
+                ROUND(AVG(AVRG_SPCE_AVRG_SPED), 0) AS AVRG_SPCE_AVRG_SPED
 		  FROM TB_VDS_DTCT_HH_STAT                                          
 		 WHERE STAT_DT BETWEEN #{prcs.FROM_DT} AND #{prcs.TO_DT}                               
-		 GROUP BY DTCT_NMBR
+		 GROUP BY VDS_DTCT_NMBR
     ]]>
     </insert>
 
@@ -110,65 +117,69 @@
 		MERGE INTO TB_VDS_DTCT_MN_STAT L                                    
 		USING (                                                             
 		SELECT  #{prcs.STAT_DT}                    AS STAT_DT,
-                DTCT_NMBR                          AS DTCT_NMBR,
-                MIN(SYST_KIND_DVSN)                AS SYST_KIND_DVSN,
+                VDS_DTCT_NMBR                      AS VDS_DTCT_NMBR,
 		        SUM(TFVL)                          AS TFVL,                 
 		        ROUND(AVG(AVRG_SPED), 0)           AS AVRG_SPED,            
 		        AVG(AVRG_OCPY_RATE)                AS AVRG_OCPY_RATE,       
-		        AVG(AVRG_LNGT)                     AS AVRG_LNGT,            
-		        ROUND(AVG(AVRG_HDWY), 0)           AS AVRG_HDWY
+		        AVG(AVRG_LNGT)                     AS AVRG_LNGT,
+                ROUND(AVG(AVRG_HDWY), 0)           AS AVRG_HDWY,
+                AVG(AVRG_SPCE_OCPY_RATE)           AS AVRG_SPCE_OCPY_RATE,
+                ROUND(AVG(AVRG_SPCE_AVRG_SPED), 0) AS AVRG_SPCE_AVRG_SPED
 		  FROM TB_VDS_DTCT_DD_STAT                                          
 		 WHERE STAT_DT BETWEEN #{prcs.FROM_DT} AND #{prcs.TO_DT}                                
-		 GROUP BY DTCT_NMBR ) M
-		ON (L.STAT_DT = M.STAT_DT AND L.DTCT_NMBR = M.DTCT_NMBR AND L.SYST_KIND_DVSN = M.SYST_KIND_DVSN)
+		 GROUP BY VDS_DTCT_NMBR ) M
+		ON (L.STAT_DT        = M.STAT_DT
+		AND L.VDS_DTCT_NMBR  = M.VDS_DTCT_NMBR)
 		WHEN MATCHED THEN UPDATE SET
                L.TFVL                = M.TFVL,
 		       L.AVRG_SPED           = M.AVRG_SPED,                         
 		       L.AVRG_OCPY_RATE      = M.AVRG_OCPY_RATE,                    
-		       L.AVRG_LNGT           = M.AVRG_LNGT,                         
-		       L.AVRG_HDWY           = M.AVRG_HDWY
-		WHEN NOT MATCHED THEN                                               
-		INSERT(L.STAT_DT, L.DTCT_NMBR, L.SYST_KIND_DVSN, L.TFVL, L.AVRG_SPED,
-		       L.AVRG_OCPY_RATE, L.AVRG_LNGT, L.AVRG_HDWY )
-		VALUES(M.STAT_DT, M.DTCT_NMBR, M.SYST_KIND_DVSN, M.TFVL, M.AVRG_SPED,
-		       M.AVRG_OCPY_RATE, M.AVRG_LNGT, M.AVRG_HDWY )
+		       L.AVRG_LNGT           = M.AVRG_LNGT,
+               L.AVRG_HDWY           = M.AVRG_HDWY,
+               L.AVRG_SPCE_OCPY_RATE = M.AVRG_SPCE_OCPY_RATE,
+		       L.AVRG_SPCE_AVRG_SPED = M.AVRG_SPCE_AVRG_SPED
+		WHEN NOT MATCHED THEN
+		INSERT(L.STAT_DT, L.VDS_DTCT_NMBR, L.TFVL, L.AVRG_SPED,
+		       L.AVRG_OCPY_RATE, L.AVRG_LNGT, L.AVRG_HDWY, L.AVRG_SPCE_OCPY_RATE, L.AVRG_SPCE_AVRG_SPED )
+		VALUES(M.STAT_DT, M.VDS_DTCT_NMBR, M.TFVL, M.AVRG_SPED,
+		       M.AVRG_OCPY_RATE, M.AVRG_LNGT, M.AVRG_HDWY, M.AVRG_SPCE_OCPY_RATE, M.AVRG_SPCE_AVRG_SPED )
     ]]>
     </update>
 
-    <!-- 용인시는 년 통계정보 생성하지 않음  -->
-<!--    <update id="CRT_TB_VDS_DTCT_YY_STAT" parameterType="com.its.vds.vo.voStatisticsTime">-->
-<!--    <![CDATA[-->
-<!--		MERGE INTO TB_VDS_DTCT_YY_STAT L                                    -->
-<!--		USING (                                                             -->
-<!--		SELECT  #{prcs.STAT_DT}                    AS STAT_DT,              -->
-<!--		        VDS_DTCT_NMBR                      AS VDS_DTCT_NMBR,        -->
-<!--		        SUM(TFVL)                          AS TFVL,                 -->
-<!--		        ROUND(AVG(AVRG_SPED), 0)           AS AVRG_SPED,            -->
-<!--		        AVG(AVRG_OCPY_RATE)                AS AVRG_OCPY_RATE,       -->
-<!--		        AVG(AVRG_LNGT)                     AS AVRG_LNGT,            -->
-<!--		        ROUND(AVG(AVRG_HDWY), 0)           AS AVRG_HDWY,            -->
-<!--		        AVG(AVRG_SPCE_OCPY_RATE)           AS AVRG_SPCE_OCPY_RATE,  -->
-<!--		        ROUND(AVG(AVRG_SPCE_AVRG_SPED), 0) AS AVRG_SPCE_AVRG_SPED   -->
-<!--		  FROM TB_VDS_DTCT_MN_STAT                                          -->
-<!--		 WHERE STAT_DT BETWEEN #{prcs.FROM_DT} AND #{prcs.TO_DT}                                -->
-<!--		 GROUP BY VDS_DTCT_NMBR ) M                                         -->
-<!--		ON (L.STAT_DT = M.STAT_DT AND L.VDS_DTCT_NMBR = M.VDS_DTCT_NMBR)    -->
-<!--		WHEN MATCHED THEN UPDATE SET                                        -->
-<!--		       L.TFVL                = M.TFVL,                              -->
-<!--		       L.AVRG_SPED           = M.AVRG_SPED,                         -->
-<!--		       L.AVRG_OCPY_RATE      = M.AVRG_OCPY_RATE,                    -->
-<!--		       L.AVRG_LNGT           = M.AVRG_LNGT,                         -->
-<!--		       L.AVRG_HDWY           = M.AVRG_HDWY,                         -->
-<!--		       L.AVRG_SPCE_OCPY_RATE = M.AVRG_SPCE_OCPY_RATE,               -->
-<!--		       L.AVRG_SPCE_AVRG_SPED = M.AVRG_SPCE_AVRG_SPED                -->
-<!--		WHEN NOT MATCHED THEN                                               -->
-<!--		INSERT(L.STAT_DT, L.VDS_DTCT_NMBR, L.TFVL, L.AVRG_SPED,             -->
-<!--		       L.AVRG_OCPY_RATE, L.AVRG_LNGT, L.AVRG_HDWY,                  -->
-<!--		       L.AVRG_SPCE_OCPY_RATE, L.AVRG_SPCE_AVRG_SPED )               -->
-<!--		VALUES(M.STAT_DT, M.VDS_DTCT_NMBR, M.TFVL, M.AVRG_SPED,             -->
-<!--		       M.AVRG_OCPY_RATE, M.AVRG_LNGT, M.AVRG_HDWY,                  -->
-<!--		       M.AVRG_SPCE_OCPY_RATE, M.AVRG_SPCE_AVRG_SPED )               -->
-<!--    ]]>-->
-<!--    </update>-->
+    <update id="CRT_TB_VDS_DTCT_YY_STAT" parameterType="com.its.vds.vo.voStatisticsTime">
+    <![CDATA[
+		MERGE INTO TB_VDS_DTCT_YY_STAT L
+		USING (
+		SELECT  #{prcs.STAT_DT}                    AS STAT_DT,
+		        VDS_DTCT_NMBR                      AS VDS_DTCT_NMBR,
+		        SUM(TFVL)                          AS TFVL,
+		        ROUND(AVG(AVRG_SPED), 0)           AS AVRG_SPED,
+		        AVG(AVRG_OCPY_RATE)                AS AVRG_OCPY_RATE,
+		        AVG(AVRG_LNGT)                     AS AVRG_LNGT,
+		        ROUND(AVG(AVRG_HDWY), 0)           AS AVRG_HDWY,
+		        AVG(AVRG_SPCE_OCPY_RATE)           AS AVRG_SPCE_OCPY_RATE,
+		        ROUND(AVG(AVRG_SPCE_AVRG_SPED), 0) AS AVRG_SPCE_AVRG_SPED
+		  FROM TB_VDS_DTCT_MN_STAT
+		 WHERE STAT_DT BETWEEN #{prcs.FROM_DT} AND #{prcs.TO_DT}
+		 GROUP BY VDS_DTCT_NMBR ) M
+		ON (L.STAT_DT       = M.STAT_DT
+		AND L.VDS_DTCT_NMBR = M.VDS_DTCT_NMBR)
+		WHEN MATCHED THEN UPDATE SET
+		       L.TFVL                = M.TFVL,
+		       L.AVRG_SPED           = M.AVRG_SPED,
+		       L.AVRG_OCPY_RATE      = M.AVRG_OCPY_RATE,
+		       L.AVRG_LNGT           = M.AVRG_LNGT,
+		       L.AVRG_HDWY           = M.AVRG_HDWY,
+		       L.AVRG_SPCE_OCPY_RATE = M.AVRG_SPCE_OCPY_RATE,
+		       L.AVRG_SPCE_AVRG_SPED = M.AVRG_SPCE_AVRG_SPED
+		WHEN NOT MATCHED THEN
+		INSERT(L.STAT_DT, L.VDS_DTCT_NMBR, L.TFVL, L.AVRG_SPED,
+		       L.AVRG_OCPY_RATE, L.AVRG_LNGT, L.AVRG_HDWY,
+		       L.AVRG_SPCE_OCPY_RATE, L.AVRG_SPCE_AVRG_SPED )
+		VALUES(M.STAT_DT, M.VDS_DTCT_NMBR, M.TFVL, M.AVRG_SPED,
+		       M.AVRG_OCPY_RATE, M.AVRG_LNGT, M.AVRG_HDWY,
+		       M.AVRG_SPCE_OCPY_RATE, M.AVRG_SPCE_AVRG_SPED )
+    ]]>
+    </update>
 
 </mapper>