zjh
2024-07-16 f3445e5babad91627609b898dbc9b5ed844d7cdd
zjh 2024/07/16-1
6个文件已修改
1个文件已添加
213 ■■■■ 已修改文件
ltkj-admin/src/main/java/com/ltkj/web/config/JacksonConfig.java 25 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ltkj-admin/src/main/java/com/ltkj/web/config/pdfutils/PdfUtils.java 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ltkj-admin/src/main/java/com/ltkj/web/controller/app/CustomerController.java 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ltkj-admin/src/main/java/com/ltkj/web/controller/app/ReportController.java 87 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ltkj-admin/src/main/java/com/ltkj/web/controller/his/HisPDFUtil.java 75 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ltkj-admin/src/main/java/com/ltkj/web/controller/system/TjOrderController.java 16 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ltkj-hosp/src/main/java/com/ltkj/hosp/mapper/LtkjExamJcbgdMapper.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
ltkj-admin/src/main/java/com/ltkj/web/config/JacksonConfig.java
New file
@@ -0,0 +1,25 @@
package com.ltkj.web.config;
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
import org.springframework.boot.autoconfigure.jackson.Jackson2ObjectMapperBuilderCustomizer;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import java.math.BigInteger;
@Configuration
public class JacksonConfig {
    /**
     * Jackson全局转化long类型为String,解决jackson序列化时传入前端Long类型缺失精度问题
     * @return
     */
    @Bean
    public Jackson2ObjectMapperBuilderCustomizer jackson2ObjectMapperBuilderCustomizer() {
        return builder -> builder
                .serializerByType(BigInteger.class, ToStringSerializer.instance)
                .serializerByType(Long.class, ToStringSerializer.instance);
    }
}
ltkj-admin/src/main/java/com/ltkj/web/config/pdfutils/PdfUtils.java
@@ -152,7 +152,7 @@
     */
    public static PdfPTable setTable(Font headFont, Font textFont, String[] title, List<TjPdfVO> list) {
        //四列
        PdfPTable table = createTable(new float[]{120, 120, 120, 120});
        PdfPTable table = createTable(new float[]{120, 120, 120});
        //画标题
        for (String head : title) {
            table.addCell(createCell(head, headFont));
@@ -162,7 +162,7 @@
            table.addCell(createCell(tjPdfVO.getProName(), textFont));
            table.addCell(createCell(tjPdfVO.getProResult(), textFont));
            table.addCell(createCell(tjPdfVO.getCompany(), textFont));
            table.addCell(createCell(tjPdfVO.getStandardValue(), textFont));
//            table.addCell(createCell(tjPdfVO.getStandardValue(), textFont));
        }
        return table;
    }
ltkj-admin/src/main/java/com/ltkj/web/controller/app/CustomerController.java
@@ -145,7 +145,7 @@
                    AjaxResult xinXi = suijieHisXinXi(tjCustomer);
                    if(!xinXi.get("code").toString().equals("200")){
                        TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
                        return AjaxResult.error("添加就诊人信息失败!" + xinXi.get("msg").toString());
                        return AjaxResult.error("注册失败,请到前台登记!" + xinXi.get("msg").toString());
                    }
                }
            }
@@ -169,7 +169,7 @@
                AjaxResult xinXi = suijieHisXinXi(tjCustomer);
                if(!xinXi.get("code").toString().equals("200")){
                    TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
                    return AjaxResult.error("添加就诊人信息失败!" + xinXi.get("msg").toString());
                    return AjaxResult.error("注册失败,请到前台登记!" + xinXi.get("msg").toString());
                }
            }
            return AjaxResult.success(tjCustomer);
