From 80ff525349aca13de516a8d974a98aab2d628005 Mon Sep 17 00:00:00 2001
From: LSH
Date: 星期二, 10 十月 2023 13:29:22 +0800
Subject: [PATCH] #回退流程相关

---
 src/main/java/com/zy/crm/manager/controller/PriOnline2Controller.java |   74 +++++++++++++++++++++++++++++++++----
 1 files changed, 66 insertions(+), 8 deletions(-)

diff --git a/src/main/java/com/zy/crm/manager/controller/PriOnline2Controller.java b/src/main/java/com/zy/crm/manager/controller/PriOnline2Controller.java
index b5e5cbf..b140a93 100644
--- a/src/main/java/com/zy/crm/manager/controller/PriOnline2Controller.java
+++ b/src/main/java/com/zy/crm/manager/controller/PriOnline2Controller.java
@@ -56,6 +56,8 @@
     @Autowired
     private UserService userService;
 
+    String PZH=" 鈥斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�� ";
+
     @RequestMapping(value = "/priOnline2/{id}/auth")
     @ManagerAuth
     public R get(@PathVariable("id") String id) {
@@ -183,8 +185,8 @@
         PlanType planType = planTypeService.selectById(plan.getPlanType());
         node = node+planType.getType();
 
-        ProcessPermissions processPermissions = processPermissionsService.selectOne(new EntityWrapper<ProcessPermissions>().eq("process_memo", 5).eq("process", node));//2锛氭姤浠锋祦绋�
-        User manager = userService.selectById(processPermissions.getUserId());       // 鑾峰彇鎶ヤ环娴佺▼鑺傜偣2纭浜�
+        ProcessPermissions processPermissions = processPermissionsService.selectOne(new EntityWrapper<ProcessPermissions>().eq("process_memo", 5).eq("process", node));//2锛氭牳浠锋祦绋�
+        User manager = userService.selectById(processPermissions.getUserId());       // 鑾峰彇鏍镐环娴佺▼鑺傜偣2纭浜�
 
                                 // 鑾峰彇涓氬姟鍛�
         List<String> initNames = new ArrayList<>();
@@ -407,7 +409,7 @@
             map.put("id", priOnline2.getId());
 //            map.put("value", priOnline2.getOrderNum() + "/" + priOnline2.getPlanId$() + "/" + priOnline2.getMemberId$());
 //            map.put("value", priOnline2.getOrderNum() + "/" + priOnline2.getTemplateName());
-            map.put("value", priOnline2.getOrderNum() + "/" + priOnline2.getPlanId$() + "/" + priOnline2.getMemberId$() + "/" + priOnline2.getTemplateName());
+            map.put("value", priOnline2.getOrderNum() + "/" + priOnline2.getPlanId$() + "/" + priOnline2.getUser$() + "/" + priOnline2.getTemplateName());
 
             result.add(map);
         }
@@ -433,6 +435,48 @@
         return R.ok().add(vos);
     }
 
