zjh
2024-10-14 102f4dda6197116b1380b725560e8c32ade76b5a
ltkj-admin/src/main/java/com/ltkj/web/controller/system/TjOrderController.java
@@ -212,8 +212,6 @@
    private HisPDFUtil hisPDFUtil;
    @Value("${path.reportServer}")
    private String urlValue;
    @Autowired
    private TjSysAsyncServiceImpl tjSysAsyncService;
    //将方法返回值解析成json格式
    public JSONObject getJSONObject(String builder) {
@@ -1118,20 +1116,6 @@
            lock.unlock();
        }
        return AjaxResult.error();
    }
    /**
     * 根据体检类型判断是否需要直接从Lis、pacs直接申请
     */
    public Boolean isUseLisAndPacsRegister(TjOrder tjOrder) {
        try {
            String useLisAndPacsRegisterDictTeam = configService.selectConfigByKey("use_lis_and_pacs_register_dict_team");
            String[] split = useLisAndPacsRegisterDictTeam.split(",");
            List<String> list = Arrays.asList(split);
            return list.contains(tjOrder.getTjType());
        } catch (Exception e) {
            return false;
        }
    }
@@ -2585,7 +2569,7 @@
                        return AjaxResult.error("撤销失败,该人员已缴费,请先退费!");
                    }
                }
                boolean zfHisApiMethods = hisApiMethod.ZfHisApiMethods(null, order);
                boolean zfHisApiMethods = hisApiMethod.ZfHisApiMethods(null, order,lisApiMethod.isUseLisAndPacsRegister(order));
                if (zfHisApiMethods) {
                    return AjaxResult.success("撤销成功");
                } else {
@@ -2731,7 +2715,9 @@
    @Transactional
    public AjaxResult revokeTjOrderByTjCardId(@RequestParam @ApiParam(value = "就诊号") String cardId) {
        TjOrder order = new TjOrder();
        LambdaQueryWrapper<TjOrder> queryWrapper = new LambdaQueryWrapper<>();
        queryWrapper.eq(TjOrder::getCardId,cardId);
        TjOrder order = tjOrderService.getOne(queryWrapper);
        order.setCardId(cardId);
        String configByKey = configService.selectConfigByKey("sfkqdyhis");
        if (configByKey.equals("Y")) {
@@ -2751,7 +2737,7 @@
                TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
                return AjaxResult.error("撤销失败,门诊患者费用清单信息不为空");
            } else {
                boolean zfHisApiMethods = hisApiMethod.ZfHisApiMethods(null, order);
                boolean zfHisApiMethods = hisApiMethod.ZfHisApiMethods(null, order,lisApiMethod.isUseLisAndPacsRegister(order));
                if (zfHisApiMethods) {
                    return AjaxResult.success("撤销成功", map);
                } else {
@@ -2821,10 +2807,11 @@
    @PostMapping("/revokeBlProByBldhAndTjh")
    @ApiOperation(value = "根据补录单号和体检号删除记录")
    @Transactional
//    @Transactional
    public AjaxResult revokeBlProByBldhAndTjh(@RequestBody TjProBlDto dto) {
        if (null == dto.getBldhs() || dto.getBldhs().size() == 0) {
            log.info("请选择要撤销的补录项目");
            return AjaxResult.error("请选择要撤销的补录项目");
        }
@@ -2846,6 +2833,7 @@
                        advIds.add(advId);
                    }
                    if (advIds.containsAll(dto.getBldhs()) && cateFeeAll.compareTo(BigDecimal.ZERO) != 0) {
                        log.info("改项目已缴费不可撤销");
                        return AjaxResult.error("改项目已缴费不可撤销!!!");
                    }
@@ -2853,21 +2841,32 @@
                boolean b = hisApiMethod.ZfBlXm(dto.getBldhs(), order);
                if (!b) {
                    TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
                    log.info("撤销失败,调用作废出现失败");
                    return AjaxResult.error("撤销失败,调用作废出现失败");
                }
            }
            for (String bldh : dto.getBldhs()) {
                remarkService.deleteTjOrderDetailByjxbz(bldh);
                tjOrderDetailService.deleteTjOrderDetailByjxbz(bldh);
                tjFlowingWaterService.deleteTjOrderDetailByjxbz(bldh);
                transitionService.deleteTjOrderDetailByjxbz(bldh);
                blService.remove(new LambdaQueryWrapper<TjProBl>().eq(TjProBl::getTjh, dto.getTjh()).eq(TjProBl::getBldh, bldh));
            try {
                extracted(dto);
            } catch (Exception e) {
                log.info("撤销失败,删除表失败");
                return AjaxResult.error("撤销失败,删除表失败!");
            }
            return AjaxResult.success();
        }
        return AjaxResult.error();
    }
    @Transactional(propagation =Propagation.REQUIRES_NEW)
    public void extracted(TjProBlDto dto) {
        for (String bldh : dto.getBldhs()) {
            remarkService.deleteTjOrderDetailByjxbz(bldh);
            tjOrderDetailService.deleteTjOrderDetailByjxbz(bldh);
            tjFlowingWaterService.deleteTjOrderDetailByjxbz(bldh);
            transitionService.deleteTjOrderDetailByjxbz(bldh);
            blService.remove(new LambdaQueryWrapper<TjProBl>().eq(TjProBl::getTjh, dto.getTjh()).eq(TjProBl::getBldh, bldh));
        }
    }
    @PostMapping("/addYaoPinShenQing")
    @ApiOperation(value = "药品信息申请")