From 2a9583fd376451ca77a0400af7f3a02d1b80e7f5 Mon Sep 17 00:00:00 2001 From: zhaowenxuan <chacca165@163.com> Date: 星期二, 24 六月 2025 18:04:34 +0800 Subject: [PATCH] 2025-06-24 --- ltkj-admin/src/main/java/com/ltkj/web/controller/system/TjFlowingWaterController.java | 112 +++++++++++++++++++++++++++++++++++++++++++++++++------ 1 files changed, 99 insertions(+), 13 deletions(-) diff --git a/ltkj-admin/src/main/java/com/ltkj/web/controller/system/TjFlowingWaterController.java b/ltkj-admin/src/main/java/com/ltkj/web/controller/system/TjFlowingWaterController.java index 0d5da1a..ae59806 100644 --- a/ltkj-admin/src/main/java/com/ltkj/web/controller/system/TjFlowingWaterController.java +++ b/ltkj-admin/src/main/java/com/ltkj/web/controller/system/TjFlowingWaterController.java @@ -1,6 +1,7 @@ package com.ltkj.web.controller.system; import java.math.BigDecimal; +import java.math.RoundingMode; import java.util.*; import java.util.stream.Collectors; import javax.annotation.Resource; @@ -23,6 +24,7 @@ import com.ltkj.common.utils.SecurityUtils; import com.ltkj.framework.config.MatchUtils; import com.ltkj.hosp.domain.*; +import com.ltkj.hosp.mapper.TjSamplingMapper; import com.ltkj.hosp.service.*; import com.ltkj.hosp.vodomain.TjCollectFeesVo; import com.ltkj.hosp.vodomain.TjRefundProInfoVo; @@ -35,6 +37,7 @@ import io.swagger.annotations.ApiOperation; import io.swagger.annotations.ApiParam; import jodd.util.StringUtil; +import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.security.access.prepost.PreAuthorize; import org.springframework.transaction.annotation.Transactional; @@ -53,6 +56,7 @@ * @author ltkj * @date 2022-11-25 */ +@Slf4j @RestController @RequestMapping("/hosp/water") @Api(tags = "浣撴娴佹按鎺ュ彛") @@ -99,6 +103,10 @@ private TjOrderController tjOrderController; @Autowired private ITbTransitionService tbTransitionService; + @Autowired + private TjSamplingMapper tjSamplingMapper; + @Autowired + private TjProBlService blService; /** * 鏌ヨ璇ヤ綋妫�鍙峰搴旂殑璁㈠崟娴佹按鍒楄〃 @@ -235,8 +243,8 @@ // tjFlowingWater.setPayStasus(1L); TjOrder order = orderService.getById(tjFlowingWater.getOrderId()); - if (order.getFinishTime() != null) { - return AjaxResult.error("璇ヤ汉鍛樺凡绛剧,涓嶅彲琛ュ綍椤圭洰!"); + if (order.getPrintLastTime() != null) { + return AjaxResult.error("璇ヤ汉鍛樻姤鍛婂凡鎵撳嵃,涓嶅彲琛ュ綍椤圭洰!"); } TjCustomer customer = customerService.getById(order.getUserId()); @@ -285,6 +293,38 @@ wrapper.gt(TbTransition::getNowPrice, 0); List<TbTransition> list = transitionService.list(wrapper); + + List<TbTransition> transitions = transitionService.getBlTbTransitionListByCusId(customer.getCusIdcard(), order.getCardId(), jxbz); + + + + if(null==transitions || transitions.isEmpty()){ + remarkService.deleteTjOrderDetailByjxbz(jxbz); + detailService.deleteTjOrderDetailByjxbz(jxbz); + tjFlowingWaterService.deleteTjOrderDetailByjxbz(jxbz); + transitionService.deleteTjOrderDetailByjxbz(jxbz); + blService.remove(new LambdaQueryWrapper<TjProBl>().eq(TjProBl::getTjh,order.getTjNumber()).eq(TjProBl::getBldh, jxbz)); + List<String> ids=new ArrayList<>(); + ids.add(jxbz); + tjSamplingMapper.deleteByTjNumAndCusIdAndJxbz(order.getTjNumber(), order.getUserId(),ids); + return AjaxResult.error("琛ュ綍澶辫触,鎵�閫夐」鐩彲鑳藉凡瀛樺湪 涓嶅彲琛ュ綍!"); + } + + BigDecimal zongjia = new BigDecimal("0.0"); + // his鐩存帴鍗曞紑浣撴璐瑰崟椤圭洰鎬讳环缂栫爜 + String tjfhisxmbm = configService.selectConfigByKey("tjfhisxmbm"); + // 鏄惁寮�鍚痟is鐩存帴鍗曞紑浣撴璐瑰崟椤圭洰 N浣跨敤鏄庣粏寮�鍗� 鍏朵粬閮戒负鍗曢」鐩紑鎬讳环 + String lycdzjhmxj = configService.selectConfigByKey("lycdzjhmxj"); + // 鏄惁浣跨敤his浠锋牸浼犻�掕鍒� Y寮�鍚� + String sfsyhisjgrule = configService.selectConfigByKey("sfsyhisjgrule"); + // his浠锋牸浼犻�掕鍒欎繚鐣欏緱浣嶆暟 榛樿2浣� + String sfsyhisjgrulebaoliuweishu = configService.selectConfigByKey("sfsyhisjgrulebaoliuweishu"); + // his浠锋牸浼犻�掕鍒� 1鍥涜垗浜斿叆 2鐩存帴鑸嶅幓 + String sfsyhisjgrulesconfig = configService.selectConfigByKey("sfsyhisjgrulesconfig"); + // 浼犻�掗」鐩槸鍚︿娇鐢╤is绉戝 + String isUseHisKs = configService.selectConfigByKey("isCreateMenZhenFyUseHisKs"); + String createMenZhenFyZJUseHisKs = configService.selectConfigByKey("createMenZhenFyZJUseHisKs"); + for (TbTransition transition : list) { LambdaQueryWrapper<TjProject> wrapper1 = new LambdaQueryWrapper<>(); wrapper1.eq(TjProject::getProId, transition.getProId()); @@ -298,21 +338,67 @@ BigDecimal danjia = transition.getNowPrice(); Integer sl = project.getSl(); BigDecimal allPrice = danjia.multiply(new BigDecimal(sl)); + + if (StrUtil.isNotBlank(sfsyhisjgrule) && sfsyhisjgrule.equalsIgnoreCase("Y")){ + int baoliuweishu = 2; + if (StrUtil.isNotBlank(sfsyhisjgrulebaoliuweishu)){ + try { + baoliuweishu = Integer.parseInt(sfsyhisjgrulebaoliuweishu); + } catch (NumberFormatException e) { + log.error("his浠锋牸浼犻�掕鍒欎繚鐣欎綅鏁拌浆鎹㈠紓甯� 閰嶇疆鍊�->{}\n{}{}",sfsyhisjgrulebaoliuweishu,e,e.getMessage()); + return AjaxResult.error(); + } + } + if (StrUtil.isNotBlank(sfsyhisjgrulesconfig) && !sfsyhisjgrulesconfig.equalsIgnoreCase("1")){ + // 鍏朵粬鑷畾涔夌殑瑙勫垯璁$畻鏂规硶 + }else { + // 鍥涜垗浜斿叆 + danjia = danjia.setScale(baoliuweishu, RoundingMode.HALF_UP); + allPrice = danjia.multiply(new BigDecimal(sl)).setScale(baoliuweishu, RoundingMode.HALF_UP); + } + } + obj.putOpt("danJia", danjia); obj.putOpt("jieSuanJe", allPrice); obj.putOpt("shuliang", sl); - obj.putOpt("zhiXingKs", dept.getDeptId()); - obj.putOpt("zhiXingKsMc", dept.getDeptName()); + if (isUseHisKs.equalsIgnoreCase("Y")) { + obj.putOpt("zhiXingKs", dept.getHisksid()); + obj.putOpt("zhiXingKsMc", dept.getHisksmc()); + }else { + 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); + zongjia = zongjia.add(allPrice); } - map.put("feiYongInfoList", array); + + if(StringUtil.isNotBlank(lycdzjhmxj) && lycdzjhmxj.equalsIgnoreCase("N")){ + map.put("feiYongInfoList", array); + }else { + zongjia = tjFlowingWater.getPaidIn(); + JSONArray zjarray = JSONUtil.createArray(); + JSONObject obj = JSONUtil.createObj(); + int sl = 1; + obj.putOpt("danJia", zongjia); + obj.putOpt("jieSuanJe", zongjia); + obj.putOpt("shuliang", sl); + if (isUseHisKs.equalsIgnoreCase("Y")) { + if (StrUtil.isBlank(createMenZhenFyZJUseHisKs)) return AjaxResult.error(); + obj.putOpt("zhiXingKs", createMenZhenFyZJUseHisKs); + }else { + obj.putOpt("zhiXingKs", "100"); + } + obj.putOpt("zhiXingKsMc","浣撴涓績"); + obj.putOpt("shouFeiXmId", tjfhisxmbm); + obj.putOpt("shouFeiXmMc", "浣撴璐�"); + zjarray.add(obj); + map.put("feiYongInfoList", zjarray); + } + + log.info("琛ュ綍璋冪敤His鎺ュ彛鍓� 鏀惰垂鎬讳环:{}", zongjia.toString()); String post = HttpClientUtils.sendPost(apiUrl + "/api/his/" + hospbm + "/creatCostInfo", map); JSONObject object = JSONUtil.parseObj(post); @@ -320,7 +406,7 @@ JSONObject data = object.getJSONObject("data"); tjFlowingWater.setHisWaterId(data.getStr("feiYongId")); JSONArray mxList = data.getJSONArray("mxList"); - if (mxList != null && mxList.size() > 0) { + if (mxList != null && !mxList.isEmpty()) { List<TjFlowingWaterHis> his = mxList.toList(TjFlowingWaterHis.class); tjFlowingWaterHisService.saveBatch(his); } @@ -656,7 +742,7 @@ .or() .eq(TjCustomer::getCusPhone, tjPhone); List<TjCustomer> customerList = customerService.list(wq0); - if (null != customerList && customerList.size() > 0) { + if (null != customerList && !customerList.isEmpty()) { List<TjRefundVo> tjRefundVoList = new ArrayList<>(); for (TjCustomer customer : customerList) { LambdaQueryWrapper<TjOrder> wq1 = new LambdaQueryWrapper<>(); @@ -665,7 +751,7 @@ wq1.orderByDesc(TjOrder::getCreateTime); List<TjOrder> tjOrders = orderService.list(wq1); TjOrder order = null; - if (null != tjOrders && tjOrders.size() > 0) { + if (null != tjOrders && !tjOrders.isEmpty()) { order = tjOrders.get(0); } if (null == order) { @@ -701,7 +787,7 @@ wq1.likeLeft(TjOrder::getTjNumber, tjNum); wq1.eq(TjOrder::getCheckStatus, 0); List<TjOrder> orderList = orderService.list(wq1); - if (null != orderList && orderList.size() > 0) { + if (null != orderList && !orderList.isEmpty()) { List<TjRefundVo> tjRefundVoList = new ArrayList<>(); for (TjOrder order : orderList) { LambdaQueryWrapper<TjFlowingWater> wrapper = new LambdaQueryWrapper<>(); -- Gitblit v1.8.0