shjung 2 лет назад
Родитель
Сommit
b304a094b2

+ 4 - 4
src/main/java/com/its/op/dto/its/oper/TbUserInfrDto.java

@@ -30,7 +30,7 @@ public class TbUserInfrDto implements Serializable {
 
     @ApiModelProperty("이름")  // Y VARCHAR2(30)
     @JsonProperty("name")
-    private String name;
+    private String userNm;
 
     @ApiModelProperty("주민번호")  // Y VARCHAR2(14)
     @JsonProperty("resd_nmbr")
@@ -113,7 +113,7 @@ public class TbUserInfrDto implements Serializable {
         @ApiModelProperty("이름, Nullable = Y, VARCHAR2(30)")  // Y VARCHAR2(30)
         @JsonProperty("name")
         @Size(min=1, max=30)
-        private String name;
+        private String userNm;
 
         @ApiModelProperty("주민번호, Nullable = Y, VARCHAR2(14)")  // Y VARCHAR2(14)
         @JsonProperty("resd_nmbr")
@@ -190,7 +190,7 @@ public class TbUserInfrDto implements Serializable {
         public TbUserInfrUpdReq(String user_id, String pwd, String name, String resd_nmbr, String comp, String dept_name, String pos_name, String email, String tel, String mobile, String ent_dt, String emp_etc, String oper_syst_id, String grop_id, String hint_ques, String hint_ans, String del_yn) {
             this.userId = user_id;
             this.pwd = pwd;
-            this.name = name;
+            this.userNm = name;
             this.resdNmbr = resd_nmbr;
             this.comp = comp;
             this.deptName = dept_name;
@@ -211,7 +211,7 @@ public class TbUserInfrDto implements Serializable {
             return TbUserInfr.builder()
                     .userId(this.userId)
                     .pwd(this.pwd)
-                    .name(this.name)
+                    .userNm(this.userNm)
                     .resdNmbr(this.resdNmbr)
                     .comp(this.comp)
                     .deptName(this.deptName)

+ 5 - 5
src/main/java/com/its/op/dto/its/oper/TbWwwMemberDto.java

@@ -26,7 +26,7 @@ public class TbWwwMemberDto implements Serializable {
 
     @ApiModelProperty("이름")  // Y VARCHAR2(15)
     @JsonProperty("name")
-    private String name;
+    private String memberNm;
 
     @ApiModelProperty("비밀번호")  // Y VARCHAR2(100)
     @JsonProperty("pwd")
@@ -87,8 +87,8 @@ public class TbWwwMemberDto implements Serializable {
 
         @ApiModelProperty("이름, Nullable = Y, VARCHAR2(15)")  // Y VARCHAR2(15)
         @JsonProperty("name")
-        @Size(min=1, max=15)
-        private String name;
+        @Size(min=1, max=30)
+        private String memberNm;
 
         @ApiModelProperty("비밀번호, Nullable = Y, VARCHAR2(100)")  // Y VARCHAR2(100)
         @JsonProperty("pwd")
@@ -145,7 +145,7 @@ public class TbWwwMemberDto implements Serializable {
         @Builder
         public TbWwwMemberUpdReq(String email, String name, String pwd, String contact_num, String user_auth, String hint_ques, String hint_ans, Integer login_fail_count, String is_account_lock, String ip_address, String reg_dt, String del_yn) {
             this.email = email;
-            this.name = name;
+            this.memberNm = name;
             this.pwd = pwd;
             this.contactNum = contact_num;
             this.userAuth = user_auth;
@@ -178,7 +178,7 @@ public class TbWwwMemberDto implements Serializable {
         public TbWwwMember toEntity() {
             return TbWwwMember.builder()
                     .email(this.email)
-                    .name(this.name)
+                    .memberNm(this.memberNm)
                     .pwd(this.pwd)
                     .contactNum(this.contactNum)
                     .userAuth(this.userAuth)

+ 2 - 2
src/main/java/com/its/op/entity/its/facility/TbFcltInfr.java

@@ -168,11 +168,11 @@ public class TbFcltInfr implements Serializable {
         }
 
         if (this.mainUser != null) {
-            dto.setMainUserNm(this.mainUser.getName());
+            dto.setMainUserNm(this.mainUser.getUserNm());
         }
 
         if (this.subUser != null) {
-            dto.setSubUserNm(this.subUser.getName());
+            dto.setSubUserNm(this.subUser.getUserNm());
         }
 
         String fcltGroup = CmmnCdManager.getFcltGroupNm(this.fcltType);

+ 1 - 1
src/main/java/com/its/op/entity/its/oper/TbUserCnncHs.java

@@ -74,7 +74,7 @@ public class TbUserCnncHs implements Serializable {
                 .build();
 
         if (this.user != null) {
-            dto.setName(this.user.getName());
+            dto.setName(this.user.getUserNm());
             dto.setComp(this.user.getComp());
             dto.setDeptName(this.user.getDeptName());
             dto.setPosName(this.user.getPosName());

+ 5 - 5
src/main/java/com/its/op/entity/its/oper/TbUserInfr.java

@@ -35,8 +35,8 @@ public class TbUserInfr implements Serializable {
     private String pwd;
 
     @ApiModelProperty("이름")  // Y VARCHAR2(30)
-    @Column(name = "NAME", length = 30)
-    private String name;
+    @Column(name = "USER_NM", length = 30)
+    private String userNm;
 
     @ApiModelProperty("주민번호")  // Y VARCHAR2(14)
     @Column(name = "RESD_NMBR", length = 14)
@@ -105,7 +105,7 @@ public class TbUserInfr implements Serializable {
         return TbUserInfrDto.builder()
                 .userId(this.userId)
                 .pwd(this.pwd)
-                .name(this.name)
+                .userNm(this.userNm)
                 .resdNmbr(this.resdNmbr)
                 .comp(this.comp)
                 .deptName(this.deptName)
@@ -127,7 +127,7 @@ public class TbUserInfr implements Serializable {
         return UserInfrVo.builder()
                 .userId(this.userId)
                 .pwd(this.pswd)
-                .name(this.name)
+                .userNm(this.userNm)
                 .comp(this.comp)
                 .tel(this.tel)
                 .mobile(this.mobile)
@@ -146,7 +146,7 @@ public class TbUserInfr implements Serializable {
 
     public void updateInfo(TbUserInfrDto.TbUserInfrUpdReq req) {
         this.pwd = req.getPwd();
-        this.name = req.getName();
+        this.userNm = req.getUserNm();
         this.resdNmbr = req.getResdNmbr();
         this.comp = req.getComp();
         this.deptName = req.getDeptName();

+ 4 - 4
src/main/java/com/its/op/entity/its/oper/TbWwwMember.java

@@ -33,9 +33,9 @@ public class TbWwwMember implements Serializable {
     @Column(name = "EMAIL", nullable = false, length = 50)
     private String email;
 
-    @ApiModelProperty("이름")  // Y VARCHAR2(15)
-    @Column(name = "NAME", length = 15)
-    private String name;
+    @ApiModelProperty("이름")  // Y VARCHAR2(30)
+    @Column(name = "MEMBER_NM", length = 30)
+    private String memberNm;
 
     @ApiModelProperty("비밀번호")  // Y VARCHAR2(100)
     @Column(name = "PWD", length = 100)
@@ -93,7 +93,7 @@ public class TbWwwMember implements Serializable {
     public TbWwwMemberDto toDto() {
         return TbWwwMemberDto.builder()
                 .email(this.email)
-                .name(this.name)
+                .memberNm(this.memberNm)
                 .pwd(this.pwd)
                 .contactNum(this.contactNum)
                 .userAuth(this.userAuth)

+ 3 - 3
src/main/java/com/its/op/security/UserInfrVo.java

@@ -31,7 +31,7 @@ public class UserInfrVo implements UserDetails {
     @ApiModelProperty("암호")  // Y VARCHAR(64)
     private String pwd;
     @ApiModelProperty("성명")  // Y VARCHAR(30)
-    private String name;
+    private String userNm;
     @ApiModelProperty("회사")  // Y VARCHAR(50)
     private String comp;
     @ApiModelProperty("전화번호")  // Y VARCHAR(128)
@@ -67,7 +67,7 @@ public class UserInfrVo implements UserDetails {
         return TbUserInfrDto.builder()
                 .userId(this.userId)
                 .pwd(this.pwd)
-                .name(this.name)
+                .userNm(this.userNm)
                 .comp(this.comp)
                 .tel(this.tel)
                 .mobile(this.mobile)
@@ -83,7 +83,7 @@ public class UserInfrVo implements UserDetails {
         return TbUserInfr.builder()
                 .userId(this.userId)
                 .pwd(this.pwd)
-                .name(this.name)
+                .userNm(this.userNm)
                 .comp(this.comp)
                 .tel(this.tel)
                 .mobile(this.mobile)

+ 1 - 1
src/main/resources/static/application/op/00.main/main-header.js

@@ -1382,7 +1382,7 @@ window.$Menu = _menuDataAll;
 window.$userId = getCookie('UUID');
 $(() => {
 
-    //window.$userId = 'ADMIN';
+    window.$userId = 'ADMIN';
     const uri = "/api/auth/menu-auth/" + window.$userId;
     getDataAsync(uri, fetchMenuAuth, null, null, true);
     

Разница между файлами не показана из-за своего большого размера
+ 506 - 509
src/main/resources/static/application/op/06.vds/02.manager-dtct/dtct.js


+ 4 - 4
src/main/resources/static/js/constant/constant.js

@@ -1,10 +1,10 @@
 // common.js restApi.js, websocket.js
-//const _apiUrl = "http://localhost:8998";
-const _apiUrl = "";
+const _apiUrl = "http://115.91.94.42:8999";
+//const _apiUrl = "";
 
 // map-config.js
-const _mapHostUrl = "";
-//const _mapHostUrl = "http://localhost:8080";
+//const _mapHostUrl = "";
+const _mapHostUrl = "http://115.91.94.42:8999";
 const _normalUrl = _mapHostUrl + "/MAPDATA/PTATMS/VWorld/Base/{z}/{x}/{y}.png";
 const _satelliteUrl = _mapHostUrl + "/MAPDATA/PTATMS/VWorld/Satellite/{z}/{x}/{y}.jpeg";
 const _hybridUrl = _mapHostUrl + "/MAPDATA/PTATMS/VWorld/Hybrid/{z}/{x}/{y}.png";

+ 58 - 45
src/main/resources/static/js/vworld/map-mngr.js

@@ -229,10 +229,9 @@ export class TMapMngr {
                 } catch (err) {
                     console.error(err);
                 }
-            }
-            else {
+            } else {
                 if (_mapMngr.onMouseClickFunc != null) {
-                    _mapMngr.onMouseClickFunc(-1, -1, -1, -1, -1,-1, -1);
+                    _mapMngr.onMouseClickFunc(-1, -1, -1, -1, -1, -1, -1);
                 }
             }
         });
@@ -253,12 +252,10 @@ export class TMapMngr {
                 let xy = [];
                 if (lyrType <= LayerType.VMSI) {
                     xy = e.coordinate; //coord[0];
-                } 
-                else if (coord) {
+                } else if (coord) {
                     xy[0] = coord[0];
                     xy[1] = coord[1];
-                }
-                else if (obj.coordinates) {
+                } else if (obj.coordinates) {
                     xy[0] = obj.coordinates[0];
                     xy[1] = obj.coordinates[1];
                 }
@@ -281,8 +278,7 @@ export class TMapMngr {
                         console.error(err);
                     }
                 }
-            }
-            else {
+            } else {
                 if (_mapMngr.onMouseClickFunc != null) {
                     _mapMngr.onMouseClickFunc(-1, -1, -1, -1, -1, e.pixel[0], e.pixel[1]);
                 }
@@ -290,8 +286,17 @@ export class TMapMngr {
         });
 
         this.map.on("pointermove", this.onMouseMove);
+        this.map.getViewport().addEventListener("mouseout", this.onMapMouseOut);
     } // constructor
 
+    onMapMouseOut( e ) {
+        _mapMngr.tooltip.style.display = "none";
+        if (_mapMngr.selLink != null && _mapMngr.selLinkStyle != null) {
+            _mapMngr.selLink.setStyle(_mapMngr.selLinkStyle);
+            _mapMngr.selLink = null;
+            _mapMngr.selLinkStyle = null;
+        }
+    }
     onMouseMove(e) {
         _mapMngr.tooltip.style.display = "none";
         if (e.dragging) {
@@ -303,7 +308,7 @@ export class TMapMngr {
         }
         _mapMngr.map.getTarget().style.cursor = "";
 
-        if (_mapMngr.selLink) {
+        if (_mapMngr.selLink != null && _mapMngr.selLinkStyle != null) {
             _mapMngr.selLink.setStyle(_mapMngr.selLinkStyle);
             _mapMngr.selLink = null;
             _mapMngr.selLinkStyle = null;
@@ -358,11 +363,11 @@ export class TMapMngr {
                         iwContent += '<div export class="head"><span export class="title">' + road + '</span><span export class="traffic">' + info + "</span></div>";
                         iwContent += '<div export class="cont">';
                         iwContent += "<dl><dt>" + path + "</dt>";
-                        let sectLength = '-';
+                        let sectLength = "-";
                         if (refObj.SECT_LNGT) {
                             sectLength = refObj.SECT_LNGT.toString().replace(/\B(?=(\d{3})+(?!\d))/g, ",");
                         }
-                        let sped = '-';
+                        let sped = "-";
                         if (refObj.sped) {
                             sped = refObj.sped.toString().replace(/\B(?=(\d{3})+(?!\d))/g, ",");
                         }
@@ -374,12 +379,12 @@ export class TMapMngr {
                         const lyrName = "[" + lyrInfo.lyrName + "]";
                         const COMM = obj.COMM;
                         let path = obj.NAME;
-                        if (lyrName === '[교차로카메라]') {
-                            const direction = ['북', '동', '남', '서', '북동', '남동', '북서', '남서'];
-                            if (obj.drct_dvsn_cd >= 0) path = obj.NAME + " (" + direction[obj.drct_dvsn_cd - 1] + ")"
+                        if (lyrName === "[교차로카메라]") {
+                            const direction = ["북", "동", "남", "서", "북동", "남동", "북서", "남서"];
+                            if (obj.drct_dvsn_cd >= 0) path = obj.NAME + " (" + direction[obj.drct_dvsn_cd - 1] + ")";
                         }
                         if (path === null || path === undefined || path === "") {
-                            path = '-';
+                            path = "-";
                         }
                         let grade = 1;
                         let info = "";
@@ -410,17 +415,17 @@ export class TMapMngr {
                         iwContent += '<div export class="cont">';
                         iwContent += "<dl><dt>" + path + "</dt>";
                         if (obj.NMBR) {
-                            iwContent += "<dd>NO : " + obj.NMBR
+                            iwContent += "<dd>NO : " + obj.NMBR;
                         }
                         if (obj.ID) {
                             iwContent += "<br/> ID : " + obj.ID + "</dd>";
                         }
-                        if (lyrName === '[교차로카메라]') {
-                            let traff = '-';
+                        if (lyrName === "[교차로카메라]") {
+                            let traff = "-";
                             if (obj.info1) {
                                 traff = obj.info1.toString().replace(/\B(?=(\d{3})+(?!\d))/g, ",");
                             }
-                            iwContent += "<dd>교통량 : " + traff + " 대</dd>"
+                            iwContent += "<dd>교통량 : " + traff + " 대</dd>";
                         }
                         iwContent += "</dl></div>";
                     }
@@ -525,7 +530,16 @@ export class TMapMngr {
                         iwContent += '<div export class="head"><span export class="title">' + nmbr + '</span><span export class="traffic">' + info + "</span></div>";
                         iwContent += '<div export class="cont">';
                         iwContent += "<dl><dt>" + path + "</dt>";
-                        iwContent += "<dd>등록시각: " + getParseDateTime(REG_DT) + "<br/>시작시각: " + getParseDateTime(STR_DT) + "<br/>종료시각: " + getParseDateTime(END_DT) + "<br/>발생장소: " + INCLOC + "</dd>";
+                        iwContent +=
+                            "<dd>등록시각: " +
+                            getParseDateTime(REG_DT) +
+                            "<br/>시작시각: " +
+                            getParseDateTime(STR_DT) +
+                            "<br/>종료시각: " +
+                            getParseDateTime(END_DT) +
+                            "<br/>발생장소: " +
+                            INCLOC +
+                            "</dd>";
                         iwContent += "</dl></div>";
                     }
                 }
@@ -678,14 +692,14 @@ export class TMapMngr {
         EditLinkColor[2] = "#FFAA00";
         EditLinkColor[3] = "#FF0000";
     }
-    setTrafficGradDesc( jsonData ) {
+    setTrafficGradDesc(jsonData) {
         if (jsonData && jsonData.length > 0) {
-            jsonData.map((item)=>{
+            jsonData.map((item) => {
                 if (item.cmmn_cd) {
-                    let idx = item.cmmn_cd.substring(item.cmmn_cd.length-1, item.cmmn_cd.length);
+                    let idx = item.cmmn_cd.substring(item.cmmn_cd.length - 1, item.cmmn_cd.length);
                     TrafficGradeDesc[idx] = item.cmmn_cd_kor_nm;
                 }
-            })
+            });
         }
     }
     setEditMode(ALyrIdx, AIsEdit) {
@@ -874,8 +888,8 @@ export class TMapMngr {
 
     getInfo() {
         return {
-            zoom : _mapMngr.currZoom,
-            center : _mapMngr.centerPos,
+            zoom: _mapMngr.currZoom,
+            center: _mapMngr.centerPos,
         };
     }
     // 레이어 객체 선택
@@ -1152,22 +1166,22 @@ export class TMapMngr {
         }
     }
 
-   // 지도영역 다시 그리기(화면이 리사이즈 될 경우 등)
-   updateSize() {
-    if (this.resizeMapUpdateTimer) {
-        clearTimeout(this.resizeMapUpdateTimer);
+    // 지도영역 다시 그리기(화면이 리사이즈 될 경우 등)
+    updateSize() {
+        if (this.resizeMapUpdateTimer) {
+            clearTimeout(this.resizeMapUpdateTimer);
+        }
+        this.resizeMapUpdateTimer = setTimeout(() => {
+            this.map.updateSize();
+            // let layerArr = this.config.baseMapLyr.satellite.getLayers().getArray();
+            // layerArr.forEach((layer) => layer.redraw());
+            // this.config.baseMapLyr.satellite.layers.forEach((lyr) => lyr.redraw());
+            // this.config.baseMapLyr.normal.layers.forEach((lyr) => lyr.redraw());
+            // this.config.baseMapLyr.satellite.redraw();
+            // this.config.baseMapLyr.normal.redraw();
+        }, 450);
     }
-    this.resizeMapUpdateTimer = setTimeout(() => {
-        this.map.updateSize();
-        // let layerArr = this.config.baseMapLyr.satellite.getLayers().getArray();
-        // layerArr.forEach((layer) => layer.redraw());
-        // this.config.baseMapLyr.satellite.layers.forEach((lyr) => lyr.redraw());
-        // this.config.baseMapLyr.normal.layers.forEach((lyr) => lyr.redraw());
-        // this.config.baseMapLyr.satellite.redraw();
-        // this.config.baseMapLyr.normal.redraw();
-    }, 450);
-}
-// 지도화면 refresh
+    // 지도화면 refresh
     refreshMap() {
         if (this.editMode) {
             // 편집 모드
@@ -1455,7 +1469,7 @@ export class TMapMngr {
     }
 }
 
-function getParseDateTime(param){
+function getParseDateTime(param) {
     if (param.length <= 14) {
         let str = "";
         str += param.substring(0, 4);
@@ -1470,8 +1484,7 @@ function getParseDateTime(param){
         str += ":";
         str += param.substring(12, 14);
         return str;
-    }
-    else {
+    } else {
         return param;
     }
 }

+ 1 - 1
src/main/resources/static/js/vworld/obj-facility.js

@@ -127,7 +127,7 @@ export class TPoi {
                     backgroundFill: new ol.style.Fill({ color: "black" }),
                     offsetX: 2,
                     offsetY: (this.lyrInfo.imgW * this.lyrInfo.scales[currZoom]) / 2 + 2,
-                    placement: "pooint",
+                    placement: "Point",
                 }),
             });
         } else {

+ 25 - 3
src/test/java/com/its/op/ItsOpServerApplicationTests.java

@@ -12,6 +12,9 @@ import org.jasypt.encryption.pbe.config.SimpleStringPBEConfig;
 import org.jasypt.salt.StringFixedSaltGenerator;
 import org.junit.jupiter.api.Test;
 import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.boot.test.web.client.TestRestTemplate;
+import org.springframework.http.HttpStatus;
+import org.springframework.http.ResponseEntity;
 import org.springframework.test.context.ActiveProfiles;
 
 import javax.persistence.EntityManager;
@@ -25,6 +28,7 @@ import java.util.Date;
 import java.util.List;
 import java.util.Optional;
 import java.util.concurrent.TimeUnit;
+import static org.assertj.core.api.Assertions.assertThat;
 
 @Slf4j
 //@SpringBootTest
@@ -39,6 +43,18 @@ public class ItsOpServerApplicationTests {
     @Autowired
     private SqlSessionFactory sqlSessionFactory;
 
+    @Test
+    void status_check_return_ok() {
+        TestRestTemplate rest = new TestRestTemplate();
+        //GET
+        //ResponseEntity<String> res = rest.getForEntity("http://localhost:8998/api/auth/keep-alive.do", String.class);
+        //POST
+        ResponseEntity<String> res = rest.postForEntity("http://localhost:8998/api/auth/keep-alive.do", "", String.class);
+
+        assertThat(res.getStatusCode()).isEqualTo(HttpStatus.OK);
+        assertThat(res.getBody()).isEqualTo("success");
+    }
+
     @Test
     void splitTest() {
         //String param = "ebda31485233419abb3d6275abcac7dc|3fa90f604a0c4dd396bda9e4da1979fa|";
@@ -81,7 +97,7 @@ public class ItsOpServerApplicationTests {
     }
 
     @Test
-    void ttl() {
+    void ttl() throws InterruptedException {
         ExpiringMap<String, String> tokenEventMap;
         tokenEventMap = ExpiringMap.builder()
                 .variableExpiration()
@@ -92,9 +108,14 @@ public class ItsOpServerApplicationTests {
         long secondAtLogout = Instant.now().getEpochSecond();
         long ttl = Math.max(0, secondAtExpiry - secondAtLogout);
         log.error("{}, {}, {}", secondAtExpiry, secondAtLogout, ttl);
-        tokenEventMap.put("TEST", "data", ttl, TimeUnit.SECONDS);
-        log.error("{}", tokenEventMap);
+        ttl = 3500;
+        tokenEventMap.put("TEST", "data", ttl, TimeUnit.MILLISECONDS);
+        for (int ii = 0; ii < 5; ii++) {
+            log.error("{}, {}", ii, tokenEventMap);
+            Thread.sleep(1000);
+        }
     }
+
     @Test
     void encrypt() {
 //        for(String n : bf.getBeanDefinitionNames()){
@@ -105,6 +126,7 @@ public class ItsOpServerApplicationTests {
         log.error("{}", SHA256Util.encrypt2("PA5461")); // bc269b87a038d1ef21eaad1eed2967ea7afdd2f34ae01850e9b80d9e0bd1d99c
         log.error("{}", SHA256Util.encrypt2("system")); // bbc5e661e106c6dcd8dc6dd186454c2fcba3c710fb4d8e71a60c93eaf077f073
     }
+
     @Test
     public void testConnection() {
         try (

Некоторые файлы не были показаны из-за большого количества измененных файлов