From 41ee7170ba0d269028e737d2021ed0565022f737 Mon Sep 17 00:00:00 2001
From: skyouc
Date: 星期五, 22 八月 2025 10:00:08 +0800
Subject: [PATCH] 差异单同步 调整单接口同步

---
 rsf-server/src/main/java/com/vincent/rsf/server/api/controller/erp/params/dto/CheckDiffDto.java    |   24 ++++++++
 rsf-server/src/main/java/com/vincent/rsf/server/api/controller/erp/params/dto/TransferInfoDto.java |    2 
 rsf-server/src/main/java/com/vincent/rsf/server/api/service/ReceiveMsgService.java                 |    8 ++
 rsf-server/src/main/java/com/vincent/rsf/server/api/service/impl/ReceiveMsgServiceImpl.java        |   42 +++++++++++--
 rsf-server/src/main/java/com/vincent/rsf/server/api/controller/erp/ErpQueryController.java         |    1 
 rsf-server/src/main/java/com/vincent/rsf/server/api/controller/erp/params/SyncOrderParams.java     |    2 
 rsf-server/src/main/java/com/vincent/rsf/server/api/controller/erp/SyncOrderController.java        |   21 +++++-
 rsf-server/src/main/java/com/vincent/rsf/server/api/controller/erp/params/SyncCheckDiffParams.java |   22 +++++++
 rsf-server/src/main/java/com/vincent/rsf/server/api/controller/erp/params/dto/WkOrderDto.java      |    2 
 9 files changed, 109 insertions(+), 15 deletions(-)

diff --git a/rsf-server/src/main/java/com/vincent/rsf/server/api/controller/erp/ErpQueryController.java b/rsf-server/src/main/java/com/vincent/rsf/server/api/controller/erp/ErpQueryController.java
index 9ae3145..afd0384 100644
--- a/rsf-server/src/main/java/com/vincent/rsf/server/api/controller/erp/ErpQueryController.java
+++ b/rsf-server/src/main/java/com/vincent/rsf/server/api/controller/erp/ErpQueryController.java
@@ -102,4 +102,5 @@
         }
         return receiveMsgService.queryTransfer(queryParams);
     }
+
 }
diff --git a/rsf-server/src/main/java/com/vincent/rsf/server/api/controller/erp/SyncOrderController.java b/rsf-server/src/main/java/com/vincent/rsf/server/api/controller/erp/SyncOrderController.java
index 265a705..3ea5771 100644
--- a/rsf-server/src/main/java/com/vincent/rsf/server/api/controller/erp/SyncOrderController.java
+++ b/rsf-server/src/main/java/com/vincent/rsf/server/api/controller/erp/SyncOrderController.java
@@ -2,10 +2,7 @@
 
 import com.vincent.rsf.framework.common.R;
 import com.vincent.rsf.framework.exception.CoolException;
-import com.vincent.rsf.server.api.controller.erp.params.OrderParams;
-import com.vincent.rsf.server.api.controller.erp.params.SyncLocReviseParams;
-import com.vincent.rsf.server.api.controller.erp.params.SyncOrderParams;
-import com.vincent.rsf.server.api.controller.erp.params.SyncTransferParams;
+import com.vincent.rsf.server.api.controller.erp.params.*;
 import com.vincent.rsf.server.api.service.ReceiveMsgService;
 import com.vincent.rsf.server.common.annotation.OperationLog;
 import com.vincent.rsf.server.common.utils.ExcelUtil;
@@ -189,6 +186,20 @@
     }
 
 
-
+    /**
+     * @author Ryan
+     * @date 2025/8/22
+     * @description: 鐩樼偣宸紓鍗曞悓姝�
+     * @version 1.0
+     */
+    @PostMapping("/sync/check/result")
+    @ApiOperation("鐩樼偣宸紓鍗曞悓姝�")
+    @OperationLog("鐩樼偣宸紓鍗�")
+    public R checkResult(@RequestBody SyncCheckDiffParams syncParams) {
+        if (Objects.isNull(syncParams)) {
+            return R.error("鍙傛暟涓嶈兘涓虹┖锛侊紒");
+        }
+        return receiveMsgService.syncCheckDiffs(syncParams);
+    }
 
 }
