From 5807fc22aba974b4ca85a8049ecd983673b0ca28 Mon Sep 17 00:00:00 2001 From: skyouc <958836976@qq.com> Date: 星期一, 20 十月 2025 16:59:34 +0800 Subject: [PATCH] 1. 添加大屏接口 2. 任务站点确认修改 --- rsf-open-api/src/main/java/com/vincent/rsf/openApi/service/impl/MonitorServiceImpl.java | 71 +++++++ rsf-open-api/src/main/java/com/vincent/rsf/openApi/entity/constant/Constants.java | 134 ++++++++++++++ rsf-open-api/src/main/java/com/vincent/rsf/openApi/entity/constant/WmsConstant.java | 5 rsf-open-api/src/main/java/com/vincent/rsf/openApi/config/WebMvcConfig.java | 78 ++++++++ rsf-server/src/main/java/com/vincent/rsf/server/api/service/MonitorService.java | 10 + rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/TaskServiceImpl.java | 11 + rsf-server/src/main/java/com/vincent/rsf/server/manager/controller/WarehouseStockController.java | 4 rsf-open-api/src/main/java/com/vincent/rsf/openApi/service/MonitorService.java | 15 + rsf-open-api/src/main/java/com/vincent/rsf/openApi/controller/MonitorController.java | 34 +++ rsf-open-api/src/main/java/com/vincent/rsf/openApi/utils/Http.java | 42 ++++ rsf-server/src/main/java/com/vincent/rsf/server/common/security/SecurityConfig.java | 1 rsf-server/src/main/java/com/vincent/rsf/server/api/controller/pda/MonitorController.java | 85 +++++++++ rsf-server/src/main/java/com/vincent/rsf/server/api/service/impl/MonitorServiceImpl.java | 17 + 13 files changed, 502 insertions(+), 5 deletions(-) diff --git a/rsf-open-api/src/main/java/com/vincent/rsf/openApi/config/WebMvcConfig.java b/rsf-open-api/src/main/java/com/vincent/rsf/openApi/config/WebMvcConfig.java new file mode 100644 index 0000000..c663a60 --- /dev/null +++ b/rsf-open-api/src/main/java/com/vincent/rsf/openApi/config/WebMvcConfig.java @@ -0,0 +1,78 @@ +package com.vincent.rsf.openApi.config; + + +import com.vincent.rsf.openApi.entity.constant.Constants; +import com.vincent.rsf.openApi.utils.Http; +import org.springframework.context.annotation.Bean; +import org.springframework.context.annotation.Configuration; +import org.springframework.web.servlet.AsyncHandlerInterceptor; +import org.springframework.web.servlet.config.annotation.CorsRegistry; +import org.springframework.web.servlet.config.annotation.InterceptorRegistry; +import org.springframework.web.servlet.config.annotation.ResourceHandlerRegistry; +import org.springframework.web.servlet.config.annotation.WebMvcConfigurer; + +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; + +/** + * WebMvc閰嶇疆, 鎷︽埅鍣ㄣ�佽祫婧愭槧灏勭瓑閮藉湪姝ら厤缃� + * + * @author vincent + * @since 2019-06-12 10:11:16 + */ +@Configuration +public class WebMvcConfig implements WebMvcConfigurer { + + @Override + public void addInterceptors(InterceptorRegistry registry) { + registry.addInterceptor(getAsyncHandlerInterceptor()) + .addPathPatterns("/**") + .excludePathPatterns("/swagger-resources/**", "/webjars/**","/erp/**", "/v2/**","/v3/**","/doc.html/**", "/swagger-ui.html/**"); + } + + + @Bean + public AsyncHandlerInterceptor getAsyncHandlerInterceptor() { + return new AsyncHandlerInterceptor(){ + @Override + public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception { + Http.cors(response); + return true; + } + }; + } + + @Override + public void addResourceHandlers(ResourceHandlerRegistry registry) { + registry.addResourceHandler("/**").addResourceLocations("classpath:/static/"); + registry.addResourceHandler("swagger-ui.html") + .addResourceLocations("classpath:/META-INF/resources/"); + registry.addResourceHandler("doc.html") + .addResourceLocations("classpath:/META-INF/resources/"); + registry.addResourceHandler("/webjars/**") + .addResourceLocations("classpath:/META-INF/resources/webjars/"); + } + + + @Override + public void addCorsMappings(CorsRegistry registry) { + registry.addMapping("/**") + .allowedOriginPatterns("*") + .allowedHeaders("*") + .exposedHeaders(Constants.TOKEN_HEADER_NAME) + .allowedMethods("GET", "POST", "PUT", "DELETE", "OPTIONS", "PATCH") + .allowCredentials(true) + .maxAge(3600); + } + + + public static void cors(HttpServletResponse response){ + // 璺ㄥ煙璁剧疆 + response.setHeader("Access-Control-Max-Age", "3600"); + response.setHeader("Access-Control-Allow-Origin", "*"); + response.setHeader("Access-Control-Allow-Methods", "*"); + response.setHeader("Access-Control-Allow-Headers", "*"); + response.setHeader("Access-Control-Expose-Headers", Constants.TOKEN_HEADER_NAME); + } + +} diff --git a/rsf-open-api/src/main/java/com/vincent/rsf/openApi/controller/MonitorController.java b/rsf-open-api/src/main/java/com/vincent/rsf/openApi/controller/MonitorController.java new file mode 100644 index 0000000..084e62c --- /dev/null +++ b/rsf-open-api/src/main/java/com/vincent/rsf/openApi/controller/MonitorController.java @@ -0,0 +1,34 @@ +package com.vincent.rsf.openApi.controller; + +import com.vincent.rsf.openApi.entity.dto.CommonResponse; +import com.vincent.rsf.openApi.service.MonitorService; +import io.swagger.annotations.ApiOperation; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestBody; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +import java.util.Map; + + +/** + * 澶у睆 + */ +@RestController +@RequestMapping("/monitor") +public class MonitorController { + + @Autowired + private MonitorService monitorService; + /** + * 鑾峰彇鍑哄叆搴撴祦姘磋褰� + * @return + */ + @PostMapping("/inOut/page") + @ApiOperation("鑾峰彇鍏ュ嚭搴撴祦姘磋褰�") + public CommonResponse getInOutHis(@RequestBody Map<String, Object> param) { + return monitorService.getInOutHistories(param); + } + +} diff --git a/rsf-open-api/src/main/java/com/vincent/rsf/openApi/entity/constant/Constants.java b/rsf-open-api/src/main/java/com/vincent/rsf/openApi/entity/constant/Constants.java new file mode 100644 index 0000000..0fe215b --- /dev/null +++ b/rsf-open-api/src/main/java/com/vincent/rsf/openApi/entity/constant/Constants.java @@ -0,0 +1,134 @@ +package com.vincent.rsf.openApi.entity.constant; + +/** + * 绯荤粺甯搁噺 + * Created by vincent on 2019-10-29 15:55 + */ +public class Constants { + /** + * 榛樿鎴愬姛鐮� + */ + public static final int RESULT_OK_CODE = 0; + + /** + * 榛樿澶辫触鐮� + */ + public static final int RESULT_ERROR_CODE = 1; + + /** + * 榛樿鎴愬姛淇℃伅 + */ + public static final String RESULT_OK_MSG = "Request success"; + + /** + * 榛樿澶辫触淇℃伅 + */ + public static final String RESULT_ERROR_MSG = "Internal server error!"; + + /** + * 鏃犳潈闄愰敊璇爜 + */ + public static final int UNAUTHORIZED_CODE = 403; + + /** + * 鏃犳潈闄愭彁绀轰俊鎭� + */ + public static final String UNAUTHORIZED_MSG = "No access right"; + + /** + * 鏈璇侀敊璇爜 + */ + public static final int UNAUTHENTICATED_CODE = 401; + + /** + * 鏈璇佹彁绀轰俊鎭� + */ + public static final String UNAUTHENTICATED_MSG = "Please log in first"; + + /** + * 鐧诲綍杩囨湡閿欒鐮� + */ + public static final int TOKEN_EXPIRED_CODE = 401; + + /** + * 鐧诲綍杩囨湡鎻愮ず淇℃伅 + */ + public static final String TOKEN_EXPIRED_MSG = "Login expired"; + + /** + * 闈炴硶token閿欒鐮� + */ + public static final int BAD_CREDENTIALS_CODE = 401; + + /** + * 闈炴硶token鎻愮ず淇℃伅 + */ + public static final String BAD_CREDENTIALS_MSG = "Please log out and log in again"; + + /** + * 琛ㄧず鍗囧簭鐨勫�� + */ + public static final String ORDER_ASC_VALUE = "asc"; + + /** + * 琛ㄧず闄嶅簭鐨勫�� + */ + public static final String ORDER_DESC_VALUE = "desc"; + + /** + * token閫氳繃header浼犻�掔殑鍚嶇О + */ + public static final String TOKEN_HEADER_NAME = "Authorization"; + + /** + * token閫氳繃鍙傛暟浼犻�掔殑鍚嶇О + */ + public static final String TOKEN_PARAM_NAME = "access_token"; + + /** + * token璁よ瘉绫诲瀷 + */ + public static final String TOKEN_TYPE = "Bearer"; + + /** + * 搴撳瓨鍑哄簱 + */ + public static final String TASK_TYPE_OUT_STOCK = "outStock"; + + /** + * 搴撳瓨鐩樼偣鍑哄簱 + */ + public static final String TASK_TYPE_OUT_CHECK = "check"; + + /** + * 鍗曟嵁鍑哄簱 + */ + public static final String TASK_TYPE_ORDER_OUT_STOCK = "OrderOutStock"; + + /** + * 娉㈡鍑哄簱 + */ + public static final String TASK_TYPE_WAVE_OUT_STOCK = "WaveOutStock"; + + + /** + * 鎷f枡鍑哄簱 + */ + public static final String TASK_TYPE_OUT_PICK = "pick"; + + /** + * 鎺掑簭榛樿鍊� + */ + public static final Integer TASK_SORT_DEFAULT_VALUE = 49; + + /** + * 鎺掑簭鏈�澶у�� + */ + public static final Integer TASK_SORT_MAX_VALUE = 999; + + /** + * 鎺掑簭鏈�灏忓�� + */ + public static final Integer TASK_SORT_MIN_VALUE = 0; + +} diff --git a/rsf-open-api/src/main/java/com/vincent/rsf/openApi/entity/constant/WmsConstant.java b/rsf-open-api/src/main/java/com/vincent/rsf/openApi/entity/constant/WmsConstant.java index 1e109fe..381c93c 100644 --- a/rsf-open-api/src/main/java/com/vincent/rsf/openApi/entity/constant/WmsConstant.java +++ b/rsf-open-api/src/main/java/com/vincent/rsf/openApi/entity/constant/WmsConstant.java @@ -7,10 +7,8 @@ public static String callBack = "/rsf-server/wcs/receive/ex/msg"; - //璁㈠崟淇℃伅鏌ヨ public static String QUERY_ORDER_AND_DETLS = "/rsf-server/erp/query/order"; - //璁㈠崟淇℃伅淇敼/娣诲姞 public static String MODIFY_ORDER_DETLS = "/rsf-server/order/sync/orders/update"; @@ -18,5 +16,8 @@ //鍒犻櫎鍗曟嵁淇℃伅 public static String ORDER_DEL = "/rsf-server/order/sync/orders/delete"; + //鑾峰彇鍑哄叆搴撴祦姘� + public static String IN_OUT_HISTORIES = "/rsf-server/monitor/inOut/page"; + } diff --git a/rsf-open-api/src/main/java/com/vincent/rsf/openApi/service/MonitorService.java b/rsf-open-api/src/main/java/com/vincent/rsf/openApi/service/MonitorService.java new file mode 100644 index 0000000..5c77ce9 --- /dev/null +++ b/rsf-open-api/src/main/java/com/vincent/rsf/openApi/service/MonitorService.java @@ -0,0 +1,15 @@ +package com.vincent.rsf.openApi.service; + +import com.vincent.rsf.framework.common.R; +import com.vincent.rsf.openApi.entity.dto.CommonResponse; + +import java.util.Map; + +public interface MonitorService { + /** + * 鑾峰彇鍑哄叆搴撳巻鍙� + * @param param + * @return + */ + CommonResponse getInOutHistories(Map<String, Object> param); +} diff --git a/rsf-open-api/src/main/java/com/vincent/rsf/openApi/service/impl/MonitorServiceImpl.java b/rsf-open-api/src/main/java/com/vincent/rsf/openApi/service/impl/MonitorServiceImpl.java new file mode 100644 index 0000000..724bc78 --- /dev/null +++ b/rsf-open-api/src/main/java/com/vincent/rsf/openApi/service/impl/MonitorServiceImpl.java @@ -0,0 +1,71 @@ +package com.vincent.rsf.openApi.service.impl; + +import com.alibaba.fastjson.JSONObject; +import com.fasterxml.jackson.core.JsonProcessingException; +import com.fasterxml.jackson.databind.ObjectMapper; +import com.fasterxml.jackson.databind.cfg.CoercionAction; +import com.fasterxml.jackson.databind.cfg.CoercionInputShape; +import com.vincent.rsf.framework.common.R; +import com.vincent.rsf.framework.exception.CoolException; +import com.vincent.rsf.openApi.config.PlatformProperties; +import com.vincent.rsf.openApi.entity.constant.WmsConstant; +import com.vincent.rsf.openApi.entity.dto.CommonResponse; +import com.vincent.rsf.openApi.service.MonitorService; +import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.http.HttpEntity; +import org.springframework.http.HttpHeaders; +import org.springframework.http.HttpMethod; +import org.springframework.http.ResponseEntity; +import org.springframework.stereotype.Service; +import org.springframework.web.client.RestTemplate; + +import java.util.*; + +@Slf4j +@Service +public class MonitorServiceImpl implements MonitorService { + + @Autowired + private PlatformProperties.WmsApi wmsApi; + + @Autowired + private RestTemplate restTemplate; + /** + * 鑾峰彇鍑哄叆搴撳巻鍙� + * @param params + * @return + */ + @Override + public CommonResponse getInOutHistories(Map<String, Object> params) { + if (Objects.isNull(params)) { + throw new CoolException("璁㈠崟鍙蜂笉鑳戒负绌猴紒锛�"); + } + /**WMS鍩虹閰嶇疆閾炬帴*/ + String wmsUrl = wmsApi.getHost() + ":" + wmsApi.getPort() + WmsConstant.IN_OUT_HISTORIES; + log.info("淇敼璁㈠崟淇℃伅鍙婄姸鎬侊細 {}锛� 璇锋眰鍙傛暟锛� {}", wmsUrl, JSONObject.toJSONString(params)); + HttpHeaders headers = new HttpHeaders(); + headers.add("Content-Type", "application/json"); + headers.add("api-version", "v2.0"); + + HttpEntity httpEntity = new HttpEntity(params, headers); + ResponseEntity<String> exchange = restTemplate.exchange(wmsUrl, HttpMethod.POST, httpEntity, String.class); + log.info("璁㈠崟淇敼杩斿洖缁撴灉锛� {}", exchange); + if (Objects.isNull(exchange.getBody())) { + throw new CoolException("鏌ヨ澶辫触锛侊紒"); + } else { + ObjectMapper objectMapper = new ObjectMapper(); + objectMapper.coercionConfigDefaults().setCoercion(CoercionInputShape.EmptyString, CoercionAction.AsEmpty); + try { + CommonResponse result = objectMapper.readValue(exchange.getBody(), CommonResponse.class); + if (result.getCode() == 200) { + return result; + } else { + throw new CoolException("鏌ヨ澶辫触锛侊紒"); + } + } catch (JsonProcessingException e) { + throw new CoolException(e.getMessage()); + } + } + } +} diff --git a/rsf-open-api/src/main/java/com/vincent/rsf/openApi/utils/Http.java b/rsf-open-api/src/main/java/com/vincent/rsf/openApi/utils/Http.java new file mode 100644 index 0000000..84fcf23 --- /dev/null +++ b/rsf-open-api/src/main/java/com/vincent/rsf/openApi/utils/Http.java @@ -0,0 +1,42 @@ +package com.vincent.rsf.openApi.utils; + + +import com.alibaba.fastjson.JSON; +import com.alibaba.fastjson.JSONObject; +import com.vincent.rsf.framework.common.R; +import com.vincent.rsf.openApi.entity.constant.Constants; + +import javax.servlet.http.HttpServletResponse; +import java.io.PrintWriter; + +/** + * Created by vincent on 2019-08-01 + */ +public class Http { + + public static void response(HttpServletResponse response, String baseRes){ + response.setCharacterEncoding("utf-8"); + response.setContentType("application/json; charset=utf-8"); + try (PrintWriter out = response.getWriter()) { + R r = R.parse(baseRes); + JSONObject jsonObject = new JSONObject(); + jsonObject.put("total", "0"); + jsonObject.put("record", ""); + r.add(jsonObject); + out.print(JSON.toJSONString(r)); + out.flush(); + } catch (Exception e) { + e.printStackTrace(); + } + } + + public static void cors(HttpServletResponse response){ + // 璺ㄥ煙璁剧疆 + response.setHeader("Access-Control-Max-Age", "3600"); + response.setHeader("Access-Control-Allow-Origin", "*"); + response.setHeader("Access-Control-Allow-Methods", "*"); + response.setHeader("Access-Control-Allow-Headers", "*"); + response.setHeader("Access-Control-Expose-Headers", Constants.TOKEN_HEADER_NAME); + } + +} diff --git a/rsf-server/src/main/java/com/vincent/rsf/server/api/controller/pda/MonitorController.java b/rsf-server/src/main/java/com/vincent/rsf/server/api/controller/pda/MonitorController.java new file mode 100644 index 0000000..2780bbc --- /dev/null +++ b/rsf-server/src/main/java/com/vincent/rsf/server/api/controller/pda/MonitorController.java @@ -0,0 +1,85 @@ +package com.vincent.rsf.server.api.controller.pda; + + +import com.alibaba.fastjson.JSONObject; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.vincent.rsf.framework.common.R; +import com.vincent.rsf.server.api.service.MonitorService; +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.WarehouseStockParam; +import com.vincent.rsf.server.manager.entity.ViewStockManage; +import com.vincent.rsf.server.manager.enums.ViewStockType; +import com.vincent.rsf.server.manager.service.WarehouseStockService; +import com.vincent.rsf.server.system.controller.BaseController; +import io.swagger.annotations.ApiOperation; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestBody; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +import java.util.List; +import java.util.Map; +import java.util.Objects; + + +/** + * 澶у睆 + */ +@RestController +@RequestMapping("/monitor") +public class MonitorController extends BaseController { + + @Autowired + private MonitorService monitorService; + + @Autowired + private WarehouseStockService warehouseStockService; + /** + * 鑾峰彇鍑哄叆搴撴祦姘磋褰� + * @return + */ + @PostMapping("/inOut/page") + @ApiOperation("鑾峰彇鍏ュ嚭搴撴祦姘磋褰�") + public R getInOutHis(@RequestBody Map<String, Object> param) { + if (Objects.isNull(param)) { + return R.error("鍙傛暟涓嶈兘涓虹┖锛侊紒"); + } + BaseParam baseParam = buildParam(param, BaseParam.class); + PageParam<ViewStockManage, BaseParam> pageParam = new PageParam<>(baseParam, ViewStockManage.class); + WarehouseStockParam stockParam = JSONObject.parseObject(JSONObject.toJSONString(param), WarehouseStockParam.class); + String type = Objects.isNull(stockParam.getAggType()) ? ViewStockType.VIEW_STOCK_TYPE_MATNR.val : stockParam.getAggType(); + ViewStockManage stock = stockParam.getStock(); + QueryWrapper<ViewStockManage> wrapper = new QueryWrapper<>(); + + if (type.equals(ViewStockType.VIEW_STOCK_TYPE_SUPPLIER.val)) { + wrapper.groupBy("splr_id"); + } else if (type.equals(ViewStockType.VIEW_STOCK_TYPE_BATCH.val)) { + wrapper.groupBy("batch"); + } else if (type.equals(ViewStockType.VIEW_STOCK_TYPE_WAREHOUSE.val)) { + wrapper.groupBy("warehouse"); + } else if (type.equals(ViewStockType.VIEW_STOCK_TYPE_FIELDSINDEX.val)) { + wrapper.groupBy("fields_index"); + } else { + wrapper.groupBy("matnr_id"); + } + + FieldsUtils.setFieldsFilters(wrapper, pageParam, ViewStockManage.class); + + IPage<ViewStockManage> pageResult = warehouseStockService.pageByStock(pageParam, wrapper); + List<ViewStockManage> records = pageResult.getRecords(); + for (ViewStockManage record : records) { + if (!Objects.isNull(record.getFieldsIndex())) { + Map<String, String> fields = FieldsUtils.getFields(record.getFieldsIndex()); + record.setExtendFields(fields); + } + } + pageResult.setRecords(records); + + return R.ok(pageResult); + } + +} diff --git a/rsf-server/src/main/java/com/vincent/rsf/server/api/service/MonitorService.java b/rsf-server/src/main/java/com/vincent/rsf/server/api/service/MonitorService.java new file mode 100644 index 0000000..4d0fea3 --- /dev/null +++ b/rsf-server/src/main/java/com/vincent/rsf/server/api/service/MonitorService.java @@ -0,0 +1,10 @@ +package com.vincent.rsf.server.api.service; + +import com.vincent.rsf.framework.common.R; + +import java.util.Map; + +public interface MonitorService { + + R getInOutHistories(Map<String, Object> param); +} diff --git a/rsf-server/src/main/java/com/vincent/rsf/server/api/service/impl/MonitorServiceImpl.java b/rsf-server/src/main/java/com/vincent/rsf/server/api/service/impl/MonitorServiceImpl.java new file mode 100644 index 0000000..d2ac10d --- /dev/null +++ b/rsf-server/src/main/java/com/vincent/rsf/server/api/service/impl/MonitorServiceImpl.java @@ -0,0 +1,17 @@ +package com.vincent.rsf.server.api.service.impl; + +import com.vincent.rsf.framework.common.R; +import com.vincent.rsf.server.api.service.MonitorService; +import org.springframework.stereotype.Service; + +import java.util.Map; + +@Service +public class MonitorServiceImpl implements MonitorService { + + + @Override + public R getInOutHistories(Map<String, Object> param) { + return R.ok(); + } +} diff --git a/rsf-server/src/main/java/com/vincent/rsf/server/common/security/SecurityConfig.java b/rsf-server/src/main/java/com/vincent/rsf/server/common/security/SecurityConfig.java index 44d67d6..ccfd0fc 100644 --- a/rsf-server/src/main/java/com/vincent/rsf/server/common/security/SecurityConfig.java +++ b/rsf-server/src/main/java/com/vincent/rsf/server/common/security/SecurityConfig.java @@ -53,6 +53,7 @@ "/swagger-ui/**", "/ws/**", "/wcs/**", + "/monitor/**", "/mcp/**" }; diff --git a/rsf-server/src/main/java/com/vincent/rsf/server/manager/controller/WarehouseStockController.java b/rsf-server/src/main/java/com/vincent/rsf/server/manager/controller/WarehouseStockController.java index 983ac11..aa8edf6 100644 --- a/rsf-server/src/main/java/com/vincent/rsf/server/manager/controller/WarehouseStockController.java +++ b/rsf-server/src/main/java/com/vincent/rsf/server/manager/controller/WarehouseStockController.java @@ -11,7 +11,6 @@ import com.vincent.rsf.server.manager.controller.params.WarehouseStockParam; import com.vincent.rsf.server.manager.entity.StockItem; import com.vincent.rsf.server.manager.entity.ViewStockManage; -import com.vincent.rsf.server.manager.entity.WarehouseAreasItem; import com.vincent.rsf.server.manager.enums.ViewStockType; import com.vincent.rsf.server.manager.service.WarehouseStockService; import com.vincent.rsf.server.system.controller.BaseController; @@ -36,8 +35,7 @@ @Autowired private WarehouseStockService warehouseStockService; - - @PreAuthorize("hasAuthority('manager:locItem:list')") +// @PreAuthorize("hasAuthority('manager:locItem:list')") @PostMapping("/page") public R page(@RequestBody Map<String, Object> param) { if (Objects.isNull(param)) { 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 0524f20..ed192ce 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 @@ -347,6 +347,17 @@ if (!this.save(task)) { throw new CoolException("浠诲姟淇濆瓨澶辫触锛侊紒"); } + BasStation station = basStationService.getOne(new LambdaQueryWrapper<BasStation>().eq(BasStation::getStationName, deviceSite.getSite())); + if (Objects.isNull(station) || station.getUseStatus() != LocStsType.LOC_STS_TYPE_O.type) { + throw new CoolException("绔欑偣涓嶅瓨鍦ㄦ垨绔欑偣涓嶅浜庣┖搴撶姸鎬侊紒锛�"); + } + station.setUseStatus(LocStsType.LOC_STS_TYPE_R.type); + + if (basStationService.updateById(station)) { + throw new CoolException("绔欑偣鐘舵�佹洿鏂板け璐ワ紒锛�"); + } + + if (!locService.update(new LambdaUpdateWrapper<Loc>().eq(Loc::getCode, task.getTargLoc()) .set(Loc::getUseStatus, LocStsType.LOC_STS_TYPE_S.type).set(Loc::getBarcode, pakin.getBarcode()))) { throw new CoolException("搴撲綅棰勭害澶辫触锛侊紒"); -- Gitblit v1.9.1