From 5edad169a59ef92008c0d7896bd773a4230bf580 Mon Sep 17 00:00:00 2001
From: verou <857149855@qq.com>
Date: 星期四, 03 四月 2025 10:53:29 +0800
Subject: [PATCH] Merge branch 'devlop' of http://47.97.1.152:5880/r/wms-master into devlop

---
 rsf-admin/src/page/asnOrder/AsnOrderList.jsx                                                   |    1 
 rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/TaskServiceImpl.java      |    4 +
 rsf-admin/src/page/task/TaskList.jsx                                                           |   39 ++++++++++--
 rsf-server/src/main/java/com/vincent/rsf/server/manager/controller/StockItemController.java    |    4 
 rsf-server/src/main/java/com/vincent/rsf/server/api/service/MobileService.java                 |    2 
 rsf-server/src/main/java/com/vincent/rsf/server/api/controller/MobileController.java           |    2 
 rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/WaitPakinServiceImpl.java |    2 
 rsf-server/src/main/java/com/vincent/rsf/server/manager/entity/StockItem.java                  |    8 +-
 rsf-server/src/main/java/com/vincent/rsf/server/manager/schedules/ScheduleJobs.java            |    2 
 rsf-server/src/main/java/com/vincent/rsf/server/api/service/impl/MobileServiceImpl.java        |   14 ++--
 rsf-server/src/main/java/com/vincent/rsf/server/manager/entity/AsnOrderItem.java               |    4 
 rsf-server/src/main/java/com/vincent/rsf/server/manager/controller/TaskController.java         |   39 +++++++++++-
 12 files changed, 89 insertions(+), 32 deletions(-)

diff --git a/rsf-admin/src/page/asnOrder/AsnOrderList.jsx b/rsf-admin/src/page/asnOrder/AsnOrderList.jsx
index f0a45e4..70af9af 100644
--- a/rsf-admin/src/page/asnOrder/AsnOrderList.jsx
+++ b/rsf-admin/src/page/asnOrder/AsnOrderList.jsx
@@ -67,7 +67,6 @@
 
 const filters = [
   <SearchInput source="condition" alwaysOn />,
-
   <TextInput source="code" label="table.field.asnOrder.code" />,
   <TextInput source="poCode" label="table.field.asnOrder.poCode" />,
   <NumberInput source="poId" label="table.field.asnOrder.poId" />,
diff --git a/rsf-admin/src/page/task/TaskList.jsx b/rsf-admin/src/page/task/TaskList.jsx
index 64b1462..72cfe20 100644
--- a/rsf-admin/src/page/task/TaskList.jsx
+++ b/rsf-admin/src/page/task/TaskList.jsx
@@ -1,5 +1,7 @@
 import React, { useState, useRef, useEffect, useMemo, useCallback } from "react";
 import { useNavigate } from 'react-router-dom';
+import request from '@/utils/request';
+
 import {
     List,
     DatagridConfigurable,
@@ -15,6 +17,7 @@
     useRecordContext,
     useTranslate,
     useNotify,
+    useRefresh,
     useListContext,
     FunctionField,
     TextField,
@@ -111,9 +114,9 @@
                     marginRight: !!drawerVal ? `${PAGE_DRAWER_WIDTH}px` : 0,
                 }}
                 title={"menu.task"}
-                // empty={<EmptyData onClick={() => { setCreateDialog(true) }} />}
+                empty={<EmptyData onClick={() => { }} />}
                 filters={filters}
