| | |
| | | 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; |
| | | import com.ltkj.common.utils.SecurityUtils; |
| | | import com.ltkj.framework.config.MatchUtils; |
| | |
| | | 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 jodd.util.StringUtil; |
| | | 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; |
| | |
| | | private TjAsyncService asyncService; |
| | | @Resource |
| | | private IJimuOnlineReportService reportService; |
| | | |
| | | @Resource |
| | | private ITjPackageProjectService tjPackageProjectService; |
| | | @Autowired |
| | | private ISysConfigService configService; |
| | | @Autowired |
| | | private ISysDeptService sysDeptService; |
| | | @Autowired |
| | | private TjFlowingWaterHisService tjFlowingWaterHisService; |
| | | @Autowired |
| | | private ITjSamplingService tjSamplingService; |
| | | @Autowired |
| | | private TjOrderController tjOrderController; |
| | | @Autowired |
| | | private ITbTransitionService tbTransitionService; |
| | | |
| | | /** |
| | | * 查询该体检号对应的订单流水列表 |
| | |
| | | map.put("water", list); |
| | | } |
| | | LambdaQueryWrapper<TjChargingStandard> wq3 = new LambdaQueryWrapper<>(); |
| | | wq3.eq(TjChargingStandard::getTjNum,TjNumber); |
| | | 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()) { |
| | | if (null != project && null != project.getProCheckType()) { |
| | | standard.setProCheckType(project.getProCheckType()); |
| | | } |
| | | } |
| | |
| | | /** |
| | | * 查询体检流水列表 |
| | | */ |
| | | @PreAuthorize("@ss.hasPermi('hosp:water:list')") |
| | | // @PreAuthorize("@ss.hasPermi('hosp:water:list')") |
| | | @GetMapping("/list") |
| | | @ApiOperation(value = "查询体检流水列表") |
| | | public TableDataInfo list(TjFlowingWater tjFlowingWater) { |
| | |
| | | @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(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); |
| | | } else { |
| | | tjFlowingWater.setPayStasus(1L); |
| | | } |
| | | if (tjFlowingWaterService.save(tjFlowingWater)) { |
| | | |
| | | Date dates = new Date(); |
| | | String jxbz = DateUtil.format(dates, "yyyyMMddHHmmss") + order.getOrderId(); |
| | | //异步单项收费明细 |
| | | asyncService.iundividualCharges(tjFlowingWater, order, customer,sysUser); |
| | | //extracted(tjFlowingWater, order, customer); |
| | | Map<String,Object>map=new HashMap<>(); |
| | | map.put("waterId",tjFlowingWater.getWaterId()); |
| | | map.put("mobanId",reportService.getMoBanIds()); |
| | | return AjaxResult.success("收费成功",map); |
| | | Boolean b = asyncService.iundividualCharges(tjFlowingWater, order, customer, sysUser, jxbz); |
| | | if (!b) { |
| | | TransactionAspectSupport.currentTransactionStatus().setRollbackOnly(); |
| | | return AjaxResult.error(); |
| | | } |
| | | |
| | | 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::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); |
| | | |
| | | LambdaQueryWrapper<SysDept> wrapper2 = new LambdaQueryWrapper<>(); |
| | | wrapper2.eq(SysDept::getDeptId, project.getDeptId()); |
| | | SysDept dept = sysDeptService.getOne(wrapper2); |
| | | |
| | | 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); |
| | | } |
| | | tjFlowingWaterService.updateById(tjFlowingWater); |
| | | } else { |
| | | 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){ |
| | | if (flowingWater.getPayStasus() == 1) { |
| | | return AjaxResult.success("该订单已付款 无须再付"); |
| | | } |
| | | if (tjFlowingWaterService.updateById(tjFlowingWater)){ |
| | | LambdaQueryWrapper<TjOrderDetail> wq2 = new LambdaQueryWrapper<>(); |
| | | wq2.eq(TjOrderDetail::getOrderId, tjFlowingWater.getOrderId()); |
| | | wq2.isNull(TjOrderDetail::getFlowingWaterId); |
| | | 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); |
| | | } |
| | | // 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()); |
| | | Map<String,Object>map=new HashMap<>(); |
| | | map.put("waterId",tjFlowingWater.getWaterId()); |
| | | map.put("mobanId",reportService.getMoBanIds()); |
| | | return AjaxResult.success("收费成功",map); |
| | | 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(); |
| | | } |
| | | |
| | | /* private void extracted(TjFlowingWater tjFlowingWater, TjOrder order, TjCustomer customer) { |
| | | List<TjConsumables> list2 = new ArrayList<>(); |
| | | String[] tjProIds = tjFlowingWater.getTjProIds(); |
| | | for (String tjProId : tjProIds) { |
| | | LambdaQueryWrapper<TjProject> wq0 = new LambdaQueryWrapper<>(); |
| | | wq0.eq(TjProject::getProParentId, tjProId); |
| | | List<Long> proIds = projectService.list(wq0).stream().map(TjProject::getProId).collect(Collectors.toList()); |
| | | TjOrderDetail detail = new TjOrderDetail(); |
| | | detail.setTjStatus(0L); |
| | | detail.setOrderId(tjFlowingWater.getOrderId()); |
| | | detail.setFlowingWaterId(String.valueOf(tjFlowingWater.getTjSerialNumber())); |
| | | detail.setProId(Long.valueOf(tjProId)); |
| | | detail.setIsAddition("Y"); |
| | | detailService.save(detail); |
| | | for (Long proId : proIds) { |
| | | TjOrderDetail detail1 = new TjOrderDetail(); |
| | | detail1.setTjStatus(0L); |
| | | detail1.setOrderId(tjFlowingWater.getOrderId()); |
| | | detail1.setFlowingWaterId(String.valueOf(tjFlowingWater.getTjSerialNumber())); |
| | | detail1.setProId(proId); |
| | | detail1.setIsAddition("Y"); |
| | | detailService.save(detail1); |
| | | } |
| | | LambdaQueryWrapper<TbTransition> wqq = new LambdaQueryWrapper<>(); |
| | | wqq.eq(TbTransition::getCusId, customer.getCusIdcard()); |
| | | wqq.in(TbTransition::getProId, proIds); |
| | | List<TbTransition> tbTransitionList = transitionService.list(wqq); |
| | | if (null != tbTransitionList && tbTransitionList.size() > 0) { |
| | | for (TbTransition transition : tbTransitionList) { |
| | | TjProject tjProject = projectService.selectTjProjectByProId(transition.getProId()); |
| | | //子项 |
| | | if (null != tjProject) { |
| | | TjChargingStandard tjChargingStandard = new TjChargingStandard(); |
| | | tjChargingStandard.setTjNum(order.getTjNumber()); |
| | | tjChargingStandard.setProId(transition.getProId()); |
| | | tjChargingStandard.setPrice(transition.getNowPrice()); |
| | | tjChargingStandard.setProName(tjProject.getProName()); |
| | | chargingStandardService.save(tjChargingStandard); |
| | | } |
| | | } |
| | | //父项 |
| | | TjProject parentProject = projectService.getById(tjProId); |
| | | if (null != parentProject) { |
| | | LambdaQueryWrapper<TjProConsumables> wqqq = new LambdaQueryWrapper<>(); |
| | | wqqq.eq(TjProConsumables::getProId, parentProject.getProId()); |
| | | List<TjProConsumables> proConsumables = proConsumablesService.list(wqqq); |
| | | if (null != proConsumables && proConsumables.size() > 0) { |
| | | for (TjProConsumables tjProConsumables : proConsumables) { |
| | | TjConsumables tjConsumables = consumablesService.selectTjConsumablesById(tjProConsumables.getConsumablesId()); |
| | | list2.add(tjConsumables); |
| | | } |
| | | } |
| | | } |
| | | } |
| | | } |
| | | //父项耗材 |
| | | ArrayList<TjConsumables> collect = list2.stream().collect(Collectors.collectingAndThen(Collectors.toCollection(() -> new TreeSet<>(Comparator.comparing(TjConsumables::getId))), ArrayList::new)); |
| | | for (TjConsumables tjConsumables : collect) { |
| | | TjChargingStandard tjChargingStandard = new TjChargingStandard(); |
| | | tjChargingStandard.setTjNum(order.getTjNumber()); |
| | | tjChargingStandard.setConsumablesId(tjConsumables.getId()); |
| | | tjChargingStandard.setPrice(tjConsumables.getPrice()); |
| | | tjChargingStandard.setProName(tjConsumables.getMakings()); |
| | | tjChargingStandard.setConsumablesName(tjConsumables.getMakings()); |
| | | tjChargingStandard.setCompany(tjConsumables.getSpecifications()); |
| | | chargingStandardService.save(tjChargingStandard); |
| | | } |
| | | }*/ |
| | | @PutMapping("supper") |
| | | @ApiOperation(value = "体检点击强制收费按钮接口") |
| | | @Transactional |
| | | @RepeatSubmit |
| | | public AjaxResult supperEdit(@RequestBody TjFlowingWater tjFlowingWater) { |
| | | Long userId = Long.valueOf(SecurityUtils.getLoginUser().getUserId()); |
| | | SysUser sysUser = userService.getById(userId); |
| | | |
| | | //备用添加收费明细 |
| | | /*private void extracted(TjOrder order, List<TjConsumables> list2, List<TbTransition> tbTransitionList) { |
| | | for (TbTransition transition : tbTransitionList) { |
| | | TjProject tjProject = projectService.selectTjProjectByProId(transition.getProId()); |
| | | //子项 |
| | | if (null != tjProject) { |
| | | TjChargingStandard tjChargingStandard = new TjChargingStandard(); |
| | | tjChargingStandard.setTjNum(order.getTjNumber()); |
| | | tjChargingStandard.setProId(transition.getProId()); |
| | | tjChargingStandard.setPrice(transition.getNowPrice()); |
| | | tjChargingStandard.setProName(tjProject.getProName()); |
| | | chargingStandardService.save(tjChargingStandard); |
| | | 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); |
| | | } |
| | | } |
| | | |
| | | //父项 |
| | | ArrayList<TbTransition> collect1 = tbTransitionList.stream().collect(Collectors.collectingAndThen(Collectors.toCollection(() -> new TreeSet<>(Comparator.comparing(TbTransition::getParentProId))), ArrayList::new)); |
| | | List<Long> parentProIds = collect1.stream().map(TbTransition::getParentProId).collect(Collectors.toList()); |
| | | if (parentProIds.size() > 0) { |
| | | for (Long parentProId : parentProIds) { |
| | | TjProject parentProject = projectService.selectTjProjectByProId(parentProId); |
| | | if (null != parentProject) { |
| | | LambdaQueryWrapper<TjProConsumables> wqqq = new LambdaQueryWrapper<>(); |
| | | wqqq.eq(TjProConsumables::getProId, parentProject.getProId()); |
| | | List<TjProConsumables> proConsumables = proConsumablesService.list(wqqq); |
| | | if (null != proConsumables && proConsumables.size() > 0) { |
| | | for (TjProConsumables tjProConsumables : proConsumables) { |
| | | TjConsumables tjConsumables = consumablesService.selectTjConsumablesById(tjProConsumables.getConsumablesId()); |
| | | list2.add(tjConsumables); |
| | | } |
| | | } |
| | | // 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(); |
| | | } |
| | | |
| | | ArrayList<TjConsumables> collect = list2.stream().collect(Collectors.collectingAndThen(Collectors.toCollection(() -> new TreeSet<>(Comparator.comparing(TjConsumables::getId))), ArrayList::new)); |
| | | for (TjConsumables tjConsumables : collect) { |
| | | TjChargingStandard tjChargingStandard = new TjChargingStandard(); |
| | | tjChargingStandard.setTjNum(order.getTjNumber()); |
| | | tjChargingStandard.setConsumablesId(tjConsumables.getId()); |
| | | tjChargingStandard.setPrice(tjConsumables.getPrice()); |
| | | tjChargingStandard.setProName(tjConsumables.getMakings()); |
| | | tjChargingStandard.setConsumablesName(tjConsumables.getMakings()); |
| | | tjChargingStandard.setCompany(tjConsumables.getSpecifications()); |
| | | chargingStandardService.save(tjChargingStandard); |
| | | @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(); |
| | | } |
| | | |
| | | |
| | | /** |
| | | * 删除体检流水 |
| | | */ |
| | | @PreAuthorize("@ss.hasPermi('hosp:water:remove')") |
| | | // @PreAuthorize("@ss.hasPermi('hosp:water:remove')") |
| | | @Log(title = "体检流水", businessType = BusinessType.DELETE) |
| | | @DeleteMapping("/{ids}") |
| | | public AjaxResult remove(@PathVariable String[] ids) { |
| | |
| | | |
| | | 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); |
| | |
| | | List<TjOrderDetail> detailList = detailService.list(wq2); |
| | | if (null != detailList && detailList.size() > 0) { |
| | | TjRefundVo tjRefundVo = new TjRefundVo(); |
| | | tjRefundVo.setTjName(MatchUtils.hideCusName(customer.getCusName())); |
| | | tjRefundVo.setTjPhone(MatchUtils.hidePhoneNum(customer.getCusPhone())); |
| | | 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()); |
| | |
| | | TjCustomer customer = customerService.getById(order.getUserId()); |
| | | if (null != customer) { |
| | | TjRefundVo tjRefundVo = new TjRefundVo(); |
| | | tjRefundVo.setTjName(MatchUtils.hideCusName(customer.getCusName())); |
| | | tjRefundVo.setTjPhone(MatchUtils.hidePhoneNum(customer.getCusPhone())); |
| | | 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()); |
| | |
| | | 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("请输入要查询条件"); |
| | | } |
| | | |
| | | |
| | | /** |
| | | * 体检(收费)页面查询接口 |
| | |
| | | .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(MatchUtils.hideCusName(customer.getCusName())); |
| | | tjRefundVo.setTjPhone(MatchUtils.hidePhoneNum(customer.getCusPhone())); |
| | | tjRefundVo.setTjName(customer.getCusName()); |
| | | tjRefundVo.setTjPhone(customer.getCusPhone()); |
| | | tjRefundVo.setSex(String.valueOf(customer.getCusSex())); |
| | | tjRefundVo.setIdCard(MatchUtils.hideIdCardNum(customer.getCusIdcard())); |
| | | if (null != customer.getCusIdcard()) tjRefundVo.setIdCard(customer.getCusIdcard()); |
| | | DictComp dictComp = compService.getById(order.getFirmId()); |
| | | if(null !=dictComp){ |
| | | if (null != dictComp) { |
| | | tjRefundVo.setTjComp(dictComp.getCnName()); |
| | | }else { |
| | | } else { |
| | | tjRefundVo.setTjComp("无"); |
| | | } |
| | | if (null != order.getTjType()) tjRefundVo.setTjType(order.getTjType()); |
| | |
| | | wq.eq(TjFlowingWater::getIsAddition, "N"); |
| | | wq.ne(TjFlowingWater::getPayStasus, 2); |
| | | TjFlowingWater one = tjFlowingWaterService.getOne(wq); |
| | | // tjRefundVo.setPaidIn(String.valueOf(one.getPaidIn())); |
| | | // tjRefundVo.setPaidIn(String.valueOf(one.getPaidIn())); |
| | | tjRefundVo.setTjFlowingWater(one); |
| | | tjRefundVo.setTjNumber(order.getTjNumber()); |
| | | tjRefundVo.setTjOrderId(String.valueOf(order.getOrderId())); |
| | |
| | | } |
| | | } |
| | | } |
| | | // 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); |
| | | } |
| | |
| | | if (null != tjNum) { |
| | | LambdaQueryWrapper<TjOrder> wq1 = new LambdaQueryWrapper<>(); |
| | | wq1.likeLeft(TjOrder::getTjNumber, tjNum); |
| | | wq1.eq(TjOrder::getCheckStatus, 0); |
| | | // 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(MatchUtils.hideCusName(customer.getCusName())); |
| | | tjRefundVo.setTjPhone(MatchUtils.hidePhoneNum(customer.getCusPhone())); |
| | | tjRefundVo.setTjName(customer.getCusName()); |
| | | tjRefundVo.setTjPhone(customer.getCusPhone()); |
| | | tjRefundVo.setSex(String.valueOf(customer.getCusSex())); |
| | | tjRefundVo.setIdCard(MatchUtils.hideIdCardNum(customer.getCusIdcard())); |
| | | if (null != order.getDictCompName()) |
| | | tjRefundVo.setTjComp(compService.getById(order.getFirmId()) != null ? compService.getById(order.getFirmId()).getCnName() : null); |
| | | 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) ); |
| | | .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())); |
| | | 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); |
| | | } |
| | |
| | | } else { |
| | | tjProjectList = detailService.selectTjOrderDetailListByFlowingWaterIdIsNotNull(OrderId); |
| | | } |
| | | if (null != tjProjectList && tjProjectList.size() > 0) { |
| | | 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) { |
| | | 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()); |
| | | 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)); |
| | | } |
| | | project.setProPrice(bigDecimal.setScale(0,BigDecimal.ROUND_UP)); |
| | | project.setProOrdPrice(bigDecimal1); |
| | | } |
| | | } |
| | | |
| | | 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)); |
| | | 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); |
| | | } |
| | |
| | | public AjaxResult getTjRefundProInfoVoList(@RequestParam @ApiParam(value = "体检订单id") String orderId) { |
| | | TjOrder tjOrder = orderService.getById(orderId); |
| | | if (null == tjOrder) return AjaxResult.error("该体检记录不存在"); |
| | | TjCustomer customer = customerService.getById(tjOrder.getUserId()); |
| | | // TjCustomer customer = customerService.getById(tjOrder.getUserId()); |
| | | if (tjOrder.getCheckStatus() == 0 && tjOrder.getReportTime() == null) { |
| | | LambdaQueryWrapper<TjOrderDetail> wq = new LambdaQueryWrapper<>(); |
| | | wq.eq(TjOrderDetail::getOrderId, orderId); |
| | | //wq.eq(TjOrderDetail::getTjStatus, 0); |
| | | wq.ne(TjOrderDetail::getTjStatus,1); |
| | | wq.ne(TjOrderDetail::getTjStatus,3); |
| | | wq.ne(TjOrderDetail::getTjStatus, 1); |
| | | wq.ne(TjOrderDetail::getTjStatus, 3); |
| | | wq.isNotNull(TjOrderDetail::getFlowingWaterId); |
| | | List<TjOrderDetail> detailList = detailService.list(wq); |
| | | 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()); |
| | | if (project.getProParentId() == 0) { |
| | | LambdaQueryWrapper<TbTransition> wqq1 = new LambdaQueryWrapper<>(); |
| | | wqq1.eq(TbTransition::getCusId, customer.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()); |
| | | } |
| | | // LambdaQueryWrapper<TbTransition> wqq1 = new LambdaQueryWrapper<>(); |
| | | // wqq1.eq(TbTransition::getCusId, customer.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()); |
| | | // } |
| | | String s = tjFlowingWaterService.getDiscount(orderId); |
| | | TjRefundProInfoVo proInfoVo = new TjRefundProInfoVo(); |
| | | // double discount = Double.parseDouble(tjFlowingWaterService.getById(detail.getFlowingWaterId()).getDiscount()); |
| | | //BigDecimal decimal = BigDecimal.valueOf(discount).divide(BigDecimal.valueOf(100)); |
| | | //proInfoVo.setNetReceipts(bigDecimal.multiply(decimal).setScale(2, BigDecimal.ROUND_DOWN)); |
| | | proInfoVo.setNetReceipts(bigDecimal); |
| | | |
| | | if (null != pacId) { |
| | | TjPackageProject pp = tjPackageProjectService.getOne(new LambdaQueryWrapper<TjPackageProject>().eq(TjPackageProject::getPacId, pacId) |
| | | .eq(TjPackageProject::getProId, String.valueOf(project.getProId()))); |
| | | if (null != pp) { |
| | | proInfoVo.setNetReceipts(pp.getPriceNow().multiply(new BigDecimal(s))); |
| | | proInfoVo.setPrice(pp.getPriceNow()); |
| | | } else { |
| | | proInfoVo.setNetReceipts(project.getProPrice().multiply(new BigDecimal(s))); |
| | | proInfoVo.setPrice(project.getProPrice()); |
| | | } |
| | | } else { |
| | | proInfoVo.setNetReceipts(project.getProPrice().multiply(new BigDecimal(s))); |
| | | 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())); |
| | | //proInfoVo.setPrice(project.getProPrice().setScale(2, BigDecimal.ROUND_DOWN)); |
| | | proInfoVo.setPrice(bigDecimal1); |
| | | tjRefundProInfoVoList.add(proInfoVo); |
| | | } |
| | | } |
| | | 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("体检已全部完成或已失效"); |
| | | } |
| | |
| | | */ |
| | | @PostMapping("/tjRefund") |
| | | @ApiOperation(value = "体检退费按钮接口") |
| | | public AjaxResult tjRefund(@RequestBody @ApiParam(value = "流水对象") TjFlowingWater tjFlowingWater){ |
| | | if(null == tjFlowingWater.getRefundPros()||tjFlowingWater.getRefundPros().size()==0) return AjaxResult.error("请选择退费项目"); |
| | | public AjaxResult tjRefund(@RequestBody @ApiParam(value = "流水对象") TjFlowingWater tjFlowingWater) { |
| | | if (null == tjFlowingWater.getRefundPros() || tjFlowingWater.getRefundPros().size() == 0) |
| | | 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(SecurityUtils.getUsername() + DateUtil.format(new Date(), "yyMMddHHmmssSSS")); |
| | | tjFlowingWater.setWaterId("TF" + SecurityUtils.getUsername() + DateUtil.format(new Date(), "yyMMddHHmmssSSS")); |
| | | tjFlowingWater.setPaidIn(BigDecimal.valueOf(0.00).subtract(tjFlowingWater.getRefundPrice())); |
| | | tjFlowingWater.setCopeWith(tjFlowingWater.getRefundPrice()); |
| | | if (tjFlowingWaterService.save(tjFlowingWater)){ |
| | | if (tjFlowingWaterService.save(tjFlowingWater)) { |
| | | TjOrder order = orderService.getById(tjFlowingWater.getOrderId()); |
| | | for (TjProject refundPro : tjFlowingWater.getRefundPros()) { |
| | | LambdaQueryWrapper<TjProject> wq = new LambdaQueryWrapper<>(); |
| | |
| | | } |
| | | } |
| | | } |
| | | LambdaQueryWrapper<TjOrderRemark>wqz=new LambdaQueryWrapper<>(); |
| | | wqz.eq(TjOrderRemark::getTjNumber,order.getTjNumber()); |
| | | wqz.eq(TjOrderRemark::getProId,refundPro.getProId()); |
| | | LambdaQueryWrapper<TjOrderRemark> wqz = new LambdaQueryWrapper<>(); |
| | | wqz.eq(TjOrderRemark::getTjNumber, order.getTjNumber()); |
| | | wqz.eq(TjOrderRemark::getProId, refundPro.getProId()); |
| | | remarkService.remove(wqz); |
| | | } |
| | | List<TjProject> refundPros = tjFlowingWater.getRefundPros(); |
| | | 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); |
| | | 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(); |
| | | } |
| | | |
| | | /** |
| | | * 体检退费接口 |
| | | */ |
| | | @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.size() > 0) { |
| | | 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(); |
| | | } |