From a28c894d35b5ca697bfe455c2d584c7f28ec3722 Mon Sep 17 00:00:00 2001
From: lige <bestlige@outlook.com>
Date: 星期五, 15 十二月 2023 15:51:59 +0800
Subject: [PATCH] 优化项目列表

---
 ltkj-admin/src/main/java/com/ltkj/web/controller/system/TjHomePageController.java |  147 ++++++++++++++++++++++++++++++++++++++++++++++++-
 1 files changed, 144 insertions(+), 3 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 52dd24f..b8aadcf 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
@@ -6,8 +6,10 @@
 import com.ltkj.common.core.domain.AjaxResult;
 import com.ltkj.common.core.domain.entity.SysDept;
 import com.ltkj.common.core.domain.entity.SysUser;
+import com.ltkj.common.core.redis.RedisCache;
 import com.ltkj.common.utils.DateUtils;
 import com.ltkj.hosp.domain.*;
+import com.ltkj.hosp.dto.TjChartVo;
 import com.ltkj.hosp.service.*;
 import com.ltkj.hosp.vodomain.*;
 import com.ltkj.system.service.ISysDeptService;
@@ -15,10 +17,12 @@
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
 import io.swagger.annotations.ApiParam;
+import io.swagger.models.auth.In;
 import org.springframework.security.access.prepost.PreAuthorize;
 import org.springframework.web.bind.annotation.*;
 
 import javax.annotation.Resource;
+import java.math.BigDecimal;
 import java.text.DateFormat;
 import java.text.ParseException;
 import java.text.SimpleDateFormat;
@@ -43,11 +47,18 @@
     @Resource
     private ITjProjectService projectService;
     @Resource
+    private RedisCache redisCache;
+    @Resource
+    private TjAsyncService asyncService;
+    @Resource
     private ISysDeptService deptService;
     @Resource
     private ISysUserService userService;
     @Resource
     private ITjOrderRemarkService remarkService;
+
+    @Resource
+    private ITjFlowingWaterService tjFlowingWaterService;
 
 
     @GetMapping("/GetChartByDate")
@@ -317,7 +328,7 @@
 
     @GetMapping("/GetAbnormalData")
     @ApiOperation(value = "浣撴缁撴灉寮傚父鏁版嵁缁熻鍒嗘瀽")
