| | |
| | | import com.baomidou.mybatisplus.extension.plugins.pagination.Page; |
| | | import com.ltkj.common.annotation.RepeatSubmit; |
| | | import com.ltkj.common.core.domain.AjaxResult; |
| | | import com.ltkj.common.core.domain.entity.SysDept; |
| | | import com.ltkj.common.core.domain.entity.SysUser; |
| | | import com.ltkj.common.core.redis.RedisCache; |
| | | import com.ltkj.common.enums.DataSourceType; |
| | |
| | | import com.ltkj.framework.config.UserHoder; |
| | | import com.ltkj.framework.datasource.DynamicDataSourceContextHolder; |
| | | import com.ltkj.hosp.domain.*; |
| | | import com.ltkj.hosp.dto.CheckUpdateStatusDto; |
| | | import com.ltkj.hosp.mapper.TestMapper; |
| | | import com.ltkj.hosp.service.*; |
| | | import com.ltkj.hosp.sqlDomain.*; |
| | |
| | | if (shys == null) shys = ""; |
| | | if (beginTime == null) beginTime = ""; |
| | | if (endTime == null) endTime = ""; |
| | | return AjaxResult.success(orderService.getCunChuGuoChengCustomerList(tjNumber, page, pageSize, checkStatus, value, beginTime, endTime, name,shys,tjCategory)); |
| | | return AjaxResult.success(orderService.getCunChuGuoChengCustomerList(tjNumber, page, pageSize, checkStatus, value, beginTime, endTime, name, shys, tjCategory)); |
| | | } |
| | | |
| | | |
| | |
| | | * @param checkStatus |
| | | * @return |
| | | */ |
| | | @PutMapping("/getTjdetailList") |
| | | @PostMapping("/getTjdetailList") |
| | | @ApiOperation(value = "根据体检订单号获取体检详情信息(并修改状态)接口") |
| | | // @PreAuthorize("@ss.hasPermi('check:check:getTjdetailList')") |
| | | public AjaxResult getTjdetailList(@ApiParam(value = "体检tjNumber") @RequestParam String tjNumber, |
| | | @ApiParam(value = "总检建议") @RequestParam(required = false) String advice, |
| | | @ApiParam(value = "审核状态0待审核1已审核") @RequestParam Integer checkStatus, |
| | | @ApiParam(value = "职业结论") @RequestParam(required = false) String zhiyeJl, |
| | | @ApiParam(value = "职业结果") @RequestParam(required = false) String zhiyeJg) { |
| | | public AjaxResult getTjdetailList(@RequestBody CheckUpdateStatusDto dto) { |
| | | String config = configService.selectConfigByKey("sfjcwjhyqxm"); |
| | | if (null != config && config.equalsIgnoreCase("Y")) { |
| | | int num = orderRemarkService.getTjYqOrderRemarkByTjNum(tjNumber); |
| | | int num = orderRemarkService.getTjYqOrderRemarkByTjNum(dto.getTjNumber()); |
| | | if (num > 0) return AjaxResult.error("存在未检或延期项目暂不能生成报告!!!"); |
| | | } |
| | | Date date = new Date(); |
| | | if (null != tjNumber) { |
| | | if (null != dto.getTjNumber()) { |
| | | Long userId = Long.valueOf(SecurityUtils.getLoginUser().getUserId()); |
| | | SysUser sysUser = userService.getById(userId); |
| | | LambdaQueryWrapper<TjOrder> wq1 = new LambdaQueryWrapper<>(); |
| | | wq1.eq(TjOrder::getTjNumber, tjNumber); |
| | | wq1.eq(TjOrder::getTjNumber, dto.getTjNumber()); |
| | | TjOrder tjOrder = orderService.getOne(wq1); |
| | | if (null != tjOrder) { |
| | | tjOrder.setCheckAdvice(advice); |
| | | tjOrder.setCheckStatus(checkStatus); |
| | | tjOrder.setCheckAdvice(dto.getAdvice()); |
| | | tjOrder.setCheckStatus(dto.getCheckStatus()); |
| | | tjOrder.setStatus(TjConstants.TJ_CHECK); |
| | | tjOrder.setCheckDoctor(sysUser.getNickName()); |
| | | tjOrder.setCheckTime(date); |
| | | tjOrder.setStatus(401); |
| | | tjOrder.setFinishTime(date); |
| | | if (StrUtil.isNotBlank(zhiyeJl)) |
| | | tjOrder.setZhiyeJl(zhiyeJl); |
| | | if (StrUtil.isNotBlank(zhiyeJg)) |
| | | tjOrder.setZhiyeJg(zhiyeJg); |
| | | if (StrUtil.isNotBlank(dto.getZhiyeJl())) |
| | | tjOrder.setZhiyeJl(dto.getZhiyeJl()); |
| | | if (StrUtil.isNotBlank(dto.getZhiyeJg())) |
| | | tjOrder.setZhiyeJg(dto.getZhiyeJg()); |
| | | if (orderService.updateById(tjOrder)) { |
| | | TjCustomer customer = customerService.getById(tjOrder.getUserId()); |
| | | if (null != customer) { |
| | | customer.setCusNumber(customer.getCusNumber() + 1); |
| | | customer.setCardId("0"); |
| | | if (customerService.updateById(customer)) { |
| | | asyncService.updateCheckType(tjNumber); |
| | | return AjaxResult.success("操作成功"); |
| | | } |
| | | return AjaxResult.error("操作失败"); |
| | | } |
| | | return AjaxResult.success("操作成功"); |
| | | } |
| | | return AjaxResult.error("操作失败"); |
| | | } |
| | |
| | | parent.put("parent", remark.getProName()); |
| | | parent.put("parentId", remark.getProsId()); |
| | | parent.put("xmlb", remark.getXmlb()); |
| | | parent.put("zhiyejl",one.getZhiyeJl()); |
| | | parent.put("zhiyejl", one.getZhiyeJl()); |
| | | parent.put("zhiyejg", one.getZhiyeJg()); |
| | | parent.put("", remark.getXmlb()); |
| | | List<TjOrderDetail> dels = new ArrayList<>(); |
| | |
| | | List<TjOrderYcxm> tjOrderYcxms = new ArrayList<>(); |
| | | TjOrder order = orderService.getOrderByTjNum(tjNumber); |
| | | if (null != order) { |
| | | String xb= customerService.getSexByTjh(order.getTjNumber()); |
| | | String xb = customerService.getSexByTjh(order.getTjNumber()); |
| | | List<TjOrderRemark> remarkList = orderRemarkService.getzongjianyishengchakanyichangxiangmu(tjNumber); |
| | | List<TjOrderDetail> tjOrderDetails = detailService.getzongjianyishengchakanyichangxiangmu(tjNumber); |
| | | LambdaQueryWrapper<TjOrderYcxm> wq = new LambdaQueryWrapper<>(); |
| | |
| | | String replacedAll = tjOrderDetail.getProName().replaceAll("[((][^))]*[\u4e00-\u9fa5]+[^))]*[))]", "").replaceAll("[((][^))]*[))]", "") |
| | | .replaceAll("[ 测定检测]", "").replaceAll("\\[.*?\\]", "").replaceAll("◆", ""); |
| | | |
| | | List<Map<String, Object>> maps = rulesService.getyichangxiangmujianyiguize(replacedAll,replacedAll, |
| | | tjOrderDetail.getYcbz().replaceAll(" ", ""), tjNumber,replacedAll, tjOrderDetail.getProResult()); |
| | | List<Map<String, Object>> maps = rulesService.getyichangxiangmujianyiguize(replacedAll, replacedAll, |
| | | tjOrderDetail.getYcbz().replaceAll(" ", ""), tjNumber, replacedAll, tjOrderDetail.getProResult()); |
| | | |
| | | |
| | | if (null != maps && !maps.isEmpty()) { |
| | |
| | | |
| | | } else { |
| | | String regex = configService.selectConfigByKey("jcycjgfgzz"); |
| | | if(StringUtil.isBlank(regex)) regex="。|;|;|,|,"; |
| | | if (StringUtil.isBlank(regex)) regex = "。|;|;|,|,"; |
| | | String[] split = tjOrderDetail.getProResult().replaceAll("\n", "").split(regex); |
| | | List<Map<String, Object>> mapList = new ArrayList<>(); |
| | | for (String s : split) { |
| | | if(StringUtil.isNotBlank(s)){ |
| | | s = s.replaceAll("\n", "").replaceAll("[((][^))]*[))]", "").replaceAll(" ","") |
| | | if (StringUtil.isNotBlank(s)) { |
| | | s = s.replaceAll("\n", "").replaceAll("[((][^))]*[))]", "").replaceAll(" ", "") |
| | | .replaceAll("[0-9]", ""); |
| | | Map<String, Object> maps = tjProAdvicerulesService.getyichangxiangmujianyiguizeJianCha(remark.getKs(), s.replaceAll(" ",""), "0",xb); |
| | | Map<String, Object> maps = tjProAdvicerulesService.getyichangxiangmujianyiguizeJianCha(remark.getKs(), s.replaceAll(" ", ""), "0", xb); |
| | | if (null != maps && !maps.isEmpty()) { |
| | | Object bt = maps.get("bt"); |
| | | Object nr = maps.get("nr"); |
| | |
| | | |
| | | private void yichangxiangmu(String tjNumber) { |
| | | try { |
| | | List<TjOrderYcxm> tjOrderYcxmList= ycxmService.selectListByTjh(tjNumber); |
| | | List<TjOrderYcxm> tjOrderYcxmList = ycxmService.selectListByTjh(tjNumber); |
| | | |
| | | if(null !=tjOrderYcxmList && !tjOrderYcxmList.isEmpty()){ |
| | | if (null != tjOrderYcxmList && !tjOrderYcxmList.isEmpty()) { |
| | | |
| | | List<Map<String, Object>> list = new ArrayList<>(); |
| | | TjOrder order = orderService.getOrderByTjNum(tjNumber); |
| | | if (null != order) { |
| | | String xb= customerService.getSexByTjh(order.getTjNumber()); |
| | | List<TjOrderRemark> remarkList = orderRemarkService.getzongjianyishengchakanyichangxiangmu(tjNumber); |
| | | List<TjOrderDetail> tjOrderDetails = detailService.getzongjianyishengchakanyichangxiangmu(tjNumber); |
| | | if (null != remarkList && !remarkList.isEmpty()) { |
| | | for (TjOrderRemark remark : remarkList) { |
| | | Map<String, Object> parent = new HashMap<>(); |
| | | if (null != tjOrderDetails && !tjOrderDetails.isEmpty()) { |
| | | List<TjOrderDetail> dels = new ArrayList<>(); |
| | | for (TjOrderDetail tjOrderDetail : tjOrderDetails) { |
| | | if (remark.getProsId().equals(tjOrderDetail.getProsId())) { |
| | | if (null != tjOrderDetail.getProId() && null != tjOrderDetail.getYcbz()) { |
| | | if (!tjOrderDetail.getDeptId().equals("2")) { |
| | | String replacedAll = tjOrderDetail.getProName().replaceAll("[((][^))]*[\u4e00-\u9fa5]+[^))]*[))]", "").replaceAll("[((][^))]*[))]", "") |
| | | .replaceAll("[ 测定检测]", "").replaceAll("\\[.*?\\]", "").replaceAll("◆", ""); |
| | | List<Map<String, Object>> list = new ArrayList<>(); |
| | | TjOrder order = orderService.getOrderByTjNum(tjNumber); |
| | | if (null != order) { |
| | | String xb = customerService.getSexByTjh(order.getTjNumber()); |
| | | List<TjOrderRemark> remarkList = orderRemarkService.getzongjianyishengchakanyichangxiangmu(tjNumber); |
| | | List<TjOrderDetail> tjOrderDetails = detailService.getzongjianyishengchakanyichangxiangmu(tjNumber); |
| | | if (null != remarkList && !remarkList.isEmpty()) { |
| | | for (TjOrderRemark remark : remarkList) { |
| | | Map<String, Object> parent = new HashMap<>(); |
| | | if (null != tjOrderDetails && !tjOrderDetails.isEmpty()) { |
| | | List<TjOrderDetail> dels = new ArrayList<>(); |
| | | for (TjOrderDetail tjOrderDetail : tjOrderDetails) { |
| | | if (remark.getProsId().equals(tjOrderDetail.getProsId())) { |
| | | if (null != tjOrderDetail.getProId() && null != tjOrderDetail.getYcbz()) { |
| | | if (!tjOrderDetail.getDeptId().equals("2")) { |
| | | String replacedAll = tjOrderDetail.getProName().replaceAll("[((][^))]*[\u4e00-\u9fa5]+[^))]*[))]", "").replaceAll("[((][^))]*[))]", "") |
| | | .replaceAll("[ 测定检测]", "").replaceAll("\\[.*?\\]", "").replaceAll("◆", ""); |
| | | |
| | | List<Map<String, Object>> maps = rulesService.getyichangxiangmujianyiguize(tjOrderDetail.getProId().toString() |
| | | ,replacedAll,tjOrderDetail.getYcbz().replaceAll(" ", ""), tjNumber,replacedAll, tjOrderDetail.getProResult()); |
| | | List<Map<String, Object>> maps = rulesService.getyichangxiangmujianyiguize(tjOrderDetail.getProId().toString() |
| | | , replacedAll, tjOrderDetail.getYcbz().replaceAll(" ", ""), tjNumber, replacedAll, tjOrderDetail.getProResult()); |
| | | |
| | | |
| | | if (null != maps && !maps.isEmpty()) { |
| | | tjOrderDetail.setAdvices(maps); |
| | | } |
| | | |
| | | } else { |
| | | String[] split = tjOrderDetail.getProResult().split("。|,|,"); |
| | | List<Map<String, Object>> mapList = new ArrayList<>(); |
| | | for (String s : split) { |
| | | s = s.replaceAll("\n", "").replaceAll("[((][^))]*[))]", "");; |
| | | Map<String, Object> maps = tjProAdvicerulesService.getyichangxiangmujianyiguizeJianCha(remark.getKs(), s, "0",xb); |
| | | if (null != maps && !maps.isEmpty()) { |
| | | Object bt = maps.get("bt"); |
| | | Object nr = maps.get("nr"); |
| | | if (null != bt || null != nr) mapList.add(maps); |
| | | tjOrderDetail.setAdvices(maps); |
| | | } |
| | | } |
| | | tjOrderDetail.setAdvices(mapList); |
| | | } |
| | | |
| | | } else { |
| | | String[] split = tjOrderDetail.getProResult().split("。|,|,"); |
| | | List<Map<String, Object>> mapList = new ArrayList<>(); |
| | | for (String s : split) { |
| | | s = s.replaceAll("\n", "").replaceAll("[((][^))]*[))]", ""); |
| | | ; |
| | | Map<String, Object> maps = tjProAdvicerulesService.getyichangxiangmujianyiguizeJianCha(remark.getKs(), s, "0", xb); |
| | | if (null != maps && !maps.isEmpty()) { |
| | | Object bt = maps.get("bt"); |
| | | Object nr = maps.get("nr"); |
| | | if (null != bt || null != nr) mapList.add(maps); |
| | | } |
| | | } |
| | | tjOrderDetail.setAdvices(mapList); |
| | | } |
| | | |
| | | } |
| | | dels.add(tjOrderDetail); |
| | | } |
| | | dels.add(tjOrderDetail); |
| | | } |
| | | } |
| | | if (!dels.isEmpty()) { |
| | | parent.put("proName", remark.getProName()); |
| | | parent.put("jyjc", remark.getJyjc()); |
| | | parent.put("sone", dels); |
| | | list.add(parent); |
| | | if (!dels.isEmpty()) { |
| | | parent.put("proName", remark.getProName()); |
| | | parent.put("jyjc", remark.getJyjc()); |
| | | parent.put("sone", dels); |
| | | list.add(parent); |
| | | } |
| | | } |
| | | } |
| | | } |
| | | } |
| | | } |
| | | List<Map<String, Object>> maps = getYcxmMapList(tjOrderYcxmList); |
| | | List<Map<String, Object>> collect = list.stream() |
| | | .filter(b -> maps.stream() |
| | | .noneMatch(a -> a.get("proName").equals(b.get("proName")))) // 过滤掉在 maps 中存在的相同元素 |
| | | .collect(Collectors.toList()); |
| | | |
| | | if(!collect.isEmpty()){ |
| | | if (!collect.isEmpty()) { |
| | | for (Map<String, Object> map : collect) { |
| | | for (TjOrderDetail detail : (List<TjOrderDetail>) map.get("sone")) { |
| | | TjOrderYcxm ycxm = new TjOrderYcxm(); |
| | |
| | | ycxmService.removeById(id); |
| | | return AjaxResult.success(); |
| | | } |
| | | |
| | | |
| | | |
| | | @GetMapping("/chushenyemianchakanxiangmujieguo") |
| | |
| | | |
| | | /** |
| | | * 查询复查项目列表 |
| | | * |
| | | * @param tjNum 体检号 |
| | | * @param type 复查状态 0未复查状态 1复查状态 |
| | | * @param type 复查状态 0未复查状态 1复查状态 |
| | | * @return |
| | | */ |
| | | @GetMapping("/getFcList") |
| | | public AjaxResult getFcList(@RequestParam("tjNum") String tjNum,@RequestParam("type") Integer type){ |
| | | public AjaxResult getFcList(@RequestParam("tjNum") String tjNum, @RequestParam("type") Integer type) { |
| | | TjOrder order = orderService.getOrderByTjNum(tjNum); |
| | | if (order == null) |
| | | return AjaxResult.error(); |
| | | List<ProFcListVo> list = detailService.getFcList(order.getOrderId(),type); |
| | | List<ProFcListVo> list = detailService.getFcList(order.getOrderId(), type); |
| | | return AjaxResult.success(list); |
| | | } |
| | | |
| | | /** |
| | | * 复查项目提交 |
| | | * |
| | | * @param json |
| | | * @return |
| | | */ |
| | |
| | | } |
| | | |
| | | |
| | | @GetMapping("/zongjianyishengHuiFuyichangxiangmu") |
| | | @ApiOperation(value = "总检恢复异常项目接口") |
| | | public AjaxResult zongjianyishengHuiFuyichangxiangmu(@RequestParam String tjNum) { |
| | | |
| | | List<TjOrderYcxm> list = ycxmService.zongjianyishengHuiFuyichangxiangmu(tjNum); |
| | | return AjaxResult.success(list); |
| | | } |
| | | |
| | | |
| | | @GetMapping("/zongjianyishengHuiFuyichangxiangmuanniu") |
| | | @ApiOperation(value = "总检恢复异常项目按钮接口") |
| | | public AjaxResult zongjianyishengHuiFuyichangxiangmuanniu(@RequestParam String id) { |
| | | |
| | | int a = ycxmService.zongjianyishengHuiFuyichangxiangmuanniu(id); |
| | | return AjaxResult.success(a); |
| | | } |
| | | |
| | | |
| | | @GetMapping("/csymxmxzqtyybcjk") |
| | | @ApiOperation(value = "初审页面项目选择其他原因保存接口") |
| | | @Transactional |
| | | public AjaxResult csymxmxzqtyybcjk(@RequestParam @ApiParam("体检号") String tjNum, @RequestParam @ApiParam("项目ID") String proId, |
| | | @RequestParam @ApiParam("原因") String yy) { |
| | | |
| | | try { |
| | | String czydm = SecurityUtils.getUsername(); |
| | | String czy = SecurityUtils.getLoginUser().getUser().getNickName(); |
| | | TjProject tjProject = projectService.getById(proId); |
| | | if (null != tjProject) { |
| | | SysDept dept = deptService.getById(tjProject.getDeptId()); |
| | | |
| | | LambdaQueryWrapper<TjOrderRemark> wq = new LambdaQueryWrapper<>(); |
| | | wq.eq(TjOrderRemark::getTjNumber, tjNum); |
| | | wq.eq(TjOrderRemark::getProId, proId); |
| | | TjOrderRemark remark = orderRemarkService.getOne(wq); |
| | | remark.setType(1); |
| | | if (orderRemarkService.updateById(remark)) { |
| | | orderRemarkService.csymxmxzqtyybcjk(tjNum, proId, yy, dept.getOrgType(), czy, czydm); |
| | | return AjaxResult.success(); |
| | | } |
| | | } |
| | | } catch (Exception ex) { |
| | | log.error(ex.getMessage()); |
| | | throw new RuntimeException(ex); |
| | | } |
| | | return AjaxResult.error(); |
| | | } |
| | | |
| | | } |