Commit 13e46443 authored by hkl's avatar hkl

feat:1.单元编号划分

parent fa272b0a
...@@ -77,7 +77,51 @@ public class RailManagementServiceImpl extends ServiceImpl<RailManagementMapper, ...@@ -77,7 +77,51 @@ public class RailManagementServiceImpl extends ServiceImpl<RailManagementMapper,
// 3.1 查询上行所有里程数 // 3.1 查询上行所有里程数
List<RailManagement> allRailList = new ArrayList<>(); List<RailManagement> allRailList = new ArrayList<>();
String sdkId = "1"; // 上行线id String sdkId = "1"; // 上行线id
List<Map<String, Object>> lineSpecialRailList = this.getLineSpecialRail(sdkId); generationCore(lightRail, allRailList, sdkId);
for (int i = 0; i < allRailList.size(); i++) {
RailManagement railManagement = allRailList.get(i);
String railCode = "钢轨[上行]" + UnitCodeUtil.supplementZero(4, i + 1);
railManagement.setRailCode(railCode);
String unitCode = "SXXGG" + UnitCodeUtil.supplementZero(4, i + 1);
railManagement.setUnitCode(unitCode);
railManagement.setRailOrderNum(i + 1);
railManagement.setCreateTime(new Date());
railManagement.setUpdateTime(new Date());
}
this.saveBatch(allRailList);
// 4.处理下行
allRailList.clear();
String xdkId = "2"; // 下行线id
generationCore(lightRail, allRailList, xdkId);
for (int i = 0; i < allRailList.size(); i++) {
RailManagement railManagement = allRailList.get(i);
String railCode = "钢轨[下行]" + UnitCodeUtil.supplementZero(4, i + 1);
railManagement.setRailCode(railCode);
String unitCode = "DXXGG" + UnitCodeUtil.supplementZero(4, i + 1);
railManagement.setUnitCode(unitCode);
railManagement.setRailOrderNum(i + 1);
railManagement.setCreateTime(new Date());
railManagement.setUpdateTime(new Date());
}
this.saveBatch(allRailList);
}
/**
* 生成核心
*
* @param lightRail
* @param allRailList
* @param lineAliasId
*/
private void generationCore(LightRail lightRail, List<RailManagement> allRailList, String lineAliasId) {
List<Map<String, Object>> lineSpecialRailList = this.getLineSpecialRail(lineAliasId);
BigDecimal lineStartMileage = BigDecimal.ZERO; BigDecimal lineStartMileage = BigDecimal.ZERO;
BigDecimal endMileage = lightRail.getUpLineMileage(); BigDecimal endMileage = lightRail.getUpLineMileage();
...@@ -90,7 +134,7 @@ public class RailManagementServiceImpl extends ServiceImpl<RailManagementMapper, ...@@ -90,7 +134,7 @@ public class RailManagementServiceImpl extends ServiceImpl<RailManagementMapper,
// 3.2.1 第一次进入循环 // 3.2.1 第一次进入循环
if (i == 0) { if (i == 0) {
if (currentStartMileage.subtract(lineStartMileage).compareTo(BigDecimal.ZERO) > 0) { if (currentStartMileage.subtract(lineStartMileage).compareTo(BigDecimal.ZERO) > 0) {
List<RailManagement> innerRailList = this.generate(lineStartMileage, currentStartMileage, sdkId); List<RailManagement> innerRailList = this.generate(lineStartMileage, currentStartMileage, lineAliasId);
allRailList.addAll(innerRailList); allRailList.addAll(innerRailList);
} }
continue; continue;
...@@ -101,7 +145,7 @@ public class RailManagementServiceImpl extends ServiceImpl<RailManagementMapper, ...@@ -101,7 +145,7 @@ public class RailManagementServiceImpl extends ServiceImpl<RailManagementMapper,
Map<String, Object> frontMap = lineSpecialRailList.get(i - 1); Map<String, Object> frontMap = lineSpecialRailList.get(i - 1);
BigDecimal frontEndMileage = Convert.toBigDecimal(frontMap.get("endMileage")); BigDecimal frontEndMileage = Convert.toBigDecimal(frontMap.get("endMileage"));
if (currentStartMileage.subtract(frontEndMileage).compareTo(BigDecimal.ZERO) > 0) { if (currentStartMileage.subtract(frontEndMileage).compareTo(BigDecimal.ZERO) > 0) {
List<RailManagement> innerRailList = this.generate(frontEndMileage, currentStartMileage, sdkId); List<RailManagement> innerRailList = this.generate(frontEndMileage, currentStartMileage, lineAliasId);
allRailList.addAll(innerRailList); allRailList.addAll(innerRailList);
} }
...@@ -109,25 +153,13 @@ public class RailManagementServiceImpl extends ServiceImpl<RailManagementMapper, ...@@ -109,25 +153,13 @@ public class RailManagementServiceImpl extends ServiceImpl<RailManagementMapper,
// 3.2.3 最后一次循环 // 3.2.3 最后一次循环
if (i == size - 1) { if (i == size - 1) {
if (endMileage.subtract(currentStartMileage).compareTo(BigDecimal.ZERO) > 0) { if (endMileage.subtract(currentStartMileage).compareTo(BigDecimal.ZERO) > 0) {
List<RailManagement> innerRailList = this.generate(currentStartMileage, endMileage, sdkId); List<RailManagement> innerRailList = this.generate(currentStartMileage, endMileage, lineAliasId);
allRailList.addAll(innerRailList); allRailList.addAll(innerRailList);
} }
} }
} }
for (int i = 0; i < allRailList.size(); i++) {
RailManagement railManagement = allRailList.get(i);
String railCode = "钢轨[上行]" + UnitCodeUtil.supplementZero(4, i + 1);
railManagement.setRailCode(railCode);
String unitCode = "SXXGG" + UnitCodeUtil.supplementZero(4, i + 1);
railManagement.setUnitCode(unitCode);
railManagement.setRailOrderNum(i + 1);
railManagement.setCreateTime(new Date());
railManagement.setUpdateTime(new Date());
} }
this.saveBatch(allRailList);
}
/** /**
* @param startMileage * @param startMileage
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment