From 930cf3fe63ddea4720ca6818df94c2161a04054f Mon Sep 17 00:00:00 2001
From: skyouc
Date: 星期三, 11 六月 2025 15:51:43 +0800
Subject: [PATCH] 任务工作档优化 代码优化 生成工作档优化

---
 rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/OutStockServiceImpl.java |    2 
 rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/TaskServiceImpl.java     |   44 ++++++++++----
 /dev/null                                                                                     |   52 -----------------
 rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/LocItemServiceImpl.java  |    5 +
 rsf-server/src/main/java/com/vincent/rsf/server/manager/entity/Task.java                      |    3 +
 rsf-server/src/main/java/com/vincent/rsf/server/common/config/WebMvcConfig.java               |   15 -----
 rsf-server/src/main/java/com/vincent/rsf/server/manager/schedules/TaskSchedules.java          |    2 
 rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/WaveServiceImpl.java     |    6 -
 rsf-server/src/main/java/com/vincent/rsf/server/api/controller/mcp/McpController.java         |    6 -
 rsf-server/src/main/java/com/vincent/rsf/server/manager/controller/LocItemController.java     |    6 +-
 rsf-server/src/main/java/com/vincent/rsf/server/manager/enums/TaskResouceType.java            |   29 +++++++++
 rsf-server/src/main/java/com/vincent/rsf/server/manager/service/LocItemService.java           |    3 
 12 files changed, 77 insertions(+), 96 deletions(-)

diff --git a/rsf-server/src/main/java/com/vincent/rsf/server/api/controller/mcp/McpController.java b/rsf-server/src/main/java/com/vincent/rsf/server/api/controller/mcp/McpController.java
index 1819d59..771c1bc 100644
--- a/rsf-server/src/main/java/com/vincent/rsf/server/api/controller/mcp/McpController.java
+++ b/rsf-server/src/main/java/com/vincent/rsf/server/api/controller/mcp/McpController.java
@@ -6,20 +6,18 @@
 import com.vincent.rsf.framework.common.Cools;
 import com.vincent.rsf.framework.common.R;
 import com.vincent.rsf.server.common.constant.Constants;
-import com.vincent.rsf.server.common.domain.BaseParam;
-import com.vincent.rsf.server.common.domain.PageParam;
 import com.vincent.rsf.server.common.utils.FieldsUtils;
 import com.vincent.rsf.server.manager.controller.params.LocToTaskParams;
 import com.vincent.rsf.server.manager.entity.DeviceSite;
 import com.vincent.rsf.server.manager.entity.LocItem;
 import com.vincent.rsf.server.manager.enums.LocStsType;
+import com.vincent.rsf.server.manager.enums.TaskResouceType;
 import com.vincent.rsf.server.manager.service.DeviceSiteService;
 import com.vincent.rsf.server.manager.service.LocItemService;
 import com.vincent.rsf.server.system.controller.BaseController;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
 import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.security.access.prepost.PreAuthorize;
 import org.springframework.web.bind.annotation.PostMapping;
 import org.springframework.web.bind.annotation.RequestBody;
 import org.springframework.web.bind.annotation.RequestMapping;
@@ -87,7 +85,7 @@
         param.setType(Constants.TASK_TYPE_OUT_STOCK);
 
         try {
-            locItemService.generateTask(param, getLoginUserId());
+            locItemService.generateTask(TaskResouceType.TASK_RESOUCE_STOCK_TYPE.val, param, getLoginUserId());
         } catch (Exception e) {
             throw new RuntimeException(e);
         }
diff --git a/rsf-server/src/main/java/com/vincent/rsf/server/common/config/WebMvcConfig.java b/rsf-server/src/main/java/com/vincent/rsf/server/common/config/WebMvcConfig.java
index f5b8463..e312df0 100644
--- a/rsf-server/src/main/java/com/vincent/rsf/server/common/config/WebMvcConfig.java
+++ b/rsf-server/src/main/java/com/vincent/rsf/server/common/config/WebMvcConfig.java
@@ -1,7 +1,6 @@
 package com.vincent.rsf.server.common.config;
 
 import com.vincent.rsf.server.common.constant.Constants;
