zjh
2024-09-11 3844954e02e67611fd57dafa236ee2c20e258b78
ltkj-admin/src/main/java/com/ltkj/web/controller/service/TjSysAsyncServiceImpl.java
@@ -129,6 +129,8 @@
    private ISysDeptService deptService;
    @Autowired
    private TjCfService cfService;
    @Resource
    private LtkjHysqdService hysqdService;
    @Override
    public void newSaveextracted(TjOrder tjOrder, TjCustomer tjCustomer, BigDecimal discount, SysUser sysUser, TjReservation tjReservation, TjFlowingWater tjFlowingWater) {
@@ -501,7 +503,7 @@
    @Override
    @Async("async")
    @Transactional
//    @Transactional
    public void iundividualCharges(TjFlowingWater tjFlowingWater, TjOrder order, TjCustomer customer, SysUser sysUser) {
        Date dates = new Date();
        final String date = DateUtil.format(dates, "yyyy-MM-dd HH:mm:ss");
@@ -520,7 +522,6 @@
        proBl.setBlje(String.valueOf(tjFlowingWater.getPaidIn()));
        blService.save(proBl);
        List<TjConsumables> list2 = new ArrayList<>();
        String[] tjProIds = tjFlowingWater.getTjProIds();
        String config = configService.selectConfigByKey("sfkqdyhis");
@@ -540,8 +541,9 @@
        List<TjProject>  projectList=new ArrayList<>();
        for (String tjProId : tjProIds) {
            LambdaQueryWrapper<TbTransition> wqq = new LambdaQueryWrapper<>();
            wqq.eq(TbTransition::getCusId, customer.getCusIdcard());
//            LambdaQueryWrapper<TbTransition> wqq = new LambdaQueryWrapper<>();
//            wqq.eq(TbTransition::getCusId, customer.getCusIdcard());
//            wqq.isNull(TbTransition::getTjNum);
            TjProject project = projectService.getById(Long.valueOf(tjProId));
            if (null != project && project.getProParentId() == 0) {
                TjOrderRemark tjOrderRemark = new TjOrderRemark();
@@ -589,7 +591,7 @@
                    detail1.setJxbz(jxbz);
                    tjOrderDetailService.save(detail1);
                }
                wqq.in(TbTransition::getProId, proIds);
//                wqq.in(TbTransition::getProId, proIds);
                if(null !=config && config.equals("Y")){
                //检验
@@ -727,7 +729,7 @@
            } else {
                wqq.in(TbTransition::getProId, Arrays.asList(tjProIds));
//                wqq.in(TbTransition::getProId, Arrays.asList(tjProIds));
                TjProject projects = projectService.selectTjProjectByProId(Long.valueOf(tjProId));
                if (null != projects) {
                    TjProject projectss = projectService.getById(projects.getProParentId());
@@ -735,11 +737,9 @@
                        projectList.add(projectss);
                    }
                }
//                List<Long> proIds = projectService.getTjProjectListBySoneId(tjProId).stream().map(TjProject::getProId).collect(Collectors.toList());
                TjOrderDetail detail = new TjOrderDetail();
                detail.setTjStatus(0L);
                detail.setOrderId(tjFlowingWater.getOrderId());
//                detail.setFlowingWaterId(String.valueOf(tjFlowingWater.getTjSerialNumber()));
                detail.setProId(Long.valueOf(tjProId));
                detail.setIsAddition("Y");
                detail.setCreateBy(sysUser.getNickName());
@@ -753,64 +753,23 @@
            }
            List<TbTransition> tbTransitionList = transitionService.list(wqq);
            if (null != tbTransitionList && tbTransitionList.size() > 0) {
//            List<TbTransition> tbTransitionList = transitionService.list(wqq);
            List<TbTransition> tbTransitionList = transitionService.getTbTransitionListByCusIdAndPacIdAndProId(customer.getCusIdcard(),tjProId);
            if (null != tbTransitionList && !tbTransitionList.isEmpty()) {
                for (TbTransition transition : tbTransitionList) {
                    transition.setJxbz(jxbz);
                    transition.setTjNum(order.getTjNumber());
                    transition.setCardId(order.getCardId());
                    transition.setNowPrice(transition.getOrdPrice().multiply(BigDecimal.valueOf(Double.parseDouble(tjFlowingWater.getDiscount())).divide(BigDecimal.valueOf(10))));
                    transitionService.updateById(transition);
//                    TjProject tjProject = projectService.selectTjProjectByProId(transition.getProId());
                    //子项
//                    if (null != tjProject) {
//                        TjChargingStandard tjChargingStandard = new TjChargingStandard();
//                        tjChargingStandard.setTjNum(order.getTjNumber());
//                        tjChargingStandard.setProId(transition.getProId());
//                        tjChargingStandard.setPrice(transition.getNowPrice());
//                        tjChargingStandard.setProName(tjProject.getProName());
//                        tjChargingStandard.setCreateBy(sysUser.getNickName());
//                        tjChargingStandard.setCreateTime(dates);
//                        tjChargingStandard.setUpdateBy(sysUser.getNickName());
//                        tjChargingStandard.setUpdateTime(dates);
//                        tjChargingStandard.setCreateId(String.valueOf(sysUser.getUserId()));
//                        tjChargingStandard.setUpdateId(String.valueOf(sysUser.getUserId()));
//                        chargingStandardService.save(tjChargingStandard);
//                    }
//                    transition.setJxbz(jxbz);
//                    transition.setTjNum(order.getTjNumber());
//                    transition.setCardId(order.getCardId());
//                    transition.setNowPrice(transition.getOrdPrice().multiply(BigDecimal.valueOf(Double.parseDouble(tjFlowingWater.getDiscount())).divide(BigDecimal.valueOf(10))));
//                    transitionService.updateById(transition);
                    transitionService.updateTbTransitionById(transition.getId().toString(),jxbz,order.getTjNumber(),order.getCardId(),
                            transition.getOrdPrice().multiply(BigDecimal.valueOf(Double.parseDouble(tjFlowingWater.getDiscount())).divide(BigDecimal.valueOf(10))));
                }
                //父项
//
//                TjProject parentProject = projectService.selectTjProjectByProId(Long.valueOf(tjProId));
//                if (null != parentProject && parentProject.getProParentId() == 0) {
//                    LambdaQueryWrapper<TjProConsumables> wqqq = new LambdaQueryWrapper<>();
//                    wqqq.eq(TjProConsumables::getProId, parentProject.getProId());
//                    List<TjProConsumables> proConsumables = proConsumablesService.list(wqqq);
//                    if (null != proConsumables && proConsumables.size() > 0) {
//                        for (TjProConsumables tjProConsumables : proConsumables) {
//                            TjConsumables tjConsumables = consumablesService.selectTjConsumablesById(tjProConsumables.getConsumablesId());
//                            list2.add(tjConsumables);
//                        }
//                    }
//
//                } else {
//                    TjProject parentProjects = projectService.getById(tjProId);
//                    if (null != parentProjects) {
//                        LambdaQueryWrapper<TjProConsumables> wqqq = new LambdaQueryWrapper<>();
//                        wqqq.eq(TjProConsumables::getProId, parentProjects.getProId());
//                        List<TjProConsumables> proConsumables = proConsumablesService.list(wqqq);
//                        if (null != proConsumables && proConsumables.size() > 0) {
//                            for (TjProConsumables tjProConsumables : proConsumables) {
//                                TjConsumables tjConsumables = consumablesService.selectTjConsumablesById(tjProConsumables.getConsumablesId());
//                                list2.add(tjConsumables);
//                            }
//                        }
//                    }
//                }
            }
        }
        if(projectList.size()>0){
        if(!projectList.isEmpty()){
            List<TjProject> list = projectList.stream().distinct().collect(Collectors.toList());
            for (TjProject project : list) {
                TjOrderRemark tjOrderRemark = new TjOrderRemark();
@@ -830,7 +789,6 @@
                TjOrderDetail detail1 = new TjOrderDetail();
                detail1.setTjStatus(0L);
                detail1.setOrderId(tjFlowingWater.getOrderId());
//                        detail1.setFlowingWaterId(String.valueOf(tjFlowingWater.getTjSerialNumber()));
                detail1.setProId(project.getProId());
                detail1.setIsAddition("Y");
                detail1.setCreateBy(sysUser.getNickName());
@@ -980,10 +938,8 @@
        if(null !=config && config.equals("Y")){
            //检验申请
            if(detailsDtos.size()>0){
            if(!detailsDtos.isEmpty()){
                OutpintestapplyDto dto = new OutpintestapplyDto();
                dto.setHisRegistrationId(order.getCardId());
                dto.setSfzh(customer.getCusIdcard());
@@ -1046,7 +1002,7 @@
            }
            //门诊检查申请
            if(detailsDtoss.size()>0){
            if(!detailsDtoss.isEmpty()){
                OutpinexamapplyDto outpinexamapplyDto = new OutpinexamapplyDto();
                outpinexamapplyDto.setHisRegistrationId(order.getCardId());
                outpinexamapplyDto.setSfzh(customer.getCusIdcard());
@@ -1107,7 +1063,7 @@
            }
            //药品申请
            if(outpinmedicapplyDetilsDtos.size()>0){
            if(!outpinmedicapplyDetilsDtos.isEmpty()){
                OutpinmedicapplyDto dto1=new OutpinmedicapplyDto();
                dto1.setHisRegistrationId(order.getCardId());
                dto1.setSfzh(customer.getCusIdcard());
@@ -1155,7 +1111,7 @@
            }
            //门诊治疗处置申请
            if(detailDtos.size()>0){
            if(!detailDtos.isEmpty()){
                OutpintreatapplyDto dao = new OutpintreatapplyDto();
                dao.setHisRegistrationId(order.getCardId());
                dao.setSfzh(customer.getCusIdcard());
@@ -1216,7 +1172,6 @@
                }
            }
        }
        //父项耗材
//        ArrayList<TjConsumables> collect = list2.stream().collect(Collectors.collectingAndThen(Collectors.toCollection(() -> new TreeSet<>(Comparator.comparing(TjConsumables::getId))), ArrayList::new));
@@ -1774,11 +1729,13 @@
    private AjaxResult getPieCharts() {
        Map<String, Object> map = new HashMap<>();
        Date date=new Date();
        //获取体检登记数
        LambdaQueryWrapper<TjOrder> wq0 = new LambdaQueryWrapper<>();
        wq0.between(TjOrder::getCreateTime, DateUtil.lastMonth(), DateUtil.now());
        wq0.between(TjOrder::getCreateTime,DateUtil.offsetMonth(date,-1),date);
        List<TjOrder> orderCountList = orderService.list(wq0);
        if (null != orderCountList && orderCountList.size() > 0) {
        if (null != orderCountList && !orderCountList.isEmpty()) {
            List<PieChartVo> pieChartVoList = getTjorderCountMap(orderCountList);
            map.put("tjdj", pieChartVoList);
        } else {
@@ -1786,12 +1743,13 @@
        }
        //获取体检异常数
        LambdaQueryWrapper<TjOrder> wq1 = new LambdaQueryWrapper<>();
        wq1.between(TjOrder::getCreateTime, DateUtil.lastMonth(), DateUtil.now());
        wq1.isNotNull(TjOrder::getFinishTime);
        wq1.eq(TjOrder::getCheckStatus, 1);
        List<TjOrder> orderAbnormalCountList = orderService.list(wq1);
        if (null != orderAbnormalCountList && orderAbnormalCountList.size() > 0) {
            List<PieChartVo> pieChartVoList = getTjorderAbnormalCountMap(orderAbnormalCountList);
        wq1.between(TjOrder::getCreateTime,DateUtil.offsetMonth(date,-1),date);
//        wq1.isNotNull(TjOrder::getFinishTime);
//        wq1.eq(TjOrder::getCheckStatus, 1);
        List<TjOrder> orderList = orderService.list(wq1);
        if (null !=orderList && !orderList.isEmpty()) {
//            List<TjOrder> orderList = orderAbnormalCountList.stream().distinct().collect(Collectors.toList());
            List<PieChartVo> pieChartVoList = getTjorderAbnormalCountMap(orderList);
            map.put("tjyc", pieChartVoList);
        } else {
            map.put("tjyc", 0);
@@ -1858,14 +1816,14 @@
        int c = 0;
        int d = 0;
        int e = 0;
        Map<String, Object> map = null;
        Map<String, Object> map = new HashMap<>();
        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) {
            int count = hysqdService.getHyYcXmCount(tjOrder.getCardId());
            if ((null != list && !list.isEmpty()) || (count>0)) {
                TjCustomer customer = tjCustomerService.getById(tjOrder.getUserId());
                if (null != customer) {
                    int age = DateUtil.ageOfNow(customer.getCusBrithday());
@@ -1881,15 +1839,14 @@
                        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);
            }
        }
        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());