zhaowenxuan
2024-11-01 fe9f16a02c89eb6c5264c06bf76e748a0d809647
ltkj-admin/src/main/java/com/ltkj/web/controller/his/HisApiMethod.java
@@ -9,13 +9,16 @@
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 com.ltkj.web.controller.system.SamplingServiceApi;
import jdk.nashorn.internal.runtime.logging.Logger;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
@@ -71,6 +74,15 @@
    private ITjOrderDetailService tjOrderDetailService;
    @Autowired
    private TjSysAsyncServiceImpl tjSysAsyncService;
    @Autowired
    private LisApiMethod lisApiMethod;
    @Autowired
    private ISysConfigService configService;
    @Autowired
    private ITjSamplingService tjSamplingService;
    @Autowired
    private SamplingServiceApi samplingService;
    //将方法返回值解析成json格式
    public JSONObject getJSONObject(String builder) {
@@ -195,7 +207,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 +258,7 @@
                }
            }
        }
        if (detailsDtos.size() > 0) {
        if (!detailsDtos.isEmpty()) {
            dto.setDetails(detailsDtos);
            AjaxResult ajaxResult1 = controller.Outpintestapply(dto);
            String result5 = getAjaxResult(ajaxResult1);
@@ -264,6 +276,7 @@
                    String mxfyxmbm = detail.getMxfyxmbm();
                    tree.setHisXmdm(mxfyxmbm);
                    tree.setType("检验");
                    tree.setService("his");
                    tree.setTjPrice(String.valueOf(detail.getProjg()));
                    LambdaQueryWrapper<LtkjJfzhglmxjfxmzd> wrapper1 = new LambdaQueryWrapper<>();
                    if (detail.getSfzhfy().equals("1"))
@@ -283,6 +296,13 @@
                    tree.setCreateTime(DateUtil.date());
                    ltkjJianchajianyanTreeService.save(tree);
                }
                // TODO 个人以及团体 暂不向采样管理写数据
                // HIS发送无法合并操作 无法获取LIS的检验序号 条码无法打印
//                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 +317,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()) {
@@ -364,6 +384,7 @@
                    String mxfyxmbm = detail.getMxfyxmbm();
                    tree.setHisXmdm(mxfyxmbm);
                    tree.setType("检查");
                    tree.setService("his");
                    tree.setTjPrice(String.valueOf(detail.getProjg()));
                    LambdaQueryWrapper<LtkjJfzhglmxjfxmzd> wrapper1 = new LambdaQueryWrapper<>();
                    if (detail.getSfzhfy().equals("1"))
@@ -538,6 +559,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,172 +572,219 @@
            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);
        String mergeRequest = configService.selectConfigByKey("use_lis_pacs_is_auto_merge_request");
        if (mergeRequest.equals("Y")){
            LambdaQueryWrapper<TjSampling> wrapper = new LambdaQueryWrapper<>();
            wrapper.eq(TjSampling::getTjNum,tjOrder.getTjNumber());
            List<TjSampling> list = tjSamplingService.list(wrapper);
            log.info("采样数据 ->{}",JSONUtil.toJsonStr(list));
            if (!list.isEmpty()) {
                Map<String, List<TjSampling>> listMap = list.stream().collect(Collectors.groupingBy(TjSampling::getSpecimenTypeCode));
            log.info("分组后 ->{}",JSONUtil.toJsonStr(listMap));
                ArrayList<String> ids = new ArrayList<>();
                for (Map.Entry<String, List<TjSampling>> entry : listMap.entrySet()) {
                log.info("key ->{},val ->{}",entry.getKey(),entry.getValue());
                    // Lis标本代码
                    String specimenTypeCode = entry.getKey();
                    List<TjSampling> samplings = entry.getValue();
                    if (samplings.size() >= 2) {
                        // 进行合并
                        List<String> stringList = samplings.stream().map(TjSampling::getId).collect(Collectors.toList());
                        log.info("提取id ->{}",stringList);
                        for (int i = 0; i < stringList.size(); i++) {
                            String s = stringList.get(i);
                            if (tjSamplingService.isMergeItem(s) != 0) {
                                stringList.remove(s);
                                ids.add(s);
                            }
                        }
                        if (stringList.size() > 1) {
                            String id = tjSamplingService.mergeCaiYangApi(stringList);
                            ids.add(id);
                        }else {
                            ids.add(stringList.get(0));
                        }
                    } else {
                        ids.add(samplings.get(0).getId());
                    }
                }
                Boolean confirmed = samplingService.confirmSamplingApi(ids, "Y", "N");
                if (!confirmed) {
                    TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
                    return AjaxResult.error("处理失败");
                }
            }
        }
        //检验申请
        OutpintestapplyDto dto = new OutpintestapplyDto();
        dto.setHisRegistrationId(tjOrder.getCardId());
        dto.setSfzh(customer.getCusIdcard());
        dto.setSqysbm("00029");
        dto.setMzksbm("0101");
        dto.setSjrq(date);
        dto.setCzybm("00029");
        dto.setCzyksbm("0101");
        dto.setSfjz("0");
