Sfoglia il codice sorgente

后管试验树相关

liuyc 2 anni fa
parent
commit
ca07c8ffce
28 ha cambiato i file con 287 aggiunte e 127 eliminazioni
  1. 4 4
      blade-service-api/blade-business-api/src/main/java/org/springblade/business/vo/TrialDeviceUsePageVO.java
  2. 16 4
      blade-service-api/blade-manager-api/src/main/java/org/springblade/manager/entity/ProjectInfo.java
  3. 22 0
      blade-service-api/blade-manager-api/src/main/java/org/springblade/manager/feign/WbsInfoClient.java
  4. 2 1
      blade-service-api/blade-manager-api/src/main/java/org/springblade/manager/feign/WbsTreePrivateClient.java
  5. 5 0
      blade-service-api/blade-manager-api/src/main/java/org/springblade/manager/vo/ProjectInfoVO.java
  6. 26 0
      blade-service-api/blade-manager-api/src/main/java/org/springblade/manager/vo/ProjectInfoWbsTypeVO.java
  7. 2 2
      blade-service/blade-business/src/main/java/org/springblade/business/controller/TrialDeviceInfoController.java
  8. 44 22
      blade-service/blade-business/src/main/java/org/springblade/business/controller/UserViewProjectContractController.java
  9. 1 1
      blade-service/blade-business/src/main/java/org/springblade/business/service/impl/TrialDeviceUseServiceImpl.java
  10. 1 4
      blade-service/blade-manager/src/main/java/org/springblade/manager/controller/ProjectInfoController.java
  11. 3 3
      blade-service/blade-manager/src/main/java/org/springblade/manager/controller/WbsTreeContractController.java
  12. 15 15
      blade-service/blade-manager/src/main/java/org/springblade/manager/controller/WbsTreePrivateController.java
  13. 28 0
      blade-service/blade-manager/src/main/java/org/springblade/manager/feign/WbsInfoClientImpl.java
  14. 8 5
      blade-service/blade-manager/src/main/java/org/springblade/manager/mapper/ProjectInfoMapper.java
  15. 24 11
      blade-service/blade-manager/src/main/java/org/springblade/manager/mapper/ProjectInfoMapper.xml
  16. 1 2
      blade-service/blade-manager/src/main/java/org/springblade/manager/mapper/WbsInfoMapper.xml
  17. 2 0
      blade-service/blade-manager/src/main/java/org/springblade/manager/mapper/WbsTreeContractMapper.java
  18. 11 0
      blade-service/blade-manager/src/main/java/org/springblade/manager/mapper/WbsTreeContractMapper.xml
  19. 3 3
      blade-service/blade-manager/src/main/java/org/springblade/manager/mapper/WbsTreePrivateMapper.java
  20. 6 11
      blade-service/blade-manager/src/main/java/org/springblade/manager/mapper/WbsTreePrivateMapper.xml
  21. 0 2
      blade-service/blade-manager/src/main/java/org/springblade/manager/service/IProjectInfoService.java
  22. 1 0
      blade-service/blade-manager/src/main/java/org/springblade/manager/service/IWbsInfoService.java
  23. 1 1
      blade-service/blade-manager/src/main/java/org/springblade/manager/service/IWbsTreeContractService.java
  24. 2 1
      blade-service/blade-manager/src/main/java/org/springblade/manager/service/IWbsTreePrivateService.java
  25. 10 19
      blade-service/blade-manager/src/main/java/org/springblade/manager/service/impl/WbsTreeContractServiceImpl.java
  26. 27 12
      blade-service/blade-manager/src/main/java/org/springblade/manager/service/impl/WbsTreePrivateServiceImpl.java
  27. 17 2
      blade-service/blade-manager/src/main/java/org/springblade/manager/service/impl/WbsTreeServiceImpl.java
  28. 5 2
      blade-service/blade-manager/src/main/java/org/springblade/manager/wrapper/ProjectInfoWrapper.java

+ 4 - 4
blade-service-api/blade-business-api/src/main/java/org/springblade/business/vo/TrialDeviceUsePageVO.java

