From 9bec566884971e1241aaaa61aac5eed8bcfa0dd3 Mon Sep 17 00:00:00 2001
From: skyouc
Date: 星期一, 21 四月 2025 08:01:57 +0800
Subject: [PATCH] no message

---
 rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/TaskServiceImpl.java      |   47 ++++++++++++-----------
 rsf-admin/src/page/task/TaskList.jsx                                                           |    7 ++-
 rsf-server/src/main/java/com/vincent/rsf/server/manager/entity/WaitPakinItem.java              |    6 +++
 rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/WaitPakinServiceImpl.java |    9 ++++
 rsf-server/src/main/java/com/vincent/rsf/server/api/service/impl/MobileServiceImpl.java        |    6 ++
 rsf-server/src/main/java/com/vincent/rsf/server/manager/controller/TaskController.java         |   14 ++----
 rsf-server/src/main/resources/application-dev.yml                                              |    8 ++--
 7 files changed, 58 insertions(+), 39 deletions(-)

diff --git a/rsf-admin/src/page/task/TaskList.jsx b/rsf-admin/src/page/task/TaskList.jsx
index c743ee5..087ce49 100644
--- a/rsf-admin/src/page/task/TaskList.jsx
+++ b/rsf-admin/src/page/task/TaskList.jsx
@@ -87,7 +87,7 @@
     />,
 ]
 
