Ver código fonte

王耀栋--工作台模块代码,生成pdf报告,修改车辆信息返回值

wangyaodong 3 anos atrás
pai
commit
5025639733

+ 1 - 1
api-common/src/main/java/api/common/pojo/vo/project/ProjectDetailsVo.java

@@ -49,7 +49,7 @@ public class ProjectDetailsVo {
     private String vehicleDescribe;
 
     //车辆图片地址
-    private String vehicleImage;
+    private String vehicleTopView;
 
     //摄像头
     private List<SensorBaseInfoVo> sensorCameraList;

+ 1 - 1
api-common/src/main/java/api/common/pojo/vo/project/ProjectReportVo.java

@@ -48,7 +48,7 @@ public class ProjectReportVo {
 
     private List<Map> sceneScoreLiTitle;
 
-    private List<SublistScoreVo> sceneScoreLi;
+    private List<SceneScListVo> sceneScoreLi;
 
 
 }

+ 106 - 4
simulation-resource-server/src/main/java/com/css/simulation/resource/project/impl/SimulationProjectServiceImpl.java

@@ -317,10 +317,10 @@ public class SimulationProjectServiceImpl implements SimulationProjectService {
             ConfigPO configVehicleVO = configVehicleVOS.get(0);
             vehicleBaseInfoVo = simulationProjectMapper.selectVehicleBaseInfoById(configVehicleVO.getVehicleId()).get(0);
         }
-        String vehicleImage = vehicleBaseInfoVo.getVehicleImage();
+        /*String vehicleImage = vehicleBaseInfoVo.getVehicleImage();
         if(!isEmpty(vehicleImage)){
             vehicleBaseInfoVo.setVehicleImage(vehicleImage.replaceFirst("Front side","Top"));
-        }
+        }*/
 
         List<ConfigSensorPO> vehicleSensorVos = simulationProjectMapper.selectVehicleSensor(vehicleConfigId);
 
@@ -394,7 +394,7 @@ public class SimulationProjectServiceImpl implements SimulationProjectService {
         if(vehicleBaseInfoVo != null){
             projectDetailsVo.setVehicleName(vehicleBaseInfoVo.getVehicleName());
             projectDetailsVo.setVehicleDescribe(vehicleBaseInfoVo.getDescription());
-            projectDetailsVo.setVehicleImage(vehicleBaseInfoVo.getVehicleImage());
+            projectDetailsVo.setVehicleTopView(vehicleBaseInfoVo.getVehicleTopView());
 
         }
         projectDetailsVo.setSensorCameraList(sensorCameraList);
@@ -613,7 +613,7 @@ public class SimulationProjectServiceImpl implements SimulationProjectService {
 //        Map<String, Object> maps = selectSceneScore(pos, po.getId());
         Map<String, Object> maps = selectSceneScore(po.getScene(), po.getId());
         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);
     }
@@ -1963,10 +1963,112 @@ public class SimulationProjectServiceImpl implements SimulationProjectService {
             document.setPageSize(PageSize.A4.rotate());
             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);
 
+            /*
+            场景得分列表
+             */
+            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 {

+ 1 - 1
simulation-resource-server/src/main/resources/mapper/project/SimulationProjectMapper.xml

@@ -233,7 +233,7 @@
 
     <!--获取车辆基本信息-->
     <select id="selectVehicleBaseInfoById" parameterType="string" resultType="api.common.pojo.po.model.VehiclePO">
-        select a.id, a.vehicle_name, a.description, a.vehicle_image
+        select a.id, a.vehicle_name, a.description, a.vehicle_top_view
         from model_vehicle a
         where is_deleted = '0'
         <if test="id != null and id != ''">