-import com.vincent.rsf.server.common.interceptor.severlet.DynamicFieldsInterceptor;
 import com.vincent.rsf.server.common.utils.Http;
 import org.springframework.context.annotation.Bean;
 import org.springframework.context.annotation.Configuration;
@@ -28,22 +27,8 @@
         registry.addInterceptor(getAsyncHandlerInterceptor())
                 .addPathPatterns("/**")
                 .excludePathPatterns("/swagger-resources/**", "/webjars/**","/erp/**", "/v2/**","/v3/**","/doc.html/**", "/swagger-ui.html/**");
-
-        registry.addInterceptor(dynamicFieldsInterceptor())
-                .addPathPatterns("/**")
-                .excludePathPatterns("/swagger-resources/**",
-                        "/webjars/**",
-                        "/erp/**",
-                        "/v2/**",
-                        "/v3/**",
-                        "/doc.html/**",
-                        "/swagger-ui.html/**");
     }
 
-    @Bean
-    public DynamicFieldsInterceptor dynamicFieldsInterceptor() {
-        return new DynamicFieldsInterceptor();
-    }
 
     @Bean
     public AsyncHandlerInterceptor getAsyncHandlerInterceptor() {
diff --git a/rsf-server/src/main/java/com/vincent/rsf/server/common/interceptor/severlet/CustomParameterFilter.java b/rsf-server/src/main/java/com/vincent/rsf/server/common/interceptor/severlet/CustomParameterFilter.java
deleted file mode 100644
index ddef2aa..0000000
--- a/rsf-server/src/main/java/com/vincent/rsf/server/common/interceptor/severlet/CustomParameterFilter.java
+++ /dev/null
@@ -1,37 +0,0 @@
-package com.vincent.rsf.server.common.interceptor.severlet;
-
-import org.springframework.stereotype.Component;
-import org.springframework.web.filter.OncePerRequestFilter;
-import javax.servlet.FilterChain;
-import javax.servlet.ServletException;
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
-import java.io.IOException;
-
-//@Component
-public class CustomParameterFilter extends OncePerRequestFilter {
-
-    @Override
-    protected void doFilterInternal(HttpServletRequest request,
-                                    HttpServletResponse response,
-                                    FilterChain filterChain)
-            throws ServletException, IOException {
-
-        ParameterAddableRequest wrappedRequest = new ParameterAddableRequest(request);
-        // 娣诲姞绯荤粺绾у弬鏁�
-        wrappedRequest.addParameter("systemVersion", "1.0.0");
-        wrappedRequest.addParameter("environment", System.getProperty("spring.profiles.active", "default"));
-        // 娣诲姞璇锋眰杩借釜淇℃伅
-        addTraceInfo(wrappedRequest);
-
-        filterChain.doFilter(wrappedRequest, response);
-    }
-
-    private void addTraceInfo(ParameterAddableRequest request) {
-        String traceId = request.getHeader("X-Trace-Id");
-//        if (traceId == null || traceId.isEmpty()) {
-//            traceId = UUID.randomUUID().toString();
-//        }
-        request.addParameter("traceId", "traceId");
-    }
-}
\ No newline at end of file
diff --git a/rsf-server/src/main/java/com/vincent/rsf/server/common/interceptor/severlet/DynamicFieldsInterceptor.java b/rsf-server/src/main/java/com/vincent/rsf/server/common/interceptor/severlet/DynamicFieldsInterceptor.java
deleted file mode 100644
index ca9ed9a..0000000
--- a/rsf-server/src/main/java/com/vincent/rsf/server/common/interceptor/severlet/DynamicFieldsInterceptor.java
+++ /dev/null
@@ -1,66 +0,0 @@
-package com.vincent.rsf.server.common.interceptor.severlet;
-
-import lombok.extern.slf4j.Slf4j;
-import org.springframework.web.servlet.HandlerInterceptor;
-import org.springframework.web.servlet.ModelAndView;
-
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
-
-/**
- * @author Ryan
- * @version 1.0
- * @title DynamicFieldsInterceptor
- * @description
- * @create 2025/4/16 16:10
- */
-@Slf4j
-public class DynamicFieldsInterceptor implements HandlerInterceptor {
-
-    @Override
-    public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception {
-
-
-//        if (request instanceof ParameterAddableRequest) {
-//            ParameterAddableRequest wrappedRequest = (ParameterAddableRequest) request;
-//
-//            // 娣诲姞涓氬姟鍙傛暟
-//            wrappedRequest.addParameter("processedBy", "CustomParameterInterceptor");
-//
-//            // 鍙互浠嶴ession鎴栧叾浠栧湴鏂硅幏鍙栨暟鎹�
-//            Object userId = request.getSession().getAttribute("userId");
-//            if (userId != null) {
-//                wrappedRequest.addParameter("currentUserId", userId.toString());
-//            }
-//        }
-//
-//        return true;
-
-
-//        List<Fields> fields = FieldsUtils.getFieldsSta();
-//        List<String> fieldsKey = fields.stream().filter(item -> item.getFlagEnable() == 1).map(Fields::getFields).collect(Collectors.toList());
-//        fieldsKey.forEach(key -> {
-//            if (request.getParameterMap().keySet().contains(key)) {
-//                request.setAttribute(key, request.getParameterMap().get(key));
-//            }
-//        })
-//        if (request instanceof ParameterAddableRequest) {
-//            ParameterAddableRequest wrappedRequest = (ParameterAddableRequest) request;
-//            wrappedRequest.addParameter("DynamicFields", "springValue");
-//        }
-
-//        return true;
-        return HandlerInterceptor.super.preHandle(request, response, handler);
-    }
-
-    @Override
-    public void postHandle(HttpServletRequest request, HttpServletResponse response, Object handler, ModelAndView modelAndView) throws Exception {
-        HandlerInterceptor.super.postHandle(request, response, handler, modelAndView);
-    }
-
-    @Override
-    public void afterCompletion(HttpServletRequest request, HttpServletResponse response, Object handler, Exception ex) throws Exception {
-        System.out.println(response.getOutputStream().toString());
-        HandlerInterceptor.super.afterCompletion(request, response, handler, ex);
-    }
-}
diff --git a/rsf-server/src/main/java/com/vincent/rsf/server/common/interceptor/severlet/ParameterAddableRequest.java b/rsf-server/src/main/java/com/vincent/rsf/server/common/interceptor/severlet/ParameterAddableRequest.java
deleted file mode 100644
index 1283b6a..0000000
--- a/rsf-server/src/main/java/com/vincent/rsf/server/common/interceptor/severlet/ParameterAddableRequest.java
+++ /dev/null
@@ -1,61 +0,0 @@
-package com.vincent.rsf.server.common.interceptor.severlet;
-
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletRequestWrapper;
-import java.util.*;
-
-public class ParameterAddableRequest extends HttpServletRequestWrapper {
-    private final Map<String, String[]> additionalParams = new HashMap<>();
-
-    public ParameterAddableRequest(HttpServletRequest request) {
-        super(request);
-    }
-
-    /**
-     * 娣诲姞鏂板弬鏁�
-     * @param name 鍙傛暟鍚�
-     * @param value 鍙傛暟鍊�
-     */
-    public void addParameter(String name, String value) {
-        additionalParams.put(name, new String[]{value});
-    }
-
-    /**
-     * 娣诲姞鏂板弬鏁帮紙澶氬�硷級
-     * @param name 鍙傛暟鍚�
-     * @param values 鍙傛暟鍊兼暟缁�
-     */
-    public void addParameter(String name, String[] values) {
-        additionalParams.put(name, values);
-    }
-
-    @Override
-    public String getParameter(String name) {
-        if (additionalParams.containsKey(name)) {
-            return additionalParams.get(name)[0];
-        }
-        return super.getParameter(name);
-    }
-
-    @Override
-    public Map<String, String[]> getParameterMap() {
-        Map<String, String[]> combinedMap = new HashMap<>(super.getParameterMap());
-        combinedMap.putAll(additionalParams);
-        return Collections.unmodifiableMap(combinedMap);
-    }
-
-    @Override
-    public Enumeration<String> getParameterNames() {
-        Set<String> names = new HashSet<>(Collections.list(super.getParameterNames()));
-        names.addAll(additionalParams.keySet());
-        return Collections.enumeration(names);
-    }
-
-    @Override
-    public String[] getParameterValues(String name) {
-        if (additionalParams.containsKey(name)) {
-            return additionalParams.get(name);
-        }
-        return super.getParameterValues(name);
-    }
-}
\ No newline at end of file
diff --git a/rsf-server/src/main/java/com/vincent/rsf/server/common/interceptor/severlet/ParameterAddingFilter.java b/rsf-server/src/main/java/com/vincent/rsf/server/common/interceptor/severlet/ParameterAddingFilter.java
deleted file mode 100644
index 32f3c6b..0000000
--- a/rsf-server/src/main/java/com/vincent/rsf/server/common/interceptor/severlet/ParameterAddingFilter.java
+++ /dev/null
@@ -1,52 +0,0 @@
-package com.vincent.rsf.server.common.interceptor.severlet;
-
-import javax.servlet.*;
-import javax.servlet.annotation.WebFilter;
-import javax.servlet.http.HttpServletRequest;
-import java.io.IOException;
-
-@WebFilter("/*") // 鎷︽埅鎵�鏈夎姹�
-public class ParameterAddingFilter implements Filter {
-
-    @Override
-    public void init(FilterConfig filterConfig) throws ServletException {
-        // 鍒濆鍖栭�昏緫
-    }
-
-    @Override
-    public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain)
-            throws IOException, ServletException {
-
-        if (request instanceof HttpServletRequest) {
-            // 鍒涘缓鍙慨鏀瑰弬鏁扮殑璇锋眰鍖呰鍣�
-            ParameterAddableRequest wrappedRequest =
-                    new ParameterAddableRequest((HttpServletRequest) request);
-
-            // 娣诲姞鑷畾涔夊弬鏁�
-            addCustomParameters(wrappedRequest);
-
-            // 缁х画杩囨护鍣ㄩ摼
-            chain.doFilter(wrappedRequest, response);
-        } else {
-            chain.doFilter(request, response);
-        }
-    }
-
-    private void addCustomParameters(ParameterAddableRequest request) {
-        // 娣诲姞璇锋眰ID鍜屾椂闂存埑
-//        request.addParameter("requestId", UUID.randomUUID().toString());
-        request.addParameter("timestamp", String.valueOf(System.currentTimeMillis()));
-        // 鏍规嵁涓氬姟闇�姹傛坊鍔犲叾浠栧弬鏁�
-        String userAgent = request.getHeader("User-Agent");
-        if (userAgent != null && userAgent.contains("Mobile")) {
-            request.addParameter("deviceType", "mobile");
-        } else {
-            request.addParameter("deviceType", "desktop");
-        }
-    }
-
-    @Override
-    public void destroy() {
-        // 娓呯悊閫昏緫
-    }
-}
\ No newline at end of file
diff --git a/rsf-server/src/main/java/com/vincent/rsf/server/manager/controller/LocItemController.java b/rsf-server/src/main/java/com/vincent/rsf/server/manager/controller/LocItemController.java
index 108539b..8767670 100644
--- a/rsf-server/src/main/java/com/vincent/rsf/server/manager/controller/LocItemController.java
+++ b/rsf-server/src/main/java/com/vincent/rsf/server/manager/controller/LocItemController.java
@@ -5,7 +5,6 @@
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.vincent.rsf.framework.common.Cools;
 import com.vincent.rsf.framework.common.R;
