zhaowenxuan
7 天以前 0892d843cd394f383ff50f480f7f22f2ec3829bc
ltkj-admin/src/main/java/com/ltkj/web/controller/lis/LisApiMethod.java
@@ -2,6 +2,7 @@
import cn.hutool.core.date.DateUtil;
import cn.hutool.core.util.StrUtil;
import cn.hutool.extra.pinyin.PinyinUtil;
import cn.hutool.json.JSONObject;
import cn.hutool.json.JSONUtil;
@@ -102,7 +103,8 @@
            allPrice = tbTransitionMapper.getLisPriceByTjNumAndParentProId(tjOrder.getTjNumber(), sampling.getProId());
        }
        lisSaveSqdxxDto.setFyje(allPrice.toString());
        lisSaveSqdxxDto.setYbbm(sampling.getSpecimenTypeCode());
//        lisSaveSqdxxDto.setYbbm(sampling.getSpecimenTypeCode());
        lisSaveSqdxxDto.setYbbm(sampling.getYb());
        if (sampling.getIsMerge() == 1){
            LambdaQueryWrapper<TjSampling> wrapper = new LambdaQueryWrapper<>();
@@ -110,11 +112,24 @@
            List<TjSampling> list = tjSamplingService.list(wrapper);
            for (TjSampling tjSampling : list) {
                TjProject project = projectService.getById(tjSampling.getProId());
                LisSaveSqdxxJyxmlistDto dto = new LisSaveSqdxxJyxmlistDto();
                dto.setXh(String.valueOf(xh.getAndIncrement() + 1));
                dto.setJyxm(tjSampling.getJyxmdm());
                dto.setXmmc(tjSampling.getProName());
                dtos.add(dto);
                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());
@@ -129,11 +144,24 @@
            }
        }else {
            TjProject project = projectService.getById(sampling.getProId());
            LisSaveSqdxxJyxmlistDto dto = new LisSaveSqdxxJyxmlistDto();
            dto.setXh(String.valueOf(xh.getAndIncrement() + 1));
            dto.setJyxm(sampling.getJyxmdm());
            dto.setXmmc(sampling.getProName());
            dtos.add(dto);
            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());
@@ -196,6 +224,70 @@
        }
    }
    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 flag;
    }
    /**
     * 获取检验结果
     * @param cardId