From 735ff7533e39f514c2f3f8dda4d2a0b793a0bf71 Mon Sep 17 00:00:00 2001
From: verou <857149855@qq.com>
Date: 星期二, 01 四月 2025 09:57:10 +0800
Subject: [PATCH] Merge branch 'devlop' of http://47.97.1.152:5880/r/wms-master into devlop

---
 rsf-server/src/main/java/com/vincent/rsf/server/manager/controller/AsnOrderController.java        |   22 ++++++
 rsf-server/src/main/java/com/vincent/rsf/server/manager/controller/AsnOrderItemController.java    |    7 +
 rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/MatnrServiceImpl.java        |   11 ---
 rsf-server/src/main/java/com/vincent/rsf/server/manager/service/AsnOrderService.java              |    8 ++
 rsf-server/src/main/java/com/vincent/rsf/server/api/service/impl/MobileServiceImpl.java           |    3 +
 rsf-server/src/main/java/com/vincent/rsf/server/manager/entity/QlyIsptItem.java                   |   15 +++++
 rsf-server/src/main/java/com/vincent/rsf/server/manager/entity/Matnr.java                         |    2 
 rsf-server/src/main/java/com/vincent/rsf/server/manager/controller/QlyInspectController.java      |    3 -
 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/params/BatchUpdateParam.java   |   24 ++++++++
 rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/AsnOrderServiceImpl.java     |   40 +++++++++++-
 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 
 13 files changed, 117 insertions(+), 31 deletions(-)

diff --git a/rsf-server/src/main/java/com/vincent/rsf/server/api/service/impl/MobileServiceImpl.java b/rsf-server/src/main/java/com/vincent/rsf/server/api/service/impl/MobileServiceImpl.java
index 2cd2283..ea755fb 100644
--- a/rsf-server/src/main/java/com/vincent/rsf/server/api/service/impl/MobileServiceImpl.java
+++ b/rsf-server/src/main/java/com/vincent/rsf/server/api/service/impl/MobileServiceImpl.java
@@ -217,6 +217,9 @@
             if (Objects.isNull(orderItem)) {
                 throw new CoolException("閫氱煡鍗曟槑缁嗕笉瀛樺湪锛侊紒");
             }
+            if (Objects.isNull(dto.getReceiptQty()) || Double.compare(dto.getReceiptQty(), 0.0) == 0) {
+                throw new CoolException("鏀惰揣鏁伴噺涓嶈兘涓洪浂锛侊紒");
+            }
             orderItem.setQty(dto.getReceiptQty())
                     .setProdTime(dto.getProdTime());
 
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 37fef45..108115b 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;
@@ -160,7 +161,8 @@
         if (Objects.isNull(params)) {
            return R.error("鍙傛暟涓嶈兘涓虹┖锛侊紒");
         }
-        return asnOrderService.saveOrderAndItems(params);
+
+        return asnOrderService.saveOrderAndItems(params, getLoginUserId());
     }
 
     @ApiOperation("鍗曟嵁淇℃伅淇敼")
@@ -170,6 +172,22 @@
         if (Objects.isNull(params)) {
             return R.error("鍙傛暟涓嶈兘涓虹┖锛侊紒");
         }
-        return asnOrderService.updateOrderItem(params);
+        return asnOrderService.updateOrderItem(params, getLoginUserId());
+    }
+
+    @ApiOperation("鍗曟嵁鎵归噺淇敼")
+    @PostMapping("/asnOrder/batch/update")
+    @PreAuthorize("hasAuthority('manager:asnOrder:update')")
+    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/QlyInspectController.java b/rsf-server/src/main/java/com/vincent/rsf/server/manager/controller/QlyInspectController.java
index b9427e9..bf03f2b 100644
--- a/rsf-server/src/main/java/com/vincent/rsf/server/manager/controller/QlyInspectController.java
+++ b/rsf-server/src/main/java/com/vincent/rsf/server/manager/controller/QlyInspectController.java
@@ -80,7 +80,6 @@
         return qlyInspectService.saveSelected(param, loginUserId);
     }
 
