From b8b017c64b4b05a596b95406fed7b1af9f4c6ba8 Mon Sep 17 00:00:00 2001 From: 啊鑫 <t2856754968@163.com> Date: 星期一, 26 五月 2025 20:07:28 +0800 Subject: [PATCH] 添加srm与U9订单数据的对比 --- src/main/java/com/gs/xky/service/Impl/DeliveryNoticeServiceImpl.java | 53 ++++++++++++++++++++++++++++++++++++++++++++++------- 1 files changed, 46 insertions(+), 7 deletions(-) diff --git a/src/main/java/com/gs/xky/service/Impl/DeliveryNoticeServiceImpl.java b/src/main/java/com/gs/xky/service/Impl/DeliveryNoticeServiceImpl.java index 27cb974..01c0d13 100644 --- a/src/main/java/com/gs/xky/service/Impl/DeliveryNoticeServiceImpl.java +++ b/src/main/java/com/gs/xky/service/Impl/DeliveryNoticeServiceImpl.java @@ -10,15 +10,18 @@ import com.gs.xky.dto.XkyDetail; import com.gs.xky.entity.DeliveryNotice; import com.gs.xky.entity.DeliveryNoticeDetail; +import com.gs.xky.entity.MesInvItemArn; import com.gs.xky.mapper.DeliveryNoticeMapper; import com.gs.xky.service.DeliveryNoticeDetailService; import com.gs.xky.service.DeliveryNoticeService; +import com.gs.xky.service.MesInvItemArnService; import lombok.RequiredArgsConstructor; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import java.util.ArrayList; import java.util.List; +import java.util.stream.Collectors; /** * @author 28567 @@ -33,6 +36,8 @@ private final DeliveryNoticeDetailService detailService; + private final MesInvItemArnService invItemArnService; + @Override public boolean saveDeliveryNotice(XkyDetail xkyDetail) { @@ -41,13 +46,19 @@ wrapper.eq(DeliveryNotice::getDeliveryNo, xkyDetail.getDeliveryNo()); - long count = count(wrapper); +// long count = count(wrapper); + DeliveryNotice one = getOne(wrapper, false); - if (count > 0) { + if (one != null) { LambdaUpdateWrapper<DeliveryNotice> updateWrapper = new LambdaUpdateWrapper<>(); updateWrapper.eq(DeliveryNotice::getDeliveryNo, xkyDetail.getDeliveryNo()); remove(updateWrapper); + + LambdaUpdateWrapper<DeliveryNoticeDetail> updateWrapper1 = new LambdaUpdateWrapper<>(); + updateWrapper1.eq(DeliveryNoticeDetail::getPid, one.getId()); + detailService.remove(updateWrapper1); } + DeliveryNotice deliveryNotice = new DeliveryNotice(); BeanUtil.copyProperties(xkyDetail, deliveryNotice); @@ -62,7 +73,9 @@ } List<DeliveryNoticeDetail> noticeDetails = new ArrayList<>(); - for (LineList list : lineList) { + + List<LineList> collect = lineList.stream().filter(s -> "1".equals(s.getStatus())).collect(Collectors.toList()); + for (LineList list : collect) { DeliveryNoticeDetail detail = new DeliveryNoticeDetail(); BeanUtil.copyProperties(list, detail); detail.setPid(id); @@ -70,7 +83,7 @@ if (StrUtil.isNotEmpty(detail.getPoLineNo())) { String[] split = detail.getPoLineNo().split("-"); detail.setPoLineNo(split[0]); - detail.setPlanLineNo(split[1]); + detail.setPlanLineNo(split[1] + "-" + detail.getDeliveryQty()); } noticeDetails.add(detail); @@ -83,8 +96,34 @@ public void callPdaReceiptBtn(String inStr, String result) { baseMapper.callPdaReceiptBtn(inStr, result); } -} + + @Override + public Integer processMesInvItemArnStatus(String factory, String company, String userCode, Long id) { + Integer poResult = 1; + String poText = ""; + + // 璋冪敤瀛樺偍杩囩▼ + baseMapper.callPrcMesInvItemArnStatus22(factory, company, userCode, id, poResult, poText); + + // 杩斿洖缁撴灉 + return poResult; + } + + // - - + @Override + public void processMesInvItemArnStatusAsync(List<MesInvItemArn> itemArnMinus) { + // 閬嶅巻姣忎釜 itemArn + itemArnMinus.forEach(itemArn -> { + try { + // 澶勭悊姣忎釜 itemArn + processMesInvItemArnStatus("1000", "1000", "PL017", itemArn.getId()); + } catch (Exception e) { + // 澶勭悊寮傚父锛屼緥濡傝褰曟棩蹇� + System.err.println("Error processing itemArn: " + itemArn.getId()); + e.printStackTrace(); + } + }); + } +} \ No newline at end of file -- Gitblit v1.9.3