zhaowenxuan
2025-02-12 53d149f491dba554ee035599059a1bf65ea92df2
ltkj-admin/src/main/java/com/ltkj/web/controller/service/TjSysAsyncServiceImpl.java
@@ -11,6 +11,7 @@
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.ltkj.common.core.domain.AjaxResult;
import com.ltkj.common.core.domain.entity.SysDept;
import com.ltkj.common.core.domain.entity.SysUser;
import com.ltkj.common.core.redis.RedisCache;
import com.ltkj.common.utils.IdUtils;
@@ -162,6 +163,14 @@
    private ISysConfigService sysConfigService;
    @Resource
    private ITjXdPictureService xdPictureService;
    @Autowired
    private TjOutpinmedicXmService tjOutpinmedicXmService;
    @Autowired
    private TjOrderYcxmService ycxmService;
    @Autowired
    private ITjRulesService rulesService;
    @Autowired
    private ITjProAdvicerulesService tjProAdvicerulesService;
@@ -576,17 +585,69 @@
    @Override
    @Async("async")
    public void updateOrdeltile(List<TjOrderDetail> tjOrderDetailList, SysUser sysUser, TjOrder order) {
        for (TjOrderDetail detail : tjOrderDetailList) {
            detail.setTjStatus(1L);
            LambdaQueryWrapper<TjStandard> wq0 = new LambdaQueryWrapper<>();
            wq0.eq(TjStandard::getProId, detail.getProId());
            detail.setUpdateBy(sysUser.getNickName());
            detail.setUpdateTime(new Date());
            detail.setCreateId(String.valueOf(sysUser.getUserId()));
            detail.setUpdateId(String.valueOf(sysUser.getUserId()));
            tjOrderDetailService.updateById(detail);
    public void updateOrdeltile(List<TjOrderDetail> tjOrderDetailList, SysUser sysUser, TjOrder order,TjOrderRemark orderRemark) {
        String deptname="";
        TjProject tjProject = projectService.getById(orderRemark.getProId());
        if(null !=tjProject){
            SysDept dept = deptService.getById(tjProject.getDeptId());
            if(dept.getParentId()!=100L){
                deptname= deptService.getprentks(dept.getParentId().toString());
            }else {
                deptname=dept.getDeptName();
            }
            for (TjOrderDetail detail : tjOrderDetailList) {
                detail.setTjStatus(1L);
                LambdaQueryWrapper<TjStandard> wq0 = new LambdaQueryWrapper<>();
                wq0.eq(TjStandard::getProId, detail.getProId());
                detail.setUpdateBy(sysUser.getNickName());
                detail.setUpdateTime(new Date());
                detail.setCreateId(String.valueOf(sysUser.getUserId()));
                detail.setUpdateId(String.valueOf(sysUser.getUserId()));
                tjOrderDetailService.updateById(detail);
                try {
                    LambdaQueryWrapper<TjOrderYcxm> wq=new LambdaQueryWrapper<>();
                    wq.eq(TjOrderYcxm::getTjh,order.getTjNumber());
                    wq.eq(TjOrderYcxm::getJcxm,detail.getProName());
                    TjOrderYcxm ycxm = ycxmService.getOne(wq);
                    if(null !=ycxm){
                        ycxm.setJcjg(detail.getProResult());
                        List<Map<String,Object>> maps= rulesService.getyichangxiangmujianyiguize(detail.getProId().toString()
                                ,"","",order.getTjNumber()
                                ,detail.getProName().replaceAll("[((][^))]*[))]", "")
                                        .replaceAll("[ 测定检测]","")
                                ,detail.getProResult());
                        String[] split = detail.getProResult().split("。|,|,");
                        List<Map<String,Object>> mapList=new ArrayList<>();
                        for (String s : split) {
                            s = s.replaceAll("\n", "");
//                                        Map<String,Object> maps= rulesService.getyichangxiangmujianyiguizeJianCha(s);
                            Map<String,Object> mapss= tjProAdvicerulesService.getyichangxiangmujianyiguizeJianCha(deptname,s,"0");
                            if(null !=mapss && !mapss.isEmpty()){
                                Object bt = mapss.get("bt");
                                Object nr = mapss.get("nr");
                                if(null !=bt || null !=nr){
                                } mapList.add(mapss);
                            }
                        }
                        if(null != maps && !maps.isEmpty()){
                            ycxm.setJynr(JSONUtil.toJsonStr(maps));
                        }
                        if( !mapList.isEmpty()){
                            ycxm.setJynr(JSONUtil.toJsonStr(mapList));
                        }
                        ycxmService.updateById(ycxm);
                        if(detail.getExceptionDesc()==0)ycxmService.remove(wq);
                    }
                } catch (Exception e) {
                }
            }
        }
    }
    @Override
@@ -1748,7 +1809,7 @@
                        if (samplings.size() >= 2){
                            // 进行合并
                            List<String> stringList = samplings.stream().map(TjSampling::getId).collect(Collectors.toList());
                            log.info("提取id ->{}",stringList);
//                            log.info("提取id ->{}",stringList);
                            for (int i = 0; i < stringList.size(); i++) {
                                String s = stringList.get(i);
                                if (tjSamplingService.isMergeItem(s) != 0) {
@@ -1771,6 +1832,7 @@
                        return AjaxResult.error("处理失败");
                }
            }else {
                List<TjOutpinmedicXm> outpinmedicXms = tjOutpinmedicXmService.list();
                //检验申请
                if (null != detailList && !detailList.isEmpty()) {
                    LambdaQueryWrapper<TjProject> wq = new LambdaQueryWrapper<>();
@@ -1815,30 +1877,33 @@
                                        detailsDtos.add(detailsDto);
                                    }
                                }
                                if(project.getProId()==1740177341251154377L){
                                    OutpinmedicapplyDetilsDto detilsDto=new OutpinmedicapplyDetilsDto();
                                    detilsDto.setYpbm("00006670");
                                    detilsDto.setPcbm("06");
                                    detilsDto.setSl("1");
                                    detilsDto.setDj("60");
                                    detilsDto.setDcjl("1");
                                    detilsDto.setPj("60");
                                    detilsDto.setJj("60");
                                    detilsDto.setJldw("");
                                    detilsDto.setTjbm("");
                                    detilsDto.setPs("");
                                    detilsDto.setPsbm("");
                                    detilsDto.setYyts("");
                                    detilsDto.setXtph("");
                                    detilsDto.setScph("");
                                    detilsDto.setYpxq("");
                                    detilsDto.setCdbm("");
                                    detilsDto.setKfdw("");
                                    detilsDto.setYfdw("");
                                    detilsDto.setYysm("");
                                    detilsDto.setFzbl("1");
                                    detilsDto.setZh("0");
                                    outpinmedicapplyDetilsDtos.add(detilsDto);
                                if (!outpinmedicXms.isEmpty()) {
                                    outpinmedicXms.stream().filter(i -> i.getProId().equals(project.getProId())).forEach(i -> {
                                        OutpinmedicapplyDetilsDto detilsDto=new OutpinmedicapplyDetilsDto();
                                        detilsDto.setYpbm(i.getYpbm());
                                        detilsDto.setPcbm(i.getPcbm());
                                        detilsDto.setSl(i.getSl());
                                        detilsDto.setDj(i.getDj());
                                        detilsDto.setDcjl(i.getDcjl());
                                        detilsDto.setPj(i.getPj());
                                        detilsDto.setJj(i.getJj());
                                        detilsDto.setJldw("");
                                        detilsDto.setTjbm("");
                                        detilsDto.setPs("");
                                        detilsDto.setPsbm("");
                                        detilsDto.setYyts("");
                                        detilsDto.setXtph("");
                                        detilsDto.setScph("");
                                        detilsDto.setYpxq("");
                                        detilsDto.setCdbm("");
                                        detilsDto.setKfdw("");
                                        detilsDto.setYfdw("");
                                        detilsDto.setYysm("");
                                        detilsDto.setYpmc(i.getYpmc());
                                        detilsDto.setFzbl(i.getFzbl());
                                        detilsDto.setZh(i.getZh());
                                        outpinmedicapplyDetilsDtos.add(detilsDto);
                                    });
                                }
                            }
                            if (!detailsDtos.isEmpty()) {
@@ -1922,31 +1987,34 @@
                                    }
                                }
                            }
                            boolean anyMatch = projects.stream().anyMatch(i -> i.getProParentId() == 1740177341251154377L);
                            if(anyMatch){
                                OutpinmedicapplyDetilsDto detilsDto=new OutpinmedicapplyDetilsDto();
                                detilsDto.setYpbm("00006670");
                                detilsDto.setPcbm("06");
                                detilsDto.setSl("1");
                                detilsDto.setDj("60");
                                detilsDto.setDcjl("1");
                                detilsDto.setPj("60");
                                detilsDto.setJj("60");
                                detilsDto.setJldw("");
                                detilsDto.setTjbm("");
                                detilsDto.setPs("");
                                detilsDto.setPsbm("");
                                detilsDto.setYyts("");
                                detilsDto.setXtph("");
                                detilsDto.setScph("");
                                detilsDto.setYpxq("");
                                detilsDto.setCdbm("");
                                detilsDto.setKfdw("");
                                detilsDto.setYfdw("");
                                detilsDto.setYysm("");
                                detilsDto.setFzbl("1");
                                detilsDto.setZh("0");
                                outpinmedicapplyDetilsDtos.add(detilsDto);
                            List<Long> proParentIds = projects.stream().map(TjProject::getProParentId).distinct().collect(Collectors.toList());
                            if (!outpinmedicXms.isEmpty()) {
                                outpinmedicXms.stream().filter(i -> proParentIds.contains(i.getProId())).forEach(i -> {
                                    OutpinmedicapplyDetilsDto detilsDto=new OutpinmedicapplyDetilsDto();
                                    detilsDto.setYpbm(i.getYpbm());
                                    detilsDto.setPcbm(i.getPcbm());
                                    detilsDto.setSl(i.getSl());
                                    detilsDto.setDj(i.getDj());
                                    detilsDto.setDcjl(i.getDcjl());
                                    detilsDto.setPj(i.getPj());
                                    detilsDto.setJj(i.getJj());
                                    detilsDto.setJldw("");
                                    detilsDto.setTjbm("");
                                    detilsDto.setPs("");
                                    detilsDto.setPsbm("");
                                    detilsDto.setYyts("");
                                    detilsDto.setXtph("");
                                    detilsDto.setScph("");
                                    detilsDto.setYpxq("");
                                    detilsDto.setCdbm("");
                                    detilsDto.setKfdw("");
                                    detilsDto.setYfdw("");
                                    detilsDto.setYysm("");
                                    detilsDto.setYpmc(i.getYpmc());
                                    detilsDto.setFzbl(i.getFzbl());
                                    detilsDto.setZh(i.getZh());
                                    outpinmedicapplyDetilsDtos.add(detilsDto);
                                });
                            }
                            if (!detailsDtoss.isEmpty()) {
                                OutpinexamapplyDto outpinexamapplyDto = new OutpinexamapplyDto();
@@ -2038,31 +2106,34 @@
                                    detailDtos.add(detailsDto);
                                }
                            }
                            boolean anyMatch = projects.stream().anyMatch(i -> i.getProParentId() == 1740177341251154377L);
                            if(anyMatch){
                                OutpinmedicapplyDetilsDto detilsDto=new OutpinmedicapplyDetilsDto();
                                detilsDto.setYpbm("00006670");
                                detilsDto.setPcbm("06");
                                detilsDto.setSl("1");
                                detilsDto.setDj("60");
                                detilsDto.setDcjl("1");
                                detilsDto.setPj("60");
                                detilsDto.setJj("60");
                                detilsDto.setJldw("");
                                detilsDto.setTjbm("");
                                detilsDto.setPs("");
                                detilsDto.setPsbm("");
                                detilsDto.setYyts("");
                                detilsDto.setXtph("");
                                detilsDto.setScph("");
                                detilsDto.setYpxq("");
                                detilsDto.setCdbm("");
                                detilsDto.setKfdw("");
                                detilsDto.setYfdw("");
                                detilsDto.setYysm("");
                                detilsDto.setFzbl("1");
                                detilsDto.setZh("0");
                                outpinmedicapplyDetilsDtos.add(detilsDto);
                            List<Long> proParentIds = projects.stream().map(TjProject::getProParentId).distinct().collect(Collectors.toList());
                            if (!outpinmedicXms.isEmpty()) {
                                outpinmedicXms.stream().filter(i -> proParentIds.contains(i.getProId())).forEach(i -> {
                                    OutpinmedicapplyDetilsDto detilsDto=new OutpinmedicapplyDetilsDto();
                                    detilsDto.setYpbm(i.getYpbm());
                                    detilsDto.setPcbm(i.getPcbm());
                                    detilsDto.setSl(i.getSl());
                                    detilsDto.setDj(i.getDj());
                                    detilsDto.setDcjl(i.getDcjl());
                                    detilsDto.setPj(i.getPj());
                                    detilsDto.setJj(i.getJj());
                                    detilsDto.setJldw("");
                                    detilsDto.setTjbm("");
                                    detilsDto.setPs("");
                                    detilsDto.setPsbm("");
                                    detilsDto.setYyts("");
                                    detilsDto.setXtph("");
                                    detilsDto.setScph("");
                                    detilsDto.setYpxq("");
                                    detilsDto.setCdbm("");
                                    detilsDto.setKfdw("");
                                    detilsDto.setYfdw("");
                                    detilsDto.setYysm("");
                                    detilsDto.setYpmc(i.getYpmc());
                                    detilsDto.setFzbl(i.getFzbl());
                                    detilsDto.setZh(i.getZh());
                                    outpinmedicapplyDetilsDtos.add(detilsDto);
                                });
                            }
                            if (!detailDtos.isEmpty()) {
                                dao.setDetails(detailDtos);
@@ -2144,7 +2215,7 @@
                            cf.setSqrq(date);
                            cf.setCzybm(ysbm);
                            cf.setYpbm(detilsDto.getYpbm());
                            cf.setYpmc("尿素[14C]呼气试验药盒");
                            cf.setYpmc(detilsDto.getYpmc());
                            cf.setSl(String.valueOf(detilsDto.getSl()));
                            cf.setDj(String.valueOf(detilsDto.getDj()));
                            cf.setDcjl(String.valueOf(detilsDto.getDcjl()));