From ec2bb08f0aad10bbf1f133046d8e9943be3a6d72 Mon Sep 17 00:00:00 2001
From: zjh <zjh@888>
Date: 星期三, 26 六月 2024 15:34:44 +0800
Subject: [PATCH] zjh 本地 2024/06/26 --3修改签到撤销接口不判断作废状态

---
 ltkj-admin/src/main/java/com/ltkj/web/controller/system/TjHomePageController.java |  171 ++++++++++++++++++++++++++++++++++++++++++++++++++++++--
 1 files changed, 163 insertions(+), 8 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..a9503b5 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++;
                     }
@@ -317,7 +327,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 +410,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 +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);
     }
 
@@ -581,7 +609,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"));
     }
 
     /**
@@ -594,7 +627,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)"));
     }
 
     /**
@@ -605,7 +641,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())));
     }
 
     /**
@@ -616,6 +654,123 @@
     @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())));
     }
+
+
+    @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) {
+                if(null !=tjFlowingWater.getPaidIn()){
+                    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