From 8ff331dadbcb2720a667da447998a749b29db2f1 Mon Sep 17 00:00:00 2001
From: luxiaotao1123 <t1341870251@63.com>
Date: 星期一, 28 十一月 2022 14:25:25 +0800
Subject: [PATCH] #

---
 src/main/java/com/zy/crm/manager/controller/PlanController.java |   77 +++++++++++++++++++++++++++++++++++---
 src/main/webapp/views/plan/plan.html                            |    2 
 2 files changed, 72 insertions(+), 7 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 95381bb..859bd71 100644
--- a/src/main/java/com/zy/crm/manager/controller/PlanController.java
+++ b/src/main/java/com/zy/crm/manager/controller/PlanController.java
@@ -261,8 +261,6 @@
                             break;
                         case 3:
                             dto.setCurr(Boolean.TRUE);
-                            dto.setUserId(planLeader.getId());
-                            dto.setUsername(planLeader.getNickname());
                             dto.setMsg("鍞墠缁勯暱" + planLeader.getNickname() + "瀹℃壒閫氳繃");
                             dto.setTime(DateUtils.convert(new Date()));
                             break;
@@ -285,18 +283,85 @@
                     throw new CoolException("瀹℃牳澶辫触锛岃鑱旂郴绠$悊鍛�");
                 }
 
-                // 娣诲姞瑙勫垝缁勯暱璺熻繘浜�
+                // 娣诲姞瑙勫垝鍛樿窡杩涗汉
                 PlanFoll planFoll = new PlanFoll();
-                planFoll.setPlanId(planner.getId());
-                planFoll.setUserId(planLeader.getId());
+                planFoll.setPlanId(plan.getId());
+                planFoll.setUserId(planner.getId());
                 if (!planFollService.insert(planFoll)) {
                     throw new CoolException("瀹℃牳澶辫触锛岃鑱旂郴绠$悊鍛�");
                 }
-
                 break;
             case 3:
+                User plannerUser = userService.selectById(plan.getPlanner());
+                if (Cools.isEmpty(plannerUser)) {
+                    return R.error("鏈壘鍒拌鍒掑憳");
+                }
+                if (!getUserId().equals(plannerUser.getId())) {
+                    return R.error("鎶辨瓑锛屾偍娌℃湁瀹℃牳鐨勬潈闄�");
+                }
+                // 涓氬姟鍛�
+                User salesman = userService.selectById(plan.getUserId());
+                // 淇敼 settle 姝ラ鏁版嵁
+                List<SettleDto> list0 = JSON.parseArray(plan.getSettleMsg(), SettleDto.class);
+                for (SettleDto dto : list0) {
+                    switch (dto.getStep()) {
+                        case 3:
+                            dto.setCurr(Boolean.FALSE);
+                            break;
+                        case 4:
+                            dto.setCurr(Boolean.TRUE);
+                            dto.setMsg("瑙勫垝鍛�" + plannerUser.getNickname() + "瀹℃壒閫氳繃");
+                            dto.setTime(DateUtils.convert(new Date()));
+                            break;
+                        case 5:
+                            dto.setUserId(salesman.getId());
+                            dto.setUsername(salesman.getNickname());
+                            break;
+                        default:
+                            break;
+                    }
+                }
+                plan.setSettleMsg(JSON.toJSONString(list0));
+                // 淇敼瑙勫垝鍗曠姸鎬�
+                plan.setSettle(4);  // 瀹℃壒閫氳繃
+                plan.setUpdateBy(getUserId());
+                plan.setUpdateTime(new Date());
+
+                if (!planService.updateById(plan)) {
+                    throw new CoolException("瀹℃牳澶辫触锛岃鑱旂郴绠$悊鍛�");
+                }
                 break;
             case 4:
+                // 涓氬姟鍛�
+                User salesman0 = userService.selectById(plan.getUserId());
+                if (!getUserId().equals(salesman0.getId())) {
+                    return R.error("鎶辨瓑锛屾偍娌℃湁瀹℃牳鐨勬潈闄�");
+                }
+                // 淇敼 settle 姝ラ鏁版嵁
+                List<SettleDto> list1 = JSON.parseArray(plan.getSettleMsg(), SettleDto.class);
+                for (SettleDto dto : list1) {
+                    switch (dto.getStep()) {
+                        case 4:
+                            dto.setCurr(Boolean.TRUE);
+                            break;
+                        case 5:
+                            dto.setCurr(Boolean.TRUE);
+                            dto.setMsg("涓氬姟鍛�" + salesman0.getNickname() + "瀹℃壒閫氳繃");
+                            dto.setTime(DateUtils.convert(new Date()));
+                            break;
+                        default:
+                            break;
+                    }
+                }
+                plan.setSettleMsg(JSON.toJSONString(list1));
+                // 淇敼瑙勫垝鍗曠姸鎬�
+                plan.setSettle(5);  // 瀹℃壒閫氳繃
+                plan.setUpdateBy(getUserId());
+                plan.setUpdateTime(new Date());
+
+                if (!planService.updateById(plan)) {
+                    throw new CoolException("瀹℃牳澶辫触锛岃鑱旂郴绠$悊鍛�");
+                }
                 break;
             default:
                 return R.error();
diff --git a/src/main/webapp/views/plan/plan.html b/src/main/webapp/views/plan/plan.html
index 3ce96aa..5d4b684 100644
--- a/src/main/webapp/views/plan/plan.html
+++ b/src/main/webapp/views/plan/plan.html
@@ -104,7 +104,7 @@
 </div>
 
 <script type="text/html" id="operate">
-    {{# if (d.settle == 1 || d.settle == 2 || d.settle == 3) { }}
+    {{# if (d.settle == 1 || d.settle == 2 || d.settle == 3 || d.settle == 4) { }}
         <a class="layui-btn layui-btn-xs btn-edit" lay-event="approval">瀹℃壒</a>
     {{# } }}
     <a class="layui-btn layui-btn-primary layui-btn-xs btn-edit" lay-event="edit">淇敼</a>

--
Gitblit v1.9.1