zjh
2024-12-25 79f9fbd9f999e26af3f0bca534d825eb687e092c
ltkj-admin/src/main/java/com/ltkj/web/controller/service/TjSysAsyncServiceImpl.java
@@ -12,7 +12,6 @@
import com.ltkj.common.core.domain.entity.SysUser;
import com.ltkj.common.core.redis.RedisCache;
import com.ltkj.common.utils.IdUtils;
import com.ltkj.common.utils.SecurityUtils;
import com.ltkj.common.utils.StringUtils;
import com.ltkj.framework.config.MatchUtils;
import com.ltkj.hosp.domain.*;
@@ -26,13 +25,13 @@
import com.ltkj.mall.mallOrderUtils.TjConstants;
import com.ltkj.system.service.ISysConfigService;
import com.ltkj.system.service.ISysDeptService;
import com.ltkj.system.service.ISysDictDataService;
import com.ltkj.system.service.ISysUserService;
import com.ltkj.web.config.IdcardUtil.IdcardUtil;
import com.ltkj.web.controller.his.HisApiGetMethodService;
import com.ltkj.web.controller.his.HisApiMethodService;
import com.ltkj.web.controller.lis.LisApiMethod;
import com.ltkj.web.controller.pacs.PacsApiMethodService;
import com.ltkj.web.controller.system.TjOrderController;
import com.ltkj.web.controller.system.SamplingServiceApi;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.scheduling.annotation.Async;
@@ -150,6 +149,10 @@
    private LtkjJybbzdService jybbzdService;
    @Autowired
    private LisJyflhbService lisJyflhbService;
    @Autowired
    private SamplingServiceApi samplingServiceApi;
    @Autowired
    private ISysDictDataService sysDictDataService;
    @Override
