From caac62f1f080ee8db3aba698f7f67ce105ad9ffe Mon Sep 17 00:00:00 2001 From: LSH Date: 星期一, 09 十月 2023 13:30:58 +0800 Subject: [PATCH] #核价相关 --- src/main/java/com/zy/crm/manager/controller/DashboardController.java | 83 +++++++++++++++++++++++++++++++---------- 1 files changed, 62 insertions(+), 21 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 099330c..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 / (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,28 +72,42 @@ 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 / (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(getUserId(), year, 0); + //鑾峰彇鍏ㄥ勾鎴愪氦鏁伴噺 + Integer successCount = orderService.selectCountByUserYearAndStatus(getUserId(), year, 1); + map.put("progressCount", progressCount); + map.put("successCount", successCount); + return R.ok().add(map); } @@ -92,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); @@ -109,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