|
@@ -2,10 +2,7 @@ package org.springblade.manager.service.impl;
|
|
|
|
|
|
import cn.hutool.core.date.DateTime;
|
|
|
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
|
|
|
-import org.springblade.manager.entity.TextdictInfo;
|
|
|
-import org.springblade.manager.entity.WbsTreeContract;
|
|
|
-import org.springblade.manager.entity.WbsTreePrivate;
|
|
|
-import org.springblade.manager.entity.WbsTreeSynchronousRecord;
|
|
|
+import org.springblade.manager.entity.*;
|
|
|
import org.springblade.manager.mapper.TextdictInfoMapper;
|
|
|
import org.springblade.manager.mapper.WbsTreeContractMapper;
|
|
|
import org.springblade.manager.mapper.WbsTreePrivateMapper;
|
|
@@ -35,6 +32,10 @@ public class WbsSynchronousEViSaServiceImpl {
|
|
|
@Autowired
|
|
|
private WbsTreeSynchronousRecordMapper synchronousRecordMapper;
|
|
|
|
|
|
+ //公式
|
|
|
+ @Autowired
|
|
|
+ private ElementFormulaMappingServiceImpl elementFormulaMappingService;
|
|
|
+
|
|
|
@Transactional(rollbackFor = Exception.class)
|
|
|
public void updateTextDictInfo(Long projectId, List<Long> editPrivateIds, List<TextdictInfo> addData) {
|
|
|
//删除 需要新增的节点的电签和默认值
|
|
@@ -93,4 +94,22 @@ public class WbsSynchronousEViSaServiceImpl {
|
|
|
wbsTreeContractMapper.updateById(treeContract);
|
|
|
}
|
|
|
}
|
|
|
+
|
|
|
+ @Transactional(rollbackFor = Exception.class)
|
|
|
+ public void saveFormula(WbsTreeSynchronousRecord wbsTreeSynchronousRecord, List<WbsTreePrivate> list){
|
|
|
+ Map<Long, List<WbsTreePrivate>> collect = list.stream().collect(Collectors.groupingBy(WbsTreePrivate::getParentId));
|
|
|
+ Set<Long> ids = collect.keySet();
|
|
|
+ List<ElementFormulaMapping> elementFormulaMappings = elementFormulaMappingService.list(Wrappers.<ElementFormulaMapping>lambdaQuery()
|
|
|
+ .eq(ElementFormulaMapping::getProjectId, wbsTreeSynchronousRecord.getTemplateId())
|
|
|
+ .in(ElementFormulaMapping::getNodeId, ids));
|
|
|
+ elementFormulaMappings.forEach(f -> f.setProjectId(wbsTreeSynchronousRecord.getProjectId()));
|
|
|
+
|
|
|
+ //删除当前节点的公式
|
|
|
+ elementFormulaMappingService.remove(Wrappers.<ElementFormulaMapping>lambdaQuery()
|
|
|
+ .eq(ElementFormulaMapping::getProjectId, wbsTreeSynchronousRecord.getProjectId())
|
|
|
+ .in(ElementFormulaMapping::getNodeId, ids));
|
|
|
+ //复制新增模板节点的公式
|
|
|
+ elementFormulaMappingService.saveBatch(elementFormulaMappings);
|
|
|
+
|
|
|
+ }
|
|
|
}
|