Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Sign in / Register
Toggle navigation
H
hzsomms
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
ZTGK
hzsomms
Commits
893049fd
Commit
893049fd
authored
Jul 18, 2023
by
shizhilong
Browse files
Options
Browse Files
Download
Plain Diff
Merge remote-tracking branch 'origin/dev' into dev
parents
80b57dfc
abcb0a49
Changes
11
Show whitespace changes
Inline
Side-by-side
Showing
11 changed files
with
296 additions
and
37 deletions
+296
-37
RailInspectionEquipmentItemController.java
...ata/controller/RailInspectionEquipmentItemController.java
+32
-10
IRailInspectionEquipmentItemService.java
...tricData/service/IRailInspectionEquipmentItemService.java
+6
-0
RailInspectionEquipmentItemServiceImpl.java
.../service/impl/RailInspectionEquipmentItemServiceImpl.java
+25
-0
RailManagementController.java
...ules/deviceAsset/controller/RailManagementController.java
+2
-2
CurveManagement.java
...org/jeecg/modules/deviceAsset/entity/CurveManagement.java
+2
-2
RailManagementMapper.java
...eecg/modules/deviceAsset/mapper/RailManagementMapper.java
+5
-0
RailManagementMapper.xml
...g/modules/deviceAsset/mapper/xml/RailManagementMapper.xml
+45
-0
IRailManagementService.java
...g/modules/deviceAsset/service/IRailManagementService.java
+11
-1
RailManagementServiceImpl.java
...s/deviceAsset/service/impl/RailManagementServiceImpl.java
+134
-2
CurveManagementQueryVO.java
.../jeecg/modules/deviceAsset/vo/CurveManagementQueryVO.java
+4
-4
UnitCodeUtil.java
...m/src/main/java/org/jeecg/modules/utils/UnitCodeUtil.java
+30
-16
No files found.
jeecg-module-system/src/main/java/org/jeecg/modules/checkData/dynamicStaticGeometricData/controller/RailInspectionEquipmentItemController.java
View file @
893049fd
...
...
@@ -3,23 +3,21 @@ package org.jeecg.modules.checkData.dynamicStaticGeometricData.controller;
import
com.baomidou.mybatisplus.core.metadata.IPage
;
import
com.baomidou.mybatisplus.extension.plugins.pagination.Page
;
import
io.swagger.annotations.ApiImplicitParam
;
import
io.swagger.annotations.ApiImplicitParams
;
import
io.swagger.annotations.ApiOperation
;
import
io.swagger.annotations.*
;
import
org.jeecg.common.api.vo.Result
;
import
org.jeecg.common.aspect.annotation.AutoLog
;
import
org.jeecg.modules.checkData.dynamicStaticGeometricData.dto.RailInspectionEquipmentDTO
;
import
org.jeecg.modules.checkData.dynamicStaticGeometricData.entity.RailInspectionEquipmentItem
;
import
org.jeecg.modules.checkData.dynamicStaticGeometricData.entity.RailInspectionEquipmentItemDetailVO
;
import
org.jeecg.modules.checkData.dynamicStaticGeometricData.entity.RailInspectionEquipmentItemVO
;
import
org.jeecg.modules.checkData.dynamicStaticGeometricData.entity.RailInspectionEquipmentVO
;
import
org.jeecg.modules.checkData.dynamicStaticGeometricData.service.IRailInspectionEquipmentItemService
;
import
org.springframework.web.bind.annotation.GetMapping
;
import
org.springframework.web.bind.annotation.RequestMapping
;
import
org.springframework.web.bind.annotation.*
;
import
org.springframework.web.bind.annotation.RequestParam
;
import
org.springframework.web.bind.annotation.RestController
;
import
org.jeecg.common.system.base.controller.JeecgController
;
import
org.springframework.web.multipart.MultipartFile
;
import
javax.transaction.Transactional
;
import
java.util.List
;
/**
...
...
@@ -34,8 +32,8 @@ import java.util.List;
@RequestMapping
(
"/checkData/dynamicStaticGeometricData/railInspectionEquipmentItem"
)
public
class
RailInspectionEquipmentItemController
extends
JeecgController
<
RailInspectionEquipmentItem
,
IRailInspectionEquipmentItemService
>
{
@AutoLog
(
value
=
"检查数据-动静态几何尺寸数据-轨检仪静态检查数据-
分页
列表查询"
)
@ApiOperation
(
value
=
"检查数据-动静态几何尺寸数据-轨检仪静态检查数据-
分页列表查询"
,
notes
=
"检查数据-动静态几何尺寸数据-轨检仪静态检查数据-分页
列表查询"
)
@AutoLog
(
value
=
"检查数据-动静态几何尺寸数据-轨检仪静态检查数据-
项目
列表查询"
)
@ApiOperation
(
value
=
"检查数据-动静态几何尺寸数据-轨检仪静态检查数据-
项目列表查询"
,
notes
=
"检查数据-动静态几何尺寸数据-轨检仪静态检查数据-项目
列表查询"
)
@GetMapping
(
value
=
"/list"
)
@ApiImplicitParams
({
@ApiImplicitParam
(
name
=
"railInspectionEquipmentId"
,
value
=
"轨检仪静态检查数据id"
)
...
...
@@ -45,6 +43,30 @@ public class RailInspectionEquipmentItemController extends JeecgController<RailI
return
Result
.
OK
(
record
);
}
@AutoLog
(
value
=
"检查数据-动静态几何尺寸数据-轨检仪静态检查数据-项目明细列表"
)
@ApiOperation
(
value
=
"检查数据-动静态几何尺寸数据-轨检仪静态检查数据-项目明细列表"
,
notes
=
"检查数据-动静态几何尺寸数据-轨检仪静态检查数据-项目明细列表"
)
@GetMapping
(
value
=
"/detailList"
)
@ApiImplicitParams
({
@ApiImplicitParam
(
name
=
"railInspectionEquipmentItemId"
,
value
=
"轨检仪静态检查项目id"
)
})
public
Result
<
List
<
RailInspectionEquipmentItemDetailVO
>>
detailList
(
String
railInspectionEquipmentItemId
)
{
List
<
RailInspectionEquipmentItemDetailVO
>
record
=
this
.
service
.
detailList
(
railInspectionEquipmentItemId
);
return
Result
.
OK
(
record
);
}
@PostMapping
(
value
=
"/upload"
)
@AutoLog
(
value
=
"检查数据-动静态几何尺寸数据-轨检仪静态检查数据-导入"
)
@ApiOperation
(
value
=
"检查数据-动静态几何尺寸数据-轨检仪静态检查数据-导入"
,
notes
=
"检查数据-动静态几何尺寸数据-轨检仪静态检查数据-导入"
)
@ApiImplicitParams
({
@ApiImplicitParam
(
name
=
"railInspectionEquipmentId"
,
value
=
"轨检仪静态检查数据id"
),
@ApiImplicitParam
(
name
=
"file"
,
value
=
"文件"
),
})
public
Result
<
String
>
uploadFile
(
String
railInspectionEquipmentId
,
MultipartFile
file
)
{
this
.
service
.
uploadFile
(
railInspectionEquipmentId
,
file
);
return
Result
.
ok
(
"操作成功"
);
}
}
jeecg-module-system/src/main/java/org/jeecg/modules/checkData/dynamicStaticGeometricData/service/IRailInspectionEquipmentItemService.java
View file @
893049fd
...
...
@@ -2,7 +2,9 @@ package org.jeecg.modules.checkData.dynamicStaticGeometricData.service;
import
org.jeecg.modules.checkData.dynamicStaticGeometricData.entity.RailInspectionEquipmentItem
;
import
com.baomidou.mybatisplus.extension.service.IService
;
import
org.jeecg.modules.checkData.dynamicStaticGeometricData.entity.RailInspectionEquipmentItemDetailVO
;
import
org.jeecg.modules.checkData.dynamicStaticGeometricData.entity.RailInspectionEquipmentItemVO
;
import
org.springframework.web.multipart.MultipartFile
;
import
java.util.List
;
...
...
@@ -17,4 +19,8 @@ import java.util.List;
public
interface
IRailInspectionEquipmentItemService
extends
IService
<
RailInspectionEquipmentItem
>
{
List
<
RailInspectionEquipmentItemVO
>
queryList
(
String
railInspectionEquipmentId
);
void
uploadFile
(
String
railInspectionEquipmentId
,
MultipartFile
file
);
List
<
RailInspectionEquipmentItemDetailVO
>
detailList
(
String
railInspectionEquipmentItemId
);
}
jeecg-module-system/src/main/java/org/jeecg/modules/checkData/dynamicStaticGeometricData/service/impl/RailInspectionEquipmentItemServiceImpl.java
View file @
893049fd
package
org
.
jeecg
.
modules
.
checkData
.
dynamicStaticGeometricData
.
service
.
impl
;
import
com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper
;
import
org.jeecg.modules.checkData.dynamicStaticGeometricData.entity.RailInspectionEquipmentItem
;
import
org.jeecg.modules.checkData.dynamicStaticGeometricData.entity.RailInspectionEquipmentItemDetail
;
import
org.jeecg.modules.checkData.dynamicStaticGeometricData.entity.RailInspectionEquipmentItemDetailVO
;
import
org.jeecg.modules.checkData.dynamicStaticGeometricData.entity.RailInspectionEquipmentItemVO
;
import
org.jeecg.modules.checkData.dynamicStaticGeometricData.mapper.RailInspectionEquipmentItemDetailMapper
;
import
org.jeecg.modules.checkData.dynamicStaticGeometricData.mapper.RailInspectionEquipmentItemMapper
;
import
org.jeecg.modules.checkData.dynamicStaticGeometricData.service.IRailInspectionEquipmentItemService
;
import
com.baomidou.mybatisplus.extension.service.impl.ServiceImpl
;
import
org.springframework.stereotype.Service
;
import
org.springframework.web.multipart.MultipartFile
;
import
javax.annotation.Resource
;
import
java.util.List
;
/**
...
...
@@ -20,8 +26,27 @@ import java.util.List;
@Service
public
class
RailInspectionEquipmentItemServiceImpl
extends
ServiceImpl
<
RailInspectionEquipmentItemMapper
,
RailInspectionEquipmentItem
>
implements
IRailInspectionEquipmentItemService
{
@Resource
private
RailInspectionEquipmentItemDetailMapper
railInspectionEquipmentItemDetailMapper
;
@Override
public
List
<
RailInspectionEquipmentItemVO
>
queryList
(
String
railInspectionEquipmentId
)
{
return
this
.
baseMapper
.
queryList
(
railInspectionEquipmentId
);
}
@Override
public
void
uploadFile
(
String
railInspectionEquipmentId
,
MultipartFile
file
)
{
throw
new
NullPointerException
();
}
@Override
public
List
<
RailInspectionEquipmentItemDetailVO
>
detailList
(
String
railInspectionEquipmentItemId
)
{
LambdaQueryWrapper
<
RailInspectionEquipmentItemDetail
>
lambdaQueryWrapper
=
new
LambdaQueryWrapper
<>();
lambdaQueryWrapper
.
eq
(
RailInspectionEquipmentItemDetail:
:
getRailInspectionEquipmentItemId
,
railInspectionEquipmentItemId
);
List
<
RailInspectionEquipmentItemDetail
>
itemDetails
=
railInspectionEquipmentItemDetailMapper
.
selectList
(
lambdaQueryWrapper
);
return
null
;
}
}
jeecg-module-system/src/main/java/org/jeecg/modules/deviceAsset/controller/RailManagementController.java
View file @
893049fd
...
...
@@ -74,8 +74,8 @@ public class RailManagementController extends JeecgController<RailManagement, IR
@AutoLog
(
value
=
"资产管理-钢轨管理-智能生成"
)
@ApiOperation
(
value
=
"资产管理-钢轨管理-智能生成"
,
notes
=
"资产管理-钢轨管理-智能生成"
)
@GetMapping
(
value
=
"/intelligentGeneration"
)
public
Result
<
String
>
intelligentGeneration
(
@RequestParam
(
name
=
"ids"
,
required
=
true
)
String
ids
)
{
this
.
service
.
intelligentGeneration
();
public
Result
<
String
>
intelligentGeneration
()
{
this
.
service
.
intelligentGeneration
(
"1671390979417616386"
);
return
Result
.
OK
(
"生成成功"
);
}
...
...
jeecg-module-system/src/main/java/org/jeecg/modules/deviceAsset/entity/CurveManagement.java
View file @
893049fd
...
...
@@ -57,10 +57,10 @@ public class CurveManagement implements Serializable {
private
String
curveDeflectionAngle
;
@ApiModelProperty
(
value
=
"曲线半径R(m)"
)
private
BigDecimal
curve
A
dius
;
private
BigDecimal
curve
Ra
dius
;
@ApiModelProperty
(
value
=
"缓和曲线长I(m)"
)
private
BigDecimal
transitionCurveLen
;
private
String
transitionCurveLen
;
@ApiModelProperty
(
value
=
"切线长T(m)"
)
private
BigDecimal
tangentLen
;
...
...
jeecg-module-system/src/main/java/org/jeecg/modules/deviceAsset/mapper/RailManagementMapper.java
View file @
893049fd
...
...
@@ -6,6 +6,9 @@ import org.jeecg.modules.deviceAsset.entity.RailManagement;
import
com.baomidou.mybatisplus.core.mapper.BaseMapper
;
import
org.jeecg.modules.deviceAsset.vo.RailManagementVO
;
import
java.util.List
;
import
java.util.Map
;
/**
* <p>
* 资产管理-钢轨管理 Mapper 接口
...
...
@@ -17,4 +20,6 @@ import org.jeecg.modules.deviceAsset.vo.RailManagementVO;
public
interface
RailManagementMapper
extends
BaseMapper
<
RailManagement
>
{
Page
<
RailManagementVO
>
queryPageList
(
Page
<
RailManagementVO
>
pageData
,
RailManagementDTO
dto
);
List
<
Map
<
String
,
Object
>>
getLineSpecialRail
(
String
lineAliasId
);
}
jeecg-module-system/src/main/java/org/jeecg/modules/deviceAsset/mapper/xml/RailManagementMapper.xml
View file @
893049fd
...
...
@@ -27,4 +27,49 @@
</if>
</where>
</select>
<select
id=
"getLineSpecialRail"
resultType=
"java.util.Map"
>
SELECT
unitCode,
startMileage,
endMileage,
type
FROM
(
SELECT
t1.unit_code unitCode,
t1.curve_mileage_zh startMileage,
t1.curve_mileage_hz endMileage,
'曲线' type
FROM
t_da_curve_management t1
WHERE
t1.line_alias_id = #{lineAliasId}
UNION ALL
SELECT
unit_code unitCode,
starting_mileage startMileage,
end_mileage endMileage,
'竖曲线' type
FROM
t_da_vertical_curve_management
WHERE
line_alias_id = #{lineAliasId}
UNION ALL
SELECT
unit_code unitCode,
byroad_pre_mileage startMileage,
byroad_end_mileage endMileage,
'道岔' type
FROM
t_da_switch_management
WHERE
line_alias_id = #{lineAliasId}
) t
ORDER BY
t.startMileage
</select>
</mapper>
jeecg-module-system/src/main/java/org/jeecg/modules/deviceAsset/service/IRailManagementService.java
View file @
893049fd
...
...
@@ -6,6 +6,9 @@ import org.jeecg.modules.deviceAsset.entity.RailManagement;
import
com.baomidou.mybatisplus.extension.service.IService
;
import
org.jeecg.modules.deviceAsset.vo.RailManagementVO
;
import
java.util.List
;
import
java.util.Map
;
/**
* <p>
* 资产管理-钢轨管理 服务类
...
...
@@ -20,5 +23,12 @@ public interface IRailManagementService extends IService<RailManagement> {
void
edit
(
RailManagement
railManagement
);
void
intelligentGeneration
();
void
intelligentGeneration
(
String
lightRailId
);
/**
* 获取线路的特殊钢轨
*
* @param lineAliasId 线别ID
*/
List
<
Map
<
String
,
Object
>>
getLineSpecialRail
(
String
lineAliasId
);
}
jeecg-module-system/src/main/java/org/jeecg/modules/deviceAsset/service/impl/RailManagementServiceImpl.java
View file @
893049fd
package
org
.
jeecg
.
modules
.
deviceAsset
.
service
.
impl
;
import
cn.hutool.core.convert.Convert
;
import
cn.hutool.core.util.ObjectUtil
;
import
com.alibaba.fastjson.JSONObject
;
import
com.baomidou.mybatisplus.extension.plugins.pagination.Page
;
import
org.jeecg.common.util.UUIDGenerator
;
import
org.jeecg.modules.deviceAsset.dto.RailManagementDTO
;
import
org.jeecg.modules.deviceAsset.entity.RailManagement
;
import
org.jeecg.modules.deviceAsset.mapper.RailManagementMapper
;
import
org.jeecg.modules.deviceAsset.service.IRailManagementService
;
import
com.baomidou.mybatisplus.extension.service.impl.ServiceImpl
;
import
org.jeecg.modules.deviceAsset.vo.RailManagementVO
;
import
org.jeecg.modules.subwayNetwork.entity.LightRail
;
import
org.jeecg.modules.subwayNetwork.mapper.LightRailMapper
;
import
org.jeecg.modules.utils.UnitCodeUtil
;
import
org.springframework.stereotype.Service
;
import
javax.annotation.Resource
;
import
java.math.BigDecimal
;
import
java.math.RoundingMode
;
import
java.util.ArrayList
;
import
java.util.Date
;
import
java.util.List
;
import
java.util.Map
;
/**
* <p>
* 资产管理-钢轨管理 服务实现类
...
...
@@ -22,6 +35,14 @@ import org.springframework.stereotype.Service;
@Service
public
class
RailManagementServiceImpl
extends
ServiceImpl
<
RailManagementMapper
,
RailManagement
>
implements
IRailManagementService
{
/**
* 钢轨单元长度
*/
public
static
BigDecimal
UNIT_LENGTH
=
new
BigDecimal
(
"25"
);
@Resource
private
LightRailMapper
lightRailMapper
;
@Override
public
Page
<
RailManagementVO
>
queryPageList
(
Page
<
RailManagementVO
>
pageData
,
RailManagementDTO
dto
)
{
return
this
.
baseMapper
.
queryPageList
(
pageData
,
dto
);
...
...
@@ -39,8 +60,119 @@ public class RailManagementServiceImpl extends ServiceImpl<RailManagementMapper,
}
}
// 1.判断完整的线路有没有空白部分(指剩余区间既不是道岔、曲线、竖曲线、钢轨的部分),只需要填空白部分,空白部分一定是钢轨,按照25一根的逻辑余数自成一根;
// 2.如果不存在空白部分,则定义道岔曲线竖曲线为绝对正确里程值,并且定义为特殊钢轨,相邻两个特殊钢轨之间的里程区间按照25一根的逻辑余数自成一根。
@Override
public
void
intelligentGeneration
(
String
lightRailId
)
{
// 1.删除整条线的
this
.
lambdaUpdate
().
remove
();
// 2.查询当前车站的上下行里程
LightRail
lightRail
=
lightRailMapper
.
selectById
(
lightRailId
);
// 3.处理上行
// 3.1 查询上行所有里程数
List
<
RailManagement
>
allRailList
=
new
ArrayList
<>();
String
sdkId
=
"1"
;
// 上行线id
List
<
Map
<
String
,
Object
>>
lineSpecialRailList
=
this
.
getLineSpecialRail
(
sdkId
);
BigDecimal
lineStartMileage
=
BigDecimal
.
ZERO
;
BigDecimal
endMileage
=
lightRail
.
getUpLineMileage
();
// 3.2 循环处理
int
size
=
lineSpecialRailList
.
size
();
for
(
int
i
=
0
;
i
<
size
;
i
++)
{
Map
<
String
,
Object
>
currentMap
=
lineSpecialRailList
.
get
(
i
);
BigDecimal
currentStartMileage
=
Convert
.
toBigDecimal
(
currentMap
.
get
(
"startMileage"
));
// 3.2.1 第一次进入循环
if
(
i
==
0
)
{
if
(
currentStartMileage
.
subtract
(
lineStartMileage
).
compareTo
(
BigDecimal
.
ZERO
)
>
0
)
{
List
<
RailManagement
>
innerRailList
=
this
.
generate
(
lineStartMileage
,
currentStartMileage
,
sdkId
);
allRailList
.
addAll
(
innerRailList
);
}
continue
;
}
// 3.2.2 后一个的开始 - 前一个的结束时间 > 0 相当于有空白
Map
<
String
,
Object
>
frontMap
=
lineSpecialRailList
.
get
(
i
-
1
);
BigDecimal
frontEndMileage
=
Convert
.
toBigDecimal
(
frontMap
.
get
(
"endMileage"
));
if
(
currentStartMileage
.
subtract
(
frontEndMileage
).
compareTo
(
BigDecimal
.
ZERO
)
>
0
)
{
List
<
RailManagement
>
innerRailList
=
this
.
generate
(
frontEndMileage
,
currentStartMileage
,
sdkId
);
allRailList
.
addAll
(
innerRailList
);
}
// 3.2.3 最后一次循环
if
(
i
==
size
-
1
)
{
if
(
endMileage
.
subtract
(
currentStartMileage
).
compareTo
(
BigDecimal
.
ZERO
)
>
0
)
{
List
<
RailManagement
>
innerRailList
=
this
.
generate
(
currentStartMileage
,
endMileage
,
sdkId
);
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 endMileage
* @param lineAliasId
* @return
*/
private
List
<
RailManagement
>
generate
(
BigDecimal
startMileage
,
BigDecimal
endMileage
,
String
lineAliasId
)
{
List
<
RailManagement
>
result
=
new
ArrayList
<>();
// 1.处理25米一段的钢轨
while
(
startMileage
.
add
(
UNIT_LENGTH
).
compareTo
(
endMileage
)
<
0
)
{
// 开始里程向后移动25米
BigDecimal
currentEndMileage
=
startMileage
.
add
(
UNIT_LENGTH
);
// 中心里程 = (开始里程+结束里程) / 2
BigDecimal
centerMileage
=
startMileage
.
add
(
currentEndMileage
).
divide
(
new
BigDecimal
(
"2"
),
3
,
RoundingMode
.
HALF_UP
);
RailManagement
railManagement
=
new
RailManagement
();
railManagement
.
setId
(
UUIDGenerator
.
generate
());
railManagement
.
setLineAliasId
(
lineAliasId
);
railManagement
.
setStartingMileage
(
startMileage
);
railManagement
.
setCenterMileage
(
centerMileage
);
railManagement
.
setEndMileage
(
currentEndMileage
);
result
.
add
(
railManagement
);
startMileage
=
currentEndMileage
;
}
// 2.处理不到25米一段的钢轨
RailManagement
railManagement
=
new
RailManagement
();
railManagement
.
setId
(
UUIDGenerator
.
generate
());
railManagement
.
setLineAliasId
(
lineAliasId
);
railManagement
.
setStartingMileage
(
startMileage
);
railManagement
.
setCenterMileage
(
startMileage
.
add
(
endMileage
).
divide
(
new
BigDecimal
(
"2"
),
3
,
RoundingMode
.
HALF_UP
));
// 中心里程 = (开始里程+结束里程) / 2
railManagement
.
setEndMileage
(
endMileage
);
result
.
add
(
railManagement
);
return
result
;
}
@Override
public
void
intelligentGeneration
(
)
{
throw
new
NullPointerException
(
);
public
List
<
Map
<
String
,
Object
>>
getLineSpecialRail
(
String
lineAliasId
)
{
return
this
.
baseMapper
.
getLineSpecialRail
(
lineAliasId
);
}
}
jeecg-module-system/src/main/java/org/jeecg/modules/deviceAsset/vo/CurveManagementQueryVO.java
View file @
893049fd
...
...
@@ -42,11 +42,11 @@ public class CurveManagementQueryVO implements Serializable {
@ApiModelProperty
(
"曲线偏角a(°′″)"
)
private
String
curveDeflectionAngle
;
@ApiModelProperty
(
"曲线半径R(m)"
)
private
BigDecimal
curve
A
dius
;
@ApiModelProperty
(
value
=
"曲线半径R(m)"
)
private
BigDecimal
curve
Ra
dius
;
@ApiModelProperty
(
"缓和曲线长I(m)"
)
private
BigDecimal
transitionCurveLen
;
@ApiModelProperty
(
value
=
"缓和曲线长I(m)"
)
private
String
transitionCurveLen
;
@ApiModelProperty
(
"切线长T(m)"
)
private
BigDecimal
tangentLen
;
...
...
jeecg-module-system/src/main/java/org/jeecg/modules/utils/UnitCodeUtil.java
View file @
893049fd
...
...
@@ -12,6 +12,9 @@ import org.jeecg.modules.deviceAsset.service.IVerticalCurveManagementService;
import
org.jeecg.modules.subwayNetwork.entity.LineAlias
;
import
org.jeecg.modules.subwayNetwork.service.ILineAliasService
;
import
java.util.List
;
import
java.util.Map
;
/**
* @describe:单元编码生成工具
*/
...
...
@@ -41,20 +44,20 @@ public class UnitCodeUtil {
/**
* 钢轨单元编码:线别码+GG+流水号(5位流水号)
* 实例:SXGG00001
*
SQX - 竖曲线
* 000
00
1-流水号
* 实例:SX
X
GG00001
*
GG - 钢轨编码
* 0001-流水号
*
* @param lineId 线别ID
*/
public
static
String
railUnitCodeUtil
(
String
lineId
)
{
// 获取线别拼音
LineAlias
lineAlias
=
lineAliasService
.
getById
(
lineId
);
String
lineAliasPinyin
=
PinyinUtil
.
getFirstLetter
(
lineAlias
.
getLineAliasName
(),
""
).
to
Low
erCase
();
String
lineAliasPinyin
=
PinyinUtil
.
getFirstLetter
(
lineAlias
.
getLineAliasName
(),
""
).
to
Upp
erCase
();
// 查询最大的编号
String
unitCode
=
lineAliasPinyin
+
"
SQX
"
;
String
unitCode
=
lineAliasPinyin
+
"
GG
"
;
RailManagement
record
=
railManagementService
.
lambdaQuery
()
.
likeRight
(
RailManagement:
:
getUnitCode
,
unitCode
)
.
orderByDesc
(
RailManagement:
:
getUnitCode
)
...
...
@@ -66,7 +69,7 @@ public class UnitCodeUtil {
Integer
serialNum
=
1
;
if
(
null
!=
record
&&
record
.
getUnitCode
()
!=
null
)
{
// 流水号+1
serialNum
=
Integer
.
parseInt
(
record
.
getUnitCode
().
substring
(
6
))
+
1
;
serialNum
=
Integer
.
parseInt
(
record
.
getUnitCode
().
substring
(
record
.
getUnitCode
().
length
()
-
4
))
+
1
;
}
String
serialNumStr
=
supplementZero
(
4
,
serialNum
);
...
...
@@ -74,17 +77,15 @@ public class UnitCodeUtil {
}
/**
* 曲线代码生成: 01SQX0001
* 01 - 上行;02-表示下行
* SQX - 竖曲线
* 000
00
1-流水号
* 0001-流水号
*
* @param lineId 线别ID
*/
public
static
String
verticalCurveUnitCodeUtil
(
String
lineId
)
{
// 获取线别拼音
LineAlias
lineAlias
=
lineAliasService
.
getById
(
lineId
);
String
lineAliasPinyin
=
PinyinUtil
.
getFirstLetter
(
lineAlias
.
getLineAliasName
(),
""
).
to
Low
erCase
();
String
lineAliasPinyin
=
PinyinUtil
.
getFirstLetter
(
lineAlias
.
getLineAliasName
(),
""
).
to
Upp
erCase
();
// 查询最大的编号
...
...
@@ -100,7 +101,7 @@ public class UnitCodeUtil {
Integer
serialNum
=
1
;
if
(
null
!=
record
&&
record
.
getUnitCode
()
!=
null
)
{
// 流水号+1
serialNum
=
Integer
.
parseInt
(
record
.
getUnitCode
().
substring
(
6
))
+
1
;
serialNum
=
Integer
.
parseInt
(
record
.
getUnitCode
().
substring
(
record
.
getUnitCode
().
length
()
-
4
))
+
1
;
}
String
serialNumStr
=
supplementZero
(
4
,
serialNum
);
...
...
@@ -109,7 +110,6 @@ public class UnitCodeUtil {
/**
* 曲线代码生成: L201QX0001
* 01 - 上行;02-表示下行
* QX - 曲线
* 000001-流水号
*
...
...
@@ -118,7 +118,7 @@ public class UnitCodeUtil {
public
static
String
curveUnitCodeUtil
(
String
lineId
)
{
// 获取线别拼音
LineAlias
lineAlias
=
lineAliasService
.
getById
(
lineId
);
String
lineAliasPinyin
=
PinyinUtil
.
getFirstLetter
(
lineAlias
.
getLineAliasName
(),
""
).
to
Low
erCase
();
String
lineAliasPinyin
=
PinyinUtil
.
getFirstLetter
(
lineAlias
.
getLineAliasName
(),
""
).
to
Upp
erCase
();
// 查询最大的编号
...
...
@@ -133,7 +133,7 @@ public class UnitCodeUtil {
Integer
serialNum
=
1
;
if
(
null
!=
record
&&
record
.
getUnitCode
()
!=
null
)
{
// 流水号+1
serialNum
=
Integer
.
parseInt
(
record
.
getUnitCode
().
substring
(
6
))
+
1
;
serialNum
=
Integer
.
parseInt
(
record
.
getUnitCode
().
substring
(
record
.
getUnitCode
().
length
()
-
4
))
+
1
;
}
String
serialNumStr
=
supplementZero
(
4
,
serialNum
);
...
...
@@ -151,7 +151,7 @@ public class UnitCodeUtil {
public
static
String
switchUnitCodeUtil
(
String
lineId
)
{
// 获取线别拼音
LineAlias
lineAlias
=
lineAliasService
.
getById
(
lineId
);
String
lineAliasPinyin
=
PinyinUtil
.
getFirstLetter
(
lineAlias
.
getLineAliasName
(),
""
).
to
Low
erCase
();
String
lineAliasPinyin
=
PinyinUtil
.
getFirstLetter
(
lineAlias
.
getLineAliasName
(),
""
).
to
Upp
erCase
();
// 查询最大的编号
...
...
@@ -166,7 +166,7 @@ public class UnitCodeUtil {
Integer
serialNum
=
1
;
if
(
null
!=
record
&&
record
.
getUnitCode
()
!=
null
)
{
// 流水号+1
serialNum
=
Integer
.
parseInt
(
record
.
getUnitCode
().
substring
(
6
))
+
1
;
serialNum
=
Integer
.
parseInt
(
record
.
getUnitCode
().
substring
(
record
.
getUnitCode
().
length
()
-
4
))
+
1
;
}
String
serialNumStr
=
supplementZero
(
4
,
serialNum
);
...
...
@@ -184,4 +184,18 @@ public class UnitCodeUtil {
return
String
.
format
(
"%0"
+
numLength
+
"d"
,
num
);
}
/**
* 钢轨智能单元生成
*
* @param lineAliasId 线别ID
*/
public
static
void
railIntelligentGeneration
(
String
lineAliasId
)
{
List
<
Map
<
String
,
Object
>>
lineSpecialRail
=
railManagementService
.
getLineSpecialRail
(
lineAliasId
);
// 1.判断完整的线路有没有空白部分(指剩余区间既不是道岔、曲线、竖曲线、钢轨的部分),只需要填空白部分,空白部分一定是钢轨,按照25一根的逻辑余数自成一根;
// 2.如果不存在空白部分,则定义道岔曲线竖曲线为绝对正确里程值,并且定义为特殊钢轨,相邻两个特殊钢轨之间的里程区间按照25一根的逻辑余数自成一根。
}
}
\ No newline at end of file
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment