From f9d3ff54fe51a66902fa29ece2cf1d72cb1f2890 Mon Sep 17 00:00:00 2001 From: shenzhouyu Date: Fri, 23 Oct 2026 16:27:19 +0800 Subject: [PATCH] =?UTF-8?q?=E6=B7=BB=E5=8A=A0hu=E8=87=AA=E5=8A=A8=E5=8F=91?= =?UTF-8?q?=E6=96=99=E7=9A=84instockflag=E6=94=B9=E6=88=90N=E7=9A=84?= =?UTF-8?q?=E9=80=BB=E8=BE=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../service/impl/AutoIssueServiceImpl.java | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) diff --git a/src/main/java/com/gaotao/modules/production/service/impl/AutoIssueServiceImpl.java b/src/main/java/com/gaotao/modules/production/service/impl/AutoIssueServiceImpl.java index 2855452a..fae1ad62 100644 --- a/src/main/java/com/gaotao/modules/production/service/impl/AutoIssueServiceImpl.java +++ b/src/main/java/com/gaotao/modules/production/service/impl/AutoIssueServiceImpl.java @@ -3,6 +3,8 @@ package com.gaotao.modules.production.service.impl; import com.gaotao.common.exception.XJException; import com.gaotao.modules.api.entity.issueAndReturnVo.IssueShopOrderDto; import com.gaotao.modules.api.service.IfsApiIssueAndReturnService; +import com.gaotao.modules.handlingunit.entity.HandlingUnit; +import com.gaotao.modules.handlingunit.service.HandlingUnitService; import com.gaotao.modules.production.entity.dto.AutoIssueFailureDto; import com.gaotao.modules.production.entity.dto.AutoIssueHandlingUnitDto; import com.gaotao.modules.production.entity.dto.AutoIssueRequestDto; @@ -14,6 +16,7 @@ import org.apache.commons.lang.StringUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; +import java.util.Date; import java.util.List; @Slf4j @@ -25,6 +28,9 @@ public class AutoIssueServiceImpl implements AutoIssueService { @Autowired private IfsApiIssueAndReturnService ifsApiIssueAndReturnService; + @Autowired + private HandlingUnitService handlingUnitService; + @Override public AutoIssueResultDto autoIssue(AutoIssueRequestDto requestDto) { AutoIssueResultDto resultDto = new AutoIssueResultDto(); @@ -40,6 +46,7 @@ public class AutoIssueServiceImpl implements AutoIssueService { try { validateHandlingUnit(handlingUnit); ifsApiIssueAndReturnService.addShopOrderManualIssue(buildIssueDto(shopOrder, handlingUnit)); + markHandlingUnitIssued(shopOrder.getSite(), getLabelCode(handlingUnit)); resultDto.setSuccessCount(resultDto.getSuccessCount() + 1); } catch (Exception e) { resultDto.setFailCount(resultDto.getFailCount() + 1); @@ -135,6 +142,18 @@ public class AutoIssueServiceImpl implements AutoIssueService { return StringUtils.isBlank(value) ? defaultValue : value; } + private void markHandlingUnitIssued(String site, String unitId) { + boolean updated = handlingUnitService.lambdaUpdate() + .set(HandlingUnit::getInStockFlag, "N") + .set(HandlingUnit::getModifiedDate, new Date()) + .eq(HandlingUnit::getSite, site) + .eq(HandlingUnit::getUnitId, unitId) + .update(); + if (!updated) { + throw new XJException("IFS发料成功但更新handling_unit.in_stock_flag失败, site=" + site + ", unitId=" + unitId); + } + } + private void sleepAfterIfsCall() { try { Thread.sleep(IFS_CALL_INTERVAL_MS);