| | |
| | | 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 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; |
| | | |
| | | /** |
| | | * 项目管理基础信息表 前端控制器 |
| | |
| | | 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()); |
| | | // 处理业主单位、主管部门id |
| | | 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 = "添加") |