zjh
2024-12-06 c42f62b32bac302a7ac9fcde7489f7c5fc6e11aa
ltkj-admin/src/main/java/com/ltkj/web/controller/his/HisApiMethod.java
@@ -8,16 +8,23 @@
import cn.hutool.json.JSONUtil;
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;
import org.springframework.stereotype.Component;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.transaction.interceptor.TransactionAspectSupport;
import javax.annotation.Resource;
import java.math.BigDecimal;
@@ -61,6 +68,21 @@
    private LtkjEjjfxmzdService ltkjEjjfxmzdService;
    @Autowired
    private TjCfService cfService;
    @Autowired
    private PacsApiMethodService pacsApiMethodService;
    @Autowired
    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) {
@@ -77,15 +99,17 @@
    @Logger
    public AjaxResult HisApiMethods(TjCustomer customer,TjOrder tjOrder) {
        String jzh=null;
        String dept = configService.selectConfigByKey("request_default_dept");
        String ysbm = configService.selectConfigByKey("request_default_ysbm");
        try {
//            TjOrder tjOrder = orderService.getById(orderId);
            Date dates = new Date();
            final String date = DateUtil.format(dates, "yyyy-MM-dd HH:mm:ss");
            OutpinregapplyDto outpinregapplyDto = new OutpinregapplyDto();
            outpinregapplyDto.setPationid(customer.getPationId());
            outpinregapplyDto.setSqysbm("00029");
            outpinregapplyDto.setMzksbm("0101");
            outpinregapplyDto.setCzybm("00029");
            outpinregapplyDto.setSqysbm(ysbm);
            outpinregapplyDto.setMzksbm(dept);
            outpinregapplyDto.setCzybm(ysbm);
            outpinregapplyDto.setSfjz("0");
            outpinregapplyDto.setGhzlbm("01");
            outpinregapplyDto.setYwckbm("0001");
@@ -111,7 +135,7 @@
                    hisApiGetMethodService.save(object4, "Outpinregapply", hisApiConfig, JSONUtil.toJsonStr(BeanUtil.beanToMap(outpinregapplyDto)));
                    //门诊医生接诊
                    AjaxResult result = controller.Outpinconapply(hisRegistrationId, date, "00029");
                    AjaxResult result = controller.Outpinconapply(hisRegistrationId, date, ysbm);
                    String result3 = getAjaxResult(result);
                    JSONObject object2 = getJSONObject(result3);
                    String code2 = object2.getStr("ResultCode");
@@ -134,12 +158,12 @@
                OutpinimpapplyDto dto=new OutpinimpapplyDto();
                dto.setHisRegistrationId(tjOrder.getCardId());
                dto.setMzzdid(1);
                dto.setSqysbm("00029");
                dto.setMzksbm("0101");
                dto.setSqysbm(ysbm);
                dto.setMzksbm(dept);
                dto.setFbrq(date);
                dto.setZdrq(date);
                dto.setCzybm("00029");
                dto.setCzyksbm("0101");
                dto.setCzybm(ysbm);
                dto.setCzyksbm(dept);
                dto.setZs("健康查体");
                dto.setBs("不详");
                dto.setClyz("");
@@ -168,7 +192,9 @@
    //体检对his申请单调用方法
    public AjaxResult tijianshenqing(TjCustomer customer, String date,String cardId) {
        String dept = configService.selectConfigByKey("request_default_dept");
        String ysbm = configService.selectConfigByKey("request_default_ysbm");
        String ysmc = configService.selectConfigByKey("request_default_ysmc");
        List<TbTransition> detailList = tbTransitionService.getTbTransitionListByCusId(customer.getCusIdcard(),cardId);
@@ -176,16 +202,16 @@
        OutpintestapplyDto dto = new OutpintestapplyDto();
        dto.setHisRegistrationId(cardId);
        dto.setSfzh(customer.getCusIdcard());
        dto.setSqysbm("00029");
        dto.setMzksbm("0101");
        dto.setSqysbm(ysbm);
        dto.setMzksbm(dept);
        dto.setSjrq(date);
        dto.setCzybm("00029");
        dto.setCzyksbm("0101");
        dto.setCzybm(ysbm);
        dto.setCzyksbm(dept);
        dto.setSfjz("0");
        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);
@@ -236,7 +262,7 @@
                }
            }
        }
        if (detailsDtos.size() > 0) {
        if (!detailsDtos.isEmpty()) {
            dto.setDetails(detailsDtos);
            AjaxResult ajaxResult1 = controller.Outpintestapply(dto);
            String result5 = getAjaxResult(ajaxResult1);
@@ -254,6 +280,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"))
@@ -273,6 +300,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);
//                }
            }
        }
