| | |
| | | log.error("pacs申请失败 该登记人挂号失败, 就诊号为: " + tjOrder.getCardId()); |
| | | return AjaxResult.error("挂号失败!" + result.get("msg").toString()); |
| | | } |
| | | |
| | | // LambdaQueryWrapper<TjOrderDetail> wq2 = new LambdaQueryWrapper<>(); |
| | | // wq2.eq(TjOrderDetail::getOrderId, tjOrder.getOrderId()); |
| | | // wq2.isNotNull(TjOrderDetail::getFlowingWaterId); |
| | | // wq2.eq(TjOrderDetail::getIsSampling, 0); |
| | | // List<TjOrderDetail> detailList1 = tjOrderDetailService.list(wq2); |
| | | List<TjOrderDetail> detailList1 = tjOrderDetailService.getCaiYangDengJi(tjOrder.getOrderId()); |
| | | // log.info("TjOrderDetail ->{}",JSONUtil.toJsonStr(detailList1)); |
| | | tjSysAsyncService.addCaiYangDengJi(detailList1, !detailList1.isEmpty(), tjOrder, sysUser,null); |
| | | |
| | | String mergeRequest = configService.selectConfigByKey("use_lis_pacs_is_auto_merge_request"); |
| | |
| | | String ysmc = configService.selectConfigByKey("request_default_ysmc"); |
| | | for (TjProject project : projects) { |
| | | if (0 == project.getProParentId() && project.getProPrice().compareTo(BigDecimal.ZERO) != 0) { |
| | | if (null != project.getHisXmbm()) { |
| | | SavePacsApply savePacsApply = new SavePacsApply(); |
| | | savePacsApply.setExamNo(tjOrder.getCardId()); |
| | | savePacsApply.setName(tjCustomer.getCusName()); |
| | | savePacsApply.setSex(tjCustomer.getCusSex() == 1 ? "2" : "1"); |
| | | AgeResult ageResult = DateUtils.calculateAge(tjCustomer.getCusBrithday()); |
| | | savePacsApply.setAge(String.valueOf(ageResult.getAge())); |
| | | savePacsApply.setAgeUnit(String.valueOf(ageResult.getUnit())); |
| | | savePacsApply.setBirthday(DateFormatUtils.format(tjCustomer.getCusBrithday(), "yyyy-MM-dd")); |
| | | savePacsApply.setCardNumber(tjCustomer.getCusIdcard()); |
| | | savePacsApply.setTel(tjCustomer.getCusPhone()); |
| | | Date date = new Date(); |
| | | String regNo = "M_jk" + tjOrder.getCardId() +"_" + project.getHisXmbm(); |
| | | savePacsApply.setRegNo(regNo); |
| | | JSONObject jsonObject = JSONUtil.createObj(); |
| | | jsonObject.putOpt("cardId", tjOrder.getCardId()); |
| | | jsonObject.putOpt("regNo", regNo); |
| | | jsonObject.putOpt("name", tjCustomer.getCusName()); |
| | | array.add(jsonObject); |
| | | savePacsApply.setCheckItemID(project.getHisXmbm()); |
| | | savePacsApply.setCheckItem(project.getHisXmmc()); |
| | | // TODO 检查部位 |
| | | savePacsApply.setCheckPosition("-"); |
| | | savePacsApply.setAmount(project.getProPrice()); |
| | | savePacsApply.setApplyDate(DateFormatUtils.format(date, "yyyy-MM-dd HH:mm:ss")); |
| | | savePacsApply.setApplyDepment(dept); |
| | | savePacsApply.setApplyDepmentName("体检中心"); |
| | | savePacsApply.setApplyDoctor(ysbm); |
| | | savePacsApply.setApplyDoctorName(ysmc); |
| | | savePacsApply.setExecDepment(dept); |
| | | savePacsApply.setExecDepmentName("体检中心"); |
| | | savePacsApply.setCreateTime(savePacsApply.getApplyDate()); |
| | | // TODO 检查设备 |
| | | savePacsApply.setDevice("-"); |
| | | // TODO 检查设备类型 |
| | | savePacsApply.setDeviceType("-"); |
| | | log.info("PACS检查申请 ->{}", JSONUtil.toJsonStr(savePacsApply)); |
| | | AjaxResult ajaxResult = savePacsApply(savePacsApply); |
| | | log.info("返回 ->{}",JSONUtil.toJsonStr(ajaxResult)); |
| | | String result = ajaxResult.get("data").toString(); |
| | | JSONObject object = JSONUtil.parseObj(JSONUtil.parseObj(result)); |
| | | log.info("PACS请求返回 ->{}", object); |
| | | String code = object.getStr("ResultCode"); |
| | | allTotal++; |
| | | if (code.equals("1")) { |
| | | successPacsList.add(savePacsApply); |
| | | LtkjJianchajianyanTree tree = new LtkjJianchajianyanTree(); |
| | | tree.setCardId(tjOrder.getCardId()); |
| | | tree.setPationid(tjCustomer.getPationId()); |
| | | tree.setSqdh(regNo); |
| | | tree.setFyhj(String.valueOf(project.getProPrice())); |
| | | tree.setHisXmdm(project.getHisXmbm()); |
| | | tree.setType("检查"); |
| | | tree.setService("pacs"); |
| | | tree.setTjPrice(String.valueOf(project.getProPrice())); |
| | | LambdaQueryWrapper<LtkjJfzhglmxjfxmzd> wrapper1 = new LambdaQueryWrapper<>(); |
| | | if (project.getSfzhfy().equals("Y")) |
| | | wrapper1.eq(LtkjJfzhglmxjfxmzd::getZhxmdm, project.getHisXmbm()); |
| | | else wrapper1.eq(LtkjJfzhglmxjfxmzd::getXmdm, project.getHisXmbm()); |
| | | List<LtkjJfzhglmxjfxmzd> ltkjJfzhglmxjfxmzds = ltkjJfzhglmxjfxmzdService.list(wrapper1); |
| | | if (ltkjJfzhglmxjfxmzds != null && !ltkjJfzhglmxjfxmzds.isEmpty()) { |
| | | String xmdm = ltkjJfzhglmxjfxmzds.get(0).getXmdm(); |
| | | LambdaQueryWrapper<LtkjMxjfxmzd> wrapper2 = new LambdaQueryWrapper<>(); |
| | | wrapper2.eq(LtkjMxjfxmzd::getXmdm, xmdm); |
| | | LtkjMxjfxmzd mxjfxmzd = ltkjMxjfxmzdService.getOne(wrapper2); |
| | | LambdaQueryWrapper<LtkjEjjfxmzd> wrapper3 = new LambdaQueryWrapper<>(); |
| | | wrapper3.eq(LtkjEjjfxmzd::getEjkmdm, mxjfxmzd.getEjkmdm()); |
| | | LtkjEjjfxmzd ejjfxmzd = ltkjEjjfxmzdService.getOne(wrapper3); |
| | | tree.setXmfl(ejjfxmzd.getYjkmdm()); |
| | | if(project.getSfzhfy().equalsIgnoreCase("Y")){ |
| | | allTotal = getAllTotal(tjOrder, tjCustomer, array, successPacsList, errorPacsList, project, dept, ysbm, ysmc, allTotal); |
| | | }else { |
| | | List<TjProject> bySoneId = projectService.getTjProjectListBySoneId(project.getProId().toString()); |
| | | for (TjProject tjProject : bySoneId) { |
| | | if(project.getProPrice().compareTo(BigDecimal.ZERO) != 0){ |
| | | allTotal = getAllTotal(tjOrder, tjCustomer, array, successPacsList, errorPacsList, tjProject, dept, ysbm, ysmc, allTotal); |
| | | } |
| | | tree.setCreateTime(DateUtil.date()); |
| | | ltkjJianchajianyanTreeService.save(tree); |
| | | } else { |
| | | errorPacsList.add(savePacsApply); |
| | | } |
| | | } |
| | | |
| | | } |
| | | } |
| | | } |
| | | return allTotal; |
| | | } |
| | | |
| | | private int getAllTotal(TjOrder tjOrder, TjCustomer tjCustomer, JSONArray array, ArrayList<SavePacsApply> successPacsList, ArrayList<SavePacsApply> errorPacsList, TjProject project, String dept, String ysbm, String ysmc, int allTotal) { |
| | | if (null != project.getHisXmbm()) { |
| | | SavePacsApply savePacsApply = new SavePacsApply(); |
| | | savePacsApply.setExamNo(tjOrder.getCardId()); |
| | | savePacsApply.setName(tjCustomer.getCusName()); |
| | | savePacsApply.setSex(tjCustomer.getCusSex() == 1 ? "2" : "1"); |
| | | AgeResult ageResult = DateUtils.calculateAge(tjCustomer.getCusBrithday()); |
| | | savePacsApply.setAge(String.valueOf(ageResult.getAge())); |
| | | savePacsApply.setAgeUnit(String.valueOf(ageResult.getUnit())); |
| | | savePacsApply.setBirthday(DateFormatUtils.format(tjCustomer.getCusBrithday(), "yyyy-MM-dd")); |
| | | savePacsApply.setCardNumber(tjCustomer.getCusIdcard()); |
| | | savePacsApply.setTel(tjCustomer.getCusPhone()); |
| | | Date date = new Date(); |
| | | String regNo = "M_jk" + tjOrder.getCardId() +"_" + project.getHisXmbm(); |
| | | savePacsApply.setRegNo(regNo); |
| | | JSONObject jsonObject = JSONUtil.createObj(); |
| | | jsonObject.putOpt("cardId", tjOrder.getCardId()); |
| | | jsonObject.putOpt("regNo", regNo); |
| | | jsonObject.putOpt("name", tjCustomer.getCusName()); |
| | | array.add(jsonObject); |
| | | savePacsApply.setCheckItemID(project.getHisXmbm()); |
| | | savePacsApply.setCheckItem(project.getHisXmmc()); |
| | | // TODO 检查部位 |
| | | savePacsApply.setCheckPosition("-"); |
| | | savePacsApply.setAmount(project.getProPrice()); |
| | | savePacsApply.setApplyDate(DateFormatUtils.format(date, "yyyy-MM-dd HH:mm:ss")); |
| | | savePacsApply.setApplyDepment(dept); |
| | | savePacsApply.setApplyDepmentName("体检中心"); |
| | | savePacsApply.setApplyDoctor(ysbm); |
| | | savePacsApply.setApplyDoctorName(ysmc); |
| | | savePacsApply.setExecDepment(dept); |
| | | savePacsApply.setExecDepmentName("体检中心"); |
| | | savePacsApply.setCreateTime(savePacsApply.getApplyDate()); |
| | | // TODO 检查设备 |
| | | savePacsApply.setDevice("-"); |
| | | // TODO 检查设备类型 |
| | | savePacsApply.setDeviceType("-"); |
| | | log.info("PACS检查申请 ->{}", JSONUtil.toJsonStr(savePacsApply)); |
| | | AjaxResult ajaxResult = savePacsApply(savePacsApply); |
| | | log.info("返回 ->{}",JSONUtil.toJsonStr(ajaxResult)); |
| | | String result = ajaxResult.get("data").toString(); |
| | | JSONObject object = JSONUtil.parseObj(JSONUtil.parseObj(result)); |
| | | log.info("PACS请求返回 ->{}", object); |
| | | String code = object.getStr("ResultCode"); |
| | | allTotal++; |
| | | if (code.equals("1")) { |
| | | successPacsList.add(savePacsApply); |
| | | LtkjJianchajianyanTree tree = new LtkjJianchajianyanTree(); |
| | | tree.setCardId(tjOrder.getCardId()); |
| | | tree.setPationid(tjCustomer.getPationId()); |
| | | tree.setSqdh(regNo); |
| | | tree.setFyhj(String.valueOf(project.getProPrice())); |
| | | tree.setHisXmdm(project.getHisXmbm()); |
| | | tree.setType("检查"); |
| | | tree.setService("pacs"); |
| | | tree.setTjPrice(String.valueOf(project.getProPrice())); |
| | | LambdaQueryWrapper<LtkjJfzhglmxjfxmzd> wrapper1 = new LambdaQueryWrapper<>(); |
| | | if (project.getSfzhfy().equals("Y")) |
| | | wrapper1.eq(LtkjJfzhglmxjfxmzd::getZhxmdm, project.getHisXmbm()); |
| | | else wrapper1.eq(LtkjJfzhglmxjfxmzd::getXmdm, project.getHisXmbm()); |
| | | List<LtkjJfzhglmxjfxmzd> ltkjJfzhglmxjfxmzds = ltkjJfzhglmxjfxmzdService.list(wrapper1); |
| | | if (ltkjJfzhglmxjfxmzds != null && !ltkjJfzhglmxjfxmzds.isEmpty()) { |
| | | String xmdm = ltkjJfzhglmxjfxmzds.get(0).getXmdm(); |
| | | LambdaQueryWrapper<LtkjMxjfxmzd> wrapper2 = new LambdaQueryWrapper<>(); |
| | | wrapper2.eq(LtkjMxjfxmzd::getXmdm, xmdm); |
| | | LtkjMxjfxmzd mxjfxmzd = ltkjMxjfxmzdService.getOne(wrapper2); |
| | | LambdaQueryWrapper<LtkjEjjfxmzd> wrapper3 = new LambdaQueryWrapper<>(); |
| | | wrapper3.eq(LtkjEjjfxmzd::getEjkmdm, mxjfxmzd.getEjkmdm()); |
| | | LtkjEjjfxmzd ejjfxmzd = ltkjEjjfxmzdService.getOne(wrapper3); |
| | | tree.setXmfl(ejjfxmzd.getYjkmdm()); |
| | | } |
| | | tree.setCreateTime(DateUtil.date()); |
| | | ltkjJianchajianyanTreeService.save(tree); |
| | | } else { |
| | | errorPacsList.add(savePacsApply); |
| | | } |
| | | } |
| | | return allTotal; |
| | | } |
| | | |
| | | /* 查询检查结果、更新查询状态 */ |
| | | // 调用返回检验结果: |
| | | // exec usp_tjjk_pacsjg ‘体检号’ |
| | |
| | | @ApiParam(value = "姓名)") @RequestParam(required = false) String name, |
| | | @ApiParam(value = "页码数(默认1)") @RequestParam(defaultValue = "1") Integer page, |
| | | @ApiParam(value = "显示条数(默认10)") @RequestParam(defaultValue = "10") Integer pageSize) { |
| | | /* String userId = SecurityUtils.getLoginUser().getUserId(); |
| | | Integer ksId = null; |
| | | SysUser sysUser = null; |
| | | if (null != userId) { |
| | | sysUser = userService.getById(Long.valueOf(userId)); |
| | | if (null != sysUser) { |
| | | ksId = Math.toIntExact(sysUser.getDeptId()); |
| | | } |
| | | } |
| | | if (ksId == null) { |
| | | return AjaxResult.error("请输入科室id"); |
| | | } |
| | | //根据当前登陆的人的科室id,获取该科室下的所有项目 |
| | | List<Long> postIds = sysUser.getPostIds(); |
| | | List<Long> ksproList = null; |
| | | if (postIds != null) { |
| | | for (Long postId : postIds) { |
| | | LambdaQueryWrapper<SysUserPost> wq111 = new LambdaQueryWrapper<>(); |
| | | wq111.eq(SysUserPost::getPostId, postId); |
| | | SysUserPost one = userPostService.getOne(wq111); |
| | | if (one != null) { |
| | | SysPost byId = postService.getById(one.getPostId()); |
| | | if (byId.getPostName().equals("录入员")) { |
| | | ksproList = projectService.getKsTjProjectIdListBydeptId(String.valueOf(ksId)); |
| | | |
| | | } |
| | | } |
| | | } |
| | | } else { |
| | | ksproList = projectService.getKsTjProjectIdList(); |
| | | } |
| | | //筛选影像的项目。 A32影像 |
| | | if (ksproList.size() == 0) { |
| | | return AjaxResult.error("请完善科室项目信息"); |
| | | } |
| | | ksproList = ksproList.stream() |
| | | .filter(element -> element ==1633660948860522589L |
| | | // || element ==1633660948860522504L |
| | | // || |
| | | // element ==1633660948860522507L|| element ==1633660948860522508L |
| | | // || |
| | | // element ==1633660948860522515L|| element ==1633660948860522516L |
| | | // || |
| | | // element ==1633660948860522517L|| element ==1633660948860522519L |
| | | // || |
| | | // element ==1633660948860522524L|| element ==1633660948860522530L |
| | | // || |
| | | // element ==1633660948860522531L|| element ==1633660948860522533L |
| | | ) |
| | | .collect(Collectors.toList());*/ |
| | | |
| | | |
| | | // List<Long> ksproList = projectService.getYingXiangProId(); |
| | | // List<TjCustomer> customerLis = new ArrayList<>(); |
| | | // |
| | | // //根据体检号查 |
| | | // if (null != tjNumber) { |
| | | // List<TjOrder> orderList = orderService.getOrderListByLikeTjNum(tjNumber); |
| | | // if (null == orderList) { |
| | | // return AjaxResult.success("暂时没有数据"); |
| | | // } |
| | | // for (TjOrder order : orderList) { |
| | | // List<TjOrderDetail> list = Optional.ofNullable(detailService.getTjOrderDetailListByOrderId(String.valueOf(order.getOrderId()))).get(); |
| | | // if (list.size() == 0) { |
| | | // continue; |
| | | // } |
| | | // LambdaQueryWrapper<TjOrderRemark> wqs = new LambdaQueryWrapper<>(); |
| | | // wqs.eq(TjOrderRemark::getTjNumber, order.getTjNumber()); |
| | | // wqs.in(TjOrderRemark::getType, 0,3); |
| | | // List<TjOrderRemark> lists = remarkService.list(wqs); |
| | | // TjCustomer customer = customerService.getById(order.getUserId()); |
| | | // //遍历项目 判断是否有重大阳性 标记 |
| | | // for (TjOrderDetail tjOrderDetail11 : list) { |
| | | // customer.setIsPositive(tjOrderDetail11.getIsPositive()); |
| | | // if (tjOrderDetail11.getIsPositive()==1){ |
| | | // break; |
| | | // } |
| | | // } |
| | | // customer.setCusName(MatchUtils.hideCusName(customer.getCusName())); |
| | | // customer.setCusPhone(MatchUtils.hidePhoneNum(customer.getCusPhone())); |
| | | // customer.setCusIdcard(MatchUtils.hideIdCardNum(customer.getCusIdcard())); |
| | | // if (null != lists && lists.size() > 0) { |
| | | // StringBuilder stringBuilder = new StringBuilder(); |
| | | // for (TjOrderRemark remark : lists) { |
| | | // TjProject byId = projectService.selectTjProjectByProId(remark.getProId()); |
| | | // TjOrderDetail one = detailService.getTjOrderDetailByOrderId(String.valueOf(order.getOrderId()), String.valueOf(byId.getProId())); |
| | | // if (one.getFlowingWaterId() != null) { |
| | | // stringBuilder.append(byId.getProName()).append(";"); |
| | | // } |
| | | // |
| | | // } |
| | | // customer.setNotCheckeds(String.valueOf(stringBuilder)); |
| | | // customer.setTjStatus(0L); |
| | | // } else { |
| | | // customer.setTjStatus(1L); |
| | | // customer.setNotCheckeds("无"); |
| | | // } |
| | | // if (order.getTjType().equals("1")) { |
| | | // customer.setTjType("团体"); |
| | | // } |
| | | // if (order.getTjType().equals("2")) { |
| | | // customer.setTjType("个人"); |
| | | // } |
| | | // customer.setTjTime(order.getCreateTime()); |
| | | // customer.setTjNumber(order.getTjNumber()); |
| | | // customer.setOrderId(order.getOrderId()); |
| | | // customer.setIsHz(order.getIsHz()); |
| | | // customerLis.add(customer); |
| | | // |
| | | // } |
| | | // if (customerLis.size() > 0) { |
| | | // List<TjCustomer> customerList = customerLis.stream().skip((long) (page - 1) * pageSize).limit(pageSize).collect(Collectors.toList()); |
| | | // Collections.reverse(customerList); |
| | | // Map<String, Object> map = new HashMap<>(); |
| | | // map.put("date", customerList); |
| | | // map.put("total", customerLis.size()); |
| | | // return AjaxResult.success(map); |
| | | // } else { |
| | | // return AjaxResult.success("暂无数据"); |
| | | // } |
| | | // } |
| | | // |
| | | // //根据姓名查询 |
| | | // if (null != name && !"".equals(name)) { |
| | | // LambdaQueryWrapper<TjCustomer> wq = new LambdaQueryWrapper<>(); |
| | | // wq.like(TjCustomer::getCusName, name); |
| | | // List<TjCustomer> list = customerService.list(wq); |
| | | // List<TjCustomer> list11111 = new ArrayList<>(); |
| | | // if (null != list && list.size() > 0) { |
| | | // for (TjCustomer customer : list) { |
| | | // customer.setCusName(MatchUtils.hideCusName(customer.getCusName())); |
| | | // customer.setCusPhone(MatchUtils.hidePhoneNum(customer.getCusPhone())); |
| | | // customer.setCusIdcard(MatchUtils.hideIdCardNum(customer.getCusIdcard())); |
| | | // List<TjOrder> orderList = orderService.getOrderListByCusId(String.valueOf(customer.getCusId())); |
| | | // if (null != orderList && orderList.size() > 0) { |
| | | // for (TjOrder order : orderList) { |
| | | // List<TjOrderDetail> list111 = Optional.ofNullable(detailService.getTjOrderDetailListByOrderId(String.valueOf(order.getOrderId()))).get(); |
| | | // if (list111.size() == 0) { |
| | | // continue; |
| | | // } |
| | | // //遍历项目 判断是否有重大阳性 标记 |
| | | // for (TjOrderDetail tjOrderDetail11 : list111) { |
| | | // customer.setIsPositive(tjOrderDetail11.getIsPositive()); |
| | | // if (tjOrderDetail11.getIsPositive()==1){ |
| | | // break; |
| | | // } |
| | | // } |
| | | // List<TjOrderRemark> lists = remarkService.getTjOrderRemarkListByYjNum(order.getTjNumber()); |
| | | // if (null != lists && lists.size() > 0) { |
| | | // StringBuilder stringBuilder = new StringBuilder(); |
| | | // for (TjOrderRemark remark : lists) { |
| | | // TjProject byId = projectService.selectTjProjectByProId(remark.getProId()); |
| | | // TjOrderDetail one = detailService.getTjOrderDetailByOrderId(String.valueOf(order.getOrderId()), String.valueOf(byId.getProId())); |
| | | // if (one.getFlowingWaterId() != null) { |
| | | // stringBuilder.append(byId.getProName()).append(";"); |
| | | // } |
| | | // } |
| | | // customer.setNotCheckeds(String.valueOf(stringBuilder)); |
| | | // if (null == customer.getNotCheckeds()) customer.setNotCheckeds("全部已检"); |
| | | // customer.setTjStatus(0L); |
| | | // } else { |
| | | // customer.setNotCheckeds("无"); |
| | | // customer.setTjStatus(1L); |
| | | // } |
| | | // if (order.getTjType().equals("1")) { |
| | | // customer.setTjType("团体"); |
| | | // } |
| | | // if (order.getTjType().equals("2")) { |
| | | // customer.setTjType("个人"); |
| | | // } |
| | | // customer.setTjTime(order.getCreateTime()); |
| | | // customer.setTjNumber(order.getTjNumber()); |
| | | // customer.setOrderId(order.getOrderId()); |
| | | // customer.setIsHz(order.getIsHz()); |
| | | // list11111.add(customer); |
| | | // } |
| | | // } |
| | | // } |
| | | // if (list11111.size() == 0) { |
| | | // return AjaxResult.success("暂无数据"); |
| | | // } |
| | | // Map<String, Object> map = new HashMap<>(); |
| | | // List<TjCustomer> customers = list11111.stream().skip((long) (page - 1) * pageSize).limit(pageSize).collect(Collectors.toList()); |
| | | // Collections.reverse(customers); |
| | | // map.put("customers", customers); |
| | | // map.put("total", list11111.size()); |
| | | // return AjaxResult.success(map); |
| | | // } else { |
| | | // return AjaxResult.success("暂无数据"); |
| | | // } |
| | | // } |
| | | // List<TjCustomer> customerLists = null; |
| | | Map<String, Object> map = null; |
| | | if (type == 0) { |
| | | // Cursor cursor = redisTemplate.executeWithStickyConnection(redisConnection -> new ConvertingCursor<>(redisConnection.scan(options), redisSerializer::deserialize)); |
| | | // List<TjCustomer> customers = new ArrayList<>(); |
| | | // while(cursor.hasNext()){ |
| | | // String s = cursor.next().toString(); |
| | | // TjCustomer wj = redisCache.getCacheMapValue(s,"0"); |
| | | // if(null !=wj){ |
| | | // customers.add(wj); |
| | | // } |
| | | // } |
| | | //// //切记这里一定要关闭,否则会耗尽连接数。报Cannot get Jedis connection; nested exception is redis.clients.jedis.exceptions.JedisException: Could not get a |
| | | // cursor.close(); |
| | | // customerLists = redisCache.getCacheMapValue(ksId + "ks", "wj"); |
| | | map = deptService.getSysDeptHyAndYxYjWjCustomerList13("A32", name, tjNumber, 0, page, pageSize); |
| | | // customerLists = customers; |
| | | } |
| | | if (type == 1) { |
| | | // Cursor cursor = redisTemplate.executeWithStickyConnection(redisConnection -> new ConvertingCursor<>(redisConnection.scan(options), redisSerializer::deserialize)); |
| | | // List<TjCustomer> customers = new ArrayList<>(); |
| | | // while(cursor.hasNext()){ |
| | | // String s = cursor.next().toString(); |
| | | // TjCustomer wj = redisCache.getCacheMapValue(s,"1"); |
| | | // if(null !=wj){ |
| | | // customers.add(wj); |
| | | // } |
| | | // } |
| | | //// //切记这里一定要关闭,否则会耗尽连接数。报Cannot get Jedis connection; nested exception is redis.clients.jedis.exceptions.JedisException: Could not get a |
| | | // cursor.close(); |
| | | // customerLists = redisCache.getCacheMapValue(ksId + "ks", "yj"); |
| | | map = deptService.getSysDeptHyAndYxYjWjCustomerList13("A32", name, tjNumber, 1, page, pageSize); |
| | | // customerLists = customers; |
| | | } |
| | | // asyncService.dockerSetCustomerLisByRedis(ksproList, String.valueOf(ksId)); |
| | | // if (customerLists.size() > 0) { |
| | | // Collections.reverse(customerLists); |
| | | // List<TjCustomer> customerList = customerLists.stream().skip((long) (page - 1) * pageSize).limit(pageSize).collect(Collectors.toList()); |
| | | // Map<String, Object> map = new HashMap<>(); |
| | | // map.put("date", customerList); |
| | | // map.put("total", customerLists.size()); |
| | | // return AjaxResult.success(map); |
| | | // } else { |
| | | // AjaxResult map = getAjaxResult(type, page, pageSize, ksproList, customerLis); |
| | | // if (map != null) return map; |
| | | // return AjaxResult.success("暂时没有数据"); |
| | | return AjaxResult.success(map); |
| | | // } |
| | | } |
| | | |
| | | |
| | |
| | | @ApiParam(value = "年龄单位") @RequestParam String patagename, |
| | | @ApiParam(value = "生日)") @RequestParam Date patbirth) { |
| | | |
| | | String format = DateUtil.format(patbirth, "yyyy.MM.dd"); |
| | | |
| | | List<Map<String, Object>> tjYxjcList = testMapper.getTjYxjcList(patname, sex, null); |
| | | return AjaxResult.success(tjYxjcList); |
| | | } |
| | | |
| | | |
| | | // @GetMapping("/getSsTjYxjcList") |
| | | // @ApiOperation("查询个人影响检查项目结果集(搜素用)") |
| | | // public AjaxResult getSsTjYxjcList(@ApiParam(value = "姓名") @RequestParam String patname, |
| | | // @ApiParam(value = "性别") @RequestParam String sex, |
| | | // @ApiParam(value = "年龄") @RequestParam String patage) { |
| | | // |
| | | // |
| | | // List<Map<String, Object>> tjYxjcList = testMapper.getTjYxjcList(patname,sex,null,null); |
| | | // return AjaxResult.success(tjYxjcList); |
| | | // } |
| | | |
| | | |
| | | /** |
| | |
| | | */ |
| | | @GetMapping("/getHistory") |
| | | @ApiOperation("查询客户体检历史记录") |
| | | //@PreAuthorize("@ss.hasPermi('system:dept:getHistory')") |
| | | public AjaxResult getHistory(@RequestParam @ApiParam(value = "体检客户id") Long cusId) { |
| | | Long userId = Long.valueOf(SecurityUtils.getLoginUser().getUserId()); |
| | | Integer ksId = null; |
| | |
| | | @GetMapping("/getParentList") |
| | | @ApiOperation(value = "医生点击体检信息详情(只显示父项目列表)") |
| | | // 修改按照科室查询 |
| | | public AjaxResult getParentList(@ApiParam(value = "客户体检号") @RequestParam String tjNumber) { |
| | | public AjaxResult getParentList(@ApiParam(value = "客户体检号") @RequestParam String tjNumber, |
| | | @ApiParam(value = "已检未检状态 0 未检 1已检") @RequestParam Integer type) { |
| | | String userId = SecurityUtils.getLoginUser().getUserId(); |
| | | Integer ksId = null; |
| | | SysUser sysUser = null; |
| | |
| | | |
| | | SysDept dept = deptService.getById(ksId); |
| | | |
| | | if(null !=dept && !dept.getDeptName().contains("体检中心")){ |
| | | LambdaQueryWrapper<TjFlowingWater> tjFlowingWaterLambdaQueryWrapper = new LambdaQueryWrapper<>(); |
| | | tjFlowingWaterLambdaQueryWrapper.eq(TjFlowingWater::getOrderId, tjOrder.getOrderId()); |
| | | tjFlowingWaterLambdaQueryWrapper.eq(TjFlowingWater::getIsAddition, "N"); |
| | | TjFlowingWater tjFlowingWater = tjFlowingWaterService.getOne(tjFlowingWaterLambdaQueryWrapper); |
| | | if (null != tjFlowingWater) { |
| | | if (tjFlowingWater.getPayStasus() != 1 && tjFlowingWater.getPayStasus() != 3) { |
| | | if (configByKey.equals("Y")) { |
| | | HashMap<String, Object> hisRequestParams = new HashMap<>(); |
| | | // 不在需要身份证号 |
| | | hisRequestParams.put("patientId", tjOrder.getCardId()); |
| | | log.info("ltkj--- " + DateUtil.date() + "操作人id: " + userId + "操作科室: " + sysUser.getDeptId() + "操作的体检人: " + tjNumber); |
| | | AjaxResult queryPay = hisApiGetMethodService.getHISDataNew("QueryPay", hisRequestParams); |
| | | if (Integer.parseInt(queryPay.get("code").toString()) == 200) { |
| | | int sfsf = ltkjJianchajianyanTreeService.getSfsfByCardId(tjOrder.getCardId()); |
| | | if (sfsf > 0) { |
| | | log.error("路泰科技--- " + DateUtil.date() + " 存在未缴费项目的 就单数 " + sfsf); |
| | | log.error("路泰科技--- " + DateUtil.date() + " 存在未缴费项目的 就诊号 " + tjOrder.getCardId() + " 体检号 " + tjOrder.getTjNumber()); |
| | | return AjaxResult.error("存在未缴费项目"); |
| | | if(type !=1){ |
| | | if(null !=dept && !dept.getDeptName().contains("体检中心")){ |
| | | LambdaQueryWrapper<TjFlowingWater> tjFlowingWaterLambdaQueryWrapper = new LambdaQueryWrapper<>(); |
| | | tjFlowingWaterLambdaQueryWrapper.eq(TjFlowingWater::getOrderId, tjOrder.getOrderId()); |
| | | tjFlowingWaterLambdaQueryWrapper.eq(TjFlowingWater::getIsAddition, "N"); |
| | | TjFlowingWater tjFlowingWater = tjFlowingWaterService.getOne(tjFlowingWaterLambdaQueryWrapper); |
| | | if (null != tjFlowingWater) { |
| | | if (tjFlowingWater.getPayStasus() != 1 && tjFlowingWater.getPayStasus() != 3) { |
| | | if (configByKey.equals("Y")) { |
| | | HashMap<String, Object> hisRequestParams = new HashMap<>(); |
| | | // 不在需要身份证号 |
| | | hisRequestParams.put("patientId", tjOrder.getCardId()); |
| | | log.info("ltkj--- " + DateUtil.date() + "操作人id: " + userId + "操作科室: " + sysUser.getDeptId() + "操作的体检人: " + tjNumber); |
| | | AjaxResult queryPay = hisApiGetMethodService.getHISDataNew("QueryPay", hisRequestParams); |
| | | if (Integer.parseInt(queryPay.get("code").toString()) == 200) { |
| | | int sfsf = ltkjJianchajianyanTreeService.getSfsfByCardId(tjOrder.getCardId()); |
| | | if (sfsf > 0) { |
| | | log.error("路泰科技--- " + DateUtil.date() + " 存在未缴费项目的 就单数 " + sfsf); |
| | | log.error("路泰科技--- " + DateUtil.date() + " 存在未缴费项目的 就诊号 " + tjOrder.getCardId() + " 体检号 " + tjOrder.getTjNumber()); |
| | | return AjaxResult.error("存在未缴费项目"); |
| | | } |
| | | extracted(tjOrder, tjFlowingWater); |
| | | } else { |
| | | log.error("路泰科技--- " + DateUtil.date() + " 未查询到缴费记录的 就诊号 " + tjOrder.getCardId() + " 体检号 " + tjOrder.getTjNumber()); |
| | | return AjaxResult.error("未查询到缴费记录"); |
| | | } |
| | | extracted(tjOrder, tjFlowingWater); |
| | | } else { |
| | | log.error("路泰科技--- " + DateUtil.date() + " 未查询到缴费记录的 就诊号 " + tjOrder.getCardId() + " 体检号 " + tjOrder.getTjNumber()); |
| | | return AjaxResult.error("未查询到缴费记录"); |
| | | } |
| | | } |
| | | // String s = configService.selectConfigByKey("is_request_common_his_api"); |
| | | // if (null != s && s.equals("Y")) { |
| | | // LambdaQueryWrapper<TjFlowingWater> wrapper1 = new LambdaQueryWrapper<>(); |
| | | // wrapper1.eq(TjFlowingWater::getOrderId, tjOrder.getOrderId()); |
| | | // wrapper1.eq(TjFlowingWater::getPayStasus, 0L); |
| | | // List<TjFlowingWater> list = tjFlowingWaterService.list(wrapper1); |
| | | // if (!list.isEmpty()) { |
| | | // return AjaxResult.error("存在未缴费项目"); |
| | | // } |
| | | // } |
| | | } else { |
| | | log.error("路泰科技--- " + DateUtil.date() + " 未对接his接口 " + " 体检号 " + tjOrder.getTjNumber()); |
| | | return AjaxResult.error("未查询到缴费记录"); |
| | | } |
| | | } else { |
| | | log.error("路泰科技--- " + DateUtil.date() + " 未对接his接口 " + " 体检号 " + tjOrder.getTjNumber()); |
| | | return AjaxResult.error("未查询到缴费记录"); |
| | | } |
| | | } |
| | | |
| | |
| | | } |
| | | List<TjOrderRemark> list; |
| | | if(null != sysUser && sysUser.getUserName().equals("10001")){ |
| | | list=remarkService.yiShengJianChaGetPrentProCJGLY(tjNumber); |
| | | if(type !=1){ |
| | | list=remarkService.yiShengJianChaGetPrentProCJGLY(tjNumber); |
| | | }else { |
| | | list=remarkService.yiShengJianChaYjGetPrentProCJGLY(tjNumber); |
| | | } |
| | | }else { |
| | | list= remarkService.yiShengJianChaGetPrentPro(tjNumber, split); |
| | | if(type !=1){ |
| | | list= remarkService.yiShengJianChaGetPrentPro(tjNumber, split); |
| | | }else { |
| | | list= remarkService.yiShengJianChaYjGetPrentPro(tjNumber, split); |
| | | } |
| | | } |
| | | if (null ==list || list.isEmpty()) { |
| | | return AjaxResult.error("该科室下无项目!"); |
| | |
| | | @GetMapping("/getzongjianyishengchakanyichangxiangmu") |
| | | @ApiOperation(value = "总检查看异常项目接口") |
| | | public AjaxResult getzongjianyishengchakanyichangxiangmu(@RequestParam String tjNum) { |
| | | long l = System.currentTimeMillis(); |
| | | if (StrUtil.isNotBlank(tjNum)) { |
| | | TjOrder one = orderService.getOrderByTjNum(tjNum); |
| | | try { |
| | | if (StrUtil.isNotBlank(tjNum)) { |
| | | TjOrder one = orderService.getOrderByTjNum(tjNum); |
| | | |
| | | if (one == null) { |
| | | return AjaxResult.error("暂无数据!!"); |
| | | if (one == null) { |
| | | return AjaxResult.error("暂无数据!!"); |
| | | } |
| | | yichangxiangmu(tjNum); |
| | | LambdaQueryWrapper<TjOrderYcxm> wq = new LambdaQueryWrapper<>(); |
| | | wq.eq(TjOrderYcxm::getTjh, tjNum); |
| | | List<TjOrderYcxm> list = ycxmService.list(wq); |
| | | if (null != list && !list.isEmpty()) { |
| | | Collections.reverse(list); |
| | | return getOrderYcxmList(list); |
| | | } else { |
| | | return zongjianyishengchakanyichangxiangmu(tjNum); |
| | | } |
| | | } |
| | | String yqbm = configService.selectConfigByKey("common_api_service_hospbm"); |
| | | jcycxmService.deletedByTjh(tjNum); |
| | | configController.zongjianshengchengyichangxiangmu(tjNum, yqbm); |
| | | return AjaxResult.error(); |
| | | } catch (Exception ex) { |
| | | //throw new RuntimeException(ex); |
| | | log.error(ex.getMessage()); |
| | | return AjaxResult.error(); |
| | | } |
| | | } |
| | | |
| | | LambdaQueryWrapper<TjOrderYcxm> wq = new LambdaQueryWrapper<>(); |
| | | wq.eq(TjOrderYcxm::getTjh, tjNum); |
| | | List<TjOrderYcxm> list = ycxmService.list(wq); |
| | | if (null != list && !list.isEmpty()) { |
| | | Collections.reverse(list); |
| | | Map<String, List<TjOrderYcxm>> map = list.stream().collect(Collectors.groupingBy(TjOrderYcxm::getParentName)); |
| | | List<Map<String, Object>> maps = new ArrayList<>(); |
| | | for (Map.Entry<String, List<TjOrderYcxm>> entry : map.entrySet()) { |
| | | Map<String, Object> parent = new HashMap<>(); |
| | | List<TjOrderDetail> dels = new ArrayList<>(); |
| | | for (TjOrderYcxm ycxm : entry.getValue()) { |
| | | TjOrderDetail detail = new TjOrderDetail(); |
| | | detail.setOrderDetailId(Long.valueOf(ycxm.getId())); |
| | | detail.setProName(ycxm.getJcxm()); |
| | | detail.setProResult(ycxm.getJcjg()); |
| | | detail.setStanId(ycxm.getCkfw()); |
| | | detail.setProAdvice(ycxm.getDw()); |
| | | List<Map<String, Object>> btnrlist = new ArrayList<>(); |
| | | String jynr = ycxm.getJynr(); |
| | | JSONArray array = JSONUtil.parseArray(jynr); |
| | | for (Object object : array) { |
| | | Map<String, Object> objectMap = new HashMap<>(); |
| | | JSONObject jsonObject = (JSONObject) object; |
| | | String bt = jsonObject.getStr("bt"); |
| | | String nr = jsonObject.getStr("nr"); |
| | | objectMap.put("bt", bt); |
| | | objectMap.put("nr", nr); |
| | | if (null != bt || null != nr) btnrlist.add(objectMap); |
| | | private static AjaxResult getOrderYcxmList(List<TjOrderYcxm> list) { |
| | | try { |
| | | List<Map<String, Object>> maps = getYcxmMapList(list); |
| | | if (!maps.isEmpty()) { |
| | | List<Map<String, Object>> collect1 = maps.stream() |
| | | .sorted((map1, map2) -> map2.get("proName").toString().compareTo(map1.get("proName").toString())) |
| | | .collect(Collectors.toList()); |
| | | return AjaxResult.success(collect1); |
| | | } |
| | | return AjaxResult.success(maps); |
| | | } catch (Exception ex) { |
| | | // throw new RuntimeException(ex); |
| | | log.error(ex.getMessage()); |
| | | return AjaxResult.error(); |
| | | } |
| | | } |
| | | |
| | | private static List<Map<String, Object>> getYcxmMapList(List<TjOrderYcxm> list) { |
| | | try { |
| | | Map<String, List<TjOrderYcxm>> map = list.stream().collect(Collectors.groupingBy(TjOrderYcxm::getParentName)); |
| | | List<Map<String, Object>> maps = new ArrayList<>(); |
| | | for (Map.Entry<String, List<TjOrderYcxm>> entry : map.entrySet()) { |
| | | Map<String, Object> parent = new HashMap<>(); |
| | | List<TjOrderDetail> dels = new ArrayList<>(); |
| | | for (TjOrderYcxm ycxm : entry.getValue()) { |
| | | TjOrderDetail detail = new TjOrderDetail(); |
| | | detail.setOrderDetailId(Long.valueOf(ycxm.getId())); |
| | | detail.setProName(ycxm.getJcxm()); |
| | | detail.setProResult(ycxm.getJcjg()); |
| | | detail.setStanId(ycxm.getCkfw()); |
| | | detail.setProAdvice(ycxm.getDw()); |
| | | List<Map<String, Object>> btnrlist = new ArrayList<>(); |
| | | String jynr = ycxm.getJynr(); |
| | | JSONArray array = JSONUtil.parseArray(jynr); |
| | | for (Object object : array) { |
| | | Map<String, Object> objectMap = new HashMap<>(); |
| | | JSONObject jsonObject = (JSONObject) object; |
| | | String bt = jsonObject.getStr("bt"); |
| | | String nr = jsonObject.getStr("nr"); |
| | | objectMap.put("bt", bt); |
| | | objectMap.put("nr", nr); |
| | | if (null != bt || null != nr) btnrlist.add(objectMap); |
| | | } |
| | | detail.setAdvices(btnrlist); |
| | | dels.add(detail); |
| | | } |
| | | |
| | | parent.put("proName", entry.getKey()); |
| | | parent.put("jyjc", entry.getValue().get(0).getJyjc()); |
| | | parent.put("sone", dels); |
| | | maps.add(parent); |
| | | } |
| | | return maps; |
| | | } catch (NumberFormatException ex) { |
| | | // throw new RuntimeException(ex); |
| | | log.error(ex.getMessage()); |
| | | return null; |
| | | } |
| | | } |
| | | |
| | | private AjaxResult zongjianyishengchakanyichangxiangmu(String tjNumber) { |
| | | List<Map<String, Object>> list = new ArrayList<>(); |
| | | try { |
| | | List<TjOrderYcxm> tjOrderYcxms = new ArrayList<>(); |
| | | TjOrder order = orderService.getOrderByTjNum(tjNumber); |
| | | String xb= customerService.getSexByTjh(tjNumber); |
| | | if (null != order) { |
| | | List<TjOrderRemark> remarkList = orderRemarkService.getzongjianyishengchakanyichangxiangmu(tjNumber); |
| | | List<TjOrderDetail> tjOrderDetails = detailService.getzongjianyishengchakanyichangxiangmu(tjNumber); |
| | | LambdaQueryWrapper<TjOrderYcxm> wq = new LambdaQueryWrapper<>(); |
| | | wq.eq(TjOrderYcxm::getTjh, tjNumber); |
| | | List<TjOrderYcxm> ycxmList = ycxmService.list(wq); |
| | | 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")) { |
| | | List<Map<String, Object>> maps = rulesService.getyichangxiangmujianyiguize(tjOrderDetail.getProId().toString() |
| | | , tjOrderDetail.getProName().replaceAll("[((][^))]*[))]", "") |
| | | .replaceAll("[ 测定检测]", "").replaceAll("\\[.*?\\]", ""), tjOrderDetail.getYcbz().replaceAll(" ", ""), tjNumber |
| | | , tjOrderDetail.getProName().replaceAll("[((][^))]*[\u4e00-\u9fa5]+[^))]*[))]", "") |
| | | .replaceAll("[ 测定检测]", "").replaceAll("\\[.*?\\]", "") |
| | | , 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", ""); |
| | | // Map<String,Object> maps= rulesService.getyichangxiangmujianyiguizeJianCha(s); |
| | | 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); |
| | | } |
| | | |
| | | } |
| | | if (null == ycxmList || ycxmList.isEmpty()) { |
| | | TjOrderYcxm ycxm = new TjOrderYcxm(); |
| | | ycxm.setTjh(tjNumber); |
| | | ycxm.setParentName(remark.getProName()); |
| | | ycxm.setJcxm(tjOrderDetail.getProName()); |
| | | ycxm.setJcjg(tjOrderDetail.getProResult()); |
| | | ycxm.setCkfw(tjOrderDetail.getStanId()); |
| | | ycxm.setDw(tjOrderDetail.getProAdvice()); |
| | | ycxm.setJynr(JSONUtil.toJsonStr(tjOrderDetail.getAdvices())); |
| | | ycxm.setJyjc(remark.getJyjc()); |
| | | if (ycxmService.save(ycxm)) { |
| | | tjOrderYcxms.add(ycxm); |
| | | } |
| | | } |
| | | dels.add(tjOrderDetail); |
| | | } |
| | | } |
| | | if (!dels.isEmpty()) { |
| | | parent.put("proName", remark.getProName()); |
| | | parent.put("jyjc", remark.getJyjc()); |
| | | parent.put("sone", dels); |
| | | list.add(parent); |
| | | } |
| | | } |
| | | detail.setAdvices(btnrlist); |
| | | dels.add(detail); |
| | | } |
| | | if (!tjOrderYcxms.isEmpty()) { |
| | | Collections.reverse(tjOrderYcxms); |
| | | return getOrderYcxmList(tjOrderYcxms); |
| | | } |
| | | |
| | | parent.put("proName", entry.getKey()); |
| | | parent.put("jyjc", entry.getValue().get(0).getJyjc()); |
| | | parent.put("sone", dels); |
| | | maps.add(parent); |
| | | } |
| | | List<Map<String, Object>> mapList = zongjianyishengchakanyichangxiangmu(tjNum); |
| | | } |
| | | return AjaxResult.success(list); |
| | | } catch (Exception ex) { |
| | | // throw new RuntimeException(ex); |
| | | log.error(ex.getMessage()); |
| | | return AjaxResult.success(list); |
| | | } |
| | | } |
| | | |
| | | private void yichangxiangmu(String tjNumber) { |
| | | try { |
| | | List<TjOrderYcxm> tjOrderYcxmList= ycxmService.selectListByTjh(tjNumber); |
| | | String xb= customerService.getSexByTjh(tjNumber); |
| | | if(null !=tjOrderYcxmList && !tjOrderYcxmList.isEmpty()){ |
| | | |
| | | List<Map<String, Object>> list = new ArrayList<>(); |
| | | TjOrder order = orderService.getOrderByTjNum(tjNumber); |
| | | if (null != order) { |
| | | 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")) { |
| | | List<Map<String, Object>> maps = rulesService.getyichangxiangmujianyiguize(tjOrderDetail.getProId().toString() |
| | | , tjOrderDetail.getProName().replaceAll("[((][^))]*[))]", "") |
| | | .replaceAll("[ 测定检测]", "").replaceAll("\\[.*?\\]", ""), tjOrderDetail.getYcbz().replaceAll(" ", ""), tjNumber |
| | | , tjOrderDetail.getProName().replaceAll("[((][^))]*[\u4e00-\u9fa5]+[^))]*[))]", "") |
| | | .replaceAll("[ 测定检测]", "").replaceAll("\\[.*?\\]", "") |
| | | , tjOrderDetail.getProResult()); |
| | | |
| | | |
| | | List<Map<String, Object>> collect = mapList.stream() |
| | | 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", ""); |
| | | 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); |
| | | } |
| | | } |
| | | 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()) { |
| | | maps.addAll(collect); |
| | | } |
| | | if (!maps.isEmpty()) { |
| | | List<Map<String, Object>> collect1 = maps.stream() |
| | | .sorted((map1, map2) -> map2.get("proName").toString().compareTo(map1.get("proName").toString())) |
| | | .collect(Collectors.toList()); |
| | | System.out.println("总检查看异常项目接口总耗时:" + (System.currentTimeMillis() - l)); |
| | | return AjaxResult.success(collect1); |
| | | } |
| | | System.out.println("总检查看异常项目接口总耗时:" + (System.currentTimeMillis() - l)); |
| | | |
| | | return AjaxResult.success(maps); |
| | | } else { |
| | | List<Map<String, Object>> mapList = zongjianyishengchakanyichangxiangmu(tjNum); |
| | | System.out.println("总检查看异常项目接口总耗时:" + (System.currentTimeMillis() - l)); |
| | | return AjaxResult.success(mapList); |
| | | if(!collect.isEmpty()){ |
| | | for (Map<String, Object> map : collect) { |
| | | for (TjOrderDetail detail : (List<TjOrderDetail>) map.get("sone")) { |
| | | TjOrderYcxm ycxm = new TjOrderYcxm(); |
| | | ycxm.setTjh(tjNumber); |
| | | ycxm.setParentName(map.get("proName").toString()); |
| | | ycxm.setJcxm(detail.getProName()); |
| | | ycxm.setJcjg(detail.getProResult()); |
| | | ycxm.setCkfw(detail.getStanId()); |
| | | ycxm.setDw(detail.getProAdvice()); |
| | | ycxm.setJynr(JSONUtil.toJsonStr(detail.getAdvices())); |
| | | ycxm.setJyjc(map.get("jyjc").toString()); |
| | | ycxmService.save(ycxm); |
| | | } |
| | | } |
| | | } |
| | | } |
| | | |
| | | } catch (Exception ex) { |
| | | log.error(ex.getMessage()); |
| | | } |
| | | return AjaxResult.error(); |
| | | } |
| | | |
| | | @GetMapping("/delzongjianyishengchakanyichangxiangmu") |
| | |
| | | return AjaxResult.success(); |
| | | } |
| | | |
| | | /*private List<Map<String, Object>> zongjianyishengchakanyichangxiangmu(String tjNumber) { |
| | | // asyncService.updateCheckType(tjNumber); |
| | | |
| | | List<TjOrderRemark> remarkList = orderRemarkService.getzongjianyishengchakanyichangxiangmu(tjNumber); |
| | | List<TjOrderDetail> tjOrderDetails = detailService.getzongjianyishengchakanyichangxiangmu(tjNumber); |
| | | List<Map<String, Object>> list = new ArrayList<>(); |
| | | 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")){ |
| | | List<Map<String,Object>> maps= rulesService.getyichangxiangmujianyiguize(tjOrderDetail.getProId().toString() |
| | | ,"",tjOrderDetail.getYcbz().replaceAll(" ", ""),tjNumber |
| | | ,tjOrderDetail.getProName().replaceAll("[((][^))]*[))]", "") |
| | | .replaceAll("[ 测定检测]","") |
| | | ,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", ""); |
| | | // Map<String,Object> maps= rulesService.getyichangxiangmujianyiguizeJianCha(s); |
| | | Map<String,Object> maps= tjProAdvicerulesService.getyichangxiangmujianyiguizeJianCha(remark.getKs(),s,"0"); |
| | | 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); |
| | | } |
| | | } |
| | | if(!dels.isEmpty()){ |
| | | parent.put("proName",remark.getProName()); |
| | | parent.put("jyjc",remark.getJyjc()); |
| | | parent.put("sone",dels); |
| | | list.add(parent); |
| | | } |
| | | } |
| | | } |
| | | |
| | | } |
| | | return list; |
| | | }*/ |
| | | |
| | | private List<Map<String, Object>> zongjianyishengchakanyichangxiangmu(String tjNumber) { |
| | | // asyncService.updateCheckType(tjNumber); |
| | | |
| | | String xb= customerService.getSexByTjh(tjNumber); |
| | | |
| | | List<TjOrderRemark> remarkList = orderRemarkService.getzongjianyishengchakanyichangxiangmu(tjNumber); |
| | | List<TjOrderDetail> tjOrderDetails = detailService.getzongjianyishengchakanyichangxiangmu(tjNumber); |
| | | List<Map<String, Object>> list = new ArrayList<>(); |
| | | 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")) { |
| | | List<Map<String, Object>> maps = rulesService.getyichangxiangmujianyiguize(tjOrderDetail.getProId().toString() |
| | | , tjOrderDetail.getProName().replaceAll("[((][^))]*[))]", "") |
| | | .replaceAll("[ 测定检测 ◆]", "").replaceAll("\\[.*?\\]", "") |
| | | , tjOrderDetail.getYcbz().replaceAll(" ", ""), tjNumber |
| | | , tjOrderDetail.getProName().replaceAll("[((][^))]*[\u4e00-\u9fa5]+[^))]*[))]", "") |
| | | .replaceAll("[ 测定检测 ◆]", "").replaceAll("\\[.*?\\]", "") |
| | | , 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", ""); |
| | | // Map<String,Object> maps= rulesService.getyichangxiangmujianyiguizeJianCha(s); |
| | | 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); |
| | | } |
| | | } |
| | | if (!dels.isEmpty()) { |
| | | parent.put("proName", remark.getProName()); |
| | | parent.put("jyjc", remark.getJyjc()); |
| | | parent.put("sone", dels); |
| | | list.add(parent); |
| | | } |
| | | } |
| | | } |
| | | |
| | | } |
| | | return list; |
| | | } |
| | | |
| | | @GetMapping("/chushenyemianchakanxiangmujieguo") |
| | | @ApiOperation(value = "初审页面查看项目结果接口") |
| | |
| | | @ApiParam(value = "单位") @RequestParam(required = false) String dw, |
| | | @ApiParam(value = "报告开始时间") @RequestParam(required = false) String djbeginTime, |
| | | @ApiParam(value = "报告结束时间") @RequestParam(required = false) String djendTime) { |
| | | /* Map<String, Object> map = new HashMap<>(); |
| | | List<Long> cusIds = null; |
| | | if (StringUtil.isNotBlank(name)) { |
| | | LambdaQueryWrapper<TjCustomer> wqq = new LambdaQueryWrapper<>(); |
| | | wqq.like(TjCustomer::getCusName, name); |
| | | cusIds = tjCustomerService.list(wqq).stream().map(TjCustomer::getCusId).collect(Collectors.toList()); |
| | | } |
| | | Page<TjOrder> page1 = new Page<>(pageNum, pageSize); |
| | | LambdaQueryWrapper<TjOrder> wq = new LambdaQueryWrapper<>(); |
| | | if (dyzt == 0) { |
| | | wq.isNull(TjOrder::getPrintLastTime); |
| | | wq.eq(TjOrder::getHeshouStatus, 1); //核收状态为1才能打印 |
| | | } else { |
| | | wq.isNotNull(TjOrder::getPrintLastTime); |
| | | } |
| | | |
| | | if (null != djbeginTime && null != djendTime) { |
| | | wq.between(TjOrder::getCreateTime, DateUtil.beginOfDay(DateUtil.parseDate(djbeginTime)), DateUtil.endOfDay(DateUtil.parseDate(djendTime))); |
| | | } |
| | | if (null != tjNum) { |
| | | wq.like(TjOrder::getTjNumber, tjNum); |
| | | } |
| | | if (StringUtil.isNotBlank(dw)) { |
| | | wq.like(TjOrder::getFirmName, dw); |
| | | } |
| | | if (null != cusIds && !cusIds.isEmpty()) { |
| | | wq.in(TjOrder::getUserId, cusIds); |
| | | } |
| | | wq.orderByDesc(TjOrder::getCreateTime); |
| | | Page<TjOrder> page2 = tjOrderService.page(page1, wq); |
| | | List<TjOrder> list = page2.getRecords(); |
| | | if (list != null) { |
| | | for (int i = 0; i < list.size(); i++) { |
| | | TjCustomer tjCustomer = tjCustomerService.getById(list.get(i).getUserId()); |
| | | if (null == tjCustomer) { |
| | | list.remove(list.get(i)); |
| | | continue; |
| | | } |
| | | list.get(i).setTjCustomerSex(tjCustomer.getCusSex()); |
| | | list.get(i).setTjCustomerAge(DateUtil.ageOfNow(tjCustomer.getCusBrithday())); |
| | | list.get(i).setTjCustomerName(tjCustomer.getCusName()); |
| | | list.get(i).setTjCustomerPhone(tjCustomer.getCusPhone()); |
| | | if (tjCustomer.getCusIdcard() != null) { |
| | | list.get(i).setTjCusIdCard(tjCustomer.getCusIdcard()); |
| | | } |
| | | |
| | | if (null != tjCustomer.getCompName()) { |
| | | list.get(i).setDictCompName(tjCustomer.getCompName()); |
| | | } else { |
| | | String firmId = list.get(i).getFirmId(); |
| | | if (firmId != null && null != iDictCompService.getById(String.valueOf(list.get(i).getFirmId()))) { |
| | | list.get(i).setDictCompName(iDictCompService.getById(String.valueOf(list.get(i).getFirmId())).getCnName()); |
| | | } |
| | | } |
| | | if (null != list.get(i).getPacId()) { |
| | | if (null != tjPackageService.getById(list.get(i).getPacId())) { |
| | | list.get(i).setPacName(tjPackageService.getById(list.get(i).getPacId()).getPacName()); |
| | | } |
| | | if (null != dwDeptService.getById(list.get(i).getPacId())) { |
| | | list.get(i).setPacName(dwDeptService.getById(list.get(i).getPacId()).getDwDeptName()); |
| | | } |
| | | } |
| | | //从打印记录查出最新打印时间 |
| | | // LambdaQueryWrapper<TjReportPrint> wqqq = new LambdaQueryWrapper<>(); |
| | | // wqqq.eq(TjReportPrint::getTjNumber, list.get(i).getTjNumber()); |
| | | // wqqq.orderByDesc(TjReportPrint::getPrintTime); |
| | | // wqqq.last("limit 1"); |
| | | // TjReportPrint one = tjReportPrintService.getOne(wqqq); |
| | | // if (one != null) { |
| | | // list.get(i).setPrintLastTime(one.getPrintTime()); |
| | | // } |
| | | } |
| | | } |
| | | map.put("list", list); |
| | | map.put("total", page2.getTotal());*/ |
| | | |
| | | if (djbeginTime == null) djbeginTime = ""; |
| | | if (djendTime == null) djendTime = ""; |
| | | Map<String, Object> map = tjOrderService.getTjBgdyList(pageNum, pageSize, dyzt, tjNum, name, dw, djbeginTime, djendTime); |
| | |
| | | /** |
| | | * 导出体检记录列表 |
| | | */ |
| | | // @PreAuthorize("@ss.hasPermi('hosp:order:export')") |
| | | @Log(title = "体检记录", businessType = BusinessType.EXPORT) |
| | | @PostMapping("/export") |
| | | @ApiOperation(value = "导出体检记录列表") |
| | | public void export(HttpServletResponse response, TjOrder tjOrder) { |
| | | //List<TjOrder> list = tjOrderService.selectTjOrderList(tjOrder); |
| | | List<TjOrder> list = tjOrderService.selectExportOrderList(tjOrder); |
| | | ExcelUtil<TjOrder> util = new ExcelUtil<TjOrder>(TjOrder.class); |
| | | util.exportExcel(response, list, "体检记录数据"); |
| | | } |
| | | |
| | | @PostMapping("/exportOrderList") |
| | | @ApiOperation(value = "导出体检记录列表") |
| | | public void exportOrderList(@ApiParam(value = "页码数(默认1)") @RequestParam(defaultValue = "1") Integer pageNum, |
| | | @ApiParam(value = "显示条数(默认10)") @RequestParam(defaultValue = "10") Integer pageSize, |
| | | @ApiParam(value = "状态") @RequestParam(required = false) Integer zt, |
| | | @ApiParam(value = "体检号)") @RequestParam(required = false) String tjNum, |
| | | @ApiParam(value = "姓名)") @RequestParam(required = false) String name, |
| | | @ApiParam(value = "项目名)") @RequestParam(required = false) String xmmc, |
| | | @ApiParam(value = "登记开始时间") @RequestParam(required = false) Date djbeginTime, |
| | | @ApiParam(value = "登记结束时间") @RequestParam(required = false) Date djendTime, |
| | | @ApiParam(value = "报告开始时间") @RequestParam(required = false) Date bgbeginTime, |
| | | @ApiParam(value = "报告结束时间") @RequestParam(required = false) Date bgendTime, |
| | | @ApiParam(value = "单位") @RequestParam(required = false) String dw, |
| | | HttpServletResponse response) { |
| | | List<Long> cusIds = null; |
| | | if (null != name) { |
| | | LambdaQueryWrapper<TjCustomer> wqq = new LambdaQueryWrapper<>(); |
| | | wqq.like(TjCustomer::getCusName, name); |
| | | cusIds = tjCustomerService.list(wqq).stream().map(TjCustomer::getCusId).collect(Collectors.toList()); |
| | | } |
| | | |
| | | Page<TjOrder> page1 = new Page<>(pageNum, pageSize); |
| | | LambdaQueryWrapper<TjOrder> wq = new LambdaQueryWrapper<>(); |
| | | if (null != djbeginTime && null != djendTime) { |
| | | wq.between(TjOrder::getCreateTime, DateUtil.beginOfDay(djbeginTime), DateUtil.endOfDay(djendTime)); |
| | | } |
| | | if (null != bgbeginTime && null != bgendTime) { |
| | | wq.between(TjOrder::getCreateTime, DateUtil.beginOfDay(bgbeginTime), DateUtil.endOfDay(bgendTime)); |
| | | } |
| | | if (null != tjNum) { |
| | | wq.eq(TjOrder::getTjNumber, tjNum); |
| | | } |
| | | |
| | | |
| | | if (null != xmmc) { |
| | | wq.in(TjOrder::getTjNumber, projectService.getTjNumLIstByXmmx(xmmc)); |
| | | } |
| | | |
| | | if (StrUtil.isNotBlank(dw)) { |
| | | wq.like(TjOrder::getFirmName, dw); |
| | | } |
| | | |
| | | if (null != cusIds && !cusIds.isEmpty()) { |
| | | wq.in(TjOrder::getUserId, cusIds); |
| | | } |
| | | |
| | | if (null != zt && (zt == 0 || zt == 1 || zt == 2)) { |
| | | List<TjOrder> orders = new ArrayList<>(); |
| | | List<TjOrder> tjOrders = null; |
| | | List<TjOrder> orderList = tjOrderService.list(wq); |
| | | if (null != orderList && !orderList.isEmpty()) { |
| | | for (TjOrder order : orderList) { |
| | | int czwj = remarkService.panduaniscunzaiweijian(order.getTjNumber()); |
| | | int sfwc = remarkService.panduaniswancheng(order.getTjNumber()); |
| | | if (zt == 0 && czwj == 0) { |
| | | //未检0 |
| | | order.setZt("未检"); |
| | | orders.add(order); |
| | | } |
| | | if (zt == 1 && czwj > 0) { |
| | | //在检1 |
| | | order.setZt("在检"); |
| | | orders.add(order); |
| | | } |
| | | if (zt == 2 && sfwc == 0 && order.getCheckStatus() == 0 && order.getCheckTime() == null && order.getHeshouStatus() == 0 && order.getPrintLastTime() == null) { |
| | | //已完成2 |
| | | order.setZt("已完成"); |
| | | orders.add(order); |
| | | } |
| | | } |
| | | if (!orders.isEmpty()) { |
| | | tjOrders = orders.stream().sorted(Comparator.comparing(TjOrder::getCreateTime).reversed()) |
| | | .skip((long) (pageNum - 1) * pageSize).limit(pageSize).collect(Collectors.toList()); |
| | | for (TjOrder order : tjOrders) { |
| | | TjCustomer tjCustomer = tjCustomerService.getById(order.getUserId()); |
| | | if (null != tjCustomer) { |
| | | order.setTjCustomerSex(tjCustomer.getCusSex()); |
| | | order.setTjCustomerAge(DateUtil.ageOfNow(tjCustomer.getCusBrithday())); |
| | | order.setTjCustomerName(tjCustomer.getCusName()); |
| | | order.setTjCustomerPhone(tjCustomer.getCusPhone()); |
| | | order.setTjCusIdCard(tjCustomer.getCusIdcard()); |
| | | order.setCareer(tjCustomer.getCareer()); |
| | | order.setIdType(tjCustomer.getIdType()); |
| | | order.setAgeUnit(tjCustomer.getAgeUnit()); |
| | | order.setTjCount(String.valueOf(tjCustomer.getCusNumber())); |
| | | String firmName = order.getFirmName(); |
| | | if (StringUtil.isNotBlank(firmName)) { |
| | | order.setDictCompName(firmName); |
| | | } |
| | | if (null != order.getPacId()) { |
| | | if (null != tjPackageService.getById(order.getPacId())) { |
| | | order.setPacName(tjPackageService.getById(order.getPacId()).getPacName()); |
| | | } else if (null != dwDeptService.getById(order.getPacId())) { |
| | | order.setPacName(dwDeptService.getById(order.getPacId()).getDwDeptName()); |
| | | } |
| | | } |
| | | TjDjdDyjl dycs = djdDyjlService.getDjdDyCsByTjNum(order.getTjNumber()); |
| | | if (null != dycs) order.setDycs(Math.toIntExact(dycs.getDycs())); |
| | | } |
| | | } |
| | | } |
| | | } |
| | | ExcelUtil<TjOrder> util = new ExcelUtil<TjOrder>(TjOrder.class); |
| | | util.exportExcel(response, tjOrders, "体检记录数据"); |
| | | } |
| | | |
| | | if (null != zt) { |
| | | if (zt == 3) { |
| | | //已审核 |
| | | wq.isNotNull(TjOrder::getCheckTime); |
| | | wq.eq(TjOrder::getCheckStatus, 1); |
| | | wq.isNull(TjOrder::getHeshouTime); |
| | | wq.isNull(TjOrder::getPrintLastTime); |
| | | wq.eq(TjOrder::getHeshouStatus, 0); |
| | | } |
| | | if (zt == 4) { |
| | | //生成报告 |
| | | wq.isNotNull(TjOrder::getReportTime); |
| | | wq.isNull(TjOrder::getHeshouTime); |
| | | wq.isNull(TjOrder::getPrintLastTime); |
| | | wq.eq(TjOrder::getHeshouStatus, 0); |
| | | } |
| | | if (zt == 5) { |
| | | //报告核收 |
| | | wq.eq(TjOrder::getHeshouStatus, 1); |
| | | wq.isNull(TjOrder::getPrintLastTime); |
| | | } |
| | | if (zt == 6) { |
| | | //已打印 |
| | | wq.isNotNull(TjOrder::getPrintLastTime); |
| | | wq.eq(TjOrder::getHeshouStatus, 1); |
| | | wq.isNotNull(TjOrder::getPrintLastTime); |
| | | } |
| | | } |
| | | |
| | | wq.orderByDesc(TjOrder::getCreateTime); |
| | | Page<TjOrder> page2 = tjOrderService.page(page1, wq); |
| | | List<TjOrder> list = page2.getRecords(); |
| | | if (list != null) { |
| | | for (TjOrder order : list) { |
| | | TjCustomer tjCustomer = tjCustomerService.getById(order.getUserId()); |
| | | if (null != tjCustomer) { |
| | | order.setTjCustomerSex(tjCustomer.getCusSex()); |
| | | order.setTjCustomerAge(DateUtil.ageOfNow(tjCustomer.getCusBrithday())); |
| | | order.setTjCustomerName(tjCustomer.getCusName()); |
| | | order.setTjCustomerPhone(tjCustomer.getCusPhone()); |
| | | order.setTjCusIdCard(tjCustomer.getCusIdcard()); |
| | | order.setCareer(tjCustomer.getCareer()); |
| | | order.setIdType(tjCustomer.getIdType()); |
| | | order.setAgeUnit(tjCustomer.getAgeUnit()); |
| | | order.setTjCount(String.valueOf(tjCustomer.getCusNumber())); |
| | | if (null != tjCustomer.getCompName()) { |
| | | order.setDictCompName(tjCustomer.getCompName()); |
| | | } else { |
| | | String firmId = order.getFirmId(); |
| | | if (firmId != null && null != iDictCompService.getById(String.valueOf(order.getFirmId()))) { |
| | | order.setDictCompName(iDictCompService.getById(String.valueOf(order.getFirmId())).getCnName()); |
| | | } |
| | | } |
| | | if (null != order.getPacId()) { |
| | | if (null != tjPackageService.getById(order.getPacId())) { |
| | | order.setPacName(tjPackageService.getById(order.getPacId()).getPacName()); |
| | | } else if (null != dwDeptService.getById(order.getPacId())) { |
| | | order.setPacName(dwDeptService.getById(order.getPacId()).getDwDeptName()); |
| | | } |
| | | } |
| | | TjDjdDyjl dycs = djdDyjlService.getDjdDyCsByTjNum(order.getTjNumber()); |
| | | if (null != dycs) order.setDycs(Math.toIntExact(dycs.getDycs())); |
| | | } |
| | | int czwj = remarkService.panduaniscunzaiweijian(order.getTjNumber()); |
| | | int sfwc = remarkService.panduaniswancheng(order.getTjNumber()); |
| | | Date checkTime = order.getCheckTime(); |
| | | Date reportTime = order.getReportTime(); |
| | | Integer heshouStatus = order.getHeshouStatus(); |
| | | Date lastTime = order.getPrintLastTime(); |
| | | |
| | | if (null != zt) { |
| | | if (zt == 3) { |
| | | order.setZt("已审核"); |
| | | } |
| | | if (zt == 4) { |
| | | order.setZt("生成报告"); |
| | | } |
| | | if (zt == 5) { |
| | | order.setZt("报告核收"); |
| | | } |
| | | if (zt == 6) { |
| | | order.setZt("已打印"); |
| | | } |
| | | } else { |
| | | if (czwj == 0) { |
| | | //未检0 |
| | | order.setZt("未检"); |
| | | } |
| | | if (czwj > 0) { |
| | | //在检1 |
| | | order.setZt("在检"); |
| | | } |
| | | if (sfwc == 0) { |
| | | //已完成2 |
| | | order.setZt("已完成"); |
| | | } |
| | | if (null != checkTime) { |
| | | //已审核3 |
| | | order.setZt("已审核"); |
| | | } |
| | | if (null != reportTime) { |
| | | //生成报告4 |
| | | order.setZt("生成报告"); |
| | | } |
| | | if (1 == heshouStatus) { |
| | | //报告核收5 |
| | | order.setZt("报告核收"); |
| | | } |
| | | if (null != lastTime) { |
| | | //已打印6 |
| | | order.setZt("已打印"); |
| | | } |
| | | } |
| | | } |
| | | } |
| | | ExcelUtil<TjOrder> util = new ExcelUtil<TjOrder>(TjOrder.class); |
| | | util.exportExcel(response, list, "体检记录数据"); |
| | | } |
| | |
| | | hisApiMethod.ZfHisApiMethod(jzh.toString()); |
| | | } |
| | | log.info("该登记人挂号失败, 就诊号为: " + tjOrder.getCardId()); |
| | | // return AjaxResult.error("挂号失败!" + result.get("msg").toString()); |
| | | throw new IllegalStateException("挂号失败!" + result.get("msg").toString()); |
| | | } |
| | | |
| | | log.info("该登记人的his就诊号是: " + tjOrder.getCardId()); |
| | | //团体 |
| | | /* if ("1".equals(tjOrder.getTjType())) { |
| | | // asyncService.ttextracted(tjOrder, tjCustomer, sysUser, tjReservation, tjFlowingWater); |
| | | ttextracted(tjOrder, tjCustomer, sysUser, tjReservation, tjFlowingWater); |
| | | }*/ |
| | | //个人 |
| | | /* if ("2".equals(tjOrder.getTjType())) { |
| | | //asyncService.newSaveextracted(tjOrder, tjCustomer, discount, sysUser, tjReservation, tjFlowingWater); |
| | | newSaveextracted(tjOrder, tjCustomer, discount, sysUser, tjReservation, tjFlowingWater); |
| | | }*/ |
| | | // 查询 对接Lis、Pacs申请如果类型包含在配置内则使用对接lis、pacs |
| | | try { |
| | | if (lisApiMethod.isUseLisAndPacsRegister(tjOrder)) { |
| | |
| | | addCaiYangDengJi(detailList, !detailList.isEmpty(), tjOrder, sysUser, null); |
| | | log.info("调用his开启 进入不收费方法 该方法执行完毕"); |
| | | } else { |
| | | log.info("调用his开启 进入收费方法 该体检人员不收费:"+tjOrder.getTjNumber()); |
| | | log.info("调用his开启 进入收费方法 该体检人员收费:"+tjOrder.getTjNumber()); |
| | | newSaveextracted(tjOrder, tjCustomer, discount, sysUser, tjReservation, tjFlowingWater); |
| | | List<TjOrderDetail> detailList = tjOrderDetailService.getCaiYangDengJi(tjOrder.getOrderId()); |
| | | addCaiYangDengJi(detailList, !detailList.isEmpty(), tjOrder, sysUser, null); |
| | |
| | | xdPictureService.saveBatch(xdPictureList); |
| | | List<TjOrderDetail> detailList = tjOrderDetailService.getCaiYangDengJi(tjOrder.getOrderId()); |
| | | addCaiYangDengJi(detailList, !detailList.isEmpty(), tjOrder, sysUser, null); |
| | | // return AjaxResult.success(tjNumber); |
| | | } |
| | | |
| | | tjCustomer.setCardId("0"); |
| | |
| | | /** |
| | | * 客户对象 |
| | | */ |
| | | @Excels({ |
| | | @Excel(name = "客户名称", targetAttr = "cusName", type = Excel.Type.EXPORT, defaultValue = "无"), |
| | | @Excel(name = "客户性别", targetAttr = "cusSex", type = Excel.Type.EXPORT, readConverterExp = "0=男,1=女", defaultValue = "无"), |
| | | @Excel(name = "客户电话", targetAttr = "cusPhone", type = Excel.Type.EXPORT, defaultValue = "无"), |
| | | }) |
| | | @TableField(exist = false) |
| | | @ApiModelProperty(value = "客户对象") |
| | | // @Excel(name = "客户名称", targetAttr = "cusName", type = Excel.Type.EXPORT, defaultValue = "无") |
| | | private TjCustomer customer; |
| | | |
| | | /** |
| | |
| | | /** |
| | | * 流水号(时间戳生成) |
| | | */ |
| | | @Excel(name = "流水号", defaultValue = "无") |
| | | // @Excel(name = "流水号", defaultValue = "无") |
| | | @ApiModelProperty(value = "流水号") |
| | | @JsonSerialize(using = ToStringSerializer.class) |
| | | private String tjSerialNumber; |
| | |
| | | /** |
| | | * 所选套餐(绑定套餐表) |
| | | */ |
| | | @Excel(name = "所选套餐", defaultValue = "无") |
| | | // @Excel(name = "所选套餐", defaultValue = "无") |
| | | @ApiModelProperty(value = "所选套餐") |
| | | @JsonSerialize(using = ToStringSerializer.class) |
| | | private String pacId; |
| | | |
| | | @TableField(exist = false) |
| | | @Excel(name = "套餐名") |
| | | private String pacName; |
| | | |
| | | /** |
| | | * 体检完成时间 |
| | | */ |
| | | @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") |
| | | @Excel(name = "体检完成时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss", defaultValue = "暂未完成") |
| | | @Excel(name = "完成时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss", defaultValue = "暂未完成") |
| | | @ApiModelProperty(value = "体检完成时间") |
| | | @TableField(fill = FieldFill.INSERT_UPDATE, updateStrategy = FieldStrategy.IGNORED) |
| | | private Date finishTime; |
| | |
| | | * 出报告时间 |
| | | */ |
| | | @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") |
| | | @Excel(name = "出报告时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss", defaultValue = "暂无报告") |
| | | @Excel(name = "报告时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss", defaultValue = "暂无报告") |
| | | @ApiModelProperty(value = "出报告时间") |
| | | @TableField(fill = FieldFill.INSERT_UPDATE) |
| | | private Date reportTime; |
| | |
| | | * 单位ID(外键) |
| | | */ |
| | | @ApiModelProperty(value = "单位ID") |
| | | @Excel(name = "单位ID", defaultValue = "无") |
| | | // @Excel(name = "单位ID", defaultValue = "无") |
| | | @JsonSerialize(using = ToStringSerializer.class) |
| | | private String firmId; |
| | | |
| | | @ApiModelProperty(value = "单位名称") |
| | | @Excel(name = "单位名") |
| | | private String firmName; |
| | | |
| | | |
| | |
| | | /** |
| | | * 在单位工号 |
| | | */ |
| | | @Excel(name = "在单位工号", defaultValue = "无") |
| | | @Excel(name = "工号", defaultValue = "无") |
| | | @ApiModelProperty(value = "在单位工号") |
| | | @JsonSerialize(using = ToStringSerializer.class) |
| | | private String firmWorkId; |
| | |
| | | /** |
| | | * 总体建议 |
| | | */ |
| | | @Excel(name = "总体建议", defaultValue = "无") |
| | | // @Excel(name = "总体建议", defaultValue = "无") |
| | | @ApiModelProperty(value = "总体建议") |
| | | private String checkAdvice; |
| | | |
| | |
| | | * 发布时间 |
| | | */ |
| | | @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") |
| | | @Excel(name = "发布时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss", defaultValue = "暂未发布") |
| | | // @Excel(name = "发布时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss", defaultValue = "暂未发布") |
| | | @ApiModelProperty(value = "发布时间") |
| | | @TableField(fill = FieldFill.INSERT_UPDATE) |
| | | private Date releaseTime; |
| | |
| | | /** |
| | | * 是否发送邮件 |
| | | */ |
| | | @Excel(name = "是否发送邮件", readConverterExp = "1=已发送,0=未发送") |
| | | // @Excel(name = "是否发送邮件", readConverterExp = "1=已发送,0=未发送") |
| | | @ApiModelProperty(value = "是否发送邮件") |
| | | private String sendEmail; |
| | | |
| | | /** |
| | | * 是否发送短信 |
| | | */ |
| | | @Excel(name = "是否发送短信", readConverterExp = "1=已发送,0=未发送") |
| | | // @Excel(name = "是否发送短信", readConverterExp = "1=已发送,0=未发送") |
| | | @ApiModelProperty(value = "是否发送短信") |
| | | private String sendMessage; |
| | | |
| | |
| | | /** |
| | | * 是否复检 |
| | | */ |
| | | @Excel(name = "是否复检", readConverterExp = "1=否,0=是") |
| | | // @Excel(name = "是否复检", readConverterExp = "1=否,0=是") |
| | | @ApiModelProperty(value = "是否复检") |
| | | private Integer isReturn; |
| | | |
| | |
| | | * 报告最后打印时间 |
| | | */ |
| | | @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") |
| | | @Excel(name = " pc最后打印报告时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss", defaultValue = "无") |
| | | @Excel(name = " 打印报告时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss", defaultValue = "无") |
| | | @ApiModelProperty(value = "报告最后打印时间") |
| | | @TableField(fill = FieldFill.INSERT_UPDATE) |
| | | private Date printLastTime; |
| | |
| | | * 报告最后下载时间 |
| | | */ |
| | | @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") |
| | | @Excel(name = "web最后下载报告时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss", defaultValue = "无") |
| | | // @Excel(name = "web最后下载报告时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss", defaultValue = "无") |
| | | @ApiModelProperty(value = "报告最后下载时间") |
| | | @TableField(fill = FieldFill.INSERT_UPDATE) |
| | | private Date downloadLastTime; |
| | |
| | | */ |
| | | @TableField(exist = false) |
| | | @ApiModelProperty(value = "所在单位名称") |
| | | // @Excel(name = "单位") |
| | | private String dictCompName; |
| | | |
| | | /** |
| | |
| | | */ |
| | | @TableField(exist = false) |
| | | @ApiModelProperty(value = "所选套餐信息名称") |
| | | // @Excel(name = "") |
| | | private String tjPackageName; |
| | | |
| | | /** |
| | |
| | | */ |
| | | @TableField(exist = false) |
| | | @ApiModelProperty(value = "体检记录中的客户名字") |
| | | @Excel(name = "姓名") |
| | | private String tjCustomerName; |
| | | |
| | | /** |
| | |
| | | */ |
| | | @TableField(exist = false) |
| | | @ApiModelProperty(value = "体检记录中的客户性别") |
| | | @Excel(name = "性别", readConverterExp = "0=男,1=女") |
| | | private Long tjCustomerSex; |
| | | |
| | | /** |
| | |
| | | */ |
| | | @TableField(exist = false) |
| | | @ApiModelProperty(value = "体检记录中的客户年龄") |
| | | @Excel(name = "年龄") |
| | | private Integer tjCustomerAge; |
| | | |
| | | /** |
| | |
| | | */ |
| | | @TableField(exist = false) |
| | | @ApiModelProperty(value = "体检记录中的客户电话") |
| | | @Excel(name = "电话") |
| | | private String tjCustomerPhone; |
| | | |
| | | /** |
| | |
| | | */ |
| | | @TableField(exist = false) |
| | | @ApiModelProperty(value = "体检记录中的客户身份证号码") |
| | | @Excel(name = "身份证号码") |
| | | private String tjCusIdCard; |
| | | |
| | | |
| | |
| | | */ |
| | | @ApiModelProperty(value = "初审医生") |
| | | private String confirmDoctor; |
| | | |
| | | @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") |
| | | @ApiModelProperty(value = "初审时间") |
| | | @TableField(fill = FieldFill.UPDATE) |
| | |
| | | * 体检类别 |
| | | */ |
| | | @ApiModelProperty("体检类别") |
| | | @Excel(name = "体检类别") |
| | | private String tjCategory; |
| | | |
| | | @ApiModelProperty("就诊编号") |
| | | @Excel(name = "就诊编号") |
| | | private String cardId; |
| | | |
| | | @ApiModelProperty("预约号") |
| | |
| | | |
| | | |
| | | @TableField(exist = false) |
| | | @Excel(name = "体检状态") |
| | | private String zt; |
| | | |
| | | @Override |
| | |
| | | List<TjOrderRemark> yiShengJianChaGetPrentPro(@Param("tjNumber") String tjNumber,@Param("split") Set<Integer> split); |
| | | |
| | | |
| | | @Select({"<script>", "SELECT a.* FROM tj_order_remark a JOIN tj_project b ON b.pro_id=a.pro_id JOIN sys_dept c ON c.dept_id=a.dept_id ", |
| | | " WHERE a.deleted=0 and b.need_report='Y' AND c.org_type !=1 AND a.type !=2 AND a.tj_number=#{tjNumber} and a.dept_id in ", |
| | | "<foreach collection='split' item='id' open='(' separator=',' close=')'>", |
| | | "#{id}", |
| | | "</foreach>", |
| | | "</script>" }) |
| | | List<TjOrderRemark> yiShengJianChaYjGetPrentPro(@Param("tjNumber") String tjNumber,@Param("split") Set<Integer> split); |
| | | |
| | | |
| | | @Select("SELECT a.* FROM tj_order_remark a JOIN tj_project b ON b.pro_id=a.pro_id JOIN sys_dept c ON c.dept_id=a.dept_id\n" + |
| | | "\n" + |
| | | "WHERE a.deleted=0 and b.need_report='Y' AND c.org_type !=1 AND !ISNULL(a.sfbz) AND a.type !=2 AND a.tj_number=#{tjNumber} \n") |
| | | List<TjOrderRemark> yiShengJianChaGetPrentProCJGLY(@Param("tjNumber") String tjNumber); |
| | | |
| | | |
| | | @Select("SELECT a.* FROM tj_order_remark a JOIN tj_project b ON b.pro_id=a.pro_id JOIN sys_dept c ON c.dept_id=a.dept_id\n" + |
| | | "\n" + |
| | | "WHERE a.deleted=0 and b.need_report='Y' AND c.org_type !=1 AND a.type !=2 AND a.tj_number=#{tjNumber} \n") |
| | | List<TjOrderRemark> yiShengJianChaYjGetPrentProCJGLY(@Param("tjNumber")String tjNumber); |
| | | |
| | | |
| | | |
| | | @Select({"<script>" + |
| | | "SELECT\n" + |
| | |
| | | import com.ltkj.hosp.domain.TjOrderYcxm; |
| | | import org.apache.ibatis.annotations.Delete; |
| | | import org.apache.ibatis.annotations.Mapper; |
| | | import org.apache.ibatis.annotations.Select; |
| | | |
| | | import java.util.List; |
| | | |
| | | /** |
| | | * ClassName: TjOrderYcxmMapper <br/> |
| | |
| | | |
| | | @Delete("DELETE FROM tj_order_ycxm WHERE tjh=#{tjh}") |
| | | void delOrderYcXmJyByTjh(String tjh); |
| | | |
| | | |
| | | @Select("select * FROM tj_order_ycxm WHERE tjh=#{tjNumber}") |
| | | List<TjOrderYcxm> selectListByTjh(String tjNumber); |
| | | } |
| | |
| | | |
| | | List<TjOrderRemark> yiShengJianChaGetPrentPro(String tjNumber, Set<Integer> split); |
| | | |
| | | List<TjOrderRemark> yiShengJianChaYjGetPrentPro(String tjNumber, Set<Integer> split); |
| | | |
| | | List<TjOrderRemark> yiShengJianChaGetPrentProCJGLY(String tjNumber); |
| | | |
| | | List<TjOrderRemark> yiShengJianChaYjGetPrentProCJGLY(String tjNumber); |
| | | |
| | | List<CsProVo> ysjcGetProByTjNumAndOrderId(String tjNumber); |
| | | |
| | | List<TjOrderRemark> shoufeiyemianyishoufei(String tjNumber,String jxbz); |
| | |
| | | import com.baomidou.mybatisplus.extension.service.IService; |
| | | import com.ltkj.hosp.domain.TjOrderYcxm; |
| | | |
| | | import java.util.List; |
| | | |
| | | /** |
| | | * ClassName: TjOrderYcxmService <br/> |
| | | * Description: <br/> |
| | |
| | | |
| | | public interface TjOrderYcxmService extends IService<TjOrderYcxm> { |
| | | void delOrderYcXmJyByTjh(String tjh); |
| | | |
| | | List<TjOrderYcxm> selectListByTjh(String tjNumber); |
| | | } |
| | |
| | | } |
| | | |
| | | @Override |
| | | public List<TjOrderRemark> yiShengJianChaYjGetPrentPro(String tjNumber, Set<Integer> split) { |
| | | return mapper.yiShengJianChaYjGetPrentPro(tjNumber,split); |
| | | } |
| | | |
| | | @Override |
| | | public List<TjOrderRemark> yiShengJianChaGetPrentProCJGLY(String tjNumber) { |
| | | return mapper.yiShengJianChaGetPrentProCJGLY(tjNumber); |
| | | } |
| | | |
| | | @Override |
| | | public List<TjOrderRemark> yiShengJianChaYjGetPrentProCJGLY(String tjNumber) { |
| | | return mapper.yiShengJianChaYjGetPrentProCJGLY(tjNumber); |
| | | } |
| | | |
| | | @Override |
| | | public List<CsProVo> ysjcGetProByTjNumAndOrderId(String tjNumber) { |
| | | return mapper.ysjcGetProByTjNumAndOrderId(tjNumber); |
| | | } |
| | |
| | | */ |
| | | @Override |
| | | public List<TjOrder> selectExportOrderList(TjOrder tjOrder) { |
| | | List<TjOrder> tjOrders = tjOrderMapper.selectExportOrderList(tjOrder); |
| | | List<TjOrder> tjOrders = tjOrderMapper.selectTjOrderList(tjOrder); |
| | | for (TjOrder order : tjOrders) { |
| | | if (order.getUserId()!=null){ |
| | | TjCustomer byId = customerService.getById(order.getUserId()); |
| | |
| | | import org.springframework.stereotype.Service; |
| | | |
| | | import javax.annotation.Resource; |
| | | import java.util.Collections; |
| | | import java.util.List; |
| | | |
| | | /** |
| | | * ClassName: TjOrderYcxmServiceImpl <br/> |
| | |
| | | public void delOrderYcXmJyByTjh(String tjh) { |
| | | mapper.delOrderYcXmJyByTjh(tjh); |
| | | } |
| | | |
| | | @Override |
| | | public List<TjOrderYcxm> selectListByTjh(String tjNumber) { |
| | | return mapper.selectListByTjh(tjNumber); |
| | | } |
| | | } |