//        OutpintestapplyDto dto = new OutpintestapplyDto();
//        dto.setHisRegistrationId(tjOrder.getCardId());
//        dto.setSfzh(customer.getCusIdcard());
//        dto.setSqysbm("00029");
//        dto.setMzksbm("0101");
//        dto.setSjrq(date);
//        dto.setCzybm("00029");
//        dto.setCzyksbm("0101");
//        dto.setSfjz("0");
        List<OutpinmedicapplyDetilsDto> outpinmedicapplyDetilsDtos =new ArrayList<>();
//        List<OutpinmedicapplyDetilsDto> outpinmedicapplyDetilsDtos =new ArrayList<>();
        //门诊治疗处置申请
        OutpintreatapplyDto dao = new OutpintreatapplyDto();
        dao.setHisRegistrationId(tjOrder.getCardId());
        dao.setSfzh(customer.getCusIdcard());
        dao.setSqysbm("00029");
        dao.setMzksbm("0101");
        dao.setSjrq(date);
        dao.setCzybm("00029");
        dao.setCzyksbm("0101");
        dao.setSfjz("0");
        List<OutpintestapplyDetailsDto> detailDtos = new ArrayList<>();
        if (!detailList.isEmpty()) {
            LambdaQueryWrapper<TjProject> wq = new LambdaQueryWrapper<>();
            wq.in(TjProject::getProId, detailList.stream().map(TbTransition::getParentProId).collect(Collectors.toList()));
            wq.in(TjProject::getDeptId,deptService.getCzDeptIds());
            List<TjProject> projects = projectService.list(wq);
            if (null != projects && !projects.isEmpty()) {
                for (TjProject project : projects) {
                    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");
                            }
                            detailsDto.setSl(project.getSl());
                            detailsDto.setProjg(project.getProPrice());
                            detailDtos.add(detailsDto);
                        }
                        if(project.getProId()==1740177341251154377L){
                            OutpinmedicapplyDetilsDto detilsDto=new OutpinmedicapplyDetilsDto();
                            detilsDto.setYpbm("00006670");
                            detilsDto.setPcbm("06");
                            detilsDto.setSl("1");
                            detilsDto.setDj("60");
                            detilsDto.setDcjl("1");
                            detilsDto.setPj("60");
                            detilsDto.setJj("60");
                            detilsDto.setJldw("");
                            detilsDto.setTjbm("");
                            detilsDto.setPs("");
                            detilsDto.setPsbm("");
                            detilsDto.setYyts("");
                            detilsDto.setXtph("");
                            detilsDto.setScph("");
                            detilsDto.setYpxq("");
                            detilsDto.setCdbm("");
                            detilsDto.setKfdw("");
                            detilsDto.setYfdw("");
                            detilsDto.setYysm("");
                            detilsDto.setFzbl("1");
                            detilsDto.setZh("0");
                            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.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);
                }
            }
        }
