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" +