赵文轩
2025-01-15 0ac41ddb2dc383d0076da6dfa85ddae9944218cc
ltkj-admin/src/main/java/com/ltkj/web/controller/service/TjSysAsyncServiceImpl.java
@@ -435,6 +435,8 @@
    public void addCaiYangDengJi(List<TjOrderDetail> detailList, boolean detailList1, TjOrder order, SysUser sysUser,String jxbz) {
        String lis_tmh_prefix = sysConfigService.selectConfigByKey("make_lis_tmh_prefix");
        String config = configService.selectConfigByKey("sfkqdyhis");
        Boolean lisAndPacsRegister = lisApiMethod.isUseLisAndPacsRegister(order);
        if (null != detailList && detailList1) {
            String format = DateUtil.format(new Date(), "yyMMddHHmmssSSS");
            for (TjOrderDetail detail : detailList) {
@@ -442,29 +444,39 @@
                if (null == projectService.getById(detail.getProId())) continue;
                TjProject project = projectService.getById(detail.getProId());
                Long proParentId = project.getProParentId();
                String dictLabel = sysDictDataService.selectDictLabel("sys_dict_specimen", project.getSpecimenType());
                if (null != proParentId && proParentId == 0) {
                    sampling.setJyxh(idUtils.generateLisID(lis_tmh_prefix));
                    LtkjJyxmzd jyxmzd = lisApiMethod.getJyxmzd(project);
                    if (jyxmzd != null) {
                        sampling.setSpecimenTypeCode(jyxmzd.getJybbdm());
                        LambdaQueryWrapper<LtkjJybbzd> wrapper = new LambdaQueryWrapper<>();
                        wrapper.eq(LtkjJybbzd::getJybbdm,jyxmzd.getJybbdm());
                        LtkjJybbzd jybbzd = jybbzdService.getOne(wrapper);
                        sampling.setSpecimenType(jybbzd.getJybbmc());
                        sampling.setJyxmdm(jyxmzd.getJyxmdm());
                    }
//                    LtkjJyxmzd jyxmzd = lisApiMethod.getJyxmzd(project);
//                    if (jyxmzd != null) {
                    if (config.equals("Y") && lisAndPacsRegister)
                        sampling.setJyxmdm(project.getLisXmbm());
                    else sampling.setJyxmdm(String.valueOf(project.getProId()));
                    sampling.setSpecimenTypeCode(project.getSpecimenType());
                    sampling.setSpecimenType(dictLabel);
//                        LambdaQueryWrapper<LtkjJybbzd> wrapper = new LambdaQueryWrapper<>();
//                        wrapper.eq(LtkjJybbzd::getJybbdm,jyxmzd.getJybbdm());
//                        LtkjJybbzd jybbzd = jybbzdService.getOne(wrapper);
//                        sampling.setSpecimenType(jybbzd.getJybbmc());
//                        sampling.setJyxmdm(jyxmzd.getJyxmdm());
//                    }
                } else {
                    TjProject project1 = projectService.getById(proParentId);
                    sampling.setJyxh(idUtils.generateLisID(lis_tmh_prefix));
                    LtkjJyxmzd jyxmzd = lisApiMethod.getJyxmzd(project1);
                    if (jyxmzd != null) {
                        sampling.setSpecimenTypeCode(jyxmzd.getJybbdm());
                        LambdaQueryWrapper<LtkjJybbzd> wrapper = new LambdaQueryWrapper<>();
                        wrapper.eq(LtkjJybbzd::getJybbdm,jyxmzd.getJybbdm());
                        LtkjJybbzd jybbzd = jybbzdService.getOne(wrapper);
                        sampling.setSpecimenType(jybbzd.getJybbmc());
                        sampling.setJyxmdm(jyxmzd.getJyxmdm());
                    }
                    sampling.setSpecimenTypeCode(project1.getSpecimenType());
                    sampling.setSpecimenType(dictLabel);
                    if (config.equals("Y") && lisAndPacsRegister)
                        sampling.setJyxmdm(project1.getLisXmbm());
                    else sampling.setJyxmdm(String.valueOf(project1.getProId()));
//                    LtkjJyxmzd jyxmzd = lisApiMethod.getJyxmzd(project1);
//                    if (jyxmzd != null) {
//                        sampling.setSpecimenTypeCode(jyxmzd.getJybbdm());
//                        LambdaQueryWrapper<LtkjJybbzd> wrapper = new LambdaQueryWrapper<>();
//                        wrapper.eq(LtkjJybbzd::getJybbdm,jyxmzd.getJybbdm());
//                        LtkjJybbzd jybbzd = jybbzdService.getOne(wrapper);
//                        sampling.setSpecimenType(jybbzd.getJybbmc());
//                        sampling.setJyxmdm(jyxmzd.getJyxmdm());
//                    }
                }
                sampling.setSamplingNumber(format);
                sampling.setTjNum(order.getTjNumber());
@@ -486,7 +498,6 @@
                samplingService.save(sampling);
            }
        }
        String config = configService.selectConfigByKey("sfkqdyhis");
        if (lisApiMethod.isUseLisAndPacsRegister(order) && (null != config && config.equals("Y"))){
            AjaxResult ajaxResult = lisApiMethod.getJyFlHb();
            if (ajaxResult.get("code").toString().equals("200")){
@@ -752,10 +763,10 @@
            // TODO 和签到登记一样 只有配置中的以及收费类型为体检票时才增加到采样管理表
            if(config.equalsIgnoreCase("Y")){
                if (lisApiMethod.isUseLisAndPacsRegister(order) && tjFlowingWater.getPayType() == 6L) {
//                if (lisApiMethod.isUseLisAndPacsRegister(order) && tjFlowingWater.getPayType() == 6L) {
                    List<TjOrderDetail> detailLists = tjOrderDetailService.getCaiYangDengJiJxbz(order.getOrderId(), jxbz);
                    addCaiYangDengJi(detailLists, !detailLists.isEmpty(), order, sysUser, jxbz);
                }
//                }
                 AjaxResult result = tijianbulushenqing(customer, date, order.getCardId(), jxbz, jianChaProjects, tjFlowingWater.getPayType() == 6L);
                 if (!result.get("code").toString().equals("200"))
                     return false;
@@ -1349,7 +1360,7 @@
                                wrapper.eq(TjProject::getProParentId,project.getProId());
                                List<TjProject> list = projectService.list(wrapper);
                                for (TjProject tjProject : list) {
                                    if (null != project.getHisXmbm()) {
                                    if (StrUtil.isNotBlank(tjProject.getHisXmbm()) && tjProject.getProPrice().compareTo(BigDecimal.ZERO) != 0) {
                                        OutpintestapplyDetailsDto detailsDto = new OutpintestapplyDetailsDto();
                                        detailsDto.setMxfyxmbm(tjProject.getHisXmbm());
                                        if (tjProject.getSfzhfy().equals("Y")) {
@@ -1462,7 +1473,7 @@
                                wrapper.eq(TjProject::getProParentId,project.getProId());
                                List<TjProject> list = projectService.list(wrapper);
                                for (TjProject tjProject : list) {
                                    if (null != tjProject.getHisXmbm()) {
                                    if (StrUtil.isNotBlank(tjProject.getHisXmbm()) && tjProject.getProPrice().compareTo(BigDecimal.ZERO) != 0) {
                                        OutpintestapplyDetailsDto detailsDto = new OutpintestapplyDetailsDto();
                                        detailsDto.setMxfyxmbm(tjProject.getHisXmbm());
                                        if (tjProject.getSfzhfy().equals("Y")) {
@@ -1557,7 +1568,6 @@
                dao.setCzyksbm(dept);
                dao.setSfjz("0");
//        List<TbTransition> details = tbTransitionService.getTbTransitionListByCusId(customer.getCusIdcard(),cardId);
                List<OutpintestapplyDetailsDto> detailDtos = new ArrayList<>();
                if (null != detailList && !detailList.isEmpty()) {
                    LambdaQueryWrapper<TjProject> wq = new LambdaQueryWrapper<>();
                    wq.in(TjProject::getProId, detailList.stream().map(TbTransition::getParentProId).collect(Collectors.toList()));
@@ -1565,18 +1575,24 @@
                    List<TjProject> projects = projectService.list(wq);
                    if (null != projects && !projects.isEmpty()) {
                        for (TjProject project : projects) {
                            List<OutpintestapplyDetailsDto> detailDtos = new ArrayList<>();
                            if (0 == project.getProParentId() && project.getProPrice().compareTo(BigDecimal.ZERO) != 0) {
                                if (null != project.getHisXmbm()) {
                                    OutpintestapplyDetailsDto detailsDto = new OutpintestapplyDetailsDto();
                                    detailsDto.setMxfyxmbm(project.getHisXmbm());
                                    if (project.getSfzhfy().equals("Y")) {
                                        detailsDto.setSfzhfy("1");
                                    } else {
                                        detailsDto.setSfzhfy("0");
                                LambdaQueryWrapper<TjProject> wrapper = new LambdaQueryWrapper<>();
                                wrapper.eq(TjProject::getProParentId,project.getProId());
                                List<TjProject> list = projectService.list(wrapper);
                                for (TjProject tjProject : list) {
                                    if (StrUtil.isNotBlank(tjProject.getHisXmbm()) && tjProject.getProPrice().compareTo(BigDecimal.ZERO) != 0) {
                                        OutpintestapplyDetailsDto detailsDto = new OutpintestapplyDetailsDto();
                                        detailsDto.setMxfyxmbm(tjProject.getHisXmbm());
                                        if (tjProject.getSfzhfy().equals("Y")) {
                                            detailsDto.setSfzhfy("1");
                                        } else {
                                            detailsDto.setSfzhfy("0");
                                        }
                                        detailsDto.setSl(tjProject.getSl());
                                        detailsDto.setProjg(tjProject.getProPrice());
                                        detailDtos.add(detailsDto);
                                    }
                                    detailsDto.setSl(project.getSl());
                                    detailsDto.setProjg(project.getProPrice());
                                    detailDtos.add(detailsDto);
                                }
                                if(project.getProId()==1740177341251154377L){
                                    OutpinmedicapplyDetilsDto detilsDto=new OutpinmedicapplyDetilsDto();
@@ -1604,46 +1620,46 @@
                                    outpinmedicapplyDetilsDtos.add(detilsDto);
                                }
                            }
                        }
                    }
                }
                if (!detailDtos.isEmpty()) {
                    dao.setDetails(detailDtos);
                    AjaxResult mzylyzsq1 = controller.Outpintreatapply(dao);
                    String mzylyzsq2 = getAjaxResult(mzylyzsq1);
                    JSONObject mzylyzsq3 = getJSONObject(mzylyzsq2);
                    String code5 = mzylyzsq3.getStr("ResultCode");
                    if (code5.equals("0")) {
                        List<OutpintestapplyDetailsDto> details1 = dao.getDetails();
                        for (OutpintestapplyDetailsDto detail : details1) {
                            LtkjJianchajianyanTree tree = new LtkjJianchajianyanTree();
                            tree.setJxbz(jxbz);
                            tree.setCardId(dao.getHisRegistrationId());
                            tree.setPationid(customer.getPationId());
                            JSONObject resultData = mzylyzsq3.getJSONObject("ResultData");
                            tree.setSqdh(resultData.getStr("zlczh"));
                            tree.setFyhj(resultData.getStr("fyhj"));
                            String mxfyxmbm = detail.getMxfyxmbm();
                            tree.setHisXmdm(mxfyxmbm);
                            tree.setType("处置");
                            tree.setTjPrice(String.valueOf(detail.getProjg()));
                            LambdaQueryWrapper<LtkjJfzhglmxjfxmzd> wrapper1 = new LambdaQueryWrapper<>();
                            if (detail.getSfzhfy().equals("1"))
                                wrapper1.eq(LtkjJfzhglmxjfxmzd::getZhxmdm, mxfyxmbm);
                            else wrapper1.eq(LtkjJfzhglmxjfxmzd::getXmdm, mxfyxmbm);
                            List<LtkjJfzhglmxjfxmzd> ltkjJfzhglmxjfxmzds = ltkjJfzhglmxjfxmzdService.list(wrapper1);
                            if (ltkjJfzhglmxjfxmzds != null && !ltkjJfzhglmxjfxmzds.isEmpty()) {
                                String xmdm = ltkjJfzhglmxjfxmzds.get(0).getXmdm();
                                LambdaQueryWrapper<LtkjMxjfxmzd> wrapper2 = new LambdaQueryWrapper<>();
                                wrapper2.eq(LtkjMxjfxmzd::getXmdm, xmdm);
                                LtkjMxjfxmzd mxjfxmzd = ltkjMxjfxmzdService.getOne(wrapper2);
                                LambdaQueryWrapper<LtkjEjjfxmzd> wrapper3 = new LambdaQueryWrapper<>();
                                wrapper3.eq(LtkjEjjfxmzd::getEjkmdm, mxjfxmzd.getEjkmdm());
                                LtkjEjjfxmzd ejjfxmzd = ltkjEjjfxmzdService.getOne(wrapper3);
                                tree.setXmfl(ejjfxmzd.getYjkmdm());
                            if (!detailDtos.isEmpty()) {
                                dao.setDetails(detailDtos);
                                AjaxResult mzylyzsq1 = controller.Outpintreatapply(dao);
                                String mzylyzsq2 = getAjaxResult(mzylyzsq1);
                                JSONObject mzylyzsq3 = getJSONObject(mzylyzsq2);
                                String code5 = mzylyzsq3.getStr("ResultCode");
                                if (code5.equals("0")) {
                                    List<OutpintestapplyDetailsDto> details1 = dao.getDetails();
                                    for (OutpintestapplyDetailsDto detail : details1) {
                                        LtkjJianchajianyanTree tree = new LtkjJianchajianyanTree();
                                        tree.setJxbz(jxbz);
                                        tree.setCardId(dao.getHisRegistrationId());
                                        tree.setPationid(customer.getPationId());
                                        JSONObject resultData = mzylyzsq3.getJSONObject("ResultData");
                                        tree.setSqdh(resultData.getStr("zlczh"));
                                        tree.setFyhj(resultData.getStr("fyhj"));
                                        String mxfyxmbm = detail.getMxfyxmbm();
                                        tree.setHisXmdm(mxfyxmbm);
                                        tree.setType("处置");
                                        tree.setTjPrice(String.valueOf(detail.getProjg()));
                                        LambdaQueryWrapper<LtkjJfzhglmxjfxmzd> wrapper1 = new LambdaQueryWrapper<>();
                                        if (detail.getSfzhfy().equals("1"))
                                            wrapper1.eq(LtkjJfzhglmxjfxmzd::getZhxmdm, mxfyxmbm);
                                        else wrapper1.eq(LtkjJfzhglmxjfxmzd::getXmdm, mxfyxmbm);
                                        List<LtkjJfzhglmxjfxmzd> ltkjJfzhglmxjfxmzds = ltkjJfzhglmxjfxmzdService.list(wrapper1);
                                        if (ltkjJfzhglmxjfxmzds != null && !ltkjJfzhglmxjfxmzds.isEmpty()) {
                                            String xmdm = ltkjJfzhglmxjfxmzds.get(0).getXmdm();
                                            LambdaQueryWrapper<LtkjMxjfxmzd> wrapper2 = new LambdaQueryWrapper<>();
                                            wrapper2.eq(LtkjMxjfxmzd::getXmdm, xmdm);
                                            LtkjMxjfxmzd mxjfxmzd = ltkjMxjfxmzdService.getOne(wrapper2);
                                            LambdaQueryWrapper<LtkjEjjfxmzd> wrapper3 = new LambdaQueryWrapper<>();
                                            wrapper3.eq(LtkjEjjfxmzd::getEjkmdm, mxjfxmzd.getEjkmdm());
                                            LtkjEjjfxmzd ejjfxmzd = ltkjEjjfxmzdService.getOne(wrapper3);
                                            tree.setXmfl(ejjfxmzd.getYjkmdm());
                                        }
                                        tree.setCreateTime(DateUtil.date());
                                        ltkjJianchajianyanTreeService.save(tree);
                                    }
                                }
                            }
                            tree.setCreateTime(DateUtil.date());
                            ltkjJianchajianyanTreeService.save(tree);
                        }
                    }
                }