中扬CRM客户关系管理系统
LSH
2023-10-09 26ebf71529e5ee4f70c4ad3ed52ea5e59c1b46e5
#核价相关
6个文件已修改
112 ■■■■ 已修改文件
src/main/java/com/zy/crm/manager/controller/PlanController.java 14 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/crm/manager/controller/PriOnline2Controller.java 41 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/crm/manager/controller/PriQuoteController.java 36 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/crm/manager/entity/PriQuote.java 15 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/webapp/static/js/priQuote/priQuote.js 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/webapp/views/priQuote/priQuote.html 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/crm/manager/controller/PlanController.java
@@ -142,7 +142,12 @@
        plan.setForm(JSON.toJSONString(param));     // 自定义表单内容
        plan.setSettle(1);  // 1.开始
        User manager = userService.getDeptManager(hostId, getUser().getDeptId());        // 获取部门领导
        User manager = new User();
        try{
            manager = userService.getDeptManager(getHostId(), getUser().getDeptId());        // 获取部门领导
        }catch (Exception e){
            manager = getUser();
        }
        PlanType planType = planTypeService.selectById(plan.getPlanType());
        User planLeader = planTypeService.findPlanLeader(planType);
        plan.setSettleMsg(JSON.toJSONString(SettleDto.init(plan, manager, planLeader)));
@@ -337,7 +342,12 @@
//            case 1:
//                // 本组组长审核
//                User user = userService.selectById(plan.getUserId());
//                User manager = userService.getDeptManager(getHostId(), user.getDeptId());
//                User manager = new User();
//                try{
//                    manager = userService.getDeptManager(getHostId(), getUser().getDeptId());        // 获取部门领导
//                }catch (Exception e){
//                    manager = user;
//                }
//                if (manager.getId().equals(getUserId())) {
//
//                    // 查找规划组长
src/main/java/com/zy/crm/manager/controller/PriOnline2Controller.java
@@ -45,6 +45,9 @@
    private PriSalesService priSalesService;
    @Autowired
    private PriQuoteService priQuoteService;
    @Autowired
    private CstmrService cstmrService;
    @Autowired
@@ -91,12 +94,15 @@
    }
    private <T> void convert(Map<String, Object> map, EntityWrapper<T> wrapper){
        Long deptId = getDeptId();
        boolean signUserId = false;
        boolean signDeptId = false;
        boolean signHostId = false;
        for (Map.Entry<String, Object> entry : map.entrySet()){
            if (entry.getKey().equals("dept_id")){
                signDeptId = true;
                if (String.valueOf(entry.getValue()).equals("19")){
                    signHostId = true;
                }
            }
        }
        for (Map.Entry<String, Object> entry : map.entrySet()){
@@ -118,6 +124,9 @@
        }
        if (!signUserId && !signDeptId){
            wrapper.eq("user_id", getUserId());
        }
        if (signHostId){
            wrapper.or().eq("host_id",1);
        }
    }
