Browse Source

222222222222222

zhouli 8 months ago
parent
commit
ad1ad03f90

+ 1 - 0
kd-gateway/src/main/java/org/sky/gateway/filter/AuthFilter.java

@@ -81,6 +81,7 @@ public class AuthFilter implements GlobalFilter, Ordered {
 				return unAuth(resp, "令牌已失效");
 				return unAuth(resp, "令牌已失效");
 			}
 			}
 		}
 		}
+		System.out.println("---------------------"+Thread.currentThread().getName());
 		return chain.filter(exchange);
 		return chain.filter(exchange);
 	}
 	}
 
 

+ 6 - 0
kd-service-api/kd-scientific-api/src/main/java/org/sky/scientific/pojo/entity/XmBgrzEntity.java

@@ -41,10 +41,16 @@ public class XmBgrzEntity extends TenantEntity {
 	@NotBlank(message = "请填写变更前的值")
 	@NotBlank(message = "请填写变更前的值")
 	private String bgqdz;
 	private String bgqdz;
 
 
+	@Schema(hidden = true)
+	private String bgqdzStr;
+
 	@Schema(description = "变更后的值")
 	@Schema(description = "变更后的值")
 	@NotBlank(message = "请填写变更后的值")
 	@NotBlank(message = "请填写变更后的值")
 	private String bghdz;
 	private String bghdz;
 
 
+	@Schema(hidden = true)
+	private String bghdzStr;
+
 	@NotNull(message = "请选择变更生效时间")
 	@NotNull(message = "请选择变更生效时间")
 	@Schema(description = "变更生效时间,格式:yyyy-MM-dd")
 	@Schema(description = "变更生效时间,格式:yyyy-MM-dd")
 	@DateTimeFormat(pattern = DateUtil.PATTERN_DATE)
 	@DateTimeFormat(pattern = DateUtil.PATTERN_DATE)

+ 10 - 1
kd-service/kd-scientific/src/main/java/org/sky/scientific/controller/ArchiveCenterController.java

@@ -22,6 +22,8 @@ import org.sky.scientific.service.IArchiveService;
 import org.slf4j.Logger;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 import org.slf4j.LoggerFactory;
 import org.springframework.web.bind.annotation.*;
 import org.springframework.web.bind.annotation.*;
+import org.springframework.web.context.request.RequestAttributes;
+import org.springframework.web.context.request.RequestContextHolder;
 
 
 import java.io.*;
 import java.io.*;
 import java.nio.charset.StandardCharsets;
 import java.nio.charset.StandardCharsets;
@@ -83,8 +85,10 @@ public class ArchiveCenterController extends KdController {
  			task.setYearAndMonth(task.getYearAndMonth());
  			task.setYearAndMonth(task.getYearAndMonth());
 			task.setTenantId(SecureUtil.getTenantId());
 			task.setTenantId(SecureUtil.getTenantId());
 			int result = downloadTaskMapper.insert(task);
 			int result = downloadTaskMapper.insert(task);
+			RequestAttributes requestAttributes = RequestContextHolder.getRequestAttributes();
 			if (result == 1) {
 			if (result == 1) {
 				new Thread(() -> {
 				new Thread(() -> {
+					RequestContextHolder.setRequestAttributes(requestAttributes);
 					service.downloadCenterZipFiles(task.getYearAndMonth(), task.getId());
 					service.downloadCenterZipFiles(task.getYearAndMonth(), task.getId());
 				}).start();
 				}).start();
 				return R.data(task);
 				return R.data(task);
@@ -98,6 +102,7 @@ public class ArchiveCenterController extends KdController {
 	@ApiOperationSupport(order = 6)
 	@ApiOperationSupport(order = 6)
 	@Operation(summary = "档案中心-一键下载")
 	@Operation(summary = "档案中心-一键下载")
 	public void downloadCenterZipFiles(HttpServletResponse response, String year, Long taskId) {
 	public void downloadCenterZipFiles(HttpServletResponse response, String year, Long taskId) {
+		System.out.println("---------------------"+Thread.currentThread().getName());
 		if (taskId != null) {
 		if (taskId != null) {
 			DownloadTask task = downloadTaskMapper.selectById(taskId);
 			DownloadTask task = downloadTaskMapper.selectById(taskId);
 			if (task == null) {
 			if (task == null) {
@@ -161,8 +166,12 @@ public class ArchiveCenterController extends KdController {
 				JSONObject data = new JSONObject();
 				JSONObject data = new JSONObject();
 				data.put("taskId", task.getId());
 				data.put("taskId", task.getId());
 				writer.write(JSON.toJSONString(R.data(data)));
 				writer.write(JSON.toJSONString(R.data(data)));
+				RequestAttributes requestAttributes = RequestContextHolder.getRequestAttributes();
+				new Thread(() -> {
+					RequestContextHolder.setRequestAttributes(requestAttributes);
+					service.downloadCenterZipFiles(year, task.getId());
+				}).start();
 				writer.flush();
 				writer.flush();
-				service.downloadCenterZipFiles(year, task.getId());
 			}
 			}
 		}
 		}
 	}
 	}

+ 22 - 29
kd-service/kd-scientific/src/main/java/org/sky/scientific/service/impl/ArchiveServiceImpl.java

@@ -284,30 +284,32 @@ public class ArchiveServiceImpl implements IArchiveService {
 			archiveAttach = new ArchiveAttachEntity();
 			archiveAttach = new ArchiveAttachEntity();
 		}
 		}
 		Path basePath = Paths.get(archiveDir, SecureUtil.getTenantId(), year);
 		Path basePath = Paths.get(archiveDir, SecureUtil.getTenantId(), year);
-
+		if(FileUtil.exist(basePath.toString())){
+			FileUtil.del(basePath.toString());
+		}
 		ArchiveAttachEntity finalArchiveAttach = archiveAttach;
 		ArchiveAttachEntity finalArchiveAttach = archiveAttach;
 //		CompletableFuture<Void> task1 = CompletableFuture.runAsync(() -> {
 //		CompletableFuture<Void> task1 = CompletableFuture.runAsync(() -> {
-		//1 高新技术企业资格证书:基础资源管理-企业基本信息-高企证书上传(按年度)。未上传则为空
-		generateD1(Paths.get(basePath.toString(), "1.高新技术企业资格证书"), year);
-		//2 高新技术企业认定资料:附件补充
-		Path path2 = FileUtil.mkdir(Paths.get(basePath.toString(), "2.高新技术企业认定资料"));
-		this.downloadAttachFiles(path2, Collections.singletonList(finalArchiveAttach.getD3()));
-		//3 加计扣除情况说明:附件补充
-		Path path3 = FileUtil.mkdir(Paths.get(basePath.toString(), "3.加计扣除情况说明"));
-		this.downloadAttachFiles(path3, Collections.singletonList(finalArchiveAttach.getD10()));
-		//4 研发立项决议文件:附件补充
-		Path path4 = FileUtil.mkdir(Paths.get(basePath.toString(), "4.研发立项决议文件"));
-		this.downloadAttachFiles(path4, Collections.singletonList(finalArchiveAttach.getD13()));
+			//1 高新技术企业资格证书:基础资源管理-企业基本信息-高企证书上传(按年度)。未上传则为空
+			generateD1(Paths.get(basePath.toString(), "1.高新技术企业资格证书"), year);
+			//2 高新技术企业认定资料:附件补充
+			Path path2 = FileUtil.mkdir(Paths.get(basePath.toString(), "2.高新技术企业认定资料"));
+			this.downloadAttachFiles(path2, Collections.singletonList(finalArchiveAttach.getD3()));
+			//3 加计扣除情况说明:附件补充
+			Path path3 = FileUtil.mkdir(Paths.get(basePath.toString(), "3.加计扣除情况说明"));
+			this.downloadAttachFiles(path3, Collections.singletonList(finalArchiveAttach.getD10()));
+			//4 研发立项决议文件:附件补充
+			Path path4 = FileUtil.mkdir(Paths.get(basePath.toString(), "4.研发立项决议文件"));
+			this.downloadAttachFiles(path4, Collections.singletonList(finalArchiveAttach.getD13()));
 //		});
 //		});
 //		CompletableFuture<Void> task2 = CompletableFuture.runAsync(() -> {
 //		CompletableFuture<Void> task2 = CompletableFuture.runAsync(() -> {
-		//5 高新研发项目汇总表:对外报表-高新口径研发费用报表-高新-研发项目清单表
-		generateD5(Paths.get(basePath.toString(), "5.高新研发项目汇总表"), year, 2);
-		//6 加计扣除研发项目汇总表:对外报表-加计扣除口径研发费用报表-加计扣除-研发项目清单表
-		generateD5(Paths.get(basePath.toString(), "6.加计扣除研发项目汇总表"), year, 3);
+			//5 高新研发项目汇总表:对外报表-高新口径研发费用报表-高新-研发项目清单表
+			generateD5(Paths.get(basePath.toString(), "5.高新研发项目汇总表"), year, 2);
+			//6 加计扣除研发项目汇总表:对外报表-加计扣除口径研发费用报表-加计扣除-研发项目清单表
+			generateD5(Paths.get(basePath.toString(), "6.加计扣除研发项目汇总表"), year, 3);
 //		});
 //		});
 
 
-//		CompletableFuture<Void> task7_1 = null, task7_2 = null, task7_2_1 = null, task7_2_2 = null, task7_2_3 = null, task7_2_4 = null, task7_2_5 = null, task7_2_6 = null, task7_2_7 = null, task7_2_8 = null;
-//		CompletableFuture<Void> task7_3 = null, task7_4 = null, task7_5 = null, task7_6 = null, task7_7 = null;
+////		CompletableFuture<Void> task7_1 = null, task7_2 = null, task7_2_1 = null, task7_2_2 = null, task7_2_3 = null, task7_2_4 = null, task7_2_5 = null, task7_2_6 = null, task7_2_7 = null, task7_2_8 = null;
+////		CompletableFuture<Void> task7_3 = null, task7_4 = null, task7_5 = null, task7_6 = null, task7_7 = null;
 		Path path7 = FileUtil.mkdir(Paths.get(basePath.toString(), "7.高新研发项目全套技术资料"));
 		Path path7 = FileUtil.mkdir(Paths.get(basePath.toString(), "7.高新研发项目全套技术资料"));
 		XmFinanceEntity dto = new XmFinanceEntity();
 		XmFinanceEntity dto = new XmFinanceEntity();
 		dto.setYearAndMonth(year);
 		dto.setYearAndMonth(year);
@@ -468,15 +470,6 @@ public class ArchiveServiceImpl implements IArchiveService {
 			index.incrementAndGet();
 			index.incrementAndGet();
 		}
 		}
 
 
-//		CompletableFuture<Void> task3 = CompletableFuture.runAsync(() -> {
-//			//7.高新研发项目全套技术资料:对外报表-高新口径研发费用报表-高新-研发项目清单中的所有研发项目的全套技术资料,每一个项目,都包括:项目立项表+上传的所有附件;项目实施表(含多个表)+所有附件;项目变更(多个表)+所有附件;项目结题(多个表)+所有附件;委外项目表+所有附件。
-//			generateD7(Paths.get(basePath.toString(), "7.高新研发项目全套技术资料"), year, 2);
-//		});
-//		CompletableFuture<Void> task4 = CompletableFuture.runAsync(() -> {
-//			//8 加计扣除研发项目全套技术资料:对外报表-加计扣除口径研发费用报表-加计扣除-研发项目清单中的所有研发项目的全套技术资料,每一个项目,都包括:项目立项表+上传的所有附件;项目实施表(含多个表)+所有附件;项目变更(多个表)+所有附件;项目结题(多个表)+所有附件;委外项目表+所有附件。
-//			generateD7(Paths.get(basePath.toString(), "8.加计扣除研发项目全套技术资料"), year, 3);
-//		});
-
 //		CompletableFuture<Void> task5 = CompletableFuture.runAsync(() -> {
 //		CompletableFuture<Void> task5 = CompletableFuture.runAsync(() -> {
 		//9 高新研发人员与科技人员资料:改成高新科技人员资料:即科技人员管理-年高新科技人员汇总表资料表,选出:对外报表-高新口径研发费用报表-高新-研发项目清单中项目人员汇总
 		//9 高新研发人员与科技人员资料:改成高新科技人员资料:即科技人员管理-年高新科技人员汇总表资料表,选出:对外报表-高新口径研发费用报表-高新-研发项目清单中项目人员汇总
 		generateD9(Paths.get(basePath.toString(), "9.高新科技人员资料"), year, finalArchiveAttach.getD6());
 		generateD9(Paths.get(basePath.toString(), "9.高新科技人员资料"), year, finalArchiveAttach.getD6());
@@ -559,8 +552,8 @@ public class ArchiveServiceImpl implements IArchiveService {
 //			task8, task8_1, task8_2, task8_2_1, task8_2_2, task8_2_3, task8_2_4, task8_2_5, task8_2_6, task8_2_7, task8_2_8, task8_3, task8_4, task8_5, task8_6, task8_7,
 //			task8, task8_1, task8_2, task8_2_1, task8_2_2, task8_2_3, task8_2_4, task8_2_5, task8_2_6, task8_2_7, task8_2_8, task8_3, task8_4, task8_5, task8_6, task8_7,
 //			task9, task10, task11, task12, task16, task17).join();
 //			task9, task10, task11, task12, task16, task17).join();
 //		CompletableFuture.allOf(task1, task2, task5,task6,task7,task8,task9,task10,task11,task12,task13,task14,task15,task16,task17).join();
 //		CompletableFuture.allOf(task1, task2, task5,task6,task7,task8,task9,task10,task11,task12,task13,task14,task15,task16,task17).join();
-//		CompletableFuture.allOf(task1, task2, task5, task6).join();
-
+//		CompletableFuture.allOf(task1).join();
+//
 //		CompletableFuture<Void> task7_1 = null, task7_2 = null, task7_2_1 = null, task7_2_2 = null, task7_2_3 = null, task7_2_4 = null, task7_2_5 = null, task7_2_6 = null, task7_2_7 = null, task7_2_8 = null;
 //		CompletableFuture<Void> task7_1 = null, task7_2 = null, task7_2_1 = null, task7_2_2 = null, task7_2_3 = null, task7_2_4 = null, task7_2_5 = null, task7_2_6 = null, task7_2_7 = null, task7_2_8 = null;
 //		CompletableFuture<Void> task7_3 = null, task7_4 = null, task7_5 = null, task7_6 = null, task7_7 = null;
 //		CompletableFuture<Void> task7_3 = null, task7_4 = null, task7_5 = null, task7_6 = null, task7_7 = null;
 //		long l = new Date().getTime() - date.getTime();
 //		long l = new Date().getTime() - date.getTime();

+ 16 - 8
kd-service/kd-scientific/src/main/java/org/sky/scientific/service/impl/XmBgrzServiceImpl.java

@@ -72,13 +72,19 @@ public class XmBgrzServiceImpl extends BaseServiceImpl<XmBgrzMapper, XmBgrzEntit
 			if ("XMSQDWID".equalsIgnoreCase(vo.getZdmc())) {
 			if ("XMSQDWID".equalsIgnoreCase(vo.getZdmc())) {
 				// 项目申请单位
 				// 项目申请单位
 				vo.setBgqdz(departmentMapper.getFullNameById(Long.parseLong(vo.getBgqdz())));
 				vo.setBgqdz(departmentMapper.getFullNameById(Long.parseLong(vo.getBgqdz())));
+				vo.setBgqdzStr(vo.getBgqdz());
 				vo.setBghdz(departmentMapper.getFullNameById(Long.parseLong(vo.getBghdz())));
 				vo.setBghdz(departmentMapper.getFullNameById(Long.parseLong(vo.getBghdz())));
+				vo.setBghdzStr(vo.getBghdz());
 			} else if ("XMFZR".equalsIgnoreCase(vo.getZdmc())) {
 			} else if ("XMFZR".equalsIgnoreCase(vo.getZdmc())) {
 				vo.setBgqdz(technicianMapper.getNameById(Long.parseLong(vo.getBgqdz())));
 				vo.setBgqdz(technicianMapper.getNameById(Long.parseLong(vo.getBgqdz())));
+				vo.setBgqdzStr(vo.getBgqdz());
 				vo.setBghdz(technicianMapper.getNameById(Long.parseLong(vo.getBghdz())));
 				vo.setBghdz(technicianMapper.getNameById(Long.parseLong(vo.getBghdz())));
+				vo.setBghdzStr(vo.getBghdz());
 			}else if ( "STATUS".equalsIgnoreCase(vo.getZdmc())) {
 			}else if ( "STATUS".equalsIgnoreCase(vo.getZdmc())) {
 				vo.setBgqdz(DictCache.getValue("project_state", vo.getBgqdz()));
 				vo.setBgqdz(DictCache.getValue("project_state", vo.getBgqdz()));
+				vo.setBgqdzStr(vo.getBgqdz());
 				vo.setBghdz(DictCache.getValue("project_state", vo.getBghdz()));
 				vo.setBghdz(DictCache.getValue("project_state", vo.getBghdz()));
+				vo.setBghdzStr(vo.getBghdz());
 			}else if ("XMYSZEMX".equalsIgnoreCase(vo.getZdmc())) {
 			}else if ("XMYSZEMX".equalsIgnoreCase(vo.getZdmc())) {
 				if(Func.isNotBlank(vo.getBgqdz())){
 				if(Func.isNotBlank(vo.getBgqdz())){
 					List<JSONObject> arr = JSON.parseArray(vo.getBgqdz(), JSONObject.class);
 					List<JSONObject> arr = JSON.parseArray(vo.getBgqdz(), JSONObject.class);
@@ -88,7 +94,7 @@ public class XmBgrzServiceImpl extends BaseServiceImpl<XmBgrzMapper, XmBgrzEntit
 						String amount = tmp.getString("amount");
 						String amount = tmp.getString("amount");
 						desc.add(year+"年,"+amount+"万元");
 						desc.add(year+"年,"+amount+"万元");
 					}
 					}
-					vo.setBgqdz(String.join(";", desc));
+					vo.setBgqdzStr(String.join(";", desc));
 				}
 				}
 				if(Func.isNotBlank(vo.getBghdz())){
 				if(Func.isNotBlank(vo.getBghdz())){
 					List<JSONObject> arr = JSON.parseArray(vo.getBghdz(), JSONObject.class);
 					List<JSONObject> arr = JSON.parseArray(vo.getBghdz(), JSONObject.class);
@@ -98,11 +104,13 @@ public class XmBgrzServiceImpl extends BaseServiceImpl<XmBgrzMapper, XmBgrzEntit
 						String amount = tmp.getString("amount");
 						String amount = tmp.getString("amount");
 						desc.add(year+"年,"+amount+"万元");
 						desc.add(year+"年,"+amount+"万元");
 					}
 					}
-					vo.setBghdz(String.join(";", desc));
+					vo.setBghdzStr(String.join(";", desc));
 				}
 				}
+			}else {
+				vo.setBgqdzStr(vo.getBgqdz());
+				vo.setBghdzStr(vo.getBghdz());
 			}
 			}
 			vo.setZdmcStr(DictCache.getValue("xm_biangeng_field", vo.getZdmc()));
 			vo.setZdmcStr(DictCache.getValue("xm_biangeng_field", vo.getZdmc()));
-
 		}
 		}
 		return page.setRecords(voList);
 		return page.setRecords(voList);
 	}
 	}
