瀏覽代碼

试车按模板导入

wangbo 9 月之前
父節點
當前提交
f69754ee28

+ 90 - 18
business-common/src/main/java/com/rongwei/bscommon/sys/service/impl/TestrunServiceImpl.java

@@ -1,6 +1,7 @@
 package com.rongwei.bscommon.sys.service.impl;
 
 import cn.hutool.core.util.ObjectUtil;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 
@@ -37,26 +38,51 @@ public class TestrunServiceImpl extends ServiceImpl<TestrunDao, TestrunDo> imple
         }
 
         for (TestrunVo vo : list){
-
+            // 将新导入的数据转换为数据库实体对象
             TestrunDo testrunDo = convertToTestrunDo(vo);
-            UpdateWrapper<TestrunDo> updateWrapper = new UpdateWrapper<>();
-            updateWrapper.eq("ID", testrunDo.getId());  // 设置更新条件:ID 等于指定值
-
-            if (vo.getISTITLE() == null || vo.getISTITLE().isEmpty()) {
-                // ISTITLE 为空时,只更新 PID 和 STATUS
-                updateWrapper.set("PID", testrunDo.getPid())  // 更新 pid
-                        .set("STATUS", testrunDo.getStatus());  // 更新 status
+            // 根据父ID和章节号查找现有数据
+            QueryWrapper<TestrunDo> queryWrapper = new QueryWrapper<>();
+            queryWrapper.eq("PID", testrunDo.getPid())  // 父ID相同
+                    .eq("CHAPTERNO", testrunDo.getCHAPTERNO());  // 章节号相同
+
+            // 查询是否已有相同章节号的数据  没有就添加 有就更新相同章节号的所有数据
+            TestrunDo existingTestrunDo = this.getOne(queryWrapper);
+            if(existingTestrunDo == null){
+                this.save(testrunDo);
+            }else {
+                TestrunDo testrunDo1 = convertToTestrunDo(vo);
+                UpdateWrapper<TestrunDo> updateWrapper = new UpdateWrapper<>();
+                updateWrapper.eq("ID", testrunDo1.getIDONE());  // 设置更新条件:ID 等于指定值
+                // 更新所有字段
+                updateWrapper.set("PID", testrunDo1.getPid())  // 更新 pid
+                        .set("STATUS", testrunDo1.getStatus())  // 更新 status
+                        .set("ISTITLE", testrunDo1.getIstitle())  // 更新 istitle
+                        .set("ENTITLE", testrunDo1.getENTITLE()) // 更新 entitle
+                        .set("ONELEVELCLASSIFICATION", testrunDo1.getONELEVELCLASSIFICATION())  // 更新 One Level Classification
+                        .set("SECONDLEVELCLASSIFICATION", testrunDo1.getSECONDLEVELCLASSIFICATION())  // 更新 Second Level Classification
+                        .set("TESTMETHOD", testrunDo1.getTESTMETHOD())  // 更新 test method
+                        .set("TESTTIME", testrunDo1.getTESTTIME())  // 更新 test time
+                        .set("CHAPTERNO", testrunDo1.getCHAPTERNO())  // 更新 chapter no
+                        .set("CHTESTCONTENT", testrunDo1.getCHTESTCONTENT())  // 更新 ch test content
+                        .set("CHTITLE", testrunDo1.getCHTITLE())  // 更新 ch title
+                        .set("CLASSIFICATION", testrunDo1.getCLASSIFICATION())  // 更新 classification
+                        .set("CLASSIFICATIONTHREE", testrunDo1.getCLASSIFICATIONTHREE())  // 更新 classification three
+                        .set("ENTESTCONTENT",testrunDo1.getENTESTCONTENT())
+                        .set("CLASSIFICATIONTWO", testrunDo1.getCLASSIFICATIONTWO());  // 更新 classification two
+//                if (vo.getISTITLE() == null || vo.getISTITLE().isEmpty()) {
+//                    // ISTITLE 为空时,只更新 PID 和 STATUS
+//                    updateWrapper.set("PID", testrunDo1.getPid())  // 更新 pid
+//                            .set("STATUS", testrunDo1.getStatus());  // 更新 status
+//                } else {
+//                    // ISTITLE 不为空时,更新 PID、STATUS 和 ISTITLE
+//                    updateWrapper.set("PID", testrunDo1.getPid())  // 更新 pid
+//                            .set("STATUS", testrunDo1.getStatus())  // 更新 status
+//                            .set("ISTITLE", testrunDo1.getIstitle());  // 更新 istitle
+//                }
+
+                // 执行更新
+                this.update(null, updateWrapper);
             }
-            else {
-                // ISTITLE 不为空时,更新 PID、STATUS 和 ISTITLE
-                updateWrapper.set("PID", testrunDo.getPid())  // 更新 pid
-                        .set("STATUS", testrunDo.getStatus())  // 更新 status
-                        .set("ISTITLE", vo.getISTITLE());  // 更新 istitle
-            }
-
-            // 执行更新
-            this.update(null, updateWrapper);
-
         }
 
     }
@@ -71,7 +97,30 @@ public class TestrunServiceImpl extends ServiceImpl<TestrunDao, TestrunDo> imple
                 vo.setPID((String) item.get("PID"));
                 vo.setSTATUS((String) item.get("STATUS"));
                 vo.setISTITLE((String) item.get("ISTITLE"));
