Pārlūkot izejas kodu

资料填报结构树功能

huangjn 3 gadi atpakaļ
vecāks
revīzija
46c4755236

+ 11 - 0
blade-service-api/blade-business-api/src/main/java/org/springblade/business/entity/ContractTreeDrawings.java

@@ -5,6 +5,8 @@ import org.springblade.core.mp.base.BaseEntity;
 import lombok.Data;
 import lombok.EqualsAndHashCode;
 
+import java.util.Date;
+
 /**
  * 实体类
  *
@@ -27,5 +29,14 @@ public class ContractTreeDrawings extends BaseEntity {
      */
     private String fileUrl;
 
+    public ContractTreeDrawings(String primaryKeyId, String fileUrl, Long createUser, String createDept){
+        this.processId = Long.parseLong(primaryKeyId);
+        this.fileUrl = fileUrl;
+        this.setCreateUser(createUser);
+        this.setCreateDept(createDept.contains(",") ? Long.parseLong(createDept.split(",")[0]) : Long.parseLong(createDept));
+        this.setCreateTime(new Date());
+    }
+
+    public ContractTreeDrawings(){}
 
 }

+ 6 - 0
blade-service-api/blade-manager-api/src/main/java/org/springblade/manager/vo/WbsTreeContractTreeVOS.java

@@ -43,4 +43,10 @@ public class WbsTreeContractTreeVOS {
     @ApiModelProperty("子节点")
     private List<WbsTreeContractTreeVOS> children = new ArrayList<>();
 
+    @ApiModelProperty("节点上传图纸主键")
+    private Long drawingsId;
+
+    @ApiModelProperty("节点上传图纸URL")
+    private String fileUrl;
+
 }

+ 19 - 3
blade-service/blade-business/src/main/java/org/springblade/business/controller/ContractTreeDrawingsController.java

@@ -16,16 +16,23 @@
  */
 package org.springblade.business.controller;
 
+import com.baomidou.mybatisplus.core.toolkit.Wrappers;
 import io.swagger.annotations.ApiImplicitParam;
 import io.swagger.annotations.ApiImplicitParams;
 import io.swagger.annotations.ApiOperation;
 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.core.secure.BladeUser;
+import org.springblade.core.secure.utils.AuthUtil;
 import org.springblade.core.tool.api.R;
 import org.springframework.web.bind.annotation.*;
 import org.springblade.business.service.IContractTreeDrawingsService;
 import org.springblade.core.boot.ctrl.BladeController;
 
+import java.util.Date;
+
 /**
  *  节点图纸控制器
  *
@@ -50,10 +57,19 @@ public class ContractTreeDrawingsController extends BladeController {
 	@ApiOperation(value = "保存或修改节点上传的图纸记录")
 	@ApiImplicitParams({
 			@ApiImplicitParam(name = "primaryKeyId", value = "节点primaryKeyId", required = true),
-			@ApiImplicitParam(name = "fileUrl", value = "文件url", required = true)
+			@ApiImplicitParam(name = "fileUrl", value = "文件url", required = true),
+			@ApiImplicitParam(name = "id", value = "文件url")
 	})
-	public R<Boolean> saveOrUpdateContractTreeDrawings(@RequestParam String primaryKeyId, @RequestParam String fileUrl){
-		return null;
+	public R<Boolean> saveOrUpdateContractTreeDrawings(@RequestParam String primaryKeyId, @RequestParam String fileUrl, @RequestParam String id){
+		//当前提交用户
+		BladeUser user = AuthUtil.getUser();
+		return StringUtils.isNotEmpty(id) ?
+				R.data(this.contractTreeDrawingsService.update(Wrappers.<ContractTreeDrawings>lambdaUpdate()
+						.set(ContractTreeDrawings::getFileUrl, fileUrl).set(ContractTreeDrawings::getUpdateUser, user.getUserId())
+						.set(ContractTreeDrawings::getUpdateTime, new Date())
+						.eq(ContractTreeDrawings::getId, id)))
+				:
+				R.data(this.contractTreeDrawingsService.save(new ContractTreeDrawings(primaryKeyId, fileUrl, user.getUserId(), user.getDeptId())));
 	}
 	
 }

+ 17 - 0
blade-service/blade-business/src/main/java/org/springblade/business/controller/InformationWriteQueryController.java

@@ -24,6 +24,8 @@ import lombok.AllArgsConstructor;
 import javax.validation.Valid;
 
 import org.apache.commons.lang.StringUtils;
+import org.springblade.business.entity.ContractTreeDrawings;
+import org.springblade.business.service.IContractTreeDrawingsService;
 import org.springblade.business.vo.FileUserVO;
 import org.springblade.business.vo.InformationQueryVO;
 import org.springblade.core.mp.support.Condition;
@@ -70,6 +72,8 @@ public class InformationWriteQueryController extends BladeController {
 
 	private final IDictBizClient dictBizClient;
 
+	private final IContractTreeDrawingsService contractTreeDrawingsService;
+
 	/**
 	 * 修改节点信息
 	 * @param node 节点信息
@@ -277,6 +281,19 @@ public class InformationWriteQueryController extends BladeController {
 			rootTreeNode = this.wbsTreeContractClient.queryContractWbsTreeByContractIdAndType(contractId, 1, parentId);
 		}
 
+		//获取上传的图纸
+		if(rootTreeNode != null && rootTreeNode.size() != 0){
+			rootTreeNode.forEach(vo -> {
+				ContractTreeDrawings drawings = this.contractTreeDrawingsService.queryCurrentNodeDrawings(vo.getPrimaryKeyId());
+				if(drawings != null){
+					//主键
+					vo.setDrawingsId(drawings.getId());
+					//文件路径
+					vo.setFileUrl(drawings.getFileUrl());
+				}
+			});
+		}
+
 		return R.data(rootTreeNode);
 	}
 

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

@@ -16,6 +16,7 @@
  */
 package org.springblade.business.mapper;
 
