liuyc 3 anni fa
parent
commit
0094909382
18 ha cambiato i file con 374 aggiunte e 72 eliminazioni
  1. 52 0
      blade-service-api/blade-manager-api/src/main/java/org/springblade/manager/dto/ProjectAssignmentWbstreeDTO.java
  2. 50 0
      blade-service-api/blade-manager-api/src/main/java/org/springblade/manager/entity/ProjectAssignmentWbstree.java
  3. 10 0
      blade-service-api/blade-user-api/src/main/java/org/springblade/system/user/feign/IUserClient.java
  4. 7 11
      blade-service/blade-manager/src/main/java/org/springblade/manager/controller/ContractInfoController.java
  5. 39 9
      blade-service/blade-manager/src/main/java/org/springblade/manager/controller/ProjectInfoController.java
  6. 9 7
      blade-service/blade-manager/src/main/java/org/springblade/manager/controller/WbsTreeController.java
  7. 9 0
      blade-service/blade-manager/src/main/java/org/springblade/manager/mapper/ProjectAssignmentWbstreeMapper.java
  8. 21 0
      blade-service/blade-manager/src/main/java/org/springblade/manager/mapper/ProjectAssignmentWbstreeMapper.xml
  9. 1 1
      blade-service/blade-manager/src/main/java/org/springblade/manager/mapper/WbsTreeMapper.java
  10. 11 5
      blade-service/blade-manager/src/main/java/org/springblade/manager/mapper/WbsTreeMapper.xml
  11. 14 0
      blade-service/blade-manager/src/main/java/org/springblade/manager/service/IProjectAssignmentWbstreeService.java
  12. 0 1
      blade-service/blade-manager/src/main/java/org/springblade/manager/service/IProjectInfoService.java
  13. 1 1
      blade-service/blade-manager/src/main/java/org/springblade/manager/service/IWbsTreeService.java
  14. 69 0
      blade-service/blade-manager/src/main/java/org/springblade/manager/service/impl/ProjectAssignmentWbstreeServiceImpl.java
  15. 2 0
      blade-service/blade-manager/src/main/java/org/springblade/manager/service/impl/ProjectInfoServiceImpl.java
  16. 2 2
      blade-service/blade-manager/src/main/java/org/springblade/manager/service/impl/WbsTreeServiceImpl.java
  17. 35 0
      blade-service/blade-manager/src/main/test/testDemo01.java
  18. 42 35
      blade-service/blade-user/src/main/java/org/springblade/system/user/feign/UserClient.java

+ 52 - 0
blade-service-api/blade-manager-api/src/main/java/org/springblade/manager/dto/ProjectAssignmentWbstreeDTO.java

@@ -0,0 +1,52 @@
+package org.springblade.manager.dto;
+
+import com.fasterxml.jackson.annotation.JsonProperty;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.AllArgsConstructor;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+import org.springblade.manager.entity.ProjectAssignmentWbstree;
+
+
+/**
+ * 项目分配wbs传输对象实体类
+ *
+ * @author liuyc
+ * @since 2022-05-12
+ */
+@Data
+@AllArgsConstructor
+@NoArgsConstructor
+public class ProjectAssignmentWbstreeDTO extends ProjectAssignmentWbstree {
+    private static final long serialVersionUID = 1L;
+
+    /**
+     * 项目Id
+     */
+    @JsonProperty(value = "projectId")
+    @ApiModelProperty(name = "projectId", value = "项目Id", required = true)
+    private String projectId;
+
+    /**
+     * 合同Id
+     */
+    @JsonProperty(value = "contractId")
+    @ApiModelProperty(name = "contractId", value = "合同Id", required = true)
+    private String contractId;
+
+    /**
+     * wbsId
+     */
+    @JsonProperty(value = "wbsId")
+    @ApiModelProperty(name = "wbsId", value = "wbsId", required = true)
+    private String wbsId;
+
+    /**
+     * wbsTreeId
+     */
+    @JsonProperty(value = "wbsTreeId")
+    @ApiModelProperty(name = "wbsTreeIds", value = "字符串拼接wbsTreeIds", required = true)
+    private String wbsTreeId;
+
+
+}

+ 50 - 0
blade-service-api/blade-manager-api/src/main/java/org/springblade/manager/entity/ProjectAssignmentWbstree.java