-import com.vincent.rsf.server.api.utils.LocUtils;
 import com.vincent.rsf.server.common.constant.Constants;
 import com.vincent.rsf.server.common.utils.ExcelUtil;
 import com.vincent.rsf.server.common.annotation.OperationLog;
@@ -15,6 +14,7 @@
 import com.vincent.rsf.server.common.utils.FieldsUtils;
 import com.vincent.rsf.server.manager.controller.params.LocToTaskParams;
 import com.vincent.rsf.server.manager.entity.LocItem;
+import com.vincent.rsf.server.manager.enums.TaskResouceType;
 import com.vincent.rsf.server.manager.service.LocItemService;
 import com.vincent.rsf.server.manager.service.LocService;
 import com.vincent.rsf.server.system.controller.BaseController;
@@ -98,7 +98,7 @@
         param.setType(Constants.TASK_TYPE_OUT_STOCK);
 
         try {
-            locItemService.generateTask(param, getLoginUserId());
+            locItemService.generateTask(TaskResouceType.TASK_RESOUCE_STOCK_TYPE.val, param, getLoginUserId());
         } catch (Exception e) {
             throw new RuntimeException(e);
         }
@@ -136,7 +136,7 @@
         map.setType(Constants.TASK_TYPE_OUT_CHECK);
 
         try {
-            locItemService.generateTask(map, getLoginUserId());
+            locItemService.generateTask(TaskResouceType.TASK_RESOUCE_CHECK_TYPE.val, map, getLoginUserId());
         } catch (Exception e) {
             throw new RuntimeException(e);
         }
