| | |
| | | import java.util.concurrent.*; |
| | | import java.util.concurrent.locks.ReentrantLock; |
| | | import java.util.stream.Collectors; |
| | | import java.util.stream.IntStream; |
| | | import java.util.stream.Stream; |
| | | import javax.annotation.Resource; |
| | | import javax.servlet.http.HttpServletRequest; |
| | |
| | | import com.ltkj.common.core.redis.RedisCache; |
| | | import com.ltkj.common.enums.DataSourceType; |
| | | import com.ltkj.common.utils.*; |
| | | import com.ltkj.db.DataSourceContextHolder; |
| | | import com.ltkj.framework.config.MatchUtils; |
| | | import com.ltkj.framework.config.ThreadPoolConfig; |
| | | import com.ltkj.framework.config.UserHoder; |
| | |
| | | import com.ltkj.web.controller.lis.LisApiMethod; |
| | | import com.ltkj.web.controller.pacs.PacsApiMethodService; |
| | | import com.ltkj.web.controller.service.TjSysAsyncServiceImpl; |
| | | import com.ltkj.web.controller.service.UtilsService; |
| | | import com.ltkj.web.wxUtils.HttpClientUtils; |
| | | import io.swagger.annotations.Api; |
| | | import io.swagger.annotations.ApiOperation; |
| | |
| | | private TjOrderYcxmService ycxmService; |
| | | @Autowired |
| | | private TbTransitionMapper tbTransitionMapper; |
| | | @Autowired |
| | | private UtilsService utilsService; |
| | | |
| | | private static final String TJH = "tjhs:tjh"; |
| | | |
| | |
| | | // tjOrder.setTjType("2"); |
| | | // } |
| | | } |
| | | utilsService.saveCustomerSfzImg(tjOrder.getSfzImg(), DataSourceContextHolder.getDataSourceKey(), String.valueOf(tjCustomer.getCusId())); |
| | | 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"); |
| | | // 传递项目是否使用his科室 |
| | | String isUseHisKs = configService.selectConfigByKey("isCreateMenZhenFyUseHisKs"); |
| | | String createMenZhenFyZJUseHisKs = configService.selectConfigByKey("createMenZhenFyZJUseHisKs"); |
| | | |
| | | for (TbTransition transition : list) { |
| | | LambdaQueryWrapper<TjProject> wrapper1 = new LambdaQueryWrapper<>(); |
| | |
| | | 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); |
| | | obj.putOpt("zhiXingKs", dept.getDeptId()); |
| | | obj.putOpt("zhiXingKsMc", dept.getDeptName()); |
| | | if (isUseHisKs.equalsIgnoreCase("Y")){ |
| | | obj.putOpt("zhiXingKs", dept.getHisksid()); |
| | | obj.putOpt("zhiXingKsMc", dept.getHisksmc()); |
| | | }else { |
| | | obj.putOpt("zhiXingKs", dept.getDeptId()); |
| | | obj.putOpt("zhiXingKsMc", dept.getDeptName()); |
| | | } |
| | | obj.putOpt("shouFeiXmId", project.getHisXmbm()); |
| | | obj.putOpt("shouFeiXmMc", project.getHisXmmc()); |
| | | array.add(obj); |
| | |
| | | } |
| | | |
| | | if(StringUtil.isNotBlank(lycdzjhmxj) && lycdzjhmxj.equalsIgnoreCase("N")){ |
| | | BigDecimal paidIn = tjFlowingWater.getPaidIn(); |
| | | BigDecimal difference = zongjia.subtract(paidIn); |
| | | if (difference.compareTo(BigDecimal.ZERO) > 0) { |
| | | log.info("金额多出了:{}",difference); |
| | | log.info("-----------------------原明细-------------------------"); |
| | | calculateTotalPrice(array,false); |
| | | log.info("-----------------------新明细-------------------------"); |
| | | adjustPrice(array,paidIn); |
| | | zongjia = calculateTotalPrice(array,true); |
| | | } else if (difference.compareTo(BigDecimal.ZERO) < 0) { |
| | | log.info("金额缺少了:{}", difference.abs()); |
| | | log.info("-----------------------原明细-------------------------"); |
| | | calculateTotalPrice(array,false); |
| | | log.info("-----------------------新明细-------------------------"); |
| | | adjustPrice(array,paidIn); |
| | | zongjia = calculateTotalPrice(array,true); |
| | | } |
| | | 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"); |
| | | if (isUseHisKs.equalsIgnoreCase("Y")){ |
| | | if (StrUtil.isBlank(createMenZhenFyZJUseHisKs)) return AjaxResult.error(); |
| | | obj.putOpt("zhiXingKs", createMenZhenFyZJUseHisKs); |
| | | }else { |
| | | obj.putOpt("zhiXingKs", "100"); |
| | | } |
| | | obj.putOpt("zhiXingKsMc","体检中心"); |
| | | obj.putOpt("shouFeiXmId", tjfhisxmbm); |
| | | obj.putOpt("shouFeiXmMc", "体检费"); |
| | |
| | | return AjaxResult.error(); |
| | | } |
| | | } |
| | | return null; |
| | | } |
| | | |
| | | /** |
| | | * 判断总价是否一致 是否进行价格补减 |
| | | * - 保证所有单价不为负数 |
| | | * - 差额分摊策略为:平均分摊 + 误差补最后一项 |
| | | * |
| | | * @param items his传递的明细项目 |
| | | * @param targetTotal 总价 |
| | | */ |
| | | public static void adjustPrice(JSONArray items, BigDecimal targetTotal) { |
| | | BigDecimal actualTotal = BigDecimal.ZERO; |
| | | int size = items.size(); |
| | | |
| | | // 计算目前明细集合总价 |
| | | for (int i = 0; i < size; i++) { |
| | | JSONObject item = items.getJSONObject(i); |
| | | BigDecimal danJia = item.getBigDecimal("danJia"); |
| | | BigDecimal shuliang = item.getBigDecimal("shuliang"); |
| | | BigDecimal jieSuanJe = danJia.multiply(shuliang).setScale(2, RoundingMode.HALF_UP); |
| | | item.set("jieSuanJe", jieSuanJe); |
| | | actualTotal = actualTotal.add(jieSuanJe); |
| | | } |
| | | BigDecimal diff = targetTotal.subtract(actualTotal).setScale(2, RoundingMode.HALF_UP); |
| | | // 无需调整 |
| | | if (diff.compareTo(BigDecimal.ZERO) == 0 || size == 0) { |
| | | return; |
| | | } |
| | | |
| | | // 剩余待分摊差额 |
| | | BigDecimal remainingDiff = diff; |
| | | for (int i = 0; i < size; i++) { |
| | | JSONObject item = items.getJSONObject(i); |
| | | BigDecimal danJia = item.getBigDecimal("danJia"); |
| | | BigDecimal shuliang = item.getBigDecimal("shuliang"); |
| | | |
| | | if (shuliang.compareTo(BigDecimal.ZERO) == 0) continue; |
| | | |
| | | // 分摊比例(平均分) |
| | | // 示例:若剩余差额 remainingDiff = 1.50,剩余 3 项,当前 portion = 1.50 ÷ 3 = 0.50 |
| | | BigDecimal portion = remainingDiff.divide(new BigDecimal(size - i), 10, RoundingMode.HALF_UP); |
| | | |
| | | // 分摊到单价上 |
| | | // 示例:portion = 0.50,shuliang = 2,deltaPerUnit = 0.25 |
| | | BigDecimal deltaPerUnit = portion.divide(shuliang, 10, RoundingMode.HALF_UP); |
| | | |
| | | // 调整单价:新单价 = 原单价 + 单位差额 |
| | | BigDecimal adjustedDanJia = danJia.add(deltaPerUnit).setScale(2, RoundingMode.HALF_UP); |
| | | |
| | | // 防止负数价格 |
| | | if (adjustedDanJia.compareTo(BigDecimal.ZERO) < 0) { |
| | | adjustedDanJia = BigDecimal.ZERO; |
| | | } |
| | | |
| | | item.set("danJia", adjustedDanJia); |
| | | BigDecimal adjustedJieSuan = adjustedDanJia.multiply(shuliang).setScale(2, RoundingMode.HALF_UP); |
| | | item.set("jieSuanJe", adjustedJieSuan); |
| | | |
| | | // 计算本次实际调整的差额,继续分摊剩余部分 |
| | | BigDecimal oldJieSuan = danJia.multiply(shuliang).setScale(2, RoundingMode.HALF_UP); |
| | | remainingDiff = remainingDiff.subtract(adjustedJieSuan.subtract(oldJieSuan)); |
| | | } |
| | | |
| | | // 若仍存在小额差额(如由于四舍五入导致),尝试把差额补到最后一项 |
| | | if (remainingDiff.abs().compareTo(new BigDecimal("0.01")) > 0) { |
| | | JSONObject lastItem = items.getJSONObject(size - 1); |
| | | BigDecimal danJia = lastItem.getBigDecimal("danJia"); |
| | | BigDecimal shuliang = lastItem.getBigDecimal("shuliang"); |
| | | if (shuliang.compareTo(BigDecimal.ZERO) != 0) { |
| | | BigDecimal delta = remainingDiff.divide(shuliang, 10, RoundingMode.HALF_UP); |
| | | BigDecimal newDanJia = danJia.add(delta).setScale(2, RoundingMode.HALF_UP); |
| | | if (newDanJia.compareTo(BigDecimal.ZERO) < 0) { |
| | | newDanJia = BigDecimal.ZERO; |
| | | } |
| | | lastItem.set("danJia", newDanJia); |
| | | BigDecimal newJieSuan = newDanJia.multiply(shuliang).setScale(2, RoundingMode.HALF_UP); |
| | | lastItem.set("jieSuanJe", newJieSuan); |
| | | } |
| | | } |
| | | } |
| | | |
| | | /** |
| | | * 明细价格日志输出 |
| | | * @param array |
| | | */ |
| | | public static BigDecimal calculateTotalPrice(JSONArray array,Boolean isOverride) { |
| | | BigDecimal total = BigDecimal.ZERO; |
| | | for (int i = 0; i < array.size(); i++) { |
| | | JSONObject obj = array.getJSONObject(i); |
| | | BigDecimal danJia = new BigDecimal(obj.getStr("danJia", "0")).setScale(2, RoundingMode.HALF_UP); |
| | | BigDecimal shuliang = new BigDecimal(obj.getStr("shuliang", "0")).setScale(2, RoundingMode.HALF_UP); |
| | | BigDecimal jieSuanJe = danJia.multiply(shuliang).setScale(2, RoundingMode.HALF_UP); |
| | | obj.set("danJia", danJia); |
| | | obj.set("shuliang", shuliang); |
| | | obj.set("jieSuanJe", jieSuanJe); |
| | | total = total.add(jieSuanJe); |
| | | log.info(String.format("第%d项 -> 单价: %s, 数量: %s, 结算金额: %s", i + 1, danJia, shuliang, jieSuanJe)); |
| | | } |
| | | log.info("总价为: {}", total.setScale(2, RoundingMode.HALF_UP)); |
| | | if (isOverride) return total.setScale(2, RoundingMode.HALF_UP); |
| | | return null; |
| | | } |
| | | |
| | |
| | | for (TbTransition tbTransition : list) { |
| | | if (tbTransition.getParentProId().toString().equals(project.getProId().toString())) { |
| | | JSONObject obj = JSONUtil.createObj(); |
| | | TjOrderRemark remark = remarkService.getTjOrderRemarkByTjNumAndProParentId(tjNumber, tbTransition.getParentProId().toString()); |
| | | obj.putOpt("index", index++); |
| | | obj.putOpt("parent_pro_name", tbTransition.getParentProName()); |
| | | obj.putOpt("price", tbTransition.getOrdPrice()); |
| | | obj.putOpt("ks", dept.getDeptName()); |
| | | if(null !=remark) obj.putOpt("sfzt", remark.getSfbz()); |
| | | huiZong.add(obj); |
| | | } |
| | | } |
| | |
| | | TjOrder order = tjOrderService.getOrderByTjNum(tjNum); |
| | | if (null != order) { |
| | | |
| | | if (null != order.getFinishTime()) return AjaxResult.error("该人员已签离,不可撤销!!!"); |
| | | if (null != order.getPrintLastTime()) return AjaxResult.error("该人员报告已打印,不可撤销!!!"); |
| | | |
| | | Boolean useLisAndPacsRegister = lisApiMethod.isUseLisAndPacsRegister(order); |
| | | String username = SecurityUtils.getUsername(); |
| | |
| | | TjCustomer tjCustomer = tjCustomerService.getOne(wrapper); |
| | | |
| | | String s = configService.selectConfigByKey("is_request_common_his_api"); |
| | | // if (null != s && s.equals("Y") && "2".equals(order.getTjType())) { |
| | | |
| | | if (null != s && s.equals("Y") && !useLisAndPacsRegister) { |
| | | String apiUrl = configService.selectConfigByKey("common_api_url"); |
| | | String hospbm = configService.selectConfigByKey("common_api_service_hospbm"); |
| | |
| | | for (TjFlowingWater water : list) { |
| | | if (water.getPayStasus() == 0L) { |
| | | weizhifu.add(water); |
| | | } else { |
| | | } else if (water.getPayStasus() == 1L){ |
| | | yizhifu.add(water); |
| | | } |
| | | } |
| | |
| | | log.info("工号为: "+username+" 的用户即将撤销 体检号为:"+tjNum+" 的体检记录;" ); |
| | | AjaxResult error = zuofeiWeiZhifu(weizhifu, tjCustomer, apiUrl, hospbm, order, true, tjNum); |
| | | if (error != null && !error.get("code").toString().equals("200")){ |
| | | log.info("工号为: "+username+" 的用户正在撤销 体检号为:"+tjNum+" 并且未支付的体检记录;" ); |
| | | log.info("工号为: "+username+" 的用户正在撤销 体检号为:"+tjNum+" 并且未支付的体检记录; 撤销失败!!!!" ); |
| | | return error; |
| | | }else { |
| | | log.info("工号为: "+username+" 的用户正在撤销 体检号为:"+tjNum+" 并且未支付的体检记录;" ); |
| | | } |
| | | AjaxResult error1 = zuofeiYiZhifu(yizhifu, tjCustomer, order, apiUrl, hospbm, false, tjNum); |
| | | if (error1 != null && !error.get("code").toString().equals("200")) |
| | | { |
| | | log.info("工号为: "+username+" 的用户正在撤销 体检号为:"+tjNum+" 并且已支付的体检记录;" ); |
| | | log.info("工号为: "+username+" 的用户正在撤销 体检号为:"+tjNum+" 并且已支付的体检记录; 撤销失败!!!!" ); |
| | | return error1; |
| | | }else { |
| | | log.info("工号为: "+username+" 的用户正在撤销 体检号为:"+tjNum+" 并且已支付的体检记录;" ); |
| | | } |
| | | } else { |
| | | tjOrderService.deleteTjOrderByOrderId(order.getOrderId()); |
| | | tjOrderDetailService.deleteTjOrderDetailByOrderDetailId(String.valueOf(order.getOrderId())); |
| | | remarkService.deletedOrderRemarkByTjNum(tjNum); |
| | | tjFlowingWaterService.deleteTjFlowingWaterByOrderId(String.valueOf(order.getOrderId())); |
| | | transitionService.deletedTbTransitionByTjNum(tjNum); |
| | | ycxmService.delOrderYcXmJyByTjh(tjNum); |
| | | tjCustomer.setCardId("0"); |
| | | tjCustomerService.updateById(tjCustomer); |
| | | xdPictureService.deleteTjXdPictureBytjNum(tjNum); |
| | | tjSamplingMapper.deleteByTjNumAndCusId(tjNum, order.getUserId()); |
| | | |
| | | } |
| | | |
| | | |
| | | String configByKey = configService.selectConfigByKey("sfkqdyhis"); |
| | | if (configByKey.equals("Y")) { |
| | |
| | | } |
| | | |
| | | } |
| | | |
| | | tjCustomer.setCardId("0"); |
| | | tjCustomerService.updateById(tjCustomer); |
| | | /* tjOrderService.deleteTjOrderByOrderId(order.getOrderId()); |
| | | tjOrderDetailService.deleteTjOrderDetailByOrderDetailId(String.valueOf(order.getOrderId())); |
| | | remarkService.deletedOrderRemarkByTjNum(tjNum); |
| | | tjFlowingWaterService.deleteTjFlowingWaterByOrderId(String.valueOf(order.getOrderId())); |
| | | transitionService.deletedTbTransitionByTjNum(tjNum); |
| | | ycxmService.delOrderYcXmJyByTjh(tjNum); |
| | | xdPictureService.deleteTjXdPictureBytjNum(tjNum); |
| | | tjSamplingMapper.deleteByTjNumAndCusId(tjNum, order.getUserId());*/ |
| | | tjOrderService.removeById(order.getOrderId()); |
| | | return AjaxResult.success("撤销成功"); |
| | | } |
| | | return AjaxResult.success("签到记录不存在!"); |
| | | return AjaxResult.error("签到记录不存在!"); |
| | | } |
| | | |
| | | |
| | |
| | | |
| | | TjOrder order = tjOrderService.getOrderByTjNum(tjNum); |
| | | if (null != order) { |
| | | |
| | | LambdaQueryWrapper<TjProBl> wq = new LambdaQueryWrapper<>(); |
| | | wq.eq(TjProBl::getTjh, tjNum); |
| | | List<TjProBl> blList = blService.list(wq); |
| | |
| | | TjOrder order = tjOrderService.getOrderByTjNum(dto.getTjh()); |
| | | String username = SecurityUtils.getUsername(); |
| | | if (null != order) { |
| | | |
| | | if (null != order.getPrintLastTime()) return AjaxResult.error("该人员报告已打印,不可撤销!!!"); |
| | | |
| | | log.info("工号为: "+username+" 的用户即将撤销 体检号为:"+dto.getTjh()+"补录单号为: " + dto.getBldhs()+ " 的 补录体检记录;" ); |
| | | String configByKey = configService.selectConfigByKey("sfkqdyhis"); |
| | |
| | | TjFlowingWater water = tjFlowingWaterService.getOne(wrapper); |
| | | if (water.getPayStasus() == 0L) { |
| | | weizhifu.add(water); |
| | | } else { |
| | | } else if (water.getPayStasus() == 1L){ |
| | | yizhifu.add(water); |
| | | } |
| | | } |
| | |
| | | AjaxResult error = zuofeiWeiZhifu(weizhifu, tjCustomer, apiUrl, hospbm, order, true, dto.getTjh()); |
| | | if (error != null && !error.get("code").toString().equals("200")) |
| | | { |
| | | log.info("工号为: "+username+" 的用户正在撤销 体检号为:"+dto.getTjh()+"补录单号为: " + dto.getBldhs()+ " 并且未支付的补录体检记录;" ); |
| | | log.info("体检号为:"+dto.getTjh()+"补录单号为: " + dto.getBldhs()+ " 并且未支付的补录体检记录; 撤销失败" ); |
| | | return error; |
| | | }else { |
| | | log.info("工号为: "+username+" 的用户正在撤销 体检号为:"+dto.getTjh()+"补录单号为: " + dto.getBldhs()+ " 并且未支付的补录体检记录;" ); |
| | | } |
| | | |
| | | AjaxResult error1 = zuofeiYiZhifu(yizhifu, tjCustomer, order, apiUrl, hospbm, false, dto.getTjh()); |
| | | if (error1 != null && !error.get("code").toString().equals("200")) |
| | | { |
| | | log.info("工号为: "+username+" 的用户正在撤销 体检号为:"+dto.getTjh()+"补录单号为: " + dto.getBldhs()+ " 并且已支付的补录体检记录;" ); |
| | | log.info("体检号为:"+dto.getTjh()+"补录单号为: " + dto.getBldhs()+ " 并且已支付的补录体检记录; 撤销失败" ); |
| | | return error1; |
| | | }else { |
| | | log.info("工号为: "+username+" 的用户正在撤销 体检号为:"+dto.getTjh()+"补录单号为: " + dto.getBldhs()+ " 并且已支付的补录体检记录;" ); |
| | | } |
| | | return AjaxResult.success(); |
| | | } else { |
| | | } |
| | | |
| | | try { |
| | | extracted(dto, order); |
| | | } catch (Exception e) { |
| | | log.info("撤销失败,删除表失败"); |
| | | return AjaxResult.error("撤销失败,删除表失败!"); |
| | | } |
| | | return AjaxResult.success(); |
| | | } |
| | | return AjaxResult.success("撤销成功!"); |
| | | |
| | | } |
| | | return AjaxResult.error(); |
| | | return AjaxResult.error("未查询到体检记录!"); |
| | | } |
| | | |
| | | private AjaxResult zuofeiYiZhifu(ArrayList<TjFlowingWater> yizhifu, TjCustomer tjCustomer, TjOrder order, String apiUrl, String hospbm, Boolean isDelete, String tjNum) { |
| | |
| | | String tfid = jsonObject.getJSONObject("data").getStr("feiYongId"); |
| | | water.setHisTfWaterId(tfid); |
| | | tjFlowingWaterService.updateById(water); |
| | | if (isDelete) { |
| | | /* if (isDelete) { |
| | | for (TjFlowingWater water1 : yizhifu) { |
| | | String bldh1 = water1.getJxbz(); |
| | | remarkService.deleteTjOrderDetailByjxbz(bldh1); |
| | |
| | | blService.remove(new LambdaQueryWrapper<TjProBl>().eq(TjProBl::getTjh, tjNum).eq(TjProBl::getBldh, bldh1)); |
| | | tjSamplingMapper.deleteByTjNumAndCusIdAndJxbzo(tjNum, order.getUserId(), bldh1); |
| | | } |
| | | } |
| | | } else return AjaxResult.error(); |
| | | }*/ |
| | | } else return AjaxResult.error("撤销失败"); |
| | | } |
| | | } |
| | | } |
| | |
| | | |
| | | String post = HttpClientUtils.sendPost(apiUrl + "/api/his/" + hospbm + "/revokeCost", chexiaoMap); |
| | | if (JSONUtil.parseObj(post).getStr("code").equals("200")) { |
| | | if (isDelete) { |
| | | /*if (isDelete) { |
| | | for (TjFlowingWater water : weizhifu) { |
| | | String bldh = water.getJxbz(); |
| | | if (StrUtil.isNotBlank(bldh)) { |
| | |
| | | tjSamplingMapper.deleteByTjNumAndCusIdAndJxbzo(tjNum, order.getUserId(), bldh); |
| | | } else { |
| | | //这里删除的是这个人所有项目包括补录项目 |
| | | tjOrderService.deleteTjOrderByOrderId(order.getOrderId()); |
| | | *//* tjOrderService.deleteTjOrderByOrderId(order.getOrderId()); |
| | | tjOrderDetailService.deleteTjOrderDetailByOrderDetailId(String.valueOf(order.getOrderId())); |
| | | remarkService.deletedOrderRemarkByTjNum(tjNum); |
| | | tjFlowingWaterService.deleteTjFlowingWaterByOrderId(String.valueOf(order.getOrderId())); |
| | | transitionService.deletedTbTransitionByTjNum(tjNum); |
| | | tjSamplingMapper.deleteByTjNumAndCusId(order.getTjNumber(), order.getUserId()); |
| | | tjSamplingMapper.deleteByTjNumAndCusId(order.getTjNumber(), order.getUserId());*//* |
| | | // TjCustomer customer = tjCustomerService.getById(order.getUserId()); |
| | | // customer.setCardId("0"); |
| | | // tjCustomerService.updateById(customer); |
| | | // tjOrderService.removeById(order.getOrderId()); |
| | | } |
| | | |
| | | } |
| | | } |
| | | } else return AjaxResult.error(); |
| | | }*/ |
| | | } else return AjaxResult.error("撤销失败"); |
| | | } |
| | | return null; |
| | | } |
| | | |
| | | // @Transactional(propagation =Propagation.REQUIRES_NEW) |
| | | public void extracted(TjProBlDto dto, TjOrder order) { |
| | | for (String bldh : dto.getBldhs()) { |
| | | remarkService.deleteTjOrderDetailByjxbz(bldh); |
| | | tjOrderDetailService.deleteTjOrderDetailByjxbz(bldh); |
| | | tjFlowingWaterService.deleteTjOrderDetailByjxbz(bldh); |
| | | transitionService.deleteTjOrderDetailByjxbz(bldh); |
| | | blService.remove(new LambdaQueryWrapper<TjProBl>().eq(TjProBl::getTjh, dto.getTjh()).eq(TjProBl::getBldh, bldh)); |
| | | try { |
| | | for (String bldh : dto.getBldhs()) { |
| | | remarkService.deleteTjOrderDetailByjxbz(bldh); |
| | | tjOrderDetailService.deleteTjOrderDetailByjxbz(bldh); |
| | | tjFlowingWaterService.deleteTjOrderDetailByjxbz(bldh); |
| | | transitionService.deleteTjOrderDetailByjxbz(bldh); |
| | | blService.remove(new LambdaQueryWrapper<TjProBl>().eq(TjProBl::getTjh, dto.getTjh()).eq(TjProBl::getBldh, bldh)); |
| | | } |
| | | tjSamplingMapper.deleteByTjNumAndCusIdAndJxbz(dto.getTjh(), order.getUserId(), dto.getBldhs()); |
| | | } catch (Exception e) { |
| | | throw new RuntimeException(e); |
| | | } |
| | | tjSamplingMapper.deleteByTjNumAndCusIdAndJxbz(dto.getTjh(), order.getUserId(), dto.getBldhs()); |
| | | } |
| | | |
| | | |
| | |
| | | } |
| | | |
| | | |
| | | @GetMapping("/chushenyemianyijianjiekou") |
| | | @ApiOperation(value = "初审页面已检接口") |
| | | @Transactional |
| | | public AjaxResult chushenyemianyijianjiekou(@RequestParam String tjNUm, @RequestParam String proId) { |
| | | LambdaQueryWrapper<TjOrderRemark> wq = new LambdaQueryWrapper<>(); |
| | | wq.eq(TjOrderRemark::getTjNumber, tjNUm); |
| | | wq.eq(TjOrderRemark::getProId, proId); |
| | | TjOrderRemark remark = remarkService.getOne(wq); |
| | | remark.setType(1); |
| | | remarkService.updateById(remark); |
| | | return AjaxResult.success("操作成功!"); |
| | | } |
| | | |
| | | |
| | | @GetMapping("/chushenyemianchexiaojiekou") |
| | | @ApiOperation(value = "初审页面撤销接口") |
| | | @Transactional |
| | | public AjaxResult chushenyemianchexiaojiekou(@RequestParam String tjNUm, @RequestParam String proId) { |
| | | LambdaQueryWrapper<TjOrderRemark> wq = new LambdaQueryWrapper<>(); |
| | | wq.eq(TjOrderRemark::getTjNumber, tjNUm); |
| | | wq.eq(TjOrderRemark::getProId, proId); |
| | | TjOrderRemark remark = remarkService.getOne(wq); |
| | | remark.setType(0); |
| | | remarkService.updateById(remark); |
| | | return AjaxResult.success("操作成功!"); |
| | | } |
| | | |
| | | |
| | | @PostMapping("/zongjanyemianshjianzhou") |
| | | @ApiOperation(value = "总检获取时间轴接口") |
| | | @Transactional |