value
2024-05-06 3015dec07ec03ee07e48915eae059b9f8c1b8433
inspect-server/src/main/java/com/yuanchu/mom/service/impl/InsOrderPlanServiceImpl.java
@@ -141,7 +141,6 @@
    }
    @Override
    @Transactional(rollbackFor = Exception.class)
    public void saveInsContext(Map<String, Object> insContext) {
        Integer userId = getLook.selectPowerByMethodAndUserId(null).get("userId");
        CompletableFuture.supplyAsync(() -> {
@@ -173,7 +172,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 +183,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 +241,14 @@
                }
                insSampleMapper.updateById(insSample);
            });
            return null;
            return insContext.keySet().stream().findFirst().orElse(null);
        }).thenAccept(res -> {
            if(res!=null){
                int pId = Integer.parseInt(res.replaceAll("\\D+", ""));
                // TODO: 2024/5/4 【前置】需要通过pid获取检验单当前试验室所有项目是否有检验结果后进行判断检验单是否更改成“已检”状态;前置完成后可能会导致复核接口判断是否产生报告的逻辑错误
//                InsProduct insProduct = insProductMapper.selectById(pId);
//                insSampleMapper.selectList(Wrappers.<>)
            }
        }).exceptionally(e -> {
            e.printStackTrace();
            return null;
@@ -264,6 +272,7 @@
        insOrderStateMapper.update(null, Wrappers.<InsOrderState>lambdaUpdate().eq(InsOrderState::getInsOrderId, orderId).eq(InsOrderState::getLaboratory, laboratory).set(InsOrderState::getInsTime, now).set(InsOrderState::getInsState, num).set(InsOrderState::getVerifyTell, tell).set(InsOrderState::getVerifyUser, getLook.selectPowerByMethodAndUserId(null).get("userId")));
        List<InsOrderState> insOrderStates = insOrderStateMapper.selectList(Wrappers.<InsOrderState>lambdaQuery().eq(InsOrderState::getInsOrderId, orderId));
        long count = insOrderStates.stream().filter(a -> a.getInsState() == 5).count();
        // TODO: 2024/5/5 【后置】报告是否生成的判断可能会因为前置操作导致永远判断不通过
        if (count == insOrderStates.size() && num == 5) {
            InsOrder insOrder = insOrderMapper.selectById(orderId);
            Map<String, String> user = insProductMapper.selectUserById(insOrder.getUserId());
@@ -379,6 +388,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();