@@ -0,0 +1,50 @@
+package org.springblade.manager.entity;
+
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import org.springblade.core.mp.base.BaseEntity;
+
+
+
+
+/**
+ * 项目分配wbs对象实体类
+ *
+ * @author liuyc
+ * @since 2022-05-12
+ */
+@Data
+@TableName("m_project_assignment_wbstree")
+@EqualsAndHashCode(callSuper = true)
+public class ProjectAssignmentWbstree extends BaseEntity {
+    private static final long serialVersionUID = 1L;
+
+
+    /**
+     * 项目Id
+     */
+    @TableField("project_id")
+    private String projectId;
+
+    /**
+     * 合同Id
+     */
+    @TableField("contract_id")
+    private String contractId;
+
+    /**
+     * wbsId
+     */
+    @TableField("wbs_id")
+    private String wbsId;
+
+    /**
+     * wbsTreeIds
+     */
+    @TableField("wbs_tree_id")
+    private String wbsTreeId;
+
+}

+ 10 - 0
blade-service-api/blade-user-api/src/main/java/org/springblade/system/user/feign/IUserClient.java

@@ -17,8 +17,11 @@
 package org.springblade.system.user.feign;
 
 
+import io.swagger.annotations.ApiOperation;
+import io.swagger.annotations.ApiParam;
 import org.springblade.core.launch.constant.AppConstant;
 import org.springblade.core.tool.api.R;
+import org.springblade.core.tool.constant.RoleConstant;
 import org.springblade.system.user.entity.User;
 import org.springblade.system.user.entity.UserInfo;
 import org.springblade.system.user.entity.UserOauth;
@@ -115,4 +118,11 @@ public interface IUserClient {
 	@PostMapping(REMOVE_USER)
 	R<Boolean> removeUser(@RequestParam("tenantIds") String tenantIds);
 
+	/**
+	 * 重置密码
+	 */
+	@PostMapping("/reset-password")
+	R resetPassword(@ApiParam(value = "userId集合", required = true) @RequestParam String userIds);
+
+
 }

+ 7 - 11
blade-service/blade-manager/src/main/java/org/springblade/manager/controller/ContractInfoController.java

@@ -35,6 +35,7 @@ import org.springblade.manager.dto.SaveUserInfoByProjectDTO;
 import org.springblade.manager.service.SaveUserInfoByProjectService;
 import org.springblade.manager.vo.CRolePostVO;
 import org.springblade.system.user.entity.User;
+import org.springblade.system.user.feign.IUserClient;
 import org.springframework.web.bind.annotation.*;
 import org.springframework.web.bind.annotation.RequestParam;
 
