ソースを参照

文件题名配置

cr 1 ヶ月 前
コミット
d4371cf5ec

+ 4 - 0
blade-service-api/blade-manager-api/src/main/java/org/springblade/manager/feign/WbsTreeContractClient.java

@@ -1,6 +1,7 @@
 package org.springblade.manager.feign;
 
 import org.springblade.business.dto.EKeyDto;
+import org.springblade.core.tool.api.R;
 import org.springblade.manager.entity.ContractRelationJlyz;
 import org.springblade.manager.entity.WbsTreeContract;
 import org.springblade.manager.vo.AppWbsTreeContractVO;
@@ -208,4 +209,7 @@ public interface WbsTreeContractClient {
 
     @PostMapping(API_PREFIX + "/queryListByPIds")
     List<WbsTreeContract> queryListByPIds(@RequestBody List<Long> pIds);
+
+    @GetMapping(API_PREFIX + "/getNameRuleByRule")
+    R getNameRuleByRule(@RequestParam String nameRule, @RequestParam String wbsId);
 }

+ 8 - 7
blade-service/blade-business/src/main/java/org/springblade/business/controller/InformationWriteQueryController.java

@@ -397,13 +397,14 @@ public class InformationWriteQueryController extends BladeController {
             if(StringUtils.isEmpty(dto1.getNameRule())){
                 throw new ServiceException("请输入题名规则");
             }
-            String sql="select p_key_id,ancestors_p_id from m_wbs_tree_contract where p_key_id="+dto1.getWbsId()+" and is_deleted=0";
-            WbsTreeContract contract = jdbcTemplate.queryForObject(sql, new BeanPropertyRowMapper<>(WbsTreeContract.class));
-            String result="";
-            if(contract!=null){
-                result= createFileTitle(contract, dto1.getNameRule());
-            }
-            list.add(new PreviewNodeNameVO1(dto1.getWbsId(),result));
+          R result= wbsTreeContractClient.getNameRuleByRule(dto1.getNameRule(),dto1.getWbsId());
+//            String sql="select p_key_id,ancestors_p_id from m_wbs_tree_contract where p_key_id="+dto1.getWbsId()+" and is_deleted=0";
+//            WbsTreeContract contract = jdbcTemplate.queryForObject(sql, new BeanPropertyRowMapper<>(WbsTreeContract.class));
+//            String result="";
+//            if(contract!=null){
+//                result= createFileTitle(contract, dto1.getNameRule());
+//            }
+            list.add(new PreviewNodeNameVO1(dto1.getWbsId(),result.getData().toString()));
         }
         return R.data(list);
     }

+ 34 - 7
blade-service/blade-manager/src/main/java/org/springblade/manager/controller/WbsTreeContractController.java

@@ -5,6 +5,7 @@ import com.aspose.cells.LoadOptions;
 import com.aspose.cells.SaveFormat;
 import com.aspose.cells.Workbook;
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.core.toolkit.Wrappers;
 import com.github.xiaoymin.knife4j.annotations.ApiOperationSupport;
 import com.google.common.collect.Lists;
@@ -38,9 +39,11 @@ import org.springblade.manager.dto.TableSortDTO;
 import org.springblade.manager.dto.WbsTreeContractDTO2;
 import org.springblade.manager.entity.*;
 import org.springblade.manager.feign.ContractClient;
+import org.springblade.manager.service.INodeBaseInfoService;
 import org.springblade.manager.service.IWbsParamService;
 import org.springblade.manager.service.IWbsTreeContractService;
 import org.springblade.manager.service.IWbsTreePrivateService;
+import org.springblade.manager.service.impl.NodeBaseInfoServiceImpl;
 import org.springblade.manager.service.impl.WbsTreeContractServiceImpl;
 import org.springblade.manager.utils.FileUtils;
 import org.springblade.manager.utils.RandomNumberHolder;
