From 1b7ed7edb09aaecf68ddf3396ee007bc6eadf52a Mon Sep 17 00:00:00 2001
From: zjh <1084500556@qq.com>
Date: 星期一, 30 十二月 2024 17:04:09 +0800
Subject: [PATCH] zjh202412030

---
 ltkj-admin/src/main/java/com/ltkj/web/controller/lis/LisApiMethod.java |  496 +++++++++++++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 496 insertions(+), 0 deletions(-)

diff --git a/ltkj-admin/src/main/java/com/ltkj/web/controller/lis/LisApiMethod.java b/ltkj-admin/src/main/java/com/ltkj/web/controller/lis/LisApiMethod.java
index 86950f9..ada03db 100644
--- a/ltkj-admin/src/main/java/com/ltkj/web/controller/lis/LisApiMethod.java
+++ b/ltkj-admin/src/main/java/com/ltkj/web/controller/lis/LisApiMethod.java
@@ -1,10 +1,506 @@
 package com.ltkj.web.controller.lis;
 
 
+import cn.hutool.core.date.DateUtil;
+import cn.hutool.core.util.RandomUtil;
+import cn.hutool.core.util.StrUtil;
+import cn.hutool.extra.pinyin.PinyinUtil;
+import cn.hutool.json.JSONObject;
+import cn.hutool.json.JSONUtil;
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.ltkj.common.core.domain.AjaxResult;
+import com.ltkj.common.utils.AgeResult;
+import com.ltkj.common.utils.DateUtils;
+import com.ltkj.common.utils.IdUtils;
+import com.ltkj.hosp.domain.*;
+import com.ltkj.hosp.hisDto.OutpintestapplyDetailsDto;
+import com.ltkj.hosp.lisDto.LisSaveSqdxxDto;
+import com.ltkj.hosp.lisDto.LisSaveSqdxxJyxmlistDto;
+import com.ltkj.hosp.mapper.TbTransitionMapper;
+import com.ltkj.hosp.service.*;
+import com.ltkj.system.service.ISysConfigService;
+import com.ltkj.system.service.ISysDeptService;
 import lombok.extern.slf4j.Slf4j;
