From df62988da54d44526b0ea768b64a6e176c00e737 Mon Sep 17 00:00:00 2001 From: lige <bestlige@outlook.com> Date: 星期一, 04 十二月 2023 14:52:31 +0800 Subject: [PATCH] 111 --- ltkj-admin/src/main/java/com/ltkj/web/controller/service/TjSysAsyncServiceImpl.java | 179 ++++++++++++++++++++++++++++++++++++++++++++++++++++++----- 1 files changed, 164 insertions(+), 15 deletions(-) diff --git a/ltkj-admin/src/main/java/com/ltkj/web/controller/service/TjSysAsyncServiceImpl.java b/ltkj-admin/src/main/java/com/ltkj/web/controller/service/TjSysAsyncServiceImpl.java index c5e3e31..ac5be6f 100644 --- a/ltkj-admin/src/main/java/com/ltkj/web/controller/service/TjSysAsyncServiceImpl.java +++ b/ltkj-admin/src/main/java/com/ltkj/web/controller/service/TjSysAsyncServiceImpl.java @@ -12,6 +12,8 @@ import com.ltkj.hosp.domain.*; import com.ltkj.hosp.service.*; import com.ltkj.hosp.vodomain.AddNewReservationConfirm; +import com.ltkj.hosp.vodomain.LineChartsVo; +import com.ltkj.hosp.vodomain.PieChartVo; import com.ltkj.hosp.vodomain.QjDomainVo; import com.ltkj.mall.mallOrderUtils.TjConstants; import com.ltkj.system.service.ISysUserService; @@ -26,6 +28,7 @@ import java.util.*; import java.util.concurrent.ExecutorService; import java.util.concurrent.Executors; +import java.util.concurrent.TimeUnit; import java.util.regex.Matcher; import java.util.regex.Pattern; import java.util.stream.Collectors; @@ -886,7 +889,6 @@ @Override @Async("async") public void saveNewReservationConfirm(List<TjReservation> rightList) { - long l = System.currentTimeMillis(); if(null !=rightList && rightList.size()>0){ //鍒涘缓绾跨▼姹� ExecutorService threadPool = Executors.newFixedThreadPool(rightList.size()); @@ -908,16 +910,13 @@ }); } } - long ll = System.currentTimeMillis(); - - System.out.println("杩欐浠g爜鎵ц鏃堕棿涓�"+ (ll-l)); } @Override @Async("async") public void updateCheckType(String tjNum) { -// AjaxResult ajaxResult = getAjaxResult(tjNum); redisCache.setCacheMapValue("updateCheckType"+tjNum,tjNum,getAjaxResult(tjNum)); + redisCache.setHashKeyExpireTime("updateCheckType"+tjNum,7L, TimeUnit.DAYS); } @Override @@ -944,7 +943,148 @@ }else { redisCache.setCacheMapValue("getOrderDetailByProParentId"+tjNumber,proParentId,getOrderDetailByProParentId(proParentId,tjNumber)); } + redisCache.setHashKeyExpireTime("getOrderDetailByProParentId"+tjNumber,7L,TimeUnit.DAYS); + } + + @Override + @Async("async") + public void getLineChart() { + redisCache.setCacheObject("getLineChart",getLineCharts()); + } + + @Override + @Async("async") + public void getPieChart() { + redisCache.setCacheObject("getPieChart",getPieCharts()); + } + + //棣栭〉楗肩姸鍥剧櫥璁颁汉鏁版帴鍙� + private AjaxResult getPieCharts() { + Map<String, Object> map = new HashMap<>(); + + //鑾峰彇浣撴鐧昏鏁� + LambdaQueryWrapper<TjOrder> wq0 = new LambdaQueryWrapper<>(); + wq0.between(TjOrder::getCreateTime, DateUtil.lastMonth(), DateUtil.now()); + List<TjOrder> orderCountList = orderService.list(wq0); + if (null != orderCountList && orderCountList.size() > 0) { + List<PieChartVo> pieChartVoList = getTjorderCountMap(orderCountList); + 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); + map.put("tjyc", pieChartVoList); + } else { + map.put("tjyc", 0); + } + + return AjaxResult.success(map); + } + + //棣栭〉鎶樼嚎鍥炬暟鎹� + private AjaxResult getLineCharts() { +// List<Map<Object, Object>> line = orderService.getLine(); + List<LineChartsVo> line = orderService.getLine(); + Collections.reverse(line); + return AjaxResult.success("鎶樼嚎鍥炬暟鎹�", line); + } + + + //鑾峰彇浣撴鐧昏鏁� + private List<PieChartVo> getTjorderCountMap(List<TjOrder> orderList) { + 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 = tjCustomerService.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.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()); + pieChartVo.setCount((Integer) entry.getValue()); + pieChartVoList.add(pieChartVo); + } + return pieChartVoList; + } + + //鑾峰彇浣撴寮傚父鏁� + private List<PieChartVo> getTjorderAbnormalCountMap(List<TjOrder> orderList) { + 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 = tjOrderDetailService.list(wq); + if (null != list && list.size() > 0) { + TjCustomer customer = tjCustomerService.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.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()); + pieChartVo.setCount((Integer) entry.getValue()); + pieChartVoList.add(pieChartVo); + } + return pieChartVoList; } private List<DictSfxm> getDictSfxm() { @@ -1162,6 +1302,8 @@ customer.setTjTime(order.getCreateTime()); customer.setTjNumber(order.getTjNumber()); customer.setTjStatus(1L); + customer.setOrderId(order.getOrderId()); + customer.setIsHz(order.getIsHz()); LambdaQueryWrapper<TjOrderRemark> wq = new LambdaQueryWrapper<>(); wq.eq(TjOrderRemark::getTjNumber, order.getTjNumber()); wq.in(TjOrderRemark::getType, 0,3); @@ -1216,6 +1358,8 @@ } customer.setTjTime(order.getCreateTime()); customer.setTjNumber(order.getTjNumber()); + customer.setOrderId(order.getOrderId()); + customer.setIsHz(order.getIsHz()); customer.setTjStatus(0L); LambdaQueryWrapper<TjOrderRemark> wq = new LambdaQueryWrapper<>(); wq.eq(TjOrderRemark::getTjNumber, order.getTjNumber()); @@ -1316,14 +1460,12 @@ return customerList; } //鎬绘鐐瑰嚮浣撴淇℃伅璇︽儏 - private AjaxResult getAjaxResult(String tjNumber) { + private List<Map<String, Object>> getAjaxResult(String tjNumber) { List<Map<String, Object>> list = new ArrayList<>(); TjOrder one = orderService.getOrderByTjNum(tjNumber); - if (one == null) { - return AjaxResult.error("鏆傛棤鏁版嵁锛侊紒"); + return list; } - TjCustomer customer = tjCustomerService.getById(one.getUserId()); List<TjOrderRemark> remarkList = orderRemarkService.getRemarkListByTjNumAndType(tjNumber); @@ -1340,7 +1482,11 @@ if (null != tjOrderDetails && tjOrderDetails.size() > 0) { for (TjOrderDetail tjOrderDetail : tjOrderDetails) { final TjProject byId = projectService.selectTjProjectByProId(tjOrderDetail.getProId()); + if(null==byId){ + tjOrderDetailService.removeById(tjOrderDetail.getOrderDetailId()); + }else { tjOrderDetail.setProject(byId); + } List<TjStandard> list2 = tjStandardService.getTjStandardListByProId(String.valueOf(tjOrderDetail.getProId())); if (list2.size() == 0) { tjOrderDetail.setStandard(new TjStandard()); @@ -1355,7 +1501,14 @@ String summary = remark.getSummary(); if (null != summary) { String[] split = summary.split(";"); - parent.put("parentAdvice", tjAdviceService.getAdviceStringByIds(Arrays.asList(split))); +// List<Long> longList = new ArrayList<>(); +// for (String str : split) { +// if(!"".equals(str)){ +// longList.add(Long.valueOf(str)); +// } +// } +// parent.put("parentAdvice", tjAdviceService.getAdviceStringByIds(longList)); + parent.put("parentAdvice", tjAdviceService.getAdviceStringsByIds(Arrays.asList(split))); } else { parent.put("parentAdvice", null); @@ -1366,14 +1519,10 @@ parent.put("doctorName", userService.getById(remark.getDoctorName()).getNickName()); } list.add(parent); - } else { - return AjaxResult.success("璇ュ鎴锋病鏈変綋妫�椤圭洰鏁版嵁"); } -// } } - return AjaxResult.success(list); } - return AjaxResult.success("璇ュ鎴锋病鏈変綋妫�椤圭洰鏁版嵁锛�"); + return list; } //宸茬鏀�/鏈鏀� private List<Map<String, Object>> getYWqsResult(int a) { -- Gitblit v1.8.0