소스 검색

线路里程修改

gao.qiang 1 년 전
부모
커밋
a89da74c4c

+ 9 - 2
business-service/src/main/java/com/ozs/entity/BaseRailwayManagement.java

@@ -12,6 +12,7 @@ import lombok.Data;
 import lombok.NoArgsConstructor;
 
 import java.io.Serializable;
+import java.math.BigDecimal;
 
 /**
  * <p>
@@ -78,13 +79,19 @@ public class BaseRailwayManagement extends BaseEntity implements Serializable {
     /**
      * 起始里程
      */
-    @Excel(name = "起始里程")
     private Integer initialMileage;
+
+    @TableField(exist = false)
+    @Excel(name = "起始里程")
+    private BigDecimal initialMileageBD;
+    
     /**
      * 结束里程
      */
-    @Excel(name = "结束里程")
     private Integer endMileage;
+    @TableField(exist = false)
+    @Excel(name = "起始里程")
+    private BigDecimal endMileageBD;
 
     /**
      * 里程范围

+ 6 - 3
business-service/src/main/java/com/ozs/service/impl/BaseRailwayManagementServiceImpl.java

@@ -13,6 +13,7 @@ import org.springframework.util.ObjectUtils;
 
 import javax.annotation.Resource;
 import javax.validation.Validator;
+import java.math.BigDecimal;
 import java.util.List;
 
 /**
@@ -25,7 +26,7 @@ import java.util.List;
  */
 @Service
 public class BaseRailwayManagementServiceImpl extends ServiceImpl<BaseRailwayManagementMapper, BaseRailwayManagement> implements BaseRailwayManagementService {
-    public static final String PATTERN = "^[0-9]*$";
+    public static final String PATTERN = "^(\\d+.\\d{1,3}|\\d+)$";
     @Resource
     BaseRailwayManagementMapper baseRailwayManagementMapper;
     @Autowired
@@ -62,10 +63,12 @@ public class BaseRailwayManagementServiceImpl extends ServiceImpl<BaseRailwayMan
                     }
                     BaseRailwayManagement baseLineManagement = baseRailwayManagementMapper.selectOne(lw);
                     if (ObjectUtils.isEmpty(baseLineManagement)) {
-                        if (!railwayManagement.getInitialMileage().toString().matches(PATTERN) || !railwayManagement.getEndMileage().toString().matches(PATTERN)) {
+                        if (!railwayManagement.getInitialMileageBD().toString().matches(PATTERN) || !railwayManagement.getEndMileageBD().toString().matches(PATTERN)) {
                             failureNum++;
-                            failureMsg.append(failureNum + "、线路编码: " + railwayManagement.getRailwayCode() + "的数据,里程位置填写格式不正确,请填写数字");
+                            failureMsg.append(failureNum + "、线路编码: " + railwayManagement.getRailwayCode() + "的数据,里程位置填写格式不正确,请填写数字或小数");
                         }else {
+                            railwayManagement.setInitialMileage(railwayManagement.getInitialMileageBD().multiply(new BigDecimal("1000")).intValue());
+                            railwayManagement.setEndMileage(railwayManagement.getEndMileageBD().multiply(new BigDecimal("1000")).intValue());
                             BeanValidators.validateWithException(validator, railwayManagement);
                             railwayManagement.setUpdateBy(userId);
                             railwayManagement.setCreateBy(userId);

+ 19 - 0
vehicle-admin/src/main/java/com/ozs/web/controller/accountmanagment/BaseRailwayManagementController.java

@@ -30,6 +30,7 @@ import org.springframework.web.multipart.MultipartFile;
 import javax.annotation.Resource;
 import javax.servlet.http.HttpServletResponse;
 import java.io.InputStream;
+import java.math.BigDecimal;
 import java.util.List;
 import java.util.stream.Collectors;
 
@@ -45,6 +46,7 @@ import java.util.stream.Collectors;
 @RequestMapping("/service/baseRailwayManagement")
 @Slf4j
 public class BaseRailwayManagementController extends BaseController {
+    public static final String PATTERN = "^(\\d+.\\d{1,3}|\\d+)$";
     @Resource
     BaseRailwayManagementService baseRailwayManagementService;
     @Autowired
@@ -140,6 +142,14 @@ public class BaseRailwayManagementController extends BaseController {
         }
         idempotenceUtils.createIdempotence(baseRailwayManagement.getRailwayCode());
 
+        if (!baseRailwayManagement.getInitialMileageBD().toString().matches(PATTERN) || !baseRailwayManagement.getEndMileageBD().toString().matches(PATTERN)) {
+            idempotenceUtils.deleteIdempotence(baseRailwayManagement.getRailwayCode());
+            return error("里程位置填写格式不正确,请填写数字或小数");
+        }else {
+            baseRailwayManagement.setInitialMileage(baseRailwayManagement.getInitialMileageBD().multiply(new BigDecimal("1000")).intValue());
+            baseRailwayManagement.setEndMileage(baseRailwayManagement.getEndMileageBD().multiply(new BigDecimal("1000")).intValue());
+        }
+
         LambdaQueryWrapper<BaseRailwayManagement> lw = new LambdaQueryWrapper<BaseRailwayManagement>();
         if (!ObjectUtils.isEmpty(baseRailwayManagement.getRailwayCode())) {
             lw.eq(BaseRailwayManagement::getRailwayCode, baseRailwayManagement.getRailwayCode());
@@ -157,6 +167,7 @@ public class BaseRailwayManagementController extends BaseController {
                 return error("线路名称已存在,不能重复添加");
             }
         }
+        
 
         baseRailwayManagement.setCreateBy(getUserId());
         baseRailwayManagement.setUpdateBy(getUserId());
@@ -182,6 +193,14 @@ public class BaseRailwayManagementController extends BaseController {
         if (ObjectUtils.isEmpty(baseRailwayManagement1)) {
             return error("主键不存在");
         }
+
+        if (!baseRailwayManagement.getInitialMileageBD().toString().matches(PATTERN) || !baseRailwayManagement.getEndMileageBD().toString().matches(PATTERN)) {
+            return error("里程位置填写格式不正确,请填写数字或小数");
+        }else {
+            baseRailwayManagement.setInitialMileage(baseRailwayManagement.getInitialMileageBD().multiply(new BigDecimal("1000")).intValue());
+            baseRailwayManagement.setEndMileage(baseRailwayManagement.getEndMileageBD().multiply(new BigDecimal("1000")).intValue());
+        }
+        
         LambdaQueryWrapper<BaseRailwayManagement> lw = new LambdaQueryWrapper<BaseRailwayManagement>();
         if (!ObjectUtils.isEmpty(baseRailwayManagement.getRailwayCode())) {
             lw.eq(BaseRailwayManagement::getRailwayCode, baseRailwayManagement.getRailwayCode());