From adc450968a488df4c4234efd3db20d6c286dfc36 Mon Sep 17 00:00:00 2001
From: skyouc
Date: 星期二, 01 四月 2025 08:24:25 +0800
Subject: [PATCH] 新增订单批量修改接口

---
 rsf-server/src/main/java/com/vincent/rsf/server/manager/controller/AsnOrderController.java        |   14 +++++++
 rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/AsnOrderItemServiceImpl.java |    3 +
 rsf-server/src/main/java/com/vincent/rsf/server/manager/controller/AsnOrderItemController.java    |    7 ++-
 rsf-server/src/main/java/com/vincent/rsf/server/manager/controller/params/BatchUpdateParam.java   |   24 ++++++++++++
 rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/AsnOrderServiceImpl.java     |   26 +++++++++++++
 rsf-server/src/main/java/com/vincent/rsf/server/manager/entity/AsnOrder.java                      |    8 +--
 rsf-server/src/main/java/com/vincent/rsf/server/manager/service/AsnOrderItemService.java          |    2 +
 rsf-server/src/main/java/com/vincent/rsf/server/manager/service/AsnOrderService.java              |    4 ++
 8 files changed, 81 insertions(+), 7 deletions(-)

diff --git a/rsf-server/src/main/java/com/vincent/rsf/server/manager/controller/AsnOrderController.java b/rsf-server/src/main/java/com/vincent/rsf/server/manager/controller/AsnOrderController.java
index d95ee36..2c57317 100644
--- a/rsf-server/src/main/java/com/vincent/rsf/server/manager/controller/AsnOrderController.java
+++ b/rsf-server/src/main/java/com/vincent/rsf/server/manager/controller/AsnOrderController.java
@@ -11,6 +11,7 @@
 import com.vincent.rsf.server.common.domain.KeyValVo;
 import com.vincent.rsf.server.common.domain.PageParam;
 import com.vincent.rsf.server.manager.controller.params.AsnOrderAndItemsParams;
+import com.vincent.rsf.server.manager.controller.params.BatchUpdateParam;
 import com.vincent.rsf.server.manager.entity.AsnOrder;
 import com.vincent.rsf.server.manager.service.AsnOrderService;
 import com.vincent.rsf.server.system.constant.SerialRuleCode;
@@ -173,4 +174,17 @@
         }
         return asnOrderService.updateOrderItem(params, getLoginUserId());
     }
+
+    public R batchUpdate(@RequestBody BatchUpdateParam params) {
+        if (Objects.isNull(params)) {
+            return R.error("鍙傛暟涓嶈兘涓虹┖锛侊紒");
+        }
+        if (Objects.isNull(params.getOrder())) {
+            return R.error("淇敼鍙傛暟涓嶈兘涓虹┖锛侊紒");
+        }
+        if (Objects.isNull(params.getIds()) || params.getIds().isEmpty()) {
+            return R.error("淇敼ID涓嶈兘涓虹┖锛侊紒");
+        }
+        return R.ok(asnOrderService.batchUpdate(params, getLoginUserId()));
+    }
 }
diff --git a/rsf-server/src/main/java/com/vincent/rsf/server/manager/controller/AsnOrderItemController.java b/rsf-server/src/main/java/com/vincent/rsf/server/manager/controller/AsnOrderItemController.java
index 650a15d..c04887e 100644
--- a/rsf-server/src/main/java/com/vincent/rsf/server/manager/controller/AsnOrderItemController.java
+++ b/rsf-server/src/main/java/com/vincent/rsf/server/manager/controller/AsnOrderItemController.java
@@ -11,6 +11,7 @@
 import com.vincent.rsf.server.common.domain.BaseParam;
 import com.vincent.rsf.server.common.domain.KeyValVo;
 import com.vincent.rsf.server.common.domain.PageParam;
+import com.vincent.rsf.server.manager.controller.params.BatchUpdateParam;
 import com.vincent.rsf.server.manager.entity.AsnOrder;
 import com.vincent.rsf.server.manager.entity.AsnOrderItem;
 import com.vincent.rsf.server.manager.entity.excel.AsnOrderTemplate;
@@ -74,8 +75,8 @@
             return R.error("Save Fail");
         }
         return R.ok("Save Success");
-
     }
+
 
     @PreAuthorize("hasAuthority('manager:asnOrderItem:update')")
     @OperationLog("Update ASN鍗曟嵁")
