Commit 4a0ff768 authored by jaehyu's avatar jaehyu

couple of improvments.. last of it are being done on weekend

parent d87eef10
package com.skt.ehs.mbs.db.maria.dao;
import java.util.HashMap;
import java.util.List;
import org.apache.ibatis.annotations.Param;
/**
* Created by user on 2016-12-01.
*/
public interface FPBLEBuildDAO {
void updateScale(@Param("scale_pixel") double scale_pixel,@Param("map_id") int map_id);
public double selectScalePixel(HashMap<String, Integer> params);
}
\ No newline at end of file
......@@ -2,8 +2,13 @@ package com.skt.ehs.mbs.fpbuilder;
import com.skt.ehs.mbs.db.maria.DBManager;
import com.skt.ehs.mbs.db.maria.MariaConnectionManager;
import com.skt.ehs.mbs.db.maria.dao.FPBLEBuildDAO;
import org.apache.ibatis.session.SqlSession;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collections;
import java.util.List;
public class BLEFPBuilder {
......@@ -11,6 +16,20 @@ public class BLEFPBuilder {
public static final int LENGTH_X = 8000;
public static final int WIDTH_Y = 4000;
class _ble_indicator {
String m_ap_id;
Integer m_rssi;
_ble_indicator(String ap_id, Integer rssi) {
m_ap_id = ap_id;
m_rssi = rssi;
}
@Override
public String toString() {
return String.format("%s : %9d", m_ap_id, m_rssi);
}
}
Floor mFloor;
public BLEFPBuilder(int M,int N) {
......@@ -65,7 +84,29 @@ public class BLEFPBuilder {
return ret;
}
private List<_ble_indicator> get_aplist_in_coordinate_per_rssidir (int d1, int d2, int x1, int y1, int x2, int y2) {
MariaConnectionManager mngr = MariaConnectionManager.getInstance();
List<_ble_indicator> ret = Collections.emptyList();
System.out.printf("( d1, d2, x1, y1, x2, y2)=( %10d, %10d, %10d, %10d, %10d, %10d )",d1,d2,x1,y1,x2, y2 );
System.out.println();
try (SqlSession session = mngr.getSqlSessionFactory().openSession()) {
FPBLEBuildDAO mapper = session.getMapper(FPBLEBuildDAO.class);
// Todo regarding to given rssi_dir & cell_coordi, select <tagid, seq, time> records
// Todo select AP regarding to above <tagid, seq, time> records as per A record.
//ret = mapper.selectAPinCoordiwDir(d1,d2,x1,y1,x2, y2);
}
ret.forEach(System.out::println);
return ret;
}
public boolean build() {
double scale_pixel = readMapScale();
......@@ -73,13 +114,15 @@ public class BLEFPBuilder {
mFloor.setMap_scale_pixel(scale_pixel);
// Todo access DB & calculate factor & build fp.
/*********************** Loop of loop here ... *************************************/
// 수집방향 맵 준비
int[] temp = mFloor.loadRSSIDir();
System.out.println(Arrays.toString(temp));
/* Todo 8분위 되어 있는 기준값을 단말기에서 올려주는 값의 범위로 바꾸어 사용할 수 있도록 준비
switch case 사용
*/
int rssi_dir = temp[0];
System.out.println("RSSI_DIR : "+rssi_dir);
// location coordinate 준비
BLECell bleCell = mFloor.getBLECell(3,5);
......@@ -93,12 +136,14 @@ public class BLEFPBuilder {
System.out.printf("Pixel Coordinate : ("+coordinate_pixel_x1+", "+coordinate_pixel_y1+") ("+coordinate_pixel_x2+", "+coordinate_pixel_y2+")");
System.out.println();
List<_ble_indicator> ble_list = get_aplist_in_coordinate_per_rssidir(rssi_dir, rssi_dir, coordinate_pixel_x1, coordinate_pixel_y1, coordinate_pixel_x2, coordinate_pixel_y2);
// using collection.stream() ,
// calculate rssi_min, rssi_max, rssi_avg, rssi_std_dev, count per ap_id
// then insert into fp_ble_data table
// Loop here ..*********************************************************************/
return true;
......
......@@ -6,11 +6,11 @@
<mapper namespace="com.skt.ehs.mbs.db.maria.dao.FPBLEBuildDAO">
<select id="selectScalePixel" parameterType="map" resultType="double">
select scale_pixel from map_image WHERE campus_id=#{campus_id} and BUILDING_ID = #{building_id} and floor_id=#{floor_id}
</select>
</mapper>
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment