Browse Source

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

yangyj 1 year ago
parent
commit
af7c908ce6

+ 15 - 18
blade-service/blade-business/src/main/java/org/springblade/business/controller/ContractTreeDrawingsController.java

@@ -25,10 +25,13 @@ import com.github.xiaoymin.knife4j.annotations.ApiOperationSupport;
 import lombok.AllArgsConstructor;
 import org.apache.commons.lang.StringUtils;
 import org.springblade.business.entity.ContractTreeDrawings;
+import org.springblade.business.service.IInformationQueryService;
 import org.springblade.common.utils.SnowFlakeUtil;
 import org.springblade.core.secure.BladeUser;
 import org.springblade.core.secure.utils.AuthUtil;
 import org.springblade.core.tool.api.R;
+import org.springblade.manager.entity.WbsTreeContract;
+import org.springblade.manager.feign.WbsTreeContractClient;
 import org.springframework.web.bind.annotation.*;
 import org.springblade.business.service.IContractTreeDrawingsService;
 import org.springblade.core.boot.ctrl.BladeController;
@@ -48,6 +51,9 @@ public class ContractTreeDrawingsController extends BladeController {
 
     private final IContractTreeDrawingsService contractTreeDrawingsService;
 
+
+
+
     /**
      * 保存或修改节点上传的图纸记录
      *
@@ -63,25 +69,10 @@ public class ContractTreeDrawingsController extends BladeController {
             @ApiImplicitParam(name = "fileUrl", value = "文件url", required = true),
             @ApiImplicitParam(name = "id", value = "节点的drawingsId")
     })
-    public R<String> saveOrUpdateContractTreeDrawings(@RequestParam String primaryKeyId, @RequestParam String fileUrl,String id) {
-        //当前提交用户
-        BladeUser user = AuthUtil.getUser();
-        if (!"-1".equals(id) && StringUtils.isNotEmpty(id)) {
-            //修改
-            this.contractTreeDrawingsService.update(Wrappers.<ContractTreeDrawings>lambdaUpdate()
-                    .set(ContractTreeDrawings::getFileUrl, fileUrl).set(ContractTreeDrawings::getUpdateUser, user.getUserId())
-                    .set(ContractTreeDrawings::getUpdateTime, new Date())
-                    .eq(ContractTreeDrawings::getId, id));
+    public R<Long> saveOrUpdateContractTreeDrawings(@RequestParam String primaryKeyId, @RequestParam String fileUrl,Long id) {
 
-            return R.data(id);
-        } else {
-            //新增
-            ContractTreeDrawings drawings = new ContractTreeDrawings(primaryKeyId, fileUrl, user.getUserId(), user.getDeptId());
-            drawings.setId(SnowFlakeUtil.getId());
-            this.contractTreeDrawingsService.save(drawings);
 
-            return R.data(drawings.getId().toString());
-        }
+        return contractTreeDrawingsService.saveOrUpdateContractTreeDrawings(primaryKeyId,fileUrl,id);
     }
 
     /**
@@ -94,8 +85,14 @@ public class ContractTreeDrawingsController extends BladeController {
             @ApiImplicitParam(name = "primaryKeyId", value = "节点primaryKeyId", required = true)
     })
     public R<String> getTreeDrawings(Long primaryKeyId){
+        if (primaryKeyId == null || primaryKeyId == -1){
+            return R.fail("图纸id错误");
+        }
         ContractTreeDrawings one = contractTreeDrawingsService.getOne(new LambdaQueryWrapper<ContractTreeDrawings>()
-                .eq(ContractTreeDrawings::getProcessId, primaryKeyId));
+                .eq(ContractTreeDrawings::getId, primaryKeyId));
+        if (one == null || StringUtils.isBlank(one.getFileUrl())){
+            return R.fail("暂未查询到当前节点下图纸");
+        }
         return R.data(one.getFileUrl());
     }
 

+ 1 - 0
blade-service/blade-business/src/main/java/org/springblade/business/mapper/ContractTreeDrawingsMapper.java

@@ -39,4 +39,5 @@ public interface ContractTreeDrawingsMapper extends BaseMapper<ContractTreeDrawi
      */
     List<ContractTreeDrawingsVO> selectContractTreeDrawingsPage(IPage page, ContractTreeDrawingsVO contractTreeDrawings);
 
+    void deleteByNodeId(@Param("id") String primaryKeyId);
 }

+ 4 - 0
blade-service/blade-business/src/main/java/org/springblade/business/mapper/ContractTreeDrawingsMapper.xml

@@ -15,6 +15,10 @@
         <result column="process_id" property="processId"/>
         <result column="file_url" property="fileUrl"/>
     </resultMap>
+    <delete id="deleteByNodeId">
+        DELETE FROM u_contract_tree_drawings
+        WHERE process_id = #{id}
+    </delete>
 
     <select id="queryCurrentNodeDrawings" resultMap="contractTreeDrawingsResultMap">
         select id, file_url from u_contract_tree_drawings where is_deleted = 0 and process_id = #{primaryKeyId}

+ 2 - 0
blade-service/blade-business/src/main/java/org/springblade/business/service/IContractTreeDrawingsService.java

@@ -20,6 +20,7 @@ import org.springblade.business.entity.ContractTreeDrawings;
 import org.springblade.business.vo.ContractTreeDrawingsVO;
 import org.springblade.core.mp.base.BaseService;
 import com.baomidou.mybatisplus.core.metadata.IPage;
+import org.springblade.core.tool.api.R;
 
 /**
  * 服务类
@@ -42,4 +43,5 @@ public interface IContractTreeDrawingsService extends BaseService<ContractTreeDr
      */
     IPage<ContractTreeDrawingsVO> selectContractTreeDrawingsPage(IPage<ContractTreeDrawingsVO> page, ContractTreeDrawingsVO contractTreeDrawings);
 
+    R<Long> saveOrUpdateContractTreeDrawings(String primaryKeyId, String fileUrl, Long id);
 }

+ 35 - 0
blade-service/blade-business/src/main/java/org/springblade/business/service/impl/ContractTreeDrawingsServiceImpl.java

@@ -16,11 +16,20 @@
  */
 package org.springblade.business.service.impl;
 
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import lombok.AllArgsConstructor;
 import org.springblade.business.entity.ContractTreeDrawings;
+import org.springblade.business.service.IInformationQueryService;
 import org.springblade.business.vo.ContractTreeDrawingsVO;
 import org.springblade.business.mapper.ContractTreeDrawingsMapper;
 import org.springblade.business.service.IContractTreeDrawingsService;
+import org.springblade.common.utils.SnowFlakeUtil;
 import org.springblade.core.mp.base.BaseServiceImpl;
+import org.springblade.core.secure.BladeUser;
+import org.springblade.core.secure.utils.AuthUtil;
+import org.springblade.core.tool.api.R;
+import org.springblade.manager.entity.WbsTreeContract;
+import org.springblade.manager.feign.WbsTreeContractClient;
 import org.springframework.stereotype.Service;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 
@@ -31,8 +40,13 @@ import com.baomidou.mybatisplus.core.metadata.IPage;
  * @since 2022-06-14
  */
 @Service
+@AllArgsConstructor
 public class ContractTreeDrawingsServiceImpl extends BaseServiceImpl<ContractTreeDrawingsMapper, ContractTreeDrawings> implements IContractTreeDrawingsService {
 
+    private final IInformationQueryService queryService;
+
+    private final WbsTreeContractClient contractClient;
+
     @Override
     public ContractTreeDrawings queryCurrentNodeDrawings(String primaryKeyId) {
         return this.baseMapper.queryCurrentNodeDrawings(primaryKeyId);
@@ -43,4 +57,25 @@ public class ContractTreeDrawingsServiceImpl extends BaseServiceImpl<ContractTre
         return page.setRecords(baseMapper.selectContractTreeDrawingsPage(page, contractTreeDrawings));
     }
 
+    @Override
+    public R<Long> saveOrUpdateContractTreeDrawings(String primaryKeyId, String fileUrl, Long id) {
+        //当前提交用户
+        BladeUser user = AuthUtil.getUser();
+        if (id != null && id != -1) {
+            //如果存在图纸,则删除当前节点下所有图纸
+            baseMapper.deleteByNodeId(primaryKeyId);
+        }
+        //新增
+        ContractTreeDrawings drawings = new ContractTreeDrawings(primaryKeyId, fileUrl, user.getUserId(), user.getDeptId());
+        drawings.setId(SnowFlakeUtil.getId());
+        id = drawings.getId();
+        this.save(drawings);
+        WbsTreeContract Contract = contractClient.getContractWbsTreeByPrimaryKeyId(Long.parseLong(primaryKeyId));
+        if (Contract == null){
+            return R.fail("未找到当前节点信息");
+        }
+        queryService.delAsyncWbsTree(Contract.getContractId());
+        return R.data(id);
+    }
+
 }