From e1cf283ea35aaf3feea32a22712a7c9c735a7d62 Mon Sep 17 00:00:00 2001
From: fuliqi <fuliqi@qq.com>
Date: 星期三, 19 二月 2025 10:34:13 +0800
Subject: [PATCH] 中标单位改为多个

---
 business/src/main/java/com/ycl/service/impl/ProjectInfoServiceImpl.java |   36 ++++++++++++++++++++++++++++++++++++
 1 files changed, 36 insertions(+), 0 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 c3d6a40..29b6407 100644
--- a/business/src/main/java/com/ycl/service/impl/ProjectInfoServiceImpl.java
+++ b/business/src/main/java/com/ycl/service/impl/ProjectInfoServiceImpl.java
@@ -41,6 +41,7 @@
 import com.ycl.mapper.*;
 import com.ycl.service.FileService;
 import com.ycl.service.ProjectInfoService;
+import com.ycl.service.ProjectInfoWinUnitService;
 import com.ycl.system.mapper.SysDeptMapper;
 import lombok.RequiredArgsConstructor;
 import org.apache.commons.codec.Charsets;
@@ -77,6 +78,7 @@
 public class ProjectInfoServiceImpl extends ServiceImpl<ProjectInfoMapper, ProjectInfo> implements ProjectInfoService {
 
     private final ProjectInfoMapper projectInfoMapper;
+    private final ProjectInfoWinUnitService projectInfoWinUnitService;
     private final ProjectInvestmentFundingMapper investmentFundingMapper;
     private final ProjectInvestmentInfoMapper investmentInfoMapper;
     private final ProjectInvestmentPolicyComplianceMapper policyMapper;
@@ -103,6 +105,7 @@
         ProjectInfo entity = ProjectInfoForm.getEntityByForm(form, null);
         Long userId = SecurityUtils.getUserId();
         Long deptId = SecurityUtils.getDeptId();
+        List<ProjectInfoWinUnitForm> projectInfoWinUnitForm = form.getWinUnitList();
         entity.setProjectOwnerUnit(deptId);
         entity.setCreateBy(userId);
         entity.setUpdateBy(userId);
@@ -119,6 +122,9 @@
             item.setType(FileTypeEnum.PROJECT_INFO);
         });
         fileService.saveBatch(fileList);
+
+        //娣诲姞椤圭洰涓爣鍗曚綅
+        saveUnit(projectInfoWinUnitForm);
         return Result.ok("娣诲姞鎴愬姛").data(entity.getId());
     }
 
@@ -163,7 +169,28 @@
         fileMapper.delete(fileQueryWrapper);
         //鏇挎崲鎴愮幇鏈�
         fileService.saveBatch(fileList);
+
+        //淇敼椤圭洰涓爣鍗曚綅
+        //鍒犻櫎鍘熸暟鎹�
+        List<ProjectInfoWinUnitForm> projectInfoWinUnitForm = form.getWinUnitList();
+        QueryWrapper<ProjectInfoWinUnit> unitWrapper = new QueryWrapper<>();
+        unitWrapper.eq("project_info_id",form.getId());
+        projectInfoWinUnitService.remove(unitWrapper);
+        //娣诲姞椤圭洰涓爣鍗曚綅
+        saveUnit(projectInfoWinUnitForm);
+
         return Result.ok("淇敼鎴愬姛");
+    }
+
+    private void saveUnit(List<ProjectInfoWinUnitForm> projectInfoWinUnitForm) {
+        List<ProjectInfoWinUnit> projectInfoWinUnits = new ArrayList<>();
+        for (ProjectInfoWinUnitForm winUnitForm : projectInfoWinUnitForm) {
+            ProjectInfoWinUnit projectInfoWinUnit = ProjectInfoWinUnitForm.getEntityByForm(winUnitForm, null);
+            projectInfoWinUnits.add(projectInfoWinUnit);
+        }
+        if (!CollectionUtils.isEmpty(projectInfoWinUnits)) {
+            projectInfoWinUnitService.saveBatch(projectInfoWinUnits);
+        }
     }
 
     /**
@@ -191,6 +218,7 @@
         investmentInfoMapper.delete(new QueryWrapper<ProjectInvestmentInfo>().eq("project_id", id));
         policyMapper.delete(new QueryWrapper<ProjectInvestmentPolicyCompliance>().eq("project_id", id));
         unitRegistrationInfoMapper.delete(new QueryWrapper<ProjectUnitRegistrationInfo>().eq("project_id", id));
+        projectInfoWinUnitService.remove(new QueryWrapper<ProjectInfoWinUnit>().eq("project_info_id",id));
 
         List<String> types = new ArrayList<>();
         types.add(FileTypeEnum.PROJECT_INFO.getType());
@@ -296,8 +324,16 @@
         QueryWrapper<File> fileQueryWrapper = new QueryWrapper<>();
         fileQueryWrapper.eq("type", FileTypeEnum.PROJECT_INFO.getType());
         fileQueryWrapper.eq("bus_id", vo.getId());
+
         List<File> files = fileMapper.selectList(fileQueryWrapper);
         vo.setFileList(files);
+        List<ProjectInfoWinUnitVO> unitVOS = new ArrayList<>();
+        List<ProjectInfoWinUnit> unitList = projectInfoWinUnitService.list(new QueryWrapper<ProjectInfoWinUnit>().eq("project_info_id", id));
+        for (ProjectInfoWinUnit projectInfoWinUnit : unitList) {
+            ProjectInfoWinUnitVO unitVO = ProjectInfoWinUnitVO.getVoByEntity(projectInfoWinUnit,null);
+            unitVOS.add(unitVO);
+        }
+        vo.setWinUnitVOList(unitVOS);
         return Result.ok().data(vo);
     }
 

--
Gitblit v1.8.0