From e940b53f9d8fd9056aee2870e41a6e7932b2e8d6 Mon Sep 17 00:00:00 2001 From: houruijun <411269194@kidgrow.com> Date: Mon, 24 Aug 2020 17:21:41 +0800 Subject: [PATCH] 1.修改获取余额的时候,将预扣费算作有效的bug 2.医院管理 增加了显示医院编号 --- kidgrow-business/kidgrow-opration-center/kidgrow-opration-center-biz/src/main/java/com/kidgrow/oprationcenter/service/impl/ProductOrderDetailServiceImpl.java | 79 +++++++++++++++++++++++++++++++++------ 1 files changed, 67 insertions(+), 12 deletions(-) diff --git a/kidgrow-business/kidgrow-opration-center/kidgrow-opration-center-biz/src/main/java/com/kidgrow/oprationcenter/service/impl/ProductOrderDetailServiceImpl.java b/kidgrow-business/kidgrow-opration-center/kidgrow-opration-center-biz/src/main/java/com/kidgrow/oprationcenter/service/impl/ProductOrderDetailServiceImpl.java index 853e235..9f7c20a 100644 --- a/kidgrow-business/kidgrow-opration-center/kidgrow-opration-center-biz/src/main/java/com/kidgrow/oprationcenter/service/impl/ProductOrderDetailServiceImpl.java +++ b/kidgrow-business/kidgrow-opration-center/kidgrow-opration-center-biz/src/main/java/com/kidgrow/oprationcenter/service/impl/ProductOrderDetailServiceImpl.java @@ -2,14 +2,12 @@ import com.alibaba.fastjson.JSON; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; -import com.kidgrow.common.constant.ConsumptionConstant; import com.kidgrow.common.model.*; import com.kidgrow.common.service.impl.SuperServiceImpl; import com.kidgrow.common.utils.DateUtils; import com.kidgrow.oprationcenter.feign.DiagnosticService; import com.kidgrow.oprationcenter.mapper.ConsumptionRecordMapper; import com.kidgrow.oprationcenter.mapper.ProductOrderDetailMapper; -import com.kidgrow.oprationcenter.mapper.ProductOrderMapper; import com.kidgrow.oprationcenter.model.ConsumptionRecord; import com.kidgrow.oprationcenter.model.ProductOrder; import com.kidgrow.oprationcenter.model.ProductOrderDetail; @@ -76,7 +74,7 @@ * @param departmentId * @return */ - public ResultBody UserProductDetailData(Long hospitalId,Long departmentId) + public ResultBody<UserProductData> UserProductDetailData(Long hospitalId,Long departmentId) { UserProductData userProductData=new UserProductData(); userProductData.setEnd(true); @@ -95,6 +93,11 @@ return ResultBody.ok().data(userProductData); } + /** + * 获取需要审核的套餐 + * @param params + * @return + */ @Override public PageResult all(Map<String, Object> params) { Page<ProductOrderDetail> page = new Page<>(MapUtils.getInteger(params, "page"), MapUtils.getInteger(params, "limit")); @@ -117,6 +120,54 @@ } } return PageResult.<ProductOrderDetailVo>builder().data(volist).code(0).count(page.getTotal()).build(); + } + + /** + * 获取科室试用次数 + * @param departmentId 科室ID + * @return + */ + @Override + public int getEnabledCount(Long departmentId) { + int counts=baseMapper.getEnabledCount(departmentId); + return counts; + } + /** + * 统计获取数据量 + * @param datatype + * 0 试用审核量 + * 1 套餐总量 + * 2 未处理用户反馈 + * 3 未处理数据需求 + * @return + */ + @Override + public int oprationChart(int datatype) { + return baseMapper.oprationChart(datatype); + } + /** + * 按指定类型统计合同数量 + * @param params + * datatype 1 按年 + * 2 按月 + * 3 按天 + * 4 按周 + * beginTime 查询时间段的开始时间 + * endTime 结束时间 + * @return + */ + @Override + public List<OrderChartVo> productOrderChart(Map<String, Object> params) { + return baseMapper.productOrderChart(params); + } + /** + * 统计产品的使用数量 + * @return ccount 是数量 + * units 是产品名称 + */ + @Override + public List<OrderChartVo> proCountChart() { + return baseMapper.proCountChart(); } /** @@ -235,7 +286,7 @@ //包含共享的数据 userProductDetail.setProductOrderJoinDetailListShare(productOrderDetailList.stream().filter(f -> f.getIsShare()).collect(Collectors.toList())); //科室私有的数据 - userProductDetail.setProductOrderJoinDetailsListDep(productOrderDetailList.stream().filter((f -> departmentId.equals(f.getDepartmentId()) && f.getIsShare() == false)).collect(Collectors.toList())); + userProductDetail.setProductOrderJoinDetailsListDep(productOrderDetailList.stream().filter((f -> departmentId.equals(f.getDepartmentId()) && !f.getIsShare())).collect(Collectors.toList())); return userProductDetail; } return null; @@ -263,18 +314,22 @@ int depCount = productOrderJoinDetailsListDep.stream().collect(Collectors.summingInt(ProductOrderJoinDetail::getAilightCount)); //可用的总量 userAICount = shareCount + depCount; + + //共享套餐里面的detailid + List<Long> shareDetailId = productOrderJoinDetailListShare.stream().map(m -> m.getId()).collect(Collectors.toList()); + //私有套餐里面的detailid + List<Long> depDetailId = productOrderJoinDetailsListDep.stream().map(m -> m.getId()).collect(Collectors.toList()); + + //获取所有有效的套餐id + List<Long> nowDetailList=shareDetailId; + nowDetailList.addAll(depDetailId); + //查询已预扣 未退还 未扣费的数据 + List<ConsumptionRecord> consumptionRecordList = consumptionRecordMapper.findDetailList(nowDetailList); //计算预扣费的总量 - Map<String, Object> selectMap = new HashMap<>(); - selectMap.put("recordType", ConsumptionConstant.BEFORE_DEDUCTION); - List<ConsumptionRecord> consumptionRecordList = consumptionRecordMapper.findList(selectMap);; if (consumptionRecordList.size() > 0) { - //共享套餐里面的detailid - List<Long> shareDetailId = productOrderJoinDetailListShare.stream().map(m -> m.getId()).collect(Collectors.toList()); - //私有套餐里面的detailid - List<Long> depDetailId = productOrderJoinDetailsListDep.stream().map(m -> m.getId()).collect(Collectors.toList()); //共享套餐里面预扣费总数 int shareConCount = consumptionRecordList.stream().filter(f -> shareDetailId.contains(f.getProOrderDetailId())).collect(Collectors.summingInt(ConsumptionRecord::getConsumptionCount)); - //共享套餐里面预扣费总数 + //私有套餐里面预扣费总数 int depConCount = consumptionRecordList.stream().filter(f -> depDetailId.contains(f.getProOrderDetailId())).collect(Collectors.summingInt(ConsumptionRecord::getConsumptionCount)); userAICount -= (shareConCount + depConCount); } -- Gitblit v1.8.0