+import org.apache.ibatis.annotations.Param;
 import org.springblade.business.entity.ContractTreeDrawings;
 import org.springblade.business.vo.ContractTreeDrawingsVO;
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
@@ -30,12 +31,10 @@ import java.util.List;
  */
 public interface ContractTreeDrawingsMapper extends BaseMapper<ContractTreeDrawings> {
 
+	ContractTreeDrawings queryCurrentNodeDrawings(@Param("primaryKeyId") String primaryKeyId);
+
 	/**
 	 * 自定义分页
-	 *
-	 * @param page
-	 * @param contractTreeDrawings
-	 * @return
 	 */
 	List<ContractTreeDrawingsVO> selectContractTreeDrawingsPage(IPage page, ContractTreeDrawingsVO contractTreeDrawings);
 

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

@@ -16,6 +16,9 @@
         <result column="file_url" property="fileUrl"/>
     </resultMap>
 
+    <select id="queryCurrentNodeDrawings" resultMap="contractTreeDrawingsResultMap">
+        select id, file_url from u_contract_tree_drawings where is_deleted = 0 and process_id = #{primaryKeyId}
+    </select>
 
     <select id="selectContractTreeDrawingsPage" resultMap="contractTreeDrawingsResultMap">
         select * from u_contract_tree_drawings where is_deleted = 0

+ 7 - 3
blade-service/blade-business/src/main/java/org/springblade/business/service/IContractTreeDrawingsService.java

@@ -29,12 +29,16 @@ import com.baomidou.mybatisplus.core.metadata.IPage;
  */
 public interface IContractTreeDrawingsService extends BaseService<ContractTreeDrawings> {
 
+	/**
+	 * 根据节点ID获取其上传的图纸
+	 * @param primaryKeyId 节点ID
+	 * @return 结果
+	 */
+	ContractTreeDrawings queryCurrentNodeDrawings(String primaryKeyId);
+
 	/**
 	 * 自定义分页
 	 *
-	 * @param page
-	 * @param contractTreeDrawings
-	 * @return
 	 */
 	IPage<ContractTreeDrawingsVO> selectContractTreeDrawingsPage(IPage<ContractTreeDrawingsVO> page, ContractTreeDrawingsVO contractTreeDrawings);
 

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

@@ -33,6 +33,11 @@ import com.baomidou.mybatisplus.core.metadata.IPage;
 @Service
 public class ContractTreeDrawingsServiceImpl extends BaseServiceImpl<ContractTreeDrawingsMapper, ContractTreeDrawings> implements IContractTreeDrawingsService {
 
+	@Override
+	public ContractTreeDrawings queryCurrentNodeDrawings(String primaryKeyId) {
+		return this.baseMapper.queryCurrentNodeDrawings(primaryKeyId);
+	}
+
 	@Override
 	public IPage<ContractTreeDrawingsVO> selectContractTreeDrawingsPage(IPage<ContractTreeDrawingsVO> page, ContractTreeDrawingsVO contractTreeDrawings) {
 		return page.setRecords(baseMapper.selectContractTreeDrawingsPage(page, contractTreeDrawings));