@@ -85,6 +88,8 @@ public class WbsTreeContractController extends BladeController {
 
     private final ExcelTabController excelTabController;
 
+    private final INodeBaseInfoService nodeBaseInfoService;
+
 
     @GetMapping("/diGuiWbs")
     @ApiOperationSupport(order = 1)
@@ -161,15 +166,37 @@ public class WbsTreeContractController extends BladeController {
     @ApiOperationSupport(order = 32)
     @ApiOperation(value = "节点配置根据选择的文件题名规则获取文件题名", notes = "传入规则和节点pkeyId")
     public R getNameRuleByRule(@RequestParam String nameRule,@RequestParam Long pkeyId){
+        NodeBaseInfo nodeBaseInfo = nodeBaseInfoService.getBaseMapper().selectOne(new QueryWrapper<NodeBaseInfo>().eq("node_id", pkeyId));
+        if(nodeBaseInfo==null){
+            nodeBaseInfo = nodeBaseInfoService.getOrSaveNodeBaseInfo(pkeyId);
+        }
         String[] codes = nameRule.split("-");
         Arrays.sort(codes, Comparator.comparingInt(s -> Integer.parseInt(s.substring(1))));
-        nameRule= String.join("-", codes);
-        String sql="Select * from m_wbs_tree_contract where p_key_id="+pkeyId;
-        WbsTreeContract contract = jdbcTemplate.queryForObject(sql, new BeanPropertyRowMapper<>(WbsTreeContract.class));
-        String result = iWbsParamService.createFileTitle1(contract, nameRule);
-        RandomNumberHolder.RandomTemplateTypeclear();
-        RandomNumberHolder.RandomWbsTreeContractclear();
-        return R.data(result);
+        StringBuilder result = new StringBuilder();
+        for (int i = 0; i < codes.length; i++) {
+            if(codes[i].equals("C0")){
+                result.append(nodeBaseInfo.getUnit());
+            } else if (codes[i].equals("C1")) {
+                result.append(nodeBaseInfo.getSubUnit());
+            }else if (codes[i].equals("C2")) {
+                result.append(nodeBaseInfo.getDivision());
+            }else if (codes[i].equals("C3")) {
+                result.append(nodeBaseInfo.getSubDivision());
+            }else if (codes[i].equals("C4")) {
+                result.append(nodeBaseInfo.getItem());
+            }else if (codes[i].equals("C5")) {
+                result.append(nodeBaseInfo.getSubItem());
+            }else if (codes[i].equals("C6")) {
+                result.append(nodeBaseInfo.getProcesses());
+            }
+        }
+//        nameRule= String.join("-", codes);
+//        String sql="Select * from m_wbs_tree_contract where p_key_id="+pkeyId;
+//        WbsTreeContract contract = jdbcTemplate.queryForObject(sql, new BeanPropertyRowMapper<>(WbsTreeContract.class));
+//        String result = iWbsParamService.createFileTitle1(contract, nameRule);
+//        RandomNumberHolder.RandomTemplateTypeclear();
+//        RandomNumberHolder.RandomWbsTreeContractclear();
+        return R.data(result.toString());
     }
     //节点命名配置
     @GetMapping("/saveContractNameRule")

+ 6 - 0
blade-service/blade-manager/src/main/java/org/springblade/manager/feign/WbsTreeContractClientImpl.java

@@ -499,6 +499,12 @@ public class WbsTreeContractClientImpl implements WbsTreeContractClient {
         wbsTreeContractController.saveContractNameRule(s,pKeyId,projectId);
     }
 
+    @Override
+    public R getNameRuleByRule(String nameRule, String wbsId) {
+        return wbsTreeContractController.getNameRuleByRule(nameRule,Long.parseLong(wbsId));
+    }
+
+
     @Override
     public List<WbsTreeContract> queryListByPIds(List<Long> pIds) {
         return wbsTreeContractService.queryListByPIds(pIds);

+ 4 - 0
blade-service/blade-manager/src/main/java/org/springblade/manager/service/IWbsTreeContractService.java

@@ -94,4 +94,8 @@ public interface IWbsTreeContractService extends BaseService<WbsTreeContract> {
     List<APIWbsContractSubdivisionVo> getWbsContractSubdivision(String contractId);
 
     List<WbsTreeContract> queryListByPIds(List<Long> pIds);
+    ResponseEntity<Resource> exportTree(Long contractId, HttpServletResponse response) throws IOException, InvalidFormatException;
+
+    R importPartitionCode(MultipartFile file);
+
 }

+ 1 - 0
blade-service/blade-manager/src/main/java/org/springblade/manager/service/impl/WbsTreeContractServiceImpl.java

@@ -117,6 +117,7 @@ public class WbsTreeContractServiceImpl extends BaseServiceImpl<WbsTreeContractM
     private final WbsFormElementMapper wbsFormElementMapper;
     private final TrialCyAccessoriesClient trialCyAccessoriesClient;
     private final WbsTreeContractStatisticsClient wbsTreeContractStatisticsClient;
+    private final INodeBaseInfoService nodeBaseInfoService;
 
 
     @Autowired