1
lige
2024-02-28 23cbab8e322e7aa6fda98dde4540b01ecf3c4fd1
ltkj-admin/src/main/java/com/ltkj/web/controller/system/TjCheckController.java
@@ -269,7 +269,7 @@
                                   @ApiParam(value = "状态 0同意 1拒绝 默认同意") @RequestParam(defaultValue = "0") Integer status,
                                   @ApiParam(value = "驳回理由") @RequestParam(required = false) String remark) {
        int num = orderRemarkService.getTjYqOrderRemarkByTjNum(tjNumber);
        if (num > 0) return AjaxResult.error("有延期项目暂不能审核!");
        if (num > 0) return AjaxResult.error("请先同步体检项目!");
        if (null != tjNumber) {
            Long userId = Long.valueOf(SecurityUtils.getLoginUser().getUserId());
            SysUser sysUser = userService.getById(userId);
@@ -316,15 +316,18 @@
            if (null != order) {
                List<LtkjHysqd> one = testMapper.getHysqdByTmh(order.getCardId());
                if (one != null && one.size() > 0) {
                    DynamicDataSourceContextHolder.setDataSourceType(DataSourceType.MASTER.name());
                    ltkjHysqdService.saveBatch(one);
                    DynamicDataSourceContextHolder.clearDataSourceType();
                    for (LtkjHysqd ltkjHysqd : one) {
                        List<LtkjHybgd> one1 = testMapper.getHybgdByTmh(ltkjHysqd.getTmh());
                        if (one1 != null && one1.size() > 0) {
                            DynamicDataSourceContextHolder.setDataSourceType(DataSourceType.MASTER.name());
                            ltkjHybgdService.saveBatch(one1);
//                        DynamicDataSourceContextHolder.setDataSourceType(DataSourceType.MASTER.name());
                        LtkjHysqd hysqd = ltkjHysqdService.getLtkjHysqdByTjhAndTmh(ltkjHysqd.getTjh(), ltkjHysqd.getTmh());
                        if (hysqd == null) {
                            ltkjHysqdService.save(ltkjHysqd);
                            DynamicDataSourceContextHolder.clearDataSourceType();
                            List<LtkjHybgd> one1 = testMapper.getHybgdByTmh(ltkjHysqd.getTmh());
                            if (one1 != null && one1.size() > 0) {
                                DynamicDataSourceContextHolder.setDataSourceType(DataSourceType.MASTER.name());
                                ltkjHybgdService.saveBatch(one1);
                                DynamicDataSourceContextHolder.clearDataSourceType();
                            }
                        }
                    }
                }
@@ -344,9 +347,10 @@
//                    }
//                }
                //同步化验项目
                testMapper.updateDetailByCall(order.getCardId(), String.valueOf(order.getOrderId()),order.getTjNumber(),UserHoder.getLoginUser().getUserId());
                testMapper.updateDetailByCall(order.getCardId(), String.valueOf(order.getOrderId()), order.getTjNumber(), UserHoder.getLoginUser().getUserId());
                //同步检查项目
                testMapper.updateDetailByTjJcCall(order.getCardId(), String.valueOf(order.getOrderId()),order.getTjNumber(),UserHoder.getLoginUser().getUserId());
                testMapper.updateDetailByTjJcCall(order.getCardId(), String.valueOf(order.getOrderId()), order.getTjNumber(), UserHoder.getLoginUser().getUserId());
                asyncService.updateCheckType(order.getTjNumber());
            }
        }
        return AjaxResult.success("同步成功");
@@ -519,18 +523,18 @@
    /**
     * 总检点击体检信息详情
     * 总检点击体检信息详情————非化验项目
     *
     * @param tjNumber
     * @return
     */
    @GetMapping("/updateCheckType")
    @ApiOperation(value = "总检点击体检信息详情")
    @ApiOperation(value = "总检点击体检信息详情————非化验项目")
    public AjaxResult updateCheckType(@ApiParam(value = "客户体检号") @RequestParam String tjNumber) {
        if (redisCache.hasKey("updateCheckType" + tjNumber)) {
            List<Map<String, Object>> cacheMapValue = redisCache.getCacheMapValue("updateCheckType" + tjNumber, tjNumber);
            return AjaxResult.success(cacheMapValue);
        }
//        if (redisCache.hasKey("updateCheckType" + tjNumber)) {
//            List<Map<String, Object>> cacheMapValue = redisCache.getCacheMapValue("updateCheckType" + tjNumber, tjNumber);
//            return AjaxResult.success(cacheMapValue);
//        }
        return getAjaxResult(tjNumber);
    }
@@ -556,6 +560,14 @@
                if ("N".equals(project.getNeedReport())) {
                    continue;
                }
                //判断该项目是否检验科项目  2024/2/28g
                if (project.getDeptId() == 241) {
                    continue;
                }
                if (null != project) {
                    parent.put("parent", project.getProName());
                    parent.put("parentId", project.getProId().toString());
@@ -610,6 +622,78 @@
    }
    /**
     * 总检点击体检信息详情————化验项目
     *
     * @param tjNumber
     * @return
     */
    @GetMapping("/updateCheckTypeHuaYan")
    @ApiOperation(value = "总检点击体检信息详情————化验项目")
    public AjaxResult updateCheckTypeHuaYan(@ApiParam(value = "客户体检号") @RequestParam String tjNumber) {
//        asyncService.updateCheckType(tjNumber);
        List<Map<String, Object>> list = new ArrayList<>();
        TjOrder one = orderService.getOrderByTjNum(tjNumber);
        if (one == null) {
            return AjaxResult.error("暂无数据!!");
        }
        TjCustomer customer = customerService.getById(one.getUserId());
        List<TjOrderRemark> remarkList = orderRemarkService.addHuaYanTable(tjNumber);
        List<TjOrderDetail> tjOrderDetails = detailService.addHuaYanTable(tjNumber);
        if (null != remarkList && remarkList.size() > 0) {
            for (TjOrderRemark remark : remarkList) {
                Map<String, Object> parent = new HashMap<>();
                parent.put("checkAdvice", one.getCheckAdvice());
                parent.put("parent", remark.getProName());
                parent.put("parentId", remark.getProId().toString());
                if (null != tjOrderDetails && tjOrderDetails.size() > 0) {
                    for (TjOrderDetail tjOrderDetail : tjOrderDetails) {
                        final TjProject byId = projectService.selectTjProjectByProId(tjOrderDetail.getProId());
                        if (null == byId) {
                            detailService.removeById(tjOrderDetail.getOrderDetailId());
                        } else {
                            tjOrderDetail.setProject(byId);
                        }
                        List<TjStandard> list2 = tjStandardService.getTjStandardListByProId(String.valueOf(tjOrderDetail.getProId()));
                        if (list2.size() == 0) {
                            tjOrderDetail.setStandard(new TjStandard());
                        } else if (list2.size() == 1) {
                            tjOrderDetail.setStandard(list2.get(0));
                        } else {
                            final int ageType = StringUtils.getAgeType(DateUtil.ageOfNow(customer.getCusBrithday()));
                            TjStandard tjStandard1 = tjStandardService.getListBySexAndType(customer.getCusSex(), ageType, String.valueOf(tjOrderDetail.getProId()));
                            tjOrderDetail.setStandard(tjStandard1);
                        }
                    }
                    String summary = remark.getSummary();
                    if (null != summary) {
                        String[] split = summary.split(";");
                        parent.put("parentAdvice", tjAdviceService.getAdviceStringByIds(split));
                    } else {
                        parent.put("parentAdvice", null);
                    }
                    parent.put("sons", tjOrderDetails);
                    parent.put("remark", remark.getRemark());
                    if (remark.getDoctorName() != null && null != userService.getById(remark.getDoctorName())) {
                        parent.put("doctorName", userService.getById(remark.getDoctorName()).getNickName());
                    }
                    list.add(parent);
                } else {
                    return AjaxResult.success("该客户没有体检项目数据");
                }
            }
            return AjaxResult.success(list);
        }
        return AjaxResult.success("该客户没有体检项目数据!");
    }
    @GetMapping("/getTm")
    @ApiOperation(value = "获取条码")
//    @PreAuthorize("@ss.hasPermi('check:check:getTm')")