| 
					
				 | 
			
			
				@@ -1,6 +1,5 @@ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 package com.its.cctv.api.service; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-import com.its.app.utils.ByteUtils; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import com.its.cctv.api.dto.*; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import com.its.cctv.domain.NET; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import com.its.cctv.entity.TbCctvCtlr; 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -78,6 +77,7 @@ public class CctvControlService { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				      * @return 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				      */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     public CctvStatusDto.CctvStatusDtoRes requestStatus(Long id) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        log.info("requestStatus: {}", id); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         TbCctvCtlr cctv = this.requireOne(id); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         if (cctv == null) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             return new CctvStatusDto.CctvStatusDtoRes(1, "알수없는 CCTV 관리번호 입니다.", null); 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -96,7 +96,7 @@ public class CctvControlService { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				      * @return 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				      */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     public CctvPtzControlDto.CctvPtzControlRes controlPtz(Long id, CctvPtzControlDto.CctvControlPtzReq req) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        log.info("controlPtz: {}", req); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        log.info("controlPtz: {}, {}", id, req); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         TbCctvCtlr cctv = this.requireOne(id); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         if (cctv == null) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             return new CctvPtzControlDto.CctvPtzControlRes(req.getCommand(), req.getAction(), 1, "알수없는 CCTV 관리번호 입니다."); 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -124,23 +124,23 @@ public class CctvControlService { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             byte focusSped = (byte)Math.min(command.getFocusSped(), speed); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             CctvReqPtzCtrl pkt = new CctvReqPtzCtrl(cctv.getAddress()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             byte ptz = pkt.setPtzValue((byte) pan, (byte) tilt, (byte) zoom, (byte) focus, (byte) panSped, (byte) tiltSped, (byte) zoomSped, (byte) focusSped); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            log.info("PTZ Control: " + ByteUtils.byteToBitString(ptz)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            //log.info("[{}]. PTZ Control: " + ByteUtils.byteToBitString(ptz)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             ByteBuffer sendBuffer = pkt.getByteBuffer(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             if (cctv.sendData(sendBuffer, 0, "cctv_PtzStart")) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                log.info("{} send success.", cmdDesc); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                log.info("[{}]. START send success. {}", cctv.getCCTV_CTLR_ID(), cmdDesc); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             } else { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 result.setResult(4, "CCTV PTZ 시작 명령 전송이 실패하였습니다."); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                log.error("{} send failed.", cmdDesc); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                log.error("[{}]. START send failed. {}", cctv.getCCTV_CTLR_ID(), cmdDesc); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         } else { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             // stop 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             CctvReqPtzCtrl pkt = new CctvReqPtzCtrl(cctv.getAddress()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             ByteBuffer sendBuffer = pkt.getByteBuffer(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             if (cctv.sendData(sendBuffer, 0, "cctv_PtzStop")) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                log.info("{} STOP send success.", cmdDesc); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                log.info("[{}]. STOP send success. {}", cctv.getCCTV_CTLR_ID(), cmdDesc); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             } else { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 result.setResult(4, "CCTV PTZ 정지 명령 전송이 실패하였습니다."); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                log.error("{} STOP send failed.", cmdDesc); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                log.error("[{}]. STOP send failed. {}", cctv.getCCTV_CTLR_ID(), cmdDesc); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         return result; 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -167,10 +167,10 @@ public class CctvControlService { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         pkt.setValue(req.getPan().shortValue(), req.getTilt().shortValue(), req.getZoom().shortValue(), req.getFocus().shortValue()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         ByteBuffer sendBuffer = pkt.getByteBuffer(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         if (cctv.sendData(sendBuffer, 0, "cctv_PresetMove")) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            log.info("PRESET send success."); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            log.info("[{}]. PRESET send success.", cctv.getCCTV_CTLR_ID()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         } else { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             result.setResult(4, "CCTV PRESET 명령 전송이 실패하였습니다."); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            log.error("PRESET send failed."); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            log.error("[{}]. PRESET send failed.", cctv.getCCTV_CTLR_ID()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         return result; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     } 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -196,10 +196,10 @@ public class CctvControlService { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         pkt.setValue(req.getFanOnTmpr().byteValue(), req.getFanOffTmpr().byteValue(), req.getHetrOnTmpr().byteValue(), req.getHetrOffTmpr().byteValue()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         ByteBuffer sendBuffer = pkt.getByteBuffer(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         if (cctv.sendData(sendBuffer, 0, "cctv_ParamSet")) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            log.info("PARAMETER SET send success."); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            log.info("[{}]. PARAMETER SET send success.", cctv.getCCTV_CTLR_ID()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         } else { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             result.setResult(4, "CCTV PARAMETER 명령 전송이 실패하였습니다."); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            log.error("PARAMETER SET send failed."); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            log.error("[{}]. PARAMETER SET send failed.", cctv.getCCTV_CTLR_ID()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         return result; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     } 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -227,7 +227,7 @@ public class CctvControlService { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 cctv.getParamVal().setCompleted(false); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 ByteBuffer sendBuffer = cctv.getReqParam().getByteBuffer(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 if (cctv.sendData(sendBuffer, 0, "cctv_ParamReq")) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                    log.info("PARAMETER QRY send success."); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    log.info("[{}]. PARAMETER QRY send success.", cctv.getCCTV_CTLR_ID()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                     cctv.getParamVal().wait(5000); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                     if (cctv.getParamVal().isCompleted()) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                         result.setValue(cctv.getParamVal().getFanOnTmpr(), cctv.getParamVal().getFanOffTmpr(), cctv.getParamVal().getHetrOnTmpr(), cctv.getParamVal().getHetrOffTmpr()); 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -236,10 +236,11 @@ public class CctvControlService { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                     } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 } else { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                     result.setResult(4, "CCTV PARAMETER 값조회 명령 전송이 실패하였습니다."); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                    log.error("PARAMETER QRY send failed."); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    log.error("[{}]. PARAMETER QRY send failed.", cctv.getCCTV_CTLR_ID()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             } catch (InterruptedException e) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 result.setResult(9, "CCTV PARAMETER 값조회 명령 전송 중 오류가 발생하였습니다."); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                log.error("[{}]. PARAMETER QRY send failed. InterruptedException.", cctv.getCCTV_CTLR_ID()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             cctv.getParamVal().setRequest(false); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         } 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -272,7 +273,7 @@ public class CctvControlService { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 //                if (cctv.sendData(sendBuffer, 0, "cctv_PresetQry")) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 ByteBuffer sendBuffer = cctv.getReqState().getByteBuffer(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 if (cctv.sendData(sendBuffer, 0, "cctv_PresetQry")) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                    log.info("PRESET QRY send success."); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    log.info("[{}]. PRESET QRY send success.", cctv.getCCTV_CTLR_ID()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                     cctv.getPsetVal().wait(5000); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                     if (cctv.getPsetVal().isCompleted()) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                         result.setValue(cctv.getPsetVal().getPan(), cctv.getPsetVal().getTilt(), cctv.getPsetVal().getZoom(), cctv.getPsetVal().getFocus()); 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -281,10 +282,11 @@ public class CctvControlService { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                     } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 } else { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                     result.setResult(4, "CCTV PRESET 값조회 명령 전송이 실패하였습니다."); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                    log.error("PRESET QRY send failed."); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    log.error("[{}]. PRESET QRY send failed.", cctv.getCCTV_CTLR_ID()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             } catch (InterruptedException e) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 result.setResult(6, "CCTV PRESET 값조회 명령 전송 중 오류가 발생하였습니다."); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                log.error("[{}]. PRESET QRY send failed. InterruptedException.", cctv.getCCTV_CTLR_ID()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             cctv.getPsetVal().setRequest(false); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         } 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -348,10 +350,10 @@ public class CctvControlService { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         ByteBuffer sendBuffer = pkt.getByteBuffer(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         if (cctv.sendData(sendBuffer, 0, "cctv_CharVarSet")) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            log.info("CHAR-VAR-SET send success."); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            log.info("[{}]. CHAR-VAR-SET send success.", cctv.getCCTV_CTLR_ID()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         } else { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             result.setResult(4, "CCTV CHAR-VAR-SET 명령 전송이 실패하였습니다."); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            log.error("CHAR-VAR-SET send failed."); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            log.error("[{}]. CHAR-VAR-SET send failed.", cctv.getCCTV_CTLR_ID()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         return result; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     } 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -378,10 +380,10 @@ public class CctvControlService { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         ByteBuffer sendBuffer = pkt.getByteBuffer(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         if (cctv.sendData(sendBuffer, 0, "cctv_CharVarDel")) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            log.info("CHAR-VAR-DEL send success."); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            log.info("[{}]. CHAR-VAR-DEL send success.", cctv.getCCTV_CTLR_ID()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         } else { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             result.setResult(4, "CCTV CHAR-VAR-DEL 명령 전송이 실패하였습니다."); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            log.error("CHAR-VAR-DEL send failed."); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            log.error("[{}]. CHAR-VAR-DEL send failed.", cctv.getCCTV_CTLR_ID()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         return result; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     } 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -407,12 +409,16 @@ public class CctvControlService { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             // SW Reset 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             if (!cctv.resetSw()) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 result.setResult(4, "CCTV 제어기 SW 리셋 명령 전송에 실패하였습니다."); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            } else { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                log.info("[{}]. SW Reset send success.", cctv.getCCTV_CTLR_ID()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         else if (1 == req.getResetType()) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             // HW Reset 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             if (!cctv.resetHw()) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 result.setResult(5, "CCTV 제어기 HW 리셋 명령 전송에 실패하였습니다."); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            } else { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                log.info("[{}]. HW Reset send success.", cctv.getCCTV_CTLR_ID()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         else { 
			 |