فهرست منبع

Merge remote-tracking branch 'origin/zhuwei' into test-merge-02

zhuwei 3 ماه پیش
والد
کامیت
dbe3762f54

+ 31 - 7
blade-service-api/blade-archive-api/src/main/java/org/springblade/archive/vo/TaskSplitVO.java → blade-service-api/blade-archive-api/src/main/java/org/springblade/archive/vo/ArchiveDataVo.java

@@ -16,19 +16,43 @@
  */
 package org.springblade.archive.vo;
 
-import org.springblade.archive.entity.TaskSplit;
+import io.swagger.annotations.ApiModelProperty;
 import lombok.Data;
-import lombok.EqualsAndHashCode;
 
 /**
- * 解析主标任务视图实体类
+ * 任务审核主表视图实体类
  *
  * @author BladeX
- * @since 2025-05-23
+ * @since 2022-07-01
  */
 @Data
-@EqualsAndHashCode(callSuper = true)
-public class TaskSplitVO extends TaskSplit {
-	private static final long serialVersionUID = 1L;
+public class ArchiveDataVo {
+    private static final long serialVersionUID = 1L;
 
+    @ApiModelProperty("节点Id")
+    private String nodeId;
+
+    @ApiModelProperty("文件编号")
+    private String filenNo;
+
+    @ApiModelProperty("文件名称")
+    private String fileNmae;
+
+    @ApiModelProperty("文件路径")
+    private String fileUrl;
+
+    @ApiModelProperty("文件日期")
+    private String fileDate;
+
+    @ApiModelProperty("责任者")
+    private String responsibility;
+
+    @ApiModelProperty("文件来源")
+    private String fileSible;
+
+    @ApiModelProperty("合同段Id")
+    private String contractId;
+
+    @ApiModelProperty("1:签名文件 2:附件")
+    private String sendType;
 }

+ 13 - 0
blade-service/blade-archive/src/main/java/org/springblade/archive/controller/ArchiveFileController.java

@@ -12,6 +12,7 @@ import lombok.SneakyThrows;
 import org.apache.commons.lang.StringUtils;
 import org.springblade.archive.service.IArchivesAutoService;
 import org.springblade.archive.utils.FileUtils;
+import org.springblade.archive.vo.ArchiveDataVo;
 import org.springblade.business.entity.ArchiveFile;
 import org.springblade.business.feign.ArchiveFileClient;
 import org.springblade.business.feign.MetadataClassificationClient;
@@ -442,4 +443,16 @@ public class ArchiveFileController extends BladeController {
         }
         return R.data(true);
     }
+
+
+    /**
+     * 智慧工地推送文件至电子档案数据规则 接口
+     */
+    @PostMapping("/sendFileToEArchives")
+    @ApiOperationSupport(order = 18)
+    @ApiOperation(value = "智慧工地推送文件至电子档案数据规则接口")
+    public R<Boolean> sendFileToEArchives(@RequestBody ArchiveDataVo vo) {
+        //数据入库
+        return  autoService.sendFileToEArchives(vo);
+    }
 }

+ 2 - 0
blade-service/blade-archive/src/main/java/org/springblade/archive/mapper/ArchivesAutoMapper.java

@@ -224,4 +224,6 @@ public interface ArchivesAutoMapper extends BaseMapper<ArchivesAuto> {
 	 * @return
 	 */
 	Map<String, BigDecimal> getAllArchiveByContractTypeSummary(@Param("projectId") Long projectId,@Param("type") String typ);
+
+	String getArchiveFileByParentId(@Param("nodeId") String nodeId,@Param("contractId") String contractId);
 }

+ 4 - 0
blade-service/blade-archive/src/main/java/org/springblade/archive/mapper/ArchivesAutoMapper.xml

@@ -1419,5 +1419,9 @@
         )a
     </select>
 
+    <select id="getArchiveFileByParentId" resultType="java.lang.String">
+        SELECT b.id from m_archive_tree a ,m_archive_tree_contract b where a.id=b.from_id and a.id=#{nodeId} and contract_id=#{contractId} and a.is_deleted=0 and b.is_deleted=0
+    </select>
+
 
 </mapper>

+ 2 - 0
blade-service/blade-archive/src/main/java/org/springblade/archive/service/IArchivesAutoService.java

@@ -154,4 +154,6 @@ public interface IArchivesAutoService extends BaseService<ArchivesAuto> {
 	List<List<Map<String, List<CabinetVO>>>> getUnitAllCabinet(Long projectId, Integer type);
 
     List<JiLinArchiveAutoDto> getArchiveAutoDtoList(Long projId, List<JiLinQueryDto>dtos);
+
+	R sendFileToEArchives(ArchiveDataVo dataInfo);
 }

+ 46 - 0
blade-service/blade-archive/src/main/java/org/springblade/archive/service/impl/ArchivesAutoServiceImpl.java

@@ -4105,6 +4105,8 @@ public class ArchivesAutoServiceImpl extends BaseServiceImpl<ArchivesAutoMapper,
 	}
 
 
+
+
 	public void deleteFile(String defaultDir,Long id){
 		String dir = defaultDir+"/"+id;
 		String file = defaultDir+"/"+id+".zip";
@@ -4143,4 +4145,48 @@ public class ArchivesAutoServiceImpl extends BaseServiceImpl<ArchivesAutoMapper,
 	}
 
 
+	@Override
+	public R sendFileToEArchives(ArchiveDataVo dataInfo) {
+
+		if(dataInfo==null || Func.isNull(dataInfo)){
+			return R.fail("请根据接口文档上传参数");
+		}
+
+		String nodeId = dataInfo.getNodeId();
+		String contractId = dataInfo.getContractId();
+		String fileUrl = dataInfo.getFileUrl();
+		String fileName = dataInfo.getFileNmae();
+		if(nodeId==null || Func.isNull(nodeId)){
+			return R.fail("请上传nodeId");
+		}
+		if(contractId==null || Func.isNull(contractId)){
+			R.fail("请上传contractId");
+		}
+		if(fileUrl==null || Func.isNull(fileUrl)){
+			R.fail("请上传fileUrl");
+		}
+		if(fileName==null || Func.isNull(fileName)){
+			R.fail("请上传fileName");
+		}
+
+		ContractInfo contractInfo = contractClient.getContractById(Func.toLong(contractId));
+		if(contractInfo==null){
+			return R.fail("请传输正确的contractId");
+		}
+		//获取文件的父节点Id
+		String treeContractId = baseMapper.getArchiveFileByParentId(nodeId, contractId);
+		if(treeContractId==null || Func.isNull(treeContractId)){
+			R.fail("请校验传输的nodeId和contractId,没有查到父节点Id");
+		}
+		// 将数据插入到 auto表中
+		ArchivesAuto archivesAuto = new ArchivesAuto();
+		long newPkId = SnowFlakeUtil.getId(); //主键Id
+		archivesAuto.setId(newPkId);
+		archivesAuto.setProjectId(Func.toLong(contractInfo.getPId()));
+		archivesAuto.setContractId(Func.toLong(contractId));
+		archivesAuto.setName(fileName);
+
+		return null;
+	}
+
 }