From 03d3cd458fc0dee8859564073ae3e754df228e2f Mon Sep 17 00:00:00 2001
From: LSH
Date: 星期一, 27 十一月 2023 14:17:22 +0800
Subject: [PATCH] #
---
src/main/java/com/zy/crm/manager/controller/DashboardController.java | 170 ++++++++++++++++++++++++++++++++++++++++++++++++--------
1 files changed, 146 insertions(+), 24 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 a47c028..461575d 100644
--- a/src/main/java/com/zy/crm/manager/controller/DashboardController.java
+++ b/src/main/java/com/zy/crm/manager/controller/DashboardController.java
@@ -1,13 +1,13 @@
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.manager.entity.*;
+import com.zy.crm.manager.service.*;
+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;
@@ -24,10 +24,30 @@
@RestController
public class DashboardController extends BaseController {
+ Integer PBN = 6;
+
@Autowired
private CompanyTargetService companyTargetService;
@Autowired
private OrderService orderService;
+ @Autowired
+ private PlanService planService;
+ @Autowired
+ private PriOnline2Service priOnline2Service;
+ @Autowired
+ private PriQuoteService priQuoteService;
+ @Autowired
+ private BusinessTripService businessTripService;
+ @Autowired
+ private BusinessTripOtherService businessTripOtherService;
+ @Autowired
+ private ReimburseOnlineService reimburseOnlineService;
+ @Autowired
+ private CompanyMoneyService companyMoneyService;
+ @Autowired
+ private ProcessPermissionsService processPermissionsService;
+ @Autowired
+ private PlanTypeService planTypeService;
//鑾峰彇鍥㈤槦鏁版嵁
@RequestMapping(value = "/dashboard/companyData/auth")
@@ -39,24 +59,34 @@
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", 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;
+
+ Double successMoney1 = companyMoneyService.selectMoneyReceivablesAll(null, year);
+
+ Double successMoney2 = companyMoneyService.selectMoneyActualReceiptsAll(null, year);
map.put("successMoney", formatter.format(successMoney));//鍏ㄥ勾浜ゆ槗鎴愬姛閲戦
map.put("progressMoney", formatter.format(progressMoney));//鍏ㄥ勾鏈氦鏄撴垚鍔熼噾棰�
map.put("yearTransactionRate", String.format("%.2f", yearTransactionRate));//鍏ㄥ勾浜ゆ槗鐜�
+ map.put("receivablesMoney", successMoney1/10000);//搴旀敹娆�
+ map.put("actualReceiptsMoney",successMoney2/10000);//瀹為檯鏀舵
return R.ok().add(map);
}
@@ -71,32 +101,80 @@
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);
+
+ //鑾峰彇寰呭鐞嗕换鍔℃暟閲�
+ int planPendingTaskCount = planService.selectCount(new EntityWrapper<Plan>().eq("director", getUserId()).lt("settle",4));
+ map.put("planPendingTaskCount", planPendingTaskCount);
+ int priOnlinePendingTaskCount = priOnline2Service.selectCount(new EntityWrapper<PriOnline2>().eq("member_id", getUserId()).lt("settle",2));
+ map.put("priOnlinePendingTaskCount", priOnlinePendingTaskCount);
+ int priQuotePendingTaskCount = priQuoteService.selectCount(new EntityWrapper<PriQuote>().eq("member_id", getUserId()).lt("settle",4));
+ map.put("priQuotePendingTaskCount", priQuotePendingTaskCount);
+ int businessTripCount = businessTripService.selectCount(new EntityWrapper<BusinessTrip>().eq("member_id", getUserId()).lt("settle", 2));
+ int businessTripOtherCount = businessTripOtherService.selectCount(new EntityWrapper<BusinessTripOther>().eq("member_id", getUserId()).lt("settle",2));
+ int businessTripPendingTaskCount = businessTripCount+businessTripOtherCount;
+ map.put("businessTripPendingTaskCount", businessTripPendingTaskCount);
+ int reimburseOnlinePendingTaskCount = reimburseOnlineService.selectCount(new EntityWrapper<ReimburseOnline>().eq("member_id", getUserId()).lt("settle",6));
+ map.put("reimburseOnlinePendingTaskCount", reimburseOnlinePendingTaskCount);
+ int planPriOnlinePendingTaskCount = 0;
+ List<ProcessPermissions> processPermissionsList = processPermissionsService.selectList(new EntityWrapper<ProcessPermissions>().eq("process_memo", 4).or().eq("process_memo", 5));//2锛氭牳浠锋祦绋�
+ int type =0;
+ for (ProcessPermissions processPermissions:processPermissionsList){
+ if (getUserId().equals(processPermissions.getUserId())){
+ type=PBN-processPermissions.getProcessMemo();
+ break;
+ }
+ }
+ if (type!=0){
+ EntityWrapper<Plan> wrapper = new EntityWrapper<>();
+ wrapper.eq("status",1);
+ wrapper.eq("assistant_host_sign",0);
+ List<Long> typeList = new ArrayList<>();
+ List<PlanType> planTypes = planTypeService.selectList(new EntityWrapper<PlanType>().eq("type", type));
+ for (PlanType planType : planTypes){
+ typeList.add(planType.getId());
+ }
+ wrapper.in("plan_type",typeList);
+ List<Plan> plans = planService.selectList(wrapper);
+ planPriOnlinePendingTaskCount=plans.size();
+ }
+ map.put("planPriOnlinePendingTaskCount", planPriOnlinePendingTaskCount);
+
+ Double successMoney1 = companyMoneyService.selectMoneyReceivablesAll(getUserId(), year);
+ map.put("successMoney1", successMoney1==null? 0:successMoney1);
+
+ Double successMoney2 = companyMoneyService.selectMoneyActualReceiptsAll(getUserId(), year);
+ map.put("successMoney2", successMoney2==null? 0:successMoney2);
+
return R.ok().add(map);
}
@@ -106,10 +184,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);
@@ -120,7 +199,50 @@
@ManagerAuth
public R getCurrentMonthData() {
List<Double> list = orderService.selectCurrentYearMonthSuccess();
- return R.ok().add(list);
+ List<Double> lists = new ArrayList<>();
+ int i = 0;
+ Double[] money=new Double[]{0.0,0.0,0.0,0.0};
+ for (Double d : list){
+ if (i<3){
+ money[0] = money[0]+d;
+ }else if (i<6){
+ money[1] = money[1]+d;
+ }else if (i<9){
+ money[2] = money[2]+d;
+ }else if (i<12){
+ money[3] = money[3]+d;
+ }
+ i++;
+ }
+ for (Double d : money){
+ double d1=d/3;
+ lists.add(d1);
+ lists.add(d1);
+ lists.add(d1);
+ }
+ return R.ok().add(lists);
+ }
+
+ @RequestMapping("/dashboard/popup/auth")
+ public R popup(String token) {
+ String item = "false";
+ if (Cools.isEmpty(token)){
+ return R.ok(item);
+ }
+ try{
+ User user = getUser(token);
+ if (Cools.isEmpty(user) || Cools.isEmpty(user.getRoleId())){
+ return R.ok(item);
+ }
+ if (user.getRoleId()<2){
+ item="true";
+ }else if (user.getRoleId()<3){
+ item="true2";
+ }
+ }catch (Exception e){
+
+ }
+ return R.ok(item);
}
}
--
Gitblit v1.9.1