+                vo.setENTESTCONTENT((String) item.get("ENTESTCONTENT"));
+                vo.setENTITLE((String) item.get("ENTITLE"));
+                vo.setONELEVELCLASSIFICATION((String) item.get("ONELEVELCLASSIFICATION"));
+                vo.setSECONDLEVELCLASSIFICATION((String) item.get("SECONDLEVELCLASSIFICATION"));
+                vo.setTESTMETHOD((String) item.get("TESTMETHOD"));
+//                vo.setTESTTIME((float) item.get("TESTTIME"));
+//                Object testTimeValue = item.get("TESTTIME");
+//                if (testTimeValue != null) {
+//                    vo.setTESTTIME(((Number) testTimeValue).floatValue());
+//                } // else 不做任何处理
+                Object testTimeValue = item.get("TESTTIME");
+                if (testTimeValue != null && !"NULL".equals(testTimeValue.toString())) {
+                    vo.setTESTTIME(((Number) testTimeValue).floatValue());
+                }
+
+                vo.setCHAPTERNO((String) item.get("CHAPTERNO"));
+                vo.setCHTESTCONTENT((String) item.get("CHTESTCONTENT"));
+                vo.setCHTITLE((String) item.get("CHTITLE"));
+                vo.setCLASSIFICATION((String) item.get("CLASSIFICATION"));
+                vo.setCLASSIFICATIONTHREE((String) item.get("CLASSIFICATIONTHREE"));
+                vo.setCLASSIFICATIONTWO((String) item.get("CLASSIFICATIONTWO"));
+                vo.setIDONE((String) item.get("IDONE"));
                 list.add(vo);
+
             }
         }
         return list;
@@ -84,6 +133,29 @@ public class TestrunServiceImpl extends ServiceImpl<TestrunDao, TestrunDo> imple
         testrunDo.setId(vo.getID());
         testrunDo.setStatus(vo.getSTATUS());
         testrunDo.setIstitle(vo.getISTITLE());
+        testrunDo.setCHAPTERNO(vo.getCHAPTERNO());
+        testrunDo.setCHTESTCONTENT(vo.getCHTESTCONTENT());
+        testrunDo.setENTESTCONTENT(vo.getENTESTCONTENT());
+        testrunDo.setENTITLE(vo.getENTITLE());
+        testrunDo.setONELEVELCLASSIFICATION(vo.getONELEVELCLASSIFICATION());
+        testrunDo.setSECONDLEVELCLASSIFICATION(vo.getSECONDLEVELCLASSIFICATION());
+        testrunDo.setTESTMETHOD(vo.getTESTMETHOD());
+        testrunDo.setTESTTIME(vo.getTESTTIME());
+/*        String testTimeString = vo.getTESTTIME(); // 获取字符串
+        if (testTimeString != null && !testTimeString.isEmpty()) {
+            try {
+                float testTimeFloat = Float.parseFloat(testTimeString); // 转换为 float
+                testrunDo.setTESTTIME(testTimeFloat); // 设置值
+            } catch (NumberFormatException e) {
+                e.printStackTrace();
+            }
+        }*/
+
+        testrunDo.setCHTITLE(vo.getCHTITLE());
+        testrunDo.setCLASSIFICATION(vo.getCLASSIFICATION());
+        testrunDo.setCLASSIFICATIONTWO(vo.getCLASSIFICATIONTWO());
+        testrunDo.setCLASSIFICATIONTHREE(vo.getCLASSIFICATIONTHREE());
+        testrunDo.setIDONE(vo.getIDONE());
         return testrunDo;
     }
 }

+ 26 - 0
business-entity/src/main/java/com/rongwei/bsentity/domain/TestrunDo.java

@@ -18,4 +18,30 @@ public class TestrunDo extends BaseDo {
     private String pid;
     @TableField("ISTITLE")
     private String istitle;
+    @TableField("ENTESTCONTENT")
+    private String ENTESTCONTENT;
+    @TableField("ENTITLE")
+    private String  ENTITLE;
+    @TableField("ONELEVELCLASSIFICATION")
+    private String   ONELEVELCLASSIFICATION;
+    @TableField("SECONDLEVELCLASSIFICATION")
+    private String  SECONDLEVELCLASSIFICATION;
+    @TableField("TESTMETHOD")
+    private String   TESTMETHOD;
+    @TableField("TESTTIME")
+    private float    TESTTIME;
+    @TableField("CHAPTERNO")
+    private String   CHAPTERNO;
+    @TableField("CHTESTCONTENT")
+    private String   CHTESTCONTENT;
+    @TableField("CHTITLE")
+    private String   CHTITLE;
+    @TableField("CLASSIFICATION")
+    private String   CLASSIFICATION;
+    @TableField("CLASSIFICATIONTHREE")
+    private String   CLASSIFICATIONTHREE;
+    @TableField("CLASSIFICATIONTWO")
+    private String   CLASSIFICATIONTWO;
+    @TableField("IDONE")
+    private String IDONE;
 }

+ 13 - 0
business-entity/src/main/java/com/rongwei/bsentity/vo/TestrunVo.java

@@ -8,4 +8,17 @@ public class TestrunVo {
     private String  PID;
     private String ID;
     private String ISTITLE;
+    private String ENTESTCONTENT;
+    private String   ENTITLE;
+    private String   ONELEVELCLASSIFICATION;
+    private String   SECONDLEVELCLASSIFICATION;
+    private String   TESTMETHOD;
+    private float   TESTTIME;
+    private String   CHAPTERNO;
+    private String   CHTESTCONTENT;
+    private String   CHTITLE;
+    private String   CLASSIFICATION;
+    private String   CLASSIFICATIONTHREE;
+    private String   CLASSIFICATIONTWO;
+    private String IDONE;
 }