|
@@ -2,21 +2,23 @@ package com.qmth.distributed.print.business.service.impl;
|
|
|
|
|
|
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
|
|
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
|
|
+import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
|
|
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
|
|
+import com.qmth.distributed.print.business.entity.ObeCourseRequirementMatrix;
|
|
|
import com.qmth.distributed.print.business.entity.ObeCultureProgramRequirement;
|
|
|
import com.qmth.distributed.print.business.enums.CultureProgramRequirementEnum;
|
|
|
import com.qmth.distributed.print.business.mapper.ObeCultureProgramRequirementMapper;
|
|
|
+import com.qmth.distributed.print.business.service.ObeCourseRequirementMatrixService;
|
|
|
import com.qmth.distributed.print.business.service.ObeCultureProgramRequirementService;
|
|
|
import com.qmth.teachcloud.common.entity.SysUser;
|
|
|
+import com.qmth.teachcloud.common.enums.ExceptionResultEnum;
|
|
|
import com.qmth.teachcloud.common.util.ServletUtil;
|
|
|
import org.apache.commons.collections4.CollectionUtils;
|
|
|
import org.springframework.stereotype.Service;
|
|
|
import org.springframework.transaction.annotation.Transactional;
|
|
|
|
|
|
-import java.util.ArrayList;
|
|
|
-import java.util.Comparator;
|
|
|
-import java.util.List;
|
|
|
-import java.util.Map;
|
|
|
+import javax.annotation.Resource;
|
|
|
+import java.util.*;
|
|
|
import java.util.stream.Collectors;
|
|
|
|
|
|
/**
|
|
@@ -30,6 +32,11 @@ import java.util.stream.Collectors;
|
|
|
@Service
|
|
|
public class ObeCultureProgramRequirementServiceImpl extends ServiceImpl<ObeCultureProgramRequirementMapper, ObeCultureProgramRequirement> implements ObeCultureProgramRequirementService {
|
|
|
|
|
|
+ private static final String NAME_PREFIX = "指标点";
|
|
|
+
|
|
|
+ @Resource
|
|
|
+ private ObeCourseRequirementMatrixService obeCourseRequirementMatrixService;
|
|
|
+
|
|
|
@Override
|
|
|
public List<ObeCultureProgramRequirement> listRequirement(Long cultureProgramId) {
|
|
|
QueryWrapper<ObeCultureProgramRequirement> queryWrapper = new QueryWrapper<>();
|
|
@@ -57,21 +64,19 @@ public class ObeCultureProgramRequirementServiceImpl extends ServiceImpl<ObeCult
|
|
|
// 修改
|
|
|
if (obeCultureProgramRequirement.getId() != null) {
|
|
|
obeCultureProgramRequirement.updateInfo(sysUser.getId());
|
|
|
+ return this.updateById(obeCultureProgramRequirement);
|
|
|
}
|
|
|
// 新增
|
|
|
else {
|
|
|
+ ObeCultureProgramRequirement obeCultureProgramRequirementParent = this.getById(obeCultureProgramRequirement.getParentId());
|
|
|
obeCultureProgramRequirement.setSortNum(this.getMaxSortNum(obeCultureProgramRequirement.getCultureProgramId(), obeCultureProgramRequirement.getParentId()) + 1);
|
|
|
+ obeCultureProgramRequirement.setName(concatRequirementName(obeCultureProgramRequirementParent.getSortNum(), obeCultureProgramRequirement.getSortNum()));
|
|
|
obeCultureProgramRequirement.insertInfo(sysUser.getId());
|
|
|
+ if (this.save(obeCultureProgramRequirement)) {
|
|
|
+ obeCourseRequirementMatrixService.updateMatrix(obeCultureProgramRequirement.getCultureProgramId(), Arrays.asList(obeCultureProgramRequirement), null);
|
|
|
+ }
|
|
|
+ return true;
|
|
|
}
|
|
|
- this.saveOrUpdate(obeCultureProgramRequirement);
|
|
|
- // 节点数变动后,修改矩阵数据
|
|
|
-// List<TPCourse> tpCourseList = tpCourseService.listCourse(tpRequirement.getProfessionalId());
|
|
|
-// if (CollectionUtils.isNotEmpty(tpCourseList)) {
|
|
|
-// for (TPCourse tpCourse : tpCourseList) {
|
|
|
-// tpMatrixService.updateMatrixForNodeCount(tpCourse, tpRequirement);
|
|
|
-// }
|
|
|
-// }
|
|
|
- return true;
|
|
|
}
|
|
|
|
|
|
@Override
|
|
@@ -95,8 +100,21 @@ public class ObeCultureProgramRequirementServiceImpl extends ServiceImpl<ObeCult
|
|
|
@Transactional
|
|
|
@Override
|
|
|
public boolean removeRequirement(Long id) {
|
|
|
-// tpMatrixService.removeMatrixByCondition(null, null, id);
|
|
|
- return this.removeById(id);
|
|
|
+ ObeCultureProgramRequirement obeCultureProgramRequirement = this.getById(id);
|
|
|
+ ObeCultureProgramRequirement obeCultureProgramRequirementParent = this.getById(obeCultureProgramRequirement.getParentId());
|
|
|
+ obeCourseRequirementMatrixService.removeMatrixByCondition(new ObeCourseRequirementMatrix(null, null, null, id));
|
|
|
+ if (this.removeById(id)) {
|
|
|
+ List<ObeCultureProgramRequirement> obeCultureProgramRequirementList = this.listByParentId(obeCultureProgramRequirement.getParentId());
|
|
|
+ if (CollectionUtils.isEmpty(obeCultureProgramRequirementList)) {
|
|
|
+ throw ExceptionResultEnum.ERROR.exception("当前数据为最后一个节点,无法删除");
|
|
|
+ }
|
|
|
+ for (int i = 0; i < obeCultureProgramRequirementList.size(); i++) {
|
|
|
+ obeCultureProgramRequirementList.get(i).setSortNum(i + 1);
|
|
|
+ obeCultureProgramRequirementList.get(i).setName(concatRequirementName(obeCultureProgramRequirementParent.getSortNum(), (i + 1)));
|
|
|
+ }
|
|
|
+ this.updateBatchById(obeCultureProgramRequirementList);
|
|
|
+ }
|
|
|
+ return true;
|
|
|
}
|
|
|
|
|
|
@Transactional
|
|
@@ -106,15 +124,44 @@ public class ObeCultureProgramRequirementServiceImpl extends ServiceImpl<ObeCult
|
|
|
List<ObeCultureProgramRequirement> obeCultureProgramRequirementList = new ArrayList<>();
|
|
|
for (CultureProgramRequirementEnum value : CultureProgramRequirementEnum.values()) {
|
|
|
// 一级节点
|
|
|
- ObeCultureProgramRequirement obeCultureProgramRequirement = new ObeCultureProgramRequirement(cultureProgramId, value.name(), value.getName(), null, value.ordinal() + 1);
|
|
|
+ ObeCultureProgramRequirement obeCultureProgramRequirement = new ObeCultureProgramRequirement(cultureProgramId, value.name(), value.getName(), value.getContent(), null, value.ordinal() + 1);
|
|
|
obeCultureProgramRequirement.insertInfo(sysUser.getId());
|
|
|
obeCultureProgramRequirementList.add(obeCultureProgramRequirement);
|
|
|
// 每个一级节点默认创建一个二级节点
|
|
|
- ObeCultureProgramRequirement obeSubCultureProgramRequirement = new ObeCultureProgramRequirement(cultureProgramId, null, "指标点" + obeCultureProgramRequirement.getSortNum() + "-1", obeCultureProgramRequirement.getId(), 1);
|
|
|
+ ObeCultureProgramRequirement obeSubCultureProgramRequirement = new ObeCultureProgramRequirement(cultureProgramId, null, concatRequirementName(obeCultureProgramRequirement.getSortNum(), 1), null, obeCultureProgramRequirement.getId(), 1);
|
|
|
obeSubCultureProgramRequirement.insertInfo(sysUser.getId());
|
|
|
obeCultureProgramRequirementList.add(obeSubCultureProgramRequirement);
|
|
|
}
|
|
|
|
|
|
this.saveBatch(obeCultureProgramRequirementList);
|
|
|
}
|
|
|
+
|
|
|
+ @Override
|
|
|
+ public List<ObeCultureProgramRequirement> listByParentId(Long parentId) {
|
|
|
+ QueryWrapper<ObeCultureProgramRequirement> queryWrapper = new QueryWrapper<>();
|
|
|
+ LambdaQueryWrapper<ObeCultureProgramRequirement> lambda = queryWrapper.lambda();
|
|
|
+ if (parentId != null) {
|
|
|
+ lambda.eq(ObeCultureProgramRequirement::getParentId, parentId);
|
|
|
+ } else {
|
|
|
+ lambda.isNull(ObeCultureProgramRequirement::getParentId);
|
|
|
+ }
|
|
|
+ lambda.orderByAsc(ObeCultureProgramRequirement::getSortNum);
|
|
|
+ return this.list(queryWrapper);
|
|
|
+ }
|
|
|
+
|
|
|
+ @Override
|
|
|
+ public boolean saveRequirementExpect(ObeCultureProgramRequirement obeCultureProgramRequirement) {
|
|
|
+ if (obeCultureProgramRequirement.getCultureProgramId() == null) {
|
|
|
+ throw ExceptionResultEnum.ERROR.exception("培养方案ID有误");
|
|
|
+ }
|
|
|
+ UpdateWrapper<ObeCultureProgramRequirement> updateWrapper = new UpdateWrapper<>();
|
|
|
+ updateWrapper.lambda().set(ObeCultureProgramRequirement::getExpectValue, obeCultureProgramRequirement.getExpectValue())
|
|
|
+ .eq(ObeCultureProgramRequirement::getCultureProgramId, obeCultureProgramRequirement.getCultureProgramId())
|
|
|
+ .isNotNull(ObeCultureProgramRequirement::getParentId);
|
|
|
+ return this.update(updateWrapper);
|
|
|
+ }
|
|
|
+
|
|
|
+ private String concatRequirementName(int requirementNum, int subRequirementNum) {
|
|
|
+ return NAME_PREFIX + requirementNum + "-" + subRequirementNum;
|
|
|
+ }
|
|
|
}
|