+import org.apache.commons.lang3.time.DateFormatUtils;
+import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Component;
+
+import java.math.BigDecimal;
+import java.util.*;
+import java.util.concurrent.atomic.AtomicInteger;
+import java.util.stream.Collectors;
 
 @Component
 @Slf4j
 public class LisApiMethod {
+    @Autowired
+    private LisApiMethodService lisApiMethodService;
+    @Autowired
+    private ISysDeptService deptService;
+    @Autowired
+    private ITjProjectService projectService;
+    @Autowired
+    private LtkjJfzhglmxjfxmzdService ltkjJfzhglmxjfxmzdService;
+    @Autowired
+    private LtkjMxjfxmzdService ltkjMxjfxmzdService;
+    @Autowired
+    private LtkjEjjfxmzdService ltkjEjjfxmzdService;
+    @Autowired
+    private LtkjJianchajianyanTreeService ltkjJianchajianyanTreeService;
+    @Autowired
+    private LtkjJfzhgljyxmzdService ltkjJfzhgljyxmzdService;
+    @Autowired
+    private LtkjJyxmzdService ltkjJyxmzdService;
+    @Autowired
+    private LtkjJfxmgljyxmzdService ltkjJfxmgljyxmzdService;
+    @Autowired
+    private LtkjJyxmzdService jyxmzdService;
+    @Autowired
+    private IdUtils idUtils;
+    @Autowired
+    private ISysConfigService configService;
+    @Autowired
+    private ITjOrderService orderService;
+    @Autowired
+    private ITjCustomerService customerService;
+    @Autowired
+    private TbTransitionMapper tbTransitionMapper;
+    @Autowired
+    private ITjSamplingService tjSamplingService;
+
+    /**
+     * 淇濆瓨妫�楠屽崟鐢宠淇℃伅
+     * @param tjOrder
+     * @param tjCustomer
+     * @param detailList
+     * @return
+     * @deprecated 淇敼 涓嶄娇鐢↙ist<TbTransition>浼犲弬鏁�
+     */
+    @Deprecated
+    public Boolean save(TjOrder tjOrder, TjCustomer tjCustomer, List<TbTransition> detailList){
+        if (detailList != null && !detailList.isEmpty()) {
+            String dept = configService.selectConfigByKey("request_default_dept");
+            String ysbm = configService.selectConfigByKey("request_default_ysbm");
+            LambdaQueryWrapper<TjProject> wq = new LambdaQueryWrapper<>();
+            wq.in(TjProject::getProId, detailList.stream().map(TbTransition::getParentProId).collect(Collectors.toList()));
+            wq.in(TjProject::getDeptId,deptService.getJyDeptIds());
+            List<TjProject> projects = projectService.list(wq);
+            if (projects != null && !projects.isEmpty()){
+                // 鏍规嵁project琛ㄧ殑his_xmbm鏌ョ粍鍚堝叧鑱旇〃 ltkj_jfzhgljyxmzd 鏍规嵁瀛楁`zhxmdm`
+                // - 鏌ュ埌 浣跨敤瀛楁`jyxmdm`鏌ユ楠岄」鐩瓧鍏歌〃 ltkj_jyxmzd 鏍规嵁瀛楁`jyxmdm`
+                // - 鏈煡鍒� 鏌ラ」鐩叧鑱旇〃ltkj_jfxmgljyxmzd 鏍规嵁瀛楁`xmdm`
+                AtomicInteger xh = new AtomicInteger();
+                for (TjProject project : projects) {
+                    if (0 == project.getProParentId() && project.getProPrice().compareTo(BigDecimal.ZERO) != 0) {
+                        if (null != project.getHisXmbm()) {
+                            LtkjJyxmzd jyxmzd = getJyxmzd(project);
+                            if (jyxmzd != null) {
+                                LisSaveSqdxxDto lisSaveSqdxxDto = new LisSaveSqdxxDto();
+                                String jyxh = idUtils.generateLisID();
+                                lisSaveSqdxxDto.setJyxh(jyxh);
+                                lisSaveSqdxxDto.setBah(tjOrder.getCardId());
+                                lisSaveSqdxxDto.setBrxm(tjCustomer.getCusName());
+                                lisSaveSqdxxDto.setBrdm(PinyinUtil.getFirstLetter(tjCustomer.getCusName(),""));
+                                lisSaveSqdxxDto.setXb(tjCustomer.getCusSex()==1?"2":"1");
+                                lisSaveSqdxxDto.setCsrq(DateFormatUtils.format(tjCustomer.getCusBrithday(), "yyyy-MM-dd"));
+                                AgeResult ageResult = DateUtils.calculateAge(tjCustomer.getCusBrithday());
+                                lisSaveSqdxxDto.setNl(String.valueOf(ageResult.getAge()));
+                                lisSaveSqdxxDto.setNldw(String.valueOf(ageResult.getUnit()));
+                                lisSaveSqdxxDto.setSfzh(tjCustomer.getCusIdcard());
+                                lisSaveSqdxxDto.setLxdh(tjCustomer.getCusPhone());
+                                lisSaveSqdxxDto.setJtzz("");
+                                Date date = new Date();
+                                lisSaveSqdxxDto.setSqrq(DateFormatUtils.format(date, "yyyy-MM-dd HH:mm:ss"));
+                                lisSaveSqdxxDto.setCyrq("");
+                                lisSaveSqdxxDto.setLczd("");
+                                lisSaveSqdxxDto.setBz("");
+                                lisSaveSqdxxDto.setKsbm(dept);
+                                lisSaveSqdxxDto.setSqys(ysbm);
+                                lisSaveSqdxxDto.setKfbz("1");
+                                List<OutpintestapplyDetailsDto> detailsDtos = new ArrayList<>();
+                                ArrayList<LisSaveSqdxxJyxmlistDto> dtos = new ArrayList<>();
+                                BigDecimal allPrice = new BigDecimal("0");
+                                for (TbTransition transition : detailList.stream().filter(item -> Objects.equals(item.getParentProId(), project.getProId()))
+                                        .collect(Collectors.toList())) {
+                                    allPrice = allPrice.add(transition.getNowPrice());
+                                }
+                                lisSaveSqdxxDto.setFyje(allPrice.toString());
+                                lisSaveSqdxxDto.setYbbm(jyxmzd.getJybbdm());
+                                LisSaveSqdxxJyxmlistDto dto = new LisSaveSqdxxJyxmlistDto();
+                                dto.setXh(String.valueOf(xh.getAndIncrement() + 1));
+                                dto.setJyxm(jyxmzd.getJyxmdm());
+                                dto.setXmmc(jyxmzd.getJyxmmc());
+                                dtos.add(dto);
+
+                                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());
+                                detailsDtos.add(detailsDto);
+
+                                lisSaveSqdxxDto.setJyxmlist(dtos);
+                                log.info("妫�楠岀敵璇峰弬鏁� ->{}",JSONUtil.toJsonStr(lisSaveSqdxxDto));
+                                AjaxResult ajaxResult = lisApiMethodService.saveSqdxx(lisSaveSqdxxDto);
+                                // Lis璇锋眰杩斿洖 ->{"msg":"鎿嶄綔澶辫触","code":500,"result":{"Response":{"ResultContent":"鎴愬姛","ResultData":null,"ResultCode":"1"}}}
+                                // {"msg":"鎿嶄綔鎴愬姛","code":200,"data":{"ResultContent":"鎴愬姛","ResultData":null,"ResultCode":"1"}}
+                                log.info("Lis璇锋眰杩斿洖 ->{}",JSONUtil.toJsonStr(ajaxResult));
+                                String result = ajaxResult.get("data").toString();
+                                JSONObject object = JSONUtil.parseObj(result);
+                                String code = object.getStr("ResultCode");
+                                if(code.equals("1")){
+                                    for (OutpintestapplyDetailsDto detail : detailsDtos) {
+                                        LtkjJianchajianyanTree tree = new LtkjJianchajianyanTree();
+                                        tree.setCardId(tjOrder.getCardId());
+                                        tree.setPationid(tjCustomer.getPationId());
+                                        tree.setSqdh(jyxh);
+                                        tree.setFyhj(allPrice.toString());
+                                        String mxfyxmbm = detail.getMxfyxmbm();
+                                        tree.setHisXmdm(mxfyxmbm);
+                                        tree.setType("妫�楠�");
+                                        tree.setService("lis");
+                                        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> wrapper3 = new LambdaQueryWrapper<>();
+                                            wrapper3.eq(LtkjMxjfxmzd::getXmdm, xmdm);
+                                            LtkjMxjfxmzd mxjfxmzd = ltkjMxjfxmzdService.getOne(wrapper3);
+                                            LambdaQueryWrapper<LtkjEjjfxmzd> wrapper4 = new LambdaQueryWrapper<>();
+                                            wrapper4.eq(LtkjEjjfxmzd::getEjkmdm, mxjfxmzd.getEjkmdm());
+                                            LtkjEjjfxmzd ejjfxmzd = ltkjEjjfxmzdService.getOne(wrapper4);
+                                            tree.setXmfl(ejjfxmzd.getYjkmdm());
+                                        }
+                                        tree.setCreateTime(DateUtil.date());
+                                        ltkjJianchajianyanTreeService.save(tree);
+                                    }
+                                }else {
+                                    log.error("璇锋眰澶辫触 ->{}",lisSaveSqdxxDto);
+                                }
+                            }
+                        }
+                    }
+                }
+            }
+        }
+        return true;
+    }
+
+    public Boolean save(TjSampling sampling,TjOrder tjOrder,TjCustomer tjCustomer){
+        String dept = configService.selectConfigByKey("request_default_dept");
+        String ysbm = configService.selectConfigByKey("request_default_ysbm");
+        AtomicInteger xh = new AtomicInteger();
+        LisSaveSqdxxDto lisSaveSqdxxDto = new LisSaveSqdxxDto();
+//        String jyxh = idUtils.generateLisID();
+        lisSaveSqdxxDto.setJyxh(sampling.getJyxh());
+        lisSaveSqdxxDto.setBah(tjOrder.getCardId());
+        lisSaveSqdxxDto.setBrxm(tjCustomer.getCusName());
+        lisSaveSqdxxDto.setBrdm(PinyinUtil.getFirstLetter(tjCustomer.getCusName(), ""));
+        lisSaveSqdxxDto.setXb(tjCustomer.getCusSex() == 1 ? "2" : "1");
+        lisSaveSqdxxDto.setCsrq(DateFormatUtils.format(tjCustomer.getCusBrithday(), "yyyy-MM-dd"));
+        AgeResult ageResult = DateUtils.calculateAge(tjCustomer.getCusBrithday());
+        lisSaveSqdxxDto.setNl(String.valueOf(ageResult.getAge()));
+        lisSaveSqdxxDto.setNldw(String.valueOf(ageResult.getUnit()));
+        lisSaveSqdxxDto.setSfzh(tjCustomer.getCusIdcard());
+        lisSaveSqdxxDto.setLxdh(tjCustomer.getCusPhone());
+        lisSaveSqdxxDto.setJtzz("");
+        Date date = new Date();
+        lisSaveSqdxxDto.setSqrq(DateFormatUtils.format(date, "yyyy-MM-dd HH:mm:ss"));
+        lisSaveSqdxxDto.setCyrq("");
+        lisSaveSqdxxDto.setLczd("");
+        lisSaveSqdxxDto.setBz("");
+        lisSaveSqdxxDto.setKsbm(dept);
+        lisSaveSqdxxDto.setSqys(ysbm);
+        lisSaveSqdxxDto.setKfbz("1");
+        List<OutpintestapplyDetailsDto> detailsDtos = new ArrayList<>();
+        ArrayList<LisSaveSqdxxJyxmlistDto> dtos = new ArrayList<>();
+        BigDecimal allPrice;
+        if (sampling.getProId().contains(",")){
+            allPrice = tbTransitionMapper.getLisPriceByTjNumAndInParentProId(tjOrder.getTjNumber(), Arrays.asList(sampling.getProId().split(",")));
+        }else {
+            allPrice = tbTransitionMapper.getLisPriceByTjNumAndParentProId(tjOrder.getTjNumber(), sampling.getProId());
+        }
+        lisSaveSqdxxDto.setFyje(allPrice.toString());
+        lisSaveSqdxxDto.setYbbm(sampling.getSpecimenTypeCode());
+
+        if (sampling.getIsMerge() == 1){
+            LambdaQueryWrapper<TjSampling> wrapper = new LambdaQueryWrapper<>();
+            wrapper.eq(TjSampling::getParentId, sampling.getId());
+            List<TjSampling> list = tjSamplingService.list(wrapper);
+            for (TjSampling tjSampling : list) {
+                TjProject project = projectService.getById(tjSampling.getProId());
+                LisSaveSqdxxJyxmlistDto dto = new LisSaveSqdxxJyxmlistDto();
+                dto.setXh(String.valueOf(xh.getAndIncrement() + 1));
+                dto.setJyxm(tjSampling.getJyxmdm());
+                dto.setXmmc(tjSampling.getProName());
+                dtos.add(dto);
+
+                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());
+                detailsDtos.add(detailsDto);
+            }
+        }else {
+            TjProject project = projectService.getById(sampling.getProId());
+            LisSaveSqdxxJyxmlistDto dto = new LisSaveSqdxxJyxmlistDto();
+            dto.setXh(String.valueOf(xh.getAndIncrement() + 1));
+            dto.setJyxm(sampling.getJyxmdm());
+            dto.setXmmc(sampling.getProName());
+            dtos.add(dto);
+
+            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());
+            detailsDtos.add(detailsDto);
+        }
+
+        lisSaveSqdxxDto.setJyxmlist(dtos);
+        log.info("妫�楠岀敵璇峰弬鏁� ->{}", JSONUtil.toJsonStr(lisSaveSqdxxDto));
+//        if (true)
+//            return true;
+        AjaxResult ajaxResult = lisApiMethodService.saveSqdxx(lisSaveSqdxxDto);
+        // Lis璇锋眰杩斿洖 ->{"msg":"鎿嶄綔澶辫触","code":500,"result":{"Response":{"ResultContent":"鎴愬姛","ResultData":null,"ResultCode":"1"}}}
+        // {"msg":"鎿嶄綔鎴愬姛","code":200,"data":{"ResultContent":"鎴愬姛","ResultData":null,"ResultCode":"1"}}
+        log.info("Lis璇锋眰杩斿洖 ->{}", JSONUtil.toJsonStr(ajaxResult));
+        String result = ajaxResult.get("data").toString();
+        JSONObject object = JSONUtil.parseObj(result);
+        String code = object.getStr("ResultCode");
+        if (code.equals("1")) {
+            for (OutpintestapplyDetailsDto detail : detailsDtos) {
+                LtkjJianchajianyanTree tree = new LtkjJianchajianyanTree();
+                tree.setCardId(tjOrder.getCardId());
+                tree.setPationid(tjCustomer.getPationId());
+                tree.setSqdh(sampling.getJyxh());
+                tree.setFyhj(allPrice.toString());
+                String mxfyxmbm = detail.getMxfyxmbm();
+                tree.setHisXmdm(mxfyxmbm);
+                tree.setType("妫�楠�");
+                tree.setService("lis");
+                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> wrapper3 = new LambdaQueryWrapper<>();
+                    wrapper3.eq(LtkjMxjfxmzd::getXmdm, xmdm);
+                    LtkjMxjfxmzd mxjfxmzd = ltkjMxjfxmzdService.getOne(wrapper3);
+                    LambdaQueryWrapper<LtkjEjjfxmzd> wrapper4 = new LambdaQueryWrapper<>();
+                    wrapper4.eq(LtkjEjjfxmzd::getEjkmdm, mxjfxmzd.getEjkmdm());
+                    LtkjEjjfxmzd ejjfxmzd = ltkjEjjfxmzdService.getOne(wrapper4);
+                    tree.setXmfl(ejjfxmzd.getYjkmdm());
+                }
+                tree.setCreateTime(DateUtil.date());
+                tree.setJxbz(sampling.getJxbz());
+                ltkjJianchajianyanTreeService.save(tree);
+            }
+            return true;
+        } else {
+            log.error("璇锋眰澶辫触 ->{}", lisSaveSqdxxDto);
+            return false;
+        }
+    }
+
+    public Boolean save(TjOrder tjOrder, TjCustomer tjCustomer, List<TjProject> projects,List<TbTransition> detailList) {
+//            LambdaQueryWrapper<TjProject> wq = new LambdaQueryWrapper<>();
+//            wq.in(TjProject::getProId, detailList.stream().map(TbTransition::getParentProId).collect(Collectors.toList()));
+//            wq.in(TjProject::getDeptId,deptService.getJyDeptIds());
+//            List<TjProject> projects = projectService.list(wq);
+
+        if (projects != null && !projects.isEmpty()) {
+            String dept = configService.selectConfigByKey("request_default_dept");
+            String ysbm = configService.selectConfigByKey("request_default_ysbm");
+            // 鏍规嵁project琛ㄧ殑his_xmbm鏌ョ粍鍚堝叧鑱旇〃 ltkj_jfzhgljyxmzd 鏍规嵁瀛楁`zhxmdm`
+            // - 鏌ュ埌 浣跨敤瀛楁`jyxmdm`鏌ユ楠岄」鐩瓧鍏歌〃 ltkj_jyxmzd 鏍规嵁瀛楁`jyxmdm`
+            // - 鏈煡鍒� 鏌ラ」鐩叧鑱旇〃ltkj_jfxmgljyxmzd 鏍规嵁瀛楁`xmdm`
+            AtomicInteger xh = new AtomicInteger();
+            for (TjProject project : projects) {
+                if (0 == project.getProParentId() && project.getProPrice().compareTo(BigDecimal.ZERO) != 0) {
+                    if (null != project.getHisXmbm()) {
+                        LtkjJyxmzd jyxmzd = getJyxmzd(project);
+                        if (jyxmzd != null) {
+                            LisSaveSqdxxDto lisSaveSqdxxDto = new LisSaveSqdxxDto();
+                            String jyxh = idUtils.generateLisID();
+                            lisSaveSqdxxDto.setJyxh(jyxh);
+                            lisSaveSqdxxDto.setBah(tjOrder.getCardId());
+                            lisSaveSqdxxDto.setBrxm(tjCustomer.getCusName());
+                            lisSaveSqdxxDto.setBrdm(PinyinUtil.getFirstLetter(tjCustomer.getCusName(), ""));
+                            lisSaveSqdxxDto.setXb(tjCustomer.getCusSex() == 1 ? "2" : "1");
+                            lisSaveSqdxxDto.setCsrq(DateFormatUtils.format(tjCustomer.getCusBrithday(), "yyyy-MM-dd"));
+                            AgeResult ageResult = DateUtils.calculateAge(tjCustomer.getCusBrithday());
+                            lisSaveSqdxxDto.setNl(String.valueOf(ageResult.getAge()));
+                            lisSaveSqdxxDto.setNldw(String.valueOf(ageResult.getUnit()));
+                            lisSaveSqdxxDto.setSfzh(tjCustomer.getCusIdcard());
+                            lisSaveSqdxxDto.setLxdh(tjCustomer.getCusPhone());
+                            lisSaveSqdxxDto.setJtzz("");
+                            Date date = new Date();
+                            lisSaveSqdxxDto.setSqrq(DateFormatUtils.format(date, "yyyy-MM-dd HH:mm:ss"));
+                            lisSaveSqdxxDto.setCyrq("");
+                            lisSaveSqdxxDto.setLczd("");
+                            lisSaveSqdxxDto.setBz("");
+                            lisSaveSqdxxDto.setKsbm(dept);
+                            lisSaveSqdxxDto.setSqys(ysbm);
+                            lisSaveSqdxxDto.setKfbz("1");
+                            List<OutpintestapplyDetailsDto> detailsDtos = new ArrayList<>();
+                            ArrayList<LisSaveSqdxxJyxmlistDto> dtos = new ArrayList<>();
+                            BigDecimal allPrice = new BigDecimal("0");
+                            for (TbTransition transition : detailList.stream().filter(item -> Objects.equals(item.getParentProId(), project.getProId()))
+                                    .collect(Collectors.toList())) {
+                                allPrice = allPrice.add(transition.getNowPrice());
+                            }
+                            lisSaveSqdxxDto.setFyje(allPrice.toString());
+                            lisSaveSqdxxDto.setYbbm(jyxmzd.getJybbdm());
+                            LisSaveSqdxxJyxmlistDto dto = new LisSaveSqdxxJyxmlistDto();
+                            dto.setXh(String.valueOf(xh.getAndIncrement() + 1));
+                            dto.setJyxm(jyxmzd.getJyxmdm());
+                            dto.setXmmc(jyxmzd.getJyxmmc());
+                            dtos.add(dto);
+
+                            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());
+                            detailsDtos.add(detailsDto);
+
+                            lisSaveSqdxxDto.setJyxmlist(dtos);
+                            log.info("妫�楠岀敵璇峰弬鏁� ->{}", JSONUtil.toJsonStr(lisSaveSqdxxDto));
+                            AjaxResult ajaxResult = lisApiMethodService.saveSqdxx(lisSaveSqdxxDto);
+                            // Lis璇锋眰杩斿洖 ->{"msg":"鎿嶄綔澶辫触","code":500,"result":{"Response":{"ResultContent":"鎴愬姛","ResultData":null,"ResultCode":"1"}}}
+                            // {"msg":"鎿嶄綔鎴愬姛","code":200,"data":{"ResultContent":"鎴愬姛","ResultData":null,"ResultCode":"1"}}
+                            log.info("Lis璇锋眰杩斿洖 ->{}", JSONUtil.toJsonStr(ajaxResult));
+                            String result = ajaxResult.get("data").toString();
+                            JSONObject object = JSONUtil.parseObj(result);
+                            String code = object.getStr("ResultCode");
+                            if (code.equals("1")) {
+                                for (OutpintestapplyDetailsDto detail : detailsDtos) {
+                                    LtkjJianchajianyanTree tree = new LtkjJianchajianyanTree();
+                                    tree.setCardId(tjOrder.getCardId());
+                                    tree.setPationid(tjCustomer.getPationId());
+                                    tree.setSqdh(jyxh);
+                                    tree.setFyhj(allPrice.toString());
+                                    String mxfyxmbm = detail.getMxfyxmbm();
+                                    tree.setHisXmdm(mxfyxmbm);
+                                    tree.setType("妫�楠�");
+                                    tree.setService("lis");
+                                    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> wrapper3 = new LambdaQueryWrapper<>();
+                                        wrapper3.eq(LtkjMxjfxmzd::getXmdm, xmdm);
+                                        LtkjMxjfxmzd mxjfxmzd = ltkjMxjfxmzdService.getOne(wrapper3);
+                                        LambdaQueryWrapper<LtkjEjjfxmzd> wrapper4 = new LambdaQueryWrapper<>();
+                                        wrapper4.eq(LtkjEjjfxmzd::getEjkmdm, mxjfxmzd.getEjkmdm());
+                                        LtkjEjjfxmzd ejjfxmzd = ltkjEjjfxmzdService.getOne(wrapper4);
+                                        tree.setXmfl(ejjfxmzd.getYjkmdm());
+                                    }
+                                    tree.setCreateTime(DateUtil.date());
+                                    ltkjJianchajianyanTreeService.save(tree);
+                                }
+                            } else {
+                                log.error("璇锋眰澶辫触 ->{}", lisSaveSqdxxDto);
+                            }
+                        }
+                    }
+                }
+            }
+        }
+        return true;
+    }
+
+    /**
+     * 鑾峰彇妫�楠岀粨鏋�
+     * @param cardId
+     * @return
+     */
+    public AjaxResult getJyJg(String cardId){
+        return lisApiMethodService.getJyjg(cardId);
+    }
+
+    /**
+     * 浣滃簾鐢宠鍗�
+     * @param jyxh
+     * @param cardId
+     * @param cusName
+     * @return
+     */
+    public AjaxResult cancel(String jyxh,String cardId,String cusName){
+        return lisApiMethodService.updateSqdxx(cardId,jyxh,cusName);
+    }
+
+
+
+    public LtkjJyxmzd getJyxmzd(TjProject project) {
+        String jyxmdm = "";
+        if (project.getSfzhfy().equals("Y")){
+            LambdaQueryWrapper<LtkjJfzhgljyxmzd> wrapper = new LambdaQueryWrapper<>();
+            wrapper.eq(LtkjJfzhgljyxmzd::getZhxmdm, project.getHisXmbm());
+            LtkjJfzhgljyxmzd jfzhgljyxmzd = ltkjJfzhgljyxmzdService.getOne(wrapper);
+            if (jfzhgljyxmzd != null) jyxmdm = jfzhgljyxmzd.getJyxmdm();
+        } else {
+            LambdaQueryWrapper<LtkjJfxmgljyxmzd> wrapper1 = new LambdaQueryWrapper<>();
+            wrapper1.eq(LtkjJfxmgljyxmzd::getXmdm, project.getHisXmbm());
+            LtkjJfxmgljyxmzd jfxmgljyxmzd = ltkjJfxmgljyxmzdService.getOne(wrapper1);
+            if (jfxmgljyxmzd != null) jyxmdm = jfxmgljyxmzd.getJyxmdm();
+        }
+        LambdaQueryWrapper<LtkjJyxmzd> wrapper2 = new LambdaQueryWrapper<>();
+        wrapper2.eq(LtkjJyxmzd::getJyxmdm,jyxmdm);
+        LtkjJyxmzd jyxmzd = jyxmzdService.getOne(wrapper2);
+        if (jyxmzd != null) return jyxmzd;
+        return null;
+    }
+
+    /**
+     * 鏍规嵁浣撴绫诲瀷鍒ゆ柇鏄惁闇�瑕佺洿鎺ヤ粠Lis銆乸acs鐩存帴鐢宠
+     */
+    public Boolean isUseLisAndPacsRegister(TjOrder tjOrder) {
+        try {
+            String useLisAndPacsRegisterDictTeam = configService.selectConfigByKey("use_lis_and_pacs_register_dict_team");
+            String[] split = useLisAndPacsRegisterDictTeam.split(",");
+            List<String> list = Arrays.asList(split);
+            return list.contains(tjOrder.getTjType());
+        } catch (Exception e) {
+            return false;
+        }
+    }
+
+    /**
+     * 妫�楠岄」鐩瓧鍏哥殑妫�楠屽垎绫讳唬鐮佷笉鑳藉瓨鍦ㄤ簬璇ユ帴鍙h繑鍥炰腑锛屽鏋滃瓨鍦ㄥ垯涓嶈兘鍚堝苟
+     * 鑾峰彇妫�楠屽垎绫诲悎骞朵俊鎭瓧鍏� 瀛樺湪鎵嶈兘鍚堝苟鍙戦�� 涓嶅瓨鍦ㄥ垯鍙兘鍗曟鍙戦��
+     * @return
+     */
+    public AjaxResult getJyFlHb(){
+        return lisApiMethodService.getJyflhbxx();
+    }
 }

--
Gitblit v1.8.0