//        OutpintreatapplyDto dao = new OutpintreatapplyDto();
//        dao.setHisRegistrationId(tjOrder.getCardId());
//        dao.setSfzh(customer.getCusIdcard());
//        dao.setSqysbm("00029");
//        dao.setMzksbm("0101");
//        dao.setSjrq(date);
//        dao.setCzybm("00029");
//        dao.setCzyksbm("0101");
//        dao.setSfjz("0");
//        List<OutpintestapplyDetailsDto> detailDtos = new ArrayList<>();
//        if (!detailList.isEmpty()) {
//            LambdaQueryWrapper<TjProject> wq = new LambdaQueryWrapper<>();
//            wq.in(TjProject::getProId, detailList.stream().map(TbTransition::getParentProId).collect(Collectors.toList()));
//            wq.in(TjProject::getDeptId,deptService.getCzDeptIds());
//            List<TjProject> projects = projectService.list(wq);
//            if (null != projects && !projects.isEmpty()) {
//                for (TjProject project : projects) {
//                    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");
//                            }
//                            detailsDto.setSl(project.getSl());
//                            detailsDto.setProjg(project.getProPrice());
//                            detailDtos.add(detailsDto);
//                        }
//                        if(project.getProId()==1740177341251154377L){
//                            OutpinmedicapplyDetilsDto detilsDto=new OutpinmedicapplyDetilsDto();
//                            detilsDto.setYpbm("00006670");
//                            detilsDto.setPcbm("06");
//                            detilsDto.setSl("1");
//                            detilsDto.setDj("60");
//                            detilsDto.setDcjl("1");
//                            detilsDto.setPj("60");
//                            detilsDto.setJj("60");
//                            detilsDto.setJldw("");
//                            detilsDto.setTjbm("");
//                            detilsDto.setPs("");
//                            detilsDto.setPsbm("");
//                            detilsDto.setYyts("");
//                            detilsDto.setXtph("");
//                            detilsDto.setScph("");
//                            detilsDto.setYpxq("");
//                            detilsDto.setCdbm("");
//                            detilsDto.setKfdw("");
//                            detilsDto.setYfdw("");
//                            detilsDto.setYysm("");
//                            detilsDto.setFzbl("1");
//                            detilsDto.setZh("0");
//                            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.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);
//                }
//            }
//        }
        //药品申请
        if(!outpinmedicapplyDetilsDtos.isEmpty()){
            OutpinmedicapplyDto dto1=new OutpinmedicapplyDto();
            dto1.setHisRegistrationId(tjOrder.getCardId());
            dto1.setSfzh(customer.getCusIdcard());
            dto1.setSqysbm("00029");
            dto1.setMzksbm("0101");
            dto1.setSjrq(date);
            dto1.setCzybm("00029");
            dto1.setCzyksbm("0101");
            dto1.setCflxbm("A");
            dto1.setYfbm("1");
            dto1.setFyts("1");
            dto1.setMzzd("");
            dto1.setDetails(outpinmedicapplyDetilsDtos);
            AjaxResult resultt = controller.Outpinmedicapply(dto1);
            String result1 = getAjaxResult(resultt);
            JSONObject object = getJSONObject(result1);
            String code = object.getStr("ResultCode");
            if(null !=code && code.equals("0")){
                JSONObject resultData = object.getJSONObject("ResultData");
//                Map<String, Object> resultDatasss = (Map<String, Object>) resultData.get(0);
                String cfh = resultData.getStr("cfh");
                log.info("药品申请后的处方号是: "+cfh+"  outpinmedicapplyDetilsDtos 里面的值为: "+outpinmedicapplyDetilsDtos.toString());
                for (OutpinmedicapplyDetilsDto detilsDto : outpinmedicapplyDetilsDtos) {
                    TjCf cf=new TjCf();
                    cf.setCardId(tjOrder.getCardId());
                    cf.setSfzh(customer.getCusIdcard());
                    cf.setCfh(cfh);
                    cf.setSqysbm("00029");
                    cf.setSqysxm("王健萍");
                    cf.setMzksbn("0101");
                    cf.setSqrq(date);
                    cf.setCzybm("00029");
                    cf.setYpbm(detilsDto.getYpbm());
                    cf.setYpmc("尿素[14C]呼气试验药盒");
                    cf.setSl(String.valueOf(detilsDto.getSl()));
                    cf.setDj(String.valueOf(detilsDto.getDj()));
                    cf.setDcjl(String.valueOf(detilsDto.getDcjl()));
                    cf.setPj(String.valueOf(detilsDto.getPj()));
                    cf.setJj(String.valueOf(detilsDto.getJj()));
                    cf.setCreateTime(new Date());
                    cfService.save(cf);
                }
            }
        }
