From f0cca3a055f5fc8dd62a96f599ab2cf9cc0a9cf7 Mon Sep 17 00:00:00 2001
From: zhaowenxuan <chacca165@163.com>
Date: 星期六, 12 十月 2024 15:19:44 +0800
Subject: [PATCH] 修改lis检验申请单逻辑

---
 ltkj-admin/src/main/java/com/ltkj/web/controller/lis/LisApiMethod.java |  162 +++++++++++++++++++++++++----------------------------
 1 files changed, 77 insertions(+), 85 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 9b66719..4a5c5ca 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
@@ -76,50 +76,18 @@
                 // 鏍规嵁project琛ㄧ殑his_xmbm鏌ョ粍鍚堝叧鑱旇〃 ltkj_jfzhgljyxmzd 鏍规嵁瀛楁`zhxmdm`
                 // - 鏌ュ埌 浣跨敤瀛楁`jyxmdm`鏌ユ楠岄」鐩瓧鍏歌〃 ltkj_jyxmzd 鏍规嵁瀛楁`jyxmdm`
                 // - 鏈煡鍒� 鏌ラ」鐩叧鑱旇〃ltkj_jfxmgljyxmzd 鏍规嵁瀛楁`xmdm`
+                AtomicInteger xh = new AtomicInteger();
                 for (TjProject project : projects) {
-                    List<OutpintestapplyDetailsDto> detailsDtos = new ArrayList<>();
                     if (0 == project.getProParentId() && project.getProPrice().compareTo(BigDecimal.ZERO) != 0) {
                         if (null != project.getHisXmbm()) {
-                            LisSaveSqdxxDto lisSaveSqdxxDto = new LisSaveSqdxxDto();
-                            LtkjJyxmzd jyxmzd = getGetYbDm(project);
-                            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());
-                            }
+                            LtkjJyxmzd jyxmzd = getJyxmzd(project);
                             if (jyxmzd != null) {
-                                ArrayList<LisSaveSqdxxJyxmlistDto> dtos = new ArrayList<>();
-                                AtomicInteger xh = new AtomicInteger();
-                                detailList.stream().filter(detail -> detail.getParentProId().equals(project.getProId()))
-                                        .forEach(item -> {
-                                            LisSaveSqdxxJyxmlistDto dto = new LisSaveSqdxxJyxmlistDto();
-                                            dto.setXh(String.valueOf(xh.getAndIncrement()));
-                                            TjProject project1 = projectService.getById(item.getProId());
-                                            LtkjJyxmzd jyxmzd1 = getGetYbDm(project1);
-                                            if (jyxmzd1 == null) dto.setJyxm(project1.getHisXmbm());
-                                            else dto.setJyxm(jyxmzd1.getJyxmdm());
-                                            dto.setXmmc(project1.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);
-                                        });
-
-                                String yyyyMMdd = DateFormatUtils.format(tjCustomer.getCusBrithday(), "yyyyMMdd");
-//                                String sqdh = "3"+yyyyMMdd.substring(2)+ RandomUtil.randomString(String.valueOf(System.currentTimeMillis()), 3);
-                                String jyxh = idUtils.generateID();
+                                LisSaveSqdxxDto lisSaveSqdxxDto = new LisSaveSqdxxDto();
+                                String jyxh = idUtils.generateLisID();
                                 lisSaveSqdxxDto.setJyxh(jyxh);
                                 lisSaveSqdxxDto.setBah(tjOrder.getCardId());
                                 lisSaveSqdxxDto.setBrxm(tjCustomer.getCusName());
-                                lisSaveSqdxxDto.setBrdm(PinyinUtil.getPinyin(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());
@@ -130,54 +98,78 @@
                                 lisSaveSqdxxDto.setJtzz("");
                                 Date date = new Date();
                                 lisSaveSqdxxDto.setSqrq(DateFormatUtils.format(date, "yyyy-MM-dd HH:mm:ss"));
-                                lisSaveSqdxxDto.setYbbm(jyxmzd.getJybbdm());
                                 lisSaveSqdxxDto.setCyrq("");
                                 lisSaveSqdxxDto.setLczd("");
-                                lisSaveSqdxxDto.setFyje(allPrice.toString());
                                 lisSaveSqdxxDto.setBz("");
                                 lisSaveSqdxxDto.setKsbm("0101");
                                 lisSaveSqdxxDto.setSqys("00029");
-                                lisSaveSqdxxDto.setJyxmlistDtoList(dtos);
-                                log.info("妫�楠岀敵璇� ->{}",JSONUtil.toJsonStr(lisSaveSqdxxDto));
-                                // TODO 鏆備笉鍙戝嚭璇锋眰
-                                if (!detailsDtos.isEmpty() && false) {
-                                    AjaxResult ajaxResult = lisApiMethodService.saveSqdxx(lisSaveSqdxxDto);
-                                    String result = ajaxResult.get("data").toString();
-                                    JSONObject object = JSONUtil.parseObj(JSONUtil.parseObj(result).getStr("Response"));
-                                    log.info("璇锋眰杩斿洖 ->{}",object);
-                                    String code = object.getStr("ResultCode");
-                                    if(code.equals("0")){
-                                        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.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);
+                                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.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());
                                         }
-                                    }else {
-                                        log.error("璇锋眰澶辫触 ->{}",lisSaveSqdxxDto);
+                                        tree.setCreateTime(DateUtil.date());
+                                        ltkjJianchajianyanTreeService.save(tree);
                                     }
+                                }else {
+                                    log.error("璇锋眰澶辫触 ->{}",lisSaveSqdxxDto);
                                 }
                             }
                         }
@@ -210,19 +202,19 @@
 
 
 
-    private LtkjJyxmzd getGetYbDm(TjProject project) {
+    private LtkjJyxmzd getJyxmzd(TjProject project) {
         String jyxmdm = "";
-        LambdaQueryWrapper<LtkjJfzhgljyxmzd> wrapper = new LambdaQueryWrapper<>();
-        wrapper.eq(LtkjJfzhgljyxmzd::getZhxmdm, project.getHisXmbm());
-        LtkjJfzhgljyxmzd jfzhgljyxmzd = ltkjJfzhgljyxmzdService.getOne(wrapper);
-        if (jfzhgljyxmzd != null) jyxmdm = jfzhgljyxmzd.getJyxmdm();
-        else {
+        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();
         }
-//        if (StrUtil.isBlank(jyxmdm)) log.error("鑾峰彇妫�楠岄」鐩唬鐮佷负绌� ->{}", project);
         LambdaQueryWrapper<LtkjJyxmzd> wrapper2 = new LambdaQueryWrapper<>();
         wrapper2.eq(LtkjJyxmzd::getJyxmdm,jyxmdm);
         LtkjJyxmzd jyxmzd = jyxmzdService.getOne(wrapper2);

--
Gitblit v1.8.0