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