소스 검색

相机台账 里程位置 开始结束里程 支持输入小数 保留三位小数

sunhh 1 년 전
부모
커밋
4a96953452

+ 7 - 1
business-service/src/main/java/com/ozs/entity/BaseCameraManagement.java

@@ -12,6 +12,7 @@ import lombok.Data;
 import lombok.NoArgsConstructor;
 
 import java.io.Serializable;
+import java.math.BigDecimal;
 
 /**
  * <p>
@@ -68,16 +69,22 @@ public class BaseCameraManagement extends BaseEntity implements Serializable {
      * 监控相机安装里程位置
      */
     private Integer installMile;
+    @TableField(exist = false)
+    private BigDecimal installMileBD;
 
     /**
      * 监控范围开始里程位置
      */
     private Integer beginMile;
+    @TableField(exist = false)
+    private BigDecimal beginMileBD;
 
     /**
      * 监控范围结束里程位置
      */
     private Integer endMile;
+    @TableField(exist = false)
+    private BigDecimal endMileBD;
 
     /**
      * 监视相机经度
@@ -141,7 +148,6 @@ public class BaseCameraManagement extends BaseEntity implements Serializable {
      * 所属工务段名称
      */
     @TableField(exist = false)
-    @Excel(name = "所属工务段名称")
     private String deptName;
 
     /**

+ 59 - 36
vehicle-admin/src/main/java/com/ozs/web/controller/accountmanagment/BaseCameraManagementController.java

@@ -38,6 +38,8 @@ import javax.annotation.Resource;
 import javax.servlet.http.HttpServletResponse;
 import javax.validation.constraints.NotNull;
 import java.io.InputStream;
+import java.math.BigDecimal;
+import java.math.RoundingMode;
 import java.util.ArrayList;
 import java.util.Comparator;
 import java.util.List;
@@ -181,10 +183,13 @@ public class BaseCameraManagementController extends BaseController {
                 o.setRailwayName(baseRailwayManagement.getRailwayName());
                 String mils = AppendUtils.stringAppend(o.getInstallMile());
                 o.setInstallMiles(mils);
+                o.setInstallMileBD(new BigDecimal(o.getInstallMile()).divide(new BigDecimal(1000)).setScale(3, RoundingMode.HALF_UP));
                 String end = AppendUtils.stringAppend(o.getEndMile());
                 o.setEndMiles(end);
+                o.setEndMileBD(new BigDecimal(o.getEndMile()).divide(new BigDecimal(1000)).setScale(3, RoundingMode.HALF_UP));
                 String begin = AppendUtils.stringAppend(o.getBeginMile());
                 o.setBeginMiles(begin);
+                o.setBeginMileBD(new BigDecimal(o.getBeginMile()).divide(new BigDecimal(1000)).setScale(3, RoundingMode.HALF_UP));
                 o.setLineDirStr(o.getLineDir() == 1 ? "上行" : "下行");
                 o.setMilesRange(begin + "-" + end);
                 o.setLongitudeAndLatitude(o.getInstallLongitude() + "," + o.getInstallLongitude());
@@ -263,23 +268,32 @@ public class BaseCameraManagementController extends BaseController {
             idempotenceUtils.deleteIdempotence(baseCameraManagement.getCameraCode());
             return error("设备动态管理表该相机编码已存在,不能重复添加");
         }
-        if (!baseCameraManagement.getBeginMile().toString().matches(PATTERN)) {
-            return error("监控范围开始里程位置填写格式不正确");
-        } else {
-            double begin = Double.parseDouble(baseCameraManagement.getBeginMile().toString());
-            baseCameraManagement.setBeginMile((int) (begin * 1000));
+        if (!StringUtils.isEmptySunhh(baseCameraManagement.getBeginMileBD())) {
+            if (!baseCameraManagement.getBeginMileBD().toString().matches(PATTERN)) {
+                return error("监控范围开始里程位置填写格式不正确");
+            } else {
+                BigDecimal begin = baseCameraManagement.getBeginMileBD().setScale(3, RoundingMode.HALF_UP);
+                // BigDecimal begin = BigDecimal.parseDouble(baseCameraManagement.getBeginMile().toString());
+                baseCameraManagement.setBeginMile(begin.multiply(new BigDecimal("1000")).intValue());
+            }
         }
-        if (!baseCameraManagement.getInstallMile().toString().matches(PATTERN)) {
-            return error("监控相机安装里程位置填写格式不正确");
-        } else {
-            double install = Double.parseDouble(baseCameraManagement.getInstallMile().toString());
-            baseCameraManagement.setInstallMile((int) (install * 1000));
+        if (!StringUtils.isEmptySunhh(baseCameraManagement.getInstallMileBD())) {
+            if (!baseCameraManagement.getInstallMileBD().toString().matches(PATTERN)) {
+                return error("监控相机安装里程位置填写格式不正确");
+            } else {
+                BigDecimal install = baseCameraManagement.getInstallMileBD().setScale(3, RoundingMode.HALF_UP);
+                // double install = Double.parseDouble(baseCameraManagement.getInstallMile().toString());
+                baseCameraManagement.setInstallMile(install.multiply(new BigDecimal("1000")).intValue());
+            }
         }
-        if (!baseCameraManagement.getEndMile().toString().matches(PATTERN)) {
-            return error("监控范围结束里程位置填写格式不正确");
-        } else {
-            double end = Double.parseDouble(baseCameraManagement.getEndMile().toString());
-            baseCameraManagement.setEndMile((int) (end * 1000));
+        if (!StringUtils.isEmptySunhh(baseCameraManagement.getInstallMileBD())) {
+            if (!baseCameraManagement.getInstallMileBD().toString().matches(PATTERN)) {
+                return error("监控范围结束里程位置填写格式不正确");
+            } else {
+                BigDecimal end = baseCameraManagement.getInstallMileBD().setScale(3, RoundingMode.HALF_UP);
+                // double end = Double.parseDouble(baseCameraManagement.getEndMile().toString());
+                baseCameraManagement.setEndMile(end.multiply(new BigDecimal("1000")).intValue());
+            }
         }
         if (baseCameraManagement.getBeginMile() > baseCameraManagement.getEndMile()) {
             return error("监控范围开始里程位置不能大于监控范围结束里程位置");
@@ -323,23 +337,32 @@ public class BaseCameraManagementController extends BaseController {
         if (!ObjectUtils.isEmpty(cameraManagement) && !cameraManagement.getId().equals(baseCameraManagement.getId())) {
             return error("相机编码已存在,不能进行修改操作");
         }
-        if (!baseCameraManagement.getBeginMile().toString().matches(PATTERN)) {
-            return error("监控范围开始里程位置填写格式不正确");
-        } else {
-            double begin = Double.parseDouble(baseCameraManagement.getBeginMile().toString());
-            baseCameraManagement.setBeginMile((int) (begin * 1000));
+        if (!StringUtils.isEmptySunhh(baseCameraManagement.getBeginMileBD())) {
+            if (!baseCameraManagement.getBeginMileBD().toString().matches(PATTERN)) {
+                return error("监控范围开始里程位置填写格式不正确");
+            } else {
+                BigDecimal begin = baseCameraManagement.getBeginMileBD().setScale(3, RoundingMode.HALF_UP);
+                // BigDecimal begin = BigDecimal.parseDouble(baseCameraManagement.getBeginMile().toString());
+                baseCameraManagement.setBeginMile(begin.multiply(new BigDecimal("1000")).intValue());
+            }
         }
-        if (!baseCameraManagement.getInstallMile().toString().matches(PATTERN)) {
-            return error("监控相机安装里程位置填写格式不正确");
-        } else {
-            double install = Double.parseDouble(baseCameraManagement.getInstallMile().toString());
-            baseCameraManagement.setInstallMile((int) (install * 1000));
+        if (!StringUtils.isEmptySunhh(baseCameraManagement.getInstallMileBD())) {
+            if (!baseCameraManagement.getInstallMileBD().toString().matches(PATTERN)) {
+                return error("监控相机安装里程位置填写格式不正确");
+            } else {
+                BigDecimal install = baseCameraManagement.getInstallMileBD().setScale(3, RoundingMode.HALF_UP);
+                // double install = Double.parseDouble(baseCameraManagement.getInstallMile().toString());
+                baseCameraManagement.setInstallMile(install.multiply(new BigDecimal("1000")).intValue());
+            }
         }
-        if (!baseCameraManagement.getEndMile().toString().matches(PATTERN)) {
-            return error("监控范围结束里程位置填写格式不正确");
-        } else {
-            double end = Double.parseDouble(baseCameraManagement.getEndMile().toString());
-            baseCameraManagement.setEndMile((int) (end * 1000));
+        if (!StringUtils.isEmptySunhh(baseCameraManagement.getInstallMileBD())) {
+            if (!baseCameraManagement.getInstallMileBD().toString().matches(PATTERN)) {
+                return error("监控范围结束里程位置填写格式不正确");
+            } else {
+                BigDecimal end = baseCameraManagement.getInstallMileBD().setScale(3, RoundingMode.HALF_UP);
+                // double end = Double.parseDouble(baseCameraManagement.getEndMile().toString());
+                baseCameraManagement.setEndMile(end.multiply(new BigDecimal("1000")).intValue());
+            }
         }
         if (baseCameraManagement.getBeginMile() > baseCameraManagement.getEndMile()) {
             return error("监控范围开始里程位置不能大于监控范围结束里程位置");
@@ -381,13 +404,13 @@ public class BaseCameraManagementController extends BaseController {
         String begin = AppendUtils.stringAppend(baseCameraManagement.getBeginMile());
         baseCameraManagement.setBeginMiles(begin);
         if (!StringUtils.isEmptySunhh(baseCameraManagement.getInstallMile())) {
-            baseCameraManagement.setInstallMile(baseCameraManagement.getInstallMile()/1000);
+            baseCameraManagement.setInstallMileBD(new BigDecimal(baseCameraManagement.getInstallMile()).divide(new BigDecimal(1000)).setScale(3, RoundingMode.HALF_UP));
         }
         if (!StringUtils.isEmptySunhh(baseCameraManagement.getBeginMile())) {
-            baseCameraManagement.setBeginMile(baseCameraManagement.getBeginMile()/1000);
+            baseCameraManagement.setBeginMileBD(new BigDecimal(baseCameraManagement.getBeginMile()).divide(new BigDecimal(1000)).setScale(3, RoundingMode.HALF_UP));
         }
         if (!StringUtils.isEmptySunhh(baseCameraManagement.getEndMile())) {
-            baseCameraManagement.setEndMile(baseCameraManagement.getEndMile()/1000);
+            baseCameraManagement.setEndMileBD(new BigDecimal(baseCameraManagement.getEndMile()).divide(new BigDecimal(1000)).setScale(3, RoundingMode.HALF_UP));
         }
         baseCameraManagement.setLineDirStr(baseCameraManagement.getLineDir() == 1 ? "上行" : "下行");
         baseCameraManagement.setMilesRange(begin + "-" + end);
@@ -397,6 +420,7 @@ public class BaseCameraManagementController extends BaseController {
 
     /**
      * ***********************   弃用   ***********************
+     *
      * @param cameraCode
      * @return
      */
@@ -530,7 +554,6 @@ public class BaseCameraManagementController extends BaseController {
     }
 
 
-
     @ApiOperation("视频邀约")
     @GetMapping("/api/invite/{cameraCode}")
     @Log(title = "相机台账管理", businessType = BusinessType.OTHER)
@@ -543,7 +566,7 @@ public class BaseCameraManagementController extends BaseController {
         }
         return new AjaxResult(200, "ok", CameraUtil.invite(cameraCode, one.getChannel()));
     }
-    
+
 
     @ApiOperation("查询录像")
     @GetMapping("/api/records/{cameraCode}/{flay}")
@@ -564,7 +587,7 @@ public class BaseCameraManagementController extends BaseController {
     @Log(title = "相机台账管理", businessType = BusinessType.OTHER)
     public AjaxResult apiRecordsList(@RequestBody
                                      @NotNull(message = "相机编码不能为空")
-                                             List<String> cameraCodes) {
+                                     List<String> cameraCodes) {
         List<String> list = new ArrayList<>();
         for (String cameraCode : cameraCodes) {
             LambdaQueryWrapper<BaseCameraManagement> lw = new LambdaQueryWrapper<BaseCameraManagement>();