From a5381945bfbafbdd2d2d4703500620f0f5f5d413 Mon Sep 17 00:00:00 2001
From: lty <876263681@qq.com>
Date: 星期一, 16 三月 2026 10:07:29 +0800
Subject: [PATCH] #erp接口对接
---
src/main/java/com/zy/asrs/controller/OpenController.java | 152 ++++++++++++++++++++++++++++++++++++++++++--------
1 files changed, 127 insertions(+), 25 deletions(-)
diff --git a/src/main/java/com/zy/asrs/controller/OpenController.java b/src/main/java/com/zy/asrs/controller/OpenController.java
index 6faf5f2..2c6d016 100644
--- a/src/main/java/com/zy/asrs/controller/OpenController.java
+++ b/src/main/java/com/zy/asrs/controller/OpenController.java
@@ -1,14 +1,14 @@
package com.zy.asrs.controller;
import com.alibaba.fastjson.JSON;
+import com.alibaba.fastjson.JSONObject;
import com.core.annotations.AppAuth;
import com.core.common.*;
import com.core.exception.CoolException;
-import com.zy.asrs.entity.param.OpenOrderCompleteParam;
-import com.zy.asrs.entity.param.OpenOrderPakinParam;
-import com.zy.asrs.entity.param.OpenOrderPakoutParam;
-import com.zy.asrs.entity.param.PackParam;
+import com.zy.asrs.entity.param.*;
+import com.zy.asrs.mapper.LocDetlMapper;
import com.zy.asrs.service.OpenService;
+import com.zy.common.service.wms.Result;
import com.zy.common.model.DetlDto;
import com.zy.common.web.BaseController;
import lombok.extern.slf4j.Slf4j;
@@ -16,9 +16,9 @@
import org.springframework.web.bind.annotation.*;
import javax.servlet.http.HttpServletRequest;
-import java.util.ArrayList;
-import java.util.Date;
-import java.util.List;
+import java.io.IOException;
+import java.util.*;
+import java.util.stream.Collectors;
/**
* Created by vincent on 2022/4/8
@@ -27,6 +27,10 @@
@RestController
@RequestMapping("open/asrs")
public class OpenController extends BaseController {
+ @Autowired
+ private LocDetlMapper locDetlMapper;
+
+ private static final String MES_WAREHOUSE_ID = "WH01";
private static final boolean auth = true;
public static final ArrayList<String> APP_KEY_LIST = new ArrayList<String>() {{
@@ -36,32 +40,40 @@
@Autowired
private OpenService openService;
-
+ @PostMapping("/order/matSync/default/v1")
+ @AppAuth(memo = "鍟嗗搧淇℃伅鍚屾鎺ュ彛")
+ public synchronized R syncMatInfo(@RequestHeader(required = false) String appkey,
+ @RequestBody(required = false) MatSyncParam param,
+ HttpServletRequest request){
+ auth(appkey, param, request);
+ if (Cools.isEmpty(param)) {
+ return R.parse(BaseRes.PARAM);
+ }
+ openService.syncMat(param);
+ return R.ok();
+ }
/****************************************************************************/
/********************************* 鎵撳寘涓婄嚎 **********************************/
/****************************************************************************/
-
- @PostMapping("/order/pakin/new/package/v1")
- @AppAuth(memo = "鎵撳寘涓婄嚎鎺ュ彛")
- public synchronized R pakinOrderPackage(@RequestHeader(required = false) String appkey,
- @RequestBody(required = false) PackParam param,
- HttpServletRequest request) {
- auth(appkey, param, request);
- if (Cools.isEmpty(param)) {
- return R.parse(BaseRes.PARAM);
- }
- openService.packageUp(param);
- return R.ok();
- }
-
-
+// @PostMapping("/order/pakin/new/package/v1")
+// @AppAuth(memo = "鎵撳寘涓婄嚎鎺ュ彛")
+// public synchronized R pakinOrderPackage(@RequestHeader(required = false) String appkey,
+// @RequestBody(required = false) PackParam param,
+// HttpServletRequest request) {
+// auth(appkey, param, request);
+// if (Cools.isEmpty(param)) {
+// return R.parse(BaseRes.PARAM);
+// }
+// openService.packageUp(param);
+// return R.ok();
+// }
/**
* 娣诲姞鍏ュ簱鍗�
*/
- @PostMapping("/order/pakin/new/default/v1")
+ @PostMapping("/order/pakin/default/v1")
public synchronized R pakinOrderCreate(@RequestHeader(required = false) String appkey,
@RequestBody OpenOrderPakinParam param,
HttpServletRequest request) {
@@ -96,7 +108,7 @@
/**
* 娣诲姞鍑哄簱鍗�
*/
- @PostMapping("/order/pakout/new/default/v1")
+ @PostMapping("/order/pakout/default/v1")
@AppAuth(memo = "娣诲姞璁㈠崟鍑哄簱")
public synchronized R pakoutOrderCreate(@RequestHeader(required = false) String appkey,
@RequestBody OpenOrderPakoutParam param,
@@ -104,6 +116,12 @@
auth(appkey, param, request);
if (Cools.isEmpty(param)) {
return R.parse(BaseRes.PARAM);
+ }
+ if (Cools.isEmpty(param.getLgort())) {
+ return R.error("鍗曟嵁缂栧彿[lgort]涓嶈兘涓虹┖");
+ }
+ if (!param.getLgort().equals("5006")) {
+ return R.ok();
}
if (Cools.isEmpty(param.getOrderNo())) {
return R.error("鍗曟嵁缂栧彿[orderNo]涓嶈兘涓虹┖");
@@ -141,6 +159,90 @@
}
+ @PostMapping(value = "/MES/inventory/details", consumes = "application/json;charset=UTF-8", produces = "application/json;charset=UTF-8")
+ public Result details(@RequestBody(required = false) JSONObject body) {
+ try {
+ String wareHouseId = body == null ? null : body.getString("wareHouseId");
+ String locId = body == null ? null : body.getString("locId");
+ String matNr = body == null ? null : body.getString("matNr");
+ String orderNo = body == null ? null : body.getString("orderNo");
+ String batch = body == null ? null : body.getString("batch");
+ if (!Cools.isEmpty(wareHouseId) && !MES_WAREHOUSE_ID.equalsIgnoreCase(wareHouseId)) {
+ return new Result(200, "鎿嶄綔鎴愬姛", Collections.emptyList());
+ }
+ return new Result(200, "鎿嶄綔鎴愬姛", locDetlMapper.mesInventoryDetails(wareHouseId, locId, matNr, orderNo, batch));
+ } catch (Exception e) {
+ return new Result(500, e.getMessage(), null);
+ }
+ }
+
+ @PostMapping(value = "/MES/inventory/summary", consumes = "application/json;charset=UTF-8", produces = "application/json;charset=UTF-8")
+ public Result summary(@RequestBody(required = false) JSONObject body) {
+ try {
+ String wareHouseId = body == null ? null : body.getString("wareHouseId");
+ String matNr = body == null ? null : body.getString("matNr");
+ if (!Cools.isEmpty(wareHouseId) && !MES_WAREHOUSE_ID.equalsIgnoreCase(wareHouseId)) {
+ return new Result(200, "鎿嶄綔鎴愬姛", Collections.emptyList());
+ }
+ Collection<String> matNrs = null;
+ if (!Cools.isEmpty(matNr)) {
+ matNrs = Arrays.stream(matNr.split(","))
+ .map(String::trim)
+ .filter(s -> !s.isEmpty())
+ .collect(Collectors.toList());
+ }
+ return new Result(200, "鎿嶄綔鎴愬姛", locDetlMapper.mesInventorySummary(wareHouseId, matNrs));
+ } catch (Exception e) {
+ return new Result(500, e.getMessage(), null);
+ }
+ }
+
+ @RestController
+ @RequestMapping("/MES/inventory")
+ public static class MesInventoryController {
+
+ @Autowired
+ private LocDetlMapper locDetlMapper;
+
+ @PostMapping(value = "/details", consumes = "application/json;charset=UTF-8", produces = "application/json;charset=UTF-8")
+ public Result details(@RequestBody(required = false) JSONObject body) {
+ try {
+ String wareHouseId = body == null ? null : body.getString("wareHouseId");
+ String locId = body == null ? null : body.getString("locId");
+ String matNr = body == null ? null : body.getString("matNr");
+ String orderNo = body == null ? null : body.getString("orderNo");
+ String batch = body == null ? null : body.getString("batch");
+ if (!Cools.isEmpty(wareHouseId) && !MES_WAREHOUSE_ID.equalsIgnoreCase(wareHouseId)) {
+ return new Result(200, "鎿嶄綔鎴愬姛", Collections.emptyList());
+ }
+ return new Result(200, "鎿嶄綔鎴愬姛", locDetlMapper.mesInventoryDetails(wareHouseId, locId, matNr, orderNo, batch));
+ } catch (Exception e) {
+ return new Result(500, e.getMessage(), null);
+ }
+ }
+
+ @PostMapping(value = "/summary", consumes = "application/json;charset=UTF-8", produces = "application/json;charset=UTF-8")
+ public Result summary(@RequestBody(required = false) JSONObject body) {
+ try {
+ String wareHouseId = body == null ? null : body.getString("wareHouseId");
+ String matNr = body == null ? null : body.getString("matNr");
+ if (!Cools.isEmpty(wareHouseId) && !MES_WAREHOUSE_ID.equalsIgnoreCase(wareHouseId)) {
+ return new Result(200, "鎿嶄綔鎴愬姛", Collections.emptyList());
+ }
+ Collection<String> matNrs = null;
+ if (!Cools.isEmpty(matNr)) {
+ matNrs = Arrays.stream(matNr.split(","))
+ .map(String::trim)
+ .filter(s -> !s.isEmpty())
+ .collect(Collectors.toList());
+ }
+ return new Result(200, "鎿嶄綔鎴愬姛", locDetlMapper.mesInventorySummary(wareHouseId, matNrs));
+ } catch (Exception e) {
+ return new Result(500, e.getMessage(), null);
+ }
+ }
+ }
+
private void auth(String appkey, Object obj, HttpServletRequest request) {
log.info("{}鎺ュ彛琚闂紱appkey:{}锛涜姹傛暟鎹細{}", "open/sensorType/list/auth/v1", appkey, JSON.toJSONString(obj));
request.setAttribute("cache", obj);
--
Gitblit v1.9.1