inspect-server/src/main/java/com/yuanchu/mom/service/impl/InsOrderPlanServiceImpl.java
@@ -6,6 +6,7 @@
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
@@ -141,7 +142,6 @@
    }
    @Override
    @Transactional(rollbackFor = Exception.class)
    public void saveInsContext(Map<String, Object> insContext) {
        Integer userId = getLook.selectPowerByMethodAndUserId(null).get("userId");
        CompletableFuture.supplyAsync(() -> {
@@ -173,7 +173,7 @@
                    }
                    result.setInsValue(JSON.toJSONString(iv));
                }
                if (jo.get("comValue") != null) {
                if (jo.get("comValue") != null && !Objects.equals(jo.get("comValue"), "")) {
                    JSONArray jsonArray2 = JSON.parseArray(JSON.toJSONString(jo.get("comValue")));
                    List<Map<String, Object>> cv = new ArrayList<>();
                    for (Object o : jsonArray2) {
@@ -184,10 +184,13 @@
                    }
                    result.setComValue(JSON.toJSONString(cv));
                }
                JSONObject resValue = JSON.parseObject(JSON.toJSONString(jo.get("resValue")));
                if (resValue.get("v") != null) {
                    insProduct.setLastValue(JSON.parseObject(JSON.toJSONString(resValue.get("v"))).get("v") + "");
                }
                try {
                    JSONObject resValue = JSON.parseObject(JSON.toJSONString(jo.get("resValue")));
                    if (resValue.get("v") != null) {
                        Object o = JSON.parseObject(JSON.toJSONString(resValue.get("v"))).get("v");
                        insProduct.setLastValue(o==null?null:(o + ""));
                    }
                }catch (Exception e){}
                if (jo.get("equipValue") != null) {
                    JSONArray jsonArray2 = JSON.parseArray(JSON.toJSONString(jo.get("equipValue")));
                    List<Map<String, Object>> ev = new ArrayList<>();
@@ -239,8 +242,32 @@
                }
                insSampleMapper.updateById(insSample);
            });
            return null;
            return insContext.keySet().stream().findFirst().orElse(null);
        }).thenAccept(res -> {
            if(res!=null){
                int pId = Integer.parseInt(res.replaceAll("\\D+", ""));
                InsProduct insProduct = insProductMapper.selectById(pId);
                // 通过pId 获取当前样本id
                int sampleId = insProductMapper.selectById(pId).getInsSampleId();
                // 通过样本id获取订单id
                int orderId = insSampleMapper.selectById(sampleId).getInsOrderId();
                // 通过订单id查找所有样本id
                List<Integer> sampleIds = insSampleMapper.selectList(Wrappers.<InsSample>lambdaQuery().eq(InsSample::getInsOrderId, orderId)).stream().map(InsSample::getId).collect(Collectors.toList());
                // 通过检查每一个样本id查到属于检验项结论 is null的数量
                Long count = insProductMapper.selectCount(Wrappers.<InsProduct>lambdaQuery().in(InsProduct::getInsSampleId, sampleIds).isNull(InsProduct::getInsResult).eq(InsProduct::getSonLaboratory, insProduct.getSonLaboratory()));
                // is null的数量为0是将订单状态表的状态改为已检验
                List<InsProduct> insProducts = insProductMapper.selectList(Wrappers.<InsProduct>lambdaQuery().in(InsProduct::getInsSampleId, sampleIds).isNull(InsProduct::getInsResult).eq(InsProduct::getSonLaboratory, insProduct.getSonLaboratory()));
                insProducts.forEach(insProduct1 -> {
                    System.out.println(insProduct1.getInsResult());
                    System.out.println(insProduct1.getId());
                });
                if (count == 0) {
                    insOrderStateMapper.update(new InsOrderState(), Wrappers.<InsOrderState>lambdaUpdate()
                            .eq(InsOrderState::getInsOrderId, orderId)
                            .eq(InsOrderState::getLaboratory, insProduct.getSonLaboratory())
                            .set(InsOrderState::getInsState, 2));
                }
            }
        }).exceptionally(e -> {
            e.printStackTrace();
            return null;
@@ -379,6 +406,7 @@
                            if ("参数".equals(v.get("v"))) delSet.add(jo1.get("c") + "");
                        }
                    }
                    // TODO: 2024/5/5 下列循环缺少word合并单元格的操作
                    for (int i = 0; i < temp.size(); i++) {
                        JSONObject jo1 = temp.get(i);
                        TextRenderData textRenderData = new TextRenderData();
@@ -590,7 +618,7 @@
                product.setTemplate(new ArrayList<>());
                continue;
            }
            if (set.add(product.getTemplateId())) {
            if (product.getTemplateId() != null && set.add(product.getTemplateId())) {
                map2.put(product.getTemplateId(), standardTemplateService.getStandTempThingById(product.getTemplateId()) + "");
            }
            String thing = map2.get(product.getTemplateId());
@@ -603,6 +631,7 @@
                style.put("columnlen", config.get("columnlen"));
                product.setTemplate(cellData);
                product.setStyle(style);
                product.setTemplateName(standardTemplateService.getStandTempNameById(product.getTemplateId()));
            }
        }
    }