|
@@ -317,10 +317,10 @@ public class SimulationProjectServiceImpl implements SimulationProjectService {
|
|
ConfigPO configVehicleVO = configVehicleVOS.get(0);
|
|
ConfigPO configVehicleVO = configVehicleVOS.get(0);
|
|
vehicleBaseInfoVo = simulationProjectMapper.selectVehicleBaseInfoById(configVehicleVO.getVehicleId()).get(0);
|
|
vehicleBaseInfoVo = simulationProjectMapper.selectVehicleBaseInfoById(configVehicleVO.getVehicleId()).get(0);
|
|
}
|
|
}
|
|
- String vehicleImage = vehicleBaseInfoVo.getVehicleImage();
|
|
|
|
|
|
+ /*String vehicleImage = vehicleBaseInfoVo.getVehicleImage();
|
|
if(!isEmpty(vehicleImage)){
|
|
if(!isEmpty(vehicleImage)){
|
|
vehicleBaseInfoVo.setVehicleImage(vehicleImage.replaceFirst("Front side","Top"));
|
|
vehicleBaseInfoVo.setVehicleImage(vehicleImage.replaceFirst("Front side","Top"));
|
|
- }
|
|
|
|
|
|
+ }*/
|
|
|
|
|
|
List<ConfigSensorPO> vehicleSensorVos = simulationProjectMapper.selectVehicleSensor(vehicleConfigId);
|
|
List<ConfigSensorPO> vehicleSensorVos = simulationProjectMapper.selectVehicleSensor(vehicleConfigId);
|
|
|
|
|
|
@@ -394,7 +394,7 @@ public class SimulationProjectServiceImpl implements SimulationProjectService {
|
|
if(vehicleBaseInfoVo != null){
|
|
if(vehicleBaseInfoVo != null){
|
|
projectDetailsVo.setVehicleName(vehicleBaseInfoVo.getVehicleName());
|
|
projectDetailsVo.setVehicleName(vehicleBaseInfoVo.getVehicleName());
|
|
projectDetailsVo.setVehicleDescribe(vehicleBaseInfoVo.getDescription());
|
|
projectDetailsVo.setVehicleDescribe(vehicleBaseInfoVo.getDescription());
|
|
- projectDetailsVo.setVehicleImage(vehicleBaseInfoVo.getVehicleImage());
|
|
|
|
|
|
+ projectDetailsVo.setVehicleTopView(vehicleBaseInfoVo.getVehicleTopView());
|
|
|
|
|
|
}
|
|
}
|
|
projectDetailsVo.setSensorCameraList(sensorCameraList);
|
|
projectDetailsVo.setSensorCameraList(sensorCameraList);
|
|
@@ -468,13 +468,29 @@ public class SimulationProjectServiceImpl implements SimulationProjectService {
|
|
vo.setConfigId(vs.getConfigId());
|
|
vo.setConfigId(vs.getConfigId());
|
|
vo.setSensorId(vs.getSensorId());
|
|
vo.setSensorId(vs.getSensorId());
|
|
vo.setSensorType(vs.getSensorType());
|
|
vo.setSensorType(vs.getSensorType());
|
|
- vo.setSensorX(saveTwoDecimalPlaces(vs.getSensorX().doubleValue()));
|
|
|
|
- vo.setSensorY(saveTwoDecimalPlaces(vs.getSensorY().doubleValue()));
|
|
|
|
- vo.setSensorZ(saveTwoDecimalPlaces(vs.getSensorZ().doubleValue()));
|
|
|
|
- vo.setSensorH(saveTwoDecimalPlaces(vs.getSensorH().doubleValue()));
|
|
|
|
- vo.setSensorP(saveTwoDecimalPlaces(vs.getSensorP().doubleValue()));
|
|
|
|
- vo.setSensorR(saveTwoDecimalPlaces(vs.getSensorR().doubleValue()));
|
|
|
|
- vo.setSensorPort(vs.getSensorPort());
|
|
|
|
|
|
+ if(StringUtil.isNotEmpty(vs.getSensorX())){
|
|
|
|
+ vo.setSensorX(saveTwoDecimalPlaces(vs.getSensorX().doubleValue()));
|
|
|
|
+ }
|
|
|
|
+ if(StringUtil.isNotEmpty(vs.getSensorY())){
|
|
|
|
+ vo.setSensorY(saveTwoDecimalPlaces(vs.getSensorY().doubleValue()));
|
|
|
|
+ }
|
|
|
|
+ if(StringUtil.isNotEmpty(vs.getSensorZ())){
|
|
|
|
+ vo.setSensorZ(saveTwoDecimalPlaces(vs.getSensorZ().doubleValue()));
|
|
|
|
+ }
|
|
|
|
+ if(StringUtil.isNotEmpty(vs.getSensorH())){
|
|
|
|
+ vo.setSensorH(saveTwoDecimalPlaces(vs.getSensorH().doubleValue()));
|
|
|
|
+ }
|
|
|
|
+ if(StringUtil.isNotEmpty(vs.getSensorP())){
|
|
|
|
+ vo.setSensorP(saveTwoDecimalPlaces(vs.getSensorP().doubleValue()));
|
|
|
|
+ }
|
|
|
|
+ if(StringUtil.isNotEmpty(vs.getSensorR())){
|
|
|
|
+ vo.setSensorR(saveTwoDecimalPlaces(vs.getSensorR().doubleValue()));
|
|
|
|
+ }
|
|
|
|
+ if(StringUtil.isNotEmpty(vs.getSensorPort())){
|
|
|
|
+ vo.setSensorPort(vs.getSensorPort());
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+
|
|
}
|
|
}
|
|
|
|
|
|
|
|
|
|
@@ -597,7 +613,7 @@ public class SimulationProjectServiceImpl implements SimulationProjectService {
|
|
// Map<String, Object> maps = selectSceneScore(pos, po.getId());
|
|
// Map<String, Object> maps = selectSceneScore(pos, po.getId());
|
|
Map<String, Object> maps = selectSceneScore(po.getScene(), po.getId());
|
|
Map<String, Object> maps = selectSceneScore(po.getScene(), po.getId());
|
|
projectReportVo.setSceneScoreLiTitle((List<Map>) maps.get("cloums"));
|
|
projectReportVo.setSceneScoreLiTitle((List<Map>) maps.get("cloums"));
|
|
- projectReportVo.setSceneScoreLi((List<SublistScoreVo>) maps.get("result"));
|
|
|
|
|
|
+ projectReportVo.setSceneScoreLi((List<SceneScListVo>) maps.get("result"));
|
|
|
|
|
|
return new ResponseBodyVO(ResponseBodyVO.Response.SUCCESS, projectReportVo);
|
|
return new ResponseBodyVO(ResponseBodyVO.Response.SUCCESS, projectReportVo);
|
|
}
|
|
}
|
|
@@ -790,7 +806,7 @@ public class SimulationProjectServiceImpl implements SimulationProjectService {
|
|
|
|
|
|
List<DropDownVo> algorithmList = new ArrayList<>();
|
|
List<DropDownVo> algorithmList = new ArrayList<>();
|
|
|
|
|
|
- if(algorithmType.equals(ProjectConstants.SY_ALGORITHM_TYPE)){
|
|
|
|
|
|
+ if(ProjectConstants.SY_ALGORITHM_TYPE.equals(algorithmType)){
|
|
//第三方算法平台获取(索为)
|
|
//第三方算法平台获取(索为)
|
|
String sort = "algorithmId-desc";
|
|
String sort = "algorithmId-desc";
|
|
Integer page = 1;
|
|
Integer page = 1;
|
|
@@ -1854,6 +1870,7 @@ public class SimulationProjectServiceImpl implements SimulationProjectService {
|
|
response.addHeader("Content-Disposition", "attachment;filename=" + URLEncoder.encode(fileName, "UTF-8") + ".pdf");
|
|
response.addHeader("Content-Disposition", "attachment;filename=" + URLEncoder.encode(fileName, "UTF-8") + ".pdf");
|
|
os = new BufferedOutputStream(response.getOutputStream());
|
|
os = new BufferedOutputStream(response.getOutputStream());
|
|
|
|
|
|
|
|
+ //监听生成pdf数据
|
|
PdfWriter.getInstance(document, os);
|
|
PdfWriter.getInstance(document, os);
|
|
|
|
|
|
// 以下生成PDF
|
|
// 以下生成PDF
|
|
@@ -1942,17 +1959,116 @@ public class SimulationProjectServiceImpl implements SimulationProjectService {
|
|
document.add(pdfPTable1);
|
|
document.add(pdfPTable1);
|
|
|
|
|
|
|
|
|
|
- //新的一页
|
|
|
|
- document.newPage();
|
|
|
|
|
|
+ //新的一页,横向显示
|
|
document.setPageSize(PageSize.A4.rotate());
|
|
document.setPageSize(PageSize.A4.rotate());
|
|
- PdfPTable pdfPTable2 = new PdfPTable(5);
|
|
|
|
- addTitleList(pdfPTable2, font, new String[]{"测试项目","90<总分<100","80<总分<90","70<总分<80","0<总分<70"});
|
|
|
|
- addDataList(pdfPTable2, font, new String[]{"评价等级","优秀(G)","良好(A)","一般(M)","较差(P)",
|
|
|
|
- "评价等级","++++++","+++++","++++","+++",});
|
|
|
|
|
|
+ document.newPage();
|
|
|
|
+
|
|
|
|
+ //指标得分列表
|
|
|
|
+ Paragraph subListScoreElements = new Paragraph(
|
|
|
|
+ 50,
|
|
|
|
+ "算法测试评分细则",
|
|
|
|
+ defaultFont(font));
|
|
|
|
+ subListScoreElements.setAlignment(Element.ALIGN_CENTER); //居中
|
|
|
|
+ document.add(subListScoreElements);
|
|
|
|
+
|
|
|
|
+ setBlankLineSpacing(20,font,document);
|
|
|
|
+
|
|
|
|
+ List<Map> subListScoreLiTitle = vo.getSubListScoreLiTitle();
|
|
|
|
+ int size = subListScoreLiTitle.size();
|
|
|
|
+ PdfPTable pdfPTable2 = new PdfPTable(size);
|
|
|
|
+ pdfPTable2.setHeaderRows(1);
|
|
|
|
+ String[] slt = new String[size];
|
|
|
|
+ for(int i=0; i<size; i++){
|
|
|
|
+ slt[i] = subListScoreLiTitle.get(i).get("label").toString();
|
|
|
|
+ }
|
|
|
|
+ addTitleList(pdfPTable2, font, slt);
|
|
|
|
+
|
|
|
|
+ List<SubScListVo> subListScoreLi = vo.getSubListScoreLi();
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+ for(SubScListVo slv : subListScoreLi){
|
|
|
|
+ String[] slsi = new String[size];
|
|
|
|
+ for(int i=0;i<size;i++){
|
|
|
|
+ slsi[i] = "";
|
|
|
|
+ }
|
|
|
|
+ //目前最多支持到6级指标
|
|
|
|
+ for(int i=0; i<size-4; i++){
|
|
|
|
+ if(i==0){
|
|
|
|
+ slsi[i] = slv.getSublistName1();
|
|
|
|
+ }else if(i==1){
|
|
|
|
+ slsi[i] = slv.getSublistName2();
|
|
|
|
+ }else if(i==2){
|
|
|
|
+ slsi[i] = slv.getSublistName3();
|
|
|
|
+ }else if(i==3){
|
|
|
|
+ slsi[i] = slv.getSublistName4();
|
|
|
|
+ }else if(i==4){
|
|
|
|
+ slsi[i] = slv.getSublistName5();
|
|
|
|
+ }else if(i==5){
|
|
|
|
+ slsi[i] = slv.getSublistName6();
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ slsi[size-4] = slv.getSceneNum();
|
|
|
|
+ slsi[size-3] = slv.getNotStandardSceneNum();
|
|
|
|
+ slsi[size-2] = slv.getLastScore();
|
|
|
|
+ slsi[size-1] = slv.getFirstScore();
|
|
|
|
+
|
|
|
|
+ addDataList(pdfPTable2, font, slsi);
|
|
|
|
+ }
|
|
document.add(pdfPTable2);
|
|
document.add(pdfPTable2);
|
|
|
|
|
|
|
|
+ /*
|
|
|
|
+ 场景得分列表
|
|
|
|
+ */
|
|
|
|
+ Paragraph sceneScoreElements = new Paragraph(
|
|
|
|
+ 50,
|
|
|
|
+ "详细得分情况",
|
|
|
|
+ defaultFont(font));
|
|
|
|
+ sceneScoreElements.setAlignment(Element.ALIGN_CENTER); //居中
|
|
|
|
+ document.add(sceneScoreElements);
|
|
|
|
+
|
|
|
|
+ setBlankLineSpacing(20,font,document);
|
|
|
|
+
|
|
|
|
+ List<Map> scoreLiTitle = vo.getSceneScoreLiTitle();
|
|
|
|
+ int size2 = scoreLiTitle.size();
|
|
|
|
+ PdfPTable pdfPTable3 = new PdfPTable(size2);
|
|
|
|
+ pdfPTable3.setHeaderRows(1);
|
|
|
|
+ String[] slt2 = new String[size2];
|
|
|
|
+ for(int i=0; i<size2; i++){
|
|
|
|
+ slt2[i] = scoreLiTitle.get(i).get("label").toString();
|
|
|
|
+ }
|
|
|
|
+ addTitleList(pdfPTable3, font, slt2);
|
|
|
|
+ List<SceneScListVo> sceneScoreLi = vo.getSceneScoreLi();
|
|
|
|
|
|
|
|
+ for(SceneScListVo sslv : sceneScoreLi){
|
|
|
|
+ String[] ssli = new String[size2];
|
|
|
|
+ for(int i=0;i<size2;i++){
|
|
|
|
+ ssli[i] = "";
|
|
|
|
+ }
|
|
|
|
+ //目前最多支持到6级指标
|
|
|
|
+ for(int i=0; i<size2-5; i++){
|
|
|
|
+ if(i==0){
|
|
|
|
+ ssli[i] = sslv.getSublistName1();
|
|
|
|
+ }else if(i==1){
|
|
|
|
+ ssli[i] = sslv.getSublistName2();
|
|
|
|
+ }else if(i==2){
|
|
|
|
+ ssli[i] = sslv.getSublistName3();
|
|
|
|
+ }else if(i==3){
|
|
|
|
+ ssli[i] = sslv.getSublistName4();
|
|
|
|
+ }else if(i==4){
|
|
|
|
+ ssli[i] = sslv.getSublistName5();
|
|
|
|
+ }else if(i==5){
|
|
|
|
+ ssli[i] = sslv.getSublistName6();
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ ssli[size2-5] = sslv.getSceneId();
|
|
|
|
+ ssli[size2-4] = sslv.getSceneIdType();
|
|
|
|
+ ssli[size2-3] = sslv.getSceneScore();
|
|
|
|
+ ssli[size2-2] = sslv.getTargetEvaluate();
|
|
|
|
+ ssli[size2-1] = sslv.getScoreExplain();
|
|
|
|
|
|
|
|
+ addDataList(pdfPTable3, font, ssli);
|
|
|
|
+ }
|
|
|
|
+ document.add(pdfPTable3);
|
|
|
|
|
|
|
|
|
|
} finally {
|
|
} finally {
|