diff --git a/rsf-server/src/main/java/com/vincent/rsf/server/api/controller/erp/params/SyncCheckDiffParams.java b/rsf-server/src/main/java/com/vincent/rsf/server/api/controller/erp/params/SyncCheckDiffParams.java
new file mode 100644
index 0000000..77d00f0
--- /dev/null
+++ b/rsf-server/src/main/java/com/vincent/rsf/server/api/controller/erp/params/SyncCheckDiffParams.java
@@ -0,0 +1,22 @@
+package com.vincent.rsf.server.api.controller.erp.params;
+
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+import lombok.experimental.Accessors;
+
+import java.io.Serializable;
+import java.util.List;
+
+@Data
+@Accessors(chain = true)
+@ApiModel(value = "SyncCheckDiffParams", description = "鍚屾鐩樼偣宸紓鍗曞弬鏁�")
+public class SyncCheckDiffParams implements Serializable {
+
+    private static final long serialVersionUID = 1L;
+
+    @ApiModelProperty("宸紓缂栫爜")
+    private List<String> diffCode;
+
+
+}
diff --git a/rsf-server/src/main/java/com/vincent/rsf/server/api/controller/erp/params/SyncOrderParams.java b/rsf-server/src/main/java/com/vincent/rsf/server/api/controller/erp/params/SyncOrderParams.java
index 875a5dc..f2cd6ee 100644
--- a/rsf-server/src/main/java/com/vincent/rsf/server/api/controller/erp/params/SyncOrderParams.java
+++ b/rsf-server/src/main/java/com/vincent/rsf/server/api/controller/erp/params/SyncOrderParams.java
@@ -15,7 +15,7 @@
 
     private static final long serialVersionUID = 1L;
 
-    @ApiModelProperty("鍗曟嵁绫诲瀷{in: 鏀惰揣鍏ュ簱鍗曪紝 out锛氬嚭搴撳崟锛宑heck: 鐩樼偣鍗�, revise: 搴撳瓨璋冩暣  }")
+    @ApiModelProperty("鍗曟嵁绫诲瀷{in: 鏀惰揣鍏ュ簱鍗曪紝 out锛氬嚭搴撳崟锛宑heck: 鐩樼偣鍗�, revise: 搴撳瓨璋冩暣,   }")
     private String type;
 
     @ApiModelProperty("鍗曟嵁鏄庣粏淇℃伅")
diff --git a/rsf-server/src/main/java/com/vincent/rsf/server/api/controller/erp/params/dto/CheckDiffDto.java b/rsf-server/src/main/java/com/vincent/rsf/server/api/controller/erp/params/dto/CheckDiffDto.java
new file mode 100644
index 0000000..f3392fe
--- /dev/null
+++ b/rsf-server/src/main/java/com/vincent/rsf/server/api/controller/erp/params/dto/CheckDiffDto.java
@@ -0,0 +1,24 @@
+package com.vincent.rsf.server.api.controller.erp.params.dto;
+
+import com.vincent.rsf.server.manager.entity.CheckDiff;
+import com.vincent.rsf.server.manager.entity.CheckDiffItem;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+import lombok.experimental.Accessors;
+import lombok.experimental.Delegate;
+
+import java.io.Serializable;
+import java.util.List;
+
+@Data
+@Accessors(chain = true)
+@ApiModel(value = "CheckDiffDto", description = "鐩樼偣宸紓鍗�")
+public class CheckDiffDto implements Serializable {
+
+    @Delegate
+    private CheckDiff checkDiff;
+
+    @ApiModelProperty("宸紓鍗曟槑缁�")
+    List<CheckDiffItem> items;
+}
diff --git a/rsf-server/src/main/java/com/vincent/rsf/server/api/controller/erp/params/TransferInfoDto.java b/rsf-server/src/main/java/com/vincent/rsf/server/api/controller/erp/params/dto/TransferInfoDto.java
similarity index 88%
rename from rsf-server/src/main/java/com/vincent/rsf/server/api/controller/erp/params/TransferInfoDto.java
rename to rsf-server/src/main/java/com/vincent/rsf/server/api/controller/erp/params/dto/TransferInfoDto.java
index 62d8f6b..6e95cc1 100644
--- a/rsf-server/src/main/java/com/vincent/rsf/server/api/controller/erp/params/TransferInfoDto.java
+++ b/rsf-server/src/main/java/com/vincent/rsf/server/api/controller/erp/params/dto/TransferInfoDto.java
@@ -1,4 +1,4 @@
-package com.vincent.rsf.server.api.controller.erp.params;
+package com.vincent.rsf.server.api.controller.erp.params.dto;
 
 import com.vincent.rsf.server.manager.entity.Transfer;
 import com.vincent.rsf.server.manager.entity.TransferItem;
