liuyc 3 rokov pred
rodič
commit
36867da266
34 zmenil súbory, kde vykonal 883 pridanie a 280 odobranie
  1. 3 3
      blade-ops/blade-swagger/src/main/resources/application-dev.yml
  2. 5 0
      blade-service-api/blade-manager-api/src/main/java/org/springblade/manager/dto/ContractInfoDTO.java
  3. 43 0
      blade-service-api/blade-manager-api/src/main/java/org/springblade/manager/dto/FindAllUserByConditionDTO.java
  4. 26 0
      blade-service-api/blade-manager-api/src/main/java/org/springblade/manager/dto/FormElementDTO.java
  5. 85 0
      blade-service-api/blade-manager-api/src/main/java/org/springblade/manager/dto/ProjectInfoDTO.java
  6. 37 0
      blade-service-api/blade-manager-api/src/main/java/org/springblade/manager/dto/SaveUserInfoByProjectDTO.java
  7. 14 0
      blade-service-api/blade-manager-api/src/main/java/org/springblade/manager/dto/WbsInfoDTO.java
  8. 34 2
      blade-service-api/blade-manager-api/src/main/java/org/springblade/manager/dto/WbsTreeDTO.java
  9. 7 7
      blade-service-api/blade-manager-api/src/main/java/org/springblade/manager/entity/ContractInfo.java
  10. 17 1
      blade-service-api/blade-manager-api/src/main/java/org/springblade/manager/entity/ProjectInfo.java
  11. 8 0
      blade-service-api/blade-manager-api/src/main/java/org/springblade/manager/entity/WbsFormElement.java
  12. 42 0
      blade-service-api/blade-manager-api/src/main/java/org/springblade/manager/entity/WbsTree.java
  13. 24 0
      blade-service-api/blade-manager-api/src/main/java/org/springblade/manager/vo/CRolePostVO.java
  14. 5 0
      blade-service-api/blade-manager-api/src/main/java/org/springblade/manager/vo/ContractInfoVO.java
  15. 158 118
      blade-service/blade-manager/src/main/java/org/springblade/manager/controller/ContractInfoController.java
  16. 101 95
      blade-service/blade-manager/src/main/java/org/springblade/manager/controller/ProjectInfoController.java
  17. 0 8
      blade-service/blade-manager/src/main/java/org/springblade/manager/controller/WbsFormElementController.java
  18. 7 7
      blade-service/blade-manager/src/main/java/org/springblade/manager/controller/WbsInfoController.java
  19. 43 6
      blade-service/blade-manager/src/main/java/org/springblade/manager/controller/WbsTreeController.java
  20. 13 0
      blade-service/blade-manager/src/main/java/org/springblade/manager/mapper/ContractInfoMapper.java
  21. 44 6
      blade-service/blade-manager/src/main/java/org/springblade/manager/mapper/ContractInfoMapper.xml
  22. 1 1
      blade-service/blade-manager/src/main/java/org/springblade/manager/mapper/ProjectInfoMapper.xml
  23. 8 0
      blade-service/blade-manager/src/main/java/org/springblade/manager/mapper/SaveUserInfoByProjectMapper.java
  24. 20 0
      blade-service/blade-manager/src/main/java/org/springblade/manager/mapper/SaveUserInfoByProjectMapper.xml
  25. 8 2
      blade-service/blade-manager/src/main/java/org/springblade/manager/mapper/WbsTreeMapper.java
  26. 11 2
      blade-service/blade-manager/src/main/java/org/springblade/manager/mapper/WbsTreeMapper.xml
  27. 10 0
      blade-service/blade-manager/src/main/java/org/springblade/manager/service/IContractInfoService.java
  28. 3 1
      blade-service/blade-manager/src/main/java/org/springblade/manager/service/IWbsTreeService.java
  29. 8 0
      blade-service/blade-manager/src/main/java/org/springblade/manager/service/SaveUserInfoByProjectService.java
  30. 44 9
      blade-service/blade-manager/src/main/java/org/springblade/manager/service/impl/ContractInfoServiceImpl.java
  31. 14 0
      blade-service/blade-manager/src/main/java/org/springblade/manager/service/impl/SaveUserInfoByProjectServiceImpl.java
  32. 30 1
      blade-service/blade-manager/src/main/java/org/springblade/manager/service/impl/WbsTreeServiceImpl.java
  33. 5 5
      blade-service/blade-manager/src/main/java/sql/contractinfo.menu.sql
  34. 5 6
      blade-service/blade-manager/src/main/java/sql/projectinfo.menu.sql

+ 3 - 3
blade-ops/blade-swagger/src/main/resources/application-dev.yml

@@ -4,9 +4,9 @@ knife4j:
       - name: 授权模块
         uri: 127.0.0.1
         location: /blade-auth/v2/api-docs
-      - name: 工作台模块
-        uri: 127.0.0.1
-        location: /blade-desk/v2/api-docs
+#      - name: 工作台模块
+#        uri: 127.0.0.1
+#        location: /blade-desk/v2/api-docs
       - name: 系统模块
         uri: 127.0.0.1
         location: /blade-system/v2/api-docs

+ 5 - 0
blade-service-api/blade-manager-api/src/main/java/org/springblade/manager/dto/ContractInfoDTO.java

@@ -31,4 +31,9 @@ import lombok.EqualsAndHashCode;
 public class ContractInfoDTO extends ContractInfo {
 	private static final long serialVersionUID = 1L;
 
+	/**
+	 * 项目名称
+	 */
+	private String projectName;
+
 }

+ 43 - 0
blade-service-api/blade-manager-api/src/main/java/org/springblade/manager/dto/FindAllUserByConditionDTO.java

@@ -0,0 +1,43 @@
+package org.springblade.manager.dto;
+
+import com.fasterxml.jackson.annotation.JsonProperty;
+import lombok.AllArgsConstructor;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+
+import java.io.Serializable;
+
+/**
+ * 项目分配人员传输对象实体类
+ *
+ * @author liuyc
+ * @since 2022-04-27
+ */
+@Data
+@AllArgsConstructor
+@NoArgsConstructor
+public class FindAllUserByConditionDTO implements Serializable {
+    private static final long serialVersionUID = 1L;
+
+    /**
+     * 项目id
+     */
+    @JsonProperty(value = "pId")
+    private String pId;
+    /**
+     * 合同id
+     */
+    @JsonProperty(value = "cId")
+    private String cId;
+    /**
+     * 角色id
+     */
+    @JsonProperty(value = "rId")
+    private String rId;
+    /**
+     * 岗位id
+     */
+    @JsonProperty(value = "postId")
+    private String postId;
+
+}

+ 26 - 0
blade-service-api/blade-manager-api/src/main/java/org/springblade/manager/dto/FormElementDTO.java

@@ -0,0 +1,26 @@
+package org.springblade.manager.dto;
+
+
+import lombok.AllArgsConstructor;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+import org.springblade.manager.entity.WbsFormElement;
+import org.springblade.manager.entity.WbsTree;
+
+import java.io.Serializable;
+import java.util.List;
+
+/**
+ * 表单、元素传输对象实体类
+ *
+ * @author liuyc
+ * @since 2022-04-27
+ */
+@Data
+@AllArgsConstructor
+@NoArgsConstructor
+public class FormElementDTO extends WbsTree {
+    private static final long serialVersionUID = 1L;
+
+    private List<WbsFormElement> elementList;
+}

+ 85 - 0
blade-service-api/blade-manager-api/src/main/java/org/springblade/manager/dto/ProjectInfoDTO.java

@@ -16,10 +16,15 @@
  */
 package org.springblade.manager.dto;
 
+import com.fasterxml.jackson.annotation.JsonFormat;
+import io.swagger.annotations.ApiModelProperty;
 import org.springblade.manager.entity.ProjectInfo;
 import lombok.Data;
 import lombok.EqualsAndHashCode;
 
+import java.math.BigDecimal;
+import java.time.LocalDateTime;
+
 /**
  * 客户级项目表数据传输对象实体类
  *
@@ -31,4 +36,84 @@ import lombok.EqualsAndHashCode;
 public class ProjectInfoDTO extends ProjectInfo {
 	private static final long serialVersionUID = 1L;
 
+	/**
+	 * 项目名称
+	 */
+	@ApiModelProperty(value = "项目名称",required = true)
+	private String projectName;
+	/**
+	 * 项目别名
+	 */
+	@ApiModelProperty(value = "项目别名",required = true)
+	private String projectAlias;
+	/**
+	 * 项目编号
+	 */
+	@ApiModelProperty(value = "项目编号",required = true)
+	private String projectNumber;
+	/**
+	 * 项目大概
+	 */
+	@ApiModelProperty(value = "项目大概")
+	private String projectGist;
+	/**
+	 * 工程等级
+	 */
+	@ApiModelProperty(value = "工程等级",required = true)
+	private String projectGrade;
+	/**
+	 * 计划开始时间
+	 */
+	@ApiModelProperty(value = "计划开始时间",required = true)
+	@JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd HH:mm:ss")
+	private LocalDateTime planStartTime;
+	/**
+	 * 计划完成时间
+	 */
+	@ApiModelProperty(value = "计划完成时间",required = true)
+	@JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd HH:mm:ss")
+	private LocalDateTime planEndTime;
+	/**
+	 * 实际开始时间
+	 */
+	@ApiModelProperty(value = "实际开始时间",required = true)
+	@JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd HH:mm:ss")
+	private LocalDateTime actualStartTime;
+	/**
+	 * 实际完工时间
+	 */
+	@ApiModelProperty(value = "实际完工时间",required = true)
+	@JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd HH:mm:ss")
+	private LocalDateTime actualEndTime;
+	/**
+	 * 施工期
+	 */
+	@ApiModelProperty(value = "施工期")
+	private Integer construcetionDate;
+	/**
+	 * 建设合同金额
+	 */
+	@ApiModelProperty(value = "建设合同金额",required = true)
+	private BigDecimal estimatedAmount;
+	/**
+	 * 项目里程
+	 */
+	@ApiModelProperty(value = "项目里程",required = true)
+	private BigDecimal projectMileage;
+	/**
+	 * 项目备注
+	 */
+	@ApiModelProperty(value = "项目备注")
+	private String projectRemark;
+	/**
+	 * 节点状态
+	 */
+	@ApiModelProperty(value = "节点状态")
+	private Integer state;
+	/**
+	 * 是否开启电签
+	 */
+	@ApiModelProperty(value = "是否开启电签")
+	private Integer isOpenSign;
+
 }

