Commit 15c6601b authored by 史志龙's avatar 史志龙

道岔病害分析新增接口提交--shizhilong

parent 2aa921cf
......@@ -64,6 +64,9 @@ public class RecordsMasterCheckController extends JeecgController<RecordsMasterC
private IRecordsMasterCorrWaveService recordsMasterCorrWaveService;
@Resource
private IRecordsMasterCorrWaveInfoService recordsMasterCorrWaveInfoService;
@Resource
private ICorrugationRecordService corrugationRecordService;
//********************************设备检查记录相关接口*************************************************************
/**
......@@ -172,6 +175,7 @@ public class RecordsMasterCheckController extends JeecgController<RecordsMasterC
@ApiOperation(value = "删除设备检查记录主数据及相关联的数据", notes = "删除设备检查记录主数据及相关联的数据")
@GetMapping(value = "/delete")
public Result<String> delete(@ApiParam(name = "动静态几何尺寸数据id", required = true) String id, @ApiParam(name = "动静态几何尺寸数据类型", required = true) String type) {
//设备检查类型(1:道岔使用情况;2:钢轨伤损情况;3:曲线磨损情况;4:钢轨波磨情况;5:道床使用情况)
if ("1".equals(type)) {
//删除道岔使用情况检查数据
recordsMasterTurnoutInfoService.lambdaUpdate().eq(RecordsMasterTurnoutInfo::getRecordsMasterId, id).remove();
......@@ -186,8 +190,9 @@ public class RecordsMasterCheckController extends JeecgController<RecordsMasterC
trackBedManagementCheckService.lambdaUpdate().eq(TrackBedManagementCheck::getRecordsMasterCheckId, id).remove();
} else {
//钢轨波磨情况检查数据
recordsMasterCorrWaveService.lambdaUpdate().eq(RecordsMasterCorrWave::getRecordsMasterId, id).remove();
recordsMasterCorrWaveInfoService.lambdaUpdate().eq(RecordsMasterCorrWaveInfo::getRecordsMasterId, id).remove();
// recordsMasterCorrWaveService.lambdaUpdate().eq(RecordsMasterCorrWave::getRecordsMasterId, id).remove();
// recordsMasterCorrWaveInfoService.lambdaUpdate().eq(RecordsMasterCorrWaveInfo::getRecordsMasterId, id).remove();
corrugationRecordService.lambdaUpdate().eq(CorrugationRecord::getRecordsMasterCheckId, id).remove();
}
//删除设备检查记录主数据
this.service.lambdaUpdate().eq(RecordsMasterCheck::getId, id).remove();
......
......@@ -22,7 +22,7 @@ public class SingleConsumerLine {
String analysisLineBatchId = Buffer.queue.take();
log.info("SingleConsumerLine[消费者]|线程id:【" + Thread.currentThread().getId() + "】=============分析批次ID:【" + analysisLineBatchId + "】");
analysisAlgorithmLine.analysis(analysisLineBatchId);
analysisAlgorithmLine.analysisLine(analysisLineBatchId);
} catch (Exception e) {
StackTraceElement[] stackTrace = e.getStackTrace();
......
package org.jeecg.modules.diseaseAnalysis.controller;
import cn.hutool.core.convert.Convert;
import cn.hutool.core.util.ObjectUtil;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import io.swagger.annotations.ApiOperation;
import org.jeecg.common.api.vo.Result;
import org.jeecg.common.aspect.annotation.AutoLog;
import org.jeecg.common.exception.JeecgBootException;
import org.jeecg.modules.diseaseAnalysis.dto.AnalysisLineBatchDTO;
import org.jeecg.modules.diseaseAnalysis.dto.AnalysisLineBatchInfoDTO;
import org.jeecg.modules.diseaseAnalysis.dto.AnalysisLineBatchSaveOrUpdateDTO;
import org.jeecg.modules.diseaseAnalysis.dto.EkRecordsMasterCheckDTO;
import org.jeecg.modules.diseaseAnalysis.entity.AnalysisLineBatch;
import org.jeecg.modules.diseaseAnalysis.entity.AnalysisLineBatchCheckDataMap;
import org.jeecg.modules.diseaseAnalysis.service.IAnalysisLineBatchService;
import org.jeecg.modules.diseaseAnalysis.vo.*;
import org.jeecg.modules.dynamicStaticAnalysis.vo.AnalysisBatchQueryVO;
import org.jeecg.modules.dynamicStaticAnalysis.vo.CheckBatchVO;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.jeecg.modules.dynamicStaticAnalysis.entity.AnalysisBatch;
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 java.util.List;
......@@ -136,4 +132,25 @@ public class AnalysisLineBatchController extends JeecgController<AnalysisLineBat
List<AnalysisLineBatchUnitDeviceTurnoutInfoVO> list = this.service.getAnalysisLineBatchUnitEkInfoList(analysisBatchId,ekId,deviceId);
return Result.OK(list);
}
//***********************************分析新增编辑接口*************************************************************************************************************
@AutoLog(value = "其他病害分析-分析批次-新增分析批次")
@ApiOperation(value = "其他病害分析-分析批次-新增分析批次", notes = "其他病害分析-分析批次-新增分析批次")
@PostMapping(value = "/saveRecord")
public Result<String> saveRecord(@RequestBody AnalysisLineBatchSaveOrUpdateDTO dto) {
if (dto.getStartingMileage().compareTo(dto.getEndMileage()) > 0) {
throw new JeecgBootException("起始里程不能大于结束里程");
}
// 去重
AnalysisLineBatch exist = this.service.lambdaQuery().eq(AnalysisLineBatch::getAnalysisBatchCode, dto.getAnalysisBatchCode())
.last("limit 1")
.one();
if (exist != null) {
throw new JeecgBootException("【" + dto.getAnalysisBatchCode() + "】分析批次已存在");
}
this.service.saveRecord(dto);
return Result.OK("操作成功");
}
}
package org.jeecg.modules.diseaseAnalysis.dto;
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 io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
......
package org.jeecg.modules.diseaseAnalysis.dto;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import org.jeecg.modules.diseaseAnalysis.vo.AnalysisLineBatchCheckDataMapVO;
import org.springframework.format.annotation.DateTimeFormat;
import java.math.BigDecimal;
import java.util.Date;
import java.util.List;
@Data
@ApiModel(value = "AnalysisLineBatchSaveOrUpdateDTO对象", description = "其他病害分析-分析批次保存/更新DTO")
public class AnalysisLineBatchSaveOrUpdateDTO {
private static final long serialVersionUID = 1L;
@ApiModelProperty("主键")
private String id;
@ApiModelProperty("创建人")
private String createBy;
@ApiModelProperty("创建日期")
private Date createTime;
@ApiModelProperty("更新人")
private String updateBy;
@ApiModelProperty("更新时间")
private Date updateTime;
@ApiModelProperty("分析批次号")
private String analysisBatchCode;
@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("分析状态 0-创建 1-分析中 99-分析完成")
private Integer analysisStatus;
@ApiModelProperty("备注")
private String remark;
@ApiModelProperty("1-道岔检查 2-钢轨常规探伤检查 3-曲线钢轨磨耗检查 4-钢轨波磨检查 5-道床检查 6-线路检查)")
private String ekType;
@ApiModelProperty("检查数据列表")
private List<CheckDataDTO> checkDataList;
@Data
@ApiModel(value = "CheckDataDTO对象", description = "其他病害分析-检查数据")
public static class CheckDataDTO {
@ApiModelProperty("主键")
private String id;
@ApiModelProperty("检查批次号")
private String ekCode;
@ApiModelProperty("检查批id")
private String ekId;
@ApiModelProperty("检查数据类型1-道岔检查 2-钢轨常规探伤检查 3-曲线钢轨磨耗检查 4-钢轨波磨检查 5-道床检查 6-线路检查)")
private String ekType;
@ApiModelProperty("检查日期")
@DateTimeFormat(pattern = "yyyy-MM-dd")
private Date checkTime;
@ApiModelProperty("检查起始里程")
private BigDecimal startingMileage;
@ApiModelProperty("检查终点里程")
private BigDecimal endMileage;
@ApiModelProperty("备注")
private String remark;
}
}
......@@ -60,6 +60,8 @@ public class AnalysisLineBatchUnitDeviceTurnoutInfoDTO {
@ApiModelProperty("设备号数(道岔表)")
private String switchCodeNum;
@ApiModelProperty("轨距水平尺编号")
private String gaugeCode;
@ApiModelProperty("检查项目类型(1:轨距;2:水平;3:支距;4:轮缘槽;5:滑床板;6:顶铁;7:接头螺栓;8:护轨螺栓;9:道岔)")
private String type;
......
......@@ -73,7 +73,10 @@ public class AnalysisLineBatchUnitDeviceTurnoutInfo implements Serializable {
@ApiModelProperty("设备号数(道岔表)")
@TableField("switch_code_num")
private String switchCodeNum;
@ApiModelProperty("轨距水平尺编号")
@TableField("gauge_code")
private String gaugeCode;
@ApiModelProperty("检查项目类型(1:轨距;2:水平;3:支距;4:轮缘槽;5:滑床板;6:顶铁;7:接头螺栓;8:护轨螺栓;9:道岔)")
@TableField("type")
......
......@@ -6,10 +6,12 @@ import org.jeecg.modules.checkData.dto.CorrugationRecordDTO;
import org.jeecg.modules.checkData.vo.CorrugationRecordVO;
import org.jeecg.modules.diseaseAnalysis.dto.AnalysisLineBatchDTO;
import org.jeecg.modules.diseaseAnalysis.dto.AnalysisLineBatchInfoDTO;
import org.jeecg.modules.diseaseAnalysis.dto.AnalysisLineBatchSaveOrUpdateDTO;
import org.jeecg.modules.diseaseAnalysis.dto.EkRecordsMasterCheckDTO;
import org.jeecg.modules.diseaseAnalysis.entity.AnalysisLineBatch;
import org.jeecg.modules.diseaseAnalysis.entity.AnalysisLineBatchCheckDataMap;
import org.jeecg.modules.diseaseAnalysis.vo.*;
import org.jeecg.modules.dynamicStaticAnalysis.dto.AnalysisBatchSaveOrUpdateDTO;
import org.springframework.web.bind.annotation.RequestParam;
import java.util.List;
......@@ -70,4 +72,9 @@ public interface IAnalysisLineBatchService extends IService<AnalysisLineBatch> {
*/
List<AnalysisLineBatchUnitDeviceTurnoutInfoVO> getAnalysisLineBatchUnitEkInfoList(String analysisBatchId, String ekId, String deviceId);
/**
*其他病害分析-分析批次-新增分析批次
* @param dto
*/
void saveRecord(AnalysisLineBatchSaveOrUpdateDTO dto);
}
package org.jeecg.modules.diseaseAnalysis.service.impl;
import cn.hutool.core.bean.BeanUtil;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import org.jeecg.common.util.UUIDGenerator;
import org.jeecg.modules.diseaseAnalysis.algorithm.MultiProducerLine;
import org.jeecg.modules.diseaseAnalysis.dto.AnalysisLineBatchDTO;
import org.jeecg.modules.diseaseAnalysis.dto.AnalysisLineBatchInfoDTO;
import org.jeecg.modules.diseaseAnalysis.dto.AnalysisLineBatchSaveOrUpdateDTO;
import org.jeecg.modules.diseaseAnalysis.dto.EkRecordsMasterCheckDTO;
import org.jeecg.modules.diseaseAnalysis.entity.AnalysisLineBatch;
import org.jeecg.modules.diseaseAnalysis.entity.AnalysisLineBatchCheckDataMap;
import org.jeecg.modules.diseaseAnalysis.mapper.AnalysisLineBatchCheckDataMapMapper;
import org.jeecg.modules.diseaseAnalysis.mapper.AnalysisLineBatchMapper;
import org.jeecg.modules.diseaseAnalysis.service.IAnalysisLineBatchService;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import org.jeecg.modules.diseaseAnalysis.vo.*;
import org.springframework.stereotype.Service;
import javax.annotation.Resource;
import java.util.ArrayList;
import java.util.List;
/**
......@@ -23,8 +31,12 @@ import java.util.List;
*/
@Service
public class AnalysisLineBatchServiceImpl extends ServiceImpl<AnalysisLineBatchMapper, AnalysisLineBatch> implements IAnalysisLineBatchService {
@Resource
private AnalysisLineBatchCheckDataMapMapper analysisLineBatchCheckDataMapMapper;
/**
* 线路质量分析-其他病害分析-检查记录-分页列表查询
*
* @param pageData
* @param dto
* @return
......@@ -36,6 +48,7 @@ public class AnalysisLineBatchServiceImpl extends ServiceImpl<AnalysisLineBatchM
/**
* 线路质量分析-其他病害分析-线路巡查检查记录-分页列表查询
*
* @param pageData
* @param dto
* @return
......@@ -44,8 +57,10 @@ public class AnalysisLineBatchServiceImpl extends ServiceImpl<AnalysisLineBatchM
public Page<EkRecordPatrolMasterVO> queryPageEkPatrolList(Page<EkRecordPatrolMasterVO> pageData, EkRecordsMasterCheckDTO dto) {
return this.baseMapper.queryPageEkPatrolList(pageData, dto);
}
/**
* 线路质量分析-其他病害分析-分页列表查询
*
* @param pageData
* @param dto
* @return
......@@ -57,6 +72,7 @@ public class AnalysisLineBatchServiceImpl extends ServiceImpl<AnalysisLineBatchM
/**
* 获取分析批次对应得检查批次信息
*
* @param analysisLineBatchIds 分析批次id集合
* @return
*/
......@@ -67,23 +83,71 @@ public class AnalysisLineBatchServiceImpl extends ServiceImpl<AnalysisLineBatchM
/**
* 线路质量分析-其他病害分析-详情查询-分页列表查询
*
* @param pageData
* @param dto
* @return
*/
@Override
public Page<AnalysisLineBatchUnitDeviceVO> getInfoPageList(Page<AnalysisLineBatchUnitDeviceVO> pageData, AnalysisLineBatchInfoDTO dto) {
return this.baseMapper.getInfoPageList(pageData,dto);
return this.baseMapper.getInfoPageList(pageData, dto);
}
/**
* 线路质量分析-其他病害分析-详情检查记录查询
*
* @param analysisBatchId 分析批次id
* @param ekId 检查批次id
* @param deviceId 线路质量分析-其他病害分析-单元表id
* @param ekId 检查批次id
* @param deviceId 线路质量分析-其他病害分析-单元表id
* @return
*/
@Override
public List<AnalysisLineBatchUnitDeviceTurnoutInfoVO> getAnalysisLineBatchUnitEkInfoList(String analysisBatchId, String ekId, String deviceId) {
return this.baseMapper.getAnalysisLineBatchUnitEkInfoList(analysisBatchId,ekId,deviceId);
List<AnalysisLineBatchUnitDeviceTurnoutInfoVO> list = this.baseMapper.getAnalysisLineBatchUnitEkInfoList(analysisBatchId, ekId, deviceId);
return list;
}
/**
*其他病害分析-分析批次-新增分析批次
* @param dto
*/
@Override
public void saveRecord(AnalysisLineBatchSaveOrUpdateDTO dto) {
// 主表
AnalysisLineBatch analysisLineBatch = BeanUtil.copyProperties(dto, AnalysisLineBatch.class);
analysisLineBatch.setId(UUIDGenerator.generate());
analysisLineBatch.setAnalysisStatus(1); // 1-分析中
// 明细
List<AnalysisLineBatchCheckDataMap> analysisLineBatchCheckDataMaps = new ArrayList<>();
List<AnalysisLineBatchSaveOrUpdateDTO.CheckDataDTO> checkDataList = dto.getCheckDataList();
for (AnalysisLineBatchSaveOrUpdateDTO.CheckDataDTO checkDataDTO : checkDataList) {
AnalysisLineBatchCheckDataMap analysisLineBatchCheckDataMap = new AnalysisLineBatchCheckDataMap();
analysisLineBatchCheckDataMap.setId(UUIDGenerator.generate());
analysisLineBatchCheckDataMap.setAnalysisBatchId(analysisLineBatch.getId());
analysisLineBatchCheckDataMap.setAnalysisBatchCode(analysisLineBatch.getAnalysisBatchCode());
analysisLineBatchCheckDataMap.setEkCode(checkDataDTO.getEkCode());
analysisLineBatchCheckDataMap.setEkId(checkDataDTO.getEkId());
analysisLineBatchCheckDataMap.setStartingMileage(checkDataDTO.getStartingMileage());
analysisLineBatchCheckDataMap.setEndMileage(checkDataDTO.getEndMileage());
analysisLineBatchCheckDataMap.setCheckTime(checkDataDTO.getCheckTime());
analysisLineBatchCheckDataMap.setEkType(checkDataDTO.getEkType());
analysisLineBatchCheckDataMap.setAnalysisStatus(1);// 分析中
analysisLineBatchCheckDataMap.setRemark(dto.getRemark());
analysisLineBatchCheckDataMaps.add(analysisLineBatchCheckDataMap);
}
this.save(analysisLineBatch);
for (AnalysisLineBatchCheckDataMap analysisLineBatchCheckDataMap : analysisLineBatchCheckDataMaps) {
analysisLineBatchCheckDataMapMapper.insert(analysisLineBatchCheckDataMap);
}
try {
Thread.sleep(2000);
} catch (InterruptedException e) {
e.printStackTrace();
}
// 执行分析
MultiProducerLine.produce(analysisLineBatch.getId());
}
}
......@@ -60,6 +60,9 @@ public class AnalysisLineBatchUnitDeviceTurnoutInfoVO {
@ApiModelProperty("设备号数(道岔表)")
private String switchCodeNum;
@ApiModelProperty("轨距水平尺编号")
private String gaugeCode;
@ApiModelProperty("检查项目类型(1:轨距;2:水平;3:支距;4:轮缘槽;5:滑床板;6:顶铁;7:接头螺栓;8:护轨螺栓;9:道岔)")
private String type;
......
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