diff --git a/rsf-server/src/main/java/com/vincent/rsf/server/api/controller/erp/params/WkOrderDto.java b/rsf-server/src/main/java/com/vincent/rsf/server/api/controller/erp/params/dto/WkOrderDto.java
similarity index 90%
rename from rsf-server/src/main/java/com/vincent/rsf/server/api/controller/erp/params/WkOrderDto.java
rename to rsf-server/src/main/java/com/vincent/rsf/server/api/controller/erp/params/dto/WkOrderDto.java
index 6e84267..c19c52c 100644
--- a/rsf-server/src/main/java/com/vincent/rsf/server/api/controller/erp/params/WkOrderDto.java
+++ b/rsf-server/src/main/java/com/vincent/rsf/server/api/controller/erp/params/dto/WkOrderDto.java
@@ -1,4 +1,4 @@
-package com.vincent.rsf.server.api.controller.erp.params;
+package com.vincent.rsf.server.api.controller.erp.params.dto;
 
 import com.vincent.rsf.server.manager.entity.WkOrder;
 import com.vincent.rsf.server.manager.entity.WkOrderItem;
diff --git a/rsf-server/src/main/java/com/vincent/rsf/server/api/service/ReceiveMsgService.java b/rsf-server/src/main/java/com/vincent/rsf/server/api/service/ReceiveMsgService.java
index 1dd28c7..665ac32 100644
--- a/rsf-server/src/main/java/com/vincent/rsf/server/api/service/ReceiveMsgService.java
+++ b/rsf-server/src/main/java/com/vincent/rsf/server/api/service/ReceiveMsgService.java
@@ -139,4 +139,12 @@
      * @version 1.0
      */
     R queryTransfer(QueryOrderParam transferParams);
+
+    /**
+     * @author Ryan
+     * @date 2025/8/22
+     * @description: 涓婃姤鐩樼偣宸紓鍗�
+     * @version 1.0
+     */
+    R syncCheckDiffs(SyncCheckDiffParams syncParams);
 }
diff --git a/rsf-server/src/main/java/com/vincent/rsf/server/api/service/impl/ReceiveMsgServiceImpl.java b/rsf-server/src/main/java/com/vincent/rsf/server/api/service/impl/ReceiveMsgServiceImpl.java
index 122f342..f0c4fa6 100644
--- a/rsf-server/src/main/java/com/vincent/rsf/server/api/service/impl/ReceiveMsgServiceImpl.java
+++ b/rsf-server/src/main/java/com/vincent/rsf/server/api/service/impl/ReceiveMsgServiceImpl.java
@@ -9,6 +9,9 @@
 import com.vincent.rsf.framework.common.R;
 import com.vincent.rsf.framework.exception.CoolException;
 import com.vincent.rsf.server.api.controller.erp.params.*;
