From ad6b7f0d80337bcddb1d694cc53bd6273c03149e Mon Sep 17 00:00:00 2001
From: LSH
Date: 星期三, 11 十月 2023 11:10:58 +0800
Subject: [PATCH] #
---
src/main/java/com/zy/crm/manager/controller/DashboardController.java | 79 ++++++++++++++++++++++++++++-----------
1 files changed, 56 insertions(+), 23 deletions(-)
diff --git a/src/main/java/com/zy/crm/manager/controller/DashboardController.java b/src/main/java/com/zy/crm/manager/controller/DashboardController.java
index b2d1ced..633cf6e 100644
--- a/src/main/java/com/zy/crm/manager/controller/DashboardController.java
+++ b/src/main/java/com/zy/crm/manager/controller/DashboardController.java
@@ -1,18 +1,22 @@
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;
import org.springframework.web.bind.annotation.RestController;
+import java.text.DecimalFormat;
+import java.text.NumberFormat;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Date;
@@ -33,25 +37,31 @@
public R getCompanyData() {
HashMap<String, Object> map = new HashMap<>();
+ NumberFormat formatter = new DecimalFormat("#,###");
Date date = new Date();
SimpleDateFormat format = new SimpleDateFormat("yyyy");
String year = format.format(date);
- CompanyTarget companyTarget = companyTargetService.selectByYear(year);//鑾峰彇鍏徃鍏ㄥ勾鐩爣鏁版嵁
+ CompanyTarget companyTarget = companyTargetService.selectCompanyByYear(year);//鑾峰彇鍏徃鍏ㄥ勾鐩爣鏁版嵁
if (companyTarget == null) {
return R.error();
}
- map.put("yearTarget", 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;
- map.put("successMoney", WordUtils.formatNumberForAccounting(successMoney));//鍏ㄥ勾浜ゆ槗鎴愬姛閲戦
- map.put("progressMoney", WordUtils.formatNumberForAccounting(progressMoney));//鍏ㄥ勾鏈氦鏄撴垚鍔熼噾棰�
+ //鍏ㄥ勾瀹屾垚鐜�
+// 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));//鍏ㄥ勾鏈氦鏄撴垚鍔熼噾棰�
map.put("yearTransactionRate", String.format("%.2f", yearTransactionRate));//鍏ㄥ勾浜ゆ槗鐜�
return R.ok().add(map);
}
@@ -62,33 +72,39 @@
public R getPersonData() {
HashMap<String, Object> map = new HashMap<>();
+ NumberFormat formatter = new DecimalFormat("#,###");
Date date = new Date();
SimpleDateFormat format = new SimpleDateFormat("yyyy");
String year = format.format(date);
- User user = getUser();
- String yearTarget = "0.00";//鑾峰彇涓汉鍏ㄥ勾鐩爣鏁版嵁
- if (user.getTarget() != null) {
- yearTarget = WordUtils.formatNumberForAccounting(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;
- map.put("successMoney", WordUtils.formatNumberForAccounting(successMoney));//鍏ㄥ勾浜ゆ槗鎴愬姛閲戦
- map.put("progressMoney", WordUtils.formatNumberForAccounting(progressMoney));//鍏ㄥ勾鏈氦鏄撴垚鍔熼噾棰�
+ 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);
@@ -100,10 +116,11 @@
@ManagerAuth
public R getStaffRank() {
ArrayList<HashMap<String, Object>> list = new ArrayList<>();
+ NumberFormat formatter = new DecimalFormat("#,###");
for (Order order : orderService.selectTopMoney()) {
HashMap<String, Object> map = new HashMap<>();
map.put("username", order.getUserId$());
- map.put("money", WordUtils.formatNumberForAccounting(order.getMoney()));
+ map.put("money", formatter.format(order.getMoney()));
list.add(map);
}
return R.ok().add(list);
@@ -117,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);
+ }
+
}
--
Gitblit v1.9.1