//        if(!outpinmedicapplyDetilsDtos.isEmpty()){
//            OutpinmedicapplyDto dto1=new OutpinmedicapplyDto();
//            dto1.setHisRegistrationId(tjOrder.getCardId());
//            dto1.setSfzh(customer.getCusIdcard());
//            dto1.setSqysbm("00029");
//            dto1.setMzksbm("0101");
//            dto1.setSjrq(date);
//            dto1.setCzybm("00029");
//            dto1.setCzyksbm("0101");
//            dto1.setCflxbm("A");
//            dto1.setYfbm("1");
//            dto1.setFyts("1");
//            dto1.setMzzd("");
//            dto1.setDetails(outpinmedicapplyDetilsDtos);
//            AjaxResult resultt = controller.Outpinmedicapply(dto1);
//            String result1 = getAjaxResult(resultt);
//            JSONObject object = getJSONObject(result1);
//            String code = object.getStr("ResultCode");
//            if(null !=code && code.equals("0")){
//                JSONObject resultData = object.getJSONObject("ResultData");
////                Map<String, Object> resultDatasss = (Map<String, Object>) resultData.get(0);
//                String cfh = resultData.getStr("cfh");
//                log.info("药品申请后的处方号是: "+cfh+"  outpinmedicapplyDetilsDtos 里面的值为: "+outpinmedicapplyDetilsDtos.toString());
//                for (OutpinmedicapplyDetilsDto detilsDto : outpinmedicapplyDetilsDtos) {
//                    TjCf cf=new TjCf();
//                    cf.setCardId(tjOrder.getCardId());
//                    cf.setSfzh(customer.getCusIdcard());
//                    cf.setCfh(cfh);
//                    cf.setSqysbm("00029");
//                    cf.setSqysxm("王健萍");
//                    cf.setMzksbn("0101");
//                    cf.setSqrq(date);
//                    cf.setCzybm("00029");
//                    cf.setYpbm(detilsDto.getYpbm());
//                    cf.setYpmc("尿素[14C]呼气试验药盒");
//                    cf.setSl(String.valueOf(detilsDto.getSl()));
//                    cf.setDj(String.valueOf(detilsDto.getDj()));
//                    cf.setDcjl(String.valueOf(detilsDto.getDcjl()));
//                    cf.setPj(String.valueOf(detilsDto.getPj()));
//                    cf.setJj(String.valueOf(detilsDto.getJj()));
//                    cf.setCreateTime(new Date());
//                    cfService.save(cf);
//                }
//            }
//        }
        return AjaxResult.success();
    }
