From 01c29b4b6cfb1a3223cf9e322f33ead42093e77c Mon Sep 17 00:00:00 2001 From: zxl <763096477@qq.com> Date: 星期三, 02 四月 2025 09:11:22 +0800 Subject: [PATCH] 类名统一,查询启用赋码规则代码提到service --- business/src/main/java/com/ycl/controller/ProjectInfoController.java | 107 ++++++++++++++++++++++++++++++++++++++++++++++++++--- 1 files changed, 101 insertions(+), 6 deletions(-) diff --git a/business/src/main/java/com/ycl/controller/ProjectInfoController.java b/business/src/main/java/com/ycl/controller/ProjectInfoController.java index f66bcc0..9d8b913 100644 --- a/business/src/main/java/com/ycl/controller/ProjectInfoController.java +++ b/business/src/main/java/com/ycl/controller/ProjectInfoController.java @@ -1,25 +1,40 @@ 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; import org.springframework.validation.annotation.Validated; import org.springframework.web.bind.annotation.*; +import org.springframework.web.multipart.MultipartFile; 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; /** * 椤圭洰绠$悊鍩虹淇℃伅琛� 鍓嶇鎺у埗鍣� @@ -35,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 = "娣诲姞") @@ -42,12 +87,14 @@ public Result add(@RequestBody @Validated(Add.class) ProjectInfoForm form) { return projectInfoService.add(form); } + @PostMapping("/document") @ApiOperation(value = "娣诲姞鐩稿叧鏂囦欢", notes = "娣诲姞鐩稿叧鏂囦欢") // @PreAuthorize("hasAuthority('projectInfo:add')") public Result addDoc(@RequestBody @Validated(Add.class) DocumentInfoForm form) { return projectInfoService.addDoc(form); } + @PutMapping @ApiOperation(value = "淇敼", notes = "淇敼") // @PreAuthorize("hasAuthority('projectInfo:edit')") @@ -58,7 +105,7 @@ @DeleteMapping("/{id}") @ApiOperation(value = "ID鍒犻櫎", notes = "ID鍒犻櫎") // @PreAuthorize("hasAuthority('projectInfo:del')") - public Result removeById(@PathVariable("id") String id) { + public Result removeById(@PathVariable("id") Long id) { return projectInfoService.removeById(id); } @@ -82,12 +129,14 @@ public Result detail(@PathVariable("id") Integer id) { return projectInfoService.detail(id); } + @GetMapping("/document/{id}") @ApiOperation(value = "鐩稿叧鏂囦欢璇︽儏", notes = "鐩稿叧鏂囦欢璇︽儏") // @PreAuthorize("hasAuthority('projectInfo:detail')") public Result docDetail(@PathVariable("id") Integer id) { return projectInfoService.docDetail(id); } + @GetMapping("/list") // @PreAuthorize("hasAuthority('projectInfo:list')") @ApiOperation(value = "鍒楄〃", notes = "鍒楄〃") @@ -97,12 +146,18 @@ /** * 鐢熸垚椤圭洰缂栧彿 + * * @return 椤圭洰缂栧彿 */ @GetMapping("/getProjectCode") public Result generateProjectCode() { 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) { @@ -111,13 +166,53 @@ /** * 瀵煎嚭妯℃澘 + * * @param response * @return */ @PostMapping("/export/template") - public void exportTemplate(HttpServletResponse response, - @RequestBody List<String> fieldList - ) throws IOException { - OutputExcelUtils.export(response, "瀵煎叆妯℃澘", "椤圭洰淇℃伅", null, ProjectExcelTemplate.class ,fieldList); + public void exportTemplate(HttpServletResponse response) throws IOException { + List<String> fieldList = new ArrayList<>(); + OutputExcelUtils.export(response, "瀵煎叆妯℃澘", "椤圭洰淇℃伅", null, ProjectExcelTemplate.class, fieldList); } + + /** + * 椤圭洰瀵煎嚭 + * + * @param response + * @throws IOException + */ + @PostMapping("/export") + public void export(HttpServletResponse response, ProjectExportQuery query) throws IOException { + projectInfoService.export(response, query); + } + + @PutMapping("usedStatus/{id}/{usedStatus}") + @ApiOperation(value = "淇敼浣跨敤鐘舵��", notes = "淇敼浣跨敤鐘舵��") +// @PreAuthorize("hasAuthority('projectInfo:edit')") + public Result updateUsedStatus(@PathVariable Integer id, @PathVariable Integer usedStatus) { + return projectInfoService.updateUsedStatus(id, usedStatus); + } + + /** + * 椤圭洰瀵煎叆 + * @param file + * @return + */ + @PostMapping("/import") + public Result importProject(MultipartFile file) { + if (file.getSize() > 100 * 1024 * 1024) { + throw new BaseException("鏂囦欢杩囧ぇ锛屾枃浠朵笉寰楄秴杩�100MB"); + } + projectInfoService.importProject(file); + return Result.ok(); + } + + @PostMapping("/editProject") + public Result editProject(@RequestBody ProjectForm form) { + return projectInfoService.editProject(form); + } + + + } -- Gitblit v1.8.0