中扬CRM客户关系管理系统
LSH
2024-03-27 92459e3e326488acae77e068c37eb4b96eae5ebf
src/main/java/com/zy/crm/manager/controller/OrderController.java
@@ -65,6 +65,7 @@
            status = Integer.parseInt(param.get("status").toString());
        }
        Long director = null;
        if (deptId==null && userId == null){
            if (getRole().getId()==3){
                userId = getUserId();
@@ -72,12 +73,14 @@
                deptId = getDeptId();
                userId = null;
            }
            director = getUserId();
        }
        return R.ok(orderService.getPage(new Page<>(curr, limit)
                , getHostId()
                , deptId == null ? null : String.valueOf(deptId)
                , userId
                , director
                , condition
                , status)
        );
@@ -138,6 +141,10 @@
                followUp.setUpdateTime(now);
                followUpService.insert(followUp);
            }
        }else {
            if (Cools.isEmpty(order.getMemoExperience())) {
                order.setMemoExperience(null);
            }
        }
        order.setMemoExperience(null);
@@ -162,6 +169,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){
@@ -186,18 +199,17 @@
                                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;
                                    if (priQuoteDtos.indexOf(dto) == 0) {
                                        dto.setMsg(dto.getMsg() + " ———————————————————————————————————————————————————————————————————————————————— " + DateUtils.convert(now) + " 跟踪项目修改负责人为:" + priQuote.getUserId$());
                                        dto.setUserId(priQuote.getUserId());
                                        dto.setUsername(priQuote.getUserId$());
                                    } else if (dto.getStep() == 2) {
                                        dto.setMsg(dto.getMsg() + " ———————————————————————————————————————————————————————————————————————————————— " + DateUtils.convert(now) + " 跟踪项目修改负责人时同步修改负责人经理为:" + manager.getNickname());
                                        dto.setUserId(manager.getId());
                                        dto.setUsername(manager.getNickname());
                                    } else if (dto.getStep() == 4) {
                                        dto.setUserId(priQuote.getUserId());
                                        dto.setUsername(priQuote.getUserId$());
                                    }
                                    priQuoteDtoList.add(dto);
                                }
@@ -221,16 +233,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 2:
                                    dto.setUserId(priOnline2.getUserId());
                                    dto.setUsername(priOnline2.getUser$());
                                    break;
                                default:
                                    break;
                            if (priOnline2Dtos.indexOf(dto) == 0) {
                                dto.setMsg(dto.getMsg() + " ———————————————————————————————————————————————————————————————————————————————— " + DateUtils.convert(now) + " 跟踪项目修改负责人为:" + priOnline2.getUser$());
                            } else if (priOnline2Dtos.indexOf(dto) == priOnline2Dtos.size()-1) {
                                dto.setUserId(priOnline2.getUserId());
                                dto.setUsername(priOnline2.getUser$());
                            }
                            priOnline2DtoList.add(dto);
                        }
@@ -256,18 +263,13 @@
                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.setUserId(plan.getUserId());
                            dto.setUsername(plan.getUserId$());
                            break;
                        case 4:
                            dto.setUserId(plan.getUserId());
                            dto.setUsername(plan.getUserId$());
                            break;
                        default:
                            break;
                    if (planDtos.indexOf(dto) == 0) {
                        dto.setMsg(dto.getMsg() + " ——————————————— " + DateUtils.convert(now) + " 跟踪项目修改负责人为:" + plan.getUserId$());
                        dto.setUserId(plan.getUserId());
                        dto.setUsername(plan.getUserId$());
                    } else if (dto.getStep().equals(plan.getSettleSize())) {
                        dto.setUserId(plan.getUserId());
                        dto.setUsername(plan.getUserId$());
                    }
                    planDtoList.add(dto);
                }
@@ -327,7 +329,7 @@
        wrapper.like("name", condition);
        Long id = getRole().getId();
        if (id.equals(1L)) {
            wrapper.eq("host_id", 1);
            wrapper.eq("host_id", getHostId());
        } else if (id.equals(2L)) {
            wrapper.eq("dept_id", getDeptId());
        } else {
@@ -364,6 +366,7 @@
                , getHostId()
                , role.judgeLeader() ? String.valueOf(user.getDeptId()) : null
                , user.getId()
                , null
                , condition
                , 0);
        List<KeyValueVo> vos = new ArrayList<>();
@@ -377,7 +380,7 @@
     * excel导入
     */
    @PostMapping(value = "/order/excel/import/auth")
    @ManagerAuth(memo = "甲方单位Excel导入")
    @ManagerAuth(memo = "客户信息Excel导入")
//    @Transactional
    public R orderExcelImport(MultipartFile file) throws IOException {
        InputStream inStream = file.getInputStream();