中扬CRM客户关系管理系统
#
lsh
2024-04-15 13a34d2197b001799ef8f0f09e5b48af2add0926
src/main/java/com/zy/crm/manager/controller/WeeklyController.java
@@ -45,14 +45,28 @@
    private WeeklyFollService weeklyFollService;
    @Autowired
    private SmsCodeService smsCodeService;
    @Autowired
    private CstmrService cstmrService;
    String PZH = " ————————————————— ";
    Integer PBN = 6;
    Integer PBN = 3;
    @RequestMapping(value = "/weekly/{id}/auth")
    @ManagerAuth
    public R get(@PathVariable("id") String id) {
        return R.ok(weeklyService.selectById(String.valueOf(id)));
        Weekly weekly = weeklyService.selectById(String.valueOf(id));
        assert weekly != null;
        JSONObject resultObj = JSON.parseObject(JSON.toJSONString(weekly));
        if (!Cools.isEmpty(weekly.getForm())) {
            JSONObject formObj = JSON.parseObject(weekly.getForm());
            formObj.forEach(resultObj::putIfAbsent);
        }
        // 步骤条相关
        resultObj.put("step", weekly.getSettle().equals(weekly.getSettleSize()) ? 0 : weekly.getSettle() + 1);
        return R.ok().add(resultObj);
//        return R.ok(weeklyService.selectById(String.valueOf(id)));
    }
    @RequestMapping(value = "/weekly/list/auth")
@@ -103,11 +117,27 @@
    @RequestMapping(value = "/weekly/delete/auth")
    @ManagerAuth
    public R delete(@RequestParam(value="ids[]") Long[] ids){
         for (Long id : ids){
            weeklyService.deleteById(id);
        }
        return R.ok();
    public R delete(@RequestParam() Long[] ids){
         try{
             for (Long id : ids){
                 List<WeeklyDailyReality> weeklyDailyRealities = weeklyDailyRealityService.selectList(new EntityWrapper<WeeklyDailyReality>().eq("weekly_id", id));
                 for (WeeklyDailyReality weeklyDailyReality:weeklyDailyRealities){
                     weeklyDailyRealityService.deleteById(weeklyDailyReality);
                 }
                 List<WeeklyDailyPlan> weeklyDailyPlans = weeklyDailyPlanService.selectList(new EntityWrapper<WeeklyDailyPlan>().eq("weekly_id", id));
                 for (WeeklyDailyPlan weeklyDailyPlan:weeklyDailyPlans){
                     weeklyDailyPlanService.deleteById(weeklyDailyPlan);
                 }
                 List<WeeklyFoll> weeklyFolls = weeklyFollService.selectList(new EntityWrapper<WeeklyFoll>().eq("weekly_id", id));
                 for (WeeklyFoll weeklyFoll:weeklyFolls){
                     weeklyFollService.deleteById(weeklyFoll);
                 }
                 weeklyService.deleteById(id);
             }
         }catch (Exception e){
             throw new CoolException("删除失败,异常信息:"+e);
         }
         return R.ok();
    }
    @RequestMapping(value = "/weekly/export/auth")
@@ -220,16 +250,33 @@
            weekly.setWeeklyNowMonth(TimeCalculatorUtils.WeeklyNowMonthDay(weekly.getStartTime()));
            weekly.setWeeklyDayMonth(weekly.getWeeklyMonth()+"月第"+weekly.getWeeklyNowMonth()+"周");
            List<User> userList = new ArrayList<>();
            userList.add(getUser());
            User manager = new User();
            try {
                manager = userService.getDeptManager(getHostId(), getUser().getDeptId());        // 获取部门领导
            } catch (Exception e) {
                manager = getUser();
            }
            userList.add(manager);
            weekly.setDirector(manager.getId());
            // 获取业务员
            List<String> initNames = new ArrayList<>();
            initNames.add("创建了审批");
            initNames.add("业务员提交");
            initNames.add("部门领导审核");
            List<User> users = new ArrayList<>();
            users.add(getUser());
            users.add(getUser());
            users.add(manager);
//            users.add(getUser());
            weekly.setSettleMsg(JSON.toJSONString(SettleDto.InItFlowPathTwo(users, initNames, users.size())));
            weekly.setSettleSize(users.size());
            weekly.setSettleCurrent(1);
            if (users.size() > 1) {
                weekly.setDirector(users.get(1).getId());
            } else {
                weekly.setDirector(getUserId());
            }
            weekly.setSettleSize(users.size());
            List<Date> dates = TimeCalculatorUtils.WeeklyListDays(dateList);//获取周一到周日日期
@@ -268,7 +315,7 @@
            }
            try{
                insertWeeklyFoll(userList,weekly.getId());                // 自动添加跟进人
                insertWeeklyFoll(users,weekly.getId());                // 自动添加跟进人
            }catch (Exception e){
                log.error("周报添加跟进人异常,异常信息1:"+e);
            }
