From e0b42ac6d0f0361233bf2190b149c6c63c4e2323 Mon Sep 17 00:00:00 2001
From: verou <857149855@qq.com>
Date: 星期一, 31 三月 2025 15:50:25 +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/enums/QlyIsptStatus.java                |   25 ++++++++
 rsf-server/src/main/java/com/vincent/rsf/server/manager/controller/QlyInspectController.java    |   14 +++-
 rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/QlyInspectServiceImpl.java |   34 ++++++++---
 rsf-server/src/main/java/com/vincent/rsf/server/system/utils/SerialRuleUtils.java               |    3 
 rsf-admin/src/i18n/zh.js                                                                        |   34 +++++++++++
 rsf-admin/src/i18n/en.js                                                                        |   34 +++++++++++
 rsf-admin/src/page/ResourceContent.js                                                           |   10 ++-
 rsf-server/src/main/java/com/vincent/rsf/server/manager/service/QlyInspectService.java          |    4 
 8 files changed, 137 insertions(+), 21 deletions(-)

diff --git a/rsf-admin/src/i18n/en.js b/rsf-admin/src/i18n/en.js
index ac05407..ce79b97 100644
--- a/rsf-admin/src/i18n/en.js
+++ b/rsf-admin/src/i18n/en.js
@@ -153,6 +153,8 @@
         deviceSite: 'deviceSite',
         waitPakin: 'WaitPakin',
         waitPakinItem: 'WaitPakinItem',
