Эх сурвалжийг харах

Merge branch 'refs/heads/feature-lihb-20251021-formulaForm' into dev

# Conflicts:
#	blade-service/blade-manager/src/main/java/org/springblade/manager/service/impl/ExcelTabServiceImpl.java
#	blade-service/blade-manager/src/main/java/org/springblade/manager/service/impl/NodeBaseInfoServiceImpl.java
LHB 2 өдөр өмнө
parent
commit
3da39a5a78

+ 20 - 0
blade-service/blade-manager/src/main/java/org/springblade/manager/service/impl/ExcelTabServiceImpl.java

@@ -138,6 +138,7 @@ public class ExcelTabServiceImpl extends BaseServiceImpl<ExcelTabMapper, ExcelTa
     private final IExctabCellService exctabCellService;
     private final WbsTreeContractOldHtmlService wbsTreeContractOldHtmlService;
 
+    private final IParameterElementService parameterElementService;
 
     @Autowired
     StringRedisTemplate RedisTemplate;
@@ -1127,6 +1128,25 @@ public class ExcelTabServiceImpl extends BaseServiceImpl<ExcelTabMapper, ExcelTa
         }
     }
 
+    @Override
+    public void setAutomatic(Long pkeyId, String nodeId, Document doc) {
+        //自动获取数据查询
+        try {
+            WbsTreeContract wbsTreeContract = wbsTreeContractService.getBaseMapper().selectOne(new QueryWrapper<WbsTreeContract>().eq("p_key_id", pkeyId));
+            List<ParameterElement> nodeBaseInfo = parameterElementService.list(Wrappers.<ParameterElement>lambdaQuery().eq(ParameterElement::getProjectId, wbsTreeContract.getProjectId())
+                    .eq(ParameterElement::getContractId, wbsTreeContract.getContractId()).eq(ParameterElement::getType, 3)
+                    .eq(ParameterElement::getNodeId, wbsTreeContract.getCopyPkId()));
+
+            nodeBaseInfo.forEach(key -> {
+                Elements select = doc.select("table").first().select("[keyname=" + key.getElementName() + "]");
+                select.stream().filter(Objects::nonNull).forEach(element -> element.attr("clearAutomatic", "1"));
+            });
+        } catch (Exception e) {
+            e.printStackTrace();
+        }
+
+    }
+
     public Element findParentTd(Element element) {
         Element parent = element.parent();
         while (parent != null && !parent.tagName().equalsIgnoreCase("td")) {

+ 18 - 0
blade-service/blade-manager/src/main/java/org/springblade/manager/service/impl/NodeBaseInfoServiceImpl.java

@@ -481,4 +481,22 @@ public class NodeBaseInfoServiceImpl extends BaseServiceImpl<NodeBaseInfoMapper,
         return result.toString();
     }
 
+    @Override
+    public Boolean clearAutomatic(Long pkeyId, Long nodeId, String paramName) {
+        WbsTreeContract wbsTreeContract = iWbsTreeContractService.getBaseMapper().selectOne(new QueryWrapper<WbsTreeContract>().eq("p_key_id", pkeyId));
+        if (wbsTreeContract.getCopyPkId() ==  null) {
+            wbsTreeContract.setCopyPkId(wbsTreeContract.getPKeyId() + "");
+            iWbsTreeContractService.update(Wrappers.<WbsTreeContract>lambdaUpdate().set(WbsTreeContract::getCopyPkId, wbsTreeContract.getPKeyId()).eq(WbsTreeContract::getPKeyId, wbsTreeContract.getPKeyId()));
+        }
+        ParameterElement element = parameterElementService.getOne(Wrappers.<ParameterElement>lambdaQuery().eq(ParameterElement::getProjectId, wbsTreeContract.getProjectId())
+                .eq(ParameterElement::getContractId, wbsTreeContract.getContractId()).eq(ParameterElement::getType, 3)
+                .eq(ParameterElement::getElementName, paramName).eq(ParameterElement::getNodeId, wbsTreeContract.getCopyPkId()));
+        if(element != null){
+            //软删除
+            return parameterElementService.update(Wrappers.<ParameterElement>update().lambda()
+                    .set(ParameterElement::getIsDeleted, 1)
+                    .eq(ParameterElement::getId, element.getId()));
+        }
+        return true;
+    }
 }