From 0892d843cd394f383ff50f480f7f22f2ec3829bc Mon Sep 17 00:00:00 2001 From: zhaowenxuan <chacca165@163.com> Date: 星期五, 27 六月 2025 20:24:45 +0800 Subject: [PATCH] Merge remote-tracking branch 'origin/master' --- ltkj-admin/src/main/java/com/ltkj/web/controller/system/TjFlowingWaterController.java | 838 +++++++++++++++++++++++++++++++++++++++++++++++++---------- 1 files changed, 688 insertions(+), 150 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 3065dac..f4aee0e 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,12 +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.IdUtil; +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.query.QueryWrapper; +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; @@ -29,6 +34,7 @@ import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import io.swagger.annotations.ApiParam; +import jodd.util.StringUtil; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.security.access.prepost.PreAuthorize; import org.springframework.transaction.annotation.Transactional; @@ -87,6 +93,12 @@ private ISysDeptService sysDeptService; @Autowired private TjFlowingWaterHisService tjFlowingWaterHisService; + @Autowired + private ITjSamplingService tjSamplingService; + @Autowired + private TjOrderController tjOrderController; + @Autowired + private ITbTransitionService tbTransitionService; /** * 鏌ヨ璇ヤ綋妫�鍙峰搴旂殑璁㈠崟娴佹按鍒楄〃 @@ -223,98 +235,107 @@ // 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()); if (null != tjFlowingWater.getTjProIds() && tjFlowingWater.getTjProIds().length > 0) { - tjFlowingWater.setWaterId(PinyinUtil.getFirstLetter(customer.getCusName(), "").toUpperCase() +SecurityUtils.getUsername() + DateUtil.format(new Date(), "yyMMddHHmmssSSS")); + 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); + tjFlowingWater.setZfgf(tjFlowingWater.getPayStasus().toString()); + } else { + tjFlowingWater.setPayStasus(1L); + } + tjFlowingWater.setZfgf(tjFlowingWater.getPayStasus().toString()); if (tjFlowingWaterService.save(tjFlowingWater)) { Date dates = new Date(); - String jxbz = DateUtil.format(dates, "yyyyMMddHHmmss")+order.getOrderId(); + String jxbz = DateUtil.format(dates, "yyyyMMddHHmmss") + order.getOrderId(); //寮傛鍗曢」鏀惰垂鏄庣粏 - Boolean b = asyncService.iundividualCharges(tjFlowingWater, order, customer, sysUser,jxbz); - if (!b){ + 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"); + 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::getNowPrice); + wrapper.gt(TbTransition::getNowPrice, 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.getNowPrice(); + 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()); + tjFlowingWaterService.getTjBlCall(order.getTjNumber()); return AjaxResult.success("鏀惰垂鎴愬姛", map); } } @@ -323,24 +344,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()); @@ -353,6 +376,145 @@ 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.getPrintLastTime() != 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); + tjFlowingWater.setCopeWith(null); + tjFlowingWater.setPaidIn(null); +// } + 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()); + + SysUser user = null; + if (flowingWater.getCreateId() != null) + user = userService.getById(flowingWater.getCreateId()); + else user = userService.getById(1L); + TjOrder tjOrder = orderService.getById(flowingWater.getOrderId()); + List<TjOrderDetail> detailList1 = detailService.getCaiYangDengJi(flowingWater.getOrderId()); + tjOrderController.addCaiYangDengJi(detailList1, !detailList1.isEmpty(), tjOrder, user, null); + 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(); } @@ -378,7 +540,7 @@ if (null != tjName || null != tjPhone) { LambdaQueryWrapper<TjCustomer> wq0 = new LambdaQueryWrapper<>(); - wq0.eq(TjCustomer::getCusName, tjName) + wq0.like(TjCustomer::getCusName, tjName) .or() .eq(TjCustomer::getCusPhone, tjPhone); List<TjCustomer> customerList = customerService.list(wq0); @@ -485,6 +647,94 @@ return AjaxResult.error("璇疯緭鍏ヨ鏌ヨ鏉′欢"); } + @GetMapping("/findTjRefundListByNameAndTjNumAndPhone2") + @ApiOperation(value = "浣撴(閫�璐�)椤甸潰鏌ヨ鎺ュ彛") + public AjaxResult findTjRefundListByNameAndTjNumAndPhone2(@RequestParam(required = false) @ApiParam(value = "浣撴鍙�") String tjNum, + @RequestParam(required = false) @ApiParam(value = "浣撴浜哄鍚�") String tjName, + @RequestParam(required = false) @ApiParam(value = "浣撴浜烘墜鏈哄彿") String tjPhone) { + + if (null != tjName || null != tjPhone) { + LambdaQueryWrapper<TjCustomer> wq0 = new LambdaQueryWrapper<>(); + wq0.like(TjCustomer::getCusName, tjName) + .or() + .eq(TjCustomer::getCusPhone, tjPhone); + List<TjCustomer> customerList = customerService.list(wq0); + if (null != customerList && customerList.size() > 0) { + List<TjRefundVo> tjRefundVoList = new ArrayList<>(); + 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); + TjOrder order = null; + if (null != tjOrders && tjOrders.size() > 0) { + order = tjOrders.get(0); + } + if (null == order) { + continue; + } + LambdaQueryWrapper<TjFlowingWater> wrapper = new LambdaQueryWrapper<>(); + wrapper.eq(TjFlowingWater::getOrderId, order.getOrderId()); + wrapper.eq(TjFlowingWater::getPayStasus, 1L); + List<TjFlowingWater> list = tjFlowingWaterService.list(wrapper); + for (TjFlowingWater water : list) { + TjRefundVo tjRefundVo = new TjRefundVo(); + tjRefundVo.setTjName(customer.getCusName()); + tjRefundVo.setTjPhone(customer.getCusPhone()); + tjRefundVo.setTjNumber(order.getTjNumber()); + tjRefundVo.setTjOrderId(String.valueOf(order.getOrderId())); + if (null != order.getDictCompName()) tjRefundVo.setTjComp(order.getDictCompName()); + if (null != order.getTjType()) tjRefundVo.setTjType(order.getTjType()); + tjRefundVo.setRegisterTime(order.getCreateTime()); + tjRefundVo.setDrawerTime(order.getCreateTime()); + tjRefundVo.setReportTime(order.getReportTime()); + tjRefundVo.setTotalAmount(water.getPaidIn()); + tjRefundVo.setTjFlowingWater(water); + tjRefundVoList.add(tjRefundVo); + } + } + return AjaxResult.success(tjRefundVoList); + } + 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.size() > 0) { + List<TjRefundVo> tjRefundVoList = new ArrayList<>(); + for (TjOrder order : orderList) { + LambdaQueryWrapper<TjFlowingWater> wrapper = new LambdaQueryWrapper<>(); + wrapper.eq(TjFlowingWater::getOrderId, order.getOrderId()); + wrapper.eq(TjFlowingWater::getPayStasus, 1L); + List<TjFlowingWater> list = tjFlowingWaterService.list(wrapper); + TjCustomer customer = customerService.getById(order.getUserId()); + for (TjFlowingWater water : list) { + TjRefundVo tjRefundVo = new TjRefundVo(); + tjRefundVo.setTjName(customer.getCusName()); + tjRefundVo.setTjPhone(customer.getCusPhone()); + tjRefundVo.setTjNumber(order.getTjNumber()); + tjRefundVo.setTjOrderId(String.valueOf(order.getOrderId())); + if (null != order.getDictCompName()) tjRefundVo.setTjComp(order.getDictCompName()); + if (null != order.getTjType()) tjRefundVo.setTjType(order.getTjType()); + tjRefundVo.setRegisterTime(order.getCreateTime()); + tjRefundVo.setDrawerTime(order.getCreateTime()); + tjRefundVo.setReportTime(order.getReportTime()); + tjRefundVo.setTotalAmount(water.getPaidIn()); + tjRefundVo.setTjFlowingWater(water); + tjRefundVoList.add(tjRefundVo); + } + } + return AjaxResult.success(tjRefundVoList); + } + return AjaxResult.success("璇ョ敤鎴蜂笉瀛樺湪鎴栧凡浣撴瀹屾垚"); + } + return AjaxResult.error("璇疯緭鍏ヨ鏌ヨ鏉′欢"); + } + /** * 浣撴(鏀惰垂)椤甸潰鏌ヨ鎺ュ彛 @@ -501,19 +751,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()); @@ -540,39 +790,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); } @@ -584,13 +801,13 @@ 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(); @@ -624,6 +841,89 @@ 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())); + List<TjOrder> tjOrders = orderService.list(wq1); + if (null != tjOrders && !tjOrders.isEmpty()) { + for (TjOrder order : tjOrders) { + LambdaQueryWrapper<TjFlowingWater> wq = new LambdaQueryWrapper<>(); + wq.eq(TjFlowingWater::getOrderId, order.getOrderId()); + List<TjFlowingWater> list = tjFlowingWaterService.list(wq); + for (TjFlowingWater water : list) { + TjCustomer customer = customerService.getById(order.getUserId()); + TjCollectFeesVo tjRefundVo = new TjCollectFeesVo(); + tjRefundVo.setTjType(order.getTjType()); + tjRefundVo.setTjCusId(String.valueOf(customer.getCusId())); + tjRefundVo.setTjName(customer.getCusName()); + tjRefundVo.setTjPhone(customer.getCusPhone()); + tjRefundVo.setSex(String.valueOf(customer.getCusSex())); + tjRefundVo.setIdCard(customer.getCusIdcard()); + tjRefundVo.setTjComp(order.getFirmName()); + tjRefundVo.setTjFlowingWater(water); + tjRefundVo.setTjNumber(order.getTjNumber()); + tjRefundVo.setTjOrderId(String.valueOf(order.getOrderId())); + tjCollectFeesVoList.add(tjRefundVo); + } + + } + } + + return AjaxResult.success(tjCollectFeesVoList); + } + return AjaxResult.error("璇ョ敤鎴蜂笉瀛樺湪"); + } + + if (null != tjNum) { + LambdaQueryWrapper<TjOrder> wq1 = new LambdaQueryWrapper<>(); + wq1.likeLeft(TjOrder::getTjNumber, tjNum); + List<TjOrder> orderList = orderService.list(wq1); + if (null != orderList && !orderList.isEmpty()) { + for (TjOrder order : orderList) { + LambdaQueryWrapper<TjFlowingWater> wq = new LambdaQueryWrapper<>(); + wq.eq(TjFlowingWater::getOrderId, order.getOrderId()); + List<TjFlowingWater> list = tjFlowingWaterService.list(wq); + for (TjFlowingWater water : list) { + TjCustomer customer = customerService.getById(order.getUserId()); + TjCollectFeesVo tjRefundVo = new TjCollectFeesVo(); + tjRefundVo.setTjType(order.getTjType()); + tjRefundVo.setTjCusId(String.valueOf(customer.getCusId())); + tjRefundVo.setTjName(customer.getCusName()); + tjRefundVo.setTjPhone(customer.getCusPhone()); + tjRefundVo.setSex(String.valueOf(customer.getCusSex())); + tjRefundVo.setIdCard(customer.getCusIdcard()); + tjRefundVo.setTjComp(order.getFirmName()); + tjRefundVo.setTjFlowingWater(water); + tjRefundVo.setTjNumber(order.getTjNumber()); + tjRefundVo.setTjOrderId(String.valueOf(order.getOrderId())); +// TjCollectFeesVo vo = BeanUtil.copyProperties(tjRefundVo, TjCollectFeesVo.class); + tjCollectFeesVoList.add(tjRefundVo); + } + + + } + return AjaxResult.success(tjCollectFeesVoList); + } + return AjaxResult.success("璇ョ敤鎴蜂笉瀛樺湪鎴栧凡浣撴瀹屾垚"); + } + return AjaxResult.error("璇疯緭鍏ヨ鏌ヨ鏉′欢"); + } + /** * 浣撴宸叉敹璐规湭鏀惰垂淇℃伅鏌ヨ鎺ュ彛 @@ -641,41 +941,11 @@ } else { tjProjectList = detailService.selectTjOrderDetailListByFlowingWaterIdIsNotNull(OrderId); } - String pacId = transitionService.selectPacIdByTbTransitionTjNumAndProId(order.getTjNumber(),order.getCardId()); + 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()))); @@ -696,17 +966,106 @@ 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) + 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 (StringUtil.isNotBlank(OrderId)) { + TjOrder order = orderService.getById(OrderId); + if (null != order) { + List<TjProject> tjProjectList = new ArrayList<>(); + List<TjOrderRemark> remarkList = null; + LambdaQueryWrapper<TjFlowingWater> wrapper = new LambdaQueryWrapper<>(); + wrapper.eq(TjFlowingWater::getTjSerialNumber, tjSerialNumber); +// wrapper.eq(TjFlowingWater::getPayStasus,type); + TjFlowingWater water = tjFlowingWaterService.getOne(wrapper); + if (water == null) + return AjaxResult.success(tjProjectList); + if (type == 0) { + if (StrUtil.isBlank(water.getJxbz())) +// tjProjectList = detailService.selectTjOrderDetailListByFlowingWaterIdIsNullAndJxbzIsNull(OrderId); + remarkList = remarkService.shoufeiyemianweishoufei(order.getTjNumber(), null); +// else tjProjectList = detailService.selectTjOrderDetailListByFlowingWaterIdIsNullN(OrderId,water.getJxbz()); + else remarkList = remarkService.shoufeiyemianweishoufei(order.getTjNumber(), water.getJxbz()); + } else { + if (StrUtil.isBlank(water.getJxbz())) +// tjProjectList = detailService.selectTjOrderDetailListByFlowingWaterIdIsNotNullAndJxbzIsNull(OrderId); + remarkList = remarkService.shoufeiyemianyishoufei(order.getTjNumber(), null); +// else tjProjectList = detailService.selectTjOrderDetailListByFlowingWaterIdIsNotNullN(OrderId,water.getJxbz()); + else remarkList = remarkService.shoufeiyemianyishoufei(order.getTjNumber(), 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()); + project.setProOrdPrice(project.getProPrice().multiply(new BigDecimal(s))); + } + } else { + project.setProPrice(project.getProPrice()); + project.setProOrdPrice(project.getProPrice().multiply(new BigDecimal(s))); + } + } + } + + 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))); + tjProjectList.add(project); + } + } + + } + } +*/ + + if (!remarkList.isEmpty()) { + for (TjOrderRemark remark : remarkList) { + TjProject tjProject = projectService.getById(remark.getProId()); + BigDecimal newdecimal = transitionService.getTbTransitionNewPriceByTjNumAndParentId(remark.getTjNumber(), remark.getProId().toString()); + BigDecimal orddecimal = transitionService.getTbTransitionOrdPriceByTjNumAndParentId(remark.getTjNumber(), remark.getProId().toString()); + tjProject.setProOrdPrice(orddecimal); + tjProject.setProPrice(newdecimal); + tjProjectList.add(tjProject); + } + } return AjaxResult.success(tjProjectList); } @@ -733,8 +1092,8 @@ wq.ne(TjOrderDetail::getTjStatus, 3); wq.isNotNull(TjOrderDetail::getFlowingWaterId); List<TjOrderDetail> detailList = detailService.list(wq); - String pacId = transitionService.selectPacIdByTbTransitionTjNumAndProId(tjOrder.getTjNumber(),tjOrder.getCardId()); - if (null != detailList && detailList.size() > 0) { + String pacId = transitionService.selectPacIdByTbTransitionTjNumAndProId(tjOrder.getTjNumber(), tjOrder.getCardId()); + if (null != detailList && !detailList.isEmpty()) { List<TjRefundProInfoVo> tjRefundProInfoVoList = new ArrayList<>(); for (TjOrderDetail detail : detailList) { TjProject project = projectService.getById(detail.getProId()); @@ -767,7 +1126,10 @@ proInfoVo.setPrice(project.getProPrice()); } proInfoVo.setCollectFeesTime(tjFlowingWaterService.getById(detail.getFlowingWaterId()).getUpdateTime()); - proInfoVo.setTollCollector(userService.getById(tjFlowingWaterService.getById(detail.getFlowingWaterId()).getTollCollectorId()).getNickName()); +// TjFlowingWater water = tjFlowingWaterService.getById(detail.getFlowingWaterId()); +// String tollCollectorId = water.getTollCollectorId(); +// SysUser user = userService.getById(tollCollectorId); +// proInfoVo.setTollCollector(user.getNickName()); proInfoVo.setProName(project.getProName()); proInfoVo.setProId(String.valueOf(project.getProId())); tjRefundProInfoVoList.add(proInfoVo); @@ -775,6 +1137,54 @@ } return AjaxResult.success(tjRefundProInfoVoList); } + } + return AjaxResult.success("浣撴宸插叏閮ㄥ畬鎴愭垨宸插け鏁�"); + } + + /** + * 浣撴閫�璐归」鐩煡璇㈡帴鍙� + */ + @GetMapping("/getTjRefundProInfoVoList2") + @ApiOperation(value = "浣撴閫�璐归」鐩鎯呮煡璇㈡帴鍙�") + @Transactional + public AjaxResult getTjRefundProInfoVoList2(@RequestParam @ApiParam(value = "浣撴璁㈠崟id") String orderId) { + TjOrder tjOrder = orderService.getById(orderId); + if (null == tjOrder) return AjaxResult.error("璇ヤ綋妫�璁板綍涓嶅瓨鍦�"); + if (tjOrder.getCheckStatus() == 0 && tjOrder.getReportTime() == null) { + List<TjRefundProInfoVo> tjRefundProInfoVoList = new ArrayList<>(); + LambdaQueryWrapper<TjFlowingWater> wrapper = new LambdaQueryWrapper<>(); + wrapper.eq(TjFlowingWater::getOrderId, tjOrder.getOrderId()); + wrapper.eq(TjFlowingWater::getPayStasus, 1L); + List<TjFlowingWater> list = tjFlowingWaterService.list(wrapper); + if (list.isEmpty()) + return AjaxResult.error("娌℃湁鏀惰垂椤圭洰"); + for (TjFlowingWater water : list) { + LambdaQueryWrapper<TjOrderRemark> wrapper1 = new LambdaQueryWrapper<>(); + wrapper1.eq(TjOrderRemark::getTjNumber, tjOrder.getTjNumber()); + if (StrUtil.isNotBlank(water.getJxbz())) + wrapper1.eq(TjOrderRemark::getJxbz, water.getJxbz()); + else wrapper1.isNull(TjOrderRemark::getJxbz); + wrapper1.isNotNull(TjOrderRemark::getSfbz); + List<TjOrderRemark> list1 = remarkService.list(wrapper1); + for (TjOrderRemark remark : list1) { + TjProject project = projectService.getById(remark.getProId()); + QueryWrapper<TbTransition> wrapper2 = new QueryWrapper<>(); + wrapper2.select("sum(now_price) as now_price"); + wrapper2.eq("tj_num", remark.getTjNumber()); + wrapper2.eq("parent_pro_id", remark.getProId()); + wrapper2.groupBy("parent_pro_id"); + TbTransition transition = tbTransitionService.getOne(wrapper2); + TjRefundProInfoVo proInfoVo = new TjRefundProInfoVo(); + proInfoVo.setNetReceipts(transition.getNowPrice()); + proInfoVo.setPrice(project.getProPrice()); + proInfoVo.setCollectFeesTime(water.getUpdateTime()); + proInfoVo.setProName(project.getProName()); + proInfoVo.setProId(String.valueOf(project.getProId())); + tjRefundProInfoVoList.add(proInfoVo); + } + } + if (!tjRefundProInfoVoList.isEmpty()) + return AjaxResult.success(tjRefundProInfoVoList); } return AjaxResult.success("浣撴宸插叏閮ㄥ畬鎴愭垨宸插け鏁�"); } @@ -861,4 +1271,132 @@ } return AjaxResult.error(); } + + /** + * 浣撴閫�璐规帴鍙� + */ + @PostMapping("/tjRefund2") + @ApiOperation(value = "浣撴閫�璐规寜閽帴鍙�") + @Transactional + public AjaxResult tjRefund2(@RequestBody @ApiParam(value = "娴佹按瀵硅薄") TjFlowingWater tjFlowingWater) { + if (null == tjFlowingWater.getRefundPros() || tjFlowingWater.getRefundPros().size() == 0) + return AjaxResult.error("璇烽�夋嫨閫�璐归」鐩�"); + TjOrder order = orderService.getById(tjFlowingWater.getOrderId()); + List<TjProject> refundPros = tjFlowingWater.getRefundPros(); + List<Long> proIds = refundPros.stream().map(TjProject::getProId).collect(Collectors.toList()); + LambdaQueryWrapper<TjSampling> wrapper = new LambdaQueryWrapper<>(); + wrapper.in(TjSampling::getProId, proIds); + wrapper.eq(TjSampling::getTjNum, order.getTjNumber()); + wrapper.eq(TjSampling::getIsSignFor, "0"); + List<TjSampling> list1 = tjSamplingService.list(wrapper); + if (!list1.isEmpty()) + return AjaxResult.error("鎵�閫夐」鐩腑鍖呭惈宸插仛妫�楠岄」鐩棤娉曢��璐�"); + tjFlowingWater.setTollCollectorId(String.valueOf(SecurityUtils.getLoginUser().getUserId())); + tjFlowingWater.setRefundPersonId(String.valueOf(SecurityUtils.getLoginUser().getUserId())); + tjFlowingWater.setRefundTime(new Date()); + tjFlowingWater.setIsAddition("N"); + tjFlowingWater.setPayStasus(2L); + tjFlowingWater.setWaterId("TF" + SecurityUtils.getUsername() + DateUtil.format(new Date(), "yyMMddHHmmssSSS")); + tjFlowingWater.setPaidIn(BigDecimal.valueOf(0.00).subtract(tjFlowingWater.getRefundPrice())); + tjFlowingWater.setCopeWith(tjFlowingWater.getRefundPrice()); + tjFlowingWater.setTjSerialNumber(IdUtil.getSnowflake().nextId()); + if (tjFlowingWaterService.save(tjFlowingWater)) { + for (TjProject refundPro : tjFlowingWater.getRefundPros()) { + LambdaQueryWrapper<TjProject> wq = new LambdaQueryWrapper<>(); + wq.eq(TjProject::getProParentId, refundPro.getProId()); + List<Long> collect = projectService.list(wq).stream().map(TjProject::getProId).collect(Collectors.toList()); + LambdaQueryWrapper<TjOrderDetail> wq1 = new LambdaQueryWrapper<>(); + wq1.in(TjOrderDetail::getProId, collect); + wq1.eq(TjOrderDetail::getOrderId, tjFlowingWater.getOrderId()); + wq1.isNotNull(TjOrderDetail::getFlowingWaterId); + wq1.eq(TjOrderDetail::getTjStatus, 0); + List<TjOrderDetail> list = detailService.list(wq1); + if (null != list && list.size() > 0) { + for (TjOrderDetail orderDetail : list) { + orderDetail.setFlowingWaterId(null); + detailService.updateById(orderDetail); + LambdaQueryWrapper<TjChargingStandard> wqq = new LambdaQueryWrapper<>(); + wqq.eq(TjChargingStandard::getTjNum, order.getTjNumber()); + wqq.eq(TjChargingStandard::getProId, orderDetail.getProId()); + chargingStandardService.remove(wqq); + } + } + LambdaQueryWrapper<TjOrderDetail> wq2 = new LambdaQueryWrapper<>(); + wq2.eq(TjOrderDetail::getProId, refundPro.getProId()); + wq2.eq(TjOrderDetail::getOrderId, tjFlowingWater.getOrderId()); + wq2.isNotNull(TjOrderDetail::getFlowingWaterId); + wq2.eq(TjOrderDetail::getTjStatus, 0); + TjOrderDetail detail = detailService.getOne(wq2); + if (null != detail) { + detail.setFlowingWaterId(null); + detailService.updateById(detail); + LambdaQueryWrapper<TjProConsumables> wqqq = new LambdaQueryWrapper<>(); + wqqq.eq(TjProConsumables::getProId, detail.getProId()); + List<TjProConsumables> proConsumables = proConsumablesService.list(wqqq); + List<TjConsumables> list2 = new ArrayList<>(); + if (null != proConsumables && proConsumables.size() > 0) { + for (TjProConsumables tjProConsumables : proConsumables) { + TjConsumables tjConsumables = consumablesService.selectTjConsumablesById(tjProConsumables.getConsumablesId()); + list2.add(tjConsumables); + } + } + if (null != list && !list.isEmpty()) { + ArrayList<TjConsumables> collectw = list2.stream().collect(Collectors.collectingAndThen(Collectors.toCollection(() -> new TreeSet<>(Comparator.comparing(TjConsumables::getId))), ArrayList::new)); + for (TjConsumables tjConsumables : collectw) { + LambdaQueryWrapper<TjChargingStandard> wqq = new LambdaQueryWrapper<>(); + wqq.eq(TjChargingStandard::getTjNum, order.getTjNumber()); + wqq.eq(TjChargingStandard::getConsumablesId, tjConsumables.getId()); + chargingStandardService.remove(wqq); + } + } + } + LambdaUpdateWrapper<TjOrderRemark> wqz = new LambdaUpdateWrapper<>(); + wqz.eq(TjOrderRemark::getTjNumber, order.getTjNumber()); + wqz.eq(TjOrderRemark::getProId, refundPro.getProId()); + wqz.set(TjOrderRemark::getSfbz, null); + remarkService.update(wqz); + } + + asyncService.tjRefund(refundPros, order.getTjNumber()); + Map<String, Object> map = new HashMap<>(); + map.put("waterId", tjFlowingWater.getWaterId()); + map.put("mobanId", reportService.getMoBanId()); + return AjaxResult.success("閫�璐规垚鍔�", map); + } + return AjaxResult.error(); + } + + + + @GetMapping("/gettuantijiesuanrenyuan") + @ApiOperation(value = "鑾峰彇鍥綋缁撶畻浜哄憳") + public AjaxResult gettuantijiesuanrenyuan(@RequestParam(required = false) @ApiParam("鍗曚綅ID") String dwId, + @RequestParam(required = false) @ApiParam("鐧昏寮�濮嬫椂闂�") String djkssj, + @RequestParam(required = false) @ApiParam("鐧昏缁撴潫鏃堕棿") String djjssj, + @RequestParam(required = false) @ApiParam("缁撶畻寮�濮嬫椂闂�") String jskssj, + @RequestParam(required = false) @ApiParam("缁撶畻缁撴潫鏃堕棿") String jsjssj, + @RequestParam(required = false) @ApiParam("浣撴鍙�") String tjh, + @RequestParam(required = false) @ApiParam("缁撶畻浜篿d") String jsrid, + @ApiParam(value = "鏄剧ず鏉℃暟(榛樿10)") @RequestParam(defaultValue = "10") Integer pageSize, + @ApiParam(value = "椤电爜鏁�(榛樿1)") @RequestParam(defaultValue = "1") Integer page) { + + if (StringUtil.isNotBlank(dwId)) dwId = ""; + if (StringUtil.isNotBlank(djkssj)) djkssj = ""; + if (StringUtil.isNotBlank(djjssj)) djjssj = ""; + if (StringUtil.isNotBlank(jskssj)) jskssj = ""; + if (StringUtil.isNotBlank(jsjssj)) jsjssj = ""; + if (StringUtil.isNotBlank(tjh)) tjh = ""; + if (StringUtil.isNotBlank(jsrid)) jsrid = ""; + return AjaxResult.success(tjFlowingWaterService.gettuantijiesuanrenyuan(page, pageSize,dwId,djkssj, djjssj, jskssj, jsjssj, tjh, jsrid)); + } + + + + @PostMapping("/tuantijiesuan") + @ApiOperation(value = "鍥綋缁撶畻") + public AjaxResult tuantijiesuan(@RequestParam(required = false) @ApiParam("鍗曚綅ID") List<String> dwId) { + + return AjaxResult.success(); + } + } -- Gitblit v1.8.0