From edd98c54519f1f36fb561bdc1cb7aa33c6d68530 Mon Sep 17 00:00:00 2001 From: 朱佳吉 <1527963051@qq.com> Date: 星期二, 07 五月 2024 17:35:17 +0800 Subject: [PATCH] 通过pid获取检验单当前试验室所有项目是否有检验结果后进行判断检验单是否更改成"已检"状态 --- cnas-server/src/main/java/com/yuanchu/mom/controller/DeviceController.java | 2 -- inspect-server/src/main/java/com/yuanchu/mom/service/impl/InsOrderPlanServiceImpl.java | 26 ++++++++++++++++++++++---- 2 files changed, 22 insertions(+), 6 deletions(-) diff --git a/cnas-server/src/main/java/com/yuanchu/mom/controller/DeviceController.java b/cnas-server/src/main/java/com/yuanchu/mom/controller/DeviceController.java index 2cfc3af..9ad8cfc 100644 --- a/cnas-server/src/main/java/com/yuanchu/mom/controller/DeviceController.java +++ b/cnas-server/src/main/java/com/yuanchu/mom/controller/DeviceController.java @@ -30,8 +30,6 @@ @RestController @RequestMapping("/deviceScope") public class DeviceController { - - @Resource private DeviceService deviceService; diff --git a/inspect-server/src/main/java/com/yuanchu/mom/service/impl/InsOrderPlanServiceImpl.java b/inspect-server/src/main/java/com/yuanchu/mom/service/impl/InsOrderPlanServiceImpl.java index 6d58dd7..b4b7cfd 100644 --- a/inspect-server/src/main/java/com/yuanchu/mom/service/impl/InsOrderPlanServiceImpl.java +++ b/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; @@ -245,9 +246,27 @@ }).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.<>) + InsProduct insProduct = insProductMapper.selectById(pId); + // 閫氳繃pId 鑾峰彇褰撳墠鏍锋湰id + int sampleId = insProductMapper.selectById(pId).getInsSampleId(); + // 閫氳繃鏍锋湰id鑾峰彇璁㈠崟id + int orderId = insSampleMapper.selectById(sampleId).getInsOrderId(); + // 閫氳繃璁㈠崟id鏌ユ壘鎵�鏈夋牱鏈琲d + List<Integer> sampleIds = insSampleMapper.selectList(Wrappers.<InsSample>lambdaQuery().eq(InsSample::getInsOrderId, orderId)).stream().map(InsSample::getId).collect(Collectors.toList()); + // 閫氳繃妫�鏌ユ瘡涓�涓牱鏈琲d鏌ュ埌灞炰簬妫�楠岄」缁撹 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(); @@ -272,7 +291,6 @@ 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()); -- Gitblit v1.9.3