zjh
2025-02-08 b5286f21559b057f4240ae1e903beaf1fa314a5d
zjh20250208
9个文件已修改
280 ■■■■ 已修改文件
ltkj-admin/src/main/java/com/ltkj/web/controller/his/HisApiMethod.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
ltkj-admin/src/main/java/com/ltkj/web/controller/service/TjSysAsyncServiceImpl.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
ltkj-admin/src/main/java/com/ltkj/web/controller/system/TjOrderController.java 197 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ltkj-admin/src/main/java/com/ltkj/web/controller/system/TjSamplingController.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
ltkj-common/src/main/java/com/ltkj/common/utils/PDFDocumentUtil.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
ltkj-hosp/src/main/java/com/ltkj/hosp/mapper/TbTransitionMapper.java 9 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ltkj-hosp/src/main/java/com/ltkj/hosp/mapper/TjOrderMapper.java 58 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ltkj-hosp/src/main/java/com/ltkj/hosp/service/ITjOrderService.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
ltkj-hosp/src/main/java/com/ltkj/hosp/service/impl/TjOrderServiceImpl.java 6 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ltkj-admin/src/main/java/com/ltkj/web/controller/his/HisApiMethod.java
@@ -1414,7 +1414,7 @@
                    if (samplings.size() >= 2) {
                        // 进行合并
                        List<String> stringList = samplings.stream().map(TjSampling::getId).collect(Collectors.toList());
                        log.info("提取id ->{}",stringList);
//                        log.info("提取id ->{}",stringList);
                        for (int i = 0; i < stringList.size(); i++) {
                            String s = stringList.get(i);
                            if (tjSamplingService.isMergeItem(s) != 0) {
ltkj-admin/src/main/java/com/ltkj/web/controller/service/TjSysAsyncServiceImpl.java
@@ -1809,7 +1809,7 @@
                        if (samplings.size() >= 2){
                            // 进行合并
                            List<String> stringList = samplings.stream().map(TjSampling::getId).collect(Collectors.toList());
                            log.info("提取id ->{}",stringList);
//                            log.info("提取id ->{}",stringList);
                            for (int i = 0; i < stringList.size(); i++) {
                                String s = stringList.get(i);
                                if (tjSamplingService.isMergeItem(s) != 0) {
ltkj-admin/src/main/java/com/ltkj/web/controller/system/TjOrderController.java
@@ -56,6 +56,7 @@
import com.ltkj.hosp.dto.UpdateTransitionnewPriceDto;
import com.ltkj.hosp.hisDto.OutpinimpapplyDto;
import com.ltkj.hosp.hisDto.OutpinmedicapplyDto;
import com.ltkj.hosp.mapper.TbTransitionMapper;
import com.ltkj.hosp.mapper.TestMapper;
import com.ltkj.hosp.mapper.TjSamplingMapper;
import com.ltkj.hosp.pacsDto.SavePacsApply;
@@ -236,6 +237,8 @@
    private ITjXdPictureService xdPictureService;
    @Autowired
    private TjOrderYcxmService ycxmService;
    @Autowired
    private TbTransitionMapper tbTransitionMapper;
    //将方法返回值解析成json格式
    public JSONObject getJSONObject(String builder) {
@@ -1521,11 +1524,12 @@
    @PostMapping("/addPlOrderAndDetail")
    @ApiOperation(value = "体检批量签到登记接口")
    @Transactional  //(切换数据库出错,所以注释)
//    @Transactional  //(切换数据库出错,所以注释)
    public AjaxResult addPlOrderAndDetail(@RequestBody QianDaoDto daoDto, HttpServletResponse response) {
        SysUser sysUser = UserHoder.getLoginUser().getUser();
        List<String> cusIds = daoDto.getCusIds();
        ArrayList<String> tjNumbers = new ArrayList<>();
        ArrayList<String> errTjh = new ArrayList<>();
        if (null != cusIds && !cusIds.isEmpty()) {
            ExecutorService threadPools = Executors.newFixedThreadPool(cusIds.size());
            for (String cusId : cusIds) {
@@ -1554,41 +1558,47 @@
//                            }
//                        }
//                    });
                    String tjh = (sysUser.getUserName() + new SimpleDateFormat("yyMMddHHmmss").format(new Date()));
                    String finalTjh = tjh;
                    Future<AjaxResult> future = executor.submit(new Callable<AjaxResult>() {
                        @Override
                        public AjaxResult call() throws Exception {
                            return getAjaxResult(aLong, sysUser, daoDto.getTjCategory());
                            return getAjaxResult(aLong, sysUser, daoDto.getTjCategory(), finalTjh);
                        }
                    });
                    try {
                        AjaxResult result = future.get();
                        String code = result.get("code").toString();
                        if (code.equals("200")) {
                        String tjNumber = result.get("tjNumber").toString();
                        tjNumbers.add(tjNumber);
                        }else {
                            String userId = result.get("userId").toString();
                            errTjh.add(userId);
                        }
                    } catch (InterruptedException | ExecutionException e) {
                        TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
                        e.printStackTrace();
                    }
                }
                threadPools.shutdown();
            }
        }
        // TODO 因为有体检号会查出空数据 先使用死数据
        tjNumbers = new ArrayList<>();
        tjNumbers.add("02095240229171627");
        tjNumbers.add("02095240229173104");
        tjNumbers.add("10001240524172002");
        tjNumbers.add("10001240304124410");
        tjNumbers.add("00325240304160123");
        tjNumbers.add("02095240304162044");
        tjNumbers.add("02095240304162152");
        tjNumbers.add("10001240304163505");
            // TODO 因为有体检号会查出空数据 先使用死数据  打印导诊单
            if (!tjNumbers.isEmpty()) {
        Map<String, Object> map = null;
        try {
            map = PDFDocumentUtil.getDocument();
            Document document = (Document) map.get("document");
            for (int i = 0; i < tjNumbers.size(); i++) {
//                    for (int i = 0; i < tjNumbers.size(); i++) {
                    int i = 0;
                    for (String tjNumber : tjNumbers) {
                try {
                    List<Map<String, String>> djdInfos = tjOrderService.selectDjdInfo(tjNumbers.get(i));
                    Map<String, Object> userInfo = tjOrderService.selectDjdUserInfo(tjNumbers.get(i));
                            List<Map<String, Object>> djdInfos = tjOrderService.selectDjdInfo(tjNumber);
                            Map<String, Object> userInfo = tjOrderService.selectDjdUserInfo(tjNumber);
                            if(null !=userInfo && null !=djdInfos && !djdInfos.isEmpty()){
                    LocalDateTime tjsj = (LocalDateTime) userInfo.get("tjsj");
                    DateTimeFormatter dateFormat = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm");
                    String time = null;
@@ -1602,21 +1612,51 @@
                    if (i + 1 < tjNumbers.size()) {
                        document.newPage();
                    }
                            }
                } catch (DocumentException | IOException e) {
                            TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
                            //这里删除的是这个人所有项目包括补录项目
                            TjOrder order = tjOrderService.getOrderByTjNum(tjNumber);
                            tjOrderService.deleteTjOrderByOrderId(order.getOrderId());
                            tjOrderDetailService.deleteTjOrderDetailByOrderDetailId(String.valueOf(order.getOrderId()));
                            remarkService.deletedOrderRemarkByTjNum(tjNumber);
                            tjFlowingWaterService.deleteTjFlowingWaterByOrderId(String.valueOf(order.getOrderId()));
//                transitionService.deletedTbTransitionByTjNum(tjNum);
                            tjSamplingMapper.deleteByTjNumAndCusId(order.getTjNumber(), order.getUserId());
                            TjReservation reservation = tjReservationService.getById(order.getReservationId());
                            if(null !=reservation){
                                reservation.setIsExpire(2);
                                tjReservationService.updateById(reservation);
                                transitionService.updateTbTransitionByTjNum(tjNumber);
                            }
                    e.printStackTrace();
                }
            }
//                    }
            document.close();
            ByteArrayOutputStream outputStream = (ByteArrayOutputStream) map.get("stream");
            String encodeToString = java.util.Base64.getEncoder().encodeToString(outputStream.toByteArray());
            return AjaxResult.success().put("file", encodeToString);
        } catch (IOException | DocumentException e) {
                    TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
            e.printStackTrace();
        }
        return AjaxResult.success("操作成功");
    }
            if (!errTjh.isEmpty()){
                return AjaxResult.success("以上人员签到失败",errTjh);
            }
            return AjaxResult.success();
        }
        TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
        return AjaxResult.error();
    }
    private void getAjaxResults(String cusIdcard) {
//    @Transactional
    public void getAjaxResults(String cusIdcard) {
        if (!"".equals(cusIdcard) && cusIdcard != null) {
            //根据配置调取存储过程 将临时表数据存入预约表2023.12.12
            final String getInfoFromSqlData = configService.selectConfigByKey("getInfoFromSqlData");
@@ -1750,25 +1790,13 @@
        DynamicDataSourceContextHolder.clearDataSourceType();
    }
    private AjaxResult getAjaxResult(Long userId, SysUser sysUser, String tjCategory) throws IOException {
//    @Transactional
    public AjaxResult getAjaxResult(Long userId, SysUser sysUser, String tjCategory,String tjh) throws IOException {
        LambdaQueryWrapper<TjCustomer> wq = new LambdaQueryWrapper<>();
        wq.eq(TjCustomer::getCusId, userId);
        TjCustomer tjCustomer = tjCustomerService.getOne(wq);
        if (tjCustomer == null) return AjaxResult.error("该客户未登记或不存在");
//        LambdaQueryWrapper<TjOrder> wqq = new LambdaQueryWrapper<>();
//        wqq.eq(TjOrder::getUserId, userId);
//        wqq.eq(TjOrder::getCheckStatus, 0);
//        wqq.isNull(TjOrder::getFinishTime);
//        if (!tjCustomer.getCardId().equals("0")) {
//            wqq.eq(TjOrder::getCardId, tjCustomer.getCardId());
//        }
//        TjOrder order = tjOrderService.getOne(wqq);
//        if (null != order) {
//            transitionService.deletedTbTransitionListByCusIdAndTjNum(tjCustomer.getCusIdcard(), tjCustomer.getCardId());
//            return AjaxResult.error("不可重复登记");
//        }
        TjOrder tjOrder = new TjOrder();
        Date date = new Date();
        tjOrder.setCreateTime(date);
@@ -1785,16 +1813,17 @@
        if (tjReservation != null) {
            tjOrder.setReservationId(tjReservation.getId());
            mallOrder = mallOrderService.getOne(new LambdaQueryWrapper<MallOrder>().eq(MallOrder::getReservationId, tjReservation.getId()));
            if (DateUtil.endOfDay(new Date()).before(tjReservation.getReservationTime())) {
                return AjaxResult.error("未到预约时间");
            }
            if (DateUtil.endOfDay(tjReservation.getReservationTime()).before(new Date())) {
                tjReservation.setIsExpire(1);
                tjReservationService.updateById(tjReservation);
                return AjaxResult.error("对不起您的预约已超时请重新预约");
            }
//            if (DateUtil.endOfDay(new Date()).before(tjReservation.getReservationTime())) {
//                return AjaxResult.error("未到预约时间");
//            }
//            if (DateUtil.endOfDay(tjReservation.getReservationTime()).before(new Date())) {
//                tjReservation.setIsExpire(1);
//                tjReservationService.updateById(tjReservation);
//                return AjaxResult.error("对不起您的预约已超时请重新预约");
//            }
            if (null != tjReservation.getTeamNo()) tjOrder.setTeamNo(tjReservation.getTeamNo());
            if (null != tjReservation.getCompanyId()) tjOrder.setFirmId(tjReservation.getCompanyId());
            if (null != tjReservation.getCompany()) tjOrder.setFirmName(tjReservation.getCompany());
            if (null != tjReservation.getDepartment()) tjOrder.setFirmDeptName(tjReservation.getDepartment());
            if (null != tjReservation.getJobNo()) tjOrder.setFirmWorkId(tjReservation.getJobNo());
            if (null != tjReservation.getPacId()) tjOrder.setPacId(tjReservation.getPacId());
@@ -1805,13 +1834,28 @@
            }
            tjReservation.setIsExpire(1);
            tjReservationService.updateById(tjReservation);
            if (null != tjReservation.getTeamNo()) {
                tjOrder.setTjType("1");
            } else{
                tjOrder.setTjType("2");
            }
        if (StringUtil.isBlank(tjOrder.getFirmId())) {
            tjOrder.setFirmId("0");
        }
//
//            tjReservation.setIsExpire(1);
//            tjReservationService.updateById(tjReservation);
            //生成体检号
            String tjNumber = (sysUser.getUserName() + new SimpleDateFormat("yyMMddHHmmss").format(new Date()));
            tjNumber = tjNumber.replaceAll(".{4}$", userId.toString().substring(userId.toString().length() - 4));
            tjOrder.setTjNumber(tjNumber);
            tjh = tjh.replaceAll(".{4}$", userId.toString().substring(userId.toString().length() - 4));
//            tjOrder.setTjNumber(tjNumber);
            tjOrder.setTjNumber(tjh);
            if (null != tjOrder.getPhoto()) {
                File file = new File(tjOrder.getPhoto());
                if (file.isFile()) {
@@ -1851,6 +1895,17 @@
                tjCustomer.setCusNumber(cusNumber);
//            BigDecimal discount = BigDecimal.valueOf(Double.parseDouble(tjOrder.getTjFlowingWater().getDiscount())).divide(BigDecimal.valueOf(10));
                TjFlowingWater tjFlowingWater = new TjFlowingWater();
                tjFlowingWater.setCreateTime(date);
                tjFlowingWater.setCreateTime(date);
                tjFlowingWater.setUpdateTime(date);
                tjFlowingWater.setCreateBy(sysUser.getNickName());
                tjFlowingWater.setUpdateBy(sysUser.getNickName());
                tjFlowingWater.setCopeWith(tbTransitionMapper.sumTbTransitionOrdPriceByTjNum(tjOrder.getTjNumber()));
                tjFlowingWater.setPaidIn(tbTransitionMapper.sumTbTransitionNowPriceByTjNum(tjOrder.getTjNumber()));
                tjFlowingWater.setDiscount(String.valueOf(10));
                tjFlowingWater.setPayStasus(1L);
                tjFlowingWater.setPayType(3L);
                tjFlowingWater.setPayStasus(0L);
                if ("1".equals(tjOrder.getTjType())) {
                    if (tjReservation.getPayType() == 1) {
@@ -1899,18 +1954,38 @@
                if (tjFlowingWaterService.save(tjFlowingWater)) {
                    tjOrder.setTjSerialNumber(String.valueOf(tjFlowingWater.getTjSerialNumber()));
                    tjOrderService.updateById(tjOrder);
                }
                asyncService.ttextracted(tjOrder, tjCustomer, sysUser, tjReservation, tjFlowingWater);
                transitionService.updateTbTransitionTjNumByCusId(tjCustomer.getCusIdcard(), tjOrder.getTjNumber());
                tjCustomer.setCardId(tjOrder.getTjNumber());
                tjCustomerService.updateById(tjCustomer);
                transitionService.updateCardIdByTjNumAndIdCard(tjCustomer.getCusIdcard(), tjOrder.getTjNumber(), tjOrder.getTjNumber());
                tjOrder.setCardId(tjOrder.getTjNumber());
                tjOrderService.updateById(tjOrder);
//                asyncService.ttextracted(tjOrder, tjCustomer, sysUser, tjReservation, tjFlowingWater);
                if (lisApiMethod.isUseLisAndPacsRegister(tjOrder)) {
                    // 这是上面个人方法引入数据
                    tjFlowingWater.setPayStasus(1L);
                    tjOrder.setTjFlowingWater(tjFlowingWater);
                    newSaveextracted(tjOrder, tjCustomer, BigDecimal.valueOf(10), sysUser, tjReservation, tjFlowingWater);
                    tjOrderDetailService.updateTjOrderDetailsByOrderId(String.valueOf(tjOrder.getOrderId()),
                            sysUser.getNickName(), String.valueOf(sysUser.getUserId()), String.valueOf(tjFlowingWater.getTjSerialNumber()));
                    remarkService.updateTjOrderRemarkSfbzByJxbzisnull(tjOrder.getOrderId().toString(), tjFlowingWater.getTjSerialNumber().toString());
                    List<TjXdPicture> xdPictureList = xdPictureService.saveTjXdPicture(tjOrder.getTjNumber());
                    xdPictureService.saveBatch(xdPictureList);
                    List<TjOrderDetail> detailList = tjOrderDetailService.getCaiYangDengJi(tjOrder.getOrderId());
                    addCaiYangDengJi(detailList, !detailList.isEmpty(), tjOrder, sysUser, null);
//                    return AjaxResult.success(tjNumber);
                }
                tjCustomer.setCardId("0");
                tjCustomerService.updateById(tjCustomer);
                return AjaxResult.success().put("tjNumber", tjNumber);
            }
        }
        return AjaxResult.error();
        TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
        return AjaxResult.error().put("userId",userId);
    }
@@ -3217,7 +3292,7 @@
            for (int i = 0; i < tjNumbers.size(); i++) {
                String tjNumber = tjNumbers.get(i).getTjNumber();
                try {
                    List<Map<String, String>> djdInfos = tjOrderService.selectDjdInfo(tjNumber);
                    List<Map<String, Object>> djdInfos = tjOrderService.selectDjdInfo(tjNumber);
                    Map<String, Object> userInfo = tjOrderService.selectDjdUserInfo(tjNumber);
                    LocalDateTime tjsj = (LocalDateTime) userInfo.get("tjsj");
                    DateTimeFormatter dateFormat = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm");
@@ -3844,5 +3919,37 @@
    }
    @PostMapping("/huifuyuyuejilu")
    @ApiOperation(value = "体检记录页面恢复预约记录接口")
    @Transactional
    public AjaxResult huifuyuyuejilu(@RequestBody List<String> tjNUms) {
        if (null != tjNUms && !tjNUms.isEmpty()) {
            for (String tjNUm : tjNUms) {
                TjOrder order = tjOrderService.getOrderByTjNum(tjNUm);
                if(null !=order && StringUtil.isNotBlank(order.getReservationId())){
                    //这里删除的是这个人所有项目包括补录项目
                    tjOrderService.deleteTjOrderByOrderId(order.getOrderId());
                    tjOrderDetailService.deleteTjOrderDetailByOrderDetailId(String.valueOf(order.getOrderId()));
                    remarkService.deletedOrderRemarkByTjNum(tjNUm);
                    tjFlowingWaterService.deleteTjFlowingWaterByOrderId(String.valueOf(order.getOrderId()));
//                transitionService.deletedTbTransitionByTjNum(tjNum);
                    tjSamplingMapper.deleteByTjNumAndCusId(order.getTjNumber(), order.getUserId());
                    TjReservation reservation = tjReservationService.getById(order.getReservationId());
                    if(null !=reservation){
                        reservation.setIsExpire(2);
                        tjReservationService.updateById(reservation);
                        transitionService.updateTbTransitionByTjNum(tjNUm);
                    }
                }
            }
            return AjaxResult.success();
        }
        return AjaxResult.error();
    }
}
ltkj-admin/src/main/java/com/ltkj/web/controller/system/TjSamplingController.java
@@ -364,7 +364,7 @@
        if (list.size() >= 2) {
            // 进行合并
            List<String> stringList = list.stream().map(TjSampling::getId).collect(Collectors.toList());
            log.info("提取id ->{}",stringList);
//            log.info("提取id ->{}",stringList);
            for (String s : stringList) {
                if (tjSamplingService.isMergeItem(s) != 0) {
                    list.removeIf(item -> Objects.equals(item.getId(), s));
ltkj-common/src/main/java/com/ltkj/common/utils/PDFDocumentUtil.java
@@ -243,7 +243,7 @@
     * @throws DocumentException
     * @throws IOException
     */
    public static void makeTjInfo(Document document,List<Map<String ,String>> data) throws DocumentException, IOException {
    public static void makeTjInfo(Document document,List<Map<String ,Object>> data) throws DocumentException, IOException {
        PdfPTable table1 = new PdfPTable(7);
        table1.setWidthPercentage(100);
        float[] columnWidths = {1.5f, 3, 3, 6, 1.5f, 3, 3};
ltkj-hosp/src/main/java/com/ltkj/hosp/mapper/TbTransitionMapper.java
@@ -76,7 +76,8 @@
    public boolean delTbBycusCardIdAndProId(@Param("cdId") String cdId,@Param("proId")String proId);
    @Update("UPDATE tb_transition a SET "+
            "a.tj_num=null" +
            "a.tj_num=null," +
            "a.card_id=0" +
            " WHERE a.tj_num=#{tjNum}")
    boolean updateTbTransitionByTjNum(String tjNum);
@@ -376,4 +377,10 @@
    @Select("SELECT SUM(a.ord_price) FROM tb_transition a WHERE  a.tj_num=#{tjNum} AND a.parent_pro_id=#{proId}")
    BigDecimal getTbTransitionOrdPriceByTjNumAndParentId(@Param("tjNum")String tjNum,@Param("proId")String proId);
    @Select("SELECT SUM(a.ord_price) FROM tb_transition a WHERE  a.tj_num=#{tjNum}")
    BigDecimal sumTbTransitionOrdPriceByTjNum(@Param("tjNum")String tjNum);
    @Select("SELECT SUM(a.now_price) FROM tb_transition a WHERE  a.tj_num=#{tjNum}")
    BigDecimal sumTbTransitionNowPriceByTjNum(@Param("tjNum")String tjNum);
}
ltkj-hosp/src/main/java/com/ltkj/hosp/mapper/TjOrderMapper.java
@@ -221,20 +221,66 @@
     * @param tjNumber 体检单号
     * @return
     */
    @Select("SELECT  @num :=  @num + 1 AS xh, d.dept_name ksmc, d.official_web ksdz, e.tjxm FROM sys_dept d JOIN ( select aa.ksmc,GROUP_CONCAT( DISTINCT aa.pro_name ORDER BY aa.pro_name DESC SEPARATOR ';' ) tjxm  from ( SELECT (case when f.ksmc in ('临检室','化验室','','') or c.pro_name like '%测定%' then '检验科'      when c.pro_name like '%心电图%' then '心电图室'  when f.ksmc='x光室' or c.pro_name like '%X线摄影%'  then '放射科'  when c.pro_name like '%色觉%' then '眼科' \t\t\t\twhen c.pro_name like '%超%' or c.pro_name like '%多普勒%' then 'B超室'  when (replace(f.ksmc,' ','')='' or f.ksmc is null) and c.dept_id<>'100' then  d.dept_name when c.pro_name like '%CT%' then 'CT室'  else '体检中心' end ) ksmc, c.pro_name FROM tj_order a JOIN tj_order_detail b ON b.order_id = a.order_id JOIN tj_project c ON c.pro_id = b.pro_id  left join his_mxfyxm e on e.mxfyxmbm=c.his_xmbm left join ltkj_his_dept f on f.ksbm = CONCAT('00',(case when e.hsks is null then '' else e.hsks end)) join sys_dept d on d.dept_id=c.dept_id WHERE a.tj_number =  #{tjNumber} ) aa  GROUP BY ksmc ) e ON e.ksmc = d.dept_name , (SELECT @num := 0) a WHERE d.parent_id = '100' ORDER BY xh")
    List<Map<String ,String >> selectDjdInfo(@Param("tjNumber")String tjNumber);
//    @Select("SELECT  @num :=  @num + 1 AS xh, d.dept_name ksmc, d.official_web ksdz, e.tjxm FROM sys_dept d JOIN " +
//            "( select aa.ksmc,GROUP_CONCAT( DISTINCT aa.pro_name ORDER BY aa.pro_name DESC SEPARATOR ';' ) tjxm  from " +
//            "( SELECT (case when f.ksmc in ('临检室','化验室','','') or c.pro_name like '%测定%' then '检验科'     " +
//            " when c.pro_name like '%心电图%' then '心电图室'  when f.ksmc='x光室' or c.pro_name like '%X线摄影%'  then '放射科'  when c.pro_name like '%色觉%' then '眼科' " +
//            "\t\t\t\twhen c.pro_name like '%超%' or c.pro_name like '%多普勒%' then 'B超室'  when (replace(f.ksmc,' ','')='' or f.ksmc is null) and c.dept_id<>'100' then " +
//            " d.dept_name when c.pro_name like '%CT%' then 'CT室'  else '体检中心' end ) ksmc, c.pro_name FROM tj_order a JOIN tj_order_detail b ON b.order_id = a.order_id " +
//            "JOIN tj_project c ON c.pro_id = b.pro_id  left join his_mxfyxm e on e.mxfyxmbm=c.his_xmbm left join ltkj_his_dept f on f.ksbm = CONCAT('00'," +
//            "(case when e.hsks is null then '' else e.hsks end)) join sys_dept d on d.dept_id=c.dept_id WHERE a.tj_number =  #{tjNumber} ) aa  GROUP BY ksmc ) e ON e.ksmc = " +
//            "d.dept_name , (SELECT @num := 0) a WHERE d.parent_id = '100' ORDER BY xh")
//    List<Map<String ,String >> selectDjdInfo(@Param("tjNumber")String tjNumber);
    @Select("SELECT \n" +
            "    '1' AS xh, " +
            "    REPLACE(d.dept_name, '门诊', '') AS ksmc,\n" +
            "    d.official_web AS ksdz,\n" +
            "    e.tjxm,\n" +
            "    e.tjjg\n" +
            "FROM sys_dept d\n" +
            "JOIN (\n" +
            "    SELECT\n" +
            "        c.dept_id,\n" +
            "        GROUP_CONCAT(DISTINCT c1.pro_name ORDER BY c1.pro_name DESC SEPARATOR ';') AS tjxm,\n" +
            "        SUM(b.ord_price) AS tjjg\n" +
            "    FROM tb_transition b\n" +
            "    JOIN tj_project c ON c.pro_id = b.parent_pro_id\n" +
            "    JOIN tj_project c1 ON c1.pro_id = b.parent_pro_id\n" +
            "    WHERE trim(b.tj_num) = #{tjNumber} \n" +
            "      AND c.pro_parent_id = 0\n" +
            "      AND c1.pro_name NOT IN ('主任医师诊查', '(tj)体检费(物理检查)')\n" +
            "      AND c1.pro_name NOT LIKE '%主任医师诊查%'\n" +
            "    GROUP BY c.dept_id\n" +
            ") e ON e.dept_id = d.dept_id\n" +
            "ORDER BY d.djd_num")
    List<Map<String ,Object >> selectDjdInfo(@Param("tjNumber")String tjNumber);
    /**
     * 查询导检单用户信息
     * @param tjNumber
     * @return
     */
    @Select("select c.tj_number tjh,a.cus_name tjname, b.dict_label sex,a.create_time tjsj,ifnull(d.cn_name,'') dwmc,a.cus_phone lxdh\n" +
    @Select("select c.tj_number tjh,a.cus_name tjname, b.dict_label sex,c.create_time tjsj,ifnull(c.firm_name,'') dwmc,a.cus_phone lxdh,ifnull(c.firm_dept_name,'') dwbm,\n" +
            "ifnull((select dict_label from sys_dict_data where dict_type ='dict_team' and status=0 and dict_value=c.tj_type),'') tjlx,\n" +
            "( (\n" +
            "  SELECT\n" +
            "    sum( b1.ord_price ) \n" +
            "  FROM\n" +
            "    tb_transition b1\n" +
            "    JOIN tj_project c1 ON c1.pro_id = b1.parent_pro_id \n" +
            "    AND c1.pro_parent_id = 0 \n" +
            "  WHERE\n" +
            "    b1.tj_num = c.tj_number \n" +
            "  )*(IFNULL(c.discount,10)/10)) tjze,c.card_id ,CONCAT(cast(a.age as char),e.dict_label) nl,(SELECT tb.pac_name FROM tb_transition tb" +
            " WHERE tb.tj_num = c.tj_number GROUP BY tb.pac_id)tcmc,a.his_jzkh\n" +
            "from tj_order c \n" +
            " join tj_customer a on  a.cus_id= c.user_id \n" +
            "\tjoin tj_customer a on  a.cus_id= c.user_id \n" +
            " join (select dict_value,dict_label from  sys_dict_data where dict_type='sys_user_sex') b on b.dict_value = a.cus_sex\n" +
            " left join dict_comp d on d.drug_manufacturer_id = c.firm_id\n" +
            "where c.tj_number=#{tjNumber}")
            "\tleft join dict_comp d on d.drug_manufacturer_id = c.firm_id\n" +
            "join (select dict_label,dict_value from sys_dict_data where dict_type='dict_ageunit') e  on e.dict_value = a.age_unit\n" +
            "where trim(c.tj_number)=#{tjNumber}")
    Map<String ,Object > selectDjdUserInfo(@Param("tjNumber")String tjNumber);
ltkj-hosp/src/main/java/com/ltkj/hosp/service/ITjOrderService.java
@@ -138,7 +138,7 @@
    String  isPayByTjNum(String orderId);
    List<Map<String ,String >> selectDjdInfo(String tjNumber);
    List<Map<String ,Object >> selectDjdInfo(String tjNumber);
    Map<String ,Object > selectDjdUserInfo(String tjNumber);
ltkj-hosp/src/main/java/com/ltkj/hosp/service/impl/TjOrderServiceImpl.java
@@ -11,6 +11,7 @@
import com.ltkj.hosp.service.ITjOrderService;
import com.ltkj.hosp.service.ITjPackageService;
import com.ltkj.hosp.vodomain.LineChartsVo;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import com.ltkj.hosp.mapper.TjOrderMapper;
@@ -23,6 +24,7 @@
 * @date 2022-11-21
 */
@Service
@Slf4j
public class TjOrderServiceImpl extends ServiceImpl<TjOrderMapper, TjOrder> implements ITjOrderService {
    @Autowired
    private TjOrderMapper tjOrderMapper;
@@ -277,12 +279,14 @@
    }
    @Override
    public List<Map<String, String>> selectDjdInfo(String tjNumber) {
    public List<Map<String, Object>> selectDjdInfo(String tjNumber) {
        log.info("传递进来的体检号为: "+tjNumber);
        return tjOrderMapper.selectDjdInfo(tjNumber);
    }
    @Override
    public Map<String, Object> selectDjdUserInfo(String tjNumber) {
        log.info("传递进来的体检号为: "+tjNumber);
        return tjOrderMapper.selectDjdUserInfo(tjNumber);
    }