+ 37 - 0
blade-service-api/blade-manager-api/src/main/java/org/springblade/manager/dto/SaveUserInfoByProjectDTO.java

@@ -0,0 +1,37 @@
+package org.springblade.manager.dto;
+
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.fasterxml.jackson.annotation.JsonProperty;
+import lombok.AllArgsConstructor;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+import org.springblade.core.mp.base.BaseEntity;
+
+import java.io.Serializable;
+
+/**
+ * 项目合同人员保存传输对象实体类
+ *
+ * @author liuyc
+ * @since 2022-05-09
+ */
+@Data
+@AllArgsConstructor
+@NoArgsConstructor
+@TableName("m_contract_user")
+public class SaveUserInfoByProjectDTO extends BaseEntity implements Serializable {
+    private static final long serialVersionUID = 1L;
+
+    /**
+     * cId
+     */
+    @JsonProperty(value = "cId")
+    private String cId;
+
+    /**
+     * uId
+     */
+    @JsonProperty(value = "uId")
+    private String uId;
+
+}

+ 14 - 0
blade-service-api/blade-manager-api/src/main/java/org/springblade/manager/dto/WbsInfoDTO.java

@@ -16,6 +16,7 @@
  */
 package org.springblade.manager.dto;
 
+import io.swagger.annotations.ApiModelProperty;
 import lombok.Data;
 import lombok.EqualsAndHashCode;
 import org.springblade.manager.entity.WbsInfo;
@@ -32,4 +33,17 @@ import org.springblade.manager.entity.WbsInfo;
 public class WbsInfoDTO extends WbsInfo {
 	private static final long serialVersionUID = 1L;
 
+	/**
+	 * wsb名称
+	 */
+	@ApiModelProperty(value = "wbs名称")
+	private String wbsName;
+	/**
+	 * wsb属性
+	 */
+	@ApiModelProperty(value = "wbs类型")
+	private Integer wbsType;
+
+
+
 }

+ 34 - 2
blade-service-api/blade-manager-api/src/main/java/org/springblade/manager/dto/WbsTreeDTO.java

