zjh
2025-01-08 9f087e0cdec5679b2a2c3b16ad0115196f32d15b
ltkj-admin/src/main/java/com/ltkj/web/controller/system/TjFlowingWaterController.java
@@ -242,6 +242,11 @@
        if (null != tjFlowingWater.getTjProIds() && tjFlowingWater.getTjProIds().length > 0) {
            tjFlowingWater.setWaterId(PinyinUtil.getFirstLetter(customer.getCusName(), "").toUpperCase() +SecurityUtils.getUsername() + DateUtil.format(new Date(), "yyMMddHHmmssSSS"));
            tjFlowingWater.setIsAddition("Y");
            if(tjFlowingWater.getPayStasus().toString().equals("0")){
                tjFlowingWater.setPayStasus(0L);
            }else {
                tjFlowingWater.setPayStasus(1L);
            }
            if (tjFlowingWaterService.save(tjFlowingWater)) {
                Date dates = new Date();
@@ -253,77 +258,77 @@
                    return AjaxResult.error();
                }
                String s = configService.selectConfigByKey("is_request_common_his_api");
//                if (null != s && s.equals("Y") && order.getTjType().equals("2")) {
                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",customer.getPationId());
                    map.put("cardId",customer.getHisJzkh());
                    map.put("tjNum",tjFlowingWater.getTjSerialNumber());
                    map.put("kaiDanKs","7805");
                    // 收费标志 1待售费 2待退费
                    map.put("shouTuiStatus","1");
                if(tjFlowingWater.getPayStasus().equals(1L)){
                    detailService.updateTjOrderDetailsFlowingWaterIdByJxbz(order.getOrderId().toString(), jxbz, tjFlowingWater.getTjSerialNumber().toString());
                    remarkService.updateTjOrderRemarkSfbzByJxbz(order.getOrderId().toString(), jxbz, tjFlowingWater.getTjSerialNumber().toString());
                }else {
                    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",customer.getPationId());
                        map.put("cardId",customer.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,order.getTjNumber());
                    wrapper.eq(TbTransition::getCusId,customer.getCusIdcard());
                    wrapper.eq(TbTransition::getCardId,customer.getCardId());
                    wrapper.eq(TbTransition::getJxbz,jxbz);
                    wrapper.isNotNull(TbTransition::getOrdPrice);
                    wrapper.gt(TbTransition::getOrdPrice,0);
                        JSONArray array = JSONUtil.createArray();
                        LambdaQueryWrapper<TbTransition> wrapper = new LambdaQueryWrapper<>();
                        wrapper.eq(TbTransition::getTjNum,order.getTjNumber());
                        wrapper.eq(TbTransition::getCusId,customer.getCusIdcard());
                        wrapper.eq(TbTransition::getCardId,customer.getCardId());
                        wrapper.eq(TbTransition::getJxbz,jxbz);
                        wrapper.isNotNull(TbTransition::getOrdPrice);
                        wrapper.gt(TbTransition::getOrdPrice,0);
                    List<TbTransition> list = transitionService.list(wrapper);
                    for (TbTransition transition : list) {
                        LambdaQueryWrapper<TjProject> wrapper1 = new LambdaQueryWrapper<>();
                        wrapper1.eq(TjProject::getProId,transition.getProId());
                        TjProject project = projectService.getOne(wrapper1);
                        List<TbTransition> list = transitionService.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);
                            LambdaQueryWrapper<SysDept> wrapper2 = new LambdaQueryWrapper<>();
                            wrapper2.eq(SysDept::getDeptId,project.getDeptId());
                            SysDept dept = sysDeptService.getOne(wrapper2);
                        JSONObject obj = JSONUtil.createObj();
                        BigDecimal danjia = transition.getOrdPrice();
                        Integer sl = project.getSl();
                        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());
                            JSONObject obj = JSONUtil.createObj();
                            BigDecimal danjia = transition.getOrdPrice();
                            Integer sl = project.getSl();
                            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.size() > 0) {
                            List<TjFlowingWaterHis> his = mxList.toList(TjFlowingWaterHis.class);
                            tjFlowingWaterHisService.saveBatch(his);
                            array.add(obj);
                        }
                        tjFlowingWaterService.updateById(tjFlowingWater);
                    }else {
                        return AjaxResult.error();
                        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.size() > 0) {
                                List<TjFlowingWaterHis> his = mxList.toList(TjFlowingWaterHis.class);
                                tjFlowingWaterHisService.saveBatch(his);
                            }
                            tjFlowingWaterService.updateById(tjFlowingWater);
                        }else {
                            return AjaxResult.error();
                        }
                    }
                }
//                if(!b){
//                    TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
//                }
                //extracted(tjFlowingWater, order, customer);
                Map<String, Object> map = new HashMap<>();
                map.put("waterId", tjFlowingWater.getWaterId());
                map.put("mobanId", reportService.getMoBanIds());