@@ -60,6 +61,7 @@ public class ContractInfoController extends BladeController {
 
     private final IContractInfoService contractInfoService;
     private final SaveUserInfoByProjectService saveUserInfoByProject;
+    private final IUserClient iUserClient;
 
     /**
      * 详情
@@ -245,17 +247,13 @@ public class ContractInfoController extends BladeController {
     /**
      * 重置密码
      */
-    @PostMapping("/updatePasswordByUserId")
+    @PostMapping("/resetPasswordByUserId")
     @ApiOperationSupport(order = 13)
-    @ApiOperation(value = "重置密码", notes = "传入当前用户的userId,新password")
-    public R updatePasswordByUserId(String userId,String password){
+    @ApiOperation(value = "重置密码", notes = "传入当前用户的userId,默认重置密码123456")
+    public R updatePasswordByUserId(@ApiParam(value = "用户userId", required = true) @RequestParam String userId){
         if (StringUtils.isNotEmpty(userId)){
-            //todo 密码重置后未加密
-            Boolean b = contractInfoService.updatePasswordByUserId(userId,password);
-            if (b){
-                return R.success("重置密码成功");
-            }
-        }return R.fail("重置密码失败");
+            return iUserClient.resetPassword(userId);
+        }return R.fail("操作失败");
     }
 
 
@@ -263,6 +261,4 @@ public class ContractInfoController extends BladeController {
 
 
 
-
-
 }

+ 39 - 9
blade-service/blade-manager/src/main/java/org/springblade/manager/controller/ProjectInfoController.java

@@ -16,7 +16,6 @@
  */
 package org.springblade.manager.controller;
 
-import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import io.swagger.annotations.*;
 import com.github.xiaoymin.knife4j.annotations.ApiOperationSupport;
@@ -28,9 +27,11 @@ import org.springblade.core.mp.support.Condition;
 import org.springblade.core.mp.support.Query;
 import org.springblade.core.tool.api.R;
 import org.springblade.core.tool.utils.Func;
+import org.springblade.manager.dto.ProjectAssignmentWbstreeDTO;
 import org.springblade.manager.dto.ProjectInfoDTO;
+import org.springblade.manager.entity.ProjectAssignmentWbstree;
+import org.springblade.manager.service.IProjectAssignmentWbstreeService;
 import org.springblade.manager.vo.ContractlnfoCountVO;
-import org.springframework.util.StringUtils;
 import org.springframework.web.bind.annotation.*;
 import org.springframework.web.bind.annotation.RequestParam;
 import org.springblade.manager.entity.ProjectInfo;
@@ -39,7 +40,6 @@ import org.springblade.manager.wrapper.ProjectInfoWrapper;
 import org.springblade.manager.service.IProjectInfoService;
 import org.springblade.core.boot.ctrl.BladeController;
 
-import java.util.Arrays;
 import java.util.List;
 
 /**
@@ -55,6 +55,7 @@ import java.util.List;
 public class ProjectInfoController extends BladeController {
 
     private final IProjectInfoService projectInfoService;
+    private final IProjectAssignmentWbstreeService projectAssignmentWbstreeService;
 
     /**
      * 详情
@@ -89,8 +90,8 @@ public class ProjectInfoController extends BladeController {
     @ApiOperationSupport(order = 3)
     @ApiOperation(value = "自定义分页", notes = "传入projectInfo")
     @ApiImplicitParams(value = {
-                    @ApiImplicitParam(name = "current", value = "当前页", required = true),
-                    @ApiImplicitParam(name = "size", value = "每页的数量", required = true)
+            @ApiImplicitParam(name = "current", value = "当前页", required = true),
+            @ApiImplicitParam(name = "size", value = "每页的数量", required = true)
     })
     public R<IPage<ProjectInfoVO>> page(ProjectInfoVO projectInfo, Query query) {
         IPage<ProjectInfoVO> pages = projectInfoService.selectProjectInfoPage(Condition.getPage(query), projectInfo);
@@ -124,8 +125,8 @@ public class ProjectInfoController extends BladeController {
     @PostMapping("/submit")
     @ApiOperationSupport(order = 6)
     @ApiOperation(value = "新增或修改", notes = "传入projectInfo")
-	@ApiImplicitParam(value = "id",name = "id",required = true)
-	public R submit(@Valid @RequestBody ProjectInfo projectInfo) {
+    @ApiImplicitParam(value = "id", name = "id", required = true)
+    public R submit(@Valid @RequestBody ProjectInfo projectInfo) {
         return R.status(projectInfoService.saveOrUpdate(projectInfo));
     }
 
@@ -146,12 +147,41 @@ public class ProjectInfoController extends BladeController {
      * @return
      */
     @GetMapping("/listContractInfoCount")
-	@ApiOperationSupport(order = 8)
-	@ApiOperation(value = "统计合同数", notes = "null")
+    @ApiOperationSupport(order = 8)
+    @ApiOperation(value = "统计合同数", notes = "null")
     public List<ContractlnfoCountVO> selectContractInfoCount() {
         List<ContractlnfoCountVO> contractlnfoCountsVO = projectInfoService.selectContractInfoCount();
         return contractlnfoCountsVO;
     }
 
+    /**
+     * 项目合同分配wbs树保存
+     */
+    @PostMapping("/saveWbsTreeInProject")
+    @ApiOperationSupport(order = 9)
+    @ApiOperation(value = "保存项目合同分配wbs树", notes = "ProjectAssignmentWbstreeDTO")
+    public R saveWbsTreeInProject(@RequestBody ProjectAssignmentWbstreeDTO projectAssignmentWbstreeDTO) {
+
+        Boolean b = projectAssignmentWbstreeService.saveWbsTreeInProject(projectAssignmentWbstreeDTO);
+        if (b){
+            return R.data(projectAssignmentWbstreeDTO,"操作成功");
+        }
+        return R.fail("操作失败");
+    }
+
+    /**
+     * 项目合同分配wbs树修改
+     */
+    @PostMapping("/updateWbsTreeInProject")
+    @ApiOperationSupport(order = 10)
+    @ApiOperation(value = "修改项目合同分配wbs树", notes = "ProjectAssignmentWbstreeDTO")
+    @ApiImplicitParam(name = "id",value = "主键id",required = true)
+    public R updateWbsTreeInProject(@RequestBody ProjectAssignmentWbstreeDTO projectAssignmentWbstreeDTO) {
+        Boolean b = projectAssignmentWbstreeService.updateWbsTreeInProject(projectAssignmentWbstreeDTO);
+        if (b){
+            return R.success("操作成功");
+        }
+        return R.fail("操作失败");
+    }
 
 }