@@ -33,6 +33,11 @@ import org.springblade.manager.entity.WbsTree;
 public class WbsTreeDTO extends WbsTree {
 	private static final long serialVersionUID = 1L;
 
+	/**
+	 * wbs库id
+	 */
+	@ApiModelProperty(value = "wbs库id",required = true)
+	private String wbsId;
 	/**
 	 * 租户id
 	 */
@@ -83,16 +88,43 @@ public class WbsTreeDTO extends WbsTree {
 	/**
 	 * 祖级列表
 	 */
-	@ApiModelProperty(value = "祖级id列表",hidden = true)
+	@ApiModelProperty(value = "祖级id列表")
 	private String ancestors;
 
 	/**
 	 * 备注
 	 */
-	@ApiModelProperty(value = "备注",hidden = true)
+	@ApiModelProperty(value = "备注")
 	private String remark;
 
+	/**
+	 * 唯一编号
+	 */
+	@ApiModelProperty(value = "唯一编号")
+	private String uniqueCode;
+
+	/**
+	 * 划分编号
+	 */
+	@ApiModelProperty(value = "划分编号")
+	private String partitionCode;
+
+	/**
+	 * 是否是实验节点 '0'否 '1'是
+	 */
+	@ApiModelProperty(value = "实验节点")
+	private Integer isExpernode;
 
+	/**
+	 * 是否有混泥土 '0'否 '1'是
+	 */
+	@ApiModelProperty(value = "混泥土")
+	private Integer isConcrete;
 
+	/**
+	 * 表单所属方
+	 */
+	@ApiModelProperty(value = "表单所属方")
+	private String tableOwner;
 
 }

+ 7 - 7
blade-service-api/blade-manager-api/src/main/java/org/springblade/manager/entity/ContractInfo.java

@@ -32,7 +32,7 @@ import lombok.EqualsAndHashCode;
  * @since 2022-04-14
  */
 @Data
-@TableName("t_pf_contract_info")
+@TableName("m_contract_info")
 @EqualsAndHashCode(callSuper = true)
 public class ContractInfo extends BaseEntity {
 
@@ -43,11 +43,6 @@ public class ContractInfo extends BaseEntity {
 	 */
 	private String pId;
 
-	/**
-	 * 项目名称
-	 */
-	private String projectName;
-
 	/**
 	 * 合同段名称
 	 */
@@ -57,9 +52,13 @@ public class ContractInfo extends BaseEntity {
 	 */
 	private String contractNumber;
 	/**
-	 * 承包商单位名称
+	 * 业主单位名称
 	 */
 	private String contractorUnitName;
+	/**
+	 * 施工单位名称
+	 */
+	private String constructionUnitName;
 	/**
 	 * 监理单位名称
 	 */
@@ -106,4 +105,5 @@ public class ContractInfo extends BaseEntity {
 	private String endStation;
 
 
+
 }

+ 17 - 1
blade-service-api/blade-manager-api/src/main/java/org/springblade/manager/entity/ProjectInfo.java

@@ -22,6 +22,7 @@ import java.math.BigDecimal;
 import java.time.LocalDateTime;
 
 import com.fasterxml.jackson.annotation.JsonFormat;
+import io.swagger.annotations.ApiModelProperty;
 import org.springblade.core.mp.base.BaseEntity;
 import lombok.Data;
 import lombok.EqualsAndHashCode;
@@ -33,7 +34,7 @@ import lombok.EqualsAndHashCode;
  * @since 2022-04-13
  */
 @Data
-@TableName("t_pf_project_info")
+@TableName("m_project_info")
 @EqualsAndHashCode(callSuper = true)
 public class ProjectInfo extends BaseEntity {
 
@@ -42,66 +43,81 @@ public class ProjectInfo extends BaseEntity {
 	/**
 	 * 项目名称
 	 */
+	@ApiModelProperty(value = "项目名称")
 	private String projectName;
 	/**
 	 * 项目别名
 	 */
+	@ApiModelProperty(value = "项目别名")
 	private String projectAlias;
 	/**
 	 * 项目编号
 	 */
+	@ApiModelProperty(value = "项目编号")
 	private String projectNumber;
 	/**
 	 * 项目大概
 	 */
+	@ApiModelProperty(value = "项目大概")
 	private String projectGist;
 	/**
 	 * 工程等级
 	 */
+	@ApiModelProperty(value = "工程等级")
 	private String projectGrade;
 	/**
 	 * 计划开始时间
 	 */
+	@ApiModelProperty(value = "计划开始时间")
 	@JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd HH:mm:ss")
 	private LocalDateTime planStartTime;
 	/**
 	 * 计划完成时间
 	 */
+	@ApiModelProperty(value = "计划完成时间")
 	@JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd HH:mm:ss")
 	private LocalDateTime planEndTime;
 	/**
 	 * 实际开始时间
 	 */
+	@ApiModelProperty(value = "实际开始时间")
 	@JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd HH:mm:ss")
 	private LocalDateTime actualStartTime;
 	/**
 	 * 实际完工时间
 	 */
+	@ApiModelProperty(value = "实际完工时间")
 	@JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd HH:mm:ss")
 	private LocalDateTime actualEndTime;
 	/**
 	 * 施工期
 	 */
+	@ApiModelProperty(value = "施工期")
 	private Integer construcetionDate;
 	/**
 	 * 建设合同金额
 	 */
+	@ApiModelProperty(value = "建设合同金额")
 	private BigDecimal estimatedAmount;
 	/**
 	 * 项目里程
 	 */
+	@ApiModelProperty(value = "项目里程")
 	private BigDecimal projectMileage;
 	/**
 	 * 项目备注
 	 */
+	@ApiModelProperty(value = "项目备注")
 	private String projectRemark;
 	/**
 	 * 节点状态
 	 */
+	@ApiModelProperty(value = "节点状态")
 	private Integer state;
 	/**
 	 * 是否开启电签
 	 */
+	@ApiModelProperty(value = "是否开启电签")
 	private Integer isOpenSign;
 
 

+ 8 - 0
blade-service-api/blade-manager-api/src/main/java/org/springblade/manager/entity/WbsFormElement.java

@@ -2,6 +2,8 @@ package org.springblade.manager.entity;
 
 
 import com.baomidou.mybatisplus.annotation.TableName;
+import com.fasterxml.jackson.annotation.JsonFormat;
+import com.fasterxml.jackson.annotation.JsonProperty;
 import io.swagger.annotations.ApiImplicitParam;
 import io.swagger.annotations.ApiModelProperty;
 import lombok.Data;
@@ -23,35 +25,41 @@ public class WbsFormElement extends BaseEntity {
 	 *表单id
 	 */
 	@ApiModelProperty(value = "父id",required = true)
+	@JsonProperty(value = "fId")
 	private String fId;
 
 	/**
 	 * 元素名称
 	 */
 	@ApiModelProperty(value = "元素名称",required = true)
+	@JsonProperty(value = "eName")
 	private String eName;
 
 	/**
 	 * 元素类型
 	 */
 	@ApiModelProperty(value = "元素类型",required = true)
+	@JsonProperty(value = "eType")
 	private Integer eType;
 
 	/**
 	 * 元素长度
 	 */
 	@ApiModelProperty(value = "元素长度",required = true)
+	@JsonProperty(value = "eLength")
 	private Integer eLength;
 
 	/**
 	 * 允许偏差值
 	 */
 	@ApiModelProperty(value = "允许偏差值",required = true)
+	@JsonProperty(value = "eAllowDeviation")
 	private String eAllowDeviation;
 
 	/**
 	 * 检查方法
 	 */
 	@ApiModelProperty(value = "检查方法",required = true)
+	@JsonProperty(value = "eInspectionMethod")
 	private String eInspectionMethod;
 }

+ 42 - 0
blade-service-api/blade-manager-api/src/main/java/org/springblade/manager/entity/WbsTree.java

@@ -18,6 +18,7 @@ package org.springblade.manager.entity;
 
 import com.baomidou.mybatisplus.annotation.TableName;
 import com.fasterxml.jackson.annotation.JsonIgnore;
+import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiModelProperty;
 import lombok.Data;
 import lombok.EqualsAndHashCode;
@@ -37,6 +38,11 @@ public class WbsTree extends BaseEntity {
 
 	private static final long serialVersionUID = 1L;
 
+	/**
+	 * wbs库id
+	 */
+	@ApiModelProperty(value = "wbs库id")
+	private String wbsId;
 	/**
 	 * 租户id
 	 */
@@ -96,5 +102,41 @@ public class WbsTree extends BaseEntity {
 	@ApiModelProperty(value = "备注")
 	private String remark;
 
+	/**
+	 * 唯一编号
+	 */
+	@ApiModelProperty(value = "唯一编号")
+	private String uniqueCode;
+
+	/**
+	 * 划分编号
+	 */
+	@ApiModelProperty(value = "划分编号")
+	private String partitionCode;
+
+	/**
+	 * 是否是实验节点 '0'否 '1'是
+	 */
+	@ApiModelProperty(value = "实验节点")
+	private Integer isExpernode;
+
+	/**
+	 * 是否有混泥土 '0'否 '1'是
+	 */
+	@ApiModelProperty(value = "混泥土")
+	private Integer isConcrete;
+
+	/**
+	 * 表单所属方
+	 */
+	@ApiModelProperty(value = "表单所属方")
+	private String tableOwner;
+
+	/**
+	 *内业资料类型
+	 */
+	@ApiModelProperty(value = "内业资料类型")
+	private Integer majorDataType;
+
 
 }

+ 24 - 0
blade-service-api/blade-manager-api/src/main/java/org/springblade/manager/vo/CRolePostVO.java

@@ -0,0 +1,24 @@
+package org.springblade.manager.vo;
+
+import lombok.Data;
+
+import java.io.Serializable;
+
+/**
+ * 项目角色下的岗位VO
+ *
+ * @author liuyc
+ * @since 2022-05-06
+ */
+@Data
+public class CRolePostVO implements Serializable {
+    private static final long serialVersionUID = 1L;
+    /**
+     * 岗位ID
+     */
+    private String id;
+    /**
+     * 岗位名称
+     */
+    private String postName;
+}

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

@@ -31,4 +31,9 @@ import lombok.EqualsAndHashCode;
 public class ContractInfoVO extends ContractInfo {
 	private static final long serialVersionUID = 1L;
 
+	/**
+	 * 项目名称
+	 */
+	private String projectName;
+
 }

+ 158 - 118
blade-service/blade-manager/src/main/java/org/springblade/manager/controller/ContractInfoController.java

@@ -17,29 +17,23 @@
 package org.springblade.manager.controller;
 
 import com.baomidou.mybatisplus.core.metadata.IPage;
-import com.baomidou.mybatisplus.core.toolkit.Wrappers;
-import io.jsonwebtoken.Claims;
-import io.jsonwebtoken.JwtParser;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
 import io.swagger.annotations.ApiParam;
 import com.github.xiaoymin.knife4j.annotations.ApiOperationSupport;
 import lombok.AllArgsConstructor;
 
-import javax.annotation.Resource;
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
 import javax.validation.Valid;
 
-import org.springblade.core.jwt.JwtUtil;
 import org.springblade.core.mp.support.Condition;
 import org.springblade.core.mp.support.Query;
-import org.springblade.core.secure.constant.AuthConstant;
-import org.springblade.core.secure.utils.AuthUtil;
 import org.springblade.core.tool.api.R;
 import org.springblade.core.tool.utils.Func;
-import org.springblade.core.tool.utils.ThreadLocalUtil;
-import org.springframework.util.AntPathMatcher;
+import org.springblade.manager.dto.FindAllUserByConditionDTO;
+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.springframework.web.bind.annotation.*;
 import org.springframework.web.bind.annotation.RequestParam;
 
@@ -48,9 +42,7 @@ import org.springblade.manager.vo.ContractInfoVO;
 import org.springblade.manager.wrapper.ContractInfoWrapper;
 import org.springblade.manager.service.IContractInfoService;
 import org.springblade.core.boot.ctrl.BladeController;
-import springfox.documentation.annotations.ApiIgnore;
 
-import java.sql.Wrapper;
 import java.util.*;
 
 /**
@@ -62,69 +54,54 @@ import java.util.*;
 @RestController
 @AllArgsConstructor
 @RequestMapping("/contractInfo")
-@Api(value = "合同段信息表", tags = "合同段信息表接口")
+@Api(value = "合同段", tags = "合同段接口")
 public class ContractInfoController extends BladeController {
 
-	@Resource
-	private final IContractInfoService contractInfoService;
-
-
-	//测试条件查询
-	@GetMapping("/selectAllList")
-	public R<List<ContractInfo>> selectAllList(ContractInfo contractInfo){
-		List<ContractInfo> list = contractInfoService.list(Wrappers.query(contractInfo));
-		return R.data(list);
-	}
-
-	//测试分页查询
-	@GetMapping("/page2")
-	public R<IPage<ContractInfo>> page(@ApiIgnore @RequestParam Map<String, Object> obj, Query query) {
-		IPage<ContractInfo> pages = contractInfoService.page(Condition.getPage(query), Condition.getQueryWrapper(obj, ContractInfo.class));
-		return R.data(pages);
-	}
-
-	/**
-	 * 详情
-	 */
-	@GetMapping("/detail")
-	@ApiOperationSupport(order = 1)
-	@ApiOperation(value = "详情", notes = "传入contractInfo")
-	public R<ContractInfoVO> detail(ContractInfo contractInfo) {
-		ContractInfo detail = contractInfoService.getOne(Condition.getQueryWrapper(contractInfo));
-		return R.data(ContractInfoWrapper.build().entityVO(detail));
-	}
-
-	/**
-	 * 根据项目名称查询当前所有合同
-	 */
-	@GetMapping("/findContractInfoByPid")
-	@ApiOperationSupport(order = 8)
-	@ApiOperation(value = "合同ID", notes = "传入pid")
-	public R<List<ContractInfo>> findContractInfoByPid(String pid){
-		List<ContractInfo> contractInfoVOS = contractInfoService.selectContractInfoPageByPid(pid);
-		return R.data(contractInfoVOS);
-	}
-
-	/**
-	 * 分页 合同段信息表
-	 */
-	@GetMapping("/list")
-	@ApiOperationSupport(order = 2)
-	@ApiOperation(value = "分页", notes = "传入contractInfo")
-	public R<IPage<ContractInfoVO>> list(ContractInfo contractInfo, Query query) {
-		IPage<ContractInfo> pages = contractInfoService.page(Condition.getPage(query), Condition.getQueryWrapper(contractInfo));
-		return R.data(ContractInfoWrapper.build().pageVO(pages));
-	}
-
-	/**
-	 * 自定义分页 合同段信息表
-	 */
-	@GetMapping("/page")
-	@ApiOperationSupport(order = 3)
-	@ApiOperation(value = "分页", notes = "传入contractInfo")
-	public R<IPage<ContractInfoVO>> page(ContractInfoVO contractInfo, Query query){
-		IPage<ContractInfoVO> pages = contractInfoService.selectContractInfoPage(Condition.getPage(query), contractInfo);
-		//获取token信息
+    private final IContractInfoService contractInfoService;
+    private final SaveUserInfoByProjectService saveUserInfoByProject;
+
+    /**
+     * 详情
+     */
+    @GetMapping("/detail")
+    @ApiOperationSupport(order = 1)
+    @ApiOperation(value = "详情", notes = "传入contractInfo")
+    public R<ContractInfoVO> detail(ContractInfo contractInfo) {
+        ContractInfo detail = contractInfoService.getOne(Condition.getQueryWrapper(contractInfo));
+        return R.data(ContractInfoWrapper.build().entityVO(detail));
+    }
+
+    /**
+     * 根据项目名称查询当前所有合同
+     */
+    @GetMapping("/findContractInfoByPid")
+    @ApiOperationSupport(order = 8)
+    @ApiOperation(value = "合同ID", notes = "传入pid")
+    public R<List<ContractInfo>> findContractInfoByPid(String pid) {
+        List<ContractInfo> contractInfoVOS = contractInfoService.selectContractInfoPageByPid(pid);
+        return R.data(contractInfoVOS);
+    }
+
+    /**
+     * 分页 合同段信息表
+     */
+    @GetMapping("/list")
+    @ApiOperationSupport(order = 2)
+    @ApiOperation(value = "分页", notes = "传入contractInfo")
+    public R<IPage<ContractInfoVO>> list(ContractInfo contractInfo, Query query) {
+        IPage<ContractInfo> pages = contractInfoService.page(Condition.getPage(query), Condition.getQueryWrapper(contractInfo));
+        return R.data(ContractInfoWrapper.build().pageVO(pages));
+    }
+
+    /**
+     * 自定义分页 合同段信息表
+     */
+    @GetMapping("/page")
+    @ApiOperationSupport(order = 3)
+    @ApiOperation(value = "自定义分页", notes = "传入contractInfo")
+    public R<IPage<ContractInfoVO>> page(ContractInfoVO contractInfo, Query query) {
+        IPage<ContractInfoVO> pages = contractInfoService.selectContractInfoPage(Condition.getPage(query), contractInfo);
+        //获取token信息
 		/*String[] tokens = AuthUtil.getHeader().split(" ");
 		if (tokens.length>=1){
 			System.out.println(tokens[1]);
@@ -132,50 +109,113 @@ public class ContractInfoController extends BladeController {
 			Claims claims = JwtUtil.parseJWT(tokens[1]);
 			System.out.println(claims);
 		}*/
-		return R.data(pages);
-	}
-
-
-	/**
-	 * 新增 合同段信息表
-	 */
-	@PostMapping("/save")
-	@ApiOperationSupport(order = 4)
-	@ApiOperation(value = "新增", notes = "传入contractInfo")
-	public R save(@Valid @RequestBody ContractInfo contractInfo) {
-		return R.status(contractInfoService.save(contractInfo));
-	}
-
-	/**
-	 * 修改 合同段信息表
-	 */
-	@PostMapping("/update")
-	@ApiOperationSupport(order = 5)
-	@ApiOperation(value = "修改", notes = "传入contractInfo")
-	public R update(@Valid @RequestBody ContractInfo contractInfo) {
-		return R.status(contractInfoService.updateById(contractInfo));
-	}
-
-	/**
-	 * 新增或修改 合同段信息表
-	 */
-	@PostMapping("/submit")
-	@ApiOperationSupport(order = 6)
-	@ApiOperation(value = "新增或修改", notes = "传入contractInfo")
-	public R submit(@Valid @RequestBody ContractInfo contractInfo) {
-		return R.status(contractInfoService.saveOrUpdate(contractInfo));
-	}
-
-
-	/**
-	 * 删除 合同段信息表
-	 */
-	@PostMapping("/remove")
-	@ApiOperationSupport(order = 7)
-	@ApiOperation(value = "逻辑删除", notes = "传入ids")
-	public R remove(@ApiParam(value = "主键集合", required = true) @RequestParam String ids) {
-		return R.status(contractInfoService.deleteLogic(Func.toLongList(ids)));
-	}
+        return R.data(pages);
+    }
+
+
+    /**
+     * 新增 合同段信息表
+     */
+    @PostMapping("/save")
+    @ApiOperationSupport(order = 4)
+    @ApiOperation(value = "新增", notes = "传入contractInfo")
+    public R save(@Valid @RequestBody ContractInfo contractInfo) {
+        return R.status(contractInfoService.save(contractInfo));
+    }
+
+    /**
+     * 修改 合同段信息表
+     */
+    @PostMapping("/update")
+    @ApiOperationSupport(order = 5)
+    @ApiOperation(value = "修改", notes = "传入contractInfo")
+    public R update(@Valid @RequestBody ContractInfo contractInfo) {
+        return R.status(contractInfoService.updateById(contractInfo));
+    }
+
+    /**
+     * 新增或修改 合同段信息表
+     */
+    @PostMapping("/submit")
+    @ApiOperationSupport(order = 6)
+    @ApiOperation(value = "新增或修改", notes = "传入contractInfo")
+    public R submit(@Valid @RequestBody ContractInfo contractInfo) {
+        return R.status(contractInfoService.saveOrUpdate(contractInfo));
+    }
+
+
+    /**
+     * 删除 合同段信息表
+     */
+    @PostMapping("/remove")
+    @ApiOperationSupport(order = 7)
+    @ApiOperation(value = "逻辑删除", notes = "传入ids")
+    public R remove(@ApiParam(value = "主键集合", required = true) @RequestParam String ids) {
+        return R.status(contractInfoService.deleteLogic(Func.toLongList(ids)));
+    }
+
+
+    /**
+     * 查询角色的岗位
+     */
+    @GetMapping("/findJobByRoleId")
+    @ApiOperationSupport(order = 8)
+    @ApiOperation(value = "查询角色下的岗位", notes = "传入id")
+    public R<List<CRolePostVO>> findJobByRoleId(@ApiParam(value = "id", required = true)
+                                                @RequestParam("id") String id) {
+        List<CRolePostVO> list = contractInfoService.findJobByRoleId(id);
+        if (list.size() <= 0) {
+            return R.fail("未查询到信息");
+        }
+        return R.data(list);
+    }
+
+    /**
+     * 根据项目id、合同id、角色id、岗位id查询当前用户
+     */
+    @PostMapping("/findAllUserByCondition")
+    @ApiOperationSupport(order = 9)
+    @ApiOperation(value = "查询当前项目合同下角色岗位的用户", notes = "传入目id、合同id、角色id、岗位id")
+    public R<List<User>> findAllUserByCondition(@RequestBody FindAllUserByConditionDTO values) {
+        List<User> users = contractInfoService.findAllUserByCondition(values);
+        if (users.size() > 0) {
+            return R.data(users);
+        }
+        return R.fail("未查询到数据");
+    }
+
+    /**
+     * 查询当前岗位下所有用户信息
+     */
+    @GetMapping("/findUserInfoByCondition")
+    @ApiOperationSupport(order = 10)
+    @ApiOperation(value = "查询当前角色岗位下的用户信息", notes = "传入角色id、岗位id")
+    public R<List<User>> findUserInfoByCondition(@RequestParam("rId") String rId,
+                                                 @RequestParam("pId") String pId,
+                                                 @RequestParam("userName") String userName) {
+        List<User> users = contractInfoService.findUserInfoByCondition(rId, pId, userName);
+        if (users.size() > 0) {
+            return R.data(users);
+        }
+        return R.fail("未查询到数据");
+    }
+
+    /**
+     * 项目分配用户保存
+     */
+    @PostMapping("/saveUserInfoByProject")
+    @ApiOperationSupport(order = 11)
+    @ApiOperation(value = "保存当前用户与合同段关联信息", notes = "传入cid、uid")
+    public R saveUserInfoByProject(@RequestBody List<SaveUserInfoByProjectDTO> list) {
+//        list.stream().forEach(System.out::print);
+        if (list.size()>0){
+            Boolean result = saveUserInfoByProject.saveBatch(list);
+            if (result) {
+                return R.success("保存成功");
+            }
+        }
+        return R.fail("保存失败");
+    }
 
 
 }

+ 101 - 95
blade-service/blade-manager/src/main/java/org/springblade/manager/controller/ProjectInfoController.java

@@ -18,17 +18,17 @@ package org.springblade.manager.controller;
 
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;
-import io.swagger.annotations.Api;
-import io.swagger.annotations.ApiOperation;
-import io.swagger.annotations.ApiParam;
+import io.swagger.annotations.*;
 import com.github.xiaoymin.knife4j.annotations.ApiOperationSupport;
 import lombok.AllArgsConstructor;
+
 import javax.validation.Valid;
 
 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.ProjectInfoDTO;
 import org.springblade.manager.vo.ContractlnfoCountVO;
 import org.springframework.util.StringUtils;
 import org.springframework.web.bind.annotation.*;
@@ -51,101 +51,107 @@ import java.util.List;
 @RestController
 @AllArgsConstructor
 @RequestMapping("/projectInfo")
-@Api(value = "客户级项目表", tags = "客户级项目表接口")
+@Api(value = "项目管理", tags = "项目管理接口")
 public class ProjectInfoController extends BladeController {
 
-	private final IProjectInfoService projectInfoService;
-
-	/**
-	 * 详情
-	 */
-	@GetMapping("/detail")
-	@ApiOperationSupport(order = 1)
-	@ApiOperation(value = "详情", notes = "传入projectInfo")
-	public R<ProjectInfoVO> detail(ProjectInfo projectInfo) {
-		ProjectInfo detail = projectInfoService.getOne(Condition.getQueryWrapper(projectInfo));
-		return R.data(ProjectInfoWrapper.build().entityVO(detail));
-	}
-
-	/**
-	 * 分页 客户级项目表
-	 */
-	@GetMapping("/list")
-	@ApiOperationSupport(order = 2)
-	@ApiOperation(value = "分页", notes = "传入projectInfo")
-	public R<IPage<ProjectInfoVO>> list(  ProjectInfo projectInfo, Query query) {
-
-		IPage<ProjectInfo> pages = projectInfoService.page(Condition.getPage(query), Condition.getQueryWrapper(projectInfo));
-		pages.getRecords().forEach(System.out::print);
-
-		return R.data(ProjectInfoWrapper.build().pageVO(pages));
-	}
-
-	/**
-	 * 查询业务条数
-	 * @return
-	 */
-	@GetMapping("/listContractInfoCount")
-	@ApiOperationSupport(order = 8)
-	@ApiOperation(value = "无参", notes = "null")
-	public List<ContractlnfoCountVO> selectContractInfoCount(){
-		List<ContractlnfoCountVO> contractlnfoCountsVO = projectInfoService.selectContractInfoCount();
-		return contractlnfoCountsVO;
-	}
-
-
-	/**
-	 * 自定义分页 客户级项目表
-	 */
-	@GetMapping("/page")
-	@ApiOperationSupport(order = 3)
-	@ApiOperation(value = "分页", notes = "传入projectInfo")
-	public R<IPage<ProjectInfoVO>> page(ProjectInfoVO projectInfo, Query query) {
-		IPage<ProjectInfoVO> pages = projectInfoService.selectProjectInfoPage(Condition.getPage(query), projectInfo);
-		return R.data(pages);
-	}
-
-
-	/**
-	 * 新增 客户级项目表
-	 */
-	@PostMapping("/save")
-	@ApiOperationSupport(order = 4)
-	@ApiOperation(value = "新增", notes = "传入projectInfo")
-	public R save(@Valid @RequestBody ProjectInfo projectInfo) {
-		return R.status(projectInfoService.save(projectInfo));
-	}
-
-	/**
-	 * 修改 客户级项目表
-	 */
-	@PostMapping("/update")
-	@ApiOperationSupport(order = 5)
-	@ApiOperation(value = "修改", notes = "传入projectInfo")
-	public R update(@Valid @RequestBody ProjectInfo projectInfo) {
-		return R.status(projectInfoService.updateById(projectInfo));
-	}
-
-	/**
-	 * 新增或修改 客户级项目表
-	 */
-	@PostMapping("/submit")
-	@ApiOperationSupport(order = 6)
-	@ApiOperation(value = "新增或修改", notes = "传入projectInfo")
+    private final IProjectInfoService projectInfoService;
+
+    /**
+     * 详情
+     */
+    @GetMapping("/detail")
+    @ApiOperationSupport(order = 1)
+    @ApiOperation(value = "详情", notes = "传入projectInfo")
+    @ApiImplicitParam(value = "id", name = "id", required = true)
+    public R<ProjectInfoVO> detail(ProjectInfo projectInfo) {
+        ProjectInfo detail = projectInfoService.getOne(Condition.getQueryWrapper(projectInfo));
+        return R.data(ProjectInfoWrapper.build().entityVO(detail));
+    }
+
+    /**
+     * 分页 客户级项目表
+     */
+    @GetMapping("/list")
+    @ApiOperationSupport(order = 2)
+    @ApiOperation(value = "分页", notes = "传入projectInfo")
+    public R<IPage<ProjectInfoVO>> list(ProjectInfo projectInfo, Query query) {
+        IPage<ProjectInfo> pages = projectInfoService.page(Condition.getPage(query), Condition.getQueryWrapper(projectInfo));
+        pages.getRecords().forEach(System.out::print);
+
+        return R.data(ProjectInfoWrapper.build().pageVO(pages));
+    }
+
+
+    /**
+     * 自定义分页 客户级项目表
+     */
+    @GetMapping("/page")
+    @ApiOperationSupport(order = 3)
+    @ApiOperation(value = "自定义分页", notes = "传入projectInfo")
+    @ApiImplicitParams(value = {
+                    @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);
+        return R.data(pages);
+    }
+
+
+    /**
+     * 新增 客户级项目表
+     */
+    @PostMapping("/save")
+    @ApiOperationSupport(order = 4)
+    @ApiOperation(value = "新增", notes = "传入projectInfo")
+    public R save(@Valid @RequestBody ProjectInfoDTO projectInfo) {
+        return R.status(projectInfoService.save(projectInfo));
+    }
+
+    /**
+     * 修改 客户级项目表
+     */
+    @PostMapping("/update")
+    @ApiOperationSupport(order = 5)
+    @ApiOperation(value = "修改", notes = "传入projectInfo")
+    public R update(@Valid @RequestBody ProjectInfo projectInfo) {
+        return R.status(projectInfoService.updateById(projectInfo));
+    }
+
+    /**
+     * 新增或修改 客户级项目表
+     */
+    @PostMapping("/submit")
+    @ApiOperationSupport(order = 6)
+    @ApiOperation(value = "新增或修改", notes = "传入projectInfo")
+	@ApiImplicitParam(value = "id",name = "id",required = true)
 	public R submit(@Valid @RequestBody ProjectInfo projectInfo) {
-		return R.status(projectInfoService.saveOrUpdate(projectInfo));
-	}
-
-
-	/**
-	 * 删除 客户级项目表
-	 */
-	@PostMapping("/remove")
-	@ApiOperationSupport(order = 7)
-	@ApiOperation(value = "逻辑删除", notes = "传入ids")
-	public R remove(@ApiParam(value = "主键集合", required = true) @RequestParam String ids) {
-		return R.status(projectInfoService.deleteLogic(Func.toLongList(ids)));
-	}
+        return R.status(projectInfoService.saveOrUpdate(projectInfo));
+    }
+
+
+    /**
+     * 删除 客户级项目表
+     */
+    @PostMapping("/remove")
+    @ApiOperationSupport(order = 7)
+    @ApiOperation(value = "逻辑删除", notes = "传入ids")
+    public R remove(@ApiParam(value = "主键集合", required = true) @RequestParam String ids) {
+        return R.status(projectInfoService.deleteLogic(Func.toLongList(ids)));
+    }
+
+    /**
+     * 查询业务条数
+     *
+     * @return
+     */
+    @GetMapping("/listContractInfoCount")
+	@ApiOperationSupport(order = 8)
+	@ApiOperation(value = "统计合同数", notes = "null")
+    public List<ContractlnfoCountVO> selectContractInfoCount() {
+        List<ContractlnfoCountVO> contractlnfoCountsVO = projectInfoService.selectContractInfoCount();
+        return contractlnfoCountsVO;
+    }
 
 
 }

+ 0 - 8
blade-service/blade-manager/src/main/java/org/springblade/manager/controller/WbsFormElementController.java

@@ -50,14 +50,6 @@ public class WbsFormElementController extends BladeController {
 	@PostMapping("/save")
 	@ApiOperationSupport(order = 1)
 	@ApiOperation(value = "新增", notes = "传入wbsFormElement")
-	/*@ApiImplicitParams(value = {
-		@ApiImplicitParam(name = "fId",value = "父id",required = true),
-		@ApiImplicitParam(name = "eName",value = "元素名称",required = true),
-		@ApiImplicitParam(name = "eType",value = "元素类型",required = true),
-		@ApiImplicitParam(name = "eLength",value = "元素长度",required = true),
-		@ApiImplicitParam(name = "eAllowDeviation",value = "允许偏差值",required = true),
-		@ApiImplicitParam(name = "eInspectionMethod",value = "检查方法",required = true)
-	})*/
 	public R save(@Valid @RequestBody WbsFormElementDTO wbsFormElement) {
 		return R.status(wbsFormElementService.save(wbsFormElement));
 	}

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

@@ -26,6 +26,7 @@ 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.WbsInfoDTO;
 import org.springblade.manager.entity.WbsInfo;
 import org.springblade.manager.vo.WbsInfoVO;
 import org.springframework.web.bind.annotation.*;
@@ -44,7 +45,7 @@ import org.springblade.core.boot.ctrl.BladeController;
 @RestController
 @AllArgsConstructor
 @RequestMapping("/wbsInfo")
-@Api(value = "wbs动态库信息", tags = "wbs动态库信息")
+@Api(value = "wbs动态库信息", tags = "wbs动态库信息接口")
 public class WbsInfoController extends BladeController {
 
 	private final IWbsInfoService wbsInfoService;
@@ -56,7 +57,7 @@ public class WbsInfoController extends BladeController {
 	@ApiOperationSupport(order = 1)
 	@ApiOperation(value = "详情", notes = "传入id")
 	@ApiImplicitParam(name = "id", value = "id", required = true)
-	public R<WbsInfoVO> detail(WbsInfo wbsInfo) {
+	public R<WbsInfoVO> detail(WbsInfoDTO wbsInfo) {
 		WbsInfo detail = wbsInfoService.getOne(Condition.getQueryWrapper(wbsInfo));
 		return R.data(WbsInfoWrapper.build().entityVO(detail));
 	}
@@ -67,7 +68,7 @@ public class WbsInfoController extends BladeController {
 	@GetMapping("/list")
 	@ApiOperationSupport(order = 2)
 	@ApiOperation(value = "分页", notes = "传入wbsInfo")
-	public R<IPage<WbsInfoVO>> list(WbsInfo wbsInfo, Query query) {
+	public R<IPage<WbsInfoVO>> list(WbsInfoDTO wbsInfo, Query query) {
 		IPage<WbsInfo> pages = wbsInfoService.page(Condition.getPage(query), Condition.getQueryWrapper(wbsInfo));
 		return R.data(WbsInfoWrapper.build().pageVO(pages));
 	}
@@ -94,8 +95,7 @@ public class WbsInfoController extends BladeController {
 	@PostMapping("/save")
 	@ApiOperationSupport(order = 4)
 	@ApiOperation(value = "新增", notes = "传入wbsInfo")
-	@ApiImplicitParam(value = "id",name = "id",required = true)
-	public R save(@Valid @RequestBody WbsInfo wbsInfo) {
+	public R save(@Valid @RequestBody WbsInfoDTO wbsInfo) {
 		return R.status(wbsInfoService.save(wbsInfo));
 	}
 
@@ -106,7 +106,7 @@ public class WbsInfoController extends BladeController {
 	@ApiOperationSupport(order = 5)
 	@ApiOperation(value = "修改", notes = "传入wbsInfo")
 	@ApiImplicitParam(value = "id",name = "id",required = true)
-	public R update(@Valid @RequestBody WbsInfo wbsInfo) {
+	public R update(@Valid @RequestBody WbsInfoDTO wbsInfo) {
 		return R.status(wbsInfoService.updateById(wbsInfo));
 	}
 
@@ -117,7 +117,7 @@ public class WbsInfoController extends BladeController {
 	@ApiOperationSupport(order = 6)
 	@ApiOperation(value = "新增或修改", notes = "传入wbsInfo")
 	@ApiImplicitParam(value = "id",name = "id",required = true)
-	public R submit(@Valid @RequestBody WbsInfo wbsInfo) {
+	public R submit(@Valid @RequestBody WbsInfoDTO wbsInfo) {
 		return R.status(wbsInfoService.saveOrUpdate(wbsInfo));
 	}
 

+ 43 - 6
blade-service/blade-manager/src/main/java/org/springblade/manager/controller/WbsTreeController.java

@@ -20,19 +20,24 @@ package org.springblade.manager.controller;
 import io.swagger.annotations.*;
 import com.github.xiaoymin.knife4j.annotations.ApiOperationSupport;
 import lombok.AllArgsConstructor;
+import oracle.jdbc.proxy.annotation.Post;
 import org.springblade.core.cache.utils.CacheUtil;
 import org.springblade.core.mp.support.Condition;
 import org.springblade.core.secure.BladeUser;
 import org.springblade.core.tool.api.R;
 import org.springblade.core.tool.support.Kv;
 import org.springblade.core.tool.utils.Func;
+import org.springblade.manager.dto.FormElementDTO;
 import org.springblade.manager.dto.WbsTreeDTO;
 import org.springblade.manager.entity.WbsFormElement;
 import org.springblade.manager.entity.WbsTree;
+import org.springblade.manager.service.IWbsFormElementService;
 import org.springblade.manager.vo.WbsNodeTableVO;
 import org.springblade.manager.vo.WbsTreeVO;
 import org.springblade.system.cache.DictCache;
+import org.springblade.system.entity.DictBiz;
 import org.springblade.system.enums.DictEnum;
+import org.springframework.transaction.annotation.Transactional;
 import org.springframework.web.bind.annotation.*;
 import org.springframework.web.bind.annotation.RequestParam;
 import org.springblade.manager.wrapper.WbsTreeWrapper;
@@ -52,10 +57,11 @@ import static org.springblade.core.cache.constant.CacheConstant.SYS_CACHE;
 @RestController
 @AllArgsConstructor
 @RequestMapping("/wbsTree")
-@Api(value = "WBS动态库节点", tags = "WBS动态库节点")
+@Api(value = "wbs动态库节点", tags = "wbs动态库节点接口")
 public class WbsTreeController extends BladeController {
 
 	private final IWbsTreeService wbsTreeService;
+	private final IWbsFormElementService wbsFormElementService;
 
 	/**
 	 * 详情
@@ -77,13 +83,13 @@ public class WbsTreeController extends BladeController {
 	 */
 	@GetMapping("/lazy-tree")
 	@ApiOperationSupport(order = 2)
-	@ApiOperation(value = "懒加载节点树形结构", notes = "传入tenantId,parentId,请求头token")
+	@ApiOperation(value = "懒加载节点树形结构", notes = "传入wbsId,parentId,请求头token")
 	@ApiImplicitParams(value = {
-		@ApiImplicitParam(name = "tenantId", value = "租户id", required = true),
+		@ApiImplicitParam(name = "wbsId", value = "wbsId", required = true),
 		@ApiImplicitParam(name = "parentId", value = "父级id", required = true),
 	})
-	public R<List<WbsTreeVO>> lazyTree(String tenantId, Long parentId, BladeUser bladeUser) {
-		List<WbsTreeVO> tree = wbsTreeService.lazyTree(Func.toStrWithEmpty(tenantId, bladeUser.getTenantId()), parentId);
+	public R<List<WbsTreeVO>> lazyTree(String wbsId, Long parentId, BladeUser bladeUser) {
+		List<WbsTreeVO> tree = wbsTreeService.lazyTree(Func.toStrWithEmpty(wbsId, bladeUser.getTenantId()), parentId);
 		if (tree != null && tree.size() > 0) {
 			return R.data(tree);
 		}
@@ -126,6 +132,8 @@ public class WbsTreeController extends BladeController {
 		return R.fail("操作失败");
 	}
 
+
+
 	/**
 	 * 逻辑删除
 	 */
@@ -148,7 +156,7 @@ public class WbsTreeController extends BladeController {
 		if (!("").equals(rs) && rs.size() > 0) {
 			return R.data(rs);
 		}
-		return R.fail(200, "未查询到元素");
+		return R.fail(200, "未查询到数据");
 	}
 
 	/**
@@ -159,6 +167,7 @@ public class WbsTreeController extends BladeController {
 	@ApiOperation(value = "表单删除", notes = "传入id")
 	@ApiImplicitParam(name = "id",value = "表单id",required = true)
 	public R removeTableById(@RequestParam("id") String id) {
+		//todo 先查询表单下是否有元素,有元素则无法删除
 		boolean restul = wbsTreeService.removeTableById(id);
 		if (restul){
 			return R.success("删除成功");
@@ -180,6 +189,34 @@ public class WbsTreeController extends BladeController {
 		}
 		return R.data(wbsFormElements,"未查询到元素");
 	}
+
+
+	/**
+	 * 新增表单,元素
+	 */
+	@PostMapping("/saveFormAndElement")
+	@ApiOperationSupport(order = 8)
+	@ApiOperation(value = "表单、元素新增", notes = "传入WbsTree、WbsFormElement")
+	@ApiImplicitParams(value = {
+			@ApiImplicitParam(name = "deptName",value = "表单名称",required = true),
+			@ApiImplicitParam(name = "wbsId",value = "wbs库id",required = true),
+			@ApiImplicitParam(name = "tenantId",value = "租户id",required = true),
+			@ApiImplicitParam(name = "parentId",value = "父主键id",required = true),
+			@ApiImplicitParam(name = "deptCategory",value = "节点类型",required = true),
+			@ApiImplicitParam(name = "sort",value = "排序"),
+			@ApiImplicitParam(name = "ElementList",value = "元素集合")
+	})
+	@Transactional(rollbackFor = Exception.class)
+	public R saveFormElement(@RequestBody FormElementDTO elementDTO){
+		//创建表单
+		boolean b1 = wbsTreeService.submit2(elementDTO);
+		//批量新增元素
+		boolean b2 = wbsFormElementService.saveBatch(elementDTO.getElementList());
+		if (b1 && b2){
+			return R.success("新增成功");
+		}return R.fail("新增失败");
+	}
+
 }
 
 

+ 13 - 0
blade-service/blade-manager/src/main/java/org/springblade/manager/mapper/ContractInfoMapper.java

@@ -17,12 +17,15 @@
 package org.springblade.manager.mapper;
 
 import org.apache.ibatis.annotations.Param;
+import org.springblade.manager.dto.FindAllUserByConditionDTO;
 import org.springblade.manager.entity.ContractInfo;
+import org.springblade.manager.vo.CRolePostVO;
 import org.springblade.manager.vo.ContractInfoVO;
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import org.springblade.manager.vo.ContractlnfoCountVO;
 import org.springblade.manager.vo.ProjectInfoVO;
+import org.springblade.system.user.entity.User;
 
 import java.util.List;
 
@@ -47,4 +50,14 @@ public interface ContractInfoMapper extends BaseMapper<ContractInfo> {
 
 	List<ContractInfo> selectContractInfoPageByPid(@Param("pid") String pid);
 
+    List<CRolePostVO> findJobByRoleId(@Param("id") String id);
+
+	List<User> findAllUserByCondition(@Param("Values") FindAllUserByConditionDTO values);
+
+	List<User> findUserInfoByCondition(@Param("rId") String rId,
+									   @Param("pId") String pId,
+									   @Param("userName") String userName);
+
+	Integer insertProjectAndContractAndUser(@Param("cId") String cId ,
+											@Param("uId") String uId);
 }

+ 44 - 6
blade-service/blade-manager/src/main/java/org/springblade/manager/mapper/ContractInfoMapper.xml

@@ -4,7 +4,7 @@
 
 
     <!-- 通用查询映射结果 -->
-    <resultMap id="contractInfoResultMap" type="org.springblade.manager.entity.ContractInfo">
+    <resultMap id="contractInfoResultMap" type="org.springblade.manager.vo.ContractInfoVO">
         <result column="id" property="id"/>
         <result column="create_time" property="createTime"/>
         <result column="create_user" property="createUser"/>
@@ -14,9 +14,11 @@
         <result column="status" property="status"/>
         <result column="is_deleted" property="isDeleted"/>
         <result column="contract_name" property="contractName"/>
-        <result column="project_name" property="projectName" />
+        <result column="p_id" property="pId"/>
+        <result column="project_name" property="projectName"/>
         <result column="contract_number" property="contractNumber"/>
         <result column="contractor_unit_name" property="contractorUnitName"/>
+        <result column="construction_unit_name" property="constructionUnitName"/>
         <result column="supervision_unit_name" property="supervisionUnitName"/>
         <result column="contractor_join_time" property="contractorJoinTime"/>
         <result column="plan_start_time" property="planStartTime"/>
@@ -29,6 +31,7 @@
         <result column="project_place" property="projectPlace"/>
         <result column="start_station" property="startStation"/>
         <result column="end_station" property="endStation"/>
+
     </resultMap>
     <!-- 通用查询映射结果 -->
     <resultMap id="contractInfoResultMap1" type="org.springblade.manager.vo.ContractlnfoCountVO">
@@ -36,17 +39,52 @@
         <result column="contract_counts" property="contractCounts"/>
     </resultMap>
 
+    <insert id="insertProjectAndContractAndUser">
+        insert into m_contract_user (c_id,u_id) values (#{cId,jdbcType=VARCHAR},#{uId,jdbcType=VARCHAR})
+    </insert>
 
     <select id="selectContractInfoPage" resultMap="contractInfoResultMap">
-        select c.* ,p.project_name as project_name from t_pf_contract_info c INNER JOIN t_pf_project_info p on c.p_id=p.id where c.is_deleted = 0
+        select c.* ,p.project_name as project_name from m_contract_info c INNER JOIN m_project_info p on c.p_id=p.id where c.is_deleted = 0
     </select>
 
     <select id="selectContractInfoCount" resultMap="contractInfoResultMap1">
-        select c.contract_name,count(*) as contract_counts from t_pf_contract_info c where c.is_deleted = 0  GROUP BY c.p_id
+        select c.contract_name,count(*) as contract_counts from m_contract_info c where c.is_deleted = 0  GROUP BY c.p_id
+    </select>
+
+    <select id="selectContractInfoPageByPid" resultMap="contractInfoResultMap">
+        select c.*,p.project_name as project_name  from m_contract_info c INNER JOIN m_project_info p on c.p_id=p.id where p.id = #{pid} and c.is_deleted = 0
+    </select>
+
+    <select id="findJobByRoleId" resultType="org.springblade.manager.vo.CRolePostVO">
+        select p.id,p.post_name from blade_post p INNER JOIN m_role_post m ON p.id = m.pid
+        INNER JOIN blade_role r ON r.id = m.rid WHERE p.is_deleted = 0 and p.`status`= 1
+        and r.id = #{id}
+    </select>
+
+    <select id="findAllUserByCondition" resultType="org.springblade.system.user.entity.User">
+        SELECT
+        pi.project_name,ci.contract_name,u.`name`,u.account,u.`password`
+        FROM blade_user u INNER JOIN blade_role r ON u.role_id=r.id
+        INNER JOIN blade_post p ON p.id= u.post_id
+        INNER JOIN m_contract_user cu ON u.id = cu.u_id
+        INNER JOIN m_contract_info ci ON ci.id = cu.c_id
+        INNER JOIN m_project_info pi ON ci.p_id = pi.id
+        WHERE u.is_deleted = 0 AND u.`status` = 1
+        AND r.id = #{Values.rId}
+        AND p.id = #{Values.postId}
+        AND ci.id = #{Values.cId}
+        AND pi.id = #{Values.pId}
     </select>
+    <select id="findUserInfoByCondition" resultType="org.springblade.system.user.entity.User">
 
-    <select id="selectContractInfoPageByPid" resultMap="contractInfoResultMap" >
-        select c.*,p.project_name as project_name  from t_pf_contract_info c INNER JOIN t_pf_project_info p on c.p_id=p.id where p.id = #{pid} and c.is_deleted = 0
+        SELECT `name`,`account`,`password` FROM blade_user
+        WHERE is_deleted = 0 AND `status` = 1
+        AND role_id = #{rId}
+        AND post_id = #{pId}
+        <if test=" userName != null and userName != '' ">
+            AND `name` = #{userName}
+        </if>
     </select>
 
+
 </mapper>

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

@@ -31,7 +31,7 @@
 
 
     <select id="selectProjectInfoPage" resultMap="projectInfoResultMap">
-        select * from t_pf_project_info where is_deleted = 0
+        select * from m_project_info where is_deleted = 0
     </select>
 
 </mapper>

+ 8 - 0
blade-service/blade-manager/src/main/java/org/springblade/manager/mapper/SaveUserInfoByProjectMapper.java

@@ -0,0 +1,8 @@
+package org.springblade.manager.mapper;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import org.springblade.manager.dto.SaveUserInfoByProjectDTO;
+
+public interface SaveUserInfoByProjectMapper extends BaseMapper<SaveUserInfoByProjectDTO> {
+
+}

+ 20 - 0
blade-service/blade-manager/src/main/java/org/springblade/manager/mapper/SaveUserInfoByProjectMapper.xml

@@ -0,0 +1,20 @@
+<?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.SaveUserInfoByProjectMapper">
+
+
+    <!-- 通用查询映射结果 -->
+    <resultMap id="contractInfoResultMap" type="org.springblade.manager.dto.SaveUserInfoByProjectDTO">
+        <result column="id" property="id"/>
+        <result column="c_id" property="cId"/>
+        <result column="u_id" property="uId"/>
+        <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>

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

@@ -75,16 +75,22 @@ public interface WbsTreeMapper extends BaseMapper<WbsTree> {
 	/**
 	 * 表单删除
 	 */
-	Integer removeTableById(String id);
+	Integer removeTableById(@Param("id") String id);
 
 	/**
 	 * 表单元素
 	 */
 	List<WbsFormElement> selectFormElements(@Param("id") String id);
 
+
+	/**
+	 * 新增表单
+	 */
+	Integer insertForm(WbsTree wbsTree);
+
 	/**
 	 * 新增元素
 	 */
-	boolean addFormElement(WbsFormElement wbsFormElement);
+	Integer addFormElement(WbsFormElement wbsFormElement);
 
 }

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

@@ -5,6 +5,7 @@
     <!-- 通用查询映射结果 -->
     <resultMap id="wbsTreeResultMap" type="org.springblade.manager.entity.WbsTree">
         <result column="id" property="id"/>
+        <result column="w_id" property="wbsId"/>
         <result column="is_deleted" property="isDeleted"/>
         <result column="status" property="status"/>
         <result column="create_time" property="createTime"/>
@@ -22,8 +23,14 @@
         <result column="full_name" property="fullName"/>
         <result column="sort" property="sort"/>
         <result column="remark" property="remark"/>
-
+        <result column="unique_code" property="uniqueCode"/>
+        <result column="partition_code" property="partitionCode"/>
+        <result column="is_concrete" property="isConcrete"/>
+        <result column="is_expernode" property="isExpernode"/>
+        <result column="table_owner" property="tableOwner"/>
+        <result column="major_data_type" property="majorDataType"/>
     </resultMap>
+
     <resultMap id="treeNodeResultMap" type="org.springblade.core.tool.node.TreeNode">
         <id column="id" property="id"/>
         <result column="parent_id" property="parentId"/>
@@ -55,6 +62,9 @@
         insert into m_wbs_form_element(f_id,e_name,e_type,e_length)
         values (#{f_id},#{e_name},#{e_type},#{e_length})
     </insert>
+    <insert id="insertForm">
+        insert into m_wbs_tree
+    </insert>
 
 
     <update id="removeTableById">
@@ -131,5 +141,4 @@
     </select>
 
 
-
 </mapper>

+ 10 - 0
blade-service/blade-manager/src/main/java/org/springblade/manager/service/IContractInfoService.java

@@ -17,9 +17,12 @@
 package org.springblade.manager.service;
 
 import com.baomidou.mybatisplus.core.metadata.IPage;
+import org.springblade.manager.dto.FindAllUserByConditionDTO;
 import org.springblade.manager.entity.ContractInfo;
+import org.springblade.manager.vo.CRolePostVO;
 import org.springblade.manager.vo.ContractInfoVO;
 import org.springblade.core.mp.base.BaseService;
+import org.springblade.system.user.entity.User;
 
 
 import java.util.List;
@@ -43,4 +46,11 @@ public interface IContractInfoService extends BaseService<ContractInfo> {
 
 	List<ContractInfo> selectContractInfoPageByPid(String pid);
 
+    List<CRolePostVO> findJobByRoleId(String id);
+
+	List<User> findAllUserByCondition(FindAllUserByConditionDTO values);
+
+	List<User> findUserInfoByCondition(String rId ,String pId,String userName);
+
+	Boolean saveUserInfoByProject(String cId , String uId);
 }

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

@@ -18,6 +18,7 @@ package org.springblade.manager.service;
 
 import org.springblade.core.mp.base.BaseService;
 import com.baomidou.mybatisplus.core.metadata.IPage;
+import org.springblade.manager.dto.FormElementDTO;
 import org.springblade.manager.entity.WbsFormElement;
 import org.springblade.manager.entity.WbsTree;
 import org.springblade.manager.vo.WbsNodeTableVO;
@@ -68,6 +69,7 @@ public interface IWbsTreeService extends BaseService<WbsTree> {
 	 */
 	boolean submit(WbsTree dept);
 
+	boolean submit2(FormElementDTO dept);
 
 	/**
 	 *表单查询(根据节点ID查询当前表单)
@@ -86,5 +88,5 @@ public interface IWbsTreeService extends BaseService<WbsTree> {
 	List<WbsFormElement> selectFormElements(String id);
 
 
-
+    Boolean saveFormElement(WbsTree wbsTree);
 }

+ 8 - 0
blade-service/blade-manager/src/main/java/org/springblade/manager/service/SaveUserInfoByProjectService.java

@@ -0,0 +1,8 @@
+package org.springblade.manager.service;
+
+import org.springblade.core.mp.base.BaseService;
+import org.springblade.manager.dto.SaveUserInfoByProjectDTO;
+
+
+public interface SaveUserInfoByProjectService extends BaseService<SaveUserInfoByProjectDTO> {
+}

+ 44 - 9
blade-service/blade-manager/src/main/java/org/springblade/manager/service/impl/ContractInfoServiceImpl.java

@@ -16,14 +16,19 @@
  */
 package org.springblade.manager.service.impl;
 
+import org.apache.ibatis.annotations.Param;
+import org.springblade.manager.dto.FindAllUserByConditionDTO;
 import org.springblade.manager.entity.ContractInfo;
+import org.springblade.manager.vo.CRolePostVO;
 import org.springblade.manager.vo.ContractInfoVO;
 import org.springblade.manager.mapper.ContractInfoMapper;
 import org.springblade.manager.service.IContractInfoService;
 import org.springblade.core.mp.base.BaseServiceImpl;
+import org.springblade.system.user.entity.User;
 import org.springframework.stereotype.Service;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 
+import javax.annotation.Resource;
 import java.util.List;
 
 /**
@@ -35,15 +40,45 @@ import java.util.List;
 @Service
 public class ContractInfoServiceImpl extends BaseServiceImpl<ContractInfoMapper, ContractInfo> implements IContractInfoService {
 
+    @Resource
+    private ContractInfoMapper contractInfoMapper;
 
-	@Override
-	public IPage<ContractInfoVO> selectContractInfoPage(IPage<ContractInfoVO> page, ContractInfoVO contractInfo) {
-		List<ContractInfoVO> dat = baseMapper.selectContractInfoPage(page, contractInfo);
-		return page.setRecords(dat);
-	}
+    @Override
+    public IPage<ContractInfoVO> selectContractInfoPage(IPage<ContractInfoVO> page, ContractInfoVO contractInfo) {
+        List<ContractInfoVO> dat = baseMapper.selectContractInfoPage(page, contractInfo);
+        return page.setRecords(dat);
+    }
 
-	@Override
-	public List<ContractInfo> selectContractInfoPageByPid(String pid) {
-		return baseMapper.selectContractInfoPageByPid(pid);
-	}
+    @Override
+    public List<ContractInfo> selectContractInfoPageByPid(String pid) {
+        return baseMapper.selectContractInfoPageByPid(pid);
+    }
+
+    @Override
+    public List<CRolePostVO> findJobByRoleId(String id) {
+        return contractInfoMapper.findJobByRoleId(id);
+    }
+
+    @Override
+    public List<User> findAllUserByCondition(FindAllUserByConditionDTO values) {
+        return contractInfoMapper.findAllUserByCondition(values);
+    }
+
+    @Override
+    public List<User> findUserInfoByCondition(String rId, String pId, String userName) {
+        if (userName == null || ("").equals(userName)) {
+            userName = "";
+        }
+        return contractInfoMapper.findUserInfoByCondition(rId, pId, userName);
+    }
+
+    @Override
+    public Boolean saveUserInfoByProject(String cId , String uId) {
+            //新增项目、合同段与用户关联
+           Integer row =  contractInfoMapper.insertProjectAndContractAndUser(cId,uId);
+           if (row>0){
+               return true;
+           }
+            return false;
+    }
 }

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

@@ -0,0 +1,14 @@
+package org.springblade.manager.service.impl;
+
+import org.springblade.core.mp.base.BaseServiceImpl;
+import org.springblade.manager.dto.SaveUserInfoByProjectDTO;
+import org.springblade.manager.mapper.SaveUserInfoByProjectMapper;
+import org.springblade.manager.service.SaveUserInfoByProjectService;
+import org.springframework.stereotype.Service;
+
+
+@Service
+public class SaveUserInfoByProjectServiceImpl
+        extends BaseServiceImpl<SaveUserInfoByProjectMapper, SaveUserInfoByProjectDTO>
+        implements SaveUserInfoByProjectService {
+}

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

@@ -22,6 +22,7 @@ import org.springblade.core.tool.constant.BladeConstant;
 import org.springblade.core.tool.node.ForestNodeMerger;
 import org.springblade.core.tool.utils.Func;
 import org.springblade.core.tool.utils.StringPool;
+import org.springblade.manager.dto.FormElementDTO;
 import org.springblade.manager.mapper.WbsTreeMapper;
 import org.springblade.manager.service.IWbsTreeService;
 import org.springblade.core.mp.base.BaseServiceImpl;
@@ -85,6 +86,30 @@ public class WbsTreeServiceImpl extends BaseServiceImpl<WbsTreeMapper,WbsTree> i
 		return saveOrUpdate(dept);
 	}
 
+	@Override
+	public boolean submit2(FormElementDTO dept) {
+		if (Func.isEmpty(dept.getParentId())) {
+			dept.setTenantId(AuthUtil.getTenantId());
+			dept.setParentId(BladeConstant.TOP_PARENT_ID);
+			dept.setAncestors(String.valueOf(BladeConstant.TOP_PARENT_ID));
+		}
+		if (dept.getParentId() > 0) {
+			WbsTree parent = getById(dept.getParentId());
+			if (Func.toLong(dept.getParentId()) == Func.toLong(dept.getId())) {
+				throw new ServiceException("父节点不可选择自身!");
+			}
+			dept.setTenantId(parent.getTenantId());
+			String ancestors = parent.getAncestors() + StringPool.COMMA + dept.getParentId();
+			dept.setAncestors(ancestors);
+		}
+		//设置类型默认值为 '2' 表单
+		dept.setType(2);
+
+		dept.setIsDeleted(BladeConstant.DB_NOT_DELETED);
+
+		return saveOrUpdate(dept);
+	}
+
 	@Override
 	public List<WbsNodeTableVO> selectByNodeTable(String id) {
 		//查询节点下的所有表单
@@ -117,7 +142,11 @@ public class WbsTreeServiceImpl extends BaseServiceImpl<WbsTreeMapper,WbsTree> i
 		return wbsFormElements;
 	}
 
-
+	@Override
+	public Boolean saveFormElement(WbsTree wbsTree) {
+		wbsTreeMapper.insertForm(wbsTree);
+		return null;
+	}
 
 
 }

+ 5 - 5
blade-service/blade-manager/src/main/java/sql/contractinfo.menu.sql

@@ -1,10 +1,10 @@
 INSERT INTO `blade_menu`(`id`, `parent_id`, `code`, `name`, `alias`, `path`, `source`, `sort`, `category`, `action`, `is_open`, `remark`, `is_deleted`)
-VALUES ('1515953420169297922', 1123598815738675201, 'contractinfo', '合同段列表', 'menu', '/project/contractinfo', NULL, 1, 1, 0, 1, NULL, 0);
+VALUES ('1522115222791921666', 1123598815738675201, 'contractinfo', '合同段信息', 'menu', '/manager/contractinfo', NULL, 1, 1, 0, 1, NULL, 0);
 INSERT INTO `blade_menu`(`id`, `parent_id`, `code`, `name`, `alias`, `path`, `source`, `sort`, `category`, `action`, `is_open`, `remark`, `is_deleted`)
-VALUES ('1515953420169297923', '1515953420169297922', 'contractinfo_add', '新增', 'add', '/project/contractinfo/add', 'plus', 1, 2, 1, 1, NULL, 0);
+VALUES ('1522115222791921667', '1522115222791921666', 'contractinfo_add', '新增', 'add', '/manager/contractinfo/add', 'plus', 1, 2, 1, 1, NULL, 0);
 INSERT INTO `blade_menu`(`id`, `parent_id`, `code`, `name`, `alias`, `path`, `source`, `sort`, `category`, `action`, `is_open`, `remark`, `is_deleted`)
-VALUES ('1515953420169297924', '1515953420169297922', 'contractinfo_edit', '修改', 'edit', '/project/contractinfo/edit', 'form', 2, 2, 2, 1, NULL, 0);
+VALUES ('1522115222791921668', '1522115222791921666', 'contractinfo_edit', '修改', 'edit', '/manager/contractinfo/edit', 'form', 2, 2, 2, 1, NULL, 0);
 INSERT INTO `blade_menu`(`id`, `parent_id`, `code`, `name`, `alias`, `path`, `source`, `sort`, `category`, `action`, `is_open`, `remark`, `is_deleted`)
-VALUES ('1515953420169297925', '1515953420169297922', 'contractinfo_delete', '删除', 'delete', '/api/blade-project-info/contractinfo/remove', 'delete', 3, 2, 3, 1, NULL, 0);
+VALUES ('1522115222791921669', '1522115222791921666', 'contractinfo_delete', '删除', 'delete', '/api/blade-manager/contractinfo/remove', 'delete', 3, 2, 3, 1, NULL, 0);
 INSERT INTO `blade_menu`(`id`, `parent_id`, `code`, `name`, `alias`, `path`, `source`, `sort`, `category`, `action`, `is_open`, `remark`, `is_deleted`)
-VALUES ('1515953420169297926', '1515953420169297922', 'contractinfo_view', '查看', 'view', '/project/contractinfo/view', 'file-text', 4, 2, 2, 1, NULL, 0);
+VALUES ('1522115222791921670', '1522115222791921666', 'contractinfo_view', '查看', 'view', '/manager/contractinfo/view', 'file-text', 4, 2, 2, 1, NULL, 0);

+ 5 - 6
blade-service/blade-manager/src/main/java/sql/projectinfo.menu.sql

@@ -1,11 +1,10 @@
 INSERT INTO `blade_menu`(`id`, `parent_id`, `code`, `name`, `alias`, `path`, `source`, `sort`, `category`, `action`, `is_open`, `remark`, `is_deleted`)
-VALUES ('1515954856571617282', 1123598815738675201, 'projectinfo', '项目列表', 'menu', '/project/projectinfo', NULL, 1, 1, 0, 1, NULL, 0);
+VALUES ('1522113725651886081', 1123598815738675201, 'projectinfo', '项目管理', 'menu', '/manager/projectinfo', NULL, 1, 1, 0, 1, NULL, 0);
 INSERT INTO `blade_menu`(`id`, `parent_id`, `code`, `name`, `alias`, `path`, `source`, `sort`, `category`, `action`, `is_open`, `remark`, `is_deleted`)
-VALUES ('1515954856571617283', '1515954856571617282', 'projectinfo_add', '新增', 'add', '/project/projectinfo/add', 'plus', 1, 2, 1, 1, NULL, 0);
+VALUES ('1522113725651886082', '1522113725651886081', 'projectinfo_add', '新增', 'add', '/manager/projectinfo/add', 'plus', 1, 2, 1, 1, NULL, 0);
 INSERT INTO `blade_menu`(`id`, `parent_id`, `code`, `name`, `alias`, `path`, `source`, `sort`, `category`, `action`, `is_open`, `remark`, `is_deleted`)
-VALUES ('1515954856571617284', '1515954856571617282', 'projectinfo_edit', '修改', 'edit', '/project/projectinfo/edit', 'form', 2, 2, 2, 1, NULL, 0);
+VALUES ('1522113725651886083', '1522113725651886081', 'projectinfo_edit', '修改', 'edit', '/manager/projectinfo/edit', 'form', 2, 2, 2, 1, NULL, 0);
 INSERT INTO `blade_menu`(`id`, `parent_id`, `code`, `name`, `alias`, `path`, `source`, `sort`, `category`, `action`, `is_open`, `remark`, `is_deleted`)
-VALUES ('1515954856571617285', '1515954856571617282', 'projectinfo_delete', '删除', 'delete', '/api/blade-project-info/projectinfo/remove', 'delete', 3, 2, 3, 1, NULL, 0);
+VALUES ('1522113725651886084', '1522113725651886081', 'projectinfo_delete', '删除', 'delete', '/api/blade-manager/projectinfo/remove', 'delete', 3, 2, 3, 1, NULL, 0);
 INSERT INTO `blade_menu`(`id`, `parent_id`, `code`, `name`, `alias`, `path`, `source`, `sort`, `category`, `action`, `is_open`, `remark`, `is_deleted`)
-VALUES ('1515954856571617286', '1515954856571617282', 'projectinfo_view', '查看', 'view', '/project/projectinfo/view', 'file-text', 4, 2, 2, 1, NULL, 0);
-
+VALUES ('1522113725651886085', '1522113725651886081', 'projectinfo_view', '查看', 'view', '/manager/projectinfo/view', 'file-text', 4, 2, 2, 1, NULL, 0);