zhaowenxuan
2025-05-27 20fd61260b51260b99fe485bb718e136f6742976
修改团体lis
4个文件已修改
105 ■■■■■ 已修改文件
ltkj-admin/src/main/java/com/ltkj/web/controller/his/HisApiMethod.java 29 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ltkj-admin/src/main/java/com/ltkj/web/controller/lis/LisApiMethod.java 62 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ltkj-admin/src/main/java/com/ltkj/web/controller/system/TjOrderController.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
ltkj-hosp/src/main/java/com/ltkj/hosp/mapper/TbTransitionMapper.java 12 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ltkj-admin/src/main/java/com/ltkj/web/controller/his/HisApiMethod.java
@@ -2007,7 +2007,32 @@
        String mergeRequest = configService.selectConfigByKey("use_lis_pacs_is_auto_merge_request");
        String lis_tmh_prefix = configService.selectConfigByKey("make_lis_tmh_prefix");
        String isRequestLisAllzx = configService.selectConfigByKey("jcx_is_requestLisAllzx");
        if (mergeRequest.equals("Y")){
            if (isRequestLisAllzx != null && isRequestLisAllzx.equals("Y")){
                log.info("进入团体根据小项标本合并发送方法");
                LambdaQueryWrapper<TjSampling> wrapper = new LambdaQueryWrapper<>();
                wrapper.eq(TjSampling::getTjNum,tjOrder.getTjNumber());
                List<TjSampling> list = tjSamplingService.list(wrapper);
                List<String> strings = list.stream().map(TjSampling::getProId).collect(Collectors.toList());
                LambdaQueryWrapper<TjProject> wrapper1 = new LambdaQueryWrapper<>();
                wrapper1.in(TjProject::getProParentId,strings);
                wrapper1.eq(TjProject::getProStatus,0);
                wrapper1.eq(TjProject::getDeleted,0);
                wrapper1.groupBy(TjProject::getProId);
                List<TjProject> tjProjectList = projectService.list(wrapper1);
                Map<String, List<TjProject>> listMap = tjProjectList.stream().collect(Collectors.groupingBy(TjProject::getSpecimenType));
                log.info("分组后 ->{}",JSONUtil.toJsonStr(listMap));
                boolean save = lisApiMethod.save(listMap, tjOrder, customer);
                if (!save) {
                    TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
                    return AjaxResult.error("处理失败");
                }
                for (TjSampling tjSampling : list) {
                    tjSampling.setIsSignFor("0");
                }
                tjSamplingService.updateBatchById(list);
            }else{
            try {
                LambdaQueryWrapper<TjSampling> wrapper = new LambdaQueryWrapper<>();
                wrapper.eq(TjSampling::getTjNum,tjOrder.getTjNumber());
@@ -2051,10 +2076,12 @@
                }
            } catch (NoTransactionException e) {
//                throw new RuntimeException(e);
                log.error(e.getMessage().toString());
                    log.error(String.valueOf(e),e.getMessage());
            }
        }
        }
        //检验申请
//        OutpintestapplyDto dto = new OutpintestapplyDto();
//        dto.setHisRegistrationId(tjOrder.getCardId());
ltkj-admin/src/main/java/com/ltkj/web/controller/lis/LisApiMethod.java
@@ -223,6 +223,68 @@
        }
    }
    public Boolean save(Map<String, List<TjProject>> listMap,TjOrder tjOrder,TjCustomer tjCustomer){
        boolean flag = true;
        for (Map.Entry<String, List<TjProject>> entry : listMap.entrySet()) {
            String jyxh = idUtils.generateLisID(configService.selectConfigByKey("make_lis_tmh_prefix"));
            String dept = configService.selectConfigByKey("request_default_dept");
            String ysbm = configService.selectConfigByKey("request_default_ysbm");
            AtomicInteger xh = new AtomicInteger();
            LisSaveSqdxxDto lisSaveSqdxxDto = new LisSaveSqdxxDto();
            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 = tbTransitionMapper.getLisPriceByTjNumAndInProId(tjOrder.getTjNumber(), entry.getValue().stream().map(TjProject::getProId).collect(Collectors.toList()));
            lisSaveSqdxxDto.setFyje(allPrice.toString());
            lisSaveSqdxxDto.setYbbm(entry.getKey());
            for (TjProject tjProject : entry.getValue()) {
                LisSaveSqdxxJyxmlistDto dto = new LisSaveSqdxxJyxmlistDto();
                dto.setXh(String.valueOf(xh.getAndIncrement() + 1));
                dto.setJyxm(tjProject.getLisXmbm());
                dto.setXmmc(tjProject.getProName());
                dtos.add(dto);
            }
            lisSaveSqdxxDto.setJyxmlist(dtos);
            log.info("检验申请参数 ->{}", JSONUtil.toJsonStr(lisSaveSqdxxDto));
            AjaxResult ajaxResult = lisApiMethodService.saveSqdxx(lisSaveSqdxxDto);
            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")) {
                log.error("请求失败 ->{}", lisSaveSqdxxDto);
                flag = false;
                break;
            }
        }
        return flag;
    }
    /**
     * 获取检验结果
     * @param cardId
ltkj-admin/src/main/java/com/ltkj/web/controller/system/TjOrderController.java
@@ -1430,7 +1430,7 @@
                        else hisApiMethod.tijianshenqingJinchuanNew(tjCustomer, DateUtil.format(date1, "yyyy-MM-dd HH:mm:ss"), tjOrder.getCardId());
                    }
                } catch (Exception e) {
                    log.error(e.getMessage());
                    log.error(String.valueOf(e),e.getMessage());
                    throw new IllegalStateException();
                }
                return AjaxResult.success(tjNumber);
ltkj-hosp/src/main/java/com/ltkj/hosp/mapper/TbTransitionMapper.java
@@ -333,6 +333,18 @@
    })
    BigDecimal getLisPriceByTjNumAndInParentProId(@Param("tjNum") String tjNum, @Param("parentProId") List<String> parentProId);
    @Select({
            "<script>",
            "SELECT SUM(now_price) FROM `tb_transition`",
            "WHERE `tj_num` = #{tjNum}",
            "AND `pro_id` IN",
            "<foreach item='item' index='index' collection='proId' open='(' separator=',' close=')'>",
            "#{item}",
            "</foreach>",
            "</script>"
    })
    BigDecimal getLisPriceByTjNumAndInProId(@Param("tjNum") String tjNum, @Param("proId") List<Long> parentProId);
    @Select("SELECT GROUP_CONCAT(c.pro_name SEPARATOR ' ; ' ) FROM tj_package_project b JOIN tj_project c ON c.pro_id=b.pro_id\n" +