Explorar o código

Merge remote-tracking branch 'origin/master'

buzhanyi hai 1 ano
pai
achega
c682a3171f

+ 10 - 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,25 @@ public class BaseCameraManagement extends BaseEntity implements Serializable {
      * 监控相机安装里程位置
      */
     private Integer installMile;
+    @TableField(exist = false)
+    @Excel(name = "监控相机安装里程位置 KM")
+    private BigDecimal installMileBD;
 
     /**
      * 监控范围开始里程位置
      */
     private Integer beginMile;
+    @TableField(exist = false)
+    @Excel(name = "监控范围开始里程位置 KM")
+    private BigDecimal beginMileBD;
 
     /**
      * 监控范围结束里程位置
      */
     private Integer endMile;
+    @TableField(exist = false)
+    @Excel(name = "监控范围结束里程位置 KM")
+    private BigDecimal endMileBD;
 
     /**
      * 监视相机经度
@@ -141,7 +151,6 @@ public class BaseCameraManagement extends BaseEntity implements Serializable {
      * 所属工务段名称
      */
     @TableField(exist = false)
-    @Excel(name = "所属工务段名称")
     private String deptName;
 
     /**

+ 2 - 2
business-service/src/main/java/com/ozs/entity/vo/BaseCameraManagementVos.java

@@ -59,8 +59,8 @@ public class BaseCameraManagementVos implements Serializable {
     /**
      * 所属工务段名称
      */
-    @Excel(name = "所属工务段名称")
-    private String deptName;
+//    @Excel(name = "所属工务段名称")
+//    private String deptName;
 
     /**
      * 监控相机安装里程位置

+ 78 - 37
business-service/src/main/java/com/ozs/service/impl/BaseCameraManagementServiceImpl.java

@@ -21,10 +21,11 @@ import com.ozs.service.BaseRailwayManagementService;
 import com.ozs.service.BaseUserService;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
-import org.springframework.util.ObjectUtils;
 
 import javax.annotation.Resource;
 import javax.validation.Validator;
+import java.math.BigDecimal;
+import java.math.RoundingMode;
 import java.util.ArrayList;
 import java.util.HashSet;
 import java.util.List;
@@ -67,7 +68,7 @@ public class BaseCameraManagementServiceImpl extends ServiceImpl<BaseCameraManag
      */
     @Override
     public String importBaseAccountManagement(List<BaseCameraManagementVos> accountManageList, boolean updateSupport, String userId) {
-        if (StringUtils.isNull(accountManageList) || accountManageList.size() == 0) {
+        if (StringUtils.isEmptySunhh(accountManageList) || accountManageList.size() == 0) {
             throw new ServiceException("导入相机台账列表信息不能为空!");
         }
         int successNum = 0;
@@ -80,52 +81,92 @@ public class BaseCameraManagementServiceImpl extends ServiceImpl<BaseCameraManag
                 BeanUtils.copyProperties(cameraManagementVos, accountManagement);
                 // 判断相机编码是否存在
                 LambdaQueryWrapper<BaseCameraManagement> lw = new LambdaQueryWrapper<BaseCameraManagement>();
-                if (!ObjectUtils.isEmpty(accountManagement.getCameraCode())) {
+                if (!StringUtils.isEmptySunhh(accountManagement.getCameraCode())) {
                     lw.eq(BaseCameraManagement::getCameraCode, accountManagement.getCameraCode());
                 }
                 BaseCameraManagement baseAccountManagement = baseCameraManagementMapper.selectOne(lw);
-                if (ObjectUtils.isEmpty(baseAccountManagement)) {
+                if (StringUtils.isEmptySunhh(baseAccountManagement)) {
                     BeanValidators.validateWithException(validator, accountManagement);
                     accountManagement.setUpdateBy(userId);
                     accountManagement.setCreateBy(userId);
-                    Long deptId = baseDeptMapper.selectDeptByDeptName(accountManagement.getDeptName());
-                    log.debug(accountManagement.getDeptName() + "主键id:" + deptId);
+//                    Long deptId = baseDeptMapper.selectDeptByDeptName(accountManagement.getDeptName());
+//                    log.debug(accountManagement.getDeptName() + "主键id:" + deptId);
 //                    if (!ObjectUtils.isEmpty(deptId)) {
-                        accountManagement.setDeptId(deptId);
-                        LambdaQueryWrapper<BaseRailwayManagement> queryWrapper = new LambdaQueryWrapper<BaseRailwayManagement>();
-                        if (!ObjectUtils.isEmpty(accountManagement.getRailwayName())) {
-                            queryWrapper.eq(BaseRailwayManagement::getRailwayName, accountManagement.getRailwayName());
-                        }
-                        BaseRailwayManagement baseRailwayManagement = baseRailwayManagementService.getOne(queryWrapper);
-                        if (!ObjectUtils.isEmpty(baseRailwayManagement)) {
-                            if (!accountManagement.getBeginMile().toString().matches(PATTERN) || !accountManagement.getInstallMile().toString().matches(PATTERN) || !accountManagement.getEndMile().toString().matches(PATTERN)) {
-                                failureNum++;
-                                failureMsg.append(failureNum + "、相机编码为: " + accountManagement.getCameraCode() + "的数据,里程位置填写格式不正确,请填写数字");
-                            } else {
-                                accountManagement.setRailwayCode(baseRailwayManagement.getRailwayCode());
-                                accountManagement.setInstallMile(accountManagement.getInstallMile() * 1000);
-                                accountManagement.setEndMile(accountManagement.getEndMile() * 1000);
-                                accountManagement.setBeginMile(accountManagement.getBeginMile() * 1000);
-                                if (accountManagement.getBeginMile() < accountManagement.getEndMile()) {
-                                    baseCameraManagementMapper.insert(accountManagement);
-                                    BaseDeviceDynamicManagement baseDeviceDynamicManagement = new BaseDeviceDynamicManagement();
-                                    baseDeviceDynamicManagement.setCameraCode(accountManagement.getCameraCode());
-                                    baseDeviceDynamicManagement.setUpdateBy(userId);
-                                    baseDeviceDynamicManagement.setCreateBy(userId);
-                                    baseDeviceDynamicManagementMapper.insert(baseDeviceDynamicManagement);
-                                    successNum++;
-                                    successMsg.append(successNum + "、相机编码 " + accountManagement.getCameraCode() + " 导入成功");
+//                        accountManagement.setDeptId(deptId);
+                    LambdaQueryWrapper<BaseRailwayManagement> queryWrapper = new LambdaQueryWrapper<BaseRailwayManagement>();
+                    if (!StringUtils.isEmptySunhh(accountManagement.getRailwayName())) {
+                        queryWrapper.eq(BaseRailwayManagement::getRailwayName, accountManagement.getRailwayName());
+                    }
+                    // List<BaseRailwayManagement> list = baseRailwayManagementService.list(queryWrapper);
+                    BaseRailwayManagement baseRailwayManagement = baseRailwayManagementService.getOne(queryWrapper);
+                    if (!StringUtils.isEmptySunhh(baseRailwayManagement)) {
+                        if (!accountManagement.getBeginMile().toString().matches(PATTERN) || !accountManagement.getInstallMile().toString().matches(PATTERN) || !accountManagement.getEndMile().toString().matches(PATTERN)) {
+                            failureNum++;
+                            failureMsg.append(failureNum + "、相机编码为: " + accountManagement.getCameraCode() + "的数据,里程位置填写格式不正确,请填写数字");
+                        } else {
+                            accountManagement.setRailwayCode(baseRailwayManagement.getRailwayCode());
+                            if (!StringUtils.isEmptySunhh(accountManagement.getBeginMileBD())) {
+                                if (!accountManagement.getBeginMileBD().toString().matches(PATTERN)) {
+                                    failureNum++;
+                                    String msg = failureNum + "、监控范围开始里程位置填写格式不正确";
+                                    failureMsg.append(msg);
+                                    log.error(msg);
+                                    // return error("监控范围开始里程位置填写格式不正确");
+                                } else {
+                                    BigDecimal begin = accountManagement.getBeginMileBD().setScale(3, RoundingMode.HALF_UP);
+                                    // BigDecimal begin = BigDecimal.parseDouble(baseCameraManagement.getBeginMile().toString());
+                                    accountManagement.setBeginMile(begin.multiply(new BigDecimal("1000")).intValue());
+                                }
+                            }
+                            if (!StringUtils.isEmptySunhh(accountManagement.getInstallMileBD())) {
+                                if (!accountManagement.getInstallMileBD().toString().matches(PATTERN)) {
+                                    failureNum++;
+                                    String msg = failureNum + "、监控相机安装里程位置填写格式不正确";
+                                    failureMsg.append(msg);
+                                    log.error(msg);
+                                    // return error("监控相机安装里程位置填写格式不正确");
                                 } else {
+                                    BigDecimal install = accountManagement.getInstallMileBD().setScale(3, RoundingMode.HALF_UP);
+                                    // double install = Double.parseDouble(baseCameraManagement.getInstallMile().toString());
+                                    accountManagement.setInstallMile(install.multiply(new BigDecimal("1000")).intValue());
+                                }
+                            }
+                            if (!StringUtils.isEmptySunhh(accountManagement.getInstallMileBD())) {
+                                if (!accountManagement.getInstallMileBD().toString().matches(PATTERN)) {
                                     failureNum++;
-                                    failureMsg.append(failureNum + "、相机编码为: " + accountManagement.getCameraCode() + "的数据,监控范围开始里程位置不能大于监控范围结束里程位置");
+                                    String msg = failureNum + "、监控范围结束里程位置填写格式不正确";
+                                    failureMsg.append(msg);
+                                    log.error(msg);
+                                    // return error("监控范围结束里程位置填写格式不正确");
+                                } else {
+                                    BigDecimal end = accountManagement.getInstallMileBD().setScale(3, RoundingMode.HALF_UP);
+                                    // double end = Double.parseDouble(baseCameraManagement.getEndMile().toString());
+                                    accountManagement.setEndMile(end.multiply(new BigDecimal("1000")).intValue());
                                 }
                             }
-                        } else {
-                            failureNum++;
-                            String msg = failureNum + "、相机所属线路名称 " + accountManagement.getRailwayName() + "不存在, 导入失败:";
-                            failureMsg.append(msg);
-                            log.error(msg);
+//                                accountManagement.setInstallMile(accountManagement.getInstallMileBD() * 1000);
+//                                accountManagement.setEndMile(accountManagement.getEndMile() * 1000);
+//                                accountManagement.setBeginMile(accountManagement.getBeginMile() * 1000);
+                            if (accountManagement.getBeginMile() < accountManagement.getEndMile()) {
+                                baseCameraManagementMapper.insert(accountManagement);
+                                BaseDeviceDynamicManagement baseDeviceDynamicManagement = new BaseDeviceDynamicManagement();
+                                baseDeviceDynamicManagement.setCameraCode(accountManagement.getCameraCode());
+                                baseDeviceDynamicManagement.setUpdateBy(userId);
+                                baseDeviceDynamicManagement.setCreateBy(userId);
+                                baseDeviceDynamicManagementMapper.insert(baseDeviceDynamicManagement);
+                                successNum++;
+                                successMsg.append(successNum + "、相机编码 " + accountManagement.getCameraCode() + " 导入成功");
+                            } else {
+                                failureNum++;
+                                failureMsg.append(failureNum + "、相机编码为: " + accountManagement.getCameraCode() + "的数据,监控范围开始里程位置不能大于监控范围结束里程位置");
+                            }
                         }
+                    } else {
+                        failureNum++;
+                        String msg = failureNum + "、相机所属线路名称 " + accountManagement.getRailwayName() + "不存在, 导入失败:";
+                        failureMsg.append(msg);
+                        log.error(msg);
+                    }
 //                    } else {
 //                        failureNum++;
 //                        String msg = failureNum + "、相机所属工务段 " + accountManagement.getDeptName() + "不存在, 导入失败:";
@@ -141,7 +182,7 @@ public class BaseCameraManagementServiceImpl extends ServiceImpl<BaseCameraManag
                     accountManagement.setDeptId(deptId);
                     baseCameraManagementMapper.update(accountManagement, lw);
                     LambdaQueryWrapper<BaseDeviceDynamicManagement> wrapper = new LambdaQueryWrapper<BaseDeviceDynamicManagement>();
-                    if (!ObjectUtils.isEmpty(baseAccountManagement.getCameraCode())) {
+                    if (!StringUtils.isEmptySunhh(baseAccountManagement.getCameraCode())) {
                         wrapper.eq(BaseDeviceDynamicManagement::getCameraCode, baseAccountManagement.getCameraCode());
                     }
                     BaseDeviceDynamicManagement baseDeviceDynamicManagement = baseDeviceDynamicManagementMapper.selectOne(wrapper);

+ 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>();

BIN=BIN
vehicle-admin/src/main/resources/template/baseCameraManagement.xlsx