zjh
2024-12-19 e14e4217b3f53a5cad511b4331cd7c0a40a40db2
ltkj-admin/src/main/java/com/ltkj/web/controller/system/TjOrderController.java
@@ -411,6 +411,7 @@
    @ApiOperation(value = "查询体检记录列表")
    public AjaxResult getOrderList(@ApiParam(value = "页码数(默认1)") @RequestParam(defaultValue = "1") Integer pageNum,
                                   @ApiParam(value = "显示条数(默认10)") @RequestParam(defaultValue = "10") Integer pageSize,
                                   @ApiParam(value = "状态") @RequestParam(required = false) Integer zt,
                                   @ApiParam(value = "体检号)") @RequestParam(required = false) String tjNum,
                                   @ApiParam(value = "姓名)") @RequestParam(required = false) String name,
                                   @ApiParam(value = "项目名)") @RequestParam(required = false) String xmmc,
@@ -420,147 +421,13 @@
                                   @ApiParam(value = "报告结束时间") @RequestParam(required = false) Date bgendTime,
                                   @ApiParam(value = "单位") @RequestParam(required = false) String dw) {
        Map<String, Object> map = new HashMap<>();
        List<Long> cusIds =null;
        List<Long> cusIds = null;
        if (null != name) {
//            List<TjCustomer> customerList;
            LambdaQueryWrapper<TjCustomer> wqq = new LambdaQueryWrapper<>();
            wqq.like(TjCustomer::getCusName, name);
            cusIds = tjCustomerService.list(wqq).stream().map(TjCustomer::getCusId).collect(Collectors.toList());
//            if (StrUtil.isNotBlank(dw)){
//                wqq.like(TjCustomer::getCompName,dw);
//                customerList = tjCustomerService.list(wqq);
//            }else {
//                customerList = tjCustomerService.list(wqq);
//            }
//            if (null != customerList && !customerList.isEmpty()) {
//                List<TjOrder> list = new ArrayList<>();
//                for (TjCustomer customer : customerList) {
//                    LambdaQueryWrapper<TjOrder> wq = new LambdaQueryWrapper<>();
//                    if (null != djbeginTime && null != djendTime) {
//                        wq.between(TjOrder::getCreateTime, DateUtil.beginOfDay(djbeginTime), DateUtil.endOfDay(djendTime));
//                    }
//                    wq.eq(TjOrder::getUserId, customer.getCusId());
//                    list.addAll(tjOrderService.list(wq));
//                }
//                List<TjOrder> collect = null;
//                if (!list.isEmpty()) {
//                    for (TjOrder order : list) {
//                        TjCustomer tjCustomer = tjCustomerService.getById(order.getUserId());
//                        if (null != tjCustomer) {
////                            order.setTjCustomerName(MatchUtils.hideCusName(tjCustomer.getCusName()));
//                            order.setTjCustomerName(tjCustomer.getCusName());
////                            order.setTjCustomerPhone(MatchUtils.hidePhoneNum(tjCustomer.getCusPhone()));
//                            order.setTjCustomerPhone(tjCustomer.getCusPhone());
////                            order.setTjCusIdCard(MatchUtils.hideIdCardNum(tjCustomer.getCusIdcard()));
//                            order.setTjCusIdCard(tjCustomer.getCusIdcard());
//                            order.setTjCustomerSex(tjCustomer.getCusSex());
//                            order.setTjCustomerAge(DateUtil.ageOfNow(tjCustomer.getCusBrithday()));
//                            order.setCareer(tjCustomer.getCareer());
//                            order.setIdType(tjCustomer.getIdType());
//                            order.setAgeUnit(tjCustomer.getAgeUnit());
//                            order.setTjCount(String.valueOf(tjCustomer.getCusNumber()));
//                            if (null != tjCustomer.getCompName()) {
//                                order.setDictCompName(tjCustomer.getCompName());
//                            } else {
//                                String firmId = order.getFirmId();
//                                if (firmId != null && null != iDictCompService.getById(String.valueOf(order.getFirmId()))) {
//                                    order.setDictCompName(iDictCompService.getById(String.valueOf(order.getFirmId())).getCnName());
//                                }
//                            }
//
//                            if (null != order.getPacId()) {
//                                if (null != tjPackageService.getById(order.getPacId())) {
//                                    order.setPacName(tjPackageService.getById(order.getPacId()).getPacName());
//                                }
//                                if (null != dwDeptService.getById(order.getPacId())) {
//                                    order.setPacName(dwDeptService.getById(order.getPacId()).getDwDeptName());
//                                }
//                            }
//                            TjDjdDyjl dycs = djdDyjlService.getDjdDyCsByTjNum(order.getTjNumber());
//                            if (null != dycs) order.setDycs(Math.toIntExact(dycs.getDycs()));
//                        }
//                    }
//                    collect = list.stream().skip((long) (pageNum - 1) * pageSize).limit(pageSize).collect(Collectors.toList());
//                }
//                if (null != collect) {
//                    map.put("total", collect.size());
//                } else {
//                    map.put("total", 0);
//                }
//                map.put("list", collect);
//                return AjaxResult.success(map);
//            }
//            else {
//                if (StrUtil.isNotBlank(dw)){
//                    wqq = new LambdaQueryWrapper<>();
//                    wqq.like(TjCustomer::getCusName, name);
//                    customerList = tjCustomerService.list(wqq);
//                    LambdaQueryWrapper<DictComp> wrapper = new LambdaQueryWrapper<>();
//                    wrapper.like(DictComp::getCnName,dw);
//                    List<String> list = iDictCompService.list(wrapper).stream().map(DictComp::getCnName).collect(Collectors.toList());
//                    if (null != customerList && !customerList.isEmpty()) {
//                        List<TjOrder> list1 = new ArrayList<>();
//                        for (TjCustomer customer : customerList) {
//                            LambdaQueryWrapper<TjOrder> wq = new LambdaQueryWrapper<>();
//                            if (null != djbeginTime && null != djendTime) {
//                                wq.between(TjOrder::getCreateTime, DateUtil.beginOfDay(djbeginTime), DateUtil.endOfDay(djendTime));
//                                wq.in(TjOrder::getFirmId, list);
//                            }
//                            wq.eq(TjOrder::getUserId, customer.getCusId());
//                            list1.addAll(tjOrderService.list(wq));
//                        }
//                        List<TjOrder> collect = null;
//                        if (!list1.isEmpty()) {
//                            for (TjOrder order : list1) {
//                                TjCustomer tjCustomer = tjCustomerService.getById(order.getUserId());
//                                if (null != tjCustomer) {
////                            order.setTjCustomerName(MatchUtils.hideCusName(tjCustomer.getCusName()));
//                                    order.setTjCustomerName(tjCustomer.getCusName());
////                            order.setTjCustomerPhone(MatchUtils.hidePhoneNum(tjCustomer.getCusPhone()));
//                                    order.setTjCustomerPhone(tjCustomer.getCusPhone());
////                            order.setTjCusIdCard(MatchUtils.hideIdCardNum(tjCustomer.getCusIdcard()));
//                                    order.setTjCusIdCard(tjCustomer.getCusIdcard());
//                                    order.setTjCustomerSex(tjCustomer.getCusSex());
//                                    order.setTjCustomerAge(DateUtil.ageOfNow(tjCustomer.getCusBrithday()));
//                                    order.setCareer(tjCustomer.getCareer());
//                                    order.setIdType(tjCustomer.getIdType());
//                                    order.setAgeUnit(tjCustomer.getAgeUnit());
//                                    order.setTjCount(String.valueOf(tjCustomer.getCusNumber()));
//                                    if (null != tjCustomer.getCompName()) {
//                                        order.setDictCompName(tjCustomer.getCompName());
//                                    } else {
//                                        String firmId = order.getFirmId();
//                                        if (firmId != null && null != iDictCompService.getById(String.valueOf(order.getFirmId()))) {
//                                            order.setDictCompName(iDictCompService.getById(String.valueOf(order.getFirmId())).getCnName());
//                                        }
//                                    }
//
//                                    if (null != order.getPacId()) {
//                                        if (null != tjPackageService.getById(order.getPacId())) {
//                                            order.setPacName(tjPackageService.getById(order.getPacId()).getPacName());
//                                        }
//                                        if (null != dwDeptService.getById(order.getPacId())) {
//                                            order.setPacName(dwDeptService.getById(order.getPacId()).getDwDeptName());
//                                        }
//                                    }
//                                    TjDjdDyjl dycs = djdDyjlService.getDjdDyCsByTjNum(order.getTjNumber());
//                                    if (null != dycs) order.setDycs(Math.toIntExact(dycs.getDycs()));
//                                }
//                            }
//                            collect = list1.stream().skip((long) (pageNum - 1) * pageSize).limit(pageSize).collect(Collectors.toList());
//                        }
//                        if (null != collect) {
//                            map.put("total", collect.size());
//                        } else {
//                            map.put("total", 0);
//                        }
//                        map.put("list", collect);
//                        return AjaxResult.success(map);
//                    }
//                }
//            }
        }
        Page<TjOrder> page1 = new Page<>(pageNum, pageSize);
        LambdaQueryWrapper<TjOrder> wq = new LambdaQueryWrapper<>();
        if (null != djbeginTime && null != djendTime) {
@@ -579,19 +446,106 @@
        }
        if (StrUtil.isNotBlank(dw)) {
            wq.like(TjOrder::getFirmName,dw);
            wq.like(TjOrder::getFirmName, dw);
        }
        if(null !=cusIds && !cusIds.isEmpty()){
        if (null != cusIds && !cusIds.isEmpty()) {
            wq.in(TjOrder::getUserId, cusIds);
        }
//        if (StrUtil.isNotBlank(dw)){
//            LambdaQueryWrapper<DictComp> wrapper = new LambdaQueryWrapper<>();
//            wrapper.like(DictComp::getCnName,dw);
//            List<String> list = iDictCompService.list(wrapper).stream().map(DictComp::getDrugManufacturerId).collect(Collectors.toList());
//            wq.in(TjOrder::getFirmId,list);
//        }
        if(null !=zt && (zt==0 || zt==1 || zt==2)){
            List<TjOrder> orders=new ArrayList<>();
            List<TjOrder> tjOrders=null;
            List<TjOrder> orderList = tjOrderService.list(wq);
            if(null !=orderList && !orderList.isEmpty()){
                for (TjOrder order : orderList) {
                    int czwj = remarkService.panduaniscunzaiweijian(order.getTjNumber());
                    int sfwc = remarkService.panduaniswancheng(order.getTjNumber());
                    if (zt==0 && czwj == 0) {
                        //未检0
                        order.setZt("未检");
                        orders.add(order);
                    }
                    if (zt==1 && czwj > 0) {
                        //在检1
                        order.setZt("在检");
                        orders.add(order);
                    }
                    if (zt==2 && sfwc == 0 && order.getCheckStatus()==0 && order.getCheckTime()==null && order.getHeshouStatus()==0 && order.getPrintLastTime()==null) {
                        //已完成2
                        order.setZt("已完成");
                        orders.add(order);
                    }
                }
                if(!orders.isEmpty()){
                    tjOrders=orders.stream().sorted(Comparator.comparing(TjOrder::getCreateTime).reversed())
                            .skip((long) (pageNum - 1) * pageSize).limit(pageSize).collect(Collectors.toList());
                    for (TjOrder order : tjOrders) {
                        TjCustomer tjCustomer = tjCustomerService.getById(order.getUserId());
                        if (null != tjCustomer) {
                            order.setTjCustomerSex(tjCustomer.getCusSex());
                            order.setTjCustomerAge(DateUtil.ageOfNow(tjCustomer.getCusBrithday()));
                            order.setTjCustomerName(tjCustomer.getCusName());
                            order.setTjCustomerPhone(tjCustomer.getCusPhone());
                            order.setTjCusIdCard(tjCustomer.getCusIdcard());
                            order.setCareer(tjCustomer.getCareer());
                            order.setIdType(tjCustomer.getIdType());
                            order.setAgeUnit(tjCustomer.getAgeUnit());
                            order.setTjCount(String.valueOf(tjCustomer.getCusNumber()));
                            if (null != tjCustomer.getCompName()) {
                                order.setDictCompName(tjCustomer.getCompName());
                            } else {
                                String firmId = order.getFirmId();
                                if (firmId != null && null != iDictCompService.getById(String.valueOf(order.getFirmId()))) {
                                    order.setDictCompName(iDictCompService.getById(String.valueOf(order.getFirmId())).getCnName());
                                }
                            }
                            if (null != order.getPacId()) {
                                if (null != tjPackageService.getById(order.getPacId())) {
                                    order.setPacName(tjPackageService.getById(order.getPacId()).getPacName());
                                } else if (null != dwDeptService.getById(order.getPacId())) {
                                    order.setPacName(dwDeptService.getById(order.getPacId()).getDwDeptName());
                                }
                            }
                            TjDjdDyjl dycs = djdDyjlService.getDjdDyCsByTjNum(order.getTjNumber());
                            if (null != dycs) order.setDycs(Math.toIntExact(dycs.getDycs()));
                        }
                    }
                }
            }
            map.put("list", tjOrders);
            map.put("total", orders.size());
            return AjaxResult.success(map);
        }
        if(null !=zt){
            if(zt==3){
                //已审核
                wq.isNotNull(TjOrder::getCheckTime);
                wq.eq(TjOrder::getCheckStatus,1);
                wq.isNull(TjOrder::getHeshouTime);
                wq.isNull(TjOrder::getPrintLastTime);
                wq.eq(TjOrder::getHeshouStatus,0);
            }
            if(zt==4){
                //生成报告
                wq.isNotNull(TjOrder::getReportTime);
                wq.isNull(TjOrder::getHeshouTime);
                wq.isNull(TjOrder::getPrintLastTime);
                wq.eq(TjOrder::getHeshouStatus,0);
            }
            if(zt==5){
                //报告核收
                wq.eq(TjOrder::getHeshouStatus,1);
                wq.isNull(TjOrder::getPrintLastTime);
            }
            if(zt==6){
                //已出报告
                wq.isNotNull(TjOrder::getPrintLastTime);
                wq.eq(TjOrder::getHeshouStatus,1);
                wq.isNotNull(TjOrder::getPrintLastTime);
            }
        }
        wq.orderByDesc(TjOrder::getCreateTime);
        Page<TjOrder> page2 = tjOrderService.page(page1, wq);
@@ -627,37 +581,56 @@
                    TjDjdDyjl dycs = djdDyjlService.getDjdDyCsByTjNum(order.getTjNumber());
                    if (null != dycs) order.setDycs(Math.toIntExact(dycs.getDycs()));
                }
                    int czwj = remarkService.panduaniscunzaiweijian(order.getTjNumber());
                    int sfwc = remarkService.panduaniswancheng(order.getTjNumber());
                    Date checkTime = order.getCheckTime();
                    Date reportTime = order.getReportTime();
                    Integer heshouStatus = order.getHeshouStatus();
                    Date lastTime = order.getPrintLastTime();
                    if (czwj == 0) {
                        //未检
                        order.setZt("未检");
                    } else if (czwj > 0) {
                        //在检
                        order.setZt("在检");
                    } else if (sfwc == 0) {
                        //已完成
                        order.setZt("已完成");
                    } else if (null != checkTime) {
                        //已审核
                int czwj = remarkService.panduaniscunzaiweijian(order.getTjNumber());
                int sfwc = remarkService.panduaniswancheng(order.getTjNumber());
                Date checkTime = order.getCheckTime();
                Date reportTime = order.getReportTime();
                Integer heshouStatus = order.getHeshouStatus();
                Date lastTime = order.getPrintLastTime();
                if(null !=zt){
                    if(zt==3){
                        order.setZt("已审核");
                    } else if (null != reportTime) {
                        //生成报告
                    }
                    if(zt==4){
                        order.setZt("生成报告");
                    } else if (null != heshouStatus) {
                        //报告核收
                    }
                    if(zt==5){
                        order.setZt("报告核收");
                    } else if (null != lastTime) {
                        //已出报告
                    }
                    if(zt==6){
                        order.setZt("已出报告");
                    } else {
                    }
                }else {
                    if (czwj == 0) {
                        //未检0
                        order.setZt("未检");
                    }
                    if (czwj > 0) {
                        //在检1
                        order.setZt("在检");
                    }
                    if (sfwc == 0) {
                        //已完成2
                        order.setZt("已完成");
                    }
                    if (null != checkTime) {
                        //已审核3
                        order.setZt("已审核");
                    }
                    if (null != reportTime) {
                        //生成报告4
                        order.setZt("生成报告");
                    }
                    if (1== heshouStatus) {
                        //报告核收5
                        order.setZt("报告核收");
                    }
                    if (null != lastTime) {
                        //已出报告6
                        order.setZt("已出报告");
                    }
                }
            }
        }
        map.put("list", list);
