forked from kidgrow-microservices-platform

侯瑞军
2021-03-31 2f10692d098af93490c46aa561a353fc5870c789
kidgrow-business/kidgrow-opration-center/kidgrow-opration-center-biz/src/main/java/com/kidgrow/oprationcenter/service/impl/ProductOrderDetailServiceImpl.java
@@ -1,7 +1,6 @@
package com.kidgrow.oprationcenter.service.impl;
import com.alibaba.fastjson.JSON;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.kidgrow.common.constant.CommonConstant;
import com.kidgrow.common.model.*;
@@ -225,11 +224,33 @@
     * @return
     */
    @Override
    public PageResult<ProductOrderDetail> departmentProductDetail(Map<String, Object> params) {
    public PageResult<ProductOrderDetailVo> departmentProductDetail(Map<String, Object> params) {
        Page<ProductOrderDetail> page = new Page<>(MapUtils.getInteger(params, "page"), MapUtils.getInteger(params, "limit"));
        Boolean enabled = MapUtils.getBoolean(params, "enabled");
        List<ProductOrderDetail> list  =
                baseMapper.departmentProductDetail(page, Long.parseLong(params.get("hospitalId").toString()),Long.parseLong(params.get("departmentId").toString()));
        return PageResult.<ProductOrderDetail>builder().data(list).code(0).count(page.getTotal()).build();
                baseMapper.departmentProductDetail(page, Long.parseLong(params.get("hospitalId").toString()),Long.parseLong(params.get("departmentId").toString()),enabled);
        List<ProductOrderDetailVo> listvo = new ArrayList<>();
        for (ProductOrderDetail productOrderDetail : list) {
            ProductOrderDetailVo productOrderDetailVo=new ProductOrderDetailVo();
            BeanCopier beanCopier = BeanCopier.create(ProductOrderDetail.class, ProductOrderDetailVo.class, false);
            beanCopier.copy(productOrderDetail,productOrderDetailVo,null);
            Date proBegintime = productOrderDetailVo.getProBegintime();
            Date proEndtime = productOrderDetailVo.getProEndtime();
            Date nowDate = new Date();
            if(productOrderDetailVo.getEnabled()){
                if(nowDate.getTime()<proBegintime.getTime()){
                    productOrderDetailVo.setUseType("未使用");
                }else if (proBegintime.getTime()<=nowDate.getTime()&&nowDate.getTime()<proEndtime.getTime()){
                    productOrderDetailVo.setUseType("使用中");
                }else if(nowDate.getTime()>=proEndtime.getTime()){
                    productOrderDetailVo.setUseType("已结束");
                }
            }else {
                productOrderDetailVo.setUseType("禁用");
            }
            listvo.add(productOrderDetailVo);
        }
        return PageResult.<ProductOrderDetailVo>builder().data(listvo).code(0).count(page.getTotal()).build();
    }
    @Override
@@ -348,25 +369,15 @@
    {
        //查询当前医院正在使用的套餐
        Map<String, Object> selectMap = new HashMap<>();
        selectMap.put("hospital_id", hospitalId);
        selectMap.put("is_del",0);
        selectMap.put("enabled",1);
        List<ProductOrder> productOrders = iProductOrderService.listByMap(selectMap);
        if(productOrders!=null&&productOrders.size()>0){
//            List<ProductOrderJoinDetail> productOrderDetailList = this.findAllList(selectMap);
            QueryWrapper queryWrapper=new QueryWrapper();
            queryWrapper.eq("is_del",0);
            queryWrapper.eq("enabled",1);
            queryWrapper.in("order_id",productOrders.stream().map(ProductOrder::getId).collect(Collectors.toList()));
            List<ProductOrderJoinDetail> productOrderDetailList = this.baseMapper.selectList(queryWrapper);
            if (productOrderDetailList.size() > 0) {
                UserProductDetail userProductDetail=new UserProductDetail();
                //包含共享的数据
                userProductDetail.setProductOrderJoinDetailListShare(productOrderDetailList.stream().filter(f -> f.getIsShare()).collect(Collectors.toList()));
                //科室私有的数据
                userProductDetail.setProductOrderJoinDetailsListDep(productOrderDetailList.stream().filter((f -> departmentId.equals(f.getDepartmentId()) && !f.getIsShare())).collect(Collectors.toList()));
                return userProductDetail;
            }
        selectMap.put("hospitalId", hospitalId);
        List<ProductOrderJoinDetail> productOrderDetailList = this.findAllList(selectMap);
        if (productOrderDetailList.size() > 0) {
            UserProductDetail userProductDetail=new UserProductDetail();
            //包含共享的数据
            userProductDetail.setProductOrderJoinDetailListShare(productOrderDetailList.stream().filter(f -> f.getIsShare()).collect(Collectors.toList()));
            //科室私有的数据
            userProductDetail.setProductOrderJoinDetailsListDep(productOrderDetailList.stream().filter((f -> departmentId.equals(f.getDepartmentId()) && !f.getIsShare())).collect(Collectors.toList()));
            return userProductDetail;
        }
        return null;
    }