@@ -144,13 +145,15 @@
     @PreAuthorize("hasAuthority('manager:asnOrderItem:update')")
     public R importExcel(@RequestParam(value = "file") MultipartFile file, @RequestParam String asnId) throws Exception {
         if (Objects.isNull(file)) {
-            throw new CoolException("鏂囦欢涓嶈兘涓虹┖锛侊紒");
+            R.error("鏂囦欢涓嶈兘涓虹┖锛侊紒");
         }
         HashMap<String, Object> hashMap = new HashMap<>();
         if (!Objects.isNull(asnId)) {
             hashMap.put("asnId", asnId);
         }
+
         return asnOrderItemService.excelImport(file, hashMap);
     }
 
+
 }
diff --git a/rsf-server/src/main/java/com/vincent/rsf/server/manager/controller/params/BatchUpdateParam.java b/rsf-server/src/main/java/com/vincent/rsf/server/manager/controller/params/BatchUpdateParam.java
new file mode 100644
index 0000000..6e165d2
--- /dev/null
+++ b/rsf-server/src/main/java/com/vincent/rsf/server/manager/controller/params/BatchUpdateParam.java
@@ -0,0 +1,24 @@
+package com.vincent.rsf.server.manager.controller.params;
+
+import com.vincent.rsf.server.manager.entity.AsnOrder;
+import com.vincent.rsf.server.manager.entity.AsnOrderItem;
+import io.swagger.annotations.Api;
+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 = "BatchUpdateParam", description = "鎵归噺淇敼鍙傛暟")
+public class BatchUpdateParam implements Serializable {
+
+    @ApiModelProperty("淇敼鍙傛暟")
+    private AsnOrder order;
+
+    @ApiModelProperty("ids")
+    private List<Long> ids;
+}
diff --git a/rsf-server/src/main/java/com/vincent/rsf/server/manager/entity/AsnOrder.java b/rsf-server/src/main/java/com/vincent/rsf/server/manager/entity/AsnOrder.java
index bbb4b2e..9adbe56 100644
--- a/rsf-server/src/main/java/com/vincent/rsf/server/manager/entity/AsnOrder.java
+++ b/rsf-server/src/main/java/com/vincent/rsf/server/manager/entity/AsnOrder.java
@@ -110,11 +110,9 @@
     @ApiModelProperty(value= "閲婃斁鐘舵�� 0:  姝e父   1:  宸查噴鏀�  ")
     private Short rleStatus;
 