+    @PostMapping(value = "/priOnline2/approvalEnd/auth")
+    @ManagerAuth(memo = "鎷掔粷鐢宠鍗�")
+    public R approvalEnd(@RequestParam Long priOnlineId,
+                         @RequestParam(required = false) Long plannerId) {
+        PriOnline2 priOnline2 = priOnline2Service.selectById(priOnlineId);
+        Date now = new Date();
+        Long memberId = priOnline2.getMemberId();
+        User member = userService.selectById(memberId);
+        if (!member.getId().equals(getUserId())){
+            return R.error("鎶辨瓑锛屾偍娌℃湁瀹℃牳鐨勬潈闄�");
+        }
+        List<SettleDto> planDtos = JSON.parseArray(priOnline2.getSettleMsg(), SettleDto.class);
+        List<SettleDto> planDtoList = new ArrayList<>();
+        boolean sign = true;
+        for (SettleDto dto : planDtos) {
+            if (dto.getStep().equals(1)){
+                priOnline2.setMemberId(dto.getUserId());
+            }
+            if (sign && dto.getUserId().equals(memberId) && priOnline2.getSettle()+1==dto.getStep()){
+                if (Cools.isEmpty(dto.getMsg())){
+                    dto.setMsg(DateUtils.convert(now)+" "+member.getNickname()+"鍥為��瀹℃壒");
+                }else {
+                    dto.setMsg(dto.getMsg()+PZH+DateUtils.convert(now)+" "+member.getNickname()+"鍥為��瀹℃壒");
+                }
+                sign = false;
+            }
+            if (sign){
+                dto.setMsg(dto.getMsg()+PZH+DateUtils.convert(now)+" "+member.getNickname()+"鍥為��瀹℃壒");
+            }
+
+            planDtoList.add(dto);
+        }
+        priOnline2.setStatus(0);
+        priOnline2.setSettle(0);
+        priOnline2.setUpdateUserId(getUserId());
+        priOnline2.setUpdateTime(now);
+
+        priOnline2.setSettleMsg(JSON.toJSONString(planDtoList));
+        priOnline2Service.updateById(priOnline2);
+        return R.ok("鍥為��鎴愬姛");
+    }
+
     @PostMapping(value = "/priOnline2/approval/auth")
     @ManagerAuth
     public R approvalBusinessTrip(@RequestParam Long priOnlineId,
@@ -443,16 +487,18 @@
         switch (priOnline2.getSettle()) {
             case 0:
                 // 鏈儴闂ㄧ粡鐞嗗鏍�  鑺傜偣璐熻矗浜�
+                User user = userService.selectById(priOnline2.getMemberId());
+
                 Plan plan1 = planService.selectById(priOnline2.getItemId());
                 PlanType planType1 = planTypeService.selectById(plan1.getPlanType());
 
-                ProcessPermissions processPermissions1 = processPermissionsService.selectOne(new EntityWrapper<ProcessPermissions>().eq("process_memo", 5).eq("process", "2-"+planType1.getType()));//2锛氭姤浠锋祦绋�
+                ProcessPermissions processPermissions1 = processPermissionsService.selectOne(new EntityWrapper<ProcessPermissions>().eq("process_memo", 5).eq("process", "2-"+planType1.getType()));//2锛氭牳浠锋祦绋�
                 User manager1 = userService.selectById(processPermissions1.getUserId());       // 鑾峰彇鎶ヤ环娴佺▼鑺傜偣2纭浜�
 
                 if (Cools.isEmpty(getUser())) {
                     return R.error("鎶辨瓑锛屾偍娌℃湁鎻愪氦鐨勬潈闄�");
                 }
-                if (!getUserId().equals(getUser().getId())) {
+                if (!getUserId().equals(user.getId())) {
                     return R.error("鎶辨瓑锛屾偍娌℃湁鎻愪氦鐨勬潈闄�");
                 }
                 // 淇敼 settle 姝ラ鏁版嵁
@@ -464,7 +510,11 @@
                             break;
                         case 1:
                             dto.setCurr(Boolean.TRUE);
-                            dto.setMsg(getUser().getNickname() + "鎻愪氦瀹屾垚");
+                            if (Cools.isEmpty(dto.getMsg())){
+                                dto.setMsg(user.getNickname() + "鎻愪氦瀹屾垚");
+                            }else {
+                                dto.setMsg(dto.getMsg()+PZH+DateUtils.convert(new Date())+" " + user.getNickname() + "鎻愪氦瀹屾垚");
+                            }
                             dto.setTime(DateUtils.convert(now));
                             break;
                         default:
@@ -507,7 +557,11 @@
                                 break;
                             case 2:
                                 dto.setCurr(Boolean.TRUE);
-                                dto.setMsg(manager.getNickname() + "瀹℃壒閫氳繃");
+                                if (Cools.isEmpty(dto.getMsg())){
+                                    dto.setMsg(manager.getNickname() + "瀹℃壒閫氳繃");
+                                }else {
+                                    dto.setMsg(dto.getMsg()+PZH+DateUtils.convert(new Date())+" " + manager.getNickname() + "瀹℃壒閫氳繃");
+                                }
                                 dto.setTime(DateUtils.convert(now));
                                 break;
                             default:
@@ -543,7 +597,11 @@
                             break;
                         case 3:
                             dto.setCurr(Boolean.TRUE);
-                            dto.setMsg("涓氬姟鍛�" + salesman0.getNickname() + "浠ョ‘璁�");
+                            if (Cools.isEmpty(dto.getMsg())){
+                                dto.setMsg("涓氬姟鍛�" + salesman0.getNickname() + "瀹℃壒閫氳繃");
+                            }else {
+                                dto.setMsg(dto.getMsg()+PZH+DateUtils.convert(new Date())+" "+"涓氬姟鍛�" + salesman0.getNickname() + "瀹℃壒閫氳繃");
+                            }
                             dto.setTime(DateUtils.convert(new Date()));
                             break;
                         default:

--
Gitblit v1.9.1