中扬CRM客户关系管理系统
LSH
2023-10-10 80ff525349aca13de516a8d974a98aab2d628005
#回退流程相关
5个文件已修改
185 ■■■■■ 已修改文件
src/main/java/com/zy/crm/manager/controller/PlanController.java 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/crm/manager/controller/PriOnline2Controller.java 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/crm/manager/controller/PriQuoteController.java 171 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/webapp/views/plan/plan.html 4 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/webapp/views/priQuote/priQuote.html 6 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/crm/manager/controller/PlanController.java
@@ -598,6 +598,8 @@
        plan.setStep(1);
        plan.setSettle(1);
        plan.setSettleMsg(JSON.toJSONString(planDtoList));
        plan.setUpdateBy(getUserId());
        plan.setUpdateTime(now);
        planService.updateById(plan);
        return R.ok("回退成功");
    }
src/main/java/com/zy/crm/manager/controller/PriOnline2Controller.java
@@ -469,6 +469,8 @@
        }
        priOnline2.setStatus(0);
        priOnline2.setSettle(0);
        priOnline2.setUpdateUserId(getUserId());
        priOnline2.setUpdateTime(now);
        priOnline2.setSettleMsg(JSON.toJSONString(planDtoList));
        priOnline2Service.updateById(priOnline2);
