From cb3870820f63e6f7ba595d80dcbbfd3deae6fdf6 Mon Sep 17 00:00:00 2001
From: LSH
Date: 星期二, 07 十一月 2023 17:49:28 +0800
Subject: [PATCH] #

---
 src/main/java/com/zy/crm/manager/controller/OrderController.java |  171 ++++++++++++++++++++++++++++++++++++++++++++------------
 1 files changed, 133 insertions(+), 38 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 d8eebb7..ce30429 100644
--- a/src/main/java/com/zy/crm/manager/controller/OrderController.java
+++ b/src/main/java/com/zy/crm/manager/controller/OrderController.java
@@ -42,7 +42,9 @@
     @Autowired
     private PriOnline2Service priOnline2Service;
     @Autowired
-    private PriSalesService priSalesService;
+    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,57 +165,109 @@
     }
 
     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){
-                if (plan.getSettle$().equals("瀹℃壒閫氳繃")){
+                boolean signPlan = false;
+                List<PriOnline2> priOnline2s = priOnline2Service.selectList(new EntityWrapper<PriOnline2>().eq("item_id", plan.getId()));
+                if (!Cools.isEmpty(priOnline2s)){
+                    for (PriOnline2 priOnline2:priOnline2s){
+                        boolean signPriOnline2 = false;
+                        List<PriQuote> priQuotes = priQuoteService.selectList(new EntityWrapper<PriQuote>().eq("pri_online_id", priOnline2.getId()));
+                        if (!Cools.isEmpty(priQuotes)){
+                            for (PriQuote priQuote:priQuotes){
+                                if (priQuote.getSettle()>=4){
+                                    continue;
+                                }
+                                signPriOnline2 = true;
+                                priQuote.setUserId(user.getId());
+                                priQuote.setDeptId(user.getDeptId());
+                                priQuote.setHostId(user.getHostId());
+                                priQuote.setUpdateUserId(getUserId());
+                                priQuote.setUpdateTime(now);
+
+                                List<SettleDto> priQuoteDtos = JSON.parseArray(priQuote.getSettleMsg(), SettleDto.class);
+                                List<SettleDto> priQuoteDtoList = new ArrayList<>();
+                                for (SettleDto dto : priQuoteDtos) {
+                                    switch (dto.getStep()) {
+                                        case 1:
+                                            dto.setMsg(dto.getMsg()+" 鈥斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�� "+DateUtils.convert(now)+" 璺熻釜椤圭洰淇敼璐熻矗浜轰负锛�"+priQuote.getUserId$());
+                                            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$());
+                                            break;
+                                        default:
+                                            break;
+                                    }
+                                    priQuoteDtoList.add(dto);
+                                }
+                                priQuote.setSettleMsg(JSON.toJSONString(priQuoteDtoList));
+
+                                priQuoteService.updateById(priQuote);
+                            }
+                        }else {
+                            signPriOnline2=true;
+                        }
+                        if (!signPriOnline2){
+                            continue;
+                        }
+                        signPlan = true;
+
+                        priOnline2.setUserId(user.getId());
+                        priOnline2.setDeptId(user.getDeptId());
+                        priOnline2.setHostId(user.getHostId());
+                        priOnline2.setUpdateUserId(getUserId());
+                        priOnline2.setUpdateTime(now);
+                        List<SettleDto> priOnline2Dtos = JSON.parseArray(priOnline2.getSettleMsg(), SettleDto.class);
+                        List<SettleDto> priOnline2DtoList = new ArrayList<>();
+                        for (SettleDto dto : priOnline2Dtos) {
+                            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);
+                        }
+                        priOnline2.setSettleMsg(JSON.toJSONString(priOnline2DtoList));
+
+                        priOnline2Service.updateById(priOnline2);
+                    }
+
+                }else {
+                    signPlan=true;
+                }
+
+                if (!signPlan){
                     continue;
                 }
-                List<PriOnline2> priOnline2s = priOnline2Service.selectList(new EntityWrapper<PriOnline2>().eq("item_id", plan.getId()));
-                for (PriOnline2 priOnline2:priOnline2s){
-                    List<PriSales> priSalesList = priSalesService.selectList(new EntityWrapper<PriSales>().eq("pri_online2_id", priOnline2.getId()));
-                    for (PriSales priSales:priSalesList){
-                        priSales.setUserId(user.getId());
-                        priSales.setDeptId(user.getDeptId());
-                        priSales.setHostId(user.getHostId());
-                        priSalesService.updateById(priSales);
-                    }
-                    priOnline2.setUserId(user.getId());
-                    priOnline2.setDeptId(user.getDeptId());
-                    priOnline2.setHostId(user.getHostId());
 
-//                    List<SettleDto> priOnline2Dtos = JSON.parseArray(plan.getSettleMsg(), SettleDto.class);
-//                    List<SettleDto> priOnline2DtoList = new ArrayList<>();
-//                    for (SettleDto dto : priOnline2Dtos) {
-//                        switch (dto.getStep()) {
-//                            case 1:
-//                                dto.setMsg(dto.getMsg()+" 鈥斺�斺�斺�斺�斺�� "+DateUtils.convert(now)+" 璺熻釜椤圭洰淇敼璐熻矗浜轰负锛�"+plan.getUserId$());
-//                                dto.setUserId(plan.getUserId());
-//                                dto.setUsername(plan.getUserId$());
-//                                break;
-//                            case 4:
-//                                dto.setUserId(plan.getUserId());
-//                                dto.setUsername(plan.getUserId$());
-//                                break;
-//                            default:
-//                                break;
-//                        }
-//                        priOnline2DtoList.add(dto);
-//                    }
-//                    plan.setSettleMsg(JSON.toJSONString(priOnline2DtoList));
-
-                    priOnline2Service.updateById(priOnline2);
-                }
                 plan.setUserId(user.getId());
                 plan.setDeptId(user.getDeptId());
                 plan.setHostId(user.getHostId());
+                plan.setUpdateBy(getUserId());
+                plan.setUpdateTime(now);
 
                 List<SettleDto> planDtos = JSON.parseArray(plan.getSettleMsg(), SettleDto.class);
                 List<SettleDto> planDtoList = new ArrayList<>();
                 for (SettleDto dto : planDtos) {
                     switch (dto.getStep()) {
                         case 1:
-                            dto.setMsg(dto.getMsg()+" 鈥斺�斺�斺�斺�斺�� "+DateUtils.convert(now)+" 璺熻釜椤圭洰淇敼璐熻矗浜轰负锛�"+plan.getUserId$());
+                            dto.setMsg(dto.getMsg()+" 鈥斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�� "+DateUtils.convert(now)+" 璺熻釜椤圭洰淇敼璐熻矗浜轰负锛�"+plan.getUserId$());
                             dto.setUserId(plan.getUserId());
                             dto.setUsername(plan.getUserId$());
                             break;
@@ -216,6 +301,15 @@
             orderService.deleteById(id);
          }
         return R.ok();
+    }
+
+    @PostMapping(value = "/order/business/list/auth")
+    @ManagerAuth
+    public R orderBusiness(@RequestParam Long orderId){
+        List<KeyValueVo> vos = new ArrayList<>();
+        vos.add(new KeyValueVo("鍑哄樊鐢宠", 1L));
+        vos.add(new KeyValueVo("鍏跺畠鍑哄樊", 2L));
+        return R.ok().add(vos);
     }
 
     @RequestMapping(value = "/orderQuery/auth")
@@ -279,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