From 050c9712591dcd97ba1d508e3f7bc2cda9196f60 Mon Sep 17 00:00:00 2001
From: zhaowenxuan <chacca165@163.com>
Date: 星期五, 18 十月 2024 14:22:41 +0800
Subject: [PATCH] 2024-10-18

---
 ltkj-admin/src/main/java/com/ltkj/web/controller/his/HisApiGetMethodService.java    |    4 
 ltkj-admin/src/main/java/com/ltkj/web/controller/service/TjSysAsyncServiceImpl.java |   36 ++++-
 ltkj-admin/src/main/java/com/ltkj/web/controller/system/TjOrderController.java      |   31 +++--
 ltkj-admin/src/main/java/com/ltkj/web/controller/lis/LisApiMethod.java              |  140 +++++++++++++++++++++++
 ltkj-admin/src/main/java/com/ltkj/web/controller/lis/LisApiMethodService.java       |    5 
 ltkj-admin/src/main/java/com/ltkj/web/controller/pacs/PacsApiMethodService.java     |    8 +
 ltkj-hosp/src/main/java/com/ltkj/hosp/mapper/TjOrderDetailMapper.java               |    5 
 ltkj-admin/src/main/java/com/ltkj/web/controller/his/HisApiMethod.java              |    6 
 ltkj-hosp/src/main/java/com/ltkj/hosp/mapper/TjSamplingMapper.java                  |   13 ++
 ltkj-admin/src/main/java/com/ltkj/web/controller/system/TjSamplingController.java   |   93 ++++++++++-----
 10 files changed, 285 insertions(+), 56 deletions(-)

diff --git a/ltkj-admin/src/main/java/com/ltkj/web/controller/his/HisApiGetMethodService.java b/ltkj-admin/src/main/java/com/ltkj/web/controller/his/HisApiGetMethodService.java
index f275a08..6ead066 100644
--- a/ltkj-admin/src/main/java/com/ltkj/web/controller/his/HisApiGetMethodService.java
+++ b/ltkj-admin/src/main/java/com/ltkj/web/controller/his/HisApiGetMethodService.java
@@ -275,6 +275,7 @@
                 responseJson = HttpClientUtils.sendPost(LIS_URL + apiConfig.getApiUrl(), params);
                 break;
         }
