Browse Source

客户端BUG

huangjn 3 năm trước cách đây
mục cha
commit
e854153324

+ 3 - 0
blade-service-api/blade-business-api/src/main/java/org/springblade/business/vo/InformationQueryVO.java

@@ -51,6 +51,9 @@ public class InformationQueryVO extends InformationQuery {
 	@ApiModelProperty("时间查询,起止间隔符用~")
 	private String betweenTime;
 
+	@ApiModelProperty("节点上的contractIdRelation")
+	private String contractIdRelation;
+
 	private String startTime;
 
 	private String endTime;

+ 18 - 14
blade-service/blade-business/src/main/java/org/springblade/business/controller/InformationWriteQueryController.java

@@ -448,12 +448,16 @@ public class InformationWriteQueryController extends BladeController {
     		//获取文件
 			List<InformationQuery> result = this.informationQueryService.list(Wrappers.<InformationQuery>lambdaQuery().in(InformationQuery::getId, Arrays.asList(ids.split(","))));
 			if(result != null && result.size() > 0){
-				List<String> urls = new ArrayList<>();
-				result.forEach(query -> urls.add(StringUtils.isNotEmpty(query.getEVisaPdfUrl()) ? query.getEVisaPdfUrl() : query.getPdfUrl()));
-				//删除空数据
-				urls.removeIf(StringUtils::isNotEmpty);
-				//打包下载
-				FileUtils.batchDownloadFileToZip(urls, response);
+				//删除掉pdfUrl和eVisaPdfUrl都为空的数据
+				result.removeIf(query -> StringUtils.isEmpty(query.getPdfUrl()) && StringUtils.isEmpty(query.getPdfUrl()));
+				if(result.size() > 0){
+					List<String> urls = new ArrayList<>();
+					result.forEach(query -> urls.add(StringUtils.isNotEmpty(query.getEVisaPdfUrl()) ? query.getEVisaPdfUrl() : query.getPdfUrl()));
+					//删除空数据
+					urls.removeIf(StringUtils::isNotEmpty);
+					//打包下载
+					FileUtils.batchDownloadFileToZip(urls, response);
+				}
 			}
 		}
 	}
@@ -623,7 +627,7 @@ public class InformationWriteQueryController extends BladeController {
 					newData.setCreateTime(new Date());
 					newData.setUpdateTime(new Date());
 					//初始化是否显示表格,默认显示
-					newData.setIsBussShow("1");
+					newData.setIsBussShow(1);
 					//初始化表格是否上传附件,默认未上传
 					newData.setTabFileType(1);
 					//初始化单表是否可以预览,默认不能
@@ -660,7 +664,7 @@ public class InformationWriteQueryController extends BladeController {
 
 						//重塑关键信息
 						//设置旧ID
-						newData.setOldId(node.getId().toString());
+						newData.setOldId(StringUtils.isNotEmpty(node.getOldId()) ? node.getOldId() : node.getId().toString());
 						//重塑primaryKeyId
 						newData.setPKeyId(SnowFlakeUtil.getId());
 						//设置新ID
@@ -681,7 +685,7 @@ public class InformationWriteQueryController extends BladeController {
 						newData.setUpdateTime(new Date());
 						newData.setCreateUser(AuthUtil.getUserId());
 						//初始化是否显示表格,默认显示
-						newData.setIsBussShow("1");
+						newData.setIsBussShow(1);
 						//初始化表格是否上传附件,默认未上传
 						newData.setTabFileType(1);
 						//初始化单表是否可以预览,默认不能
@@ -1051,7 +1055,7 @@ public class InformationWriteQueryController extends BladeController {
 				selectedNodeList.addAll(childList);
 			}
 			//处理半选
-			this.disposeHalfSelectList(vo, halfSelectedNodeList, selectedNodeList);
+			this.disposeHalfSelectList(treeContract, halfSelectedNodeList, selectedNodeList);
 
 		} else {
 			//todo 仅当前节点操作
@@ -1070,7 +1074,7 @@ public class InformationWriteQueryController extends BladeController {
 				}
 			}
 			//处理半选
-			this.disposeHalfSelectList(vo, halfSelectedNodeList, selectedNodeList);
+			this.disposeHalfSelectList(treeContract, halfSelectedNodeList, selectedNodeList);
 
 		}
 
@@ -1191,14 +1195,14 @@ public class InformationWriteQueryController extends BladeController {
 	/**
 	 * 处理半选集合
 	 */
-	private void disposeHalfSelectList(@RequestBody AddContractTreeNodeVO vo, List<AddContractTreeNodeVO.Node> allSelectedNodeList, List<WbsTreePrivate> selectedNodeList) {
+	private void disposeHalfSelectList(@RequestBody WbsTreeContract treeContract, List<AddContractTreeNodeVO.Node> allSelectedNodeList, List<WbsTreePrivate> selectedNodeList) {
 		if(allSelectedNodeList != null && allSelectedNodeList.size() > 0){
 			//获取主键
 			List<String> allSelectedList = allSelectedNodeList.stream().map(AddContractTreeNodeVO.Node::getPrimaryKeyId).distinct().collect(Collectors.toList());
 			//查询对应数据
 			List<WbsTreePrivate> allSelectedNodeLists = this.wbsTreePrivateClient.queryByPKeyIds(allSelectedList);
 			//剔除与当前操作节点相同的ID
-			allSelectedNodeLists.removeIf(wbsTreePrivate -> vo.getCurrentNodePrimaryKeyId().equals(wbsTreePrivate.getId().toString()));
+			allSelectedNodeLists.removeIf(wbsTreePrivate -> treeContract.getId().equals(wbsTreePrivate.getId()) || treeContract.getOldId().equals(wbsTreePrivate.getId().toString()));
 			//设置到集合中
 			selectedNodeList.addAll(allSelectedNodeLists);
 		}
@@ -1361,7 +1365,7 @@ public class InformationWriteQueryController extends BladeController {
 		WbsTreeContract node = this.wbsTreeContractClient.getContractWbsTreeByPrimaryKeyId(vo.getWbsId());
 		if(!new Integer("6").equals(node.getDeptCategory()) && !Arrays.asList("1,2,3,4".split(",")).contains(node.getMajorDataType().toString())){
 			//不是工序,则查询当前节点下的所有填报节点
-			List<QueryProcessDataVO> queryDataResult = this.informationQueryService.queryProcessDataByParentIdAndContractId(node.getId().toString(), 1, vo.getContractId().toString());
+			List<QueryProcessDataVO> queryDataResult = this.informationQueryService.queryProcessDataByParentIdAndContractId(node.getId().toString(), contract.getContractType(), vo.getContractId().toString());
 			if(StringUtils.isNotEmpty(vo.getIsFirst())){
 				//如果是首件列表请求,则删掉没有标记为首件的数据
 				queryDataResult.removeIf(data -> StringUtils.isEmpty(data.getFirstId()));