@@ -670,147 +643,19 @@
    @ApiOperation(value = "体检报告页面——体检记录列表")
    public AjaxResult getOrderListOO(@ApiParam(value = "页码数(默认1)") @RequestParam(defaultValue = "1") Integer pageNum,
                                     @ApiParam(value = "显示条数(默认10)") @RequestParam(defaultValue = "10") Integer pageSize,
                                     @ApiParam(value = "打印未打印状态 0未打印 1已打印") @RequestParam(defaultValue = "0") Integer dyzt,
                                     @ApiParam(value = "打印未打印状态 0未打印 1已打印") @RequestParam(required = false) Integer dyzt,
                                     @ApiParam(value = "体检号)") @RequestParam(required = false) String tjNum,
                                     @ApiParam(value = "姓名)") @RequestParam(required = false) String name,
                                     @ApiParam(value = "单位") @RequestParam(required = false) String dw,
                                     @ApiParam(value = "报告开始时间") @RequestParam(required = false) String djbeginTime,
                                     @ApiParam(value = "报告结束时间") @RequestParam(required = false) String djendTime) {
        Map<String, Object> map = new HashMap<>();
        List<Long> cusIds =null;
                                    /*        Map<String, Object> map = new HashMap<>();
        List<Long> cusIds = null;
        if (StringUtil.isNotBlank(name)) {
            LambdaQueryWrapper<TjCustomer> wqq = new LambdaQueryWrapper<>();
            wqq.like(TjCustomer::getCusName, name);
            cusIds = tjCustomerService.list(wqq).stream().map(TjCustomer::getCusId).collect(Collectors.toList());
//            if (null != customerList && !customerList.isEmpty()) {
//                List<TjOrder> list = new ArrayList<>();
//                for (TjCustomer customer : customerList) {
//                    LambdaQueryWrapper<TjOrder> wq = new LambdaQueryWrapper<>();
//                    wq.eq(TjOrder::getUserId, customer.getCusId());
//                    if (dyzt == 0) {
//                        wq.isNull(TjOrder::getPrintLastTime);
//                        wq.eq(TjOrder::getHeshouStatus, 1);
//                    } else {
//                        wq.isNotNull(TjOrder::getPrintLastTime);
//                    }
//                    list.addAll(tjOrderService.list(wq));
//                }
//                List<TjOrder> collect = null;
//                if (!list.isEmpty()) {
//
//                    for (int i = 0; i < list.size(); i++) {
//                        TjCustomer tjCustomer = tjCustomerService.getById(list.get(i).getUserId());
//                        if (null == tjCustomer) {
//                            list.remove(list.get(i));
//                            continue;
//                        }
//                        list.get(i).setTjCustomerSex(tjCustomer.getCusSex());
//                        list.get(i).setTjCustomerAge(DateUtil.ageOfNow(tjCustomer.getCusBrithday()));
//                        list.get(i).setTjCustomerName(tjCustomer.getCusName());
//                        list.get(i).setTjCustomerPhone(tjCustomer.getCusPhone());
//                        list.get(i).setTjCusIdCard(tjCustomer.getCusIdcard());
//
//                        if (null != tjCustomer.getCompName()) {
//                            list.get(i).setDictCompName(tjCustomer.getCompName());
//                        } else {
//                            String firmId = list.get(i).getFirmId();
//                            if (firmId != null && null != iDictCompService.getById(String.valueOf(list.get(i).getFirmId()))) {
//                                list.get(i).setDictCompName(iDictCompService.getById(String.valueOf(list.get(i).getFirmId())).getCnName());
//                            }
//                        }
//
//                        if (null != list.get(i).getPacId()) {
//                            if (null != tjPackageService.getById(list.get(i).getPacId())) {
//                                list.get(i).setPacName(tjPackageService.getById(list.get(i).getPacId()).getPacName());
//                            }
//                            if (null != dwDeptService.getById(list.get(i).getPacId())) {
//                                list.get(i).setPacName(dwDeptService.getById(list.get(i).getPacId()).getDwDeptName());
//                            }
//                        }
//                    }
//                    collect = list.stream().skip((long) (pageNum - 1) * pageSize).limit(pageSize).collect(Collectors.toList());
//                }
//                if (null != collect) {
//                    map.put("total", collect.size());
//                } else {
//                    map.put("total", 0);
//                }
//                if (collect == null) collect = new ArrayList<>();
//                map.put("list", collect);
//                return AjaxResult.success(map);
//            }
        }
//        if (StringUtil.isNotBlank(dw)) {
//            LambdaQueryWrapper<TjCustomer> wqq = new LambdaQueryWrapper<>();
//            wqq.like(TjCustomer::getCompName, dw);
//            List<TjCustomer> customerList = tjCustomerService.list(wqq);
//            List<TjOrder> list = new ArrayList<>();
//            if (null != customerList && !customerList.isEmpty()) {
//                for (TjCustomer customer : customerList) {
//                    LambdaQueryWrapper<TjOrder> wq = new LambdaQueryWrapper<>();
//                    wq.eq(TjOrder::getUserId, customer.getCusId());
//                    if (dyzt == 0) {
//                        wq.isNull(TjOrder::getPrintLastTime);
//                        wq.eq(TjOrder::getHeshouStatus, 1);
//                    } else {
//                        wq.isNotNull(TjOrder::getPrintLastTime);
//                    }
//                    list.addAll(tjOrderService.list(wq));
//                }
//            }
//            List<String> dwIds = iDictCompService.getdwIdByDwName(dw);
//
//            LambdaQueryWrapper<TjOrder> wq = new LambdaQueryWrapper<>();
//            wq.in(TjOrder::getFirmId, dwIds);
//            list.addAll(tjOrderService.list(wq));
//            List<TjOrder> collect = null;
//            if (!list.isEmpty()) {
//                List<TjOrder> orders = list.stream().distinct().collect(Collectors.toList());
//                for (int i = 0; i < orders.size(); i++) {
//                    TjCustomer tjCustomer = tjCustomerService.getById(list.get(i).getUserId());
//                    if (null == tjCustomer) {
//                        list.remove(list.get(i));
//                        continue;
//                    }
//                    list.get(i).setTjCustomerSex(tjCustomer.getCusSex());
//                    list.get(i).setTjCustomerAge(DateUtil.ageOfNow(tjCustomer.getCusBrithday()));
//                    list.get(i).setTjCustomerName(tjCustomer.getCusName());
//                    list.get(i).setTjCustomerPhone(tjCustomer.getCusPhone());
//                    list.get(i).setTjCusIdCard(tjCustomer.getCusIdcard());
//
//                    if (null != tjCustomer.getCompName()) {
//                        list.get(i).setDictCompName(tjCustomer.getCompName());
//                    } else {
//                        String firmId = list.get(i).getFirmId();
//                        if (firmId != null && null != iDictCompService.getById(String.valueOf(list.get(i).getFirmId()))) {
//                            list.get(i).setDictCompName(iDictCompService.getById(String.valueOf(list.get(i).getFirmId())).getCnName());
//                        }
//                    }
//
//                    if (null != list.get(i).getPacId()) {
//                        if (null != tjPackageService.getById(list.get(i).getPacId())) {
//                            list.get(i).setPacName(tjPackageService.getById(list.get(i).getPacId()).getPacName());
//                        }
//                        if (null != dwDeptService.getById(list.get(i).getPacId())) {
//                            list.get(i).setPacName(dwDeptService.getById(list.get(i).getPacId()).getDwDeptName());
//                        }
//                    }
//                }
//                collect = list.stream().skip((long) (pageNum - 1) * pageSize).limit(pageSize).collect(Collectors.toList());
//            }
//            if (null != collect) {
//                map.put("total", collect.size());
//            } else {
//                map.put("total", 0);
//            }
//            map.put("list", collect);
//            return AjaxResult.success(map);
//
//
//        }
        Page<TjOrder> page1 = new Page<>(pageNum, pageSize);
        LambdaQueryWrapper<TjOrder> wq = new LambdaQueryWrapper<>();
        if (dyzt == 0) {
@@ -826,10 +671,10 @@
        if (null != tjNum) {
            wq.like(TjOrder::getTjNumber, tjNum);
        }
        if (StringUtil.isNotBlank(dw)){
        if (StringUtil.isNotBlank(dw)) {
            wq.like(TjOrder::getFirmName, dw);
        }
        if(null !=cusIds && !cusIds.isEmpty()){
        if (null != cusIds && !cusIds.isEmpty()) {
            wq.in(TjOrder::getUserId, cusIds);
        }
        wq.orderByDesc(TjOrder::getCreateTime);
@@ -878,7 +723,11 @@
            }
        }
        map.put("list", list);
        map.put("total", page2.getTotal());
        map.put("total", page2.getTotal());*/
        if (djbeginTime == null) djbeginTime = "";
        if (djendTime == null) djendTime = "";
        Map<String, Object> map=  tjOrderService.getTjBgdyList(pageNum,pageSize,dyzt,tjNum,name,dw,djbeginTime,djendTime);
        return AjaxResult.success(map);
    }