+        task: 'Task',
+        taskItem: 'TaskItem',
     },
     table: {
         field: {
@@ -663,6 +665,38 @@
                 qty: "qty",
                 batch: "batch",
             },
+            task: {
+                taskCode: "TaskCode",
+                taskStatus: "Status",
+                taskType: "Type",
+                orgLoc: "orgLoc",
+                orgSite: "orgSite",
+                targLoc: "targLoc",
+                targSite: "targSite",
+                barcode: "barcode",
+                robotCode: "robotCode",
+                exceStatus: "exceStatus",
+                expDesc: "expDesc",
+                sort: "sort",
+                expCode: "expCode",
+                startTime: "startTime",
+                endTime: "endTime",
+            },
+            taskItem: {
+                taskId: "taskId",
+                orderId: "orderId",
+                orderType: "orderType",
+                orderItemId: "orderItemId",
+                sourceCode: "sourceCode",
+                matnrId: "matnrId",
+                maktx: "maktx",
+                matnrCode: "matnrCode",
+                unit: "unit",
+                anfme: "anfme",
+                batch: "batch",
+                spec: "spec",
+                model: "model",
+            },
         }
     },
     page: {
diff --git a/rsf-admin/src/i18n/zh.js b/rsf-admin/src/i18n/zh.js
index 655f20e..8724e0b 100644
--- a/rsf-admin/src/i18n/zh.js
+++ b/rsf-admin/src/i18n/zh.js
@@ -155,6 +155,8 @@
         waitPakinItem: '缁勬嫋妗f槑缁�',
         waitPakinLog: '缁勬嫋鍘嗗彶妗�',
         waitPakinItemLog: '缁勬嫋鍘嗗彶妗f槑缁�',
+        task: '浠诲姟宸ヤ綔妗�',
+        taskItem: '浠诲姟妗f槑缁�',
     },
     table: {
         field: {
@@ -672,6 +674,38 @@
                 qty: "宸插畬鎴�",
                 batch: "鎵规",
             },
+            task: {
+                taskCode: "浠诲姟鍙�",
+                taskStatus: "浠诲姟鐘舵��",
+                taskType: "浠诲姟绫诲瀷",
+                orgLoc: "婧愬簱浣�",
+                orgSite: "婧愮珯鐐�",
+                targLoc: "鐩爣搴撲綅",
+                targSite: "鐩爣绔欑偣",
+                barcode: "鎷栫洏鐮�",
+                robotCode: "鏈哄櫒缂栫爜",
+                exceStatus: "鎵ц鐘舵��",
+                expDesc: "寮傚父璇存槑",
+                sort: "浼樺厛绾�",
+                expCode: "寮傚父缂栫爜",
+                startTime: "寮�濮嬫椂闂�",
+                endTime: "缁撴潫鏃堕棿",
+            },
+            taskItem: {
+                taskId: "taskId",
+                orderId: "璁㈠崟ID",
+                orderType: "鍗曟嵁绫诲瀷",
+                orderItemId: "璁㈠崟鏄庣粏ID",
+                sourceCode: "璁㈠崟鍙�",
+                matnrId: "鐗╂枡ID",
+                maktx: "鐗╂枡鍚嶇О",
+                matnrCode: "鐗╂枡缂栫爜",
+                unit: "鍗曚綅",
+                anfme: "鏁伴噺",
+                batch: "鎵规",
+                spec: "瑙勬牸",
+                model: "鍨嬪彿",
+            },
         }
     },
     page: {
diff --git a/rsf-admin/src/page/ResourceContent.js b/rsf-admin/src/page/ResourceContent.js
index 1b3287b..c966560 100644
--- a/rsf-admin/src/page/ResourceContent.js
+++ b/rsf-admin/src/page/ResourceContent.js
@@ -46,6 +46,9 @@
 import waitPakinItemLog from './waitPakinItemLog';
 import asnOrderLog from './asnOrderLog';
 import asnOrderItemLog from './asnOrderItemLog';
+import task from './task';
+import taskItem from './taskItem';
+
 
 const ResourceContent = (node) => {
     switch (node.component) {
@@ -133,9 +136,10 @@
             return waitPakinLog;
         case 'waitPakinItemLog':
             return waitPakinItemLog;
-
-
-
+        case 'task':
+            return task;
+        case 'taskItem':
+            return taskItem;
 
         default:
             return {
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 5bd9c60..b9427e9 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
@@ -59,21 +59,25 @@
         return R.ok(qlyInspectService.listByAsn(map));
     }
 
-    @GetMapping("/qlyInspect/asn/list")
+    @PostMapping("/qlyInspect/asn/list")
     @ApiOperation("鑾峰彇寰呰川妫�鍗�")
     @PreAuthorize("hasAuthority('manager:qlyInspect:list')")
-    public R getUnInspect() {
-        return R.ok(qlyInspectService.getUnInspect());
+    public R getUnInspect(@RequestBody Map<String, Object> map) {
+        if (Objects.isNull(map)) {
+            return R.error("鍙傛暟涓嶈兘涓虹┖锛侊紒");
+        }
+        return R.ok(qlyInspectService.getUnInspect(map));
     }
 
     @PostMapping("/qlyInspect/selected")
     @ApiOperation("閫夋嫨璐ㄦ鍗曟嵁")
     @PreAuthorize("hasAuthority('manager:qlyInspect:update')")
-    public R selectedOrder(IsptOrderParam param) {
+    public R selectedOrder(@RequestBody IsptOrderParam param) {
         if (Objects.isNull(param)) {
             throw new CoolException("鍙傛暟涓嶈兘涓虹┖锛侊紒");
         }
-        return qlyInspectService.saveSelected(param);
+        Long loginUserId = getLoginUserId();
+        return qlyInspectService.saveSelected(param, loginUserId);
     }
 
 
diff --git a/rsf-server/src/main/java/com/vincent/rsf/server/manager/enums/QlyIsptStatus.java b/rsf-server/src/main/java/com/vincent/rsf/server/manager/enums/QlyIsptStatus.java
new file mode 100644
index 0000000..d1ac3b8
--- /dev/null
+++ b/rsf-server/src/main/java/com/vincent/rsf/server/manager/enums/QlyIsptStatus.java
@@ -0,0 +1,25 @@
+package com.vincent.rsf.server.manager.enums;
+
+/**
+ * @author Ryan
+ * @version 1.0
+ * @title QlyIsptStatus
+ * @description
+ * @create 2025/3/31 15:38
+ */
+public enum QlyIsptStatus {
+    //璐ㄦ鐘舵��
+    QLY_ISPT_STAS_ING("2", "璐ㄦ涓�"),
+    QLY_ISPT_STAS_DONE("1", "璐ㄦ瀹屾垚"),
+    QLY_ISPT_STAS_HOLD("0", "寰呰川妫�"),
+    QLY_ISPT_STAS_CLOSE("3", "鍏抽棴")
+    ;
+
+    QlyIsptStatus(String val, String desc) {
+        this.val = val;
+        this.desc = desc;
+    }
+
+    public String val;
+    public String desc;
+}
diff --git a/rsf-server/src/main/java/com/vincent/rsf/server/manager/service/QlyInspectService.java b/rsf-server/src/main/java/com/vincent/rsf/server/manager/service/QlyInspectService.java
index 5535166..74f09eb 100644
--- a/rsf-server/src/main/java/com/vincent/rsf/server/manager/service/QlyInspectService.java
+++ b/rsf-server/src/main/java/com/vincent/rsf/server/manager/service/QlyInspectService.java
@@ -17,7 +17,7 @@
 
     R allSave(QlyInspectAndItem params);
 
-    List<AsnOrder> getUnInspect();
+    List<AsnOrder> getUnInspect(Map<String, Object> map);
 
-    R saveSelected(IsptOrderParam param);
+    R saveSelected(IsptOrderParam param, Long loginUserId);
 }
diff --git a/rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/QlyInspectServiceImpl.java b/rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/QlyInspectServiceImpl.java
index 1348ba0..c64cd4a 100644
--- a/rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/QlyInspectServiceImpl.java
+++ b/rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/QlyInspectServiceImpl.java
@@ -8,6 +8,7 @@
 import com.vincent.rsf.server.manager.entity.AsnOrder;
 import com.vincent.rsf.server.manager.entity.AsnOrderItem;
 import com.vincent.rsf.server.manager.entity.QlyIsptItem;
+import com.vincent.rsf.server.manager.enums.QlyIsptStatus;
 import com.vincent.rsf.server.manager.mapper.QlyInspectMapper;
 import com.vincent.rsf.server.manager.entity.QlyInspect;
 import com.vincent.rsf.server.manager.service.AsnOrderItemService;
@@ -100,20 +101,30 @@
     * @return
     * @time 2025/3/31 10:12
     */
-
     @Override
-    public List<AsnOrder> getUnInspect() {
-        List<AsnOrder> asnOrders = asnOrderService.list(new LambdaQueryWrapper<AsnOrder>().eq(AsnOrder::getStatus, 1).eq(AsnOrder::getNtyStatus, 0));
+    public List<AsnOrder> getUnInspect(Map<String, Object> params) {
+        List<AsnOrder> asnOrders = asnOrderService.list(new LambdaQueryWrapper<AsnOrder>()
+                .eq(AsnOrder::getStatus, 1)
+                .eq(!Objects.isNull(params.get("asnCode")), AsnOrder::getCode, !Objects.isNull(params.get("asnCode")) ? params.get("asnCode").toString() : "")
+                .eq(AsnOrder::getNtyStatus, 0));
         return asnOrders;
     }
 
+    /**
+    * @author Ryan
+    * @description 淇濆瓨
+    * @param
+    * @return
+    * @time 2025/3/31 14:54
+    */
+
     @Override
     @Transactional(rollbackFor = Exception.class)
-    public R saveSelected(IsptOrderParam param) {
+    public R saveSelected(IsptOrderParam param, Long loginUserId) {
         if (Objects.isNull(param.getIds()) || param.getIds().isEmpty()) {
             throw new CoolException("鍗曟嵁ID涓嶈兘涓虹┖锛侊紒");
         }
-        List<AsnOrder> asnOrders = asnOrderService.list(new LambdaQueryWrapper<AsnOrder>().in(AsnOrder::getId, param.getIds()).eq(AsnOrder::getNtyStatus, 1));
+        List<AsnOrder> asnOrders = asnOrderService.list(new LambdaQueryWrapper<AsnOrder>().in(AsnOrder::getId, param.getIds()).eq(AsnOrder::getNtyStatus, 0));
         if (asnOrders.isEmpty()) {
             throw new CoolException("鍗曟嵁涓嶅瓨鍦紒锛�");
         }
@@ -122,14 +133,18 @@
             throw new CoolException("鍗曟嵁鏄庣粏涓嶅瓨鍦紒锛�");
         }
         Map<Long, List<AsnOrderItem>> listMap = orderItems.stream().collect(Collectors.groupingBy(AsnOrderItem::getAsnId));
-        List<QlyInspect> qlyInspects = new ArrayList<>();
         for (AsnOrder asnOrder : asnOrders) {
             QlyInspect inspect = new QlyInspect();
             String ruleCode = SerialRuleUtils.generateRuleCode(SerialRuleCode.SYS_INSPECT_CODE, null);
             if (StringUtils.isBlank(ruleCode)) {
                 throw new CoolException("绛栫暐閿欒锛氳妫�鏌ョ瓥鐣ャ��" + SerialRuleCode.SYS_INSPECT_CODE + "銆嶆槸鍚﹁缃纭紒锛�");
             }
-            inspect.setCode(ruleCode).setWkType(asnOrder.getWkType()).setAsnId(asnOrder.getId()).setCode(asnOrder.getCode());
+            inspect.setCode(ruleCode)
+                    .setWkType(asnOrder.getWkType())
+                    .setIsptStatus(QlyIsptStatus.QLY_ISPT_STAS_ING.val)
+                    .setCreateBy(loginUserId)
+                    .setAsnId(asnOrder.getId())
+                    .setAsnCode(asnOrder.getCode());
             /**鑾峰彇鍗曟嵁鏄庣粏*/
             List<AsnOrderItem> asnOrderItems = listMap.get(asnOrder.getId());
             if (Objects.isNull(asnOrderItems) || asnOrderItems.isEmpty()) {
@@ -146,16 +161,15 @@
                 QlyIsptItem isptItem = new QlyIsptItem();
                 BeanUtils.copyProperties(orderItem, isptItem);
                 isptItem.setAsnItemId(orderItem.getId())
+                        .setIspectId(inspect.getId())
                         .setRcptQty(orderItem.getQty())
+                        .setCreateBy(loginUserId)
                         .setDlyQty(orderItem.getAnfme());
                 items.add(isptItem);
             }
             if (!qlyIsptItemService.saveBatch(items)) {
                 throw new CoolException("鏄庣粏淇濆瓨澶辫触锛侊紒");
             }
-        }
-        if (!this.saveBatch(qlyInspects)) {
-            throw new CoolException("璐ㄦ鍗曚繚瀛樺け璐ワ紒锛�");
         }
         return R.ok("淇濆瓨鎴愬姛锛侊紒");
     }
diff --git a/rsf-server/src/main/java/com/vincent/rsf/server/system/utils/SerialRuleUtils.java b/rsf-server/src/main/java/com/vincent/rsf/server/system/utils/SerialRuleUtils.java
index 9e977d0..5bbc861 100644
--- a/rsf-server/src/main/java/com/vincent/rsf/server/system/utils/SerialRuleUtils.java
+++ b/rsf-server/src/main/java/com/vincent/rsf/server/system/utils/SerialRuleUtils.java
@@ -41,6 +41,7 @@
                 .getOne(new LambdaQueryWrapper<SerialRule>()
                         .eq(SerialRule::getCode, code));
         if (Objects.isNull(serialRule)) {
+
             throw new CoolException("褰撳墠涓氬姟锛�" + code + "锛岀紪鐮佽鍒欎笉瀛樺湪锛侊紒");
         }
         SerialRuleItemService serialRuleItemService = SpringUtils.getBean(SerialRuleItemService.class);
@@ -112,7 +113,7 @@
         if (Objects.isNull(start) || end == 0) {
             buffer.append(str);
         } else {
-            if (str.length() <= (end + start)) {
+            if (str.length() < (end + start)) {
                 throw new CoolException("鎴彇瀛楃璧峰嚭瀛楃涓查暱搴︼紝璇锋煡鐪嬭鍒欒瀹氾紒锛�");
             }
             //杩斿洖璧峰浣嶇疆lenStr寮�濮嬶紝缁堢偣浣嶇疆涓簂enStr + len闀垮害鐨勫瓧绗︿覆

--
Gitblit v1.9.1