@@ -725,86 +795,112 @@
        Date dates = new Date();
        final String date = DateUtil.format(dates, "yyyy-MM-dd HH:mm:ss");
        List<String> jcsqdh = orderService.getHuoQuJcsqdh(order.getCardId());
        List<String> jysqdh = orderService.getHuoQuJysqdh(order.getCardId());
        List<String> zlsqdh = orderService.getHuoQuZlsqdh(order.getCardId());
        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());
            // 作废检查申请
        List<String> bljcsqdhByPacs = orderService.getBljcsqdhByPacs(order.getCardId());
        if (bljcsqdhByPacs != null && !bljcsqdhByPacs.isEmpty()){
            for (String sqdh : bljcsqdhByPacs) {
                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());
                }
            }
        }
            // 作废检验申请
        List<String> bljysqdhByLis = orderService.getBljysqdhByLis(order.getCardId());
        if (bljysqdhByLis != null && !bljysqdhByLis.isEmpty()){
            for (String sqdh : bljysqdhByLis) {
                AjaxResult cancelLisAjaxResult = lisApiMethod.cancel(sqdh, order.getCardId(), customer1.getCusName());
                log.info("lis请求返回 ->{}",JSONUtil.toJsonStr(cancelLisAjaxResult));
                if (cancelLisAjaxResult.get("code").toString().equals("200")){
                    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 {
        List<String> jcsqdh = orderService.getHuoQuJcsqdh(order.getCardId());
        List<String> jysqdh = orderService.getHuoQuJysqdh(order.getCardId());
            //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.9 作废门诊治疗处置申请
        if (null != zlsqdh && zlsqdh.size()>0) {
            for (String s : zlsqdh) {
                ajaxResult = controller.Outpintdelreatapply(order.getCardId(), "00029", s);
                result2 = getAjaxResult(ajaxResult);
                object1 = getJSONObject(result2);
                code1 = object1.getStr("ResultCode");
                if (code1.equals("0")) {
                    orderService.delHuoQuZlsqdh(order.getCardId());
            }
            //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;
//                }
                }
            }
        }
        //作废药品申请
        if(null !=cfhs && cfhs.size()>0){
            for (String cfh : cfhs) {
                AjaxResult result = controller.Outpindelmedicapply(order.getCardId(), "00029", cfh);
                String result1 = getAjaxResult(result);
                JSONObject object = getJSONObject(result1);
                String code = object.getStr("ResultCode");
                if(null !=code && code.equals("0")){
                    cfService.delCfByCardId(cfh);
            //2.1.6.9 作废门诊治疗处置申请
            if (null != zlsqdh && zlsqdh.size()>0) {
                for (String s : zlsqdh) {
                    ajaxResult = controller.Outpintdelreatapply(order.getCardId(), "00029", s);
                    result2 = getAjaxResult(ajaxResult);
                    object1 = getJSONObject(result2);
                    code1 = object1.getStr("ResultCode");
                    if (code1.equals("0")) {
                        orderService.delHuoQuZlsqdh(order.getCardId());
                    }
                }
            }
        }
            //作废药品申请
            if(null !=cfhs && cfhs.size()>0){
                for (String cfh : cfhs) {
                    AjaxResult result = controller.Outpindelmedicapply(order.getCardId(), "00029", cfh);
                    String result1 = getAjaxResult(result);
                    JSONObject object = getJSONObject(result1);
                    String code = object.getStr("ResultCode");
                    if(null !=code && code.equals("0")){
                        cfService.delCfByCardId(cfh);
                    }
                }
            }
//        }
        //2.1.3 门诊医生取消接诊
        ajaxResult = controller.Outpinunconapply(order.getCardId(), date, "00029");
@@ -821,84 +917,128 @@
    //作废补录项目
    public boolean ZfBlXm(List<String> bldhs, TjOrder order) {
        log.info("bldhs ->{}",JSONUtil.toJsonStr(bldhs));
        if(null !=bldhs && bldhs.size()>0){
            log.info("进入判断");
            try {
                for (String bldh : bldhs) {
                    List<String> jcsqdh = orderService.getHuoQuBlJcsqdh(order.getCardId(),bldh);
                    List<String> jysqdh = orderService.getHuoQuBlJysqdh(order.getCardId(),bldh);
                    List<String> zlsqdh = orderService.getHuoQuBlZlsqdh(order.getCardId(),bldh);
                    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);
                            }
                        }
                    }
                    //2.1.6.9 作废门诊治疗处置申请
                    if (null != zlsqdh && zlsqdh.size()>0) {
                        for (String s : zlsqdh) {
                            ajaxResult = controller.Outpintdelreatapply(order.getCardId(), "00029", s);
                            result2 = getAjaxResult(ajaxResult);
                            object1 = getJSONObject(result2);
                            code1 = object1.getStr("ResultCode");
                            if (code1.equals("0")) {
                                orderService.delHuoQuZlsqdh(order.getCardId(),bldh);
                            }
                        }
                    }
                    //作废药品申请
                    if(null !=cfhs && cfhs.size()>0){
                        for (String cfh : cfhs) {
                            AjaxResult result = controller.Outpindelmedicapply(order.getCardId(), "00029", cfh);
                            String result1 = getAjaxResult(result);
                            JSONObject object = getJSONObject(result1);
                    log.info("查询前");
//                    if (lisApiMethod.isUseLisAndPacsRegister(order)) {
                    TjCustomer customer1 = customerService.getById(order.getUserId());
                    log.info("customer1 ->{}",customer1);
                    List<String> bljcsqdhByPacs = orderService.getBljcsqdhByPacs(order.getCardId(), bldh);
                    log.info("bljcsqdhByPacs ->{}",bljcsqdhByPacs);
                    // 作废检查申请
                    if (bljcsqdhByPacs != null && !bljcsqdhByPacs.isEmpty()){
                        for (String sqdh : bljcsqdhByPacs) {
                            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(null !=code && code.equals("0")){
                                cfService.delCfByCardId(cfh);
                            if(code.equals("1")){
                                orderService.delHuoQuBlJcsqdh(order.getCardId(),bldh);
                            }else {
                                return false;
                            }
                        }
                    }
                    List<String> bljysqdhByLis = orderService.getBljysqdhByLis(order.getCardId(), bldh);
                    log.info("bljysqdhByLis ->{}",bljysqdhByLis);
                    // 作废检验申请
                    if (bljysqdhByLis != null && !bljysqdhByLis.isEmpty()){
                        for (String sqdh : bljysqdhByLis) {
                            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;
                            }
                        }
                    }
                    List<String> jcsqdh = orderService.getHuoQuBlJcsqdh(order.getCardId(),bldh);
                    List<String> jysqdh = orderService.getHuoQuBlJysqdh(order.getCardId(),bldh);
//                    }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;
                                }
                            }
                        }
                        //2.1.6.9 作废门诊治疗处置申请
                        if (null != zlsqdh && zlsqdh.size()>0) {
                            for (String s : zlsqdh) {
                                ajaxResult = controller.Outpintdelreatapply(order.getCardId(), "00029", s);
                                result2 = getAjaxResult(ajaxResult);
                                object1 = getJSONObject(result2);
                                code1 = object1.getStr("ResultCode");
                                if (code1.equals("0")) {
                                    orderService.delHuoQuZlsqdh(order.getCardId(),bldh);
                                }else {
                                    return false;
                                }
                            }
                        }
                        //作废药品申请
                        if(null !=cfhs && cfhs.size()>0){
                            for (String cfh : cfhs) {
                                AjaxResult result = controller.Outpindelmedicapply(order.getCardId(), "00029", cfh);
                                String result1 = getAjaxResult(result);
                                JSONObject object = getJSONObject(result1);
                                String code = object.getStr("ResultCode");
                                if(null !=code && code.equals("0")){
                                    cfService.delCfByCardId(cfh);
                                }else {
                                    return false;
                                }
                            }
                        }
//                    }
                    return true;
                }
            } catch (Exception e) {
                e.printStackTrace();
                log.error(e.getMessage());
                return false;
            }
        }