shjung 2 năm trước cách đây
mục cha
commit
af3d36dfea
24 tập tin đã thay đổi với 143 bổ sung355 xóa
  1. 2 2
      src/main/java/com/its/cctv/CctvCommServerApplication.java
  2. 21 60
      src/main/java/com/its/cctv/entity/TbCctvCtlr.java
  3. 0 12
      src/main/java/com/its/cctv/service/CctvCtlrService.java
  4. 6 2
      src/main/java/com/its/cctv/ui/CtlrSttsTableModel.java
  5. 6 6
      src/main/java/com/its/cctv/ui/MainUI.form
  6. 11 9
      src/main/java/com/its/cctv/ui/MainUI.java
  7. 1 1
      src/main/java/com/its/cctv/ui/SubUI.java
  8. 0 22
      src/main/java/com/its/cctv/vo/voStatisticsTime.java
  9. 0 6
      src/main/java/com/its/cctv/webapp/controller/WebAppController.java
  10. 0 71
      src/main/java/com/its/cctv/xnettcp/TcpServerCtlrComm.java
  11. 2 2
      src/main/java/com/its/cctv/xnettcp/cctv/CctvTcpClient.java
  12. 0 16
      src/main/java/com/its/cctv/xnettcp/cctv/CctvTcpClientBootstrapFactory.java
  13. 0 6
      src/main/java/com/its/cctv/xnettcp/cctv/codec/CctvTcpClientDecoder.java
  14. 1 1
      src/main/java/com/its/cctv/xnettcp/cctv/process/CctvDataProcess.java
  15. 1 3
      src/main/java/com/its/cctv/xnettcp/cctv/process/Job_ParamRes.java
  16. 4 4
      src/main/java/com/its/cctv/xnettcp/cctv/protocol/CctvProtocol.java
  17. 2 3
      src/main/java/com/its/cctv/xnettcp/cctv/protocol/CctvReqCharDel.java
  18. 1 1
      src/main/java/com/its/cctv/xnettcp/cctv/protocol/CctvReqCharFix.java
  19. 24 20
      src/main/java/com/its/cctv/xnettcp/cctv/protocol/CctvReqCharVar.java
  20. 7 7
      src/main/java/com/its/cctv/xnettcp/center/handler/CenterTcpServerInboundHandler.java
  21. 2 2
      src/main/java/com/its/cctv/xnettcp/center/protocol/CenterResProtocol.java
  22. 50 53
      src/main/java/com/its/cctv/xnetudp/protocol/CENTER_VDS_RES_STATE.java
  23. 0 29
      src/main/java/com/its/cctv/xnetudp/protocol/voVdsState.java
  24. 2 17
      src/main/java/com/its/cctv/xnetudp/service/CenterCommResponseService.java

+ 2 - 2
src/main/java/com/its/cctv/CctvCommServerApplication.java

@@ -55,7 +55,7 @@ public class CctvCommServerApplication implements CommandLineRunner, Application
             log.error("Program Already Running.....");
         }
 
