yangyj 3 年 前
コミット
5487e6ee5e

+ 12 - 2
blade-service/blade-manager/src/main/java/org/springblade/manager/service/impl/ExcelTabServiceImpl.java

@@ -28,12 +28,15 @@ import org.springblade.common.utils.SnowFlakeUtil;
 import org.springblade.core.oss.model.BladeFile;
 import org.springblade.core.secure.utils.AuthUtil;
 import org.springblade.core.tool.node.ForestNodeMerger;
+import org.springblade.core.tool.utils.Func;
 import org.springblade.core.tool.utils.StringPool;
 import org.springblade.manager.bean.TableInfo;
 import org.springblade.manager.dto.FormData;
 import org.springblade.manager.entity.ExcelTab;
+import org.springblade.manager.entity.WbsTree;
 import org.springblade.manager.entity.WbsTreeContract;
 import org.springblade.manager.service.IWbsTreeContractService;
+import org.springblade.manager.service.IWbsTreeService;
 import org.springblade.manager.vo.ExceTabTreVO;
 import org.springblade.manager.vo.ExcelTabVO;
 import org.springblade.manager.mapper.ExcelTabMapper;
@@ -62,6 +65,7 @@ public class ExcelTabServiceImpl extends BaseServiceImpl<ExcelTabMapper, ExcelTa
 	private final InformationQueryClient informationQueryClient;
 	// 元素信息表-
 	private final IWbsTreeContractService wbsTreeContractService;
+	private final IWbsTreeService wbsTreeService;
 	private final JdbcTemplate jdbcTemplate;
 	@Override
 	public IPage<ExcelTabVO> selectExcelTabPage(IPage<ExcelTabVO> page, ExcelTabVO excelTab) {
@@ -196,8 +200,14 @@ public class ExcelTabServiceImpl extends BaseServiceImpl<ExcelTabMapper, ExcelTa
 	@Override
 	public void formulaFillData(List<TableInfo> tableInfoList) {
 		List<FormData> fds = new ArrayList<>();
-		for(TableInfo tableInfo:tableInfoList){
-			//TODO
+		List<WbsTreeContract>  wbsTreeContractList = wbsTreeContractService.list(Wrappers.<WbsTreeContract>lambdaQuery().in(WbsTreeContract::getPKeyId,tableInfoList.stream().map(TableInfo::getPkeyId).collect(Collectors.toList())));
+		if(Func.isNotEmpty(wbsTreeContractList)){
+			List<WbsTree> wbsTrees = this.wbsTreeService.list(Wrappers.<WbsTree>lambdaQuery().in(WbsTree::getId,wbsTreeContractList.stream().map(WbsTreeContract::getId).distinct().collect(Collectors.toList())));
+			Map<Long,List<WbsTree>>  treeMap = wbsTrees.stream().collect(Collectors.groupingBy(WbsTree::getId));
+			LinkedHashMap<Long,Long> map = new LinkedHashMap<>(wbsTreeContractList.size()*2);
+			String ids =tableInfoList.stream().map(TableInfo::getPkeyId).collect(Collectors.joining(","));
+			List<Map<String,Object>> keys=this.jdbcTemplate.queryForList("SELECT a.p_key_id,b.e_key,c.id from m_wbs_tree_contract a LEFT JOIN m_wbs_form_element b on a.id=b.f_id left JOIN m_wbs_tree c on a.id=c.id where a.p_key_id in ("+ids+")");
+			System.out.println();
 		}
 	}