zjh
2025-01-11 df55bbefb4b39dbfd259daf4a37c8b25e8c6e8ce
ltkj-admin/src/main/java/com/ltkj/web/controller/system/TjOrderController.java
@@ -1017,8 +1017,8 @@
                return AjaxResult.error("对不起您的预约已超时请重新预约");
            }
            if (null != tjReservation.getTeamNo()) tjOrder.setTeamNo(tjReservation.getTeamNo());
//            if (null != tjReservation.getCompanyId()) tjOrder.setFirmId(tjReservation.getCompanyId());
//            if (null != tjReservation.getCompany()) tjOrder.setFirmName(tjReservation.getCompany());
            if (null != tjReservation.getCompanyId()) tjOrder.setFirmId(tjReservation.getCompanyId());
            if (null != tjReservation.getCompany()) tjOrder.setFirmName(tjReservation.getCompany());
            if (null != tjReservation.getDepartment()) tjOrder.setFirmDeptName(tjReservation.getDepartment());
            if (null != tjReservation.getJobNo()) tjOrder.setFirmWorkId(tjReservation.getJobNo());
            if (null != tjReservation.getPacId()) tjOrder.setPacId(tjReservation.getPacId());
@@ -1352,75 +1352,10 @@
                return AjaxResult.success(tjNumber);
            }else {
                newSaveextracted(tjOrder, tjCustomer, discount, sysUser, tjReservation, tjFlowingWater);
                AjaxResult error = isRequestCommonHisApi(tjOrder, tjCustomer, tjFlowingWater);
                if (error != null) return error;
//                List<TjOrderDetail> detailList = tjOrderDetailService.getCaiYangDengJi(tjOrder.getOrderId());
//                addCaiYangDengJi(detailList, !detailList.isEmpty(), tjOrder, sysUser, null);
            }
            String s = configService.selectConfigByKey("is_request_common_his_api");
            if (null != s && s.equals("Y")) {
                String apiUrl = configService.selectConfigByKey("common_api_url");
                String hospbm = configService.selectConfigByKey("common_api_service_hospbm");
                HashMap<String, Object> map = new HashMap<>();
                map.put("pationId", tjCustomer.getPationId());
                map.put("cardId", tjCustomer.getHisJzkh());
                map.put("tjNum", tjFlowingWater.getTjSerialNumber());
                map.put("kaiDanKs", "7805");
                // 收费标志 1待售费 2待退费
                map.put("shouTuiStatus", "1");
                JSONArray array = JSONUtil.createArray();
                LambdaQueryWrapper<TbTransition> wrapper = new LambdaQueryWrapper<>();
                wrapper.eq(TbTransition::getTjNum, tjOrder.getTjNumber());
                wrapper.eq(TbTransition::getCusId, tjCustomer.getCusIdcard());
                wrapper.eq(TbTransition::getCardId, tjCustomer.getCardId());
                wrapper.isNotNull(TbTransition::getOrdPrice);
                wrapper.gt(TbTransition::getOrdPrice, 0);
                List<TbTransition> list = tbTransitionService.list(wrapper);
                for (TbTransition transition : list) {
                    LambdaQueryWrapper<TjProject> wrapper1 = new LambdaQueryWrapper<>();
                    wrapper1.eq(TjProject::getProId, transition.getProId());
                    TjProject project = projectService.getOne(wrapper1);
                    LambdaQueryWrapper<SysDept> wrapper2 = new LambdaQueryWrapper<>();
                    wrapper2.eq(SysDept::getDeptId, project.getDeptId());
                    SysDept dept = sysDeptService.getOne(wrapper2);
                    JSONObject obj = JSONUtil.createObj();
                    Integer sl = project.getSl();
                    BigDecimal danjia = transition.getOrdPrice();
                    BigDecimal allPrice = danjia.multiply(new BigDecimal(sl));
                    obj.putOpt("danJia", danjia);
                    obj.putOpt("jieSuanJe", allPrice);
                    obj.putOpt("shuliang", sl);
                    obj.putOpt("zhiXingKs", dept.getDeptId());
                    obj.putOpt("zhiXingKsMc", dept.getDeptName());
                    obj.putOpt("shouFeiXmId", project.getHisXmbm());
                    obj.putOpt("shouFeiXmMc", project.getHisXmmc());
//                        obj.putOpt("zhiXingKs","7805");
//                        obj.putOpt("zhiXingKsMc","体检科");
//                        obj.putOpt("shouFeiXmId","4735346");
//                        obj.putOpt("shouFeiXmMc","体检费");
                    array.add(obj);
                }
                map.put("feiYongInfoList", array);
                String post = HttpClientUtils.sendPost(apiUrl + "/api/his/" + hospbm + "/creatCostInfo", map);
                JSONObject object = JSONUtil.parseObj(post);
                if (object.getInt("code") == 200) {
                    JSONObject data = object.getJSONObject("data");
                    tjFlowingWater.setHisWaterId(data.getStr("feiYongId"));
                    JSONArray mxList = data.getJSONArray("mxList");
                    if (mxList != null && !mxList.isEmpty()) {
                        List<TjFlowingWaterHis> his = mxList.toList(TjFlowingWaterHis.class);
                        tjFlowingWaterHisService.saveBatch(his);
                    }
                    tjFlowingWaterService.updateById(tjFlowingWater);
                } else {
                    TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
                    return AjaxResult.error();
                }
            }
            return AjaxResult.success(tjNumber);