@@ -2785,16 +2634,18 @@
//        }
    }
    @PostMapping("/heXiaoByIds/{orderIds}")
    @PostMapping("/heXiaoByIds")
    @ApiOperation(value = "核收报告——————总检审核通过后可以核销,核收后才能打印")
    @Transactional
    @RepeatSubmit
    public AjaxResult heXiaoByIds(@PathVariable String[] orderIds) {
    public AjaxResult heXiaoByIds(@RequestBody List<String> orderIds) {
        Date date = new Date();
        if(null !=orderIds && !orderIds.isEmpty()){
        for (String orderId : orderIds) {
            TjOrder byId = tjOrderService.getById(orderId);
            if (null != byId) {
                if (byId.getReportTime() == null) {
                /*if (byId.getReportTime() == null) {
                    LambdaQueryWrapper<TjReportTemplate> tjReportTemplateLambdaQueryWrapper = new LambdaQueryWrapper<>();
                    tjReportTemplateLambdaQueryWrapper.eq(TjReportTemplate::getFlag, 1);
                    tjReportTemplateLambdaQueryWrapper.eq(TjReportTemplate::getOpen, 0);
@@ -2809,25 +2660,10 @@
                        //修改order表中的打印报告时间为当前时间
                        LambdaUpdateWrapper<TjOrder> updateWrapper = new LambdaUpdateWrapper<>();
                        updateWrapper.eq(TjOrder::getTjNumber, byId.getTjNumber());
                        updateWrapper.set(TjOrder::getReportTime, new Date());
                        updateWrapper.set(TjOrder::getPrintLastTime, new Date());
                        updateWrapper.set(TjOrder::getDownloadLastTime, new Date());
                        updateWrapper.set(TjOrder::getStatus, TjConstants.TJ_END);
                        tjOrderService.update(updateWrapper);
                    }
                    String hisRegistrationId = byId.getCardId();
                    Date createTime = byId.getCreateTime();
                    SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
                    String ksrq = dateFormat.format(createTime);
                    String jsrq = dateFormat.format(date);
                    HashMap<String, Object> params = new HashMap<>();
                    params.put("his_registration_id", hisRegistrationId);
                    params.put("ksbm", "");
                    params.put("pationid", "");
                    params.put("ksrq", ksrq);
                    params.put("jsrq", jsrq);
                    params.put("pagecount", 100);
                    params.put("page", 1);
                    LambdaQueryWrapper<TjCustomer> wq1 = new LambdaQueryWrapper<>();
                    wq1.eq(TjCustomer::getCusId, byId.getUserId());
                    TjCustomer tjCustomer = tjCustomerService.getOne(wq1);
@@ -2838,9 +2674,6 @@
                    try {
                        shengchengbgmoban(byId.getTjNumber(), byId, tjCustomer, reportTemplate, zongJianYiShiQianMing);
                        byId.setStatus(TjConstants.TJ_END);
                        byId.setReportTime(date);
                        byId.setPrintLastTime(date);
                        byId.setDownloadLastTime(date);
                    } catch (Exception e) {
                        TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
                        e.printStackTrace();
@@ -2848,8 +2681,7 @@
                        logger.error("生成报告异常");
                        return AjaxResult.error("生成报告异常,核收失败");
                    }
                }
                }*/
                byId.setHeshouStatus(1);
                byId.setHeshouDoctor(UserHoder.getLoginUser().getUserId());
                byId.setHeshouTime(date);
@@ -2859,13 +2691,13 @@
                }
            }
        }
        }
        return AjaxResult.success("核收成功");
    }
    public AjaxResult shengchengbgmoban(String tjNumber, TjOrder tjOrder, TjCustomer tjCustomer, TjReportTemplate reportTemplate, TjReportTemplate zongJianYiShiQianMing) throws Exception {
//        AjaxResult ajaxResult = hisPDFUtil.hisPDF(tjOrder, tjCustomer, reportTemplate);
//        AjaxResult ajaxResult = hisPDFUtil.hisPDFNew(tjOrder, tjCustomer, reportTemplate);
        AjaxResult ajaxResult = hisPDFUtil.hisPDFNew2(tjOrder, tjCustomer, reportTemplate, zongJianYiShiQianMing);
        if (!ajaxResult.get("code").toString().equals("200")) {
            TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
@@ -2881,12 +2713,6 @@
            tjReport.setType("体检报告");
            tjReport.setPrint("pdf");
            tjReportService.save(tjReport);
//            Date date = new Date();
//            tjOrder.setStatus(TjConstants.TJ_END);
//            tjOrder.setReportTime(date);
//            tjOrder.setPrintLastTime(date);
//            tjOrder.setDownloadLastTime(date);
//            tjOrderService.updateById(tjOrder);
        }
        return ajaxResult;
    }
@@ -3381,49 +3207,105 @@
        wq.eq(TjOrderRemark::getTjNumber, tjNUm);
        wq.eq(TjOrderRemark::getProId, proId);
        TjOrderRemark remark = remarkService.getOne(wq);
        remark.setType(1);
        remark.setType(2);
        remarkService.updateById(remark);
        return AjaxResult.success("操作成功!");
    }
    @GetMapping("/zongjanyemianshjianzhou")
    @PostMapping("/zongjanyemianshjianzhou")
    @ApiOperation(value = "总检获取时间轴接口")
    @Transactional
    public AjaxResult zongjanyemianshjianzhou(@RequestParam String tjNUm) {
        TjOrder order = tjOrderService.getOrderByTjNum(tjNUm);
        if (null != order) {
            int czwj = remarkService.panduaniscunzaiweijian(tjNUm);
            int sfwc = remarkService.panduaniswancheng(tjNUm);
            Date checkTime = order.getCheckTime();
            Date reportTime = order.getReportTime();
            Integer heshouStatus = order.getHeshouStatus();
            Date lastTime = order.getPrintLastTime();
            if (czwj == 0) {
                //未检
                return AjaxResult.success(0);
            } else if (czwj > 0) {
                //在检
                return AjaxResult.success(1);
            } else if (sfwc == 0) {
                //已完成
                return AjaxResult.success(2);
            } else if (null != checkTime) {
                //已审核
                return AjaxResult.success(3);
            } else if (null != reportTime) {
                //生成报告
                return AjaxResult.success(4);
            } else if (null != heshouStatus) {
                //报告核收
                return AjaxResult.success(5);
            } else if (null != lastTime) {
                //已出报告
                return AjaxResult.success(6);
            } else {
                return AjaxResult.error();
    public AjaxResult zongjanyemianshjianzhou(@RequestBody List<String> tjNUms) {
        if(null !=tjNUms && !tjNUms.isEmpty()){
            List<Map<String,Object>> list=new ArrayList<>();
            for (String tjNUm : tjNUms) {
                Map<String,Object> map=new HashMap<>();
                TjOrder order = tjOrderService.getOrderByTjNum(tjNUm);
                if (null != order) {
                    int czwj = remarkService.panduaniscunzaiweijian(tjNUm);
                    int sfwc = remarkService.panduaniswancheng(tjNUm);
                    Date checkTime = order.getCheckTime();
                    Date reportTime = order.getReportTime();
                    Integer heshouStatus = order.getHeshouStatus();
                    Date lastTime = order.getPrintLastTime();
                    int a=0;
                    if (czwj == 0) {
                        //未检
                        a=0;
                    }
                    if (czwj > 0) {
                        //在检
                        a=1;
                    }
                    if (sfwc == 0) {
                        //已完成
                        a=2;
                    }
                    if (null != checkTime) {
                        //已审核
                        a=3;
                    }
                    if (null != reportTime) {
                        //生成报告
                        a=4;
                    }
                    if (heshouStatus==1) {
                        //报告核收
                        a=5;
                    }
                    if (null != lastTime) {
                        //已出报告
                        a=6;
                    }
                    map.put("tjNUm",tjNUm);
                    map.put("sjz",a);
                    list.add(map);
            }
        }
            return AjaxResult.success(list);
        }
        return AjaxResult.error();
    }
    @PostMapping("/heshouchexiao")
    @ApiOperation(value = "撤销报告接口")
    @Transactional
    public AjaxResult heshouchexiao(@RequestBody List<String> tjNUms) {
        if(null !=tjNUms && !tjNUms.isEmpty()){
            // 不在使用逻辑删除 逻辑删除导致打印报告生成 查询sql缓慢
            //逻辑删除数据库里的报告
            LambdaQueryWrapper<TjReport> wq1 = new LambdaQueryWrapper<>();
            wq1.select(TjReport::getReId);
            wq1.in(TjReport::getTjNumber, tjNUms);
            wq1.eq(TjReport::getPrint, "pdf");
            List<Long> list = tjReportService.list(wq1).stream().map(TjReport::getReId).collect(Collectors.toList());
            for (String tjNUm : tjNUms) {
                TjOrder order = tjOrderService.getOrderByTjNum(tjNUm);
                if(null !=order){
                    order.setHeshouStatus(0);
                    order.setHeshouTime(null);
                    order.setHeshouDoctor(null);
                    order.setPrintLastTime(null);
                    order.setReportTime(null);
                    order.setStatus(TjConstants.TJ_WAIT);
                    if (!tjOrderService.updateById(order)) {
                        TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
                        return AjaxResult.error("操作失败");
                    }
                }
            }
            int i = tjReportService.deleteTjReportByReIds(list.toArray(new Long[]{}));
            if (i == 0) {
                return AjaxResult.error("撤回失败!");
            }
            return AjaxResult.success("操作成功");
        }
        return AjaxResult.error();
    }