中扬CRM客户关系管理系统
#
LSH
2023-09-14 3fc935a8b53708a4402e24bf4086741f684bbd35
#
6个文件已修改
185 ■■■■ 已修改文件
src/main/java/com/zy/crm/common/model/SettleDto.java 20 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/crm/manager/controller/CstmrController.java 3 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/crm/manager/controller/PlanController.java 144 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/crm/manager/entity/Plan.java 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/webapp/views/plan/plan.html 12 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/webapp/views/plan/plan_more.html 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/crm/common/model/SettleDto.java
@@ -30,7 +30,7 @@
    private Boolean curr;
    public static List<SettleDto> init(Plan plan, User manager) {
    public static List<SettleDto> init(Plan plan, User manager,User planLeader) {
        List<SettleDto> list = new ArrayList<>();
        for (int i = 1; i < 6; i++) {
            SettleDto dto = new SettleDto();
@@ -45,21 +45,23 @@
                    dto.setCurr(Boolean.TRUE);
                    list.add(dto);
                    break;
//                case 2:
//                    dto.setTitle("组长审核");
//                    dto.setUserId(manager.getId());
//                    dto.setUsername(manager.getNickname());
//                    list.add(dto);
//                    break;
                case 2:
                    dto.setTitle("组长审核");
                    dto.setUserId(manager.getId());
                    dto.setUsername(manager.getNickname());
                    dto.setTitle("售前审核");
                    dto.setUserId(planLeader.getId());
                    dto.setUsername(planLeader.getNickname());
                    list.add(dto);
                    break;
                case 3:
                    dto.setTitle("售前审核");
                    list.add(dto);
                    break;
                case 4:
                    dto.setTitle("规划员审核");
                    list.add(dto);
                    break;
                case 5:
                case 4:
                    dto.setTitle("审批通过");
                    dto.setUserId(plan.getUserId());
                    dto.setUsername(plan.getUserId$());
src/main/java/com/zy/crm/manager/controller/CstmrController.java
@@ -119,6 +119,9 @@
        if (cstmrService.selectByUuid(hostId, cstmr.getUuid()) != null) {
            throw new CoolException("客户已存在");
        }
        if (cstmrService.selectByName(hostId, cstmr.getName()) != null) {
            throw new CoolException("客户已存在");
        }
        Cstmr cstmr1 = cstmrService.selectByName(hostId, cstmr.getName());
        if (cstmr1!=null){
            throw new CoolException("该客户信息已存在,业务员是:"+cstmr1.getDirector$());
src/main/java/com/zy/crm/manager/controller/PlanController.java
@@ -78,7 +78,7 @@
        }
        resultObj.put("formHtml", planType.getHtml());
        // 步骤条相关
        resultObj.put("step", plan.getSettle() == 5 ? 0 : plan.getSettle() + 1);
        resultObj.put("step", plan.getSettle() == 4 ? 0 : plan.getSettle() + 1);
        return R.ok().add(resultObj);
    }
@@ -140,7 +140,9 @@
        plan.setForm(JSON.toJSONString(param));     // 自定义表单内容
        plan.setSettle(1);  // 1.开始
        User manager = userService.getDeptManager(hostId, getUser().getDeptId());        // 获取部门领导
        plan.setSettleMsg(JSON.toJSONString(SettleDto.init(plan, manager)));
        PlanType planType = planTypeService.selectById(plan.getPlanType());
        User planLeader = planTypeService.findPlanLeader(planType);
        plan.setSettleMsg(JSON.toJSONString(SettleDto.init(plan, manager, planLeader)));
        if (!planService.insert(plan)) {
            throw new CoolException("保持失败,请重试");
@@ -329,63 +331,63 @@
        assert plan != null;
        switch (plan.getSettle()) {
//            case 1:
//                // 本组组长审核
//                User user = userService.selectById(plan.getUserId());
//                User manager = userService.getDeptManager(getHostId(), user.getDeptId());
//                if (manager.getId().equals(getUserId())) {
//
//                    // 查找规划组长
//                    PlanType planType = planTypeService.selectById(plan.getPlanType());
//                    User planLeader = planTypeService.findPlanLeader(planType);
//                    if (Cools.isEmpty(planLeader)) {
//                        throw new CoolException("未查找到规划组长,请联系管理员");
//                    }
//
//                    // 修改 settle 步骤数据
//                    List<SettleDto> list = JSON.parseArray(plan.getSettleMsg(), SettleDto.class);
//                    for (SettleDto dto : list) {
//                        switch (dto.getStep()) {
//                            case 1:
//                                dto.setCurr(Boolean.FALSE);
//                                break;
//                            case 2:
//                                dto.setCurr(Boolean.TRUE);
//                                dto.setMsg("本组组长" + manager.getNickname() + "审批通过");
//                                dto.setTime(DateUtils.convert(new Date()));
//                                break;
//                            case 3:
//                                dto.setUserId(planLeader.getId());
//                                dto.setUsername(planLeader.getNickname());
//                                break;
//                            default:
//                                break;
//                        }
//                    }
//                    plan.setSettleMsg(JSON.toJSONString(list));
//
//                    // 修改规划单状态
//                    plan.setSettle(2);  // 规划组长待审
//                    plan.setUpdateBy(getUserId());
//                    plan.setUpdateTime(new Date());
//
//                    if (!planService.updateById(plan)) {
//                        throw new CoolException("审核失败,请联系管理员");
//                    }
//
//                    // 添加规划组长跟进人
//                    PlanFoll planFoll = new PlanFoll();
//                    planFoll.setPlanId(plan.getId());
//                    planFoll.setUserId(planLeader.getId());
//                    if (!planFollService.insert(planFoll)) {
//                        throw new CoolException("审核失败,请联系管理员");
//                    }
//
//                } else {
//                    return R.error("抱歉,您没有审核的权限");
//                }
//                break;
            case 1:
                // 本组组长审核
                User user = userService.selectById(plan.getUserId());
                User manager = userService.getDeptManager(getHostId(), user.getDeptId());
                if (manager.getId().equals(getUserId())) {
                    // 查找规划组长
                    PlanType planType = planTypeService.selectById(plan.getPlanType());
                    User planLeader = planTypeService.findPlanLeader(planType);
                    if (Cools.isEmpty(planLeader)) {
                        throw new CoolException("未查找到规划组长,请联系管理员");
                    }
                    // 修改 settle 步骤数据
                    List<SettleDto> list = JSON.parseArray(plan.getSettleMsg(), SettleDto.class);
                    for (SettleDto dto : list) {
                        switch (dto.getStep()) {
                            case 1:
                                dto.setCurr(Boolean.FALSE);
                                break;
                            case 2:
                                dto.setCurr(Boolean.TRUE);
                                dto.setMsg("本组组长" + manager.getNickname() + "审批通过");
                                dto.setTime(DateUtils.convert(new Date()));
                                break;
                            case 3:
                                dto.setUserId(planLeader.getId());
                                dto.setUsername(planLeader.getNickname());
                                break;
                            default:
                                break;
                        }
                    }
                    plan.setSettleMsg(JSON.toJSONString(list));
                    // 修改规划单状态
                    plan.setSettle(2);  // 规划组长待审
                    plan.setUpdateBy(getUserId());
                    plan.setUpdateTime(new Date());
                    if (!planService.updateById(plan)) {
                        throw new CoolException("审核失败,请联系管理员");
                    }
                    // 添加规划组长跟进人
                    PlanFoll planFoll = new PlanFoll();
                    planFoll.setPlanId(plan.getId());
                    planFoll.setUserId(planLeader.getId());
                    if (!planFollService.insert(planFoll)) {
                        throw new CoolException("审核失败,请联系管理员");
                    }
                } else {
                    return R.error("抱歉,您没有审核的权限");
                }
                break;
            case 2:
                // 查找规划组长
                PlanType planType = planTypeService.selectById(plan.getPlanType());
                User planLeader = planTypeService.findPlanLeader(planType);
@@ -406,15 +408,15 @@
                List<SettleDto> list = JSON.parseArray(plan.getSettleMsg(), SettleDto.class);
                for (SettleDto dto : list) {
                    switch (dto.getStep()) {
                        case 2:
                        case 1:
                            dto.setCurr(Boolean.FALSE);
                            break;
                        case 3:
                        case 2:
                            dto.setCurr(Boolean.TRUE);
                            dto.setMsg("售前组长" + planLeader.getNickname() + "审批通过");
                            dto.setTime(DateUtils.convert(new Date()));
                            break;
                        case 4:
                        case 3:
                            dto.setUserId(planner.getId());
                            dto.setUsername(planner.getNickname());
                            break;
@@ -424,7 +426,7 @@
                }
                plan.setSettleMsg(JSON.toJSONString(list));
                // 修改规划单状态
                plan.setSettle(3);  // 规划员待审
                plan.setSettle(2);  // 规划员待审
                plan.setPlanner(planner.getId());
                plan.setUpdateBy(getUserId());
                plan.setUpdateTime(new Date());
@@ -441,7 +443,7 @@
                    throw new CoolException("审核失败,请联系管理员");
                }
                break;
            case 3:
            case 2:
                User plannerUser = userService.selectById(plan.getPlanner());
                if (Cools.isEmpty(plannerUser)) {
                    return R.error("未找到规划员");
@@ -455,15 +457,15 @@
                List<SettleDto> list0 = JSON.parseArray(plan.getSettleMsg(), SettleDto.class);
                for (SettleDto dto : list0) {
                    switch (dto.getStep()) {
                        case 3:
                        case 2:
                            dto.setCurr(Boolean.FALSE);
                            break;
                        case 4:
                        case 3:
                            dto.setCurr(Boolean.TRUE);
                            dto.setMsg("规划员" + plannerUser.getNickname() + "审批通过");
                            dto.setTime(DateUtils.convert(new Date()));
                            break;
                        case 5:
                        case 4:
                            dto.setUserId(salesman.getId());
                            dto.setUsername(salesman.getNickname());
                            break;
@@ -473,7 +475,7 @@
                }
                plan.setSettleMsg(JSON.toJSONString(list0));
                // 修改规划单状态
                plan.setSettle(4);  // 审批通过
                plan.setSettle(3);  // 审批通过
                plan.setUpdateBy(getUserId());
                plan.setUpdateTime(new Date());
@@ -481,7 +483,7 @@
                    throw new CoolException("审核失败,请联系管理员");
                }
                break;
            case 4:
            case 3:
                // 业务员
                User salesman0 = userService.selectById(plan.getUserId());
                if (!getUserId().equals(salesman0.getId())) {
@@ -491,10 +493,10 @@
                List<SettleDto> list1 = JSON.parseArray(plan.getSettleMsg(), SettleDto.class);
                for (SettleDto dto : list1) {
                    switch (dto.getStep()) {
                        case 4:
                        case 3:
                            dto.setCurr(Boolean.TRUE);
                            break;
                        case 5:
                        case 4:
                            dto.setCurr(Boolean.TRUE);
                            dto.setMsg("业务员" + salesman0.getNickname() + "审批通过");
                            dto.setTime(DateUtils.convert(new Date()));
@@ -505,7 +507,7 @@
                }
                plan.setSettleMsg(JSON.toJSONString(list1));
                // 修改规划单状态
                plan.setSettle(5);  // 审批通过
                plan.setSettle(4);  // 审批通过
                plan.setUpdateBy(getUserId());
                plan.setUpdateTime(new Date());
src/main/java/com/zy/crm/manager/entity/Plan.java
@@ -360,9 +360,9 @@
    public String getSettle$(){
        if (null == this.settle){ return null; }
        switch (this.settle){
//            case 1:
//                return "等待组长审核";
            case 1:
                return "等待组长审核";
            case 2:
                return "等待售前分配规划员";
            case 3:
                return "等待规划员提交";
src/main/webapp/views/plan/plan.html
@@ -273,12 +273,12 @@
            <blockquote class="layui-elem-quote" style="margin-left: 30px;padding: 8px 15px;">售前规划</blockquote>
            <div class="layui layui-row">
                <div class="layui-col-md6">
                    <div class="layui-form-item">
                        <label class="layui-form-label  layui-form-required">规划员: </label>
                        <div class="layui-input-block">
                            <input class="layui-input" name="planner$" placeholder="请输入规划员"  lay-verify="required">
                        </div>
                    </div>
<!--                    <div class="layui-form-item">-->
<!--                        <label class="layui-form-label">规划员: </label>-->
<!--                        <div class="layui-input-block">-->
<!--                            <input class="layui-input" name="planner$" placeholder="请输入规划员">-->
<!--                        </div>-->
<!--                    </div>-->
                    <div class="layui-form-item">
                        <label class="layui-form-label">更改方案: </label>
                        <div class="layui-input-block">
src/main/webapp/views/plan/plan_more.html
@@ -131,7 +131,7 @@
                            <div class="layui-inline layui-col-md6">
                                <label class="layui-form-label">规划员:</label>
                                <div class="layui-input-block">
                                    <input name="planner" class="layui-input" disabled />
                                    <input name="planner$" class="layui-input" disabled />
                                </div>
                            </div>
                            <div class="layui-inline layui-col-md6">