From 9155df2aeab5b0d95c89dd928dbaefbfbaeae9d1 Mon Sep 17 00:00:00 2001 From: zjh <1084500556@qq.com> Date: 星期四, 05 九月 2024 17:10:35 +0800 Subject: [PATCH] zjh 2024-09-05 --- ltkj-admin/src/main/java/com/ltkj/web/controller/system/TjHomePageController.java | 342 +++++++++++++++----------------------------------------- 1 files changed, 91 insertions(+), 251 deletions(-) diff --git a/ltkj-admin/src/main/java/com/ltkj/web/controller/system/TjHomePageController.java b/ltkj-admin/src/main/java/com/ltkj/web/controller/system/TjHomePageController.java index b8aadcf..9ea4c6f 100644 --- a/ltkj-admin/src/main/java/com/ltkj/web/controller/system/TjHomePageController.java +++ b/ltkj-admin/src/main/java/com/ltkj/web/controller/system/TjHomePageController.java @@ -18,6 +18,8 @@ import io.swagger.annotations.ApiOperation; import io.swagger.annotations.ApiParam; import io.swagger.models.auth.In; +import org.springframework.cache.annotation.CachePut; +import org.springframework.cache.annotation.Cacheable; import org.springframework.security.access.prepost.PreAuthorize; import org.springframework.web.bind.annotation.*; @@ -59,7 +61,8 @@ @Resource private ITjFlowingWaterService tjFlowingWaterService; - + @Resource + private LtkjHysqdService hysqdService; @GetMapping("/GetChartByDate") @ApiOperation(value = "鏉″舰缁熻鏃堕棿娈靛唴涓汉鍜屽洟闃熶綋妫�鏁�") @@ -74,13 +77,13 @@ Date beginTime = DateUtils.parseDate(date + " 00:00:00"); Date endTime = DateUtils.parseDate(date + " 23:59:59"); QueryWrapper<TjOrder> queryWrapper1 = new QueryWrapper<>(); - queryWrapper1.ge("finish_time", beginTime); - queryWrapper1.lt("finish_time", endTime); + queryWrapper1.ge("create_time", beginTime); + queryWrapper1.lt("create_time", endTime); queryWrapper1.eq("tj_type", 2); Integer personCount = orderService.count(queryWrapper1); QueryWrapper<TjOrder> queryWrapper2 = new QueryWrapper<>(); - queryWrapper2.ge("finish_time", beginTime); - queryWrapper2.lt("finish_time", endTime); + queryWrapper2.ge("create_time", beginTime); + queryWrapper2.lt("create_time", endTime); queryWrapper2.eq("tj_type", 1); Integer teamCount = orderService.count(queryWrapper2); @@ -100,14 +103,14 @@ Date beginTime = DateUtils.parseDate(formatdate + " 00:00:00"); Date endTime = DateUtils.parseDate(formatdate + " 23:59:59"); QueryWrapper<TjOrder> queryWrapper1 = new QueryWrapper<>(); - queryWrapper1.ge("finish_time", beginTime); - queryWrapper1.lt("finish_time", endTime); + queryWrapper1.ge("create_time", beginTime); + queryWrapper1.lt("create_time", endTime); queryWrapper1.eq("tj_type", 2); Integer personCount = orderService.count(queryWrapper1); QueryWrapper<TjOrder> queryWrapper2 = new QueryWrapper<>(); - queryWrapper2.ge("finish_time", beginTime); - queryWrapper2.lt("finish_time", endTime); + queryWrapper2.ge("create_time", beginTime); + queryWrapper2.lt("create_time", endTime); queryWrapper2.eq("tj_type", 1); Integer teamCount = orderService.count(queryWrapper2); @@ -151,180 +154,6 @@ cal.set(Calendar.DATE, cal.get(Calendar.DATE) - i); return cal.getTime(); } - - - /* @GetMapping("/getTjDeptCountList") - @ApiOperation(value = "浣撴绉戝宸ヤ綔閲忔暟鎹粺璁℃帴鍙�") -// @PreAuthorize("@ss.hasPermi('home:page:getTjDeptCountList')") - public AjaxResult getTjDeptCountList(@RequestParam(required = false) @ApiParam(value = "寮�濮嬫椂闂�") String beginTime, @RequestParam(required = false) @ApiParam(value = "缁撴潫鏃堕棿") String endTime) { - List<SysDept> deptList = deptService.list(); - if (null != deptList && deptList.size() > 0) { - List<TjDeptCountVo> deptCountVoList = new ArrayList<>(); - for (SysDept sysDept : deptList) { - LambdaQueryWrapper<SysUser> wq0 = new LambdaQueryWrapper<>(); - wq0.eq(SysUser::getDeptId, sysDept.getDeptId()); - List<SysUser> sysUserList = userService.list(wq0); - if (null == sysUserList) { - return AjaxResult.error("璇ョ瀹や笅娌℃湁浜哄憳"); - } - TjDeptCountVo deptCountVo = new TjDeptCountVo(); - deptCountVo.setDoctorName("/"); - deptCountVo.setDeptName(sysDept.getDeptName()); - LambdaQueryWrapper<TjProject> wq1 = new LambdaQueryWrapper<>(); - wq1.eq(TjProject::getDeptId, sysDept.getDeptId()); - List<TjProject> list = projectService.list(wq1); - - LambdaQueryWrapper<TjOrderDetail> wq2 = new LambdaQueryWrapper<>(); - LambdaQueryWrapper<TjOrderDetail> wq3 = new LambdaQueryWrapper<>(); - wq2.eq(TjOrderDetail::getTjStatus, 0); - if (null != beginTime && null != endTime) { - wq2.between(TjOrderDetail::getCreateTime, DateUtil.parse(beginTime), DateUtil.parse(endTime)); - wq3.between(TjOrderDetail::getCreateTime, DateUtil.parse(beginTime), DateUtil.parse(endTime)); - } else { - wq2.between(TjOrderDetail::getCreateTime, DateUtil.lastWeek(), DateUtil.now()); - wq3.between(TjOrderDetail::getCreateTime, DateUtil.lastWeek(), DateUtil.now()); - } - wq3.eq(TjOrderDetail::getTjStatus, 1); - if (null != list && list.size() > 0) { - //鑾峰彇璇ョ瀹や笅鐨勯」鐩� - List<Long> ksproList = list.stream().map(TjProject::getProId).collect(Collectors.toList()); - wq2.in(TjOrderDetail::getProId, ksproList); - wq3.in(TjOrderDetail::getProId, ksproList); - } else { - continue; - } - LambdaQueryWrapper<TjOrderRemark> wq4 = new LambdaQueryWrapper<>(); - wq4.eq(TjOrderRemark::getDeptId, sysDept.getDeptId()); - - List<TjOrderDetail> detailList = detailService.list(wq2); - List<TjOrderDetail> detailList1 = detailService.list(wq3); - List<TjOrderRemark> remarkList = remarkService.list(wq4); - - if (detailList == null && detailList1 != null && remarkList != null) { - deptCountVo.setTjCount(0); - deptCountVo.setTjFinishCount(detailList1.size()); - deptCountVo.setTjFinishRate("0%"); - deptCountVo.setReportCount(remarkList.size()); - deptCountVo.setReportRate("0%"); - } else if (detailList1 == null && detailList != null && remarkList != null) { - deptCountVo.setTjCount(detailList.size()); - deptCountVo.setTjFinishCount(0); - deptCountVo.setTjFinishRate("0%"); - deptCountVo.setReportCount(remarkList.size()); - deptCountVo.setReportRate((remarkList.size()) / (detailList.size()) * 100 + "%"); - } else if (detailList1 != null && detailList != null && remarkList == null) { - deptCountVo.setTjCount(detailList.size()); - deptCountVo.setTjFinishCount(detailList1.size()); - deptCountVo.setTjFinishRate((detailList1.size()) / (detailList.size()) * 100 + "%"); - deptCountVo.setReportCount(0); - deptCountVo.setReportRate("0%"); - } else { - deptCountVo.setTjCount(0); - deptCountVo.setTjFinishCount(0); - deptCountVo.setTjFinishRate("0%"); - deptCountVo.setReportCount(0); - deptCountVo.setReportRate("0%"); - } - deptCountVoList.add(deptCountVo); - } - return AjaxResult.success("鎿嶄綔鎴愬姛", deptCountVoList); - } - return AjaxResult.error(); - }*/ - - /*@GetMapping("/GetCheckDate") - @ApiOperation(value = "鎶ュ憡宸ヤ綔閲忕粺璁�") -// @PreAuthorize("@ss.hasPermi('home:page:GetCheckDate')") - public List<CheckDataVO> GetCheckDate(@RequestParam(required = false) String startDate, @RequestParam(required = false) String endDate) { - List<CheckDataVO> list = new ArrayList<>(); - if (startDate != null & endDate != null) { - Date beginTime = DateUtils.parseDate(startDate + " 00:00:00"); - Date endTime = DateUtils.parseDate(endDate + " 23:59:59"); - QueryWrapper<TjOrder> queryWrapper1 = new QueryWrapper<>(); - queryWrapper1.ge("finish_time", beginTime); - queryWrapper1.lt("finish_time", endTime); - List<TjOrder> list1 = orderService.list(queryWrapper1); - //涓嶅彲閲嶅 鎵�鏈夊尰鐢熷悕 - Set<String> collect1 = list1.stream().map(TjOrder::getCheckDoctor).collect(Collectors.toSet()); - for (String s : collect1) { - QueryWrapper<TjOrder> queryWrapper2 = new QueryWrapper<>(); - queryWrapper2.ge("finish_time", beginTime); - queryWrapper2.lt("finish_time", endTime); - queryWrapper2.eq("check_doctor", s); - List<TjOrder> list2 = orderService.list(queryWrapper2); - CheckDataVO checkDataVO = new CheckDataVO(); - Integer checkCount = 0; - Integer releaseCount = 0; - Integer messageCount = 0; - Integer printCount = 0; - for (TjOrder tjOrder : list2) { - if (s.equals(tjOrder.getCheckDoctor()) && tjOrder.getCheckStatus() == 1) { - checkCount++; - } - if (s.equals(tjOrder.getCheckDoctor()) && tjOrder.getReleaseTime() != null) { - releaseCount++; - } - if (s.equals(tjOrder.getCheckDoctor()) && "1".equals(tjOrder.getSendMessage())) { - messageCount++; - } - //鎶ュ憡鐢熸垚鏃堕棿 - if (s.equals(tjOrder.getCheckDoctor()) && tjOrder.getReportTime() != null) { - printCount++; - } - checkDataVO.setDoctorName(s); - checkDataVO.setCheckCount(checkCount); - checkDataVO.setReleaseCount(releaseCount); - checkDataVO.setMessageCount(messageCount); - checkDataVO.setPrintCount(printCount); - - } - list.add(checkDataVO); - } - - } else { - LambdaQueryWrapper<TjOrder> queryWrapper1 = new LambdaQueryWrapper<>(); - queryWrapper1.between(TjOrder::getFinishTime, DateUtil.lastWeek(), DateUtil.now()); - List<TjOrder> list1 = orderService.list(queryWrapper1); - - //List<String> collect = list1.stream().map(TjOrder::getCheckDoctor).collect(Collectors.toList()); - //涓嶅彲閲嶅 鎵�鏈夊尰鐢熷悕 - Set<String> collect1 = list1.stream().map(TjOrder::getCheckDoctor).collect(Collectors.toSet()); - for (String s : collect1) { - QueryWrapper<TjOrder> queryWrapper2 = new QueryWrapper<>(); - queryWrapper2.between("finish_time", DateUtil.lastWeek(), DateUtil.now()); - queryWrapper2.eq("check_doctor", s); - List<TjOrder> list2 = orderService.list(queryWrapper2); - CheckDataVO checkDataVO = new CheckDataVO(); - Integer checkCount = 0; - Integer releaseCount = 0; - Integer messageCount = 0; - Integer printCount = 0; - for (TjOrder tjOrder : list2) { - if (s.equals(tjOrder.getCheckDoctor()) && tjOrder.getCheckStatus() == 1) { - checkCount++; - } - if (s.equals(tjOrder.getCheckDoctor()) && tjOrder.getReleaseTime() != null) { - releaseCount++; - } - // TODO: 2023/3/31 鍙戦�佺煭淇�/閭欢缁熻 - if (s.equals(tjOrder.getCheckDoctor()) && "1".equals(tjOrder.getSendEmail())) { - messageCount++; - } - if (s.equals(tjOrder.getCheckDoctor()) && tjOrder.getReportTime() != null) { - printCount++; - } - checkDataVO.setDoctorName(s); - checkDataVO.setCheckCount(checkCount); - checkDataVO.setReleaseCount(releaseCount); - checkDataVO.setMessageCount(messageCount); - checkDataVO.setPrintCount(printCount); - - } - list.add(checkDataVO); - } - } - return list; - }*/ @GetMapping("/GetAbnormalData") @ApiOperation(value = "浣撴缁撴灉寮傚父鏁版嵁缁熻鍒嗘瀽") @@ -457,10 +286,10 @@ @GetMapping("/getLineChart") @ApiOperation(value = "棣栭〉鎶樼嚎鍥炬暟鎹�") public AjaxResult getLineChart() { - asyncService.getLineChart(); - if(redisCache.hasKey("getLineChart")){ - return redisCache.getCacheObject("getLineChart"); - } +// asyncService.getLineChart(); +// if(redisCache.hasKey("getLineChart")){ +// return redisCache.getCacheObject("getLineChart"); +// } return getResult(); } @@ -474,33 +303,37 @@ @GetMapping("/getPieChart") @ApiOperation(value = "棣栭〉楗肩姸鍥剧櫥璁颁汉鏁版帴鍙�") public AjaxResult getPieChart() { - asyncService.getPieChart(); - if(redisCache.hasKey("getPieChart")){ - return redisCache.getCacheObject("getPieChart"); - } +// asyncService.getPieChart(); +// if(redisCache.hasKey("getPieChart")){ +// return redisCache.getCacheObject("getPieChart"); +// } return getAjaxResult(); } private AjaxResult getAjaxResult() { Map<String, Object> map = new HashMap<>(); + Date date=new Date(); + //鑾峰彇浣撴鐧昏鏁� LambdaQueryWrapper<TjOrder> wq0 = new LambdaQueryWrapper<>(); - wq0.between(TjOrder::getCreateTime, DateUtil.lastMonth(), DateUtil.now()); + wq0.between(TjOrder::getCreateTime,DateUtil.offsetMonth(date,-1),date); List<TjOrder> orderCountList = orderService.list(wq0); - if (null != orderCountList && orderCountList.size() > 0) { - List<PieChartVo> pieChartVoList = getTjorderCountMap(orderCountList); + if (null != orderCountList && !orderCountList.isEmpty()) { + List<PieChartVo> pieChartVoList = getTjorderCountMap(); map.put("tjdj", pieChartVoList); } else { map.put("tjdj", 0); } //鑾峰彇浣撴寮傚父鏁� LambdaQueryWrapper<TjOrder> wq1 = new LambdaQueryWrapper<>(); - wq1.between(TjOrder::getFinishTime, DateUtil.lastMonth(), DateUtil.now()); - wq1.eq(TjOrder::getCheckStatus, 1); - List<TjOrder> orderAbnormalCountList = orderService.list(wq1); - if (null != orderAbnormalCountList && orderAbnormalCountList.size() > 0) { - List<PieChartVo> pieChartVoList = getTjorderAbnormalCountMap(orderAbnormalCountList); + wq1.between(TjOrder::getCreateTime,DateUtil.offsetMonth(date,-1),date); +// wq1.isNotNull(TjOrder::getFinishTime); +// wq1.eq(TjOrder::getCheckStatus, 1); + List<TjOrder> orderList = orderService.list(wq1); + if (null !=orderList && !orderList.isEmpty()) { +// List<TjOrder> orderList = orderAbnormalCountList.stream().distinct().collect(Collectors.toList()); + List<PieChartVo> pieChartVoList = getTjorderAbnormalCountMap(); map.put("tjyc", pieChartVoList); } else { map.put("tjyc", 0); @@ -510,17 +343,17 @@ } //鑾峰彇浣撴鐧昏鏁� - private List<PieChartVo> getTjorderCountMap(List<TjOrder> orderList) { + private List<PieChartVo> getTjorderCountMap() { int a = 0; int b = 0; int c = 0; int d = 0; int e = 0; - Map<String, Object> map = null; - for (TjOrder tjOrder : orderList) { - map = new HashMap<>(); - TjCustomer customer = customerService.getById(tjOrder.getUserId()); - if (null != customer) { + Map<String, Object> map = new HashMap<>(); + Date date=new Date(); + List<TjCustomer> customers = hysqdService.getCgYcXmList(DateUtil.offsetMonth(date, -1), date); + if (null != customers && !customers.isEmpty()) { + for (TjCustomer customer : customers) { int age = DateUtil.ageOfNow(customer.getCusBrithday()); if (age >= 0 && age <= 3) { a += 1; @@ -534,14 +367,13 @@ e += 1; } } - map.put("0-3宀�", a); - map.put("3-16宀�", b); - map.put("16-40宀�", c); - map.put("40-60宀�", d); - map.put("60宀佷互涓�", e); } + map.put("0-3宀�", a); + map.put("3-16宀�", b); + map.put("16-40宀�", c); + map.put("40-60宀�", d); + map.put("60宀佷互涓�", e); List<PieChartVo> pieChartVoList = new ArrayList<>(); - assert map != null; for (Map.Entry<String, Object> entry : map.entrySet()) { PieChartVo pieChartVo = new PieChartVo(); pieChartVo.setName(entry.getKey()); @@ -552,44 +384,37 @@ } //鑾峰彇浣撴寮傚父鏁� - private List<PieChartVo> getTjorderAbnormalCountMap(List<TjOrder> orderList) { + private List<PieChartVo> getTjorderAbnormalCountMap() { int a = 0; int b = 0; int c = 0; int d = 0; int e = 0; - Map<String, Object> map = null; - for (TjOrder tjOrder : orderList) { - map = new HashMap<>(); - LambdaQueryWrapper<TjOrderDetail> wq = new LambdaQueryWrapper<>(); - wq.eq(TjOrderDetail::getOrderId, tjOrder.getOrderId()); - wq.eq(TjOrderDetail::getExceptionDesc, 1); - List<TjOrderDetail> list = detailService.list(wq); - if (null != list && list.size() > 0) { - TjCustomer customer = customerService.getById(tjOrder.getUserId()); - if (null != customer) { - int age = DateUtil.ageOfNow(customer.getCusBrithday()); - if (age >= 0 && age <= 3) { - a += 1; - } else if (age > 3 && age <= 16) { - b += 1; - } else if (age > 16 && age <= 40) { - c += 1; - } else if (age > 40 && age <= 60) { - d += 1; - } else { - e += 1; - } + Map<String, Object> map = new HashMap<>(); + Date date=new Date(); + List<TjCustomer> customers = hysqdService.getHyYcXmList(DateUtil.offsetMonth(date, -1), date); + if (null != customers && !customers.isEmpty()) { + for (TjCustomer customer : customers) { + int age = DateUtil.ageOfNow(customer.getCusBrithday()); + if (age >= 0 && age <= 3) { + a += 1; + } else if (age > 3 && age <= 16) { + b += 1; + } else if (age > 16 && age <= 40) { + c += 1; + } else if (age > 40 && age <= 60) { + d += 1; + } else { + e += 1; } - map.put("0-3宀�", a); - map.put("3-16宀�", b); - map.put("16-40宀�", c); - map.put("40-60宀�", d); - map.put("60宀佷互涓�", e); } } + map.put("0-3宀�", a); + map.put("3-16宀�", b); + map.put("16-40宀�", c); + map.put("40-60宀�", d); + map.put("60宀佷互涓�", e); List<PieChartVo> pieChartVoList = new ArrayList<>(); - assert map != null; for (Map.Entry<String, Object> entry : map.entrySet()) { PieChartVo pieChartVo = new PieChartVo(); pieChartVo.setName(entry.getKey()); @@ -610,7 +435,12 @@ public Integer ToBeToday() { //褰撳墠鏃ユ湡鎷兼帴寮�濮嬪拰缁撴潫鏃堕棿 //鏃堕棿瀛楃涓茬被鍨嬭浆鎹㈡椂闂寸被鍨� - return orderService.count(new QueryWrapper<TjOrder>().between("create_time", DateUtil.beginOfDay(new Date()), DateUtil.endOfDay(new Date())).eq("check_status", 0)); + return orderService.count(new QueryWrapper<TjOrder>() + .between("create_time", DateUtil.beginOfDay(new Date()), + DateUtil.endOfDay(new Date())) + .isNotNull("finish_time") + .eq("check_status", 0) + .ne("tj_category","13")); } /** @@ -623,7 +453,10 @@ public Integer checkedToday() { //褰撳墠鏃ユ湡鎷兼帴寮�濮嬪拰缁撴潫鏃堕棿 //鏃堕棿瀛楃涓茬被鍨嬭浆鎹㈡椂闂寸被鍨� - return orderService.count(new QueryWrapper<TjOrder>().isNotNull("finish_time").between("finish_time", DateUtil.beginOfDay(new Date()), DateUtil.endOfDay(new Date()))); + return orderService.count(new QueryWrapper<TjOrder>() + .isNotNull("finish_time") + .between("create_time", DateUtil.beginOfDay(new Date()), DateUtil.endOfDay(new Date())) + .last("and (check_status=1 OR tj_category=13)")); } /** @@ -634,7 +467,9 @@ public Integer ReportToday() { //褰撳墠鏃ユ湡鎷兼帴寮�濮嬪拰缁撴潫鏃堕棿 //鏃堕棿瀛楃涓茬被鍨嬭浆鎹㈡椂闂寸被鍨� - return orderService.count(new QueryWrapper<TjOrder>().isNotNull("report_time").between("report_time", DateUtil.beginOfDay(new Date()), DateUtil.endOfDay(new Date()))); + return orderService.count(new QueryWrapper<TjOrder>() + .isNotNull("report_time") + .between("create_time", DateUtil.beginOfDay(new Date()), DateUtil.endOfDay(new Date()))); } /** @@ -645,7 +480,8 @@ @GetMapping("/registerToday") @ApiOperation(value = "鏌ヨ浠婃棩鐧昏") public Integer RegisterToday() { - return orderService.count(new QueryWrapper<TjOrder>().between("create_time", DateUtil.beginOfDay(new Date()), DateUtil.endOfDay(new Date()))); + return orderService.count(new QueryWrapper<TjOrder>() + .between("create_time", DateUtil.beginOfDay(new Date()), DateUtil.endOfDay(new Date()))); } @@ -720,13 +556,14 @@ Integer tuan=0; BigDecimal shouyi=new BigDecimal(0); for (TjOrder tjOrder : list) { - final TjCustomer byId = customerService.getById(tjOrder.getUserId()); - if (byId.getCusSex()==0){ - boys+=1; - }else if (byId.getCusSex()==1){ - girls+=1; + TjCustomer customer = customerService.getById(tjOrder.getUserId()); + if(null !=customer){ + if (customer.getCusSex()==0){ + boys+=1; + }else if (customer.getCusSex()==1){ + girls+=1; + } } - if ("2".equals(tjOrder.getTjType())){ person+=1; } else if ("1".equals(tjOrder.getTjType())) { @@ -737,7 +574,10 @@ wqqq.eq(TjFlowingWater::getOrderId,tjOrder.getOrderId()); final List<TjFlowingWater> list1 = tjFlowingWaterService.list(wqqq); for (TjFlowingWater tjFlowingWater : list1) { - shouyi.add(tjFlowingWater.getPaidIn()); + if(null !=tjFlowingWater.getPaidIn()){ + shouyi.add(tjFlowingWater.getPaidIn()); + } + } } chartVo.setBoysNum(boys); -- Gitblit v1.8.0