@@ -121,9 +129,9 @@ public class XmBgrzServiceImpl extends BaseServiceImpl<XmBgrzMapper, XmBgrzEntit
 			obj.put("xmmc", temp.getXmmc());
 			obj.put("xmmc", temp.getXmmc());
 			obj.put("zdmcStr", DictCache.getValue("xm_biangeng_field", temp.getZdmc()));
 			obj.put("zdmcStr", DictCache.getValue("xm_biangeng_field", temp.getZdmc()));
 			obj.put("xmsqdw", temp.getXmsqdw());
 			obj.put("xmsqdw", temp.getXmsqdw());
-			obj.put("bgqdz", temp.getBgqdz());
-			obj.put("bghdz", temp.getBghdz());
-			obj.put("bgsxsjStr", DateUtil.format(temp.getBgsxsj(), DateUtil.PATTERN_DATETIME));
+			obj.put("bgqdzStr", temp.getBgqdzStr());
+			obj.put("bghdzStr", temp.getBghdzStr());
+			obj.put("bgsxsjStr", DateUtil.format(temp.getBgsxsj(), DateUtil.PATTERN_YYYY_MM_DD));
 			results.add(obj);
 			results.add(obj);
 		}
 		}
 
 
@@ -161,8 +169,8 @@ public class XmBgrzServiceImpl extends BaseServiceImpl<XmBgrzMapper, XmBgrzEntit
 		map.put("xmfzrxm", Func.notNull(vo.getXmfzrxm()) ? vo.getXmfzrxm() : "");
 		map.put("xmfzrxm", Func.notNull(vo.getXmfzrxm()) ? vo.getXmfzrxm() : "");
 		map.put("xmsqdw", Func.notNull(vo.getXmsqdw()) ? vo.getXmsqdw() : "");
 		map.put("xmsqdw", Func.notNull(vo.getXmsqdw()) ? vo.getXmsqdw() : "");
 		map.put("zdmcStr", Func.notNull(vo.getZdmcStr()) ? vo.getZdmcStr() : "");
 		map.put("zdmcStr", Func.notNull(vo.getZdmcStr()) ? vo.getZdmcStr() : "");
-		map.put("bgqdz", Func.notNull(vo.getBgqdz()) ? vo.getBgqdz() : "");
-		map.put("bghdz", Func.notNull(vo.getBghdz()) ? vo.getBghdz() : "");
+		map.put("bgqdz", Func.notNull(vo.getBgqdzStr()) ? vo.getBgqdzStr() : "");
+		map.put("bghdz", Func.notNull(vo.getBghdzStr()) ? vo.getBghdzStr() : "");
 		map.put("bgsxsjStr", DateUtil.format(vo.getBgsxsj(), "yyyy年MM月dd日"));
 		map.put("bgsxsjStr", DateUtil.format(vo.getBgsxsj(), "yyyy年MM月dd日"));
 		map.put("bgyy", Func.notNull(vo.getBgyy()) ? vo.getBgyy() : "");
 		map.put("bgyy", Func.notNull(vo.getBgyy()) ? vo.getBgyy() : "");
 		Template template = freeMarkerConfigurer.getConfiguration().getTemplate("项目变更表.ftl");
 		Template template = freeMarkerConfigurer.getConfiguration().getTemplate("项目变更表.ftl");

BIN
kd-service/kd-scientific/src/main/resources/export-template/研发项目管理/项目变更.xls