-    /**
-     * 鍚嶇О
-     */
-    @ApiModelProperty(value= "鍚嶇О")
-    private String name;
+
+    @ApiModelProperty("鎵ц鐘舵��")
+    private Short exceStatus;
 
     /**
      * 鐘舵�� 1: 姝e父  0: 鍐荤粨  
diff --git a/rsf-server/src/main/java/com/vincent/rsf/server/manager/service/AsnOrderItemService.java b/rsf-server/src/main/java/com/vincent/rsf/server/manager/service/AsnOrderItemService.java
index 0cb3f60..4293bf3 100644
--- a/rsf-server/src/main/java/com/vincent/rsf/server/manager/service/AsnOrderItemService.java
+++ b/rsf-server/src/main/java/com/vincent/rsf/server/manager/service/AsnOrderItemService.java
@@ -6,6 +6,7 @@
 import com.vincent.rsf.framework.common.R;
 import com.vincent.rsf.server.common.domain.BaseParam;
 import com.vincent.rsf.server.common.domain.PageParam;
+import com.vincent.rsf.server.manager.controller.params.BatchUpdateParam;
 import com.vincent.rsf.server.manager.entity.AsnOrder;
 import com.vincent.rsf.server.manager.entity.AsnOrderItem;
 import org.springframework.web.multipart.MultipartFile;
@@ -24,4 +25,5 @@
     R generateBarcode(List<Long> orders);
 
     IPage<Map<String, Object>> listByAsnId(PageParam<AsnOrderItem, BaseParam> pageParam, QueryWrapper<AsnOrderItem> buildWrapper);
+
 }
diff --git a/rsf-server/src/main/java/com/vincent/rsf/server/manager/service/AsnOrderService.java b/rsf-server/src/main/java/com/vincent/rsf/server/manager/service/AsnOrderService.java
index d476e5f..81ac399 100644
--- a/rsf-server/src/main/java/com/vincent/rsf/server/manager/service/AsnOrderService.java
+++ b/rsf-server/src/main/java/com/vincent/rsf/server/manager/service/AsnOrderService.java
@@ -3,6 +3,7 @@
 import com.baomidou.mybatisplus.extension.service.IService;
 import com.vincent.rsf.framework.common.R;
 import com.vincent.rsf.server.manager.controller.params.AsnOrderAndItemsParams;
+import com.vincent.rsf.server.manager.controller.params.BatchUpdateParam;
 import com.vincent.rsf.server.manager.entity.AsnOrder;
 
 import java.util.List;
@@ -17,4 +18,7 @@
     R saveOrderAndItems(AsnOrderAndItemsParams params, Long loginUserId);
 
     R updateOrderItem(AsnOrderAndItemsParams params, Long loginUserId);
+
+    boolean batchUpdate(BatchUpdateParam params, Long loginUserId);
+
 }
diff --git a/rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/AsnOrderItemServiceImpl.java b/rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/AsnOrderItemServiceImpl.java
index 32a81f3..3a98a42 100644
--- a/rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/AsnOrderItemServiceImpl.java
+++ b/rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/AsnOrderItemServiceImpl.java
@@ -5,6 +5,7 @@
 import com.alibaba.fastjson.JSONObject;
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.vincent.rsf.framework.common.R;
 import com.vincent.rsf.framework.exception.CoolException;
@@ -13,6 +14,7 @@
 import com.vincent.rsf.server.common.domain.BaseParam;
 import com.vincent.rsf.server.common.domain.PageParam;
 import com.vincent.rsf.server.common.utils.ExcelUtil;
+import com.vincent.rsf.server.manager.controller.params.BatchUpdateParam;
 import com.vincent.rsf.server.manager.entity.AsnOrder;
 import com.vincent.rsf.server.manager.entity.excel.AsnOrderTemplate;
 import com.vincent.rsf.server.manager.mapper.AsnOrderItemMapper;
@@ -130,4 +132,5 @@
         return hsahMap;
 
     }
+
 }
diff --git a/rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/AsnOrderServiceImpl.java b/rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/AsnOrderServiceImpl.java
index b93e1ba..d5f0293 100644
--- a/rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/AsnOrderServiceImpl.java
+++ b/rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/AsnOrderServiceImpl.java
@@ -2,12 +2,14 @@
 
 import com.alibaba.fastjson.JSONArray;
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
 import com.vincent.rsf.framework.common.R;
 import com.vincent.rsf.framework.exception.CoolException;
 import com.vincent.rsf.server.api.entity.dto.PoItemsDto;
 import com.vincent.rsf.server.api.service.ReceiveMsgService;
 import com.vincent.rsf.server.api.service.ReportMsgService;
 import com.vincent.rsf.server.manager.controller.params.AsnOrderAndItemsParams;
+import com.vincent.rsf.server.manager.controller.params.BatchUpdateParam;
 import com.vincent.rsf.server.manager.entity.AsnOrderItem;
 import com.vincent.rsf.server.manager.mapper.AsnOrderMapper;
 import com.vincent.rsf.server.manager.entity.AsnOrder;
@@ -145,4 +147,28 @@
         }
         return R.ok("淇敼瀹屾垚锛侊紒");
     }
+
+    /**
+     * @author Ryan
+     * @description 鎵归噺淇敼
+     * @param
+     * @return
+     * @time 2025/4/1 07:58
+     */
+    @Override
+    public boolean batchUpdate(BatchUpdateParam params, Long userId) {
+        AsnOrder order = params.getOrder();
+        if (Objects.isNull(order)) {
+            throw new CoolException("淇敼鍙傛暟涓嶈兘涓虹┖锛侊紒");
+        }
+        return this.update(new LambdaUpdateWrapper<AsnOrder>()
+                .in(AsnOrder::getId, params.getIds())
+                       .set(!Objects.isNull(order.getRleStatus()), AsnOrder::getRleStatus, order.getRleStatus())
+                        .set(!Objects.isNull(order.getNtyStatus()), AsnOrder::getNtyStatus, order.getNtyStatus())
+                        .set(!Objects.isNull(order.getStatus()),  AsnOrder::getStatus, order.getStatus())
+                        .set(!Objects.isNull(order.getWkType()), AsnOrder::getWkType, order.getWkType())
+                        .set(!Objects.isNull(order.getExceStatus()), AsnOrder::getExceStatus, order.getExceStatus())
+                .set(AsnOrder::getUpdateBy, userId));
+
+    }
 }

--
Gitblit v1.9.1