@@ -234,7 +237,7 @@
                String.valueOf(sysUser.getUserId()),tjOrder.getCardId());
        if (!b) {
            List<TjGroupingPro> proList = groupingProService.list(new LambdaQueryWrapper<TjGroupingPro>().eq(TjGroupingPro::getGroupingId, tjOrder.getGroupId()));
            if (null != proList && proList.size() > 0) {
            if (null != proList && !proList.isEmpty()) {
                for (TjGroupingPro groupingPro : proList) {
                    TjOrderDetail detail = new TjOrderDetail();
//                if (null != transition.getPacId()) {
@@ -576,13 +579,11 @@
    }
    @Override
    @Async("async")
//    @Async("async")
//    @Transactional
    public void iundividualCharges(TjFlowingWater tjFlowingWater, TjOrder order, TjCustomer customer, SysUser sysUser) {
    public Boolean iundividualCharges(TjFlowingWater tjFlowingWater, TjOrder order, TjCustomer customer, SysUser sysUser,String jxbz) {
        Date dates = new Date();
        final String date = DateUtil.format(dates, "yyyy-MM-dd HH:mm:ss");
        String jxbz = DateUtil.format(dates, "yyyyMMddHHmmss")+order.getOrderId();
        tjFlowingWater.setJxbz(jxbz);
        tjFlowingWaterService.updateById(tjFlowingWater);
@@ -828,8 +829,9 @@
            }
        }
        List<TjOrderDetail> detailList = tjOrderDetailService.getCaiYangDengJi(order.getOrderId());
        addCaiYangDengJi(detailList,!detailList.isEmpty(), order, sysUser,jxbz);
        // TODO 和签到登记一样 只有配置中的以及收费类型为体检票时才增加到采样管理表
//        List<TjOrderDetail> detailList = tjOrderDetailService.getCaiYangDengJiJxbz(order.getOrderId(),jxbz);
//        addCaiYangDengJi(detailList,!detailList.isEmpty(), order, sysUser,jxbz);
        tjOrderDetails = new ArrayList<>();
@@ -995,13 +997,26 @@
//                }
            }
            List<TjOrderDetail> detailLists = tjOrderDetailService.getCaiYangDengJi(order.getOrderId());
            addCaiYangDengJi(detailLists,!detailLists.isEmpty(), order, sysUser,jxbz);
            // TODO 和签到登记一样 只有配置中的以及收费类型为体检票时才增加到采样管理表
            if(config.equals("Y")){
                if (lisApiMethod.isUseLisAndPacsRegister(order) && tjFlowingWater.getPayType() == 6L) {
                    List<TjOrderDetail> detailLists = tjOrderDetailService.getCaiYangDengJiJxbz(order.getOrderId(), jxbz);
                    addCaiYangDengJi(detailLists, !detailLists.isEmpty(), order, sysUser, jxbz);
                }
            }else {
                tjOrderDetailService.updateTjOrderDetailsByOrderId(String.valueOf(order.getOrderId()),
                        sysUser.getNickName(), String.valueOf(sysUser.getUserId()), String.valueOf(tjFlowingWater.getTjSerialNumber()));
                List<TjOrderDetail> detailLists = tjOrderDetailService.getCaiYangDengJiJxbz(order.getOrderId(), jxbz);
                addCaiYangDengJiByDiaoYongShiTu(detailLists, !detailLists.isEmpty(), order, sysUser, jxbz);
            }
        }
//        Boolean useLisAndPacsRegister = lisApiMethod.isUseLisAndPacsRegister(order);
        if(null !=config && config.equals("Y")){
            tijianbulushenqing(customer,date,order.getCardId(),jxbz,jianChaProjects);
            AjaxResult result = tijianbulushenqing(customer, date, order.getCardId(), jxbz, jianChaProjects, tjFlowingWater.getPayType() == 6L);
            if (!result.get("code").toString().equals("200"))
                return false;
//            if (useLisAndPacsRegister) {
//                List<TjProject> projectList2 = jianYanProjects.stream().distinct().collect(Collectors.toList());
                // 检查申请
@@ -1268,29 +1283,147 @@
//            tjChargingStandard.setUpdateId(String.valueOf(sysUser.getUserId()));
//            chargingStandardService.save(tjChargingStandard);
//        }
        return true;
    }
    public void addCaiYangDengJiByDiaoYongShiTu(List<TjOrderDetail> detailList, boolean detailList1, TjOrder order, SysUser sysUser,String jxbz) {
        if (null != detailList && detailList1) {
            Date date = new Date();
            String format = DateUtil.format(date, "yyMMddHHmmssSSS");
            for (TjOrderDetail detail : detailList) {
                TjSampling sampling = new TjSampling();
                if (null == projectService.getById(detail.getProId())) continue;
                TjProject project = projectService.getById(detail.getProId());
                Long proParentId = project.getProParentId();
                String dictLabel = sysDictDataService.selectDictLabel("sys_dict_specimen", project.getSpecimenType());
                if (null != proParentId && proParentId == 0) {
                    sampling.setJyxh(idUtils.generateLisID());
                    sampling.setSpecimenTypeCode(project.getSpecimenType());
                    sampling.setSpecimenType(dictLabel);
                    sampling.setJyxmdm(project.getProId().toString());
                } else {
                    TjProject project1 = projectService.getById(proParentId);
                    sampling.setJyxh(idUtils.generateLisID());
                    sampling.setSpecimenTypeCode(project1.getSpecimenType());
                    sampling.setSpecimenType(dictLabel);
                    sampling.setJyxmdm(project.getProId().toString());
                }
                sampling.setSamplingNumber(format);
                sampling.setTjNum(order.getTjNumber());
                sampling.setCusId(String.valueOf(order.getUserId()));
                if (tjCustomerService.getById(String.valueOf(order.getUserId())) != null) {
                    sampling.setCusName(tjCustomerService.getById(String.valueOf(order.getUserId())).getCusName());
                }
                sampling.setApplicationTime(date);
                sampling.setTjTime(order.getCreateTime());
                sampling.setProId(String.valueOf(detail.getProId()));
                sampling.setProName(projectService.getById(detail.getProId()).getProName());
                sampling.setCreateBy(sysUser.getNickName());
                sampling.setCreateTime(date);
                sampling.setUpdateBy(sysUser.getNickName());
                sampling.setUpdateTime(date);
                sampling.setCreateId(String.valueOf(sysUser.getUserId()));
                sampling.setUpdateId(String.valueOf(sysUser.getUserId()));
                sampling.setJxbz(jxbz);
                samplingService.save(sampling);
            }
        }
        String config = configService.selectConfigByKey("sfkqdyhis");
        if (lisApiMethod.isUseLisAndPacsRegister(order) && (null != config && config.equals("Y"))){
            AjaxResult ajaxResult = lisApiMethod.getJyFlHb();
            if (ajaxResult.get("code").toString().equals("200")){
                String str = ajaxResult.get("data").toString();
                str = str.replace("=", ":");
                JSONArray array = JSONUtil.parseArray(str);
                for (Object o : array) {
                    JSONObject object = (JSONObject) o;
                    LisJyflhb lisJyflhb = new LisJyflhb();
                    lisJyflhb.setHbhxm(object.getStr("hbhxm"));
                    lisJyflhb.setFlmc(object.getStr("flmc"));
                    lisJyflhb.setMc(object.getStr("mc"));
                    lisJyflhb.setFlbm(object.getStr("flbm"));
                    LambdaQueryWrapper<LisJyflhb> wrapper = new LambdaQueryWrapper<>();
                    wrapper.eq(LisJyflhb::getFlbm,lisJyflhb.getFlbm());
                    LisJyflhb jyflhb = lisJyflhbService.getOne(wrapper);
                    if (jyflhb == null) {
                        lisJyflhb.setId(IdUtil.getSnowflake().nextId());
                        lisJyflhbService.save(lisJyflhb);
                    }else {
                        lisJyflhb.setId(jyflhb.getId());
                        lisJyflhbService.updateById(lisJyflhb);
                    }
                }
            }
        }
    }
    //体检对his申请单调用方法
    public AjaxResult tijianbulushenqing(TjCustomer customer, String date,String cardId,String jxbz,ArrayList<TjProject> jianChaProjects) {
    public AjaxResult tijianbulushenqing(TjCustomer customer, String date,String cardId,String jxbz,ArrayList<TjProject> jianChaProjects,Boolean isTuanTiPiao) {
        TjOrder order = orderService.getOrderByCardId(cardId);
        if(null !=order){
            String dept = configService.selectConfigByKey("request_default_dept");
            String ysbm = configService.selectConfigByKey("request_default_ysbm");
            String ysmc = configService.selectConfigByKey("request_default_ysmc");
            List<TbTransition> detailList = transitionService.getBlTbTransitionListByCusId(customer.getCusIdcard(),cardId,jxbz);
            Boolean useLisAndPacsRegister = lisApiMethod.isUseLisAndPacsRegister(order);
            List<OutpinmedicapplyDetilsDto> outpinmedicapplyDetilsDtos =new ArrayList<>();
            if (useLisAndPacsRegister) {
            if (useLisAndPacsRegister && isTuanTiPiao) {
                // 检查申请
                pacsReg(order, customer, jianChaProjects);
                LambdaQueryWrapper<TjSampling> wrapper = new LambdaQueryWrapper<>();
                wrapper.eq(TjSampling::getTjNum,order.getTjNumber());
                wrapper.eq(TjSampling::getJxbz,jxbz);
                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 = samplingServiceApi.confirmSamplingApi(ids, "Y", "N");
                    if (!confirmed)
                        return AjaxResult.error("处理失败");
                }
            }else {
                //检验申请
                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<>();
@@ -1364,6 +1497,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"))
@@ -1390,10 +1524,10 @@
                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<>();
@@ -1465,6 +1599,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"))
@@ -1486,154 +1621,154 @@
                        }
                    }
                }
            }
            //门诊治疗处置申请
            OutpintreatapplyDto dao = new OutpintreatapplyDto();
            dao.setHisRegistrationId(cardId);
            dao.setSfzh(customer.getCusIdcard());
            dao.setSqysbm("00029");
            dao.setMzksbm("0101");
            dao.setSjrq(date);
            dao.setCzybm("00029");
            dao.setCzyksbm("0101");
            dao.setSfjz("0");
                //门诊治疗处置申请
                OutpintreatapplyDto dao = new OutpintreatapplyDto();
                dao.setHisRegistrationId(cardId);
                dao.setSfzh(customer.getCusIdcard());
                dao.setSqysbm(ysbm);
                dao.setMzksbm(dept);
                dao.setSjrq(date);
                dao.setCzybm(ysbm);
                dao.setCzyksbm(dept);
                dao.setSfjz("0");
//        List<TbTransition> details = tbTransitionService.getTbTransitionListByCusId(customer.getCusIdcard(),cardId);
            List<OutpintestapplyDetailsDto> detailDtos = new ArrayList<>();
            if (null != detailList && !detailList.isEmpty()) {
                LambdaQueryWrapper<TjProject> wq = new LambdaQueryWrapper<>();
                wq.in(TjProject::getProId, detailList.stream().map(TbTransition::getParentProId).collect(Collectors.toList()));
                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");
                List<OutpintestapplyDetailsDto> detailDtos = new ArrayList<>();
                if (null != detailList && !detailList.isEmpty()) {
                    LambdaQueryWrapper<TjProject> wq = new LambdaQueryWrapper<>();
                    wq.in(TjProject::getProId, detailList.stream().map(TbTransition::getParentProId).collect(Collectors.toList()));
                    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);
                                }
                                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(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.setJxbz(jxbz);
                        tree.setCardId(dao.getHisRegistrationId());
                        tree.setPationid(customer.getPationId());
                        JSONObject resultData = mzylyzsq3.getJSONObject("ResultData");
                        tree.setSqdh(resultData.getStr("zlczh"));
                        tree.setFyhj(resultData.getStr("fyhj"));
                        String mxfyxmbm = detail.getMxfyxmbm();
                        tree.setHisXmdm(mxfyxmbm);
                        tree.setType("处置");
                        tree.setTjPrice(String.valueOf(detail.getProjg()));
                        LambdaQueryWrapper<LtkjJfzhglmxjfxmzd> wrapper1 = new LambdaQueryWrapper<>();
                        if (detail.getSfzhfy().equals("1"))
                            wrapper1.eq(LtkjJfzhglmxjfxmzd::getZhxmdm, mxfyxmbm);
                        else wrapper1.eq(LtkjJfzhglmxjfxmzd::getXmdm, mxfyxmbm);
                        List<LtkjJfzhglmxjfxmzd> ltkjJfzhglmxjfxmzds = ltkjJfzhglmxjfxmzdService.list(wrapper1);
                        if (ltkjJfzhglmxjfxmzds != null && !ltkjJfzhglmxjfxmzds.isEmpty()) {
                            String xmdm = ltkjJfzhglmxjfxmzds.get(0).getXmdm();
                            LambdaQueryWrapper<LtkjMxjfxmzd> wrapper2 = new LambdaQueryWrapper<>();
                            wrapper2.eq(LtkjMxjfxmzd::getXmdm, xmdm);
                            LtkjMxjfxmzd mxjfxmzd = ltkjMxjfxmzdService.getOne(wrapper2);
                            LambdaQueryWrapper<LtkjEjjfxmzd> wrapper3 = new LambdaQueryWrapper<>();
                            wrapper3.eq(LtkjEjjfxmzd::getEjkmdm, mxjfxmzd.getEjkmdm());
                            LtkjEjjfxmzd ejjfxmzd = ltkjEjjfxmzdService.getOne(wrapper3);
                            tree.setXmfl(ejjfxmzd.getYjkmdm());
                if (!detailDtos.isEmpty()) {
                    dao.setDetails(detailDtos);
                    AjaxResult mzylyzsq1 = controller.Outpintreatapply(dao);
                    String mzylyzsq2 = getAjaxResult(mzylyzsq1);
                    JSONObject mzylyzsq3 = getJSONObject(mzylyzsq2);
                    String code5 = mzylyzsq3.getStr("ResultCode");
                    if (code5.equals("0")) {
                        List<OutpintestapplyDetailsDto> details1 = dao.getDetails();
                        for (OutpintestapplyDetailsDto detail : details1) {
                            LtkjJianchajianyanTree tree = new LtkjJianchajianyanTree();
                            tree.setJxbz(jxbz);
                            tree.setCardId(dao.getHisRegistrationId());
                            tree.setPationid(customer.getPationId());
                            JSONObject resultData = mzylyzsq3.getJSONObject("ResultData");
                            tree.setSqdh(resultData.getStr("zlczh"));
                            tree.setFyhj(resultData.getStr("fyhj"));
                            String mxfyxmbm = detail.getMxfyxmbm();
                            tree.setHisXmdm(mxfyxmbm);
                            tree.setType("处置");
                            tree.setTjPrice(String.valueOf(detail.getProjg()));
                            LambdaQueryWrapper<LtkjJfzhglmxjfxmzd> wrapper1 = new LambdaQueryWrapper<>();
                            if (detail.getSfzhfy().equals("1"))
                                wrapper1.eq(LtkjJfzhglmxjfxmzd::getZhxmdm, mxfyxmbm);
                            else wrapper1.eq(LtkjJfzhglmxjfxmzd::getXmdm, mxfyxmbm);
                            List<LtkjJfzhglmxjfxmzd> ltkjJfzhglmxjfxmzds = ltkjJfzhglmxjfxmzdService.list(wrapper1);
                            if (ltkjJfzhglmxjfxmzds != null && !ltkjJfzhglmxjfxmzds.isEmpty()) {
                                String xmdm = ltkjJfzhglmxjfxmzds.get(0).getXmdm();
                                LambdaQueryWrapper<LtkjMxjfxmzd> wrapper2 = new LambdaQueryWrapper<>();
                                wrapper2.eq(LtkjMxjfxmzd::getXmdm, xmdm);
                                LtkjMxjfxmzd mxjfxmzd = ltkjMxjfxmzdService.getOne(wrapper2);
                                LambdaQueryWrapper<LtkjEjjfxmzd> wrapper3 = new LambdaQueryWrapper<>();
                                wrapper3.eq(LtkjEjjfxmzd::getEjkmdm, mxjfxmzd.getEjkmdm());
                                LtkjEjjfxmzd ejjfxmzd = ltkjEjjfxmzdService.getOne(wrapper3);
                                tree.setXmfl(ejjfxmzd.getYjkmdm());
                            }
                            tree.setCreateTime(DateUtil.date());
                            ltkjJianchajianyanTreeService.save(tree);
                        }
                        tree.setCreateTime(DateUtil.date());
                        ltkjJianchajianyanTreeService.save(tree);
                    }
                }
            }
            //药品申请
            if(!outpinmedicapplyDetilsDtos.isEmpty()){
                OutpinmedicapplyDto dto1=new OutpinmedicapplyDto();
                dto1.setHisRegistrationId(cardId);
                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 result = controller.Outpinmedicapply(dto1);
                String result1 = getAjaxResult(result);
                JSONObject object = getJSONObject(result1);
                String code = object.getStr("ResultCode");
                if(null !=code && code.equals("0")){
                    JSONObject resultData = object.getJSONObject("ResultData");
                //药品申请
                if(!outpinmedicapplyDetilsDtos.isEmpty()){
                    OutpinmedicapplyDto dto1=new OutpinmedicapplyDto();
                    dto1.setHisRegistrationId(cardId);
                    dto1.setSfzh(customer.getCusIdcard());
                    dto1.setSqysbm(ysbm);
                    dto1.setMzksbm(dept);
                    dto1.setSjrq(date);
                    dto1.setCzybm(ysbm);
                    dto1.setCzyksbm(dept);
                    dto1.setCflxbm("A");
                    dto1.setYfbm("1");
                    dto1.setFyts("1");
                    dto1.setMzzd("");
                    dto1.setDetails(outpinmedicapplyDetilsDtos);
                    AjaxResult result = controller.Outpinmedicapply(dto1);
                    String result1 = getAjaxResult(result);
                    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.setJxbz(jxbz);
                        cf.setCardId(cardId);
                        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);
                        String cfh = resultData.getStr("cfh");
                        log.info("药品申请后的处方号是: "+cfh+"  outpinmedicapplyDetilsDtos 里面的值为: "+outpinmedicapplyDetilsDtos.toString());
                        for (OutpinmedicapplyDetilsDto detilsDto : outpinmedicapplyDetilsDtos) {
                            TjCf cf=new TjCf();
                            cf.setJxbz(jxbz);
                            cf.setCardId(cardId);
                            cf.setSfzh(customer.getCusIdcard());
                            cf.setCfh(cfh);
                            cf.setSqysbm(ysbm);
                            cf.setSqysxm(ysmc);
                            cf.setMzksbn(dept);
                            cf.setSqrq(date);
                            cf.setCzybm(ysbm);
                            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);
                        }
                    }
                }
            }
@@ -2161,6 +2296,8 @@
        List<TjOrderDetail> detailList = tjOrderDetailService.getCaiYangDengJi(order.getOrderId());
        addCaiYangDengJi(detailList, detailList.size() > 0, order, sysUser,null);
    }
    //首页饼状图登记人数接口
    private AjaxResult getPieCharts() {
@@ -3138,4 +3275,9 @@
        map.put("remark", remark.getRemark());
        return map;
    }
    @Override
    public void tjUpdateDetatilByVi(String s) {
    }
}