From 456f8b69675f9734efe19ed1842c9821ee080b1c Mon Sep 17 00:00:00 2001 From: LSH Date: 星期四, 23 十一月 2023 13:58:44 +0800 Subject: [PATCH] # --- src/main/java/com/zy/crm/manager/controller/DashboardController.java | 165 +++++++++++++++++++++++++++++++++++++++++++++++------- 1 files changed, 143 insertions(+), 22 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 891f151..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") @@ -43,20 +63,30 @@ 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); } @@ -121,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