| | |
| | | @Autowired |
| | | private LisApiMethod lisApiMethod; |
| | | @Autowired |
| | | private IdUtils idUtils; |
| | | @Autowired |
| | | private ISysConfigService configService; |
| | | |
| | | /** |
| | |
| | | |
| | | @PostMapping("/mergeCaiYang") |
| | | @ApiOperation(value = "采样登记合并项目接口") |
| | | @Transactional |
| | | public AjaxResult mergeCaiYang(@RequestBody List<String> ids) { |
| | | if (null != ids && !ids.isEmpty()) { |
| | | if(ids.size()==1)return AjaxResult.error("请选择至少两条项目进行合并!"); |
| | | int i = tjSamplingService.panduanshifoukeyihebing(ids); |
| | | if (i > 1) { |
| | | return AjaxResult.error("标本类型不一致,不可合并"); |
| | | } |
| | | int pdsfczhbxm = tjSamplingService.pdsfczhbxm(ids); |
| | | if (pdsfczhbxm == ids.size()) return AjaxResult.error("多个合并项目不可再继续合并!"); |
| | | if (pdsfczhbxm > 1) return AjaxResult.error("最多允许选择一个合并过的项目!"); |
| | | // 查询出里面不可合并的化验项目 |
| | | String string = tjSamplingService.getBuKeHebingProName(ids); |
| | | if(null !=string){ |
| | | return AjaxResult.error(string+"这几个项目不可合并!"); |
| | | } |
| | | if (pdsfczhbxm == 0) { |
| | | TjSampling tjSampling = tjSamplingService.getById(ids.get(0)); |
| | | Map<String, Object> map = tjSamplingService.hebingCaiYangInFo(ids); |
| | | TjSampling sampling = new TjSampling(); |
| | | String proId = map.get("proId").toString(); |
| | | String proName = map.get("proName").toString(); |
| | | BeanUtil.copyProperties(tjSampling, sampling, new String[]{"id"}); |
| | | sampling.setProId(proId); |
| | | sampling.setProName(proName); |
| | | sampling.setIsMerge(1); |
| | | sampling.setJyxh(idUtils.generateLisID()); |
| | | if (tjSamplingService.save(sampling)) { |
| | | if (tjSamplingService.updateHeBingXm(ids, sampling.getId())) { |
| | | return AjaxResult.success("合并项目成功!"); |
| | | } |
| | | } |
| | | return AjaxResult.error("操作失败!"); |
| | | } else { |
| | | TjSampling tjSampling = tjSamplingService.getTjSamplingByHb(ids); |
| | | List<TjSampling> samplingList = tjSamplingService.getTjSamplingListByHb(ids); |
| | | if (null != tjSampling && null != samplingList && !samplingList.isEmpty()) { |
| | | List<String> stringList = samplingList.stream().map(TjSampling::getId).collect(Collectors.toList()); |
| | | Map<String, Object> map = tjSamplingService.hebingCaiYangInFo(stringList); |
| | | String proId = map.get("proId").toString(); |
| | | String proName = map.get("proName").toString(); |
| | | tjSampling.setProId(proId); |
| | | tjSampling.setProName(proName); |
| | | if (tjSamplingService.updateById(tjSampling)) { |
| | | if (tjSamplingService.updateHeBingXm(stringList, tjSampling.getParentId())) { |
| | | return AjaxResult.success("合并项目成功!"); |
| | | } |
| | | } |
| | | } |
| | | return AjaxResult.error("操作失败!"); |
| | | } |
| | | } |
| | | return AjaxResult.error("请选择你要合并的项目!!!"); |
| | | return tjSamplingService.mergeCaiYangTran(ids); |
| | | } |
| | | |
| | | |
| | |
| | | @ApiOperation(value = "确认采样接口") |
| | | @Transactional |
| | | public AjaxResult confirmSampling(@RequestBody List<String> ids) { |
| | | String config = configService.selectConfigByKey("sfkqdyhis"); |
| | | String mergeRequest = configService.selectConfigByKey("use_lis_pacs_is_auto_merge_request"); |
| | | return confirm(ids,config,mergeRequest); |
| | | } |
| | | |
| | | /** |
| | | * 确认采样接口 |
| | | */ |
| | | public Boolean confirmSamplingApi(List<String> ids,String sfkqdyhis,String mergeRequest) { |
| | | AjaxResult confirm = confirm(ids, sfkqdyhis, mergeRequest); |
| | | log.info("确认采样返回 ->{}",confirm); |
| | | return confirm.get("code").toString().equals("200"); |
| | | } |
| | | |
| | | private AjaxResult confirm(List<String> ids,String config,String mergeRequest) { |
| | | if (null == ids || ids.isEmpty()) { |
| | | return AjaxResult.error("请选择要确认项"); |
| | | } |
| | |
| | | if(null==tjOrder)return AjaxResult.error("体检记录不存在"); |
| | | TjCustomer tjCustomer = customerService.getById(tjOrder.getUserId()); |
| | | boolean updChild; |
| | | String config = configService.selectConfigByKey("sfkqdyhis"); |
| | | Boolean save; |
| | | if (null != config && config.equals("Y")) { |
| | | if (null != config && config.equals("Y") && !mergeRequest.equals("Y")) { |
| | | save = lisApiMethod.save(sampling, tjOrder, tjCustomer); |
| | | }else { |
| | | save = true; |