zjh
2024-10-23 dbc362c19ad66530d5924e624ef6f2304da5c426
ltkj-admin/src/main/java/com/ltkj/web/controller/system/TjOrderController.java
@@ -217,6 +217,8 @@
    private ITjSamplingService samplingService;
    @Autowired
    private TjSamplingMapper tjSamplingMapper;
    @Autowired
    private ITjGroupingProService groupingProService;
    //将方法返回值解析成json格式
    public JSONObject getJSONObject(String builder) {
@@ -1079,7 +1081,8 @@
                        log.info("该登记人的his就诊号是: " + tjOrder.getCardId());
                        //团体
                        if ("1".equals(tjOrder.getTjType())) {
                            asyncService.ttextracted(tjOrder, tjCustomer, sysUser, tjReservation, tjFlowingWater);
//                            asyncService.ttextracted(tjOrder, tjCustomer, sysUser, tjReservation, tjFlowingWater);
                            ttextracted(tjOrder, tjCustomer, sysUser, tjReservation, tjFlowingWater);
                        }
                        //个人
                        if ("2".equals(tjOrder.getTjType())) {
@@ -1110,6 +1113,7 @@
                    //团体
                    if ("1".equals(tjOrder.getTjType())) {
//                        asyncService.ttextracted(tjOrder, tjCustomer, sysUser, tjReservation, tjFlowingWater);
                        asyncService.ttextracted(tjOrder, tjCustomer, sysUser, tjReservation, tjFlowingWater);
                    }
                    //个人
@@ -2286,6 +2290,7 @@
        return AjaxResult.success().put("data", map);
    }
    public void newSaveextracted(TjOrder tjOrder, TjCustomer tjCustomer, BigDecimal discount, SysUser sysUser, TjReservation tjReservation, TjFlowingWater tjFlowingWater) {
        tjAskMedicalHistoryService.updateTjAskMedicalHistoryByCusId(tjOrder.getTjNumber(), sysUser.getNickName(), String.valueOf(sysUser.getUserId()), String.valueOf(tjCustomer.getCusId()));
        if (null != tjOrder.getTjCategory() && tjOrder.getTjCategory().equals("13")) {
@@ -2324,6 +2329,111 @@
    }
    public void ttextracted(TjOrder tjOrder, TjCustomer tjCustomer, SysUser sysUser, TjReservation tjReservation, TjFlowingWater tjFlowingWater) {
        tjAskMedicalHistoryService.updateTjAskMedicalHistoryByCusId(tjOrder.getTjNumber(), sysUser.getNickName(), String.valueOf(sysUser.getUserId()), String.valueOf(tjCustomer.getCusId()));
        boolean b = tjOrderDetailService.saveTjOrderDetailsByCusId(tjCustomer.getCusIdcard(), String.valueOf(tjOrder.getOrderId()), sysUser.getNickName(),
                String.valueOf(sysUser.getUserId()),tjOrder.getCardId());
        if (!b) {
            List<TjGroupingPro> proList = groupingProService.list(new LambdaQueryWrapper<TjGroupingPro>().eq(TjGroupingPro::getGroupingId, tjOrder.getGroupId()));
            if (null != proList && !proList.isEmpty()) {
                for (TjGroupingPro groupingPro : proList) {
                    TjOrderDetail detail = new TjOrderDetail();
                    TjProject tjProject = projectService.selectTjProjectByProId(Long.valueOf(groupingPro.getProId()));
                    detail.setIsSampling(String.valueOf(tjProject.getIsSampling()));
                    detail.setOrderId(tjOrder.getOrderId());
                    detail.setProId(Long.valueOf(groupingPro.getProId()));
                    detail.setTjStatus(0L);
                    detail.setCreateBy(sysUser.getNickName());
                    detail.setCreateTime(new Date());
                    detail.setUpdateBy(sysUser.getNickName());
                    detail.setUpdateTime(new Date());
                    detail.setCreateId(String.valueOf(sysUser.getUserId()));
                    detail.setUpdateId(String.valueOf(sysUser.getUserId()));
                    tjOrderDetailService.save(detail);
                }
                List<String> list = proList.stream().map(TjGroupingPro::getProId).collect(Collectors.toList());
                List<TjProject> projectList = projectService.list(new LambdaQueryWrapper<TjProject>().in(TjProject::getProParentId, list));
                for (TjProject project : projectList) {
                    TjOrderDetail detail = new TjOrderDetail();
                    detail.setOrderId(tjOrder.getOrderId());
                    detail.setProId(project.getProId());
                    detail.setTjStatus(0L);
                    detail.setCreateBy(sysUser.getNickName());
                    detail.setCreateTime(new Date());
                    detail.setUpdateBy(sysUser.getNickName());
                    detail.setUpdateTime(new Date());
                    detail.setCreateId(String.valueOf(sysUser.getUserId()));
                    detail.setUpdateId(String.valueOf(sysUser.getUserId()));
                    //获取该项目的默认值赋值给结果
                    if (null != project.getProDefault()) {
                        detail.setProResult(project.getProDefault());
                    } else {
                        detail.setProResult(null);
                    }
                    detail.setIsSampling(String.valueOf(project.getIsSampling()));
                    tjOrderDetailService.save(detail);
                }
            }
        }
        //添加remark表数据
        remarkService.saveTjOrderRemarkByOrderId(tjOrder.getTjNumber(), sysUser.getNickName(), String.valueOf(sysUser.getUserId()), String.valueOf(tjOrder.getOrderId()));
        //判断是否交钱
        if ("1".equals(tjOrder.getTjType())) {
            if (null != tjReservation && tjReservation.getPayType() == 1) {
                tjOrderDetailService.updateTjOrderDetailsByOrderId(String.valueOf(tjOrder.getOrderId()),
                        sysUser.getNickName(), String.valueOf(sysUser.getUserId()), String.valueOf(tjFlowingWater.getTjSerialNumber()));
            }
        }
        if (tjFlowingWater.getPayStasus() == 1) {
            tjOrderDetailService.updateTjOrderDetailsByOrderId(String.valueOf(tjOrder.getOrderId()),
                    sysUser.getNickName(), String.valueOf(sysUser.getUserId()), String.valueOf(tjFlowingWater.getTjSerialNumber()));
        }
        if (tjFlowingWater.getDiscount() == null) {
            transitionService.updateTbTransitionPriceByCusId(tjCustomer.getCusIdcard(), new BigDecimal(10), tjOrder.getTjNumber());
        } else {
            transitionService.updateTbTransitionPriceByCusId(tjCustomer.getCusIdcard(), BigDecimal.valueOf(Long.parseLong(tjFlowingWater.getDiscount())), tjOrder.getTjNumber());
        }
        tjOrderDetailService.saveTjPureToneTesByCusId(tjCustomer.getCusIdcard(), tjOrder.getTjNumber(), sysUser.getNickName(), String.valueOf(sysUser.getUserId()),tjOrder.getCardId());
//        List<TjOrderDetail> list = tjOrderDetailService.getTjOrderDetailsByOrderId(String.valueOf(tjOrder.getOrderId()));
//        if (list != null) {
//            for (TjOrderDetail tjOrderDetail : list) {
//                TjProject tjProject = projectService.getById(tjOrderDetail.getProId());
//                if(tjProject==null){
//                    continue;
//                }
//                tjOrderDetail.setProject(tjProject);
//                if (tjProject.getProParentId() == 0) {
//                    TjOrderRemark tjOrderRemark = new TjOrderRemark();
//                    tjOrderRemark.setProId(tjProject.getProId());
//                    tjOrderRemark.setProName(tjProject.getProName());
//                    tjOrderRemark.setDeptId(tjProject.getDeptId());
//                    tjOrderRemark.setTjNumber(tjOrder.getTjNumber());
//                    tjOrderRemark.setCreateBy(sysUser.getNickName());
//                    tjOrderRemark.setCreateTime(new Date());
//                    tjOrderRemark.setUpdateBy(sysUser.getNickName());
//                    tjOrderRemark.setUpdateTime(new Date());
//                    tjOrderRemark.setCreateId(String.valueOf(sysUser.getUserId()));
//                    tjOrderRemark.setUpdateId(String.valueOf(sysUser.getUserId()));
//                    orderRemarkService.save(tjOrderRemark);
//                }
//                if ("1".equals(tjOrder.getTjType())) {
//                    if (null != tjReservation && tjReservation.getPayType() == 1) {
//                        tjOrderDetail.setFlowingWaterId(String.valueOf(tjFlowingWater.getTjSerialNumber()));
//                    }
//                }
//                if(tjFlowingWater.getPayStasus()==1){
//                    tjOrderDetail.setFlowingWaterId(String.valueOf(tjFlowingWater.getTjSerialNumber()));
//                }
//                tjOrderDetailService.updateById(tjOrderDetail);
//            }
//        }
    }
    @PostMapping("/heXiaoByIds/{orderIds}")
    @ApiOperation(value = "核收报告——————总检审核通过后可以核销,核收后才能打印")
    @Transactional