027c1328165a0d37a778ec7f58760bb0fe1ffebb..2ba86da39808ff8388531cc1f608d69822bee41c
2025-07-31 zjh
zjh20250731
2ba86d 对比 | 目录
2025-07-31 zhaowenxuan
生成报告结果见附件去除医师
d276f9 对比 | 目录
3个文件已修改
87 ■■■■■ 已修改文件
ltkj-admin/src/main/java/com/ltkj/web/controller/his/HisPDFUtil.java 31 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ltkj-hosp/src/main/java/com/ltkj/hosp/domain/TjPdfVO.java 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ltkj-hosp/src/main/java/com/ltkj/hosp/idutil/IdUtils.java 54 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ltkj-admin/src/main/java/com/ltkj/web/controller/his/HisPDFUtil.java
@@ -2859,7 +2859,10 @@
                doctorNameDefault = entry.getValue().get(0).getShys();
            }
            Font doctorFonts = PdfUtils.setFont(9);
            if (key.equals("Y")) {
            if (entry.getValue().get(0).getIsShowYiShi() == null){
                entry.getValue().get(0).setIsShowYiShi(true);
            }
            if (key.equals("Y") && entry.getValue().get(0).getIsShowYiShi()) {
                String qmImg = dictUserInfoMapper.selectQmImgInnerJoinUserByUserId(String.valueOf(sysUser.getUserId()));
                if (null != qmImg && StrUtil.isNotBlank(qmImg)) {
                    Paragraph elements = new Paragraph();
@@ -2897,7 +2900,7 @@
                    df.setAlignment(Element.ALIGN_RIGHT);
                    document1.add(df);
                }
            } else {
            } else if (entry.getValue().get(0).getIsShowYiShi()) {
                String doctorName = "主检医师:" + doctorNameDefault;
                if (createTime != null)
                    doctorName = "检查时间:" + new SimpleDateFormat("yyyy-MM-dd").format(createTime) + "             主检医师:" + doctorNameDefault;
@@ -3050,12 +3053,13 @@
                        } catch (Exception ignored) {
                        }
                    }
                    String key = sysConfigService.selectConfigByKey("is_report_pdf_use_ysqm");
                    if (null != shys && null != shysmc && key.equals("Y")) {
                        hashSet.add(shysmc + "|" + shys);
                    } else {
                        if (null != shysmc) hashSet.add(shysmc);
                    }
                    // 结果弃检重复去除医师打印
//                    String key = sysConfigService.selectConfigByKey("is_report_pdf_use_ysqm");
//                    if (null != shys && null != shysmc && key.equals("Y")) {
//                        hashSet.add(shysmc + "|" + shys);
//                    } else {
//                        if (null != shysmc) hashSet.add(shysmc);
//                    }
                    ArrayList<String> strings = new ArrayList<>();
                    strings.add(xmmc);
                    strings.add(groupOnceProResult);
@@ -3068,10 +3072,11 @@
                    HashMap<String, Object> map = new HashMap<>();
                    map.put("data", lists);
                    map.put("jyys", hashSet);
                    if (StrUtil.isNotBlank(shsj)) {
                        shsj = shsj.split(" ")[0];
                    }
                    map.put("shsj", shsj);
//                    if (StrUtil.isNotBlank(shsj)) {
//                        shsj = shsj.split(" ")[0];
//                    }
//                    map.put("shsj", shsj);
                    map.put("shsj","");
                    data.put(xmmc, map);
                }
            }
@@ -3313,6 +3318,7 @@
//                        LambdaQueryWrapper<LtkjExamJcbgd> wrapper = new LambdaQueryWrapper<>();
//                        wrapper.eq(LtkjExamJcbgd::getTjh, tjNumber);
//                        wrapper.eq(LtkjExamJcbgd::getXmdm, String.valueOf(tjOrderDetail.getProject().getProParentId()));
                            tjPdfVO.setIsShowYiShi(true);
                            tjPdfVOS.add(tjPdfVO);
                        }
                    }
@@ -3329,6 +3335,7 @@
                    tjPdfVO.setProId(String.valueOf(orderRemark.getProId()));
                    tjPdfVO.setPid(String.valueOf(orderRemark.getProId()));
                    tjPdfVO.setXh(1);
                    tjPdfVO.setIsShowYiShi(false);
                    tjPdfVOS.add(tjPdfVO);
                }
            }
