| 
					
				 | 
			
			
				@@ -122,29 +122,35 @@ public class GgitsPacketWorker extends AbstractAppWorker implements Runnable { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             center.setRecvSeqNo(sequence); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            int intLcNo; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            int ringAP; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            //int ringAS; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            int ringBP; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            //int ringBS; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            int comm; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            int mapNo; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            //int crs; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            int mode; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-//            int pnlManCont; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-//            int pnlMan; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-//            int pnlBlink; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-//            int pnlOut; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-//            int pnlAS; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            int turnOff; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            int blink; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-//            int pnlDb; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-//            byte ppc; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-//            byte omit; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            byte flags1; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            byte flags2; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            byte flags3; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            byte flags4; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            int intLcNo;            // 교차로 번호 = (지자체 번호) * 10000 + (지자체 교차로 순번) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            int aRingCode;          // 현시코드-RING A 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                int aRingPhase;     //7-5   RING A의 PHASE (0 ~ 7) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                int aRingStep;      //4-0   RING A의 STEP (0 ~ 31) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            int bRingCode;          // 현시코드-RING B 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                int bRingPhase;     //7-5   RING B의 PHASE (0 ~ 7) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                int bRingStep;      //4-0   RING B의 STEP (0 ~ 31) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            int operStts;           // 제어기 운영 상태 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                int centerComm;     //7       센터와 통신 FAIL 상태  0 : 정상, 1 : 통신 FAIL 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                int operMapNo;      //6...4   현재 운영중인 맵 번호 ( 0 : 일반제, 1~5: 시차제, 6 : 전용맵) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                int addNode;        //3       교차로 연등  0 : 일반교차로,  1 : 연등교차로 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                int operMode;       //2...0   교통신호기 운영 모드 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                                    //          0 : SCU 고정주기 모드 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                                    //          1 : 감응하지 않는 OFFLINE 제어모드 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                                    //          2 : 감응되는 OFFLINE 제어모드 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                                    //          4 : 감응되는 온라인 제어모드 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                                    //          5 : 감응하지 않는 온라인 제어모드 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            int lcStts;                 // 제어기 상태 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                int policeManProg;      //7   POLICE PANEL 수동 진행S/W상태,  1 : ON,  0 : OFF 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                int policeMan;          //6   POLICE PANEL 수동 S/W 상태,    1 : ON,  0 : OFF 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                int policeBlink;        //5   POLICE PANEL 점멸 S/W 상태,    1 : ON,  0 : OFF 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                int policeTurnOff;      //4   POLICE PANEL 소등 S/W 상태,    1 : ON,  0 : OFF 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                int contration;         //3   모순 상태,                     1 : 모순, 0 : 정상 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                int turnOff;            //2   소등 상태,                     1 : 소등, 0 : 정상 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                int blink;              //1   점멸 상태,                     1 : 점멸, 0 : 정상 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                int dbError;            //0   데이터베이스 상태,             1 : 이상, 0 : 정상 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            int holdPhase;      // PHASE HOLD 명령 또는 PPC에 의해 고정된 현시번호 (1-8) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            int omitPhase;      // PHASE OMIT 명령을 받은 현시번호 또는 감응제어에 의해 생략 중인 현시번호(1-8) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             for (int ii = 0; ii < count; ii++) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 intLcNo = ((data.buffer[idx++] & 0xFF) << 24) | 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -152,14 +158,13 @@ public class GgitsPacketWorker extends AbstractAppWorker implements Runnable { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                           ((data.buffer[idx++] & 0xFF) << 8)  | 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                            (data.buffer[idx++] & 0xFF); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                flags1 = data.buffer[idx++]; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                flags2 = data.buffer[idx++]; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                flags3 = data.buffer[idx++]; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                flags4 = data.buffer[idx++]; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-//                ppc    = data.buffer[idx++]; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-//                omit   = data.buffer[idx++]; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                idx++; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                idx++; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                aRingCode = data.buffer[idx++] & 0xFF; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                bRingCode = data.buffer[idx++] & 0xFF; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                operStts  = data.buffer[idx++] & 0xFF; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                lcStts    = data.buffer[idx++] & 0xFF; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                holdPhase = data.buffer[idx++] & 0xFF; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                omitPhase = data.buffer[idx++] & 0xFF; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 IntDto intDto = this.repo.getIntMap().get(intLcNo); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 if (intDto == null) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                     UnknownIntDto unknownDto = this.repo.getUnknownIntMap().get(intLcNo); 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -171,25 +176,25 @@ public class GgitsPacketWorker extends AbstractAppWorker implements Runnable { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                     continue; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                ringAP = (flags1 >> 5) & 0x07; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                //ringAS = flags1 & 0x1F; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                aRingPhase = (aRingCode >> 5) & 0x07;   // 0x7 = 0000 0111 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                aRingStep =  (aRingCode     ) & 0x1F;   // 0x1F == 0001 1111 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                ringBP = (flags2 >> 5) & 0x07; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                //ringBS = flags2 & 0x1F; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                bRingPhase = (bRingCode >> 5) & 0x07; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                bRingStep   =(bRingCode     ) & 0x1F; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                comm = (flags3 >> 7 & 0x01); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                mapNo = (flags3 >> 4) & 0x07; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                //crs = (flags3 & 0x08); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                mode = (flags3) & 0x07; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                centerComm = (operStts >> 7) & 0x01; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                operMapNo  = (operStts >> 4) & 0x07; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                addNode    = (operStts >> 2) & 0x01; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                operMode   = (operStts     ) & 0x07; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-//                pnlManCont = (flags4 >> 7 & 0x01); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-//                pnlMan     = (flags4 >> 6 & 0x01); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-//                pnlBlink   = (flags4 >> 5 & 0x01); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-//                pnlOut     = (flags4 >> 4 & 0x01); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-//                pnlAS      = (flags4 >> 3 & 0x01); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                turnOff    = (flags4 >> 2 & 0x01); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                blink      = (flags4 >> 1 & 0x01); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-//                pnlDb      = (flags4 >> 0 & 0x01); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                policeManProg = (lcStts >> 7) & 0x01; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                policeMan     = (lcStts >> 6) & 0x01; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                policeBlink   = (lcStts >> 5) & 0x01; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                policeTurnOff = (lcStts >> 4) & 0x01; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                contration    = (lcStts >> 3) & 0x01; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                turnOff       = (lcStts >> 2) & 0x01; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                blink         = (lcStts >> 1) & 0x01; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                dbError       = (lcStts     ) & 0x01; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 // 교차로 상태 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 //                constants.LC_STATE_COMM_ERROR = 0; // 통신이상 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -230,11 +235,11 @@ public class GgitsPacketWorker extends AbstractAppWorker implements Runnable { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 IntStatusDto status = intDto.getStatus(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 status.COLLCT_DTIME          = COLLCT_DTIME; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                status.A_RING_PHASE_VAL      = ringAP; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                status.B_RING_PHASE_VAL      = ringBP; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                status.COMM_ON_OFF_FLAG      = String.valueOf(comm); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                status.MAP_NO                = mapNo; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                status.CONTRLR_OPER_MODE_CD  = String.valueOf(mode); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                status.A_RING_PHASE_VAL      = aRingPhase; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                status.B_RING_PHASE_VAL      = bRingPhase; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                status.COMM_ON_OFF_FLAG      = String.valueOf(centerComm); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                status.mapNo = operMapNo; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                status.CONTRLR_OPER_MODE_CD  = String.valueOf(operMode); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 status.SIGLIGHT_TURNOFF_FLAG = String.valueOf(turnOff); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 status.SIGLIGHT_BLINK_FLAG   = String.valueOf(blink); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 |