From 08db83852d3f00d1be9703e6adb4373395fe1466 Mon Sep 17 00:00:00 2001
From: LSH
Date: 星期四, 27 七月 2023 21:04:56 +0800
Subject: [PATCH] #售前规划申请单需求多选

---
 src/main/java/com/zy/crm/manager/controller/PlanController.java |   36 ++++++++++++++++++++++++++++++++++++
 1 files changed, 36 insertions(+), 0 deletions(-)

diff --git a/src/main/java/com/zy/crm/manager/controller/PlanController.java b/src/main/java/com/zy/crm/manager/controller/PlanController.java
index 859bd71..c3dc7a5 100644
--- a/src/main/java/com/zy/crm/manager/controller/PlanController.java
+++ b/src/main/java/com/zy/crm/manager/controller/PlanController.java
@@ -12,7 +12,9 @@
 import com.core.common.R;
 import com.core.domain.KeyValueVo;
 import com.core.exception.CoolException;
+import com.zy.crm.common.entity.RouteCollectCountType;
 import com.zy.crm.common.model.SettleDto;
+import com.zy.crm.common.utils.SetOfUtils;
 import com.zy.crm.common.web.BaseController;
 import com.zy.crm.manager.controller.result.FollowerTableVo;
 import com.zy.crm.manager.entity.Plan;
@@ -38,6 +40,8 @@
 import java.io.IOException;
 import java.io.InputStream;
 import java.util.*;
+
+import static java.util.stream.Collectors.toList;
 
 @RestController
 public class PlanController extends BaseController {
@@ -145,11 +149,43 @@
 	@RequestMapping(value = "/plan/update/auth")
 	@ManagerAuth
     public R update(@RequestParam Map<String, Object> param){
+        String planNeed = null;
+        Integer id = null;
+        for (Map.Entry<String, Object> entry : param.entrySet()){
+            String val = String.valueOf(entry.getValue());
+            if (Cools.isEmpty(val)){
+                continue;
+            }
+            if (entry.getKey().equals("planNeed")){
+                planNeed = val;
+            }
+            if (entry.getKey().equals("id")){
+                try{
+                    id = Integer.parseInt(val);
+                }catch (Exception e){
+                    return R.error();
+                }
+            }
+        }
         if (Cools.isEmpty(param) || Cools.isEmpty(param.get("id"))){
             return R.error();
         }
+        List<String> planNeedbs = new ArrayList<>(Arrays.asList(planNeed.split("-")));
+        if (planNeedbs.get(0).equals("[object Object]")){
+            planNeedbs.remove(0);
+            Plan plan1 = planService.selectById(id);
+            List<String> planNeedas = Arrays.asList(plan1.getPlanNeed().split("-"));
+            List<String> routeIntersectionString = SetOfUtils.getRouteIntersectionString(planNeedas, planNeedbs, RouteCollectCountType.DEDUPLICATIONUNION);
+            planNeed="";
+            for (String planNeedss:routeIntersectionString){
+                planNeed=planNeed==""? planNeedss:planNeed + "-" + planNeedss;
+            }
+        }
+
+
         // pre
         Plan plan = JSON.parseObject(JSON.toJSONString(param), Plan.class);
+        plan.setPlanNeed(planNeed);
         param.entrySet().removeIf(next -> this.fields.contains(next.getKey()));
         plan.setUpdateBy(getUserId());
         plan.setUpdateTime(new Date());

--
Gitblit v1.9.1