-        if (!OS.isWindows()) {
+        if (OS.isWindows()) {
             ApplicationContext context = new SpringApplicationBuilder(CctvCommServerApplication.class)
                     //.web(WebApplicationType.NONE)
                     .listeners(new ApplicationPidFileWriter("./conf/" + applicationName + ".pid"))
@@ -113,7 +113,7 @@ public class CctvCommServerApplication implements CommandLineRunner, Application
         // schedule enable
         processConfig.setStartSchedule(true);
 
-        if (!OS.isWindows()) {
+        if (OS.isWindows()) {
             SwingUtilities.invokeLater(() -> {
                 String sysTime = SysUtils.getSysTimeStr();
                 //JFrame.setDefaultLookAndFeelDecorated(true);

+ 21 - 60
src/main/java/com/its/cctv/entity/TbCctvCtlr.java

@@ -3,8 +3,10 @@ package com.its.cctv.entity;
 import com.its.app.utils.SysUtils;
 import com.its.cctv.domain.NET;
 import com.its.cctv.xnettcp.cctv.handler.CctvTcpClientIdleHandler;
-import com.its.cctv.xnettcp.cctv.protocol.*;
-import com.its.cctv.xnetudp.protocol.voVdsState;
+import com.its.cctv.xnettcp.cctv.protocol.CctvProtocol;
+import com.its.cctv.xnettcp.cctv.protocol.CctvReqParam;
+import com.its.cctv.xnettcp.cctv.protocol.CctvReqResetHw;
+import com.its.cctv.xnettcp.cctv.protocol.CctvReqState;
 import io.netty.channel.Channel;
 import io.netty.channel.ChannelFuture;
 import lombok.Getter;
@@ -55,7 +57,6 @@ public class TbCctvCtlr {
 
 	private CctvReqState reqState = null;
 	private CctvReqParam reqParam = null;
-	private CctvReqTraffic reqTraffic = null;
 
 	public Integer getId() {
 		return Integer.parseInt(this.CCTV_CTLR_NMBR);
@@ -155,7 +156,7 @@ public class TbCctvCtlr {
 			f.awaitUninterruptibly();
 			if (f.isDone() || f.isSuccess()) {
 				result = true;
-				//log.info("[{}]. sendData: OK. {}, {} Bytes.", this.VDS_CTLR_ID, packetDesc, sendBuffer.array().length);
+				log.info("[{}]. sendData: OK. {}, {} Bytes.", this.CCTV_CTLR_ID, packetDesc, sendBuffer.array().length);
 				if (delayMilliSeconds > 0) {
 					CctvProtocol.sleep(delayMilliSeconds);
 				}
@@ -168,24 +169,6 @@ public class TbCctvCtlr {
 		return result;
 	}
 
-	public voVdsState getCtlrStts() {
-		voVdsState ss = new voVdsState();
-		ss.setCTLR_NMBR(getCCTV_CTLR_NMBR());
-		ss.setComm(getStts().getSttsComm());				//Comm
-		ss.setVideoInput(getStts().getSttsVideoInput());	//VideoInput
-		ss.setHeater(getStts().getSttsHeater());			//Heater
-		ss.setFan(getStts().getSttsFan());				    //Fan
-		ss.setBackDoorOpen(getStts().getSttsBackDoor());	//BackDoorOpen
-		ss.setFrontDoorOpen(getStts().getSttsFrontDoor());	//FrontDoorOpen
-		ss.setTemperature(getStts().getSttsTemp());		    //Temperature
-		ss.setFanMode(getStts().getSttsFanMode());			//FanMode
-		ss.setFanRunTemp(getStts().getSttsFanRunTemp());	//FanRunTemp
-		ss.setHetrMode(getStts().getSttsHetrMode());		//HetrMode
-		ss.setHetrRunTemp(getStts().getSttsHetrRunTemp());	//HetrRunTemp
-
-		return ss;
-	}
-
 	public boolean channelClose() {
 		if (getChannel() == null || getNetState() == NET.CLOSED) {
 			log.error("Close Request: channel not connected: [{}]", this);
@@ -197,55 +180,33 @@ public class TbCctvCtlr {
 
 	public boolean resetHw() {
 		if (getChannel() == null || getNetState() == NET.CLOSED) {
-			log.error("Reset Request: channel not connected: [{}]", this);
+			log.error("Hardware Reset Request: channel not connected: [{}]", this);
+			return false;
+		}
+		CctvReqResetHw req = new CctvReqResetHw((byte)this.CCTV_CTLR_LOCAL_NO);
+		req.makeCRC();
+		ByteBuffer sendBuffer = req.getByteBuffer();
+		if (!sendData(sendBuffer, 0, "cctv_ResetHw")) {
+			log.error("Hardware Reset Data Send Failed: [{}]", this);
 			return false;
 		}
-//		CctvReqReset vdsReq = new CctvReqReset((short)getGROUP_NO(), (short) getCCTV_CTLR_LOCAL_NO());
-//		vdsReq.makeCRC();
-//		ByteBuffer sendBuffer = vdsReq.getByteBuffer();
-//		if (!sendData(sendBuffer, 0, "vds_Reset")) {
-//			log.error("Reset Data Send Failed: [{}]", this);
-//			return false;
-//		} else {
-//			log.error("Reset Data Send Failed: [{}]", this);
-//			return true;
-//		}
+		log.error("Hardware Reset Data Send Failed: [{}]", this);
 		return true;
 	}
 
 	public boolean resetSw() {
 		if (getChannel() == null || getNetState() == NET.CLOSED) {
-			log.error("Reset Request: channel not connected: [{}]", this);
+			log.error("Software Reset Request: channel not connected: [{}]", this);
 			return false;
 		}
-//		CctvReqReset vdsReq = new CctvReqReset((short)getGROUP_NO(), (short) getCCTV_CTLR_LOCAL_NO());
-//		vdsReq.makeCRC();
-//		ByteBuffer sendBuffer = vdsReq.getByteBuffer();
-//		if (!sendData(sendBuffer, 0, "vds_Reset")) {
-//			log.error("Reset Data Send Failed: [{}]", this);
-//			return false;
-//		} else {
-//			log.error("Reset Data Send Failed: [{}]", this);
-//			return true;
-//		}
-		return true;
-	}
-
-	public boolean initialize() {
-		if (getChannel() == null || getNetState() == NET.CLOSED) {
-			log.error("Initialize Request: channel not connected: [{}]", this);
+		CctvReqResetHw req = new CctvReqResetHw((byte)this.CCTV_CTLR_LOCAL_NO);
+		req.makeCRC();
+		ByteBuffer sendBuffer = req.getByteBuffer();
+		if (!sendData(sendBuffer, 0, "cctv_ResetHw")) {
+			log.error("Software Reset Data Send Failed: [{}]", this);
 			return false;
 		}
-//		CctvReqInitialize vdsReq = new CctvReqInitialize((short)getGROUP_NO(), (short) getCCTV_CTLR_LOCAL_NO());
-//		vdsReq.makeCRC();
-//		ByteBuffer sendBuffer = vdsReq.getByteBuffer();
-//		if (!sendData(sendBuffer, 0, "vds_Initialize")) {
-//			log.error("Initialize Data Send Failed: [{}]", this);
-//			return false;
-//		} else {
-//			log.error("Initialize Data Send Failed: [{}]", this);
-//			return true;
-//		}
+		log.error("Software Reset Data Send Failed: [{}]", this);
 		return true;
 	}
 

+ 0 - 12
src/main/java/com/its/cctv/service/CctvCtlrService.java

@@ -10,8 +10,6 @@ import com.its.cctv.global.AppRepository;
 import com.its.cctv.process.DbmsData;
 import com.its.cctv.process.DbmsDataProcess;
 import com.its.cctv.process.DbmsDataType;
-import com.its.cctv.xnetudp.protocol.CENTER_VDS_RES_STATE;
-import com.its.cctv.xnetudp.protocol.voVdsState;
 import lombok.RequiredArgsConstructor;
 import lombok.extern.slf4j.Slf4j;
 import org.slf4j.MDC;
@@ -59,7 +57,6 @@ public class CctvCtlrService {
         initCtrl();
         try {
             List<TbCctvCtlr> infoList = this.cctvCtlrMapper.selectAll();
-            log.error("loadCtlr: {} EA.", infoList.size());
             for (TbCctvCtlr obj : infoList) {
                 obj.setCCTV_CTLR_IP(obj.getCCTV_CTLR_IP().trim());
                 if (obj.getCCTV_CTLR_IP() != null && obj.getCCTV_CTLR_IP().length() > 0) {
@@ -107,7 +104,6 @@ public class CctvCtlrService {
         String UPDT_DT = SysUtils.getSysTime();
         int normal = 0;
         int error  = 0;
-        CENTER_VDS_RES_STATE stts = new CENTER_VDS_RES_STATE((byte)0x00);
         for (Map.Entry<String, TbCctvCtlr> e : AppRepository.getInstance().getCtlrMap().entrySet()) {
             TbCctvCtlr ctlr = e.getValue();
             ctlr.getStts().setUPDT_DT(UPDT_DT);
@@ -123,9 +119,6 @@ public class CctvCtlrService {
                 ctlr.getStts().initStts(false);
             }
 
-            voVdsState ss = ctlr.getCtlrStts();
-            stts.getObjList().add(ss);
-
             if (isRun) {
                 ctlrSttsList.add(ctlr.getStts());
             }
@@ -143,11 +136,6 @@ public class CctvCtlrService {
             dbmsDataProcess.add(new DbmsData(DbmsDataType.DBMS_DATA_CTLR_STTS, insHs, ctlrSttsList));
         }
 
-        stts.setTotal((short)(normal+error));
-        stts.setError((short)error);
-        stts.setNormal((short)normal);
-        stts.setModule((short)0);
-
         log.info("CctvCtlrService.updateCtlrStts: total {}, normal {}, error {}", normal + error, normal, error);
     }
 

+ 6 - 2
src/main/java/com/its/cctv/ui/CtlrSttsTableModel.java

@@ -27,6 +27,7 @@ public class CtlrSttsTableModel extends AbstractTableModel {
             "히터",
             "온도",
             "영상",
+            "P / T / Z / F",
             "연결 시각",
             "연결종료 시각"
     };
@@ -94,6 +95,7 @@ public class CtlrSttsTableModel extends AbstractTableModel {
             String heater = "-";
             String temper = "-";
             String video = "-";
+            String sttsText = "----/----/----/----";
             if ("CMS0".equals(stts.getCMNC_STTS_CD())) {
                 door = "-?-";
                 fan = "-?-";
@@ -121,6 +123,7 @@ public class CtlrSttsTableModel extends AbstractTableModel {
                     video = "이상";
                 }
                 temper = String.valueOf(stts.getCBOX_TMPR());
+                sttsText = String.format("%4d/%4d/%4d/%4d", stts.getPAN(), stts.getTILT(), stts.getZOOM(), stts.getFOCUS());
             }
             switch (columnIndex) {
                 case 0:
@@ -149,10 +152,11 @@ public class CtlrSttsTableModel extends AbstractTableModel {
                 case  9: returnValue = heater; break;
                 case 10: returnValue = temper; break;
                 case 11: returnValue = video; break;
-                case 12:
+                case 12: returnValue = sttsText; break;
+                case 13:
                     returnValue = info.getConnectTm();
                     break;
-                case 13:
+                case 14:
                     returnValue = info.getDisConnectTm();
                     break;
             }

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

@@ -11,11 +11,7 @@
       <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="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>
+          <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"/>
         </constraints>
         <properties/>
         <border type="none"/>
@@ -199,7 +195,11 @@
       <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="7" hsize-policy="7" anchor="0" fill="3" indent="0" use-parent-layout="false"/>
+          <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="200"/>
+            <preferred-size width="-1" height="200"/>
+            <maximum-size width="-1" height="200"/>
+          </grid>
         </constraints>
         <properties/>
         <border type="none"/>

+ 11 - 9
src/main/java/com/its/cctv/ui/MainUI.java

@@ -266,7 +266,7 @@ public class MainUI {
                 result = selObj.resetHw();
                 break;
             case 3:
-                result = selObj.initialize();
+                //result = selObj.initialize();
                 break;
 //            case 4:
 //                result = selObj.stopImage((byte) 0x01);
@@ -330,19 +330,21 @@ public class MainUI {
 
         TableColumnModel getColumnModel = tblCtlrList.getColumnModel();
         getColumnModel.getColumn(0).setPreferredWidth(30);  //  "S",
-        getColumnModel.getColumn(1).setPreferredWidth(75);  //  "번호",
-        getColumnModel.getColumn(2).setPreferredWidth(75);  //  "시설물ID",
-        getColumnModel.getColumn(3).setPreferredWidth(260); //  "명칭",
+        getColumnModel.getColumn(1).setPreferredWidth(65);  //  "번호",
+        getColumnModel.getColumn(2).setPreferredWidth(110); //  "시설물ID",
+        getColumnModel.getColumn(3).setPreferredWidth(190); //  "명칭",
         getColumnModel.getColumn(4).setPreferredWidth(120); //  "IP",
         getColumnModel.getColumn(5).setPreferredWidth(55);  //  "PORT",
         getColumnModel.getColumn(6).setPreferredWidth(70);  //  "연결상태",
         getColumnModel.getColumn(7).setPreferredWidth(50);  //  "도어",
         getColumnModel.getColumn(8).setPreferredWidth(50);  //  "팬",
         getColumnModel.getColumn(9).setPreferredWidth(50);  //  "히터",
-        getColumnModel.getColumn(10).setPreferredWidth(50);  //  "온도",
+        getColumnModel.getColumn(10).setPreferredWidth(50); //  "온도",
         getColumnModel.getColumn(11).setPreferredWidth(50); //  "Video",
-        getColumnModel.getColumn(12).setPreferredWidth(120);
-        getColumnModel.getColumn(13).setPreferredWidth(120);
+        getColumnModel.getColumn(12).setPreferredWidth(145); //  "sttsText",
+
+        getColumnModel.getColumn(13).setPreferredWidth(125);
+        getColumnModel.getColumn(14).setPreferredWidth(125);
         getColumnModel.getColumn(0).setMaxWidth(30);
         getColumnModel.getColumn(0).setMinWidth(30);
         getColumnModel.getColumn(0).setResizable(false);
@@ -422,7 +424,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_CAN_GROW, GridConstraints.SIZEPOLICY_CAN_SHRINK | GridConstraints.SIZEPOLICY_CAN_GROW, new Dimension(-1, 220), new Dimension(-1, 220), new Dimension(-1, 220), 0, false));
+        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));
         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));
@@ -514,7 +516,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_WANT_GROW, GridConstraints.SIZEPOLICY_CAN_SHRINK | GridConstraints.SIZEPOLICY_WANT_GROW, null, null, null, 0, false));
+        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, 200), new Dimension(-1, 200), new Dimension(-1, 200), 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));

+ 1 - 1
src/main/java/com/its/cctv/ui/SubUI.java

@@ -192,7 +192,7 @@ public abstract class SubUI {
                 result = selObj.resetHw();
                 break;
             case 3:
-                result = selObj.initialize();
+                //result = selObj.initialize();
                 break;
 //            case 4:
 //                result = selObj.stopImage((byte) 0x01);

+ 0 - 22
src/main/java/com/its/cctv/vo/voStatisticsTime.java

@@ -1,22 +0,0 @@
-package com.its.cctv.vo;
-
-import lombok.Getter;
-import lombok.Setter;
-import lombok.ToString;
-
-@Getter
-@Setter
-@ToString
-public class voStatisticsTime {
-
-	private String STAT_DT;
-	private String FROM_DT;
-	private String TO_DT;
-
-	public voStatisticsTime(String sTAT_DT, String fROM_DT, String tO_DT) {
-		this.STAT_DT = sTAT_DT;
-		this.FROM_DT = fROM_DT;
-		this.TO_DT = tO_DT;
-	}
-
-}

+ 0 - 6
src/main/java/com/its/cctv/webapp/controller/WebAppController.java

@@ -53,7 +53,6 @@ public class WebAppController {
     @RequestMapping("/getControllerInfo")
     @ResponseBody
     public ConcurrentHashMap<Integer, TbCctvCtlr> getControllerInfo() {
-        //List<Map<String, voVdsCtlr>> infoList = new ArrayList<>();
         ConcurrentHashMap<Integer, TbCctvCtlr> ctlrMap = new ConcurrentHashMap<>();
         for (Map.Entry<String, TbCctvCtlr> e : AppRepository.getInstance().getCtlrMap().entrySet()) {
             TbCctvCtlr obj = e.getValue();
@@ -62,11 +61,6 @@ public class WebAppController {
             }
         }
         return ctlrMap;
-/*
-        for (Map.Entry<String, voVdsCtlr> obj : AppRepository.getInstance().getCtlrMap().entrySet()) {
-            log.info(obj.toString());
-        }
-        return AppRepository.getInstance().getCtlrMap();*/
     }
 
     @RequestMapping(value = ("/disconnectController"))

+ 0 - 71
src/main/java/com/its/cctv/xnettcp/TcpServerCtlrComm.java

@@ -13,7 +13,6 @@ import javax.annotation.PostConstruct;
 public class TcpServerCtlrComm extends TcpServerAbstract {
 
     private ProcessConfig processConfig;
-    private String socketType;
 
     @PostConstruct
     private void init() {
@@ -21,76 +20,6 @@ public class TcpServerCtlrComm extends TcpServerAbstract {
     public void run() {
         log.info("TcpServerCtlrComm.init: Start.");
         this.processConfig = (ProcessConfig) AppUtils.getBean(ProcessConfig.class);
-//        try {
-//            this.serverBootstrap = new ServerBootstrap();
-//            //ServerBootstrap bootstrap = new ServerBootstrap(new NioServerSocketChannelFactory(Executors.newCachedThreadPool(), Executors.newCachedThreadPool()));
-//            if (!Epoll.isAvailable()) {
-//                // 윈도우 NIO 서버 실행
-//                this.socketType = "NioEventLoopGroup";
-//                this.acceptGroups = (EventLoopGroup) new NioEventLoopGroup(applicationConfig.getTcpThreadsAccept());
-//                this.workerGroups = (EventLoopGroup) new NioEventLoopGroup(applicationConfig.getTcpThreadsWorker());
-//                this.serverBootstrap.group(this.acceptGroups, this.workerGroups);
-//                this.serverBootstrap.channel(NioServerSocketChannel.class);
-//            } else {
-//                // 리눅스 epoll 서버 실행
-//                this.socketType = "EpollEventLoopGroup";
-//                this.acceptGroups = (EventLoopGroup) new EpollEventLoopGroup(applicationConfig.getTcpThreadsAccept());
-//                this.workerGroups = (EventLoopGroup) new EpollEventLoopGroup(applicationConfig.getTcpThreadsWorker());
-//                this.serverBootstrap.group(this.acceptGroups, this.workerGroups);
-//                this.serverBootstrap.channel(EpollServerSocketChannel.class);
-//            }
-//
-//            this.serverBootstrap.option(ChannelOption.AUTO_READ, true);
-//            this.serverBootstrap.option(ChannelOption.SO_BACKLOG, applicationConfig.getTcpBacklog());
-//            this.serverBootstrap.option(ChannelOption.SO_RCVBUF, applicationConfig.getTcpRcvBuf());
-//            this.serverBootstrap.option(ChannelOption.SO_REUSEADDR, true);
-//            this.serverBootstrap.option(ChannelOption.CONNECT_TIMEOUT_MILLIS, applicationConfig.getConnectTimeoutSec()*1000);
-//
-//            this.serverBootstrap.childOption(ChannelOption.SO_LINGER, 0);
-//            this.serverBootstrap.childOption(ChannelOption.SO_KEEPALIVE, true);
-//            this.serverBootstrap.childOption(ChannelOption.SO_REUSEADDR, true);
-//            this.serverBootstrap.childOption(ChannelOption.TCP_NODELAY, true);
-//            this.serverBootstrap.childOption(ChannelOption.SO_KEEPALIVE, false);
-//            this.serverBootstrap.childHandler(new ChannelInitializer<SocketChannel>() {
-//                @Override
-//                public void initChannel(SocketChannel ch) throws Exception {
-//                    ch.pipeline().addLast("tcpServerIdleStateHandler",  (ChannelHandler)new TcpServerIdleStateHandler(0, 0, applicationConfig.getAllIdleTime(), TimeUnit.SECONDS));
-//                    //ch.pipeline().addLast("tcpServerConnectionHandler", (ChannelHandler)new TcpServerConnectionHandler());  // Connection handler
-//                    ch.pipeline().addLast("tcpServerEncoder",           (ChannelHandler)new TcpServerEncoder());            // Encoding handler
-//                    ch.pipeline().addLast("tcpServerDecoder",           (ChannelHandler)new TcpServerDecoder());            // Decoding handler
-//                    ch.pipeline().addLast("tcpServerPacketHandler",     (ChannelHandler)new TcpServerPacketHandler());      // Packet handler
-//                }
-//            });
-//        }
-//        catch(Exception e) {
-//            this.log.error("TcpServerCtlrComm.init: Exception: {}", e.toString());
-//        }
-//
-//        log.info("===============================================================");
-//        log.info("=   VDS Communication Server Start.............................");
-//        log.info("=   bindAddress: {}", this.applicationConfig.getTcpBindAddress());
-//        log.info("=      bindPort: {}", this.applicationConfig.getTcpBindPort());
-//        log.info("=       backlog: {}", this.applicationConfig.getTcpBacklog());
-//        log.info("= acceptThreads: {}", this.applicationConfig.getTcpThreadsAccept());
-//        log.info("= workerThreads: {}", this.applicationConfig.getTcpThreadsWorker());
-//        log.info("=   dataThreads: {}", this.applicationConfig.getServerDataThreads());
-//        log.info("===============================================================");
-//
-//        ChannelFuture future = null;
-//        try {
-//            if (this.applicationConfig.getTcpBindAddress().equals("0.0.0.0")) {
-//                future = this.serverBootstrap.bind(this.applicationConfig.getTcpBindPort());
-//            }
-//            else {
-//                future = this.serverBootstrap.bind(this.applicationConfig.getTcpBindAddress(), applicationConfig.getTcpBindPort());
-//            }
-//            this.channelFuture = future;
-//        }
-//        catch (Exception e) {
-//            this.log.error("{}", e);
-//            this.acceptGroups.shutdownGracefully();
-//            this.workerGroups.shutdownGracefully();
-//        }
         log.info("TcpServerCtlrComm.init. ..End. {}", toString());
     }
 

+ 2 - 2
src/main/java/com/its/cctv/xnettcp/cctv/CctvTcpClient.java

@@ -110,8 +110,8 @@ public class CctvTcpClient implements Callable<Object> {
 
         // 온도정보 요청
         ByteBuffer sendBuff;
-        //sendBuff = obj.getReqTemperature().getByteBuffer();
-        //obj.sendData(sendBuff, 0, "vds_Temperature");
+        sendBuff = obj.getReqState().getByteBuffer();
+        obj.sendData(sendBuff, 0, "cctv_StateReq");
         MainUI mainUI = MainUI.getInstance();
         if (mainUI != null) {
             mainUI.updateCtlrStts(obj);

+ 0 - 16
src/main/java/com/its/cctv/xnettcp/cctv/CctvTcpClientBootstrapFactory.java

@@ -35,22 +35,6 @@ public class CctvTcpClientBootstrapFactory {
         bootstrap.option(ChannelOption.SO_KEEPALIVE, false);
         //bootstrap.option(ChannelOption.RCVBUF_ALLOCATOR, new FixedRecvByteBufAllocator(2048));
         bootstrap.option(ChannelOption.CONNECT_TIMEOUT_MILLIS, this.connectTimeout * 1000);
-//        bootstrap.handler(new ChannelInitializer<SocketChannel>() {
-//            // VDS 전송 요청을 먼저하고 데이터를 수신한다.
-//            // 핸들러가 실행되는 순서는 추가된 순서에 의해 결정된다.(Inbound: head=>tail, Outbound: tail=>head, name2ctx)
-//            @Override
-//            public void initChannel(SocketChannel ch) {
-//                if (isLogging) {
-//                    //io.netty.handler.logging.LoggingHandler
-//                    //ch.pipeline().addLast(new LoggingHandler(LogLevel.WARN));
-//                }
-//                ch.pipeline().addLast(new LoggingHandler(LogLevel.WARN));
-//                //ch.pipeline().addLast("ctlrClientIdleHandler",    new VdsTcpClientIdleHandler(0, 0, 0, TimeUnit.SECONDS));
-//                ch.pipeline().addLast("ctlrClientDecoder",        new VdsTcpClientDecoder());            // Decoding handler
-//                ch.pipeline().addLast("ctlrClientInboundHandler", new VdsTcpClientInboundHandler(vdsDataProcess));     // Packet Inbound handler
-//                ch.pipeline().addLast("ctlrClientEncoder",        new VdsTcpClientEncoder());            // Encoding handler
-//            }
-//        });
 
         return bootstrap;
     }

+ 0 - 6
src/main/java/com/its/cctv/xnettcp/cctv/codec/CctvTcpClientDecoder.java

@@ -99,12 +99,6 @@ public class CctvTcpClientDecoder extends ByteToMessageDecoder {
                         byteBuf.discardReadBytes();
 
                         CctvResFramePacket frame = new CctvResFramePacket(obj, packets, msgSize);
-//                        if (frame.getHead().getOpCode() == VdsProtocol.vds_Image) {
-//                            log.info("[{}]. RECV: OneFramePacket: {} Bytes, vds_Image, stuffing {}", obj.getVDS_CTLR_ID(), frame.getByteBuffer().array().length, stuffing);
-//                        } else {
-//                            log.info("[{}]. RECV: OneFramePacket: {} Bytes, stuffing {} {}", obj.getVDS_CTLR_ID(), frame.getByteBuffer().array().length, stuffing, SysUtils.byteArrayToHex(frame.getByteBuffer().array()));
-//                        }
-
                         list.add(frame);
                         break;
                     } else {

+ 1 - 1
src/main/java/com/its/cctv/xnettcp/cctv/process/CctvDataProcess.java

@@ -118,7 +118,7 @@ public class CctvDataProcess {
                 case CctvProtocol.cctv_CharVarSet:
                     jobProtocol = new Job_CharVarRes(framePacket);
                     break;
-                case CctvProtocol.cctv_CharDelSet:
+                case CctvProtocol.cctv_CharVarDel:
                     jobProtocol = new Job_CharDelRes(framePacket);
                     break;
             }

+ 1 - 3
src/main/java/com/its/cctv/xnettcp/cctv/process/Job_ParamRes.java

@@ -68,9 +68,7 @@ public class Job_ParamRes implements JobProtocol {
 			param.put("HETR_OFF_TMPR",  HETR_OFF_TMPR);
 			updLists.add(param);
 			DbmsDataProcess dbmsDataProcess = (DbmsDataProcess) AppUtils.getBean(DbmsDataProcess.class);
-			if (dbmsDataProcess != null) {
-				dbmsDataProcess.add(new DbmsData(DbmsDataType.DBMS_DATA_PARAM_UPDATE, false, updLists));
-			}
+			dbmsDataProcess.add(new DbmsData(DbmsDataType.DBMS_DATA_PARAM_UPDATE, false, updLists));
 		}
 
 		if (this.packet.getOpCode() == CctvProtocol.cctv_ParamSet) {

+ 4 - 4
src/main/java/com/its/cctv/xnettcp/cctv/protocol/CctvProtocol.java

@@ -74,7 +74,7 @@ public class CctvProtocol {
     public static final byte cctv_PresetQry  = 0x36;    // Preset Value 조회                - 개입제어  - P/T/Z/F Value를 조회
     public static final byte cctv_CharFixSet = 0x41;    // 고정문자 표출 환경 설정          - 개입제어  - -
     public static final byte cctv_CharVarSet = 0x42;    // 가변문자 표출 환경 설정          - 개입제어  - -
-    public static final byte cctv_CharDelSet = 0x43;    // 설정 문자 지우기                 - 개입제어  - -
+    public static final byte cctv_CharVarDel = 0x43;    // 가변(설정) 문자 지우기           - 개입제어  - -
 
     public static String getOpCodeName(byte opCode) {
         switch (opCode) {
@@ -91,14 +91,14 @@ public class CctvProtocol {
             case cctv_PresetQry:    return "cctv_PresetQry";
             case cctv_CharFixSet:   return "cctv_CharFixSet";
             case cctv_CharVarSet:   return "cctv_CharVarSet";
-            case cctv_CharDelSet:   return "cctv_CharDelSet";
+            case cctv_CharVarDel:   return "cctv_CharVarDel";
             default:                break;
         }
         return String.format("UNKNOWN OP Code[%02X]", opCode & 0xFF);
     }
 
     /**
-     * VDS Protocol CRC16
+     * Protocol CRC16
      */
     private static final int crc16_arc[] = {
             0x0000, 0xc0c1, 0xc181, 0x0140, 0xc301, 0x03c0, 0x0280, 0xc241,
@@ -136,7 +136,7 @@ public class CctvProtocol {
     };
 
     /**
-     * VDS CRC16-ARC(https://crccalc.com/)
+     * CRC16-ARC(https://crccalc.com/)
      * @param data
      * @param start
      * @param length

+ 2 - 3
src/main/java/com/its/cctv/xnettcp/cctv/protocol/CctvReqCharDel.java

@@ -5,16 +5,15 @@ package com.its.cctv.xnettcp.cctv.protocol;
  */
 public class CctvReqCharDel extends CctvReqFramePacket {
 
-    private final int packetSize = 8;
+    private final int packetSize = 3;
 
     public CctvReqCharDel(short groupNo, short controllerNo) {
-        super(groupNo, CctvProtocol.cctv_CharDelSet);
+        super(groupNo, CctvProtocol.cctv_CharVarDel);
         this.body = new byte[this.packetSize];
     }
 
     public void setValue(byte sectorNo) {
         // 문자초기화
-        this.body = new byte[3];
         this.body[0] = (byte)0x02;  // Length
         this.body[1] = (byte)0x01;  // Command
         this.body[2] = sectorNo;    // Category(Sector No)

+ 1 - 1
src/main/java/com/its/cctv/xnettcp/cctv/protocol/CctvReqCharFix.java

@@ -10,7 +10,7 @@ public class CctvReqCharFix extends CctvReqFramePacket {
     private final int packetSize = 8;
 
     public CctvReqCharFix(short groupNo, short controllerNo) {
-        super(groupNo, CctvProtocol.cctv_PresetMove);
+        super(groupNo, CctvProtocol.cctv_CharFixSet);
         this.body = new byte[this.packetSize];
     }
 

+ 24 - 20
src/main/java/com/its/cctv/xnettcp/cctv/protocol/CctvReqCharVar.java

@@ -7,42 +7,46 @@ import java.nio.ByteBuffer;
  */
 public class CctvReqCharVar extends CctvReqFramePacket {
 
-    private final int packetSize = 8;
-
     public CctvReqCharVar(short groupNo, short controllerNo) {
-        super(groupNo, CctvProtocol.cctv_PresetMove);
-        this.body = new byte[this.packetSize];
+        super(groupNo, CctvProtocol.cctv_CharVarSet);
     }
 
-    public void setValue(byte textSize, short x, short y, String text) {
+    public void setValue(byte sectorNo, short panStart, short panEnd,
+                         byte sizeCh1, short xCh1, short yCh1,
+                         byte sizeCh2, short xCh2, short yCh2,
+                         String textCh1, String textCh2) {
+        // Sector 0번은 Sector 1부터 Sector 6까지 지정 되어 있지 않은 영역에서 문자가 표출됩니다.
         // 문자표출
         // 0x02(작은 글자)
         // 0x03(중간 글자)
         // 0x04(큰 글자)
         // x: 0~1280
         // y: 0~720
-        byte[] textArr = text.getBytes();   // 한글 125 글자 이하여야 함.
+        // text: Max: 16char(kor),32char(eng)
+
+        byte[] textCh1Arr = textCh1.getBytes();   // Max: 16char(kor),32char(eng)
+        byte[] textCh2Arr = textCh2.getBytes();   // Max: 16char(kor),32char(eng)
 
-        int bufferSize = 6+textArr.length;
+        int bufferSize = 17+textCh1Arr.length+textCh2Arr.length;
         this.body = new byte[bufferSize];
 
         ByteBuffer buffer = ByteBuffer.allocate(bufferSize);
         buffer.order(CctvProtocol.byteOrder);
 
-        byte length = (byte)(5 + text.length());
-        buffer.put(length);     // Length
-        buffer.put(textSize);   // Command
-        buffer.putShort(x);     // X Position(0~1280)
-        buffer.putShort(y);     // Y Position(0~720)
-        buffer.put(textArr);    // Character
+        buffer.put(sectorNo);                   // Sector No.
+        buffer.putShort(panStart);              // Start Pan
+        buffer.putShort(panEnd);                // End Pan
+        buffer.put(sizeCh1);                    // CH1 Character Size
+        buffer.putShort(xCh1);                  // CH1 X Position Value 0~1280
+        buffer.putShort(yCh1);                  // CH1 Y Position Value 0~720
+        buffer.put((byte)textCh1Arr.length);    // CH1 Character Length
+        buffer.put(sizeCh2);                    // CH2 Character Size
+        buffer.putShort(xCh2);                  // CH2 X Position Value 0~1280
+        buffer.putShort(yCh2);                  // CH2 Y Position Value 0~720
+        buffer.put((byte)textCh2Arr.length);    // CH2 Character Length
+        buffer.put(textCh1Arr);                 // CH1 Character
+        buffer.put(textCh2Arr);                 // CH2 Character
 
         buffer.get(this.body, 0, this.body.length);
     }
-    public void setValueClear() {
-        // 문자초기화
-        this.body = new byte[3];
-        this.body[0] = (byte)0x02; // Length
-        this.body[1] = (byte)0x01; // Command
-        this.body[2] = (byte)0x01; // Category
-    }
 }

+ 7 - 7
src/main/java/com/its/cctv/xnettcp/center/handler/CenterTcpServerInboundHandler.java

@@ -30,10 +30,10 @@ public class CenterTcpServerInboundHandler extends ChannelInboundHandlerAdapter
             return;
         }
         CenterReqFramePacket centerReqHead = (CenterReqFramePacket)msg;
-        CctvReqFrameHead vdsReqHead = new CctvReqFrameHead(centerReqHead.getBody());
-        short groupNo = vdsReqHead.getAddress();
+        CctvReqFrameHead reqHead = new CctvReqFrameHead(centerReqHead.getBody());
+        short groupNo = reqHead.getAddress();
         short ctlrNo = 0;//vdsReqHead.getControllerNo();
-        byte opCode = vdsReqHead.getOpCode();
+        byte opCode = reqHead.getOpCode();
 
         TbCctvCtlr obj = null;
         for (Map.Entry<String, TbCctvCtlr> e : AppRepository.getInstance().getCtlrMap().entrySet()) {
@@ -44,7 +44,7 @@ public class CenterTcpServerInboundHandler extends ChannelInboundHandlerAdapter
             }
         }
         if (obj == null) {
-            log.error("CenterTcpServerInboundHandler: Center Request Unknown VDS: [{}]", ctlrNo);
+            log.error("CenterTcpServerInboundHandler: Center Request Unknown CTRL: [{}]", ctlrNo);
             ByteBuffer sendBuffer = CenterResProtocol.getResponse(opCode, (byte)(0xFF));
             ChannelFuture f = ctx.channel().writeAndFlush(sendBuffer);
             f.awaitUninterruptibly();
@@ -56,14 +56,14 @@ public class CenterTcpServerInboundHandler extends ChannelInboundHandlerAdapter
             return;
         }
         if (obj.getChannel() == null || obj.getNetState() == NET.CLOSED) {
-            log.error("CenterTcpServerInboundHandler: Center Request VDS Not Connect: [{}]", obj);
+            log.error("CenterTcpServerInboundHandler: Center Request CTRL Not Connect: [{}]", obj);
             ByteBuffer sendBuffer = CenterResProtocol.getResponse(opCode, (byte)(0xFE));
             ChannelFuture f = ctx.channel().writeAndFlush(sendBuffer);
             f.awaitUninterruptibly();
             if (f.isDone() || f.isSuccess()) {
-                log.info("CenterTcpServerInboundHandler: Response OK. Center Not Connect VDS: [{}]", ctlrNo);
+                log.info("CenterTcpServerInboundHandler: Response OK. Center Not Connect CTRL: [{}]", ctlrNo);
             } else {
-                log.error("CenterTcpServerInboundHandler: Response Failed. Center Not Connect VDS: [{}]", ctlrNo);
+                log.error("CenterTcpServerInboundHandler: Response Failed. Center Not Connect CTRL: [{}]", ctlrNo);
             }
             return;
         }

+ 2 - 2
src/main/java/com/its/cctv/xnettcp/center/protocol/CenterResProtocol.java

@@ -9,7 +9,7 @@ public class CenterResProtocol {
         ByteBuffer byteBuffer = ByteBuffer.allocate(10);
         byteBuffer.order(ByteOrder.BIG_ENDIAN);
         byteBuffer.put((byte)0x00); // 송신시스템-운영단말
-        byteBuffer.put((byte)0x00); // 수신시스템-VDS 서버
+        byteBuffer.put((byte)0x00); // 수신시스템-통신 서버
         byteBuffer.put((byte)0x00); // 전체프레임개수
         byteBuffer.put((byte)0x00); // 현재프레임번호
         byteBuffer.put((byte)0x00); // Reserved
@@ -22,7 +22,7 @@ public class CenterResProtocol {
         ByteBuffer byteBuffer = ByteBuffer.allocate(10);
         byteBuffer.order(ByteOrder.BIG_ENDIAN);
         byteBuffer.put((byte)0x24); // 송신시스템-운영단말
-        byteBuffer.put((byte)0x04); // 수신시스템-VDS 서버
+        byteBuffer.put((byte)0x04); // 수신시스템-통신 서버
         byteBuffer.put((byte)0x01); // 전체프레임개수
         byteBuffer.put((byte)0x01); // 현재프레임번호
         byteBuffer.put(result); // Reserved

+ 50 - 53
src/main/java/com/its/cctv/xnetudp/protocol/CENTER_VDS_RES_STATE.java

@@ -5,9 +5,6 @@ import lombok.Setter;
 import lombok.ToString;
 
 import java.nio.ByteBuffer;
-import java.nio.ByteOrder;
-import java.util.ArrayList;
-import java.util.List;
 
 @Getter
 @Setter
@@ -21,65 +18,65 @@ public class CENTER_VDS_RES_STATE extends CENTER_COMM_MESSAGE {
 	private short   normal;                       /* 정상 갯수 */
 	private short   module;                       /* 모듈이상 갯수 */
 	//private byte	count;                        /* 대상 갯수 */
-	private List<voVdsState> objList = null;
+	//private List<voVdsState> objList = null;
 
 	public CENTER_VDS_RES_STATE(byte msgSeq) {
 
 		super(CENTER_COMM_DEFINE.INT_ID_VDS_SERVER, CENTER_COMM_DEFINE.INT_OP_VDS_STATE_RES, 0, msgSeq);
 
-		if (objList == null) {
-			objList = new ArrayList<voVdsState>();
-		}
+//		if (objList == null) {
+//			objList = new ArrayList<voVdsState>();
+//		}
 	}
 
 	@Override
 	public ByteBuffer getBuffer() {
-		int total = objList.size();
-		if (total > CENTER_COMM_DEFINE.INT_VDS_MAX_STATE) {
-			total = CENTER_COMM_DEFINE.INT_VDS_MAX_STATE;
-		}
-		int pktSize = (total*voVdsState.STATE_SIZE)+STATE_RES_HEAD_SIZE;
-		setLength(pktSize);
-
-		ByteBuffer byteBuffer = ByteBuffer.allocate(CENTER_HEADER_SIZE + getLength());
-		byteBuffer.order(ByteOrder.LITTLE_ENDIAN);
-
-		byteBuffer.put(getSendId());
-		byteBuffer.put(getRecvId());
-		byteBuffer.put(getTotalFrame());
-		byteBuffer.put(getCurrentFrame());
-		byteBuffer.put(getMsgSeq());
-		byteBuffer.put(getOpCode());
-		byteBuffer.putShort((short)getLength());
-
-		byteBuffer.putShort(this.total);
-		byteBuffer.putShort(this.error);
-		byteBuffer.putShort(this.normal);
-		byteBuffer.putShort(this.module);
-		byteBuffer.put((byte)this.objList.size());
-
-		int cnt = 0;
-		for (voVdsState vo : this.objList) {
-			byteBuffer.putInt(Integer.parseInt(vo.getCTLR_NMBR()));
-			byteBuffer.put(vo.getComm());
-
-			byteBuffer.put(vo.getVideoInput());
-			byteBuffer.put(vo.getHeater());
-			byteBuffer.put(vo.getFan());
-			byteBuffer.put(vo.getBackDoorOpen());
-			byteBuffer.put(vo.getFrontDoorOpen());
-			byteBuffer.putShort(vo.getTemperature());
-			byteBuffer.put(vo.getFanMode());
-			byteBuffer.put(vo.getFanRunTemp());
-			byteBuffer.put(vo.getHetrMode());
-			byteBuffer.put(vo.getHetrRunTemp());
-			cnt++;
-			if (cnt >= CENTER_COMM_DEFINE.INT_DSRC_MAX_STATE) {
-				break;
-			}
-		}
-
-		return byteBuffer;
+//		int total = objList.size();
+//		if (total > CENTER_COMM_DEFINE.INT_VDS_MAX_STATE) {
+//			total = CENTER_COMM_DEFINE.INT_VDS_MAX_STATE;
+//		}
+//		int pktSize = (total*voVdsState.STATE_SIZE)+STATE_RES_HEAD_SIZE;
+//		setLength(pktSize);
+//
+//		ByteBuffer byteBuffer = ByteBuffer.allocate(CENTER_HEADER_SIZE + getLength());
+//		byteBuffer.order(ByteOrder.LITTLE_ENDIAN);
+//
+//		byteBuffer.put(getSendId());
+//		byteBuffer.put(getRecvId());
+//		byteBuffer.put(getTotalFrame());
+//		byteBuffer.put(getCurrentFrame());
+//		byteBuffer.put(getMsgSeq());
+//		byteBuffer.put(getOpCode());
+//		byteBuffer.putShort((short)getLength());
+//
+//		byteBuffer.putShort(this.total);
+//		byteBuffer.putShort(this.error);
+//		byteBuffer.putShort(this.normal);
+//		byteBuffer.putShort(this.module);
+//		byteBuffer.put((byte)this.objList.size());
+
+//		int cnt = 0;
+//		for (voVdsState vo : this.objList) {
+//			byteBuffer.putInt(Integer.parseInt(vo.getCTLR_NMBR()));
+//			byteBuffer.put(vo.getComm());
+//
+//			byteBuffer.put(vo.getVideoInput());
+//			byteBuffer.put(vo.getHeater());
+//			byteBuffer.put(vo.getFan());
+//			byteBuffer.put(vo.getBackDoorOpen());
+//			byteBuffer.put(vo.getFrontDoorOpen());
+//			byteBuffer.putShort(vo.getTemperature());
+//			byteBuffer.put(vo.getFanMode());
+//			byteBuffer.put(vo.getFanRunTemp());
+//			byteBuffer.put(vo.getHetrMode());
+//			byteBuffer.put(vo.getHetrRunTemp());
+//			cnt++;
+//			if (cnt >= CENTER_COMM_DEFINE.INT_DSRC_MAX_STATE) {
+//				break;
+//			}
+//		}
+
+		return null;//byteBuffer;
 	}
 
 }

+ 0 - 29
src/main/java/com/its/cctv/xnetudp/protocol/voVdsState.java

@@ -1,29 +0,0 @@
-package com.its.cctv.xnetudp.protocol;
-
-import lombok.Getter;
-import lombok.Setter;
-
-@Getter
-@Setter
-public class voVdsState {
-
-    public static byte normal = 0x00;
-    public static byte error = 0x01;
-    public static int STATE_SIZE = 16;
-
-    private String  CTLR_NMBR;
-    private byte Comm;                 /* 유선통신상태, 0:정상 1:장애 */
-
-    private byte VideoInput;           // O-[D07] Video Input 여부, 영상검지기 제어기로 카메라 영상입력이 없을 때 : 1
-    private byte Heater;               // O-[D04] 히터 작동, 히터가 작동하는 경우 (작동시 : 1)
-    private byte Fan;                  // O-[D03] 팬 작동, 펜이 작동하는 경우 (작동시 : 1)
-    private byte BackDoorOpen;         // O-[D02] 뒷문 개방, 뒷문이 개방된 경우 (개방시 : 1)
-    private byte FrontDoorOpen;        // O-[D01] 앞문 개방, 앞문이 개방된 경우 (개방시 : 1)
-    private short Temperature;         // 온도
-
-    private byte FanMode;              // Fan 동작모드 설정 - 0x00: 자동모드, 0x01: 수동모드[Default : 0x00]
-    private byte FanRunTemp;           // Fan 동작모드가 자동모드 일경우만 동작 온도 설정값 이상 시 ON[Default : 25°C]-0x19
-    private byte HetrMode;             // Hetr 동작모드 설정 - 0x00: 자동모드, 0x01: 수동모드[Default : 0x00]
-    private byte HetrRunTemp;          // Hetr 동작모드가 자동모드 일경우만 동작 온도 설정값 이상 시 ON[Default : 25°C]-0x19
-
-}

+ 2 - 17
src/main/java/com/its/cctv/xnetudp/service/CenterCommResponseService.java

@@ -6,8 +6,6 @@ import com.its.cctv.entity.TbCctvCtlrStts;
 import com.its.cctv.process.DbmsData;
 import com.its.cctv.process.DbmsDataProcess;
 import com.its.cctv.process.DbmsDataType;
-import com.its.cctv.xnetudp.protocol.CENTER_VDS_RES_STATE;
-import com.its.cctv.xnetudp.protocol.voVdsState;
 import lombok.extern.slf4j.Slf4j;
 import org.springframework.stereotype.Service;
 
@@ -19,30 +17,17 @@ import java.util.List;
 @Service
 public class CenterCommResponseService {
 
-    public void notifyStatus(TbCctvCtlr vds, boolean isConnect) {
-
-        CENTER_VDS_RES_STATE stts = new CENTER_VDS_RES_STATE((byte)0x00);
-        stts.setTotal((short)1);
-        stts.setError((short)(isConnect ? 0 : 1));
-        stts.setNormal((short)(isConnect ? 1 : 0));
-        stts.setModule((short)0);
+    public void notifyStatus(TbCctvCtlr obj, boolean isConnect) {
 
         List<TbCctvCtlrStts> ctlrSttsList = Collections.synchronizedList(new ArrayList<>());
 
-        voVdsState ss = vds.getCtlrStts();
-        stts.getObjList().add(ss);
-
-        ctlrSttsList.add(vds.getStts());
+        ctlrSttsList.add(obj.getStts());
 
         // 제어기 상태정보 DB 업데이트
         DbmsDataProcess dbmsDataProcess = (DbmsDataProcess) AppUtils.getBean(DbmsDataProcess.class);
         if (ctlrSttsList.size() > 0) {
             dbmsDataProcess.add(new DbmsData(DbmsDataType.DBMS_DATA_CTLR_STTS, false, ctlrSttsList));
         }
-
-        // 제어기상태정보 UDP 전송(모든 운영단말로 전송)
-//        CenterCommClientSender notify = (CenterCommClientSender) AppUtils.getBean(CenterCommClientSender.class);
-//        notify.run(null, 0, stts.getBuffer());
     }
 
 }