ltkj-admin/src/main/java/com/ltkj/web/controller/his/HisApiMethod.java
@@ -587,6 +587,7 @@ tjSysAsyncService.addCaiYangDengJi(detailList1, !detailList1.isEmpty(), tjOrder, sysUser,null); String mergeRequest = configService.selectConfigByKey("use_lis_pacs_is_auto_merge_request"); String lis_tmh_prefix = configService.selectConfigByKey("make_lis_tmh_prefix"); if (mergeRequest.equals("Y")){ LambdaQueryWrapper<TjSampling> wrapper = new LambdaQueryWrapper<>(); wrapper.eq(TjSampling::getTjNum,tjOrder.getTjNumber()); @@ -613,7 +614,7 @@ } } if (stringList.size() > 1) { String id = tjSamplingService.mergeCaiYangApi(stringList); String id = tjSamplingService.mergeCaiYangApi(stringList,lis_tmh_prefix); ids.add(id); }else { ids.add(stringList.get(0)); ltkj-admin/src/main/java/com/ltkj/web/controller/lis/LisApiMethod.java
@@ -81,6 +81,7 @@ if (detailList != null && !detailList.isEmpty()) { String dept = configService.selectConfigByKey("request_default_dept"); String ysbm = configService.selectConfigByKey("request_default_ysbm"); String lis_tmh_prefix = configService.selectConfigByKey("make_lis_tmh_prefix"); LambdaQueryWrapper<TjProject> wq = new LambdaQueryWrapper<>(); wq.in(TjProject::getProId, detailList.stream().map(TbTransition::getParentProId).collect(Collectors.toList())); wq.in(TjProject::getDeptId,deptService.getJyDeptIds()); @@ -96,7 +97,7 @@ LtkjJyxmzd jyxmzd = getJyxmzd(project); if (jyxmzd != null) { LisSaveSqdxxDto lisSaveSqdxxDto = new LisSaveSqdxxDto(); String jyxh = idUtils.generateLisID(); String jyxh = idUtils.generateLisID(lis_tmh_prefix); lisSaveSqdxxDto.setJyxh(jyxh); lisSaveSqdxxDto.setBah(tjOrder.getCardId()); lisSaveSqdxxDto.setBrxm(tjCustomer.getCusName()); @@ -332,6 +333,7 @@ if (projects != null && !projects.isEmpty()) { String dept = configService.selectConfigByKey("request_default_dept"); String ysbm = configService.selectConfigByKey("request_default_ysbm"); String lis_tmh_prefix = configService.selectConfigByKey("make_lis_tmh_prefix"); // 根据project表的his_xmbm查组合关联表 ltkj_jfzhgljyxmzd 根据字段`zhxmdm` // - 查到 使用字段`jyxmdm`查检验项目字典表 ltkj_jyxmzd 根据字段`jyxmdm` // - 未查到 查项目关联表ltkj_jfxmgljyxmzd 根据字段`xmdm` @@ -342,7 +344,7 @@ LtkjJyxmzd jyxmzd = getJyxmzd(project); if (jyxmzd != null) { LisSaveSqdxxDto lisSaveSqdxxDto = new LisSaveSqdxxDto(); String jyxh = idUtils.generateLisID(); String jyxh = idUtils.generateLisID(lis_tmh_prefix); lisSaveSqdxxDto.setJyxh(jyxh); lisSaveSqdxxDto.setBah(tjOrder.getCardId()); lisSaveSqdxxDto.setBrxm(tjCustomer.getCusName()); ltkj-admin/src/main/java/com/ltkj/web/controller/service/TjSysAsyncServiceImpl.java
@@ -157,6 +157,8 @@ private ISysDictDataService sysDictDataService; @Autowired private TjSamplingMapper tjSamplingMapper; @Autowired private ISysConfigService sysConfigService; @Override @@ -427,6 +429,7 @@ } public void addCaiYangDengJi(List<TjOrderDetail> detailList, boolean detailList1, TjOrder order, SysUser sysUser,String jxbz) { String lis_tmh_prefix = sysConfigService.selectConfigByKey("make_lis_tmh_prefix"); if (null != detailList && detailList1) { String format = DateUtil.format(new Date(), "yyMMddHHmmssSSS"); for (TjOrderDetail detail : detailList) { @@ -435,7 +438,7 @@ TjProject project = projectService.getById(detail.getProId()); Long proParentId = project.getProParentId(); if (null != proParentId && proParentId == 0) { sampling.setJyxh(idUtils.generateLisID()); sampling.setJyxh(idUtils.generateLisID(lis_tmh_prefix)); LtkjJyxmzd jyxmzd = lisApiMethod.getJyxmzd(project); if (jyxmzd != null) { sampling.setSpecimenTypeCode(jyxmzd.getJybbdm()); @@ -447,7 +450,7 @@ } } else { TjProject project1 = projectService.getById(proParentId); sampling.setJyxh(idUtils.generateLisID()); sampling.setJyxh(idUtils.generateLisID(lis_tmh_prefix)); LtkjJyxmzd jyxmzd = lisApiMethod.getJyxmzd(project1); if (jyxmzd != null) { sampling.setSpecimenTypeCode(jyxmzd.getJybbdm()); @@ -765,6 +768,7 @@ } public void addCaiYangDengJiByDiaoYongShiTu(List<TjOrderDetail> detailList, boolean detailList1, TjOrder order, SysUser sysUser,String jxbz) { String lis_tmh_prefix = sysConfigService.selectConfigByKey("make_lis_tmh_prefix"); if (null != detailList && detailList1) { Date date = new Date(); String format = DateUtil.format(date, "yyMMddHHmmssSSS"); @@ -775,13 +779,13 @@ Long proParentId = project.getProParentId(); String dictLabel = sysDictDataService.selectDictLabel("sys_dict_specimen", project.getSpecimenType()); if (null != proParentId && proParentId == 0) { sampling.setJyxh(idUtils.generateLisID()); sampling.setJyxh(idUtils.generateLisID(lis_tmh_prefix)); sampling.setSpecimenTypeCode(project.getSpecimenType()); sampling.setSpecimenType(dictLabel); sampling.setJyxmdm(project.getProId().toString()); } else { TjProject project1 = projectService.getById(proParentId); sampling.setJyxh(idUtils.generateLisID()); sampling.setJyxh(idUtils.generateLisID(lis_tmh_prefix)); sampling.setSpecimenTypeCode(project1.getSpecimenType()); sampling.setSpecimenType(dictLabel); @@ -852,6 +856,7 @@ String dept = configService.selectConfigByKey("request_default_dept"); String ysbm = configService.selectConfigByKey("request_default_ysbm"); String ysmc = configService.selectConfigByKey("request_default_ysmc"); String lis_tmh_prefix = configService.selectConfigByKey("make_lis_tmh_prefix"); List<TbTransition> detailList = transitionService.getBlTbTransitionListByCusId(customer.getCusIdcard(),cardId,jxbz); Boolean useLisAndPacsRegister = lisApiMethod.isUseLisAndPacsRegister(order); List<OutpinmedicapplyDetilsDto> outpinmedicapplyDetilsDtos =new ArrayList<>(); @@ -884,7 +889,7 @@ } } if (stringList.size() > 1) { String id = tjSamplingService.mergeCaiYangApi(stringList); String id = tjSamplingService.mergeCaiYangApi(stringList,lis_tmh_prefix); ids.add(id); }else { ids.add(stringList.get(0)); ltkj-admin/src/main/java/com/ltkj/web/controller/system/TjOrderController.java
@@ -1427,6 +1427,7 @@ } public void addCaiYangDengJi(List<TjOrderDetail> detailList, boolean detailList1, TjOrder order, SysUser sysUser, String jxbz) { String lis_tmh_prefix = configService.selectConfigByKey("make_lis_tmh_prefix"); if (null != detailList && detailList1) { Date date = new Date(); String format = DateUtil.format(date, "yyMMddHHmmssSSS"); @@ -1437,13 +1438,13 @@ Long proParentId = project.getProParentId(); String dictLabel = sysDictDataService.selectDictLabel("sys_dict_specimen", project.getSpecimenType()); if (null != proParentId && proParentId == 0) { sampling.setJyxh(idUtils.generateLisID()); sampling.setJyxh(idUtils.generateLisID(lis_tmh_prefix)); sampling.setSpecimenTypeCode(project.getSpecimenType()); sampling.setSpecimenType(dictLabel); sampling.setJyxmdm(project.getProId().toString()); } else { TjProject project1 = projectService.getById(proParentId); sampling.setJyxh(idUtils.generateLisID()); sampling.setJyxh(idUtils.generateLisID(lis_tmh_prefix)); sampling.setSpecimenTypeCode(project1.getSpecimenType()); sampling.setSpecimenType(dictLabel); ltkj-admin/src/main/java/com/ltkj/web/controller/system/TjSamplingController.java
@@ -286,10 +286,11 @@ list.removeIf(item -> Objects.equals(item.getId(), s)); } } String lis_tmh_prefix = configService.selectConfigByKey("make_lis_tmh_prefix"); Map<String, List<TjSampling>> map = list.stream().filter(i->StrUtil.isNotBlank(i.getSpecimenTypeCode())).collect(Collectors.groupingBy(item -> item.getSpecimenTypeCode())); for (Map.Entry<String, List<TjSampling>> entry : map.entrySet()) { List<TjSampling> entryValue = entry.getValue(); tjSamplingService.mergeCaiYangTran(entryValue.stream().map(TjSampling::getId).collect(Collectors.toList())); tjSamplingService.mergeCaiYangTran(entryValue.stream().map(TjSampling::getId).collect(Collectors.toList()),lis_tmh_prefix); } } wrapper = new LambdaQueryWrapper<>(); @@ -311,7 +312,8 @@ @PostMapping("/mergeCaiYang") @ApiOperation(value = "采样登记合并项目接口") public AjaxResult mergeCaiYang(@RequestBody List<String> ids) { return tjSamplingService.mergeCaiYangTran(ids); String lis_tmh_prefix = configService.selectConfigByKey("make_lis_tmh_prefix"); return tjSamplingService.mergeCaiYangTran(ids,lis_tmh_prefix); } ltkj-admin/src/main/resources/sql/index.sql
@@ -2,3 +2,18 @@ UPDATE ltkjpeisTest.tj_project a JOIN ltkjpeisTest.tj_project_beifen b ON b.pro_id = a.pro_id SET a.pro_default = b.pro_default,a.pro_scope = b.pro_scope,a.result_type = b.result_type; # 查看数据库占用内存大小 SELECT table_schema AS 'Database', SUM(data_length + index_length) / 1024 / 1024 AS 'Size (MB)' FROM information_schema.tables WHERE table_schema = 'ltkjpeis10' GROUP BY table_schema; # 查看设置中预设的数据库内存大小 SHOW VARIABLES LIKE 'innodb_buffer_pool_size'; # 查看最大的连接数 SHOW VARIABLES LIKE 'max_connections'; ltkj-common/src/main/java/com/ltkj/common/utils/IdUtils.java
@@ -21,7 +21,7 @@ @Autowired private StringRedisTemplate stringRedisTemplate; public synchronized String generateLisID() { public synchronized String generateLisID(String prefix) { String currentDate = new SimpleDateFormat("yyyyMMdd").format(new Date()); String storedDate = stringRedisTemplate.opsForValue().get(LIS_CURRENT_DATE_KEY); String lastIdStr = stringRedisTemplate.opsForValue().get(LIS_LAST_ID_KEY); @@ -35,7 +35,7 @@ stringRedisTemplate.opsForValue().set(LIS_LAST_ID_KEY, String.valueOf(lastId)); } String yyMMdd = currentDate.substring(2); return String.format("9%s%05d", yyMMdd, lastId); return String.format(prefix+"%s%05d", yyMMdd, lastId); } } ltkj-hosp/src/main/java/com/ltkj/hosp/service/ITjSamplingService.java
@@ -89,9 +89,9 @@ String getBuKeHebingProName(List<String> ids); AjaxResult mergeCaiYangTran(List<String> ids); AjaxResult mergeCaiYangTran(List<String> ids,String prefix); String mergeCaiYangApi(List<String> ids); String mergeCaiYangApi(List<String> ids,String prefix); /** * 判断项目是否能进行合并 ltkj-hosp/src/main/java/com/ltkj/hosp/service/impl/TjSamplingServiceImpl.java
@@ -157,18 +157,18 @@ @Transactional @Override public AjaxResult mergeCaiYangTran(List<String> ids) { return mergeCaiYang(ids); public AjaxResult mergeCaiYangTran(List<String> ids,String prefix) { return mergeCaiYang(ids,prefix); } @Override public String mergeCaiYangApi(List<String> ids) { AjaxResult ajaxResult = mergeCaiYang(ids); public String mergeCaiYangApi(List<String> ids,String prefix) { AjaxResult ajaxResult = mergeCaiYang(ids,prefix); log.info("合并采样返回 ->{}",ajaxResult); return ajaxResult.get("data").toString(); } private AjaxResult mergeCaiYang(List<String> ids) { private AjaxResult mergeCaiYang(List<String> ids,String prefix) { if (null != ids && !ids.isEmpty()) { if(ids.size()==1) return AjaxResult.error("请选择至少两条项目进行合并!"); int i = panduanshifoukeyihebing(ids); @@ -193,7 +193,7 @@ sampling.setProId(proId); sampling.setProName(proName); sampling.setIsMerge(1); sampling.setJyxh(idUtils.generateLisID()); sampling.setJyxh(idUtils.generateLisID(prefix)); if (save(sampling)) { if (updateHeBingXm(ids, sampling.getId())) { return AjaxResult.success("合并项目成功!", sampling.getId());