From deb3baf0fb04c3a9f5b0d4b5bd9fb3237908d576 Mon Sep 17 00:00:00 2001
From: k94314517 <8417338+k94314517@user.noreply.gitee.com>
Date: 星期一, 19 二月 2024 18:38:12 +0800
Subject: [PATCH] 111

---
 server/service/src/main/java/com/doumee/service/business/impl/CompanyServiceImpl.java |   48 ++++++++++++++++++++++++++++++++++++++++++++++--
 1 files changed, 46 insertions(+), 2 deletions(-)

diff --git a/server/service/src/main/java/com/doumee/service/business/impl/CompanyServiceImpl.java b/server/service/src/main/java/com/doumee/service/business/impl/CompanyServiceImpl.java
index 2a7bdce..8e5c03b 100644
--- a/server/service/src/main/java/com/doumee/service/business/impl/CompanyServiceImpl.java
+++ b/server/service/src/main/java/com/doumee/service/business/impl/CompanyServiceImpl.java
@@ -227,6 +227,51 @@
         List<CompanySolution> list = new ArrayList<>();
         int num =0;
         for(CompanySolution s :company.getSolutionList()){
+            if(s.getSolutionBaseId() == null){
+                continue;
+            }
+            Solutions newVersion = solutionsMapper.selectOne(new QueryWrapper<Solutions>().lambda().eq(Solutions::getBaseId,s.getSolutionBaseId())
+                    .eq(Solutions::getDataType,Constants.TWO).last("limit 1"));
+            if(Objects.isNull(newVersion)){
+                throw  new BusinessException(ResponseStatus.BAD_REQUEST.getCode(),"璇锋坊鍔犳湁鏁堢殑淇濋櫓鏂规淇℃伅锛�");
+            }
+            sIds.add(s.getSolutionBaseId());
+            s.setCompanyId(company.getId());
+            s.setIsdeleted(Constants.ZERO);
+            s.setCanAdd(Constants.formatIntegerNum(s.getCanAdd()));
+            s.setCanReduce(Constants.formatIntegerNum(s.getCanReduce()));
+            s.setCreateDate(company.getCreateDate());
+            s.setCreator(company.getCreator());
+            s.setSortnum(num++);
+            s.setSolutionBaseId( s.getSolutionBaseId() );
+            s.setSolutionId( newVersion.getId() );
+            s.setStatus(Constants.ZERO);
+            list.add(s);
+        }
+        if(list.size() ==0){
+            throw  new BusinessException(ResponseStatus.BAD_REQUEST.getCode(),"璇锋坊鍔犳湁鏁堢殑淇濋櫓鏂规淇℃伅锛�");
+        }
+        List<Solutions> solutionsList = solutionsMapper.selectList(new QueryWrapper<Solutions>().lambda()
+                .in(Solutions::getId,sIds)
+                .eq(Solutions::getIsdeleted,Constants.ZERO));
+        if(solutionsList.size()!= list.size()){
+            throw  new BusinessException(ResponseStatus.BAD_REQUEST.getCode(),"璇锋坊鍔犳湁鏁堢殑淇濋櫓鏂规淇℃伅鍝�");
+        }
+        for(Solutions s:solutionsList){
+            if(Constants.equalsInteger(s.getStatus(),Constants.ONE)){
+                throw  new BusinessException(ResponseStatus.BAD_REQUEST.getCode(),"淇濋櫓鏂规銆�"+s.getName()+"銆戝凡琚鐢紝涓嶈兘杩涜璇ユ搷浣�");
+            }
+        }
+        companySolutionJoinMapper.insertBatchSomeColumn(list);
+    }
+
+
+
+   /* private void dealSolutionsData(Company company) {
+        List<Integer> sIds = new ArrayList<>();
+        List<CompanySolution> list = new ArrayList<>();
+        int num =0;
+        for(CompanySolution s :company.getSolutionList()){
             if(s.getSolution() == null || s.getSolution().getBaseId() == null ||s.getSolution().getId()==null){
                 continue;
             }
@@ -258,8 +303,7 @@
             }
         }
         companySolutionJoinMapper.insertBatchSomeColumn(list);
-    }
-
+    }*/
     private void isValidCreateParam(Company company) {
         if(StringUtils.isBlank(company.getPhone())
             ||StringUtils.isBlank(company.getName())

--
Gitblit v1.9.3