+import com.vincent.rsf.server.api.controller.erp.params.dto.CheckDiffDto;
+import com.vincent.rsf.server.api.controller.erp.params.dto.TransferInfoDto;
+import com.vincent.rsf.server.api.controller.erp.params.dto.WkOrderDto;
 import com.vincent.rsf.server.common.domain.BaseParam;
 import com.vincent.rsf.server.common.domain.PageParam;
 import com.vincent.rsf.server.manager.controller.dto.LocStockDto;
@@ -16,7 +19,6 @@
 import com.vincent.rsf.server.manager.enums.*;
 import com.vincent.rsf.server.manager.service.*;
 import com.vincent.rsf.server.manager.service.impl.MatnrServiceImpl;
-import com.vincent.rsf.server.manager.service.impl.TransferItemServiceImpl;
 import com.vincent.rsf.server.system.constant.SerialRuleCode;
 import com.vincent.rsf.server.system.entity.Fields;
 import com.vincent.rsf.server.system.service.FieldsItemService;
@@ -24,7 +26,6 @@
 import com.vincent.rsf.server.system.utils.SerialRuleUtils;
 import com.vincent.rsf.server.api.service.ReceiveMsgService;
 import lombok.extern.slf4j.Slf4j;
-import org.apache.poi.ss.formula.functions.T;
 import org.springframework.beans.BeanUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
@@ -51,8 +52,6 @@
     @Autowired
     private FieldsService fieldsService;
     @Autowired
-    private FieldsItemService fieldsItemService;
-    @Autowired
     private MatnrGroupService matnrGroupService;
     @Autowired
     private MatnrServiceImpl matnrService;
@@ -66,8 +65,6 @@
     private DeliveryItemService deliveryItemService;
     @Autowired
     private LocService locService;
-    @Autowired
-    private LocItemService locItemService;
     @Autowired
     private WarehouseAreasService warehouseAreasService;
     @Autowired
@@ -84,6 +81,10 @@
     private ReviseLogService reviseLogService;
     @Autowired
     private ReviseLogItemService reviseLogItemService;
+    @Autowired
+    private CheckDiffService checkDiffService;
+    @Autowired
+    private CheckDiffItemService checkDiffItemService;
 
 
     /**
@@ -93,7 +94,7 @@
      * @version 1.0
      */
     @Override
-    @Transactional(timeout = 60,rollbackFor = Exception.class)
+    @Transactional(timeout = 60, rollbackFor = Exception.class)
     public boolean syncPurchasee(List<OrderParams> orders) {
         if (orders.isEmpty()) {
             throw new CoolException("鍗曟嵁鍐呭涓嶈兘涓虹┖锛侊紒");
@@ -632,4 +633,31 @@
         wkorderDto.setTransfer(transfer).setItems(orderItems);
         return R.ok().add(wkorderDto);
     }
+
+    /**
+     * @author Ryan
+     * @date 2025/8/22
+     * @description: 鐩樼偣宸紓鍗曞悓姝�
+     * @version 1.0
+     */
+    @Override
+    @Transactional(timeout = 60, rollbackFor = Exception.class)
+    public R syncCheckDiffs(SyncCheckDiffParams syncParams) {
+        List<CheckDiff> diffs = checkDiffService.list(new LambdaQueryWrapper<CheckDiff>()
+                .eq(CheckDiff::getExceStatus, CheckExceStatus.CHECK_ORDER_STATUS_EXCE_DONE.val)
+                .in(CheckDiff::getOrderCode, syncParams.getDiffCode()));
+        if (diffs.isEmpty()) {
+            return R.ok();
+        }
+        List<CheckDiffDto> dtos = new ArrayList<>();
+        diffs.forEach(check -> {
+            CheckDiffDto dto = new CheckDiffDto();
+            BeanUtils.copyProperties(check, dto);
+            List<CheckDiffItem> items = checkDiffItemService.list(new LambdaQueryWrapper<CheckDiffItem>().eq(CheckDiffItem::getCheckId, check.getId()));
+            dto.setItems(items);
+            dtos.add(dto);
+        });
+
+        return R.ok().add(dtos);
+    }
 }

--
Gitblit v1.9.1