-                sort={{ field: "create_time", order: "desc" }}
+                sort={{ field: "sort", order: "desc" }}
                 actions={(
                     <TopToolbar>
                         <FilterButton />
@@ -212,11 +215,22 @@
  */
 const CancelButton = () => {
     const record = useRecordContext();
+    const notify = useNotify();
+    const refresh = useRefresh();
     const clickCancel = () => {
-        cancleTask([record])
+        cancleTask(record)
     };
     //鍙栨秷浠诲姟
-    const cancleTask = async (row) => {}
+    const cancleTask = async (row) => {
+        console.log(row);
+        const { data: { code, data, msg } } = await request.post(`/task/remove/` + row.id);
+        if (code === 200) {
+            notify(msg);
+            refresh();
+        } else {
+            notify(msg);
+        }
+    }
     return (
         <Button
             onClick={clickCancel}
@@ -231,11 +245,21 @@
  */
 const SetTopButton = () => {
     const record = useRecordContext();
+    const notify = useNotify();
+    const refresh = useRefresh();
     const clickTop = () => {
-        topTask([record])
+        topTask(record)
     };
     //缃《浠诲姟
-    const topTask = async (row) => { }
+    const topTask = async (row) => {
+        const { data: { code, data, msg } } = await request.post(`/task/top/` + row.id);
+        if (code === 200) {
+            notify(msg);
+            refresh();
+        } else {
+            notify(msg);
+        }
+     }
     return (
         <Button
             onClick={clickTop}
@@ -255,7 +279,7 @@
         cancleTask([record])
     };
     //鍙栨秷浠诲姟
-    const cancleTask = async (row) => {}
+    const cancleTask = async (row) => { }
     return (
         <Button
             onClick={clickCancel}
@@ -283,5 +307,4 @@
             <SwapVertIcon />
         </Button>
     )
-
 }
\ No newline at end of file
diff --git a/rsf-server/src/main/java/com/vincent/rsf/server/api/controller/MobileController.java b/rsf-server/src/main/java/com/vincent/rsf/server/api/controller/MobileController.java
index 13eb3eb..b9cd28e 100644
--- a/rsf-server/src/main/java/com/vincent/rsf/server/api/controller/MobileController.java
+++ b/rsf-server/src/main/java/com/vincent/rsf/server/api/controller/MobileController.java
@@ -219,7 +219,7 @@
         if (Objects.isNull(params)) {
             return R.error("鍙傛暟涓嶈兘涓虹┖锛侊紒");
         }
-        return mobileService.publicToStock(params);
+        return mobileService.publicToStock(params, getLoginUserId());
     }
 
     @ApiOperation("鑾峰彇浠诲姟淇℃伅")
diff --git a/rsf-server/src/main/java/com/vincent/rsf/server/api/service/MobileService.java b/rsf-server/src/main/java/com/vincent/rsf/server/api/service/MobileService.java
index 8609f3e..492b889 100644
--- a/rsf-server/src/main/java/com/vincent/rsf/server/api/service/MobileService.java
+++ b/rsf-server/src/main/java/com/vincent/rsf/server/api/service/MobileService.java
@@ -51,7 +51,7 @@
 
     R operateToStock(OpStockParams params);
 
-    R publicToStock(PublicToStockParams params);
+    R publicToStock(PublicToStockParams params, Long loginUserId);
 
     R taskToStock(String code);
 
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 8edde8a..150d18a 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
@@ -27,21 +27,18 @@
 import com.vincent.rsf.server.system.mapper.TenantMapper;
 import com.vincent.rsf.server.system.mapper.UserMapper;
 import com.vincent.rsf.server.system.service.FieldsItemService;
-import com.vincent.rsf.server.system.service.FieldsService;
 import com.vincent.rsf.server.system.service.UserLoginService;
 import com.vincent.rsf.server.system.utils.SerialRuleUtils;
 import org.apache.commons.lang3.StringUtils;
 import org.springframework.beans.BeanUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.beans.factory.annotation.Value;
-import org.springframework.context.annotation.Bean;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
 
 import javax.annotation.Resource;
 import javax.servlet.http.HttpServletRequest;
 import java.math.BigDecimal;
-import java.text.SimpleDateFormat;
 import java.util.*;
 import java.util.stream.Collectors;
 
@@ -612,12 +609,14 @@
 
     /**
      * 浜哄伐涓婃灦鍏ュ簱
+     *
      * @param params
+     * @param loginUserId
      * @return
      */
     @Override
     @Transactional(rollbackFor = Exception.class)
-    public R publicToStock(PublicToStockParams params) {
+    public R publicToStock(PublicToStockParams params, Long loginUserId) {
         if (Objects.isNull(params.getLocCode()) || StringUtils.isBlank(params.getLocCode())) {
             throw new CoolException("搴撲綅涓嶈兘涓虹┖锛侊紒");
         }
@@ -633,7 +632,9 @@
         stock.setAsnId(OrderId).setAsnCode(order.getCode());
         if (!Objects.isNull(order.getPoCode()) && StringUtils.isNotBlank(order.getPoCode())) {
             Purchase purchase = purchaseService.getOne(new LambdaQueryWrapper<Purchase>().eq(Purchase::getCode, order.getPoCode()));
-            stock.setPlatOrderNo(purchase.getPlatCode()).setPlatToken(purchase.getPlatId());
+            if (!Objects.isNull(purchase)) {
+                stock.setPlatOrderNo(purchase.getPlatCode()).setPlatToken(purchase.getPlatId());
+            }
         }
         String ruleCode = SerialRuleUtils.generateRuleCode(SerialRuleCode.SYS_STOCK_CODE, null);
         if (StringUtils.isBlank(ruleCode)) {
@@ -642,7 +643,7 @@
         if (!stockService.save(stock)) {
             throw new CoolException("搴撳瓨淇濆瓨澶辫触锛侊紒");
         }
-        Loc loc = locService.getOne(new LambdaQueryWrapper<Loc>().eq(Loc::getBarcode, params.getLocCode()));
+        Loc loc = locService.getOne(new LambdaQueryWrapper<Loc>().eq(Loc::getCode, params.getLocCode()));
         if (Objects.isNull(loc)) {
             throw new CoolException("搴撲綅涓嶅瓨鍦紒锛�");
         }
@@ -653,6 +654,7 @@
             stockItem.setAsnItemId(orderItem.getId())
                     .setBarcode(orderItem.getBarcode())
                     .setLocId(loc.getId())
+                    .setUpdateBy(loginUserId)
                     .setId(null)
                     .setStockId(stock.getId());
             stockItems.add(stockItem);
diff --git a/rsf-server/src/main/java/com/vincent/rsf/server/manager/controller/StockItemController.java b/rsf-server/src/main/java/com/vincent/rsf/server/manager/controller/StockItemController.java
index 47e8a1b..844c06b 100644
--- a/rsf-server/src/main/java/com/vincent/rsf/server/manager/controller/StockItemController.java
+++ b/rsf-server/src/main/java/com/vincent/rsf/server/manager/controller/StockItemController.java
@@ -95,10 +95,10 @@
         List<KeyValVo> vos = new ArrayList<>();
         LambdaQueryWrapper<StockItem> wrapper = new LambdaQueryWrapper<>();
         if (!Cools.isEmpty(condition)) {
-            wrapper.like(StockItem::getMatnrk, condition);
+            wrapper.like(StockItem::getMaktx, condition);
         }
         stockItemService.page(new Page<>(1, 30), wrapper).getRecords().forEach(
-                item -> vos.add(new KeyValVo(item.getId(), item.getMatnrk()))
+                item -> vos.add(new KeyValVo(item.getId(), item.getMaktx()))
         );
         return R.ok().add(vos);
     }
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 b3710c4..11a8dc0 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
@@ -1,6 +1,7 @@
 package com.vincent.rsf.server.manager.controller;
 
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.vincent.rsf.framework.common.Cools;
 import com.vincent.rsf.framework.common.R;
@@ -128,16 +129,46 @@
         ExcelUtil.build(ExcelUtil.create(taskService.list(), Task.class), response);
     }
 
-
     @PreAuthorize("hasAuthority('manager:task:update')")
     @ApiOperation("瀹屾垚浠诲姟")
-    @GetMapping("/task/complete/{id}")
+    @PostMapping("/task/complete/{id}")
     public R completeTask(@PathVariable String id) {
         if (Objects.isNull(id)) {
             throw new CoolException("鍙傛暟涓嶈兘涓虹┖锛侊紒");
         }
-//        return taskService.completeTask(id);
-        return null;
+        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("浠诲姟寮傚父锛屾棤娉曞畬鎴愶紒锛�");
+        }
+        return R.ok();
+    }
+
+    @PreAuthorize("hasAuthority('manager:task:update')")
+    @ApiOperation("浠诲姟鍑哄簱缃《")
+    @PostMapping("/task/top/{id}")
+    public R setTop(@PathVariable String id) {
+        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 {
+            if (!taskService.update(new LambdaUpdateWrapper<Task>().set(Task::getSort, 100).eq(Task::getId, id))) {
+                throw new CoolException("缃《澶辫触锛侊紒");
+            }
+        } catch (Exception ex) {
+            return R.error("浠诲姟寮傚父锛屾棤娉曞畬鎴愶紒锛�");
+        }
+        return R.ok();
     }
 
 
diff --git a/rsf-server/src/main/java/com/vincent/rsf/server/manager/entity/AsnOrderItem.java b/rsf-server/src/main/java/com/vincent/rsf/server/manager/entity/AsnOrderItem.java
index b2f899c..0e1a978 100644
--- a/rsf-server/src/main/java/com/vincent/rsf/server/manager/entity/AsnOrderItem.java
+++ b/rsf-server/src/main/java/com/vincent/rsf/server/manager/entity/AsnOrderItem.java
@@ -86,7 +86,7 @@
      * 鐗╂枡鏍囪瘑
      */
     @ApiModelProperty(value= "鐗╂枡鏍囪瘑")
-    private String matnrId;
+    private Long matnrId;
 
     /**
      * 鐗╂枡缂栫爜
@@ -233,7 +233,7 @@
 
     public AsnOrderItem() {}
 
-    public AsnOrderItem(Long asnId,String asnCode,Long poDetlId, String matnrCode, String poCode,String matnrId,String matnk,Double anfme,String stockUnit,Double purQty,String purUnit,Double qty,String splrCode,String splrName,String qrcode,String barcode,String packName,Integer status, Integer ntyStatus,Integer deleted,Integer tenantId,Long createBy,Date createTime,Long updateBy,Date updateTime,String memo) {
+    public AsnOrderItem(Long asnId,String asnCode,Long poDetlId, String matnrCode, String poCode,Long matnrId,String matnk,Double anfme,String stockUnit,Double purQty,String purUnit,Double qty,String splrCode,String splrName,String qrcode,String barcode,String packName,Integer status, Integer ntyStatus,Integer deleted,Integer tenantId,Long createBy,Date createTime,Long updateBy,Date updateTime,String memo) {
         this.asnId = asnId;
         this.asnCode = asnCode;
         this.poDetlId = poDetlId;
diff --git a/rsf-server/src/main/java/com/vincent/rsf/server/manager/entity/StockItem.java b/rsf-server/src/main/java/com/vincent/rsf/server/manager/entity/StockItem.java
index d90bbe0..d256b0c 100644
--- a/rsf-server/src/main/java/com/vincent/rsf/server/manager/entity/StockItem.java
+++ b/rsf-server/src/main/java/com/vincent/rsf/server/manager/entity/StockItem.java
@@ -58,7 +58,7 @@
      * 鐗╂枡缂栫爜
      */
     @ApiModelProperty(value= "鐗╂枡缂栫爜")
-    private String code;
+    private String matnrCode;
 
 
     @ApiModelProperty(value = "閫氱煡鍗曟槑缁嗘爣璇�")
@@ -68,7 +68,7 @@
      * 鍚嶇О
      */
     @ApiModelProperty(value= "鍚嶇О")
-    private String matnrk;
+    private String maktx;
 
     /**
      * 鏁伴噺
@@ -269,8 +269,8 @@
         this.stockId = stockId;
         this.matnrId = matnrId;
         this.asnItemId = asnItemId;
-        this.code = code;
-        this.matnrk = matnrk;
+        this.matnrCode = code;
+        this.maktx = matnrk;
         this.anfme = anfme;
         this.workQty = workQty;
         this.qty = qty;
diff --git a/rsf-server/src/main/java/com/vincent/rsf/server/manager/schedules/ScheduleJobs.java b/rsf-server/src/main/java/com/vincent/rsf/server/manager/schedules/ScheduleJobs.java
index 3ea93c3..c270e68 100644
--- a/rsf-server/src/main/java/com/vincent/rsf/server/manager/schedules/ScheduleJobs.java
+++ b/rsf-server/src/main/java/com/vincent/rsf/server/manager/schedules/ScheduleJobs.java
@@ -129,7 +129,7 @@
                         .setPurUnit(item.getUnit())
                         .setMatnrCode(matnr.getCode())
                         .setMaktx(matnr.getName())
-                        .setMatnrId(matnr.getId() + "");
+                        .setMatnrId(matnr.getId());
                 orderItems.add(orderItem);
             });
             if (!asnOrderItemService.saveBatch(orderItems)) {
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 b3335ec..2f22214 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
@@ -148,7 +148,9 @@
             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()));
-                stock.setPlatOrderNo(purchase.getPlatCode()).setPlatToken(purchase.getPlatId());
+                if (!Objects.isNull(purchase)) {
+                    stock.setPlatOrderNo(purchase.getPlatCode()).setPlatToken(purchase.getPlatId());
+                }
             }
             String ruleCode = SerialRuleUtils.generateRuleCode(SerialRuleCode.SYS_STOCK_CODE, null);
             if (StringUtils.isBlank(ruleCode)) {
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 cc8f42a..e2c40cb 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
@@ -108,7 +108,7 @@
                     .setUnit(item.getStockUnit())
                     .setFieldsIndex(item.getFieldsIndex())
                     .setUnit(item.getStockUnit())
-                    .setMatnrId(StringUtils.isNotBlank(item.getMatnrId()) ? Long.parseLong(item.getMatnrId()) : null)
+                    .setMatnrId(item.getMatnrId())
                     .setMaktx(item.getMaktx())
                     .setMatnrCode(item.getMatnrCode());
             for (PakinItem waitPakinItem : waitPakin.getItems()) {

--
Gitblit v1.9.1