|
@@ -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;
|
|
|
}
|
|
|
}
|