浏览代码

Merge branch 'test-merge' of http://219.151.181.73:3000/zhuwei/bladex into test-merge

lvy 4 天之前
父节点
当前提交
cdb48ec7fb

+ 12 - 3
blade-service/blade-manager/src/main/java/org/springblade/manager/service/impl/WbsFormElementServiceImpl.java

@@ -790,7 +790,16 @@ public class WbsFormElementServiceImpl extends BaseServiceImpl<WbsFormElementMap
                 if (obj != 1) {
                     throw new ServiceException(StringUtil.format("未获取到 {} 对应实体表信息,关联失败", wbsTree.getNodeName()));
                 }
-
+                //查询清表细信息
+                ExcelTab excelTab = excelTabMapper.selectById(formElementDTO.getExcelTabId());
+                if(StringUtils.isNotEmpty(excelTab.getTabId()) && !excelTab.getTabId().equals(wbsTree.getInitTableId().toString())){
+                    throw new ServiceException(StringUtil.format("当前清表与元素表不一致,无法关联"));
+                }
+                //如果没有 就设置清表的tab_id为选择元素表的tab_id
+                if(StringUtils.isEmpty(excelTab.getTabId())){
+                    excelTab.setTabId(wbsTree.getInitTableId().toString());
+                    excelTabMapper.updateById(excelTab);
+                }
                 //获取当前元素表与清表关系信息
                 List<WbsTabRelationExcelTab> list = baseMapper.selectWbsTabRelationExcelTab(String.valueOf(formElementDTO.getId()), String.valueOf(formElementDTO.getExcelTabId()));
                 if (list.size() <= 0) {
@@ -800,7 +809,7 @@ public class WbsFormElementServiceImpl extends BaseServiceImpl<WbsFormElementMap
 
                 //获取表单下的元素信息
                 List<WbsFormElement> wbsFormElements = baseMapper.selectList(Wrappers.<WbsFormElement>query().lambda()
-                        .eq(WbsFormElement::getFId, formElementDTO.getId()));
+                        .eq(WbsFormElement::getFId, wbsTree.getInitTableId()));
 
                 WbsFormElement firstWbsFormElement;
                 List<WbsFormElement> newList;
@@ -829,7 +838,7 @@ public class WbsFormElementServiceImpl extends BaseServiceImpl<WbsFormElementMap
                     //新增元素到当前表中
                     wbsFormElementInfo.setEKey(key);
                     wbsFormElementInfo.setId(SnowFlakeUtil.getId());
-                    wbsFormElementInfo.setFId(String.valueOf(formElementDTO.getId()));
+                    wbsFormElementInfo.setFId(String.valueOf(wbsTree.getInitTableId()));
                     wbsFormElementInfo.setStatus(1);
                     wbsFormElementInfo.setELength(Integer.parseInt(WbsElementUtil.setDefaultElementLength(wbsFormElementInfo.getEType())));