zjh
2024-10-22 ee52348ae29a352391ef6e4eaaeb11293258f5ff
ltkj-admin/src/main/java/com/ltkj/web/controller/his/HisApiMethod.java
@@ -9,11 +9,13 @@
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.ltkj.common.core.domain.AjaxResult;
import com.ltkj.common.core.domain.entity.SysUser;
import com.ltkj.common.utils.SecurityUtils;
import com.ltkj.hosp.domain.*;
import com.ltkj.hosp.hisDto.*;
import com.ltkj.hosp.service.*;
import com.ltkj.system.service.ISysConfigService;
import com.ltkj.system.service.ISysDeptService;
import com.ltkj.web.controller.lis.LisApiMethod;
import com.ltkj.web.controller.pacs.PacsApiMethodService;
import com.ltkj.web.controller.service.TjSysAsyncServiceImpl;
import jdk.nashorn.internal.runtime.logging.Logger;
@@ -71,6 +73,9 @@
    private ITjOrderDetailService tjOrderDetailService;
    @Autowired
    private TjSysAsyncServiceImpl tjSysAsyncService;
    @Autowired
    private LisApiMethod lisApiMethod;
    //将方法返回值解析成json格式
    public JSONObject getJSONObject(String builder) {
@@ -195,7 +200,7 @@
        List<OutpintestapplyDetailsDto> detailsDtos = new ArrayList<>();
        List<OutpinmedicapplyDetilsDto> outpinmedicapplyDetilsDtos =new ArrayList<>();
        if (null != detailList && detailList.size() > 0) {
        if (null != detailList && !detailList.isEmpty()) {
            LambdaQueryWrapper<TjProject> wq = new LambdaQueryWrapper<>();
            wq.in(TjProject::getProId, detailList.stream().map(TbTransition::getParentProId).collect(Collectors.toList()));
//            wq.groupBy(TjProject::getHisXmbm);
@@ -246,7 +251,7 @@
                }
            }
        }
        if (detailsDtos.size() > 0) {
        if (!detailsDtos.isEmpty()) {
            dto.setDetails(detailsDtos);
            AjaxResult ajaxResult1 = controller.Outpintestapply(dto);
            String result5 = getAjaxResult(ajaxResult1);
@@ -283,6 +288,11 @@
                    tree.setCreateTime(DateUtil.date());
                    ltkjJianchajianyanTreeService.save(tree);
                }
                TjOrder tjOrder = orderService.getOrderByCardId(cardId);
                if(null !=tjOrder){
                    List<TjOrderDetail> dengJi = tjOrderDetailService.getCaiYangDengJi(tjOrder.getOrderId());
                    tjSysAsyncService.addCaiYangDengJi(dengJi,!dengJi.isEmpty(),tjOrder, SecurityUtils.getLoginUser().getUser(), null);
                }
            }
        }
@@ -297,12 +307,12 @@
        outpinexamapplyDto.setSfjz("0");