-const TaskList = () => {
+const TaskList = (props) => {
     const translate = useTranslate();
     const [drawerVal, setDrawerVal] = useState(false);
     return (
@@ -171,16 +171,17 @@
  * 瀹屾垚鎿嶄綔
  * @returns 
  */
-const DoneButton = () => {
+const DoneButton = (props) => {
     const record = useRecordContext();
     const notify = useNotify(); 
     const refresh = useRefresh();
     const clickComplete = (event) => {
         event.stopPropagation();
-        completeTask([record])
+        completeTask(record)
     };
     //瀹屾垚浠诲姟
     const completeTask = async (row) => {
+        console.log(row.id);
         const { data: { code, data, msg } } = await request.post(`task/complete/` + row.id);
         if (code === 200) {
             notify(msg);
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 c287493..ebda499 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
@@ -850,7 +850,11 @@
      */
     @Override
     public R getDeviceSites() {
-        return R.ok(deviceSiteMapper.selectList(new LambdaQueryWrapper<DeviceSite>().eq(DeviceSite::getStatus, 1).groupBy(DeviceSite::getSite)));
+        List<DeviceSite> sites = deviceSiteMapper.selectList(new LambdaQueryWrapper<DeviceSite>()
+                        .select(DeviceSite::getId, DeviceSite::getSite, DeviceSite::getName)
+                .eq(DeviceSite::getStatus, 1)
+                .groupBy(DeviceSite::getSite, DeviceSite::getId, DeviceSite::getName));
+        return R.ok(sites);
     }
 
     /**
diff --git a/rsf-server/src/main/java/com/vincent/rsf/server/manager/controller/TaskController.java b/rsf-server/src/main/java/com/vincent/rsf/server/manager/controller/TaskController.java
index db1768b..5ed649b 100644
--- a/rsf-server/src/main/java/com/vincent/rsf/server/manager/controller/TaskController.java
+++ b/rsf-server/src/main/java/com/vincent/rsf/server/manager/controller/TaskController.java
@@ -132,20 +132,16 @@
     @PreAuthorize("hasAuthority('manager:task:update')")
     @ApiOperation("瀹屾垚浠诲姟")
     @PostMapping("/task/complete/{id}")
-    public R completeTask(@PathVariable String id) {
+    public R completeTask(@PathVariable String id) throws Exception {
         if (Objects.isNull(id)) {
             throw new CoolException("鍙傛暟涓嶈兘涓虹┖锛侊紒");
         }
         List<Long> longs = Arrays.asList(TaskStsType.GENERATE_IN.id, TaskStsType.GENERATE_OUT.id);
         List<Task> tasks = taskService.list(new LambdaQueryWrapper<Task>().eq(Task::getId, id).in(Task::getTaskStatus, longs));
-        if (tasks.isEmpty()) {
-            throw new CoolException("浠诲姟宸插鎵ц鐘舵�佷笉鍙竴閿畬鎴愶紒锛�");
-        }
-        try {
-            taskService.completeTask(tasks);
-        } catch (Exception ex) {
-            return R.error("浠诲姟寮傚父锛屾棤娉曞畬鎴愶紒锛�");
-        }
+//        if (tasks.isEmpty()) {
+//            throw new CoolException("浠诲姟宸插鎵ц鐘舵�佷笉鍙竴閿畬鎴愶紒锛�");
+//        }
+        taskService.completeTask(tasks);
         return R.ok();
     }
 
diff --git a/rsf-server/src/main/java/com/vincent/rsf/server/manager/entity/WaitPakinItem.java b/rsf-server/src/main/java/com/vincent/rsf/server/manager/entity/WaitPakinItem.java
index af39e02..54c4503 100644
--- a/rsf-server/src/main/java/com/vincent/rsf/server/manager/entity/WaitPakinItem.java
+++ b/rsf-server/src/main/java/com/vincent/rsf/server/manager/entity/WaitPakinItem.java
@@ -43,6 +43,12 @@
     @ApiModelProperty(value= "涓诲崟ID")
     private Long pakinId;
 
+    @ApiModelProperty("璁㈠崟绫诲瀷")
+    private String type;
+
+    @ApiModelProperty("涓氬姟绫诲瀷")
+    private Short wkType;
+
     /**
      * 璁㈠崟ID
      */
diff --git a/rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/TaskServiceImpl.java b/rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/TaskServiceImpl.java
index 7b25c0c..39a5d8a 100644
--- a/rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/TaskServiceImpl.java
+++ b/rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/TaskServiceImpl.java
@@ -138,13 +138,12 @@
             waitPakinItems.forEach(item -> {
                 TaskItem taskItem = new TaskItem();
                 BeanUtils.copyProperties(item, taskItem);
-                AsnOrder order = asnOrderService.getOne(new LambdaQueryWrapper<AsnOrder>().eq(AsnOrder::getId, item.getAsnId()));
-                if (Objects.isNull(order)) {
-                    throw new CoolException("鏁版嵁閿欒: 鍗曟嵁涓嶅瓨鍦紒锛�");
-                }
+//                AsnOrder order = asnOrderService.getOne(new LambdaQueryWrapper<AsnOrder>().eq(AsnOrder::getId, item.getAsnId()));
+//                if (Objects.isNull(order)) {
+//                    throw new CoolException("鏁版嵁閿欒: 鍗曟嵁涓嶅瓨鍦紒锛�");
+//                }
                 taskItem.setTaskId(task.getId())
                         .setOrderType(OrderType.ORDER_RECEIPT.type)
-                        .setWkType(Short.parseShort(order.getWkType()))
                         .setSource(item.getId())
                         .setTrackCode(item.getTrackCode())
                         .setCreateBy(loginUserId)
@@ -180,7 +179,7 @@
             return;
         }
         List<Long> list = tasks.stream().map(Task::getId).collect(Collectors.toList());
-        List<TaskItem> taskItems = taskItemService.list(new LambdaQueryWrapper<TaskItem>().eq(TaskItem::getTaskId, list));
+        List<TaskItem> taskItems = taskItemService.list(new LambdaQueryWrapper<TaskItem>().in(TaskItem::getTaskId, list));
         if (taskItems.isEmpty()) {
             throw new CoolException("浠诲姟鏄庣粏涓嶅瓨鍦紒锛�");
         }
@@ -198,15 +197,19 @@
         });
 
         /**瀵逛换鍔℃槑缁嗘寜璁㈠崟杩涜鍒嗙粍*/
-        Map<Long, List<TaskItem>> orderMap = taskItems.stream().collect(Collectors.groupingBy(TaskItem::getOrderId));
+        Map<Long, List<TaskItem>> orderMap = taskItems.stream().collect(Collectors.groupingBy(TaskItem::getSource));
         orderMap.keySet().forEach(key -> {
-            AsnOrder order = asnOrderService.getOne(new LambdaQueryWrapper<AsnOrder>()
-                    .eq(AsnOrder::getId, key)
-                    .select(AsnOrder::getId, AsnOrder::getPoCode, AsnOrder::getCode));
+            WaitPakinItem pakinItem = waitPakinItemService.getById(key);
+//            AsnOrder order = asnOrderService.getOne(new LambdaQueryWrapper<AsnOrder>()
+//                    .eq(AsnOrder::getId, key)
+//                    .select(AsnOrder::getId, AsnOrder::getPoCode, AsnOrder::getCode));
+            if (null == pakinItem) {
+                throw new CoolException("鏁版嵁閿欒锛氱粍鎷栨暟鎹笉瀛樺湪锛岃鑱旂郴绠$悊鍛橈紒锛�");
+            }
             List<TaskItem> items = orderMap.get(key);
             //淇濆瓨搴撳瓨鏄庣粏
             try {
-                saveStockItems(items, order);
+                saveStockItems(items, pakinItem);
             } catch (Exception e) {
                 throw new CoolException("搴撳瓨绠$悊淇濆瓨鏇存柊澶辫触锛侊紒");
             }
@@ -228,14 +231,14 @@
      * @time 2025/4/15 15:28
      */
     @Transactional(rollbackFor = Exception.class)
-    private void saveLocItem(List<TaskItem> items, Long taskId) throws Exception {
+    void saveLocItem(List<TaskItem> items, Long taskId) throws Exception {
         Task task = this.getById(taskId);
         if (Objects.isNull(task)) {
             throw new CoolException("浠诲姟涓嶅瓨鍦�!!");
         }
         List<LocItem> locItems = new ArrayList<>();
         items.forEach(taskItem -> {
-            Loc loc = locService.getOne(new LambdaQueryWrapper<Loc>().eq(Loc::getCode, task.getTargLoc()));
+            Loc loc = locService.getOne(new LambdaQueryWrapper<Loc>().eq(Loc::getCode, task.getTargLoc()), false);
             LocItem item = new LocItem();
             BeanUtils.copyProperties(taskItem, item);
             item.setLocId(loc.getId()).setType(taskItem.getOrderType());
@@ -252,7 +255,7 @@
      * @return
      */
     @Transactional(rollbackFor = Exception.class)
-    private void saveStockItems(List<TaskItem> items, AsnOrder order) throws Exception {
+    void saveStockItems(List<TaskItem> items, WaitPakinItem order) throws Exception {
         Stock stock = new Stock();
 //        if (!Objects.isNull(order.getPoCode()) && StringUtils.isNotBlank(order.getPoCode())) {
 //            Purchase purchase = purchaseService.getOne(new LambdaQueryWrapper<Purchase>().eq(Purchase::getCode, order.getPoCode()));
@@ -267,9 +270,9 @@
         double sum = items.stream().mapToDouble(TaskItem::getAnfme).sum();
         stock.setSourceId(order.getId())
                 .setCode(ruleCode)
-                .setSourceCode(order.getCode())
+                .setSourceCode(order.getAsnCode())
                 .setAnfme(sum)
-                .setWkType(Short.parseShort(order.getWkType()))
+                .setWkType(order.getWkType())
                 .setType(order.getType());
         if (!stockService.save(stock)) {
             throw new CoolException("搴撳瓨淇濆瓨澶辫触锛侊紒");
@@ -278,15 +281,15 @@
         List<StockItem> stockItems = new ArrayList<>();
         for (TaskItem item : items) {
             /**閫氳繃浠诲姟鏄庣粏涓殑taskId鏌ヨ,鑾峰彇TASK鐨勭洰鏍囧簱浣嶄俊鎭�*/
-            AsnOrderItem orderItem = asnOrderItemService.getOne(new LambdaQueryWrapper<AsnOrderItem>().eq(AsnOrderItem::getId, item.getOrderItemId()));
-            if (Objects.isNull(orderItem)) {
-                throw new CoolException("鍗曟嵁鏄庣粏涓嶅瓨鍦紒锛�");
-            }
+//            AsnOrderItem orderItem = asnOrderItemService.getOne(new LambdaQueryWrapper<AsnOrderItem>().eq(AsnOrderItem::getId, item.getOrderItemId()));
+//            if (Objects.isNull(orderItem)) {
+//                throw new CoolException("鍗曟嵁鏄庣粏涓嶅瓨鍦紒锛�");
+//            }
             StockItem stockItem = new StockItem();
-            BeanUtils.copyProperties(orderItem, stockItem);
+            BeanUtils.copyProperties(item, stockItem);
             stockItem.setSourceItemId(item.getOrderItemId())
                     .setStockCode(stock.getCode())
-                    .setSourceItemId(orderItem.getId())
+                    .setSourceItemId(item.getOrderItemId())
                     .setId(null)
                     .setStockId(stock.getId());
             stockItems.add(stockItem);
diff --git a/rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/WaitPakinServiceImpl.java b/rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/WaitPakinServiceImpl.java
index 41f21f6..91d0a3e 100644
--- a/rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/WaitPakinServiceImpl.java
+++ b/rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/WaitPakinServiceImpl.java
@@ -129,6 +129,9 @@
                         .setUpdateBy(userId)
                         .setCreateBy(userId)
                         .setMatnrCode(item.getMatnrCode());
+                AsnOrder order = asnOrderService.getById(item.getAsnId());
+                    pakinItem.setType(order.getType())
+                            .setWkType(Short.parseShort(order.getWkType()));
                 for (PakinItem waitPakinItem : waitPakin.getItems()) {
                     if (waitPakinItem.getTrackCode().equals(item.getTrackCode())) {
                         if (waitPakinItem.getReceiptQty() > item.getAnfme() || waitPakinItem.getReceiptQty().compareTo(0.0) >= 0) {
@@ -165,6 +168,12 @@
                         .setUpdateBy(userId)
                         .setCreateBy(userId)
                         .setMatnrCode(item.getMatnrCode());
+                AsnOrder order = asnOrderService.getById(item.getAsnId());
+                if (!Objects.isNull(order)) {
+                    pakinItem.setType(null == order.getType() ?  null :order.getType())
+                            .setWkType(null == order.getWkType() ? null : Short.parseShort(order.getWkType()) );
+                }
+
                 for (PakinItem waitPakinItem : waitPakin.getItems()) {
                     if (waitPakinItem.getTrackCode().equals(item.getTrackCode())) {
                         if (waitPakinItem.getReceiptQty() > item.getAnfme() || waitPakinItem.getReceiptQty().compareTo(0.0) <= 0) {
diff --git a/rsf-server/src/main/resources/application-dev.yml b/rsf-server/src/main/resources/application-dev.yml
index efd3d05..4908061 100644
--- a/rsf-server/src/main/resources/application-dev.yml
+++ b/rsf-server/src/main/resources/application-dev.yml
@@ -12,10 +12,10 @@
       matching-strategy: ANT_PATH_MATCHER
   datasource:
     driver-class-name: com.mysql.jdbc.Driver
-#    url: jdbc:mysql://47.76.147.249:3306/rsf?useUnicode=true&characterEncoding=UTF-8&useSSL=false&serverTimezone=Asia/Shanghai
-    username: root
-    url: jdbc:mysql://127.0.0.1:3306/rsf?useUnicode=true&characterEncoding=UTF-8&useSSL=false&serverTimezone=Asia/Shanghai
-#    username: rsf
+    url: jdbc:mysql://47.76.147.249:3306/rsf?useUnicode=true&characterEncoding=UTF-8&useSSL=false&serverTimezone=Asia/Shanghai
+#    username: root
+#    url: jdbc:mysql://127.0.0.1:3306/rsf?useUnicode=true&characterEncoding=UTF-8&useSSL=false&serverTimezone=Asia/Shanghai
+    username: rsf
     password: 34821015
     type: com.alibaba.druid.pool.DruidDataSource
     druid:

--
Gitblit v1.9.1