@@ -285,10 +332,13 @@
        for (User user:userList){
            try{
                // 自动添加跟进人
                WeeklyFoll weeklyFoll = new WeeklyFoll();
                weeklyFoll.setUserId(user.getId());
                weeklyFoll.setWeeklyId(weeklyId);
                weeklyFollService.insert(weeklyFoll);
                List<WeeklyFoll> weeklyFolls = weeklyFollService.selectList(new EntityWrapper<WeeklyFoll>().eq("weekly_id", weeklyId).eq("user_id", user.getId()));
                if (weeklyFolls.size()==0){
                    WeeklyFoll weeklyFoll = new WeeklyFoll();
                    weeklyFoll.setUserId(user.getId());
                    weeklyFoll.setWeeklyId(weeklyId);
                    weeklyFollService.insert(weeklyFoll);
                }
            }catch (Exception e){
                log.error("周报添加跟进人异常,异常信息2:"+e);
                continue;
@@ -323,23 +373,21 @@
            weekly.setUpdateBy(getUserId());
            weekly.setUpdateTime(now);
            List<User> userList = new ArrayList<>();
            userList.add(getUser());
            User manager = new User();
            try {
                manager = userService.getDeptManager(getHostId(), getUser().getDeptId());        // 获取部门领导
            } catch (Exception e) {
                manager = getUser();
            }
            userList.add(manager);
            weekly.setDirector(manager.getId());
            // 获取业务员
            List<String> initNames = new ArrayList<>();
            initNames.add("创建了审批");
            initNames.add("业务员提交");
            initNames.add("部门领导审核");
//            initNames.add("业务员确认");
            List<User> users = new ArrayList<>();
            users.add(getUser());
            users.add(getUser());
            users.add(manager);
//            users.add(getUser());
@@ -426,7 +474,7 @@
            }
            try{
                insertWeeklyFoll(userList,weekly.getId());                // 自动添加跟进人
                insertWeeklyFoll(users,weekly.getId());                // 自动添加跟进人
            }catch (Exception e){
                log.error("周报添加跟进人异常,异常信息1:"+e);
            }
@@ -451,8 +499,6 @@
                throw new CoolException("参数为空:WeeklyDailyPlanList");
            } else if (Cools.isEmpty(param.getWeeklyId())){
                throw new CoolException("参数为空:WeeklyId");
            } else if (Cools.isEmpty(param.getWeeklyType())){
                throw new CoolException("参数为空:WeeklyDailyPlanList");
            } else if (Cools.isEmpty(param.getType())){
                throw new CoolException("参数为空:Type");
            } else if (Cools.isEmpty(param.getWeeklyType())){
@@ -549,8 +595,6 @@
                throw new CoolException("参数为空:WeeklyDailyRealityList");
            } else if (Cools.isEmpty(param.getWeeklyId())){
                throw new CoolException("参数为空:WeeklyId");
            } else if (Cools.isEmpty(param.getWeeklyType())){
                throw new CoolException("参数为空:WeeklyDailyPlanList");
            } else if (Cools.isEmpty(param.getType())){
                throw new CoolException("参数为空:Type");
            } else if (Cools.isEmpty(param.getWeeklyType())){
@@ -754,4 +798,82 @@
        }
        return R.ok("回退成功");
    }
    @RequestMapping(value = "/weekly/from/add/phone/auth")
    @ManagerAuth(memo = "周计划/日计划/日实际")
    @Transactional
    public R formAddModifyPhone(@RequestBody WeeklyDomainParam param){
        try{
            if (Cools.isEmpty(param)){
                throw new CoolException("参数为空:WeeklyDomainParam");
            } else if (Cools.isEmpty(param.getWeeklyDailyRealityList()) || param.getWeeklyDailyRealityList().size()==0){
                throw new CoolException("参数为空:WeeklyDailyRealityList");
            } else if (Cools.isEmpty(param.getWeeklyId())){
                throw new CoolException("参数为空:WeeklyId");
//            } else if (Cools.isEmpty(param.getType())){
//                throw new CoolException("参数为空:Type");
//            } else if (Cools.isEmpty(param.getWeeklyType())){
//                throw new CoolException("参数为空:Weekly");
            }
            Date now = new Date();
            Weekly weekly = weeklyService.selectById(param.getWeeklyId());
            weekly.setUpdateBy(getUserId());
            weekly.setUpdateTime(now);
            List<Date> dateList = new ArrayList<>();//获取周一与周日日期
            dateList = TimeCalculatorUtils.WeeklyMondayAndSundayNow(weekly.getStartTime());
            List<Date> dates = TimeCalculatorUtils.WeeklyListDays(dateList);//获取周一到周日日期
            try{
                weeklyService.updateById(weekly);
            } catch (Exception e) {
                log.error("更新周计划主表失败,异常信息:"+e);
                throw new CoolException("更新周计划主表失败");
            }
            List<CstmrUtilsParam> cstmrUtilsParamList = new ArrayList<>();
            for (WeeklyDailyReality  weeklyDailyReality: param.getWeeklyDailyRealityList()){
                Cstmr cstmr = null;
                if (!Cools.isEmpty(weeklyDailyReality.getCstmrName())){
                    cstmr = cstmrService.selectByName(getHostId(), weeklyDailyReality.getCstmrName());
                    if(Cools.isEmpty(cstmr)){
                        throw new CoolException("未查询到甲方单位!");
                    }else {
                        weeklyDailyReality.setCstmrId(cstmr.getId());
                    }
                }
                weeklyDailyReality.setHostId(getHostId());
                weeklyDailyReality.setDeptId(getDeptId());               // 所属部门
                weeklyDailyReality.setUserId(getUserId());               // 所属人员
                weeklyDailyReality.setDirector(getUserId());               // 所属人员
                weeklyDailyReality.setCreateBy(getUserId());
                weeklyDailyReality.setCreateTime(now);
                weeklyDailyReality.setUpdateBy(getUserId());
                weeklyDailyReality.setUpdateTime(now);
                weeklyDailyReality.setStatus(weekly.getStatus());
                weeklyDailyReality.setDailyTime(dates.get(weeklyDailyReality.getWeeklyDay()-1));
                weeklyDailyReality.setWeeklyId(weekly.getId());
                try{
                    weeklyDailyRealityService.insert(weeklyDailyReality);
                } catch (Exception e){
                    log.error("新增日计划失败"+e);
                    throw new CoolException("新增日计划失败");
                }
            }
        } catch (Exception e){
            log.error("更新周计划异常,异常信息:"+e);
            throw new CoolException("更新周计划失败==>"+e);
        }
        return R.ok("更新成功");
    }
}