From 74da9dfb5fb4085d8847d4c74a97048c6c677514 Mon Sep 17 00:00:00 2001 From: xiangpei <xiangpei@timesnew.cn> Date: 星期三, 15 一月 2025 10:53:34 +0800 Subject: [PATCH] 完成任务bug(协同办理的才resolveTask)、转办前如果是指定人员删除不掉问题、提取获取运行时任务信息的方法 --- business/src/main/java/com/ycl/service/impl/ProjectInfoServiceImpl.java | 87 ++++++++++++++++++++++++++++++++++++++++--- 1 files changed, 81 insertions(+), 6 deletions(-) diff --git a/business/src/main/java/com/ycl/service/impl/ProjectInfoServiceImpl.java b/business/src/main/java/com/ycl/service/impl/ProjectInfoServiceImpl.java index 0dd853d..1210f57 100644 --- a/business/src/main/java/com/ycl/service/impl/ProjectInfoServiceImpl.java +++ b/business/src/main/java/com/ycl/service/impl/ProjectInfoServiceImpl.java @@ -1,6 +1,8 @@ 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; @@ -26,11 +28,10 @@ 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.*; @@ -39,6 +40,7 @@ import com.ycl.mapper.*; import com.ycl.service.FileService; import com.ycl.service.ProjectInfoService; +import com.ycl.system.mapper.SysDeptMapper; import lombok.RequiredArgsConstructor; import org.apache.commons.codec.Charsets; import org.springframework.stereotype.Service; @@ -83,6 +85,11 @@ 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; + private final SysDeptMapper sysDeptMapper; /** * 娣诲姞 @@ -222,13 +229,25 @@ return Result.ok().data(list).total(0); } + Long userId = SecurityUtils.getUserId(); + String ancestors = sysDeptMapper.selectAncestors(userId); + String[] ancestorArr = ancestors.split(","); + for (String ancestor : ancestorArr) { + if ("101".equals(ancestor)) { // 涓氫富 + query.setCreateBy(userId); + query.setRole(0); + }else if ("102".equals(ancestor)){ // 瀹℃壒 + query.setUsedStatus(1); + query.setRole(1); + } + } + IPage<ProjectInfoVO> page = PageUtil.getPage(query, ProjectInfoVO.class); baseMapper.getPage(page, query); List<ProjectInfoVO> records = page.getRecords(); List<ProjectVO> list = new ArrayList<>(); records.forEach(vo -> { ProjectInfoVO.transform(vo); - vo.setProjectColorCode("green"); ProjectVO projectVO = new ProjectVO(); copyToProjectVO(vo, projectVO); //缈昏瘧椤圭洰闃舵 @@ -570,7 +589,13 @@ } 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("瑙e帇澶辫触锛屽皾璇曚娇鐢℅BK缂栫爜瑙e帇..."); + ZipUtil.unzip(tempZip, tempDir, CharsetUtil.CHARSET_GBK); + } Path path = tempDir.toPath(); ProjectImportListener projectImportListener = new ProjectImportListener(); @@ -609,7 +634,7 @@ 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() @@ -650,6 +675,56 @@ } } + @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; -- Gitblit v1.8.0