From 79f9fbd9f999e26af3f0bca534d825eb687e092c Mon Sep 17 00:00:00 2001 From: zjh <1084500556@qq.com> Date: 星期三, 25 十二月 2024 08:47:24 +0800 Subject: [PATCH] 20241225 --- ltkj-admin/src/main/java/com/ltkj/web/controller/system/TjFlowingWaterController.java | 132 +++++++++++++++++++++++++++++++++++++++---- 1 files changed, 118 insertions(+), 14 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 6b179a0..3065dac 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 @@ -8,7 +8,12 @@ import cn.hutool.core.date.DateUtil; import cn.hutool.extra.pinyin.PinyinUtil; +import cn.hutool.json.JSONArray; +import cn.hutool.json.JSONObject; +import cn.hutool.json.JSONUtil; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.ltkj.common.annotation.RepeatSubmit; +import com.ltkj.common.core.domain.entity.SysDept; import com.ltkj.common.core.domain.entity.SysUser; import com.ltkj.common.utils.SecurityUtils; import com.ltkj.framework.config.MatchUtils; @@ -17,12 +22,17 @@ import com.ltkj.hosp.vodomain.TjCollectFeesVo; import com.ltkj.hosp.vodomain.TjRefundProInfoVo; import com.ltkj.hosp.vodomain.TjRefundVo; +import com.ltkj.system.service.ISysConfigService; +import com.ltkj.system.service.ISysDeptService; import com.ltkj.system.service.ISysUserService; +import com.ltkj.web.wxUtils.HttpClientUtils; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import io.swagger.annotations.ApiParam; +import org.springframework.beans.factory.annotation.Autowired; import org.springframework.security.access.prepost.PreAuthorize; import org.springframework.transaction.annotation.Transactional; +import org.springframework.transaction.interceptor.TransactionAspectSupport; import org.springframework.web.bind.annotation.*; import com.ltkj.common.annotation.Log; import com.ltkj.common.core.controller.BaseController; @@ -71,6 +81,12 @@ private IJimuOnlineReportService reportService; @Resource private ITjPackageProjectService tjPackageProjectService; + @Autowired + private ISysConfigService configService; + @Autowired + private ISysDeptService sysDeptService; + @Autowired + private TjFlowingWaterHisService tjFlowingWaterHisService; /** * 鏌ヨ璇ヤ綋妫�鍙峰搴旂殑璁㈠崟娴佹按鍒楄〃 @@ -91,7 +107,7 @@ LambdaQueryWrapper<TjChargingStandard> wq3 = new LambdaQueryWrapper<>(); wq3.eq(TjChargingStandard::getTjNum, TjNumber); List<TjChargingStandard> list = chargingStandardService.list(wq3); - if (null != list && list.size() > 0) { + if (null != list && !list.isEmpty()) { for (TjChargingStandard standard : list) { TjProject project = projectService.getById(standard.getProId()); if (null != project && null != project.getProCheckType()) { @@ -197,21 +213,104 @@ @PutMapping @ApiOperation(value = "浣撴鐐瑰嚮鏀惰垂鎸夐挳鎺ュ彛") @Transactional + @RepeatSubmit public AjaxResult edit(@RequestBody TjFlowingWater tjFlowingWater) { Long userId = Long.valueOf(SecurityUtils.getLoginUser().getUserId()); SysUser sysUser = userService.getById(userId); TjFlowingWater flowingWater = tjFlowingWaterService.getById(tjFlowingWater.getTjSerialNumber()); - tjFlowingWater.setTollCollectorId(String.valueOf(SecurityUtils.getLoginUser().getUserId())); - tjFlowingWater.setPayStasus(1L); +// tjFlowingWater.setTollCollectorId(String.valueOf(SecurityUtils.getLoginUser().getUserId())); +// tjFlowingWater.setPayStasus(1L); TjOrder order = orderService.getById(tjFlowingWater.getOrderId()); + + if(order.getFinishTime() !=null){ + return AjaxResult.error("璇ヤ汉鍛樺凡绛剧,涓嶅彲琛ュ綍椤圭洰!"); + } + TjCustomer customer = customerService.getById(order.getUserId()); if (null != tjFlowingWater.getTjProIds() && tjFlowingWater.getTjProIds().length > 0) { - tjFlowingWater.setWaterId(PinyinUtil.getFirstLetter(customer.getCusName(), "").toUpperCase() + DateUtil.format(new Date(), "yyMMddHHmmssSSS")); + tjFlowingWater.setWaterId(PinyinUtil.getFirstLetter(customer.getCusName(), "").toUpperCase() +SecurityUtils.getUsername() + DateUtil.format(new Date(), "yyMMddHHmmssSSS")); tjFlowingWater.setIsAddition("Y"); if (tjFlowingWaterService.save(tjFlowingWater)) { + + Date dates = new Date(); + String jxbz = DateUtil.format(dates, "yyyyMMddHHmmss")+order.getOrderId(); //寮傛鍗曢」鏀惰垂鏄庣粏 - asyncService.iundividualCharges(tjFlowingWater, order, customer, sysUser); + Boolean b = asyncService.iundividualCharges(tjFlowingWater, order, customer, sysUser,jxbz); + if (!b){ + TransactionAspectSupport.currentTransactionStatus().setRollbackOnly(); + return AjaxResult.error(); + } + + String s = configService.selectConfigByKey("is_request_common_his_api"); + if (null != s && s.equals("Y") && order.getTjType().equals("2")) { + 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); + + 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); + + 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); + } + 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()); @@ -542,7 +641,8 @@ } else { tjProjectList = detailService.selectTjOrderDetailListByFlowingWaterIdIsNotNull(OrderId); } - String pacId = transitionService.selectPacIdByTbTransitionTjNumAndProId(order.getTjNumber()); + String pacId = transitionService.selectPacIdByTbTransitionTjNumAndProId(order.getTjNumber(),order.getCardId()); + String s = tjFlowingWaterService.getDiscount(OrderId); if (null != tjProjectList && tjProjectList.size() > 0) { for (TjProject project : tjProjectList) { if (project.getProParentId() == 0) { @@ -576,7 +676,6 @@ project.setProOrdPrice(new BigDecimal("0.00").setScale(2)); } }*/ - String s = tjFlowingWaterService.getDiscount(OrderId); if (null != pacId) { TjPackageProject pp = tjPackageProjectService.getOne(new LambdaQueryWrapper<TjPackageProject>().eq(TjPackageProject::getPacId, pacId) .eq(TjPackageProject::getProId, String.valueOf(project.getProId()))); @@ -593,15 +692,20 @@ } } } - TjPackageProject ppp = tjPackageProjectService.getOne(new LambdaQueryWrapper<TjPackageProject>().eq(TjPackageProject::getPacId, pacId) - .eq(TjPackageProject::getProId, "1735504273274236929")); + List<TjFlowingWater> list = tjFlowingWaterService.list(new LambdaQueryWrapper<TjFlowingWater>() .eq(TjFlowingWater::getOrderId, order) .eq(TjFlowingWater::getPayStasus, 2)); - if (null != ppp && tjProjectList.size() > 0 && null != list && list.size() > 0) { - TjProject project = projectService.selectTjProjectByProId(1735504273274236929L); - project.setProOrdPrice(project.getProPrice()); - tjProjectList.add(project); + if (null != list && list.size() > 0) { + List<TjProject> projectList = projectService.getTjProListByPacIdAndDeptId(pacId); + if(null !=projectList && projectList.size()>0){ + for (TjProject project : projectList) { + project.setProOrdPrice(tjPackageProjectService.getPacProPriceByPacIdAndPro(project.getProId(),pacId) + .multiply(new BigDecimal(s)).setScale(2)); + tjProjectList.add(project); + } + } + } } return AjaxResult.success(tjProjectList); @@ -629,7 +733,7 @@ wq.ne(TjOrderDetail::getTjStatus, 3); wq.isNotNull(TjOrderDetail::getFlowingWaterId); List<TjOrderDetail> detailList = detailService.list(wq); - String pacId = transitionService.selectPacIdByTbTransitionTjNumAndProId(tjOrder.getTjNumber()); + String pacId = transitionService.selectPacIdByTbTransitionTjNumAndProId(tjOrder.getTjNumber(),tjOrder.getCardId()); if (null != detailList && detailList.size() > 0) { List<TjRefundProInfoVo> tjRefundProInfoVoList = new ArrayList<>(); for (TjOrderDetail detail : detailList) { -- Gitblit v1.8.0