| | |
| | | |
| | | |
| | | import cn.hutool.core.date.DateUtil; |
| | | import cn.hutool.core.util.RandomUtil; |
| | | import cn.hutool.core.util.StrUtil; |
| | | import cn.hutool.extra.pinyin.PinyinUtil; |
| | | import cn.hutool.json.JSONObject; |
| | |
| | | import com.ltkj.common.core.domain.AjaxResult; |
| | | import com.ltkj.common.utils.AgeResult; |
| | | import com.ltkj.common.utils.DateUtils; |
| | | import com.ltkj.common.utils.IdUtils; |
| | | import com.ltkj.hosp.idutil.IdUtils; |
| | | import com.ltkj.hosp.domain.*; |
| | | import com.ltkj.hosp.hisDto.OutpintestapplyDetailsDto; |
| | | import com.ltkj.hosp.lisDto.LisSaveSqdxxDto; |
| | | import com.ltkj.hosp.lisDto.LisSaveSqdxxJyxmlistDto; |
| | | import com.ltkj.hosp.mapper.TbTransitionMapper; |
| | | import com.ltkj.hosp.service.*; |
| | | import com.ltkj.system.service.ISysConfigService; |
| | | import com.ltkj.system.service.ISysDeptService; |
| | | import lombok.extern.slf4j.Slf4j; |
| | | import org.apache.commons.lang3.time.DateFormatUtils; |
| | |
| | | import org.springframework.stereotype.Component; |
| | | |
| | | import java.math.BigDecimal; |
| | | import java.util.ArrayList; |
| | | import java.util.Date; |
| | | import java.util.List; |
| | | import java.util.Objects; |
| | | import java.util.*; |
| | | import java.util.concurrent.atomic.AtomicInteger; |
| | | import java.util.stream.Collectors; |
| | | |
| | |
| | | private LtkjJyxmzdService jyxmzdService; |
| | | @Autowired |
| | | private IdUtils idUtils; |
| | | @Autowired |
| | | private ISysConfigService configService; |
| | | @Autowired |
| | | private ITjOrderService orderService; |
| | | @Autowired |
| | | private ITjCustomerService customerService; |
| | | @Autowired |
| | | private TbTransitionMapper tbTransitionMapper; |
| | | @Autowired |
| | | private ITjSamplingService tjSamplingService; |
| | | |
| | | /** |
| | | * 保存检验单申请信息 |
| | | * @param tjOrder |
| | | * @param tjCustomer |
| | | * @param detailList |
| | | * @return |
| | | */ |
| | | public Boolean save(TjOrder tjOrder, TjCustomer tjCustomer, List<TbTransition> detailList){ |
| | | if (detailList != null && !detailList.isEmpty()) { |
| | | LambdaQueryWrapper<TjProject> wq = new LambdaQueryWrapper<>(); |
| | | wq.in(TjProject::getProId, detailList.stream().map(TbTransition::getParentProId).collect(Collectors.toList())); |
| | | wq.in(TjProject::getDeptId,deptService.getJyDeptIds()); |
| | | List<TjProject> projects = projectService.list(wq); |
| | | if (projects != null && !projects.isEmpty()){ |
| | | // 根据project表的his_xmbm查组合关联表 ltkj_jfzhgljyxmzd 根据字段`zhxmdm` |
| | | // - 查到 使用字段`jyxmdm`查检验项目字典表 ltkj_jyxmzd 根据字段`jyxmdm` |
| | | // - 未查到 查项目关联表ltkj_jfxmgljyxmzd 根据字段`xmdm` |
| | | for (TjProject project : projects) { |
| | | List<OutpintestapplyDetailsDto> detailsDtos = new ArrayList<>(); |
| | | if (0 == project.getProParentId() && project.getProPrice().compareTo(BigDecimal.ZERO) != 0) { |
| | | if (null != project.getHisXmbm()) { |
| | | LisSaveSqdxxDto lisSaveSqdxxDto = new LisSaveSqdxxDto(); |
| | | LtkjJyxmzd jyxmzd = getGetYbDm(project); |
| | | BigDecimal allPrice = new BigDecimal("0"); |
| | | for (TbTransition transition : detailList.stream().filter(item -> Objects.equals(item.getParentProId(), project.getProId())) |
| | | .collect(Collectors.toList())) { |
| | | allPrice = allPrice.add(transition.getNowPrice()); |
| | | } |
| | | if (jyxmzd != null) { |
| | | ArrayList<LisSaveSqdxxJyxmlistDto> dtos = new ArrayList<>(); |
| | | AtomicInteger xh = new AtomicInteger(); |
| | | detailList.stream().filter(detail -> detail.getParentProId().equals(project.getProId())) |
| | | .forEach(item -> { |
| | | LisSaveSqdxxJyxmlistDto dto = new LisSaveSqdxxJyxmlistDto(); |
| | | dto.setXh(String.valueOf(xh.getAndIncrement())); |
| | | TjProject project1 = projectService.getById(item.getProId()); |
| | | LtkjJyxmzd jyxmzd1 = getGetYbDm(project1); |
| | | if (jyxmzd1 == null) dto.setJyxm(project1.getHisXmbm()); |
| | | else dto.setJyxm(jyxmzd1.getJyxmdm()); |
| | | dto.setXmmc(project1.getProName()); |
| | | dtos.add(dto); |
| | | |
| | | OutpintestapplyDetailsDto detailsDto = new OutpintestapplyDetailsDto(); |
| | | detailsDto.setMxfyxmbm(project.getHisXmbm()); |
| | | if (project.getSfzhfy().equals("Y")) { |
| | | detailsDto.setSfzhfy("1"); |
| | | } else { |
| | | detailsDto.setSfzhfy("0"); |
| | | } |
| | | detailsDto.setSl(project.getSl()); |
| | | detailsDto.setProjg(project.getProPrice()); |
| | | detailsDtos.add(detailsDto); |
| | | }); |
| | | public Boolean save(TjSampling sampling,TjOrder tjOrder,TjCustomer tjCustomer){ |
| | | String dept = configService.selectConfigByKey("request_default_dept"); |
| | | String ysbm = configService.selectConfigByKey("request_default_ysbm"); |
| | | AtomicInteger xh = new AtomicInteger(); |
| | | LisSaveSqdxxDto lisSaveSqdxxDto = new LisSaveSqdxxDto(); |
| | | // String jyxh = idUtils.generateLisID(); |
| | | lisSaveSqdxxDto.setJyxh(sampling.getJyxh()); |
| | | lisSaveSqdxxDto.setBah(tjOrder.getCardId()); |
| | | lisSaveSqdxxDto.setBrxm(tjCustomer.getCusName()); |
| | | lisSaveSqdxxDto.setBrdm(PinyinUtil.getFirstLetter(tjCustomer.getCusName(), "")); |
| | | lisSaveSqdxxDto.setXb(tjCustomer.getCusSex() == 1 ? "2" : "1"); |
| | | lisSaveSqdxxDto.setCsrq(DateFormatUtils.format(tjCustomer.getCusBrithday(), "yyyy-MM-dd")); |
| | | AgeResult ageResult = DateUtils.calculateAge(tjCustomer.getCusBrithday()); |
| | | lisSaveSqdxxDto.setNl(String.valueOf(ageResult.getAge())); |
| | | lisSaveSqdxxDto.setNldw(String.valueOf(ageResult.getUnit())); |
| | | lisSaveSqdxxDto.setSfzh(tjCustomer.getCusIdcard()); |
| | | lisSaveSqdxxDto.setLxdh(tjCustomer.getCusPhone()); |
| | | lisSaveSqdxxDto.setJtzz(""); |
| | | Date date = new Date(); |
| | | lisSaveSqdxxDto.setSqrq(DateFormatUtils.format(date, "yyyy-MM-dd HH:mm:ss")); |
| | | lisSaveSqdxxDto.setCyrq(""); |
| | | lisSaveSqdxxDto.setLczd(""); |
| | | lisSaveSqdxxDto.setBz(""); |
| | | lisSaveSqdxxDto.setKsbm(dept); |
| | | lisSaveSqdxxDto.setSqys(ysbm); |
| | | lisSaveSqdxxDto.setKfbz("1"); |
| | | List<OutpintestapplyDetailsDto> detailsDtos = new ArrayList<>(); |
| | | ArrayList<LisSaveSqdxxJyxmlistDto> dtos = new ArrayList<>(); |
| | | BigDecimal allPrice; |
| | | if (sampling.getProId().contains(",")){ |
| | | allPrice = tbTransitionMapper.getLisPriceByTjNumAndInParentProId(tjOrder.getTjNumber(), Arrays.asList(sampling.getProId().split(","))); |
| | | }else { |
| | | allPrice = tbTransitionMapper.getLisPriceByTjNumAndParentProId(tjOrder.getTjNumber(), sampling.getProId()); |
| | | } |
| | | lisSaveSqdxxDto.setFyje(allPrice.toString()); |
| | | // lisSaveSqdxxDto.setYbbm(sampling.getSpecimenTypeCode()); |
| | | lisSaveSqdxxDto.setYbbm(sampling.getYb()); |
| | | |
| | | String yyyyMMdd = DateFormatUtils.format(tjCustomer.getCusBrithday(), "yyyyMMdd"); |
| | | // String sqdh = "3"+yyyyMMdd.substring(2)+ RandomUtil.randomString(String.valueOf(System.currentTimeMillis()), 3); |
| | | String jyxh = idUtils.generateID(); |
| | | lisSaveSqdxxDto.setJyxh(jyxh); |
| | | lisSaveSqdxxDto.setBah(tjOrder.getCardId()); |
| | | lisSaveSqdxxDto.setBrxm(tjCustomer.getCusName()); |
| | | lisSaveSqdxxDto.setBrdm(PinyinUtil.getPinyin(tjCustomer.getCusName())); |
| | | lisSaveSqdxxDto.setXb(tjCustomer.getCusSex()==1?"2":"1"); |
| | | lisSaveSqdxxDto.setCsrq(DateFormatUtils.format(tjCustomer.getCusBrithday(), "yyyy-MM-dd")); |
| | | AgeResult ageResult = DateUtils.calculateAge(tjCustomer.getCusBrithday()); |
| | | lisSaveSqdxxDto.setNl(String.valueOf(ageResult.getAge())); |
| | | lisSaveSqdxxDto.setNldw(String.valueOf(ageResult.getUnit())); |
| | | lisSaveSqdxxDto.setSfzh(tjCustomer.getCusIdcard()); |
| | | lisSaveSqdxxDto.setLxdh(tjCustomer.getCusPhone()); |
| | | lisSaveSqdxxDto.setJtzz(""); |
| | | Date date = new Date(); |
| | | lisSaveSqdxxDto.setSqrq(DateFormatUtils.format(date, "yyyy-MM-dd HH:mm:ss")); |
| | | lisSaveSqdxxDto.setYbbm(jyxmzd.getJybbdm()); |
| | | lisSaveSqdxxDto.setCyrq(""); |
| | | lisSaveSqdxxDto.setLczd(""); |
| | | lisSaveSqdxxDto.setFyje(allPrice.toString()); |
| | | lisSaveSqdxxDto.setBz(""); |
| | | lisSaveSqdxxDto.setKsbm("0101"); |
| | | lisSaveSqdxxDto.setSqys("00029"); |
| | | lisSaveSqdxxDto.setJyxmlistDtoList(dtos); |
| | | log.info("检验申请 ->{}",JSONUtil.toJsonStr(lisSaveSqdxxDto)); |
| | | // TODO 暂不发出请求 |
| | | if (!detailsDtos.isEmpty() && false) { |
| | | AjaxResult ajaxResult = lisApiMethodService.saveSqdxx(lisSaveSqdxxDto); |
| | | String result = ajaxResult.get("data").toString(); |
| | | JSONObject object = JSONUtil.parseObj(JSONUtil.parseObj(result).getStr("Response")); |
| | | log.info("请求返回 ->{}",object); |
| | | String code = object.getStr("ResultCode"); |
| | | if(code.equals("0")){ |
| | | for (OutpintestapplyDetailsDto detail : detailsDtos) { |
| | | LtkjJianchajianyanTree tree = new LtkjJianchajianyanTree(); |
| | | tree.setCardId(tjOrder.getCardId()); |
| | | tree.setPationid(tjCustomer.getPationId()); |
| | | tree.setSqdh(jyxh); |
| | | tree.setFyhj(allPrice.toString()); |
| | | String mxfyxmbm = detail.getMxfyxmbm(); |
| | | tree.setHisXmdm(mxfyxmbm); |
| | | tree.setType("检验"); |
| | | tree.setTjPrice(String.valueOf(detail.getProjg())); |
| | | LambdaQueryWrapper<LtkjJfzhglmxjfxmzd> wrapper1 = new LambdaQueryWrapper<>(); |
| | | if (detail.getSfzhfy().equals("1")) |
| | | wrapper1.eq(LtkjJfzhglmxjfxmzd::getZhxmdm, mxfyxmbm); |
| | | else wrapper1.eq(LtkjJfzhglmxjfxmzd::getXmdm, mxfyxmbm); |
| | | List<LtkjJfzhglmxjfxmzd> ltkjJfzhglmxjfxmzds = ltkjJfzhglmxjfxmzdService.list(wrapper1); |
| | | if (ltkjJfzhglmxjfxmzds != null && !ltkjJfzhglmxjfxmzds.isEmpty()) { |
| | | String xmdm = ltkjJfzhglmxjfxmzds.get(0).getXmdm(); |
| | | LambdaQueryWrapper<LtkjMxjfxmzd> wrapper3 = new LambdaQueryWrapper<>(); |
| | | wrapper3.eq(LtkjMxjfxmzd::getXmdm, xmdm); |
| | | LtkjMxjfxmzd mxjfxmzd = ltkjMxjfxmzdService.getOne(wrapper3); |
| | | LambdaQueryWrapper<LtkjEjjfxmzd> wrapper4 = new LambdaQueryWrapper<>(); |
| | | wrapper4.eq(LtkjEjjfxmzd::getEjkmdm, mxjfxmzd.getEjkmdm()); |
| | | LtkjEjjfxmzd ejjfxmzd = ltkjEjjfxmzdService.getOne(wrapper4); |
| | | tree.setXmfl(ejjfxmzd.getYjkmdm()); |
| | | } |
| | | tree.setCreateTime(DateUtil.date()); |
| | | ltkjJianchajianyanTreeService.save(tree); |
| | | } |
| | | }else { |
| | | log.error("请求失败 ->{}",lisSaveSqdxxDto); |
| | | } |
| | | } |
| | | } |
| | | } |
| | | if (sampling.getIsMerge() == 1){ |
| | | LambdaQueryWrapper<TjSampling> wrapper = new LambdaQueryWrapper<>(); |
| | | wrapper.eq(TjSampling::getParentId, sampling.getId()); |
| | | List<TjSampling> list = tjSamplingService.list(wrapper); |
| | | for (TjSampling tjSampling : list) { |
| | | TjProject project = projectService.getById(tjSampling.getProId()); |
| | | if (StrUtil.isBlank(tjSampling.getJyxmdm())){ |
| | | LambdaQueryWrapper<TjProject> wrapper1 = new LambdaQueryWrapper<>(); |
| | | wrapper1.eq(TjProject::getProParentId,project.getProId()); |
| | | List<TjProject> projects = projectService.list(wrapper1); |
| | | for (TjProject tjProject : projects) { |
| | | LisSaveSqdxxJyxmlistDto dto = new LisSaveSqdxxJyxmlistDto(); |
| | | dto.setXh(String.valueOf(xh.getAndIncrement() + 1)); |
| | | dto.setJyxm(tjProject.getLisXmbm()); |
| | | dto.setXmmc(tjProject.getProName()); |
| | | dtos.add(dto); |
| | | } |
| | | }else { |
| | | LisSaveSqdxxJyxmlistDto dto = new LisSaveSqdxxJyxmlistDto(); |
| | | dto.setXh(String.valueOf(xh.getAndIncrement() + 1)); |
| | | dto.setJyxm(tjSampling.getJyxmdm()); |
| | | dto.setXmmc(tjSampling.getProName()); |
| | | dtos.add(dto); |
| | | } |
| | | |
| | | OutpintestapplyDetailsDto detailsDto = new OutpintestapplyDetailsDto(); |
| | | detailsDto.setMxfyxmbm(project.getHisXmbm()); |
| | | if (project.getSfzhfy().equals("Y")) { |
| | | detailsDto.setSfzhfy("1"); |
| | | } else { |
| | | detailsDto.setSfzhfy("0"); |
| | | } |
| | | detailsDto.setSl(project.getSl()); |
| | | detailsDto.setProjg(project.getProPrice()); |
| | | detailsDtos.add(detailsDto); |
| | | } |
| | | }else { |
| | | TjProject project = projectService.getById(sampling.getProId()); |
| | | if (StrUtil.isBlank(sampling.getJyxmdm())){ |
| | | LambdaQueryWrapper<TjProject> wrapper1 = new LambdaQueryWrapper<>(); |
| | | wrapper1.eq(TjProject::getProParentId,project.getProId()); |
| | | List<TjProject> projects = projectService.list(wrapper1); |
| | | for (TjProject tjProject : projects) { |
| | | LisSaveSqdxxJyxmlistDto dto = new LisSaveSqdxxJyxmlistDto(); |
| | | dto.setXh(String.valueOf(xh.getAndIncrement() + 1)); |
| | | dto.setJyxm(tjProject.getLisXmbm()); |
| | | dto.setXmmc(tjProject.getProName()); |
| | | dtos.add(dto); |
| | | } |
| | | }else { |
| | | LisSaveSqdxxJyxmlistDto dto = new LisSaveSqdxxJyxmlistDto(); |
| | | dto.setXh(String.valueOf(xh.getAndIncrement() + 1)); |
| | | dto.setJyxm(sampling.getJyxmdm()); |
| | | dto.setXmmc(sampling.getProName()); |
| | | dtos.add(dto); |
| | | } |
| | | |
| | | OutpintestapplyDetailsDto detailsDto = new OutpintestapplyDetailsDto(); |
| | | detailsDto.setMxfyxmbm(project.getHisXmbm()); |
| | | if (project.getSfzhfy().equals("Y")) { |
| | | detailsDto.setSfzhfy("1"); |
| | | } else { |
| | | detailsDto.setSfzhfy("0"); |
| | | } |
| | | detailsDto.setSl(project.getSl()); |
| | | detailsDto.setProjg(project.getProPrice()); |
| | | detailsDtos.add(detailsDto); |
| | | } |
| | | |
| | | lisSaveSqdxxDto.setJyxmlist(dtos); |
| | | log.info("检验申请参数 ->{}", JSONUtil.toJsonStr(lisSaveSqdxxDto)); |
| | | // if (true) |
| | | // return true; |
| | | AjaxResult ajaxResult = lisApiMethodService.saveSqdxx(lisSaveSqdxxDto); |
| | | // Lis请求返回 ->{"msg":"操作失败","code":500,"result":{"Response":{"ResultContent":"成功","ResultData":null,"ResultCode":"1"}}} |
| | | // {"msg":"操作成功","code":200,"data":{"ResultContent":"成功","ResultData":null,"ResultCode":"1"}} |
| | | log.info("Lis请求返回 ->{}", JSONUtil.toJsonStr(ajaxResult)); |
| | | String result = ajaxResult.get("data").toString(); |
| | | JSONObject object = JSONUtil.parseObj(result); |
| | | String code = object.getStr("ResultCode"); |
| | | if (code.equals("1")) { |
| | | for (OutpintestapplyDetailsDto detail : detailsDtos) { |
| | | LtkjJianchajianyanTree tree = new LtkjJianchajianyanTree(); |
| | | tree.setCardId(tjOrder.getCardId()); |
| | | tree.setPationid(tjCustomer.getPationId()); |
| | | tree.setSqdh(sampling.getJyxh()); |
| | | tree.setFyhj(allPrice.toString()); |
| | | String mxfyxmbm = detail.getMxfyxmbm(); |
| | | tree.setHisXmdm(mxfyxmbm); |
| | | tree.setType("检验"); |
| | | tree.setService("lis"); |
| | | tree.setTjPrice(String.valueOf(detail.getProjg())); |
| | | LambdaQueryWrapper<LtkjJfzhglmxjfxmzd> wrapper1 = new LambdaQueryWrapper<>(); |
| | | if (detail.getSfzhfy().equals("1")) |
| | | wrapper1.eq(LtkjJfzhglmxjfxmzd::getZhxmdm, mxfyxmbm); |
| | | else wrapper1.eq(LtkjJfzhglmxjfxmzd::getXmdm, mxfyxmbm); |
| | | List<LtkjJfzhglmxjfxmzd> ltkjJfzhglmxjfxmzds = ltkjJfzhglmxjfxmzdService.list(wrapper1); |
| | | if (ltkjJfzhglmxjfxmzds != null && !ltkjJfzhglmxjfxmzds.isEmpty()) { |
| | | String xmdm = ltkjJfzhglmxjfxmzds.get(0).getXmdm(); |
| | | LambdaQueryWrapper<LtkjMxjfxmzd> wrapper3 = new LambdaQueryWrapper<>(); |
| | | wrapper3.eq(LtkjMxjfxmzd::getXmdm, xmdm); |
| | | LtkjMxjfxmzd mxjfxmzd = ltkjMxjfxmzdService.getOne(wrapper3); |
| | | LambdaQueryWrapper<LtkjEjjfxmzd> wrapper4 = new LambdaQueryWrapper<>(); |
| | | wrapper4.eq(LtkjEjjfxmzd::getEjkmdm, mxjfxmzd.getEjkmdm()); |
| | | LtkjEjjfxmzd ejjfxmzd = ltkjEjjfxmzdService.getOne(wrapper4); |
| | | tree.setXmfl(ejjfxmzd.getYjkmdm()); |
| | | } |
| | | tree.setCreateTime(DateUtil.date()); |
| | | tree.setJxbz(sampling.getJxbz()); |
| | | ltkjJianchajianyanTreeService.save(tree); |
| | | } |
| | | return true; |
| | | } else { |
| | | log.error("请求失败 ->{}", lisSaveSqdxxDto); |
| | | return false; |
| | | } |
| | | } |
| | | |
| | | public Boolean save(Map<String, List<TjProject>> listMap,TjOrder tjOrder,TjCustomer tjCustomer){ |
| | | boolean flag = true; |
| | | for (Map.Entry<String, List<TjProject>> entry : listMap.entrySet()) { |
| | | String jyxh = idUtils.generateLisID(configService.selectConfigByKey("make_lis_tmh_prefix")); |
| | | String dept = configService.selectConfigByKey("request_default_dept"); |
| | | String ysbm = configService.selectConfigByKey("request_default_ysbm"); |
| | | AtomicInteger xh = new AtomicInteger(); |
| | | LisSaveSqdxxDto lisSaveSqdxxDto = new LisSaveSqdxxDto(); |
| | | lisSaveSqdxxDto.setJyxh(jyxh); |
| | | lisSaveSqdxxDto.setBah(tjOrder.getCardId()); |
| | | lisSaveSqdxxDto.setBrxm(tjCustomer.getCusName()); |
| | | lisSaveSqdxxDto.setBrdm(PinyinUtil.getFirstLetter(tjCustomer.getCusName(), "")); |
| | | lisSaveSqdxxDto.setXb(tjCustomer.getCusSex() == 1 ? "2" : "1"); |
| | | lisSaveSqdxxDto.setCsrq(DateFormatUtils.format(tjCustomer.getCusBrithday(), "yyyy-MM-dd")); |
| | | AgeResult ageResult = DateUtils.calculateAge(tjCustomer.getCusBrithday()); |
| | | lisSaveSqdxxDto.setNl(String.valueOf(ageResult.getAge())); |
| | | lisSaveSqdxxDto.setNldw(String.valueOf(ageResult.getUnit())); |
| | | lisSaveSqdxxDto.setSfzh(tjCustomer.getCusIdcard()); |
| | | lisSaveSqdxxDto.setLxdh(tjCustomer.getCusPhone()); |
| | | lisSaveSqdxxDto.setJtzz(""); |
| | | Date date = new Date(); |
| | | lisSaveSqdxxDto.setSqrq(DateFormatUtils.format(date, "yyyy-MM-dd HH:mm:ss")); |
| | | lisSaveSqdxxDto.setCyrq(""); |
| | | lisSaveSqdxxDto.setLczd(""); |
| | | lisSaveSqdxxDto.setBz(""); |
| | | lisSaveSqdxxDto.setKsbm(dept); |
| | | lisSaveSqdxxDto.setSqys(ysbm); |
| | | lisSaveSqdxxDto.setKfbz("1"); |
| | | List<OutpintestapplyDetailsDto> detailsDtos = new ArrayList<>(); |
| | | ArrayList<LisSaveSqdxxJyxmlistDto> dtos = new ArrayList<>(); |
| | | |
| | | BigDecimal allPrice = tbTransitionMapper.getLisPriceByTjNumAndInProId(tjOrder.getTjNumber(), entry.getValue().stream().map(TjProject::getProId).collect(Collectors.toList())); |
| | | |
| | | lisSaveSqdxxDto.setFyje(allPrice.toString()); |
| | | // lisSaveSqdxxDto.setYbbm(entry.getKey()); |
| | | String s = entry.getKey(); |
| | | lisSaveSqdxxDto.setYbbm(s.substring(s.indexOf("_") + 1)); |
| | | |
| | | |
| | | for (TjProject tjProject : entry.getValue()) { |
| | | LisSaveSqdxxJyxmlistDto dto = new LisSaveSqdxxJyxmlistDto(); |
| | | dto.setXh(String.valueOf(xh.getAndIncrement() + 1)); |
| | | dto.setJyxm(tjProject.getLisXmbm()); |
| | | dto.setXmmc(tjProject.getProName()); |
| | | dtos.add(dto); |
| | | } |
| | | |
| | | |
| | | lisSaveSqdxxDto.setJyxmlist(dtos); |
| | | log.info("检验申请参数 ->{}", JSONUtil.toJsonStr(lisSaveSqdxxDto)); |
| | | AjaxResult ajaxResult = lisApiMethodService.saveSqdxx(lisSaveSqdxxDto); |
| | | log.info("Lis请求返回 ->{}", JSONUtil.toJsonStr(ajaxResult)); |
| | | String result = ajaxResult.get("data").toString(); |
| | | JSONObject object = JSONUtil.parseObj(result); |
| | | String code = object.getStr("ResultCode"); |
| | | if (!code.equals("1")) { |
| | | log.error("请求失败 ->{}", lisSaveSqdxxDto); |
| | | flag = false; |
| | | break; |
| | | } |
| | | } |
| | | return true; |
| | | return flag; |
| | | } |
| | | |
| | | /** |
| | |
| | | |
| | | |
| | | |
| | | private LtkjJyxmzd getGetYbDm(TjProject project) { |
| | | public LtkjJyxmzd getJyxmzd(TjProject project) { |
| | | String jyxmdm = ""; |
| | | LambdaQueryWrapper<LtkjJfzhgljyxmzd> wrapper = new LambdaQueryWrapper<>(); |
| | | wrapper.eq(LtkjJfzhgljyxmzd::getZhxmdm, project.getHisXmbm()); |
| | | LtkjJfzhgljyxmzd jfzhgljyxmzd = ltkjJfzhgljyxmzdService.getOne(wrapper); |
| | | if (jfzhgljyxmzd != null) jyxmdm = jfzhgljyxmzd.getJyxmdm(); |
| | | else { |
| | | if (project.getSfzhfy().equals("Y")){ |
| | | LambdaQueryWrapper<LtkjJfzhgljyxmzd> wrapper = new LambdaQueryWrapper<>(); |
| | | wrapper.eq(LtkjJfzhgljyxmzd::getZhxmdm, project.getHisXmbm()); |
| | | LtkjJfzhgljyxmzd jfzhgljyxmzd = ltkjJfzhgljyxmzdService.getOne(wrapper); |
| | | if (jfzhgljyxmzd != null) jyxmdm = jfzhgljyxmzd.getJyxmdm(); |
| | | } else { |
| | | LambdaQueryWrapper<LtkjJfxmgljyxmzd> wrapper1 = new LambdaQueryWrapper<>(); |
| | | wrapper1.eq(LtkjJfxmgljyxmzd::getXmdm, project.getHisXmbm()); |
| | | LtkjJfxmgljyxmzd jfxmgljyxmzd = ltkjJfxmgljyxmzdService.getOne(wrapper1); |
| | | if (jfxmgljyxmzd != null) jyxmdm = jfxmgljyxmzd.getJyxmdm(); |
| | | } |
| | | // if (StrUtil.isBlank(jyxmdm)) log.error("获取检验项目代码为空 ->{}", project); |
| | | LambdaQueryWrapper<LtkjJyxmzd> wrapper2 = new LambdaQueryWrapper<>(); |
| | | wrapper2.eq(LtkjJyxmzd::getJyxmdm,jyxmdm); |
| | | LtkjJyxmzd jyxmzd = jyxmzdService.getOne(wrapper2); |
| | | if (jyxmzd != null) return jyxmzd; |
| | | return null; |
| | | } |
| | | |
| | | /** |
| | | * 根据体检类型判断是否需要直接从Lis、pacs直接申请 |
| | | */ |
| | | public Boolean isUseLisAndPacsRegister(TjOrder tjOrder) { |
| | | try { |
| | | |
| | | String useLisAndPacsRegisterDictTeam = configService.selectConfigByKey("use_lis_and_pacs_register_dict_team"); |
| | | log.info("根据体检类型判断是否需要直接从Lis、pacs直接申请 :"+tjOrder.getTjType()+"_"+useLisAndPacsRegisterDictTeam); |
| | | String[] split = useLisAndPacsRegisterDictTeam.split(",|,|。|:|:"); |
| | | List<String> list = Arrays.asList(split); |
| | | log.info("参数配置里面的值为 list :"+list); |
| | | return list.contains(tjOrder.getTjType()); |
| | | } catch (Exception e) { |
| | | log.error("isUseLisAndPacsRegister"+e.getMessage()); |
| | | return false; |
| | | } |
| | | } |
| | | |
| | | /** |
| | | * 检验项目字典的检验分类代码不能存在于该接口返回中,如果存在则不能合并 |
| | | * 获取检验分类合并信息字典 存在才能合并发送 不存在则只能单次发送 |
| | | * @return |
| | | */ |
| | | public AjaxResult getJyFlHb(){ |
| | | return lisApiMethodService.getJyflhbxx(); |
| | | } |
| | | } |