From 995a20afe9a2a1a1ea122ef3c4e56b9983957327 Mon Sep 17 00:00:00 2001
From: 啊鑫 <t2856754968@163.com>
Date: 星期二, 15 四月 2025 16:30:04 +0800
Subject: [PATCH] 暴露接口

---
 src/main/java/com/gs/xiaomi/controller/KMController.java |   21 +++++++++++++++++++--
 src/main/java/com/gs/xiaomi/service/XM104Service.java    |   39 +++++++++++++++++++++++++++++++++++++++
 2 files changed, 58 insertions(+), 2 deletions(-)

diff --git a/src/main/java/com/gs/xiaomi/controller/KMController.java b/src/main/java/com/gs/xiaomi/controller/KMController.java
index 6b395e3..7aa0aea 100644
--- a/src/main/java/com/gs/xiaomi/controller/KMController.java
+++ b/src/main/java/com/gs/xiaomi/controller/KMController.java
@@ -17,10 +17,10 @@
     private final XM104Service xm104Service;
 
     @PostMapping("/manualSynByASN")
-    public ResultMessage setCode(@RequestBody NumbericalDto barcode) {
+    public ResultMessage manualSynByASN(@RequestBody NumbericalDto barcode) {
 
         if (barcode.getAsn() == null) {
-            return ResultMessage.error("ASN鍙蜂负绌�");
+            return ResultMessage.error("ASN鍙蜂笉鑳戒负绌�");
         }
 
         try {
@@ -32,4 +32,21 @@
             return ResultMessage.error(e);
         }
     }
+
+    @PostMapping("/manualSynByDate")
+    public ResultMessage manualSynByDate(@RequestBody NumbericalDto barcode) {
+
+        if (barcode.getDate() == null) {
+            return ResultMessage.error("鏃ユ湡涓嶈兘涓虹┖");
+        }
+
+        try {
+            if (!xm104Service.manualSynchronizationByDate(barcode)) {
+                return ResultMessage.error("鍚屾澶辫触");
+            }
+            return ResultMessage.ok();
+        } catch (Exception e) {
+            return ResultMessage.error(e);
+        }
+    }
 }
diff --git a/src/main/java/com/gs/xiaomi/service/XM104Service.java b/src/main/java/com/gs/xiaomi/service/XM104Service.java
index cf60c9d..1fd4385 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;
@@ -118,6 +120,30 @@
         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);
@@ -188,4 +214,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