@@ -1429,6 +1364,76 @@
        }
        TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
        return AjaxResult.error();
    }
    private AjaxResult isRequestCommonHisApi(TjOrder tjOrder, TjCustomer tjCustomer, TjFlowingWater tjFlowingWater) {
        String s = configService.selectConfigByKey("is_request_common_his_api");
        if (null != s && s.equals("Y")) {
            String apiUrl = configService.selectConfigByKey("common_api_url");
            String hospbm = configService.selectConfigByKey("common_api_service_hospbm");
            HashMap<String, Object> map = new HashMap<>();
            map.put("pationId", tjCustomer.getPationId());
            map.put("cardId", tjCustomer.getHisJzkh());
            map.put("tjNum", tjFlowingWater.getTjSerialNumber());
            map.put("kaiDanKs", "7805");
            // 收费标志 1待售费 2待退费
            map.put("shouTuiStatus", "1");
            JSONArray array = JSONUtil.createArray();
            LambdaQueryWrapper<TbTransition> wrapper = new LambdaQueryWrapper<>();
            wrapper.eq(TbTransition::getTjNum, tjOrder.getTjNumber());
            wrapper.eq(TbTransition::getCusId, tjCustomer.getCusIdcard());
            wrapper.eq(TbTransition::getCardId, tjCustomer.getCardId());
            wrapper.isNotNull(TbTransition::getOrdPrice);
            wrapper.gt(TbTransition::getOrdPrice, 0);
            List<TbTransition> list = tbTransitionService.list(wrapper);
            for (TbTransition transition : list) {
                LambdaQueryWrapper<TjProject> wrapper1 = new LambdaQueryWrapper<>();
                wrapper1.eq(TjProject::getProId, transition.getProId());
                TjProject project = projectService.getOne(wrapper1);
                LambdaQueryWrapper<SysDept> wrapper2 = new LambdaQueryWrapper<>();
                wrapper2.eq(SysDept::getDeptId, project.getDeptId());
                SysDept dept = sysDeptService.getOne(wrapper2);
                JSONObject obj = JSONUtil.createObj();
                Integer sl = project.getSl();
                BigDecimal danjia = transition.getOrdPrice();
                BigDecimal allPrice = danjia.multiply(new BigDecimal(sl));
                obj.putOpt("danJia", danjia);
                obj.putOpt("jieSuanJe", allPrice);
                obj.putOpt("shuliang", sl);
                obj.putOpt("zhiXingKs", dept.getDeptId());
                obj.putOpt("zhiXingKsMc", dept.getDeptName());
                obj.putOpt("shouFeiXmId", project.getHisXmbm());
                obj.putOpt("shouFeiXmMc", project.getHisXmmc());
//                        obj.putOpt("zhiXingKs","7805");
//                        obj.putOpt("zhiXingKsMc","体检科");
//                        obj.putOpt("shouFeiXmId","4735346");
//                        obj.putOpt("shouFeiXmMc","体检费");
                array.add(obj);
            }
            map.put("feiYongInfoList", array);
            String post = HttpClientUtils.sendPost(apiUrl + "/api/his/" + hospbm + "/creatCostInfo", map);
            JSONObject object = JSONUtil.parseObj(post);
            if (object.getInt("code") == 200) {
                JSONObject data = object.getJSONObject("data");
                tjFlowingWater.setHisWaterId(data.getStr("feiYongId"));
                JSONArray mxList = data.getJSONArray("mxList");
                if (mxList != null && !mxList.isEmpty()) {
                    List<TjFlowingWaterHis> his = mxList.toList(TjFlowingWaterHis.class);
                    tjFlowingWaterHisService.saveBatch(his);
                }
                tjFlowingWaterService.updateById(tjFlowingWater);
            } else {
                TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
                return AjaxResult.error();
            }
        }
        return null;
    }
    public void addCaiYangDengJi(List<TjOrderDetail> detailList, boolean detailList1, TjOrder order, SysUser sysUser, String jxbz) {
@@ -3039,9 +3044,11 @@
//            }
            if (null != order.getFinishTime()) return AjaxResult.error("该人员已签离,不可撤销!!!");
            Boolean useLisAndPacsRegister = lisApiMethod.isUseLisAndPacsRegister(order);
            String s = configService.selectConfigByKey("is_request_common_his_api");
//            if (null != s && s.equals("Y") && "2".equals(order.getTjType())) {
            if (null != s && s.equals("Y")) {
            if (null != s && s.equals("Y") && !useLisAndPacsRegister) {
                String apiUrl = configService.selectConfigByKey("common_api_url");
                String hospbm = configService.selectConfigByKey("common_api_service_hospbm");
@@ -3390,8 +3397,9 @@
                }
            }
            String s = configService.selectConfigByKey("is_request_common_his_api");
            Boolean useLisAndPacsRegister = lisApiMethod.isUseLisAndPacsRegister(order);
//            if (null != s && s.equals("Y") && "2".equals(order.getTjType())) {
            if (null != s && s.equals("Y")) {
            if (null != s && s.equals("Y") && !useLisAndPacsRegister) {
                ArrayList<TjFlowingWater> weizhifu = new ArrayList<>();
                ArrayList<TjFlowingWater> yizhifu = new ArrayList<>();
                for (String bldh : dto.getBldhs()) {