|
@@ -47,14 +47,13 @@ public class TestrunServiceImpl extends ServiceImpl<TestrunDao, TestrunDo> imple
|
|
|
|
|
|
// 查询是否已有相同章节号的数据 没有就添加 有就更新相同章节号的所有数据
|
|
// 查询是否已有相同章节号的数据 没有就添加 有就更新相同章节号的所有数据
|
|
TestrunDo existingTestrunDo = this.getOne(queryWrapper);
|
|
TestrunDo existingTestrunDo = this.getOne(queryWrapper);
|
|
- if(existingTestrunDo == null){
|
|
|
|
|
|
+ if(existingTestrunDo == null && (testrunDo.getIDONE() == null || testrunDo.getIDONE().isEmpty())){
|
|
|
|
|
|
this.save(testrunDo);
|
|
this.save(testrunDo);
|
|
}else {
|
|
}else {
|
|
TestrunDo testrunDo1 = convertToTestrunDo(vo);
|
|
TestrunDo testrunDo1 = convertToTestrunDo(vo);
|
|
UpdateWrapper<TestrunDo> updateWrapper = new UpdateWrapper<>();
|
|
UpdateWrapper<TestrunDo> updateWrapper = new UpdateWrapper<>();
|
|
- updateWrapper.eq("ID", testrunDo1.getIDONE()); // 设置更新条件:ID 等于指定值
|
|
|
|
-
|
|
|
|
|
|
+ updateWrapper.eq("ID", testrunDo1.getIDONE());
|
|
updateWrapper.set("PID", testrunDo1.getPid()) // 更新 pid
|
|
updateWrapper.set("PID", testrunDo1.getPid()) // 更新 pid
|
|
.set("STATUS", testrunDo1.getStatus()) // 更新 status
|
|
.set("STATUS", testrunDo1.getStatus()) // 更新 status
|
|
.set("ISTITLE", testrunDo1.getIstitle()) // 更新 istitle
|
|
.set("ISTITLE", testrunDo1.getIstitle()) // 更新 istitle
|
|
@@ -70,15 +69,60 @@ public class TestrunServiceImpl extends ServiceImpl<TestrunDao, TestrunDo> imple
|
|
.set("CLASSIFICATIONTHREE", testrunDo1.getCLASSIFICATIONTHREE()) // 更新 classification three
|
|
.set("CLASSIFICATIONTHREE", testrunDo1.getCLASSIFICATIONTHREE()) // 更新 classification three
|
|
.set("ENTESTCONTENT",testrunDo1.getENTESTCONTENT())
|
|
.set("ENTESTCONTENT",testrunDo1.getENTESTCONTENT())
|
|
.set("CLASSIFICATIONTWO", testrunDo1.getCLASSIFICATIONTWO()); // 更新 classification two
|
|
.set("CLASSIFICATIONTWO", testrunDo1.getCLASSIFICATIONTWO()); // 更新 classification two
|
|
-
|
|
|
|
-
|
|
|
|
- // 执行更新
|
|
|
|
this.update(null, updateWrapper);
|
|
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) {
|
|
private List<TestrunVo> convertToTestrunVoList(Object dataObj) {
|
|
List<TestrunVo> list = new ArrayList<>();
|
|
List<TestrunVo> list = new ArrayList<>();
|
|
if (dataObj instanceof List) {
|
|
if (dataObj instanceof List) {
|
|
@@ -94,7 +138,6 @@ public class TestrunServiceImpl extends ServiceImpl<TestrunDao, TestrunDo> imple
|
|
vo.setONELEVELCLASSIFICATION((String) item.get("ONELEVELCLASSIFICATION"));
|
|
vo.setONELEVELCLASSIFICATION((String) item.get("ONELEVELCLASSIFICATION"));
|
|
vo.setSECONDLEVELCLASSIFICATION((String) item.get("SECONDLEVELCLASSIFICATION"));
|
|
vo.setSECONDLEVELCLASSIFICATION((String) item.get("SECONDLEVELCLASSIFICATION"));
|
|
vo.setTESTMETHOD((String) item.get("TESTMETHOD"));
|
|
vo.setTESTMETHOD((String) item.get("TESTMETHOD"));
|
|
-
|
|
|
|
Object testTimeValue = item.get("TESTTIME");
|
|
Object testTimeValue = item.get("TESTTIME");
|
|
if (testTimeValue != null && !"NULL".equals(testTimeValue.toString())) {
|
|
if (testTimeValue != null && !"NULL".equals(testTimeValue.toString())) {
|
|
vo.setTESTTIME(((Number) testTimeValue).floatValue());
|
|
vo.setTESTTIME(((Number) testTimeValue).floatValue());
|
|
@@ -129,8 +172,6 @@ public class TestrunServiceImpl extends ServiceImpl<TestrunDao, TestrunDo> imple
|
|
testrunDo.setSECONDLEVELCLASSIFICATION(vo.getSECONDLEVELCLASSIFICATION());
|
|
testrunDo.setSECONDLEVELCLASSIFICATION(vo.getSECONDLEVELCLASSIFICATION());
|
|
testrunDo.setTESTMETHOD(vo.getTESTMETHOD());
|
|
testrunDo.setTESTMETHOD(vo.getTESTMETHOD());
|
|
testrunDo.setTESTTIME(vo.getTESTTIME());
|
|
testrunDo.setTESTTIME(vo.getTESTTIME());
|
|
-
|
|
|
|
-
|
|
|
|
testrunDo.setCHTITLE(vo.getCHTITLE());
|
|
testrunDo.setCHTITLE(vo.getCHTITLE());
|
|
testrunDo.setCLASSIFICATION(vo.getCLASSIFICATION());
|
|
testrunDo.setCLASSIFICATION(vo.getCLASSIFICATION());
|
|
testrunDo.setCLASSIFICATIONTWO(vo.getCLASSIFICATIONTWO());
|
|
testrunDo.setCLASSIFICATIONTWO(vo.getCLASSIFICATIONTWO());
|