@@ -318,10 +327,14 @@
                return R.error();
            }
            for (Long id : ids){
                int priSales = priSalesService.selectCount(new EntityWrapper<PriSales>().eq("pri_online2_id", id));
                if (priSales!=0){
                    return R.error("存在关联的产品费用明细,禁止删除!!!");
                int  priQuote= priQuoteService.selectCount(new EntityWrapper<PriQuote>().eq("pri_online_id", id));
                if (priQuote!=0){
                    return R.error("存在关联的报价单,禁止删除!!!");
                }
//                int priSales = priSalesService.selectCount(new EntityWrapper<PriSales>().eq("pri_online2_id", id));
//                if (priSales!=0){
//                    return R.error("存在关联的产品费用明细,禁止删除!!!");
//                }
            }
            for (Long id : ids) {
                PriOnline2 priOnline2 = priOnline2Service.selectById(id);
@@ -366,6 +379,26 @@
        return R.ok(result);
    }
    @RequestMapping(value = "/priOnline2Query2/auth")
    @ManagerAuth
    public R query2(String condition) {
        EntityWrapper<PriOnline2> wrapper = new EntityWrapper<>();
        wrapper.like("order_num", condition);
        wrapper.in("user_id", getUserRoleBelongsToUserId("allopen"));
        Page<PriOnline2> page = priOnline2Service.selectPage(new Page<>(0, 10), wrapper);
        List<Map<String, Object>> result = new ArrayList<>();
        for (PriOnline2 priOnline2 : page.getRecords()){
            Map<String, Object> map = new HashMap<>();
            map.put("id", priOnline2.getId());
//            map.put("value", priOnline2.getOrderNum() + "/" + priOnline2.getPlanId$() + "/" + priOnline2.getMemberId$());
//            map.put("value", priOnline2.getOrderNum() + "/" + priOnline2.getTemplateName());
            map.put("value", priOnline2.getOrderNum() + "/" + priOnline2.getPlanId$() + "/" + priOnline2.getMemberId$() + "/" + priOnline2.getTemplateName());
            result.add(map);
        }
        return R.ok(result);
    }
    @RequestMapping(value = "/priOnline2/check/column/auth")
    @ManagerAuth
    public R query(@RequestBody JSONObject param) {
src/main/java/com/zy/crm/manager/controller/PriQuoteController.java
@@ -47,6 +47,9 @@
    private PriQuoteBudgetService priQuoteBudgetService;
    @Autowired
    private PriOnline2Service priOnline2Service;
    @Autowired
    private ProcessPermissionsService processPermissionsService;
    @Autowired
@@ -90,12 +93,15 @@
    }
    private <T> void convert(Map<String, Object> map, EntityWrapper<T> wrapper){
        Long deptId = getDeptId();
        boolean signUserId = false;
        boolean signDeptId = false;
        boolean signHostId = false;
        for (Map.Entry<String, Object> entry : map.entrySet()){
            if (entry.getKey().equals("dept_id")){
                signDeptId = true;
                if (String.valueOf(entry.getValue()).equals("19")){
                    signHostId = true;
                }
            }
        }
        for (Map.Entry<String, Object> entry : map.entrySet()){
@@ -118,21 +124,25 @@
        if (!signUserId && !signDeptId){
            wrapper.eq("user_id", getUserId());
        }
        if (signHostId){
            wrapper.or().eq("host_id",1);
        }
    }
    @RequestMapping(value = "/priQuote/add/auth")
    @ManagerAuth(memo = "添加报价单")
    public R add(@RequestBody Map<String,Object> map) {
        PriQuoteBudget priQuoteBudget = priQuoteBudgetService.selectById(Long.parseLong(map.get("priQuoteBudgetId").toString()));
//        PriQuoteBudget priQuoteBudget = priQuoteBudgetService.selectById(Long.parseLong(map.get("priQuoteBudgetId").toString()));
        PriOnline2 priOnline2 = priOnline2Service.selectById(Long.parseLong(map.get("priQuoteBudgetId").toString()));
        PriQuote priQuote = new PriQuote();
        priQuote.setCreateTime(new Date());
        priQuote.setTitle(map.get("title").toString());
        priQuote.setTemplateName(priQuoteBudget.getTemplateName());
        priQuote.setTemplateName(priOnline2.getTemplateName());
        priQuote.setSheetData(map.get("sheetData").toString());
        priQuote.setOriQuoteBudgetId(Long.parseLong(map.get("priQuoteBudgetId").toString()));
        priQuote.setItemId(priQuoteBudget.getItemId());
        priQuote.setOrderNum(priQuoteBudget.getInOrderNum());
        priQuote.setPriOnlineId(Long.parseLong(map.get("priQuoteBudgetId").toString()));
        priQuote.setItemId(priOnline2.getItemId());
        priQuote.setOrderNum(priOnline2.getOrderNum());
        SimpleDateFormat format = new SimpleDateFormat("yyyyMMddHHmmss");
        priQuote.setInOrderNum(format.format(new Date()));
@@ -156,7 +166,12 @@
        priQuote.setForm(JSON.toJSONString(map));     // 自定义表单内容
        priQuote.setSettle(1);  // 1.开始
        User manager = userService.getDeptManager(getHostId(), getUser().getDeptId());        // 获取部门领导
        User manager = new User();
        try{
            manager = userService.getDeptManager(getHostId(), getUser().getDeptId());        // 获取部门领导
        }catch (Exception e){
            manager = getUser();
        }
        ProcessPermissions processPermissions = processPermissionsService.selectOne(new EntityWrapper<ProcessPermissions>().eq("process_memo", 2).eq("process", "3-1"));//2:报价流程
        User president = userService.selectById(processPermissions.getUserId());       // 获取报价流程节点3-1确认人
        priQuote.setSettleMsg(JSON.toJSONString(SettleDto.initPriQuote(plan, manager,president,getUser())));
@@ -439,7 +454,12 @@
            case 1:
                // 本部门经理审核
                User user = userService.selectById(priQuote.getUserId());
                User manager = userService.getDeptManager(getHostId(), user.getDeptId());
                User manager = new User();
                try{
                    manager = userService.getDeptManager(getHostId(), getUser().getDeptId());        // 获取部门领导
                }catch (Exception e){
                    manager = user;
                }
                if (manager.getId().equals(getUserId())) {
                    // 修改 settle 步骤数据
src/main/java/com/zy/crm/manager/entity/PriQuote.java
@@ -107,6 +107,13 @@
    private Long deptId;
    /**
     * hostId
     */
    @ApiModelProperty(value= "hostId")
    @TableField("host_id")
    private Long hostId;
    /**
     * 审核进度
     */
    @ApiModelProperty(value= "审核进度")
@@ -121,8 +128,12 @@
    private String template;
    @ApiModelProperty(value= "上级id")
    @TableField("ori_quote_budget_id")
    private Long oriQuoteBudgetId;
    @TableField("pri_quote_budget_id")
    private Long priQuoteBudgetId;
    @ApiModelProperty(value= "上级id")
    @TableField("pri_online_id")
    private Long priOnlineId;
    public PriQuote() {}
src/main/webapp/static/js/priQuote/priQuote.js
@@ -560,7 +560,7 @@
function getItemInfo(val) {
    $.ajax({
        url: baseUrl+"/priQuoteBudget/" + val + "/auth",
        url: baseUrl+"/priOnline2/" + val + "/auth",
        headers: {'token': localStorage.getItem('token')},
        method: 'GET',
        traditional:true,
src/main/webapp/views/priQuote/priQuote.html
@@ -130,8 +130,8 @@
                        <input class="layui-input" name="id" placeholder="请输入报价预算单号" style="display: none" lay-verify="required">
                        <input id="orderNum" name="orderNum" class="layui-input cool-auto-complete-div" onclick="autoShow(this.id)" type="text" placeholder="请输入报价预算单号" onfocus=this.blur()>
                        <div class="cool-auto-complete-window">
                            <input class="cool-auto-complete-window-input" data-key="priQuoteBudgetQueryBydirector" onkeyup="autoLoad(this.getAttribute('data-key'))">
                            <select class="cool-auto-complete-window-select" data-key="priQuoteBudgetQueryBydirectorSelect" onchange="confirmed(this.getAttribute('data-key'),getItemInfo)" multiple="multiple">
                            <input class="cool-auto-complete-window-input" data-key="priOnline2Query2Bydirector" onkeyup="autoLoad(this.getAttribute('data-key'))">
                            <select class="cool-auto-complete-window-select" data-key="priOnline2Query2BydirectorSelect" onchange="confirmed(this.getAttribute('data-key'),getItemInfo)" multiple="multiple">
                            </select>
                        </div>
                    </div>