ltkj-admin/src/main/java/com/ltkj/web/controller/app/ReportController.java
@@ -15,6 +15,8 @@
import com.ltkj.framework.config.UserHoder;
import com.ltkj.hosp.domain.*;
import com.ltkj.hosp.service.*;
import com.ltkj.hosp.sqlDomain.LtkjExamJcbgd;
import com.ltkj.hosp.sqlDomain.LtkjExamJcsqd;
import com.ltkj.hosp.sqlDomain.LtkjHybgd;
import com.ltkj.hosp.sqlDomain.LtkjHysqd;
import com.ltkj.mall.mallOrderUtils.TjConstants;
@@ -54,39 +56,36 @@
    @Resource
    private ITjReportService reportService;
    @Resource
    private ITjCustomerService customerService;
    @Autowired
    private ITjOrderService orderService;
    @Autowired
    private ITjOrderDetailService detailService;
    @Resource
    private ITjProjectService projectService;
    @Resource
    private ITjOrderRemarkService remarkService;
    @Resource
    private ITjStandardService standardService;
    @Resource
    private ITjAdviceService adviceService;
    @Resource
    private IDictCompService compService;
    @Resource
    private ITjReportTemplateService reportTemplateService;
    @Value("${path.filePath}")
    private String value;
    @Resource
    private LtkjHybgdService ltkjHybgdService;
    @Resource
    private LtkjHysqdService ltkjHysqdService;
    @Resource
    private LtkjExamJcbgdService jcbgdService;
    @Resource
    private LtkjExamJcsqdService jcsqdService;
    /**
     * 小程序查询体检报告列表
     */
@@ -131,7 +130,7 @@
    public AjaxResult getRelativeReportList(@RequestParam @ApiParam(value = "姓名") String cusName,
                                            @RequestParam @ApiParam(value = "身份证号") String cusIdcard) {
        LambdaQueryWrapper<TjCustomer> wq1 = new LambdaQueryWrapper<>();
        wq1.eq(TjCustomer::getCusName, cusName);
        wq1.like(TjCustomer::getCusName, cusName);
        wq1.eq(TjCustomer::getCusIdcard, cusIdcard);
        TjCustomer customer = customerService.getOne(wq1);
        if (null != customer) {
@@ -208,26 +207,27 @@
                            }
                            LambdaQueryWrapper<TjProject> wqqqq = new LambdaQueryWrapper<>();
                            wqqqq.eq(TjProject::getProId, tjOrderDetail.getProId());
                            wqqqq.eq(TjProject::getNeedReport,"Y");
                            tjOrderDetail.setProject(projectService.getOne(wqqqq));
                            LambdaQueryWrapper<TjStandard> wq6 = new LambdaQueryWrapper<>();
                            wq6.eq(TjStandard::getProId, tjOrderDetail.getProId());
                            List<TjStandard> list2 = standardService.list(wq6);
                            if (list2.size() == 0) {
                                tjOrderDetail.setStandard(null);
                            } else if (list2.size() == 1) {
                                tjOrderDetail.setStandard(list2.get(0));
                            } else {
                                for (TjStandard tjStandard : list2) {
                                    LambdaQueryWrapper<TjStandard> wq8 = new LambdaQueryWrapper<>();
                                    if (tjStandard.getTjSex() != null) {
                                        wq8.eq(TjStandard::getTjSex, customer.getCusSex());
                                    }
                                    if (tjStandard.getTjType() != null) {
                                        wq8.eq(TjStandard::getTjType, StringUtils.getAgeType(DateUtil.ageOfNow(customer.getCusBrithday())));
                                    }
                                    tjOrderDetail.setStandard(standardService.getOne(wq8));
                                }
                            }
                            //                            LambdaQueryWrapper<TjStandard> wq6 = new LambdaQueryWrapper<>();
//                            wq6.eq(TjStandard::getProId, tjOrderDetail.getProId());
//                            List<TjStandard> list2 = standardService.list(wq6);
//                            if (list2.size() == 0) {
//                                tjOrderDetail.setStandard(null);
//                            } else if (list2.size() == 1) {
//                                tjOrderDetail.setStandard(list2.get(0));
//                            } else {
//                                for (TjStandard tjStandard : list2) {
//                                    LambdaQueryWrapper<TjStandard> wq8 = new LambdaQueryWrapper<>();
//                                    if (tjStandard.getTjSex() != null) {
//                                        wq8.eq(TjStandard::getTjSex, customer.getCusSex());
//                                    }
//                                    if (tjStandard.getTjType() != null) {
//                                        wq8.eq(TjStandard::getTjType, StringUtils.getAgeType(DateUtil.ageOfNow(customer.getCusBrithday())));
//                                    }
//                                    tjOrderDetail.setStandard(standardService.getOne(wq8));
//                                }
//                            }
                        }
                        LambdaQueryWrapper<TjAdvice> wq3 = new LambdaQueryWrapper<>();
                        wq3.eq(TjAdvice::getProId, remark.getProId());