@@ -18,15 +18,15 @@ public class TrialDeviceUsePageVO extends TrialDeviceUse {
     private String queryValue;
 
     /**
-     * 使用日期(起)
+     * 条件查询输入框起始日期
      */
-    @ApiModelProperty(value = "使用日期(起)")
+    @ApiModelProperty(value = "条件查询输入框起始日期")
     private String startTime;
 
     /**
-     * 使用日期(止)
+     * 条件查询输入框结束日期
      */
-    @ApiModelProperty(value = "使用日期(止)")
+    @ApiModelProperty(value = "条件查询输入框结束日期")
     private String endTime;
 
     /**

+ 16 - 4
blade-service-api/blade-manager-api/src/main/java/org/springblade/manager/entity/ProjectInfo.java

@@ -109,17 +109,29 @@ public class ProjectInfo extends BaseEntity {
     private Integer isOpenSign;
 
     /**
-     * wbs私有树引用wbs模板id
+     * wbs私有树引用wbs模板id-质检
      */
-    @ApiModelProperty(value = "wbs私有树引用wbs模板id")
+    @ApiModelProperty(value = "wbs私有树引用wbs模板id-质检")
     private Long referenceWbsTemplateId;
 
     /**
-     * wbs私有树引用wbs模板类型
+     * wbs私有树引用wbs模板类型-质检
      */
-    @ApiModelProperty(value = "wbs私有树引用wbs模板类型")
+    @ApiModelProperty(value = "wbs私有树引用wbs模板类型-质检")
     private String referenceWbsTemplateType;
 
+    /**
+     * wbs私有树引用wbs模板id-试验
+     */
+    @ApiModelProperty(value = "wbs私有树引用wbs模板id-试验")
+    private Long referenceWbsTemplateIdTrial;
+
+    /**
+     * wbs私有树引用wbs模板类型-试验
+     */
+    @ApiModelProperty(value = "wbs私有树引用wbs模板类型-试验")
+    private String referenceWbsTemplateTypeTrial;
+
     /**
      * wbs私有树引用wbs日志模板id
      */

+ 22 - 0
blade-service-api/blade-manager-api/src/main/java/org/springblade/manager/feign/WbsInfoClient.java

@@ -0,0 +1,22 @@
+package org.springblade.manager.feign;
+
+import org.springframework.cloud.openfeign.FeignClient;
+import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.RequestParam;
+
+
+import static org.springblade.core.launch.constant.AppConstant.APPLICATION_NAME_PREFIX;
+
+@FeignClient(value = APPLICATION_NAME_PREFIX + "manager")
+public interface WbsInfoClient {
+
+    /**
+     * 接口前缀
+     */
+    String API_PREFIX = "/api/manager/wbsPrivate";
+
+    @GetMapping(API_PREFIX + "/type")
+    Integer getWbsTypeByPrivateWbsId(@RequestParam Long id);
+
+
+}

+ 2 - 1
blade-service-api/blade-manager-api/src/main/java/org/springblade/manager/feign/WbsTreePrivateClient.java

@@ -4,6 +4,7 @@ import org.springblade.manager.entity.WbsTreePrivate;
 import org.springblade.manager.vo.WbsTreeContractTreeVOS;
 import org.springblade.manager.vo.WbsTreePrivateVO;
 import org.springframework.cloud.openfeign.FeignClient;
+import org.springframework.web.bind.annotation.GetMapping;
 import org.springframework.web.bind.annotation.PostMapping;
 import org.springframework.web.bind.annotation.RequestBody;
 import org.springframework.web.bind.annotation.RequestParam;
@@ -12,7 +13,7 @@ import java.util.List;
 
 import static org.springblade.core.launch.constant.AppConstant.APPLICATION_NAME_PREFIX;
 
-@FeignClient(value = APPLICATION_NAME_PREFIX +  "manager")
+@FeignClient(value = APPLICATION_NAME_PREFIX + "manager")
 public interface WbsTreePrivateClient {
 
     /**

+ 5 - 0
blade-service-api/blade-manager-api/src/main/java/org/springblade/manager/vo/ProjectInfoVO.java

@@ -32,5 +32,10 @@ public class ProjectInfoVO extends ProjectInfo {
 	@ApiModelProperty(value = "是否开启随机数 '0'否 '1'是")
 	private Integer isOpenRandomNumber;
 
+	/**
+	 * wbsType
+	 */
+	@ApiModelProperty(value = "wbsType")
+	private Integer wbsType;
 
 }

+ 26 - 0
blade-service-api/blade-manager-api/src/main/java/org/springblade/manager/vo/ProjectInfoWbsTypeVO.java

@@ -0,0 +1,26 @@
+package org.springblade.manager.vo;
+
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import org.springblade.manager.entity.ProjectInfo;
+
+import java.util.ArrayList;
+import java.util.List;
+
+@Data
+@EqualsAndHashCode(callSuper = true)
+public class ProjectInfoWbsTypeVO extends ProjectInfo {
+	private static final long serialVersionUID = 1L;
+
+	/**
+	 * 项目id
+	 */
+	private Long projectId;
+
+	/**
+	 * wbsType
+	 */
+	private Integer wbsType;
+
+}

+ 2 - 2
blade-service/blade-business/src/main/java/org/springblade/business/controller/TrialDeviceInfoController.java

@@ -111,7 +111,7 @@ public class TrialDeviceInfoController extends BladeController {
         return R.data(iTrialDeviceUseService.useDetail(id));
     }
 
-    @GetMapping("/use/submit")
+    @PostMapping("/use/submit")
     @ApiOperationSupport(order = 11)
     @ApiOperation(value = "使用设备新增或修改", notes = "传入id")
     public R<Object> useSubmit(@RequestBody TrialDeviceUse obj) {
@@ -161,7 +161,7 @@ public class TrialDeviceInfoController extends BladeController {
         return R.data(iTrialDeviceOverhaulService.overhaulDetail(id));
     }
 
-    @GetMapping("/overhaul/submit")
+    @PostMapping("/overhaul/submit")
     @ApiOperationSupport(order = 18)
     @ApiOperation(value = "检修设备新增或修改", notes = "传入TrialDeviceOverhaul对象")
     public R<Object> overhaulSubmit(@RequestBody TrialDeviceOverhaul obj) {

+ 44 - 22
blade-service/blade-business/src/main/java/org/springblade/business/controller/UserViewProjectContractController.java

@@ -17,15 +17,11 @@ import org.springblade.core.secure.utils.AuthUtil;
 import org.springblade.core.tool.api.R;
 import org.springblade.core.tool.utils.BeanUtil;
 import org.springblade.manager.dto.SaveUserInfoByProjectDTO;
-import org.springblade.manager.entity.ContractInfo;
-import org.springblade.manager.entity.ProjectInfo;
-import org.springblade.manager.entity.SignPfxFile;
-import org.springblade.manager.feign.ContractClient;
-import org.springblade.manager.feign.ProjectAssignmentUserClient;
-import org.springblade.manager.feign.ProjectClient;
-import org.springblade.manager.feign.SignPfxClient;
+import org.springblade.manager.entity.*;
+import org.springblade.manager.feign.*;
 import org.springblade.manager.vo.ContractInfoVO;
 import org.springblade.manager.vo.ProjectInfoVO;
+import org.springblade.manager.vo.ProjectInfoWbsTypeVO;
 import org.springblade.system.feign.ISysClient;
 import org.springblade.system.user.entity.User;
 import org.springblade.system.user.feign.IUserClient;
@@ -33,6 +29,8 @@ import org.springframework.web.bind.annotation.GetMapping;
 import org.springframework.web.bind.annotation.PostMapping;
 import org.springframework.web.bind.annotation.RequestMapping;
 import org.springframework.web.bind.annotation.RestController;
+
+import java.util.ArrayList;
 import java.util.Comparator;
 import java.util.Iterator;
 import java.util.List;
@@ -58,18 +56,20 @@ public class UserViewProjectContractController {
 
     private final SignPfxClient signPfxClient;
 
+    private final WbsInfoClient wbsInfoClient;
+
     /**
      * 获取用户信息
      */
     @PostMapping("/queryCurrentUserData")
     @ApiOperationSupport(order = 2)
     @ApiOperation(value = "获取用户信息")
-    public R<UserVO> queryCurrentUserData(){
+    public R<UserVO> queryCurrentUserData() {
         User user = this.userClient.userInfoById(AuthUtil.getUserId()).getData();
-        if(user != null){
+        if (user != null) {
             //获取部门
             List<String> deptNames = this.sysClient.getDeptNames(user.getDeptId()).getData();
-            if(deptNames != null && deptNames.size() > 0){
+            if (deptNames != null && deptNames.size() > 0) {
                 user.setDeptId(String.join(",", deptNames));
             }
             //数据对拷
@@ -78,13 +78,13 @@ public class UserViewProjectContractController {
 
             //获取个人签字文件
             List<SignPfxFile> pfxFiles = this.signPfxClient.querySignPfxByUserIdOrContractId(user.getId().toString(), "");
-            if(pfxFiles != null && pfxFiles.size() > 0){
+            if (pfxFiles != null && pfxFiles.size() > 0) {
                 userVO.setSignatureUrl(pfxFiles.get(0).getSignatureFileUrl());
             }
             //获取角色信息
-            if(StringUtils.isNotEmpty(userVO.getRoleId())){
+            if (StringUtils.isNotEmpty(userVO.getRoleId())) {
                 List<String> roleNames = this.sysClient.getRoleNames(userVO.getRoleId()).getData();
-                if(roleNames != null && roleNames.size() > 0){
+                if (roleNames != null && roleNames.size() > 0) {
                     userVO.setRoleName(String.join(",", roleNames));
                 }
             }
@@ -95,27 +95,28 @@ public class UserViewProjectContractController {
 
     /**
      * 获取客户端首页当前用户关联的项目及合同段信息
+     *
      * @return 项目及合同段结果集
      */
     @GetMapping("/queryUserViewProjectAndContract")
     @ApiOperationSupport(order = 1)
     @ApiOperation(value = "获取客户端首页当前用户关联的项目及合同段信息")
-    public R<List<ProjectInfoVO>> queryUserViewProjectAndContract(){
+    public R<List<ProjectInfoVO>> queryUserViewProjectAndContract() {
         BladeUser user = AuthUtil.getUser();
-        if(user == null){
+        if (user == null) {
             return R.data(null);
         }
         //获取当前用户的默认项目
-        List<DefaultProject> defaultProjects =  this.defaultProjectService.list(Wrappers.<DefaultProject>lambdaQuery().eq(DefaultProject::getUserId, AuthUtil.getUserId().toString()));
+        List<DefaultProject> defaultProjects = this.defaultProjectService.list(Wrappers.<DefaultProject>lambdaQuery().eq(DefaultProject::getUserId, AuthUtil.getUserId().toString()));
         String defaultProject = null, defaultContract = null;
-        if(defaultProjects != null && defaultProjects.size() > 0){
+        if (defaultProjects != null && defaultProjects.size() > 0) {
             defaultProject = defaultProjects.get(0).getProjectId();
             defaultContract = defaultProjects.get(0).getContractId();
         }
 
         //获取当前用户的所有相关项目及合同段ID
         List<SaveUserInfoByProjectDTO> userDownAll = this.projectAssignmentUserClient.queryCurrentUserDownAllContractAndProjectId(user.getUserId());
-        if(userDownAll.size() == 0){
+        if (userDownAll.size() == 0) {
             return R.data(null);
         }
 
@@ -126,14 +127,28 @@ public class UserViewProjectContractController {
 
         //获取项目列表
         List<ProjectInfo> projectInfos = this.projectClient.queryProjectList(projectIds);
-        if(projectInfos != null && projectInfos.size() != 0){
+        if (projectInfos != null && projectInfos.size() != 0) {
             List<Long> longProjectIds = projectInfos.stream().map(ProjectInfo::getId).distinct().collect(Collectors.toList());
             //获取当前所有合同段
             List<ContractInfo> contractInfos = this.contractClient.queryContractListByIds(longProjectIds);
 
+            //wbsType
+            List<ProjectInfoWbsTypeVO> wbsTypeVOList = new ArrayList<>();
+            for (ProjectInfo projectInfo : projectInfos) {
+                ProjectInfoWbsTypeVO projectInfoWbsTypeVO = new ProjectInfoWbsTypeVO();
+                Integer wbsType = wbsInfoClient.getWbsTypeByPrivateWbsId(projectInfo.getReferenceWbsTemplateId());
+                if (wbsType == null) {
+                    projectInfoWbsTypeVO.setWbsType(-1);
+                } else {
+                    projectInfoWbsTypeVO.setWbsType(wbsType);
+                }
+                projectInfoWbsTypeVO.setProjectId(projectInfo.getId());
+                wbsTypeVOList.add(projectInfoWbsTypeVO);
+            }
+
             //转换VO
             List<ProjectInfoVO> projectInfoVOS = JSONArray.parseArray(JSONObject.toJSONString(projectInfos), ProjectInfoVO.class);
-            if(contractInfos != null && contractInfos.size() != 0){
+            if (contractInfos != null && contractInfos.size() != 0) {
                 //转换VO
                 List<ContractInfoVO> contractInfoVOS = JSONArray.parseArray(JSONObject.toJSONString(contractInfos), ContractInfoVO.class);
                 contractInfoVOS.removeIf(vo -> !contractIds.contains(String.valueOf(vo.getId())));
@@ -143,18 +158,25 @@ public class UserViewProjectContractController {
                 String finalDefaultContract = defaultContract;
 
                 projectInfoVOS.forEach(vo -> {
+                    //wbsType
+                    for (ProjectInfoWbsTypeVO projectInfoWbsTypeVO : wbsTypeVOList) {
+                        if (vo.getId().equals(projectInfoWbsTypeVO.getProjectId())) {
+                            vo.setWbsType(projectInfoWbsTypeVO.getWbsType());
+                        }
+                    }
+
                     //统一返回格式
                     vo.setName(vo.getProjectName());
                     vo.setIsDefault(StringUtils.isNotEmpty(finalDefaultProject) && vo.getId().toString().equals(finalDefaultProject) ? 1 : 0);
 
                     Iterator<ContractInfoVO> iterator = contractInfoVOS.iterator();
-                    while (iterator.hasNext()){
+                    while (iterator.hasNext()) {
                         ContractInfoVO next = iterator.next();
                         //统一返回格式
                         next.setName(next.getContractName());
 
                         //找到对应的合同段
-                        if(String.valueOf(vo.getId()).equals(String.valueOf(next.getPId()))){
+                        if (String.valueOf(vo.getId()).equals(String.valueOf(next.getPId()))) {
                             next.setIsDefault(StringUtils.isNotEmpty(finalDefaultContract) && next.getId().toString().equals(finalDefaultContract) ? 1 : 0);
                             vo.getContractInfoList().add(next);
                             iterator.remove();

+ 1 - 1
blade-service/blade-business/src/main/java/org/springblade/business/service/impl/TrialDeviceUseServiceImpl.java

@@ -89,7 +89,7 @@ public class TrialDeviceUseServiceImpl extends BaseServiceImpl<TrialDeviceUseMap
                 }
             }
             for (WbsTreePrivate wbsTreePrivate : wbsTreePrivates) {
-                if (record.getNodeId().equals(wbsTreePrivate.getPKeyId())) {
+                if (ObjectUtil.isNotEmpty(record.getNodeId()) && record.getNodeId().equals(wbsTreePrivate.getPKeyId())) {
                     record.setNodeName(wbsTreePrivate.getNodeName());
                 }
             }

+ 1 - 4
blade-service/blade-manager/src/main/java/org/springblade/manager/controller/ProjectInfoController.java

@@ -66,9 +66,7 @@ public class ProjectInfoController extends BladeController {
             @ApiImplicitParam(value = "ReferenceWbsTemplateType", name = "ReferenceWbsTemplateType", required = true)
     })
     public R<ProjectInfoVO2> detail2(ProjectInfo projectInfo) {
-        ProjectInfoVO2 detail = projectInfoService.getOneByCondition(projectInfo.getId(),
-                projectInfo.getReferenceWbsTemplateId(),
-                projectInfo.getReferenceWbsTemplateType());
+        ProjectInfoVO2 detail = projectInfoService.getOneByCondition(projectInfo.getId(), projectInfo.getReferenceWbsTemplateId(), projectInfo.getReferenceWbsTemplateType());
         return R.data(detail);
     }
 
@@ -81,7 +79,6 @@ public class ProjectInfoController extends BladeController {
     @ApiOperation(value = "分页", notes = "传入projectInfo")
     public R<IPage<ProjectInfoVO>> list(ProjectInfo projectInfo, Query query) {
         IPage<ProjectInfo> pages = projectInfoService.page(Condition.getPage(query), Condition.getQueryWrapper(projectInfo));
-
         return R.data(ProjectInfoWrapper.build().pageVO(pages));
     }
 

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

@@ -76,9 +76,9 @@ public class WbsTreeContractController extends BladeController {
 
     @GetMapping("/concealed-works-node")
     @ApiOperationSupport(order = 5)
-    @ApiOperation(value = "标记/取消隐蔽工程节点", notes = "传入节点pKeyId")
-    public R concealedWorksNode(@RequestParam String pKeyId) {
-        return R.status(iWbsTreeContractService.concealedWorksNode(pKeyId));
+    @ApiOperation(value = "标记/取消隐蔽工程节点", notes = "传入节点pKeyId、type=1关联或type=0取消")
+    public R concealedWorksNode(@RequestParam String pKeyId, @RequestParam Integer type) {
+        return R.status(iWbsTreeContractService.concealedWorksNode(pKeyId, type));
     }
 
 }

+ 15 - 15
blade-service/blade-manager/src/main/java/org/springblade/manager/controller/WbsTreePrivateController.java

@@ -85,9 +85,9 @@ public class WbsTreePrivateController extends BladeController {
                     //判断哪些节点是本次删除的
                     Iterator<WbsTreePrivate> oldIterator = oldDataList.iterator();
 
-                    while (oldIterator.hasNext()){
+                    while (oldIterator.hasNext()) {
                         WbsTreePrivate next = oldIterator.next();
-                        if(!wbsTreeIds.contains(next.getId().toString())){
+                        if (!wbsTreeIds.contains(next.getId().toString())) {
                             //不包含,删除
                             removeList.add(next);
                             oldIterator.remove();
@@ -105,8 +105,8 @@ public class WbsTreePrivateController extends BladeController {
                                                 || (StringUtils.isNotEmpty(next.getNodeName()) && !next.getNodeName().equals(oldPrivate.getNodeName()))
                                                 || (StringUtils.isNotEmpty(next.getMajorDataType()) && !next.getMajorDataType().equals(oldPrivate.getMajorDataType()))
                                                 || (StringUtils.isNotEmpty(next.getNodeType()) && !next.getNodeType().equals(oldPrivate.getNodeType()))
-                                        || (StringUtils.isNotEmpty(next.getUniqueCode()) && !next.getUniqueCode().equals(oldPrivate.getUniqueCode()))
-                                        || (StringUtils.isNotEmpty(next.getPartitionCode()) && !next.getUniqueCode().equals(oldPrivate.getPartitionCode()))
+                                                || (StringUtils.isNotEmpty(next.getUniqueCode()) && !next.getUniqueCode().equals(oldPrivate.getUniqueCode()))
+                                                || (StringUtils.isNotEmpty(next.getPartitionCode()) && !next.getUniqueCode().equals(oldPrivate.getPartitionCode()))
                                 ) {
                                     //需要修改
                                     oldPrivate.setFullName(next.getFullName());
@@ -126,7 +126,7 @@ public class WbsTreePrivateController extends BladeController {
                     }
                 }
 
-                if(wbsTreeList.size() > 0){
+                if (wbsTreeList.size() > 0) {
                     //获取这些模板下的表格元素
                     List<Long> addNodeIds = wbsTreeList.stream().map(WbsTree::getId).distinct().collect(Collectors.toList());
                     List<WbsTree> wbsTreeTableList = this.wbsTreeService.list(Wrappers.<WbsTree>lambdaQuery().in(WbsTree::getParentId, addNodeIds).eq(WbsTree::getType, 2));
@@ -169,7 +169,7 @@ public class WbsTreePrivateController extends BladeController {
                                     if (privateNode.getId().equals(tree.getId())) {
                                         if (
                                                 (StringUtils.isNotEmpty(privateNode.getFullName(), tree.getFullName()) && !privateNode.getFullName().equals(tree.getFullName()))
-                                                || (StringUtils.isNotEmpty(privateNode.getNodeName(), tree.getNodeName()) && !privateNode.getNodeName().equals(tree.getNodeName()))
+                                                        || (StringUtils.isNotEmpty(privateNode.getNodeName(), tree.getNodeName()) && !privateNode.getNodeName().equals(tree.getNodeName()))
                                         ) {
                                             //名字不同,需要修改
                                             privateNode.setFullName(tree.getFullName());
@@ -221,7 +221,7 @@ public class WbsTreePrivateController extends BladeController {
                             .eq(WbsTreePrivate::getPKeyId, treePrivate.getPKeyId()));
                 }
             }
-            if(removeList.size() > 0){
+            if (removeList.size() > 0) {
                 List<Long> removePKeyIds = removeList.stream().map(WbsTreePrivate::getPKeyId).distinct().collect(Collectors.toList());
                 //同时删除其下的表格
                 List<Long> removeIds = removeList.stream().map(WbsTreePrivate::getId).distinct().collect(Collectors.toList());
@@ -243,7 +243,7 @@ public class WbsTreePrivateController extends BladeController {
                     .eq(WbsTreePrivate::getWbsType, "4")
                     .eq(WbsTreePrivate::getWbsId, vo.getWbsId()));
 
-            if(oldDataList != null && oldDataList.size() > 0){
+            if (oldDataList != null && oldDataList.size() > 0) {
                 //旧数据唯一键
                 List<Long> primaryKeyIds = oldDataList.stream().map(WbsTreePrivate::getPKeyId).distinct().collect(Collectors.toList());
                 //删除记录
@@ -348,14 +348,15 @@ public class WbsTreePrivateController extends BladeController {
      */
     @GetMapping("/lazy-tree")
     @ApiOperationSupport(order = 5)
-    @ApiOperation(value = "项目级懒加载节点树形结构", notes = "传入wbsId,parentId,,项目id,请求头token")
+    @ApiOperation(value = "项目级懒加载节点树形结构", notes = "传入wbsId、wbsType、parentId、项目projectId")
     @ApiImplicitParams(value = {
-            @ApiImplicitParam(name = "wbsId", value = "wbsId", required = true),
-            @ApiImplicitParam(name = "parentId", value = "父级id", required = true),
-            @ApiImplicitParam(name = "projectId", value = "项目id", required = true),
+            @ApiImplicitParam(name = "wbsId", value = "wbsId"),
+            @ApiImplicitParam(name = "wbsType", value = "wbsType"),
+            @ApiImplicitParam(name = "parentId", value = "父级id"),
+            @ApiImplicitParam(name = "projectId", value = "项目id")
     })
-    public R<List<WbsTreePrivateVO>> lazyTree(String wbsId, Long parentId, String projectId, BladeUser bladeUser, String tenantId) {
-        List<WbsTreePrivateVO> tree = wbsTreePrivateService.lazyTree(wbsId, Func.toStrWithEmpty(tenantId, bladeUser.getTenantId()), parentId, projectId);
+    public R<List<WbsTreePrivateVO>> lazyTree(String wbsId, String wbsType, Long parentId, String projectId) {
+        List<WbsTreePrivateVO> tree = wbsTreePrivateService.lazyTree(wbsId, wbsType, parentId, projectId);
         if (tree != null && tree.size() > 0) {
             return R.data(tree);
         }
@@ -366,7 +367,6 @@ public class WbsTreePrivateController extends BladeController {
     /**
      * 获取当前节点详情
      */
-
     @GetMapping("/detail")
     @ApiOperationSupport(order = 6)
     @ApiOperation(value = "详情", notes = "传入主键id,wbsId,项目id,请求头token")

+ 28 - 0
blade-service/blade-manager/src/main/java/org/springblade/manager/feign/WbsInfoClientImpl.java

@@ -0,0 +1,28 @@
+package org.springblade.manager.feign;
+
+import com.baomidou.mybatisplus.core.toolkit.Wrappers;
+import lombok.AllArgsConstructor;
+import org.springblade.manager.entity.WbsTreePrivate;
+import org.springblade.manager.mapper.WbsTreePrivateMapper;
+import org.springframework.web.bind.annotation.RestController;
+
+import java.util.List;
+
+
+@RestController
+@AllArgsConstructor
+public class WbsInfoClientImpl implements WbsInfoClient {
+
+    private final WbsTreePrivateMapper wbsTreePrivateMapper;
+
+    @Override
+    public Integer getWbsTypeByPrivateWbsId(Long id) {
+        List<WbsTreePrivate> wbsTreePrivates = wbsTreePrivateMapper.selectList(Wrappers.<WbsTreePrivate>query().lambda().eq(WbsTreePrivate::getWbsId, id));
+        String wbsType = wbsTreePrivates.stream().map(WbsTreePrivate::getWbsType).findAny().orElse(null);
+        if (wbsType != null) {
+            return Integer.parseInt(wbsType);
+        }
+        return null;
+    }
+
+}

+ 8 - 5
blade-service/blade-manager/src/main/java/org/springblade/manager/mapper/ProjectInfoMapper.java

@@ -12,15 +12,18 @@ import java.util.List;
 
 public interface ProjectInfoMapper extends BaseMapper<ProjectInfo> {
 
-	List<ProjectUserAmountVO> queryProjectUserAmount();
+    List<ProjectUserAmountVO> queryProjectUserAmount();
 
-	List<SingPfxManagementVO> singPfxManagementPage(@Param("current") Long current, @Param("size") Integer size, @Param("vo") SingPfxManagementVO vo, @Param("alias") String alias);
+    List<SingPfxManagementVO> singPfxManagementPage(@Param("current") Long current, @Param("size") Integer size, @Param("vo") SingPfxManagementVO vo, @Param("alias") String alias);
 
-	List<ProjectInfo> selectProjectList(@Param("projectIds") List<String> projectIds);
+    List<ProjectInfo> selectProjectList(@Param("projectIds") List<String> projectIds);
 
-	List<ProjectInfoVO> selectProjectInfoPage(IPage page, ProjectInfoVO projectInfo);
+    List<ProjectInfoVO> selectProjectInfoPage(IPage page, ProjectInfoVO projectInfo);
 
-    void updateTemplateIdById(String projectId, String referencePrivateWbsProjectId,String type);
+    void updateTemplateInfoQuality(String projectId, String referencePrivateWbsProjectId, String type);
+
+    void updateTemplateInfoTrial(String projectId, String referencePrivateWbsProjectId, String type);
 
     ProjectInfo selectOneAndWbsTypeById(Long id);
+
 }

+ 24 - 11
blade-service/blade-manager/src/main/java/org/springblade/manager/mapper/ProjectInfoMapper.xml

@@ -31,6 +31,8 @@
         <result column="is_open_sign" property="isOpenSign"/>
         <result column="reference_wbs_template_id" property="referenceWbsTemplateId"/>
         <result column="reference_wbs_template_type" property="referenceWbsTemplateType"/>
+        <result column="reference_wbs_template_id_trial" property="referenceWbsTemplateIdTrial"/>
+        <result column="reference_wbs_template_type_trial" property="referenceWbsTemplateTypeTrial"/>
         <result column="reference_log_wbs_template_id" property="referenceLogWbsTemplateId"/>
         <result column="is_open_random_number" property="isOpenRandomNumber"/>
     </resultMap>
@@ -62,16 +64,17 @@
 
     <select id="singPfxManagementPage" resultMap="singPfxManagementResultMap">
         select
-            pi.id,
-            <choose>
-                <when test="alias != null and alias != ''">
-                    pi.project_alias AS project_name
-                </when>
-                <otherwise>
-                    pi.project_name AS project_name
-                </otherwise>
-            </choose>,
-            (select id from m_contract_info where is_deleted = 0 and p_id = pi.id limit 1) AS contractId
+        pi.id,
+        <choose>
+            <when test="alias != null and alias != ''">
+                pi.project_alias AS project_name
+            </when>
+            <otherwise>
+                pi.project_name AS project_name
+            </otherwise>
+        </choose>
+        ,
+        (select id from m_contract_info where is_deleted = 0 and p_id = pi.id limit 1) AS contractId
         from m_project_info AS pi where pi.is_deleted = 0
         <if test="vo.projectId != null">
             and pi.id = #{vo.projectId}
@@ -86,7 +89,7 @@
         </foreach>
     </select>
 
-    <update id="updateTemplateIdById">
+    <update id="updateTemplateInfoQuality">
         UPDATE  m_project_info
         SET reference_wbs_template_id = #{referencePrivateWbsProjectId},
             reference_wbs_template_type = #{type}
@@ -96,6 +99,16 @@
         AND status = 1
     </update>
 
+    <update id="updateTemplateInfoTrial">
+        UPDATE  m_project_info
+        SET reference_wbs_template_id_trial = #{referencePrivateWbsProjectId},
+            reference_wbs_template_type_trial = #{type}
+        WHERE
+        id = #{projectId}
+        AND is_deleted = 0
+        AND status = 1
+    </update>
+
     <select id="selectProjectInfoPage" resultMap="projectInfoResultMap">
         select * from m_project_info where is_deleted = 0
     </select>

+ 1 - 2
blade-service/blade-manager/src/main/java/org/springblade/manager/mapper/WbsInfoMapper.xml

@@ -46,8 +46,7 @@
     </select>
 
     <select id="selectById2" resultMap="wbsInfoResultMap">
-        SELECT * FROM m_wbs_info
-        WHERE id = #{id}
+        SELECT * FROM m_wbs_info WHERE id = #{id}
     </select>
 
 </mapper>

+ 2 - 0
blade-service/blade-manager/src/main/java/org/springblade/manager/mapper/WbsTreeContractMapper.java

@@ -82,4 +82,6 @@ public interface WbsTreeContractMapper extends EasyBaseMapper<WbsTreeContract> {
 
     void updateBatchWbsContract(@Param("listContract") List<WbsTreeContract> listContract);
 
+    void updateDeletedByIds(@Param("ids") List<Long> ids);
+
 }

+ 11 - 0
blade-service/blade-manager/src/main/java/org/springblade/manager/mapper/WbsTreeContractMapper.xml

@@ -530,6 +530,17 @@
         </foreach>
     </update>
 
+    <update id="updateDeletedByIds">
+        UPDATE m_wbs_tree_contract
+        SET is_deleted = 1
+        WHERE status = 1
+        AND type = 2
+        AND p_key_id in
+        <foreach item="ids" collection="ids" open="(" close=")" separator=",">
+            #{ids}
+        </foreach>
+    </update>
+
     <select id="selectQueryValueLikeNodeName" resultMap="ResultMap">
         select *
         from m_wbs_tree_contract

+ 3 - 3
blade-service/blade-manager/src/main/java/org/springblade/manager/mapper/WbsTreePrivateMapper.java

@@ -36,9 +36,9 @@ public interface WbsTreePrivateMapper extends EasyBaseMapper<WbsTreePrivate> {
 
     List<WbsNodeTableVO> selectByNodeTable(String id, String wbsId, String projectId);
 
-    int updateByCondition1(String id, String wbsId, String projectId);
+    void updateDeletedByCondition(String id, String wbsId, String projectId);
 
-    List<WbsTreePrivateVO> lazyTree(String wbsId, String tenantId, Long parentId, String projectId);
+    List<WbsTreePrivateVO> lazyTree(String wbsId, Integer wbsType, Long parentId, String projectId);
 
     List<WbsTreePrivateVO> tabTypeLazyTree(Long parentId, String projectId);
 
@@ -74,7 +74,7 @@ public interface WbsTreePrivateMapper extends EasyBaseMapper<WbsTreePrivate> {
 
     void updateBatchByIds2(@Param("wbsTreePrivate") WbsTreePrivate wbsTreePrivate, @Param("projectId") String projectId, @Param("wbsId") String wbsId);
 
-    void updateBatchWbsPrivate(@Param("listPrivate")List<WbsTreePrivate> listPrivate);
+    void updateBatchWbsPrivate(@Param("listPrivate") List<WbsTreePrivate> listPrivate);
 
     List<WbsNodeTableVO> selectNodeTabAndParamList(String id, String wbsId, String projectId);
 

+ 6 - 11
blade-service/blade-manager/src/main/java/org/springblade/manager/mapper/WbsTreePrivateMapper.xml

@@ -135,7 +135,7 @@
           AND type = 2
     </update>
 
-    <update id="updateByCondition1">
+    <update id="updateDeletedByCondition">
         UPDATE m_wbs_tree_private
         SET is_deleted = 1
         WHERE status = 1
@@ -297,10 +297,9 @@
         FROM
         m_wbs_tree_private d
         WHERE
-        d.parent_id = #{parentId} AND d.is_deleted = 0
-        <if test="tenantId!=null and tenantId!=''">
-            and d.tenant_id = #{tenantId}
-        </if>
+        d.is_deleted = 0
+        AND d.parent_id = #{parentId}
+        AND d.wbs_type = #{wbsType}
         AND d.project_id = #{projectId}
         AND d.wbs_id = #{wbsId}
         AND d.type = 1
@@ -341,12 +340,8 @@
         is_deleted = 0
         and status = 1
         and `type` = 1
-        <if test="projectId !=null and projectId != ''">
-            and project_id = #{projectId}
-        </if>
-        <if test="wbsId!=null and wbsId!=''">
-            and wbs_id = #{wbsId}
-        </if>
+        and project_id = #{projectId}
+        and wbs_id = #{wbsId}
         <if test="wbsType != null and wbsType != ''">
             and wbs_type = #{wbsType}
         </if>

+ 0 - 2
blade-service/blade-manager/src/main/java/org/springblade/manager/service/IProjectInfoService.java

@@ -23,6 +23,4 @@ public interface IProjectInfoService extends BaseService<ProjectInfo> {
 
 	ProjectInfoVO2 getOneByCondition(Long id, Long referenceWbsTemplateId, String referenceWbsTemplateType);
 
-
-
 }

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

@@ -18,4 +18,5 @@ public interface IWbsInfoService extends BaseService<WbsInfo> {
     boolean submit(WbsInfoDTO wbsInfo);
 
     WbsInfo findById(Long id);
+
 }

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

@@ -44,6 +44,6 @@ public interface IWbsTreeContractService extends BaseService<WbsTreeContract> {
 
     boolean submitRelation(WbsTreeContractDTO2 wbsTreeContractDTO2);
 
-    boolean concealedWorksNode(String pKeyId);
+    boolean concealedWorksNode(String pKeyId, Integer type);
 
 }

+ 2 - 1
blade-service/blade-manager/src/main/java/org/springblade/manager/service/IWbsTreePrivateService.java

@@ -13,6 +13,7 @@ import org.springblade.manager.vo.WbsTreePrivateVO;
 import java.util.List;
 
 public interface IWbsTreePrivateService extends BaseService<WbsTreePrivate> {
+
     List<WbsTreePrivateVO> tree(String wbsId, String projectId);
 
     boolean submit(WbsTreePrivate wbsTreePrivate);
@@ -21,7 +22,7 @@ public interface IWbsTreePrivateService extends BaseService<WbsTreePrivate> {
 
     boolean removeTableByCondition(String id, String wbsId, String projectId);
 
-    List<WbsTreePrivateVO> lazyTree(String wbsId, String tenantId, Long parentId, String projectId);
+    List<WbsTreePrivateVO> lazyTree(String wbsId, String wbsType, Long parentId, String projectId);
 
     // 项目级 表单类型划分
     List<WbsTreePrivateVO> tabTypeLazyTree(Long parentId, String projectId);

+ 10 - 19
blade-service/blade-manager/src/main/java/org/springblade/manager/service/impl/WbsTreeContractServiceImpl.java

@@ -387,36 +387,27 @@ public class WbsTreeContractServiceImpl extends BaseServiceImpl<WbsTreeContractM
     }
 
     @Override
-    public boolean concealedWorksNode(String pKeyId) {
+    public boolean concealedWorksNode(String pKeyId, Integer type) {
         if (StringUtils.isNotEmpty(pKeyId)) {
             //获取节点信息
             WbsTreeContract wbsTreeContract = baseMapper.selectOne(Wrappers.<WbsTreeContract>query().lambda().eq(WbsTreeContract::getPKeyId, pKeyId));
-            List<ContractInfo> contractInfos = contractInfoMapper.selectList(Wrappers.<ContractInfo>query().lambda()
-                    .eq(ContractInfo::getPId, wbsTreeContract.getProjectId())
-                    .eq(ContractInfo::getStatus, 1)
-                    .eq(ContractInfo::getContractType, 1)
+            //获取当前项目所有合同段下相同节点
+            List<WbsTreeContract> wbsTreeContractList = baseMapper.selectList(Wrappers.<WbsTreeContract>query().lambda()
+                    .eq(WbsTreeContract::getId, wbsTreeContract.getId())
+                    .eq(WbsTreeContract::getProjectId, wbsTreeContract.getProjectId())
+                    .eq(WbsTreeContract::getStatus, 1)
+                    .eq(WbsTreeContract::getType, 1)
             );
-            List<WbsTreeContract> wbsTreeContractList = new ArrayList<>();
-            for (ContractInfo contractInfo : contractInfos) {
-                WbsTreeContract node = baseMapper.selectOne(Wrappers.<WbsTreeContract>query().lambda()
-                        .eq(WbsTreeContract::getId, wbsTreeContract.getId())
-                        .eq(WbsTreeContract::getProjectId, wbsTreeContract.getProjectId())
-                        .eq(WbsTreeContract::getContractId, contractInfo.getId())
-                        .eq(WbsTreeContract::getStatus, 1)
-                        .eq(WbsTreeContract::getType, 1)
-                );
-                wbsTreeContractList.add(node);
-            }
+
             //标记是否隐蔽工程节点
             wbsTreeContractList.removeIf(Objects::isNull);
             for (WbsTreeContract treeContract : wbsTreeContractList) {
                 if (ObjectUtil.isEmpty(treeContract.getIsConcealedWorksNode())) {
                     treeContract.setIsConcealedWorksNode(0);
                 }
-                treeContract.setIsConcealedWorksNode(treeContract.getIsConcealedWorksNode().equals(0) ? 1 : 0);
+                treeContract.setIsConcealedWorksNode(type == 1 ? 1 : 0);
                 LambdaUpdateWrapper<WbsTreeContract> updateWrapper = new LambdaUpdateWrapper<>();
-                updateWrapper.eq(WbsTreeContract::getPKeyId, treeContract.getPKeyId())
-                        .set(WbsTreeContract::getIsConcealedWorksNode, treeContract.getIsConcealedWorksNode());
+                updateWrapper.eq(WbsTreeContract::getPKeyId, treeContract.getPKeyId()).set(WbsTreeContract::getIsConcealedWorksNode, treeContract.getIsConcealedWorksNode());
                 baseMapper.update(null, updateWrapper);
             }
             return true;

+ 27 - 12
blade-service/blade-manager/src/main/java/org/springblade/manager/service/impl/WbsTreePrivateServiceImpl.java

@@ -9,10 +9,8 @@ import lombok.AllArgsConstructor;
 import org.springblade.common.utils.SnowFlakeUtil;
 import org.springblade.core.log.exception.ServiceException;
 import org.springblade.core.mp.base.BaseServiceImpl;
-import org.springblade.core.secure.utils.AuthUtil;
 import org.springblade.core.tool.node.ForestNodeMerger;
 import org.springblade.core.tool.utils.BeanUtil;
-import org.springblade.core.tool.utils.StringPool;
 import org.springblade.manager.dto.WbsTreePrivateDTO2;
 import org.springblade.manager.dto.WbsTreePrivateDTO3;
 import org.springblade.manager.entity.*;
@@ -40,14 +38,23 @@ public class WbsTreePrivateServiceImpl extends BaseServiceImpl<WbsTreePrivateMap
     private final WbsParamServiceImpl wbsParamServiceImpl;
     private final WbsParamMapper wbsParamMapper;
     private final ProjectInfoMapper projectInfoMapper;
+    private final WbsTreePrivateMapper wbsTreePrivateMapper;
 
     @Override
     public List<WbsTreePrivateVO> tree(String wbsId, String projectId) {
         WbsInfo wbsInfo = wbsInfoMapper.selectOne(Wrappers.<WbsInfo>query().lambda().eq(WbsInfo::getId, wbsId));
         if (wbsInfo != null) {
+            //公有引用
             return ForestNodeMerger.merge(baseMapper.tree(wbsId, projectId, wbsInfo.getWbsType()));
+        } else {
+            //私有引用
+            WbsTreePrivate nodeRoot = wbsTreePrivateMapper.selectOne(Wrappers.<WbsTreePrivate>query().lambda().eq(WbsTreePrivate::getWbsId, wbsId).eq(WbsTreePrivate::getProjectId, projectId).eq(WbsTreePrivate::getParentId, 0L));
+            if (nodeRoot != null) {
+                return ForestNodeMerger.merge(baseMapper.tree(wbsId, projectId, Integer.valueOf(nodeRoot.getWbsType())));
+            } else {
+                throw new ServiceException("未获取到当前wbs项目树的类型");
+            }
         }
-        return ForestNodeMerger.merge(baseMapper.tree(wbsId, projectId, null));
     }
 
     @Override
@@ -131,20 +138,28 @@ public class WbsTreePrivateServiceImpl extends BaseServiceImpl<WbsTreePrivateMap
     }
 
     @Override
+    @Transactional(rollbackFor = Exception.class)
     public boolean removeTableByCondition(String id, String wbsId, String projectId) {
-        int integer = baseMapper.updateByCondition1(id, wbsId, projectId);
-        if (integer > 0) {
-            return true;
+        List<WbsTreeContract> wbsTreeContractsTable = wbsTreeContractMapper.selectList(Wrappers.<WbsTreeContract>query().lambda()
+                .eq(WbsTreeContract::getProjectId, projectId)
+                .eq(WbsTreeContract::getId, id)
+                .eq(WbsTreeContract::getWbsId, wbsId)
+                .eq(WbsTreeContract::getType, 2)
+                .eq(WbsTreeContract::getStatus, 1));
+        List<Long> ids = wbsTreeContractsTable.stream().map(WbsTreeContract::getPKeyId).collect(Collectors.toList());
+
+        //删除项目表
+        baseMapper.updateDeletedByCondition(id, wbsId, projectId);
+        //删除当前项目下合同段的表
+        if (ids.size() > 0) {
+            wbsTreeContractMapper.updateDeletedByIds(ids);
         }
-        return false;
+        return true;
     }
 
     @Override
-    public List<WbsTreePrivateVO> lazyTree(String wbsId, String tenantId, Long parentId, String projectId) {
-        if (AuthUtil.isAdministrator()) {
-            tenantId = StringPool.EMPTY;
-        }
-        return ForestNodeMerger.merge(baseMapper.lazyTree(wbsId, tenantId, parentId, projectId));
+    public List<WbsTreePrivateVO> lazyTree(String wbsId, String wbsType, Long parentId, String projectId) {
+        return ForestNodeMerger.merge(baseMapper.lazyTree(wbsId, Integer.valueOf(wbsType), parentId, projectId));
     }
 
     @Override

+ 17 - 2
blade-service/blade-manager/src/main/java/org/springblade/manager/service/impl/WbsTreeServiceImpl.java

@@ -621,12 +621,27 @@ public class WbsTreeServiceImpl extends BaseServiceImpl<WbsTreeMapper, WbsTree>
                     }
 
                     if (pawDTO.getReferenceType().equals("public")) {
+
                         this.insertBatch(insertData1, 1000);
-                        projectInfoMapper.updateTemplateIdById(pawDTO.getProjectId(), pawDTO.getWbsId(), "public");
+
+                        if (pawDTO.getWbsType() == 1) { //修改质检关联信息
+                            projectInfoMapper.updateTemplateInfoQuality(pawDTO.getProjectId(), pawDTO.getWbsId(), "public");
+                        }
+                        if (pawDTO.getWbsType() == 2) { //修改试验关联信息
+                            projectInfoMapper.updateTemplateInfoTrial(pawDTO.getProjectId(), pawDTO.getWbsId(), "public");
+                        }
                     } else if (pawDTO.getReferenceType().equals("private")) {
+
                         this.insertBatch(insertData2, 1000);
+
                         textDictInfoService.saveBatch(insertData3, 1000);
-                        projectInfoMapper.updateTemplateIdById(pawDTO.getProjectId(), pawDTO.getPrimaryKeyId(), "private");
+
+                        if (pawDTO.getWbsType() == 1) { //修改质检关联信息
+                            projectInfoMapper.updateTemplateInfoQuality(pawDTO.getProjectId(), pawDTO.getPrimaryKeyId(), "private");
+                        }
+                        if (pawDTO.getWbsType() == 2) { //修改试验关联信息
+                            projectInfoMapper.updateTemplateInfoTrial(pawDTO.getProjectId(), pawDTO.getPrimaryKeyId(), "private");
+                        }
                     }
                     if (saveIds.size() >= 1000) {
                         bladeRedis.set("submit-wbs-project:" + pawDTO.getProjectId(), "1");

+ 5 - 2
blade-service/blade-manager/src/main/java/org/springblade/manager/wrapper/ProjectInfoWrapper.java

@@ -17,8 +17,11 @@ public class ProjectInfoWrapper extends BaseEntityWrapper<ProjectInfo, ProjectIn
 
     @Override
     public ProjectInfoVO entityVO(ProjectInfo projectInfo) {
-        return Objects.requireNonNull(BeanUtil.copy(projectInfo, ProjectInfoVO.class));
-
+        ProjectInfoVO obj = new ProjectInfoVO();
+        obj.setReferenceWbsTemplateIdTrial(projectInfo.getReferenceWbsTemplateId());
+        obj.setReferenceWbsTemplateTypeTrial(projectInfo.getReferenceWbsTemplateTypeTrial());
+        BeanUtil.copy(projectInfo, obj);
+        return Objects.requireNonNull(obj);
     }
 
 }