ltkj-hosp/src/main/java/com/ltkj/hosp/domain/TjPdfVO.java
@@ -50,4 +50,6 @@
    private String pid;
    private Integer xh;
    private Boolean isShowYiShi;
}
ltkj-hosp/src/main/java/com/ltkj/hosp/idutil/IdUtils.java
@@ -1,6 +1,7 @@
package com.ltkj.hosp.idutil;
import cn.hutool.core.util.StrUtil;
import com.ltkj.db.DataSourceContextHolder;
import com.ltkj.hosp.mapper.OrderNumberMapper;
import lombok.extern.slf4j.Slf4j;
import org.redisson.api.RLock;
@@ -24,10 +25,9 @@
@Slf4j
public class IdUtils {
    private static final String LIS_LAST_ID_KEY = "id:generate:lis:id";
    private static final String TJH_LAST_ID_KEY = "id:generate:tjhs:tjh";
    private static final String LIS_LAST_ID_INCR_KEY = "id:generate:lis:id:incr";
    private static final String LIS_CURRENT_DATE_KEY = "id:generate:lis:currentDate";
    private static  String LIS_LAST_ID_KEY = "id:generate:lis:id";
    private static  String TJH_LAST_ID_KEY = "id:generate:tjhs:tjh";
    private static  String LIS_CURRENT_DATE_KEY = "id:generate:lis:currentDate";
    @Autowired
    private StringRedisTemplate stringRedisTemplate;
@@ -36,27 +36,14 @@
    @Autowired
    private RedissonClient redissonClient;
    public synchronized String yuangenerateLisID(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);
        int lastId;
        if (storedDate == null || !storedDate.equals(currentDate)) {
            lastId = 1;
            stringRedisTemplate.opsForValue().set(LIS_LAST_ID_KEY, String.valueOf(lastId));
            stringRedisTemplate.opsForValue().set(LIS_CURRENT_DATE_KEY, currentDate);
        } else {
            lastId = Integer.parseInt(lastIdStr) + 1;
            stringRedisTemplate.opsForValue().set(LIS_LAST_ID_KEY, String.valueOf(lastId));
        }
        String yyMMdd = currentDate.substring(2);
        return String.format(prefix+"%s%05d", yyMMdd, lastId);
    }
    //redis分布式锁和MySQL公用
    public String generateLisID(String prefix) {
        String lockKey = "lock:tmh:tj_tmh_lock";
        RLock lock = redissonClient.getLock(lockKey);
        String string = DataSourceContextHolder.getDataSourceKey();
        LIS_LAST_ID_KEY = "id:generate:lis:id:"+string;
        LIS_CURRENT_DATE_KEY = "id:generate:lis:currentDate:"+string;
        try {
            if (lock.tryLock(3, 5, TimeUnit.SECONDS)) {
@@ -93,26 +80,6 @@
        }
    }
    /**
     * 生成无限递增条码号
     * @param prefix
     * @return
     */
    public synchronized String generateLisNextId(String prefix){
        String lastIdStr = stringRedisTemplate.opsForValue().get(LIS_LAST_ID_INCR_KEY);
        int current;
        if (StrUtil.isBlank(lastIdStr)) {
            current = 1;
        }else {
            current = Integer.parseInt(lastIdStr);
        }
        int numberLength = String.valueOf(99999).length();
        String result = prefix + String.format("%0" + numberLength + "d", current);
        current++;
        stringRedisTemplate.opsForValue().set(LIS_LAST_ID_INCR_KEY,String.valueOf(current));
        return result;
    }
    //生成体检号用
@@ -198,6 +165,11 @@
        String lockKey = "lock:tjh:tj_number_lock";
        RLock lock = redissonClient.getLock(lockKey);
        String string = DataSourceContextHolder.getDataSourceKey();
        LIS_CURRENT_DATE_KEY = "id:generate:lis:currentDate:"+string;
        TJH_LAST_ID_KEY = "id:generate:tjhs:tjh:"+string;
        try {
            if (lock.tryLock(5, 10, TimeUnit.SECONDS)) {
                String currentDate = new SimpleDateFormat("yyyyMMdd").format(new Date());