@@ -280,19 +314,19 @@
        OutpinexamapplyDto outpinexamapplyDto = new OutpinexamapplyDto();
        outpinexamapplyDto.setHisRegistrationId(cardId);
        outpinexamapplyDto.setSfzh(customer.getCusIdcard());
        outpinexamapplyDto.setSqysbm("00029");
        outpinexamapplyDto.setMzksbm("0101");
        outpinexamapplyDto.setCzybm("00029");
        outpinexamapplyDto.setCzyksbm("0101");
        outpinexamapplyDto.setSqysbm(ysbm);
        outpinexamapplyDto.setMzksbm(dept);
        outpinexamapplyDto.setCzybm(ysbm);
        outpinexamapplyDto.setCzyksbm(dept);
        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()) {
@@ -354,6 +388,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"))
@@ -381,11 +416,11 @@
        OutpintreatapplyDto dao = new OutpintreatapplyDto();
        dao.setHisRegistrationId(cardId);
        dao.setSfzh(customer.getCusIdcard());
        dao.setSqysbm("00029");
        dao.setMzksbm("0101");
        dao.setSqysbm(ysbm);
        dao.setMzksbm(dept);
        dao.setSjrq(date);
        dao.setCzybm("00029");
        dao.setCzyksbm("0101");
        dao.setCzybm(ysbm);
        dao.setCzyksbm(dept);
        dao.setSfjz("0");
//        List<TbTransition> details = tbTransitionService.getTbTransitionListByCusId(customer.getCusIdcard(),cardId);
        List<OutpintestapplyDetailsDto> detailDtos = new ArrayList<>();
@@ -483,11 +518,11 @@
            OutpinmedicapplyDto dto1=new OutpinmedicapplyDto();
            dto1.setHisRegistrationId(cardId);
            dto1.setSfzh(customer.getCusIdcard());
            dto1.setSqysbm("00029");
            dto1.setMzksbm("0101");
            dto1.setSqysbm(ysbm);
            dto1.setMzksbm(dept);
            dto1.setSjrq(date);
            dto1.setCzybm("00029");
            dto1.setCzyksbm("0101");
            dto1.setCzybm(ysbm);
            dto1.setCzyksbm(dept);
            dto1.setCflxbm("A");
            dto1.setYfbm("1");
            dto1.setFyts("1");
@@ -507,11 +542,11 @@
                    cf.setCardId(cardId);
                    cf.setSfzh(customer.getCusIdcard());
                    cf.setCfh(cfh);
                    cf.setSqysbm("00029");
                    cf.setSqysxm("王健萍");
                    cf.setMzksbn("0101");
                    cf.setSqysbm(ysbm);
                    cf.setSqysxm(ysmc);
                    cf.setMzksbn(dept);
                    cf.setSqrq(date);
                    cf.setCzybm("00029");
                    cf.setCzybm(ysbm);
                    cf.setYpbm(detilsDto.getYpbm());
                    cf.setYpmc("尿素[14C]呼气试验药盒");
                    cf.setSl(String.valueOf(detilsDto.getSl()));
@@ -529,15 +564,242 @@
    }
    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)) {
            TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
            Object jzh = result.get("jzh");
            if (null != jzh && null != jzh.toString()) {
                ZfHisApiMethod(jzh.toString());
            }
            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);
        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");
