| | |
| | | import com.ltkj.system.service.ISysUserService; |
| | | import com.ltkj.web.config.pdfutils.PdfUtils; |
| | | import com.ltkj.web.controller.system.SysDeptController; |
| | | import jodd.util.StringUtil; |
| | | import lombok.SneakyThrows; |
| | | import lombok.extern.slf4j.Slf4j; |
| | | import org.springframework.beans.factory.annotation.Autowired; |
| | |
| | | // 正则表达式:匹配数字后跟 '.' 或 '、' |
| | | String regex = "\\d+[\\.,、]"; |
| | | // 使用正则替换,匹配的数字后添加换行符 |
| | | yxbx = yxbx.replaceAll(regex, "\n$0"); |
| | | if(StringUtil.isNotBlank(yxbx)) yxbx = yxbx.replaceAll(regex, "\n$0"); |
| | | if(StringUtil.isBlank(bgNr)) bgNr = ""; |
| | | if(StringUtil.isBlank(yxbx)) yxbx = ""; |
| | | tjPdfVO.setTs(yxbx); |
| | | tjPdfVO.setSj(bgNr); |
| | | tjPdfVO.setShys(jcbgd.getShysxm()); |
| | |
| | | } |
| | | |
| | | @Override |
| | | @Async("async") |
| | | //@Async("async") |
| | | public void updateOrdeltile(List<TjOrderDetail> tjOrderDetailList, SysUser sysUser, TjOrder order,TjOrderRemark orderRemark) { |
| | | |
| | | try { |
| | | String deptname=""; |
| | | TjProject tjProject = projectService.getById(orderRemark.getProId()); |
| | | if(null !=tjProject){ |
| | |
| | | } |
| | | String xb= tjCustomerService.getSexByTjh(order.getTjNumber()); |
| | | |
| | | StringBuilder ssyszys = new StringBuilder(); |
| | | StringBuilder ssyszyjgs = new StringBuilder(); |
| | | List<Map<String, Object>> jianyilis=new ArrayList<>(); |
| | | for (TjOrderDetail detail : tjOrderDetailList) { |
| | | detail.setTjStatus(1L); |
| | | LambdaQueryWrapper<TjStandard> wq0 = new LambdaQueryWrapper<>(); |
| | |
| | | detail.setCreateId(String.valueOf(sysUser.getUserId())); |
| | | detail.setUpdateId(String.valueOf(sysUser.getUserId())); |
| | | tjOrderDetailService.updateById(detail); |
| | | try { |
| | | |
| | | LambdaQueryWrapper<TjOrderYcxm> wq=new LambdaQueryWrapper<>(); |
| | | wq.eq(TjOrderYcxm::getTjh,order.getTjNumber()); |
| | | wq.eq(TjOrderYcxm::getJcxm,detail.getProName()); |
| | | TjOrderYcxm ycxm = ycxmService.getOne(wq); |
| | | if(null !=ycxm){ |
| | | ycxm.setJcjg(detail.getProResult()); |
| | | ycxmService.remove(wq); |
| | | if (detail.getExceptionDesc() == 1) { |
| | | if(tjProject.getSfcyyc()==0){ |
| | | String replacedAll = detail.getProName().replaceAll("[((][^))]*[\u4e00-\u9fa5]+[^))]*[))]", "").replaceAll("[((][^))]*[))]", "") |
| | | .replaceAll("[ 测定检测]", "").replaceAll("\\[.*?\\]", "").replaceAll("◆", ""); |
| | | List<Map<String,Object>> maps= rulesService.getyichangxiangmujianyiguize(detail.getProId().toString() |
| | | ,replacedAll,"",order.getTjNumber() |
| | | ,replacedAll |
| | | ,detail.getProResult()); |
| | | |
| | | String[] split = detail.getProResult().split("。|,|,"); |
| | | if(!detail.getProName().contains("舒张压") && !detail.getProName().contains("收缩压")){ |
| | | |
| | | List<Map<String, Object>> maps = rulesService.getyichangxiangmujianyiguize(detail.getProId().toString(), replacedAll, "", order.getTjNumber() |
| | | , replacedAll, detail.getProResult()); |
| | | |
| | | |
| | | String[] split = detail.getProResult().split("[。,,::.\\s]+"); |
| | | List<Map<String,Object>> mapList=new ArrayList<>(); |
| | | for (String s : split) { |
| | | s = s.replaceAll("\n", "").replaceAll("[((][^))]*[))]", ""); |
| | | // Map<String,Object> maps= rulesService.getyichangxiangmujianyiguizeJianCha(s); |
| | | s = s.replaceAll("\n", "").replaceAll("[((][^))]*[))]", "").replaceAll(" ","") |
| | | .replaceAll("症","").replaceAll("[0-9]", ""); |
| | | Map<String,Object> mapss= tjProAdvicerulesService.getyichangxiangmujianyiguizeJianCha(deptname,s,"0",xb); |
| | | if(null !=mapss && !mapss.isEmpty()){ |
| | | Object bt = mapss.get("bt"); |
| | | Object nr = mapss.get("nr"); |
| | | if(null !=bt || null !=nr){ |
| | | |
| | | } mapList.add(mapss); |
| | | } |
| | | mapList.add(mapss); |
| | | } |
| | | } |
| | | |
| | | TjOrderYcxm ycxm = ycxmService.getOne(wq); |
| | | if (null != ycxm) { |
| | | ycxm.setJcjg(detail.getProResult()); |
| | | if(null != maps && !maps.isEmpty()){ |
| | | ycxm.setJynr(JSONUtil.toJsonStr(maps)); |
| | | } |
| | |
| | | ycxm.setJynr(JSONUtil.toJsonStr(mapList)); |
| | | } |
| | | ycxmService.updateById(ycxm); |
| | | if(detail.getExceptionDesc()==0)ycxmService.remove(wq); |
| | | }else { |
| | | TjOrderYcxm orderYcxm =new TjOrderYcxm(); |
| | | orderYcxm.setTjh(order.getTjNumber()); |
| | | orderYcxm.setParentName(tjProject.getProName()); |
| | | orderYcxm.setJcxm(detail.getProName()); |
| | | orderYcxm.setJcjg(detail.getProResult()); |
| | | if (null != maps && !maps.isEmpty()) { |
| | | orderYcxm.setJynr(JSONUtil.toJsonStr(maps)); |
| | | } |
| | | if (!mapList.isEmpty()) { |
| | | orderYcxm.setJynr(JSONUtil.toJsonStr(mapList)); |
| | | } |
| | | orderYcxm.setJyjc("0"); |
| | | ycxmService.save(orderYcxm); |
| | | } |
| | | }else { |
| | | |
| | | List<Map<String, Object>> maps = rulesService.getyichangxiangmujianyiguize(detail.getProId().toString() |
| | | , replacedAll, "", order.getTjNumber(), replacedAll, detail.getProResult()); |
| | | |
| | | |
| | | String[] split = detail.getProResult().split("[。,,::.\\s]+"); |
| | | List<Map<String, Object>> mapList = new ArrayList<>(); |
| | | for (String s : split) { |
| | | s = s.replaceAll("\n", "").replaceAll("[((][^))]*[))]", "").replaceAll(" ","") |
| | | .replaceAll("症","").replaceAll("[0-9]", ""); |
| | | Map<String, Object> mapss = tjProAdvicerulesService.getyichangxiangmujianyiguizeJianCha(deptname, s, "0",xb); |
| | | if (null != mapss && !mapss.isEmpty()) { |
| | | Object bt = mapss.get("bt"); |
| | | Object nr = mapss.get("nr"); |
| | | if (null != bt || null != nr) { |
| | | |
| | | } |
| | | mapList.add(mapss); |
| | | } |
| | | } |
| | | |
| | | if (null != maps && !maps.isEmpty()) { |
| | | jianyilis.addAll(maps); |
| | | } |
| | | if (!mapList.isEmpty()) { |
| | | jianyilis.addAll(mapList); |
| | | } |
| | | ssyszys.append(detail.getProName()).append("/"); |
| | | ssyszyjgs.append(detail.getProResult()).append("/"); |
| | | } |
| | | } |
| | | } else { |
| | | if(detail.getProName().contains("舒张压") || detail.getProName().contains("收缩压")){ |
| | | ssyszys.append(detail.getProName()).append("/"); |
| | | ssyszyjgs.append(detail.getProResult()).append("/"); |
| | | |
| | | } |
| | | |
| | | } |
| | | } |
| | | |
| | | // 使用 stream 过滤出 proName 为 "舒张压" 或 "收缩压" 的元素 |
| | | List<TjOrderDetail> filteredList = tjOrderDetailList.stream() |
| | | .filter(a -> ("舒张压".equals(a.getProName()) || "收缩压".equals(a.getProName())) && a.getExceptionDesc()==1) |
| | | .collect(Collectors.toList()); |
| | | if(StrUtil.isNotBlank(ssyszys.toString())){ |
| | | |
| | | LambdaQueryWrapper<TjOrderYcxm> wq = new LambdaQueryWrapper<>(); |
| | | wq.eq(TjOrderYcxm::getTjh, order.getTjNumber()); |
| | | wq.like(TjOrderYcxm::getJcxm,"舒张压"); |
| | | ycxmService.remove(wq); |
| | | |
| | | if(!filteredList.isEmpty()){ |
| | | TjOrderYcxm orderYcxm =new TjOrderYcxm(); |
| | | orderYcxm.setTjh(order.getTjNumber()); |
| | | orderYcxm.setParentName(tjProject.getProName()); |
| | | orderYcxm.setJcxm(ssyszys.toString().replaceFirst("/$", "")); |
| | | orderYcxm.setJcjg(ssyszyjgs.toString().replaceFirst("/$", "")); |
| | | orderYcxm.setJynr(JSONUtil.toJsonStr(jianyilis)); |
| | | orderYcxm.setJyjc("0"); |
| | | ycxmService.save(orderYcxm); |
| | | } |
| | | } |
| | | } |
| | | } catch (Exception e) { |
| | | } |
| | | } |
| | | e.printStackTrace(); |
| | | log.error(String.valueOf(e)); |
| | | } |
| | | |
| | | } |
| | |
| | | } |
| | | |
| | | } else { |
| | | String[] split = tjOrderDetail.getProResult().split("。|;|;|,|,"); |
| | | String[] split = tjOrderDetail.getProResult().split("[。,,::.\\s]+"); |
| | | List<Map<String, Object>> mapList = new ArrayList<>(); |
| | | for (String s : split) { |
| | | s = s.replaceAll("\n", "").replaceAll("[((][^))]*[))]", ""); |
| | | s = s.replaceAll("\n", "").replaceAll("[((][^))]*[))]", "").replaceAll(" ","") |
| | | .replaceAll("症","").replaceAll("[0-9]", ""); |
| | | Map<String, Object> maps = tjProAdvicerulesService.getyichangxiangmujianyiguizeJianCha(remark.getKs(), s, "0",xb); |
| | | if (null != maps && !maps.isEmpty()) { |
| | | Object bt = maps.get("bt"); |
| | |
| | | if(null !=order){ |
| | | TjProject project = projectService.getById(proId); |
| | | if(null !=project){ |
| | | // List<TjProject> projects = projectService.getTjProjectListBySoneId(proId); |
| | | LambdaQueryWrapper<TjOrderDetail>wq1=new LambdaQueryWrapper<>(); |
| | | wq1.eq(TjOrderDetail::getProId,proId); |
| | | wq1.eq(TjOrderDetail::getOrderId,order.getOrderId()); |
| | |
| | | jcbgd.setShysxm(xdtgmdjg.getCreateBy()); |
| | | jcbgd.setShysdm(xdtgmdjg.getCreateId()); |
| | | jcbgd.setYxzd(xdtgmdjg.getJcjl()); |
| | | jcbgd.setYxbx("未见异常"); |
| | | jcbgd.setYxbx(xdtgmdjg.getJcjl()); |
| | | jcbgd.setZdsj(DateUtil.format(date,"yyyy-MM-dd")); |
| | | jcbgd.setJcbw(""); |
| | | jcbgd.setLx("1"); |
| | | jcbgd.setSqsj(DateUtil.format(date,"yyyy-MM-dd")); |
| | | jcbgd.setCreateTime(date); |
| | | jcbgdService.save(jcbgd); |
| | | jcsqdService.saveLtkjExamJcsqd(xdtgmdjg.getCardId()); |
| | | jcsqdService.saveXdtLtkjExamJcsqd(xdtgmdjg.getCardId(),jcbgd.getTmh()); |
| | | |
| | | jcsqdService.deletedLtkjJcsqdByTjhandtmh1(xdtgmdjg.getCardId()); |
| | | |
| | | LambdaQueryWrapper<TjJcycxm> wq=new LambdaQueryWrapper<>(); |
| | | wq.eq(TjJcycxm::getTjh,xdtgmdjg.getTjh()); |
| | | wq.eq(TjJcycxm::getProId,xdtgmdjg.getProId()); |
| | | jcycxmService.remove(wq); |
| | | if(StringUtil.isNotBlank(xdtgmdjg.getJcjl())){ |
| | | String[] split = xdtgmdjg.getJcjl().replaceAll("\n", "").split("。|;|;|,|,"); |
| | | for (String jg : split) { |
| | | if(StringUtil.isNotBlank(jg) && !jg.contains("未见异常") |
| | | && !jg.contains("未见明显异常") && !jg.contains("未见占位") && !jg.contains("未见") |
| | | && !jg.contains("未见明显")&& !jg.contains("正常")&& !jg.contains("双侧椎间孔无狭窄")){ |
| | | TjJcycxm jcycxm=new TjJcycxm(); |
| | | jcycxm.setTjh(xdtgmdjg.getTjh()); |
| | | jcycxm.setYqid(""); |
| | | jcycxm.setProId(xdtgmdjg.getProId()); |
| | | jcycxm.setProName(xdtgmdjg.getProName()); |
| | | jcycxm.setCreateTime(new Date()); |
| | | jcycxm.setJcjg(jg); |
| | | jcycxmService.save(jcycxm); |
| | | } |
| | | } |
| | | } |
| | | } catch (Exception e) { |
| | | throw new RuntimeException(e); |
| | | } |
| | |
| | | "FROM ltkj_exam_jcbgd a WHERE a.tjh=#{tjh} and a.lx=0 GROUP BY a.xmmc") |
| | | void saveLtkjExamJcsqd(String tjh); |
| | | |
| | | @Insert("INSERT INTO ltkj_exam_jcsqd (`tjh`, `tmh`, `jclx`, `jczlx`, `bgys`, `bgysid`, " + |
| | | "`sqsj`, `jgsj`, `jcxmmc`, `jcxmid`, `bw`, `jgzt`, `jgbx`, `lx`, `create_time`)\n" + |
| | | "SELECT a.tjh,a.tmh,NULL jclx,NULL jczlx,a.shysxm bgys,a.shysdm bgysid,a.sqsj,a.zdsj jgsj, a.xmmc jcxmmc,a.xmdm jcxmid,a.jcbw bw,\n" + |
| | | "a.yxzd jgzt,a.bg_nr jgbx,'1',sysdate()\n" + |
| | | "FROM ltkj_exam_jcbgd a WHERE a.tjh=#{tjh} and a.tmh=#{tmh} and a.lx=1 GROUP BY a.xmmc") |
| | | void saveXdtLtkjExamJcsqd(@Param("tjh") String tjh,@Param("tmh")String tmh); |
| | | |
| | | @Select("SELECT a.tjh,a.tmh,NULL jclx,NULL jczlx,a.shysxm bgys,a.shysdm bgysid,a.sqsj,a.zdsj jgsj, a.xmmc jcxmmc,a.xmdm jcxmid,a.jcbw bw," + |
| | | "a.yxzd jgzt,a.yxbx jgbx FROM ltkj_exam_jcbgd a WHERE a.tjh=#{tjh} GROUP BY a.xmmc") |
| | | List<LtkjExamJcbgd> queryLtkjExamJcsqdByTjh(String tjh); |
| | |
| | | @Delete ("DELETE FROM ltkj_exam_jcsqd WHERE tjh=#{tjh} and jcxmid = #{xmid} and lx=0 and sgorzd=1 ") |
| | | void deletedLtkjJcsqdByTjhAndProId(@Param("tjh") String tjh,@Param("xmid") String xmid); |
| | | |
| | | |
| | | @Insert("INSERT INTO ltkj_exam_jcsqd (`tjh`, `tmh`, `jclx`, `jczlx`, `bgys`, `bgysid`, `sqsj`, " + |
| | | "`jgsj`, `jcxmmc`, `jcxmid`, `bw`, `jgzt`, `jgbx`, `lx`, `create_time`)\n" + |
| | | "SELECT a.tjh,a.tmh,NULL jclx,NULL jczlx,a.shysxm bgys,a.shysdm bgysid,a.sqsj,a.zdsj jgsj, a.xmmc jcxmmc,a.xmdm jcxmid,a.jcbw bw,\n" + |
| | | "a.yxzd jgzt,a.bg_nr jgbx,'1',sysdate()\n" + |
| | | "FROM ltkj_exam_jcbgd a WHERE a.tjh=#{tjh} and a.lx=1 GROUP BY a.xmmc") |
| | | void saveLtkjExamJcsqdxdt(String tjh); |
| | | } |
| | |
| | | |
| | | void saveLtkjExamJcsqd(String tjh); |
| | | |
| | | void saveLtkjExamJcsqdxdt(String tjh); |
| | | void saveXdtLtkjExamJcsqd(String tjh,String tmh); |
| | | |
| | | |
| | | AjaxResult getTjJcProByHisCall(String ksmc,String strIn,String brid,int pagecount,int page,String status); |
| | | |
| | |
| | | } |
| | | |
| | | @Override |
| | | public void saveLtkjExamJcsqdxdt(String tjh) { |
| | | mapper.saveLtkjExamJcsqdxdt(tjh); |
| | | public void saveXdtLtkjExamJcsqd(String tjh, String tmh) { |
| | | mapper.saveXdtLtkjExamJcsqd(tjh,tmh); |
| | | } |
| | | |
| | | @Override |