| | |
| | | for (TjOrder order : list) { |
| | | TjCustomer tjCustomer = tjCustomerService.getById(order.getUserId()); |
| | | if (null != tjCustomer) { |
| | | order.setTjCustomerName(MatchUtils.hideCusName(tjCustomer.getCusName())); |
| | | order.setTjCustomerPhone(MatchUtils.hidePhoneNum(tjCustomer.getCusPhone())); |
| | | order.setTjCusIdCard(MatchUtils.hideIdCardNum(tjCustomer.getCusIdcard())); |
| | | // order.setTjCustomerName(MatchUtils.hideCusName(tjCustomer.getCusName())); |
| | | order.setTjCustomerName(tjCustomer.getCusName()); |
| | | // order.setTjCustomerPhone(MatchUtils.hidePhoneNum(tjCustomer.getCusPhone())); |
| | | order.setTjCustomerPhone(tjCustomer.getCusPhone()); |
| | | // order.setTjCusIdCard(MatchUtils.hideIdCardNum(tjCustomer.getCusIdcard())); |
| | | order.setTjCusIdCard(tjCustomer.getCusIdcard()); |
| | | order.setTjCustomerSex(tjCustomer.getCusSex()); |
| | | order.setTjCustomerAge(DateUtil.ageOfNow(tjCustomer.getCusBrithday())); |
| | | order.setCareer(tjCustomer.getCareer()); |
| | |
| | | order.setTjCustomerSex(tjCustomer.getCusSex()); |
| | | order.setTjCustomerAge(DateUtil.ageOfNow(tjCustomer.getCusBrithday())); |
| | | order.setTjCustomerName(MatchUtils.hideCusName(tjCustomer.getCusName())); |
| | | order.setTjCustomerName(MatchUtils.hideCusName(tjCustomer.getCusName())); |
| | | order.setTjCustomerPhone(MatchUtils.hidePhoneNum(tjCustomer.getCusPhone())); |
| | | order.setTjCusIdCard(MatchUtils.hideIdCardNum(tjCustomer.getCusIdcard())); |
| | | // order.setTjCusIdCard(MatchUtils.hideIdCardNum(tjCustomer.getCusIdcard())); |
| | | order.setTjCusIdCard(tjCustomer.getCusIdcard()); |
| | | order.setCareer(tjCustomer.getCareer()); |
| | | order.setIdType(tjCustomer.getIdType()); |
| | | order.setAgeUnit(tjCustomer.getAgeUnit()); |
| | |
| | | */ |
| | | @PostMapping |
| | | @ApiOperation(value = "体检签到登记接口") |
| | | @Transactional |
| | | @Transactional //(切换数据库出错,所以注释) |
| | | public AjaxResult addOrderAndDetail(@RequestBody TjOrder tjOrder) throws Exception { |
| | | Long userId = Long.valueOf(SecurityUtils.getLoginUser().getUserId()); |
| | | SysUser sysUser = userService.getById(userId); |
| | | |
| | | LambdaQueryWrapper<TjCustomer> wq = new LambdaQueryWrapper<>(); |
| | | wq.eq(TjCustomer::getCusId, tjOrder.getUserId()); |
| | | TjCustomer tjCustomer = tjCustomerService.getOne(wq); |
| | | if (tjCustomer == null) return AjaxResult.error("该客户未登记或不存在"); |
| | | |
| | | LambdaQueryWrapper<TjOrder> wqq = new LambdaQueryWrapper<>(); |
| | | wqq.eq(TjOrder::getUserId, tjOrder.getUserId()); |
| | | wqq.eq(TjOrder::getCheckStatus, 0); |
| | | wqq.isNull(TjOrder::getFinishTime); |
| | | if(!tjCustomer.getCardId().equals("0")){ |
| | | wqq.eq(TjOrder::getCardId,tjCustomer.getCardId()); |
| | | } |
| | | TjOrder order = tjOrderService.getOne(wqq); |
| | | if (null != order) { |
| | | transitionService.deletedTbTransitionListByCusIdAndTjNum(tjCustomer.getCusIdcard(),tjCustomer.getCardId()); |
| | | return AjaxResult.error("不可重复登记"); |
| | | } |
| | | LambdaQueryWrapper<TjCustomer> wq = new LambdaQueryWrapper<>(); |
| | | wq.eq(TjCustomer::getCusId, tjOrder.getUserId()); |
| | | TjCustomer tjCustomer = tjCustomerService.getOne(wq); |
| | | if (tjCustomer == null) return AjaxResult.error("该客户未签到或不存在"); |
| | | LambdaQueryWrapper<TjReservation> wq1 = new LambdaQueryWrapper<>(); |
| | | wq1.eq(TjReservation::getIdCard, tjCustomer.getCusIdcard()); |
| | | wq1.eq(TjReservation::getIsExpire, 2); |
| | |
| | | if (null != tjReservation.getDepartment()) tjOrder.setFirmDeptName(tjReservation.getDepartment()); |
| | | if (null != tjReservation.getJobNo()) tjOrder.setFirmWorkId(tjReservation.getJobNo()); |
| | | if (null != tjReservation.getPacId()) tjOrder.setPacId(tjReservation.getPacId()); |
| | | if (null != tjReservation.getTjCategory()) tjOrder.setTjCategory(tjReservation.getTjCategory()); |
| | | if (null != tjReservation.getGroupingId()){ |
| | | tjOrder.setGroupId(tjReservation.getGroupingId()); |
| | | tjOrder.setFirmDeptId(tjReservation.getPacId()); |
| | |
| | | //判断小程序上预约是否付钱 |
| | | if (null != mallOrder) tjOrder.setMallOrderId(String.valueOf(mallOrder.getId())); |
| | | tjOrder.setStatus(TjConstants.TJ_BEGIN); |
| | | tjOrder.setCardId(tjCustomer.getCardId()); |
| | | if (tjOrderService.save(tjOrder)) { |
| | | //保存收货地址 |
| | | if ("2".equals(tjOrder.getGetType())){ |
| | |
| | | Long cusNumber = tjCustomer.getCusNumber(); |
| | | cusNumber += 1; |
| | | tjCustomer.setCusNumber(cusNumber); |
| | | tjCustomerService.updateById(tjCustomer); |
| | | BigDecimal discount = BigDecimal.valueOf(Double.parseDouble(tjOrder.getTjFlowingWater().getDiscount())).divide(BigDecimal.valueOf(10)); |
| | | TjFlowingWater tjFlowingWater = new TjFlowingWater(); |
| | | tjFlowingWater.setPayStasus(0L); |
| | | if ("1".equals(tjOrder.getTjType())) { |
| | | if (null != tjReservation && tjReservation.getPayType() == 1) { |
| | | tjFlowingWater.setPayStasus(3L); |
| | | } |
| | | } |
| | | |
| | | //调用SQL server拿取收费情况 |
| | | //根据配置调取存储过程 将临时表数据存入预约表2023.12.12 |
| | | final String getInfoFromSqlData = configService.selectConfigByKey("getInfoFromSqlData"); |
| | | final String isPay = configService.selectConfigByKey("isPay"); |
| | | if ("Y".equals(getInfoFromSqlData)){ |
| | | LtkjMiddleHead middleHead = headService.getMiddleHeadByPartId(tjCustomer.getCardId()); |
| | | if(null !=middleHead){ |
| | | tjFlowingWater.setPayStasus(1L); |
| | | } |
| | | } |
| | | tjFlowingWater.setOrderId(tjOrder.getOrderId()); |
| | | Date date1 = new Date(System.currentTimeMillis()); |
| | | String s1 = SecurityUtils.getUsername() + new SimpleDateFormat("yyMMddHHmmssSSS").format(date1); |
| | | tjFlowingWater.setWaterId(PinyinUtil.getFirstLetter(tjCustomer.getCusName(), "") + s1); |
| | | if (null != mallOrder) { |
| | | if (mallOrder.getOrderStatus().equals(201L)) { |
| | | tjFlowingWater.setCopeWith(mallOrder.getActualPrice()); |
| | | tjFlowingWater.setPaidIn(mallOrder.getActualPrice()); |
| | | tjFlowingWater.setDiscount(String.valueOf(1)); |
| | | tjFlowingWater.setPayStasus(1L); |
| | | tjFlowingWater.setPayType(3L); |
| | | MallCheckLog checkLog = new MallCheckLog(); |
| | | checkLog.setCheckBy(sysUser.getNickName()); |
| | | checkLog.setUserId(mallOrder.getUserId()); |
| | | checkLog.setConsignee(mallOrder.getConsignee()); |
| | | checkLog.setIdCard(mallOrder.getIdCard()); |
| | | checkLog.setOrderId(String.valueOf(mallOrder.getId())); |
| | | checkLog.setOrderSn(mallOrder.getOrderSn()); |
| | | checkLog.setCheckTime(new Date()); |
| | | checkLog.setShipSn("HX" + s1); |
| | | mallCheckLogService.save(checkLog); |
| | | mallOrder.setOrderStatus(301L); |
| | | mallOrderService.updateById(mallOrder); |
| | | tjFlowingWater.setWaterId(PinyinUtil.getFirstLetter(tjCustomer.getCusName(), "").toUpperCase() + s1); |
| | | if(isPay.equals("true")){ |
| | | if (null != mallOrder) { |
| | | if (mallOrder.getOrderStatus().equals(201L)) { |
| | | tjFlowingWater.setCopeWith(mallOrder.getActualPrice()); |
| | | tjFlowingWater.setPaidIn(mallOrder.getActualPrice()); |
| | | tjFlowingWater.setDiscount(String.valueOf(1)); |
| | | tjFlowingWater.setPayStasus(1L); |
| | | tjFlowingWater.setPayType(3L); |
| | | MallCheckLog checkLog = new MallCheckLog(); |
| | | checkLog.setCheckBy(sysUser.getNickName()); |
| | | checkLog.setUserId(mallOrder.getUserId()); |
| | | checkLog.setConsignee(mallOrder.getConsignee()); |
| | | checkLog.setIdCard(mallOrder.getIdCard()); |
| | | checkLog.setOrderId(String.valueOf(mallOrder.getId())); |
| | | checkLog.setOrderSn(mallOrder.getOrderSn()); |
| | | checkLog.setCheckTime(new Date()); |
| | | checkLog.setShipSn("HX" + s1); |
| | | mallCheckLogService.save(checkLog); |
| | | mallOrder.setOrderStatus(301L); |
| | | mallOrderService.updateById(mallOrder); |
| | | } |
| | | } else { |
| | | tjFlowingWater.setCopeWith(tjOrder.getTjFlowingWater().getCopeWith()); |
| | | tjFlowingWater.setPaidIn(tjOrder.getTjFlowingWater().getPaidIn()); |
| | | tjFlowingWater.setDiscount(tjOrder.getTjFlowingWater().getDiscount()); |
| | | // tjFlowingWater.setPayStasus(0L); |
| | | } |
| | | } else { |
| | | tjFlowingWater.setCopeWith(tjOrder.getTjFlowingWater().getCopeWith()); |
| | | tjFlowingWater.setPaidIn(tjOrder.getTjFlowingWater().getPaidIn()); |
| | | tjFlowingWater.setDiscount(tjOrder.getTjFlowingWater().getDiscount()); |
| | | tjFlowingWater.setPayStasus(0L); |
| | | } |
| | | if (tjFlowingWaterService.save(tjFlowingWater)) { |
| | | tjOrder.setTjSerialNumber(String.valueOf(tjFlowingWater.getTjSerialNumber())); |
| | |
| | | //个人 |
| | | if ("2".equals(tjOrder.getTjType())) { |
| | | |
| | | // asyncService.newSaveextracted(tjOrder, tjCustomer, discount, sysUser, tjReservation, tjFlowingWater); |
| | | //asyncService.newSaveextracted(tjOrder, tjCustomer, discount, sysUser, tjReservation, tjFlowingWater); |
| | | newSaveextracted(tjOrder, tjCustomer, discount, sysUser, tjReservation, tjFlowingWater); |
| | | } |
| | | |
| | | //调用SQL server拿取收费情况 |
| | | List<LtkjMiddleHead> one = testMapper.saveMiddleHeadByPatId(tjCustomer.getCusIdcard()); |
| | | if (one!=null){ |
| | | for (LtkjMiddleHead ltkjMiddleHead : one) { |
| | | DynamicDataSourceContextHolder.setDataSourceType(DataSourceType.MASTER.name()); |
| | | headService.save(ltkjMiddleHead); |
| | | DynamicDataSourceContextHolder.clearDataSourceType(); |
| | | List<LtkjMiddleDetail> detailList = testMapper.getMiddleDetailByHeadId(ltkjMiddleHead.getFeadId()); |
| | | if (detailList!=null){ |
| | | for (LtkjMiddleDetail ltkjMiddleDetail : detailList) { |
| | | DynamicDataSourceContextHolder.setDataSourceType(DataSourceType.MASTER.name()); |
| | | middleDetailService.save(ltkjMiddleDetail); |
| | | DynamicDataSourceContextHolder.clearDataSourceType(); |
| | | } |
| | | } |
| | | } |
| | | |
| | | } |
| | | //根据配置调取存储过程 将临时表数据存入预约表2023.12.12 |
| | | // final String getInfoFromSqlData = configService.selectConfigByKey("getInfoFromSqlData"); |
| | | // if ("Y".equals(getInfoFromSqlData)){ |
| | | // List<LtkjMiddleHead> one = testMapper.saveMiddleHeadByPatId(tjCustomer.getCusIdcard()); |
| | | // if (one!=null){ |
| | | // for (LtkjMiddleHead ltkjMiddleHead : one) { |
| | | // DynamicDataSourceContextHolder.setDataSourceType(DataSourceType.MASTER.name()); |
| | | // headService.save(ltkjMiddleHead); |
| | | // DynamicDataSourceContextHolder.clearDataSourceType(); |
| | | // List<LtkjMiddleDetail> detailList = testMapper.getMiddleDetailByHeadId(ltkjMiddleHead.getFeadId()); |
| | | // if (detailList!=null){ |
| | | // for (LtkjMiddleDetail ltkjMiddleDetail : detailList) { |
| | | // DynamicDataSourceContextHolder.setDataSourceType(DataSourceType.MASTER.name()); |
| | | // middleDetailService.save(ltkjMiddleDetail); |
| | | // DynamicDataSourceContextHolder.clearDataSourceType(); |
| | | // } |
| | | // } |
| | | // } |
| | | // |
| | | // } |
| | | // } |
| | | tjCustomer.setCardId("0"); |
| | | tjCustomerService.updateById(tjCustomer); |
| | | return AjaxResult.success(tjNumber); |
| | | } |
| | | return AjaxResult.error(); |
| | |
| | | if (null != proIds1 && !proIds1.equals("")) { |
| | | proIds = JSON.parseArray(proIds1.toString(), Long.class); |
| | | } |
| | | TjCustomer tjCustomer = tjCustomerService.getTjCustomerByCusIdCard(cusId); |
| | | String cardId ="0"; |
| | | if(null !=tjCustomer){ |
| | | cardId = tjCustomer.getCardId(); |
| | | } |
| | | if ((null == proIds || proIds.size() == 0) && (null == packId || packId.equals(""))) { |
| | | transitionService.deletedTbTransitionByCusId(cusId); |
| | | if (redisCache.hasKey(cusId)) redisCache.deleteObject(cusId); |
| | | if (redisCache.hasKey(cusId + "cusId")) redisCache.deleteCacheMapValue(cusId + "cusId", cusId); |
| | | if (redisCache.hasKey(cardId+cusId + "cusId")) redisCache.deleteCacheMapValue(cardId+cusId + "cusId", cardId+cusId); |
| | | |
| | | } |
| | | List<TbTransition> tbTransitionList = null; |
| | | if (!redisCache.hasKey(cusId)) { |
| | | if (!redisCache.hasKey(cardId+cusId)) { |
| | | tbTransitionList = new ArrayList<>(); |
| | | } else { |
| | | tbTransitionList = redisCache.getCacheList(cusId); |
| | | tbTransitionList = redisCache.getCacheList(cardId+cusId); |
| | | } |
| | | //套餐 |
| | | if (null != packId && !packId.equals("")) { |
| | | Long pacId = Long.valueOf(packId.toString()); |
| | | List<TbTransition> list = transitionService.getTbTransitionListByCusIdAndPac(cusId, String.valueOf(pacId)); |
| | | if (null == list || list.size() == 0) { |
| | | transitionService.deletedTbTransitionListByCusIdAndPac(cusId); |
| | | if (redisCache.hasKey(cusId + "cusId")) redisCache.deleteCacheMapValue(cusId + "cusId", cusId); |
| | | if (redisCache.hasKey(cusId)) { |
| | | transitionService.deletedTbTransitionListByCusIdAndPac(cusId,cardId); |
| | | if (redisCache.hasKey(cardId+cusId + "cusId")) redisCache.deleteCacheMapValue(cardId+cusId + "cusId", cardId+cusId); |
| | | if (redisCache.hasKey(cardId+cusId)) { |
| | | tbTransitionList = new ArrayList<>(); |
| | | redisCache.deleteObject(cusId); |
| | | redisCache.deleteObject(cardId+cusId); |
| | | } |
| | | List<TjPackageProject> ppList = tjPackageProjectService.getTjPackageProjectListByPacId(String.valueOf(pacId)); |
| | | if (null != ppList && ppList.size() > 0) { |
| | |
| | | } |
| | | } |
| | | if (null != tbTransitionList && tbTransitionList.size() > 0) { |
| | | if (redisCache.hasKey(cusId)) { |
| | | redisCache.deleteObject(cusId); |
| | | redisCache.setCacheList(cusId, tbTransitionList); |
| | | redisCache.setCacheMapValue(cusId + "cusId", cusId, getMaps(cusId)); |
| | | if (redisCache.hasKey(cardId+cusId)) { |
| | | redisCache.deleteObject(cardId+cusId); |
| | | redisCache.setCacheList(cardId+cusId, tbTransitionList); |
| | | redisCache.setCacheMapValue(cardId+cusId + "cusId", cardId+cusId, getMaps(cusId,cardId)); |
| | | } else { |
| | | redisCache.setCacheList(cusId, tbTransitionList); |
| | | redisCache.setCacheMapValue(cusId + "cusId", cusId, getMaps(cusId)); |
| | | redisCache.setCacheList(cardId+cusId, tbTransitionList); |
| | | redisCache.setCacheMapValue(cardId+cusId + "cusId", cardId+cusId, getMaps(cusId,cardId)); |
| | | } |
| | | } |
| | | return AjaxResult.success(); |
| | |
| | | List<Map<String, Object>> list = redisCache.getCacheMapValue(cusId + "cusId", cusId); |
| | | return AjaxResult.success(list); |
| | | } |
| | | List<Map<String, Object>> list = getMaps(cusId); |
| | | TjCustomer tjCustomer = tjCustomerService.getTjCustomerByCusIdCard(cusId); |
| | | String cardId ="0"; |
| | | if(null !=tjCustomer){ |
| | | cardId = tjCustomer.getCardId(); |
| | | } |
| | | List<Map<String, Object>> list = getMaps(cusId,cardId); |
| | | return AjaxResult.success(list); |
| | | } |
| | | |
| | |
| | | for (TjOrderRemark remark : remarkList) { |
| | | TjProject project = projectService.getTjProjectById(String.valueOf(remark.getProId())); |
| | | if (null != project) { |
| | | if ("N".equals(project.getNeedReport())){ |
| | | continue; |
| | | } |
| | | remark.setProCheckType(project.getProCheckType()); |
| | | remark.setProName(project.getProName()); |
| | | } |
| | |
| | | } |
| | | |
| | | |
| | | private List<Map<String, Object>> getMaps(String cusId) { |
| | | private List<Map<String, Object>> getMaps(String cusId,String cardId) { |
| | | |
| | | List<TbTransition> transitionList = null; |
| | | if (redisCache.hasKey(cusId)) { |
| | | transitionList = redisCache.getCacheList(cusId); |
| | | if (redisCache.hasKey(cardId+cusId)) { |
| | | transitionList = redisCache.getCacheList(cardId+cusId); |
| | | } else { |
| | | transitionList = transitionService.getTbTransitionListByCusId(cusId); |
| | | transitionList = transitionService.getTbTransitionListByCusId(cusId,cardId); |
| | | } |
| | | if (null == transitionList) return null; |
| | | Map<Long, List<TbTransition>> collect = transitionList.stream().collect(Collectors.groupingBy(TbTransition::getParentProId)); |
| | |
| | | } |
| | | |
| | | public void newSaveextracted(TjOrder tjOrder, TjCustomer tjCustomer, BigDecimal discount, SysUser sysUser, TjReservation tjReservation, TjFlowingWater tjFlowingWater) { |
| | | long l = System.currentTimeMillis(); |
| | | tjAskMedicalHistoryService.updateTjAskMedicalHistoryByCusId(tjOrder.getTjNumber(), sysUser.getNickName(), String.valueOf(sysUser.getUserId()), String.valueOf(tjCustomer.getCusId())); |
| | | tjOrderDetailService.saveTjOrderDetailsByCusId(tjCustomer.getCusIdcard(), String.valueOf(tjOrder.getOrderId()), sysUser.getNickName(), String.valueOf(sysUser.getUserId())); |
| | | //修改每项的原价现价 |
| | | transitionService.updateTbTransitionPriceByCusId(tjCustomer.getCusIdcard(), discount); |
| | | //修改每项的原价现价 //修改临时表体检号 |
| | | transitionService.updateTbTransitionPriceByCusId(tjCustomer.getCusIdcard(), discount,tjOrder.getTjNumber()); |
| | | //添加remark表数据 |
| | | remarkService.saveTjOrderRemarkByOrderId(tjOrder.getTjNumber(), sysUser.getNickName(), String.valueOf(sysUser.getUserId()), String.valueOf(tjOrder.getOrderId())); |
| | | //判断是否交钱 |
| | |
| | | sysUser.getNickName(), String.valueOf(sysUser.getUserId()), String.valueOf(tjFlowingWater.getTjSerialNumber())); |
| | | } |
| | | } |
| | | if (tjFlowingWater.getPayStasus() == 1) { |
| | | if (tjFlowingWater.getPayStasus() == 1L) { |
| | | tjOrderDetailService.updateTjOrderDetailsByOrderId(String.valueOf(tjOrder.getOrderId()), |
| | | sysUser.getNickName(), String.valueOf(sysUser.getUserId()), String.valueOf(tjFlowingWater.getTjSerialNumber())); |
| | | } |
| | | System.out.println("这段代码时间" + (System.currentTimeMillis() - l)); |
| | | // System.out.println("这段代码时间" + (System.currentTimeMillis() - l)); |
| | | } |
| | | |
| | | |