소스 검색

Merge remote-tracking branch 'origin/dev' into dev

zhuwei 6 일 전
부모
커밋
1151ab0d63
1개의 변경된 파일26개의 추가작업 그리고 0개의 파일을 삭제
  1. 26 0
      blade-service/blade-manager/src/main/java/org/springblade/manager/service/impl/WbsDivideServiceImpl.java

+ 26 - 0
blade-service/blade-manager/src/main/java/org/springblade/manager/service/impl/WbsDivideServiceImpl.java

@@ -1,6 +1,7 @@
 package org.springblade.manager.service.impl;
 
 import com.alibaba.fastjson.JSON;
+import com.baomidou.mybatisplus.core.toolkit.Wrappers;
 import lombok.AllArgsConstructor;
 import lombok.extern.slf4j.Slf4j;
 import org.apache.http.HttpEntity;
@@ -12,8 +13,10 @@ import org.apache.http.util.EntityUtils;
 import org.springblade.business.feign.InformationQueryClient;
 import org.springblade.core.mp.base.BaseServiceImpl;
 import org.springblade.manager.entity.WbsDivide;
+import org.springblade.manager.entity.WbsTreeContract;
 import org.springblade.manager.mapper.WbsDivideMapper;
 import org.springblade.manager.service.IWbsDivideService;
+import org.springblade.manager.service.IWbsTreeContractService;
 import org.springblade.manager.vo.DivideClientReq;
 import org.springblade.manager.vo.DivideClientVo;
 import org.springblade.manager.vo.DivideFileVo;
@@ -36,6 +39,7 @@ import java.util.Map;
 public class WbsDivideServiceImpl extends BaseServiceImpl<WbsDivideMapper, WbsDivide> implements IWbsDivideService {
 
     private final InformationQueryClient informationQueryClient;
+    private final IWbsTreeContractService wbsTreeContractService;
 
     @Override
     public List<WbsDivide> getByPKeyId(Long pKeyId) {
@@ -160,6 +164,28 @@ public class WbsDivideServiceImpl extends BaseServiceImpl<WbsDivideMapper, WbsDi
         }
         
         log.info("批量绑定节点完成,pKeyId={}, 总数={}, 成功={}", pKeyId, divideClientVos.size(), successCount);
+        
+        // 更新WbsTreeContract的partitionCode属性
+        try {
+            String divideNum = divideClientVos.get(0).getDivideNum();
+            log.info("开始更新WbsTreeContract的partitionCode,pKeyId={}, divideNum={}", pKeyId, divideNum);
+            
+            WbsTreeContract wbsNode = wbsTreeContractService.getOne(
+                    Wrappers.<WbsTreeContract>lambdaQuery().eq(WbsTreeContract::getPKeyId, pKeyId)
+            );
+            
+            if (wbsNode != null) {
+                wbsNode.setPartitionCode(divideNum);
+                boolean updateResult = wbsTreeContractService.updateById(wbsNode);
+                log.info("更新WbsTreeContract的partitionCode完成,pKeyId={}, divideNum={}, 结果={}", 
+                        pKeyId, divideNum, updateResult);
+            } else {
+                log.warn("未找到pKeyId={}对应的WbsTreeContract记录", pKeyId);
+            }
+        } catch (Exception e) {
+            log.error("更新WbsTreeContract的partitionCode失败,pKeyId={}, error={}", pKeyId, e.getMessage(), e);
+        }
+        
         return successCount;
     }