From fc7364cc99d6099eb916d81c8f1f7cad1cda93e2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=BC=A0=E6=80=A1=E8=93=89?= <377046077@qq.com> Date: Mon, 16 Jun 2025 10:56:10 +0800 Subject: [PATCH] =?UTF-8?q?=E6=89=8B=E6=8C=81=E6=9C=BA=E9=83=A8=E5=88=86?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../impl/ReceiveStockinDetailServiceImpl.java | 58 +++++++++++++------ 1 file changed, 41 insertions(+), 17 deletions(-) diff --git a/ruoyi-admin/src/main/java/com/ruoyi/receive/stockindetail/service/impl/ReceiveStockinDetailServiceImpl.java b/ruoyi-admin/src/main/java/com/ruoyi/receive/stockindetail/service/impl/ReceiveStockinDetailServiceImpl.java index 4e3dfa7..a1c59fe 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/receive/stockindetail/service/impl/ReceiveStockinDetailServiceImpl.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/receive/stockindetail/service/impl/ReceiveStockinDetailServiceImpl.java @@ -1,13 +1,19 @@ package com.ruoyi.receive.stockindetail.service.impl; +import java.util.ArrayList; import java.util.List; +import java.util.stream.Collectors; import cn.hutool.core.collection.CollUtil; import cn.hutool.json.JSONUtil; import com.ruoyi.common.core.domain.AjaxResult; import com.ruoyi.common.domain.ExtraField; +import com.ruoyi.in.stockin.domain.InStockin; +import com.ruoyi.receive.stockin.domain.ReceiveStockin; +import com.ruoyi.receive.stockin.domain.vo.ReceiveStockCreateInVo; import com.ruoyi.receive.stockin.domain.vo.ReceiveStockDetailQualityInsVo; import com.ruoyi.receive.stockin.domain.vo.ReceiveStockQualityInsVo; +import com.ruoyi.receive.stockin.service.IReceiveStockinService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import com.ruoyi.receive.stockindetail.mapper.ReceiveStockinDetailMapper; @@ -22,10 +28,12 @@ import org.springframework.transaction.annotation.Transactional; * @date 2025-05-20 */ @Service -public class ReceiveStockinDetailServiceImpl implements IReceiveStockinDetailService -{ +public class ReceiveStockinDetailServiceImpl implements IReceiveStockinDetailService { @Autowired private ReceiveStockinDetailMapper receiveStockinDetailMapper; + @Autowired + private IReceiveStockinService receiveStockinService; + /** * 查询收货单据子单 @@ -34,8 +42,7 @@ public class ReceiveStockinDetailServiceImpl implements IReceiveStockinDetailSer * @return 收货单据子单 */ @Override - public ReceiveStockinDetail selectReceiveStockinDetailByStockinDetailId(String stockinDetailId) - { + public ReceiveStockinDetail selectReceiveStockinDetailByStockinDetailId(String stockinDetailId) { return receiveStockinDetailMapper.selectReceiveStockinDetailByStockinDetailId(stockinDetailId); } @@ -46,8 +53,7 @@ public class ReceiveStockinDetailServiceImpl implements IReceiveStockinDetailSer * @return 收货单据子单 */ @Override - public List selectReceiveStockinDetailList(ReceiveStockinDetail receiveStockinDetail) - { + public List selectReceiveStockinDetailList(ReceiveStockinDetail receiveStockinDetail) { return receiveStockinDetailMapper.selectReceiveStockinDetailList(receiveStockinDetail); } @@ -58,8 +64,7 @@ public class ReceiveStockinDetailServiceImpl implements IReceiveStockinDetailSer * @return 结果 */ @Override - public int insertReceiveStockinDetail(ReceiveStockinDetail receiveStockinDetail) - { + public int insertReceiveStockinDetail(ReceiveStockinDetail receiveStockinDetail) { return receiveStockinDetailMapper.insertReceiveStockinDetail(receiveStockinDetail); } @@ -70,9 +75,29 @@ public class ReceiveStockinDetailServiceImpl implements IReceiveStockinDetailSer * @return 结果 */ @Override - public int updateReceiveStockinDetail(ReceiveStockinDetail receiveStockinDetail) - { - return receiveStockinDetailMapper.updateReceiveStockinDetail(receiveStockinDetail); + @Transactional(rollbackFor = Exception.class) + public int updateReceiveStockinDetail(ReceiveStockinDetail receiveStockinDetail) { + try { + receiveStockinDetailMapper.updateReceiveStockinDetail(receiveStockinDetail); + ReceiveStockinDetail receiveStockinDetail1 = new ReceiveStockinDetail(); + receiveStockinDetail1.setStockinId(receiveStockinDetail.getStockinGuid()); + List receiveStockinDetails = receiveStockinDetailMapper.selectReceiveStockinDetailList(receiveStockinDetail1); + //过滤掉receiveStockinDetails中stockStatus等于1的数据 + receiveStockinDetails = receiveStockinDetails.stream() + .filter(detail -> !"1".equals(detail.getStockStatus())) + .collect(Collectors.toList()); + + if (receiveStockinDetails.size() == 0) { + ReceiveStockCreateInVo receiveStockCreateInVo = new ReceiveStockCreateInVo(); + List strings = new ArrayList<>(); + strings.add(receiveStockinDetail.getStockinGuid()); + receiveStockCreateInVo.setStockinGuidList(strings); + receiveStockinService.createStockin(receiveStockCreateInVo); + } + } catch (Exception e) { + throw new RuntimeException(e); + } + return 1; } /** @@ -82,8 +107,7 @@ public class ReceiveStockinDetailServiceImpl implements IReceiveStockinDetailSer * @return 结果 */ @Override - public int deleteReceiveStockinDetailByStockinDetailIds(String[] stockinDetailIds) - { + public int deleteReceiveStockinDetailByStockinDetailIds(String[] stockinDetailIds) { return receiveStockinDetailMapper.deleteReceiveStockinDetailByStockinDetailIds(stockinDetailIds); } @@ -94,8 +118,7 @@ public class ReceiveStockinDetailServiceImpl implements IReceiveStockinDetailSer * @return 结果 */ @Override - public int deleteReceiveStockinDetailByStockinDetailId(String stockinDetailId) - { + public int deleteReceiveStockinDetailByStockinDetailId(String stockinDetailId) { return receiveStockinDetailMapper.deleteReceiveStockinDetailByStockinDetailId(stockinDetailId); } @@ -107,17 +130,18 @@ public class ReceiveStockinDetailServiceImpl implements IReceiveStockinDetailSer @Override @Transactional(rollbackFor = Exception.class) public AjaxResult qualityInspection(ReceiveStockQualityInsVo receiveStockQualityInsVo) { - if (CollUtil.isEmpty(receiveStockQualityInsVo.getList())){ + if (CollUtil.isEmpty(receiveStockQualityInsVo.getList())) { return AjaxResult.error("请选择质检项"); } for (ReceiveStockDetailQualityInsVo receiveStockDetailQualityInsVo : receiveStockQualityInsVo.getList()) { ReceiveStockinDetail receiveStockinDetail = selectReceiveStockinDetailByStockinDetailId(receiveStockDetailQualityInsVo.getStockinDetailId()); - if ("0".equals(receiveStockinDetail.getStockStatus())){ + if (receiveStockinDetail!=null) { receiveStockinDetail.setQuantity(receiveStockDetailQualityInsVo.getQuantity()); receiveStockinDetail.setStockStatus("1"); updateReceiveStockinDetail(receiveStockinDetail); } } + return AjaxResult.success(); } }