Commit 80b57dfc authored by shizhilong's avatar shizhilong

Merge remote-tracking branch 'origin/dev' into dev

parents a1b1d3e9 d1b49a8b
package org.jeecg.modules.checkData.equipmentCheckData.controller;
import org.jeecg.modules.checkData.equipmentCheckData.entity.MovementAdditiveInfo;
import org.jeecg.modules.checkData.equipmentCheckData.service.IMovementAdditiveInfoService;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import org.jeecg.common.system.base.controller.JeecgController;
/**
* <p>
* 动静态几何尺寸对应的添乘仪详情表 前端控制器
* </p>
*
* @author hkl
* @since 2023-07-17
*/
@RestController
@RequestMapping("/movement/additive")
public class MovementAdditiveInfoController extends JeecgController<MovementAdditiveInfo, IMovementAdditiveInfoService> {
}
......@@ -5,6 +5,7 @@ import cn.hutool.core.util.ObjectUtil;
import cn.hutool.poi.excel.ExcelReader;
import cn.hutool.poi.excel.ExcelUtil;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.core.toolkit.IdWorker;
......@@ -13,20 +14,26 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import io.swagger.annotations.ApiParam;
import javafx.scene.effect.Light;
import org.apache.shiro.SecurityUtils;
import org.jeecg.common.api.vo.Result;
import org.jeecg.common.aspect.annotation.AutoLog;
import org.jeecg.common.system.vo.LoginUser;
import org.jeecg.modules.checkData.equipmentCheckData.dto.MovementRecordsMasterDTO;
import org.jeecg.modules.checkData.equipmentCheckData.entity.MovementAdditiveInfo;
import org.jeecg.modules.checkData.equipmentCheckData.entity.MovementCourse;
import org.jeecg.modules.checkData.equipmentCheckData.entity.MovementCourseInfo;
import org.jeecg.modules.checkData.equipmentCheckData.entity.MovementRecordsMaster;
import org.jeecg.modules.checkData.equipmentCheckData.service.IMovementAdditiveInfoService;
import org.jeecg.modules.checkData.equipmentCheckData.service.IMovementCourseInfoService;
import org.jeecg.modules.checkData.equipmentCheckData.service.IMovementCourseService;
import org.jeecg.modules.checkData.equipmentCheckData.service.IMovementRecordsMasterService;
import org.jeecg.modules.checkData.equipmentCheckData.vo.*;
import org.jeecg.modules.deviceAsset.entity.RailManagement;
import org.jeecg.modules.subwayNetwork.entity.LightRail;
import org.jeecg.modules.subwayNetwork.entity.LineAlias;
import org.jeecg.modules.subwayNetwork.entity.SubwaySection;
import org.jeecg.modules.subwayNetwork.service.ILightRailService;
import org.jeecg.modules.subwayNetwork.service.ILineAliasService;
import org.jeecg.modules.subwayNetwork.service.ISubwaySectionService;
import org.jeecg.modules.utils.BeanCopyUtil;
......@@ -65,6 +72,13 @@ public class MovementRecordsMasterController extends JeecgController<MovementRec
private ISubwaySectionService subwaySectionService;
@Autowired
private ILineAliasService lineAliasService;
@Autowired
private IMovementAdditiveInfoService movementAdditiveInfoService;
@Autowired
private ILightRailService lightRailService;
//**********************************人工静态检查******************************
/**
* 动静态几何尺寸数据-分页列表查询
......@@ -88,6 +102,55 @@ public class MovementRecordsMasterController extends JeecgController<MovementRec
return Result.OK(pageData);
}
/**
* 动静态几何新增时初始化回显数据
* @param lightRailId
* @param lineAliasId
* @param sectionId
* @param type
* @return
*/
@AutoLog(value = "动静态几何新增时初始化回显数据")
@ApiOperation(value = "动静态几何新增时初始化回显数据", notes = "动静态几何新增时初始化回显数据")
@GetMapping(value = "/getMovementAdditiveQuery")
public Result<MovementAdditiveSavaQueryVO> getMovementAdditiveQuery(@ApiParam(name = "线路id", required = true) String lightRailId, @ApiParam(name = "线别id", required = true) String lineAliasId, @ApiParam(name = "区间id", required = false) String sectionId, @ApiParam(name = "查询类型", required = true) String type) {
MovementAdditiveSavaQueryVO result = new MovementAdditiveSavaQueryVO();
result.setLightRailId(lightRailId);
result.setLineAliasId(lineAliasId);
//查询线路对象
LightRail lightRail = lightRailService.getById(lightRailId);
result.setLightRailName(lightRail.getRailLineName());
//查询线别对象
LineAlias lineAlias = lineAliasService.getById(lineAliasId);
result.setLineAliasName(lineAlias.getLineAliasName());
if ("4".equals(type)) {
result.setStartingMileage(BigDecimal.ZERO);
if ("上行线".equals(lineAlias.getLineAliasName())) {
result.setEndMileage(lightRail.getUpLineMileage());
}
if ("下行线".equals(lineAlias.getLineAliasName())) {
result.setEndMileage(lightRail.getDownLineMileage());
}
} else {
SubwaySection subwaySection = subwaySectionService.getById(sectionId);
result.setEndMileage(subwaySection.getSectionStartingMileage());
result.setEndMileage(subwaySection.getSectionEndMileage());
}
if (ObjectUtil.isNotEmpty(sectionId)) {
result.setSubwaySectionId(sectionId);
result.setSubwaySectionName(subwaySectionService.getById(sectionId).getSectionName());
}
//钢轨单元数量
result.setRailNum(this.service.getRailNums(sectionId, lightRailId, lineAliasId, result.getStartingMileage(), result.getEndMileage()));
//曲线数量
result.setCurveNum(this.service.getCurveNums(sectionId, lightRailId, lineAliasId, result.getStartingMileage(), result.getEndMileage()));
//竖曲线数量
result.setVerticalCurveNum(this.service.getVerticalCurveNum(sectionId, lightRailId, lineAliasId, result.getStartingMileage(), result.getEndMileage()));
//道岔数量
result.setSwitchNum(this.service.getSwitchNum(sectionId, lightRailId, lineAliasId, result.getStartingMileage(), result.getEndMileage()));
return Result.ok(result);
}
/**
* 根据动静态几何尺寸数据主键查询检查里程相关信息
*
......@@ -158,51 +221,6 @@ public class MovementRecordsMasterController extends JeecgController<MovementRec
return Result.OK(resultList);
}
/**
* 动静态几何尺寸数据新增时初始化回显数据
*
* @param subwaySectionId 区间id
* @param lightRailId 线路id
* @param lineAliasId 线别id
* @return
*/
@AutoLog(value = "动静态几何尺寸数据新增时初始化回显数据")
@ApiOperation(value = "动静态几何尺寸数据新增时初始化回显数据", notes = "动静态几何尺寸数据新增时初始化回显数据")
@GetMapping(value = "/getMovementQuery")
public Result<MovementSavaQueryVO> getMovementQuery(@ApiParam(name = "区间id", required = true) String subwaySectionId, @ApiParam(name = "线路id", required = true) String lightRailId, @ApiParam(name = "线别id", required = true) String lineAliasId) {
MovementSavaQueryVO result = new MovementSavaQueryVO();
result.setSubwaySectionId(subwaySectionId);
result.setLightRailId(lightRailId);
result.setLineAliasId(lineAliasId);
//查询区间起始终点里程
LambdaQueryWrapper<SubwaySection> lambdaQuery = Wrappers.lambdaQuery();
lambdaQuery.eq(SubwaySection::getId, subwaySectionId);
lambdaQuery.eq(SubwaySection::getLightRailId, lightRailId);
lambdaQuery.eq(SubwaySection::getLineAliasId, lineAliasId);
SubwaySection bean = subwaySectionService.getOne(lambdaQuery);
if (bean != null) {
if (bean.getSectionStartingMileage() != null) {
result.setStartingMileage(bean.getSectionStartingMileage());
}
if (bean.getSectionEndMileage() != null) {
result.setEndMileage(bean.getSectionEndMileage());
}
if (ObjectUtil.isNotEmpty(bean.getSectionName())) {
result.setSubwaySectionName(bean.getSectionName());
}
if (ObjectUtil.isNotEmpty(bean.getLightRailName())) {
result.setLightRailName(bean.getLightRailName());
}
}
//查询区间起始终点里程
result.setLineAliasName(lineAliasService.getById(lineAliasId).getLineAliasName());
//TODO 后期改造完补充逻辑
result.setRailNum(25);
result.setCurveNum(30);
result.setVerticalCurveNum(58);
result.setSwitchNum(38);
return Result.OK(result);
}
@AutoLog(value = "动静态几何尺寸主数据新增或者编辑")
@ApiOperation(value = "动静态几何尺寸主数据新增或者编辑", notes = "动静态几何尺寸主数据新增或者编辑")
......@@ -227,12 +245,15 @@ public class MovementRecordsMasterController extends JeecgController<MovementRec
* 删除动静态几何尺寸数据及相关联的数据
*
* @param id
* @param type
* @return
*/
@AutoLog(value = "删除动静态几何尺寸数据及相关联的数据")
@ApiOperation(value = "删除动静态几何尺寸数据及相关联的数据", notes = "删除动静态几何尺寸数据及相关联的数据")
@GetMapping(value = "/delete")
public Result<String> delete(@ApiParam(name = "动静态几何尺寸数据id", required = true) String id) {
public Result<String> delete(@ApiParam(name = "动静态几何尺寸数据id", required = true) String id, @ApiParam(name = "动静态几何尺寸数据类型", required = true) String type) {
if ("1".equals(type)) {
//人工静态检查相关
//删除里程详情
LambdaUpdateWrapper<MovementCourseInfo> lambdaUpdateWrapper = Wrappers.lambdaUpdate();
lambdaUpdateWrapper.set(MovementCourseInfo::getDelFlag, "1");
......@@ -243,6 +264,13 @@ public class MovementRecordsMasterController extends JeecgController<MovementRec
updateWrapper.set(MovementCourse::getDelFlag, "1");
updateWrapper.eq(MovementCourse::getMovementMasterId, id);
movementCourseService.update(updateWrapper);
} else if ("4".equals(type)) {
//删除添乘仪详情
LambdaUpdateWrapper<MovementAdditiveInfo> updateQuery = Wrappers.lambdaUpdate();
updateQuery.set(MovementAdditiveInfo::getDelFlag, "1");
updateQuery.eq(MovementAdditiveInfo::getMovementMasterId, id);
movementAdditiveInfoService.update(updateQuery);
}
//删除动静态几何尺寸数据
LambdaUpdateWrapper<MovementRecordsMaster> update = Wrappers.lambdaUpdate();
update.set(MovementRecordsMaster::getDelFlag, "1");
......@@ -257,6 +285,14 @@ public class MovementRecordsMasterController extends JeecgController<MovementRec
@Transactional
public Result<String> uploadFile(MultipartFile file, @ApiParam(name = "动静态几何尺寸主键id") String id) {
try {
//初始化数据模板
QueryWrapper<MovementCourse> courseRemove = new QueryWrapper<>();
courseRemove.eq("movement_master_id", id);
movementCourseService.remove(courseRemove);
QueryWrapper<MovementCourseInfo> rm = new QueryWrapper<>();
rm.eq("movement_master_id", id);
movementCourseInfoService.remove(rm);
//时间校验
String pat = "\\d{4}.\\d{2}.\\d{2}";
Pattern p = Pattern.compile(pat);
//读取第一个sheet页的数据
......@@ -357,7 +393,7 @@ public class MovementRecordsMasterController extends JeecgController<MovementRec
//System.out.println(skipColumnNum+"线路全长="+longExtent+";");
//解析备注
remark= rowRecords.get(14).get(i + 3).toString().trim();
remark = rowRecords.get(14).get(i + 3).toString().trim();
movementCourse.setMovementMasterId(id);
movementCourse.setCourseStartingMileage(new BigDecimal(startingAndEndingMileageStr));
......@@ -377,7 +413,7 @@ public class MovementRecordsMasterController extends JeecgController<MovementRec
if (ObjectUtil.isNotEmpty(longExtent)) {
movementCourse.setLongExtent(new BigDecimal(longExtent));
}
sort ++;
sort++;
courseId = IdWorker.get32UUID();
movementCourse.setId(courseId);
movementCourse.setDelFlag("0");
......@@ -392,15 +428,15 @@ public class MovementRecordsMasterController extends JeecgController<MovementRec
}
//解析子集
if((skipColumnNum -1)%28 == 0){
if ((skipColumnNum - 1) % 28 == 0) {
continue;
}
if((skipColumnNum -2)%28 == 0){
if ((skipColumnNum - 2) % 28 == 0) {
continue;
}
if (ObjectUtil.isNotEmpty(courseId)) {
infoSort ++;
measurePoint ++;
infoSort++;
measurePoint++;
MovementCourseInfo movementCourseInfo = new MovementCourseInfo();
movementCourseInfo.setId(IdWorker.get32UUID());
movementCourseInfo.setDelFlag("0");
......@@ -473,13 +509,13 @@ public class MovementRecordsMasterController extends JeecgController<MovementRec
movementCourseInfo.setRectification(rectification);
}
resultList.add(movementCourseInfo);
if(measurePoint % 8 == 0){
if (measurePoint % 8 == 0) {
measurePoint = 0;
}
}
if ((skipColumnNum+2) % 28 == 0) {
i = i+4;
skipColumnNum =skipColumnNum+4;
if ((skipColumnNum + 2) % 28 == 0) {
i = i + 4;
skipColumnNum = skipColumnNum + 4;
startingAndEndingMileageStr = "";
endingMileageStr = "";
curveRadius = "";
......@@ -502,33 +538,149 @@ public class MovementRecordsMasterController extends JeecgController<MovementRec
}
return Result.ok("操作成功");
}
//**********************************添乘仪检查******************************
/**
* 校验参数
* 查询添乘仪详情
*
* @param movementRecordsMaster
* @param id
* @return
*/
private boolean validate(MovementRecordsMaster movementRecordsMaster) {
if (ObjectUtil.isEmpty(movementRecordsMaster.getType())) {
return false;
@AutoLog(value = "查询添乘仪详情")
@ApiOperation(value = "查询添乘仪详情", notes = "查询添乘仪详情")
@GetMapping(value = "/getMovementAdditiveInfo")
public Result<List<MovementAdditiveInfoVO>> getMovementAdditiveInfo(@ApiParam(name = "动态几何尺寸主键id", required = true) String id) {
List<MovementAdditiveInfoVO> resultList = new ArrayList<>();
LambdaQueryWrapper<MovementAdditiveInfo> lambdaQuery = Wrappers.lambdaQuery();
lambdaQuery.eq(MovementAdditiveInfo::getMovementMasterId, id);
lambdaQuery.orderByAsc(MovementAdditiveInfo::getInfoSort);
List<MovementAdditiveInfo> list = movementAdditiveInfoService.list(lambdaQuery);
if (list != null && list.size() > 0) {
resultList = BeanCopyUtil.copyListProperties(list, MovementAdditiveInfoVO::new);
}
if (ObjectUtil.isEmpty(movementRecordsMaster.getSubwaySectionName())) {
return false;
return Result.OK(resultList);
}
if (ObjectUtil.isEmpty(movementRecordsMaster.getSubwaySectionId())) {
return false;
@AutoLog(value = "添乘仪导入")
@ApiOperation(value = "添乘仪导入", notes = "添乘仪导入")
@PostMapping(value = "/uploadAdditive")
@Transactional
public Result<String> uploadAdditiveFile(MultipartFile file, @ApiParam(name = "动静态几何尺寸主键id") String id) {
try {
//初始化数据模板
QueryWrapper<MovementAdditiveInfo> rm = new QueryWrapper<>();
rm.eq("movement_master_id", id);
movementAdditiveInfoService.remove(rm);
//读取第一个sheet页的数据
ExcelReader reader = ExcelUtil.getReader(file.getInputStream(), 0);
//读取Excel中所有的数据,以行保存
List<List<Object>> rowRecords = reader.read();
//获取当前登录人信息
LoginUser user = (LoginUser) SecurityUtils.getSubject().getPrincipal();
String realname = user.getRealname();
//初始化测点里程
String pointMileage = "";
//初始化水平加速度
String zontalSpeed = "";
//初始化水平加速度等级
String zontalSpeedLevel = "";
//初始化垂直加速度
String verticalSpeed = "";
//初始化垂直加速度等级
String verticalSpeedLevel = "";
//初始化速度
String speed = "";
//初始化手动标记
String mark = "";
//初始化添乘仪排序
int sort = 0;
//初始化存储结果
List<MovementAdditiveInfo> result = new ArrayList<>();
for (int m = 1; m < rowRecords.size() - 1; m++) {
MovementAdditiveInfo movementAdditiveInfo = new MovementAdditiveInfo();
sort++;
for (int i = 0; i < 7; i++) {
//获取当前行
List<Object> list = rowRecords.get(m);
if (ObjectUtil.isNotEmpty(list.get(i))) {
//获取测点里程
if (i == 0) {
pointMileage = list.get(i).toString().trim();
}
if (ObjectUtil.isEmpty(movementRecordsMaster.getLightRailName())) {
return false;
//获取水平加速度
if (i == 1) {
zontalSpeed = list.get(i).toString().trim();
}
if (ObjectUtil.isEmpty(movementRecordsMaster.getLightRailId())) {
return false;
//获取水平加速度等级
if (i == 2) {
zontalSpeedLevel = list.get(i).toString().trim();
}
if (ObjectUtil.isEmpty(movementRecordsMaster.getLineAliasName())) {
return false;
//垂直加速度
if (i == 3) {
verticalSpeed = list.get(i).toString().trim();
}
//垂直加速度等级
if (i == 4) {
verticalSpeedLevel = list.get(i).toString().trim();
}
//手工标记
if (i == 5) {
mark = list.get(i).toString().trim();
}
//速度
if (i == 6) {
speed = list.get(i).toString().trim();
}
}
}
movementAdditiveInfo.setId(IdWorker.get32UUID());
movementAdditiveInfo.setDelFlag("0");
movementAdditiveInfo.setMovementMasterId(id);
movementAdditiveInfo.setCreateTime(new Date());
movementAdditiveInfo.setUpdateTime(new Date());
movementAdditiveInfo.setCreateBy(realname);
movementAdditiveInfo.setUpdateBy(realname);
movementAdditiveInfo.setInfoSort(sort);
if (ObjectUtil.isNotEmpty(pointMileage)) {
movementAdditiveInfo.setPointMileage(new BigDecimal(pointMileage));
}
if (ObjectUtil.isNotEmpty(zontalSpeed)) {
movementAdditiveInfo.setZontalSpeed(new BigDecimal(zontalSpeed));
}
if (ObjectUtil.isEmpty(movementRecordsMaster.getLineAliasId())) {
if (ObjectUtil.isNotEmpty(zontalSpeedLevel)) {
movementAdditiveInfo.setZontalSpeedLevel(Integer.valueOf(zontalSpeedLevel));
}
if (ObjectUtil.isNotEmpty(verticalSpeed)) {
movementAdditiveInfo.setVerticalSpeed(new BigDecimal(verticalSpeed));
}
if (ObjectUtil.isNotEmpty(verticalSpeedLevel)) {
movementAdditiveInfo.setVerticalSpeedLevel(Integer.valueOf(verticalSpeedLevel));
}
if (ObjectUtil.isNotEmpty(mark)) {
movementAdditiveInfo.setMark(mark);
}
if (ObjectUtil.isNotEmpty(verticalSpeed)) {
movementAdditiveInfo.setSpeed(new BigDecimal(speed));
}
result.add(movementAdditiveInfo);
}
if (result != null && result.size() > 0) {
movementAdditiveInfoService.saveBatch(result);
}
} catch (Exception e) {
e.getMessage();
}
return Result.ok("操作成功");
}
/**
* 校验参数
*
* @param movementRecordsMaster
*/
private boolean validate(MovementRecordsMaster movementRecordsMaster) {
if (ObjectUtil.isEmpty(movementRecordsMaster.getType())) {
return false;
}
if (ObjectUtil.isEmpty(movementRecordsMaster.getEkCode())) {
......
package org.jeecg.modules.checkData.equipmentCheckData.dto;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import org.springframework.format.annotation.DateTimeFormat;
import java.math.BigDecimal;
import java.util.Date;
/**
* <p>
* 动静态几何尺寸对应的添乘仪详情表
* </p>
*
* @author hkl
* @since 2023-07-17
*/
@Data
public class MovementAdditiveInfoDTO {
private static final long serialVersionUID = 1L;
@ApiModelProperty("主键")
private String id;
@ApiModelProperty("创建人")
private String createBy;
@ApiModelProperty("创建日期")
@JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd")
@DateTimeFormat(pattern = "yyyy-MM-dd")
private Date createTime;
@ApiModelProperty("更新人")
private String updateBy;
@ApiModelProperty("更新时间")
@JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd")
@DateTimeFormat(pattern = "yyyy-MM-dd")
private Date updateTime;
@ApiModelProperty("动静态几何尺寸数据主表主键-》外键")
private String movementMasterId;
@ApiModelProperty("测点里程")
private BigDecimal pointMileage;
@ApiModelProperty("水平加速度")
private BigDecimal zontalSpeed;
@ApiModelProperty("水平加速度等级")
private Integer zontalSpeedLevel;
@ApiModelProperty("垂直加速度")
private BigDecimal verticalSpeed;
@ApiModelProperty("垂直加速度等级")
private Integer verticalSpeedLevel;
@ApiModelProperty("速度")
private BigDecimal speed;
@ApiModelProperty("手动标记")
private String mark;
@ApiModelProperty("是否删除(0:未删除;1:已删除)")
private String delFlag;
@ApiModelProperty("排序字段")
private Integer infoSort;
}
package org.jeecg.modules.checkData.equipmentCheckData.entity;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Getter;
import lombok.Setter;
import org.springframework.format.annotation.DateTimeFormat;
/**
* <p>
* 动静态几何尺寸对应的添乘仪详情表
* </p>
*
* @author hkl
* @since 2023-07-17
*/
@Getter
@Setter
@TableName("t_djt_movement_additive_info")
@ApiModel(value = "MovementAdditiveInfo对象", description = "动静态几何尺寸对应的添乘仪详情表")
public class MovementAdditiveInfo implements Serializable {
private static final long serialVersionUID = 1L;
@ApiModelProperty("主键")
@TableId("id")
private String id;
@ApiModelProperty("创建人")
@TableField("create_by")
private String createBy;
@ApiModelProperty("创建日期")
@TableField("create_time")
@JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd")
@DateTimeFormat(pattern = "yyyy-MM-dd")
private Date createTime;
@ApiModelProperty("更新人")
@TableField("update_by")
private String updateBy;
@ApiModelProperty("更新时间")
@TableField("update_time")
@JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd")
@DateTimeFormat(pattern = "yyyy-MM-dd")
private Date updateTime;
@ApiModelProperty("动静态几何尺寸数据主表主键-》外键")
@TableField("movement_master_id")
private String movementMasterId;
@ApiModelProperty("测点里程")
@TableField(" point_mileage")
private BigDecimal pointMileage;
@ApiModelProperty("水平加速度")
@TableField("zontal_speed")
private BigDecimal zontalSpeed;
@ApiModelProperty("水平加速度等级")
@TableField("zontal_speed_level")
private Integer zontalSpeedLevel;
@ApiModelProperty("垂直加速度")
@TableField("vertical_speed")
private BigDecimal verticalSpeed;
@ApiModelProperty("垂直加速度等级")
@TableField("vertical_speed_level")
private Integer verticalSpeedLevel;
@ApiModelProperty("速度")
@TableField("speed")
private BigDecimal speed;
@ApiModelProperty("手动标记")
@TableField("mark")
private String mark;
@ApiModelProperty("是否删除(0:未删除;1:已删除)")
@TableField("del_flag")
private String delFlag;
@ApiModelProperty("排序字段")
@TableField("info_sort")
private Integer infoSort;
}
......@@ -54,7 +54,7 @@ public class MovementRecordsMaster implements Serializable {
@DateTimeFormat(pattern = "yyyy-MM-dd")
private Date updateTime;
@ApiModelProperty("动态几何尺寸类型(1:人工静态检查;2:轨检仪静态检查)")
@ApiModelProperty("动态几何尺寸类型(1:人工静态检查;2:轨检仪静态检查; 3:轨检车检查;4:添乘仪检查)")
@TableField("type")
private String type;
......
package org.jeecg.modules.checkData.equipmentCheckData.mapper;
import org.jeecg.modules.checkData.equipmentCheckData.entity.MovementAdditiveInfo;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
/**
* <p>
* 动静态几何尺寸对应的添乘仪详情表 Mapper 接口
* </p>
*
* @author hkl
* @since 2023-07-17
*/
public interface MovementAdditiveInfoMapper extends BaseMapper<MovementAdditiveInfo> {
}
......@@ -2,11 +2,11 @@ package org.jeecg.modules.checkData.equipmentCheckData.mapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import org.jeecg.modules.checkData.equipmentCheckData.dto.MovementRecordsMasterDTO;
import org.jeecg.modules.checkData.equipmentCheckData.dto.RecordPatrolMasterDTO;
import org.jeecg.modules.checkData.equipmentCheckData.entity.MovementRecordsMaster;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import org.jeecg.modules.checkData.equipmentCheckData.vo.MovementRecordsMasterVO;
import org.jeecg.modules.checkData.equipmentCheckData.vo.RecordPatrolMasterVO;
import java.math.BigDecimal;
/**
* <p>
......@@ -19,9 +19,56 @@ import org.jeecg.modules.checkData.equipmentCheckData.vo.RecordPatrolMasterVO;
public interface MovementRecordsMasterMapper extends BaseMapper<MovementRecordsMaster> {
/**
* 动静态几何尺寸列表-分页列表查询
*
* @param pageData
* @param dto
* @return
*/
Page<MovementRecordsMasterVO> queryPageList(Page<MovementRecordsMasterVO> pageData, MovementRecordsMasterDTO dto);
/**
* 统计钢轨单元数量
*
* @param sectionId 区间id
* @param lightRailId 线路id
* @param lineAliasId 线别id
* @param startingMileage 开始里程
* @param endMileage 结束里程
* @return
*/
Integer getRailNums(String sectionId, String lightRailId, String lineAliasId, BigDecimal startingMileage, BigDecimal endMileage);
/**
* 统计曲线数量
*
* @param sectionId 区间id
* @param lightRailId 线路id
* @param lineAliasId 线别id
* @param startingMileage 开始里程
* @param endMileage 结束里程
* @return
*/
Integer getCurveNums(String sectionId, String lightRailId, String lineAliasId, BigDecimal startingMileage, BigDecimal endMileage);
/**
* 统计竖曲线数量
* @param sectionId 区间id
* @param lightRailId 线路id
* @param lineAliasId 线别id
* @param startingMileage 开始里程
* @param endMileage 结束里程
* @return
*/
Integer getVerticalCurveNum(String sectionId, String lightRailId, String lineAliasId, BigDecimal startingMileage, BigDecimal endMileage);
/**
* 统计道岔数量
*
* @param sectionId 区间id
* @param lightRailId 线路id
* @param lineAliasId 线别id
* @param startingMileage 开始里程
* @param endMileage 结束里程
* @return
*/
Integer getSwitchNum(String sectionId, String lightRailId, String lineAliasId, BigDecimal startingMileage, BigDecimal endMileage);
}
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="org.jeecg.modules.checkData.equipmentCheckData.mapper.MovementAdditiveInfoMapper">
</mapper>
......@@ -25,4 +25,92 @@
order by t1.create_time desc
</where>
</select>
<!-- 统计钢轨单元数量 -->
<select id="getRailNums" resultType="java.lang.Integer">
SELECT DISTINCT
count( t4.id )
FROM
t_sn_subway_section t
LEFT JOIN t_sn_light_rail t2 ON t.light_rail_id = t2.id
LEFT JOIN t_sn_line_alias t3 ON t.line_alias_id = t3.id
LEFT JOIN t_da_curve_management t4 ON t4.section_id = t.id
AND t4.line_alias_id = t3.id
AND t4.line_alias_id = t.line_alias_id
<where>
1 = 1
AND t2.id = #{lightRailId}
AND t3.id = #{lineAliasId}
AND t4.curve_mileage_zh &gt;= #{startingMileage}
AND t4.curve_mileage_hz &lt;= #{endMileage}
<if test="sectionId != null and sectionId != ''">
AND t.id = #{sectionId}
</if>
</where>
</select>
<!-- 统计曲线数量 -->
<select id="getCurveNums" resultType="java.lang.Integer">
SELECT DISTINCT
count( t4.id )
FROM
t_sn_subway_section t
LEFT JOIN t_sn_light_rail t2 ON t.light_rail_id = t2.id
LEFT JOIN t_sn_line_alias t3 ON t.line_alias_id = t3.id
LEFT JOIN t_da_rail_management t4 ON t.id = t4.section_id
AND t3.id = t4.line_alias_id
AND t.line_alias_id = t4.line_alias_id
<where>
1 = 1
AND t2.id = #{lightRailId}
AND t3.id = #{lineAliasId}
AND t4.starting_mileage &gt;= #{startingMileage}
AND t4.end_mileage &lt;= #{endMileage}
<if test="sectionId != null and sectionId != ''">
AND t.id = #{sectionId}
</if>
</where>
</select>
<!-- 统计竖曲线数量 -->
<select id="getVerticalCurveNum" resultType="java.lang.Integer">
SELECT DISTINCT
count( t4.id )
FROM
t_sn_subway_section t
LEFT JOIN t_sn_light_rail t2 ON t.light_rail_id = t2.id
LEFT JOIN t_sn_line_alias t3 ON t.line_alias_id = t3.id
LEFT JOIN t_da_vertical_curve_management t4 ON t.id = t4.section_id
AND t3.id = t4.line_alias_id
AND t.line_alias_id = t4.line_alias_id
<where>
1 = 1
AND t2.id = #{lightRailId}
AND t3.id = #{lineAliasId}
AND t4.starting_mileage &gt;= #{startingMileage}
AND t4.end_mileage &lt;= #{endMileage}
<if test="sectionId != null and sectionId != ''">
AND t.id = #{sectionId}
</if>
</where>
</select>
<!-- 统计道岔数量 -->
<select id="getSwitchNum" resultType="java.lang.Integer">
SELECT DISTINCT
count( t4.id )
FROM
t_sn_subway_section t
LEFT JOIN t_sn_light_rail t2 ON t.light_rail_id = t2.id
LEFT JOIN t_sn_line_alias t3 ON t.line_alias_id = t3.id
LEFT JOIN t_da_switch_management t4 ON t.id = t4.section_station_map_id
AND t3.id = t4.line_alias_id
AND t.line_alias_id = t4.line_alias_id
<where>
1 = 1
AND t2.id = #{lightRailId}
AND t3.id = #{lineAliasId}
AND t4.byroad_pre_mileage &gt;= #{startingMileage}
AND t4.byroad_end_mileage &lt;= #{endMileage}
<if test="sectionId != null and sectionId != ''">
AND t.id = #{sectionId}
</if>
</where>
</select>
</mapper>
package org.jeecg.modules.checkData.equipmentCheckData.service;
import org.jeecg.modules.checkData.equipmentCheckData.entity.MovementAdditiveInfo;
import com.baomidou.mybatisplus.extension.service.IService;
/**
* <p>
* 动静态几何尺寸对应的添乘仪详情表 服务类
* </p>
*
* @author hkl
* @since 2023-07-17
*/
public interface IMovementAdditiveInfoService extends IService<MovementAdditiveInfo> {
}
......@@ -6,6 +6,8 @@ import org.jeecg.modules.checkData.equipmentCheckData.entity.MovementRecordsMast
import com.baomidou.mybatisplus.extension.service.IService;
import org.jeecg.modules.checkData.equipmentCheckData.vo.MovementRecordsMasterVO;
import java.math.BigDecimal;
/**
* <p>
* 动静态几何尺寸数据主表 服务类
......@@ -17,9 +19,55 @@ import org.jeecg.modules.checkData.equipmentCheckData.vo.MovementRecordsMasterVO
public interface IMovementRecordsMasterService extends IService<MovementRecordsMaster> {
/**
* 动静态几何尺寸列表-分页列表查询
*
* @param pageData
* @param dto
* @return
*/
Page<MovementRecordsMasterVO> queryPageList(Page<MovementRecordsMasterVO> pageData, MovementRecordsMasterDTO dto);
/**
* 统计钢轨单元数量
*
* @param lightRailId
* @param lineAliasId
* @param startingMileage
* @param endMileage
* @return
*/
Integer getRailNums(String sectionId, String lightRailId, String lineAliasId, BigDecimal startingMileage, BigDecimal endMileage);
/**
* 统计曲线数量
*
* @param sectionId 区间id
* @param lightRailId 线路id
* @param lineAliasId 线别id
* @param startingMileage 开始里程
* @param endMileage 结束里程
* @return
*/
Integer getCurveNums(String sectionId, String lightRailId, String lineAliasId, BigDecimal startingMileage, BigDecimal endMileage);
/**
* 统计竖曲线数量
*
* @param sectionId 区间id
* @param lightRailId 线路id
* @param lineAliasId 线别id
* @param startingMileage 开始里程
* @param endMileage 结束里程
* @return
*/
Integer getVerticalCurveNum(String sectionId, String lightRailId, String lineAliasId, BigDecimal startingMileage, BigDecimal endMileage);
/**
* 统计道岔数量
*
* @param sectionId 区间id
* @param lightRailId 线路id
* @param lineAliasId 线别id
* @param startingMileage 开始里程
* @param endMileage 结束里程
* @return
*/
Integer getSwitchNum(String sectionId, String lightRailId, String lineAliasId, BigDecimal startingMileage, BigDecimal endMileage);
}
package org.jeecg.modules.checkData.equipmentCheckData.service.impl;
import org.jeecg.modules.checkData.equipmentCheckData.entity.MovementAdditiveInfo;
import org.jeecg.modules.checkData.equipmentCheckData.mapper.MovementAdditiveInfoMapper;
import org.jeecg.modules.checkData.equipmentCheckData.service.IMovementAdditiveInfoService;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import org.springframework.stereotype.Service;
/**
* <p>
* 动静态几何尺寸对应的添乘仪详情表 服务实现类
* </p>
*
* @author hkl
* @since 2023-07-17
*/
@Service
public class MovementAdditiveInfoServiceImpl extends ServiceImpl<MovementAdditiveInfoMapper, MovementAdditiveInfo> implements IMovementAdditiveInfoService {
}
......@@ -9,6 +9,8 @@ import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import org.jeecg.modules.checkData.equipmentCheckData.vo.MovementRecordsMasterVO;
import org.springframework.stereotype.Service;
import java.math.BigDecimal;
/**
* <p>
* 动静态几何尺寸数据主表 服务实现类
......@@ -29,4 +31,57 @@ public class MovementRecordsMasterServiceImpl extends ServiceImpl<MovementRecord
public Page<MovementRecordsMasterVO> queryPageList(Page<MovementRecordsMasterVO> pageData, MovementRecordsMasterDTO dto) {
return this.baseMapper.queryPageList(pageData,dto);
}
/**
* 统计钢轨单元数量
* @param lightRailId 线路id
* @param lineAliasId 线别id
* @param startingMileage 开始里程
* @param endMileage 结束里程
* @return
*/
@Override
public Integer getRailNums(String sectionId, String lightRailId, String lineAliasId, BigDecimal startingMileage, BigDecimal endMileage) {
return this.baseMapper.getRailNums(sectionId, lightRailId,lineAliasId,startingMileage,endMileage);
}
/**
* 统计曲线数量
* @param sectionId 区间id
* @param lightRailId 线路id
* @param lineAliasId 线别id
* @param startingMileage 开始里程
* @param endMileage 结束里程
* @return
*/
@Override
public Integer getCurveNums(String sectionId, String lightRailId, String lineAliasId, BigDecimal startingMileage, BigDecimal endMileage) {
return this.baseMapper.getCurveNums(sectionId, lightRailId,lineAliasId,startingMileage,endMileage);
}
/**
* 统计竖曲线数量
* @param sectionId 区间id
* @param lightRailId 线路id
* @param lineAliasId 线别id
* @param startingMileage 开始里程
* @param endMileage 结束里程
* @return
*/
@Override
public Integer getVerticalCurveNum(String sectionId, String lightRailId, String lineAliasId, BigDecimal startingMileage, BigDecimal endMileage) {
return this.baseMapper.getVerticalCurveNum(sectionId, lightRailId,lineAliasId,startingMileage,endMileage);
}
/**
* 统计道岔数量
*
* @param sectionId 区间id
* @param lightRailId 线路id
* @param lineAliasId 线别id
* @param startingMileage 开始里程
* @param endMileage 结束里程
* @return
*/
@Override
public Integer getSwitchNum(String sectionId, String lightRailId, String lineAliasId, BigDecimal startingMileage, BigDecimal endMileage) {
return this.baseMapper.getSwitchNum(sectionId, lightRailId,lineAliasId,startingMileage,endMileage);
}
}
package org.jeecg.modules.checkData.equipmentCheckData.vo;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import org.springframework.format.annotation.DateTimeFormat;
import java.math.BigDecimal;
import java.util.Date;
/**
* <p>
* 动静态几何尺寸对应的添乘仪详情表
* </p>
*
* @author hkl
* @since 2023-07-17
*/
@Data
public class MovementAdditiveInfoVO {
private static final long serialVersionUID = 1L;
@ApiModelProperty("主键")
@TableId("id")
private String id;
@ApiModelProperty("创建人")
@TableField("create_by")
private String createBy;
@ApiModelProperty("创建日期")
@TableField("create_time")
@JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd")
@DateTimeFormat(pattern = "yyyy-MM-dd")
private Date createTime;
@ApiModelProperty("更新人")
@TableField("update_by")
private String updateBy;
@ApiModelProperty("更新时间")
@TableField("update_time")
@JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd")
@DateTimeFormat(pattern = "yyyy-MM-dd")
private Date updateTime;
@ApiModelProperty("动静态几何尺寸数据主表主键-》外键")
@TableField("movement_master_id")
private String movementMasterId;
@ApiModelProperty("测点里程")
@TableField(" point_mileage")
private BigDecimal pointMileage;
@ApiModelProperty("水平加速度")
@TableField("zontal_speed")
private BigDecimal zontalSpeed;
@ApiModelProperty("水平加速度等级")
@TableField("zontal_speed_level")
private Integer zontalSpeedLevel;
@ApiModelProperty("垂直加速度")
@TableField("vertical_speed")
private BigDecimal verticalSpeed;
@ApiModelProperty("垂直加速度等级")
@TableField("vertical_speed_level")
private Integer verticalSpeedLevel;
@ApiModelProperty("速度")
@TableField("speed")
private BigDecimal speed;
@ApiModelProperty("手动标记")
@TableField("mark")
private String mark;
@ApiModelProperty("是否删除(0:未删除;1:已删除)")
@TableField("del_flag")
private String delFlag;
@ApiModelProperty("排序字段")
@TableField("info_sort")
private Integer infoSort;
}
package org.jeecg.modules.checkData.equipmentCheckData.vo;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.math.BigDecimal;
/**
* 添乘仪保存时初始化回显接口返回类
*/
@Data
public class MovementAdditiveSavaQueryVO {
@ApiModelProperty("检查区间id")
private String subwaySectionId;
@ApiModelProperty("检查区间名称")
private String subwaySectionName;
@ApiModelProperty("所属线路id")
private String lightRailId;
@ApiModelProperty("所属线路名称")
private String lightRailName;
@ApiModelProperty("所属线别id")
private String lineAliasId;
@ApiModelProperty("所属线别名称")
private String lineAliasName;
@ApiModelProperty("起始里程")
private BigDecimal startingMileage;
@ApiModelProperty("终点里程")
private BigDecimal endMileage;
@ApiModelProperty("钢轨单元数量")
private Integer railNum;
@ApiModelProperty("曲线数量")
private Integer curveNum;
@ApiModelProperty("竖曲线数量")
private Integer verticalCurveNum;
@ApiModelProperty("道岔数量")
private Integer switchNum;
}
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