| | |
| | | private ITbTransitionService transitionService; |
| | | @Resource |
| | | private ISysConfigService configService; |
| | | @Value("${path.filePath}") |
| | | private String value; |
| | | // @Value("${path.filePath}") |
| | | // private String value; |
| | | @Resource |
| | | private ITjOrderRemarkService remarkService; |
| | | @Resource |
| | |
| | | } |
| | | tjReservation.setIsExpire(1); |
| | | tjReservationService.updateById(tjReservation); |
| | | if (null != tjReservation.getTeamNo() && tjOrder.getTjType().equals("1")) { |
| | | tjOrder.setTjType("1"); |
| | | } else if (tjOrder.getTjType().equals("2")) { |
| | | tjOrder.setTjType("2"); |
| | | } |
| | | // if (null != tjReservation.getTeamNo() && tjOrder.getTjType().equals("1")) { |
| | | // tjOrder.setTjType("1"); |
| | | // } else if (tjOrder.getTjType().equals("2")) { |
| | | // tjOrder.setTjType("2"); |
| | | // } |
| | | } |
| | | if (StringUtil.isBlank(tjOrder.getFirmId())) { |
| | | tjOrder.setFirmId("0"); |
| | |
| | | |
| | | List<TbTransition> list = tbTransitionService.list(wrapper); |
| | | BigDecimal zongjia = new BigDecimal("0.0"); |
| | | |
| | | // his直接单开体检费单项目总价编码 |
| | | String tjfhisxmbm = configService.selectConfigByKey("tjfhisxmbm"); |
| | | // 是否开启his直接单开体检费单项目 N使用明细开单 其他都为单项目开总价 |
| | | String lycdzjhmxj = configService.selectConfigByKey("lycdzjhmxj"); |
| | | // 是否使用his价格传递规则 Y开启 |
| | | String sfsyhisjgrule = configService.selectConfigByKey("sfsyhisjgrule"); |
| | | // his价格传递规则保留得位数 默认2位 |
| | | String sfsyhisjgrulebaoliuweishu = configService.selectConfigByKey("sfsyhisjgrulebaoliuweishu"); |
| | | // his价格传递规则 1四舍五入 2直接舍去 |
| | | String sfsyhisjgrulesconfig = configService.selectConfigByKey("sfsyhisjgrulesconfig"); |
| | | |
| | | for (TbTransition transition : list) { |
| | | LambdaQueryWrapper<TjProject> wrapper1 = new LambdaQueryWrapper<>(); |
| | | wrapper1.eq(TjProject::getProId, transition.getProId()); |
| | |
| | | int sl = 1; |
| | | BigDecimal danjia = transition.getNowPrice(); |
| | | BigDecimal allPrice = danjia.multiply(new BigDecimal(sl)); |
| | | if (StrUtil.isNotBlank(sfsyhisjgrule) && sfsyhisjgrule.equalsIgnoreCase("Y")){ |
| | | int baoliuweishu = 2; |
| | | if (StrUtil.isNotBlank(sfsyhisjgrulebaoliuweishu)){ |
| | | try { |
| | | baoliuweishu = Integer.parseInt(sfsyhisjgrulebaoliuweishu); |
| | | } catch (NumberFormatException e) { |
| | | log.error("his价格传递规则保留位数转换异常 配置值->{}\n{}{}",sfsyhisjgrulebaoliuweishu,e,e.getMessage()); |
| | | return AjaxResult.error(); |
| | | } |
| | | } |
| | | if (StrUtil.isNotBlank(sfsyhisjgrulesconfig) && !sfsyhisjgrulesconfig.equalsIgnoreCase("1")){ |
| | | // 其他自定义的规则计算方法 |
| | | }else { |
| | | // 四舍五入 |
| | | danjia = danjia.setScale(baoliuweishu, RoundingMode.HALF_UP); |
| | | allPrice = danjia.multiply(new BigDecimal(sl)).setScale(baoliuweishu, RoundingMode.HALF_UP); |
| | | } |
| | | } |
| | | obj.putOpt("danJia", danjia); |
| | | obj.putOpt("jieSuanJe", allPrice); |
| | | obj.putOpt("shuliang", sl); |
| | |
| | | array.add(obj); |
| | | zongjia = zongjia.add(allPrice); |
| | | } |
| | | map.put("feiYongInfoList", array); |
| | | |
| | | if(StringUtil.isNotBlank(lycdzjhmxj) && lycdzjhmxj.equalsIgnoreCase("N")){ |
| | | map.put("feiYongInfoList", array); |
| | | }else { |
| | | zongjia = tjFlowingWater.getPaidIn(); |
| | | JSONArray zjarray = JSONUtil.createArray(); |
| | | JSONObject obj = JSONUtil.createObj(); |
| | | int sl = 1; |
| | | obj.putOpt("danJia", zongjia); |
| | | obj.putOpt("jieSuanJe", zongjia); |
| | | obj.putOpt("shuliang", sl); |
| | | obj.putOpt("zhiXingKs", "100"); |
| | | obj.putOpt("zhiXingKsMc","体检中心"); |
| | | obj.putOpt("shouFeiXmId", tjfhisxmbm); |
| | | obj.putOpt("shouFeiXmMc", "体检费"); |
| | | zjarray.add(obj); |
| | | map.put("feiYongInfoList", zjarray); |
| | | } |
| | | |
| | | log.info("调用His接口前 收费总价:{}", zongjia.toString()); |
| | | |
| | | String post = HttpClientUtils.sendPost(apiUrl + "/api/his/" + hospbm + "/creatCostInfo", map); |
| | |
| | | transitionService.saveRedisTransitionByPacId(cusId, cardId, pacId); |
| | | |
| | | //补差价 |
| | | List<Map<String, Object>> cjMaps = groupingProService.huoquxiangmuchajia(pacId.toString(), cusId); |
| | | List<Map<String, Object>> cjMaps = transitionService.addTbhuoquxiangmuchajia(pacId.toString(), cusId); |
| | | if (null != cjMaps && !cjMaps.isEmpty()) { |
| | | log.info("该套餐"+pacId+"中有差价:"+cjMaps.size()+"个"); |
| | | for (Map<String, Object> cjMap : cjMaps) { |
| | | log.info("添加临时表套餐数据时所选的差价为:"+ cjMap.get("cj").toString()); |
| | | transitionService.buxiangmuchajia(cusId, pacId.toString(), cjMap.get("xmid").toString(), new BigDecimal(cjMap.get("cj").toString())); |
| | | } |
| | | } |
| | |
| | | TjReport tjReport = new TjReport(); |
| | | tjReport.setTjNumber(String.valueOf(tjNumber)); |
| | | tjReport.setPath(urlValue + outputFileName1); |
| | | String outputPath1 = value + File.separator; |
| | | // String outputPath1 = value + File.separator; |
| | | // String pdfBinary = getPDFBinary(outputPath1 + outputFileName1); |
| | | // tjReport.setReport(pdfBinary); |
| | | tjReport.setType("体检报告"); |
| | |
| | | |
| | | TjOrder order = tjOrderService.getOrderByTjNum(tjNum); |
| | | if (null != order) { |
| | | // String payByTjNum = tjOrderService.isPayByTjNum(String.valueOf(order.getOrderId())); |
| | | // if (null != payByTjNum) { |
| | | // return AjaxResult.error("该用户已收费不可撤销签到!"); |
| | | // } |
| | | |
| | | if (null != order.getFinishTime()) return AjaxResult.error("该人员已签离,不可撤销!!!"); |
| | | |
| | | Boolean useLisAndPacsRegister = lisApiMethod.isUseLisAndPacsRegister(order); |
| | | String username = SecurityUtils.getUsername(); |
| | | LambdaQueryWrapper<TjCustomer> wrapper = new LambdaQueryWrapper<>(); |
| | | wrapper.eq(TjCustomer::getCusId, order.getUserId()); |
| | | TjCustomer tjCustomer = tjCustomerService.getOne(wrapper); |
| | | |
| | | String s = configService.selectConfigByKey("is_request_common_his_api"); |
| | | // if (null != s && s.equals("Y") && "2".equals(order.getTjType())) { |
| | |
| | | wrapper1.eq(TjFlowingWater::getOrderId, order.getOrderId()); |
| | | wrapper1.orderByDesc(TjFlowingWater::getJxbz); |
| | | List<TjFlowingWater> list = tjFlowingWaterService.list(wrapper1); |
| | | LambdaQueryWrapper<TjCustomer> wrapper = new LambdaQueryWrapper<>(); |
| | | wrapper.eq(TjCustomer::getCusId, order.getUserId()); |
| | | TjCustomer tjCustomer = tjCustomerService.getOne(wrapper); |
| | | |
| | | |
| | | for (TjFlowingWater water : list) { |
| | | if (water.getPayStasus() == 0L) { |
| | |
| | | } |
| | | } |
| | | |
| | | log.info("工号为: "+username+" 的用户即将撤销 体检号为:"+tjNum+" 的体检记录;" ); |
| | | AjaxResult error = zuofeiWeiZhifu(weizhifu, tjCustomer, apiUrl, hospbm, order, true, tjNum); |
| | | if (error != null && !error.get("code").toString().equals("200")) return error; |
| | | |
| | | if (error != null && !error.get("code").toString().equals("200")){ |
| | | log.info("工号为: "+username+" 的用户正在撤销 体检号为:"+tjNum+" 并且未支付的体检记录;" ); |
| | | return error; |
| | | } |
| | | AjaxResult error1 = zuofeiYiZhifu(yizhifu, tjCustomer, order, apiUrl, hospbm, false, tjNum); |
| | | if (error1 != null && !error.get("code").toString().equals("200")) return error1; |
| | | if (error1 != null && !error.get("code").toString().equals("200")) |
| | | { |
| | | log.info("工号为: "+username+" 的用户正在撤销 体检号为:"+tjNum+" 并且已支付的体检记录;" ); |
| | | return error1; |
| | | } |
| | | } else { |
| | | tjOrderService.deleteTjOrderByOrderId(order.getOrderId()); |
| | | tjOrderDetailService.deleteTjOrderDetailByOrderDetailId(String.valueOf(order.getOrderId())); |
| | |
| | | tjFlowingWaterService.deleteTjFlowingWaterByOrderId(String.valueOf(order.getOrderId())); |
| | | transitionService.deletedTbTransitionByTjNum(tjNum); |
| | | ycxmService.delOrderYcXmJyByTjh(tjNum); |
| | | |
| | | TjCustomer customer = tjCustomerService.getById(order.getUserId()); |
| | | customer.setCardId("0"); |
| | | tjCustomerService.updateById(customer); |
| | | tjCustomer.setCardId("0"); |
| | | tjCustomerService.updateById(tjCustomer); |
| | | xdPictureService.deleteTjXdPictureBytjNum(tjNum); |
| | | tjSamplingMapper.deleteByTjNumAndCusId(tjNum, order.getUserId()); |
| | | } |
| | |
| | | public AjaxResult revokeTjOrderByTjh(@RequestParam @ApiParam(value = "体检号") String tjNum) { |
| | | |
| | | TjOrder order = tjOrderService.getOrderByTjNum(tjNum); |
| | | String username = SecurityUtils.getUsername(); |
| | | log.info("工号为: "+username+" 的用户即将强制撤销 体检号为:"+tjNum+" 的体检记录;" ); |
| | | if (null != order) { |
| | | // String payByTjNum = tjOrderService.isPayByTjNum(String.valueOf(order.getOrderId())); |
| | | // if (null != payByTjNum) { |
| | | // return AjaxResult.error("该用户已收费不可撤销签到!"); |
| | | // } |
| | | //这里删除的是这个人所有项目包括补录项目 |
| | | tjOrderService.deleteTjOrderByOrderId(order.getOrderId()); |
| | | tjOrderDetailService.deleteTjOrderDetailByOrderDetailId(String.valueOf(order.getOrderId())); |
| | |
| | | } |
| | | |
| | | TjOrder order = tjOrderService.getOrderByTjNum(dto.getTjh()); |
| | | String username = SecurityUtils.getUsername(); |
| | | if (null != order) { |
| | | |
| | | log.info("工号为: "+username+" 的用户即将撤销 体检号为:"+dto.getTjh()+"补录单号为: " + dto.getBldhs()+ " 的 补录体检记录;" ); |
| | | String configByKey = configService.selectConfigByKey("sfkqdyhis"); |
| | | if (null != configByKey && configByKey.equals("Y")) { |
| | | log.info("dto的数据是" + JSONUtil.toJsonStr(dto)); |
| | |
| | | wrapper.eq(TjCustomer::getCusId, order.getUserId()); |
| | | TjCustomer tjCustomer = tjCustomerService.getOne(wrapper); |
| | | AjaxResult error = zuofeiWeiZhifu(weizhifu, tjCustomer, apiUrl, hospbm, order, true, dto.getTjh()); |
| | | if (error != null && !error.get("code").toString().equals("200")) return error; |
| | | if (error != null && !error.get("code").toString().equals("200")) |
| | | { |
| | | log.info("工号为: "+username+" 的用户正在撤销 体检号为:"+dto.getTjh()+"补录单号为: " + dto.getBldhs()+ " 并且未支付的补录体检记录;" ); |
| | | return error; |
| | | } |
| | | |
| | | AjaxResult error1 = zuofeiYiZhifu(yizhifu, tjCustomer, order, apiUrl, hospbm, false, dto.getTjh()); |
| | | if (error1 != null && !error.get("code").toString().equals("200")) return error1; |
| | | if (error1 != null && !error.get("code").toString().equals("200")) |
| | | { |
| | | log.info("工号为: "+username+" 的用户正在撤销 体检号为:"+dto.getTjh()+"补录单号为: " + dto.getBldhs()+ " 并且已支付的补录体检记录;" ); |
| | | return error1; |
| | | } |
| | | return AjaxResult.success(); |
| | | } else { |
| | | try { |
| | |
| | | @GetMapping(value = "newgetTransitionList") |
| | | @ApiOperation(value = "最新查询过渡表数据") |
| | | public AjaxResult newgetTransitionList(@RequestParam @ApiParam(value = "客户id") String cusId) { |
| | | // String pacId = transitionService.getTbTransitionPacId(cusId); |
| | | // if(StringUtil.isNotBlank(pacId)){ |
| | | // //补差价 |
| | | // List<Map<String,Object>> cjMaps = groupingProService.huoquxiangmuchajia(pacId, cusId); |
| | | // if(null !=cjMaps && !cjMaps.isEmpty()){ |
| | | // for (Map<String, Object> cjMap : cjMaps) { |
| | | // transitionService.buxiangmuchajia(cusId,pacId,cjMap.get("xmid").toString(),new BigDecimal(cjMap.get("cj").toString())); |
| | | // } |
| | | // } |
| | | // } |
| | | List<TbTransition> list = transitionService.newgetTransitionList(cusId); |
| | | return AjaxResult.success(list); |
| | | } |