From cbc9250b33a955bc919a6afc5d4101ef65bbfafa Mon Sep 17 00:00:00 2001
From: Junjie <fallin.jie@qq.com>
Date: 星期五, 10 十一月 2023 12:53:03 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/zycrm' into zycrm

---
 src/main/java/com/zy/crm/manager/controller/OrderController.java |   62 +++++++++++++++++++++++++-----
 1 files changed, 51 insertions(+), 11 deletions(-)

diff --git a/src/main/java/com/zy/crm/manager/controller/OrderController.java b/src/main/java/com/zy/crm/manager/controller/OrderController.java
index e7fe05e..ce30429 100644
--- a/src/main/java/com/zy/crm/manager/controller/OrderController.java
+++ b/src/main/java/com/zy/crm/manager/controller/OrderController.java
@@ -43,6 +43,8 @@
     private PriOnline2Service priOnline2Service;
     @Autowired
     private PriQuoteService priQuoteService;
+    @Autowired
+    private FollowUpService followUpService;
 
     @RequestMapping(value = "/order/{id}/auth")
     @ManagerAuth
@@ -62,10 +64,23 @@
         if (param.get("status") != null) {
             status = Integer.parseInt(param.get("status").toString());
         }
+
+        Long director = null;
+        if (deptId==null && userId == null){
+            if (getRole().getId()==3){
+                userId = getUserId();
+            }else if (getRole().getId()==2){
+                deptId = getDeptId();
+                userId = null;
+            }
+            director = getUserId();
+        }
+
         return R.ok(orderService.getPage(new Page<>(curr, limit)
                 , getHostId()
                 , deptId == null ? null : String.valueOf(deptId)
-                , userId == null ? getUserId() : userId
+                , userId
+                , director
                 , condition
                 , status)
         );
@@ -110,7 +125,25 @@
         }
         Date now = new Date();
 
+        if (order.getStatus()!=0){
+            if (Cools.isEmpty(order.getMemoExperience())){
+                return R.error("璇疯緭鍏ュ績寰椾綋浼�");
+            }else {
+                FollowUp followUp = new FollowUp();
+                followUp.setWorkMsg(order.getMemoExperience());
+                followUp.setOrderId(order.getId());
+                followUp.setUserId(getUserId());
+                followUp.setCreateBy(getUserId());
+                followUp.setUpdateBy(getUserId());
+                followUp.setDirector(getUserId());
+                followUp.setDeptId(getDeptId());
+                followUp.setCreateTime(now);
+                followUp.setUpdateTime(now);
+                followUpService.insert(followUp);
+            }
+        }
 
+        order.setMemoExperience(null);
         order.setUpdateBy(getUserId());
         order.setUpdateTime(now);
         Order orderOld = orderService.selectById(order.getId());
@@ -132,6 +165,12 @@
     }
 
     public void updateDirector(Long orderId, User user , Date now){
+        User manager = new User();
+        try{
+            manager = userService.getDeptManager(getHostId(), user.getDeptId());        // 鑾峰彇閮ㄩ棬棰嗗
+        }catch (Exception e){
+            manager = user;
+        }
         try{
             List<Plan> plans = planService.selectList(new EntityWrapper<Plan>().eq("order_id", orderId));
             for (Plan plan:plans){
@@ -162,6 +201,11 @@
                                             dto.setUserId(priQuote.getUserId());
                                             dto.setUsername(priQuote.getUserId$());
                                             break;
+                                        case 2:
+                                            dto.setMsg(dto.getMsg()+" 鈥斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�� "+DateUtils.convert(now)+" 璺熻釜椤圭洰淇敼璐熻矗浜烘椂鍚屾淇敼璐熻矗浜虹粡鐞嗕负锛�"+manager.getNickname());
+                                            dto.setUserId(manager.getId());
+                                            dto.setUsername(manager.getNickname());
+                                            break;
                                         case 4:
                                             dto.setUserId(priQuote.getUserId());
                                             dto.setUsername(priQuote.getUserId$());
@@ -191,16 +235,11 @@
                         List<SettleDto> priOnline2Dtos = JSON.parseArray(priOnline2.getSettleMsg(), SettleDto.class);
                         List<SettleDto> priOnline2DtoList = new ArrayList<>();
                         for (SettleDto dto : priOnline2Dtos) {
-                            switch (dto.getStep()) {
-                                case 0:
-                                    dto.setMsg(dto.getMsg()+" 鈥斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�� "+DateUtils.convert(now)+" 璺熻釜椤圭洰淇敼璐熻矗浜轰负锛�"+priOnline2.getUser$());
-                                    break;
-                                case 3:
-                                    dto.setUserId(priOnline2.getUserId());
-                                    dto.setUsername(priOnline2.getUser$());
-                                    break;
-                                default:
-                                    break;
+                            if (dto.getStep() == 0) {
+                                dto.setMsg(dto.getMsg() + " 鈥斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�� " + DateUtils.convert(now) + " 璺熻釜椤圭洰淇敼璐熻矗浜轰负锛�" + priOnline2.getUser$());
+                            } else if (dto.getStep().equals(priOnline2.getSettleSize())) {
+                                dto.setUserId(priOnline2.getUserId());
+                                dto.setUsername(priOnline2.getUser$());
                             }
                             priOnline2DtoList.add(dto);
                         }
@@ -334,6 +373,7 @@
                 , getHostId()
                 , role.judgeLeader() ? String.valueOf(user.getDeptId()) : null
                 , user.getId()
+                , null
                 , condition
                 , 0);
         List<KeyValueVo> vos = new ArrayList<>();

--
Gitblit v1.9.1