From eac48696e8df9a0a6eace257adcea4ee203d6fe0 Mon Sep 17 00:00:00 2001 From: zjh <1084500556@qq.com> Date: 星期四, 02 一月 2025 16:53:58 +0800 Subject: [PATCH] zjh20250102 --- ltkj-admin/src/main/java/com/ltkj/web/controller/system/TjFlowingWaterController.java | 495 +++++++++++++++++++++++++++++++++++++++++++++--------- 1 files changed, 413 insertions(+), 82 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 f05f8cf..fd8b804 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 @@ -6,10 +6,17 @@ import javax.annotation.Resource; import javax.servlet.http.HttpServletResponse; +import cn.hutool.core.bean.BeanUtil; import cn.hutool.core.date.DateUtil; +import cn.hutool.core.util.StrUtil; 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.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper; 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; @@ -18,10 +25,14 @@ 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; @@ -73,6 +84,14 @@ private IJimuOnlineReportService reportService; @Resource private ITjPackageProjectService tjPackageProjectService; + @Autowired + private ISysConfigService configService; + @Autowired + private ISysDeptService sysDeptService; + @Autowired + private TjFlowingWaterHisService tjFlowingWaterHisService; + @Autowired + private ITjSamplingService tjSamplingService; /** * 鏌ヨ璇ヤ綋妫�鍙峰搴旂殑璁㈠崟娴佹按鍒楄〃 @@ -93,7 +112,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()) { @@ -218,11 +237,81 @@ 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(); //寮傛鍗曢」鏀惰垂鏄庣粏 - Boolean b = 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(); @@ -239,24 +328,26 @@ return AjaxResult.success("璇ヨ鍗曞凡浠樻 鏃犻』鍐嶄粯"); } if (tjFlowingWaterService.updateById(tjFlowingWater)) { - LambdaQueryWrapper<TjOrderDetail> wq2 = new LambdaQueryWrapper<>(); - wq2.eq(TjOrderDetail::getOrderId, tjFlowingWater.getOrderId()); - wq2.isNull(TjOrderDetail::getFlowingWaterId); +// LambdaQueryWrapper<TjOrderDetail> wq2 = new LambdaQueryWrapper<>(); +// wq2.eq(TjOrderDetail::getOrderId, tjFlowingWater.getOrderId()); +// wq2.isNull(TjOrderDetail::getFlowingWaterId); List<TjConsumables> list2 = new ArrayList<>(); - for (TjOrderDetail tjOrderDetail : detailService.list(wq2)) { - tjOrderDetail.setFlowingWaterId(String.valueOf(tjFlowingWater.getTjSerialNumber())); - detailService.updateById(tjOrderDetail); - } +// for (TjOrderDetail tjOrderDetail : detailService.list(wq2)) { +// tjOrderDetail.setFlowingWaterId(String.valueOf(tjFlowingWater.getTjSerialNumber())); +// detailService.updateById(tjOrderDetail); +// } + detailService.updateTjOrderDetailsFlowingWaterIdByJxbzisnull(String.valueOf(order.getOrderId()),String.valueOf(tjFlowingWater.getTjSerialNumber())); + remarkService.updateTjOrderRemarkSfbzByJxbzisnull(order.getOrderId().toString(),tjFlowingWater.getTjSerialNumber().toString()); LambdaQueryWrapper<TjOrderDetail> wq3 = new LambdaQueryWrapper<>(); wq3.eq(TjOrderDetail::getOrderId, tjFlowingWater.getOrderId()); wq3.isNotNull(TjOrderDetail::getFlowingWaterId); List<TjOrderDetail> detailList = detailService.list(wq3); - if (null != detailList && detailList.size() > 0) { + if (null != detailList && !detailList.isEmpty()) { LambdaQueryWrapper<TbTransition> wqq = new LambdaQueryWrapper<>(); wqq.eq(TbTransition::getCusId, customer.getCusIdcard()); wqq.in(TbTransition::getProId, detailList.stream().map(TjOrderDetail::getProId).collect(Collectors.toList())); List<TbTransition> tbTransitionList = transitionService.list(wqq); - if (null != tbTransitionList && tbTransitionList.size() > 0) { + if (null != tbTransitionList && !tbTransitionList.isEmpty()) { // extracted(order, list2, tbTransitionList); //寮傛娣诲姞鏀惰垂鏄庣粏 asyncService.collectFees(order, list2, tbTransitionList, sysUser, tjFlowingWater.getDiscount()); @@ -269,6 +360,135 @@ return AjaxResult.success("璇ョ敤鎴峰凡鏀惰垂涓嶅彲閲嶅鏀惰垂"); } return AjaxResult.error(); + } + + @PutMapping("supper") + @ApiOperation(value = "浣撴鐐瑰嚮寮哄埗鏀惰垂鎸夐挳鎺ュ彛") + @Transactional + @RepeatSubmit + public AjaxResult supperEdit(@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); + 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() +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(); + //寮傛鍗曢」鏀惰垂鏄庣粏 + Boolean b = asyncService.iundividualCharges(tjFlowingWater, order, customer, sysUser,jxbz); + if (!b){ + TransactionAspectSupport.currentTransactionStatus().setRollbackOnly(); + return AjaxResult.error(); + } + Map<String, Object> map = new HashMap<>(); + map.put("waterId", tjFlowingWater.getWaterId()); + map.put("mobanId", reportService.getMoBanIds()); + return AjaxResult.success("鏀惰垂鎴愬姛", map); + } + } + + if (flowingWater.getPayStasus() == 1) { + return AjaxResult.success("璇ヨ鍗曞凡浠樻 鏃犻』鍐嶄粯"); + } + String s = configService.selectConfigByKey("is_request_common_his_api"); + if (null != s && s.equals("Y") && order.getTjType().equals("2") && StrUtil.isNotBlank(tjFlowingWater.getHisWaterId())) { + tjFlowingWater.setPayStasus(1L); + } + if (tjFlowingWaterService.updateById(tjFlowingWater)) { +// LambdaQueryWrapper<TjOrderDetail> wq2 = new LambdaQueryWrapper<>(); +// wq2.eq(TjOrderDetail::getOrderId, tjFlowingWater.getOrderId()); +// wq2.isNull(TjOrderDetail::getFlowingWaterId); + List<TjConsumables> list2 = new ArrayList<>(); +// for (TjOrderDetail tjOrderDetail : detailService.list(wq2)) { +// tjOrderDetail.setFlowingWaterId(String.valueOf(tjFlowingWater.getTjSerialNumber())); +// detailService.updateById(tjOrderDetail); +// } + if (StrUtil.isBlank(flowingWater.getJxbz())){ + detailService.updateTjOrderDetailsFlowingWaterIdByJxbzisnull(String.valueOf(order.getOrderId()),String.valueOf(tjFlowingWater.getTjSerialNumber())); + remarkService.updateTjOrderRemarkSfbzByJxbzisnull(order.getOrderId().toString(),tjFlowingWater.getTjSerialNumber().toString()); + }else { + detailService.updateTjOrderDetailsFlowingWaterIdByJxbz(String.valueOf(order.getOrderId()), flowingWater.getJxbz(), String.valueOf(tjFlowingWater.getTjSerialNumber())); + remarkService.updateTjOrderRemarkSfbzByJxbz(order.getOrderId().toString(), flowingWater.getJxbz(), tjFlowingWater.getTjSerialNumber().toString()); + } + + LambdaQueryWrapper<TjOrderDetail> wq3 = new LambdaQueryWrapper<>(); + wq3.eq(TjOrderDetail::getOrderId, tjFlowingWater.getOrderId()); + wq3.isNotNull(TjOrderDetail::getFlowingWaterId); + List<TjOrderDetail> detailList = detailService.list(wq3); + if (null != detailList && !detailList.isEmpty()) { + LambdaQueryWrapper<TbTransition> wqq = new LambdaQueryWrapper<>(); + wqq.eq(TbTransition::getCusId, customer.getCusIdcard()); + wqq.in(TbTransition::getProId, detailList.stream().map(TjOrderDetail::getProId).collect(Collectors.toList())); + List<TbTransition> tbTransitionList = transitionService.list(wqq); + if (null != tbTransitionList && !tbTransitionList.isEmpty()) { +// extracted(order, list2, tbTransitionList); + //寮傛娣诲姞鏀惰垂鏄庣粏 + asyncService.collectFees(order, list2, tbTransitionList, sysUser, tjFlowingWater.getDiscount()); + Map<String, Object> map = new HashMap<>(); + map.put("waterId", tjFlowingWater.getWaterId()); + map.put("mobanId", reportService.getMoBanIds()); + return AjaxResult.success("鏀惰垂鎴愬姛", map); + } + } + return AjaxResult.success("璇ョ敤鎴峰凡鏀惰垂涓嶅彲閲嶅鏀惰垂"); + } + return AjaxResult.error(); + } + + @PutMapping("refund") + @ApiOperation(value = "浣撴鐐瑰嚮寮哄埗閫�璐规寜閽帴鍙�") + @Transactional + @RepeatSubmit + public AjaxResult refundEdit(@RequestBody String json){ + JSONObject parseObj = JSONUtil.parseObj(json); + String tjSerialNumber = parseObj.getStr("tjSerialNumber"); + TjFlowingWater tjFlowingWater = tjFlowingWaterService.getById(tjSerialNumber); + Long orderId = tjFlowingWater.getOrderId(); + LambdaQueryWrapper<TjOrderRemark> wrapper = new LambdaQueryWrapper<>(); + wrapper.eq(TjOrderRemark::getSfbz,tjSerialNumber); + List<TjOrderRemark> list = remarkService.list(wrapper); + if (list.isEmpty()){ + return AjaxResult.error("璇ヤ汉鍛樻病鏈夊凡鏀惰垂椤圭洰"); + } + String tjNumber = list.get(0).getTjNumber(); + List<Long> proIds = list.stream().map(TjOrderRemark::getProId).collect(Collectors.toList()); + LambdaQueryWrapper<TjSampling> wrapper1 = new LambdaQueryWrapper<>(); + wrapper1.eq(TjSampling::getTjNum,tjNumber); + wrapper1.in(TjSampling::getProId,proIds); + wrapper1.eq(TjSampling::getIsSignFor,"0"); + List<TjSampling> samplings = tjSamplingService.list(wrapper1); + if (!samplings.isEmpty()) + return AjaxResult.error("璇ヤ汉鍛樻鍗曚腑瀛樺湪宸插仛鐨勫寲楠岄」鐩�,涓嶅彲閫�璐�"); + + if (StrUtil.isBlank(tjFlowingWater.getJxbz())){ + + LambdaUpdateWrapper<TjOrderDetail> wrapper2 = new LambdaUpdateWrapper<>(); + wrapper2.set(TjOrderDetail::getFlowingWaterId,null) + .set(TjOrderDetail::getUpdateTime,new Date()) + .eq(TjOrderDetail::getOrderId,orderId) + .isNull(TjOrderDetail::getJxbz); + detailService.update(wrapper2); + + LambdaUpdateWrapper<TjOrderRemark> wrapper3 = new LambdaUpdateWrapper<>(); +// wrapper3 + }else { +// detailService.updateTjOrderDetailsFlowingWaterIdByJxbz(String.valueOf(order.getOrderId()), flowingWater.getJxbz(), String.valueOf(tjFlowingWater.getTjSerialNumber())); +// remarkService.updateTjOrderRemarkSfbzByJxbz(order.getOrderId().toString(), flowingWater.getJxbz(), tjFlowingWater.getTjSerialNumber().toString()); + } + return AjaxResult.success(); } @@ -417,19 +637,19 @@ .or() .like(TjCustomer::getCusPhone, tjPhone); List<TjCustomer> customerList = customerService.list(wq0); - if (null != customerList && customerList.size() > 0) { + if (null != customerList && !customerList.isEmpty()) { for (TjCustomer customer : customerList) { LambdaQueryWrapper<TjOrder> wq1 = new LambdaQueryWrapper<>(); wq1.eq(TjOrder::getUserId, customer.getCusId()); wq1.eq(TjOrder::getCheckStatus, 0); wq1.orderByDesc(TjOrder::getCreateTime); List<TjOrder> tjOrders = orderService.list(wq1); - if (null != tjOrders && tjOrders.size() > 0) { + if (null != tjOrders && !tjOrders.isEmpty()) { for (TjOrder order : tjOrders) { LambdaQueryWrapper<TjOrderDetail> wq2 = new LambdaQueryWrapper<>(); wq2.eq(TjOrderDetail::getOrderId, order.getOrderId()); List<TjOrderDetail> detailList = detailService.list(wq2); - if (null != detailList && detailList.size() > 0) { + if (null != detailList && !detailList.isEmpty()) { TjCollectFeesVo tjRefundVo = new TjCollectFeesVo(); tjRefundVo.setTjCusId(String.valueOf(customer.getCusId())); tjRefundVo.setTjName(customer.getCusName()); @@ -456,39 +676,6 @@ } } } - // TjOrder order = null; -// if (null != tjOrders && tjOrders.size() > 0) { -// order = tjOrders.get(0); -// } -// if (null == order) { -// continue; -// } -// LambdaQueryWrapper<TjOrderDetail> wq2 = new LambdaQueryWrapper<>(); -// wq2.eq(TjOrderDetail::getOrderId, order.getOrderId()); -// List<TjOrderDetail> detailList = detailService.list(wq2); -// if (null != detailList && detailList.size() > 0) { -// TjCollectFeesVo tjRefundVo = new TjCollectFeesVo(); -// tjRefundVo.setTjCusId(String.valueOf(customer.getCusId())); -// tjRefundVo.setTjName(customer.getCusName()); -// tjRefundVo.setTjPhone(customer.getCusPhone()); -// tjRefundVo.setSex(String.valueOf(customer.getCusSex())); -// tjRefundVo.setIdCard(customer.getCusIdcard()); -// if (null != order.getDictCompName()) -// tjRefundVo.setTjComp(compService.getById(order.getFirmId()) != null ? compService.getById(order.getFirmId()).getCnName() : null); -// if (null != order.getTjType()) tjRefundVo.setTjType(order.getTjType()); -// LambdaQueryWrapper<TjFlowingWater> wq = new LambdaQueryWrapper<>(); -// wq.eq(TjFlowingWater::getOrderId, order.getOrderId()); -// wq.eq(TjFlowingWater::getIsAddition, "N"); -// wq.eq(TjFlowingWater::getPayStasus, 0); -// TjFlowingWater one = tjFlowingWaterService.getOne(wq); -//// if (null == one) { -//// return AjaxResult.success("涓嶅彲閲嶅鏀惰垂"); -//// } -// tjRefundVo.setTjFlowingWater(one); -// tjRefundVo.setTjNumber(order.getTjNumber()); -// tjRefundVo.setTjOrderId(String.valueOf(order.getOrderId())); -// tjCollectFeesVoList.add(tjRefundVo); -// } } return AjaxResult.success(tjCollectFeesVoList); } @@ -500,13 +687,122 @@ 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()) { for (TjOrder order : orderList) { LambdaQueryWrapper<TjOrderDetail> wq2 = new LambdaQueryWrapper<>(); wq2.eq(TjOrderDetail::getOrderId, order.getOrderId()); //wq2.isNull(TjOrderDetail::getFlowingWaterId); List<TjOrderDetail> detailList = detailService.list(wq2); - if (null != detailList && detailList.size() > 0) { + if (null != detailList && !detailList.isEmpty()) { + TjCustomer customer = customerService.getById(order.getUserId()); + if (null != customer) { + TjCollectFeesVo tjRefundVo = new TjCollectFeesVo(); + tjRefundVo.setTjCusId(String.valueOf(customer.getCusId())); + tjRefundVo.setTjName(customer.getCusName()); + tjRefundVo.setTjPhone(customer.getCusPhone()); + tjRefundVo.setSex(String.valueOf(customer.getCusSex())); + tjRefundVo.setIdCard(customer.getCusIdcard()); + if (null != order.getFirmId()) { + DictComp byId = compService.getById(order.getFirmId()); + if (null != byId) { + tjRefundVo.setTjComp(byId.getCnName()); + } + } + if (null != order.getTjType()) tjRefundVo.setTjType(order.getTjType()); + TjFlowingWater one = tjFlowingWaterService.getOne(new LambdaQueryWrapper<TjFlowingWater>() + .eq(TjFlowingWater::getOrderId, order.getOrderId()) + .eq(TjFlowingWater::getIsAddition, "N") + .ne(TjFlowingWater::getPayStasus, 2)); + tjRefundVo.setTjFlowingWater(one); + tjRefundVo.setTjNumber(order.getTjNumber()); + tjRefundVo.setTjOrderId(String.valueOf(order.getOrderId())); + tjCollectFeesVoList.add(tjRefundVo); + } + } + } + return AjaxResult.success(tjCollectFeesVoList); + } + return AjaxResult.success("璇ョ敤鎴蜂笉瀛樺湪鎴栧凡浣撴瀹屾垚"); + } + return AjaxResult.error("璇疯緭鍏ヨ鏌ヨ鏉′欢"); + } + + /** + * 浣撴(鏀惰垂)椤甸潰鏌ヨ鎺ュ彛 + */ + @GetMapping("/findTjCollectFeesByNameAndTjNumAndPhoneN") + @ApiOperation(value = "浣撴(鏀惰垂)椤甸潰鏌ヨ鎺ュ彛") + public AjaxResult findTjCollectFeesByNameAndTjNumAndPhoneNew(@RequestParam(required = false) @ApiParam(value = "浣撴鍙�") String tjNum, + @RequestParam(required = false) @ApiParam(value = "浣撴浜哄鍚�") String tjName, + @RequestParam(required = false) @ApiParam(value = "浣撴浜烘墜鏈哄彿") String tjPhone) { + List<TjCollectFeesVo> tjCollectFeesVoList = new ArrayList<>(); + if (null != tjName || null != tjPhone) { + LambdaQueryWrapper<TjCustomer> wq0 = new LambdaQueryWrapper<>(); + wq0.like(TjCustomer::getCusName, tjName) + .or() + .like(TjCustomer::getCusPhone, tjPhone); + List<TjCustomer> customerList = customerService.list(wq0); + if (null != customerList && !customerList.isEmpty()) { + LambdaQueryWrapper<TjOrder> wq1 = new LambdaQueryWrapper<>(); + wq1.in(TjOrder::getUserId,customerList.stream().map(TjCustomer::getCusId).collect(Collectors.toList())); + wq1.eq(TjOrder::getCheckStatus, 0); +// wq1.isNotNull(TjOrder::getReportTime); + wq1.orderByDesc(TjOrder::getCreateTime); + List<TjOrder> tjOrders = orderService.list(wq1); + if (null != tjOrders && !tjOrders.isEmpty()) { + for (TjOrder order : tjOrders) { + TjCustomer customer = customerService.getById(order.getUserId()); + LambdaQueryWrapper<TjOrderDetail> wq2 = new LambdaQueryWrapper<>(); + wq2.eq(TjOrderDetail::getOrderId, order.getOrderId()); + List<TjOrderDetail> detailList = detailService.list(wq2); + if (null != detailList && !detailList.isEmpty()) { + TjCollectFeesVo tjRefundVo = new TjCollectFeesVo(); + tjRefundVo.setTjCusId(String.valueOf(customer.getCusId())); + tjRefundVo.setTjName(customer.getCusName()); + tjRefundVo.setTjPhone(customer.getCusPhone()); + tjRefundVo.setSex(String.valueOf(customer.getCusSex())); + if (null != customer.getCusIdcard()) tjRefundVo.setIdCard(customer.getCusIdcard()); + DictComp dictComp = compService.getById(order.getFirmId()); + if (null != dictComp) { + tjRefundVo.setTjComp(dictComp.getCnName()); + } else { + tjRefundVo.setTjComp("鏃�"); + } + if (null != order.getTjType()) tjRefundVo.setTjType(order.getTjType()); + LambdaQueryWrapper<TjFlowingWater> wq = new LambdaQueryWrapper<>(); + wq.eq(TjFlowingWater::getOrderId, order.getOrderId()); +// wq.eq(TjFlowingWater::getIsAddition, "N"); + wq.ne(TjFlowingWater::getPayStasus, 2); + + List<TjFlowingWater> list = tjFlowingWaterService.list(wq); + for (TjFlowingWater water : list) { + tjRefundVo.setTjFlowingWater(water); + tjRefundVo.setTjNumber(order.getTjNumber()); + tjRefundVo.setTjOrderId(String.valueOf(order.getOrderId())); + TjCollectFeesVo vo = BeanUtil.copyProperties(tjRefundVo, TjCollectFeesVo.class); + tjCollectFeesVoList.add(vo); + } + } + } + } + + return AjaxResult.success(tjCollectFeesVoList); + } + return AjaxResult.error("璇ョ敤鎴蜂笉瀛樺湪"); + } + + if (null != tjNum) { + LambdaQueryWrapper<TjOrder> wq1 = new LambdaQueryWrapper<>(); + wq1.likeLeft(TjOrder::getTjNumber, tjNum); +// wq1.eq(TjOrder::getCheckStatus, 0); + List<TjOrder> orderList = orderService.list(wq1); + if (null != orderList && !orderList.isEmpty()) { + for (TjOrder order : orderList) { + LambdaQueryWrapper<TjOrderDetail> wq2 = new LambdaQueryWrapper<>(); + wq2.eq(TjOrderDetail::getOrderId, order.getOrderId()); + //wq2.isNull(TjOrderDetail::getFlowingWaterId); + List<TjOrderDetail> detailList = detailService.list(wq2); + if (null != detailList && !detailList.isEmpty()) { TjCustomer customer = customerService.getById(order.getUserId()); if (null != customer) { TjCollectFeesVo tjRefundVo = new TjCollectFeesVo(); @@ -559,39 +855,9 @@ } String pacId = transitionService.selectPacIdByTbTransitionTjNumAndProId(order.getTjNumber(),order.getCardId()); String s = tjFlowingWaterService.getDiscount(OrderId); - if (null != tjProjectList && tjProjectList.size() > 0) { + if (null != tjProjectList && !tjProjectList.isEmpty()) { for (TjProject project : tjProjectList) { if (project.getProParentId() == 0) { -/* //LambdaQueryWrapper<TbTransition> wqq1 = new LambdaQueryWrapper<>(); -// wqq1.eq(TbTransition::getCusId, customerService.getById(order.getUserId()).getCusIdcard()); -// wqq1.eq(TbTransition::getParentProId, project.getProId()); -// List<TbTransition> tbTransitionList = transitionService.list(wqq1); -// BigDecimal bigDecimal = new BigDecimal("0.00"); -// BigDecimal bigDecimal1 = new BigDecimal("0.00"); -// for (TbTransition transition : tbTransitionList) { -// bigDecimal = bigDecimal.add(transition.getNowPrice()); -// bigDecimal1=bigDecimal1.add(transition.getOrdPrice()); -// } -// project.setProPrice(bigDecimal.setScale(0,BigDecimal.ROUND_UP)); -// project.setProOrdPrice(bigDecimal1); - BigDecimal decimal = transitionService.getTbTransitionPriceAndOrdPrice(customerService.getById(order.getUserId()).getCusIdcard(), - project.getProId()); - String s = tjFlowingWaterService.getDiscount(OrderId); - if(null !=decimal){ -// project.setProPrice(decimal.setScale(2)); - project.setProPrice(decimal); -// project.setProOrdPrice(decimal.multiply(new BigDecimal(s)).setScale(2)); - project.setProOrdPrice(decimal); - }else { - BigDecimal decimal1 = transitionService.getTbTransitionDxPriceAndOrdPrice(String.valueOf(order.getUserId()),project.getProId()); - if(null !=decimal1){ - project.setProPrice(decimal1.setScale(2)); - project.setProOrdPrice(decimal1.multiply(new BigDecimal(s)).setScale(2)); - }else { - project.setProPrice(new BigDecimal("0.00").setScale(2)); - project.setProOrdPrice(new BigDecimal("0.00").setScale(2)); - } - }*/ if (null != pacId) { TjPackageProject pp = tjPackageProjectService.getOne(new LambdaQueryWrapper<TjPackageProject>().eq(TjPackageProject::getPacId, pacId) .eq(TjPackageProject::getProId, String.valueOf(project.getProId()))); @@ -612,9 +878,74 @@ List<TjFlowingWater> list = tjFlowingWaterService.list(new LambdaQueryWrapper<TjFlowingWater>() .eq(TjFlowingWater::getOrderId, order) .eq(TjFlowingWater::getPayStasus, 2)); - if (null != list && list.size() > 0) { + if (null != list && !list.isEmpty()) { List<TjProject> projectList = projectService.getTjProListByPacIdAndDeptId(pacId); - if(null !=projectList && projectList.size()>0){ + if(null !=projectList && !projectList.isEmpty()){ + for (TjProject project : projectList) { + project.setProOrdPrice(tjPackageProjectService.getPacProPriceByPacIdAndPro(project.getProId(),pacId) + .multiply(new BigDecimal(s)).setScale(2)); + tjProjectList.add(project); + } + } + + } + } + return AjaxResult.success(tjProjectList); + } + } + return AjaxResult.error("鏆傛椂娌℃湁鏁版嵁"); + } + + /** + * 浣撴宸叉敹璐规湭鏀惰垂淇℃伅鏌ヨ鎺ュ彛 + */ + @GetMapping("/findTjChargedButNotChargedByTjNumN") + @ApiOperation(value = "浣撴宸叉敹璐规湭鏀惰垂淇℃伅鏌ヨ鎺ュ彛") + public AjaxResult findTjChargedButNotChargedByTjNumN(@RequestParam @ApiParam(value = "0鏈即璐�1宸茬即璐�") Integer type, + @RequestParam @ApiParam(value = "浣撴鍙�") String OrderId, + @RequestParam String tjSerialNumber) { + if (null != OrderId) { + TjOrder order = orderService.getById(OrderId); + if (null != order) { + List<TjProject> tjProjectList = null; + TjFlowingWater water = tjFlowingWaterService.getById(tjSerialNumber); + if (type == 0) { + if (StrUtil.isBlank(water.getJxbz())) + tjProjectList = detailService.selectTjOrderDetailListByFlowingWaterIdIsNullAndJxbzIsNull(OrderId); + else tjProjectList = detailService.selectTjOrderDetailListByFlowingWaterIdIsNullN(OrderId,water.getJxbz()); + } else { + if (StrUtil.isBlank(water.getJxbz())) + tjProjectList = detailService.selectTjOrderDetailListByFlowingWaterIdIsNotNullAndJxbzIsNull(OrderId); + else tjProjectList = detailService.selectTjOrderDetailListByFlowingWaterIdIsNotNullN(OrderId,water.getJxbz()); + } + String pacId = transitionService.selectPacIdByTbTransitionTjNumAndProId(order.getTjNumber(),order.getCardId()); + String s = tjFlowingWaterService.getDiscount(OrderId); + if (null != tjProjectList && !tjProjectList.isEmpty()) { + for (TjProject project : tjProjectList) { + if (project.getProParentId() == 0) { + if (null != pacId) { + TjPackageProject pp = tjPackageProjectService.getOne(new LambdaQueryWrapper<TjPackageProject>().eq(TjPackageProject::getPacId, pacId) + .eq(TjPackageProject::getProId, String.valueOf(project.getProId()))); + if (null != pp) { + project.setProPrice(pp.getPriceNow()); + project.setProOrdPrice(pp.getPriceNow().multiply(new BigDecimal(s))); + } else { + project.setProPrice(project.getProPrice().setScale(2)); + project.setProOrdPrice(project.getProPrice().multiply(new BigDecimal(s)).setScale(2)); + } + } else { + project.setProPrice(project.getProPrice().setScale(2)); + project.setProOrdPrice(project.getProPrice().multiply(new BigDecimal(s)).setScale(2)); + } + } + } + + List<TjFlowingWater> list = tjFlowingWaterService.list(new LambdaQueryWrapper<TjFlowingWater>() + .eq(TjFlowingWater::getOrderId, order) + .eq(TjFlowingWater::getPayStasus, 2)); + if (null != list && !list.isEmpty()) { + List<TjProject> projectList = projectService.getTjProListByPacIdAndDeptId(pacId); + if(null !=projectList && !projectList.isEmpty()){ for (TjProject project : projectList) { project.setProOrdPrice(tjPackageProjectService.getPacProPriceByPacIdAndPro(project.getProId(),pacId) .multiply(new BigDecimal(s)).setScale(2)); -- Gitblit v1.8.0