zhaowenxuan
2025-01-03 dbc11598957806965ec0e6b15c91f3d017d5759f
20250103
9个文件已修改
70 ■■■■■ 已修改文件
ltkj-admin/src/main/java/com/ltkj/web/controller/his/HisApiMethod.java 3 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ltkj-admin/src/main/java/com/ltkj/web/controller/lis/LisApiMethod.java 6 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ltkj-admin/src/main/java/com/ltkj/web/controller/service/TjSysAsyncServiceImpl.java 15 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ltkj-admin/src/main/java/com/ltkj/web/controller/system/TjOrderController.java 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ltkj-admin/src/main/java/com/ltkj/web/controller/system/TjSamplingController.java 6 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ltkj-admin/src/main/resources/sql/index.sql 15 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ltkj-common/src/main/java/com/ltkj/common/utils/IdUtils.java 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ltkj-hosp/src/main/java/com/ltkj/hosp/service/ITjSamplingService.java 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ltkj-hosp/src/main/java/com/ltkj/hosp/service/impl/TjSamplingServiceImpl.java 12 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
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());