From ad0f65d55969adf8bde9a6b4d11874bb4ba952e0 Mon Sep 17 00:00:00 2001 From: 啊鑫 <t2856754968@163.com> Date: 星期五, 23 五月 2025 15:01:06 +0800 Subject: [PATCH] 添加定时任务 --- src/main/java/com/gs/xiaomi/service/XM104Service.java | 54 +++++++++++++++++++++++++++++++++++++++++++++++++++++- 1 files changed, 53 insertions(+), 1 deletions(-) diff --git a/src/main/java/com/gs/xiaomi/service/XM104Service.java b/src/main/java/com/gs/xiaomi/service/XM104Service.java index cf60c9d..c02b80f 100644 --- a/src/main/java/com/gs/xiaomi/service/XM104Service.java +++ b/src/main/java/com/gs/xiaomi/service/XM104Service.java @@ -5,6 +5,8 @@ import cn.hutool.core.collection.CollUtil; import cn.hutool.core.date.DateUtil; import com.alibaba.fastjson.JSON; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper; import com.gs.xiaomi.config.DataAcquisitionConfiguration; import com.gs.xiaomi.dto.*; import com.gs.xiaomi.entity.DeliveryDetail; @@ -20,6 +22,11 @@ import java.util.ArrayList; import java.util.Date; import java.util.List; +import java.util.Map; +import java.util.concurrent.ConcurrentHashMap; +import java.util.function.Function; +import java.util.function.Predicate; +import java.util.stream.Collectors; @Service @Transactional(rollbackFor = Exception.class) @@ -73,7 +80,9 @@ //鑾峰彇鎵�鏈夌殑ASN鍙� List<EtHeader> etHeaders = deliveryNo.getEtHeaders(); - etHeaders.forEach(etHeader -> { + List<EtHeader> collect = etHeaders.stream().filter(distinctByKey(EtHeader::getZzasn)).collect(Collectors.toList()); + + collect.forEach(etHeader -> { log.info("1.鑾峰彇鍒伴�佽揣鍗曞彿: {}", etHeader.getZzasn()); @@ -114,10 +123,39 @@ return bizDocumentResult; } + private <T> Predicate<T> distinctByKey(Function<? super T, ?> keyExtractor) { + Map<Object, Boolean> seen = new ConcurrentHashMap<>(); + return t -> seen.putIfAbsent(keyExtractor.apply(t), Boolean.TRUE) == null; + } + private void setDeliveryMain(BizDocumentResult result) { List<EtHeader> etHeaders = result.getEtHeaders(); etHeaders.forEach(etHeader -> { + + LambdaQueryWrapper<DeliveryMain> queryWrapper = new LambdaQueryWrapper<>(); + queryWrapper.eq(DeliveryMain::getZzasn, etHeader.getZzasn()); + + DeliveryMain one = deliveryMainService.getOne(queryWrapper, false); + + if (one != null) { + deliveryMainService.removeById(one.getId()); + + LambdaUpdateWrapper<DeliveryDetail> updateWrapper = new LambdaUpdateWrapper<>(); + updateWrapper.eq(DeliveryDetail::getPid, one.getId()); + deliveryDetailService.remove(updateWrapper); + + //PackageDetail + LambdaUpdateWrapper<PackageDetail> updateWrapper1 = new LambdaUpdateWrapper<>(); + updateWrapper1.eq(PackageDetail::getPid, one.getId()); + packageDetailService.remove(updateWrapper1); + + //LogisticsPackage + LambdaUpdateWrapper<LogisticsPackage> updateWrapper2 = new LambdaUpdateWrapper<>(); + updateWrapper2.eq(LogisticsPackage::getPid, one.getId()); + logisticsPackageService.remove(updateWrapper2); + } + DeliveryMain deliveryMain = new DeliveryMain(); BeanUtil.copyProperties(etHeader, deliveryMain); @@ -170,6 +208,7 @@ } + deliveryMainService.callPdaReceiptBtn("閫佽揣鍗曠鏀禰BTNOK[PL017[" + etHeader.getZzasn(), ""); }); } @@ -188,4 +227,17 @@ return false; } } + + public boolean manualSynchronizationByDate(NumbericalDto numbericalDto) { + try { + BizDocument doc = new BizDocument(); + doc.setLifnr(DataAcquisitionConfiguration.LIFNR); + doc.setBizDate(numbericalDto.getDate()); + getXM104(doc); + return true; + } catch (Exception e) { + log.error("銆愭墜鍔ㄨ鍙朅SN寮傚父銆� 寮傚父: {}", e.getMessage(), e); + return false; + } + } } \ No newline at end of file -- Gitblit v1.9.3