From 42f100fd585220bf5e3bddc6417b114f49cc2ba7 Mon Sep 17 00:00:00 2001 From: "1378012178@qq.com" <1378012178@qq.com> Date: Wed, 10 Dec 2025 14:08:50 +0800 Subject: [PATCH] =?UTF-8?q?pad=E6=8E=A5=E5=8F=A3-=E8=AF=B7=E9=A2=86?= =?UTF-8?q?=E5=8D=95-=E5=87=BA=E5=BA=93=EF=BC=9A=E5=A6=82=E6=9E=9C?= =?UTF-8?q?=E8=AF=B7=E9=A2=86=E7=9A=84=E7=89=A9=E5=93=81=E6=95=B0=E9=87=8F?= =?UTF-8?q?=E5=A4=A7=E4=BA=8E=E5=BA=93=E6=88=BF=E5=BA=93=E5=AD=98=E6=95=B0?= =?UTF-8?q?=E9=87=8F=E5=88=99=E8=BF=94=E5=9B=9E=E5=A4=B1=E8=B4=A5=E7=BB=93?= =?UTF-8?q?=E6=9E=9C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../qld/service/impl/QingLingServiceImpl.java | 32 ++++++++++++++++++- 1 file changed, 31 insertions(+), 1 deletion(-) diff --git a/nursing-unit-invoicing/nu-invoicing-biz/src/main/java/com/nu/modules/qld/service/impl/QingLingServiceImpl.java b/nursing-unit-invoicing/nu-invoicing-biz/src/main/java/com/nu/modules/qld/service/impl/QingLingServiceImpl.java index a7625a83..d1d8a35a 100644 --- a/nursing-unit-invoicing/nu-invoicing-biz/src/main/java/com/nu/modules/qld/service/impl/QingLingServiceImpl.java +++ b/nursing-unit-invoicing/nu-invoicing-biz/src/main/java/com/nu/modules/qld/service/impl/QingLingServiceImpl.java @@ -1,6 +1,7 @@ package com.nu.modules.qld.service.impl; import cn.hutool.core.bean.BeanUtil; +import cn.hutool.core.text.StrBuilder; import com.alibaba.fastjson.JSONObject; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper; @@ -772,13 +773,42 @@ public class QingLingServiceImpl implements IQinglingApi { String cannotHandleQldNos = Arrays.stream(qldNosArr) .filter(qldNo -> !invoicingQldLogService.opeNodeJudgeCanStatus(qldNo, "1")) .collect(Collectors.joining(",")); + //检测库房物料数量是否满足请领需求 + { + //出库物料汇总 + InvoicingQldQueryEntity q_ = new InvoicingQldQueryEntity(); + q_.setQldNo(dto.getQldNo()); + List qldInfoList = invoicingQldInfoMapper.queryWlInfo(q_); + //库房物料存量 + List kfnumList = warehouseMaterialInfoService.list(); + Map qldWlNumMap = kfnumList.stream() + .collect(Collectors.toMap(BlWarehouseMaterialInfo::getWlId, BlWarehouseMaterialInfo::getKcsl)); + StrBuilder errorWl = new StrBuilder(); + for (int i = 0; i < qldInfoList.size(); i++) { + InvoicingQldInfoEntity item = qldInfoList.get(i); + if (qldWlNumMap.get(item.getWlId()) == null || item.getQlNum() > Integer.parseInt(qldWlNumMap.get(item.getWlId()))) { + //请领数量大于库房存量的 + if (errorWl.length() > 0) { + errorWl.append("、"); + } + errorWl.append(item.getMaterialInfo().getMaterialName()); + } + } + if (!errorWl.isEmpty()) { + map.put("status", "faild"); + map.put("message", "以下物料库存不足,无法出库:" + errorWl); + return map; + } + } + //本次处理单号中 - 可正常出库单号 String normalQldNos = Arrays.stream(qldNosArr) .filter(qldNo -> !cannotHandleQldNos.contains(qldNo)) .collect(Collectors.joining(",")); if (StringUtils.isBlank(normalQldNos)) { map.put("status", "faild"); - map.put("faildQldNos", cannotHandleQldNos); + map.put("message", "单据错误,请刷新页面"); +// map.put("faildQldNos", cannotHandleQldNos); return map; }