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

质检-自动获取数据
1、添加html 自动获取数据标签
2、添加取消自动获取数据的接口

LHB 1 өдөр өмнө
parent
commit
2fd9845505

+ 2 - 0
blade-service/blade-manager/src/main/java/org/springblade/manager/controller/ExcelTabController.java

@@ -962,6 +962,8 @@ public class ExcelTabController extends BladeController {
                     .eq(WbsTreeContract::getWbsId, wbsTreeContract.getWbsId()).last("limit 1"));
             if (process != null) {
                 this.excelTabService.gsColor(pkeyId, process.getPKeyId().toString(), wbsTreeContract.getProjectId(), doc);
+                //设置自动获取的单元格添加html标识
+                this.excelTabService.setAutomatic(pkeyId,process.getPKeyId().toString(),doc);
             }
             doc.select("Col").remove();
 

+ 13 - 1
blade-service/blade-manager/src/main/java/org/springblade/manager/controller/NodeBaseInfoController.java

@@ -327,7 +327,19 @@ public class NodeBaseInfoController extends BladeController {
 		return R.data(nodeBaseInfoService.getAllNodeBaseInfoByPkeyId(pkeyId,nodeId));
 	}
 
-
+    /**
+     * 需要自动获取
+     */
+    @GetMapping("/clearAutomatic")
+    @ApiOperationSupport(order = 9)
+    @ApiOperation(value = "设置自动获取", notes = "pkeyId表单Id,nodeId节点Id")
+    public R clearAutomatic(@RequestParam Long pkeyId, @RequestParam Long nodeId, @RequestParam(required = false) String paramName) {
+        Boolean b = nodeBaseInfoService.clearAutomatic(pkeyId, nodeId, paramName);
+        if(b){
+            return R.success("设置成功");
+        }
+        return R.fail("失败");
+    }
 
 
 }

+ 2 - 0
blade-service/blade-manager/src/main/java/org/springblade/manager/service/IExcelTabService.java

@@ -231,4 +231,6 @@ public interface IExcelTabService extends BaseService<ExcelTab> {
     Boolean saveExcel(ExcelEditCallback callback);
 
     R getExcelPdf(ExcelEditCallback callback) throws Exception;
+
+    void setAutomatic(Long pkeyId, String string, Document doc);
 }

+ 2 - 0
blade-service/blade-manager/src/main/java/org/springblade/manager/service/INodeBaseInfoService.java

@@ -48,4 +48,6 @@ public interface INodeBaseInfoService extends BaseService<NodeBaseInfo> {
 	Map<String,Object> getAllNodeBaseInfoByPkeyId(Long pkeyId,Long nodeId) throws Exception;
 
 	String getNameRuleByRule(String nameRule, Long pkeyId);
+
+	Boolean clearAutomatic(Long pkeyId, Long nodeId, String paramName);
 }

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

@@ -1125,6 +1125,21 @@ public class ExcelTabServiceImpl extends BaseServiceImpl<ExcelTabMapper, ExcelTa
         }
     }
 
+    @Override
+    public void setAutomatic(Long pkeyId, String nodeId, Document doc) {
+        //自动获取数据查询
+        try {
+            Map<String, Object> nodeBaseInfo = nodeBaseInfoService.getAllNodeBaseInfoByPkeyId(pkeyId, Long.valueOf(nodeId));
+            nodeBaseInfo.keySet().forEach(key -> {
+                Elements select = doc.select("table").first().select("[keyname=" + key + "]");
+                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")) {

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

@@ -481,4 +481,19 @@ 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()));
+        //软删除
+        return parameterElementService.update(Wrappers.<ParameterElement>update().lambda()
+                .set(ParameterElement::getIsDeleted, 1)
+                .eq(ParameterElement::getId, element.getId()));
+    }
 }