shjung 11 mesiacov pred
rodič
commit
68b69ec086

+ 44 - 23
src/main/java/com/sig/comm/server/xnet/server/process/response/SigSignalMap.java

@@ -50,11 +50,11 @@ public class SigSignalMap implements SigCommResponse {
 //            } pkt_signalmap, *pkt_signalmapp; /* 2 + 1+1+1+1+1 + 255 bytes = 262 */
 
             int res;
-            SigMapData mapData = new SigMapData();
+//            SigMapData mapData = new SigMapData();
             List<HashMap<String, Object>> typeLists = new ArrayList<>();
             List<HashMap<String, Object>> lists = new ArrayList<>();
             String regionCd = packet.getCenter().getRegionCd();
-            String commDt = packet.getPacket().getCommDate();
+//            String commDt = packet.getPacket().getCommDate();
             int idx = SigProtocolConst.SIG_HEAD_SIZE;
             byte[] buffer = packet.getPacket().getBuffer();
             for (int ii = 0; ii < packet.getPacket().getCount(); ii++) {
@@ -69,7 +69,7 @@ public class SigSignalMap implements SigCommResponse {
                 byte[] deCompData = new byte[SigMapData.MAX_DECOMPRESS_DATA_SIZE];
                 System.arraycopy(buffer, idx, compData, 0, compData.length);
 
-                mapData.init();
+//                mapData.init();
 
                 if (lcType == SigMapData.ESIGMAP_LC_TYPE_2004) {
                     res = SigMapData.signalMapDecompress(compData, idx, compSize, deCompData);
@@ -96,35 +96,56 @@ public class SigSignalMap implements SigCommResponse {
                     }
                 }
 
+                int spIdx = 0;
                 for (int jj = 0; jj < SigMapData.MAX_SIGMAP_STEP; jj++) {
                     HashMap<String, Object> param = new HashMap<>();
 
-                    SigMapData.SigMapInfo mapInfo = mapData.getStep()[jj];
                     param.put("REGION_CD",  regionCd);                  /*지역센터코드 */
                     param.put("INT_NO",     intNo);                     /*교차로 번호 */
                     param.put("RING_NO",    ringNo);                    /*링번호(0:A링,1:B링) */
                     param.put("PLAN_TP",    planTp);                    /*계획구분(0:일반제, 1:시차제, 2:시차제, 3:시차제, 4:시차제, 5:시차제, 6:보행맵) */
                     param.put("STEP_NO",    jj+1);                      /*스텝번호(1~32) */
 
-                    param.put("CAR1",   mapInfo.getLsu()[ 0] & 0xFF);   /*차량등 1 (2004-LSU1) */
-                    param.put("PED1",   mapInfo.getLsu()[ 1] & 0xFF);   /*보행등 1 (2004-LSU2) */
-                    param.put("CAR2",   mapInfo.getLsu()[ 2] & 0xFF);
-                    param.put("PED2",   mapInfo.getLsu()[ 3] & 0xFF);
-                    param.put("CAR3",   mapInfo.getLsu()[ 4] & 0xFF);
-                    param.put("PED3",   mapInfo.getLsu()[ 5] & 0xFF);
-                    param.put("CAR4",   mapInfo.getLsu()[ 6] & 0xFF);
-                    param.put("PED4",   mapInfo.getLsu()[ 7] & 0xFF);
-                    param.put("CAR5",   mapInfo.getLsu()[ 8] & 0xFF);
-                    param.put("PED5",   mapInfo.getLsu()[ 9] & 0xFF);
-                    param.put("CAR6",   mapInfo.getLsu()[10] & 0xFF);
-                    param.put("PED6",   mapInfo.getLsu()[11] & 0xFF);
-                    param.put("CAR7",   mapInfo.getLsu()[12] & 0xFF);
-                    param.put("PED7",   mapInfo.getLsu()[13] & 0xFF);
-                    param.put("CAR8",   mapInfo.getLsu()[14] & 0xFF);   /*차량등 8 (2004-LSU15) */
-                    param.put("PED8",   mapInfo.getLsu()[15] & 0xFF);   /*보행등 8 (2004-LSU16) */
-                    param.put("MIN_TM", mapInfo.getMinTm()   & 0xFF);   /*최소시간 */
-                    param.put("MAX_TM", mapInfo.getMaxTm()   & 0xFF);   /*최대시간 */
-                    param.put("EOP",    mapInfo.getEop()     & 0xFF);   /*현시종료여부(1:종료) */
+                    param.put("CAR1",   deCompData[spIdx++] & 0xFF);   /*차량등 1 (2004-LSU1) */
+                    param.put("PED1",   deCompData[spIdx++] & 0xFF);   /*보행등 1 (2004-LSU2) */
+                    param.put("CAR2",   deCompData[spIdx++] & 0xFF);
+                    param.put("PED2",   deCompData[spIdx++] & 0xFF);
+                    param.put("CAR3",   deCompData[spIdx++] & 0xFF);
+                    param.put("PED3",   deCompData[spIdx++] & 0xFF);
+                    param.put("CAR4",   deCompData[spIdx++] & 0xFF);
+                    param.put("PED4",   deCompData[spIdx++] & 0xFF);
+                    param.put("CAR5",   deCompData[spIdx++] & 0xFF);
+                    param.put("PED5",   deCompData[spIdx++] & 0xFF);
+                    param.put("CAR6",   deCompData[spIdx++] & 0xFF);
+                    param.put("PED6",   deCompData[spIdx++] & 0xFF);
+                    param.put("CAR7",   deCompData[spIdx++] & 0xFF);
+                    param.put("PED7",   deCompData[spIdx++] & 0xFF);
+                    param.put("CAR8",   deCompData[spIdx++] & 0xFF);   /*차량등 8 (2004-LSU15) */
+                    param.put("PED8",   deCompData[spIdx++] & 0xFF);   /*보행등 8 (2004-LSU16) */
+                    param.put("MIN_TM", deCompData[spIdx++] & 0xFF);   /*최소시간 */
+                    param.put("MAX_TM", deCompData[spIdx++] & 0xFF);   /*최대시간 */
+                    param.put("EOP",    deCompData[spIdx++] & 0xFF);   /*현시종료여부(1:종료) */
+
+//                    SigMapData.SigMapInfo mapInfo = mapData.getStep()[jj];
+//                    param.put("CAR1",   mapInfo.getLsu()[ 0] & 0xFF);   /*차량등 1 (2004-LSU1) */
+//                    param.put("PED1",   mapInfo.getLsu()[ 1] & 0xFF);   /*보행등 1 (2004-LSU2) */
+//                    param.put("CAR2",   mapInfo.getLsu()[ 2] & 0xFF);
+//                    param.put("PED2",   mapInfo.getLsu()[ 3] & 0xFF);
+//                    param.put("CAR3",   mapInfo.getLsu()[ 4] & 0xFF);
+//                    param.put("PED3",   mapInfo.getLsu()[ 5] & 0xFF);
+//                    param.put("CAR4",   mapInfo.getLsu()[ 6] & 0xFF);
+//                    param.put("PED4",   mapInfo.getLsu()[ 7] & 0xFF);
+//                    param.put("CAR5",   mapInfo.getLsu()[ 8] & 0xFF);
+//                    param.put("PED5",   mapInfo.getLsu()[ 9] & 0xFF);
+//                    param.put("CAR6",   mapInfo.getLsu()[10] & 0xFF);
+//                    param.put("PED6",   mapInfo.getLsu()[11] & 0xFF);
+//                    param.put("CAR7",   mapInfo.getLsu()[12] & 0xFF);
+//                    param.put("PED7",   mapInfo.getLsu()[13] & 0xFF);
+//                    param.put("CAR8",   mapInfo.getLsu()[14] & 0xFF);   /*차량등 8 (2004-LSU15) */
+//                    param.put("PED8",   mapInfo.getLsu()[15] & 0xFF);   /*보행등 8 (2004-LSU16) */
+//                    param.put("MIN_TM", mapInfo.getMinTm()   & 0xFF);   /*최소시간 */
+//                    param.put("MAX_TM", mapInfo.getMaxTm()   & 0xFF);   /*최대시간 */
+//                    param.put("EOP",    mapInfo.getEop()     & 0xFF);   /*현시종료여부(1:종료) */
 
                     lists.add(param);
                 }