From 7dfbe35bfaa7ab48da27073858c64e7602c702dd Mon Sep 17 00:00:00 2001
From: luxiaotao1123 <t1341870251@63.com>
Date: 星期一, 28 十一月 2022 13:56:38 +0800
Subject: [PATCH] #

---
 src/main/java/com/zy/crm/manager/controller/PlanController.java |   61 +++++++++++++++++++++++++++++-
 src/main/java/com/zy/crm/common/model/SettleDto.java            |    2 
 src/main/webapp/views/plan/plan.html                            |    2 
 src/main/java/com/zy/crm/manager/entity/Plan.java               |    4 +-
 4 files changed, 63 insertions(+), 6 deletions(-)

diff --git a/src/main/java/com/zy/crm/common/model/SettleDto.java b/src/main/java/com/zy/crm/common/model/SettleDto.java
index 5ec1d8c..2cb884d 100644
--- a/src/main/java/com/zy/crm/common/model/SettleDto.java
+++ b/src/main/java/com/zy/crm/common/model/SettleDto.java
@@ -51,7 +51,7 @@
                     list.add(dto);
                     break;
                 case 3:
-                    dto.setTitle("鍞墠缁勯暱瀹℃牳");
+                    dto.setTitle("鍞墠瀹℃牳");
                     list.add(dto);
                     break;
                 case 4:
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 6516449..95381bb 100644
--- a/src/main/java/com/zy/crm/manager/controller/PlanController.java
+++ b/src/main/java/com/zy/crm/manager/controller/PlanController.java
@@ -174,7 +174,7 @@
     @PostMapping(value = "/plan/approval/auth")
     @ManagerAuth
     public R approval(@RequestParam Long planId,
-                      @RequestParam(required = false) Long planner){
+                      @RequestParam(required = false) Long plannerId){
         Plan plan = planService.selectById(planId);
         assert plan != null;
 
@@ -236,6 +236,63 @@
                 }
                 break;
             case 2:
+                // 鏌ユ壘瑙勫垝缁勯暱
+                PlanType planType = planTypeService.selectById(plan.getPlanType());
+                User planLeader = planTypeService.findPlanLeader(planType);
+                if (Cools.isEmpty(planLeader)) {
+                    throw new CoolException("鏈煡鎵惧埌瑙勫垝缁勯暱锛岃鑱旂郴绠$悊鍛�");
+                }
+                if (Cools.isEmpty(planLeader)) {
+                    throw new CoolException("鏈煡鎵惧埌瑙勫垝缁勯暱锛岃鑱旂郴绠$悊鍛�");
+                }
+                if (!getUserId().equals(planLeader.getId())) {
+                    return R.error("鎶辨瓑锛屾偍娌℃湁瀹℃牳鐨勬潈闄�");
+                }
+                if (Cools.isEmpty(plannerId)) {
+                    return R.error("鎸囧畾瑙勫垝鍛樹笉鑳戒负绌�");
+                }
+                User planner = userService.selectById(plannerId);
+                // 淇敼 settle 姝ラ鏁版嵁
+                List<SettleDto> list = JSON.parseArray(plan.getSettleMsg(), SettleDto.class);
+                for (SettleDto dto : list) {
+                    switch (dto.getStep()) {
+                        case 2:
+                            dto.setCurr(Boolean.FALSE);
+                            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;
+                        case 4:
+                            dto.setUserId(planner.getId());
+                            dto.setUsername(planner.getNickname());
+                            break;
+                        default:
+                            break;
+                    }
+                }
+                plan.setSettleMsg(JSON.toJSONString(list));
+                // 淇敼瑙勫垝鍗曠姸鎬�
+                plan.setSettle(3);  // 瑙勫垝鍛樺緟瀹�
+                plan.setPlanner(planner.getId());
+                plan.setUpdateBy(getUserId());
+                plan.setUpdateTime(new Date());
+
+                if (!planService.updateById(plan)) {
+                    throw new CoolException("瀹℃牳澶辫触锛岃鑱旂郴绠$悊鍛�");
+                }
+
+                // 娣诲姞瑙勫垝缁勯暱璺熻繘浜�
+                PlanFoll planFoll = new PlanFoll();
+                planFoll.setPlanId(planner.getId());
+                planFoll.setUserId(planLeader.getId());
+                if (!planFollService.insert(planFoll)) {
+                    throw new CoolException("瀹℃牳澶辫触锛岃鑱旂郴绠$悊鍛�");
+                }
+
                 break;
             case 3:
                 break;
@@ -244,7 +301,7 @@
             default:
                 return R.error();
         }
-        return R.ok();
+        return R.ok("瀹℃壒鎴愬姛");
     }
 
     @PostMapping(value = "/plan/planner/list/auth")
diff --git a/src/main/java/com/zy/crm/manager/entity/Plan.java b/src/main/java/com/zy/crm/manager/entity/Plan.java
index e1c44a0..0514720 100644
--- a/src/main/java/com/zy/crm/manager/entity/Plan.java
+++ b/src/main/java/com/zy/crm/manager/entity/Plan.java
@@ -176,7 +176,7 @@
     /**
      * 杩涘害 1: 寮�濮�  2: 缁勯暱瀹℃牳  3: 鍞墠缁勯暱瀹℃牳  4: 瑙勫垝鍛樺鏍�  5: 瀹℃壒閫氳繃
      */
-    @ApiModelProperty(value= "杩涘害 1: 寮�濮�  2: 缁勯暱瀹℃牳  3: 鍞墠缁勯暱瀹℃牳  4: 瑙勫垝鍛樺鏍�  5: 瀹℃壒閫氳繃  ")
+    @ApiModelProperty(value= "杩涘害 1: 寮�濮�  2: 缁勯暱瀹℃牳  3: 鍞墠瀹℃牳  4: 瑙勫垝鍛樺鏍�  5: 瀹℃壒閫氳繃  ")
     private Integer settle;
 
     /**
@@ -345,7 +345,7 @@
             case 2:
                 return "缁勯暱瀹℃牳";
             case 3:
-                return "鍞墠缁勯暱瀹℃牳";
+                return "鍞墠瀹℃牳";
             case 4:
                 return "瑙勫垝鍛樺鏍�";
             case 5:
diff --git a/src/main/webapp/views/plan/plan.html b/src/main/webapp/views/plan/plan.html
index bcf0f08..3ce96aa 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) { }}
+    {{# if (d.settle == 1 || d.settle == 2 || d.settle == 3) { }}
         <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