From fca6e337094ebe09090ce465701450ccb818d10d Mon Sep 17 00:00:00 2001 From: zjh <1084500556@qq.com> Date: 星期六, 11 一月 2025 18:24:21 +0800 Subject: [PATCH] zjh20250111 --- ltkj-admin/src/main/java/com/ltkj/web/controller/system/TjOrderController.java | 160 +++++++++++++++++++++++++++++----------------------- 1 files changed, 89 insertions(+), 71 deletions(-) diff --git a/ltkj-admin/src/main/java/com/ltkj/web/controller/system/TjOrderController.java b/ltkj-admin/src/main/java/com/ltkj/web/controller/system/TjOrderController.java index fbc2e45..4322d6c 100644 --- a/ltkj-admin/src/main/java/com/ltkj/web/controller/system/TjOrderController.java +++ b/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()) { @@ -3780,6 +3788,7 @@ log.info("鐖堕」鐩甶d涓�: "+dto.getParentProId()); log.info("鎶樻墸涓�: "+new BigDecimal(dto.getDiscount())); if(null !=list && !list.isEmpty()){ + BigDecimal dxzj = transitionService.getTbTransitionPriceAndOrdPrice(dto.getCusIdCard(),dto.getParentProId()); for (TbTransition transition : list) { BigDecimal ordPrice = transition.getOrdPrice(); BigDecimal multiply = ordPrice.multiply((new BigDecimal(dto.getDiscount()).divide(BigDecimal.valueOf(10)))); @@ -3788,6 +3797,15 @@ transition.setDiscount(new BigDecimal(dto.getDiscount())); transitionService.updateById(transition); } + if(null !=dto.getYhj() && dto.getYhj().compareTo(BigDecimal.ZERO)>=0){ + List<TbTransition> transitionList = list.stream().filter(a -> + transitionService.getTbTransitionPriceAndOrdPrice(dto.getCusIdCard(),dto.getParentProId()).subtract(dto.getYhj()).compareTo(BigDecimal.ZERO) >= 0).collect(Collectors.toList()); + if(!transitionList.isEmpty()){ + TbTransition tbTransition = transitionList.get(0); + tbTransition.setNowPrice(dxzj); + transitionService.updateById(tbTransition); + } + } } } } -- Gitblit v1.8.0