From 23b688e436a89845e92d861adb5875e625e90d9f Mon Sep 17 00:00:00 2001
From: zxl <763096477@qq.com>
Date: 星期五, 14 三月 2025 11:43:18 +0800
Subject: [PATCH] Merge branch 'dev'

---
 business/src/main/java/com/ycl/controller/ProjectInfoController.java |   48 +++++++++++++++++++++++++++++++++++++++++++++++-
 1 files changed, 47 insertions(+), 1 deletions(-)

diff --git a/business/src/main/java/com/ycl/controller/ProjectInfoController.java b/business/src/main/java/com/ycl/controller/ProjectInfoController.java
index b590707..9d8b913 100644
--- a/business/src/main/java/com/ycl/controller/ProjectInfoController.java
+++ b/business/src/main/java/com/ycl/controller/ProjectInfoController.java
@@ -1,18 +1,25 @@
 package com.ycl.controller;
 
+import com.alibaba.excel.EasyExcel;
 import com.ycl.common.base.Result;
 import com.ycl.common.exception.base.BaseException;
 import com.ycl.common.group.Add;
 import com.ycl.common.group.Update;
 import com.ycl.common.utils.ProjectCodeGenerator;
+import com.ycl.common.utils.bean.BeanUtils;
 import com.ycl.common.utils.excel.OutputExcelUtils;
+import com.ycl.domain.entity.ProjectInfo;
 import com.ycl.domain.excel.ProjectExcelTemplate;
+import com.ycl.domain.excel.ProjectTempImport;
 import com.ycl.domain.form.DocumentInfoForm;
 import com.ycl.domain.form.ProjectForm;
 import com.ycl.domain.form.ProjectInfoForm;
 import com.ycl.domain.query.ProjectExportQuery;
 import com.ycl.domain.query.ProjectInfoQuery;
+import com.ycl.listener.excel.CurrencyDataListener;
 import com.ycl.service.ProjectInfoService;
+import com.ycl.system.mapper.SysDeptMapper;
+import com.ycl.system.service.ISysDeptService;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
 import lombok.RequiredArgsConstructor;
@@ -23,8 +30,11 @@
 import javax.servlet.http.HttpServletResponse;
 import javax.validation.constraints.NotEmpty;
 import java.io.IOException;
+import java.math.BigDecimal;
 import java.util.ArrayList;
 import java.util.List;
+import java.util.Objects;
+import java.util.function.Consumer;
 
 /**
  * 椤圭洰绠$悊鍩虹淇℃伅琛� 鍓嶇鎺у埗鍣�
@@ -40,6 +50,36 @@
 public class ProjectInfoController {
 
     private final ProjectInfoService projectInfoService;
+    private final SysDeptMapper deptMapper;
+
+    @PostMapping("/import/temp")
+    @ApiOperation(value = "涓存椂瀵煎叆", notes = "涓存椂瀵煎叆")
+//    @PreAuthorize("hasAuthority('projectInfo:add')")
+    public Result importTemp(@RequestPart("file") MultipartFile file) throws IOException {
+        Consumer<List<ProjectTempImport>> consumer = (data) -> {
+            for (ProjectTempImport project : data) {
+                ProjectInfo projectInfo = new ProjectInfo();
+                BeanUtils.copyProperties(project, projectInfo);
+                projectInfo.setYearInvestAmount(project.getTzje());
+                // 澶勭悊涓氫富鍗曚綅銆佷富绠¢儴闂╥d
+                Long yzId = deptMapper.selectByName(project.getProjectOwnerUnit());
+                if (Objects.nonNull(yzId)) {
+                    projectInfo.setProjectOwnerUnit(yzId);
+                }
+                Long zgId = deptMapper.selectByName(project.getCompetentDepartment());
+                if (Objects.nonNull(zgId)) {
+                    projectInfo.setCompetentDepartment(zgId + "");
+                }
+                projectInfo.setArea(project.getArea());
+                projectInfo.setYear("2025");
+                // 璁剧疆涓哄鏍稿凡閫氳繃
+                projectInfo.setUsedStatus(2);
+                projectInfoService.save(projectInfo);
+            }
+        };
+        EasyExcel.read(file.getInputStream(), ProjectTempImport.class, new CurrencyDataListener(consumer)).headRowNumber(1).doReadAll();
+        return Result.ok();
+    }
 
     @PostMapping
     @ApiOperation(value = "娣诲姞", notes = "娣诲姞")
@@ -114,7 +154,10 @@
         return Result.ok().data(ProjectCodeGenerator.generateProjectCode());
     }
 
-    ;
+    @GetMapping("/searchByKey")
+    public Result searchByKey(@RequestParam(required = false) String wordKey) {
+        return projectInfoService.searchByKey(wordKey);
+    }
 
     @GetMapping("/getManagerFlag/{recordId}")
     public Result getManagerFlag(@PathVariable("recordId") Integer recordId) {
@@ -169,4 +212,7 @@
     public Result editProject(@RequestBody ProjectForm form) {
         return projectInfoService.editProject(form);
     }
+
+
+
 }

--
Gitblit v1.8.0