| | |
| | | private ShiftTimeMapper shiftTimeMapper; |
| | | @Resource |
| | | private PerformanceShiftMapper performanceShiftMapper; |
| | | @Resource |
| | | private WarehouseHistoryMapper warehouseHistoryMapper; |
| | | |
| | | @Value("${wordUrl}") |
| | | private String wordUrl; |
| | |
| | | public boolean claimInsOrderPlan(InsOrderPlanDTO entity) { |
| | | if (Objects.isNull(entity)) { |
| | | return false; |
| | | } |
| | | /*认领需要判断该样品是否在库*/ |
| | | //查询样品id |
| | | List<Integer> sampleIds = insSampleMapper.selectList(Wrappers.<InsSample>lambdaQuery() |
| | | .eq(InsSample::getInsOrderId, entity.getInsSampleId())).stream().map(InsSample::getId).collect(Collectors.toList()); |
| | | for (Integer samId : sampleIds) { |
| | | //入库次数 |
| | | Long inCount = warehouseHistoryMapper.selectCount(Wrappers.<WarehouseHistory>lambdaQuery() |
| | | .eq(WarehouseHistory::getState, 1) |
| | | .eq(WarehouseHistory::getInsSampleId, samId)); |
| | | //出库次数 |
| | | Long outCount = warehouseHistoryMapper.selectCount(Wrappers.<WarehouseHistory>lambdaQuery() |
| | | .eq(WarehouseHistory::getState, 2) |
| | | .eq(WarehouseHistory::getInsSampleId, samId)); |
| | | if (inCount > 0 && inCount > outCount) { |
| | | //入库 |
| | | } else { |
| | | throw new ErrorException("所选的样品库存不足,请检查入库和出库记录!"); |
| | | } |
| | | } |
| | | Map<String, Integer> map1 = getLook.selectPowerByMethodAndUserId(null); |
| | | Integer userId = map1.get("userId"); |
| | |
| | | //这里的insSamples是订单下的所有样品包括("/") |
| | | List<InsSample> samples = insSampleMapper.selectList(Wrappers.<InsSample>lambdaQuery().eq(InsSample::getInsOrderId, orderId)); |
| | | for (InsSample insSample : samples) { |
| | | List<InsProduct> insProducts = insProductMapper.selectList(Wrappers.<InsProduct>lambdaQuery().eq(InsProduct::getInsSampleId, insSample.getId()).eq(InsProduct::getState, 1)); |
| | | List<InsProduct> insProducts = insProductMapper.selectList(Wrappers.<InsProduct>lambdaQuery() |
| | | .eq(InsProduct::getInsSampleId, insSample.getId()) |
| | | .eq(InsProduct::getSonLaboratory, laboratory) |
| | | .eq(InsProduct::getState, 1)); |
| | | List<Integer> results = insProducts.stream().map(InsProduct::getInsResult).filter(str -> str != null).collect(Collectors.toList()); |
| | | if (results.contains(0)) { |
| | | insSample.setInsResult(0); |
| | |
| | | /*type=0 再次试验; type=1 继续试验 ; type=2 结束试验*/ |
| | | switch (type) { |
| | | case 0: |
| | | /*再次试验:系统自动在此站台再次创建一次检验任务;*/ |
| | | /*再次试验:该单子退回到检验状态(排序改成当前的最后);*/ |
| | | //更新原来的检验任务 |
| | | // 查询根据 id 倒序排列的第一条记录 |
| | | InsOrderState record = insOrderStateMapper.selectOne(Wrappers.<InsOrderState>lambdaQuery() |
| | |
| | | .set(InsOrderState::getInsTime, now) |
| | | .set(InsOrderState::getInsState, 4) |
| | | .set(InsOrderState::getVerifyTell, tell) |
| | | .set(InsOrderState::getVerifyUser, userId)); |
| | | .set(InsOrderState::getVerifyUser, userId) |
| | | .set(InsOrderState::getCreateTime, LocalDateTime.now())); |
| | | } |
| | | //新建检验任务 |
| | | /* InsOrderState orderState = new InsOrderState(); |
| | | orderState.setInsOrderId(orderId); |
| | | orderState.setLaboratory(laboratory); |
| | | orderState.setInsState(0); |
| | | insOrderStateMapper.insert(orderState);*/ |
| | | break; |
| | | case 1: |
| | | //继续试验:则继续将检验任务转接至下一站点; |
| | |
| | | .in(InsProduct::getInsSampleId, ids) |
| | | .eq(InsProduct::getState, 1)); |
| | | List<Integer> list = new ArrayList<>(); |
| | | list.add(4);list.add(5);list.add(6); |
| | | list.add(4); |
| | | list.add(5); |
| | | list.add(6); |
| | | List<InsOrderState> insOrderStates = insOrderStateMapper.selectList(Wrappers.<InsOrderState>lambdaQuery() |
| | | .eq(InsOrderState::getInsOrderId, orderId) |
| | | .in(InsOrderState::getInsState, list)); |
| | |
| | | cells.add(cellRenderData); |
| | | } else { |
| | | //第七列 |
| | | if (a.getInsProduct().get(i - 2).getInsResult() == 0) { |
| | | textRenderData.setText("×"); |
| | | if (ObjectUtils.isEmpty(a.getInsProduct().get(i - 2).getInsResult())) { |
| | | textRenderData.setText("-"); |
| | | } else if (a.getInsProduct().get(i - 2).getInsResult() == 1) { |
| | | textRenderData.setText("√"); |
| | | } else if (a.getInsProduct().get(i - 2).getInsResult() == 0) { |
| | | textRenderData.setText("×"); |
| | | } else { |
| | | textRenderData.setText("-"); |
| | | } |
| | |
| | | if (ObjectUtils.isEmpty(signatureUrl) || signatureUrl.equals("")) { |
| | | throw new ErrorException("找不到检验人的签名"); |
| | | } |
| | | //Custom custom = customMapper.selectById(user.get("company")); |
| | | Custom custom = customMapper.selectById(insOrder.getCompanyId()); |
| | | if (!resultCh.get().equals("")) { |
| | | resultCh.set("依据委托要求," + resultCh.get().replaceFirst("、", "") + "等所检项目不符合要求,其余所检项目均符合要求。"); |
| | |
| | | insSampleUser.setState(1); |
| | | insSampleUser.setSonLaboratory(laboratory); |
| | | insSampleUserMapper.insert(insSampleUser); |
| | | /*如果是C类订单且是下发到质量部,则直接复核通过*/ |
| | | /*如果是C类订单且是下发到质量部,则直接复核通过(结束试验)*/ |
| | | InsOrder insOrder = insOrderMapper.selectById(orderId); |
| | | if (insOrder.getOrderType().equals("C") && insOrder.getDepartmentLims().equals("质量部")) { |
| | | verifyPlan(orderId, laboratory, 1, null); |
| | | verifyPlan(orderId, laboratory, 2, null); |
| | | } |
| | | /*校验一下result表*/ |
| | | CompletableFuture.supplyAsync(() -> { |