From 5528e869fc25354fe62fbb228cfdd40e0df94dbc Mon Sep 17 00:00:00 2001
From: luxiaotao1123 <t1341870251@63.com>
Date: 星期一, 28 十一月 2022 08:32:06 +0800
Subject: [PATCH] #

---
 src/main/java/com/zy/crm/manager/controller/PlanController.java |   40 ++++++++++++++++++++++++++++++++++++----
 1 files changed, 36 insertions(+), 4 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 01bf282..45d112f 100644
--- a/src/main/java/com/zy/crm/manager/controller/PlanController.java
+++ b/src/main/java/com/zy/crm/manager/controller/PlanController.java
@@ -8,6 +8,7 @@
 import com.core.annotations.ManagerAuth;
 import com.core.common.BaseRes;
 import com.core.common.Cools;
+import com.core.common.DateUtils;
 import com.core.common.R;
 import com.core.domain.KeyValueVo;
 import com.core.exception.CoolException;
@@ -178,19 +179,42 @@
 
         switch (plan.getSettle()) {
             case 1:
-                break;
-            case 2:
                 // 鏈粍缁勯暱瀹℃牳
                 User user = userService.selectById(plan.getUserId());
                 User manager = userService.getDeptManager(getHostId(), user.getDeptId());
                 if (manager.getId().equals(getUserId())) {
 
                     // 鏌ユ壘瑙勫垝缁勯暱
-                    plan.setSettleMsg(JSON.toJSONString(SettleDto.init(plan, manager)));
+                    PlanType planType = planTypeService.selectById(plan.getPlanType());
+                    User planLeader = planTypeService.findPlanLeader(planType);
+                    if (Cools.isEmpty(planLeader)) {
+                        throw new CoolException("鏈煡鎵惧埌瑙勫垝缁勯暱锛岃鑱旂郴绠$悊鍛�");
+                    }
+
                     // 淇敼 settle 姝ラ鏁版嵁
+                    List<SettleDto> list = JSON.parseArray(plan.getSettleMsg(), SettleDto.class);
+                    for (SettleDto dto : list) {
+                        switch (dto.getStep()) {
+                            case 1:
+                                dto.setCurr(Boolean.FALSE);
+                                break;
+                            case 2:
+                                dto.setCurr(Boolean.TRUE);
+                                dto.setMsg("鏈粍缁勯暱" + manager.getNickname() + "瀹℃壒閫氳繃");
+                                dto.setTime(DateUtils.convert(new Date()));
+                                break;
+                            case 3:
+                                dto.setUserId(planLeader.getId());
+                                dto.setUsername(planLeader.getNickname());
+                                break;
+                            default:
+                                break;
+                        }
+                    }
+                    plan.setSettleMsg(JSON.toJSONString(list));
 
                     // 淇敼瑙勫垝鍗曠姸鎬�
-                    plan.setSettle(3);  // 瑙勫垝缁勯暱寰呭
+                    plan.setSettle(2);  // 瑙勫垝缁勯暱寰呭
                     plan.setUpdateBy(getUserId());
                     plan.setUpdateTime(new Date());
 
@@ -199,11 +223,19 @@
                     }
 
                     // 娣诲姞瑙勫垝缁勯暱璺熻繘浜�
+                    PlanFoll planFoll = new PlanFoll();
+                    planFoll.setPlanId(plan.getId());
+                    planFoll.setUserId(planLeader.getId());
+                    if (!planFollService.insert(planFoll)) {
+                        throw new CoolException("瀹℃牳澶辫触锛岃鑱旂郴绠$悊鍛�");
+                    }
 
                 } else {
                     return R.error("鎶辨瓑锛屾偍娌℃湁瀹℃牳鐨勬潈闄�");
                 }
                 break;
+            case 2:
+                break;
             case 3:
                 break;
             case 4:

--
Gitblit v1.9.1