-    @PreAuthorize("@ss.hasPermi('home:page:GetAbnormalData')")
+//    @PreAuthorize("@ss.hasPermi('home:page:GetAbnormalData')")
     public List<AbnormalVO> GetAbnormalData(@RequestParam(required = false) String startDate, @RequestParam(required = false) String endDate) {
         List<AbnormalVO> list = new ArrayList<>();
         List<TjOrderDetail> list1 = detailService.getTjOrderDetailList(startDate,endDate);
@@ -400,7 +411,7 @@
 
     @GetMapping("/getDiseaseList")
     @ApiOperation("鏍规嵁鐤剧梾鍚嶇О鏌ヨ鐩稿叧浜哄憳淇℃伅鎺ュ彛")
-    @PreAuthorize("@ss.hasPermi('home:page:getDiseaseList')")
+//    @PreAuthorize("@ss.hasPermi('home:page:getDiseaseList')")
     public AjaxResult getDiseaseList(@ApiParam(value = "鐤剧梾鍚嶇О") @RequestParam String disesseName,
                                      @ApiParam(value = "寮�濮嬫椂闂�") @RequestParam(required = false) String beginTime,
                                      @ApiParam(value = "缁撴潫鏃堕棿") @RequestParam(required = false) String endTime) {
@@ -446,7 +457,16 @@
     @GetMapping("/getLineChart")
     @ApiOperation(value = "棣栭〉鎶樼嚎鍥炬暟鎹�")
     public AjaxResult getLineChart() {
-        List<Map<Object, Object>> line = orderService.getLine();
+        asyncService.getLineChart();
+        if(redisCache.hasKey("getLineChart")){
+            return redisCache.getCacheObject("getLineChart");
+        }
+        return getResult();
+    }
+
+    private AjaxResult getResult() {
+//        List<Map<Object, Object>> line = orderService.getLine();
+        List<LineChartsVo> line = orderService.getLine();
         Collections.reverse(line);
         return AjaxResult.success("鎶樼嚎鍥炬暟鎹�", line);
     }
@@ -454,6 +474,14 @@
     @GetMapping("/getPieChart")
     @ApiOperation(value = "棣栭〉楗肩姸鍥剧櫥璁颁汉鏁版帴鍙�")
     public AjaxResult getPieChart() {
+        asyncService.getPieChart();
+        if(redisCache.hasKey("getPieChart")){
+            return redisCache.getCacheObject("getPieChart");
+        }
+        return getAjaxResult();
+    }
+
+    private AjaxResult getAjaxResult() {
         Map<String, Object> map = new HashMap<>();
 
         //鑾峰彇浣撴鐧昏鏁�
@@ -477,6 +505,7 @@
         } else {
             map.put("tjyc", 0);
         }
+
         return AjaxResult.success(map);
     }
 
@@ -618,4 +647,116 @@
     public Integer RegisterToday() {
         return orderService.count(new QueryWrapper<TjOrder>().between("create_time", DateUtil.beginOfDay(new Date()), DateUtil.endOfDay(new Date())));
     }
+
+
+    @GetMapping("/getChartByDeptId")
+    @ApiOperation("鏍规嵁閮ㄩ棬鏌ヨ浣撴缁熻")
+    public AjaxResult getChartByDeptId(@RequestParam Long deptId,
+                                       @ApiParam(value = "寮�濮嬫椂闂�") @RequestParam(required = false) String beginTime,
+                                       @ApiParam(value = "缁撴潫鏃堕棿") @RequestParam(required = false) String endTime) {
+        List<TjChartVo> res=new ArrayList();
+        LambdaQueryWrapper<TjOrderRemark> wq0 = new LambdaQueryWrapper<>();
+        wq0.eq(TjOrderRemark::getDeptId, deptId);
+        List<TjOrderRemark> remarkList = remarkService.list(wq0);
+
+        List<Long> proIdList = remarkList.stream().map(TjOrderRemark::getProId).distinct().collect(Collectors.toList());
+        for (Long aLong : proIdList) {
+            LambdaQueryWrapper<TjOrderRemark> wq00 = new LambdaQueryWrapper<>();
+            wq00.eq(TjOrderRemark::getDeptId, deptId);
+            List<TjOrderRemark> remarkList1 = remarkService.list(wq00);
+            Integer num1=0;
+            Integer num2=0;
+            Integer num3=0;
+            Integer num4=0;
+            TjChartVo chartVo=new TjChartVo();
+            chartVo.setDeptId(deptId);
+            chartVo.setDeptName(deptService.getById(deptId).getDeptName());
+            for (TjOrderRemark tjOrderRemark : remarkList1) {
+                if (tjOrderRemark.getType()==1){
+                    num1+=1;
+                }else if (tjOrderRemark.getType()==0){
+                    num1+=1;
+                }else if (tjOrderRemark.getType()==3){
+                    num1+=1;
+                }else if (tjOrderRemark.getType()==2){
+                    num1+=1;
+                }
+            }
+            chartVo.setYijianNum(String.valueOf(num1));
+            chartVo.setWeijianNum(String.valueOf(num2));
+            chartVo.setYanqiNum(String.valueOf(num3));
+            chartVo.setQijianNum(String.valueOf(num4));
+            res.add(chartVo);
+        }
+        return AjaxResult.success(res);
+    }
+
+
+    @GetMapping("/getTiaoByDeptId")
+    @ApiOperation("鏍规嵁閮ㄩ棬鍜屾椂闂存鏌ヨ浣撴缁熻鍥捐〃")
+    public AjaxResult getTiaoByDeptId(@RequestParam Long deptId,
+                                       @ApiParam(value = "寮�濮嬫椂闂�") @RequestParam(required = false) String beginTime,
+                                       @ApiParam(value = "缁撴潫鏃堕棿") @RequestParam(required = false) String endTime) {
+
+        return AjaxResult.success();
+    }
+
+    @GetMapping("/getTiaoNumsByDate")
+    @ApiOperation("鏍规嵁鏃堕棿鏌ヨ浣撴缁熻鍥捐〃")
+    public AjaxResult getTiaoNumsByDate(@ApiParam(value = "寮�濮嬫椂闂�")String beginTime,
+                                      @ApiParam(value = "缁撴潫鏃堕棿") String endTime) {
+        TjChartVo chartVo=new TjChartVo();
+        LambdaQueryWrapper<TjOrder> wqq = new LambdaQueryWrapper<>();
+        wqq.gt(TjOrder::getStatus,200);
+        if (null != beginTime && null != endTime) {
+            wqq.between(TjOrder::getCreateTime, beginTime, endTime);
+        }
+        final List<TjOrder> list = orderService.list(wqq);
+        chartVo.setTijianNum(list.size());
+
+        Integer boys=0;
+        Integer girls=0;
+        Integer person=0;
+        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;
+            }
+
+            if ("2".equals(tjOrder.getTjType())){
+                person+=1;
+            } else if ("1".equals(tjOrder.getTjType())) {
+                tuan+=1;
+            }
+            //璁$畻鏀剁泭
+            LambdaQueryWrapper<TjFlowingWater> wqqq=new LambdaQueryWrapper<>();
+            wqqq.eq(TjFlowingWater::getOrderId,tjOrder.getOrderId());
+            final List<TjFlowingWater> list1 = tjFlowingWaterService.list(wqqq);
+            for (TjFlowingWater tjFlowingWater : list1) {
+                shouyi.add(tjFlowingWater.getPaidIn());
+            }
+        }
+        chartVo.setBoysNum(boys);
+        chartVo.setGirlsNum(girls);
+        chartVo.setPersonNum(person);
+        chartVo.setTuanDuiNum(tuan);
+        chartVo.setMoneysNum(shouyi);
+        return AjaxResult.success(chartVo);
+    }
+
+
+    @GetMapping("/getListByTjNumber")
+    @ApiOperation("鏍规嵁浣撴鍙蜂笅鐨勯」鐩垪琛�")
+    public AjaxResult getListByTjNumber(@RequestParam String tjNumber) {
+        LambdaQueryWrapper<TjOrderRemark> wq0 = new LambdaQueryWrapper<>();
+        wq0.eq(TjOrderRemark::getTjNumber, tjNumber);
+        List<TjOrderRemark> remarkList = remarkService.list(wq0);
+        return AjaxResult.success(remarkList);
+    }
+
+
 }

--
Gitblit v1.8.0