diff --git a/rsf-server/src/main/java/com/vincent/rsf/server/manager/entity/Task.java b/rsf-server/src/main/java/com/vincent/rsf/server/manager/entity/Task.java
index 74ec628..0a99503 100644
--- a/rsf-server/src/main/java/com/vincent/rsf/server/manager/entity/Task.java
+++ b/rsf-server/src/main/java/com/vincent/rsf/server/manager/entity/Task.java
@@ -53,6 +53,9 @@
     @ApiModelProperty(value= "浠诲姟鍙�")
     private String taskCode;
 
+    @ApiModelProperty("浠诲姟鏉ユ簮")
+    private Short resource;
+
     /**
      * 浠诲姟鐘舵��
      */
diff --git a/rsf-server/src/main/java/com/vincent/rsf/server/manager/enums/TaskResouceType.java b/rsf-server/src/main/java/com/vincent/rsf/server/manager/enums/TaskResouceType.java
new file mode 100644
index 0000000..9915624
--- /dev/null
+++ b/rsf-server/src/main/java/com/vincent/rsf/server/manager/enums/TaskResouceType.java
@@ -0,0 +1,29 @@
+package com.vincent.rsf.server.manager.enums;
+
+/**
+ * 浠诲姟鐢熸垚鏉ユ簮绫诲瀷
+ */
+public enum TaskResouceType {
+
+    //璁㈠崟绫诲瀷
+    TASK_RESOUCE_WAVE_TYPE("1", "娉㈡浠诲姟"),
+
+    TASK_RESOUCE_STOCK_TYPE("2", "搴撳瓨鍑哄簱浠诲姟"),
+
+    TASK_RESOUCE_PAKIN_TYPE("3", "缁勬嫋浠诲姟"),
+
+    TASK_RESOUCE_ORDER_TYPE("4", "鍗曟嵁鍑哄簱浠诲姟"),
+
+    TASK_RESOUCE_CHECK_TYPE("4", "鐩樼偣鍑哄簱浠诲姟"),
+
+
+    ;
+    TaskResouceType(String val, String desc) {
+        this.val = Short.parseShort(val);
+        this.desc = desc;
+    }
+
+    public Short val;
+
+    public String desc;
+}
diff --git a/rsf-server/src/main/java/com/vincent/rsf/server/manager/schedules/TaskSchedules.java b/rsf-server/src/main/java/com/vincent/rsf/server/manager/schedules/TaskSchedules.java
index 57813fb..7043713 100644
--- a/rsf-server/src/main/java/com/vincent/rsf/server/manager/schedules/TaskSchedules.java
+++ b/rsf-server/src/main/java/com/vincent/rsf/server/manager/schedules/TaskSchedules.java
@@ -165,7 +165,7 @@
     @Transactional(rollbackFor = Exception.class)
     public void taskLogUpdate() {
         LambdaQueryWrapper<Task> queryWrapper = new LambdaQueryWrapper<Task>();
-        Config config = configService.getOne(new LambdaQueryWrapper<Config>().eq(Config::getFlag, GlobalConfigCode.ORDER_INOF_REPORT_PLAT));
+        Config config = configService.getOne(new LambdaQueryWrapper<Config>().eq(Config::getFlag, GlobalConfigCode.ORDER_INOF_REPORT_PLAT));//鏄惁涓婃姤骞冲彴
         if (!Objects.isNull(config)) {
             if (Boolean.parseBoolean(config.getVal())) {
                 queryWrapper.in(Task::getTaskStatus, TaskStsType.REPORT_IN.id);
diff --git a/rsf-server/src/main/java/com/vincent/rsf/server/manager/service/LocItemService.java b/rsf-server/src/main/java/com/vincent/rsf/server/manager/service/LocItemService.java
index 44a86d7..689a0f3 100644
--- a/rsf-server/src/main/java/com/vincent/rsf/server/manager/service/LocItemService.java
+++ b/rsf-server/src/main/java/com/vincent/rsf/server/manager/service/LocItemService.java
@@ -1,14 +1,13 @@
 package com.vincent.rsf.server.manager.service;
 
 import com.baomidou.mybatisplus.extension.service.IService;
-import com.vincent.rsf.framework.common.R;
 import com.vincent.rsf.server.manager.controller.params.LocToTaskParams;
 import com.vincent.rsf.server.manager.entity.LocItem;
 import com.vincent.rsf.server.manager.entity.Task;
 
 public interface LocItemService extends IService<LocItem> {
 
-    void generateTask(LocToTaskParams map, Long loginUserId) throws Exception;
+    void generateTask(Short resouce, LocToTaskParams map, Long loginUserId) throws Exception;
 
     Task genMoveTask(LocToTaskParams map, Long loginUserId);
 
diff --git a/rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/LocItemServiceImpl.java b/rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/LocItemServiceImpl.java
index 634da61..3165298 100644
--- a/rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/LocItemServiceImpl.java
+++ b/rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/LocItemServiceImpl.java
@@ -1,7 +1,6 @@
 package com.vincent.rsf.server.manager.service.impl;
 
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
-import com.vincent.rsf.framework.common.R;
 import com.vincent.rsf.framework.exception.CoolException;
 import com.vincent.rsf.server.api.controller.params.TaskInParam;
 import com.vincent.rsf.server.api.entity.dto.InTaskMsgDto;
@@ -53,6 +52,7 @@
      * 搴撳瓨鍑哄簱鐢熸垚鍑哄簱浠诲姟
      * type: check 鐩樼偣, stock: 搴撳瓨鍑哄簱
      *
+     * @param resouce
      * @param map
      * @param loginUserId
      * @return
@@ -60,7 +60,7 @@
     @Override
     @Synchronized
     @Transactional(rollbackFor = Exception.class)
-    public void generateTask(LocToTaskParams map, Long loginUserId) throws Exception {
+    public void generateTask(Short resouce, LocToTaskParams map, Long loginUserId) throws Exception {
         if (Objects.isNull(map.getSiteNo())) {
             throw new CoolException("绔欑偣涓嶈兘涓虹┖锛�");
         }
@@ -99,6 +99,7 @@
             String ruleCode = SerialRuleUtils.generateRuleCode(SerialRuleCode.SYS_TASK_CODE, null);
             task.setOrgLoc(loc.getCode())
                     .setTaskCode(ruleCode)
+                    .setResource(resouce)
                     .setTargSite(siteNo)
                     .setSort(Constants.TASK_SORT_DEFAULT_VALUE)
                     .setUpdateBy(loginUserId)
diff --git a/rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/OutStockServiceImpl.java b/rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/OutStockServiceImpl.java
index 0a0c2f0..7948911 100644
--- a/rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/OutStockServiceImpl.java
+++ b/rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/OutStockServiceImpl.java
@@ -476,7 +476,7 @@
                         .setSiteNo(param.getSiteNo());
                 try {
                     //鐢熸垚鍑哄簱浠诲姟
-                    locItemService.generateTask(taskParams, loginUserId);
+                    locItemService.generateTask(TaskResouceType.TASK_RESOUCE_ORDER_TYPE.val, taskParams, loginUserId);
                 } catch (Exception e) {
                     logger.error("UNK", e);
                     throw new CoolException(e.getMessage());
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 aaa683a..816bc4d 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
@@ -310,6 +310,7 @@
             task.setTaskCode(ruleCode)
                     .setTaskStatus(TaskStsType.GENERATE_IN.id)
                     .setTaskType(TaskType.TASK_TYPE_IN.type)
+                    .setResource(TaskResouceType.TASK_RESOUCE_PAKIN_TYPE.val)
                     .setTargLoc(targetLoc)
                     .setBarcode(pakin.getBarcode())
                     .setOrgSite(deviceSite.getSite())
@@ -814,7 +815,7 @@
                             Double workQty = Math.round((asnOrder.getWorkQty() - item.getAnfme()) * 10000) / 10000.0;
 
                             asnOrder.setExceStatus(AsnExceStatus.OUT_STOCK_STATUS_TASK_INIT.val)
-                                    .setWorkQty(workQty.compareTo(0.00) > 0 ? workQty : 0.00 )
+                                    .setWorkQty(workQty.compareTo(0.00) > 0 ? workQty : 0.00)
                                     .setUpdateBy(loginUserId)
                                     .setUpdateTime(new Date());
                             if (!outStockService.updateById(asnOrder)) {
@@ -1031,19 +1032,34 @@
         if (Objects.isNull(list) || list.isEmpty()) {
             Map<Long, List<TaskItem>> maps = taskItems.stream().collect(Collectors.groupingBy(TaskItem::getSource));
             maps.keySet().forEach(key -> {
-                WaveItem waveItem = waveItemService.getById(key);
-                if (Objects.isNull(waveItem)) {
-                    throw new CoolException("娉㈡鏄庣粏涓嶅瓨鍦紒锛�");
-                }
-                try {
-                    saveOutStockItem(maps.get(key), waveItem, loginUserId);
-                } catch (Exception e) {
-                    throw new CoolException(e.getMessage());
+                if (task.getResource().equals(TaskResouceType.TASK_RESOUCE_WAVE_TYPE.val)) {
+                    WaveItem waveItem = waveItemService.getById(key);
+                    if (Objects.isNull(waveItem)) {
+                        throw new CoolException("娉㈡鏄庣粏涓嶅瓨鍦紒锛�");
+                    }
+                    try {
+                        saveOutStockItem(maps.get(key), null, waveItem, loginUserId);
+                    } catch (Exception e) {
+                        throw new CoolException(e.getMessage());
+                    }
+                } else if (task.getResource().equals(TaskResouceType.TASK_RESOUCE_ORDER_TYPE.val)) {
+                    AsnOrderItem orderItem = asnOrderItemService.getById(key);
+                    if (Objects.isNull(orderItem)) {
+                        throw new CoolException("鍗曟嵁鏄庣粏涓嶅瓨鍦紒锛�");
+                    }
+
+                    try {
+                        saveOutStockItem(maps.get(key), orderItem, null, loginUserId);
+                    } catch (Exception e) {
+                        throw new CoolException(e.getMessage());
+                    }
+                } else {
+
                 }
             });
         } else {
             try {
-                saveOutStockItem(taskItems, null, loginUserId);
+                saveOutStockItem(taskItems, null, null, loginUserId);
             } catch (Exception e) {
                 throw new CoolException(e.getMessage());
             }
@@ -1090,7 +1106,7 @@
      * @version 1.0
      */
     @Transactional(rollbackFor = Exception.class)
-    public void saveOutStockItem(List<TaskItem> taskItems, WaveItem waveItem, Long loginUserId) throws Exception {
+    public void saveOutStockItem(List<TaskItem> taskItems, AsnOrderItem orderItem, WaveItem waveItem, Long loginUserId) throws Exception {
         Stock stock = new Stock();
         String ruleCode = SerialRuleUtils.generateRuleCode(SerialRuleCode.SYS_STOCK_CODE, null);
         if (StringUtils.isBlank(ruleCode)) {
@@ -1103,7 +1119,11 @@
                 .setAnfme(sum);
         if (Objects.isNull(waveItem)) {
             stock.setWkType(Short.parseShort(OrderWorkType.ORDER_WORK_TYPE_STOCK_OUT.type))
-                    .setMemo("鍑哄簱鍗曞嚭搴擄紝鏃犲崟鎹俊鎭紒锛�")
+                    .setMemo("搴撳瓨鍑哄簱锛屾棤鍗曟嵁淇℃伅锛侊紒")
+                    .setType(OrderType.ORDER_OUT.type);
+        } else if (!Objects.isNull(orderItem) && StringUtils.isNotBlank(orderItem.getId() + "")) {
+            AsnOrder asnOrder = asnOrderService.getById(orderItem.getAsnId());
+            stock.setWkType(Short.parseShort(asnOrder.getWkType()))
                     .setType(OrderType.ORDER_OUT.type);
         } else {
             //TODO 鐢熸垚娉㈡鏃堕渶瑕佸皢娉㈡鍙峰啓鍏ュ崟鎹紝閫氳繃鐗╂枡锛屾壒娆★紝鍔ㄦ�佸瓧娈电瓑鍞竴鍊煎弽鏌ュ崟鎹俊鎭�
diff --git a/rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/WaveServiceImpl.java b/rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/WaveServiceImpl.java
index cafe93e..8e0e9d8 100644
--- a/rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/WaveServiceImpl.java
+++ b/rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/WaveServiceImpl.java
@@ -6,11 +6,8 @@
 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.manager.enums.TaskStsType;
-import com.vincent.rsf.server.manager.enums.TaskType;
+import com.vincent.rsf.server.manager.enums.*;
 import com.vincent.rsf.server.manager.entity.*;
-import com.vincent.rsf.server.manager.enums.AsnExceStatus;
-import com.vincent.rsf.server.manager.enums.WaveExceStatus;
 import com.vincent.rsf.server.manager.mapper.WaveMapper;
 import com.vincent.rsf.server.manager.service.*;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
@@ -164,6 +161,7 @@
             task.setTaskCode(ruleCode)
                     .setTaskType(TaskType.TASK_TYPE_OUT.type)
                     .setTaskStatus(TaskStsType.GENERATE_OUT.id)
+                    .setResource(TaskResouceType.TASK_RESOUCE_WAVE_TYPE.val)
                     .setBarcode(loc.getBarcode())
                     .setOrgLoc(loc.getCode())
                     .setCreateBy(loginUserId)

--
Gitblit v1.9.1