This commit is contained in:
lsymicc
2025-12-10 09:32:28 +08:00
parent f80481c93d
commit 999c2bdc54
7 changed files with 76 additions and 40 deletions

View File

@@ -202,10 +202,15 @@ public class ReceiveStockinServiceImpl implements IReceiveStockinService
try {
List<String> stockinGuidList = receiveStockCreateInVo.getStockinGuidList();
if (CollUtil.isNotEmpty(stockinGuidList)){
//遍历所有符合条件【guid】的收货单据
for (String receiveStockinGuid : stockinGuidList) {
//通过【guid】获取主单
ReceiveStockin receiveStockin = selectReceiveStockinByStockinGuid(receiveStockinGuid);
//设置主单明细【guid】
ReceiveStockinDetail receiveStockinDetailParam = new ReceiveStockinDetail();
receiveStockinDetailParam.setStockinGuid(receiveStockinGuid);
//获取每个单据的子单明细
List<ReceiveStockinDetail> list = iReceiveStockinDetailService.selectReceiveStockinDetailList(receiveStockinDetailParam);
if (CollUtil.isNotEmpty(list)){
Optional<ReceiveStockinDetail> first = list.stream().filter(x -> x.getStockStatus().equals("0")).findFirst();
@@ -215,6 +220,7 @@ public class ReceiveStockinServiceImpl implements IReceiveStockinService
return AjaxResult.error(MessageUtils.message("error.message29"));
}
//生成基于收货单据属性的入库单据属性
InStockin inStockin = getInStockinByReceiveStockin(receiveStockin);
//插入入库单据
inStockinServicel.insertInStockin(inStockin);

View File

@@ -81,20 +81,23 @@ public class ReceiveStockinDetailServiceImpl implements IReceiveStockinDetailSer
@Transactional(rollbackFor = Exception.class)
public int updateReceiveStockinDetail(ReceiveStockinDetail receiveStockinDetail) {
try {
receiveStockinDetailMapper.updateReceiveStockinDetail(receiveStockinDetail);
//更新指定收货子单
receiveStockinDetailMapper.updateReceiveStockinDetail(receiveStockinDetail);
ReceiveStockinDetail receiveStockinDetail1 = new ReceiveStockinDetail();
receiveStockinDetail1.setStockinId(receiveStockinDetail.getStockinGuid());
List<ReceiveStockinDetail> receiveStockinDetails = receiveStockinDetailMapper.selectReceiveStockinDetailList(receiveStockinDetail1);
//过滤掉receiveStockinDetails中stockStatus等于1的数据
//过滤掉receiveStockinDetails中【stockStatus】等于1的数据
receiveStockinDetails = receiveStockinDetails.stream()
.filter(detail -> !"1".equals(detail.getStockStatus()))
.collect(Collectors.toList());
if (receiveStockinDetails.isEmpty()) {
ReceiveStockCreateInVo receiveStockCreateInVo = new ReceiveStockCreateInVo();
List<String> strings = new ArrayList<>();
strings.add(receiveStockinDetail.getStockinGuid());
receiveStockCreateInVo.setStockinGuidList(strings);
List<String> guids = new ArrayList<>();
guids.add(receiveStockinDetail.getStockinGuid());
receiveStockCreateInVo.setStockinGuidList(guids);
receiveStockinService.createStockin(receiveStockCreateInVo);
}
} catch (Exception e) {