中扬CRM客户关系管理系统
LSH
2023-10-10 6a494b5109518bfaabd56f8e92445fb8ebc1166f
src/main/java/com/zy/crm/manager/controller/DashboardController.java
@@ -1,13 +1,15 @@
package com.zy.crm.manager.controller;
import com.baomidou.mybatisplus.mapper.EntityWrapper;
import com.core.annotations.ManagerAuth;
import com.core.common.Cools;
import com.core.common.R;
import com.zy.crm.common.web.BaseController;
import com.zy.crm.manager.entity.CompanyTarget;
import com.zy.crm.manager.entity.Order;
import com.zy.crm.manager.service.CompanyTargetService;
import com.zy.crm.manager.service.OrderService;
import com.zy.crm.manager.utils.WordUtils;
import com.zy.crm.system.entity.Role;
import com.zy.crm.system.entity.User;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.RequestMapping;
@@ -43,16 +45,20 @@
        if (companyTarget == null) {
            return R.error();
        }
        map.put("yearTarget", formatter.format(Double.parseDouble(companyTarget.getTarget())));//全年交易目标
        double whole = Double.parseDouble(companyTarget.getTarget());
        map.put("yearTarget", formatter.format(whole));//全年交易目标
        //获取全年交易成功金额
        Double successMoney = orderService.selectMoneyByYearAndStatus(year, 1);
        //获取全年未交易成功金额
        Double progressMoney = orderService.selectMoneyByYearAndStatus(year, 0);
//        double v = whole - orderService.selectMoneyByYearAndStatus(year, 0);
        double v = whole - orderService.selectMoneyByYearAndStatus(year, 1);
        Double progressMoney =  v > 0? v : 0D;
        //获取全年交易失败金额
        Double failedMoney = orderService.selectMoneyByYearAndStatus(year, 2);
        //全年交易率
        double yearTransactionRate = successMoney == 0 ? successMoney : (successMoney / (successMoney + progressMoney + failedMoney)) * 100;
        //全年完成率
//        double yearTransactionRate = successMoney == 0 ? successMoney : (successMoney / (successMoney + progressMoney + failedMoney)) * 100;
        double yearTransactionRate = successMoney == 0 ? successMoney : (successMoney / Double.parseDouble(companyTarget.getTarget())) * 100;
        map.put("successMoney", formatter.format(successMoney));//全年交易成功金额
        map.put("progressMoney", formatter.format(progressMoney));//全年未交易成功金额
@@ -71,30 +77,34 @@
        SimpleDateFormat format = new SimpleDateFormat("yyyy");
        String year = format.format(date);
        User user = getUser();
        String yearTarget = "0";//获取个人全年目标数据
        if (user.getTarget() != null) {
            yearTarget = formatter.format(Double.parseDouble(user.getTarget()));
        Double yearTarget = 0D;//获取个人全年目标数据
        CompanyTarget person = companyTargetService.selectPersonByYear(year, getUserId());
        if (person != null) {
            yearTarget = Double.parseDouble(person.getTarget());
        }
        map.put("yearTarget", yearTarget);//全年交易目标
        map.put("yearTarget", formatter.format(yearTarget));//全年交易目标
        //获取全年交易成功金额
        Double successMoney = orderService.selectMoneyByUserAndYearAndStatus(user.getId(), year, 1);
        Double successMoney = orderService.selectMoneyByUserAndYearAndStatus(getUserId(), year, 1);
        //获取全年未交易成功金额
        Double progressMoney = orderService.selectMoneyByUserAndYearAndStatus(user.getId(), year, 0);
        double v = yearTarget - orderService.selectMoneyByUserAndYearAndStatus(getUserId(), year, 1);
        Double progressMoney = v > 0? v : 0D;
        Double progressMoney2 = orderService.selectMoneyByUserAndYearAndStatus(getUserId(), year, 0);
        //获取全年交易失败金额
        Double failedMoney = orderService.selectMoneyByUserAndYearAndStatus(user.getId(), year, 2);
        //全年交易率
        double yearTransactionRate = successMoney == 0 ? successMoney : (successMoney / (successMoney + progressMoney + failedMoney)) * 100;
        Double failedMoney = orderService.selectMoneyByUserAndYearAndStatus(getUserId(), year, 2);
        //全年完成率
//        double yearTransactionRate = successMoney == 0 ? successMoney : (successMoney / (successMoney + progressMoney + failedMoney)) * 100;
        double yearTransactionRate = yearTarget==0? 0 : successMoney == 0 ? successMoney : (successMoney / yearTarget) * 100;
        map.put("successMoney", formatter.format(successMoney));//全年交易成功金额
        map.put("progressMoney", formatter.format(progressMoney));//全年未交易成功金额
        map.put("progressMoney2", formatter.format(progressMoney2));//跟踪项目金额
        map.put("yearTransactionRate", String.format("%.2f", yearTransactionRate));//全年交易率
        //获取全年跟踪数量
        Integer progressCount = orderService.selectCountByUserYearAndStatus(user.getId(), year, 0);
        Integer progressCount = orderService.selectCountByUserYearAndStatus(getUserId(), year, 0);
        //获取全年成交数量
        Integer successCount = orderService.selectCountByUserYearAndStatus(user.getId(), year, 1);
        Integer successCount = orderService.selectCountByUserYearAndStatus(getUserId(), year, 1);
        map.put("progressCount", progressCount);
        map.put("successCount", successCount);
@@ -124,4 +134,20 @@
        return R.ok().add(list);
    }
    @RequestMapping("/dashboard/popup/auth")
    public R popup(String token) {
        String item = "false";
        if (Cools.isEmpty(token)){
            return R.ok(item);
        }
        User user = getUser(token);
        if (Cools.isEmpty(user) || Cools.isEmpty(user.getRoleId())){
            return R.ok(item);
        }
        if (user.getRoleId()<3){
            item="true";
        }
        return R.ok(item);
    }
}