| | |
| | | package com.ycl.service.impl; |
| | | |
| | | import cn.hutool.core.collection.CollUtil; |
| | | import cn.hutool.core.io.IORuntimeException; |
| | | import cn.hutool.core.util.CharsetUtil; |
| | | import cn.hutool.core.util.ObjectUtil; |
| | | import cn.hutool.core.util.StrUtil; |
| | | import cn.hutool.core.util.ZipUtil; |
| | |
| | | import com.ycl.common.utils.file.FileUploadUtils; |
| | | import com.ycl.common.utils.file.FileUtils; |
| | | import com.ycl.common.utils.poi.ExcelUtil; |
| | | import com.ycl.controller.ProjectInfoController; |
| | | import com.ycl.domain.entity.*; |
| | | import com.ycl.domain.excel.ProjectExcelTemplate; |
| | | import com.ycl.domain.form.DocumentInfoForm; |
| | | import com.ycl.domain.form.PlanForm; |
| | | import com.ycl.domain.form.ProjectInfoForm; |
| | | import com.ycl.domain.form.*; |
| | | import com.ycl.domain.query.ProjectExportQuery; |
| | | import com.ycl.domain.query.ProjectInfoQuery; |
| | | import com.ycl.domain.vo.*; |
| | |
| | | private final FileService fileService; |
| | | private final FileMapper fileMapper; |
| | | private final PlanMapper planMapper; |
| | | private final ProjectInvestmentInfoServiceImpl projectInvestmentInfoServiceImpl; |
| | | private final ProjectInvestmentFundingServiceImpl projectInvestmentFundingServiceImpl; |
| | | private final ProjectInvestmentPolicyComplianceServiceImpl projectInvestmentPolicyComplianceServiceImpl; |
| | | private final ProjectUnitRegistrationInfoServiceImpl projectUnitRegistrationInfoServiceImpl; |
| | | |
| | | /** |
| | | * 添加 |
| | |
| | | } |
| | | |
| | | tempDir = Files.createTempDirectory("temp-dir").toFile(); |
| | | ZipUtil.unzip(tempZip, tempDir, StandardCharsets.ISO_8859_1); |
| | | |
| | | try { |
| | | ZipUtil.unzip(tempZip, tempDir, CharsetUtil.CHARSET_UTF_8); |
| | | }catch (IORuntimeException e){ |
| | | log.error("解压失败,尝试使用GBK编码解压..."); |
| | | ZipUtil.unzip(tempZip, tempDir, CharsetUtil.CHARSET_GBK); |
| | | } |
| | | |
| | | Path path = tempDir.toPath(); |
| | | ProjectImportListener projectImportListener = new ProjectImportListener(); |
| | |
| | | files.forEach(attachmentFile -> { |
| | | try { |
| | | //上传 |
| | | String url = FileUploadUtils.upload(filePath, file); |
| | | String url = FileUploadUtils.uploadIOFile(filePath, attachmentFile); |
| | | //存放的文件名会加上_时间戳的后缀 |
| | | String newName = FileUtils.getName(url); |
| | | attachments.add(new File() |
| | |
| | | } |
| | | } |
| | | |
| | | @Override |
| | | public Result editProject(ProjectForm form) { |
| | | if (ObjectUtil.isNotNull(form.getProjectInfoForm())){ |
| | | if (ObjectUtil.isNull(form.getProjectInfoForm().getId())) { |
| | | //新增 |
| | | add(form.getProjectInfoForm()); |
| | | }else { |
| | | //更新 |
| | | update(form.getProjectInfoForm()); |
| | | } |
| | | } |
| | | if (ObjectUtil.isNotNull(form.getProjectInvestmentInfoForm())) { |
| | | if (ObjectUtil.isNull(form.getProjectInvestmentInfoForm().getId())) { |
| | | projectInvestmentInfoServiceImpl.add(form.getProjectInvestmentInfoForm()); |
| | | }else { |
| | | projectInvestmentInfoServiceImpl.update(form.getProjectInvestmentInfoForm()); |
| | | } |
| | | } |
| | | if (ObjectUtil.isNotNull(form.getProjectInvestmentFundingForm())) { |
| | | if (ObjectUtil.isNull(form.getProjectInvestmentFundingForm().getId())) { |
| | | projectInvestmentFundingServiceImpl.add(form.getProjectInvestmentFundingForm()); |
| | | }else { |
| | | projectInvestmentFundingServiceImpl.update(form.getProjectInvestmentFundingForm()); |
| | | } |
| | | } |
| | | if (ObjectUtil.isNotNull(form.getProjectInvestmentPolicyComplianceForm())) { |
| | | if (ObjectUtil.isNull(form.getProjectInvestmentPolicyComplianceForm().getId())) { |
| | | projectInvestmentPolicyComplianceServiceImpl.add(form.getProjectInvestmentPolicyComplianceForm()); |
| | | }else { |
| | | projectInvestmentPolicyComplianceServiceImpl.update(form.getProjectInvestmentPolicyComplianceForm()); |
| | | } |
| | | } |
| | | if (ObjectUtil.isNotNull(form.getProjectUnitRegistrationInfoForm())) { |
| | | if (ObjectUtil.isNull(form.getProjectUnitRegistrationInfoForm().getId())) { |
| | | projectUnitRegistrationInfoServiceImpl.add(form.getProjectUnitRegistrationInfoForm()); |
| | | }else { |
| | | projectUnitRegistrationInfoServiceImpl.update(form.getProjectUnitRegistrationInfoForm()); |
| | | } |
| | | } |
| | | if (ObjectUtil.isNotNull(form.getDocumentInfoForm())) { |
| | | if (ObjectUtil.isNull(form.getDocumentInfoForm().getProjectId())){ |
| | | return Result.error("请先保存投资管理基本信息"); |
| | | }else { |
| | | addDoc(form.getDocumentInfoForm()); |
| | | } |
| | | } |
| | | |
| | | return Result.ok("提交成功"); |
| | | } |
| | | |
| | | private static void deleteDirectoryOrFile(java.io.File file) { |
| | | if (ObjectUtil.isNull(file)) { |
| | | return; |