From fc868e56b1e8199d2c4267fae74c44cfa62a777f Mon Sep 17 00:00:00 2001
From: zjh <zjh@888>
Date: 星期三, 31 一月 2024 09:13:51 +0800
Subject: [PATCH] zjh 本地 2024/01/31 -1

---
 ltkj-admin/src/main/java/com/ltkj/web/controller/system/TjHomePageController.java |  145 +++++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 143 insertions(+), 2 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 0db4807..e849ab1 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")
@@ -295,7 +306,6 @@
                     if (s.equals(tjOrder.getCheckDoctor()) && tjOrder.getReleaseTime() != null) {
                         releaseCount++;
                     }
-                    // TODO: 2023/3/31 鍙戦�佺煭淇�/閭欢缁熻
                     if (s.equals(tjOrder.getCheckDoctor()) && "1".equals(tjOrder.getSendEmail())) {
                         messageCount++;
                     }
@@ -446,7 +456,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 +473,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 +504,7 @@
         } else {
             map.put("tjyc", 0);
         }
+
         return AjaxResult.success(map);
     }
 
@@ -618,4 +646,117 @@
     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) {
+            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())) {
+                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