zjh
2023-12-26 bf84842d69b99d79ee17996de65bf8a2bab4ac07
ltkj-admin/src/main/java/com/ltkj/web/controller/system/TjCheckController.java
@@ -80,10 +80,8 @@
    private TestMapper testMapper;
    @Resource
    private TjvLtkjvtjpatService tjvLtkjvtjpatService;
    @Resource
    private LtkjMiddleDetailService middleDetailService;
    @Resource
    private LtkjMiddleHeadService headService;
    @Resource
@@ -125,82 +123,89 @@
                                @ApiParam(value = "开始时间") @RequestParam(required = false) String beginTime,
                                @ApiParam(value = "结束时间") @RequestParam(required = false) String endTime) {
        DateTime beginTimes = null;
        DateTime endTimes = null;
        if (null != beginTime && null != endTime) {
            beginTimes = DateUtil.beginOfDay(DateUtil.parse(beginTime));
            endTimes = DateUtil.endOfDay(DateUtil.parse(endTime));
        }
        //初始化体检订单表
        List<TjOrder> orderList = null;
        List<TjCustomer> customerList = new ArrayList<>();
        Map<String, Object> map = new HashMap<>();
        if (checkStatus == 0)
            asyncService.wCScheckSetCustomerLisByRedis(orderService.getCsTjOrderList(tjNumber, checkStatus, compId, beginTimes, endTimes));
        if (checkStatus == 1)
            asyncService.yCScheckSetCustomerLisByRedis(orderService.getCsTjOrderList(tjNumber, checkStatus, compId, beginTimes, endTimes));
        //根据姓名查询
        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) {
                    orderList = orderService.getCsTjOrderListByCusId(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.getCreateTime());
                            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()));
                            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)) {
            orderList = orderService.getCsTjOrderList(tjNumber, checkStatus, compId, beginTimes, endTimes);
            return getResult(page, pageSize, orderList, customerList, map);
        }
        List<TjCustomer> customers = null;
        if (checkStatus == 0) {
            customers = redisCache.getCacheMapValue("cScheck", "ws");
        }
        if (checkStatus == 1) {
            customers = redisCache.getCacheMapValue("cScheck", "ys");
        }
        if (customers != null && customers.size() > 0) {
            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 {
            orderList = orderService.getCsTjOrderList(tjNumber, checkStatus, compId, beginTimes, endTimes);
            return getResult(page, pageSize, orderList, customerList, map);
        }
//        DateTime beginTimes = null;
//        DateTime endTimes = null;
//        if (null != beginTime && null != endTime) {
//            beginTimes = DateUtil.beginOfDay(DateUtil.parse(beginTime));
//            endTimes = DateUtil.endOfDay(DateUtil.parse(endTime));
//        }
//        //初始化体检订单表
//        List<TjOrder> orderList = null;
//        List<TjCustomer> customerList = new ArrayList<>();
//        Map<String, Object> map = new HashMap<>();
//
//        if (checkStatus == 0)
//            asyncService.wCScheckSetCustomerLisByRedis(orderService.getCsTjOrderList(tjNumber, checkStatus, compId, beginTimes, endTimes));
//        if (checkStatus == 1)
//            asyncService.yCScheckSetCustomerLisByRedis(orderService.getCsTjOrderList(tjNumber, checkStatus, compId, beginTimes, endTimes));
//
//        //根据姓名查询
//        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) {
//                    orderList = orderService.getCsTjOrderListByCusId(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.getCreateTime());
//                            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()));
//                            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)) {
//            orderList = orderService.getCsTjOrderList(tjNumber, checkStatus, compId, beginTimes, endTimes);
//            return getResult(page, pageSize, orderList, customerList, map);
//        }
//
//        List<TjCustomer> customers = null;
//        if (checkStatus == 0) {
//            customers = redisCache.getCacheMapValue("cScheck", "ws");
//        }
//        if (checkStatus == 1) {
//            customers = redisCache.getCacheMapValue("cScheck", "ys");
//        }
//        if (customers != null && customers.size() > 0) {
//            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 {
//            orderList = orderService.getCsTjOrderList(tjNumber, checkStatus, compId, beginTimes, endTimes);
//            return getResult(page, pageSize, orderList, customerList, map);
//        }
        String value = String.valueOf(compId);
        if (tjNumber == null) tjNumber = "";
        if (compId == null) value = "";
        if (name == null) name = "";
        if (beginTime == null) beginTime = "";
        if (endTime == null) endTime = "";
        return AjaxResult.success(orderService.getCsCunChuGuoChengCustomerList(tjNumber, page, pageSize, checkStatus, value, beginTime, endTime, name));
    }
