zjh
2 天以前 e6be2f618355fb182d31c3ddc3d19127eea5e723
ltkj-admin/src/main/java/com/ltkj/web/controller/system/TjCheckController.java
@@ -1138,95 +1138,7 @@
                              @ApiParam(value = "结束时间") @RequestParam(required = false) String endTime,
                              @ApiParam(value = "体检类型") @RequestParam(required = false) String tjCategory,
                              @ApiParam(value = "体检类型") @RequestParam(required = false) String tcm) {
        //        String config = configService.selectConfigByKey("tj_confirm");
//        DateTime beginTimes = null;
//        DateTime endTimes = null;
//        if (null != beginTime && null != endTime) {
//            beginTimes = DateUtil.beginOfDay(DateUtil.parse(beginTime));
//            endTimes = DateUtil.endOfDay(DateUtil.parse(endTime));
//        }
//        asyncService.checkSetCustomerLisByRedis(config);
//        //初始化体检订单表
//        List<TjOrder> orderList = null;
//        List<TjCustomer> customerList = new ArrayList<>();
//        Map<String, Object> map = new HashMap<>();
//
//        //姓名查询
//        if (null != name && !"".equals(name)) {
//            List<TjCustomer> list = customerService.getTjCustomerList(name);
//            if (null != list && list.size() > 0) {
//                List<TjCustomer> lists = new ArrayList<>();
//                for (TjCustomer customer : list) {
//                    if ("Y".equals(config)) {
//                        orderList = orderService.getCsTjOrderListByCusId1(customer.getCusId());
//                    } else {
//                        orderList = orderService.getTjOrderListByCusId(customer.getCusId());
//                    }
//                    if (null != orderList && orderList.size() > 0) {
//                        for (TjOrder tjOrder : orderList) {
//                            customer.setTjNumber(tjOrder.getTjNumber());
//                            customer.setTjStatus(Long.valueOf(tjOrder.getCheckStatus()));
//                            customer.setOrderId(tjOrder.getOrderId());
//                            customer.setTjTime(tjOrder.getFinishTime());
//                            customer.setFinishTime(tjOrder.getFinishTime());
//                            customer.setCusName(MatchUtils.hideCusName(customer.getCusName()));
//                            customer.setCusPhone(MatchUtils.hidePhoneNum(customer.getCusPhone()));
//                            customer.setCusIdcard(MatchUtils.hideIdCardNum(customer.getCusIdcard()));
//                            customer.setConfirmStatus(String.valueOf(tjOrder.getStatus()));
//                            customer.setTjCategory(tjOrder.getTjCategory());
//                            if (tjOrder.getFirmId().equals("0")) {
//                                customer.setTjCompName(null);
//                            } else {
//                                customer.setTjCompName(compService.selectDictCompByDrugManufacturerId(tjOrder.getFirmId()).getCnName());
//                            }
//                            lists.add(customer);
//                        }
//                    }
//                }
//                List<TjCustomer> customers = null;
//                if (lists.size() > 0) {
//                    customers = lists.stream().skip((long) (page - 1) * pageSize).limit(pageSize).collect(Collectors.toList());
//                }
//                map.put("customers", customers);
//                map.put("total", lists.size());
//                return AjaxResult.success(map);
//            }
//            return AjaxResult.success("暂无数据");
//        }
//
//        //条件查询
//        if (null != tjNumber || null != compId || (null != beginTime && null != endTime)) {
//            //判断是否开启初审
//            if ("Y".equals(config)) {
//                orderList = orderService.getCsTjOrderList1(tjNumber, checkStatus, compId, beginTimes, endTimes);
//            } else {
//                orderList = orderService.getTjOrderList(tjNumber, checkStatus, compId, beginTimes, endTimes);
//            }
//            return getResult(page, pageSize, orderList, customerList, map);
//        }
//
//        List<TjCustomer> customers = null;
//        if (null != checkStatus && checkStatus == 0) {
//            customers = redisCache.getCacheMapValue("check", "ws");
//        }
//        if (null != checkStatus && checkStatus == 1) {
//            customers = redisCache.getCacheMapValue("check", "ys");
//        }
//        if (customers != null && customers.size() > 0) {
////            asyncService.addRedis(customers);
//            List<TjCustomer> customerLists = customers.stream().skip((long) (page - 1) * pageSize).limit(pageSize).collect(Collectors.toList());
//            map.put("customers", customerLists);
//            map.put("total", customers.size());
//            return AjaxResult.success(map);
//        } else {
//            //判断是否开启初审
//            if ("Y".equals(config)) {
//                orderList = orderService.getCsTjOrderList1(tjNumber, checkStatus, compId, beginTimes, endTimes);
//            } else {
//                orderList = orderService.getTjOrderList(tjNumber, checkStatus, compId, beginTimes, endTimes);
//            }
//            return getResult(page, pageSize, orderList, customerList, map);
//        }
        String value = String.valueOf(compId);
        if (tjNumber == null) tjNumber = "";
@@ -1248,95 +1160,6 @@
                                  @ApiParam(value = "姓名)") @RequestParam(required = false) String name,
                                  @ApiParam(value = "开始时间") @RequestParam(required = false) String beginTime,
                                  @ApiParam(value = "结束时间") @RequestParam(required = false) String endTime) {
        //        String config = configService.selectConfigByKey("tj_confirm");
//        DateTime beginTimes = null;
//        DateTime endTimes = null;
//        if (null != beginTime && null != endTime) {
//            beginTimes = DateUtil.beginOfDay(DateUtil.parse(beginTime));
//            endTimes = DateUtil.endOfDay(DateUtil.parse(endTime));
//        }
//        asyncService.checkSetCustomerLisByRedis(config);
//        //初始化体检订单表
//        List<TjOrder> orderList = null;
//        List<TjCustomer> customerList = new ArrayList<>();
//        Map<String, Object> map = new HashMap<>();
//
//        //姓名查询
//        if (null != name && !"".equals(name)) {
//            List<TjCustomer> list = customerService.getTjCustomerList(name);
//            if (null != list && list.size() > 0) {
//                List<TjCustomer> lists = new ArrayList<>();
//                for (TjCustomer customer : list) {
//                    if ("Y".equals(config)) {
//                        orderList = orderService.getCsTjOrderListByCusId1(customer.getCusId());
//                    } else {
//                        orderList = orderService.getTjOrderListByCusId(customer.getCusId());
//                    }
//                    if (null != orderList && orderList.size() > 0) {
//                        for (TjOrder tjOrder : orderList) {
//                            customer.setTjNumber(tjOrder.getTjNumber());
//                            customer.setTjStatus(Long.valueOf(tjOrder.getCheckStatus()));
//                            customer.setOrderId(tjOrder.getOrderId());
//                            customer.setTjTime(tjOrder.getFinishTime());
//                            customer.setFinishTime(tjOrder.getFinishTime());
//                            customer.setCusName(MatchUtils.hideCusName(customer.getCusName()));
//                            customer.setCusPhone(MatchUtils.hidePhoneNum(customer.getCusPhone()));
//                            customer.setCusIdcard(MatchUtils.hideIdCardNum(customer.getCusIdcard()));
//                            customer.setConfirmStatus(String.valueOf(tjOrder.getStatus()));
//                            customer.setTjCategory(tjOrder.getTjCategory());
//                            if (tjOrder.getFirmId().equals("0")) {
//                                customer.setTjCompName(null);
//                            } else {
//                                customer.setTjCompName(compService.selectDictCompByDrugManufacturerId(tjOrder.getFirmId()).getCnName());
//                            }
//                            lists.add(customer);
//                        }
//                    }
//                }
//                List<TjCustomer> customers = null;
//                if (lists.size() > 0) {
//                    customers = lists.stream().skip((long) (page - 1) * pageSize).limit(pageSize).collect(Collectors.toList());
//                }
//                map.put("customers", customers);
//                map.put("total", lists.size());
//                return AjaxResult.success(map);
//            }
//            return AjaxResult.success("暂无数据");
//        }
//
//        //条件查询
//        if (null != tjNumber || null != compId || (null != beginTime && null != endTime)) {
//            //判断是否开启初审
//            if ("Y".equals(config)) {
//                orderList = orderService.getCsTjOrderList1(tjNumber, checkStatus, compId, beginTimes, endTimes);
//            } else {
//                orderList = orderService.getTjOrderList(tjNumber, checkStatus, compId, beginTimes, endTimes);
//            }
//            return getResult(page, pageSize, orderList, customerList, map);
//        }
//
//        List<TjCustomer> customers = null;
//        if (null != checkStatus && checkStatus == 0) {
//            customers = redisCache.getCacheMapValue("check", "ws");
//        }
//        if (null != checkStatus && checkStatus == 1) {
//            customers = redisCache.getCacheMapValue("check", "ys");
//        }
//        if (customers != null && customers.size() > 0) {
////            asyncService.addRedis(customers);
//            List<TjCustomer> customerLists = customers.stream().skip((long) (page - 1) * pageSize).limit(pageSize).collect(Collectors.toList());
//            map.put("customers", customerLists);
//            map.put("total", customers.size());
//            return AjaxResult.success(map);
//        } else {
//            //判断是否开启初审
//            if ("Y".equals(config)) {
//                orderList = orderService.getCsTjOrderList1(tjNumber, checkStatus, compId, beginTimes, endTimes);
//            } else {
//                orderList = orderService.getTjOrderList(tjNumber, checkStatus, compId, beginTimes, endTimes);
//            }
//            return getResult(page, pageSize, orderList, customerList, map);
//        }
        String value = String.valueOf(compId);
        if (tjNumber == null) tjNumber = "";
@@ -2001,94 +1824,100 @@
    private void yichangxiangmu(String tjNumber) {
        try {
            List<TjOrderYcxm> tjOrderYcxmList= ycxmService.selectListByTjh(tjNumber);
            String xb= customerService.getSexByTjh(tjNumber);
            if(null !=tjOrderYcxmList && !tjOrderYcxmList.isEmpty()){
            List<TjOrderYcxm> tjOrderYcxmList = ycxmService.selectListByTjh(tjNumber);
            if (null != tjOrderYcxmList && !tjOrderYcxmList.isEmpty()) {
                List<Map<String, Object>> list = new ArrayList<>();
                TjOrder order = orderService.getOrderByTjNum(tjNumber);
                if (null != order) {
                    String xb = customerService.getSexByTjh(order.getTjNumber());
                    List<TjOrderRemark> remarkList = orderRemarkService.getzongjianyishengchakanyichangxiangmu(tjNumber);
                    List<TjOrderDetail> tjOrderDetails = detailService.getzongjianyishengchakanyichangxiangmu(tjNumber);
                    if (null != remarkList && !remarkList.isEmpty()) {
                        for (TjOrderRemark remark : remarkList) {
                            Map<String, Object> parent = new HashMap<>();
                            if (null != tjOrderDetails && !tjOrderDetails.isEmpty()) {
                                List<TjOrderDetail> dels = new ArrayList<>();
                                for (TjOrderDetail tjOrderDetail : tjOrderDetails) {
                                    if (remark.getProsId().equals(tjOrderDetail.getProsId())) {
                                        if (null != tjOrderDetail.getProId() && null != tjOrderDetail.getYcbz()) {
                                            if (!tjOrderDetail.getDeptId().equals("2")) {
                        List<TjOrderRemark> collects = remarkList.stream()
                                .filter(b -> tjOrderYcxmList.stream()
                                        .noneMatch(a -> a.getParentName() != null && a.getParentName().equals(b.getProName()))).collect(Collectors.toList());
                        if (!collects.isEmpty()) {
                            for (TjOrderRemark remark : remarkList) {
                                Map<String, Object> parent = new HashMap<>();
                                if (null != tjOrderDetails && !tjOrderDetails.isEmpty()) {
                                    List<TjOrderDetail> dels = new ArrayList<>();
                                    for (TjOrderDetail tjOrderDetail : tjOrderDetails) {
                                        if (remark.getProsId().equals(tjOrderDetail.getProsId())) {
                                            if (null != tjOrderDetail.getProId() && null != tjOrderDetail.getYcbz()) {
                                                if (!tjOrderDetail.getDeptId().equals("2")) {
                                                    String replacedAll = tjOrderDetail.getProName().replaceAll("[((][^))]*[\u4e00-\u9fa5]+[^))]*[))]", "").replaceAll("[((][^))]*[))]", "")
                                                            .replaceAll("[ 测定检测]", "").replaceAll("\\[.*?\\]", "").replaceAll("◆", "");
                                                String replacedAll = tjOrderDetail.getProName().replaceAll("[((][^))]*[\u4e00-\u9fa5]+[^))]*[))]", "").replaceAll("[((][^))]*[))]", "")
                                                        .replaceAll("[ 测定检测]", "").replaceAll("\\[.*?\\]", "").replaceAll("◆", "");
                                                List<Map<String, Object>> maps = rulesService.getyichangxiangmujianyiguize(tjOrderDetail.getProId().toString()
                                                        ,replacedAll,
                                                        tjOrderDetail.getYcbz().replaceAll(" ", ""), tjNumber
                                                        , replacedAll
                                                        , tjOrderDetail.getProResult());
                                                    List<Map<String, Object>> maps = rulesService.getyichangxiangmujianyiguize(tjOrderDetail.getProId().toString()
                                                            , replacedAll, tjOrderDetail.getYcbz().replaceAll(" ", ""), tjNumber, replacedAll, tjOrderDetail.getProResult());
                                                if (null != maps && !maps.isEmpty()) {
                                                    tjOrderDetail.setAdvices(maps);
                                                }
                                            } else {
                                                String[] split = tjOrderDetail.getProResult().split("。|,|,");
                                                List<Map<String, Object>> mapList = new ArrayList<>();
                                                for (String s : split) {
                                                    s = s.replaceAll("\n", "").replaceAll("[((][^))]*[))]", "");
                                                    Map<String, Object> maps = tjProAdvicerulesService.getyichangxiangmujianyiguizeJianCha(remark.getKs(), s, "0",xb);
                                                    if (null != maps && !maps.isEmpty()) {
                                                        Object bt = maps.get("bt");
                                                        Object nr = maps.get("nr");
                                                        if (null != bt || null != nr) mapList.add(maps);
                                                        tjOrderDetail.setAdvices(maps);
                                                    }
                                                }
                                                tjOrderDetail.setAdvices(mapList);
                                            }
                                                } else {
                                                    String[] split = tjOrderDetail.getProResult().split("。|,|,");
                                                    List<Map<String, Object>> mapList = new ArrayList<>();
                                                    for (String s : split) {
                                                        s = s.replaceAll("\n", "").replaceAll("[((][^))]*[))]", "");
                                                        ;
                                                        Map<String, Object> maps = tjProAdvicerulesService.getyichangxiangmujianyiguizeJianCha(remark.getKs(), s, "0", xb);
                                                        if (null != maps && !maps.isEmpty()) {
                                                            Object bt = maps.get("bt");
                                                            Object nr = maps.get("nr");
                                                            if (null != bt || null != nr) mapList.add(maps);
                                                        }
                                                    }
                                                    tjOrderDetail.setAdvices(mapList);
                                                }
                                            }
                                            dels.add(tjOrderDetail);
                                        }
                                        dels.add(tjOrderDetail);
                                    }
                                    if (!dels.isEmpty()) {
                                        parent.put("proName", remark.getProName());
                                        parent.put("jyjc", remark.getJyjc());
                                        parent.put("sone", dels);
                                        list.add(parent);
                                    }
                                }
                                if (!dels.isEmpty()) {
                                    parent.put("proName", remark.getProName());
                                    parent.put("jyjc", remark.getJyjc());
                                    parent.put("sone", dels);
                                    list.add(parent);
                            }
                            List<Map<String, Object>> maps = getYcxmMapList(tjOrderYcxmList);
                            List<Map<String, Object>> collect = list.stream()
                                    .filter(b -> maps.stream()
                                            .noneMatch(a -> a.get("proName").equals(b.get("proName"))))  // 过滤掉在 maps 中存在的相同元素
                                    .collect(Collectors.toList());
                            if (!collect.isEmpty()) {
                                for (Map<String, Object> map : collect) {
                                    for (TjOrderDetail detail : (List<TjOrderDetail>) map.get("sone")) {
                                        TjOrderYcxm ycxm = new TjOrderYcxm();
                                        ycxm.setTjh(tjNumber);
                                        ycxm.setParentName(map.get("proName").toString());
                                        ycxm.setJcxm(detail.getProName());
                                        ycxm.setJcjg(detail.getProResult());
                                        ycxm.setCkfw(detail.getStanId());
                                        ycxm.setDw(detail.getProAdvice());
                                        ycxm.setJynr(JSONUtil.toJsonStr(detail.getAdvices()));
                                        ycxm.setJyjc(map.get("jyjc").toString());
                                        ycxmService.save(ycxm);
                                    }
                                }
                            }
                        }
                    }
                }
                List<Map<String, Object>> maps = getYcxmMapList(tjOrderYcxmList);
                List<Map<String, Object>> collect = list.stream()
                        .filter(b -> maps.stream()
                                .noneMatch(a -> a.get("proName").equals(b.get("proName"))))  // 过滤掉在 maps 中存在的相同元素
                        .collect(Collectors.toList());
                if(!collect.isEmpty()){
                    for (Map<String, Object> map : collect) {
                        for (TjOrderDetail detail : (List<TjOrderDetail>) map.get("sone")) {
                            TjOrderYcxm ycxm = new TjOrderYcxm();
                            ycxm.setTjh(tjNumber);
                            ycxm.setParentName(map.get("proName").toString());
                            ycxm.setJcxm(detail.getProName());
                            ycxm.setJcjg(detail.getProResult());
                            ycxm.setCkfw(detail.getStanId());
                            ycxm.setDw(detail.getProAdvice());
                            ycxm.setJynr(JSONUtil.toJsonStr(detail.getAdvices()));
                            ycxm.setJyjc(map.get("jyjc").toString());
                            ycxmService.save(ycxm);
                        }
                    }
                }
            }
        } catch (Exception ex) {
//            log.error(ex.getMessage());
            log.error(ex.getMessage());
        }
    }