From 1e9fe530b299f9bf1004a983be6fea266b4e8ddc Mon Sep 17 00:00:00 2001
From: LSH
Date: 星期五, 03 十一月 2023 15:02:46 +0800
Subject: [PATCH] #

---
 src/main/java/com/zy/crm/manager/controller/OrderController.java |  165 ++++++++++++++++++++++++++++++++++++++++++------------
 1 files changed, 127 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..5b2bebd 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());
@@ -135,54 +168,100 @@
         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 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) {
+                            switch (dto.getStep()) {
+                                case 0:
+                                    dto.setMsg(dto.getMsg()+" 鈥斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�� "+DateUtils.convert(now)+" 璺熻釜椤圭洰淇敼璐熻矗浜轰负锛�"+priOnline2.getUser$());
+                                    break;
+                                case 2:
+                                    dto.setUserId(priOnline2.getUserId());
+                                    dto.setUsername(priOnline2.getUser$());
+                                    break;
+                                default:
+                                    break;
+                            }
+                            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 +295,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 +367,7 @@
                 , getHostId()
                 , role.judgeLeader() ? String.valueOf(user.getDeptId()) : null
                 , user.getId()
+                , null
                 , condition
                 , 0);
         List<KeyValueVo> vos = new ArrayList<>();

--
Gitblit v1.9.1