@@ -299,6 +299,35 @@
    }
    @GetMapping("/getJcReportByTjNumber")
    @ApiOperation(value = "小程序-体检检查报告查询详情")
    public AjaxResult getJcReportByTjNumber(@RequestParam @ApiParam(value = "体检号") String tjNumber) {
        LambdaQueryWrapper<TjOrder> wq1 = new LambdaQueryWrapper<>();
        wq1.eq(TjOrder::getTjNumber, tjNumber);
        wq1.eq(TjOrder::getCheckStatus, 1);
        TjOrder one = orderService.getOne(wq1);
        if (one == null) {
            return AjaxResult.success("体检暂未完成!!");
        }
        List<LtkjExamJcsqd> jcsqdList = jcsqdService.getLtkjJcsqdByTjh(one.getCardId());
        if(null !=jcsqdList && jcsqdList.size()>0){
            List<Map<String, Object>> list = new ArrayList<>();
            for (LtkjExamJcsqd jcsqd : jcsqdList) {
                Map<String, Object> map = new HashMap<>();
                map.put("parent",jcsqd.getJcxmmc());
                map.put("jcbx",jcsqd.getJgbx());
                List<LtkjExamJcbgd> jcbgdList = jcbgdService.getJianJcBaoGaoDanList(jcsqd.getTmh());
                map.put("sons",jcbgdList);
                list.add(map);
            }
            return AjaxResult.success(list);
        }
        return AjaxResult.success("该客户在没有体检项目数据!");
    }
    /**
     * 小程序点击体检报告查询详情,显示身高体重体重指数收缩压舒张压
     */
ltkj-admin/src/main/java/com/ltkj/web/controller/his/HisPDFUtil.java
@@ -80,6 +80,7 @@
    /**
     * 通过his API请求获取数据生成PDF
     *
     * @param pdfInfoMap
     * @param params
     * @param tjOrder
@@ -252,6 +253,7 @@
    /**
     * 生成检查表格
     *
     * @param tjOrder
     * @return
     */
@@ -292,6 +294,7 @@
    /**
     * PDF文件存储至本地
     *
     * @param tjOrder
     * @param customer
     * @param finalOutPut
@@ -316,6 +319,7 @@
    /**
     * 填充检验表格数据
     *
     * @param document1
     * @param map
     * @throws DocumentException
@@ -348,20 +352,19 @@
    /**
     * 非化验项目表格填充
     *
     * @param document1
     * @param printReport
     * @throws DocumentException
     */
    private void notHuaYanTable(Document document1, Map<TjOrderRemark, List<TjPdfVO>> printReport) throws DocumentException {
        for (Map.Entry<TjOrderRemark, List<TjPdfVO>> entry : printReport.entrySet()) {
            List<TjPdfVO> value = entry.getValue();
            LambdaQueryWrapper<TjProject> wqqq = new LambdaQueryWrapper<>();
            wqqq.eq(TjProject::getProId, entry.getKey().getProId());
            TjProject one11 = projectService.getOne(wqqq);
            //判断该项目是否需要打印报告
            if (null != one11 && "N".equals(one11.getNeedReport())) {
                continue;
            }
            if (null != one11 && "Y".equals(one11.getNeedReport())) {
                List<TjPdfVO> value = entry.getValue();
            String titleName = null;
            if (null != one11 && "1".equals(one11.getResultType())) {
                titleName = one11.getProName();
@@ -431,7 +434,7 @@
                // 设置标题字体样式
                Font titleFonts = PdfUtils.setFont(9);
                Paragraph paragraph = PdfUtils.setParagraph(titleFonts, titleName);
                String[] titles = {"体检项目", "体检结果", "单位", "参考范围"};
                    String[] titles = {"体检项目", "体检结果", "单位"};
                // 获取列表数据
                //设置表头字体样式
                Font headFont = PdfUtils.setFont(9);
@@ -487,6 +490,7 @@
            }
        }
    }
    }
    public HashMap<String, Object> makeHisJianYan(TjOrder tjOrder, TjCustomer customer){
        // TODO 这里先使用查全部测试
@@ -530,7 +534,8 @@
                            // jyjg 大于范围最大值,添加上箭头
                            jyjg = jyjg + "   ↑";
                        }
                    } catch (Exception ignored) {}
                    } catch (Exception ignored) {
                    }
                }
