Browse Source

相机台账 导入

sunhh 1 year ago
parent
commit
5d5e3483ac

+ 3 - 0
business-service/src/main/java/com/ozs/entity/BaseCameraManagement.java

@@ -70,6 +70,7 @@ public class BaseCameraManagement extends BaseEntity implements Serializable {
      */
     private Integer installMile;
     @TableField(exist = false)
+    @Excel(name = "监控相机安装里程位置 KM")
     private BigDecimal installMileBD;
 
     /**
@@ -77,6 +78,7 @@ public class BaseCameraManagement extends BaseEntity implements Serializable {
      */
     private Integer beginMile;
     @TableField(exist = false)
+    @Excel(name = "监控范围开始里程位置 KM")
     private BigDecimal beginMileBD;
 
     /**
@@ -84,6 +86,7 @@ public class BaseCameraManagement extends BaseEntity implements Serializable {
      */
     private Integer endMile;
     @TableField(exist = false)
+    @Excel(name = "监控范围结束里程位置 KM")
     private BigDecimal endMileBD;
 
     /**

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

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