src/main/java/com/zy/crm/manager/controller/PriQuoteController.java
@@ -55,6 +55,8 @@
    @Autowired
    private PlanTypeService planTypeService;
    String PZH=" ———————————————————————————————————————————————————————————————————————————————— ";
    @RequestMapping(value = "/priQuote/{id}/auth")
    @ManagerAuth
    public R get(@PathVariable("id") String id) {
@@ -474,7 +476,11 @@
                                break;
                            case 2:
                                dto.setCurr(Boolean.TRUE);
                                dto.setMsg("部门经理" + manager.getNickname() + "审批通过");
                                if (Cools.isEmpty(dto.getMsg())){
                                    dto.setMsg("部门经理" + manager.getNickname() + "审批通过");
                                }else {
                                    dto.setMsg(dto.getMsg()+PZH+DateUtils.convert(new Date())+" "+"部门经理" + manager.getNickname() + "审批通过");
                                }
                                dto.setTime(DateUtils.convert(new Date()));
                                break;
                            default:
@@ -518,7 +524,11 @@
                            break;
                        case 3:
                            dto.setCurr(Boolean.TRUE);
                            dto.setMsg("总裁办" + planLeader.getNickname() + "审批通过");
                            if (Cools.isEmpty(dto.getMsg())){
                                dto.setMsg("总裁办" + planLeader.getNickname() + "审批通过");
                            }else {
                                dto.setMsg(dto.getMsg()+PZH+DateUtils.convert(new Date())+" "+"总裁办" + planLeader.getNickname() + "审批通过");
                            }
                            dto.setTime(DateUtils.convert(new Date()));
                            break;
                        default:
@@ -551,7 +561,11 @@
                            break;
                        case 4:
                            dto.setCurr(Boolean.TRUE);
                            dto.setMsg("业务员" + salesman0.getNickname() + "审批通过");
                            if (Cools.isEmpty(dto.getMsg())){
                                dto.setMsg("业务员" + salesman0.getNickname() + "审批通过");
                            }else {
                                dto.setMsg(dto.getMsg()+PZH+DateUtils.convert(new Date())+" "+"业务员" + salesman0.getNickname() + "审批通过");
                            }
                            dto.setTime(DateUtils.convert(new Date()));
                            break;
                        default:
@@ -578,119 +592,44 @@
    @ManagerAuth
    public R refusePriQuote(@RequestParam Long planId,
                              @RequestParam(required = false) Long plannerId){
//        PriQuote priQuote = priQuoteService.selectById(planId);
//        assert priQuote != null;
//
//        switch (priQuote.getSettle()) {
//            case 1:
//                // 本部门经理审核
//                User user = userService.selectById(priQuote.getUserId());
//                User manager = userService.getDeptManager(getHostId(), user.getDeptId());
//                if (manager.getId().equals(getUserId())) {
//
//                    // 修改 settle 步骤数据
//                    List<SettleDto> list = JSON.parseArray(priQuote.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;
//                            default:
//                                break;
//                        }
//                    }
//                    priQuote.setSettleMsg(JSON.toJSONString(list));
//
//                    // 修改规划单状态
//                    priQuote.setSettle(2);  // 总裁办待审
//                    priQuote.setUpdateUserId(getUserId());
//                    priQuote.setUpdateTime(new Date());
//
//                    if (!priQuoteService.updateById(priQuote)) {
//                        throw new CoolException("审核失败,请联系管理员");
//                    }
//
//                } else {
//                    return R.error("抱歉,您没有审核的权限");
//                }
//                break;
//            case 2:
//                ProcessPermissions processPermissions = processPermissionsService.selectOne(new EntityWrapper<ProcessPermissions>().eq("process_memo", 2).eq("process", "3-1"));//2:报价流程
//                User planLeader = userService.selectById(processPermissions.getUserId());       // 获取报价流程节点3确认人
//                if (Cools.isEmpty(planLeader)) {
//                    throw new CoolException("未查找到报价流程节点3-1确认人,请联系在审批权限添加确认人!");
//                }
//                if (!getUserId().equals(planLeader.getId())) {
//                    return R.error("抱歉,您没有审核的权限");
//                }
//                User planner = userService.selectById(plannerId);
//                // 修改 settle 步骤数据
//                List<SettleDto> list = JSON.parseArray(priQuote.getSettleMsg(), SettleDto.class);
//                for (SettleDto dto : list) {
//                    switch (dto.getStep()) {
//                        case 2:
//                            dto.setCurr(Boolean.FALSE);
//                            break;
//                        case 3:
//                            dto.setCurr(Boolean.TRUE);
//                            dto.setMsg("总裁办" + planLeader.getNickname() + "审批通过");
//                            dto.setTime(DateUtils.convert(new Date()));
//                            break;
//                        default:
//                            break;
//                    }
//                }
//                priQuote.setSettleMsg(JSON.toJSONString(list));
//                // 修改规划单状态
//                priQuote.setSettle(3);  // 规划员待审
//                priQuote.setUpdateUserId(getUserId());
//                priQuote.setUpdateTime(new Date());
//
//                if (!priQuoteService.updateById(priQuote)) {
//                    throw new CoolException("审核失败,请联系管理员");
//                }
//                break;
//            case 3:
//                // 业务员
//                User salesman0 = userService.selectById(priQuote.getUserId());
//                if (!getUserId().equals(salesman0.getId())) {
//                    return R.error("抱歉,您没有审核的权限");
//                }
//                // 修改 settle 步骤数据
//                List<SettleDto> list1 = JSON.parseArray(priQuote.getSettleMsg(), SettleDto.class);
//                for (SettleDto dto : list1) {
//                    switch (dto.getStep()) {
//                        case 3:
//                            dto.setCurr(Boolean.TRUE);
//                            break;
//                        case 4:
//                            dto.setCurr(Boolean.TRUE);
//                            dto.setMsg("业务员" + salesman0.getNickname() + "审批通过");
//                            dto.setTime(DateUtils.convert(new Date()));
//                            break;
//                        default:
//                            break;
//                    }
//                }
//                priQuote.setSettleMsg(JSON.toJSONString(list1));
//                // 修改规划单状态
//                priQuote.setSettle(4);  // 审批通过
//                priQuote.setUpdateUserId(getUserId());
//                priQuote.setUpdateTime(new Date());
//
//                if (!priQuoteService.updateById(priQuote)) {
//                    throw new CoolException("审核失败,请联系管理员");
//                }
//                break;
//            default:
//                return R.error();
//        }
        return R.ok("审批成功");
        PriQuote priQuote = priQuoteService.selectById(planId);
        Date now = new Date();
        Long memberId = priQuote.getMemberId();
        User member = userService.selectById(memberId);
        if (!member.getId().equals(getUserId())){
            return R.error("抱歉,您没有审核的权限");
        }
        List<SettleDto> planDtos = JSON.parseArray(priQuote.getSettleMsg(), SettleDto.class);
        List<SettleDto> planDtoList = new ArrayList<>();
        boolean sign = true;
        for (SettleDto dto : planDtos) {
            if (dto.getStep().equals(2)){
                priQuote.setMemberId(dto.getUserId());
            }
            if (sign && dto.getUserId().equals(memberId) && priQuote.getSettle()+1==dto.getStep()){
                if (Cools.isEmpty(dto.getMsg())){
                    dto.setMsg(DateUtils.convert(now)+" "+member.getNickname()+"回退审批");
                }else {
                    dto.setMsg(dto.getMsg()+PZH+DateUtils.convert(now)+" "+member.getNickname()+"回退审批");
                }
                sign = false;
            }
            if (sign){
                dto.setMsg(dto.getMsg()+PZH+DateUtils.convert(now)+" "+member.getNickname()+"回退审批");
            }
            planDtoList.add(dto);
        }
        priQuote.setSettle(1);
        priQuote.setUpdateUserId(getUserId());
        priQuote.setUpdateTime(now);
        priQuote.setSettleMsg(JSON.toJSONString(planDtoList));
        priQuoteService.updateById(priQuote);
        return R.ok("回退成功");
    }
}
src/main/webapp/views/plan/plan.html
@@ -135,7 +135,9 @@
<script type="text/html" id="operate">
    {{# if (d.settle == 1 || d.settle == 2 || d.settle == 3) { }}
        <a class="layui-btn layui-btn-xs btn-edit" lay-event="approval">审批</a>
        <a class="layui-btn layui-btn-xs btn-edit" lay-event="approvalEnd">回退审批</a>
    {{# } }}
    {{# if (d.settle == 2 || d.settle == 3) { }}
    <a class="layui-btn layui-btn-xs btn-edit" lay-event="approvalEnd">回退审批</a>
    {{# } }}
    <a class="layui-btn layui-btn-primary layui-btn-xs btn-edit" lay-event="uploadLink">附件</a>
    {{# if (d.settle == 1) { }}
src/main/webapp/views/priQuote/priQuote.html
@@ -101,10 +101,10 @@
<script type="text/html" id="operate">
    {{# if (d.settle == 1 || d.settle == 2 || d.settle == 3) { }}
    <a class="layui-btn layui-btn-xs btn-edit" lay-event="approval">审批</a>
        <a class="layui-btn layui-btn-xs btn-edit" lay-event="approval">审批</a>
    {{# } }}
    {{# if (d.settle == 1 || d.settle == 2 || d.settle == 3) { }}
<!--    <a class="layui-btn layui-btn-xs btn-edit" lay-event="refuse">审批拒绝</a>-->
    {{# if (d.settle == 2 || d.settle == 3) { }}
        <a class="layui-btn layui-btn-xs btn-edit" lay-event="refuse">回退审批</a>
    {{# } }}
    <a class="layui-btn layui-btn-xs btn-edit" lay-event="quote">报价</a>
    <a class="layui-btn layui-btn-primary layui-btn-xs btn-edit" lay-event="edit">编辑</a>