-
     @PreAuthorize("hasAuthority('manager:qlyInspect:list')")
     @PostMapping("/qlyInspect/list")
     public R list(@RequestBody Map<String, Object> map) {
@@ -104,9 +103,7 @@
     @PostMapping("/qlyInspect/save")
     public R save(@RequestBody QlyInspect qlyInspect) {
         qlyInspect.setCreateBy(getLoginUserId());
-        qlyInspect.setCreateTime(new Date());
         qlyInspect.setUpdateBy(getLoginUserId());
-        qlyInspect.setUpdateTime(new Date());
         if (!qlyInspectService.save(qlyInspect)) {
             return R.error("Save Fail");
         }
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 0d1c981..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/entity/Matnr.java b/rsf-server/src/main/java/com/vincent/rsf/server/manager/entity/Matnr.java
index c697ea4..3978f0c 100644
--- a/rsf-server/src/main/java/com/vincent/rsf/server/manager/entity/Matnr.java
+++ b/rsf-server/src/main/java/com/vincent/rsf/server/manager/entity/Matnr.java
@@ -360,7 +360,7 @@
         MatnrGroupService service = SpringUtils.getBean(MatnrGroupService.class);
         MatnrGroup matnrGroup = service.getById(this.groupId);
         if (!Cools.isEmpty(matnrGroup)){
-            return String.valueOf(matnrGroup.getCode());
+            return String.valueOf(matnrGroup.getName());
         }
         return null;
     }
diff --git a/rsf-server/src/main/java/com/vincent/rsf/server/manager/entity/QlyIsptItem.java b/rsf-server/src/main/java/com/vincent/rsf/server/manager/entity/QlyIsptItem.java
index 29bb484..a80dafc 100644
--- a/rsf-server/src/main/java/com/vincent/rsf/server/manager/entity/QlyIsptItem.java
+++ b/rsf-server/src/main/java/com/vincent/rsf/server/manager/entity/QlyIsptItem.java
@@ -43,6 +43,9 @@
     @ApiModelProperty(value= "涓诲崟ID")
     private Long ispectId;
 
+    @ApiModelProperty("璐ㄦ鍗曠姸鎬�")
+    private String isptStatus;
+
     @ApiModelProperty("鍗曟嵁鏄庣粏ID")
     private Long asnItemId;
 
@@ -214,6 +217,18 @@
 //            null    // 澶囨敞
 //    );
 
+    public String getIsptStatus$() {
+        if (null == this.isptStatus) {return null; }
+        DictDataService dictDataService = SpringUtils.getBean(DictDataService.class);
+        DictData dictDatas = dictDataService.getOne(new LambdaQueryWrapper<DictData>()
+                .eq(DictData::getDictTypeCode, DictTypeCode.DICT_QLY_INSPECT_STATUS)
+                .eq(DictData::getValue, this.isptStatus));
+        if (Objects.isNull(dictDatas) || Objects.isNull(dictDatas.getLabel())) {
+            return null;
+        }
+        return dictDatas.getLabel();
+    }
+
     public String getIsptResult$() {
         if (null == this.isptResult) {return null; }
         DictDataService dictDataService = SpringUtils.getBean(DictDataService.class);
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 48a58aa..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;
@@ -14,7 +15,10 @@
 
     List<AsnOrder> getListByMatnr(Map<String, String> params);
 
-    R saveOrderAndItems(AsnOrderAndItemsParams params);
+    R saveOrderAndItems(AsnOrderAndItemsParams params, Long loginUserId);
 
-    R updateOrderItem(AsnOrderAndItemsParams params);
+    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 1e7709d..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,14 +2,15 @@
 
 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.AsnOrderItemMapper;
 import com.vincent.rsf.server.manager.mapper.AsnOrderMapper;
 import com.vincent.rsf.server.manager.entity.AsnOrder;
 import com.vincent.rsf.server.manager.mapper.PurchaseMapper;
@@ -17,7 +18,6 @@
 import com.vincent.rsf.server.manager.service.AsnOrderService;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.vincent.rsf.server.system.constant.SerialRuleCode;
-import com.vincent.rsf.server.system.entity.SerialRule;
 import com.vincent.rsf.server.system.mapper.SerialRuleMapper;
 import com.vincent.rsf.server.system.utils.SerialRuleUtils;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -84,7 +84,7 @@
     }
 
     @Override
-    public R saveOrderAndItems(AsnOrderAndItemsParams params) {
+    public R saveOrderAndItems(AsnOrderAndItemsParams params, Long loginUserId) {
         if (Objects.isNull(params.getOrders())) {
             throw new CoolException("涓诲崟淇℃伅涓嶈兘涓虹┖");
         }
@@ -96,7 +96,9 @@
         if (Objects.isNull(ruleCode)) {
             throw new CoolException("鏀惰揣閫氱煡鍗曠紪鐮佺敓鎴愬け璐ワ紒锛�");
         }
-        orders.setCode(ruleCode);
+        orders.setCode(ruleCode)
+                .setUpdateBy(loginUserId)
+                .setCreateBy(loginUserId);
         if (!this.save(orders)) {
             throw new CoolException("涓诲崟淇濆瓨澶辫触锛侊紒");
         }
@@ -107,6 +109,8 @@
             item.put("asnId", orders.getId());
             item.put("asnCode", orders.getCode());
             item.put("poCode", orders.getPoCode());
+            item.put("createBy", loginUserId);
+            item.put("updateBy", loginUserId);
             if (!asnOrderItemService.fieldsSave(item)) {
                 throw new CoolException("鏄庣粏淇濆瓨澶辫触锛侊紒");
             }
@@ -116,12 +120,14 @@
 
     /**
      * 琛ㄥ崟鏄庣粏淇敼
+     *
      * @param params
+     * @param loginUserId
      * @return
      */
     @Override
     @Transactional
-    public R updateOrderItem(AsnOrderAndItemsParams params) {
+    public R updateOrderItem(AsnOrderAndItemsParams params, Long loginUserId) {
         if (Objects.isNull(params.getOrders())) {
             throw new CoolException("涓诲崟淇℃伅涓嶈兘涓虹┖锛侊紒");
         }
@@ -141,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));
+
+    }
 }
diff --git a/rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/MatnrServiceImpl.java b/rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/MatnrServiceImpl.java
index bbc13ea..07896ec 100644
--- a/rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/MatnrServiceImpl.java
+++ b/rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/MatnrServiceImpl.java
@@ -117,17 +117,6 @@
                 }
             }
         }
-//        IPage<Map<String, Object>> reulst = this.baseMapper.selectMatnrs(pageParam, queryWrapper);
-//        /**鑾峰彇鐗╂枡鍒嗛〉淇℃伅 */
-//        List<Map<String, Object>> mapList = reulst.getRecords();
-//        if (!mapList.isEmpty()) {
-//            mapList.forEach(map -> {
-//                if (!Objects.isNull(map.get("fieldsIndex"))) {
-//                   FieldsUtils.mergeFields(map, map.get("fieldsIndex").toString());
-//                }
-//            });
-//        }
-
         /**鎷兼帴鎵╁睍瀛楁*/
         PageParam<Matnr, BaseParam> page = this.page(pageParam, queryWrapper);
         List<Matnr> records = page.getRecords();

--
Gitblit v1.9.1