|
|
@@ -146,9 +146,11 @@ public class ExcelTabServiceImpl extends BaseServiceImpl<ExcelTabMapper, ExcelTa
|
|
|
private final TrialSelfInspectionRecordClient trialSelfInspectionRecordClient;
|
|
|
private final WbsTreeContractOldHtmlService wbsTreeContractOldHtmlService;
|
|
|
|
|
|
+ private final IWbsTreeService wbsTreeService;
|
|
|
// excel 解析结构
|
|
|
private final IExctabCellService exctabCellService;
|
|
|
|
|
|
+
|
|
|
private final IParameterElementService parameterElementService;
|
|
|
|
|
|
@Autowired
|
|
|
@@ -244,11 +246,6 @@ public class ExcelTabServiceImpl extends BaseServiceImpl<ExcelTabMapper, ExcelTa
|
|
|
return excelTabVO;
|
|
|
}
|
|
|
|
|
|
- @Override
|
|
|
- public R getExcelUrl(ExcelEditCallback callback) {
|
|
|
- return null;
|
|
|
- }
|
|
|
-
|
|
|
@Override
|
|
|
public List<ExceTabTreVO> tabLazyTree(String tenantId, Long modeId, Long parentId) {
|
|
|
if (AuthUtil.isAdministrator()) {
|
|
|
@@ -2223,6 +2220,47 @@ public class ExcelTabServiceImpl extends BaseServiceImpl<ExcelTabMapper, ExcelTa
|
|
|
return sql;
|
|
|
}
|
|
|
|
|
|
+ @Override
|
|
|
+ public ExcelTabVO2 getWbsTreeExcelTab(Long id,Long nodeId) {
|
|
|
+ ExcelTabVO2 vo2 = new ExcelTabVO2();
|
|
|
+ ExcelTab excelTab = this.getById(id);
|
|
|
+ if(excelTab==null){
|
|
|
+ throw new ServiceException("未找到该表单");
|
|
|
+ }
|
|
|
+ vo2.setExcelTabId(excelTab.getId());
|
|
|
+ vo2.setExcelTabName(excelTab.getName());
|
|
|
+ if(StringUtils.isNotEmpty(excelTab.getTabId())){
|
|
|
+ org.springblade.manager.entity.TableInfo tableInfo = tableInfoService.getById(excelTab.getTabId());
|
|
|
+ if(tableInfo!=null){
|
|
|
+ vo2.setElementTableName(tableInfo.getTabChName());
|
|
|
+ vo2.setTableType(tableInfo.getTabType());
|
|
|
+ vo2.setInitTableName(tableInfo.getTabEnName());
|
|
|
+ vo2.setInitTabId(tableInfo.getId());
|
|
|
+ //判断同级其他节点 是否存在相同元素表
|
|
|
+ List<WbsNodeTableVO> wbsNodeTableVOS = wbsTreeService.selectByNodeTable(id+"");
|
|
|
+ if(!wbsNodeTableVOS.isEmpty()){
|
|
|
+ Set<String> initTabIds = wbsNodeTableVOS.stream().filter(w -> StringUtils.isNotEmpty(w.getInitTableId())).map(w -> w.getInitTableId()).collect(Collectors.toSet());
|
|
|
+ if(!initTabIds.isEmpty()){
|
|
|
+ if(initTabIds.contains(tableInfo.getId()+"")){
|
|
|
+ vo2.setIsCreate(1);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }else {
|
|
|
+ vo2.setIsCreate(2);
|
|
|
+ }
|
|
|
+ }else {
|
|
|
+ vo2.setIsCreate(2);
|
|
|
+ }
|
|
|
+ if(StringUtils.isEmpty(excelTab.getFileUrl())){
|
|
|
+ vo2.setIsCreate(3);
|
|
|
+ }
|
|
|
+ if(vo2.getIsCreate()==null){
|
|
|
+ vo2.setIsCreate(0);
|
|
|
+ }
|
|
|
+ return vo2;
|
|
|
+ }
|
|
|
+
|
|
|
// 获取用户
|
|
|
@Override
|
|
|
public Map<String, String> getTablbCols(String pkeyid, String colkey) throws FileNotFoundException {
|
|
|
@@ -6539,6 +6577,48 @@ public class ExcelTabServiceImpl extends BaseServiceImpl<ExcelTabMapper, ExcelTa
|
|
|
}
|
|
|
}
|
|
|
|
|
|
+ @Override
|
|
|
+ @Async("taskExecutor1")
|
|
|
+ public void synchronizedPdf(List<TableInfo> tableInfoList, String nodeId, String classify, String contractId, String projectId) {
|
|
|
+ try {
|
|
|
+ List<String> errorPKeyIds = new ArrayList<>();
|
|
|
+ //单个pdf加载
|
|
|
+ if (tableInfoList != null) {
|
|
|
+ tableInfoList.parallelStream().forEach(tableInfo -> {
|
|
|
+ R bussPdfInfo = null;
|
|
|
+ try {
|
|
|
+ bussPdfInfo = this.getBussPdfInfo(Long.parseLong(tableInfo.getPkeyId()));
|
|
|
+ } catch (Exception e) {
|
|
|
+ e.printStackTrace();
|
|
|
+ }
|
|
|
+ if (ObjectUtil.isEmpty(bussPdfInfo) || bussPdfInfo.getCode() != 200) {
|
|
|
+ //如果返回的单张pdfUrl为空,那么表示发生异常,返回异常信息
|
|
|
+ errorPKeyIds.add(tableInfo.getPkeyId());
|
|
|
+ }
|
|
|
+ });
|
|
|
+ }
|
|
|
+
|
|
|
+ //发生异常后直接返回,不进行合并
|
|
|
+// if (errorPKeyIds.size() > 0) {
|
|
|
+// List<AppWbsTreeContractVO> errorTabs = new LinkedList<>();
|
|
|
+// for (AppWbsTreeContractVO appWbsTreeContractVO : tableAll) {
|
|
|
+// if (errorPKeyIds.contains(appWbsTreeContractVO.getPKeyId().toString())) {
|
|
|
+// errorTabs.add(appWbsTreeContractVO);
|
|
|
+// }
|
|
|
+// }
|
|
|
+// if (errorTabs.size() > 0) {
|
|
|
+// List<String> names = errorTabs.stream().map(WbsTreeContract::getNodeName).collect(Collectors.toList());
|
|
|
+// return R.fail("以下的表在生成pdf文件时发生了异常【" + StringUtils.join(names, "、") + "】");
|
|
|
+// }
|
|
|
+// }
|
|
|
+
|
|
|
+ //合并pdf加载
|
|
|
+ this.getBussPdfs(nodeId, classify, contractId, projectId);
|
|
|
+ } catch (Exception e) {
|
|
|
+ e.printStackTrace();
|
|
|
+ throw new ServiceException("问题");
|
|
|
+ }
|
|
|
+ }
|
|
|
|
|
|
@Override
|
|
|
public void cancelSample(Long groupId, Long pkeyId, Long contractId, Long sampleId1) throws Exception {
|