| | |
| | | |
| | | import javax.annotation.Resource; |
| | | import java.math.BigDecimal; |
| | | import java.text.Collator; |
| | | import java.util.*; |
| | | import java.util.concurrent.TimeUnit; |
| | | import java.util.stream.Collectors; |
| | |
| | | import static com.ltkj.framework.datasource.DynamicDataSourceContextHolder.log; |
| | | import static org.apache.poi.hemf.record.emfplus.HemfPlusRecordType.save; |
| | | import static org.apache.poi.hemf.record.emfplus.HemfPlusRecordType.setClipRect; |
| | | import static org.jeecg.modules.jmreport.dyndb.util.b.a; |
| | | import static org.jeecg.modules.jmreport.dyndb.util.b.e; |
| | | |
| | | /** |
| | | * @Author: 西安路泰科技有限公司/赵佳豪 |
| | |
| | | private RedissonClient redissonClient; |
| | | @Autowired |
| | | private ITjRulesService rulesService; |
| | | @Autowired |
| | | private ITjProAdvicerulesService tjProAdvicerulesService; |
| | | @Autowired |
| | | private TjOrderYcxmService ycxmService; |
| | | |
| | | |
| | | @GetMapping ("/ceshicc") |
| | |
| | | tjOrderDetail.setProResult(tjOrderDetail.getProResult()); |
| | | } |
| | | |
| | | dels.add(tjOrderDetail); |
| | | if(remark.getOrgType().equals(tjOrderDetail.getOrgType())){ |
| | | dels.add(tjOrderDetail); |
| | | } |
| | | } |
| | | } |
| | | String summary = remark.getSummary(); |
| | |
| | | if (dels.isEmpty()) { |
| | | continue; |
| | | } |
| | | dels=dels.stream().sorted(Comparator.comparing(TjOrderDetail::getProName, Collator.getInstance(Locale.CHINA))).collect(Collectors.toList()); |
| | | dels = dels.stream() |
| | | .sorted(Comparator.comparingInt( |
| | | tjPdfVO -> tjPdfVO.getProName().length() // 根据名字的长度排序 |
| | | )) |
| | | .collect(Collectors.toList()); |
| | | parent.put("sons", dels); |
| | | parent.put("remark", remark.getRemark()); |
| | | parent.put("jgbx", remark.getJgbx()); |
| | |
| | | @PostMapping ("/checkUpdateOrderRemark") |
| | | @ApiOperation (value = "总检修改备注接口") |
| | | public AjaxResult checkUpdateOrderRemark(@RequestBody List<UpdateOrderRemarkVo> updateOrderRemarkVos) { |
| | | if (null != updateOrderRemarkVos && updateOrderRemarkVos.size() > 0) { |
| | | if (null != updateOrderRemarkVos && !updateOrderRemarkVos.isEmpty()) { |
| | | for (UpdateOrderRemarkVo remarkVo : updateOrderRemarkVos) { |
| | | LambdaQueryWrapper<TjOrderRemark> wqm = new LambdaQueryWrapper<>(); |
| | | wqm.eq(TjOrderRemark::getTjNumber, remarkVo.getTjNumber()); |
| | |
| | | @ApiOperation (value = "总检查看异常项目接口") |
| | | public AjaxResult getzongjianyishengchakanyichangxiangmu(@RequestParam String tjNum) { |
| | | if (StrUtil.isNotBlank(tjNum)) { |
| | | return zongjianyishengchakanyichangxiangmu(tjNum); |
| | | TjOrder one = orderService.getOrderByTjNum(tjNum); |
| | | |
| | | if (one == null) { |
| | | 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.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); |
| | | } |
| | | List<Map<String, Object>> mapList = zongjianyishengchakanyichangxiangmu(tjNum); |
| | | |
| | | |
| | | List<Map<String, Object>> collect = mapList.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()); |
| | | return AjaxResult.success(collect1); |
| | | } |
| | | return AjaxResult.success(maps); |
| | | }else { |
| | | List<Map<String, Object>> mapList = zongjianyishengchakanyichangxiangmu(tjNum); |
| | | // if(mapList.isEmpty()){ |
| | | // return AjaxResult.success("暂无数据"); |
| | | // } |
| | | return AjaxResult.success(mapList); |
| | | } |
| | | |
| | | // return zongjianyishengchakanyichangxiangmu(tjNum); |
| | | } |
| | | return AjaxResult.error(); |
| | | } |
| | | |
| | | private AjaxResult zongjianyishengchakanyichangxiangmu(String tjNumber) { |
| | | private List<Map<String, Object>> zongjianyishengchakanyichangxiangmu(String tjNumber) { |
| | | // asyncService.updateCheckType(tjNumber); |
| | | TjOrder one = orderService.getOrderByTjNum(tjNumber); |
| | | |
| | | if (one == null) { |
| | | return AjaxResult.error("暂无数据!!"); |
| | | } |
| | | List<TjOrderRemark> remarkList = orderRemarkService.getzongjianyishengchakanyichangxiangmu(tjNumber); |
| | | List<TjOrderDetail> tjOrderDetails = detailService.getzongjianyishengchakanyichangxiangmu(tjNumber); |
| | | List<Map<String, Object>> list = new ArrayList<>(); |
| | |
| | | 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(),tjNumber); |
| | | 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("。"); |
| | | String[] split = tjOrderDetail.getProResult().split("。|,|,"); |
| | | List<Map<String,Object>> mapList=new ArrayList<>(); |
| | | for (String s : split) { |
| | | Map<String,Object> maps= rulesService.getyichangxiangmujianyiguizeJianCha(s); |
| | | 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); |
| | | if(null !=bt || null !=nr) mapList.add(maps); |
| | | } |
| | | } |
| | | tjOrderDetail.setAdvices(mapList); |
| | |
| | | parent.put("sone",dels); |
| | | list.add(parent); |
| | | } |
| | | } else { |
| | | return AjaxResult.success("该人员无异常项目"); |
| | | } |
| | | } |
| | | return AjaxResult.success(list); |
| | | |
| | | } |
| | | return AjaxResult.success("该人员没有体检项目数据!"); |
| | | return list; |
| | | } |
| | | |
| | | @GetMapping ("/chushenyemianchakanxiangmujieguo") |
| | |
| | | } |
| | | |
| | | |
| | | @PostMapping ("/addOrderYcXmByTjh") |
| | | @ApiOperation (value = "总检医生页面新增异常项目建议") |
| | | public AjaxResult addOrderYcXmJyByTjh(@RequestBody List<TjOrderYcxm> ycxms) { |
| | | if(null !=ycxms && !ycxms.isEmpty()){ |
| | | String tjh = ycxms.get(0).getTjh(); |
| | | if(StringUtils.isNotBlank(tjh)){ |
| | | ycxmService.delOrderYcXmJyByTjh(tjh); |
| | | |
| | | for (TjOrderYcxm ycxm : ycxms) { |
| | | ycxm.setJynr(JSONUtil.toJsonStr(ycxm.getMap())); |
| | | } |
| | | // List<TjOrderYcxm> collect = ycxms.stream().distinct().collect(Collectors.toList()); |
| | | ycxmService.saveBatch(ycxms); |
| | | return AjaxResult.success(); |
| | | } |
| | | } |
| | | return AjaxResult.success(); |
| | | } |
| | | |
| | | |
| | | |
| | | } |