//        List<TbTransition> detailLists = tbTransitionService.getTbTransitionListByCusId(customer.getCusIdcard(),cardId);
        List<OutpintestapplyDetailsDto> detailsDtoss = new ArrayList<>();
        if (null != detailList && detailList.size() > 0) {
        if (null != detailList && !detailList.isEmpty()) {
            LambdaQueryWrapper<TjProject> wq = new LambdaQueryWrapper<>();
            wq.in(TjProject::getProId, detailList.stream().map(TbTransition::getParentProId).collect(Collectors.toList()));
            wq.in(TjProject::getDeptId,deptService.getJcDeptIds());
            List<TjProject> projects = projectService.list(wq);
            if (null != projects && projects.size() > 0) {
            if (null != projects && !projects.isEmpty()) {
                for (TjProject project : projects) {
                    if (0 == project.getProParentId() && project.getProPrice().compareTo(BigDecimal.ZERO) != 0) {
                        if (null != project.getHisXmbm()) {
@@ -538,6 +548,8 @@
        return AjaxResult.success();
    }
    public AjaxResult tijianshenqing(TjCustomer customer, String date, TjOrder tjOrder, SysUser sysUser, AjaxResult result) {
        List<TbTransition> detailList = tbTransitionService.getTbTransitionListByCusId(customer.getCusIdcard(), tjOrder.getCardId());
        if (!pacsApiMethodService.save(tjOrder, customer, detailList)) {
@@ -549,12 +561,15 @@
            log.error("pacs申请失败 该登记人挂号失败, 就诊号为: " + tjOrder.getCardId());
            return AjaxResult.error("挂号失败!" + result.get("msg").toString());
        }
        LambdaQueryWrapper<TjOrderDetail> wq2 = new LambdaQueryWrapper<>();
        wq2.eq(TjOrderDetail::getOrderId, tjOrder.getOrderId());
        wq2.isNotNull(TjOrderDetail::getFlowingWaterId);
        wq2.eq(TjOrderDetail::getIsSampling, 0);
        List<TjOrderDetail> detailList1 = tjOrderDetailService.list(wq2);
        tjSysAsyncService.addCaiYangDengJi(detailList1, !detailList.isEmpty(), tjOrder, sysUser);
//        LambdaQueryWrapper<TjOrderDetail> wq2 = new LambdaQueryWrapper<>();
//        wq2.eq(TjOrderDetail::getOrderId, tjOrder.getOrderId());
//        wq2.isNotNull(TjOrderDetail::getFlowingWaterId);
//        wq2.eq(TjOrderDetail::getIsSampling, 0);
//        List<TjOrderDetail> detailList1 = tjOrderDetailService.list(wq2);
        List<TjOrderDetail> detailList1 = tjOrderDetailService.getCaiYangDengJi(tjOrder.getOrderId());
        log.info("TjOrderDetail ->{}",JSONUtil.toJsonStr(detailList1));
        tjSysAsyncService.addCaiYangDengJi(detailList1, !detailList1.isEmpty(), tjOrder, sysUser,null);
        //检验申请
        OutpintestapplyDto dto = new OutpintestapplyDto();
@@ -735,47 +750,71 @@
        List<String> cfhs = cfService.getCfhs(order.getCardId());
        if (isUseLisAndPacsRegister){
        }
        //2.1.6.5 作废门诊检查申请
        if (null != jcsqdh && jcsqdh.size()>0) {
            for (String s : jcsqdh) {
                AjaxResult result = controller.Outpindelexamapply(order.getCardId(), "00029", s);
                String result1 = getAjaxResult(result);
                JSONObject object = getJSONObject(result1);
                String code = object.getStr("ResultCode");
                if (code.equals("0")) {
                    orderService.delHuoQuJcsqdh(order.getCardId());
                }
//                else {
//                    return false;
//                }
            }
        }
        //2.1.6.3 作废门诊检验申请
        AjaxResult ajaxResult = null;
        String result2 = null;
        JSONObject object1 = null;
        String code1 = null;
        if (null != jysqdh && jysqdh.size()>0) {
            for (String s : jysqdh) {
                ajaxResult = controller.Outpindeltestapply(order.getCardId(), "00029", s);
                result2 = getAjaxResult(ajaxResult);
                object1 = getJSONObject(result2);
                code1 = object1.getStr("ResultCode");
                if (code1.equals("0")) {
                    orderService.delHuoQuJysqdh(order.getCardId());
        if (isUseLisAndPacsRegister){
            TjCustomer customer1 = customerService.getById(order.getUserId());
            // 作废检查申请
            if (jcsqdh != null && !jcsqdh.isEmpty()){
                for (String sqdh : jcsqdh) {
                    AjaxResult cancelPacsAjaxResult = pacsApiMethodService.updatePacsApply(sqdh, order.getCardId(), customer1.getCusName());
                    String result = cancelPacsAjaxResult.get("data").toString();
                    JSONObject object = JSONUtil.parseObj(result);
                    String code = object.getStr("ResultCode");
                    if(code.equals("1")){
                        orderService.delHuoQuJcsqdh(order.getCardId());
                    }
                }
            }
            // 作废检验申请
            if (jysqdh != null && !jysqdh.isEmpty()){
                for (String sqdh : jysqdh) {
                    AjaxResult cancelLisAjaxResult = lisApiMethod.cancel(sqdh, order.getCardId(), customer1.getCusName());
                    log.info("lis请求返回 ->{}",JSONUtil.toJsonStr(cancelLisAjaxResult));
                    String result = cancelLisAjaxResult.get("data").toString();
                    JSONObject object = JSONUtil.parseObj(result);
                    String code= object.getStr("ResultCode");
                    if(code.equals("1")){
                        orderService.delHuoQuJysqdh(order.getCardId());
                    }
                }
            }
        }else {
            //2.1.6.5 作废门诊检查申请
            if (null != jcsqdh && jcsqdh.size()>0) {
                for (String s : jcsqdh) {
                    AjaxResult result = controller.Outpindelexamapply(order.getCardId(), "00029", s);
                    String result1 = getAjaxResult(result);
                    JSONObject object = getJSONObject(result1);
                    String code = object.getStr("ResultCode");
                    if (code.equals("0")) {
                        orderService.delHuoQuJcsqdh(order.getCardId());
                    }
//                else {
//                    return false;
//                }
                }
            }
            //2.1.6.3 作废门诊检验申请
            if (null != jysqdh && jysqdh.size()>0) {
                for (String s : jysqdh) {
                    ajaxResult = controller.Outpindeltestapply(order.getCardId(), "00029", s);
                    result2 = getAjaxResult(ajaxResult);
                    object1 = getJSONObject(result2);
                    code1 = object1.getStr("ResultCode");
                    if (code1.equals("0")) {
                        orderService.delHuoQuJysqdh(order.getCardId());
                    }
//                else {
//                    return false;
//                }
                }
            }
        }
@@ -835,36 +874,72 @@
                    List<String> cfhs = cfService.getCfBlhs(order.getCardId(),bldh);
                    //2.1.6.5 作废门诊检查申请
                    if (null != jcsqdh && jcsqdh.size()>0) {
                        for (String s : jcsqdh) {
                            AjaxResult result = controller.Outpindelexamapply(order.getCardId(), "00029", s);
                            String result1 = getAjaxResult(result);
                            JSONObject object = getJSONObject(result1);
                            String code = object.getStr("ResultCode");
                            if (code.equals("0")) {
                                orderService.delHuoQuBlJcsqdh(order.getCardId(),bldh);
                            }
                        }
                    }
                    //2.1.6.3 作废门诊检验申请
                    AjaxResult ajaxResult = null;
                    String result2 = null;
                    JSONObject object1 = null;
                    String code1 = null;
                    if (null != jysqdh && jysqdh.size()>0) {
                        for (String s : jysqdh) {
                            ajaxResult = controller.Outpindeltestapply(order.getCardId(), "00029", s);
                            result2 = getAjaxResult(ajaxResult);
                            object1 = getJSONObject(result2);
                            code1 = object1.getStr("ResultCode");
                            if (code1.equals("0")) {
                                orderService.delHuoQuBlJysqdh(order.getCardId(),bldh);
                    if (lisApiMethod.isUseLisAndPacsRegister(order)) {
                        TjCustomer customer1 = customerService.getById(order.getUserId());
                        // 作废检查申请
                        if (jcsqdh != null && !jcsqdh.isEmpty()){
                            for (String sqdh : jcsqdh) {
                                AjaxResult cancelPacsAjaxResult = pacsApiMethodService.updatePacsApply(sqdh, order.getCardId(), customer1.getCusName());
                                log.info("作废检查 pacs返回 ->{}",JSONUtil.toJsonStr(cancelPacsAjaxResult));
                                String result = cancelPacsAjaxResult.get("data").toString();
                                JSONObject object = JSONUtil.parseObj(result);
                                String code = object.getStr("ResultCode");
                                if(code.equals("1")){
                                    orderService.delHuoQuBlJcsqdh(order.getCardId(),bldh);
                                }else {
                                    return false;
                                }
                            }
                        }
                        // 作废检验申请
                        if (jysqdh != null && !jysqdh.isEmpty()){
                            for (String sqdh : jysqdh) {
                                AjaxResult cancelLisAjaxResult = lisApiMethod.cancel(sqdh, order.getCardId(), customer1.getCusName());
                                log.info("作废检验 pacs返回 ->{}",JSONUtil.toJsonStr(cancelLisAjaxResult));
                                String result = cancelLisAjaxResult.get("data").toString();
                                JSONObject object = JSONUtil.parseObj(result);
                                String code= object.getStr("ResultCode");
                                if(code.equals("1")){
                                    orderService.delHuoQuBlJysqdh(order.getCardId(),bldh);
                                }else {
                                    return false;
                                }
                            }
                        }
                    }else {
                        //2.1.6.5 作废门诊检查申请
                        if (null != jcsqdh && jcsqdh.size()>0) {
                            for (String s : jcsqdh) {
                                AjaxResult result = controller.Outpindelexamapply(order.getCardId(), "00029", s);
                                String result1 = getAjaxResult(result);
                                JSONObject object = getJSONObject(result1);
                                String code = object.getStr("ResultCode");
                                if (code.equals("0")) {
                                    orderService.delHuoQuBlJcsqdh(order.getCardId(),bldh);
                                }else {
                                    return false;
                                }
                            }
                        }
                        //2.1.6.3 作废门诊检验申请
                        if (null != jysqdh && jysqdh.size()>0) {
                            for (String s : jysqdh) {
                                ajaxResult = controller.Outpindeltestapply(order.getCardId(), "00029", s);
                                result2 = getAjaxResult(ajaxResult);
                                object1 = getJSONObject(result2);
                                code1 = object1.getStr("ResultCode");
                                if (code1.equals("0")) {
                                    orderService.delHuoQuBlJysqdh(order.getCardId(),bldh);
                                }else {
                                    return false;
                                }
                            }
                        }
                    }
@@ -878,6 +953,8 @@
                            code1 = object1.getStr("ResultCode");
                            if (code1.equals("0")) {
                                orderService.delHuoQuZlsqdh(order.getCardId(),bldh);
                            }else {
                                return false;
                            }
                        }
                    }
@@ -891,6 +968,8 @@
                            String code = object.getStr("ResultCode");
                            if(null !=code && code.equals("0")){
                                cfService.delCfByCardId(cfh);
                            }else {
                                return false;
                            }
                        }
                    }