@@ -210,27 +215,37 @@
    @GetMapping("/cSWebGetProByTjNumAndOrderId")
    @ApiOperation(value = "(初审页面)点击体检人员展示体检项目接口")
    public AjaxResult cSWebGetProByTjNumAndOrderId(@ApiParam(value = "体检号") @RequestParam String tjNumber) {
        List<TjOrderRemark> orderRemarkList = orderRemarkService.getTjOrderRemarkListByTjNum(tjNumber);
        List<CsProVo> list = new ArrayList<>();
        if (null != orderRemarkList && orderRemarkList.size() > 0) {
            for (TjOrderRemark remark : orderRemarkList) {
                CsProVo vo = new CsProVo();
                vo.setDeptName(deptService.getById(remark.getDeptId()).getDeptName());
                vo.setProName(projectService.getById(remark.getProId()).getProName());
                vo.setType(remark.getType());
                if (null != remark.getDoctorName()) {
                    vo.setDoctorName(userService.getById(remark.getDoctorName()).getNickName());
                    vo.setBcdoctorName(userService.getById(remark.getDoctorName()).getNickName());
                }
                vo.setSffs("统收");
                vo.setIsPay("已收费");
                vo.setQdcreateTime(remark.getCreateTime());
                vo.setBcupdateTime(remark.getUpdateTime());
                vo.setZhupdateTime(remark.getUpdateTime());
                list.add(vo);
            }
//        List<TjOrderRemark> orderRemarkList = orderRemarkService.getTjOrderRemarkListByTjNum(tjNumber);
//        List<CsProVo> list = new ArrayList<>();
//        if (null != orderRemarkList && orderRemarkList.size() > 0) {
//            for (TjOrderRemark remark : orderRemarkList) {
//                CsProVo vo = new CsProVo();
//                vo.setDeptName(deptService.getById(remark.getDeptId()).getDeptName());
//                vo.setProName(projectService.getById(remark.getProId()).getProName());
//                vo.setType(remark.getType());
//                if (null != remark.getDoctorName()) {
//                    vo.setDoctorName(userService.getById(remark.getDoctorName()).getNickName());
//                    vo.setBcdoctorName(userService.getById(remark.getDoctorName()).getNickName());
//                }
//                vo.setSffs("统收");
//                vo.setIsPay("已收费");
//                vo.setQdcreateTime(remark.getCreateTime());
//                vo.setBcupdateTime(remark.getUpdateTime());
//                vo.setZhupdateTime(remark.getUpdateTime());
//                list.add(vo);
//            }
//            List<CsProVo> list1 = orderRemarkService.cSWebGetProByTjNumAndOrderId(tjNumber);
//            Collections.sort(list, new Comparator<CsProVo>() {
//                @Override
//                public int compare(CsProVo o1, CsProVo o2) {
//                    return o1.getType() - o2.getType();
//                }
//            });
//        }
            Collections.sort(list, new Comparator<CsProVo>() {
        List<CsProVo> list = orderRemarkService.cSWebGetProByTjNumAndOrderId(tjNumber);
        if (null != list && list.size() > 0) {
            list.sort(new Comparator<CsProVo>() {
                @Override
                public int compare(CsProVo o1, CsProVo o2) {
                    return o1.getType() - o2.getType();
@@ -255,13 +270,11 @@
        if (null != tjNumber) {
            Long userId = Long.valueOf(SecurityUtils.getLoginUser().getUserId());
            SysUser sysUser = userService.getById(userId);
            LambdaQueryWrapper<TjOrder> wq1 = new LambdaQueryWrapper<>();
            wq1.eq(TjOrder::getTjNumber, tjNumber);
            TjOrder tjOrder = orderService.getOne(wq1);
            TjOrder tjOrder = orderService.getOrderByTjNum(tjNumber);
            if (null != tjOrder) {
                tjOrder.setConfirmTime(new DateTime());
                tjOrder.setConfirmDoctor(sysUser.getNickName());
                tjOrder.setConfirmStatus(remark);
                tjOrder.setConfirmStatus(String.valueOf(status));
                if (status == 0) {
                    tjOrder.setStatus(TjConstants.TJ_CHECK);
                    asyncService.updateCheckType(tjNumber);
@@ -344,95 +357,102 @@
                              @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 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 = "";
        if (compId == null) value = "";
        if (name == null) name = "";
        if (beginTime == null) beginTime = "";
        if (endTime == null) endTime = "";
        return AjaxResult.success(orderService.getCunChuGuoChengCustomerList(tjNumber, page, pageSize, checkStatus, value, beginTime, endTime, name));
    }
    /**
@@ -472,6 +492,7 @@
                        if (customerService.updateById(customer)) {
                            LambdaQueryWrapper<TbTransition> wqq = new LambdaQueryWrapper<>();
                            wqq.eq(TbTransition::getCusId, customer.getCusIdcard());
                            wqq.eq(TbTransition::getCardId,customer.getCardId());
                            transitionService.remove(wqq);
                            asyncService.updateCheckType(tjNumber);
                            return AjaxResult.success("操作成功");
@@ -521,6 +542,10 @@
                Map<String, Object> parent = new HashMap<>();
                parent.put("checkAdvice", one.getCheckAdvice());
                TjProject project = projectService.selectTjProjectByProId(remark.getProId());
                //判断该项目是否需要打印报告
                if ("N".equals(project.getNeedReport())){
                    continue;
                }
                if (null != project) {
                    parent.put("parent", project.getProName());
                    parent.put("parentId", project.getProId().toString());
@@ -541,7 +566,7 @@
                            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()));
                            TjStandard tjStandard1 = tjStandardService.getListBySexAndType(customer.getCusSex(),ageType,String.valueOf(tjOrderDetail.getProId()));
                            tjOrderDetail.setStandard(tjStandard1);
                        }
                    }
@@ -568,7 +593,6 @@
                } else {
                    return AjaxResult.success("该客户没有体检项目数据");
                }
//                }
            }
            return AjaxResult.success(list);
        }