+        log.info("璇锋眰杩斿洖鍊�1 ->{}",responseJson);
         Integer isResponse = apiConfig.getIsResponse();
         JSONObject response = null;
         if (isResponse == 1) {
@@ -286,8 +287,10 @@
             AjaxResult ajaxResult = AjaxResult.success();
             if (response.getStr(apiConfig.getResultDataKey()) != null && StrUtil.isNotBlank(response.getStr(apiConfig.getResultDataKey()))){
                 JSONArray resultData = response.getJSONArray(apiConfig.getResultDataKey());
+                log.info("璇锋眰杩斿洖鍊�2 ->{}",JSONUtil.toJsonStr(resultData));
                 List<Map<String, String>> list = new ArrayList<>();
                 for (Object resultDatum : resultData) {
+                    log.info("璇锋眰杩斿洖鍊�3 ->{}",JSONUtil.toJsonStr(resultDatum));
                     JSONObject object = (JSONObject) resultDatum;
                     ajaxResult = save(object, type,apiConfig,JSONUtil.toJsonStr(params));
                     Map<String, String> map = new HashMap<>();
@@ -321,6 +324,7 @@
         if (code.equals("lis") || code.equals("pacs"))
             tabName = ((ApiConfig)hisApiConfig).getTabName();
         else tabName = ((HisApiConfig) hisApiConfig).getTabName();
+        log.info("save鏂规硶 ->{}", tabName);
         Connection connection = getConnection();
         Boolean isExists = tabIsExists(connection, tabName);
         if (null == isExists)
diff --git a/ltkj-admin/src/main/java/com/ltkj/web/controller/his/HisApiMethod.java b/ltkj-admin/src/main/java/com/ltkj/web/controller/his/HisApiMethod.java
index 8f944bc..cd155b5 100644
--- a/ltkj-admin/src/main/java/com/ltkj/web/controller/his/HisApiMethod.java
+++ b/ltkj-admin/src/main/java/com/ltkj/web/controller/his/HisApiMethod.java
@@ -559,7 +559,8 @@
 //        wq2.eq(TjOrderDetail::getIsSampling, 0);
 //        List<TjOrderDetail> detailList1 = tjOrderDetailService.list(wq2);
         List<TjOrderDetail> detailList1 = tjOrderDetailService.getCaiYangDengJi(tjOrder.getOrderId());
-        tjSysAsyncService.addCaiYangDengJi(detailList1, !detailList1.isEmpty(), tjOrder, sysUser);
+        log.info("TjOrderDetail ->{}",JSONUtil.toJsonStr(detailList1));
+        tjSysAsyncService.addCaiYangDengJi(detailList1, !detailList1.isEmpty(), tjOrder, sysUser,null);
 
         //妫�楠岀敵璇�
         OutpintestapplyDto dto = new OutpintestapplyDto();
@@ -764,6 +765,7 @@
             if (jysqdh != null && !jysqdh.isEmpty()){
                 for (String sqdh : jysqdh) {
                     AjaxResult cancelLisAjaxResult = lisApiMethod.cancel(sqdh, order.getCardId(), customer1.getCusName());
+                    log.info("lis璇锋眰杩斿洖 ->{}",JSONUtil.toJsonStr(cancelLisAjaxResult));
                     String result = cancelLisAjaxResult.get("data").toString();
                     JSONObject object = JSONUtil.parseObj(result);
                     String code= object.getStr("ResultCode");
@@ -874,6 +876,7 @@
                         if (jcsqdh != null && !jcsqdh.isEmpty()){
                             for (String sqdh : jcsqdh) {
                                 AjaxResult cancelPacsAjaxResult = pacsApiMethodService.updatePacsApply(sqdh, order.getCardId(), customer1.getCusName());
+                                log.info("浣滃簾妫�鏌� pacs杩斿洖 ->{}",JSONUtil.toJsonStr(cancelPacsAjaxResult));
                                 String result = cancelPacsAjaxResult.get("data").toString();
                                 JSONObject object = JSONUtil.parseObj(result);
                                 String code = object.getStr("ResultCode");
@@ -888,6 +891,7 @@
                         if (jysqdh != null && !jysqdh.isEmpty()){
                             for (String sqdh : jysqdh) {
                                 AjaxResult cancelLisAjaxResult = lisApiMethod.cancel(sqdh, order.getCardId(), customer1.getCusName());
+                                log.info("浣滃簾妫�楠� pacs杩斿洖 ->{}",JSONUtil.toJsonStr(cancelLisAjaxResult));
                                 String result = cancelLisAjaxResult.get("data").toString();
                                 JSONObject object = JSONUtil.parseObj(result);
                                 String code= object.getStr("ResultCode");
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 3bb8720..e0e0ae6 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
@@ -16,6 +16,7 @@
 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;
@@ -58,6 +59,14 @@
     private IdUtils idUtils;
     @Autowired
     private ISysConfigService configService;
+    @Autowired
+    private ITjOrderService orderService;
+    @Autowired
+    private ITjCustomerService customerService;
+    @Autowired
+    private TbTransitionMapper tbTransitionMapper;
+    @Autowired
+    private ITjSamplingService tjSamplingService;
 
     /**
      * 淇濆瓨妫�楠屽崟鐢宠淇℃伅
@@ -181,6 +190,128 @@
         }
         return true;
     }
+
+    public Boolean save(TjSampling sampling,TjOrder tjOrder,TjCustomer tjCustomer){
+        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("0101");
+        lisSaveSqdxxDto.setSqys("00029");
+        lisSaveSqdxxDto.setKfbz("1");
+        List<OutpintestapplyDetailsDto> detailsDtos = new ArrayList<>();
+        ArrayList<LisSaveSqdxxJyxmlistDto> dtos = new ArrayList<>();
+        BigDecimal 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.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()));
@@ -349,4 +480,13 @@
             return false;
         }
     }
+
+    /**
+     * 妫�楠岄」鐩瓧鍏哥殑妫�楠屽垎绫讳唬鐮佷笉鑳藉瓨鍦ㄤ簬璇ユ帴鍙h繑鍥炰腑锛屽鏋滃瓨鍦ㄥ垯涓嶈兘鍚堝苟
+     * 鑾峰彇妫�楠屽垎绫诲悎骞朵俊鎭瓧鍏� 瀛樺湪鎵嶈兘鍚堝苟鍙戦�� 涓嶅瓨鍦ㄥ垯鍙兘鍗曟鍙戦��
+     * @return
+     */
+    public AjaxResult getJyFlHb(){
+        return lisApiMethodService.getJyflhbxx();
+    }
 }
diff --git a/ltkj-admin/src/main/java/com/ltkj/web/controller/lis/LisApiMethodService.java b/ltkj-admin/src/main/java/com/ltkj/web/controller/lis/LisApiMethodService.java
index b4493c2..3bbcd18 100644
--- a/ltkj-admin/src/main/java/com/ltkj/web/controller/lis/LisApiMethodService.java
+++ b/ltkj-admin/src/main/java/com/ltkj/web/controller/lis/LisApiMethodService.java
@@ -113,11 +113,10 @@
         map.put("jyxh", jyxh);
         map.put("brxm", brxm);
         log.info("浣滃簾妫�楠� ->{}", JSONUtil.toJsonStr(map));
-        // TODO 鏆備笉璇锋眰
-        return AjaxResult.warn("鏆傛棤姝ゆ暟鎹�");
+//        return AjaxResult.warn("鏆傛棤姝ゆ暟鎹�");
 //        String post = HttpClientUtils.sendPost(HIS_URL + "/updateSqdxx", map);
 //        return AjaxResult.success().put("data", post);
-//        return service.getLisData("updateSqdxx",map);
+        return service.getLisData("updateSqdxx",map);
     }
 
 
diff --git a/ltkj-admin/src/main/java/com/ltkj/web/controller/pacs/PacsApiMethodService.java b/ltkj-admin/src/main/java/com/ltkj/web/controller/pacs/PacsApiMethodService.java
index a4c086d..6dd49b0 100644
--- a/ltkj-admin/src/main/java/com/ltkj/web/controller/pacs/PacsApiMethodService.java
+++ b/ltkj-admin/src/main/java/com/ltkj/web/controller/pacs/PacsApiMethodService.java
@@ -86,10 +86,16 @@
         hashMap.put("examNo", examNo);
         hashMap.put("name", name);
         log.info("浣滃簾妫�鏌� ->{}", JSONUtil.toJsonStr(hashMap));
-        return getMethodService.getPacsData("updatePacsApply", hashMap);
+        // TODO 鏆備笉鍙戝嚭pacs璇锋眰
+//        return getMethodService.getPacsData("updatePacsApply", hashMap);
+        JSONObject object = JSONUtil.createObj();
+        object.putOpt("ResultCode","1");
+        return AjaxResult.success().put("data",JSONUtil.toJsonStr(object));
     }
 
     public Boolean save(TjOrder tjOrder, TjCustomer tjCustomer, List<TbTransition> detailList) {
+        if (true)
+            return true;
         JSONArray array = JSONUtil.createArray();
         ArrayList<SavePacsApply> errorPacsList = new ArrayList<>();
         ArrayList<SavePacsApply> successPacsList = new ArrayList<>();
diff --git a/ltkj-admin/src/main/java/com/ltkj/web/controller/service/TjSysAsyncServiceImpl.java b/ltkj-admin/src/main/java/com/ltkj/web/controller/service/TjSysAsyncServiceImpl.java
index 1cb7102..47729ee 100644
--- a/ltkj-admin/src/main/java/com/ltkj/web/controller/service/TjSysAsyncServiceImpl.java
+++ b/ltkj-admin/src/main/java/com/ltkj/web/controller/service/TjSysAsyncServiceImpl.java
@@ -416,10 +416,10 @@
 //        wq.eq(TjOrderDetail::getIsSampling, 0);
 //        List<TjOrderDetail> detailList = tjOrderDetailService.list(wq);
         List<TjOrderDetail> detailList = tjOrderDetailService.getCaiYangDengJi(order.getOrderId());
-        addCaiYangDengJi(detailList, !detailList.isEmpty(), order, sysUser);
+        addCaiYangDengJi(detailList, !detailList.isEmpty(), order, sysUser,null);
     }
 
-    public void addCaiYangDengJi(List<TjOrderDetail> detailList, boolean detailList1, TjOrder order, SysUser sysUser) {
+    public void addCaiYangDengJi(List<TjOrderDetail> detailList, boolean detailList1, TjOrder order, SysUser sysUser,String jxbz) {
         if (null != detailList && detailList1) {
             String format = DateUtil.format(new Date(), "yyMMddHHmmssSSS");
             for (TjOrderDetail detail : detailList) {
@@ -436,6 +436,7 @@
                         wrapper.eq(LtkjJybbzd::getJybbdm,jyxmzd.getJybbdm());
                         LtkjJybbzd jybbzd = jybbzdService.getOne(wrapper);
                         sampling.setSpecimenType(jybbzd.getJybbmc());
+                        sampling.setJyxmdm(jyxmzd.getJyxmdm());
                     }
                 } else {
                     TjProject project1 = projectService.getById(proParentId);
@@ -447,6 +448,7 @@
                         wrapper.eq(LtkjJybbzd::getJybbdm,jyxmzd.getJybbdm());
                         LtkjJybbzd jybbzd = jybbzdService.getOne(wrapper);
                         sampling.setSpecimenType(jybbzd.getJybbmc());
+                        sampling.setJyxmdm(jyxmzd.getJyxmdm());
                     }
                 }
                 sampling.setSamplingNumber(format);
@@ -465,8 +467,14 @@
                 sampling.setUpdateTime(new 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();
+            log.info("getJyFlHb ->{}",JSONUtil.toJsonStr(ajaxResult));
         }
     }
 
@@ -580,6 +588,7 @@
 
         List<TjProject>  projectList=new ArrayList<>();
 
+        ArrayList<TjOrderDetail> tjOrderDetails = new ArrayList<>();
         for (String tjProId : tjProIds) {
 //            LambdaQueryWrapper<TbTransition> wqq = new LambdaQueryWrapper<>();
 //            wqq.eq(TbTransition::getCusId, customer.getCusIdcard());
@@ -790,6 +799,7 @@
                 detail.setUpdateId(String.valueOf(sysUser.getUserId()));
                 detail.setJxbz(jxbz);
                 tjOrderDetailService.save(detail);
+                tjOrderDetails.add(detail);
 
             }
 
@@ -808,6 +818,12 @@
             }
 
         }
+        List<TjOrderDetail> collect = tjOrderDetails.stream().filter(item -> {
+            TjProject project = projectService.getById(item.getProId());
+            return project != null && project.getProParentId() == 0;
+        }).collect(Collectors.toList());
+        addCaiYangDengJi(collect, !collect.isEmpty(), order, sysUser,jxbz);
+        tjOrderDetails = new ArrayList<>();
 
         ArrayList<TjProject> jianChaProjects = new ArrayList<>();
         ArrayList<TjProject> jianYanProjects = new ArrayList<>();
@@ -842,6 +858,7 @@
                 detail1.setUpdateId(String.valueOf(sysUser.getUserId()));
                 detail1.setJxbz(jxbz);
                 tjOrderDetailService.save(detail1);
+                tjOrderDetails.add(detail1);
                 if(null !=config && config.equals("Y")){
                     //妫�楠�
 //                    if (project.getProPrice().compareTo(BigDecimal.ZERO) != 0 && (project.getDeptId() == 241L || project.getDeptId() == 317L)) {
@@ -979,14 +996,17 @@
                     }
                 }
             }
+            collect = tjOrderDetails.stream().filter(item -> {
+                TjProject project = projectService.getById(item.getProId());
+                return project != null && project.getProParentId() == 0;
+            }).collect(Collectors.toList());
+            addCaiYangDengJi(collect, !collect.isEmpty(), order, sysUser,jxbz);
         }
 
+        Boolean useLisAndPacsRegister = lisApiMethod.isUseLisAndPacsRegister(order);
         if(null !=config && config.equals("Y")){
-            if (lisApiMethod.isUseLisAndPacsRegister(order)) {
-                List<TjProject> projectList2 = jianYanProjects.stream().distinct().collect(Collectors.toList());
-                List<TjOrderDetail> detailList = tjOrderDetailService.getCaiYangDengJi(order.getOrderId());
-                addCaiYangDengJi(detailList, !detailList.isEmpty(), order, sysUser);
-
+            if (useLisAndPacsRegister) {
+//                List<TjProject> projectList2 = jianYanProjects.stream().distinct().collect(Collectors.toList());
                 // 妫�鏌ョ敵璇�
                 pacsReg(order, customer, jianChaProjects);
             }else {
@@ -1766,7 +1786,7 @@
         }
 
         List<TjOrderDetail> detailList = tjOrderDetailService.getCaiYangDengJi(order.getOrderId());
-        addCaiYangDengJi(detailList, detailList.size() > 0, order, sysUser);
+        addCaiYangDengJi(detailList, detailList.size() > 0, order, sysUser,null);
     }
 
     //棣栭〉楗肩姸鍥剧櫥璁颁汉鏁版帴鍙�
diff --git a/ltkj-admin/src/main/java/com/ltkj/web/controller/system/TjOrderController.java b/ltkj-admin/src/main/java/com/ltkj/web/controller/system/TjOrderController.java
index cb85d44..2f3b4d1 100644
--- a/ltkj-admin/src/main/java/com/ltkj/web/controller/system/TjOrderController.java
+++ b/ltkj-admin/src/main/java/com/ltkj/web/controller/system/TjOrderController.java
@@ -57,6 +57,7 @@
 import com.ltkj.hosp.hisDto.OutpinimpapplyDto;
 import com.ltkj.hosp.hisDto.OutpinmedicapplyDto;
 import com.ltkj.hosp.mapper.TestMapper;
+import com.ltkj.hosp.mapper.TjSamplingMapper;
 import com.ltkj.hosp.pacsDto.SavePacsApply;
 import com.ltkj.hosp.service.*;
 import com.ltkj.hosp.sqlDomain.LtkjMiddleDetail;
@@ -212,6 +213,10 @@
     private HisPDFUtil hisPDFUtil;
     @Value("${path.reportServer}")
     private String urlValue;
+    @Autowired
+    private ITjSamplingService samplingService;
+    @Autowired
+    private TjSamplingMapper tjSamplingMapper;
 
     //灏嗘柟娉曡繑鍥炲�艰В鏋愭垚json鏍煎紡
     public JSONObject getJSONObject(String builder) {
@@ -1082,15 +1087,15 @@
                             newSaveextracted(tjOrder, tjCustomer, discount, sysUser, tjReservation, tjFlowingWater);
                         }
                         // 鏌ヨ 瀵规帴Lis銆丳acs鐢宠濡傛灉绫诲瀷鍖呭惈鍦ㄩ厤缃唴鍒欎娇鐢ㄥ鎺is銆乸acs
-//                        if (lisApiMethod.isUseLisAndPacsRegister(tjOrder)) {
+                        if (lisApiMethod.isUseLisAndPacsRegister(tjOrder)) {
                             // 杩欐槸涓婇潰涓汉鏂规硶寮曞叆鏁版嵁
-//                            newSaveextracted(tjOrder, tjCustomer, discount, sysUser, tjReservation, tjFlowingWater);
-//                            AjaxResult ajaxResult = hisApiMethod.tijianshenqing(tjCustomer, DateUtil.format(date1, "yyyy-MM-dd HH:mm:ss"), tjOrder, sysUser, result);
-//                            if (!ajaxResult.get("code").toString().equals("200")) return ajaxResult;
-//                        }else {
-//                            hisApiMethod.tijianshenqing(tjCustomer, DateUtil.format(date1, "yyyy-MM-dd HH:mm:ss"), tjOrder.getCardId());
-//                        }
-                        hisApiMethod.tijianshenqing(tjCustomer, DateUtil.format(date1, "yyyy-MM-dd HH:mm:ss"), tjOrder.getCardId());
+                            newSaveextracted(tjOrder, tjCustomer, discount, sysUser, tjReservation, tjFlowingWater);
+                            AjaxResult ajaxResult = hisApiMethod.tijianshenqing(tjCustomer, DateUtil.format(date1, "yyyy-MM-dd HH:mm:ss"), tjOrder, sysUser, result);
+                            if (!ajaxResult.get("code").toString().equals("200")) return ajaxResult;
+                        }else {
+                            hisApiMethod.tijianshenqing(tjCustomer, DateUtil.format(date1, "yyyy-MM-dd HH:mm:ss"), tjOrder.getCardId());
+                        }
+//                        hisApiMethod.tijianshenqing(tjCustomer, DateUtil.format(date1, "yyyy-MM-dd HH:mm:ss"), tjOrder.getCardId());
                         return AjaxResult.success(tjNumber);
                     } else {
                         tjCustomer.setCardId(tjOrder.getTjNumber());
@@ -2553,6 +2558,7 @@
             customer.setCardId("0");
             tjCustomerService.updateById(customer);
             String configByKey = configService.selectConfigByKey("sfkqdyhis");
+            tjSamplingMapper.deleteByTjNumAndCusId(tjNum,order.getUserId());
             if (configByKey.equals("Y")) {
 
                 HashMap<String, Object> hisRequestParams = new HashMap<>();
@@ -2580,7 +2586,6 @@
                 }
 
             }
-            return AjaxResult.success("鎾ら攢鎴愬姛!!!");
         }
         return AjaxResult.success("绛惧埌璁板綍涓嶅瓨鍦�!");
     }