//        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);
//                }
//            }
//        }
        //药品申请
//        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();
    }
    //退费后取消接诊作废申请单等操作
    @Transactional
    public boolean ZfHisApiMethods(TjCustomer customer, TjOrder order) {
    public boolean ZfHisApiMethods(TjCustomer customer, TjOrder order,Boolean isUseLisAndPacsRegister) {
        String ysbm = configService.selectConfigByKey("request_default_ysbm");
        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());
@@ -545,75 +807,109 @@
        List<String> cfhs = cfService.getCfhs(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.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(), ysbm, 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(), ysbm, 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(), ysbm, 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(), ysbm, 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");
        ajaxResult = controller.Outpinunconapply(order.getCardId(), date, ysbm);
        result2 = getAjaxResult(ajaxResult);
        object1 = getJSONObject(result2);
        code1 = object1.getStr("ResultCode");
@@ -627,84 +923,129 @@
    //作废补录项目
    public boolean ZfBlXm(List<String> bldhs, TjOrder order) {
        log.info("bldhs ->{}",JSONUtil.toJsonStr(bldhs));
        if(null !=bldhs && bldhs.size()>0){
            log.info("进入判断");
            String ysbm = configService.selectConfigByKey("request_default_ysbm");
            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(), ysbm, 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(), ysbm, 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(), ysbm, 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(), ysbm, 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;
            }
        }
@@ -713,6 +1054,7 @@
    //退费后取消接诊作废申请单等操作
    public boolean ZfHisApiMethod(String jzh) {
        String ysbm = configService.selectConfigByKey("request_default_ysbm");
        Date dates = new Date();
        final String date = DateUtil.format(dates, "yyyy-MM-dd HH:mm:ss");
@@ -729,7 +1071,7 @@
        //2.1.6.5 作废门诊检查申请
        if (null != jcsqdh && jcsqdh.size()>0) {
            for (String s : jcsqdh) {
                AjaxResult result = controller.Outpindelexamapply(jzh, "00029", s);
                AjaxResult result = controller.Outpindelexamapply(jzh, ysbm, s);
                String result1 = getAjaxResult(result);
                JSONObject object = getJSONObject(result1);
                String code = object.getStr("ResultCode");
@@ -750,7 +1092,7 @@
        if (null != jysqdh && jysqdh.size()>0) {
            for (String s : jysqdh) {
                ajaxResult = controller.Outpindeltestapply(jzh, "00029", s);
                ajaxResult = controller.Outpindeltestapply(jzh, ysbm, s);
                result2 = getAjaxResult(ajaxResult);
                object1 = getJSONObject(result2);
                code1 = object1.getStr("ResultCode");
@@ -763,7 +1105,7 @@
        //2.1.6.9 作废门诊治疗处置申请
        if (null != zlsqdh && zlsqdh.size()>0) {
            for (String s : zlsqdh) {
                ajaxResult = controller.Outpintdelreatapply(jzh, "00029", s);
                ajaxResult = controller.Outpintdelreatapply(jzh, ysbm, s);
                result2 = getAjaxResult(ajaxResult);
                object1 = getJSONObject(result2);
                code1 = object1.getStr("ResultCode");
@@ -776,7 +1118,7 @@
        //作废药品申请
        if(null !=cfhs && cfhs.size()>0){
            for (String cfh : cfhs) {
                AjaxResult result = controller.Outpindelmedicapply(jzh, "00029", cfh);
                AjaxResult result = controller.Outpindelmedicapply(jzh, ysbm, cfh);
                String result1 = getAjaxResult(result);
                JSONObject object = getJSONObject(result1);
                String code = object.getStr("ResultCode");
@@ -788,7 +1130,7 @@
        //2.1.3 门诊医生取消接诊
        ajaxResult = controller.Outpinunconapply(jzh, date, "00029");
        ajaxResult = controller.Outpinunconapply(jzh, date, ysbm);
        result2 = getAjaxResult(ajaxResult);
        object1 = getJSONObject(result2);
        code1 = object1.getStr("ResultCode");