| | |
| | | package com.ltkj.web.controller.system; |
| | | |
| | | import java.math.BigDecimal; |
| | | import java.util.ArrayList; |
| | | import java.util.HashSet; |
| | | import java.util.List; |
| | | import java.util.Set; |
| | | import java.util.*; |
| | | import javax.annotation.Resource; |
| | | import javax.servlet.http.HttpServletResponse; |
| | | |
| | |
| | | import io.swagger.annotations.Api; |
| | | import io.swagger.annotations.ApiOperation; |
| | | import io.swagger.annotations.ApiParam; |
| | | import org.checkerframework.checker.units.qual.A; |
| | | import org.springframework.security.access.prepost.PreAuthorize; |
| | | import org.springframework.beans.factory.annotation.Autowired; |
| | | import org.springframework.web.bind.annotation.*; |
| | |
| | | private ITjGroupingProService groupingProService; |
| | | @Resource |
| | | private ITjProjectService projectService; |
| | | @Resource |
| | | private TjProGzjyService proGzjyService; |
| | | |
| | | /** |
| | | * 查询规则+病种列表 |
| | |
| | | @GetMapping("/AutoGetRule") |
| | | @ApiOperation(value = "规则自动计算") |
| | | public AjaxResult AutoGetRule(@ApiParam(value = "项目") @RequestParam String proId, |
| | | @ApiParam(value = "客户") @RequestParam String cusId, |
| | | @ApiParam(value = "客户") @RequestParam(required = false) String cusId, |
| | | @ApiParam(value = "体检号")@RequestParam String tjNum, |
| | | @ApiParam(value = "关键字") @RequestParam(required = false) String keyWord, |
| | | @ApiParam(value = "结果值") @RequestParam(required = false) BigDecimal keyNum) { |
| | | @ApiParam(value = "结果值") @RequestParam(required = false) String keyNum) { |
| | | |
| | | TjProject project = projectService.getById(proId); |
| | | TjOrder order = orderService.getOrderByTjNum(tjNum); |
| | | if(null !=project && null !=order){ |
| | | TjProject pproject = projectService.getById(project.getProParentId()); |
| | | List<Map<String, Object>> tjproGzJy = projectService.getTjproGzJy(tjNum, proId, keyNum, 0); |
| | | if(null !=tjproGzJy && !tjproGzJy.isEmpty()){ |
| | | // proGzjyService.remove(new LambdaQueryWrapper<TjProGzjy>().eq(TjProGzjy::getProId,proId).eq(TjProGzjy::getTjNumber,tjNum)); |
| | | proGzjyService.deletedByTjNumAndProId(proId,tjNum); |
| | | for (Map<String, Object> map : tjproGzJy) { |
| | | Object bz = map.get("bz"); |
| | | Object bt = map.get("bt"); |
| | | Object nr = map.get("nr"); |
| | | TjProGzjy proGzjy=new TjProGzjy(); |
| | | proGzjy.setTjNumber(tjNum); |
| | | proGzjy.setOrderId(order.getOrderId()); |
| | | proGzjy.setProId(Long.valueOf(proId)); |
| | | proGzjy.setProName(project.getProName()); |
| | | proGzjy.setProPrentId(project.getProParentId()); |
| | | proGzjy.setProPrentName(pproject.getProName()); |
| | | proGzjy.setProJgz(keyNum); |
| | | if(null !=bz)proGzjy.setBz(bz.toString()); |
| | | if(null !=bt)proGzjy.setBt(bt.toString()); |
| | | if(null !=nr)proGzjy.setJy(nr.toString()); |
| | | proGzjyService.save(proGzjy); |
| | | } |
| | | } |
| | | return AjaxResult.success(tjproGzJy); |
| | | } |
| | | return AjaxResult.success(); |
| | | } |
| | | |
| | | //之前规则算法方法 |
| | | private AjaxResult getAjaxResult(String proId, String cusId, String keyWord, BigDecimal keyNum) { |
| | | List<TjRules> res = new ArrayList<>(); |
| | | if (proId==null){ |
| | | if (proId ==null){ |
| | | return AjaxResult.success(res); |
| | | } |
| | | if (cusId==null){ |
| | | if (cusId ==null){ |
| | | return AjaxResult.success(res); |
| | | } |
| | | TjCustomer byId = customerService.getById(cusId); |
| | | if(byId==null){ |
| | | return AjaxResult.success(res); |
| | | } |
| | | LambdaQueryWrapper<TjRules> wq = new LambdaQueryWrapper<>(); |
| | | wq.eq(TjRules::getProId, proId); |
| | | wq.lt(TjRules::getAgeLt, MatchUtils.getAgeByIdCard(byId.getCusIdcard())); |
| | | wq.gt(TjRules::getAgeGt, MatchUtils.getAgeByIdCard(byId.getCusIdcard())); |
| | | wq.in(TjRules::getSex, 0, byId.getCusSex()); |
| | | // wq.in(TjRules::getSex, 0, byId.getCusSex()); |
| | | final List<TjRules> list = tjRulesService.list(wq); |
| | | if (list==null){ |
| | | return AjaxResult.success(res); |
| | |
| | | } |
| | | } |
| | | } else if ("1".equals(tjRules.getRuleType())) { |
| | | if (keyWord!=null){ |
| | | if (keyWord !=null){ |
| | | if (tjRules.getRuleStr().contains(keyWord)) { |
| | | res.add(tjRules); |
| | | } |
| | |
| | | |
| | | } |
| | | } |
| | | if (res!=null && res.size() > 0) { |
| | | if (!res.isEmpty()) { |
| | | //建议赋值 |
| | | for (TjRules re : res) { |
| | | LambdaQueryWrapper<TjRuleAdvice> wq1 = new LambdaQueryWrapper<>(); |