Explorar el Código

试车按模板导入

wangbo hace 9 meses
padre
commit
866f854c5d

+ 1 - 3
business-common/src/main/java/com/rongwei/bscommon/sys/service/TestrunService.java

@@ -14,7 +14,5 @@ public interface TestrunService extends IService<TestrunDo> {
     void DataUpdate(Map<String, Object> map);
 
 
-
-
-
+    void Datasave(Map<String, Object> map);
 }

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

@@ -47,14 +47,13 @@ public class TestrunServiceImpl extends ServiceImpl<TestrunDao, TestrunDo> imple
 
             // 查询是否已有相同章节号的数据  没有就添加 有就更新相同章节号的所有数据
             TestrunDo existingTestrunDo = this.getOne(queryWrapper);
-            if(existingTestrunDo == null){
+            if(existingTestrunDo == null && (testrunDo.getIDONE() == null || testrunDo.getIDONE().isEmpty())){
 
                 this.save(testrunDo);
             }else {
                 TestrunDo testrunDo1 = convertToTestrunDo(vo);
                 UpdateWrapper<TestrunDo> updateWrapper = new UpdateWrapper<>();
-                updateWrapper.eq("ID", testrunDo1.getIDONE());  // 设置更新条件:ID 等于指定值
-
+                updateWrapper.eq("ID", testrunDo1.getIDONE());
                 updateWrapper.set("PID", testrunDo1.getPid())  // 更新 pid
                         .set("STATUS", testrunDo1.getStatus())  // 更新 status
                         .set("ISTITLE", testrunDo1.getIstitle())  // 更新 istitle
@@ -70,15 +69,60 @@ public class TestrunServiceImpl extends ServiceImpl<TestrunDao, TestrunDo> imple
                         .set("CLASSIFICATIONTHREE", testrunDo1.getCLASSIFICATIONTHREE())  // 更新 classification three
                         .set("ENTESTCONTENT",testrunDo1.getENTESTCONTENT())
                         .set("CLASSIFICATIONTWO", testrunDo1.getCLASSIFICATIONTWO());  // 更新 classification two
-
-
-                // 执行更新
                 this.update(null, updateWrapper);
             }
         }
 
     }
 
+    @Override
+    public void Datasave(Map<String, Object> map) {
+        Object dataObj = map.get("dataList");
+
+        if (ObjectUtil.isEmpty(dataObj)) {
+            return ;
+        }
+        List<TestrunVo> list = convertToTestrunVoList(dataObj);
+        if (list.isEmpty()) {
+            return ;
+        }
+        for (TestrunVo vo : list){
+            // 将新导入的数据转换为数据库实体对象
+            TestrunDo testrunDo = convertToTestrunDo(vo);
+            // 根据父ID和章节号查找现有数据
+            QueryWrapper<TestrunDo> queryWrapper = new QueryWrapper<>();
+            queryWrapper.eq("PID", testrunDo.getPid())  // 父ID相同
+                    .eq("CHAPTERNO", testrunDo.getCHAPTERNO());  // 章节号相同
+
+            // 查询是否已有相同章节号的数据  没有就添加 有就更新相同章节号的所有数据
+            List<TestrunDo> existingTestrunDos = this.list(queryWrapper);
+            if (existingTestrunDos.isEmpty()) {
+                this.save(testrunDo);  // 没有相同章节号的数据,添加新数据
+            } else {
+                for (TestrunDo existingTestrunDo : existingTestrunDos) {
+                    // 更新每个匹配的数据
+                    existingTestrunDo.setStatus(testrunDo.getStatus());
+                    existingTestrunDo.setIstitle(testrunDo.getIstitle());
+                    existingTestrunDo.setENTESTCONTENT(testrunDo.getENTESTCONTENT());
+                    existingTestrunDo.setENTITLE(testrunDo.getENTITLE());
+                    existingTestrunDo.setONELEVELCLASSIFICATION(testrunDo.getONELEVELCLASSIFICATION());
+                    existingTestrunDo.setSECONDLEVELCLASSIFICATION(testrunDo.getSECONDLEVELCLASSIFICATION());
+                    existingTestrunDo.setTESTTIME(testrunDo.getTESTTIME());
+                    existingTestrunDo.setTESTMETHOD(testrunDo.getTESTMETHOD());
+                    existingTestrunDo.setCHTESTCONTENT(testrunDo.getCHTESTCONTENT());
+                    existingTestrunDo.setCHTITLE(testrunDo.getCHTITLE());
+                    existingTestrunDo.setCLASSIFICATION(testrunDo.getCLASSIFICATION());
+                    existingTestrunDo.setCLASSIFICATIONTWO(testrunDo.getCLASSIFICATIONTWO());
+                    existingTestrunDo.setCLASSIFICATIONTHREE(testrunDo.getCLASSIFICATIONTHREE());
+                    this.update(existingTestrunDo, queryWrapper);
+
+                }
+            }
+
+
+        }
+    }
+
     private List<TestrunVo> convertToTestrunVoList(Object dataObj) {
         List<TestrunVo> list = new ArrayList<>();
         if (dataObj instanceof List) {
@@ -94,7 +138,6 @@ public class TestrunServiceImpl extends ServiceImpl<TestrunDao, TestrunDo> imple
                 vo.setONELEVELCLASSIFICATION((String) item.get("ONELEVELCLASSIFICATION"));
                 vo.setSECONDLEVELCLASSIFICATION((String) item.get("SECONDLEVELCLASSIFICATION"));
                 vo.setTESTMETHOD((String) item.get("TESTMETHOD"));
-
                 Object testTimeValue = item.get("TESTTIME");
                 if (testTimeValue != null && !"NULL".equals(testTimeValue.toString())) {
                     vo.setTESTTIME(((Number) testTimeValue).floatValue());
@@ -129,8 +172,6 @@ public class TestrunServiceImpl extends ServiceImpl<TestrunDao, TestrunDo> imple
         testrunDo.setSECONDLEVELCLASSIFICATION(vo.getSECONDLEVELCLASSIFICATION());
         testrunDo.setTESTMETHOD(vo.getTESTMETHOD());
         testrunDo.setTESTTIME(vo.getTESTTIME());
-
-
         testrunDo.setCHTITLE(vo.getCHTITLE());
         testrunDo.setCLASSIFICATION(vo.getCLASSIFICATION());
         testrunDo.setCLASSIFICATIONTWO(vo.getCLASSIFICATIONTWO());

+ 11 - 0
business-server/src/main/java/com/rongwei/bsserver/controller/TestrunController.java

@@ -16,7 +16,18 @@ public class TestrunController {
     @PostMapping("/dataImport")
     @ResponseBody
     public R dataImport(@RequestBody Map<String,Object> map) {
+
             testrunService.DataUpdate(map);
         return R.ok();
     }
+
+    @PostMapping("/dataImport2")
+    @ResponseBody
+    public R dataImport2(@RequestBody Map<String,Object> map) {
+
+        testrunService.Datasave(map);
+        return R.ok();
+    }
+
+
 }