@@ -2825,6 +2830,7 @@
                 HashMap<String, Object> hisRequestParams = new HashMap<>();
                 hisRequestParams.put("patientId", order.getCardId());
                 AjaxResult queryPay = hisApiGetMethodService.getHISDataNew("QueryPay", hisRequestParams);
+                log.info("queryPay ->{}",JSONUtil.toJsonStr(queryPay));
                 if (Integer.parseInt(queryPay.get("code").toString()) == 200) {
                     List<Map<String, String>> data = (List<Map<String, String>>) queryPay.get("data");
                     log.info("data鐨勬暟鎹槸" + JSONUtil.toJsonStr(data));
@@ -2858,7 +2864,7 @@
                 }
             }
             try {
-                extracted(dto);
+                extracted(dto,order);
             } catch (Exception e) {
                 log.info("鎾ら攢澶辫触,鍒犻櫎琛ㄥけ璐�");
                 return AjaxResult.error("鎾ら攢澶辫触,鍒犻櫎琛ㄥけ璐�!");
@@ -2868,8 +2874,8 @@
         return AjaxResult.error();
     }
 
-    //    @Transactional(propagation =Propagation.REQUIRES_NEW)
-    public void extracted(TjProBlDto dto) {
+//    @Transactional(propagation =Propagation.REQUIRES_NEW)
+    public void extracted(TjProBlDto dto,TjOrder order) {
         for (String bldh : dto.getBldhs()) {
             remarkService.deleteTjOrderDetailByjxbz(bldh);
             tjOrderDetailService.deleteTjOrderDetailByjxbz(bldh);
@@ -2877,6 +2883,7 @@
             transitionService.deleteTjOrderDetailByjxbz(bldh);
             blService.remove(new LambdaQueryWrapper<TjProBl>().eq(TjProBl::getTjh, dto.getTjh()).eq(TjProBl::getBldh, bldh));
         }
+        tjSamplingMapper.deleteByTjNumAndCusIdAndJxbz(dto.getTjh(),order.getUserId(),dto.getBldhs());
     }
 
 
diff --git a/ltkj-admin/src/main/java/com/ltkj/web/controller/system/TjSamplingController.java b/ltkj-admin/src/main/java/com/ltkj/web/controller/system/TjSamplingController.java
index b8d687d..98084ad 100644
--- a/ltkj-admin/src/main/java/com/ltkj/web/controller/system/TjSamplingController.java
+++ b/ltkj-admin/src/main/java/com/ltkj/web/controller/system/TjSamplingController.java
@@ -12,6 +12,7 @@
 
 import cn.hutool.core.bean.BeanUtil;
 import cn.hutool.core.util.StrUtil;
+import cn.hutool.extra.pinyin.PinyinUtil;
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.ltkj.common.core.redis.RedisCache;
@@ -19,11 +20,12 @@
 import com.ltkj.framework.config.MatchUtils;
 import com.ltkj.hosp.domain.*;
 import com.ltkj.hosp.service.*;
+import com.ltkj.system.service.ISysConfigService;
 import com.ltkj.web.controller.lis.LisApiMethod;
-import com.sun.xml.internal.bind.v2.TODO;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
 import io.swagger.annotations.ApiParam;
+import lombok.extern.slf4j.Slf4j;
 import org.aspectj.weaver.AjAttribute;
 import org.springframework.beans.BeanUtils;
 import org.springframework.security.access.prepost.PreAuthorize;
@@ -44,6 +46,7 @@
  * @author ltkj_璧典匠璞�&鏉庢牸
  * @date 2023-04-11
  */
+@Slf4j
 @RestController
 @RequestMapping("/sampling/sampling")
 @Api(tags = "PC绔� 浣撴閲囨牱绠$悊")
@@ -66,6 +69,8 @@
     private LisApiMethod lisApiMethod;
     @Autowired
     private IdUtils idUtils;
+    @Autowired
+    private ISysConfigService configService;
 
     /**
      * 鏌ヨ浣撴閲囨牱绠$悊鍒楄〃
@@ -247,12 +252,15 @@
      */
     @GetMapping("/getCusCyList")
     @ApiOperation(value = "鏍规嵁瀹㈡埛鑾峰彇閲囨牱鍒楄〃")
-    public AjaxResult getCusCyList(@RequestParam @ApiParam(value = "瀹㈡埛id") String cusId) {
+    public AjaxResult getCusCyList(@RequestParam @ApiParam(value = "瀹㈡埛id") String cusId,
+                                   @RequestParam(defaultValue = "1") @ApiParam(value = "0鏄�1鍚�") Integer isSignFor) {
         if (cusId == null || StrUtil.isBlank(cusId))
             return AjaxResult.error("鍙傛暟閿欒,鏈紶鍙傛暟");
         LambdaQueryWrapper<TjSampling> wrapper = new LambdaQueryWrapper<>();
         wrapper.eq(TjSampling::getCusId, cusId);
-        wrapper.isNull(TjSampling::getParentId).or().eq(TjSampling::getIsMerge,1);
+        wrapper.eq(TjSampling::getIsSignFor,isSignFor);
+        wrapper.and(i -> i.isNull(TjSampling::getParentId).or().eq(TjSampling::getIsMerge,1));
+//        wrapper.isNull(TjSampling::getParentId).or().eq(TjSampling::getIsMerge,1);
         wrapper.orderByDesc(TjSampling::getIsMerge);
         List<TjSampling> list = tjSamplingService.list(wrapper);
         if (list.isEmpty()){
@@ -398,38 +406,63 @@
     @ApiOperation(value = "纭閲囨牱鎺ュ彛")
     @Transactional
     public AjaxResult confirmSampling(@RequestBody List<String> ids) {
-        if (null == ids || ids.size() == 0) {
+        if (null == ids || ids.isEmpty()) {
             return AjaxResult.error("璇烽�夋嫨瑕佺‘璁ら」");
         }
-        for (String id : ids) {
-            TjSampling sampling = tjSamplingService.getById(id);
-            if (null != sampling) {
-                sampling.setIsSignFor("0");
-                LambdaQueryWrapper<TjProject> wq = new LambdaQueryWrapper<>();
-                wq.eq(TjProject::getProParentId, sampling.getProId());
-                List<TjProject> projectList = projectService.list(wq);
-                List<String> collect = new ArrayList<>();
-                for (TjProject project : projectList) {
-                    Long proId = project.getProId();
-                    collect.add(String.valueOf(proId));
-                }
-                LambdaQueryWrapper<TjSampling> wq1 = new LambdaQueryWrapper<>();
-                wq1.eq(TjSampling::getTjNum, sampling.getTjNum());
-                wq1.in(TjSampling::getProId, collect);
-                List<TjSampling> samplingList = tjSamplingService.list(wq1);
-                if (null != samplingList && samplingList.size() > 0) {
-                    for (TjSampling tjSampling : samplingList) {
-                        tjSampling.setIsSignFor("0");
-                        tjSamplingService.updateById(tjSampling);
-                    }
-                }
+        List<TjSampling> tjSamplings = tjSamplingService.listByIds(ids);
+        if (tjSamplings.isEmpty())
+            return AjaxResult.error("璇烽�夋嫨瑕佺‘璁ら」");
+        for (TjSampling sampling : tjSamplings) {
+            sampling.setIsSignFor("0");
+//                LambdaQueryWrapper<TjProject> wq = new LambdaQueryWrapper<>();
+//                wq.eq(TjProject::getProParentId, sampling.getProId());
+//                List<TjProject> projectList = projectService.list(wq);
+//                List<String> collect = new ArrayList<>();
+//                for (TjProject project : projectList) {
+//                    Long proId = project.getProId();
+//                    collect.add(String.valueOf(proId));
+//                }
+//                LambdaQueryWrapper<TjSampling> wq1 = new LambdaQueryWrapper<>();
+//                wq1.eq(TjSampling::getTjNum, sampling.getTjNum());
+//                wq1.in(TjSampling::getProId, collect);
+//                List<TjSampling> samplingList = tjSamplingService.list(wq1);
+//                if (null != samplingList && samplingList.size() > 0) {
+//                    for (TjSampling tjSampling : samplingList) {
+//                        tjSampling.setIsSignFor("0");
+//                        tjSamplingService.updateById(tjSampling);
+//                    }
+//                }
+            TjOrder tjOrder = orderService.getOrderByTjNum(sampling.getTjNum());
+            TjCustomer tjCustomer = customerService.getById(tjOrder.getUserId());
+            boolean updChild;
+            String config = configService.selectConfigByKey("sfkqdyhis");
+            Boolean save;
+            if (null != config && config.equals("Y")) {
+                save = lisApiMethod.save(sampling, tjOrder, tjCustomer);
+            }else {
+                save = true;
             }
-            if (!tjSamplingService.updateById(sampling)) {
-                TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
-                return AjaxResult.error("鎿嶄綔澶辫触,璇烽噸璇�");
+            if (save) {
+                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) {
+                        tjSampling.setIsSignFor("0");
+                    }
+                    updChild = tjSamplingService.updateBatchById(list);
+                } else {
+                    updChild = true;
+                }
+                if (!tjSamplingService.updateById(sampling) && !updChild) {
+//                    lisApiMethod.cancel(sampling.getJyxh(), tjOrder.getCardId(), PinyinUtil.getFirstLetter(tjCustomer.getCusName(), ""));
+//                    TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
+                    return AjaxResult.error("鎿嶄綔澶辫触璇烽噸璇�");
+                }
+            } else {
+                return AjaxResult.error("鎿嶄綔澶辫触璇烽噸璇�");
             }
         }
-
         return AjaxResult.success("鎿嶄綔鎴愬姛");
     }
 }
diff --git a/ltkj-hosp/src/main/java/com/ltkj/hosp/mapper/TjOrderDetailMapper.java b/ltkj-hosp/src/main/java/com/ltkj/hosp/mapper/TjOrderDetailMapper.java
index 70360fb..2d53023 100644
--- a/ltkj-hosp/src/main/java/com/ltkj/hosp/mapper/TjOrderDetailMapper.java
+++ b/ltkj-hosp/src/main/java/com/ltkj/hosp/mapper/TjOrderDetailMapper.java
@@ -235,8 +235,11 @@
 
 
 
+//    @Select("SELECT a.* FROM tj_order_detail a LEFT JOIN tj_project b ON a.pro_id=b.pro_id \n" +
+//            "LEFT JOIN sys_dept c ON c.dept_id=b.dept_id \n" +
+//            " WHERE a.deleted=0 AND !ISNULL(a.flowing_water_id) AND a.order_id=#{orderId} and b.pro_parent_id = 0 AND c.org_type=1")
     @Select("SELECT a.* FROM tj_order_detail a LEFT JOIN tj_project b ON a.pro_id=b.pro_id \n" +
             "LEFT JOIN sys_dept c ON c.dept_id=b.dept_id \n" +
-            " WHERE a.deleted=0 AND !ISNULL(a.flowing_water_id) AND a.order_id=#{orderId} and b.pro_parent_id = 0 AND c.org_type=1")
+            " WHERE a.deleted=0 AND a.order_id=#{orderId} and b.pro_parent_id = 0 AND c.org_type=1")
     List<TjOrderDetail> getCaiYangDengJi(Long orderId);
 }
diff --git a/ltkj-hosp/src/main/java/com/ltkj/hosp/mapper/TjSamplingMapper.java b/ltkj-hosp/src/main/java/com/ltkj/hosp/mapper/TjSamplingMapper.java
index 9630fbf..8ee3f34 100644
--- a/ltkj-hosp/src/main/java/com/ltkj/hosp/mapper/TjSamplingMapper.java
+++ b/ltkj-hosp/src/main/java/com/ltkj/hosp/mapper/TjSamplingMapper.java
@@ -128,4 +128,17 @@
 //            "</foreach>",
 //            "</script>"})
     boolean updateHeBingXms(@Param("ids") List<String> ids);
+
+    @Delete("DELETE FROM tj_sampling WHERE tj_num = #{tjNum} AND cus_id = #{userId}")
+    int deleteByTjNumAndCusId(@Param("tjNum") String tjNum,@Param("userId") Long userId);
+
+    @Delete({
+            "<script>",
+            "DELETE FROM tj_sampling WHERE tj_num = #{tjNum} AND cus_id = #{userId} and jxbz in ",
+            "<foreach collection='ids' item='id' open='(' separator=',' close=')'>",
+            "#{id}",
+            "</foreach>",
+            "</script>"
+    })
+    int deleteByTjNumAndCusIdAndJxbz(@Param("tjNum") String tjNum,@Param("userId") Long userId,@Param("ids")List<String> ids);
 }

--
Gitblit v1.8.0