+ 9 - 7
blade-service/blade-manager/src/main/java/org/springblade/manager/controller/WbsTreeController.java

@@ -95,7 +95,7 @@ public class WbsTreeController extends BladeController {
             @ApiImplicitParam(name = "wbsId", value = "wbsId", required = true),
             @ApiImplicitParam(name = "parentId", value = "父级id", required = true),
     })
-    public R<List<WbsTreeVO>> lazyTree(String wbsId, Long parentId, BladeUser bladeUser,String tenantId) {
+    public R<List<WbsTreeVO>> lazyTree(String wbsId, Long parentId, BladeUser bladeUser, String tenantId) {
         List<WbsTreeVO> tree = wbsTreeService.lazyTree(wbsId, Func.toStrWithEmpty(tenantId, bladeUser.getTenantId()), parentId);
         if (tree != null && tree.size() > 0) {
             return R.data(tree);
@@ -104,18 +104,20 @@ public class WbsTreeController extends BladeController {
     }
 
     /**
-     * 获取项目节点树形结构 (新增、修改加载)
+     * 获取项目节点树形结构 (新增、修改加载、分配合同wbs树加载type=1)
      *
      * @return
      */
     @GetMapping("/tree")
     @ApiOperationSupport(order = 3)
-    @ApiOperation(value = "节点树形结构", notes = "传入tenantId,请求头token")
+    @ApiOperation(value = "节点树形结构", notes = "传入租户Id、wbsId、type、请求头token")
     @ApiImplicitParams(value = {
             @ApiImplicitParam(name = "tenantId", value = "租户id", required = true),
+            @ApiImplicitParam(name = "wbsId", value = "wbsId", required = true),
+            @ApiImplicitParam(name = "type", value = "节点类型type '1'节点or'2'表单", defaultValue = "", required = false),
     })
-    public R<List<WbsTreeVO>> tree(String tenantId, BladeUser bladeUser) {
-        List<WbsTreeVO> tree = wbsTreeService.tree(Func.toStrWithEmpty(tenantId, bladeUser.getTenantId()));
+    public R<List<WbsTreeVO>> tree(String wbsId, String type, String tenantId, BladeUser bladeUser) {
+        List<WbsTreeVO> tree = wbsTreeService.tree(wbsId, Func.toStrWithEmpty(tenantId, bladeUser.getTenantId()), type);
         if (tree != null && tree.size() > 0) {
             return R.data(tree);
         }
@@ -220,7 +222,7 @@ public class WbsTreeController extends BladeController {
         //查询当前新建表单的id //todo 通过表单名字查询 表单名不是唯一 待商榷
         String tableId = wbsTreeService.selectTableIdByTableName(formElementDTO.getDeptName());
 
-        if (tableId.equals("-1")){
+        if (tableId.equals("-1")) {
             return R.fail("表单名已经存在,请重新填写表单名");
         }
 
@@ -249,7 +251,6 @@ public class WbsTreeController extends BladeController {
     @ApiOperation(value = "编辑表单元素批量修改", notes = "传入WbsFormElement")
     @ApiImplicitParam(name = "ids", value = "元素的id集合", required = true)
     public R updateBatchElements(@RequestBody List<WbsFormElement> wbsFormElementList) {
-//      Boolean b1 = wbsFormElementService.selectElementsById(wbsFormElementList);
         boolean b = wbsFormElementService.updateBatchById(wbsFormElementList);
         if (b) {
             return R.success("修改成功");
@@ -257,6 +258,7 @@ public class WbsTreeController extends BladeController {
         return R.fail("修改失败");
     }
 
+
 }
 
 

+ 9 - 0
blade-service/blade-manager/src/main/java/org/springblade/manager/mapper/ProjectAssignmentWbstreeMapper.java

@@ -0,0 +1,9 @@
+package org.springblade.manager.mapper;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import org.springblade.manager.entity.ProjectAssignmentWbstree;
+
+
+public interface ProjectAssignmentWbstreeMapper extends BaseMapper<ProjectAssignmentWbstree> {
+
+}

+ 21 - 0
blade-service/blade-manager/src/main/java/org/springblade/manager/mapper/ProjectAssignmentWbstreeMapper.xml

@@ -0,0 +1,21 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="org.springblade.manager.mapper.ProjectAssignmentWbstreeMapper">
+
+    <!-- 通用查询映射结果 -->
+    <resultMap id="ResultMap" type="org.springblade.manager.entity.ProjectAssignmentWbstree">
+        <result column="id" property="id"/>
+        <result column="project_id" property="projectId"/>
+        <result column="contract_id" property="contractId"/>
+        <result column="wbs_id" property="wbsId"/>
+        <result column="wbs_tree_id" property="wbsTreeId"/>
+        <result column="create_time" property="createTime"/>
+        <result column="create_user" property="createUser"/>
+        <result column="create_dept" property="createDept"/>
+        <result column="update_user" property="updateUser"/>
+        <result column="update_time" property="updateTime"/>
+        <result column="status" property="status"/>
+        <result column="is_deleted" property="isDeleted"/>
+    </resultMap>
+
+</mapper>

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

@@ -62,7 +62,7 @@ public interface WbsTreeMapper extends BaseMapper<WbsTree> {
 	 * @param tenantId
 	 * @return
 	 */
-	List<WbsTreeVO> tree(String tenantId);
+	List<WbsTreeVO> tree(@Param("wbsId") String wbsId,@Param("tenantId") String tenantId,@Param("type") String type);
 
 
 	/**

+ 11 - 5
blade-service/blade-manager/src/main/java/org/springblade/manager/mapper/WbsTreeMapper.xml

@@ -38,7 +38,7 @@
         <result column="value" property="value"/>
         <result column="key" property="key"/>
         <result column="has_children" property="hasChildren"/>
-        <result column="type" property="type" />
+        <result column="type" property="type"/>
     </resultMap>
 
     <resultMap id="selectByNodeTableMap" type="org.springblade.manager.vo.WbsNodeTableVO">
@@ -79,9 +79,15 @@
     </select>
 
     <select id="tree" resultMap="treeNodeResultMap">
-        select id, parent_id, dept_name as title, id as "value", id as "key" from m_wbs_tree where is_deleted = 0
-        <if test="_parameter!=null and _parameter!=''">
-            and tenant_id = #{_parameter}
+        select id, parent_id, dept_name as title,type as "type", id as "value", id as "key" from m_wbs_tree where is_deleted = 0
+        <if test="wbsId!=null and wbsId!=''">
+            and wbs_id = #{wbsId}
+        </if>
+        <if test="tenantId!=null and tenantId!=''">
+            and tenant_id = #{tenantId}
+        </if>
+        <if test="type!=null and type!=''">
+            and `type` = #{type}
         </if>
         ORDER BY sort
     </select>
@@ -122,7 +128,7 @@
             wt.table_type AS tableType,
             wt.`status` AS isCreateTable ,
             wt.table_owner as tableOwner,
-            (SELECT count(*) FROM m_wbs_form_element AS wfe WHERE wfe.f_id=wt.id) AS elementTotal
+            (SELECT count(*) FROM m_wbs_form_element AS wfe WHERE wfe.f_id=wt.id and wfe.is_deleted = 0) AS elementTotal
         FROM
             m_wbs_tree AS wt
         WHERE

+ 14 - 0
blade-service/blade-manager/src/main/java/org/springblade/manager/service/IProjectAssignmentWbstreeService.java

@@ -0,0 +1,14 @@
+package org.springblade.manager.service;
+
+import org.springblade.core.mp.base.BaseService;
+import org.springblade.manager.entity.ProjectAssignmentWbstree;
+
+
+public interface IProjectAssignmentWbstreeService extends BaseService<ProjectAssignmentWbstree> {
+
+
+    Boolean saveWbsTreeInProject(ProjectAssignmentWbstree s);
+
+    Boolean updateWbsTreeInProject(ProjectAssignmentWbstree s);
+
+}

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

@@ -17,7 +17,6 @@
 package org.springblade.manager.service;
 
 import org.springblade.manager.entity.ProjectInfo;
-import org.springblade.manager.vo.ContractInfoVO;
 import org.springblade.manager.vo.ContractlnfoCountVO;
 import org.springblade.manager.vo.ProjectInfoVO;
 import org.springblade.core.mp.base.BaseService;

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

@@ -58,7 +58,7 @@ public interface IWbsTreeService extends BaseService<WbsTree> {
 	 * @param tenantId
 	 * @return
 	 */
-	List<WbsTreeVO> tree(String tenantId);
+	List<WbsTreeVO> tree(String wbsId,String tenantId,String type);
 
 
 	/**

+ 69 - 0
blade-service/blade-manager/src/main/java/org/springblade/manager/service/impl/ProjectAssignmentWbstreeServiceImpl.java

@@ -0,0 +1,69 @@
+package org.springblade.manager.service.impl;
+
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import org.springblade.core.mp.base.BaseServiceImpl;
+import org.springblade.manager.entity.ProjectAssignmentWbstree;
+import org.springblade.manager.mapper.ProjectAssignmentWbstreeMapper;
+import org.springblade.manager.service.IProjectAssignmentWbstreeService;
+import org.springframework.stereotype.Service;
+
+@Service
+public class ProjectAssignmentWbstreeServiceImpl
+        extends BaseServiceImpl<ProjectAssignmentWbstreeMapper, ProjectAssignmentWbstree>
+        implements IProjectAssignmentWbstreeService {
+
+    @Override
+    public Boolean saveWbsTreeInProject(ProjectAssignmentWbstree s) {
+        /*List<String> wbsTreeIds = s.getWbsTreeIds();
+        StringBuilder ids = new StringBuilder();
+        for (String wbsTreeId : wbsTreeIds) {
+            String id = wbsTreeId;
+            ids.append(id).append(',');
+        }
+        ids.deleteCharAt(ids.length() - 1);
+        ProjectAssignmentWbstree p = new ProjectAssignmentWbstree();
+        p.setProjectId(s.getProjectId());
+        p.setContractId(s.getContractId());
+        p.setWbsId(s.getWbsId());
+        p.setWbsTreeId(String.valueOf(ids));*/
+
+        //判重
+        QueryWrapper<ProjectAssignmentWbstree> queryWrapper = new QueryWrapper<>();
+        queryWrapper.eq("project_id",s.getProjectId())
+                .eq("contract_id",s.getContractId())
+                .eq("wbs_id",s.getWbsId())
+                .eq("wbs_tree_id",s.getWbsTreeId());
+        Long aLong = baseMapper.selectCount(queryWrapper);
+        if (aLong > 0){
+            return false;
+        }
+        //新增
+        int row = baseMapper.insert(s);
+        if (row > 0) {
+            return true;
+        }
+        return false;
+    }
+
+    @Override
+    public Boolean updateWbsTreeInProject(ProjectAssignmentWbstree s) {
+        /*List<String> wbsTreeIds = s.getWbsTreeIds();
+        StringBuilder ids = new StringBuilder();
+        for (String wbsTreeId : wbsTreeIds) {
+            String id = wbsTreeId;
+            ids.append(id).append(',');
+        }
+        ids.deleteCharAt(ids.length() - 1);
+        ProjectAssignmentWbstree p = new ProjectAssignmentWbstree();
+        p.setProjectId(s.getProjectId());
+        p.setContractId(s.getContractId());
+        p.setWbsId(s.getWbsId());
+        p.setWbsTreeId(String.valueOf(ids));*/
+
+        int row = baseMapper.updateById(s);
+        if (row > 0) {
+            return true;
+        }
+        return false;
+    }
+}

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

@@ -53,4 +53,6 @@ public class ProjectInfoServiceImpl extends BaseServiceImpl<ProjectInfoMapper, P
 	}
 
 
+
+
 }

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

@@ -63,8 +63,8 @@ public class WbsTreeServiceImpl extends BaseServiceImpl<WbsTreeMapper, WbsTree>
     }
 
     @Override
-    public List<WbsTreeVO> tree(String tenantId) {
-        return ForestNodeMerger.merge(baseMapper.tree(tenantId));
+    public List<WbsTreeVO> tree(String wbsId,String tenantId,String type) {
+        return ForestNodeMerger.merge(baseMapper.tree(wbsId,tenantId,type));
     }
 
     @Override

+ 35 - 0
blade-service/blade-manager/src/main/test/testDemo01.java

@@ -0,0 +1,35 @@
+import org.junit.Test;
+
+import java.util.ArrayList;
+import java.util.List;
+
+public class testDemo01 {
+
+
+
+    @Test
+    public void test01 (){
+
+//        List<String> wbsTreeIds = saveWbsTreeInProjectDTO.getWbsTreeIds();
+
+        List<String> wbsTreeIds = new ArrayList<>();
+        wbsTreeIds.add("1");
+        wbsTreeIds.add("2");
+        wbsTreeIds.add("3");
+        wbsTreeIds.add("4");
+        wbsTreeIds.add("5");
+
+        StringBuilder ids = new StringBuilder();
+        for (String wbsTreeId : wbsTreeIds) {
+            String id = wbsTreeId;
+            ids.append(id).append(',');
+        }
+
+        ids.deleteCharAt(ids.length() - 1);
+
+        System.out.println(ids);
+
+
+
+    }
+}

+ 42 - 35
blade-service/blade-user/src/main/java/org/springblade/system/user/feign/UserClient.java

@@ -41,48 +41,55 @@ import org.springframework.web.bind.annotation.RestController;
 @AllArgsConstructor
 public class UserClient implements IUserClient {
 
-	private final IUserService service;
+    private final IUserService service;
 
-	@Override
-	@GetMapping(USER_INFO_BY_ID)
-	public R<User> userInfoById(Long userId) {
-		return R.data(service.getById(userId));
-	}
 
-	@Override
-	@GetMapping(USER_INFO_BY_ACCOUNT)
-	public R<User> userByAccount(String tenantId, String account) {
-		return R.data(service.userByAccount(tenantId, account));
-	}
+    @Override
+    @GetMapping(USER_INFO_BY_ID)
+    public R<User> userInfoById(Long userId) {
+        return R.data(service.getById(userId));
+    }
 
-	@Override
-	@GetMapping(USER_INFO)
-	public R<UserInfo> userInfo(String tenantId, String account) {
-		return R.data(service.userInfo(tenantId, account));
-	}
+    @Override
+    @GetMapping(USER_INFO_BY_ACCOUNT)
+    public R<User> userByAccount(String tenantId, String account) {
+        return R.data(service.userByAccount(tenantId, account));
+    }
 
-	@Override
-	@GetMapping(USER_INFO_BY_TYPE)
-	public R<UserInfo> userInfo(String tenantId, String account, String userType) {
-		return R.data(service.userInfo(tenantId, account, UserEnum.of(userType)));
-	}
+    @Override
+    @GetMapping(USER_INFO)
+    public R<UserInfo> userInfo(String tenantId, String account) {
+        return R.data(service.userInfo(tenantId, account));
+    }
 
-	@Override
-	@PostMapping(USER_AUTH_INFO)
-	public R<UserInfo> userAuthInfo(@RequestBody UserOauth userOauth) {
-		return R.data(service.userInfo(userOauth));
-	}
+    @Override
+    @GetMapping(USER_INFO_BY_TYPE)
+    public R<UserInfo> userInfo(String tenantId, String account, String userType) {
+        return R.data(service.userInfo(tenantId, account, UserEnum.of(userType)));
+    }
 
-	@Override
-	@PostMapping(SAVE_USER)
-	public R<Boolean> saveUser(@RequestBody User user) {
-		return R.data(service.submit(user));
-	}
+    @Override
+    @PostMapping(USER_AUTH_INFO)
+    public R<UserInfo> userAuthInfo(@RequestBody UserOauth userOauth) {
+        return R.data(service.userInfo(userOauth));
+    }
+
+    @Override
+    @PostMapping(SAVE_USER)
+    public R<Boolean> saveUser(@RequestBody User user) {
+        return R.data(service.submit(user));
+    }
+
+    @Override
+    @PostMapping(REMOVE_USER)
+    public R<Boolean> removeUser(String tenantIds) {
+        return R.data(service.remove(Wrappers.<User>query().lambda().in(User::getTenantId, Func.toStrList(tenantIds))));
+    }
 
-	@Override
-	@PostMapping(REMOVE_USER)
-	public R<Boolean> removeUser(String tenantIds) {
-		return R.data(service.remove(Wrappers.<User>query().lambda().in(User::getTenantId, Func.toStrList(tenantIds))));
+    @Override
+	@PostMapping("/reset-password")
+	public R resetPassword(String userIds) {
+		return 	R.status(service.resetPassword(userIds));
 	}
 
 }