Browse Source

公有wbs库元素同步

liuyc 3 years ago
parent
commit
86f6d3ebdd

+ 6 - 1
blade-service-api/blade-manager-api/src/main/java/org/springblade/manager/dto/WbsFormElementDTO.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.WbsFormElement;
@@ -32,6 +33,10 @@ import org.springblade.manager.entity.WbsFormElement;
 public class WbsFormElementDTO extends WbsFormElement {
 	private static final long serialVersionUID = 1L;
 
-
+	/**
+	 * 初始化的实体表表名
+	 */
+	@ApiModelProperty(value = "实体表表名")
+	private String initTableName;
 
 }

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

@@ -32,6 +32,7 @@ import org.springblade.core.tool.support.Kv;
 import org.springblade.core.tool.utils.DateUtil;
 import org.springblade.core.tool.utils.Func;
 import org.springblade.manager.dto.FormElementDTO;
+import org.springblade.manager.dto.WbsFormElementDTO;
 import org.springblade.manager.dto.WbsTreeDTO;
 import org.springblade.manager.entity.WbsFormElement;
 import org.springblade.manager.entity.WbsTree;
@@ -197,7 +198,7 @@ public class WbsTreeController extends BladeController {
      * 根据表单id查询所有元素
      */
     @GetMapping("/selectFormElements")
-    @ApiOperationSupport(order = 7)
+    @ApiOperationSupport(order = 8)
     @ApiOperation(value = "根据表单id查询所有元素", notes = "传入表单id")
     @ApiImplicitParam(name = "id", value = "表单id", required = true)
     public R<List<WbsFormElement>> selectFormElements(@RequestParam("id") String id) {
@@ -216,17 +217,28 @@ public class WbsTreeController extends BladeController {
      * 新增表单与元素
      */
     @PostMapping("/saveFormAndElement")
-    @ApiOperationSupport(order = 8)
+    @ApiOperationSupport(order = 9)
     @ApiOperation(value = "表单与元素新增", notes = "传入FormElementDTO")
     public R saveFormElement(@RequestBody FormElementDTO formElementDTO) {
         return wbsTreeService.saveFormElement(formElementDTO);
     }
 
+    /**
+     * 新增元素同步到实体表
+     */
+    @PostMapping("/saveEntityTableField")
+    @ApiOperationSupport(order = 10)
+    @ApiOperation(value = "新增元素同步到实体表", notes = "传入FormElementDTO")
+    public R saveEntityTableField(@RequestBody WbsFormElementDTO wbsFormElementDTO) {
+        return wbsTreeService.saveEntityTableField(wbsFormElementDTO);
+    }
+
+
     /**
      * 编辑表单元素批量修改
      */
     @PostMapping("/updateBatchElements")
-    @ApiOperationSupport(order = 9)
+    @ApiOperationSupport(order = 11)
     @ApiOperation(value = "编辑表单元素批量修改", notes = "传入WbsFormElement")
     @ApiImplicitParam(name = "ids", value = "元素的id集合", required = true)
     public R updateBatchElements(@RequestBody List<WbsFormElement> wbsFormElementList) {
@@ -242,7 +254,7 @@ public class WbsTreeController extends BladeController {
      * 导出Wbs树模板
      */
     @GetMapping("/export-template")
-    @ApiOperationSupport(order = 10)
+    @ApiOperationSupport(order = 12)
     @ApiOperation(value = "导出WBS树节点模板")
     public void exportWbsTree(HttpServletResponse response) {
         List<WbsTreeExcel> list = new ArrayList<>();
@@ -253,12 +265,12 @@ public class WbsTreeController extends BladeController {
     /**
      * 导入Wbs模板树
      */
-    @ApiOperationSupport(order = 11)
+    @ApiOperationSupport(order = 13)
     @ApiOperation(value = "导入WBS树节点", notes = "传入excel文件")
     @RequestMapping(value = "/import-wbsTree", method = RequestMethod.POST)
     public R importWbsTree(@RequestPart("excelFile") MultipartFile excelFile,
                            @RequestPart("wbsTreeFu") WbsTree wbsTreeFu) throws IOException {
-        /*查询创建的二级工程节点是否已导入相同excel模板,判断是否是导入节点ProjectNodeId字段是否相同,如果是返回false*/
+        /*二级节点是否已导入相同excel模板*/
         Long parentId = wbsTreeFu.getParentId();
         WbsTree wbsTree1 = wbsTreeService.getById(parentId);
         if (wbsTree1.getProjectNodeId().equals(parentId)) {

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

@@ -50,6 +50,7 @@
         <result column="isCreateTable" property="isCreateTable"/>
         <result column="elementTotal" property="elementTotal"/>
         <result column="tableOwner" property="tableOwner"/>
+        <result column="initTableName" property="initTableName"/>
     </resultMap>
 
     <resultMap id="wbsFormElementMap" type="org.springblade.manager.entity.WbsFormElement">
@@ -169,6 +170,7 @@
             wt.`status` AS isCreateTable ,
             wt.table_owner as tableOwner,
             wt.is_link_table,
+            wt.init_table_name as "initTableName",
             (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

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

@@ -21,6 +21,7 @@ import org.springblade.core.mp.base.BaseService;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import org.springblade.core.tool.api.R;
 import org.springblade.manager.dto.FormElementDTO;
+import org.springblade.manager.dto.WbsFormElementDTO;
 import org.springblade.manager.dto.WbsTreeContractDTO;
 import org.springblade.manager.entity.WbsFormElement;
 import org.springblade.manager.entity.WbsTree;
@@ -96,4 +97,7 @@ public interface IWbsTreeService extends BaseService<WbsTree> {
     WbsTreeAllListVO findWbsTreeList(Integer type);
 
     R saveFormElement(FormElementDTO formElementDTO);
+
+    R saveEntityTableField(WbsFormElementDTO wbsFormElementDTO);
+
 }

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

@@ -30,6 +30,7 @@ import org.springblade.core.tool.utils.DateUtil;
 import org.springblade.core.tool.utils.Func;
 import org.springblade.core.tool.utils.StringPool;
 import org.springblade.manager.dto.FormElementDTO;
+import org.springblade.manager.dto.WbsFormElementDTO;
 import org.springblade.manager.dto.WbsTreeContractDTO;
 import org.springblade.manager.entity.*;
 import org.springblade.manager.excel.WbsExcelUtil;
@@ -408,12 +409,9 @@ public class WbsTreeServiceImpl extends BaseServiceImpl<WbsTreeMapper, WbsTree>
         //查询Wbs总树
         List<WbsInfo> wbsInfos = wbsInfoMapper.selectAll(type);
         wbsTreeAllListVO.setWbsInfos(wbsInfos);
-        //查询项目私有树 TODO 默认type=1质检查询wbs总树+项目私有树 如果=2实验不需要wbs私有树可以加判断不查询
+        //查询项目私有树 默认type=1质检
         List<WbsTreePrivate> wbsTreePrivates = wbsTreePrivateMapper.selectAll();
         wbsTreeAllListVO.setWbsTreePrivates(wbsTreePrivates);
-        //查询合同段私有树 TODO 暂时未说明是否要引用合同段私有树(已确认暂时不引用合同树)
-        /*List<WbsTreeContractVO> wbsTreeContractDTOS = wbsTreeContractMapper.selectAll();
-        wbsTreeAllListVO.setWbsTreeContracts(wbsTreeContractDTOS);*/
         return wbsTreeAllListVO;
     }
 
@@ -463,5 +461,12 @@ public class WbsTreeServiceImpl extends BaseServiceImpl<WbsTreeMapper, WbsTree>
         //TODO 初始化元素(动态更新元素-就是当用户编辑新增元素时,实体表也要同步新增一个字段,编辑、删除一样需要同步,需要在写3个接口)
     }
 
+    @Override
+    public R saveEntityTableField(WbsFormElementDTO wbsFormElementDTO) {
+        //TODO 新增元素后更新同步wbs元素到实体表
+
+        return null;
+    }
+
 
 }