//                LambdaQueryWrapper<SysUser> queryWrapper = new LambdaQueryWrapper<>();
//                queryWrapper.eq(SysUser::getUserName,jyys);
@@ -557,6 +562,7 @@
    /**
     * 生成PDF模版以及用户信息部分
     *
     * @param tjOrder
     * @param reportTemplate
     */
@@ -1098,6 +1104,7 @@
    /**
     * 组合非化验项目报告数据
     *
     * @param tjNumber
     * @param printReport
     * @param one
@@ -1107,7 +1114,7 @@
        LambdaQueryWrapper<TjOrderRemark> wqq = new LambdaQueryWrapper<>();
        wqq.eq(TjOrderRemark::getTjNumber, tjNumber);
        wqq.ne(TjOrderRemark::getDeptId, "241");
        wqq.in(TjOrderRemark::getDeptId, "269", "270", "253", "254", "255", "257", "251", "271");
        wqq.in(TjOrderRemark::getDeptId, "269", "270", "253", "254", "255", "257", "271");
        wqq.notIn(TjOrderRemark::getProId, projectService.getNneedReprotProId());
        List<TjOrderRemark> tjOrderRemarks = tjOrderRemarkService.list(wqq);
        for (TjOrderRemark tjOrderRemark : tjOrderRemarks) {
@@ -1118,61 +1125,21 @@
            List<TjOrderDetail> tjOrderDetails = tjOrderDetailService.getDetailByOrderIdAndParId(one.getOrderId(), entry.getKey().getProId());
            for (TjOrderDetail tjOrderDetail : tjOrderDetails) {
                TjProject tjProject = projectService.getById(tjOrderDetail.getProId());
                if (null != tjProject) {
                if (null != tjProject && tjProject.getNeedReport().equals("Y")) {
                    tjOrderDetail.setProject(tjProject);
                }
                if (tjOrderDetail.getProject().getProParentId().equals(entry.getKey().getProId())) {
                    LambdaQueryWrapper<TjStandard> wq6 = new LambdaQueryWrapper<>();
                    wq6.eq(TjStandard::getProId, tjOrderDetail.getProId());
                    List<TjStandard> list2 = tjStandardService.list(wq6);
                    if (list2.size() == 0) {
                        TjStandard s = new TjStandard();
                        s.setCompany(" ");
                        s.setTjStandardLtValue(" ");
                        s.setTjStandardGtValue(" ");
                        tjOrderDetail.setStandard(s);
                    } else if (list2.size() == 1) {
                        tjOrderDetail.setStandard(list2.get(0));
                    } else {
                        Long cusSex = customer.getCusSex();
                        Date cusBrithday = customer.getCusBrithday();
                        int age = DateUtil.ageOfNow(cusBrithday);
                        for (TjStandard tjStandard : list2) {
                            LambdaQueryWrapper<TjStandard> wq8 = new LambdaQueryWrapper<>();
                            if (tjStandard.getTjSex() != null) {
                                wq8.eq(TjStandard::getTjSex, cusSex);
                            }
                            if (tjStandard.getTjType() != null) {
                                wq8.eq(TjStandard::getTjType, StringUtils.getAgeType(age));
                            }
                            TjStandard standard = tjStandardService.getOne(wq8);
                            tjOrderDetail.setStandard(standard);
                        }
                    }
                    TjPdfVO tjPdfVO = new TjPdfVO();
                    tjPdfVO.setProName(tjOrderDetail.getProject().getProName());
                    tjPdfVO.setProResult(tjOrderDetail.getProResult());
                    tjPdfVO.setExc(tjOrderDetail.getExceptionDesc());
                    if (tjOrderDetail.getStandard() != null) {
                        //单位
                        if (tjOrderDetail.getStandard().getCompany() == null) {
                            tjPdfVO.setCompany(" ");
                    if(null !=tjProject.getProMetering()){
                        tjPdfVO.setCompany(tjProject.getProMetering());
                        } else {
                            tjPdfVO.setCompany(tjOrderDetail.getStandard().getCompany());
                        }
                        // TODO 设置单位
                        //最大值和最小值
                        String tjStandardGtValue = tjOrderDetail.getStandard().getTjStandardGtValue();
                        String tjStandardLtValue = tjOrderDetail.getStandard().getTjStandardLtValue();
                        if (tjStandardGtValue == null) {
                            tjStandardGtValue = " ";
                        }
                        if (tjStandardLtValue == null) {
                            tjStandardLtValue = " ";
                        }
                        tjPdfVO.setStandardValue(tjStandardLtValue + "-" + tjStandardGtValue);
                        tjPdfVO.setCompany("/");
                    }
                    tjPdfVOS.add(tjPdfVO);
                }
                }
            }
            printReport.put(entry.getKey(), tjPdfVOS);
@@ -1222,7 +1189,6 @@
    }
    /**
     *
     * @param document
     * @param titleName
     * @param titles
@@ -1344,6 +1310,7 @@
    /**
     * 创建检查pdf
     *
     * @param xm
     * @param xb
     * @param nl
ltkj-admin/src/main/java/com/ltkj/web/controller/system/TjOrderController.java
@@ -2544,15 +2544,14 @@
            transitionService.deletedTbTransitionByTjNum(tjNum);
            TjCustomer customer = tjCustomerService.getById(order.getUserId());
            if (null != customer) {
                customer.setCardId("0");
                tjCustomerService.updateById(customer);
            }
            String configByKey = configService.selectConfigByKey("sfkqdyhis");
            if (configByKey.equals("Y")) {
                HashMap<String, Object> map = new HashMap<>();
                map.put("cardtype", "4");
                map.put("input", order.getCardId());
//                map.put("input", order.getCardId());
                map.put("input", customer.getPationId());
                LocalDate currentDate = LocalDate.now();
                LocalDateTime startOfDay = currentDate.atStartOfDay();
                LocalDateTime nineteenOClock = currentDate.atTime(LocalTime.of(19, 0));
@@ -2564,7 +2563,7 @@
                AjaxResult result = hisApiGetMethodService.getHISDataNew("Getoutpatientcostinfo", map);
                if (Integer.parseInt(String.valueOf(result.get("code"))) == 200) {
                    TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
                    return AjaxResult.error("撤销失败,门诊患者费用清单信息不为空");
                    return AjaxResult.error("撤销失败,该人员已缴费,请先退费!");
                } else {
                    boolean zfHisApiMethods = hisApiMethod.ZfHisApiMethods(null, order);
                    if (zfHisApiMethods) {
@@ -2575,8 +2574,6 @@
                    }
                }
            }
//            transitionService.updateTbTransitionByTjNum(tjNum);
            return AjaxResult.success("撤销成功!!!");
        }
        return AjaxResult.success("签到记录不存在!");
@@ -2802,7 +2799,6 @@
    }
    @PostMapping("/revokeBlProByBldhAndTjh")
    @ApiOperation(value = "根据补录单号和体检号删除记录")
    @Transactional
@@ -2860,12 +2856,6 @@
        }
        return AjaxResult.success();
    }
}
ltkj-hosp/src/main/java/com/ltkj/hosp/mapper/LtkjExamJcbgdMapper.java
@@ -26,6 +26,6 @@
    @Select ("SELECT  a.sqdh FROM ltkj_jianchajianyan_tree a WHERE a.card_id =#{cardId} AND a.type='检查' GROUP BY a.sqdh")
    List<String> getJianJcBaoGaoDan(String cardId);
    @Select("SELECT * FROM ltkj_exam_jcbgd WHERE tmh=#{tmh}")
    @Select("SELECT * FROM ltkj_exam_jcbgd WHERE tmh=#{tmh} GROUP BY xmmc ")
    List<LtkjExamJcbgd> getJianJcBaoGaoDanList(String tmh);
}